計(jì)算機(jī)組成原理第四章數(shù)據(jù)表示和指令系統(tǒng)[losy].ppt_第1頁
計(jì)算機(jī)組成原理第四章數(shù)據(jù)表示和指令系統(tǒng)[losy].ppt_第2頁
計(jì)算機(jī)組成原理第四章數(shù)據(jù)表示和指令系統(tǒng)[losy].ppt_第3頁
計(jì)算機(jī)組成原理第四章數(shù)據(jù)表示和指令系統(tǒng)[losy].ppt_第4頁
計(jì)算機(jī)組成原理第四章數(shù)據(jù)表示和指令系統(tǒng)[losy].ppt_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第四章 數(shù)據(jù)表示和指令系統(tǒng),數(shù)據(jù)類型和表示 指令系統(tǒng)設(shè)計(jì)原理和優(yōu)化 RISC計(jì)算機(jī),本章要點(diǎn),浮點(diǎn)數(shù)據(jù)表示IEEE標(biāo)準(zhǔn)及應(yīng)用 自定義數(shù)據(jù)表示定義、分類及優(yōu)點(diǎn) 哈夫曼概念及在計(jì)算機(jī)中應(yīng)用,操作碼編碼法 指令系統(tǒng)編碼方法,指令系統(tǒng)設(shè)計(jì)原則 兩種指令系統(tǒng)風(fēng)格,特點(diǎn)(RISC、CISC) 簡(jiǎn)述RISC的主要技術(shù),4.1 引言,(1)考慮計(jì)算機(jī)面向的應(yīng)用領(lǐng)域,程序設(shè)計(jì)語言,編譯程序,操作系統(tǒng)直到硬件構(gòu)成等諸多因素。 (2)如何繼承軟件資產(chǎn),保證軟件向后兼容和向上兼容也是要加以考慮的現(xiàn)實(shí)問題。,指令系統(tǒng):又稱指令集(instruction set)是計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)的核心,是計(jì)算機(jī)軟、硬件接口,是用機(jī)器

2、語言匯編語言編寫程序的用戶所能看到的計(jì)算機(jī)基本屬性。,411 傳統(tǒng)計(jì)算機(jī)指令系統(tǒng)的設(shè)計(jì)技術(shù),總之要對(duì)執(zhí)行性能,軟、硬件開發(fā)費(fèi)用,可靠性等各種因素間的矛盾,綜合權(quán)衡考慮。設(shè)計(jì)一種新的指令系統(tǒng),從提出指令系統(tǒng)的編碼到實(shí)現(xiàn)這種指令系統(tǒng)的硬件要經(jīng)過幾次反復(fù)。,(1)根據(jù)計(jì)算機(jī)未來用途及通常機(jī)器指令集擬出初步指令系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn), (2)編出這套指令系統(tǒng)設(shè)計(jì)的編譯程序, (3)進(jìn)行模擬測(cè)試,研究這套指令操作碼,尋址方式及其他效能, (4)進(jìn)行指令系統(tǒng)的優(yōu)化。 (5)如此反復(fù)進(jìn)行,要充分考慮計(jì)算機(jī)應(yīng)用和對(duì)各類高級(jí)語言執(zhí)行效率,并對(duì)大量算法進(jìn)行測(cè)試,使機(jī)器效能最高。,計(jì)算機(jī)指令系統(tǒng)的設(shè)計(jì)技術(shù)基本過程:,現(xiàn)代計(jì)

3、算機(jī)指令系統(tǒng)設(shè)計(jì)必須由編譯程序設(shè)計(jì)人員同系統(tǒng)結(jié)構(gòu)設(shè)計(jì)人員共同配合進(jìn)行傳統(tǒng)計(jì)算機(jī)指令系統(tǒng)的設(shè)計(jì)。,完備性:要求計(jì)算機(jī)的所有功能操作都包含在指令系統(tǒng)中,指令系統(tǒng)愈豐富,功能愈強(qiáng),編譯程序愈好寫好用,運(yùn)用范圍愈廣。,指令系統(tǒng)設(shè)計(jì)規(guī)則:,規(guī)整性,均勻性:要使相似的操作具有相同的規(guī)定,所有操作都均勻?qū)ΨQ地在存儲(chǔ)器和寄存器單元間進(jìn)行,盡可能甚至不出現(xiàn)例外情況和特殊用法。,正交性:編譯程序設(shè)計(jì)人員希望數(shù)據(jù)類型、尋址方式、操作類型都互相獨(dú)立,這樣便于處理,也減輕編譯負(fù)擔(dān)。,可組合性對(duì)稱性:指令系統(tǒng)對(duì)所有的尋址方式和所有數(shù)據(jù)類型都能適用,減化編譯程序的代碼生成。,從系統(tǒng)結(jié)構(gòu)設(shè)計(jì)人員角度出發(fā),指令系統(tǒng)還應(yīng)考慮到:

