系統(tǒng)結(jié)構(gòu)講義-2_第1頁
系統(tǒng)結(jié)構(gòu)講義-2_第2頁
系統(tǒng)結(jié)構(gòu)講義-2_第3頁
系統(tǒng)結(jié)構(gòu)講義-2_第4頁
系統(tǒng)結(jié)構(gòu)講義-2_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第二章指令系統(tǒng)2.3指令格式的優(yōu)化設(shè)計(jì)指令格式的優(yōu)化是指如何用最短的二進(jìn)制位數(shù)表示指令的操作碼信息和地址碼信息,使指令的平均字長(zhǎng)最短,同時(shí)便于譯碼。指令的組成操作碼地址碼指令的操作種類。所用操作數(shù)數(shù)據(jù)類型。操作數(shù)地址。地址附加信息。尋址方式。指令格式的優(yōu)化設(shè)計(jì)目標(biāo):使程序中指令的平均字長(zhǎng)最短,節(jié)省程序的存儲(chǔ)空間。指令格式要規(guī)整,減少硬件譯碼的復(fù)雜程度。操作碼的優(yōu)化表示操作碼的表示方法:固定長(zhǎng)度操作碼。Huffman編碼法。擴(kuò)展編碼法。一、固定長(zhǎng)度操作碼采用等長(zhǎng)操作碼。若指令系統(tǒng)共有N種不同功能的指令,則指令系統(tǒng)中的所有指令的操作碼長(zhǎng)度固定為[lbN]位。特點(diǎn):長(zhǎng)度規(guī)整,有利于硬件設(shè)計(jì),減少指令譯碼時(shí)間。信息冗余。例:假設(shè)一臺(tái)模型計(jì)算機(jī)共有7種不同的操作碼,已知各種操作碼在程序中出現(xiàn)的概率如下表,利用固定長(zhǎng)度編碼法進(jìn)行操作碼編碼。指令I(lǐng)1概率0.45I20.30I30.15I40.05I50.03I60.01I70.01解:由于N=7

因此,指令操作碼固定長(zhǎng)度為[lbN]=[lb7]=3指令序號(hào)概率編碼操作碼長(zhǎng)度I10.450003位I20.300013位I30.150103位I40.050113位I50.031003位I60.011013位I70.011103位編碼結(jié)果:二、Huffman編碼法(最小概率合并法)Huffman壓縮概念(最佳編碼定理):當(dāng)用n個(gè)長(zhǎng)度不等的代碼分別代表n種發(fā)生概率不等的事件時(shí),按照短代碼給高概率事件、把長(zhǎng)代碼給低概率事件的原則分配,可使平均碼長(zhǎng)達(dá)到最低。

Huffman編碼方法

這種編碼方法由兩個(gè)過程組成。

頻度合并:將全部n個(gè)事件(在此即為n條指令)的頻度值排序,選取其中最小的2個(gè)頻度合并,然后將剩下的n-1個(gè)頻度再次排序,再合并最小的2個(gè)頻度,如此重復(fù),直至剩下1個(gè)頻度為止。記錄所有的合并關(guān)系,形成一棵二叉樹──Huffman樹,所有原始頻度值充當(dāng)樹葉,而最后剩下的總頻度1為樹根;

碼元分配:從樹根開始,對(duì)每個(gè)中間結(jié)點(diǎn)的左右2個(gè)分支邊各賦予一位代碼“0”和“1”(“0”在哪一側(cè)不限)。讀出從根結(jié)點(diǎn)到任一片樹葉的路徑上依次出現(xiàn)的代碼位就排成了這個(gè)事件(即指令)的完整編碼。由于頻度高的事件較晚被合并,它的編碼位數(shù)也就較少,符合Huffman壓縮原則。上面所說的頻度值就是各事件實(shí)際出現(xiàn)次數(shù)的百分比,它是理論出現(xiàn)概率的近似值。

