處理器的設計步驟
分析指令系統,得出對資料通路的需求
為資料通路選擇合適的元件
連線元件,建立資料通路
分析每條指令的實現,以確定控制訊號
整合控制訊號,完成完整的資料通路
具體設計步驟
mips的所有指令是非常多的,我們只實現其簡化版,包含如下6種:
需求分析,需要存放指令位址的32位暫存器(pc),需要存放指令的儲存器,可讀,資料和指令均為32位(mem[pc])。還需要乙個暫存器堆,用來儲存源運算元和目的運算元,乙個alu進行運算。
所以我們需要如下元件:
暫存器堆
內部構成是3個32位暫存器。ra(5位):暫存器編號,將該編號暫存器的內容放到busa。rb(5位):暫存器編號,將該編號暫存器的內容放到busb。rw(5位):暫存器編號,在時鐘上公升沿,如果寫使能訊號有效,將busw的內容存入該暫存器。
busa和busb:兩組32位的資料輸出,busw:一組32位的資料輸入
儲存器
address:32位的位址訊號,該訊號指定乙個儲存單元,將其內容送到資料輸出訊號。write enable:寫使能訊號,在時鐘上公升沿,如果寫使能訊號有效(為1),將資料輸入訊號的內容存入位址訊號指定的儲存單元。
date in:32位的資料輸入訊號。date out:32位的資料輸出訊號。
建立資料通路,即根據指令的需求連線元件。指令的需求包括所有指令的共同需求、不同指令的不同需求。
所有指令的共同需求
主要包括取指令和更新pc
不同指令的不同需求
加法和減法指令的需求是最簡單的
邏輯運算指令有立即數參與,需要增加兩個二路選擇器,乙個選擇資料輸入來自暫存器還是立即數,另乙個選擇目的暫存器是rd還是rs
訪存指令需要對立即數進行符號擴充套件,同時需要乙個資料儲存器用來讀取和寫入資料
資料通路初步完成
現有指令所需的控制訊號
控制訊號哪來的呢?肯定來自指令。我們說opcode和func決定了指定功能,理所當然,控制訊號也由它們決定。
opcode和func決定了8個訊號
以add指令(add rd,rs,rt;pc = pc + 4)為例,看需要將哪些訊號設為有效,哪些設為無效,哪些任意。如圖所示
用同樣的分析方法,我們可以得到其它的指令的訊號設定,它們的邏輯表示式如下:
根據數字邏輯的知識,我們很容易求出每個控制訊號關於opcode和func的邏輯表示式
例如,求$regdest$,按行觀察
$regdest = add + sub$
$add = rtype · func5 · ~func4·~func3·~func2·~func1·~func0$
$sub = rtype · func5 · ~func4·~func3·~func2·func1·~func0$
$rtype = ~op5·~op4·~op3·~op2·~op1·~op0$
同理可得到其它表示式的邏輯表示式
觀察發現,這些表示式都是先相與、再相或,所以可用如下的電路來實現
計算機組成與設計3 處理器概述
指令在執行過程中,資料所經過的路徑 包括路徑中的部件 是指令的執行部件。是由操作元件 組合邏輯單元 和儲存單元 狀態元件 通過匯流排方式或分散方式連線而成的進行資料儲存 處理 傳送的路徑。1.2.1組合邏輯元件 加法器 多路選擇器 alu 解碼器 解碼器的輸出是控制資訊 等四部分組成 組合邏輯元件的...
計算機組成原理 單週期CPU shift
32位移位器 module shift d,sa,right,arith,sh input 31 0 d input 4 0 sa 移位的位數 input right,arith 0 or 1 控制訊號 output 31 0 sh d sh reg 31 0 sh always begin 當任意...
計算機組成原理(八)
計算機硬體系統 儲存器作用 主儲存器 對儲存介質的基本要求 什麼能做儲存器 早期儲存器 半導體儲存器 現代計算機儲存系統 暫存器 register 快取記憶體 cache 主儲存器 main memory 磁碟 disk 磁帶 tape 光碟 compact disc 儲存器系統設計目標 為什麼設計...