4、 兼容性:指令系統(tǒng)設(shè)計(jì)多次反復(fù),注意簡(jiǎn)單周到,還應(yīng)注意系列機(jī)中軟件兼容性 可擴(kuò)性:保留一定余量的操作碼空間,為以后擴(kuò)展用,并適應(yīng)工藝技術(shù)的新發(fā)展。 指令碼高密度性:對(duì)于那些頻度高的指令串可以進(jìn)行優(yōu)化,設(shè)計(jì)新指令代替,提高指令碼密度,減少存儲(chǔ)容量和訪問存儲(chǔ)器次數(shù),以提高效率。,4.1.2 指令系統(tǒng)發(fā)展的兩種途徑CISC,RISC,(一)復(fù)雜指令集計(jì)算機(jī)(CISC),(二)精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(RISC) 通過減少指令總數(shù)和簡(jiǎn)化指令的功能來降低硬件設(shè)計(jì)的復(fù)雜程度,提高指令執(zhí)行速度,使指令簡(jiǎn)單,有效可行。,指令系統(tǒng)龐大,硬件復(fù)雜、龐大,執(zhí)行速度低,編譯程序復(fù)雜、長(zhǎng),部分指令使用效率低,PENTIUM處

5、理器: RISC特征:某些指令以硬連線來實(shí)現(xiàn),并能在一個(gè)時(shí)鐘周期執(zhí)行完; CISC特征:用微代碼實(shí)現(xiàn),需要2-3個(gè)時(shí)鐘周期的執(zhí)行時(shí)間,有多種尋址方式,多種指令長(zhǎng)度,為數(shù)不多的通用寄存器。,4.2 數(shù)據(jù)類型和數(shù)據(jù)表示 4.2.1 數(shù)據(jù)類型,計(jì)算機(jī)中常用數(shù)據(jù)有三類:,用戶定義的數(shù)據(jù) 系統(tǒng)數(shù)據(jù) 指令數(shù)據(jù),數(shù)據(jù)類型:指一組數(shù)據(jù)值的集合,還定義了可作用于這個(gè)集合上的操作集。 從系統(tǒng)結(jié)構(gòu)看有基本數(shù)據(jù)類型,結(jié)構(gòu)數(shù)據(jù)類型,抽象數(shù)據(jù)類型和訪問指針。,4.2.2 基本數(shù)據(jù)表示,數(shù)據(jù)表示:指在計(jì)算機(jī)中能由硬件直接辯認(rèn),指令系統(tǒng)可以直接調(diào)用的數(shù)據(jù)類型。,數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)化數(shù)據(jù)的組織方式,它反應(yīng)了應(yīng)用中各種數(shù)據(jù)元或信息元

6、間的結(jié)構(gòu)關(guān)系。它必須通過軟件映象,變換成機(jī)器中所具有的(存儲(chǔ)于一維存儲(chǔ)器內(nèi))各種數(shù)據(jù)表示來實(shí)現(xiàn)的。,數(shù)據(jù)表示實(shí)質(zhì)上是一個(gè)軟、硬件取舍的問題。,4.2.4 二進(jìn)制定點(diǎn),浮點(diǎn), 數(shù)據(jù)表示,IEEE754 浮點(diǎn)數(shù)據(jù)表示標(biāo)準(zhǔn):,32位浮點(diǎn)單精度數(shù)據(jù)形式:,4.2.5 自定義數(shù)據(jù)表示,為了縮短機(jī)器語言同高級(jí)語言對(duì)數(shù)據(jù)屬性的說明之間的語義差距。,目的:,自定義數(shù)據(jù)表示:由數(shù)據(jù)本身來表明數(shù)據(jù)類型,使計(jì)算機(jī)內(nèi)的數(shù)據(jù)具有自定義能力。,分類: 帶標(biāo)志符的數(shù)據(jù)表示 數(shù)據(jù)描述符,帶標(biāo)志符的數(shù)據(jù)表示:描述簡(jiǎn)單數(shù)據(jù),標(biāo)志符是和每個(gè)數(shù)據(jù)值相連,存在同一存貯單元內(nèi)。,數(shù)據(jù)標(biāo)志位,數(shù)據(jù)值,優(yōu)點(diǎn):(1)簡(jiǎn)化了指令系統(tǒng)。 (2)容

