數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化_第1頁
數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化_第2頁
數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化_第3頁
數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化_第4頁
數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第四章數(shù)據(jù)表示和指令系統(tǒng)數(shù)據(jù)類型和表示指令系統(tǒng)設(shè)計(jì)原理和優(yōu)化RISC計(jì)算機(jī)數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第1頁本章關(guān)鍵點(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ì)標(biāo)準(zhǔn)兩種指令系統(tǒng)格調(diào),特點(diǎn)(RISC、CISC)簡述RISC主要技術(shù)數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第2頁4.1引言(1)考慮計(jì)算機(jī)面向應(yīng)用領(lǐng)域,程序設(shè)計(jì)語言,編譯程序,操作系統(tǒng)直到硬件組成等很多原因。(2)怎樣繼承軟件資產(chǎn),確保軟件向后兼容和向上兼容也是要加以考慮現(xiàn)實(shí)問題。指令系統(tǒng):又稱指令集(instructionset)是計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)關(guān)鍵,是計(jì)算機(jī)軟、硬件接口,是用機(jī)器語言匯編語言編寫程序用戶所能看到計(jì)算機(jī)基本屬性。

4.1.1傳統(tǒng)計(jì)算機(jī)指令系統(tǒng)設(shè)計(jì)技術(shù)總之要對(duì)執(zhí)行性能,軟、硬件開發(fā)費(fèi)用,可靠性等各種原因間矛盾,綜合權(quán)衡考慮。設(shè)計(jì)一個(gè)新指令系統(tǒng),從提出指令系統(tǒng)編碼到實(shí)現(xiàn)這種指令系統(tǒng)硬件要經(jīng)過幾次重復(fù)。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第3頁(1)依據(jù)計(jì)算機(jī)未來用途及通常機(jī)器指令集擬出初步指令系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn),(2)編出這套指令系統(tǒng)設(shè)計(jì)編譯程序,(3)進(jìn)行模擬測試,研究這套指令操作碼,尋址方式及其它效能,(4)進(jìn)行指令系統(tǒng)優(yōu)化。(5)如此重復(fù)進(jìn)行,要充分考慮計(jì)算機(jī)應(yīng)用和對(duì)各類高級(jí)語言執(zhí)行效率,并對(duì)大量算法進(jìn)行測試,使機(jī)器效能最高。計(jì)算機(jī)指令系統(tǒng)設(shè)計(jì)技術(shù)基本過程:當(dāng)代計(jì)算機(jī)指令系統(tǒng)設(shè)計(jì)必須由編譯程序設(shè)計(jì)人員同系統(tǒng)結(jié)構(gòu)設(shè)計(jì)人員共同配合進(jìn)行傳統(tǒng)計(jì)算機(jī)指令系統(tǒng)設(shè)計(jì)。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第4頁完備性:要求計(jì)算機(jī)全部功效操作都包含在指令系統(tǒng)中,指令系統(tǒng)愈豐富,功效愈強(qiáng),編譯程序愈好寫好用,利用范圍愈廣。指令系統(tǒng)設(shè)計(jì)規(guī)則:規(guī)整性,均勻性:要使相同操作含有相同要求,全部操作都均勻?qū)ΨQ地在存放器和存放器單元間進(jìn)行,盡可能甚至不出現(xiàn)例外情況和特殊使用方法。正交性:編譯程序設(shè)計(jì)人員希望數(shù)據(jù)類型、尋址方式、操作類型都相互獨(dú)立,這么便于處理,也減輕編譯負(fù)擔(dān)。可組合性對(duì)稱性:指令系統(tǒng)對(duì)全部尋址方式和全部數(shù)據(jù)類型都能適用,減化編譯程序代碼生成。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第5頁從系統(tǒng)結(jié)構(gòu)設(shè)計(jì)人員角度出發(fā),指令系統(tǒng)還應(yīng)考慮到:兼容性:指令系統(tǒng)設(shè)計(jì)屢次重復(fù),注意簡單周到,還應(yīng)注意系列機(jī)中軟件兼容性.可擴(kuò)性:保留一定余量操作碼空間,為以后擴(kuò)展用,并適應(yīng)工藝技術(shù)新發(fā)展。指令碼高密度性:對(duì)于那些頻度高指令串能夠進(jìn)行優(yōu)化,設(shè)計(jì)新指令代替,提升指令碼密度,降低存放容量和訪問存放器次數(shù),以提升效率。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第6頁4.1.2指令系統(tǒng)發(fā)展兩種路徑CISC,RISC(一)復(fù)雜指令集計(jì)算機(jī)(CISC)(二)精簡指令系統(tǒng)計(jì)算機(jī)(RISC)