例:假設(shè)一臺(tái)模型計(jì)算機(jī)共有7種不同的操作碼,已知各種操作碼在程序中出現(xiàn)的概率如下表,利用Huffman編碼法進(jìn)行操作碼編碼。指令I(lǐng)1概率0.45I20.30I30.15I40.05I50.03I60.01I70.01Huffman樹生成步驟:把所有指令按照操作碼在程序中出現(xiàn)的概率,自左向右從排列好。選取兩個(gè)概率最小的結(jié)點(diǎn)合并成一個(gè)概率值是二者之和的新結(jié)點(diǎn),并把這個(gè)新結(jié)點(diǎn)與其它還沒有合并的結(jié)點(diǎn)一起形成新結(jié)點(diǎn)集合。在新結(jié)點(diǎn)集合中選取兩個(gè)概率最小的結(jié)點(diǎn)進(jìn)行合并,如此繼續(xù)進(jìn)行下去,直至全部結(jié)點(diǎn)合并完畢。最后得到的根結(jié)點(diǎn)的概率值為1。每個(gè)結(jié)點(diǎn)都有兩個(gè)分支,分別用一位代碼“0”和“1”表示。注意:對(duì)于同一個(gè)頻度分布,應(yīng)用哈夫曼算法可能生成不同的哈夫曼樹,因此,得到的哈夫曼編碼并不唯一,但平均碼長(zhǎng)唯一。0.450.300.150.050.030.010.011.000.550.02010101010101I1I2I3I4I5I6I7Huffman編碼樹生成過程指令序號(hào)概率Huffman編碼法操作碼長(zhǎng)度I10.4501位I20.30102位I30.151103位I40.0511104位I50.03111105位I60.011111106位I70.011111116位編碼結(jié)果:編碼方法性能指標(biāo)信息量:根據(jù)信息論的基本知識(shí),在n種可能發(fā)生的事件集合中,報(bào)告第i種事件發(fā)生的消息中包含的信息量為:其中Pi是第i種事件發(fā)生的先驗(yàn)概率,a是編碼基值。信息量的單位是表示位數(shù)(最少所需位數(shù))。這個(gè)定義式表明事件的發(fā)生概率越低,關(guān)于它的消息中的信息量越大。熵(entropy)──平均信息量:一個(gè)消息源對(duì)n種事件發(fā)布的消息的信息量平均值,記為:平均碼長(zhǎng):各事件編碼長(zhǎng)度的數(shù)學(xué)期望。信息冗余量:表明消息編碼中“無用成分”所占的百分比。