7、易檢出程序編制中的錯(cuò)誤。 (3)簡(jiǎn)化了編譯程序。 (4)支持?jǐn)?shù)據(jù)庫系統(tǒng) 。 (5)簡(jiǎn)化程序設(shè)計(jì)。 (6)便于軟件測(cè)試。,缺點(diǎn): 每個(gè)字都增加了標(biāo)志位,使字長(zhǎng)增長(zhǎng)。 但另一方面:縮短了目的程序長(zhǎng)度。 操作碼總數(shù)減少導(dǎo)致操 作碼位數(shù)減少。 降低指令的執(zhí)行速度。 但:編制時(shí)間、調(diào)試時(shí)間減少,編制時(shí)間+調(diào)試時(shí)間+執(zhí)行時(shí)間減少。 與其他計(jì)算機(jī)的兼容性差,硬件復(fù)雜。,數(shù)據(jù)描述符:用來描述復(fù)雜和多維數(shù)據(jù),如向量、數(shù)組、記錄等,描述符專用來描述所要訪問數(shù)據(jù)的特性,它和數(shù)據(jù)字分開存儲(chǔ),機(jī)器經(jīng)描述符形成訪問每個(gè)元素的地址及其他信息,增加一級(jí)以上尋址,(描述符或數(shù)據(jù)字)而數(shù)據(jù)字本身又是帶標(biāo)志符數(shù)據(jù)表示。,與帶標(biāo)志符

8、數(shù)據(jù)表示不同之處:,標(biāo)志符要與每個(gè)數(shù)據(jù)相連,兩者合存在一個(gè)存儲(chǔ)器單元中;而描述符則和數(shù)據(jù)分開放; 要訪問數(shù)據(jù)集中的元素時(shí),必須先訪問描述符,這就至少要增加一級(jí)尋址; 描述符可看成是程序一部分,而不是數(shù)據(jù)一部分,因?yàn)樗菍iT來描述要訪問的數(shù)據(jù)的特性。,現(xiàn)以B6500,7500為例進(jìn)行自定義數(shù)據(jù)表示的說明,數(shù)據(jù),000,數(shù)值,描述符,101,P,C,I,S,R,T,D,長(zhǎng)度,地址,3,1,1,1,1,20,2,20,1,1,數(shù)據(jù)描述符,0:?jiǎn)尉葦?shù)據(jù),1:雙精度數(shù)據(jù),1:不連續(xù)數(shù)據(jù),0:連續(xù)數(shù)據(jù),1:數(shù)據(jù)集中的一個(gè),0:數(shù)據(jù)集的全體,1:在主存中,0:不在主存中,只準(zhǔn)讀出的數(shù)據(jù),00:數(shù)據(jù)描述符,

9、寫其他描述符,用數(shù)據(jù)描述符描述一個(gè)3*4二維陣列:,三元素向量,四元素向量,塊內(nèi)的元素個(gè)數(shù),四元素向量,四元素向量,描述符讀取操作數(shù)過程,操作碼,X,Y,101,101,101,地址形成邏輯,000,000,101,指令,寄存器描述符,描述符,主存儲(chǔ)器,(數(shù)據(jù)),(數(shù)據(jù)),CDCSTAR-100計(jì)算機(jī)對(duì)每一個(gè) 向量數(shù)據(jù)用基地址,長(zhǎng)度和位移量三個(gè)參量表示,其中對(duì)于指令,操作向量的起始地址=基址+位移量,操作向量有效長(zhǎng)度=向量長(zhǎng)度-位移量,其中X,Y,Z各區(qū)段表示寄存器號(hào),分別表示源向量A,B和結(jié)果向量的位移量,而A,B,C各區(qū)段分別存放源向量A,B和結(jié)果向量C的基地址及長(zhǎng)度。,4.2.6 向量數(shù)

10、據(jù)表示,向量:指具有n個(gè)數(shù)據(jù)的數(shù)組。 特點(diǎn):各個(gè)數(shù)據(jù)稱為數(shù)組的元素,而每個(gè)數(shù)據(jù)應(yīng)具有相同的數(shù)據(jù)類型,(如實(shí)數(shù)或邏輯數(shù));相同的數(shù)據(jù)表示(如字長(zhǎng)、字的格式相同);進(jìn)行相同的操作;而各數(shù)據(jù)之間是獨(dú)立無關(guān)的,這樣的一個(gè)數(shù)組稱為向量。,基地址,向量長(zhǎng)度,向量數(shù)據(jù)表示的參數(shù),起始地址,(基地址十位移量),向量有效長(zhǎng)度,位移量,.,.,.,.,.,.,.,.,A0,A1,A2,A3,A4,A5,A6,A7,稀疏向量的壓縮表示,4.3 指令系統(tǒng)設(shè)計(jì)原理,指令系統(tǒng)中指令編碼方法: 1. 正交法 指令中的每個(gè)分段(包括操作碼、操作數(shù)地址等) 相互獨(dú)立,操作數(shù)地址的編碼同操作碼無關(guān),反之亦然 。 優(yōu)點(diǎn):對(duì)流水機(jī)特

