MIPS流水線

 MIPS通常包含5個步驟,5級流水:

1.存儲器取指令

2.指令譯碼同時讀寄存器

3.執行操作或計算地址

4.在數據存儲器中讀取操作數

5.結果寫回寄存器

針對流水線設計的指令集:

1.所有指令具有相同的長度。簡化了取指令和指令譯碼。x86中指令長度不等。

2.只有幾種指令格式。每條指令源寄存器字段保持不變。確保指令類型確定的同時,讀取寄存器堆。否則,需要把譯碼和讀寄存器堆分級。

3.堆內存的操作僅出現在存取操作中。意味着在指令執行級得到的內存地址,可以接着在下一級訪問內存。

4.內存中操作數必須對齊。

流水線冒險:

冒險:在下一個時鐘週期中下一條指令不能執行。

1.結構冒險。硬件不支持多條指令在同一時鐘週期內執行。

2.數據冒險。一個操作必須等待另一個操作完成後才能執行時,流水線必須停頓。解決方法:數據定向/旁路。

3.控制冒險。處理器需要根據一條指令的結果做出決策,其它指令可能還在執行中。解決方法:分支預測/延遲決定。

發佈了24 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章