版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 第五章第五章 指指 令令 系系 統(tǒng)統(tǒng)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2本章知識(shí)點(diǎn)本章知識(shí)點(diǎn)1)1)指令格式指令格式2)2)尋址方式尋址方式3)3)指令格式設(shè)計(jì)與優(yōu)化指令格式設(shè)計(jì)與優(yōu)化4)CISC4)CISC與與RISCRISC的概念的概念5)MIPS5)MIPS指令系統(tǒng)簡(jiǎn)介紹指令系統(tǒng)簡(jiǎn)介紹計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理45.1 5.1 指令格式指令格式1 1、指令格式的一般形式:、指令格式的一般形式:操作碼操作碼(OP)(OP)地址碼字段地址碼字段(A)(A)操作碼:表明指令的操作特性與功能。操作碼:表明指令的操作特性與功能。地址碼:用來協(xié)助表示操作數(shù)或操作數(shù)的地址
2、。地址碼:用來協(xié)助表示操作數(shù)或操作數(shù)的地址。1)1)操作碼操作碼: : 不同功能的指令,操作碼字段的編碼不同。不同功能的指令,操作碼字段的編碼不同。 操作碼的長(zhǎng)度取決于計(jì)算機(jī)的指令的數(shù)量操作碼的長(zhǎng)度取決于計(jì)算機(jī)的指令的數(shù)量, ,即即 L LOPOP= = log log 2 2 n n 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理52)2)地址碼字段地址碼字段 由于一條指令可能需要多個(gè)操作數(shù),因此,一條指令中可由于一條指令可能需要多個(gè)操作數(shù),因此,一條指令中可 能能會(huì)有多個(gè)地址字段。會(huì)有多個(gè)地址字段。 根據(jù)一條指令中地址碼字段的個(gè)數(shù),將指令進(jìn)行如下分類:根據(jù)一條指令中地址碼字段的個(gè)數(shù),將指令進(jìn)行如下分類: 三
3、操作數(shù)指令:三操作數(shù)指令: OPA1A3A2(A1 )OP (A2) (A1 )OP (A2) A3 A3二操作數(shù)指令:二操作數(shù)指令:OPA1A2(A1) OP (A2) (A1) OP (A2) A1 A1一操作數(shù)指令一操作數(shù)指令:OPA1(AC ) OP (A1)(AC ) OP (A1) AC AC0 0 操作數(shù)指令:操作數(shù)指令:OP 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理6OP-源寄存器源寄存器目標(biāo)寄存器目標(biāo)寄存器15974 302.2.指令格式舉例指令格式舉例例例1 1 指令格式如下指令格式如下, ,其中其中OPOP為操作碼為操作碼, ,試分析指令格式的特點(diǎn)試分析指令格式的特點(diǎn). .分析分析:
4、 :單字長(zhǎng)二地址指令單字長(zhǎng)二地址指令OPOP為為7 7位位, ,可以表示可以表示128128條指令條指令源操作數(shù)和目的操作數(shù)都是通用寄存器源操作數(shù)和目的操作數(shù)都是通用寄存器( (可分別使用可分別使用1616個(gè)個(gè)),),故是故是RRRR型指令型指令. .適合于算術(shù)運(yùn)算和邏輯運(yùn)算指令適合于算術(shù)運(yùn)算和邏輯運(yùn)算指令計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理7例例2 2 指令格式如下指令格式如下, ,分析指令格式的特點(diǎn)分析指令格式的特點(diǎn). .OP-源寄存器源寄存器 變址寄存器變址寄存器151074 30位移量位移量分析:分析:雙字長(zhǎng),二地址指令,用于訪問存儲(chǔ)器雙字長(zhǎng),二地址指令,用于訪問存儲(chǔ)器OPOP為為6 6位位
5、, 可以表示可以表示3232條指令條指令一個(gè)操作數(shù)在寄存器中(可用一個(gè)操作數(shù)在寄存器中(可用1616個(gè)),另一個(gè)在主存中,所以是個(gè)),另一個(gè)在主存中,所以是RSRS型型指令。指令。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 5.2 5.2 尋址方式尋址方式 存儲(chǔ)程序是實(shí)現(xiàn)存儲(chǔ)控制的前提存儲(chǔ)程序是實(shí)現(xiàn)存儲(chǔ)控制的前提, ,內(nèi)存基于地址訪問內(nèi)存基于地址訪問; ; 尋址方式就是尋找指令或操作數(shù)有效地址的方法尋址方式就是尋找指令或操作數(shù)有效地址的方法; ; 尋址方式是指令系統(tǒng)設(shè)計(jì)的重要內(nèi)容,對(duì)指令格式和指令功能設(shè)計(jì)均尋址方式是指令系統(tǒng)設(shè)計(jì)的重要內(nèi)容,對(duì)指令格式和指令功能設(shè)計(jì)均有很大的影響。一套好的尋址方式能給用戶提供
6、豐富的程序設(shè)計(jì)手段,有很大的影響。一套好的尋址方式能給用戶提供豐富的程序設(shè)計(jì)手段,能提高程序的運(yùn)行速度和存儲(chǔ)空間的利用率。能提高程序的運(yùn)行速度和存儲(chǔ)空間的利用率。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理9順序?qū)ぶ罚喉樞驅(qū)ぶ罚合乱粭l指令的地址在當(dāng)前指令的地址基礎(chǔ)上加下一條指令的地址在當(dāng)前指令的地址基礎(chǔ)上加“1”1”得到的尋址方式。得到的尋址方式。通通常由程序計(jì)數(shù)器常由程序計(jì)數(shù)器PCPC來計(jì)數(shù)指令的順序號(hào)來計(jì)數(shù)指令的順序號(hào) 1 1、指令的尋址方式、指令的尋址方式100PC+1100101計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理10 不是由不是由PC+1PC+1的方式得到下一條指令的地址,而是指令的方式得到下一條指令的地址
7、,而是指令直接給出或由指令執(zhí)行結(jié)果決定的尋址方式,如轉(zhuǎn)移指令。直接給出或由指令執(zhí)行結(jié)果決定的尋址方式,如轉(zhuǎn)移指令。跳躍尋址:跳躍尋址:100Jmp 103PC103計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理112.2.操作數(shù)的尋址方式操作數(shù)的尋址方式有效地址有效地址操作數(shù)在內(nèi)存中的地址操作數(shù)在內(nèi)存中的地址 , , 一般用一般用E E 表示表示 , , 則數(shù)據(jù)則數(shù)據(jù) S =(E)S =(E)操作數(shù)尋址方式操作數(shù)尋址方式 形成操作數(shù)有效地址的方法形成操作數(shù)有效地址的方法操作數(shù)來源基本上有三種情況:操作數(shù)來源基本上有三種情況:操作數(shù)直接來自指令地址字段;操作數(shù)直接來自指令地址字段;操作數(shù)存放在寄存器中,即寄存器操
8、作數(shù);操作數(shù)存放在寄存器中,即寄存器操作數(shù); 操作數(shù)存放在存儲(chǔ)器中,即存儲(chǔ)器操作數(shù)。操作數(shù)存放在存儲(chǔ)器中,即存儲(chǔ)器操作數(shù)。操作數(shù)尋址方式就是如何從上述三種來源中為指令提供操作數(shù)。操作數(shù)尋址方式就是如何從上述三種來源中為指令提供操作數(shù)。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理122)2)立即數(shù)尋址立即數(shù)尋址 : :操作數(shù)在指令中操作數(shù)在指令中 指令的地址字段指出的不是地址指令的地址字段指出的不是地址, ,而是操作數(shù)本身而是操作數(shù)本身. . 如如 ADD AX , 2038H ADD AX , 2038H 不計(jì)算不計(jì)算E , S=2038HE , S=2038H 優(yōu)點(diǎn)優(yōu)點(diǎn): : 不需要訪問存儲(chǔ)器不需要訪問存儲(chǔ)
9、器, , 指令執(zhí)行速度快指令執(zhí)行速度快 不足不足: : 數(shù)據(jù)的大小受形式地址字段的長(zhǎng)度限制。數(shù)據(jù)的大小受形式地址字段的長(zhǎng)度限制。如:若地址字段為如:若地址字段為1616位,則表示的數(shù)據(jù)范圍位,則表示的數(shù)據(jù)范圍-32768 -32768 3276732767不明確地給出操作數(shù)的地址不明確地給出操作數(shù)的地址, ,而是在指令中隱含地給出而是在指令中隱含地給出. . 如二操作數(shù)地址指令就隱含如二操作數(shù)地址指令就隱含ACAC作為一個(gè)操作數(shù)地址作為一個(gè)操作數(shù)地址. .又如又如 DAA DAA 這類尋址方式中,被隱含的部分一般是寄存器,故不計(jì)算這類尋址方式中,被隱含的部分一般是寄存器,故不計(jì)算E E1)1)
10、隱含尋址隱含尋址: :操作數(shù)在寄存器中操作數(shù)在寄存器中計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理133)3)直接尋址直接尋址: :數(shù)據(jù)在內(nèi)存中數(shù)據(jù)在內(nèi)存中由指令的地址部分直接給出操作數(shù)的有效地址由指令的地址部分直接給出操作數(shù)的有效地址 所以所以 E=D S=(D)=(E)E=D S=(D)=(E)例如:例如: MOV AXMOV AX, 2038H2038H不足不足: : 尋址范圍受尋址范圍受D D的位數(shù)的限制的位數(shù)的限制計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理144)4)間接尋址間接尋址 ( (相對(duì)于直接尋址相對(duì)于直接尋址): ): 操作數(shù)在內(nèi)存中操作數(shù)在內(nèi)存中指令的形式地址部分給出的是指令的形式地址部分給出的是操作
11、數(shù)地址的地址操作數(shù)地址的地址, ,即是操作數(shù)地址的指即是操作數(shù)地址的指示器示器. .E=(D) S=(E)=(D)E=(D) S=(E)=(D)優(yōu)點(diǎn)優(yōu)點(diǎn): : 尋址的范圍不再受尋址的范圍不再受D D的位數(shù)限制的位數(shù)限制不足不足: :增加了訪問內(nèi)存的次數(shù),降低了指令執(zhí)行速度增加了訪問內(nèi)存的次數(shù),降低了指令執(zhí)行速度計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 5)5)寄存器尋址和寄存器間接尋址寄存器尋址和寄存器間接尋址: :數(shù)據(jù)分別在寄存器和主存中數(shù)據(jù)分別在寄存器和主存中寄存器尋址:寄存器尋址: 操作數(shù)不放在內(nèi)存中,而是放在操作數(shù)不放在內(nèi)存中,而是放在通用寄存器通用寄存器 ( (? ?) )中,此時(shí),中,此時(shí),指
12、令的形式地址字段指令的形式地址字段D D的值表示的是寄存器號(hào)。的值表示的是寄存器號(hào)。 不計(jì)算不計(jì)算E, S = E, S = (R RD D)寄存器間接尋址:寄存器間接尋址: 寄存器的內(nèi)容不是操作數(shù),而是操作數(shù)所在內(nèi)存單元的地址寄存器的內(nèi)容不是操作數(shù),而是操作數(shù)所在內(nèi)存單元的地址 E= E= (R RD D) S=S=(E E)=( R=( RD D ) ) 特點(diǎn):特點(diǎn): 既解決了尋址范圍的問題,又不增加訪內(nèi)存的次數(shù)既解決了尋址范圍的問題,又不增加訪內(nèi)存的次數(shù)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理166)6)相對(duì)尋址相對(duì)尋址: :數(shù)據(jù)在內(nèi)存中數(shù)據(jù)在內(nèi)存中把把PCPC的值和指令中形式地址的值和指令中形式地
13、址D D的內(nèi)容相加,作為有效地址。的內(nèi)容相加,作為有效地址。PCPC的值是當(dāng)?shù)闹凳钱?dāng)前指令的還是下一條指令的前指令的還是下一條指令的? ?。E=(PC) + D E=(PC) + D S= (E) = (PC)+D)S= (E) = (PC)+D)特點(diǎn)特點(diǎn): :程序員可以使用相對(duì)地址編程程序員可以使用相對(duì)地址編程, ,所編制的所編制的程序可以放在內(nèi)存的任意可以使用的地方程序可以放在內(nèi)存的任意可以使用的地方計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理17例例3 3 某計(jì)算機(jī)采用雙字節(jié)長(zhǎng)指令某計(jì)算機(jī)采用雙字節(jié)長(zhǎng)指令, ,內(nèi)存基于字節(jié)尋址內(nèi)存基于字節(jié)尋址, ,指令中的數(shù)據(jù)采用指令中的數(shù)據(jù)采用補(bǔ)碼表示補(bǔ)碼表示, ,且
14、且PCPC的值在取指階段完成修改的值在取指階段完成修改. .完成下列相對(duì)尋址的問題完成下列相對(duì)尋址的問題. .1)1)若某采用相對(duì)尋址指令的當(dāng)前地址為若某采用相對(duì)尋址指令的當(dāng)前地址為2003H,2003H,且要求轉(zhuǎn)移后的目標(biāo)地址且要求轉(zhuǎn)移后的目標(biāo)地址為為200AH,200AH,則該相對(duì)尋址指令的形式地址字段的值為多少則該相對(duì)尋址指令的形式地址字段的值為多少? ?2)2)若某采用相對(duì)尋址的指令的當(dāng)前地址為若某采用相對(duì)尋址的指令的當(dāng)前地址為2008H,2008H,且要求轉(zhuǎn)移后的目標(biāo)地且要求轉(zhuǎn)移后的目標(biāo)地址為址為2001H,2001H,則該相對(duì)尋址指令的形式地址字段的值為多少則該相對(duì)尋址指令的形式地
15、址字段的值為多少? ?解解: :1)200AH (2003H +2) = 5H (0000 0101)1)200AH (2003H +2) = 5H (0000 0101)2)2001H (2008H +2) = -9 (1111 0111 2)2001H (2008H +2) = -9 (1111 0111 即即F7H)F7H)若計(jì)算機(jī)字長(zhǎng)若計(jì)算機(jī)字長(zhǎng)3232位位, , 且且PCPC的值在取指階段修改的值在取指階段修改, ,情況如何情況如何? ?計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理187)7)基址尋址基址尋址: :數(shù)據(jù)在主存中數(shù)據(jù)在主存中把基址寄存器的內(nèi)容和把基址寄存器的內(nèi)容和D D的內(nèi)容相加,作為
16、有效地址。的內(nèi)容相加,作為有效地址。其中其中基址寄存器中的值不變基址寄存器中的值不變,D D中的值可變。中的值可變。E = E = (BXBX)+ D + D S = S = (E E)= (BX)+D)= (BX)+D)特點(diǎn)特點(diǎn): :基址寄存器的位數(shù)可以設(shè)得很長(zhǎng),因基址寄存器的位數(shù)可以設(shè)得很長(zhǎng),因而,可以擴(kuò)大尋址能力而,可以擴(kuò)大尋址能力計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理198 8)變址尋址)變址尋址: :數(shù)據(jù)在主存中數(shù)據(jù)在主存中把變址寄存器的內(nèi)容和把變址寄存器的內(nèi)容和D D的內(nèi)容相加,作為有效地址。的內(nèi)容相加,作為有效地址。其中其中變址寄存器中的值可變變址寄存器中的值可變,D D中的值不變中的值不
17、變。E = (X)+DE = (X)+DS = (E)=(X)+D)S = (E)=(X)+D)特點(diǎn)特點(diǎn): : 不是為了擴(kuò)大尋址空間不是為了擴(kuò)大尋址空間, ,而是為了實(shí)現(xiàn)而是為了實(shí)現(xiàn)程序的有規(guī)律的浮動(dòng)程序的有規(guī)律的浮動(dòng), ,而不改變指令而不改變指令. .如循環(huán)如循環(huán)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理20例例4 4 主存數(shù)據(jù)分布如圖所示主存數(shù)據(jù)分布如圖所示, ,若若A A為單元地址為單元地址 (A)(A)為為A A的內(nèi)容的內(nèi)容, ,求求 ( 7 ) - (N) + ( N )+ ( N )( 7 ) - (N) + ( N )+ ( N )的值的值911225344320.501234567N( 7
18、) = 9( 7 ) = 9( N )= 5( N )= 5( N ) = 3( N ) = 3 ( N )=53 ( N )=53 結(jié)果結(jié)果 = 60= 60計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理219)9)堆棧尋址方式堆棧尋址方式堆棧是計(jì)算機(jī)中的暫存單元堆棧是計(jì)算機(jī)中的暫存單元a)a)串聯(lián)堆棧串聯(lián)堆棧組成:組成: CPUCPU內(nèi)的一組專門寄存器組成,每個(gè)寄存器保存一個(gè)字內(nèi)的一組專門寄存器組成,每個(gè)寄存器保存一個(gè)字操作操作 進(jìn)棧:進(jìn)棧:將某個(gè)通用寄存器中的數(shù)據(jù)送入堆棧。將某個(gè)通用寄存器中的數(shù)據(jù)送入堆棧。 出棧:出棧:將堆棧中棧頂?shù)臄?shù)據(jù)送到某個(gè)寄存器中將堆棧中棧頂?shù)臄?shù)據(jù)送到某個(gè)寄存器中計(jì)算機(jī)組成原理計(jì)算
19、機(jī)組成原理22特點(diǎn):特點(diǎn):快速:在快速:在CPUCPU內(nèi)部實(shí)現(xiàn)內(nèi)部實(shí)現(xiàn)串行:進(jìn)棧和出棧涉及到棧內(nèi)所有其它數(shù)據(jù)的移動(dòng)串行:進(jìn)棧和出棧涉及到棧內(nèi)所有其它數(shù)據(jù)的移動(dòng)破壞性讀出:讀數(shù)據(jù)的同時(shí)也離開了堆棧破壞性讀出:讀數(shù)據(jù)的同時(shí)也離開了堆棧棧容量有限:取決于棧容量有限:取決于CPUCPU內(nèi)堆棧專用寄存器的數(shù)量?jī)?nèi)堆棧專用寄存器的數(shù)量棧頂不動(dòng),數(shù)據(jù)移動(dòng)棧頂不動(dòng),數(shù)據(jù)移動(dòng)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理23b)b)存儲(chǔ)器堆棧存儲(chǔ)器堆棧把主存的一部分作為堆棧區(qū),稱為存儲(chǔ)器堆棧。把主存的一部分作為堆棧區(qū),稱為存儲(chǔ)器堆棧。存儲(chǔ)器堆棧的結(jié)構(gòu)存儲(chǔ)器堆棧的結(jié)構(gòu)出棧操作:出棧操作:SP SP (SP) +1 (SP) +1 ,
20、 A A (Msp) (Msp)特點(diǎn):特點(diǎn):堆棧指示器,用于指示棧頂堆棧指示器,用于指示棧頂( (空空) )。是。是CPUCPU內(nèi)部的一個(gè)寄存器內(nèi)部的一個(gè)寄存器堆棧操作期間,堆棧中的數(shù)據(jù)不動(dòng),堆棧操作期間,堆棧中的數(shù)據(jù)不動(dòng),棧頂移動(dòng)棧頂移動(dòng)非破壞性讀出非破壞性讀出入棧操作:入棧操作:MspMsp (A) (A) , SP , SP (SP) 1 (SP) 1 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理245.3 5.3 指令格式設(shè)計(jì)與優(yōu)化指令格式設(shè)計(jì)與優(yōu)化確定指令采用定長(zhǎng)還是變長(zhǎng)結(jié)構(gòu)確定指令采用定長(zhǎng)還是變長(zhǎng)結(jié)構(gòu), ,在此基礎(chǔ)還要確定操作碼字段和地址在此基礎(chǔ)還要確定操作碼字段和地址碼字段的位數(shù)及其組合形式,以
21、及各種尋址方式的編碼方法。碼字段的位數(shù)及其組合形式,以及各種尋址方式的編碼方法。1.1.指令格式的設(shè)計(jì)指令格式的設(shè)計(jì) 1)1)指令編碼格式的設(shè)計(jì)指令編碼格式的設(shè)計(jì)確定指令是采用定長(zhǎng)指令結(jié)構(gòu)、變長(zhǎng)指令結(jié)構(gòu)還是混合結(jié)構(gòu)。確定指令是采用定長(zhǎng)指令結(jié)構(gòu)、變長(zhǎng)指令結(jié)構(gòu)還是混合結(jié)構(gòu)。2)2)操作碼的設(shè)計(jì)操作碼的設(shè)計(jì)確定操作碼采用定長(zhǎng)結(jié)構(gòu)還是可變長(zhǎng)的操作碼,對(duì)于變長(zhǎng)操作碼結(jié)構(gòu)還要確定操作碼采用定長(zhǎng)結(jié)構(gòu)還是可變長(zhǎng)的操作碼,對(duì)于變長(zhǎng)操作碼結(jié)構(gòu)還要研究其實(shí)現(xiàn)方法。研究其實(shí)現(xiàn)方法。3)3)地址碼的設(shè)計(jì)地址碼的設(shè)計(jì) 設(shè)計(jì)地址碼的個(gè)數(shù)和位數(shù)設(shè)計(jì)地址碼的個(gè)數(shù)和位數(shù). .地址碼的設(shè)計(jì)往往還與尋址方式有關(guān)。地址碼的設(shè)計(jì)往往還與
22、尋址方式有關(guān)。4)4)尋址方式的設(shè)計(jì)尋址方式的設(shè)計(jì)有兩種方法,一種是把尋址方式與操作碼一起編碼,另一種是設(shè)置專門的有兩種方法,一種是把尋址方式與操作碼一起編碼,另一種是設(shè)置專門的尋址方式字段指示對(duì)應(yīng)的操作數(shù)所采用的尋址方式。尋址方式字段指示對(duì)應(yīng)的操作數(shù)所采用的尋址方式。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理25例例5 5 字長(zhǎng)字長(zhǎng)1616位,主存位,主存64K64K,指令單字長(zhǎng)單地址,指令單字長(zhǎng)單地址,8080條指令。尋址條指令。尋址方式有直接、間接、相對(duì)、變址。請(qǐng)?jiān)O(shè)計(jì)指令格式方式有直接、間接、相對(duì)、變址。請(qǐng)?jiān)O(shè)計(jì)指令格式解:解:8080條指令條指令 OP OP字段需要字段需要7 7位位( 2( 27 7
23、=128 )=128 ) 4 4種尋址方式種尋址方式 尋址方式特征位尋址方式特征位2 2位位 單地址位長(zhǎng)度單地址位長(zhǎng)度:16-7-2 =7:16-7-2 =7位位 指令格式如下:指令格式如下:OPOPX XA A7 72 27 7PCPC為為1616位位 變址寄存器變址寄存器1616位位相對(duì)尋址相對(duì)尋址 E=E=(PCPC)+D ,+D ,尋址范圍為:尋址范圍為:64K64K變址尋址變址尋址 E=E=(R R)+D +D , 尋址范圍為:尋址范圍為:64K64K直接尋址直接尋址 E = D E = D ,尋址范圍為,尋址范圍為128128間接尋址間接尋址 E = E = (D D),), 尋址
24、范圍為尋址范圍為64K64K計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理262.2.指令格式的優(yōu)化指令格式的優(yōu)化指令格式優(yōu)化設(shè)計(jì)主要研究操作碼優(yōu)化和地址碼優(yōu)化的基本方法指令格式優(yōu)化設(shè)計(jì)主要研究操作碼優(yōu)化和地址碼優(yōu)化的基本方法, ,優(yōu)化的主要目標(biāo):優(yōu)化的主要目標(biāo): 節(jié)省程序的存儲(chǔ)空間節(jié)省程序的存儲(chǔ)空間 指令格式盡量規(guī)整,以減少硬件譯碼的復(fù)雜程度指令格式盡量規(guī)整,以減少硬件譯碼的復(fù)雜程度1)1)操作碼優(yōu)化操作碼優(yōu)化 :如何縮短操作碼的長(zhǎng)度如何縮短操作碼的長(zhǎng)度, ,降低信息冗余。降低信息冗余。(1)Huffman(1)Huffman編碼法編碼法 根據(jù)指令的使用頻度設(shè)計(jì)操作碼字段長(zhǎng)度,頻度高的指令操作碼字段根據(jù)指令的
25、使用頻度設(shè)計(jì)操作碼字段長(zhǎng)度,頻度高的指令操作碼字段短短( (屬于定長(zhǎng)擴(kuò)展屬于定長(zhǎng)擴(kuò)展,4-8-12 or 3-6-9),4-8-12 or 3-6-9)。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理27例例6 6 哈夫曼壓縮,某機(jī)器指令使用頻率如下:哈夫曼壓縮,某機(jī)器指令使用頻率如下:I I1 1(0.4)(0.4)、I I2 2(0.3)(0.3)、I I3 3(0.15)(0.15)、 I I4 4(0.05)(0.05)、I I5 5(0.04)(0.04)、I I6 6(0.03)(0.03)、I I7 7 (0.03)(0.03)編制全哈夫曼碼編制全哈夫曼碼OPOP解:先構(gòu)造解:先構(gòu)造Huffman
26、Huffman樹樹Pi 哈夫曼哈夫曼OP OP長(zhǎng)度長(zhǎng)度 擴(kuò)展哈夫曼擴(kuò)展哈夫曼OP Op長(zhǎng)度長(zhǎng)度 I1 1 0.4 0 1 00 2 I2 2 0.3 10 2 01 2 I3 3 0.15 110 3 10 2 I4 4 0.05 11100 5 1100 4 I5 5 0.04 11101 5 1101 4 I6 6 0.03 11110 5 1110 4 I7 7 0.03 11111 5 1111 4 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理28不增加指令長(zhǎng)度的情況下增加能表示的指令數(shù)量,操作碼擴(kuò)展的基本不增加指令長(zhǎng)度的情況下增加能表示的指令數(shù)量,操作碼擴(kuò)展的基本要求:要求: 短碼不能是長(zhǎng)碼的前綴短
27、碼不能是長(zhǎng)碼的前綴 操作碼不能重復(fù)操作碼不能重復(fù) 各類指令的格式應(yīng)規(guī)整(體會(huì):各類指令的格式應(yīng)規(guī)整(體會(huì):4-8-12 or 3-6-94-8-12 or 3-6-9 )(2)(2)基于地址碼擴(kuò)展的優(yōu)化:操作碼基于地址碼擴(kuò)展的優(yōu)化:操作碼向地址碼字段擴(kuò)展。向地址碼字段擴(kuò)展。( (介于定長(zhǎng)和哈介于定長(zhǎng)和哈弗曼編碼間,屬于不定長(zhǎng)擴(kuò)展弗曼編碼間,屬于不定長(zhǎng)擴(kuò)展) )計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理29例例7 7 設(shè)某指令系統(tǒng)指令字長(zhǎng)設(shè)某指令系統(tǒng)指令字長(zhǎng)1616位,每個(gè)地址碼為位,每個(gè)地址碼為6 6位。若二地址指令位。若二地址指令1515條,一地址指令條,一地址指令3434條,則剩下零地址指令最多有多少條
28、?條,則剩下零地址指令最多有多少條?解解: :操作碼按短到長(zhǎng)進(jìn)行擴(kuò)展編碼操作碼按短到長(zhǎng)進(jìn)行擴(kuò)展編碼二地址指令二地址指令: (0000 1110) : (0000 1110) 共共1515條條 ( (不擴(kuò)展時(shí)為不擴(kuò)展時(shí)為1616條條) )一地址指令一地址指令: 1111 (000000 111111); (: 1111 (000000 111111); (全集全集) )零地址指令零地址指令: 1111 (: 1111 (100010 11111100010 11111) (000000 111111) (000000 111111) (30(30種擴(kuò)展標(biāo)志種擴(kuò)展標(biāo)志) )故零地址指令最多有故零地
29、址指令最多有3030 2 26 6=15 =15 2 27 7 種種OP(4)A1(6)A2(6)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理30目的是縮短地址碼的長(zhǎng)度,并能用較短的地址碼表示較大的邏輯空間目的是縮短地址碼的長(zhǎng)度,并能用較短的地址碼表示較大的邏輯空間, ,常見方法包括常見方法包括: :2)2)地址碼優(yōu)化方法地址碼優(yōu)化方法(1)(1)用間接尋址方式縮短地址碼長(zhǎng)度用間接尋址方式縮短地址碼長(zhǎng)度在主存儲(chǔ)器的低端開辟出一個(gè)專門用來存儲(chǔ)地址的區(qū)域,由于表示在主存儲(chǔ)器的低端開辟出一個(gè)專門用來存儲(chǔ)地址的區(qū)域,由于表示存儲(chǔ)器低端部分的地址所需的地址碼長(zhǎng)度可以很短。存儲(chǔ)器低端部分的地址所需的地址碼長(zhǎng)度可以很短。(
30、2)(2)用變址尋址方式縮短地址碼長(zhǎng)度用變址尋址方式縮短地址碼長(zhǎng)度由于程序局部性原理,在變址尋址方式中使用的地址偏移量可以比較由于程序局部性原理,在變址尋址方式中使用的地址偏移量可以比較短,可把比較長(zhǎng)的基地址放在變址寄存器中,在指令的地址碼中只需短,可把比較長(zhǎng)的基地址放在變址寄存器中,在指令的地址碼中只需給出比較短的地址偏移量。給出比較短的地址偏移量。(3)(3)用寄存器間接尋址方式縮短地址碼長(zhǎng)度用寄存器間接尋址方式縮短地址碼長(zhǎng)度由于寄存器的數(shù)量比較少,表示一個(gè)寄存器的地址只需很少幾位,而由于寄存器的數(shù)量比較少,表示一個(gè)寄存器的地址只需很少幾位,而一個(gè)寄存器足可以放下一個(gè)邏輯地址。一個(gè)寄存器足
31、可以放下一個(gè)邏輯地址。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理315.4 CISC5.4 CISC和和RISCRISC簡(jiǎn)介簡(jiǎn)介1.CISC- Complex Instruction Set Computer1.CISC- Complex Instruction Set Computer :復(fù)雜指令集計(jì)算機(jī)復(fù)雜指令集計(jì)算機(jī)1)1)早期早期CISCCISC設(shè)計(jì)風(fēng)格的主要特點(diǎn):設(shè)計(jì)風(fēng)格的主要特點(diǎn):(1)(1)指令系統(tǒng)復(fù)雜。具體表現(xiàn)在指令數(shù)多、尋址方式多、指令格式多。指令系統(tǒng)復(fù)雜。具體表現(xiàn)在指令數(shù)多、尋址方式多、指令格式多。(2)(2)絕大多數(shù)指令需要多個(gè)時(shí)鐘周期才能執(zhí)行完成。絕大多數(shù)指令需要多個(gè)時(shí)鐘周期才能執(zhí)行
32、完成。(3)(3)各種指令都可訪問存儲(chǔ)器。各種指令都可訪問存儲(chǔ)器。(4)(4)采用微程序控制。采用微程序控制。(5)(5)有專用寄存器。有專用寄存器。(6)(6)難以用優(yōu)化編譯生成高效的目標(biāo)代碼程序。難以用優(yōu)化編譯生成高效的目標(biāo)代碼程序。2)CISC2)CISC計(jì)算機(jī)代表計(jì)算機(jī)代表: : IBM IBM公司的大、中型計(jì)算機(jī),公司的大、中型計(jì)算機(jī),Intel 8086Intel 8086、8028680286、80386 80386 等等 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理321)RISC1)RISC指令系統(tǒng)的主要特征指令系統(tǒng)的主要特征2).RISC2).RISC計(jì)算機(jī)代表計(jì)算機(jī)代表: :(1) In
33、tel(1) Intel的的PentiumPentium問世以來問世以來(92(92年末年末) ),融合了,融合了RISCRISC技術(shù)技術(shù);(2) IBM 801(2) IBM 801、 DEC AlphaDEC Alpha、HP PAHP PA、 IBM PowerPC;IBM PowerPC;(3) MIPS(3) MIPS機(jī)機(jī): R3000: R3000、R4000R4000、R10000R10000等等. .(1)(1)選取使用頻率最高的一些簡(jiǎn)單指令;選取使用頻率最高的一些簡(jiǎn)單指令;(2)(2)簡(jiǎn)化的指令系統(tǒng)。指令長(zhǎng)度固定、指令數(shù)少、基本尋址方式少、指簡(jiǎn)化的指令系統(tǒng)。指令長(zhǎng)度固定、指令
34、數(shù)少、基本尋址方式少、指令格式少、指令字長(zhǎng)度一致。令格式少、指令字長(zhǎng)度一致。(3)(3)只有取數(shù)存數(shù)指令訪問存儲(chǔ)器,其余的指令操作都在寄存器之間只有取數(shù)存數(shù)指令訪問存儲(chǔ)器,其余的指令操作都在寄存器之間進(jìn)行。進(jìn)行。RISCRISC的的CPUCPU的寄存器較多的寄存器較多, ,如如MIPSMIPS機(jī)有機(jī)有3232個(gè)寄存器。個(gè)寄存器。(4)(4)以流水方式工作,從而可在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行完畢。以流水方式工作,從而可在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行完畢。(5)(5)采用陣列邏輯實(shí)現(xiàn)的組合電路控制器,不用或少用微程序。采用陣列邏輯實(shí)現(xiàn)的組合電路控制器,不用或少用微程序。(6)(6)采用優(yōu)化編譯技術(shù),保證流水線暢通,
35、優(yōu)化寄存器分配。采用優(yōu)化編譯技術(shù),保證流水線暢通,優(yōu)化寄存器分配。2.RISC-Reduced Instruction Set Computer : 2.RISC-Reduced Instruction Set Computer : 精減指令集計(jì)算機(jī)精減指令集計(jì)算機(jī)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理335.5 MIPS5.5 MIPS指令介紹指令介紹1.1.三類指令三類指令MIPS MIPS 是是8080年代初期由斯坦福年代初期由斯坦福(Stanford)(Stanford)大學(xué)大學(xué)HennessyHennessy教授領(lǐng)導(dǎo)的研究小教授領(lǐng)導(dǎo)的研究小組研制成功組研制成功. . rs:rs:源操作數(shù)字段源
36、操作數(shù)字段1 1 rt:rt:源操作數(shù)字段源操作數(shù)字段2 2 rd:rd:目的數(shù)字段目的數(shù)字段 MIPSMIPS指令采用等長(zhǎng)指令結(jié)構(gòu),三種類型指令都是指令采用等長(zhǎng)指令結(jié)構(gòu),三種類型指令都是3232位;位; 沒有尋址方式字段;沒有尋址方式字段; 操作碼字段長(zhǎng)度固定為操作碼字段長(zhǎng)度固定為6 6位;位;計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理34R R型指令的操作數(shù)只能來自寄存器,運(yùn)算結(jié)果也只能存入寄存器中,屬型指令的操作數(shù)只能來自寄存器,運(yùn)算結(jié)果也只能存入寄存器中,屬于于RRRR型指令。型指令。R R型指令的型指令的OPOP字段為字段為000000000000,具體的操作由,具體的操作由functfunct字
37、段指字段指定,該字段的編碼與具體定,該字段的編碼與具體R R型運(yùn)算的關(guān)系下表所示。型運(yùn)算的關(guān)系下表所示。1) R1) R型指令型指令計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理35若是雙目運(yùn)算,若是雙目運(yùn)算,rs rs 和和rtrt字段分別是第一和第二源操作數(shù),字段分別是第一和第二源操作數(shù), rdrd字段指明存放結(jié)果的寄存器;若是字段指明存放結(jié)果的寄存器;若是移位移位運(yùn)算,則表示對(duì)運(yùn)算,則表示對(duì)rtrt的內(nèi)的內(nèi)容進(jìn)行移位,所移位數(shù)由容進(jìn)行移位,所移位數(shù)由shamtshamt字段指定。字段指定。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理36例例8 8 將指令將指令add $t0,$s1,$s2add $t0,$s1,$s2翻
38、譯為機(jī)器碼翻譯為機(jī)器碼($t0=$s1+$s2)($t0=$s1+$s2)解:解: opop: 000000 000000 加加/ /減減 functfunct:100000 100000 選擇加操作選擇加操作(SUB(SUB指令為指令為100010)100010) 寄存器寄存器$t0-$t7$t0-$t7分別對(duì)應(yīng)寄存器分別對(duì)應(yīng)寄存器8-158-15 寄存器寄存器$S0-$S7$S0-$S7分別對(duì)應(yīng)寄存器分別對(duì)應(yīng)寄存器16-2316-23 shamt shamt對(duì)應(yīng)對(duì)應(yīng)0 0 $s1: 17=10001B $s2: 18=10010B $t0: 8=01000B $s1: 17=10001B $s2: 18=10010B $t0: 8=01000B 000
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度股權(quán)轉(zhuǎn)讓與客戶關(guān)系維護(hù)合同范本3篇
- 二零二五年度出口貨物出口許可證與憑證辦理合同3篇
- 2025年文化藝術(shù)展廳展示策劃與運(yùn)營(yíng)合同3篇
- 二零二五年度廚房設(shè)備安全檢測(cè)與維護(hù)合同4篇
- 二零二五年度國(guó)有企業(yè)勞動(dòng)合同簽訂及員工培訓(xùn)與晉升協(xié)議3篇
- 2025年度新型門窗研發(fā)與安裝項(xiàng)目合同3篇
- 2025年滅鼠滅蟑專業(yè)防治與社區(qū)共建合同3篇
- 2025年度農(nóng)產(chǎn)品加工品廣告宣傳合同4篇
- 2025年度個(gè)人車輛抵押借款協(xié)議(車輛抵押貸款合同終止協(xié)議)4篇
- 二零二五年度新能源儲(chǔ)能技術(shù)研發(fā)合同范本
- 9.1增強(qiáng)安全意識(shí) 教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版道德與法治七年級(jí)上冊(cè)
- 《化工設(shè)備機(jī)械基礎(chǔ)(第8版)》全套教學(xué)課件
- 人教版八年級(jí)數(shù)學(xué)下冊(cè)舉一反三專題17.6勾股定理章末八大題型總結(jié)(培優(yōu)篇)(學(xué)生版+解析)
- 2024屆上海高考語文課內(nèi)古詩文背誦默寫篇目(精校版)
- DL-T5024-2020電力工程地基處理技術(shù)規(guī)程
- 2024年度-美團(tuán)新騎手入門培訓(xùn)
- 初中數(shù)學(xué)要背誦記憶知識(shí)點(diǎn)(概念+公式)
- 駕照體檢表完整版本
- 農(nóng)產(chǎn)品農(nóng)藥殘留檢測(cè)及風(fēng)險(xiǎn)評(píng)估
- 農(nóng)村高中思想政治課時(shí)政教育研究的中期報(bào)告
- 20100927-宣化上人《愣嚴(yán)咒句偈疏解》(簡(jiǎn)體全)
評(píng)論
0/150
提交評(píng)論