經(jīng)過降低指令總數(shù)和簡化指令功效來降低硬件設(shè)計(jì)復(fù)雜程度,提升指令執(zhí)行速度,使指令簡單,有效可行。指令系統(tǒng)龐大硬件復(fù)雜、龐大執(zhí)行速度低編譯程序復(fù)雜、長部分指令使用效率低PENTIUM處理器:RISC特征:一些指令以硬連線來實(shí)現(xiàn),并能在一個(gè)時(shí)鐘周期執(zhí)行完;CISC特征:用微代碼實(shí)現(xiàn),需要2-3個(gè)時(shí)鐘周期執(zhí)行時(shí)間,有各種尋址方式,各種指令長度,為數(shù)不多通用存放器。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第7頁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ù)類型和訪問指針。用戶定義系統(tǒng)數(shù)據(jù)類型數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第8頁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ù)元或信息元間結(jié)構(gòu)關(guān)系。它必須經(jīng)過軟件映象,變換成機(jī)器中所含有(存放于一維存放器內(nèi))各種數(shù)據(jù)表示來實(shí)現(xiàn)。數(shù)據(jù)表示實(shí)質(zhì)上是一個(gè)軟、硬件取舍問題。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第9頁4.2.4二進(jìn)制訂點(diǎn),浮點(diǎn),數(shù)據(jù)表示IEEE754浮點(diǎn)數(shù)據(jù)表示標(biāo)準(zhǔn):1823S符號(hào)位EM指數(shù)尾數(shù)32位單精度形式11152S符號(hào)位EM指數(shù)尾數(shù)64位雙精度形式數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第10頁32位浮點(diǎn)單精度數(shù)據(jù)形式:數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第11頁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ù)描述符數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第12頁帶標(biāo)志符數(shù)據(jù)表示:描述簡單數(shù)據(jù),標(biāo)志符是和每個(gè)數(shù)據(jù)值相連,存在同一存貯單元內(nèi)。數(shù)據(jù)標(biāo)志位數(shù)據(jù)值優(yōu)點(diǎn):(1)簡化了指令系統(tǒng)。(2)輕易檢出程序編制中錯(cuò)誤。 (3)簡化了編譯程序。 (4)支持?jǐn)?shù)據(jù)庫系統(tǒng)。(5)簡化程序設(shè)計(jì)。(6)便于軟件測試。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第13頁缺點(diǎn):①每個(gè)字都增加了標(biāo)志位,使字長增長。但其次:縮短了目程序長度。操作碼總數(shù)降低導(dǎo)致操作碼位數(shù)降低。②降低指令執(zhí)行速度。但:編制時(shí)間、調(diào)試時(shí)間降低,編制時(shí)間+調(diào)試時(shí)間+執(zhí)行時(shí)間降低。與其他計(jì)算機(jī)兼容性差,硬件復(fù)雜。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第14頁數(shù)據(jù)描述符:用來描述復(fù)雜和多維數(shù)據(jù),如向量、數(shù)組、統(tǒng)計(jì)等,描述符專用來描述所要訪問數(shù)據(jù)特征,它和數(shù)據(jù)字分開存放,機(jī)器經(jīng)描述符形成訪問每個(gè)元素地址及其它信息,增加一級(jí)以上尋址,(描述符或數(shù)據(jù)字)而數(shù)據(jù)字本身又是帶標(biāo)志符數(shù)據(jù)表示。與帶標(biāo)志符數(shù)據(jù)表示不一樣之處:標(biāo)志符要與每個(gè)數(shù)據(jù)相連,二者合存在一個(gè)存放器單元中;而描述符則和數(shù)據(jù)分開放;要訪問數(shù)據(jù)集中元素時(shí),必須先訪問描述符,這就最少要增加一級(jí)尋址;描述符可看成是程序一部分,而不是數(shù)據(jù)一部分,因?yàn)樗菍iT來描述要訪問數(shù)據(jù)特征?,F(xiàn)以B6500,7500為例進(jìn)行自定義數(shù)據(jù)表示說明數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第15頁數(shù)據(jù)000數(shù)值描述符101PCISRTD長度地址311112022011數(shù)據(jù)描述符0:單精度數(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ù)描述符寫其它描述符數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第16頁1013101410141014000000000000000000000000000000000000用數(shù)據(jù)描述符描述一個(gè)3*4二維陣列:三元素向量四元素向量塊內(nèi)元素個(gè)數(shù)四元素向量四元素向量數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第17頁描述符讀取操作數(shù)過程操作碼XY101101101地址形成邏輯000000101指令存放器描述符描述符主存放器(數(shù)據(jù))(數(shù)據(jù))……數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第18頁

