數(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),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第四章數(shù)據(jù)表示和指令系統(tǒng)數(shù)據(jù)類型和表示指令系統(tǒng)設(shè)計(jì)原理和優(yōu)化RISC計(jì)算機(jī)本章要點(diǎn)點(diǎn)浮點(diǎn)數(shù)據(jù)據(jù)表示IEEE標(biāo)準(zhǔn)及應(yīng)應(yīng)用自定義數(shù)數(shù)據(jù)表示示定義、、分類及及優(yōu)點(diǎn)哈夫曼概概念及在在計(jì)算機(jī)機(jī)中應(yīng)用用,操作作碼編碼碼法指令系統(tǒng)統(tǒng)編碼方方法,指指令系統(tǒng)統(tǒng)設(shè)計(jì)原原則兩種指令令系統(tǒng)風(fēng)風(fēng)格,特特點(diǎn)(RISC、CISC))簡述RISC的主要技技術(shù)4.1引引言言(1)考考慮計(jì)算算機(jī)面向向的應(yīng)用用領(lǐng)域,,程序設(shè)設(shè)計(jì)語言言,編譯譯程序,,操作系系統(tǒng)直到到硬件構(gòu)構(gòu)成等諸諸多因素素。(2)如如何繼承承軟件資資產(chǎn),保保證軟件件向后兼兼容和向向上兼容容也是要要加以考考慮的現(xiàn)現(xiàn)實(shí)問題題。指令系統(tǒng)統(tǒng):又稱指令令集(instructionset))是計(jì)算機(jī)機(jī)體系結(jié)結(jié)構(gòu)設(shè)計(jì)計(jì)的核心心,是計(jì)計(jì)算機(jī)軟軟、硬件件接口,,是用機(jī)機(jī)器語言言匯編語語言編寫寫程序的的用戶所所能看到到的計(jì)算算機(jī)基本本屬性。。4.1..1傳傳統(tǒng)計(jì)計(jì)算機(jī)指指令系統(tǒng)統(tǒng)的設(shè)計(jì)計(jì)技術(shù)總之要對對執(zhí)行性性能,軟軟、硬件件開發(fā)費(fèi)費(fèi)用,可可靠性等等各種因因素間的的矛盾,,綜合權(quán)權(quán)衡考慮慮。設(shè)計(jì)計(jì)一種新新的指令令系統(tǒng),,從提出出指令系系統(tǒng)的編編碼到實(shí)實(shí)現(xiàn)這種種指令系系統(tǒng)的硬硬件要經(jīng)經(jīng)過幾次次反復(fù)。。(1)根根據(jù)計(jì)算算機(jī)未來來用途及及通常機(jī)機(jī)器指令令集擬出出初步指指令系統(tǒng)統(tǒng)設(shè)計(jì)及及實(shí)現(xiàn),,(2)編編出這套套指令系系統(tǒng)設(shè)計(jì)計(jì)的編譯譯程序,,(3)進(jìn)進(jìn)行模擬擬測試,,研究這這套指令令操作碼碼,尋址址方式及及其他效效能,(4)進(jìn)進(jìn)行指令令系統(tǒng)的的優(yōu)化。。(5)如如此反復(fù)復(fù)進(jìn)行,,要充分分考慮計(jì)計(jì)算機(jī)應(yīng)應(yīng)用和對對各類高高級(jí)語言言執(zhí)行效效率,并并對大量量算法進(jìn)進(jìn)行測試試,使機(jī)機(jī)器效能能最高。。計(jì)算機(jī)指指令系統(tǒng)統(tǒng)的設(shè)計(jì)計(jì)技術(shù)基基本過程程:現(xiàn)代計(jì)算算機(jī)指令令系統(tǒng)設(shè)設(shè)計(jì)必須須由編譯程序序設(shè)計(jì)人人員同系統(tǒng)結(jié)構(gòu)構(gòu)設(shè)計(jì)人人員共同配合合進(jìn)行傳傳統(tǒng)計(jì)算算機(jī)指令令系統(tǒng)的的設(shè)計(jì)。。完備性::要求計(jì)算算機(jī)的所所有功能能操作都都包含在在指令系系統(tǒng)中,,指令系系統(tǒng)愈豐豐富,功功能愈強(qiáng)強(qiáng),編譯譯程序愈愈好寫好好用,運(yùn)運(yùn)用范圍圍愈廣。。指令系統(tǒng)統(tǒng)設(shè)計(jì)規(guī)規(guī)則:規(guī)整性,,均勻性性:要使相似似的操作作具有相相同的規(guī)規(guī)定,所所有操作作都均勻勻?qū)ΨQ地地在存儲(chǔ)儲(chǔ)器和寄寄存器單單元間進(jìn)進(jìn)行,盡盡可能甚甚至不出出現(xiàn)例外外情況和和特殊用用法。正交性::編譯程序序設(shè)計(jì)人人員希望望數(shù)據(jù)類類型、尋尋址方式式、操作作類型都都互相獨(dú)獨(dú)立,這這樣便于于處理,,也減輕輕編譯負(fù)負(fù)擔(dān)??山M合性性對稱性性:指令系統(tǒng)統(tǒng)對所有有的尋址址方式和和所有數(shù)數(shù)據(jù)類型型都能適適用,減減化編譯譯程序的的代碼生生成。從系統(tǒng)結(jié)結(jié)構(gòu)設(shè)計(jì)計(jì)人員角角度出發(fā)發(fā),指令令系統(tǒng)還還應(yīng)考慮慮到:兼容性::指令系統(tǒng)統(tǒng)設(shè)計(jì)多多次反復(fù)復(fù),注意意簡單周周到,還還應(yīng)注意意系列機(jī)機(jī)中軟件件兼容性性.可擴(kuò)性::保留一定定余量的的操作碼碼空間,,為以后后擴(kuò)展用用,并適適應(yīng)工藝藝技術(shù)的的新發(fā)展展。指令碼高高密度性性:對于那些些頻度高高的指令令串可以以進(jìn)行優(yōu)優(yōu)化,設(shè)設(shè)計(jì)新指指令代替替,提高高指令碼碼密度,,減少存存儲(chǔ)容量量和訪問問存儲(chǔ)器器次數(shù),,以提高高效率。。4.1..2指指令令系統(tǒng)發(fā)發(fā)展的兩兩種途徑徑CISC,RISC(一)復(fù)復(fù)雜指令令集計(jì)算算機(jī)(CISC)(二)精精簡指令令系統(tǒng)計(jì)計(jì)算機(jī)((RISC)通過減少少指令總總數(shù)和簡簡化指令令的功能能來降低低硬件設(shè)設(shè)計(jì)的復(fù)復(fù)雜程度度,提高高指令執(zhí)執(zhí)行速度度,使指指令簡單單,有效效可行。。指令系統(tǒng)統(tǒng)龐大硬件復(fù)雜雜、龐大大執(zhí)行速度度低編譯程序序復(fù)雜、、長部分指令令使用效效率低PENTIUM處理器::RISC特征:某些指令令以硬連連線來實(shí)實(shí)現(xiàn),并并能在一一個(gè)時(shí)鐘鐘周期執(zhí)執(zhí)行完;;CISC特征:用微代碼碼實(shí)現(xiàn),,需要2-3個(gè)個(gè)時(shí)鐘周周期的執(zhí)執(zhí)行時(shí)間間,有多多種尋址址方式,,多種指指令長度度,為數(shù)數(shù)不多的的通用寄寄存器。。4.2數(shù)數(shù)據(jù)類型型和數(shù)據(jù)據(jù)表示4.2..1數(shù)數(shù)據(jù)據(jù)類型計(jì)算機(jī)中中常用數(shù)數(shù)據(jù)有三三類:用戶定義義的數(shù)據(jù)據(jù)系統(tǒng)數(shù)據(jù)據(jù)指令數(shù)據(jù)據(jù)數(shù)據(jù)類型型:指一組數(shù)數(shù)據(jù)值的的集合,,還定義義了可作作用于這這個(gè)集合合上的操操作集。。從系統(tǒng)結(jié)結(jié)構(gòu)看有有基本數(shù)數(shù)據(jù)類型型,結(jié)構(gòu)構(gòu)數(shù)據(jù)類類型,抽抽象數(shù)據(jù)據(jù)類型和和訪問指指針。用戶定義系統(tǒng)數(shù)據(jù)類型4.2..2基基本本數(shù)據(jù)表表示數(shù)據(jù)表示示:指在計(jì)算算機(jī)中能能由硬件件直接辯辯認(rèn),指指令系統(tǒng)統(tǒng)可以直直接調(diào)用用的數(shù)據(jù)據(jù)類型。。數(shù)據(jù)結(jié)構(gòu)構(gòu):結(jié)構(gòu)化數(shù)數(shù)據(jù)的組組織方式式,它反反應(yīng)了應(yīng)應(yīng)用中各各種數(shù)據(jù)據(jù)元或信信息元間間的結(jié)構(gòu)構(gòu)關(guān)系。。它必須須通過軟軟件映象象,變換換成機(jī)器器中所具具有的((存儲(chǔ)于于一維存存儲(chǔ)器內(nèi)內(nèi))各種種數(shù)據(jù)表表示來實(shí)實(shí)現(xiàn)的。。數(shù)據(jù)表示示實(shí)質(zhì)上上是一個(gè)個(gè)軟、硬硬件取舍舍的問題題。4.2..4二二進(jìn)進(jìn)制定點(diǎn)點(diǎn),浮點(diǎn)點(diǎn),數(shù)數(shù)據(jù)表示示IEEE754浮點(diǎn)數(shù)據(jù)據(jù)表示標(biāo)標(biāo)準(zhǔn):1823S符號(hào)位EM指數(shù)尾數(shù)32位單精度形式11152S符號(hào)位EM指數(shù)尾數(shù)64位雙精度形式32位浮浮點(diǎn)單精精度數(shù)據(jù)據(jù)形式::4.2..5自自定定義數(shù)據(jù)據(jù)表示為了縮短短機(jī)器語語言同高高級(jí)語言言對數(shù)據(jù)據(jù)屬性的的說明之之間的語語義差距距。目的:自定義數(shù)數(shù)據(jù)表示示:由數(shù)據(jù)本本身來表表明數(shù)據(jù)據(jù)類型,,使計(jì)算算機(jī)內(nèi)的的數(shù)據(jù)具具有自定定義能力力。分類:帶標(biāo)志符符的數(shù)據(jù)據(jù)表示數(shù)據(jù)描述述符帶標(biāo)志符符的數(shù)據(jù)據(jù)表示::描述簡單單數(shù)據(jù),,標(biāo)志符符是和每每個(gè)數(shù)據(jù)據(jù)值相連連,存在在同一存存貯單元元內(nèi)。數(shù)據(jù)標(biāo)志志位數(shù)據(jù)值優(yōu)點(diǎn):(1)簡化了指指令系統(tǒng)統(tǒng)。(2)容容易檢出出程序編編制中的的錯(cuò)誤。。(3)簡簡化了編編譯程序序。(4)支持?jǐn)?shù)據(jù)據(jù)庫系統(tǒng)統(tǒng)。(5)簡簡化程序序設(shè)計(jì)。(6)便便于軟件件測試。。缺點(diǎn):①每個(gè)字都都增加了了標(biāo)志位位,使字字長增長長。但另一方方面:縮短了目目的程序序長度。。操作碼總總數(shù)減少少導(dǎo)致操操作碼位數(shù)數(shù)減少。。②降低指令令的執(zhí)行行速度。。但:編制時(shí)間間、調(diào)試試時(shí)間減減少,編編制時(shí)間間+調(diào)試試時(shí)間++執(zhí)行時(shí)時(shí)間減少少。與其他計(jì)計(jì)算機(jī)的的兼容性性差,硬硬件復(fù)雜雜。數(shù)據(jù)描述述符:用來描述述復(fù)雜和和多維數(shù)數(shù)據(jù),如如向量、、數(shù)組、、記錄等等,描述述符專用用來描述述所要訪訪問數(shù)據(jù)據(jù)的特性性,它和和數(shù)據(jù)字字分開存存儲(chǔ),機(jī)機(jī)器經(jīng)描描述符形形成訪問問每個(gè)元元素的地地址及其其他信息息,增加加一級(jí)以以上尋址址,(描描述符或或數(shù)據(jù)字字)而數(shù)數(shù)據(jù)字本本身又是是帶標(biāo)志志符數(shù)據(jù)據(jù)表示。。與帶標(biāo)志志符數(shù)據(jù)據(jù)表示不不同之處處:標(biāo)志符要要與每個(gè)個(gè)數(shù)據(jù)相相連,兩兩者合存存在一個(gè)個(gè)存儲(chǔ)器器單元中中;而描描述符則則和數(shù)據(jù)據(jù)分開放放;要訪問數(shù)數(shù)據(jù)集中中的元素素時(shí),必必須先訪訪問描述述符,這這就至少少要增加加一級(jí)尋尋址;描述符可可看成是是程序一一部分,,而不是是數(shù)據(jù)一一部分,,因?yàn)樗菍iT門來描述述要訪問問的數(shù)據(jù)據(jù)的特性性。現(xiàn)以B6500,7500為例進(jìn)行行自定義義數(shù)據(jù)表表示的說說明數(shù)據(jù)000數(shù)值描述符101PCISRTD長度地址311112022011數(shù)據(jù)描述述符0:單精精度數(shù)據(jù)據(jù)1:雙精精度數(shù)據(jù)據(jù)1:不連連續(xù)數(shù)據(jù)據(jù)0:連續(xù)續(xù)數(shù)據(jù)1:數(shù)據(jù)據(jù)集中的的一個(gè)0:數(shù)據(jù)據(jù)集的全全體1:在主主存中0:不在在主存中中只準(zhǔn)讀出出的數(shù)據(jù)據(jù)00:數(shù)數(shù)據(jù)描述述符寫其他描描述符1013101410141014000000000000000000000000000000000000用數(shù)據(jù)描描述符描描述一個(gè)個(gè)3*4二維陣陣列:三元素向向量四元素向向量塊內(nèi)的元元素個(gè)數(shù)數(shù)四元素向向量四元素向向量描述符讀讀取操作作數(shù)過程程操作碼XY101101101地址形成成邏輯000000101指令寄存器描描述符描述符主存儲(chǔ)器器(數(shù)據(jù)))(數(shù)據(jù)))……CDCSTAR-100計(jì)算機(jī)對對每一個(gè)個(gè)向量量數(shù)據(jù)用用基地址址,長度度和位移移量三個(gè)個(gè)參量表表示,其其中對于于指令,,操作向向量的起起始地址址=基址址+位移移量,操操作向量量有效長長度=向向量長度度-位移移量向量加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ù)據(jù)稱為數(shù)數(shù)組的元元素,而而每個(gè)數(shù)數(shù)據(jù)應(yīng)具具有相同同的數(shù)據(jù)據(jù)類型,,(如實(shí)實(shí)數(shù)或邏邏輯數(shù)));相同同的數(shù)據(jù)據(jù)表示((如字長長、字的的格式相相同);;進(jìn)行相相同的操操作;而而各數(shù)據(jù)據(jù)之間是是獨(dú)立無無關(guān)的,,這樣的的一個(gè)數(shù)數(shù)組稱為為向量。?;刂废蛄块L度度向量數(shù)據(jù)據(jù)表示的的參數(shù)起始地址址(基地址址十位移移量)向量有效效長度位移量........A0A1A2A3A4A5A6A7A010011001A3A2(0)A1(0)A4A7A6(0)A5(0)A0A7A4A301234567稀疏向量壓縮向量排序向量稀疏向量量的壓縮縮表示4.3指指令系統(tǒng)統(tǒng)設(shè)計(jì)原原理指令系統(tǒng)統(tǒng)中指令令編碼方方法:1.正正交法指令中的的每個(gè)分分段(包包括操作作碼、操操作數(shù)地地址等))相互互獨(dú)立,,操作數(shù)數(shù)地址的的編碼同同操作碼碼無關(guān),,反之亦亦然。。優(yōu)點(diǎn):對流水機(jī)機(jī)特別適適用,微微程序控控制數(shù)量量減少。。2.整整體法指令中各各個(gè)分段段在譯碼碼時(shí)相互互有關(guān),,操作碼碼同操作作數(shù)地址的分分界線并并不清楚楚。優(yōu)點(diǎn):可以把使使用頻度度高的操操作碼同同操作數(shù)數(shù)地址碼碼組合起起來,加加以縮短短優(yōu)化,,而使用用頻度低低的可以以較長些些,這樣樣可以節(jié)節(jié)省存貯貯容量。。缺點(diǎn):在用微程程序控制制時(shí),微微程序數(shù)數(shù)量較多多,需要要有較大大的微程程序控制制存貯器器。3.混混合法這種方法法把上兩兩種方法法的優(yōu)點(diǎn)點(diǎn)結(jié)合起起來。(二)指指令系統(tǒng)統(tǒng)及結(jié)構(gòu)構(gòu)的分類類指令系統(tǒng)統(tǒng)也可以以按下面面幾個(gè)準(zhǔn)準(zhǔn)則分類類:1.每每條指指令中顯顯式指明明的操作作數(shù)個(gè)數(shù)數(shù)2.CPU中存放操操作數(shù)部部件的類類型3.數(shù)數(shù)據(jù)據(jù)類型和和數(shù)據(jù)表表示4.ALU指令的操操作數(shù)個(gè)個(gè)數(shù)和位位置基本思想想:計(jì)算機(jī)系系統(tǒng)中的的一些基基本操作作(包括括操作系系統(tǒng)和高高級(jí)語言言的操作作)應(yīng)由由硬件實(shí)實(shí)現(xiàn)還是是由軟件件實(shí)現(xiàn);;某些復(fù)復(fù)雜操作作是由一一條指令令實(shí)現(xiàn)還還是由一一串指令令實(shí)現(xiàn)。。堆棧機(jī)主要操作作:是壓入和和彈出,,主要是是以后進(jìn)進(jìn)先出的的方式。。優(yōu)點(diǎn):面向堆棧棧,指令短,,表達(dá)式式求值簡簡單;可可以有較較高的編碼密度度。缺點(diǎn):不能隨機(jī)機(jī)訪問和和編譯技技術(shù)不匹匹配,很很難高速速執(zhí)行::這類機(jī)器的的例子Burroughs5500,HP3000。。主要依據(jù)據(jù):在CPU中以何種種存儲(chǔ)方方式來存存放操作作數(shù)。指令系統(tǒng)統(tǒng)集結(jié)構(gòu)構(gòu)的分類類分類:堆棧型累加器型型通用寄存存器型R-RR-MM-M累加器為為基礎(chǔ)的的指令系系統(tǒng)累加器型型機(jī)器是是有一個(gè)個(gè)隱含操操作數(shù)的的機(jī)器,,指令能能夠直接接裝卸或或存儲(chǔ)的的累加器器中。操操作時(shí)取取一個(gè)操操作數(shù),,另一個(gè)個(gè)操作數(shù)數(shù)取自累累加器,,結(jié)果放放回到累累加器累加器類類的基本本優(yōu)缺點(diǎn)點(diǎn)與堆棧棧機(jī)相同同。這類類機(jī)器的的例子是是PDP--8。寄存器為為基礎(chǔ)的的指令系系統(tǒng)(GPR機(jī)):優(yōu)點(diǎn):(1)由由于數(shù)據(jù)據(jù)在寄存存器中,,減少了了對存儲(chǔ)儲(chǔ)器的存存取,速速度更快快一些。。(2)數(shù)數(shù)值表示示有很強(qiáng)強(qiáng)的適應(yīng)應(yīng)性。缺點(diǎn):指令格式式必須包包含寄存存器指針針空間。。GPR機(jī)類型::有三類類GPR機(jī),它們們是寄存存器-寄寄存器型型機(jī)和寄寄存器--存儲(chǔ)器器型機(jī)。。還有存存儲(chǔ)器--存儲(chǔ)器器型機(jī)取/存寄存器或存儲(chǔ)器寄存器或存儲(chǔ)器2/3IBM360/370DECVAX-11RISC機(jī)寄存器集取/存累加器累加器1PDP-8MC6800累加器進(jìn)?;蛲藯6褩?B5500/6500HP3000Transputer堆棧訪問顯式操作數(shù)的過程結(jié)果存放目的地每條ALU指令需指明的顯式操作數(shù)機(jī)器型號(hào)CPU中存儲(chǔ)部件形式三種不同同的指令令系統(tǒng)集集結(jié)構(gòu)PDP-11,IBM360/370的SS型指令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ì)算算機(jī)中ALU指令所使使用的訪訪存操作作數(shù)的個(gè)個(gè)數(shù)4.3..2尋尋址址技術(shù)一.訪問問方式按地址訪訪問:串行順序序訪問,,按指定定地址址讀取代代碼(地地址可是是通用寄寄存器,,專用寄寄存器,,內(nèi)存))地址概念念:邏輯輯地址,,物理地地址地址編址址方式采采用三種種:統(tǒng)一一編址,,局部編編址,隱隱含編址址具體可按按面向?qū)ο蠛蛯ぶ贩绞绞絹韰^(qū)分分按內(nèi)容訪訪問:給出欲訪訪問單元元內(nèi)容,,其主要要特點(diǎn)是是以并行行方式查查找所需需信息內(nèi)內(nèi)容。((聯(lián)想存存儲(chǔ)器))尋址技術(shù)術(shù):指的是指指令按什什么方式式尋找((或訪問問)到所所需的操操作數(shù)或或信息。。它影響響主存規(guī)規(guī)模速度度及存取取方式。。尋址方方式對應(yīng)應(yīng)用程序序員是透透明的。。二程程序序定位方方式直接定位位方式直接使用用實(shí)際貯貯存物理理地址來來編寫或或編譯程程序,目目前大多多不用這這種方式式。靜態(tài)定位位方式專門用裝裝入程序序來完成成,一旦旦裝入主主存就不不能再變變動(dòng)了,,這種方方式實(shí)現(xiàn)現(xiàn)簡單,,但不夠夠靈活,,主存利利用率不不高,多多個(gè)用戶戶不能共共享主存存。動(dòng)態(tài)定位位方式利用類似似變址尋尋址方法法,有硬硬件支持持完成。。只把主主存的起起始地址址裝入該該程序?qū)?yīng)的基基址寄存存器中,,指令的的地址不不需全部部修改。。優(yōu)點(diǎn):主存利用用率高,,多個(gè)用用戶可以以共享同同一個(gè)程程序段,,支持虛虛擬存儲(chǔ)儲(chǔ)器實(shí)現(xiàn)現(xiàn)。缺點(diǎn):需要硬件件支持,,實(shí)現(xiàn)的的算法比比較復(fù)雜雜。4.3..3指令系統(tǒng)統(tǒng)功能設(shè)設(shè)計(jì)設(shè)計(jì)指令令時(shí),要要考慮三三個(gè)因素素:速度度,價(jià)格格,靈活活性通用計(jì)算算機(jī)指令令分為五五類:數(shù)據(jù)傳送送類指令令運(yùn)算類指指令程序控制制類指令令輸入輸出出指令處理機(jī)控控制和調(diào)調(diào)試指令令4.3..4指指令令格式的的優(yōu)化哈夫曼壓壓縮的基基本思想想:當(dāng)各種事事件發(fā)生生的概率率不均時(shí)時(shí),采用用優(yōu)化技技術(shù)對發(fā)發(fā)生概率率最高的的事件用用最短的的位數(shù)((時(shí)間))來表示示(處理理),而而對出現(xiàn)現(xiàn)概率較較低的,,用較長長的位數(shù)數(shù)(時(shí)間間)來表表示(處處理),,就會(huì)導(dǎo)導(dǎo)致表示示(處理理)的平平均位數(shù)數(shù)(時(shí)間間)的縮縮短。指令的優(yōu)優(yōu)化通過過操作碼碼優(yōu)化和和地址碼碼優(yōu)化進(jìn)進(jìn)行。指令格式式優(yōu)化的的目的::如何用最最短的位位數(shù)表示示指令的的操作信信息和地地址信息息,用最最短的時(shí)時(shí)間處理理頻度高高的指令令,使二二者之間間有最佳佳配合以以減少指指令字中中冗余信信息以及及用最少少信息位位來表示示所需的的操作信信息和地地址信息息。用哈夫曼曼壓縮概概念進(jìn)行行編碼的的步驟::(1)將要編碼碼的字符符按出現(xiàn)現(xiàn)頻率的的次序排排列,頻頻率相等等的符號(hào)號(hào)可任意意排列;;(2)把出現(xiàn)頻頻率最小小的兩個(gè)個(gè)符號(hào)合合并,并并將其頻頻率相加加,按相相加后的的頻率次次序重新新排序;;(3)繼續(xù)過程程(2)),直至至只剩下下兩個(gè)頻頻率,此此后以相相反過程程進(jìn)行編編碼;(4)對最后兩兩個(gè)頻率率分別指指定代碼碼0和1;(5)若某一頻頻率由兩兩個(gè)頻率率相加而而成,則則分別指指定這兩兩個(gè)頻的的下一個(gè)個(gè)代碼為為0或1;(6)繼續(xù)過程程(5)),直到到所有符符號(hào)均已已指定不不同代碼碼為止?!,F(xiàn)設(shè)一臺(tái)臺(tái)模型機(jī)機(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è)信息源源的頻度度∑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為減少此此信息冗冗余量,,改用哈哈夫曼樹樹:I7I6I5I4I3I2I1411115111110.03I7411105111100.03I6411015111010.04I5411005111000.05I421031100.15I32012100.30I2200100.40I1OP長度li用哈夫曼概念的擴(kuò)展操作碼OP長度li操作碼OP使用哈夫曼編碼頻度(Pi)

