精簡指令集

計算機中央處理器設計模式之一

RISC的英文全稱是Reduced Instruction Set Computer,中文是精簡指令集計算機。特點是所有指令的格式都是一致的,所有指令的指令周期也是相同的,並且採用流水線技術。在中高檔伺服器中採用RISC指令的CPU主要有Compaq(康柏,即新惠普)公司的Alpha、HP公司的PA-RISC、IBM公司的PowerPC、MIPS公司的MIPS和SUN公司的Sparc。精簡指令集計算機(RISC:Reduced Instruction Set Computing RISC)是一種執行較少類型計算機指令的微處理器,起源於80年代的MIPS主機(即RISC機),RISC機中採用的微處理器統稱RISC處理器。這樣一來,它能夠以更快的速度執行操作(每秒執行更多百萬條指令,即MIPS)。因為計算機執行每個指令類型都需要額外的晶體管和電路元件,計算機指令集越大就會使微處理器更複雜,執行操作也會更慢。紐約約克鎮IBM研究中心的John Cocke證明,計算機中約20%的指令承擔了80%的工作,於1974年,他提出RISC的概念。許多當前的微晶元都使用RISC概念。

計算機介紹


精簡指令集計算機(RISC:Reduced Instruction Set Computing)是一種指令長度較短的計算機,其運行速度比CISC要快。RISC和CISC是CPU從指令集的特點上可以分為兩類:CISC和RISC。RISC是英文Reduced Instruction Set Computing的縮寫,就是“精簡指令運算集”,CISC就是“複雜指令運算集”。RISC的指令系統相對簡單,它只要求硬體執行很有限且最常用的那部分指令,大部分複雜的操作則使用成熟的編譯技術,由簡單指令合成。目前在中高檔伺服器中普遍採用這一指令系統的CPU,特別是高檔伺服器全都採用RISC指令系統的CPU。在中高檔伺服器中採用RISC指令的CPU主要有Compaq(康柏,即新惠普)公司的Alpha、HP公司的PA-RISC、IBM公司的Power PC、MIPS公司的MIPS和SUN公司的Sparc。
RISC是相對於複雜指令集計算機(CISC)而言的。所謂複雜指令集計算機是依靠增加機器的硬體結構來滿足對計算機日益增加的性能要求。計算機結構的發展一直是被複雜性越來越高的處理機壟斷著,為了減少計算機操作與高級語言的差別,為了改善機器的運行特性,機器指令越來越多,指令系統也越來越複雜。特別是早期的較高速度的CPU和較慢速度的存儲器間的矛盾,為了盡量減少存取數據的次數,提高機器的速度,大大發展了複雜指令集,但隨著半導體工藝技術的發展,存儲器的速度不斷提高,特別是高速緩衝的使用,使計算機體系結構發生了根本性的變化,硬體工藝技術提高的同時,軟體方面也發生了同等重要的進展,出現了優化編譯程序,使程序的執行時間儘可能減少。並使機器語言所佔的內存減至最小,在具有先進的存儲器技術和先進的編譯程序的條件下,CISC體系結構已不再適用了,因而誕生了RISC體系結構,RISC技術的基本出發點就是通過精減機器指令系統來減少硬體設計的複雜程度,提高指令執行速度。在RISC中,計算機實際上每一個機器周期里都執行指令,無論簡單或複雜的操作,均由簡單指令的程序塊完成,具有較強的模擬能力。
在RISC機器中,要求在“單機器周期”時間內執行所有的指令,而系統最根本的吞吐率限制是由程序運行中訪存時間比例所決定的,因此,只要CPU執行指令的時間與取指時間相同,即可獲得最大的系統吞吐率。(對於一個機器周期執行一條指令而言)。RISC機器中,採用硬體控制以實現快速的指令解碼,並採用較少的指令和簡單的定址模式,通過固定的指令格式來簡化指令解碼和硬線控制邏輯。另外,RISC設計是以複雜的編譯設計優化來求取簡單的硬體晶元環境。編譯優化可以改善HLL程序的運行效率,但所有的程序必須由高級語言編寫。
RISC設計消除了微碼的例行程序,把機器低級控制交給軟體處理。即用較快的RAM代替處理器中的微碼ROM作為指令的緩存(Cache),計算機的控制駐存在指令Cache,從而使得計算機系統和編譯器產生的指令流能使高級語言的需求和硬體性能密切配合。
計算機的性能可以用完成一特定任務所需的時間來衡量,這個時間等於C×T×I。
C=完成每條指令所需的周期數,T=每個周期的時間,I=每個任務的指令數
RISC技術就是努力使C和T減至最小,C和T的減小可能導致I的增加,但優化編譯技術和其他技術的採用可以彌補由於I的增加對機器性能的影響。RISC技術之所以很快由一種新見解發展成為前景廣闊的計算機市場,主要有如下幾方面的原因:一是RISC結構適應日新月異的VLSI技術發展;二是RISC簡化了處理器結構,實現和調試較容易,因而設計代價低,開發周期短;三是簡化了結構,處理器佔據了較小的晶元面積,從而可在同一晶元上集成進較大的寄存器文件,翻譯後備緩衝器(TLB)、協處理器和快速乘除器等,使得處理器獲得更高的性能;四是RISC對HLL程序的支持優於以往的複雜指令系統計算機,可以使用戶(程序員)很容易使用統一的指令集,很容易估算代碼優化所起的作用,使程序員對硬體的正確性有了更多的信任感。