11、別適用,微程序控制數(shù)量減少。,2. 整體法 指令中各個(gè)分段在譯碼時(shí)相互有關(guān),操作碼同操作數(shù) 地址的分界線并不清楚。 優(yōu)點(diǎn):可以把使用頻度高的操作碼同操作數(shù)地址碼組合起來,加以縮短優(yōu)化,而使用頻度低的可以較長(zhǎng)些,這樣可以節(jié)省存貯容量。 缺點(diǎn):在用微程序控制時(shí),微程序數(shù)量較多,需要有較大的微程序控制存貯器。,3. 混合法 這種方法把上兩種方法的優(yōu)點(diǎn)結(jié)合起來。,(二)指令系統(tǒng)及結(jié)構(gòu)的分類,指令系統(tǒng)也可以按下面幾個(gè)準(zhǔn)則分類: 1. 每條指令中顯式指明的操作數(shù)個(gè)數(shù) 2. CPU中存放操作數(shù)部件的類型 3. 數(shù)據(jù)類型和數(shù)據(jù)表示 4. ALU指令的操作數(shù)個(gè)數(shù)和位置,基本思想:計(jì)算機(jī)系統(tǒng)中的一些基本操作(包括

12、操作系統(tǒng)和高級(jí)語言的操作)應(yīng)由硬件實(shí)現(xiàn)還是由軟件實(shí)現(xiàn);某些復(fù)雜操作是由一條指令實(shí)現(xiàn)還是由一串指令實(shí)現(xiàn)。,堆棧機(jī),主要操作:是壓入和彈出,主要是以后進(jìn)先出的方式。 優(yōu)點(diǎn):面向堆棧,指令短,表達(dá)式求值簡(jiǎn)單;可以有較高的 編碼密度。 缺點(diǎn):不能隨機(jī)訪問和編譯技術(shù)不匹配,很難高速執(zhí)行:這 類機(jī)器的例子Burroughs 5500,HP3000。,主要依據(jù):在CPU中以何種存儲(chǔ)方式來存放操作數(shù)。,指令系統(tǒng)集結(jié)構(gòu)的分類,分類: 堆棧型 累加器型 通用寄存器型,R-R R-M M-M,累加器為基礎(chǔ)的指令系統(tǒng),累加器型機(jī)器是有一個(gè)隱含操作數(shù)的機(jī)器,指令能夠直接裝卸或存儲(chǔ)的累加器中。操作時(shí)取一個(gè)操作數(shù),另一個(gè)操

13、作數(shù)取自累加器,結(jié)果放回到累加器 累加器類的基本優(yōu)缺點(diǎn)與堆棧機(jī)相同。這類機(jī)器的例子是PDP-8。,寄存器為基礎(chǔ)的指令系統(tǒng)(GPR機(jī)):,優(yōu)點(diǎn): (1)由于數(shù)據(jù)在寄存器中,減少了對(duì)存儲(chǔ)器的存取,速度更快一些。 (2)數(shù)值表示有很強(qiáng)的適應(yīng)性。 缺點(diǎn):指令格式必須包含寄存器指針空間。 GPR機(jī)類型:有三類GPR機(jī),它們是寄存器-寄存器型機(jī)和寄存器-存儲(chǔ)器型機(jī)。還有存儲(chǔ)器-存儲(chǔ)器型機(jī),三種不同的指令系統(tǒng)集結(jié)構(gòu),典型計(jì)算機(jī)中ALU指令所使用的訪存操作數(shù)的個(gè)數(shù),4.3.2 尋址技術(shù),一.訪問方式 按地址訪問: 串行順序訪問,按指定 地址讀取代碼(地址可是通用寄存器,專用寄存器,內(nèi)存) 地址概念:邏輯地址,

14、物理地址 地址編址方式采用三種:統(tǒng)一編址,局部編址,隱含編址 具體可按面向?qū)ο蠛蛯ぶ贩绞絹韰^(qū)分 按內(nèi)容訪問: 給出欲訪問單元內(nèi)容,其主要特點(diǎn)是以并行方式查找所需信息內(nèi)容。(聯(lián)想存儲(chǔ)器),尋址技術(shù):指的是指令按什么方式尋找(或訪問)到所需的操作數(shù)或信息。它影響主存規(guī)模速度及存取方式。尋址方式對(duì)應(yīng)用程序員是透明的。,二 程序定位方式,直接定位方式 直接使用實(shí)際貯存物理地址來編寫或編譯程序,目前大多不用這種方式。 靜態(tài)定位方式 專門用裝入程序來完成,一旦裝入主存就不能再變動(dòng)了,這種方式實(shí)現(xiàn)簡(jiǎn)單,但不夠靈活,主存利用率不高,多個(gè)用戶不能共享主存。 動(dòng)態(tài)定位方式 利用類似變址尋址方法,有硬件支持完成。只

