正文 第五章 計算機的硬件組成(二)(2 / 3)

這種方法是一種基本的設計方法,至今,在許多計算機中,有些控製信號就是用姐合邏輯電路產生的。但如果所有的微操作命令都用這種方法產坐,就會使控製器電路顯得零亂,一旦製造好,就很難修改與貧充功能。

2.微程序控製器

微程序控製器采取的方法是:將微操作控製命令以代碼的形式存入一個控製用存儲器,執行指令時,從控製存儲器中取出相應的微命令,實現對有關操作的控製。以什麼方法組織這些微命令呢?我們將每一步操作所需的微命令,組成一條微指令,若幹條微指令組成微程序,存放在一個專用的控製存儲器中。

微指令代碼簡稱為微碼,一條微指令可分成若幹段。有些段采角直接控製方式,即一位微碼表示一個微命令,例如設置一位代碼叫R,它為1表示讀存儲器,為0則表示不讀有些段則采用編碼方式,即將幾位微碼進行統一編碼。

設計計算機硬件的人,事先用微指令編製成微程序,固化在控製存儲器中,工作時隻能讀出,不再寫入(除非需要更改設計)。用戶用程序設計語言編寫工作程序,經編譯成為用機器代碼組成的目標程序,存放在可讀可寫的主存儲器中。執行程序時,一小段微程序對應於一條機器指令,一條微指令中的代碼表示相應的微操作命令,控製實現一步操作,即一個時鍾周期內的操作。於是,一小段微程序,即若幹條微指令,分步解釋執行一條機器指令。

目前大多數計算機采用微程序控製方式,但其中也有個別命令,仍由組合邏輯產生。

六、CPU外特性舉例

在微型計算機中,常將整個CPU集成在一塊芯片之中。我們隻需要了解它的外部特性,對其內部結構則不必了解得很細。所謂外部特性指兩個方麵:(1)指令係統,即這個CPU能實行哪些指令功能。(2)CPU芯片引腳,及他們的功能定義。這些知識是我們應用CPU芯片,構成硬件係統的基礎。不同型號的CPU芯片,其外特性不同,本節以廣泛應用的八位微處理器z-80為例,說明一種CPU的外特性。

給出Z-80CPU芯片的引腳圖,從外部看去,它共有40個引腳,其功能可分組簡述如下:

(1)電源線2條。

+5伏、地,各一條。

(2)地址總線16條(輸出)。

由高位到低位,是A15-A。,這16位地址提供了64K的尋址空間。

(3)數據總線8條(雙向)。

由高位到低位,是D7~D8。存儲器讀出的數據,與由其他外圍設備來的數據,就由這八根線進入CPU,而CPU的數據輸出,也由這八根線送出,寫入主存,或送往其他外圍設備。

(4)CPU控製信號6條。

時鍾CLK(輸入)。CPU工作需要由時序係統產生時序信號,外部的一個主振蕩器,將向此輸入端送主振信號,作為各時序信號的基準。

總線響應BUSAK(輸出)。由CPU發出的響應信號,表示CPU已放棄總線控製權,將總線交給被批準的設備使用。

從以上的簡單介紹可以看出:在CPU內部控製指令執行的操作命令,一般不需向外引出,因為這是CPU芯片內部的事。需要引出的信號線,或者是接受輸入,或者是向外輸出,是為了組成一個完整的係統。例如向外提供地址,輸入或輸出數據,決定CPU基本狀態的一組輸入信號如複位、等待,反映CPU基本狀態的一組輸出信號如暫停、取操作碼周期,對存儲器、外圍設備的一組選擇信號,與讀寫控製信號,中斷請求輸入,總線請求與響應信號等。

5.3存儲器

一、存儲係統的組織

從用戶的角度,我們總是希望存儲器的容量盡可能大,而工作速度又盡可能地快,事實上這是有矛盾的。為了協調這種矛盾,可以將存儲分成幾個層次,有的存儲容量小而工作速度快,有的則存儲容量大而速度相對慢些。從整體上看,計算機係統既擁有相當大的存儲容量,又能滿足高速CPU的速度需求,這就構成一整套存儲係統。