從減少存儲(chǔ)與傳輸量的角度看,編碼方法的平均碼長(zhǎng)越短越好。但是平均碼長(zhǎng)不可能無限制縮短,它的下限就是熵(即R=0時(shí))。如果短于熵就一定會(huì)丟失有用信息(即混淆不同指令),這是不允許的。例:假設(shè)一臺(tái)模型計(jì)算機(jī)共有7種不同的操作碼,如果采用固定長(zhǎng)操作碼需要3位。已知各種操作碼在程序中出現(xiàn)的概率如下表,計(jì)算采用Huffman編碼法的操作碼平均長(zhǎng)度,并計(jì)算固定長(zhǎng)操作碼和Huffman操作碼的信息冗余量。解:Huffman編碼結(jié)果如:指令序號(hào)概率Huffman編碼法操作碼長(zhǎng)度I10.4501位I20.30102位I30.151103位I40.0511104位I50.03111105位I60.011111106位I70.011111116位采用Huffman編碼法的操作碼平均長(zhǎng)度:0.45×1+0.30×2+0.15×3+0.05×4+0.03×5+0.01×6+0.01×6=1.97(位)最優(yōu)Huffman編碼法的操作碼平均長(zhǎng)度計(jì)算公式:所以,采用最優(yōu)Huffman編碼法的操作碼平均長(zhǎng)度為:0.45×1.152+0.30×1.737+0.15×2.737+0.05×4.322+0.03×5.059+0.01×6.644+0.01×6.644=1.95(位)采用固定長(zhǎng)度編碼信息冗余量:采用Huffman編碼法信息冗余量:與3位定長(zhǎng)操作碼的冗余量35%相比要小得多。Huffman操作碼的主要缺點(diǎn):操作碼長(zhǎng)度很不規(guī)整,硬件譯碼困難與地址碼共同組成固定長(zhǎng)的指令比較困難擴(kuò)展編碼方法(等長(zhǎng)擴(kuò)展法)由固定長(zhǎng)操作碼與Huffman編碼法相結(jié)合形成。碼長(zhǎng)表示法:分等長(zhǎng)擴(kuò)展法和不等長(zhǎng)擴(kuò)展法。等長(zhǎng)擴(kuò)展法如4-8-12法,每次加長(zhǎng)4位。但這并不能說明具體編碼方法,例如下面兩種編碼方法都是4-8-12法。碼點(diǎn)表示法:例如15/15/15法,8/64/512法15/15/15法,每一種碼長(zhǎng)都有4位可編碼位(前頭可以有相同的擴(kuò)展標(biāo)識(shí)前綴),可產(chǎn)生16個(gè)碼點(diǎn)(即編碼組合),但是至多只能使用其中15個(gè)來表示事件,留下1個(gè)或多個(gè)碼點(diǎn)組合作為更長(zhǎng)代碼的擴(kuò)展標(biāo)識(shí)前綴。已經(jīng)用來表示事件的碼點(diǎn)組合不能再作為其它更長(zhǎng)代碼的前導(dǎo)部分,否則接收者會(huì)混淆。這就是“非前綴原則”。8/64/512法,每一種碼長(zhǎng)按4位分段,每一段中至少要留下1位或多位作為擴(kuò)展標(biāo)識(shí)。各段剩下的可編碼位一起編碼,所產(chǎn)生的碼點(diǎn)用來對(duì)應(yīng)被編碼事件。每一段中的標(biāo)識(shí)位指出后面還有沒有后續(xù)段。00000001……11101111000011110001……11111110111111110000111111110001……1111111111104位長(zhǎng)度的操作碼共有15種8位長(zhǎng)度的操作碼共有15種12位長(zhǎng)度的操作碼共有15種操作碼編碼說明00000001……01111000000010000001……11110111100010000000100010000001……1111111101114位長(zhǎng)度的操作碼共有8種8位長(zhǎng)度的操作碼共有64種12位長(zhǎng)度的操作碼共有512種操作碼編碼說明等長(zhǎng)15/15/15…擴(kuò)展法等長(zhǎng)8/64/512…擴(kuò)展法例:假設(shè)一臺(tái)模型計(jì)算機(jī)共有7種不同的操作碼。已知各種操作碼在程序中出現(xiàn)的概率如下表,如果采用1-2-3-5和2-4擴(kuò)展編碼法,計(jì)算操作碼平均長(zhǎng)度和信息冗余量。指令I(lǐng)1概率0.45I20.30I30.15I40.05I50.03I60.01I70.01解:采用1-2-3-5擴(kuò)展編碼法操作碼平均長(zhǎng)度:H=0.45×1+0.30×2+0.15×3+(0.05+0.03+0.01+0.01)×5

=2.00信息冗余量:采用2-4擴(kuò)展編碼法操作碼平均長(zhǎng)度:H=(0.45+0.30+0.15)×2+(0.05+0.03+0.01+0.01)×4

