RISC

RISC

精簡指令集計算機
RISC(reduced instruction set computer,精簡指令集計算機)是一種執行較少類型計算機指令的微處理器,起源于80年代的MIPS主機(即RISC機),RISC機中采用的微處理器統稱RISC處理器。這樣一來,它能夠以更快的速度執行操作(每秒執行更多百萬條指令,即MIPS)。因為計算機執行每個指令類型都需要額外的晶體管和電路元件,計算機指令集越大就會使微處理器更複雜,執行操作也會更慢。紐約約克鎮IBM研究中心的John Cocke證明,計算機中約20%的指令承擔了80%的工作,于1974年,他提出RISC的概念。第一台得益于這個發現的電腦是1980年IBM的PC/XT。再後來,IBM的RISC System/6000也使用了這個思想。RISC這個詞本身屬于伯克利加利福尼亞大學的一個教師David Patterson。RISC這個概念還被用在Sun公司的SPARC微處理器中,并促成了現在所謂的MIPS技術的建立,它是Silicon Graphics的一部分。許多當前的微芯片現在都使用RISC概念。
    中文名:精簡指令集 外文名: 所屬學科: 英文名:Reduced Instruction Set Computer 特點:所有指令的格式都是一緻 采用:流水線技術 簡稱:RISC

基本簡介

精簡指令集,是計算機中央處理器的一種設計模式,也被稱為RISC(Reduced Instruction Set Computer的縮寫)。這種設計思路對指令數目和尋址方式都做了精簡,使其實現更容易,指令并行執行程度更好,編譯器的效率更高。常用的精簡指令集微處理器包括DECAlpha、ARC、ARM、AVR、MIPS、PA-RISC、PowerArchitecture(包括PowerPC)和SPARC等。這種設計思路最早的産生緣自于有人發現,盡管傳統處理器設計了許多特性讓代碼編寫更加便捷,但這些複雜特性需要幾個指令周期才能實現,并且常常不被運行程序所采用。此外,處理器和主内存之間運行速度的差别也變得越來越大。在這些因素促使下,出現了一系列新技術,使處理器的指令得以流水執行,同時降低處理器訪問内存的次數。早期,這種指令集的特點是指令數目少,每條指令都采用标準字長、執行時間短、中央處理器的實現細節對于機器級程序是可見的。長期來,計算機性能的提高往往是通過增加硬件的複雜性來獲得.随着集成電路技術.特别是VLSI(超大規模集成電路)技術的迅速發展,為了軟件編程方便和提高程序的運行速度,硬件工程師采用的辦法是不斷增加可實現複雜功能的指令和多種靈活的編址方式.甚至某些指令可支持高級語言語句歸類後的複雜操作.至使硬件越來越複雜,造價也相應提高.為實現複雜操作,微處理器除向程序員提供類似各種寄存器和機器指令功能外.還通過存于隻讀存貯器(ROM)中的微程序來實現其極強的功能,傲處理在分析每一條指令之後執行一系列初級指令運算來完成所需的功能,這種設計的型式被稱為複雜指令集計算機(Complex Instruction Set Computer-CISC)結構.一般CISC計算機所含的指令數目至少300條

發展背景

在早期的計算機業中,編譯器技術尚未出現。程序是以機器語言或彙編語言完成的。為了便于編寫程序,計算機架構師造出越來越複雜的指令,可以高階程序語言直接陳述高階功能。當時的看法是硬件比編譯器更易設計,所以複雜的東西就加進硬件了。

加速複雜化的其它因素是缺乏大内存。内存小的環境中,具有極高訊息密度的程序較有利。當内存中的每一字節如此珍貴,例如儲存某個完整系統隻需幾千字節,它使産業移向高度編碼的指令、長度不等的指令、執行多個操作的指令,和執行數據傳輸與計算的指令。當時指令封包問題遠比易解的指令重要。

那時使用磁性技術,内存不僅小,而且很慢。這是維持極高訊息密度的其它原因。借着具有極高訊息密度封包,當必須存取慢速資源時可以降低頻率。

CPU隻有少數緩存器的兩個原因︰

CPU内部緩存器遠貴于外部内存。以當時的集成電路技術水準,大緩存器集對芯片或電路闆區域隻是多餘的浪費。