CDCSTAR-100計(jì)算機(jī)對(duì)每一個(gè)向量數(shù)據(jù)用基地址,長度和位移量三個(gè)參量表示,其中對(duì)于指令,操作向量起始地址=基址+位移量,操作向量有效長度=向量長度-位移量向量加XAYBZC其中X,Y,Z各區(qū)段表示存放器號(hào),分別表示源向量A,B和結(jié)果向量位移量,而A,B,C各區(qū)段分別存放源向量A,B和結(jié)果向量C基地址及長度。4.2.6向量數(shù)據(jù)表示向量:指含有n個(gè)數(shù)據(jù)數(shù)組。特點(diǎn):各個(gè)數(shù)據(jù)稱為數(shù)組元素,而每個(gè)數(shù)據(jù)應(yīng)含有相同數(shù)據(jù)類型,(如實(shí)數(shù)或邏輯數(shù));相同數(shù)據(jù)表示(如字長、字格式相同);進(jìn)行相同操作;而各數(shù)據(jù)之間是獨(dú)立無關(guān),這么一個(gè)數(shù)組稱為向量。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第19頁基地址向量長度向量數(shù)據(jù)表示參數(shù)起始地址(基地址十位移量)向量有效長度位移量........數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第20頁A0A1A2A3A4A5A6A7A010011001A3A2(0)A1(0)A4A7A6(0)A5(0)A0A7A4A301234567稀疏向量壓縮向量排序向量稀疏向量壓縮表示數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第21頁4.3指令系統(tǒng)設(shè)計(jì)原理指令系統(tǒng)中指令編碼方法:1.正交法指令中每個(gè)分段(包含操作碼、操作數(shù)地址等)相互獨(dú)立,操作數(shù)地址編碼同操作碼無關(guān),反之亦然。優(yōu)點(diǎn):對(duì)流水機(jī)尤其適用,微程序控制數(shù)量降低。2.整體法指令中各個(gè)分段在譯碼時(shí)相互相關(guān),操作碼同操作數(shù)地址分界限并不清楚。優(yōu)點(diǎn):能夠把使用頻度高操作碼同操作數(shù)地址碼組合起來,加以縮短優(yōu)化,而使用頻度低能夠較長些,這么能夠節(jié)約存貯容量。缺點(diǎn):在用微程序控制時(shí),微程序數(shù)量較多,需要有較大微程序控制存貯器。3.混正當(dāng)這種方法把上兩種方法優(yōu)點(diǎn)結(jié)合起來。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第22頁(二)指令系統(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)中一些基本操作(包含操作系統(tǒng)和高級(jí)語言操作)應(yīng)由硬件實(shí)現(xiàn)還是由軟件實(shí)現(xiàn);一些復(fù)雜操作是由一條指令實(shí)現(xiàn)還是由一串指令實(shí)現(xiàn)。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第23頁堆棧機(jī)主要操作:是壓入和彈出,主要是以后進(jìn)先出方式。優(yōu)點(diǎn):面向堆棧,指令短,表示式求值簡單;能夠有較高編碼密度。缺點(diǎn):不能隨機(jī)訪問和編譯技術(shù)不匹配,極難高速執(zhí)行:這類機(jī)器例子Burroughs5500,HP3000。主要依據(jù):在CPU中以何種存放方式來存放操作數(shù)。指令系統(tǒng)集結(jié)構(gòu)分類分類:堆棧型累加器型通用存放器型R-RR-MM-M數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第24頁累加器為基礎(chǔ)指令系統(tǒng)累加器型機(jī)器是有一個(gè)隱含操作數(shù)機(jī)器,指令能夠直接裝卸或存放累加器中。操作時(shí)取一個(gè)操作數(shù),另一個(gè)操作數(shù)取自累加器,結(jié)果放回到累加器累加器類基本優(yōu)缺點(diǎn)與堆棧機(jī)相同。這類機(jī)器例子是PDP-8。存放器為基礎(chǔ)指令系統(tǒng)(GPR機(jī)):優(yōu)點(diǎn):(1)因?yàn)閿?shù)據(jù)在存放器中,降低了對(duì)存放器存取,速度更加快一些。(2)數(shù)值表示有很強(qiáng)適應(yīng)性。缺點(diǎn):指令格式必須包含存放器指針空間。GPR機(jī)類型:有三類GPR機(jī),它們是存放器-存放器型機(jī)和存放器-存放器型機(jī)。還有存放器-存放器型機(jī)數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第25頁取/存存放器或存放器存放器或存放器2/3IBM360/370DECVAX-11RISC機(jī)存放器集取/存累加器累加器1PDP-8MC6800累加器進(jìn)?;蛲藯6褩?B5500/6500HP3000Transputer堆棧訪問顯式操作數(shù)過程結(jié)果存放目地每條ALU指令需指明顯式操作數(shù)機(jī)器型號(hào)CPU中存放部件形式三種不一樣指令系統(tǒng)集結(jié)構(gòu)數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第26頁P(yáng)DP-11,IBM360/370SS型指令2M-M2VAX-11系列機(jī)3M-M3PDP-10,MC68000,IBM360/370中RX型指令I(lǐng)BM360/370中RS型指令23R-M1IBMRT-PC,IBM360/370中RR型指令SPARC,MIPS,HPPA等RISC機(jī)23R-R0計(jì)算機(jī)實(shí)例ALU指令中可能使用操作數(shù)個(gè)數(shù)結(jié)構(gòu)類型ALU指令訪存操作數(shù)個(gè)數(shù)經(jīng)典計(jì)算機(jī)中ALU指令所使用訪存操作數(shù)個(gè)數(shù)數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第27頁4.3.2尋址技術(shù)一.訪問方式