=2.20信息冗余量:序號(hào)概率1-2-3-5擴(kuò)展編碼I10.450I20.3010I30.15110I40.0511100I50.0311101I60.0111110I70.01111112-4等長(zhǎng)擴(kuò)展編碼0001101100110111101111平均長(zhǎng)度2.02.2信息冗余量2.5%11.4%7條指令的操作碼擴(kuò)展編碼法指令I(lǐng)1I2I3I4I5I6I7I8I9I10概率50.100.080.080.050.040.030.02例:一臺(tái)處理機(jī)有I1-I10共10條指令,經(jīng)統(tǒng)計(jì),各指令在程序中使用的頻率如下:(1)計(jì)算這10條指令的操作碼編碼的最短平均碼長(zhǎng)。(2)寫出這10條指令的操作碼的哈夫曼編碼,并計(jì)算編碼的平均碼長(zhǎng)和信息冗余量。(3)采用3/7擴(kuò)展編碼和2/8擴(kuò)展編碼編寫這10條指令的操作碼,并分別計(jì)算平均碼長(zhǎng)和信息冗余量。哪種擴(kuò)展編碼比較好?說明理由。解:(1)最短平均碼長(zhǎng):H=-∑pilog2pi=-(0.25×log20.25+0.20×log20.20+0.15×log20.15+0.10×log20.10+0.08×log20.08+0.08×log20.08+0.05×log20.05+0.04×log20.04+0.03×log20.03+0.02×log20.02)=2.96(位)(2)兩種哈夫曼樹0.020.030.040.050.080.000.250.050.030.320.430.5711011111111000000000.020.030.040.050.050.130.430.230.090.170.320.571101111111100000000IiPi哈夫曼1I1i哈夫曼2I2iI10.25102002I20.20002102I30.1511030103I40.1001031103I50.081110301104I60.080110411104I70.0501114011105I80.04111105011115I90.031111106111105I100.021111116111115可見,哈夫曼編碼不唯一。哈夫曼1平均碼長(zhǎng):I1=∑Pi×I1i=0.25×2+0.20×2+0.15×3+0.10×3+0.08×4+0.08×4+0.05×4+0.04×5+0.03×6+0.02×6=2.99(位)哈夫曼2平均碼長(zhǎng):I2=∑Pi×I2i=0.25×2+0.20×2+0.15×3+0.10×3+0.08×4+0.08×4+0.05×5+0.04×5+0.03×5+0.02×5=2.99(位)可見,平均碼長(zhǎng)唯一。信息冗余量:Rn=(1-H/I1)=1-2.96/2.99=1.0%3/7和2/8擴(kuò)展編碼如下表所示:IiPi3/7擴(kuò)展I1i2/8擴(kuò)展I2iI10.25002002I20.20012012I30.1510210004I40.1011000510014I50.0811001510104I60.0811010510114I70.0511011511004I80.0411100511014I90.0311101511104I100.02111105111143/7擴(kuò)展平均碼長(zhǎng):I3/7=∑Pi×I1i=(0.25+0.20+0.15)×2+(0.10+0.08+0.08+0.05+0.04+0.03+0.02)×5=3.2(位)2/8擴(kuò)展平均碼長(zhǎng):I2/8=∑Pi×I2i=(0.25+0.20)×2+(0.15+0.10+0.08+0.08+0.05+0.04+0.03+0.02)×4=3.1(位)可見,2/8擴(kuò)展優(yōu)于3/7擴(kuò)展。兩種編碼的信息冗余量:Rn3/7=(1-H/I3/7)=1-2.96/3.2=7.5%Rn2/8=(1-H/I2/8)=1-2.96/3.1=4.5%地址碼的優(yōu)化表示地址碼在指令中所占的長(zhǎng)度最長(zhǎng)。地址碼長(zhǎng)度=f(地址碼個(gè)數(shù),存儲(chǔ)設(shè)備,尋址空間大小,編址方式,尋址方式)本節(jié)解決問題:地址個(gè)數(shù)的選擇單個(gè)地址碼長(zhǎng)度如何優(yōu)化。地址碼個(gè)數(shù)選擇:通常有3個(gè)、2個(gè)、1個(gè)及沒有地址碼等4種情況。評(píng)價(jià)指令中地址個(gè)數(shù)的標(biāo)準(zhǔn):程序的存儲(chǔ)量,即程序中所有指令的長(zhǎng)度相加的總和最短。程序的執(zhí)行速度,即程序在執(zhí)行過程中訪問主存儲(chǔ)器的信息(包括指令和數(shù)據(jù))量的總和最短。指令字格式優(yōu)化設(shè)計(jì)的措施采用擴(kuò)展操作碼,以縮短操作碼的平均碼長(zhǎng)。采用諸如基址、變址、相對(duì)尋址、寄存器尋址、寄存器間接尋址等多種尋址方式,以縮短需要在指令中表示的地址碼長(zhǎng)度,但不減少地址碼尋址空間的大小。指令集采用零地址、一地址、二地址和三地址等多種地址制,且讓常用的短操作碼與多地址字段配合,長(zhǎng)操作碼與少地址字段配合。采用R-R、R-M、M-M等多種地址表示方式,讓每種地址字段有多種長(zhǎng)度,使長(zhǎng)度不等的操作碼與地址碼配合成規(guī)整長(zhǎng)度的指令字。在維持指令字在存儲(chǔ)器中按整數(shù)邊界存儲(chǔ)的前提下,使用多種不同的指令字長(zhǎng)度。要求指令字長(zhǎng)應(yīng)是主存存儲(chǔ)字長(zhǎng)的整數(shù)倍。表2.10各種不同地址數(shù)指令的特點(diǎn)及適用場(chǎng)合各種不同地址數(shù)指令的特點(diǎn)及適用場(chǎng)合地址數(shù)目指令碼長(zhǎng)度程序存儲(chǔ)量程序執(zhí)行速度使用場(chǎng)合三地址短最大一般向量,矩陣運(yùn)算為主二地址一般很大很低一般不宜采用一地址較長(zhǎng)較大較快連續(xù)運(yùn)算,硬件結(jié)構(gòu)簡(jiǎn)單0地址最長(zhǎng)最小最低嵌套,遞歸,變量較多二地址R形一般最小最快多累加器,數(shù)據(jù)傳送較多例:一臺(tái)模型機(jī)共有7條指令,各指令的使用頻率分別為35%,25%,20%,10%,5%,3%和2%,有8個(gè)通用數(shù)據(jù)寄存器,2個(gè)變址寄存器。(1)要求操作碼的平均長(zhǎng)度最短,請(qǐng)?jiān)O(shè)計(jì)操作碼的編碼,并計(jì)算所設(shè)計(jì)操作碼的平均長(zhǎng)度。(2)設(shè)計(jì)8字長(zhǎng)的寄存器-寄存器型指令3條,16位字長(zhǎng)的寄存器-存儲(chǔ)器型變址尋址方式指令4條,變址范圍不小于±127。請(qǐng)?jiān)O(shè)計(jì)指令格式,并給出各字段的長(zhǎng)度和操作碼的編碼。解:(1)要使得到的操作碼長(zhǎng)度最短,應(yīng)采用Huffman編碼,構(gòu)造Huffman樹如下:0.300.050.030.020.000.601.00由此可以得到7條指令的編碼分別如下:指令出現(xiàn)的頻率編碼135%00225%01320%10410%11055%111063%1111072%11111這樣,采用Huffman編碼法得到的操作碼的平均長(zhǎng)度為:H=2×(0.35+0.25+0.20)+3×0.10+4×0.05+5×(0.03+0.02)=1.6+0.3+0.2+0.25=2.35

