1.指令集發(fā)展的兩個途徑
(1)CISC途徑CISC是Complex Instruction Set Computer(復雜指令集計算機)的縮寫。它的基本思想是:進一步增強原有指令的功能,用更為復雜的新指令取代原先由軟件子程序完成的功能,實現(xiàn)軟件功能的硬化。這是一種傳統(tǒng)的發(fā)展方向,早在50年代就已采用。這種途徑必然導致機器的指令系統(tǒng)越來越龐大而復雜。事實上,目前使用的絕大多數(shù)計算機都屬于CISC類型。
(2)RISC途徑RISC是Reduced Instruction Set Computer(精簡指令集計算機)的縮寫。其基本思想是:通過減少指令總數(shù)和簡化指令功能,降低硬件設計的復雜度,使指令能單周期執(zhí)行,并通過優(yōu)化編譯,提高指令的執(zhí)行速度。這是一種革新的發(fā)展方向,在70年代末才開始興起。這種途徑必然導致機器的指令系統(tǒng)進一步精煉而簡單。
2.面向目標代碼的優(yōu)化
為了提高目標程序的實現(xiàn)效率,人們對大量的機器語言目標代碼及其執(zhí)行情況進行了統(tǒng)計。對程序中出現(xiàn)的各種指令以及指令串進行統(tǒng)計得到的百分比稱為靜態(tài)使用頻度。在程序執(zhí)行過程中對出現(xiàn)的各種指令以及指令串進行統(tǒng)計得到的百分比稱為動態(tài)使用頻度。按靜態(tài)使用頻度來改進目標代碼可減少目標程序所占的存儲空間。按動態(tài)使用頻度來改進目標代碼可減少目標程序運行的執(zhí)行時間。大量統(tǒng)計表明,動態(tài)和靜態(tài)使用頻度兩者非常接近,常用的指令是存、取、條件轉(zhuǎn)移等。對它們加以優(yōu)化,既可以減少程序所需的存儲空間,又可以提高程序的執(zhí)行速度。
3.面向高級語言的優(yōu)化
面向高級語言的優(yōu)化就是盡可能縮小高級語言與機器語言之間的語義差距,以利于支持高級語言編譯系統(tǒng),縮短編譯程序的長度和編譯所需的時間。
4.面向操作系統(tǒng)的優(yōu)化
面向操作系統(tǒng)的優(yōu)化就是進一步縮小操作系統(tǒng)與體系結(jié)構(gòu)之間的語義差距,以利于減少操作系統(tǒng)運行所需的輔助時間,節(jié)省操作系統(tǒng)軟件所占用的存儲空間。操作系統(tǒng)的實現(xiàn)依賴于體系結(jié)構(gòu)對它的支持。許多傳統(tǒng)機器指令例如算術(shù)邏輯指令、字符編輯指令、移位指令、控制轉(zhuǎn)移指令等,都可用于操作系統(tǒng)的實現(xiàn)。此外,還有相當一部分指令是專門為實現(xiàn)操作系統(tǒng)的各種功能而設計的。
(四) 指令集的精簡化
1.RISC的開拓性工作
(1)1967年Seymour Cray在研制CDC-6600時,事實上他就已經(jīng)采用了精簡指令集的思想。因此,我們說他的工作是RISC思想的先驅(qū)。
(2)IBM801項目1975年IBM的沃森研究中心開始了對復雜指令系統(tǒng)是否合理的研究,稱為801項目。到1979年研制成32位的IBM801小型計算機,該機只有120條指令,速度達到10MIPS,這可以說是世界上早利用精簡指令思想研制成的計算機。
(3)伯克利的RISC項目1980年美國加州大學伯克利分校的David Patterson教授領導了RISC項目。RISC這一縮寫正是Patterson在伯克利講課時首先使用的。
(4)斯坦福的MIPS項目1981年美國斯坦福大學的John Hennessy教授開始了MIPS項目。以上四個的項目可以說是RISC技術(shù)的四個主要技術(shù)來源,它們?yōu)镽ISC技術(shù)奠定了基礎。
2.CISC的主要弊病
(1)CISC的直覺的弊病就是指令集過分龐雜。
(2)微程序技術(shù)是CISC的重要支柱。每條復雜指令都要通過執(zhí)行一段解釋性微程序才能完成,這就需要多個CPU周期,從而降低了機器的處理速度。
(3)由于指令系統(tǒng)過分龐大,使高級語言編譯程序選擇目標指令的范圍很大,并使編譯程序本身冗長而復雜,從而難以優(yōu)化編譯使之生成真正高效的目標代碼。
(4)CISC強調(diào)完善的中斷控制,勢必導致動作繁多,設計復雜,使研制周期增長。
(5)CISC給芯片設計帶來很多困難,使芯片種類增多,出錯幾率增大,成本提高而成品率降低。
3.RISC的基本特征
(1)精簡指令數(shù)量
(2)簡化指令格式
(3)采用單周期指令
(4)采用寄存器操作
(5)硬線控制邏輯
(6)優(yōu)化編譯程序
4.RISC的關鍵技術(shù)
(1)重疊寄存器窗口技術(shù)在伯克利的RISC項目中,首先采用了重疊寄存器窗口(overlapping register windows)技術(shù)。
(2)優(yōu)化編譯技術(shù)RISC使用了大量的寄存器,如何合理分配寄存器、提高寄存器的使用效率,減少訪存次數(shù)等,都應通過編譯技術(shù)的優(yōu)化來實現(xiàn)。
(3)超流水及超標量技術(shù)這是RISC為了進一步提高流水線速度而采用的新技術(shù)。
(4)硬線邏輯與微程序相結(jié)合在微程序技術(shù)中,微指令的格式可分為3類:水平型、垂直型、混合型。水平型微指令就能控制多種信息的并行傳送,具有執(zhí)行速度快、效率高、靈活性強、微程序短等優(yōu)點。垂直型微指令與機器碼指令類似,規(guī)整直觀,容易掌握,但效率低,速度慢。混合型則在兩者之間。目前,大多數(shù)RISC芯片采用的微程序都是高度水平型的微指令或者是用毫微程序方式實現(xiàn),以便減少或免去微指令的譯碼時間,直接控制通路操作來加快微指令的流水和解釋。