15、把主存的起始地址裝入該程序?qū)?yīng)的基址寄存器中,指令的地址不需全部修改。 優(yōu)點(diǎn):主存利用率高,多個(gè)用戶可以共享同一個(gè)程序段,支持虛擬存儲(chǔ)器實(shí)現(xiàn)。 缺點(diǎn):需要硬件支持,實(shí)現(xiàn)的算法比較復(fù)雜。,4.3.3 指令系統(tǒng)功能設(shè)計(jì),設(shè)計(jì)指令時(shí),要考慮三個(gè)因素:速度,價(jià)格,靈活性 通用計(jì)算機(jī)指令分為五類: 數(shù)據(jù)傳送類指令 運(yùn)算類指令 程序控制類指令 輸入輸出指令 處理機(jī)控制和調(diào)試指令,4.3.4 指令格式的優(yōu)化,哈夫曼壓縮的基本思想: 當(dāng)各種事件發(fā)生的概率不均時(shí),采用優(yōu)化技術(shù)對(duì)發(fā)生概率最高的事件用最短的位數(shù)(時(shí)間)來表示(處理),而對(duì)出現(xiàn)概率較低的,用較長(zhǎng)的位數(shù)(時(shí)間)來表示(處理),就會(huì)導(dǎo)致表示(處理)的平均

16、位數(shù)(時(shí)間)的縮短。,指令的優(yōu)化通過操作碼優(yōu)化和地址碼優(yōu)化進(jìn)行。,指令格式優(yōu)化的目的: 如何用最短的位數(shù)表示指令的操作信息和地址信息,用最短的時(shí)間處理頻度高的指令,使二者之間有最佳配合以減少指令字中冗余信息以及用最少信息位來表示所需的操作信息和地址信息。,用哈夫曼壓縮概念進(jìn)行編碼的步驟:,(1) 將要編碼的字符按出現(xiàn)頻率的次序排列,頻率相等的符號(hào)可任意排列; (2) 把出現(xiàn)頻率最小的兩個(gè)符號(hào)合并,并將其頻率相加,按相加后的頻率次序重新排序; (3) 繼續(xù)過程(2),直至只剩下兩個(gè)頻率,此后以相反過程進(jìn)行編碼; (4) 對(duì)最后兩個(gè)頻率分別指定代碼0和1; (5) 若某一頻率由兩個(gè)頻率相加而成,則

17、分別指定這兩個(gè)頻的下一個(gè)代碼為0或1; (6) 繼續(xù)過程(5),直到所有符號(hào)均已指定不同代碼為止。,現(xiàn)設(shè)一臺(tái)模型機(jī),共有7種不同的指令,使用頻度如表所示。若用定長(zhǎng)操作碼表示,則需要3位。,操作碼表示的平均長(zhǎng)度 L= li*Pi Li:第i個(gè)操作碼的長(zhǎng)度,H=-Pilog2Pi=0.40*1.32+0.30*1.74+0.15*2.74+0.05*4.32+0.04 *4.64+0.03*5.06+0.03*5.06=2.17,則信息冗余量K=1-H/操作碼的實(shí)際平均長(zhǎng)度=1-2.17/3=0.28 (即28%),操作碼的信息源熵:信息源所包含的平均最短信息量. H=-Pilog2Pi, 其中P

18、i為第i個(gè)信息源的頻度,Pili=0.40*1+0.30*2+0.15*3+0.05*5+0.04*5+0.03*5+0.03*5 =2.20(位) 這種編碼的信息冗余為K=1-2.17/2.201.36%,1.00,0.60,0.30,0.15,0.06,0.09,0.03,0.03,0.04,0.05,0.15,0.30,0.40,1,1,1,1,1,1,0,0,0,0,0,0,為減少此信息冗余量,改用哈夫曼樹:,I7 I6 I5 I4 I3 I2 I1,操作碼的擴(kuò)展(等長(zhǎng)擴(kuò)展),15/15/15,8/64/512編碼法,指令格式的優(yōu)化,地址碼表示和尋址方式采取相應(yīng)優(yōu)化措施,程序所需總位數(shù)

19、才得以減少。由于操作數(shù)地址是隨機(jī)的無規(guī)律可循,歸結(jié)為指令格式的優(yōu)化。,地址碼優(yōu)化時(shí)應(yīng)注意的問題: (1)操作數(shù)地址碼長(zhǎng)度可在很寬的范圍內(nèi)變化,只要恰當(dāng)安排就可與變長(zhǎng)操作碼很好合成定長(zhǎng)指令。這樣地址碼寬度應(yīng)隨不同指令,其寬度可以變化; (2) 通過改變指令字中的地址數(shù)和地址碼的長(zhǎng)度,以使單地址、雙地址甚至三地址都可以在指令中使用; (3)設(shè)法利用空白處存放立即操作數(shù)或常數(shù)。 (4)豐富多彩的尋址方式。,VAX-11指令格式和尋址方式,2到6個(gè)附加 的操作數(shù)描 述碼和它們 的擴(kuò)充字節(jié),1到8個(gè)字節(jié),VAX-11基本指令格式,寄存器,尋址方式,尋址方式,寄存器,0,0,直接量,7,4,3,0,7,5