分類


採用多級指令流水線結構
採用流水線技術可使每一時刻都有多條指令重疊執行,以減小 CPI 的值,使 CPU 不浪費空周期。實例: Pentium Ⅱ /Pro/Celeron 可同時發出執行五條指令, AMD - K6/K6 - 2 可同時發出六條指令。
機器中使用頻率高的簡單指令及部分複雜指令
這樣可減小時鐘周期數量,提高 CPU 速度,其實質是減小 CPI 下的值實現。實例:選取運算指令、載入、存儲指令和轉移指令作主指令集。
採用載入 (Load) 、存儲 (Store) 結構
只允許 Load 和 Store 指令執行存儲器操作,其餘指令均對寄存器操作。實例: Amd - K6/K6 - 2 、 P Ⅱ /Celeron/Pro 均支持對寄存器的直接操作和重新命名,並大大增加通用寄存器的數量。
延遲載入指令和轉移指令
由於數據從存儲器到寄存器存在二者速度差、轉移指令要進行入口地址的計算,這使 CPU 執行速度大大受限,因此, RISC 技術為保證流水線高速運行,在它們之間允許加一條不相關的可立即執行的指令,以提高速度。
實例:主要體現於預測執行、非順序執行和數據傳輸等方面,除 Intel P54/55C 不支持,像 K6 - 2 、 P Ⅱ均支持。
採用高速緩存 (cache) 結構
為保證指令不間斷地傳送給 CPU 運算器, CPU 設置了一定大小的Cache 以擴展存儲器的帶寬,滿足 CPU 頻繁取指需求,一般有兩個獨立 Cache ,分別存放“指令+數據”。
實例: P Ⅱ /Celeron:16K + 16K , AMD - K6/K6 - 2 為 32K + 32K , Cyrix M Ⅱ :64K( 實也為 2 個 32K Cache ,此作共享 Cache) , P Ⅱ還加了 L2 Cache,更是大幅提高了 CPU 速度。

簡介


精簡指令集,是計算機中央處理器的一種設計模式,也被稱為RISC(Reduced Instruction Set Computing的縮寫)。這種設計思路對指令數目和定址方式都做了精簡,使其實現更容易,指令并行執行程度更好,編譯器的效率更高。常用的精簡指令集微處理器包括DECAlpha、ARC、ARM、AVR、MIPS、PA-RISC、PowerArchitecture(包括PowerPC)和SPARC等。這種設計思路最早的產生緣於有人發現,儘管傳統處理器設計了許多特性讓代碼編寫更加便捷,但這些複雜特性需要幾個指令周期才能實現,並且常常不被運行程序所採用。此外,處理器和主內存之間運行速度的差別也變得越來越大。在這些因素促使下,出現了一系列新技術,使處理器的指令得以流水執行,同時降低處理器訪問內存的次數。早期,這種指令集的特點是指令數目少,每條指令都採用標準字長、執行時間短、中央處理器的實現細節對於機器級程序是可見的。