按地址訪問:串行次序訪問,按指定地址讀取代碼(地址可是通用存放器,專用存放器,內(nèi)存)地址概念:邏輯地址,物理地址地址編址方式采取三種:統(tǒng)一編址,局部編址,隱含編址詳細(xì)可按面向?qū)ο蠛蛯ぶ贩绞絹韰^(qū)分

按內(nèi)容訪問:給出欲訪問單元內(nèi)容,其主要特點(diǎn)是以并行方式查找所需信息內(nèi)容。(聯(lián)想存放器)尋址技術(shù):指是指令按什么方式尋找(或訪問)到所需操作數(shù)或信息。它影響主存規(guī)模速度及存取方式。尋址方式對(duì)應(yīng)用程序員是透明。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第28頁二程序定位方式直接定位方式直接使用實(shí)際貯存物理地址來編寫或編譯程序,當(dāng)前大多不用這種方式。靜態(tài)定位方式專門用裝入程序來完成,一旦裝入主存就不能再變動(dòng)了,這種方式實(shí)現(xiàn)簡單,但不夠靈活,主存利用率不高,多個(gè)用戶不能共享主存。動(dòng)態(tài)定位方式利用類似變址尋址方法,有硬件支持完成。只把主存起始地址裝入該程序?qū)?yīng)基址存放器中,指令地址不需全部修改。優(yōu)點(diǎn):主存利用率高,多個(gè)用戶能夠共享同一個(gè)程序段,支持虛擬存放器實(shí)現(xiàn)。缺點(diǎn):需要硬件支持,實(shí)現(xiàn)算法比較復(fù)雜。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第29頁4.3.3指令系統(tǒng)功效設(shè)計(jì)設(shè)計(jì)指令時(shí),要考慮三個(gè)原因:速度,價(jià)格,靈活性通用計(jì)算機(jī)指令分為五類:數(shù)據(jù)傳送類指令運(yùn)算類指令程序控制類指令輸入輸出指令處理機(jī)控制和調(diào)試指令數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第30頁4.3.4指令格式優(yōu)化哈夫曼壓縮基本思想:當(dāng)各種事件發(fā)生概率不均時(shí),采取優(yōu)化技術(shù)對(duì)發(fā)生概率最高事件用最短位數(shù)(時(shí)間)來表示(處理),而對(duì)出現(xiàn)概率較低,用較長位數(shù)(時(shí)間)來表示(處理),就會(huì)造成表示(處理)平均位數(shù)(時(shí)間)縮短。指令優(yōu)化經(jīng)過操作碼優(yōu)化和地址碼優(yōu)化進(jìn)行。指令格式優(yōu)化目標(biāo):怎樣用最短位數(shù)表示指令操作信息和地址信息,用最短時(shí)間處理頻度高指令,使二者之間有最正確配合以降低指令字中冗余信息以及用最少信息位來表示所需操作信息和地址信息。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第31頁用哈夫曼壓縮概念進(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è)頻率相加而成,則分別指定這兩個(gè)頻下一個(gè)代碼為0或1;(6)

