正文 第四章 計算機工作的邏輯基礎(二)(1 / 3)

4.3計算機如何存儲信息

計算機的一個重要能力是能儲存信息,或者形象地說:計算機有記憶能力。計算機是如何能夠“記憶”的?這往往是初學者感興趣的又一問題。當前使用得最多的是兩種物理機製,一種是將信息記錄在磁性材料上,如磁芯、磁帶、磁盤,隻要不重新磁化,信息就能長期保存在磁性材料中。大家對磁帶的工作原理有所了解,對計算機中使用磁存儲的原理將容易理解些。另外一種方法是利用電子線路存儲信息,隻要電路的電源電壓正常,信息就能保存。下麵我們介紹一下存儲信息的基本單元與部件。

—、R-S觸發器

在計算機電路中,存儲一位二進製信息的基本單元是一種“雙穩態觸發器”,簡稱觸發器。這種電路單元有兩種穩定狀態,因此稱為雙穩態,它可用來分別代表(存儲)數0或1;在新的觸發之前將一直保持這種狀態,也就是保存信息不變。觸發器電路可以由基本的邏輯單元如與非門組成,因此它也是一種邏輯電路。這種電路的輸出不但取決於當前的輸入,而且也取決於過去的輸入狀態,例如原先存入的信息狀態是0還是1,所以稱為“時序邏輯”。

R-S觸發器是一種最簡單的也是最基本的觸發器,是一種用與非門構成的R-S觸發器。虛框以外是可以看到的外特性。一對輸出分別定義為Q、Q,在觸發器處於穩定狀態時這一對輸出彼此反相,一個若為0,則另一個為1,所以采用同一個變量符號Q標注,但一個為原變量Q,而另一個為反變量5。二根輸入線分別定義為R、s,當需要輸入新的信息時,R與s處於相反狀態,一高一低(一個為1,另一個為0)當處於保存信息狀態時,R與s都處於高電平狀態(都為1)-這樣的一個R-S觸發器可以存儲一個二進位,觸發器狀態為1-換句話觸發器狀態以符號Q表示。

虛框內描述了R-s觸發器的內部結構,它可由二個與非門組成,為了便於稱呼,分別給-以編號1與2。門1的輸出回送到門2的一個輸入端,門2的輸出又回送到門1的一個輸入端,這種連接形態稱為“交叉反饋”。二個與非門的輸出除了引作內部反饋外,同時送出,以表達觸發器狀態。每個與非門有二個輸入端,一個用作內部反饋連接,如前所述,另一個則用來引入觸發器的外部輸入信號(置0信號或置1信號)。

下麵列舉可能出現的四種工作狀態,用以說明R-S觸發器輸入信息與保持信息的工作原理。

1.輸入0(置0、清除為0、複位)

從門1看,由於與非門的特性是“一0則1”,現在醜=0,所以門1輸出百=1。門1的輸出反饋到門2的一個輸入端,而另一輸入5=1,二個輸入全1,所以門2輸出0。門2的輸出又反饋到門1的輸入端,將使門1的輸出維持為1。根據約定的狀態定義,0=0,0=1,表示觸發器被置為0,或稱為被清除為0,又叫做複位。

2.保持0

由於外部輸入1-與S均為1,這就要看與非門的另一個輸入端狀態,也就是觸發器的狀態。既然在此之前已經輸入0,即Q=0,則門1輸出0=1,所以門2的二個輸入端均為1,門2輸出Q=0,反過來門2輸出為0,反饋到門1輸入端,又確_=1。可見這種交叉反饋能夠相互鎖定原來的狀態,即維持原來狀態不變。交叉反饋是觸發器能保存信息的關鍵所在。

3.輸入1(置1、置位)

仿照輸入1時的分析方法,現在S=0,所以我們從門2開始分析。0則1,所以Q=l,反饋至門1,則“全1則0”,使Q=0,反饋至門2將維持Q為1。根據定義,Q=l,Q=0表示觸發器被置為1。