發展背景


在早期的計算機業中,編譯器技術尚未出現。程序是以機器語言或彙編語言完成的。為了便於編寫程序,計算機架構師造出越來越複雜的指令,可以高階程序語言直接陳述高階功能。當時的看法是硬體比編譯器更易設計,所以複雜的東西就加進硬體了。
加速複雜化的其它因素是缺乏大內存。內存小的環境中,具有極高訊息密度的程序較有利。當內存中的每一位元組如此珍貴,例如儲存某個完整系統只需幾千位元組,它使產業移向高度編碼的指令、長度不等的指令、執行多個操作的指令,和執行數據傳輸與計算的指令。當時指令封包問題遠比易解的指令重要。
那時使用磁性技術,內存不僅小,而且很慢。這是維持極高訊息密度的其它原因。借著具有極高訊息密度封包,當必須存取慢速資源時可以降低頻率。
CPU只有少數緩存器的兩個原因︰
CPU內部緩存器遠貴於外部內存。以當時的集成電路技術水準,大緩存器集對晶元或電路板區域只是多餘的浪費。
具有大數量的緩存器將需要大數量的指令位(使用珍貴的RAM)以做為緩存器指定器。
基於上述原因,CPU設計師試著令指令儘可能做更多的工作。這導致一個指令將做全部的工作︰讀入兩個數字,相加,並且直接在內存儲存計算結果。其它版本將從內存讀取兩個數字,但計算結果儲存在緩存器。另一個版本將從內存和緩存器各讀一個數字,並再次存入內存。以此類推。這種處理器設計原理最終成為複雜指令集(CISC)。
當時的目標是給所有的指令提供所有的定址模式,此稱為「正交性」。這在 CPU 上導致了一些複雜性,但就理論上每個可能的命令都可以單獨的調試(調用,be tuned),這樣使得程序員能夠比用簡單的命令來得更快速。
這類的設計最終可以由光譜的兩端來表達, 6502 在光譜的一端,而 VAX 在光譜的另一端。單價25美元的 1MHz 6502 晶元只有單一的通用緩存器,但它的極精簡的單周期內存界面(single-cycle memory interface)讓一個位的操作效能和更高頻率設計幾乎相同,例如 4MHz Zilog Z80 在使用相同慢速的記憶晶元下(大約近似 300ns)。

發展分歧

精簡指令集
精簡指令集
在計算機指令系統的優化發展過程中,出現過兩個截然不同的優化方向:CISC技術和RISC技術。CISC是指複雜指令系統計算機(Complex Instruction Set Computer);RISC是指精簡指令系統計算機(Reduced Instruction Set Computer)。這裡的計算機指令系統指的是計算機的最低層的機器指令,也就是CPU能夠直接識別的指令。隨著計算機系統的複雜,要求計算機指令系統的構造能使計算機的整體性能更快更穩定。最初,人們採用的優化方法是通過設置一些功能複雜的指令,把一些原來由軟體實現的、常用的功能改用硬體的指令系統實現,以此來提高計算機的執行速度,這種計算機系統就被稱為複雜指令系統計算機,即Complex Instruction Set Computer,簡稱CISC。另一種優化方法是在20世紀80年代才發展起來的,其基本思想是盡量簡化計算機指令功能,只保留那些功能簡單、能在一個節拍內執行完成的指令,而把較複雜的功能用一段子程序來實現,這種計算機系統就被稱為精簡指令系統計算機.即Reduced Instruction Set Computer,簡稱RISC。RISC技術的精華就是通過簡化計算機指令功能,使指令的平均執行周期減少,從而提高計算機的工作主頻,同時大量使用通用寄存器來提高子程序執行的速度

提出原由

