1. 程式人生 > >RISC設計原則及基本技術

RISC設計原則及基本技術

CISC的特點:

  • 指令系統龐大,指令功能複雜,指令定址方式多,指令格式多
  • 絕大多數指令需要多個機器週期完成
  • 各種指令都可以訪問儲存器
  • 採用微程式控制
  • 有專用暫存器,少量
  • 難以用優化編譯技術生成高效的目的碼程式

RISC特點:

  • 大多數指令在單週期內完成
  • LOAD/STORE結構
  • 硬佈線控制邏輯
  • 減少指令和定址方式的種類
  • 固定的指令格式
  • 注重編譯的優化(三地址指令格式、較多的暫存器、對稱的指令格式)

*我認為RISC與CISC的不同之處在於指令精簡、定址方式減少以及注重編譯優化,這要得益於二八法則(CISC中,大約20%的指令佔據了80%的處理機時間。其餘80%指令使用頻度只佔20%的處理機執行時間)。RISC比CISC快3倍左右,主要取決於CPI(每條指令執行的平均週期數)。在RISC中CPI近乎1。

RISC的設計原則:

  • 使用頻度很高的指令
  • 大大減少定址方式
  • 所有指令在一個機器週期內完成
  • 擴大通用暫存器個數
  • 採用硬聯控制實現
  • 通過精簡指令和優化設計編譯程式,以簡單有效的方式支援高階語言

RISC結構採用的基本技術:

  • 在邏輯上採用硬聯實現和微程式韌體實現相結合的技術
  • 在CPU中設定數量較大的暫存器組,並採用重疊暫存器視窗的技術
  • 指令的執行採用流水和延遲轉移技術
  • 採用優化編譯技術,優化暫存器的分配和使用
RISC的不足:
  • 指令少,加重彙編程式設計師的負擔
  • 浮點運算和虛擬儲存器支援不足
  • 編譯程式難寫
對於不足的最後一條,我感到疑惑——RISC提供直接支援高階語言的能力,應當是簡化了編譯程式的設計,為什麼還要說編譯程式難寫?希望知道的朋友們留下評論:)
VLIW(超長指令字):
  • 是一種顯式指令級並行指令系統
  • 一條VLIW指令含有多個相同或不同的操作欄位(每個操作欄位的功能相當於一般處理機中的一條指令)
  • 每個操作欄位能夠分別獨立地控制各自的功能部件同時執行
  • 二維程式結構
  • 指令級並行度高
應用VLIW的有Intel和HP合制的安騰(Intanium)處理機。