繼續(xù)過程(5),直到全部符號(hào)均已指定不一樣代碼為止。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第32頁現(xiàn)設(shè)一臺(tái)模型機(jī),共有7種不一樣指令,使用頻度如表所表示。若用定長操作碼表示,則需要3位。I10.40I20.30I30.15I40.05I50.04I60.03I70.03指令使用頻度操作碼表示平均長度L=∑li*PiLi:第i個(gè)操作碼長度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í)際平均長度=1-2.17/3=0.28(即28%)操作碼信息源熵:信息源所包含平均最短信息量.H=-∑Pilog2Pi,其中Pi為第i個(gè)信息源頻度數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第33頁∑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.20≈1.36%1.000.600.300.150.060.090.030.030.040.050.150.300.40111111000000為降低此信息冗余量,改用哈夫曼樹:

I7I6I5I4I3I2I1數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第34頁411115111110.03I7411105111100.03I6411015111010.04I5411005111000.05I421031100.15I32012100.30I2200100.40I1OP長度li用哈夫曼概念擴(kuò)展操作碼OP長度li操作碼OP使用哈夫曼編碼頻度(Pi)

指令操作碼擴(kuò)展(等長擴(kuò)展)數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第35頁0001000011101500000001...1110151111...11111111...000000011110151111...11111111...111111111111...800000001...01116410001000...111151210001000...1111000000010111100010001111000000010111......15/15/158/64/512編碼法數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第36頁