IBM公司設在紐約Yorktown的JhomasI.Wason研究中心於1975年組織力量研究指令系統的合理性問題.因為當時已感到,日趨龐雜的指令系統不但不易實現.而且還可能降低系統性能.1979年以帕特遜教授為首的一批科學家也開始在美國加州大學伯克萊分校開展這一研究.結果表明,CISC存在許多缺點.首先.在這種計算機中.各種指令的使用率相差懸殊:一個典型程序的運算過程所使用的80%指令.只佔一個處理器指令系統的20%.事實上最頻繁使用的指令是取、存和加這些最簡單的指令.這樣-來,長期致力於複雜指令系統的設計,實際上是在設計一種難得在實踐中用得上的指令系統的處理器.同時.複雜的指令系統必然帶來結構的複雜性.這不但增加了設計的時間與成本還容易造成設計失誤.此外.儘管VLSI技術現在已達到很高的水平,但也很難把CISC的全部硬體做在一個晶元上,這也妨礙單片計算機的發展.在CISC中,許多複雜指令需要極複雜的操作,這類指令多數是某種高級語言的直接翻版,因而通用性差.由於採用二級的微碼執行方式,它也降低那些被頻繁調用的簡單指令系統的運行速度.因而.針對CISC的這些弊病.帕特遜等人提出了精簡指令的設想即指令系統應當只包含那些使用頻率很高的少量指令.並提供一些必要的指令以支持操作系統和高級語言.按照這個原則發展而成的計算機被稱為精簡指令集計算機(ReducedInstructionSetComputer-RISC)結構.簡稱RISC.

優勢


精簡指令集
精簡指令集
RISC和CISC是設計製造微處理器的兩種典型技術,雖然它們都是試圖 在體系結構、操作運行、軟體硬體、編譯時間和運行時間等諸多因素中做出某種平衡,以求達到高效的目的,但採用的方法不同,因此,在很多方面差異很大,它們主要有:
(1)指令系統:RISC設計者把主要精力放在那些經常使用的指令上,盡量使它們具有簡單高效。對不常用的功能,常通過組合指令來完成。因此,在RISC機器上實現特殊功能時,效率可能較低。但可以利用流水技術和超標量技術加以改進和彌補。而CISC計算機的指令系統比較豐富,有專用指令來完成特定的功能。因此,處理特殊任務效率較高。
(2)存儲器操作:RISC對存儲器操作有限制,使控制簡單化;而CISC機器的存儲器操作指令多,操作直接。
(3)程序:CISC彙編語言程序一般需要較大的內存空間,實現特殊功能時程序複雜,不易設計;而RISC彙編語言程序編程相對簡單,科學計算及複雜操作的程序設計相對容易,效率較高。
精簡指令集
精簡指令集
(4)中斷:RISC機器在一條指令執行的適當地方可以響應中斷,但是相比CISC指令執行的時間短,所以中斷響應及時;而CISC機器是在一條指令執行結束后響應中斷。
(5)CPU:RISC CPU包含有較少的單元電路,因而面積小、功耗低;而CISCCPU包含有豐富的電路單元,因而功能強、面積大、功耗大。
(6)設計周期:RISC微處理器結構簡單,布局緊湊,設計周期短,且易於採用最新技術;CISC微處理器結構複雜,設計周期長。
(7)用戶使用:RISC微處理器結構簡單,指令規整,性能容易把握,易學易用;CISC微處理器結構複雜,功能強大,實現特殊功能容易。
(8)應用範圍:由於CISC指令系統的確定與特定的應用領域有關,故CISC機器更適合於專用機;而RISC機器則更適合於通用機。

劣勢