具有大數量的緩存器将需要大數量的指令位(使用珍貴的RAM)以做為緩存器指定器。

基于上述原因,CPU設計師試着令指令盡可能做更多的工作。這導緻一個指令将做全部的工作︰讀入兩個數字,相加,并且直接在内存儲存計算結果。其它版本将從内存讀取兩個數字,但計算結果儲存在緩存器。另一個版本将從内存和緩存器各讀一個數字,并再次存入内存。以此類推。這種處理器設計原理最終成為複雜指令集(CISC)。

當時的目标是給所有的指令提供所有的尋址模式,此稱為正交性。這CPU上導緻了一些複雜性,但就理論上每個可能的命令都可以單獨的調試(調用,betuned),這樣使得程序員能夠比用簡單的命令來得更快速。

這類的設計最終可以由光譜的兩端來表達,6502在光譜的一端,而VAX在光譜的另一端。單價25美元的1MHz6502芯片隻有單一的通用緩存器,但它的極精簡的單周期内存界面(single-cycle memory interface)讓一個位的操作效能和更高頻率設計幾乎相同,例如4MHzZilogZ80在使用相同慢速的記憶芯片下(大約近似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(精簡指令集計算機)由于其能效高而用于便攜式設備。例如,Apple iPod和Nintendo DS。RISC是一種使用高度優化的指令集的微處理器架構。RISC則相反,以每個程序的指令數為代價減少了每個指令的周期。流水線化是RISC的獨特功能之一。它通過以流水線方式重疊執行多個指令來執行。與CISC相比,它具有高性能優勢。RISC和CISC是設計制造微處理器的兩種典型技術,雖然它們都是試圖在體系結構、操作運行、軟件硬件、編譯時間和運行時間等諸多因素中做出某種平衡,以求達到高效的目的,但采用的方法不同,因此,在很多方面差異很大,它們主要有:

(1)指令系統:RISC設計者把主要精力放在那些經常使用的指令上,盡量使它們具有簡單高效。對不常用的功能,常通過組合指令來完成。因此,在RISC機器上實現特殊功能時,效率可能較低。但可以利用流水技術和超标量技術加以改進和彌補。而CISC計算機的指令系統比較豐富,有專用指令來完成特定的功能。因此,處理特殊任務效率較高。

(2)存儲器操作:RISC對存儲器操作有限制,使控制簡單化;而CISC機器的存儲器操作指令多,操作直接。

(3)程序:RISC彙編語言程序一般需要較大的内存空間,實現特殊功能時程序複雜,不易設計;而CISC彙編語言程序編程相對簡單,科學計算及複雜操作的程序設計相對容易,效率較高。

(4)中斷:RISC機器在一條指令執行的适當地方可以響應中斷,但是相比CISC指令執行的時間短,所以中斷響應及時;而CISC機器是在一條指令執行結束後響應中斷。

(5)CPU:RISCCPU包含有較少的單元電路,因而面積小、功耗低;而CISCCPU包含有豐富的電路單元,因而功能強、面積大、功耗大。

(6)設計周期:RISC微處理器結構簡單,布局緊湊,設計周期短,且易于采用最新技術;CISC微處理器結構複雜,設計周期長。

(7)用戶使用:RISC微處理器結構簡單,指令規整,性能容易把握,易學易用;CISC微處理器結構複雜,功能強大,實現特殊功能容易。

(8)應用範圍:由于RISC指令系統的确定與特定的應用領域有關,故RISC機器更适合于專用機;而CISC機器則更适合于通用機。

特征

統一指令編碼(例如,所有指令中的op-code永遠位于同樣的位位置、等長指令),可快速解譯︰

泛用的緩存器,所有緩存器可用于所有内容,以及編譯器設計的單純化(不過緩存器中區分了整數和浮點數);

單純的尋址模式(複雜尋址模式以簡單計算指令序列取代);

硬件中支持少數數據型别(例如,一些CISC計算機中存有處理字節字符串的指令。這在RISC計算機中不太可能出現)。

RISC設計上同時也有哈佛内存模塊特色,凡指令流和數據流在概念上分開;這意味着更改代碼存在的内存地址對處理器執行過的指令沒有影響(因為CPU有着獨立的指令和數據緩存),至少在特殊的同步指令發出前。在另一面,這允許指令緩存和數據緩存同時被訪問,通常能改進運行效率。

許多早期的RISC設計同樣共享着不好的副作用——轉移延時槽,轉移延時槽是指一個跳轉或轉移指令之後的指令空間。無論轉移是否發生,空間中的指令将被執行(或者說是轉移效果被延遲)。這些指令讓CPU的算術和邏輯單元(ALU)繁忙比通常執行轉移所需更多的時間。現在轉移延時槽被認為是實現特定RISC設計的副作用,現代的RISC設計通常避免了這個問題(如PowerPC,最近的SPARC版本,MIPS)。

結構特點

RISC是簡化指令集計算機的簡略縮寫,其風格是強調計算機結構的簡單性和高效性。RISC設計是從足夠的不可缺少的指令集開始的。它的速度比那些具有傳統複雜指令組計算機結構的機器快得多,而且RISC機由于其較簡潔的設計,較易使用,故具有更短的研制開發周期。RISC結構一般具有如下的一些特點:

①單周期的執行:它統一用單周期指令。從根本上克服了CISC指令周期數有長有短,造成運行中偶發性不确定,緻使運行失常的問題。

②采用高效的流水線操作:使指令在流水線中并行地操作,從而提高處理數據和指令的速度。

③無微代碼的硬連線控制:微代碼的使用會增加複雜性和每條指令的執行周期。

④指令格式的規格化和簡單化:為與流水線結構相适應且提高流水線的效率,指令的格式必須趨于簡單和固定的規式。比如指令采用16位或32位的固定的長度,并且指令中的操作碼字段、操作數字段都盡可能具有統一的格式。此外,盡量減少尋址方式,從而使硬件邏輯部件簡化且縮短譯碼時間,同時也提高了機器執行效率和可靠性。

⑤采用面向寄存器堆的指令:RISC結構采用大量的寄存器——寄存器操作指令,使指令系統更為精簡。控制部件更為簡化,指令執行速度大大提高。由于VLSI技術的迅速發展,使得在一個芯片上做大量的寄存器成為可能。這也促成了RISC結構的實現。

⑥采用裝入/存儲指令結構:在CISC結構中。大量設置存儲器——存儲器操作指令,頻繁地訪問内存,将會使執行速度降低。RISC結構的指令系統中,隻有裝入/存儲指令可以訪問内存,而其它指令均在寄存器之間對數據進行處理。用裝入指令從内存中将數據取出,送到寄存器;在寄存器之間對數據進行快速處理,并将它暫存在那裡,以便再有需要時。不必再次訪問内存。在适當的時候,使用一條存儲指令再将這個數據送回内存。采用這種方法可以提高指令執行的速度。

⑦注重編譯的優化,力求有效地支撐高級語言程序。

通常使用的單片機中,MCS一51系列的單片機屬于CISC的體系結構;AVR系列的單片機則屬于RISC的體系結構。

發展前景

從硬件角度來看CISC處理的是不等長指令集,它必須對不等長指令進行分割,因此在執行單一指令的時候需要進行較多的處理工作。而RISC執行的是等長精簡指令集,CPU在執行指令的時候速度較快且性能穩定。因此在并行處理方面RISC明顯優于CISC,RISC可同時執行多條指令,它可将一條指令分割成若幹個進程或線程,交由多個處理器同時執行。由于RISC執行的是精簡指令集,所以它的制造工藝簡單且成本低廉。n從軟件角度來看,CISC運行的則是我們所熟識的DOS、Windows操作系統。而且它擁有大量的應用程序。因為全世界有65%以上的軟件廠商都理為基于CISC體系結構的PC及其兼容機服務的,象赫赫有名的Microsoft就是其中的一家。而RISC在此方面卻顯得有些勢單力薄。雖然在RISC上也可運行DOS、Windows,但是需要一個翻譯過程,所以運行速度要慢許多。n

鑒于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指令來提高處理速度。

上一篇:雙因素方差分析

下一篇:信息網

相關詞條

相關搜索

其它詞條