“達瓦里氏,這臺計算機和DJS-60D好像有一點點不同。”另外一名老毛子對DJS-60D很熟悉,他是仿製DJS-59的維塔利同志。
作爲這方面頂級的計算機專家,明知道這種新式交換機採用了計算機控制的前提下,維塔利自然是被請到了這個研究組裡,他是對南方同志計算機最爲熟悉的人之一。
的確不同,交換機和普通計算機畢竟不同,高振東指導通信院的同志,設計了一些專用的電路來完成一些特別的功能,而且這些電路用到的芯片,輸入輸出的規律都比較奇怪,要和程序配合才能勉強測試。
這年頭又沒有正兒八經的邏輯分析儀,這些專用的電路,就是某些小動作的第一道難關。
“我看出來了,但是我有信心,有時候大不了採用黑箱模式,不管內部,根據其他電路部分能夠分析出功能,直接做這個功能電路也許就能滿足要求,不是集成的也沒關係。如果不行,我們可以打磨,數量不大,沒關係。”有角磨機兜底,另外一個人覺得問題不大。
他是阿納託利,與維塔利一起負責仿製DJS-59的,而且是更多的負責具體工作的那位,對這方面非常熟悉。
此時,有人已經順着連線,找到了這臺程控交換機的存儲器。
這臺控制計算機是基於DJS-60D的,只要對它的接口熟悉的人,很容易就能根據經驗找到存儲器所在,而且能分辨出程序存儲器和運行存儲器來。
運行存儲器看起來……有那麼一點不正常。
但是這並不是很大的問題,最大的問題是,沒有程序存儲器!
阿納託利看着運行存儲器,轉頭看向他的同事們。
“達瓦里氏,他們爲什麼要在運行存儲器上連接兩塊蓄電池?並且註明不可斷開?而且沒有程序存儲器?”
一名同事聳聳肩膀:“也許是爲了高可靠性吧,他們總是有層出不窮的奇思妙想。哈,他們可真捨得成本,居然將程序直接存儲在在運行存儲器裡。”
這種操作,在使用磁芯存儲器的時候就有,而且很普遍,不分運行和程序存儲器,反正磁芯是掉電保持的,尋址空間和物理結構實際上都全部放到一起。
當南方同志搞出通用計算機架構之後,他們把這兩者分開了,程序存儲器可以使用低速廉價的介質,運行存儲器使用高速介質比如RAM芯片,很好的兼顧了成本和速度。
但是沒想到南方同志在程控交換機上,卻又恢復了這種結構,也許是爲了運行速度和業務恢復速度,上電就能馬上投入使用。
這種方式相比磁帶、還有前不久他們看到的最新式的軟盤驅動器來說,成本不是一般的高昂,特別是程序容量越大,這個問題就越突出。而程控交換機的程序容量可不算小。
“也許是爲了運行速度。對了,既然運行存儲器和程序存儲器合在一起了,那麼是需要掉電保持的,否則程序會丟失,也許這兩塊電池就是爲了這個作用。兩塊的原因,是一主一備,爲了提高可靠性和必要的時候能夠方便的換電池”有人分析道。
蓄電池是能充電的,一般接上了外部電源之後就不用更換了,但是他們總有壞掉或者長時間不接電的時候,這時候,一主一備就有用了。
老毛子很清楚,RAM是掉電就丟數據的,那麼這種二合一的結構下,爲了保證程序不丟失,的確是需要一塊蓄電池在掉電的情況下保持數據,RAM的功耗不高,蓄電池能夠將其數據保持比較長的時間。
要承認,這些老毛子的思路完全正確,一眼看上去,就把這部分的情況和原因分析得差不多了。
“是麼?”阿納託利看着那塊不算太大的蓄電池,又將目光轉向電路板上那一堆封裝明顯不同的運行存儲器芯片,心中有一絲不詳的預感。
那種封裝看起來很像是環氧樹脂封裝,南方的同行給它起了個名字,叫做“牛屎封裝”,看着那些芯片,不得不承認,南方的同志們的形容非常形象。
但這就是問題所在,爲什麼他們會在運行存儲器上使用這種牛屎封裝?
他們的RAM都是標準封裝,完全可以使用標準芯片直接組裝,爲什麼會多此一舉的使用這種封裝?這對製造和管理都是不利的。
除非……他們有不得不如此的理由,又或者,他們用在程控交換機上的RAM芯片,與普通的有些不同,不能使用標準封裝的普通RAM芯片。
甚至順着這個疑問,他想到了一個更重要的問題,他們爲什麼要使用成本如此高昂的存儲器結構?大容量軟盤+小容量RAM,這纔是成本和性能都能兼顧的方案。
自己都能想到的方案,作爲這些設備的發明者,南方同志不可能不知道這一點,就算是做程控交換機的人想不到,但是他們那位研究計算機的達瓦里氏.高一定能夠考慮到這一點。
想到這裡,阿納託利心裡更加不安起來。
“能把程序讀出來麼?”
不論程序是從程序存儲器讀取還是原本就在運行存儲器裡,程序只要進入運行存儲器,就一定是可執行的,讀出來就有很巨大的作用,這個判斷讓他放下了一點擔憂。
“我們會嘗試的。”一名技術人員回答道。
讀取程序這件最爲緊要的事情,自然是被放在了最優先的級別上。
老毛子仿製組的人,都是最頂級的,一天之內,嘗試讀取的工作,很快就被嘗試了一次,內存讀寫接口是通用的,這個工作並不難完成。
“蘇卡不列!讀出來的程序和數據完全是亂的!”一名負責數據讀取的老毛子看着初步反編譯的結果,大罵出聲。
“不可能!在運行內存裡的程序和數據不可能被加密,運算器根本沒有對數據在運行中進行加解密的能力。”阿納託利反駁道,DJS-60D和DJS-59在實際結構上沒有太大區別,他非常清楚。
別說這時候,就算是到了幾十年後,也不會對運行內存中的數據進行加密。
說完,他仔細的觀察了一部分數據,紮實的基礎和豐富的經驗讓他感覺,這些看起來雜亂無章的指令和數據,實際上是有一定規律的。
“他們將程序打亂了!”阿納託利驚歎道。
雖然反編譯結果看起來前言不搭後語,但是阿納託利還是看出來,這個混亂的結果,實際上是一個龐大程序的組成部分,但是被徹底打亂,完全不具備實際價值。
“尋址的亂序映射?”作爲這裡在計算機方面最頂級的兩人之一,維塔利不知道怎麼去形容這種技術,他用了一個自己發明的詞組去描述他。
這個詞組雖然是他才發明出來的,但是阿納託利聽懂了他的意思。
“是的,對!就是尋址的亂序映射!這不可能是加密後的數據,如果是加密數據,根本不可能反編譯出如此衆多看起來正常的單條指令,從這一點出發,可以基本肯定它還是明文。而且計算機的運算器也根本支撐不起在運行時解密,那是對計算機運算能力的極大浪費。”
阿納託利說出了自己的分析,他說的加密,不是替換字母,循環移位之類的簡單手段,那跟沒加密一樣,而是正兒八經的加解密,類似高振東給防工委他們搞的數據加密算法,非常耗算力的那種。
維塔利點頭表示同意:“所以他們採用了一種簡單的辦法,將運行存儲器的尋址地址和實際地址打亂了,進行了重新映射,這樣的話,通過正常的讀取指令讀出來的數據雖然是明文,但它是完全打亂的明文,對於前後順序結構有極高要求的程序來說,也是達到了加密效果。”
阿納託利覺得自己找到了問題的關鍵,笑了起來。
“哈哈哈,不管他們怎麼打亂,有兩個地方是必定存在這個映射關係的,一個是譯碼器向取指器發出指令讀取的地方,一個是存儲器地址譯碼的地方,只要找到這兩個位置,這兩個互爲逆運算的映射關係中的任何一個,都能讓我們解開謎團。”
維塔利重重拍了拍他的肩膀:“我的達瓦里氏,你說得太對了!”
旁邊的其他同志看着他們倆,非常佩服,這就是我們的頂級計算機專家,烏拉!
然後兩人看向電路板,陷入了沉思。
主控板上那一堆頂面被打磨得錚亮的芯片到底誰是誰?
算了算了,這邊太複雜,未知量太多了,還是看存儲器這邊。
存儲芯片都長一個模樣,剩下的就多半和這個亂序映射地址譯碼功能有關,簡單!
然後,他們看着存儲板上那一堆長得一模一樣的“牛屎”,陷入了迷茫。
這特麼到底誰又是誰?
短暫迷茫過後,阿納託利同志擡起頭。
“不用擔心,我們仔細分析他們的電路,根據電路走向,花一些時間,還是能很快找出這部分功能結構的。”
維塔利和其他同志點點頭,有道理。
只是,事實果真如此?