指令格式優(yōu)化地址碼表示和尋址方式采取對(duì)應(yīng)優(yōu)化辦法,程序所需總位數(shù)才得以降低。因?yàn)椴僮鲾?shù)地址是隨機(jī)無規(guī)律可循,歸結(jié)為指令格式優(yōu)化。地址碼優(yōu)化時(shí)應(yīng)注意問題:(1)操作數(shù)地址碼長度可在很寬范圍內(nèi)改變,只要恰當(dāng)安排就可與變長操作碼很好合成定長指令。這么地址碼寬度應(yīng)隨不一樣指令,其寬度能夠改變;(2)

經(jīng)過改變指令字中地址數(shù)和地址碼長度,以使單地址、雙地址甚至三地址都能夠在指令中使用;(3)設(shè)法利用空白處存放馬上操作數(shù)或常數(shù)。(4)豐富多彩尋址方式。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第37頁VAX-11指令格式和尋址方式2到6個(gè)附加操作數(shù)描述碼和它們擴(kuò)充字節(jié)1到8個(gè)字節(jié)操作數(shù)描述碼描述碼1可能帶擴(kuò)充字節(jié)操作數(shù)描述碼1操作碼158702到6個(gè)可能有附加操作數(shù)描述碼和它們擴(kuò)充字節(jié)地址增大VAX-11基本指令格式存放器尋址方式數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第38頁尋址方式存放器00直接量7430750指明12種尋址方式之一,但不包含直接量方式指明16個(gè)存放器6位直接量VAX-1操作數(shù)描述碼格式6數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第39頁a.馬上方式b.絕對(duì)方式c.存放器直接方式d.存放器間接尋址方式e.自增尋址方式f.自減尋址方式g.變址尋址方式VAX-11主要尋址方式數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第40頁i.變址位移尋址方式j(luò).自增變址尋址方式k.自減變址尋址方式l.基址尋址方式m.基址變址尋址方式h.位移尋址方式數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第41頁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í)行指令,再取下一條指令周而復(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ī)效率才能更高。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第42頁面向目標(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ì)得出百分比?;舅季w:對(duì)于那些頻度高慣用指令,能夠考慮增強(qiáng)其功效,加緊其執(zhí)行速度,縮短其指令字長;而對(duì)于那些使用頻度很低指令就能夠考慮將其取消,或?qū)⑵涔πШ喜⒌揭恍╊l度較高指令中去。優(yōu)化傳送類指令:如成組傳送指令、自增循環(huán)(LDIR)自減循環(huán)(LDDR)等優(yōu)化轉(zhuǎn)移類指令:如屏蔽碼(IBM370),各種轉(zhuǎn)移指令等優(yōu)化運(yùn)算類指令:如多項(xiàng)式運(yùn)算指令POLY數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第43頁Z80微型計(jì)算機(jī)自增循環(huán)指令LDIR長度為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:LDA(HL);12LD(DE)A;12INCHL;11INCDE;11DECBC;11JPNZLOOP22該指令串統(tǒng)計(jì)完成當(dāng)傳送100個(gè)數(shù)時(shí),需899個(gè)周期。