當今計算機世界出現了尋覓更好性能的熱潮,RISC與CISC既對峙又互補。RISC有其自身的缺點。
編譯后指令長度較長,內存需要較大
RISC的缺點與其一些優點直接有關。因為RISC擁有的指令數少,有些在CISC中僅由一條指令完成的功能,在RISC中需二、三條甚至更多條指令,這使RISC代碼較長,因而RISC的程序需要更多的內存,內存與CPU間的指令衝突也會增加。研究表明,平均而言,執行同樣的功能,一個RISC程序比一個CISC程序長30%。同時,RISC對編譯器要求較高,優化編譯器的設計是一項極復要且技術要求很高的工作,它又必須由RISC機製造單位自身編製,因為沒有RISC詳細原始資料不可能產生編譯程序的目標代碼。這樣,第三方公司提供新版本較困難,用戶選擇餘地較小,軟體費用增加了。
大寄存器組使定址複雜,速度降低
RISC系統的一個有爭議的特點是其大寄存器組。大寄存器組有前述優點,但另一方面,也有缺點,大寄存器使定址時間增多,另個,一些編譯器使小寄存器組的使用更為有效。CPU寄存器組到底應多大還有待討論,大寄存器U組還可由高速緩存(CACHE)代替。大寄存器組的不足之處可歸結如下:
● 存取時間長。
● 寄存器組佔據了更多的晶元空間。
● 先進的編譯技術使小寄存器組更有效。
● 如果上下文轉換現場的所有CPU寄存器被保存,則大寄存器組會化更多存貯時間。
● 如果使用了窗口指針(RISC的實施要點之一是重疊寄存器窗口,目的是便於參數傳遞。重疊寄存器窗口要用到窗口指針),寄存器地址解碼會較長。同時重疊寄存器也使CPU邏輯變得複雜。
硬連線控制不靈活
出現錯誤的可能性較大,不易發現和修改錯誤,處理複雜指令也較困難。(4)單字指令不能使用用於全32位地址的直接內存定址方式。由於這個原因,一些生產廠家已使一小部分指令具有雙字卡(如INTEL80960),使用這樣的指令由程序員決定,他可僅用單字指令寫完整的程序。

特徵