20、,0,指明12種尋址方式之一,但不包括直接量方式,指明16個(gè)寄存器,6位直接量,VAX-1操作數(shù)描述碼格式,6,a. 立即方式 b. 絕對(duì)方式 c. 寄存器直接方式 d. 寄存器間接尋址方式 e. 自增尋址方式 f. 自減尋址方式 g. 變址尋址方式,VAX-11的主要尋址方式,i.變址的位移尋址方式,j.自增變址尋址方式,k.自減變址尋址方式,l. 基址尋址方式,m. 基址變址尋址方式,h. 位移尋址方式,4.3.5 指令系統(tǒng)的執(zhí)行和優(yōu)化,面向目標(biāo)程序優(yōu)化實(shí)現(xiàn) 面向操作系統(tǒng)優(yōu)化實(shí)現(xiàn) 面向高級(jí)語言優(yōu)化實(shí)現(xiàn),(一) 指令的控制和執(zhí)行 計(jì)算機(jī)的控制過程:取指令、分析指令(譯碼、取操作數(shù)),執(zhí)行指令

21、,再取下一條指令的周而復(fù)始過程。 程序的執(zhí)行過程:順序執(zhí)行、轉(zhuǎn)移(條件轉(zhuǎn)移或無條件轉(zhuǎn)移)和進(jìn)程的調(diào)用和返回。,(二)指令系統(tǒng)的優(yōu)化和改進(jìn),由計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)看,指令系統(tǒng)應(yīng)對(duì)于各層的工作 給于有力的支持,這樣計(jì)算機(jī)效率才能更高。,面向目標(biāo)程序的優(yōu)化實(shí)現(xiàn)來改進(jìn),靜態(tài)使用頻度:對(duì)程序中出現(xiàn)的各種指令以及指令串進(jìn)行統(tǒng)計(jì)得出的百分比。 動(dòng)態(tài)使用頻度:在目標(biāo)程序執(zhí)行過程中對(duì)出現(xiàn)的各種指令和指令串進(jìn)行統(tǒng)計(jì)得出的百分比。,基本思路:對(duì)于那些頻度高的常用指令,可以考慮增強(qiáng)其功能,加快其執(zhí)行速度,縮短其指令字長(zhǎng);而對(duì)于那些使用頻度很低的指令就可以考慮將其取消,或?qū)⑵涔δ芎喜⒌侥承╊l度較高的指令中去。,優(yōu)化傳送

22、類指令:如成組傳送指令、自增循環(huán)(LDIR) 自減循環(huán)(LDDR)等 優(yōu)化轉(zhuǎn)移類指令:如屏蔽碼(IBM370),多種轉(zhuǎn)移指令等 優(yōu)化運(yùn)算類 指令:如多項(xiàng)式運(yùn)算指令 POLY,Z80微型計(jì)算機(jī)的自增循環(huán)指令LDIR長(zhǎng)度為2個(gè)字節(jié),時(shí)鐘周期 傳送一個(gè)數(shù)椐為5個(gè)或4個(gè)周期(當(dāng)BC計(jì)數(shù)值為0時(shí))因此,當(dāng)傳 送100個(gè)數(shù)時(shí),需499個(gè)周期。如沒有該條指令,則需如下指令串,: 字節(jié) 周期 LOOP: LD A (HL); 1 2 LD (DE) A; 1 2 INC HL ; 1 1 INC DE ; 1 1 DEC BC; 1 1 JP NZ LOOP 2 2,該指令串統(tǒng)計(jì)完成當(dāng)傳送100個(gè)數(shù)時(shí),需89

