挑戰408——組成原理(23)——數據通路的功能跟基本結構

數據通路的功能

數據在功能部件之間傳送的路徑,稱爲數據通路。比如運算器與寄存器之間的傳送路徑,就是CPU內部的數據通路。
數據通路描述了信息從什麼地方開始,中間經過那個寄存器或者開關,最後傳送到哪個寄存器。這些都要加以控制.
數據通路的功能就是實現CPU內部邏輯運算器與寄存器以及寄存器之家的數據交換。數據通路由操作元件和存儲單元通過總線或者分散方式連接而成,由操作元件和狀態元件交替組成,即數據通路的基本結構爲“-----狀態元件----操作元件-------狀態元件”下面來逐個解釋

  1. 操作元件
    常用的操作元件有多路選擇器mux,加法器,ALU,譯碼器等等,有些操作元件不需要控制信號控制。
  2. 狀態元件
    狀態元件具有存儲功能,輸入狀態在時鐘控制下被寫到電路,並保持電路輸出值不變,直到下一個時鐘到達,輸入端狀態由時鐘決定何時被寫入,輸出端狀態隨時可以讀出。
  3. 時鐘控制
    指令的執行過程中,每個操作步驟都有先後順序,爲了使得計算機能正確執行指令,CPU必須按正確的時序產生操作控制信號。

數據通路的基本結構

數據通路的基本結構主要有兩種:總線方式,分散方式。

  1. 總線方式
    • Cpu內部單總線方式:所有寄存器的輸入輸出端都連接到一條公共通路上,這種結構簡單,但是數據的傳輸存在較多的衝突現象,因此性能相對較低。
    • Cpu內部多總線方式:所有寄存器的輸入輸出端都連接到多條公共通路上,同時可以在一個時鐘內傳輸多個數據,以提高效率。
    • 專用數據通路方式:根據指令執行過程中的數據和地址流動方向,安排線路,避免使用共享的總線,性能高,但是硬件量大。

爲了能在圖中清楚的表示各部件之間的關係,各部件之間用大寫字母表示,字母加in表示該部件允許輸入控制信號,字母加Out表示該部件允許輸出控制信號。如下圖(摘自王道考研):
在這裏插入圖片描述

  • 寄存器之間的數據傳送,例如其寄存器AX的輸入輸出分別由AXin和AXout控制,以PC寄存器爲例子,實現傳送操作的流程以及控制信號爲:
PC ->BUS    
//  PCout 有效,因爲它要輸出下一步取指令的地址,將PC的內容送到總線(bus)
BUS ->MAR  
//然後信號通過總線,傳送到MAR中,此時MARin有效,
  • 主存與CPU之間,以CPU從主存中讀取指令爲例。
PC->BUS ->MAR //此時PCout和MARin有效。
1->R //CU發出讀指令
MEM(MAR)->MDR //從MAR中取出數據,送到MDR中。此時MDRin有效
MDR->BUS->IR //從mdr中取出數據,然後沿總線送到IR處。此時,MDRout跟IRin有效

執行算術或邏輯運算

在執行算術或者邏輯運算時候,由於ALU本身沒有內部存儲功能,因此要執行加法運算,必須在ALU的兩個輸入端同時有效,以上圖爲例子,這裏有一個暫存器Y,先將一個數經CPU內部總線送入暫存器中保存,而Y的內容在ALU的左輸入端始終有效,再將另外一個操作數經總線直接送到ALU的右輸入端,如此一來,兩個操作數都送入了ALU中,然後將運算的結果暫時存於Z中。執行邏輯如下:

AD(IR) ->BUS->MDR  //從ir中執行加法操作,取出的數據,放在MDR中。MDRout和MDRin有效
1->R  //CU發出讀指令 
MEM ->數據線 ->MDR  //操作數從存儲器中取出,沿着數據線送到MDR中
MDR ->BUS->Y  //MDRout,Yin有效,操作數存於Y
(ACC)+ (Y) ->Z //將Acc中的內容與Y中的內容相加,結果存在與z中,此時ACCout,ALUin有效
Z->Acc  //Zout  ,ACCin有效,將Z的內容存在與Acc中
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章