三條指令的操作碼分別為00,01,10設(shè)計(jì)16位字長(zhǎng)的寄存器-存儲(chǔ)器型變址尋址方式指令如下:4 3 1 8 (2)設(shè)計(jì)8位字長(zhǎng)的寄存器-寄存器型變址尋址方式指令如下,因?yàn)橹挥?個(gè)通用寄存器,所以寄存器地址需3位,操作碼只有兩位,設(shè)計(jì)格式如下:2 33操作碼OP源寄存器R1目的寄存器R2操作碼OP通用寄存器變址寄存器偏移地址四條指令的操作碼分別為1100,1101,1110,11112.4.3精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)RISC1.復(fù)雜指令系統(tǒng)計(jì)算機(jī)CISC

(ComplexInstructionSetComputer)

增強(qiáng)指令功能,設(shè)置功能復(fù)雜的指令。

面向目標(biāo)代碼、高級(jí)語言和操作系統(tǒng)。

用一條指令代替一串指令。

2.精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)RISC

(ReducedInstructionSetComputer)

只保留功能簡(jiǎn)單的指令。

功能較復(fù)雜的指令用子程序來實(shí)現(xiàn)。ISA(InstructionSetArchitecture)(IndustrialStandardArchitecture)CISC的特點(diǎn)龐大的指令系統(tǒng)原因:硬件成本下降、軟件成本上升。系統(tǒng)向上兼容。微程序技術(shù)的發(fā)展。采用了可變長(zhǎng)的指令格式為了縮短指令字長(zhǎng),同時(shí)增大存儲(chǔ)器尋址范圍,出現(xiàn)了多種尋址方式,出現(xiàn)了可變字長(zhǎng)的指令格式。指令使用的尋址方式繁多指令系統(tǒng)中包括了一些用于特殊用途的指令復(fù)雜的指令系統(tǒng),增加了微處理器的復(fù)雜性,使微處理器研制時(shí)間長(zhǎng)、成本高,降低了機(jī)器的速度。從CISC到RISCCISC指令系統(tǒng)存在的問題:

1、20%與80%規(guī)律

CISC中,使用頻度約20%的指令占據(jù)了80%的處理機(jī)時(shí)間,而使用頻度80%的指令只占20%的處理機(jī)運(yùn)行時(shí)間2、VLSI技術(shù)的發(fā)展引起的問題VLSI工藝要求規(guī)整性

RISC正好適應(yīng)了VLSI工藝的要求主存與控存的速度相當(dāng)

簡(jiǎn)單指令沒有必要用微程序?qū)崿F(xiàn),復(fù)雜指令用微程序?qū)崿F(xiàn)與用簡(jiǎn)單指令組成的子程序?qū)崿F(xiàn)沒有多大區(qū)別;由于VLSI的集成度迅速提高,使得生產(chǎn)單芯片處理機(jī)成為可能。3、軟硬件的功能分配問題復(fù)雜的指令使指令的執(zhí)行周期大大加長(zhǎng)

一般CISC處理機(jī)的指令平均執(zhí)行周期都在4以上,有些在10以上。CISC增強(qiáng)了指令系統(tǒng)功能,簡(jiǎn)化了軟件,但硬件復(fù)雜了

1981年P(guān)atterson等人研制了32位RISCI微處理器,共31種指令,3種數(shù)據(jù)類型,2種尋址方式;研制周期10個(gè)月,比當(dāng)時(shí)最先進(jìn)的MC68000和Z8002快3至4倍;1983年又研制了RISCII,指令種類擴(kuò)充到39種,使用單一的變址尋址方式,通用寄存器138個(gè)。RISC的定義與特點(diǎn)卡內(nèi)基梅隆大學(xué)(CarnegieMellon)論述RISC的特點(diǎn):大多數(shù)指令在單周期內(nèi)完成LOAD/STORE結(jié)構(gòu)硬布線控制邏輯減少指令和尋址方式的種類固定的指令格式注重編譯優(yōu)化技術(shù)90年代初,IEEE的MichaelSlater對(duì)RISC定義的描述:1、RISC為使流水線高效率執(zhí)行,應(yīng)具有:簡(jiǎn)單而統(tǒng)一格式的指令譯碼大部分指令可以單周期執(zhí)行完成僅Load和Store指令可以訪問存儲(chǔ)器簡(jiǎn)單的尋址方式采用延遲轉(zhuǎn)移技術(shù)采用LOAD延遲技術(shù)2、RISC為使優(yōu)化編譯器便于生成優(yōu)化代碼,應(yīng)具有:三地址指令格式較多的寄存器對(duì)稱的指令格式程序執(zhí)行時(shí)間的計(jì)算公式:P=I·CPI·T其中:P是執(zhí)行這個(gè)程序所使用的總的時(shí)間;I是這個(gè)程序所需執(zhí)行的總的指令條數(shù);CPI(CyclesPerInstruction)是每條指令執(zhí)行的平均周期T是一個(gè)周期的時(shí)間長(zhǎng)度。RISC的速度要比CISC快3倍左右,關(guān)鍵是RISC的CPI減小了。減少CPI是RISC思想的精華類型CISC指令條數(shù)