23、9個(gè)周期。,POLY指令完成 P(X)=C(0)+X*(C(1)+X*(C(2)+X*C(d).)運(yùn)算,OP arg degree tbladdr,優(yōu)化運(yùn)算類指令: OP 操作碼 arg 變量值 degree 多項(xiàng)式的階 tbladdr 系數(shù)表地址,目標(biāo):盡可能縮短高級(jí)語言和機(jī)器語言的語義差距,以利于支持高級(jí)語言編譯系統(tǒng),縮短編譯程序的長(zhǎng)度和編譯所需的時(shí)間。,面向高級(jí)語言和編譯程序改進(jìn)指令系統(tǒng),對(duì)使用頻度高語句采取增加相應(yīng)功能指令提高編譯速度和執(zhí)行速度 增強(qiáng)系統(tǒng)結(jié)構(gòu)的規(guī)整性,正交性,可組合性,統(tǒng)一性和全面性等 直接執(zhí)行系統(tǒng)結(jié)構(gòu)(DEA)能直接執(zhí)行高級(jí)語言源碼,不需要經(jīng)過中間翻譯。,設(shè)置特權(quán)指令

24、支持操作系統(tǒng)可靠運(yùn)行 增加支持工作狀態(tài)和訪問方式轉(zhuǎn)換指令,如VAX-11操作系統(tǒng)分四層,每層有不同訪問特權(quán),利用CHMX指令增加訪問權(quán)和 RET返回指令改變?cè)L問方式,減少轉(zhuǎn)換開銷:內(nèi)核方式(K)、執(zhí)行方式(E)、管理方式(S) 、用戶方式(V) 支持進(jìn)程轉(zhuǎn)換指令如VAX-11設(shè)保存進(jìn)程關(guān)聯(lián)指令 SVPCTX ,恢復(fù)進(jìn)程關(guān)聯(lián)指令LDPCTX 設(shè)置用來支持進(jìn)程同步和互斥的指令 設(shè)置中斷系統(tǒng)指令,指令對(duì)操作系統(tǒng)的支持,目標(biāo):如何縮短操作系統(tǒng)與計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)之間的語義差距,以利于進(jìn)一步減少運(yùn)行操作系統(tǒng)所需要的輔助操作時(shí)間和節(jié)省操作系統(tǒng)軟件所占用的存儲(chǔ)空間。,4.4 RISC計(jì)算機(jī),(一)RISC設(shè)計(jì)思

25、想的起源 20%-80%定律 系統(tǒng)設(shè)計(jì)中硬件和軟件之間折衷 VLSI工藝技術(shù)發(fā)展,4.4.1 RISC計(jì)算機(jī)的設(shè)計(jì)原理,(二)RISC結(jié)構(gòu)設(shè)計(jì)原則 (1)選擇使用頻度高的指令,增加少量支持操作系統(tǒng)和高級(jí)語言實(shí)現(xiàn)及其他功能的有用指令,尋址方式也取最基本的一、兩種,使指令條數(shù)少,格式簡(jiǎn)單,并具有相同長(zhǎng)度。 (2)提高處理速度,采用流水技術(shù)使每一條指令都在一個(gè)機(jī)器周期內(nèi)完成。大部分指令操作在寄存器之間進(jìn)行,采用硬件邏輯控制實(shí)現(xiàn)操作,只有少量使用微程序?qū)崿F(xiàn)。 (3)簡(jiǎn)化編譯工作,一個(gè)周期完成一條指令操作,編譯器 易于調(diào)整指令流。,美國(guó)卡內(nèi)基梅隆(Canegic Mellon)大學(xué)定義,(1) 指令系統(tǒng)

26、中的大多數(shù)指令只需執(zhí)行簡(jiǎn)單和基本功能,其執(zhí)行過程是在單個(gè)機(jī)器周期期內(nèi)完成。 (2)只保留LOAD指令和STORE指令。面向運(yùn)算的操作都經(jīng)過LOAD指令和STORE指令,從內(nèi)存儲(chǔ)器預(yù)先放在寄存器堆內(nèi),加快執(zhí)行速度。 (3)芯片邏輯不采用或少采用微碼技術(shù),而硬布線邏輯,減少指令解釋的開銷。 (4)減少指令數(shù)和尋址方式,使控制部件簡(jiǎn)化,加快執(zhí)行速度。 (5) 指令格式固定,指令譯碼簡(jiǎn)化。 (6) 編譯開銷很大,應(yīng)盡可能優(yōu)化。,(三)RISC主要特征,指令格式簡(jiǎn)單化規(guī)整化(寄存器-寄存器型) 基本是單調(diào)周期操作(指令功能和執(zhí)行周期權(quán)和選擇) 分開的存取指令數(shù)據(jù),引入多級(jí)Cache 面向寄存器堆的結(jié)構(gòu)

27、充分提高流水線效率(用各種技術(shù)減少相關(guān)阻塞) 采用硬邏輯控制方式(少數(shù)采用微程序設(shè)計(jì)) 采用優(yōu)化編譯技術(shù),很好支持高級(jí)語言,(四) RISC的CPI討論,Tcpu=IN*CPI*Tc 其中Tc:表示時(shí)鐘周期。IN:表示CPU執(zhí)行某一程序中所包含的指令總數(shù)。CPI:表示執(zhí)行每條指令所需的平均時(shí)鐘周期數(shù)。,可以看出RISC結(jié)構(gòu)的Tcpu值遠(yuǎn)比CISC結(jié)構(gòu)小,RISC是通過減少CPI值,簡(jiǎn)化結(jié)構(gòu)來減少Tcpu,而CISC是通過減少IN值來減少Tcpu的。,(五) RISC體系結(jié)構(gòu),1.數(shù)據(jù)類型 (1) 字長(zhǎng)32位發(fā)展到64位 (2) 整形數(shù)據(jù):包括無符號(hào)和有符號(hào)字節(jié),半字,全字?jǐn)?shù)據(jù) (3) 浮點(diǎn)數(shù)據(jù)