指令操作碼的的擴(kuò)展((等長擴(kuò)擴(kuò)展)0001000011101500000001...1110151111...11111111...000000011110151111...11111111...111111111111...800000001...01116410001000...111151210001000...1111000000010111100010001111000000010111......15/15/158/64/512編碼碼法指令格式式的優(yōu)化化地址碼表表示和尋尋址方式式采取相相應(yīng)優(yōu)化化措施,,程序所所需總位位數(shù)才得得以減少少。由于于操作數(shù)數(shù)地址是是隨機(jī)的的無規(guī)律律可循,,歸結(jié)為為指令格格式的優(yōu)優(yōu)化。地址碼優(yōu)優(yōu)化時(shí)應(yīng)應(yīng)注意的的問題::(1)操操作數(shù)地地址碼長長度可在在很寬的的范圍內(nèi)內(nèi)變化,,只要恰恰當(dāng)安排排就可與與變長操操作碼很很好合成成定長指指令。這這樣地址址碼寬度度應(yīng)隨不不同指令令,其寬寬度可以以變化;;(2)通過改變變指令字字中的地地址數(shù)和和地址碼碼的長度度,以使使單地址址、雙地地址甚至至三地址址都可以以在指令令中使用用;(3)設(shè)設(shè)法利用用空白處處存放立立即操作作數(shù)或常常數(shù)。(4)豐豐富多彩彩的尋址址方式。。VAX--11指令格式式和尋址址方式2到6個(gè)個(gè)附加的操作數(shù)數(shù)描述碼和它它們的擴(kuò)充字字節(jié)1到8個(gè)個(gè)字節(jié)操作數(shù)描述碼描述碼1可能帶的擴(kuò)充字節(jié)操作數(shù)描述碼1操作碼158702到6個(gè)可能有的附加的操作數(shù)描述碼和它們的擴(kuò)充字節(jié)地址增大VAX--11基本指令令格式寄存器尋址方式式尋址方式式寄存器00直接量7430750指明12種尋址址方式之之一,但但不包括括直接量量方式指明16個(gè)寄存存器6位直接接量VAX--1操作數(shù)描描述碼格格式6a.立即方式式b.絕對方式式c.寄存器直直接方式式d.寄存器間間接尋址址方式e.自增尋址址方式f.自減尋址址方式g.變址尋址址方式VAX--11的主要尋尋址方式式i.變址的位位移尋址址方式j(luò).自增變址址尋址方方式k.自減變址址尋址方方式l.基址尋址址方式m.基址變址址尋址方方式h.位移尋址址方式4.3..5指指令系系統(tǒng)的執(zhí)執(zhí)行和優(yōu)優(yōu)化面向目標(biāo)標(biāo)程序優(yōu)優(yōu)化實(shí)現(xiàn)現(xiàn)面向操作作系統(tǒng)優(yōu)優(yōu)化實(shí)現(xiàn)現(xiàn)面向高級(jí)級(jí)語言優(yōu)優(yōu)化實(shí)現(xiàn)現(xiàn)(一)指指令的的控制和和執(zhí)行計(jì)算機(jī)的的控制過過程:取指令、、分析指指令(譯譯碼、取取操作數(shù)數(shù)),執(zhí)執(zhí)行指令令,再取取下一條條指令的的周而復(fù)復(fù)始過程程。程序的執(zhí)執(zhí)行過程程:順序執(zhí)行行、轉(zhuǎn)移移(條件件轉(zhuǎn)移或或無條件件轉(zhuǎn)移))和進(jìn)程程的調(diào)用用和返回回。(二)指指令系統(tǒng)統(tǒng)的優(yōu)化化和改進(jìn)進(jìn)由計(jì)算機(jī)機(jī)系統(tǒng)的的層次結(jié)結(jié)構(gòu)看,,指令系系統(tǒng)應(yīng)對對于各層層的工作作給于有力力的支持持,這樣樣計(jì)算機(jī)機(jī)效率才才能更高高。面向目標(biāo)標(biāo)程序的的優(yōu)化實(shí)實(shí)現(xiàn)來改改進(jìn)靜態(tài)使用用頻度::對程序中中出現(xiàn)的的各種指指令以及及指令串串進(jìn)行統(tǒng)統(tǒng)計(jì)得出出的百分分比。動(dòng)態(tài)使用用頻度::在目標(biāo)程程序執(zhí)行行過程中中對出現(xiàn)現(xiàn)的各種種指令和和指令串串進(jìn)行統(tǒng)統(tǒng)計(jì)得出出的百分分比。基本思路路:對于那些些頻度高高的常用用指令,,可以考考慮增強(qiáng)強(qiáng)其功能能,加快快其執(zhí)行行速度,,縮短其其指令字字長;而而對于那那些使用用頻度很很低的指指令就可可以考慮慮將其取取消,或或?qū)⑵涔δ芎喜⒉⒌侥承┬╊l度較較高的指指令中去去。優(yōu)化傳送送類指令令:如成成組傳送送指令、、自增循循環(huán)(LDIR)自減循環(huán)環(huán)(LDDR)等優(yōu)化轉(zhuǎn)移移類指令令:如屏屏蔽碼((IBM370)),多種轉(zhuǎn)移移指令等等優(yōu)化運(yùn)算算類指指令:如如多項(xiàng)式式運(yùn)算指指令POLYZ80微型計(jì)算算機(jī)的自自增循環(huán)環(huán)指令LDIR長度為2個(gè)字節(jié)節(jié),時(shí)鐘鐘周期傳送一個(gè)個(gè)數(shù)椐為為5個(gè)或或4個(gè)周周期(當(dāng)當(dāng)BC計(jì)數(shù)值為為0時(shí)))因此,,當(dāng)傳送100個(gè)數(shù)時(shí)時(shí),需499個(gè)個(gè)周期。。如沒有有該條指指令,則則需如下下指令串串:字節(jié)周周期LOOP:LDA((HL));12LD((DE))A;;12INCHL;;11INCDE;;11DECBC;11JPNZLOOP22該指令串串統(tǒng)計(jì)完完成當(dāng)傳傳送100個(gè)數(shù)數(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ù)表地地址目標(biāo):盡可能縮縮短高級(jí)級(jí)語言和和機(jī)器語語言的語語義差距距,以利利于支持持高級(jí)語語言編譯譯系統(tǒng),,縮短編編譯程序序的長度度和編譯譯所需的的時(shí)間。。面向高級(jí)級(jí)語言和和編譯程程序改進(jìn)進(jìn)指令系系統(tǒng)對使用頻頻度高語語句采取取增加相相應(yīng)功能能指令提提高編譯譯速度和和執(zhí)行速速度增強(qiáng)系統(tǒng)統(tǒng)結(jié)構(gòu)的的規(guī)整性性,正交交性,可可組合性性,統(tǒng)一一性和全全面性等等直接執(zhí)行行系統(tǒng)結(jié)結(jié)構(gòu)(DEA))能直接執(zhí)執(zhí)行高級(jí)級(jí)語言源源碼,不不需要經(jīng)經(jīng)過中間間翻譯。。設(shè)置特權(quán)權(quán)指令支支持操作作系統(tǒng)可可靠運(yùn)行行增加支持持工作狀狀態(tài)和訪問方式式轉(zhuǎn)換指令令,如VAX--11操作系統(tǒng)統(tǒng)分四層層,每層層有不同同訪問特特權(quán),利利用CHMX指令增加加訪問權(quán)權(quán)和RET返回指令令改變訪訪問方式式,減少少轉(zhuǎn)換開開銷:內(nèi)核方式式(K)、執(zhí)行方方式(E)、管理方式式(S)、用戶方方式(V)支持進(jìn)程程轉(zhuǎn)換指指令如VAX--11設(shè)保存進(jìn)進(jìn)程關(guān)聯(lián)聯(lián)指令SVPCTX,恢復(fù)進(jìn)進(jìn)程關(guān)聯(lián)聯(lián)指令LDPCTX設(shè)置用來來支持進(jìn)進(jìn)程同步步和互斥斥的指令令設(shè)置中斷斷系統(tǒng)指指令指令對操操作系統(tǒng)統(tǒng)的支持持目標(biāo):如何縮短短操作系系統(tǒng)與計(jì)計(jì)算機(jī)系系統(tǒng)結(jié)構(gòu)構(gòu)之間的的語義差差距,以以利于進(jìn)進(jìn)一步減減少運(yùn)行行操作系系統(tǒng)所需需要的輔輔助操作作時(shí)間和和節(jié)省操操作系統(tǒng)統(tǒng)軟件所所占用的的存儲(chǔ)空空間。4.4RISC計(jì)算機(jī)(一)RISC設(shè)計(jì)思想想的起源源20%--80%%定律系統(tǒng)設(shè)計(jì)計(jì)中硬件件和軟件件之間折折衷VLSI工藝技術(shù)術(shù)發(fā)展4.4..1RISC計(jì)算機(jī)的的設(shè)計(jì)原原理(二)RISC結(jié)構(gòu)設(shè)計(jì)計(jì)原則(1)選選擇使用頻度度高的指令,,增加少少量支持持操作系系統(tǒng)和高高級(jí)語言言實(shí)現(xiàn)及及其他功功能的有有用指令令,尋址方式式也取最基基本的一一、兩種種,使指指令條數(shù)少,格式簡單單,并具有有相同長度度。(2)提提高處理理速度,,采用流水技術(shù)術(shù)使每一條條指令都都在一個(gè)個(gè)機(jī)器周周期內(nèi)完完成。大大部分指指令操作作在寄存器之間進(jìn)行行,采用用硬件邏邏輯控制制實(shí)現(xiàn)操操作,只只有少量量使用微微程序?qū)崒?shí)現(xiàn)。(3)簡化編譯譯工作,一一個(gè)周期期完成一一條指令令操作,,編譯器器易易于調(diào)整整指令流流。美國卡內(nèi)內(nèi)基梅隆?。–anegicMellon)大學(xué)定義義(1)指令系統(tǒng)統(tǒng)中的大大多數(shù)指指令只需需執(zhí)行簡簡單和基基本功能能,其執(zhí)執(zhí)行過程程是在單單個(gè)機(jī)器器周期期期內(nèi)完成成。(2)只保留LOAD指令和STORE指令。面面向運(yùn)算算的操作作都經(jīng)過過LOAD指令和STORE指令,從從內(nèi)存儲(chǔ)儲(chǔ)器預(yù)先先放在寄寄存器堆堆內(nèi),加加快執(zhí)行行速度。。(3)芯片邏輯輯不采用用或少采采用微碼碼技術(shù),,而硬布布線邏輯輯,減少少指令解解釋的開開銷。(4)減少指令令數(shù)和尋尋址方式式,使控控制部件件簡化,,加快執(zhí)執(zhí)行速度度。(5)指令格式式固定,,指令譯譯碼簡化化。(6)編譯開銷銷很大,,應(yīng)盡可可能優(yōu)化化。(三)RISC主要特征征指令格式式簡單化化規(guī)整化化(寄存存器-寄寄存器型型)基本是單單調(diào)周期期操作((指令功功能和執(zhí)執(zhí)行周期期權(quán)和選選擇)分開的存存取指令令數(shù)據(jù),,引入多多級(jí)Cache面向寄存存器堆的的結(jié)構(gòu)充分提高高流水線線效率((用各種種技術(shù)減減少相關(guān)關(guān)阻塞))采用硬邏邏輯控制制方式((少數(shù)采采用微程程序設(shè)計(jì)計(jì))采用優(yōu)化化編譯技技術(shù),很很好支持持高級(jí)語語言(四)RISC的CPI討論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是通過減減少CPI值,簡化化結(jié)構(gòu)來來減少Tcpu,而CISC是通過減減少IN值來減少少Tcpu的。(五)RISC體系結(jié)構(gòu)構(gòu)1.數(shù)據(jù)據(jù)類型(1)字長32位發(fā)展展到64位(2)整整形數(shù)數(shù)據(jù):包包括無符符號(hào)和有有符號(hào)字字節(jié),半半字,全全字?jǐn)?shù)據(jù)據(jù)(3)浮浮點(diǎn)數(shù)數(shù)據(jù):支支持ANSI/IEEE浮點(diǎn)數(shù)據(jù)據(jù)類型,,也就是是單精度度,雙精精度符點(diǎn)點(diǎn)數(shù)(4)除除以上上基本數(shù)數(shù)據(jù)類型型外,為為支持不不同應(yīng)用用往往支支持一些些附加數(shù)數(shù)據(jù)類型型,如i860支持8位位,16位與32位像像素以提提供高性性能圖像像處理(一)RISC的體系結(jié)結(jié)構(gòu)2.尋址址方式RISC體系結(jié)構(gòu)構(gòu)一般支支持最常常用的簡簡單尋址址方式,,以優(yōu)化化程序密密集度與與速度,,常用的的有:立即尋址址方式寄存器直直接尋址址方式寄存器間間接尋址址方式相對尋址址方式變址尋址址方式位移量方方式3.寄存存器模型型和寄存存器管理理現(xiàn)現(xiàn)現(xiàn)在的RISC差不多都都采用寄寄存器體體系結(jié)構(gòu)構(gòu),理由由是寄存存器比存存儲(chǔ)器快快,代碼碼生成有有通用性性,編譯譯程序更更容易有有效的使使用寄存存器。大大量的((不少于于32個(gè)個(gè))CPU寄存器的的好處是是:(1)減減少CPU與存儲(chǔ)器器之間的的傳送而而加快操操作(2)在在CPU內(nèi)支持過過程參數(shù)數(shù)傳遞(3)在在CPU內(nèi)支持多多任務(wù)上上下文轉(zhuǎn)轉(zhuǎn)換和中中斷處理理RRISC中寄存器器管理方方式由三三類模型型:窗口口(Windows)模型、Cache模型、矩矩陣模型型4.存儲(chǔ)器管管理首(1))虛虛擬地址址空間的的大小?!,F(xiàn)在的的32位位RISC目前都取取滿4G字節(jié)。其(2))其次次是頁面面大小,,頁面大大小和主主存容量量及系統(tǒng)統(tǒng)應(yīng)用程程序大小小有關(guān)系系,i860與SPARC都支持4K字節(jié)的頁頁面大小小。第(3))映射射大小是是由操作作系統(tǒng)內(nèi)內(nèi)核所隱隱藏的,,具有64個(gè)頁頁的典型型TLB實(shí)現(xiàn)只能能映射64*4K字節(jié)。RISC都是二級(jí)級(jí)或三級(jí)級(jí)存儲(chǔ)層層次,即即在貯存存和CPU之間加一一級(jí)或二二級(jí)高速速緩沖存存儲(chǔ)器((Cache)。。(二)指令系統(tǒng)統(tǒng)RISC指令條數(shù)數(shù)很少,,格式簡簡單,規(guī)規(guī)整,基基本上都都在一個(gè)個(gè)周期完完成;指令規(guī)整整化要求求RISC的指令基基本上是是一個(gè)字字節(jié),而而且指令令中的操操作碼字字段與操操作數(shù)字字段最好好是正交交并具有有統(tǒng)一規(guī)規(guī)格,這這有利于于流水線線執(zhí)行,,還可以以提高譯譯碼操作作效率,,使譯碼碼控制邏邏輯電路路簡化;;RISC有利于支支持高級(jí)級(jí)語言,,使用邏邏輯控制制,不再再使用微微代碼,,體現(xiàn)了了用硬件件取代軟軟件。RISC強(qiáng)調(diào)優(yōu)化化編譯技技術(shù),不不僅是生生成代碼碼,而且且要優(yōu)化化代碼。。對于指令令系統(tǒng)的的具體選選擇,可可以通過過對現(xiàn)有有體系結(jié)結(jié)構(gòu)進(jìn)行行靜態(tài)測測試和動(dòng)動(dòng)態(tài)測試試,即在在程序運(yùn)運(yùn)行時(shí)計(jì)計(jì)算指令令出現(xiàn)次次數(shù)來進(jìn)進(jìn)行。4.4..3RISC的主要技技術(shù)(一)流流水線結(jié)結(jié)構(gòu)和指指令調(diào)度度RISC主要特點(diǎn)點(diǎn)之一是是充分提提高流水水線效率率流水線執(zhí)執(zhí)行和相相關(guān)性

IFIDEXWR

IFIDEXWR

IFIDEXWR

IFID氣泡EXWRIF沖刷IF–取指令I(lǐng)D-指令譯碼EX-執(zhí)行指令WR-寫回結(jié)果nn+1n+2n+3n+4(二)寄寄存器窗窗口芯片上有有大量通通用寄存存器,在在執(zhí)行程程序時(shí)可可以存放放更多的的操作數(shù)數(shù)或公用用參數(shù),,采用寄寄存器窗窗口技術(shù)術(shù)還可以以更好支支持過程程的調(diào)用用和返回回,提高高機(jī)器工工作效率率。寄存器窗窗口技術(shù)術(shù):就是把整整個(gè)寄存存器組分分成很多多小組,,每個(gè)過過程分配配一個(gè)寄寄存器小小組,當(dāng)當(dāng)發(fā)生過過程調(diào)用用時(shí),自自動(dòng)地把把CPU轉(zhuǎn)換到不不同的寄寄存器小小組使用用,不再再需要作作保存和和恢復(fù)的的操作,,這個(gè)寄寄存器小小組就叫叫做寄存存器窗口口,相鄰鄰的寄存存器窗口口間有部部分是重重疊的,,便于調(diào)調(diào)用參數(shù)數(shù)傳送。。RISC有八個(gè)寄寄存器窗窗口,代表八八個(gè)過程程,重疊疊窗口之之間構(gòu)成成類似環(huán)環(huán)形緩沖沖器,窗窗口之間間轉(zhuǎn)換時(shí)時(shí)通過改改變硬件件指針內(nèi)內(nèi)容實(shí)現(xiàn)現(xiàn)的,當(dāng)當(dāng)超過八八個(gè)過程程調(diào)用時(shí)時(shí),將一一個(gè)窗口口內(nèi)容傳傳送到內(nèi)內(nèi)存,以以騰出一一個(gè)窗口口,返回回時(shí),再再一個(gè)個(gè)個(gè)返回。。參數(shù)A137132本地A

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論