POLY指令完成P(X)=C(0)+X*(C(1)+X*(C(2)+……X*C(d))….)運(yùn)算OPargdegreetbladdr優(yōu)化運(yùn)算類指令:OP操作碼arg變量值degree多項(xiàng)式階tbladdr系數(shù)表地址數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第44頁目標(biāo):盡可能縮短高級(jí)語言和機(jī)器語言語義差距,以利于支持高級(jí)語言編譯系統(tǒng),縮短編譯程序長度和編譯所需時(shí)間。面向高級(jí)語言和編譯程序改進(jìn)指令系統(tǒng)對(duì)使用頻度高語句采取增加對(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ù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第45頁設(shè)置特權(quán)指令支持操作系統(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í)和互斥指令設(shè)置中止系統(tǒng)指令指令對(duì)操作系統(tǒng)支持目標(biāo):怎樣縮短操作系統(tǒng)與計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)之間語義差距,以利于深入降低運(yùn)行操作系統(tǒng)所需要輔助操作時(shí)間和節(jié)約操作系統(tǒng)軟件所占用存放空間。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第46頁4.4RISC計(jì)算機(jī)(一)RISC設(shè)計(jì)思想起源20%-80%定律系統(tǒng)設(shè)計(jì)中硬件和軟件之間折衷VLSI工藝技術(shù)發(fā)展4.4.1RISC計(jì)算機(jī)設(shè)計(jì)原理(二)RISC結(jié)構(gòu)設(shè)計(jì)標(biāo)準(zhǔn)(1)選擇使用頻度高指令,增加少許支持操作系統(tǒng)和高級(jí)語言實(shí)現(xiàn)及其它功效有用指令,尋址方式也取最基本一、兩種,使指令條數(shù)少,格式簡單,并含有相同長度。(2)提升處理速度,采取流水技術(shù)使每一條指令都在一個(gè)機(jī)器周期內(nèi)完成。大部分指令操作在存放器之間進(jìn)行,采取硬件邏輯控制實(shí)現(xiàn)操作,只有少許使用微程序?qū)崿F(xiàn)。(3)簡化編譯工作,一個(gè)周期完成一條指令操作,編譯器易于調(diào)整指令流。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第47頁美國卡內(nèi)基梅?。–anegicMellon)大學(xué)定義(1)

指令系統(tǒng)中大多數(shù)指令只需執(zhí)行簡單和基本功效,其執(zhí)行過程是在單個(gè)機(jī)器周期期內(nèi)完成。(2)

只保留LOAD指令和STORE指令。面向運(yùn)算操作都經(jīng)過LOAD指令和STORE指令,從內(nèi)存放器預(yù)先放在存放器堆內(nèi),加緊執(zhí)行速度。(3)

芯片邏輯不采取或少采取微碼技術(shù),而硬布線邏輯,降低指令解釋開銷。(4)

降低指令數(shù)和尋址方式,使控制部件簡化,加緊執(zhí)行速度。(5)指令格式固定,指令譯碼簡化。(6)

編譯開銷很大,應(yīng)盡可能優(yōu)化。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第48頁(三)RISC主要特征指令格式簡單化規(guī)整化(存放器-存放器型)基本是單調(diào)周期操作(指令功效和執(zhí)行周期權(quán)和選擇)分開存取指令數(shù)據(jù),引入多級(jí)Cache面向存放器堆結(jié)構(gòu)充分提升流水線效率(用各種技術(shù)降低相關(guān)阻塞)采取硬邏輯控制方式(少數(shù)采取微程序設(shè)計(jì))采取優(yōu)化編譯技術(shù),很好支持高級(jí)語言數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第49頁(四)RISCCPI討論Tcpu=IN*CPI*Tc其中Tc:表示時(shí)鐘周期。IN:表示CPU執(zhí)行某一程序中所包含指令總數(shù)。CPI:表示執(zhí)行每條指令所需平均時(shí)鐘周期數(shù)。33~52~151

CISC10~21.1~1.41.3~1.4

RISC時(shí)鐘周期Tc(ns)指令平均周期(CPI)指令條數(shù)(IN)類型能夠看出RISC結(jié)構(gòu)Tcpu值遠(yuǎn)比CISC結(jié)構(gòu)小,RISC是經(jīng)過降低CPI值,簡化結(jié)構(gòu)來降低Tcpu,而CISC是經(jīng)過降低IN值來降低Tcpu。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第50頁(五)RISC體系結(jié)構(gòu)1.數(shù)據(jù)類型(1)字長32位發(fā)展到64位(2)整形數(shù)據(jù):包含無符號(hào)和有符號(hào)字節(jié),半字,全字?jǐn)?shù)據(jù)

