RISC技術(shù)的基本出發(fā)點是通過精減機器指令系統(tǒng)來減少硬件設(shè)計的復雜程度,提高指令執(zhí)行速度。盡管RISC的設(shè)計思想對計算機結(jié)構(gòu)發(fā)生了巨大影響,并獲得了很大成功,但復雜指令集計算機(CISC)技術(shù)相對而言則使程序的編制來得更容易些,因此,CISC技術(shù)和RISC技術(shù)并不是相互孤立的。目前,有一種新的設(shè)計思想,它是以提高整個計算機系統(tǒng)的性能為出發(fā)點,在結(jié)構(gòu)上吸收了CISC和RISC的優(yōu)點。
如許多CISC設(shè)計中采用了RISC技術(shù),美國國家半導休公司的NSC32532微處理器在CISC設(shè)計中采用了RISC技術(shù),使指令平均執(zhí)行時間從原來的6個機器周期降到小于2.4個機器周期,在26MHZ主頻下,運行速度達10一12M1PS。Intel80486和Mot。r。la68040也吸收了RISC設(shè)計技術(shù),從而達到每條指令平均執(zhí)行時間小于2個機器周期,仙童公司的Clipper機是綜合R1SC與CISC技術(shù)優(yōu)點的32位微處理機,其運行速度高達33MIPS。因此,當前設(shè)計處理機的兩種主要方法(RISC和ClSC技術(shù))并不是截然分開的,它們是相輔相成的,目前已有人將CISC技術(shù)和RISC技術(shù)溶合在一起,提出了可寫指令集計算機(WISC)結(jié)構(gòu)設(shè)想,并具體規(guī)定了集中Rlsc和Clsc優(yōu)點的策略原則,盡管如此,它仍是建立在RlSC概念筍碑上的一個RISC技犬的進一步發(fā)屏。
目前大多數(shù)RISC處理器已達到了每個周期執(zhí)行一條指令的目標(即CPI比率),但這并不是極限,RISC技術(shù)中又出現(xiàn)了超級標量和超級流水線技術(shù)。超級標量技術(shù)就是使微處理器在一個時鐘周期內(nèi)并行地執(zhí)行幾條指令,而超級流水線技術(shù)則是主流水線段(指令譯碼和指令執(zhí)行)只占一個時鐘周期的一部分,這樣,仍可在一個時鐘周期內(nèi)同時執(zhí)行幾條指令I(lǐng)ntel8096。就采用了超級標量技術(shù),它能同時執(zhí)行整數(shù)指令和浮點指令.IBM公司的RS/6000也采用的是超級標量結(jié)構(gòu),處理器包含三個不同的處理部件:定點處理器、浮點處理器、分支處理器,一個時鐘周期可執(zhí)行四條指令(4IPC),最多可達6IPc。RISc科學家指出,過去那種令人鼓舞的微處理器性能提高過程不大可能繼續(xù)下去,今后,Cache的容量及其結(jié)構(gòu)和優(yōu)化編譯器將成為提高計算機性能的關(guān)鍵因素。未來發(fā)展重點將放在多處理器技術(shù)上。
當今計算機世界出現(xiàn)了尋覓更好性能的熱潮,RISC與CISC既對峙又互補。RISC有其自身的缺點。編譯后指令長度較長,內(nèi)存需要較大RISC的缺點與其一些優(yōu)點直接有關(guān)。因為RISC擁有的指令數(shù)少,有些在CISC中僅由一條指令完成的功能,在RISC中需二、三條甚至更多條指令,這使RISC代碼較長,因而RISC的程序需要更多的內(nèi)存,內(nèi)存與CPU間的指令沖突也會增加。研究表明,平均而言,執(zhí)行同樣的功能,一個RISC程序比一個CISC程序長30%。同時,RISC對編譯器要求較高,優(yōu)化編譯器的設(shè)計是一項極復要且技術(shù)要求很高的工作,它又必須由RISC機制造單位自身編制,因為沒有RISC詳細原始資料不可能產(chǎn)生編譯程序的目標代碼。這樣,第三方公司提供新版本較困難,用戶選擇余地較小,軟件費用增加了。大寄存器組使尋址復雜,速度降低RISC系統(tǒng)的一個有爭議的特點是其大寄存器組。大寄存器組有前述優(yōu)點,但另一方面,也有缺點,大寄存器使尋址時間增多,另個,一些編譯器使小寄存器組的使用更為有效。CPU寄存器組到底應多大還有待討論,大寄存器U組還可由高速緩存(CACHE)代替。大寄存器組的不足之處可歸結(jié)如下:
存取時間長。
寄存器組占據(jù)了更多的芯片空間。
先進的編譯技術(shù)使小寄存器組更有效。
如果上下文轉(zhuǎn)換現(xiàn)場的所有CPU寄存器被保存,則大寄存器組會化更多存貯時間。
如果使用了窗口指針(RISC的實施要點之一是重疊寄存器窗口,目的是便于參數(shù)傳遞。重疊寄存器窗口要用到窗口指針),寄存器地址譯碼會較長。同時重疊寄存器也使CPU邏輯變得復雜。
硬連線控制不靈活出現(xiàn)錯誤的可能性較大,不易發(fā)現(xiàn)和修改錯誤,處理復雜指令也較困難。(4)單字指令不能使用用于全32位地址的直接內(nèi)存尋址方式。由于這個原因,一些生產(chǎn)廠家已使一小部分指令具有雙字卡(如INTEL80960),使用這樣的指令由程序員決定,他可僅用單字指令寫完整的程序。