28、:支持ANSI/IEEE浮點(diǎn)數(shù)據(jù)類型,也就是單精度,雙精度符點(diǎn)數(shù) (4) 除以上基本數(shù)據(jù)類型外,為支持不同應(yīng)用往往支持一些附加數(shù)據(jù)類型,如 i860支持8位,16位與32位像素以提供高性能圖像處理,(一)RISC的體系結(jié)構(gòu),2.尋址方式 RISC 體系結(jié)構(gòu)一般支持最常用的簡(jiǎn)單尋址方式,以優(yōu)化程序密集度與速度,常用的有: 立即尋址方式 寄存器直接尋址方式 寄存器間接尋址方式 相對(duì)尋址方式 變址尋址方式 位移量方式,3.寄存器模型和寄存器管理 現(xiàn) 現(xiàn)在的RISC差不多都采用寄存器體系結(jié)構(gòu),理由是寄存器比存儲(chǔ)器快,代碼生成有通用性,編譯程序更容易有效的使用寄存器。大量的(不少于32個(gè))CPU寄存器的

29、好處是: (1) 減少CPU與存儲(chǔ)器之間的傳送而加快操作 (2) 在CPU內(nèi)支持過程參數(shù)傳遞 (3) 在CPU內(nèi)支持多任務(wù)上下文轉(zhuǎn)換和中斷處理 RRISC中寄存器管理方式由三類模型:窗口(Windows)模型、Cache模型、矩陣模型,4. 存儲(chǔ)器管理 首(1) 虛擬地址空間的大小?,F(xiàn)在的32位RISC目前都取滿4G字節(jié)。 其(2) 其次是頁面大小,頁面大小和主存容量及系統(tǒng)應(yīng)用程序大小有關(guān)系,i860與SPARC都支持4K字節(jié)的頁面大小。 第(3) 映射大小是由操作系統(tǒng)內(nèi)核所隱藏的,具有64個(gè)頁的典型TLB實(shí)現(xiàn)只能映射64*4K字節(jié)。,RISC都是二級(jí)或三級(jí)存儲(chǔ)層次,即在貯存和CPU之間加一級(jí)

30、或二級(jí)高速緩沖存儲(chǔ)器( Cache)。,(二) 指令系統(tǒng),RISC指令條數(shù)很少,格式簡(jiǎn)單,規(guī)整,基本上都在一個(gè)周期完成; 指令規(guī)整化要求RISC的指令基本上是一個(gè)字節(jié),而且指令中的操作碼字段與操作數(shù)字段最好是正交并具有統(tǒng)一規(guī)格,這有利于流水線執(zhí)行,還可以提高譯碼操作效率,使譯碼控制邏輯電路簡(jiǎn)化; RISC有利于支持高級(jí)語言,使用邏輯控制,不再使用微代碼,體現(xiàn)了用硬件取代軟件。RISC強(qiáng)調(diào)優(yōu)化編譯技術(shù),不僅是生成代碼,而且要優(yōu)化代碼。 對(duì)于指令系統(tǒng)的具體選擇,可以通過對(duì)現(xiàn)有體系結(jié)構(gòu)進(jìn)行靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試,即在程序運(yùn)行時(shí)計(jì)算指令出現(xiàn)次數(shù)來進(jìn)行。,4.4.3 RISC的主要技術(shù),(一)流水線結(jié)構(gòu)和指令調(diào)度 RISC主要特點(diǎn)之一是充分提高流水線效率,流水線執(zhí)行和相關(guān)性,(二)寄存器窗口,芯片上有大量通用寄存器,在執(zhí)行程序時(shí)可以存放更多的操作數(shù)或公用參數(shù),采用寄存器窗口技術(shù)還可以更好支持過程的調(diào)用和返回,提高機(jī)器工作效率。,寄存器窗口技術(shù):就是把整個(gè)寄存器組分成很多小組,每個(gè)過程分配一個(gè)寄存器小組,當(dāng)發(fā)生過程調(diào)用時(shí),自動(dòng)地把CPU轉(zhuǎn)換到不同的寄存器小組使用,不再需要作保存和恢復(fù)的操作,這個(gè)寄存器小組就叫做寄存器窗口,相鄰的寄存器窗口間有部分是重疊的,便于調(diào)用參數(shù)傳送。,RISC有八個(gè)寄存器窗口,代表八個(gè)過程,重疊窗口之間構(gòu)成類似環(huán)形緩沖器,窗口之間轉(zhuǎn)換時(shí)通過改變硬件指針內(nèi)容實(shí)現(xiàn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論