1. 程式人生 > >4.3 Building a Datapath-Computer Organization and Design筆記

4.3 Building a Datapath-Computer Organization and Design筆記

字節 res 地址 計算機硬件 set 流動 off word counter

MIPS下的數據路徑

技術分享

這是計算機硬件間的數據路徑(即數據流動的路徑),下面將較詳細分析此圖:

技術分享

PC(program counter, 程序計數器)是一個用於記錄當前計算機正在執行的指令的地址的寄存器(register),當前指令執行完後,PC的值加4(因為一條指令占4個字節),PC指向下一條指令。

技術分享

PC根據指令地址找到對應的指令後(Read address),指令( Instruction)流向Register File,R-format指令需要讀取兩個寄存器,I-format指令則需要讀取一個。

技術分享

在執行R-format指令時,Read data 1 與 Read data 2,即兩個寄存器的值, 作為ALU(Arithmetic and Logic Unit,算術邏輯單元)的inputs;在執行I-format指令時,一個input來自經過Sign-extend後的常量。

技術分享

在執行Beq(branch if equal)或Bne(Branch if not equal)時,若需要branch,PC的值需要被替換為Branch target的地址,Branch target的地址經過紅框內的步驟後計算出

(branch target address = (PC+4)+ offset_value*4)。

技術分享

在執行lw(load word)指令時,根據ALU計算出來的地址值訪問對應的Data Memory 單元,獲取存在該單元裏的數據,存到Register File中;在執行R-format時,直接將ALU的計算結果存到Register File中(Write data)。

4.3 Building a Datapath-Computer Organization and Design筆記