(3)浮點(diǎn)數(shù)據(jù):支持ANSI/IEEE浮點(diǎn)數(shù)據(jù)類型,也就是單精度,雙精度符點(diǎn)數(shù)(4)除以上基本數(shù)據(jù)類型外,為支持不一樣應(yīng)用往往支持一些附加數(shù)據(jù)類型,如i860支持8位,16位與32位像素以提供高性能圖像處理(一)RISC體系結(jié)構(gòu)數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第51頁2.尋址方式RISC體系結(jié)構(gòu)普通支持最慣用簡單尋址方式,以優(yōu)化程序密集度與速度,慣用有:馬上尋址方式存放器直接尋址方式存放器間接尋址方式相對(duì)尋址方式變址尋址方式位移量方式數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第52頁3.存放器模型和存放器管理現(xiàn)現(xiàn)在RISC差不多都采取存放器體系結(jié)構(gòu),理由是存放器比存放器快,代碼生成有通用性,編譯程序更輕易有效使用存放器。大量(不少于32個(gè))CPU存放器好處是:(1)降低CPU與存放器之間傳送而加緊操作(2)在CPU內(nèi)支持過程參數(shù)傳遞(3)在CPU內(nèi)支持多任務(wù)上下文轉(zhuǎn)換和中止處理RRISC中存放器管理方式由三類模型:窗口(Windows)模型、Cache模型、矩陣模型數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第53頁4.

存放器管理首(1)虛擬地址空間大小?,F(xiàn)在32位RISC當(dāng)前都取滿4G字節(jié)。其(2)其次是頁面大小,頁面大小和主存容量及系統(tǒng)應(yīng)用程序大小相關(guān)系,i860與SPARC都支持4K字節(jié)頁面大小。第(3)映射大小是由操作系統(tǒng)內(nèi)核所隱藏,含有64個(gè)頁經(jīng)典TLB實(shí)現(xiàn)只能映射64*4K字節(jié)。RISC都是二級(jí)或三級(jí)存放層次,即在貯存和CPU之間加一級(jí)或二級(jí)高速緩沖存放器(Cache)。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第54頁(二)指令系統(tǒng)RISC指令條數(shù)極少,格式簡單,規(guī)整,基本上都在一個(gè)周期完成;指令規(guī)整化要求RISC指令基本上是一個(gè)字節(jié),而且指令中操作碼字段與操作數(shù)字段最好是正交并含有統(tǒng)一規(guī)格,這有利于流水線執(zhí)行,還能夠提升譯碼操作效率,使譯碼控制邏輯電路簡化;RISC有利于支持高級(jí)語言,使用邏輯控制,不再使用微代碼,表達(dá)了用硬件取代軟件。RISC強(qiáng)調(diào)優(yōu)化編譯技術(shù),不但是生成代碼,而且要優(yōu)化代碼。對(duì)于指令系統(tǒng)詳細(xì)選擇,能夠經(jīng)過對(duì)現(xiàn)有體系結(jié)構(gòu)進(jìn)行靜態(tài)測試和動(dòng)態(tài)測試,即在程序運(yùn)行時(shí)計(jì)算指令出現(xiàn)次數(shù)來進(jìn)行。數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第55頁4.4.3RISC主要技術(shù)(一)流水線結(jié)構(gòu)和指令調(diào)度

RISC主要特點(diǎn)之一是充分提升流水線效率流水線執(zhí)行和相關(guān)性

IFIDEXWR

IFIDEXWR

IFIDEXWR

IFID氣泡EXWRIF沖刷IF–取指令I(lǐng)D-指令譯碼EX-執(zhí)行指令WR-寫回結(jié)果nn+1n+2n+3n+4數(shù)據(jù)表示、指令系統(tǒng)設(shè)計(jì)原理與優(yōu)化第56頁(二)存放器窗口芯片上有大量通用存放器,在執(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è)過程,重合窗口之間組成類似環(huán)形緩沖器,窗口之間轉(zhuǎn)換時(shí)經(jīng)過改變硬件指針內(nèi)容實(shí)現(xiàn),當(dāng)超出八個(gè)過程調(diào)用時(shí),將一個(gè)窗口

溫馨提示

  • 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)論