32位精簡指令集架構
32位精簡指令集架構
RISC的特點是指令及其格式精少,操作和控制簡捷。具體有下列幾個方面。
精簡指令集
RISC結構採用精簡的,長短劃一的指令集,使大多數的操作獲得了儘可能高的效率。某些在傳統結構中要用多周期指令實現的操作,在RISC結構中,通過機器語言編程,就代之以多條單周期指令了。精簡的指令集大大改善了處理器的性能,並推動了RISC的設計。對於到底精簡到什麼程度的問題,沒有一定的回答。將現有RISC系統與CISC系統作一對比,便可見大概。通常,對RISC而言:
● 指令數少,不超過128條。
● 定址方式少,不超過4種。
● 指令格式少,不超過4種。
處理關於擴充指令集的建議是非常慎重的,要經過認真的權衡,驗證,在看它們是否真正提高計算機的性能。例如,MIPS採用了一條規則:增加一條指令必須使性能在一定的應用範圍內得到1%的增益,否則這條指令將被拒絕。
指令時鐘周期,指令長度相等
如果每一條指令要執行的任務既簡單又明了,則執行每一條指令所的時間可以被壓縮周期數也可減少。RISC的設計目標是實現一個機器周期執行一條指令,使得系統操作更加有效。接近這個目標的技術包括指令流水線及特定的裝/存結構等。典型的指令可包括取指、解碼、執行和存裝果等階段。單周期指可通過讓所有指令為標準長短來實現。標準指令長短應與計算機系統的基本字長相等,通常與系統中數據線數相等。
在任何取指周期,完整的單個指令要傳給CPU。例如,如果基字長是32位,且系統匯流排的數據部分是32線,則標準指令長度是32位。要讓所有指令的執行時間一致較困難。有些指令,包含簡單的在CPU寄存器上的邏輯操作(清寄存器等),則可容易地在一個CPU時鐘周期內執行;其它指令可能包含內存存取(對內存的讀寫、取數等)或多周期操作(乘、除等),可能無法在單周期內執行。這給設計者提出了這樣的要求;讓大多數經常使用的指令得以在一個單周期內執行。
指令流水線
減少執行一條指令所需周期數的方法是重疊執行多條指令。指令流水線採用這樣的工作方式:將每條指令的執行分為幾個離散部分,然後同時執行多條指令。任何指令的取指和執行階段佔據相同時間,理想的是一個單周期。這可說是RISC最重要的一條設計原則。所有從內存到CPU執行的指令,都遵循一種恆定的流的形式。每條指令都以同樣的步調執行,無等待的指令。CPU始終是忙的。達到流水線操作的必要條件是:
● 標準的,固定長短的指令,它與計算機字長和數據線的字長相等。
● 所有指令的標準執行時間,最好在一個單CPU周期內。
例SPARC晶元等採用了取指、解碼、執行和寫入結果四級流水線結構,以最大限度來提高處理器性能。在每一個時鐘周期的頭上,都可以開始執行一條新的指令,這就保證了每個機器周期從存貯器平均取出一條新的指令,從而,總體看,大多數指令能在單周期內實現。指令流水線技術可以比作一條裝配線—指令象是被加工的產品一樣,從一道工序流到下一道工序,一直到它執行完為止。
因此,指令流水線利用一個等於其流水線深度的因子,來減少指令周期數是可能的,但這樣的話,要求流水線始終充滿有用指令且沒有任何東西阻礙指令通過流水線,這樣的需求給結構增加了一定的負擔。例如,對於ALU等資源的競爭,阻止了流水線中指令的流動。長短不一的執行時間所引起的不良後果更是顯而易見,這也是為什麼RISC要定義一個有前面所述特點的指令集的原因。
裝入和存數(LOAD/Store)結構
執行與內存有關的操作指令,不是要求增加每個周期的時間,就是要求增加指令的周期數,二者必取其一。因為這些指令要計算操作數的地址,將所需的操作數從內存中讀出,計算得出結果,再把結果送回內存,所以它們執行的時間就長得多。為了消除這種指令的負作用,RISC採用了這樣的裝入和存數結構:只有裝入(Load)和存數(Store)指令才去訪間內存,所有其它操作只訪問保存在處理器寄存器中的操作數。其優點在於:
● 減少訪問內存的次數,降低了對內存帶寬的要求。
● 將所有的操作限制於只針對寄存器,幫助了指令集的簡化。
● 取消內存操作可使編釋器優化寄存的分配更容易—這種特性減少對內存的存取,同時也減少了每一任務的指令數。
所有這些都有助於RISC實現的每個周期執行一條指令的目標。儘管如此,裝入和存數指令仍阻礙著IRSC設計目標的實現。用優化編譯技術處理裝入指令和分支指令的延遲,有助問題的解決。優化編譯技術雖不是專門面向RISC結構的,但優化編譯器依賴於RISC結構完成其出色的任務,RISC結構又依賴於優化編譯器得到它們更完善的性能。編釋器要能分析數據和控制流,並在此基礎上調整指令的執行順序,巧妙安排寄存器的用法。前一種作用可減少CPU的空閑時間,后一種作用可以提高寄存器中所保存的數據的可再用率,減少訪存次數,縮短數據通路的長度。
擁有較大寄存器組
為了便於實現多數指令在寄存器之間的操作,即所謂的寄存器到寄存器操作,必須有足夠量的CPU通用寄存器。足量的寄存器使得在隨後操作中需作為操作用的中間結果暫存在CPU寄存器中,因而就減少了對內存的裝入和存數,加快了運行速度。工業化RISC系統中至少採用32個通用CPU寄存器。
採用硬連線控制
由於微程序設計給設計者提供的靈活性,許多CISC系統是微程序控制的。不同的指令通常具有不同長度的微程序,這意味著每條指令執行的周期數不一樣,這與所有指令一致的、流線的處理原則相矛盾。但這可由硬連線控制來解決,而且速度會更快。因此RISC應該是硬連接線控制的。當每條指令與一單條微指令有一對一相相符合的關係時可有例外,也就是每個微程序由一單個控制字組成。這種設計可與用硬連線控制一樣快,一樣高效,並使設計者得益於微程序設計的優越性。採用硬連線控制,可使RISC系統控制器簡單。設計的簡單又使機器的布局更加合理,使得設計者可以集中精力去優化那些剩下的,為數不多的,但又很關鍵的處理器特性。簡化的結構使晶元上面積資源緊張的狀態得以緩解,一些對性能至關重要的結構,象大的寄存器元件,轉換查找緩存(TLB)S協處理器和乘除單元都可以裝在同一塊晶元上。這些附加的資源又使處理器增加了很大的性能優勢。事實上,RISC並非一定嚴格地完全具備上述特點,有些稱作RISC型的系統甚至違背了上述某方面。上述特點應被當作一種指導原則來解釋RISC的性質。放寬點講,滿足大部分這些特點的系統就能被看作RISC。

結構特點


