1. 轉(zhuǎn)移指令對流水線的影響 如下圖所示,T1周期取指add指令,T2周期取指sub指令,T3周期取指beq指令。 對于人類來說,我們能看到sub和beq之間可能存在一個循環(huán)...
1. 轉(zhuǎn)移指令對流水線的影響 如下圖所示,T1周期取指add指令,T2周期取指sub指令,T3周期取指beq指令。 對于人類來說,我們能看到sub和beq之間可能存在一個循環(huán)...
1. 什么是數(shù)據(jù)冒險 當前指令需要使用之前指令的運算結果,但是結果還沒有寫回。 2. 數(shù)據(jù)冒險舉例 比如下圖中,第2條add指令需要使用第1條sub指令的結果,第1條sub指...
流水線本質(zhì)是提高了時間并行性,這樣可能會帶來一些錯誤。 1. 什么是冒險hazard 阻止下一條指令在下一個時鐘周期開始執(zhí)行的情況。 2. 冒險的分類 2.1 結構冒險 所需...
1. 超標量流水線的定義 超標量結構:通常,具有兩條或兩條以上并行工作的流水線結構就稱為超標量結構。 上一篇筆記說到,優(yōu)化流水線的方向可以加深流水線,這一篇筆記介紹另一個方向...
1. 廚房做菜的例子 采用流水線做菜方式,單獨一道菜需要4+分鐘,因為每個流程之間交接需要一些時間,對應處理器的流水線寄存器帶來的延遲。 做4道菜用流水線的方式一共需要7+分...
1. 舉個例子 一個大廚做菜的例子,如下圖所示, 用4個小廚師進行流水線的操作,如下圖所示, 每個小廚師負責一個環(huán)節(jié),還有一個小廚師“吹號”,這樣4分鐘后,流水線填滿,即每個...
1. 隱藏數(shù)據(jù)通路的實現(xiàn)細節(jié) 我們首先把數(shù)據(jù)通路的實現(xiàn)細節(jié)隱藏起來,只看下面這8個控制信號, 分析指令位域,我們從指令編碼中還可以得到opcode和func位域,如下圖所示,...
我們研究beq指令,beq rs,rt,imm16 1. 條件分支指令的示例 if(i == j) f = g+h; else f = g-h; 對應的MIPS指令是, be...
我在這次學習中,使用的是MIPS指令集的子集,可參考之前的幾篇筆記,其中訪存指令lw和sw都是I型指令, lw rt,imm16(rs) sw rt,imm16(rs) 1....
1. MIPS指令系統(tǒng)從不同維度的劃分 1.1 從功能維度劃分 <1> 運算指令 <2> 訪存指令 <3> 分支指令 1.2 從格式維度劃分 <1> R型指令 <2> I型指...
1. 基本原則 根據(jù)指令需求,連接組件,建立數(shù)據(jù)通路 2. 指令的需求 指令的需求簡單分為以下兩類, <1> 所有指令的共同需求 <2> 不同指令的不同需求 2.1 所有指令...
1. 處理器的設計步驟 <1> 分析指令系統(tǒng),得出對數(shù)據(jù)通路的要求。所謂數(shù)據(jù)通路,就是指令所要操作的數(shù)據(jù),需要通過怎樣的電路結構。 <2> 為數(shù)據(jù)通路選擇合適的組件,例如加法...
1. 32-bit除法器的工作流程圖 首先來看32-bit除法器的工作流程圖,如下圖所示, 2. 4-bit除法器的硬件實現(xiàn) 我們以4-bit除法器的硬件實現(xiàn)作為例子學習,如...
1. 十進制除法的運算過程 這里選取兩個特殊的十進制數(shù)來演示除法的運算過程,如下圖所示, 2. 二進制除法的運算過程 二進制除法的運算過程與十進制的除法類似,如下圖所示, <...
1. 例子:2個十進制數(shù)相乘 1.1 選擇普通的十進制數(shù)相乘2345*9876 如下圖所示,是兩個十進制數(shù)相乘的例子,2345*9876, <1> 首先計算2345*6,根據(jù)...