如圖5-11所示,一個完整的存儲係統可分為三層:主存儲器、外存儲器、高速緩衝存儲器,它能滿足高速計算機係統的需要。速度要求不是太高的係統,其存儲係統常分為二級:主存、外存。最小配置的計算機則可能隻有主存儲器一級。

主存儲器(Memory)是可由CPU編程直接訪問的存儲器,用來存放將要運行的程序與有關數據。通常將主存劃在主機的範疇,所以又稱為內存。CPU通過地址總線選擇主存單元,通過數據總線傳送讀/寫的數據。最小配置的計算機常采用16位地址線,其主存容量可由幾K字節到64K字節。常用的微機係統采用20位地址線,主存容量可由幾百K字節到1M字節。超級微機、超級小型機、大型機的主存容量更大。

外存儲器又稱輔助存儲器,或後援存儲器,如磁盤存儲器、磁帶存儲器,以及近期出現的光盤等。用來提供後備的程序與數據(暫時不用但可能需要的)以及各種歡件資源。外存儲器作為I/O設備,通過接口與係統總線連接,CPU不能象訪問主存那樣直接訪問外存,隻能象調用外圍設備那樣調用磁盤、磁帶。先將程序、數據調入主存,才能應用。主機與外存間的數據傳送,常以文件形式進行組織,可向外存寫入一個文件,或從外存中讀出一個文件,調入主存使用。典型的微機係統常配置幾十M字節的外存,而超級小型機與大型機其外存容量可由幾百M字節到幾千M字節。

在高速計算機係統中,從幾M字節的主存中讀寫一個數據,速度往往跟不上高速的CPU,所以又設置一種容暈較小而速度接近於CPU的高速緩衝存儲器Cache。在高速$存中,存放一段當前使用頻繁的程序與數據,當CPU需要從主存中讀取指令或數據時,同時訪問高速緩衝存儲器與主存,如果所需內容在高速緩存中,就能在較短時間內獲得,稱為命中。如果所需內容不在高速緩存中,再從主存中讀取。當CPU發現當前高速緩存中已不是最活躍的信息,就進行內容更換,將主存中另一段當前活躍的程序與數據調入高速緩存。這樣CPU可以直接訪問的存儲空間,是像主存那樣大的容量,而讀寫速度則接近於高速緩存的速度。高速緩存技術本來隻用於大型機中,但隨著技術的發展,現在超級小型機和部分高檔微機也已被采用。

二、半導體存儲器

主存儲器與高速緩存多用半導體存儲器溝成,本節將介紹:器件類型、存儲信息的原理、半導體存儲器邏輯設計、動態存儲器的刷新。

1.半導體存儲器所用器件類型

半導體存儲器芯片按其器件類型可分為:

(1)TTL(晶體管-晶體管邏輯),這種芯片的工作速度較快,但功耗較大,集成度(一片內所能包含的元件數目,它決定了一片的存儲容量)較低。適用於構成CPU中的通用寄存器組與高速緩存。

(2)MOS(金屬-氧化物-半導體器件),這種芯片的工作速度比TTL電路慢,但功耗小、集成度高,是目前構成主存儲器的主要器件。MOS器件又可細分為NMOS(N溝道MOS器件)與CMOS(互補MOS器件)兩種,CMOS器件的功耗極低,可以依靠電池維持工作達一年。

2.靜態存儲器與動態存儲器

半導體存儲器如何存儲信息呢?按其物理機製可分為兩類:

(1)靜態存儲器SRAM。這種存儲器中的每一位存儲單元,實際上就是一個雙穩態觸發器,它依靠交叉反饋維持信息。在TTL型靜態存儲器中,每一位采用兩個雙射極晶體管,形成彼此反相的交叉反饋。在MOS型靜態存儲器中,每一位用了六個MOS管,稱為六管單元,其中兩個MOS管是負載管,與另外兩個MOS管一起組成兩個反相器,彼此交叉反饋,還有兩個MOS管是控製存儲單元與讀寫線通斷的門管。隻要電源供給正常,雙穩態觸發器可以長久地保持所存入的信息,相對於另一種需要不斷刷新的存儲器,由雙穩態單元組成的存儲器叫做靜態存儲器。