精簡指令集
精簡指令集
RISC是簡化指令集計算機的簡略縮寫,其風格是強調計算機結構的簡單性和高效性。RISC設計是從足夠的不可缺少的指令集開始的。它的速度比那些具有傳統複雜指令組計算機結構的機器快得多,而且RISC機由於其較簡潔的設計,較易使用,故具有更短的研製開發周期。RISC結構一般具有如下的一些特點:
①單周期的執行:它統一用單周期指令。從根本上克服了CISC指令周期數有長有短,造成運行中偶發性不確定,致使運行失常的問題。
②採用高效的流水線操作:使指令在流水線中并行地操作,從而提高處理數據和指令的速度。
③無微代碼的硬連線控制:微代碼的使用會增加複雜性和每條指令的執行周期。
④指令格式的規格化和簡單化:為與流水線結構相適應且提高流水線的效率,指令的格式必須趨於簡單和固定的規式。比如指令採用16位或32位的固定的長度,並且指令中的操作碼欄位、操作數欄位都儘可能具有統一的格式。此外,盡量減少定址方式,從而使硬體邏輯部件簡化且縮短解碼時間,同時也提高了機器執行效率和可靠性。
⑤採用面向寄存器堆的指令:RISC結構採用大量的寄存器——寄存器操作指令,使指令系統更為精簡。控制部件更為簡化,指令執行速度大大提高。由於VLSI技術的迅速發展,使得在一個晶元上做大量的寄存器成為可能。這也促成了RISC結構的實現。
⑥採用裝入/存儲指令結構:在CISC結構中。大量設置存儲器——存儲器操作指令,頻繁地訪問內存,將會使執行速度降低。RISC結構的指令系統中,只有裝入/存儲指令可以訪問內存,而其它指令均在寄存器之間對數據進行處理。用裝入指令從內存中將數據取出,送到寄存器;在寄存器之間對數據進行快速處理,並將它暫存在那裡,以便再有需要時。不必再次訪問內存。在適當的時候,使用一條存儲指令再將這個數據送回內存。採用這種方法可以提高指令執行的速度。
⑦注重編譯的優化,力求有效地支撐高級語言程序。
通常使用的單片機中,MCS一51系列的單片機屬於CISC的體系結構;AVR系列的單片機則屬於RISC的體系結構。

發展前景


鑒於RISC的設計特點以及其無可比擬的優點,RISC體系結構處理器的發展方向:
擴展指令集
擴展指令集
一 是增加處理器的并行性;
二是擴展支持可伸縮并行計算機系統的功能;
三是提高工藝水平。最終RISC與DSP在嵌入式應用中完美融合,密不可分。
RISC微處理器不僅精簡了指令系統,採用超標量和超流水線結構;它們的指令數目只有幾十條,卻大大增強了并行處理能力。如:1987年SunMicrosystem公司推出的SPARC晶元就是一種超標量結構的RISC處理器。而SGI公司推出的MIPS處理器則採用超流水線結構,這些RISC處理器在構建并行精簡指令系統多處理機中起著核心的作用。RISC處理器是當今UNIX領域64位多處理機的主流晶元。
性能特點
性能特點一:由於指令集簡化后,流水線以及常用指令均可用硬體執行;
性能特點二:採用大量的寄存器,使大部分指令操作都在寄存器之間進行,提高了處理速度;
性能特點三:採用緩存—主機—外存三級存儲結構,使取數與存數指令分開執行,使處理器可以完成儘可能多的工作,且不因從存儲器存取信息而放慢處理速度。
應用特點
由於RISC處理器指令簡單、採用硬布線控制邏輯、處理能力強、速度快,世界上絕大部分UNIX工作站和伺服器廠商均採用RISC晶元作CPU用。如原DEC的Alpha21364、IBM的PowerPCG4、HP的PA—8900、SGI的R12000A和SUNMicrosystem公司的UltraSPARC║。
運行特點
RISC晶元的工作頻率一般在400MHZ數量級。時鐘頻率低,功率消耗少,溫升也少,機器不易發生故障和老化,提高了系統的可靠性。單一指令周期容納多部并行操作。在RISC微處理器發展過程中。曾產生了超長指令字(VLIW)微處理器,它使用非常長的指令組合,把許多條指令連在一起,以能并行執行。VLIW處理器的基本模型是標量代碼的執行模型,使每個機器周期內有多個操作。有些RISC處理器中也採用少數VLIW指令來提高處理速度。