I指令平均周

期數(shù)CPI周期時(shí)間

T12~1533ns~5nsRISC1.3~1.41.1~1.410ns~2nsCISC與RISC的I、CPI和T的比較RISC的關(guān)鍵技術(shù)延時(shí)轉(zhuǎn)移技術(shù)指令取消技術(shù)重疊寄存器窗口技術(shù)指令流調(diào)整技術(shù)以硬件為主固件為輔延時(shí)轉(zhuǎn)移技術(shù)ADDR1,R2JMPNEXT2NEXT1:SUBR3,R4……NEXT2:MOVER4,A取指執(zhí)行取指執(zhí)行取指執(zhí)行取指執(zhí)行產(chǎn)生轉(zhuǎn)移地址指令作廢重新取指令a)因轉(zhuǎn)移指令引起流水線斷流產(chǎn)生轉(zhuǎn)移地址

JMPNEXT2ADDR1,R2NEXT1:SUBR3,R4……NEXT2:MOVER4,A取指執(zhí)行取指執(zhí)行取指執(zhí)行插入指令重新取指令b)采用延時(shí)轉(zhuǎn)移技術(shù)的指令流水線指令取消技術(shù)LOOP:XXXYYY……ZZZCOMPR1,R2,LOOP

WWWa)調(diào)整前程序XXXLOOP:YYY……ZZZCOMPR1,R2,LOOPXXX

WWWb)調(diào)整后程序如果轉(zhuǎn)移成功,則執(zhí)行下面的XXX指令,然后返回LOOP;如果轉(zhuǎn)移不成功,則取消下面的XXX指令,執(zhí)行WWW指令。后取指執(zhí)行取指執(zhí)行取指執(zhí)行取指執(zhí)行產(chǎn)生轉(zhuǎn)移地址指令作廢重新取指令重疊寄存器窗口技術(shù)A局部寄存器A,B公用寄存器B局部寄存器B,C公用寄存器C局部寄存器C,D公用寄存器……全局寄存器137132131122121116115106105100999089841090A局部寄存器傳送參數(shù)B局部寄存器傳送參數(shù)傳送參數(shù)C局部寄存器傳送參數(shù)傳送參數(shù)寄存器重疊寄存器重疊局部寄存器與下一個(gè)過程合用與上一個(gè)過程合用全局寄存器31262516151090A過程寄存器窗口指令流調(diào)整技術(shù)ADDR1,R2,R3;(R1)+(R2)→R3ADDR3,R4,R5;(R3)+(R4)→R5MULR6,R7,R3;(R6)×(R7)→R3MULR3,R8,R9;(R3)×(R8)→R9a)調(diào)整前的指令序列ADDR1,R2,R3MULR6,R7,R0ADDR3,R4,R5MULR0,R8,R9b)調(diào)整后的指令序列消除數(shù)據(jù)相關(guān)硬件為主固件為輔

RISC要求主要指令在單個(gè)周期內(nèi)執(zhí)行完成,因此,主要采用硬連線邏輯實(shí)現(xiàn)。對(duì)于少數(shù)復(fù)雜的指令,可以使用微程序(固件)實(shí)現(xiàn),并且較多使用全水平型微指令。RISC優(yōu)化編譯技術(shù)RISC是硬件和軟件相結(jié)合的產(chǎn)物。RISC硬件設(shè)計(jì)為優(yōu)化編譯程序設(shè)計(jì)帶來如下方便:RISC指令系統(tǒng)比較簡(jiǎn)單,而且對(duì)稱、均勻,簡(jiǎn)化了編譯程序復(fù)雜指令選擇工作。RISC尋址方式簡(jiǎ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. 人人文庫(kù)網(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)論