第六章 存儲設備的發展過程
6.1 引言
數據處理系統常需要對海量數據進行存取,因此存儲器對一個數據處理系統來說至關重要。理論上,存儲器的速度越快,數據處理系統的效率越高,但有一個無法迴避的客觀現實,即是存儲器的價格和其速度是成正比的。在CPU中使用了立即存取存儲器,但其價格卻十分昂貴,因此,計算機實際採用的是多種存儲器搭配使用的方法進行工作。
這裡將存儲器分為以下兩種類型:
——(設置在CPU內部的)立即存取存儲器;
——(與CPU相連,但不屬於CPU的部件的)輔助存儲器。
6.2 立即存取-存儲器
最早的計算機是通過導線將將電子管連接到電路中,以起到導電或非導電作用的。適當加一個“觸發”脉衝能引起管子及其電路由一種條件“改變”成另一種條件,直到下一個脉衝的到來再次改變為止。這就是“觸發器”電路。
觸發器用於寄存器,主立即存取-存儲器中。這種電路耗電大,散熱強,導致電路內的電子管壽命很短成為其最大的缺點。
其後發展至“延遲線”存儲數據。延遲線是一種帶發聲晶體且注滿水銀的長管子,發聲晶體運送聲波到管子另一端的接收裝置。運用時鐘,可以對時鐘脉衝與接收到的信號脉衝進行比較(AND邏輯操作),如此可得一位信息的譯碼(這是一種排錯的手段)。延遲線傳送數據時,不能在傳輸的過程中進行數據存取,因此,需要非常細緻且符合時間節拍的程序編制,才能讓控制器在預計應該到來的時刻對這些脉衝進行接收和譯碼。若程序佔用時間太長,則會丟失一些脉衝信號;而若數據一到就進行存取,更有可能使存取的時間比其在水銀柱中傳播的時間還長。這卻導致了存儲器在容量和可靠性上出現較大偏差。
還有一種普遍的磁芯存儲器。這種存儲器由鐵氧化合物材料的小環串在導線上,布網而成。一個小環在經過一個順時針或逆時針的磁化后完成狀態的反復切換,這樣就能表示1或0了。要完成這個操作,需要控制電流有選擇地通過一個或多個磁芯,從而達到改變磁化方向保存數據的目的。磁芯存儲器體積小(如一塊鼠標墊大小的面積上只須幾釐米就能表示近百萬位),耗電少,散熱小,磁化過程十分短暫——幾百萬分之一秒的時間內即可進行數據存取或磁環磁化,因此,它能完成數據的快速存取。另一優點則是因磁芯退磁極緩慢,因而即使斷電,數據仍能完整保存。
在一個大型計算機的CPU中,對電路脉衝的傳送需要花一段時間。這段時間事實上妨礙了CPU的操作速度:因為,移動數據的機器週期,比運算器(AU)和控制器(CU)所能操作的週期,前者比後者長。我們希望即使無法將這段多花費的時間除去,也要盡可能將前者保持在後者的最大值範圍內。這便促成了集成電路、芯片的產生。
如今,一個完整的CPU具有時鐘,其他一些控制器電路,運算器,一些存儲器。他們集成在一塊指甲大小的硅片/金屬材料上,也就是我們常說的微處理器/芯片。這種設備耗電極少,工作速度很高,可靠且穩定,一旦測試並交付使用,就能連續工作數年。
通常除了最小的CPU外,幾乎所有附加的存儲器都需要另外的芯片提供,這就使存儲器的使用更為靈活。如,通用存儲器採用RAM(隨機存取-存儲器,其用法完全和磁芯存儲器一致);CPU中則用ROM(只讀-存儲器,程序指令永久保存,不會被意外毀掉,在計算機生產階段中運用);某些情況下也需要改變ROM的數據,這時可以使用EPROM(可擦可編程-只讀-存儲器,紫外線重寫ROM);等等。
6.3 輔助存儲器-串行存取
輔存可分為兩種,一是可以對數據進行直接存取的存儲器,另一種是對數據進行串行存取的存儲器。
類似唱片播放時要將唱機的唱頭直接放到音道上進行選擇,盒式磁帶播放時要都放過一邊才能找到所需部份一樣,這種存取方式被稱為串行存取。
6.4 輔助存儲器-直接存取
目前大多輔存都以磁力形式來記錄計算機的數據。存儲器所用的介質上有鐵氧化合物塗層,通過對該塗層的磁化來記錄由0和1構成的數據形式。
直接存取-存儲器中主要的一種是像音樂唱片一樣的平盤形式。該平盤有一個可磁化的面,并有一個跨越在這個面上進行移動的讀寫頭。唱片和計算機磁盤的區別在於它們所記錄的物理形式不同。
在唱機中,唱片按恒定的速度旋轉,其表面有一道從邊緣開始一直繞到中心的螺旋槽。
計算機磁盤轉速也恒定,但讀/寫操作時,讀/寫頭是固定不動的,因此,它沒有段杜一條的羅旋軌跡,而是有一個套一個的幾百個同心圓式的磁道。磁盤旋轉磁頭固定時,可讀出某一磁道中的信息;移動磁道需要將磁頭重新驅入進行固定,然後再進行讀寫操作。計算機磁盤驅動器上的磁頭和盤面上浮動的距離較小,磁頭的定位是通過外部一個驅動裝置來完成的。
6.5 計算機磁盤
計算機磁盤主要有兩種形式——大型、小型。
大型磁盤常按“磁盤組”形式安裝。每一面都有他們各自所屬的讀寫頭,且這些磁頭是相互關聯地固定著的。
小型磁盤即早先我們稱的軟盤。
6.6 磁盤容量
磁盤所能存儲的數據量。直接按實際情況表達即可,關於計量數據的量的方式,見4.1 。
6.7 补充
顯微鏡下的金氧半場效電晶體測試用元件。圖中有兩個閘極的接墊(pads)以及三組源極與汲極的接墊。
金屬—氧化層—半導體結構:
幾種常見的MOSFET電路符號,加上接面場效電晶體(Junction Field-Effect Transistor, JFET)一起比較:
第七部份 輸入/輸出設備
輸入,即把從外界得到的數據編程計算機能識別的編碼電子脉衝。
通常這可以分成一步或兩步來做。前者最常見的方法是把一個鍵盤與計算機連接起來,打字錄入數據。後者是將信號發送分為兩步進行,第一步準備,第二步輸 入。準備時涉及到鍵盤,鍵盤可連接到一個磁介質。輸入則是在數據準備之後,利用光敏元件或電磁元件對磁介質、卡片、紙帶或幾張紙進行掃描,使上面的編碼或 標記直接地轉換成電子脉衝。
類似還有高速紙帶閱讀機,直接輸入設備:電傳打字機、工程師控制台、VDU等。
第八部份 數據的收集及轉換
把問題轉換為數據,將數據收集起來,提供給機器處理,這是本文自始至終的出發點。這裡先說討論數據的收集。
把數據收集起來提供給機器,這裡有兩方面,一是人收集數據,另一是由機器進行準備或轉換數據。人這邊的主要問題是數據的收集。
通常,數據的收集并無法由一個人完成,這就意味著需要在參與收集的人群範圍中達成一定的共識,否則收集無法完成。
人工的做法常涉及三個步驟:
- 記錄;
- 傳送;
- 轉錄。
例如一个快递公司的運轉。
这里面的每一步工作都可能引起新的错误,而且最后一步最易出錯,原因主要是一下兩點:
數據準備操作員要讀出那些手寫的單據——這些素材有可能不清晰;
數據準備操作員實際上與數據并沒有關係——他們不懂得這些數據是何含義,也許在不經意中就將其篡改了。
由於以上原因,常引出數據收集的下一個步驟(事實上已經開始進入數據轉換),即對準備的數據進行校驗。
數據校驗的方式多種多樣,但主要還是通過重複數據準備的活動,然後對兩次結果進行比較來完成。對兩次結果的比較可以交給機器完成,機器只識別相同與不同,而具體差異的處理仍舊需要人來完成,這事實上又增加了一次出錯的可能性。
目前,几乎所有专门的應用中,都必須解決數據收集及其轉換中所存在的幾個問題:
1) 數據越陳舊,用處越少;
2) 檢查及校驗錯誤需要花費大量時間,且延長了輸入階段;
3) 收集和轉換過程中,步驟越多,出錯機會越多。
爲了儘量減少以上問題所造成的影響,數據收集及轉換的設備在兩個領域中都得到了發展。
首先,集中化的數據準備部門發展除了更有效、更尖端的設備,以求最大程度地減少延遲,并把人為的錯誤保持到最低程度。
其次,新的设备能允许收集和转换的发生尽可能地接近于数据的生成源。这样也就又省下了一些步骤,检验需要花费时并非所有的数据在收集阶段都会发生错误, 校驗目的是为防止錯誤,但是这项工作是否有價值,卻是因情況而異的。
→精確度
一些时候精确度十分重要 ,比如在一个银行系统中帳戶的记录;但有时它又不那么重要,比如个人信息当中的姓名及通讯地址。精确度的重要性决定了 检验的必要性,因此我们需要考察数据准备过程中 影響精确度的各种因素——首先就是传统的数据准备设备。历史上十分著名的包括了卡片穿孔机,卡片穿孔检验机,紙帶穿孔机,紙帶校驗機等(这里不做详细介 绍)。後來又發展出了鍵盤,各種直接錄入設備和直接記錄設備,極大程度地提升了數據收集階段的效率。
但由數據收集到數據處理始終需要歷經數據轉換,各種設備的發展也衍生了各種數據記錄方式,具體體現就是種類繁多的數據格式。
要將這些不同格式的數據進行轉換,目前它們共通的都是轉換為計算機處理系統下的二進制數據,需要我們提前對數據表示的相關知識有所瞭解。
→数据表示
數據有離散、連續之分,在計算機內,數據都是離散型數據。處理連續數據,我們將其進行近似處理,這便是所謂的近似法。
數據的表示,有二進制、八進制、十六進制等,不一而足。各種數據在使用中爲了統一,往往存在一個通行的標準,這樣做被稱之為標準化。
數據的標準化事實上對應了各種編碼,常見的編碼如ASCII,UTF-8等。
對數據進行標準化處理,其目的在於統一數據格式。數據的格式指數據以特定位置、特定形式組合的方式進行表示的規定。標準化的數據其實就意味著統一的數據格式,如此,在處理時就能省去對各個數據項進行重複說明,能提高數據處理的效率。
注:在《數據處理入門(下)》中,所有的圖片均來自網絡。