二、D觸發器

在CPU中與許多部件中,都需要一種能夠暫存信息的時序邏輯部件,叫作“寄存器”。它由一些觸發器組成,一個能存放n位代碼的寄存器,由n個觸發器組成。寄存器一般采用這樣一種輸入方式,先將輸入信息送到寄存器的輸入端作好準備,然後用一個“打入脈衝”,定時地將信息打入寄存器內。為了實現這種輸入方式,需將R-S觸發器進一步擴充為D觸發器。

D觸發器可由三對R-S觸發器組成,現在我們隻討論它的外特性。Z-觸發器的邏輯符號標準畫法。它有一對互補的輸出Q與$彼此反相。有兩個輸入端,其中D端用來接受待輸入信息,CP端輸入打入脈衝,由脈衝的上升沿進行同步定時,即控製打入信息的時刻。這就要求D端先準備好輸入數據,但需延遲一點時間,再由CP脈衝上升邊沿打入,D就是延遲Dealy的縮寫。

波形圖方式描述D觸發器一種可能的工作例子,分別畫出了四個波形圖,描述一對輸出(Q、Q)隨輸入(D、CP)變化的情況,請特別注意它們之間在時間上的彼此對應關係,因此,所有信號波形的時間坐標軸,應當畫成同一比例。如圖所示,D觸發器初始狀態為0,即Q=0(低電平),Q=1(高電平),現在準備打入1,所以在->端準備好一個高電平信號即令1-=1。在需要打入觸發器的時刻,向CP端發來一個同步打入脈衝,當脈衝出的時刻,即它的上升邊沿將乃端信息1打入觸發器,此時0由低變高(1)由高變低(0),觸發器狀態變為1。為了醒目,我們在打入脈衝CP的上升邊標出一個箭頭,表示該時刻打入。當信息打入觸發器後,在新的CP上升邊沿到來之前,即使D端電平變化,如圖義由高變為低,但觸發器仍維持為1。為了讓觸發器變為0。

三、寄存器

我們已經多次提到寄存器這個詞,它是用來寄存代碼信息的部件,也是計算機中最基本

的一種部件。我們將程序與大批量數據,放在主存儲器中,一個主存儲器中有很多存儲單元(例如一百萬個),每次隻能從其中的一個單元中讀出,或者往一個存儲單元寫入,不能直接在主存儲中進行數據的加工與指令的識別。因此,我們在中央處理器CPU中設置若幹寄存器(例如十多個),暫時存放需執行的指令代碼與數據信息。根據寄存器的輸出,我們可以識別指令代碼的含意,產生相應的操作命令。將寄存器的輸出送往運算部件,進行相應的加處理。

通常對寄存器進行編號,例如表示是0號寄存器。是寄存器Registei第一個字母。也可以將寄存器名稱定為兒c,即J寄存器、5寄存器。還可以根據該寄存器的作用命名,如IR是指令寄存器;PC是程序計數番,它是一種具有計數功能的凍存器。用n個Z-觸發器,可以構成一個n位長的寄存器,當然可以將它們集成在一塊芯片之中。為了標注某個寄存器的某一位,則標往成形式,例如表示2寄存器的第3位。

給出一種寄存器邏輯圖,用n個Z觸發器組成一個11位字長的3寄存器。設需將某數……h打入寄存器,則將代碼z按位地加在d寄存器各位的端,輸入1的位加高電平,輸入0的位加低電平-打入脈衝同時加於所有各位的CP端,當上升邊沿到來時刻,輸入代碼被打入寄存器中。各位輸出0端對應地標注為……Au則每根線上的信號含意都有明確定義,一看就明白。這樣的寄存器可以高速地並行輸入(所有各位同時輸入),並行輸出(所有各位同時提供其信息),輸入時刻由同步脈衝.的上升邊沿(由低變高)定時。如果在寄存器輸入端增加某些邏輯電路,還可實現所需的各種變化。