全國計(jì)算機(jī)等級(jí)考試四級(jí)復(fù)習(xí)綱要七[3]

字號(hào):

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