歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

計算機(jī)組成原理第7章.ppt

  • 資源ID:2877567       資源大?。?span id="1eqo6f3" class="font-tahoma">987KB        全文頁數(shù):58頁
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

計算機(jī)組成原理第7章.ppt

第七章 指 令 系 統(tǒng),指令系統(tǒng),CPU的主要工作是執(zhí)行指令,指令是指揮計算機(jī)執(zhí)行某些操作的命令,一臺計算機(jī)所有指令的集合構(gòu)成該計算機(jī)的指令系統(tǒng)。,一、機(jī)器指令的格式,一條指令就是機(jī)器語言的一個語句,由一組二進(jìn)制代碼來表示。一條指令由兩部分構(gòu)成:,操作碼:指明指令的操作性質(zhì)及功能。 地址碼:指明操作數(shù)的地址。 一條指令必須有一個操作碼,可能包含幾個地址碼。,1、操作碼,指令系統(tǒng)中的每一條指令都有一個唯一確定的操作碼,反應(yīng)不同的操作功能。 指令操作碼的編碼可以分為定長編碼和變長編碼。,(1)定長編碼,這是一種最簡單的編碼方式,操作碼的位數(shù)和位置固定,指令長度不固定。 操作碼不同涉及的操作數(shù)的個數(shù)不同,所以指令的長度隨操作碼而變化。 例如,IBM370機(jī)就是采用這種定長操作碼格式。 IBM 370機(jī)(字長32位)的指令可分為三種不同的長度,不論指令的長度有多少位,其中的操作碼字段一律都是8位。,IBM 370機(jī)的指令格式,(2)變長編碼,這是一種操作碼長度不固定,而指令長度固定的設(shè)計方法。 PDP-11機(jī)(字長16位)的指令分為單字長、兩字長、三字長三種,操作碼字段占416位不等,可遍及整個指令長度。 顯然,操作碼字段位數(shù)的不固定將增加指令譯碼的難度,使控制器的設(shè)計復(fù)雜化。但是,它有效地利用每個二進(jìn)制位。,PDP-11機(jī)的指令格式,(3) 擴(kuò)展操作碼技術(shù),操作碼的位數(shù)隨地址數(shù)的減少而增加,4 位操作碼,8 位操作碼,12 位操作碼,16 位操作碼,15條三地址指令,15條二地址指令,15條一地址指令,16條零地址指令,7.1,2. 地址碼,(1) 四地址,(2) 三地址,8 6 6 6 6,A1 第一操作數(shù)地址,A2 第二操作數(shù)地址,A3 結(jié)果的地址,A4 下一條指令地址,若 PC 代替 A4,8 8 8 8,4 次訪存,4 次訪存,尋址范圍 26 = 64,尋址范圍 28 = 256,若 A3 用 A1 或 A2 代替,7.1,(3) 二地址,8 12 12,或,4 次訪存,若ACC 代替 A1(或A2),若結(jié)果存于 ACC,(4) 一地址,(5) 零地址,8 24,無地址碼,2 次訪存,尋址范圍 212 = 4 K,尋址范圍 224 = 16 M,3次訪存,7.1,二、指令字長,指令字長決定于,操作碼的長度,指令字長 = 存儲字長,2. 指令字長 可變,操作數(shù)地址的長度,操作數(shù)地址的個數(shù),1. 指令字長 固定,按字節(jié)的倍數(shù)變化,7.1,小結(jié),當(dāng)用一些硬件資源代替指令字中的地址碼字段后,當(dāng)指令的地址字段為寄存器時,可擴(kuò)大指令的尋址范圍,可縮短指令字長,可減少訪存次數(shù),三地址 OP R1, R2, R3,二地址 OP R1, R2,一地址 OP R1,指令執(zhí)行階段不訪存,可縮短指令字長,7.1,7.2 操作數(shù)類型和操作種類,一、操作數(shù)類型,無符號整數(shù),定點數(shù)、浮點數(shù)、十進(jìn)制數(shù),ASCII,邏輯運(yùn)算,二、數(shù)據(jù)在存儲器中的存放方式,字地址 為 低字節(jié) 地址,字地址 為 高字節(jié) 地址,存儲器中的數(shù)據(jù)存放(存儲字長為 32 位),7.2,三、操作類型,1. 數(shù)據(jù)傳送,寄存器,寄存器,寄存器,寄存器,存儲器,存儲器,存儲器,存儲器,置“1”,清“0”,2. 算術(shù)邏輯操作,加、減、乘、除、增 1、減 1、求補(bǔ)、浮點運(yùn)算、十進(jìn)制運(yùn)算,與、或、非、異或、位操作、位測試、位清除、位求反,如 8086,MOVE,STORE,LOAD,MOVE,PUSH,POP,例如,MOVE,MOVE,7.2,ADD SUB MUL DIV INC DEC CMP NEG AAA AAS AAM AAD AND OR NOT XOR TEST,3. 移位操作,算術(shù)移位,4. 轉(zhuǎn)移,(1) 無條件轉(zhuǎn)移 JMP,(2) 條件轉(zhuǎn)移,結(jié)果為零轉(zhuǎn) (Z = 1) JZ,結(jié)果溢出轉(zhuǎn) (O = 1)JO,結(jié)果有進(jìn)位轉(zhuǎn)(C = 1)JC,跳過一條指令 SKP,循環(huán)移位(帶進(jìn)位和不帶進(jìn)位),如,邏輯移位,完成觸發(fā)器,7.2,SAL,SAR SHL ,SHR,RCL,RCR ROL ,ROR,8086cpu的標(biāo)志寄存器,標(biāo)志寄存器,FLAGS為標(biāo)志寄存器,又稱PSW(Program Status Word),即程序狀態(tài)寄存器。這是一個存放條件碼標(biāo)志、控制標(biāo)志和系統(tǒng)標(biāo)志的寄存器。, 條件碼標(biāo)志 包括以下6位: OF(Over Flow Flag) 溢出標(biāo)志。(示例) 將參加算術(shù)運(yùn)算的數(shù)看作帶符號數(shù),如運(yùn)算結(jié)果超出補(bǔ)碼表示數(shù)的范圍N,即溢出時,則OF置1;否則OF置0。對于字節(jié)運(yùn)算有128N+127;對于字運(yùn)算有32768N+32767。 SF(Sign Flag) 符號標(biāo)志。(示例) 把指令執(zhí)行結(jié)果看作帶符號數(shù),如結(jié)果為負(fù),則SF置1;結(jié)果為正,則SF置0。 ZF(Zero Flag) 零標(biāo)志。(示例) 如指令執(zhí)行結(jié)果各位全為0時,則ZF置1;否則ZF置0。,8086 CPU中標(biāo)志寄存器的內(nèi)容:,CF(Carry Flag) 進(jìn)位標(biāo)志。 (示例) (與OF的區(qū)別) 在進(jìn)行算術(shù)運(yùn)算時,如最高位(對字操作是第15位,對字節(jié)操作是第7位)產(chǎn)生進(jìn)位或借位時,則CF置1;否則置0。在移位類指令中,CF用來存放移出的代碼(0或1)。 AF(Auxiliary Carry Flag)輔助進(jìn)位標(biāo)志 (與CF的區(qū)別) 在進(jìn)行算術(shù)運(yùn)算時,如低字節(jié)中低4位(第3位)產(chǎn)生進(jìn)位或借位時,則AF置1;否則AF置0。AF可用于十進(jìn)制運(yùn)算的校正。 PF(Parity Flag) 奇偶標(biāo)志。 (示例) 用來為機(jī)器中傳送信息時可能產(chǎn)生的代碼出錯情況提供檢驗條件。當(dāng)運(yùn)算結(jié)果中1的個數(shù)為偶數(shù)時置1,否則置0。,示例指令1: mov al,98 add al,99 執(zhí)行后將產(chǎn)生溢出。因為add al,99 進(jìn)行的有符號數(shù)運(yùn)算是:(al)=(al)+99=98+99=197 而結(jié)果197超出了機(jī)器所能表示的8位有符號數(shù)的范圍:-128127。 示例指令2: mov al,0F0H ;0F0H,為有符號數(shù)-16的補(bǔ)碼 add al,88H ;88H,為有符號數(shù)-120的補(bǔ)碼 執(zhí)行后將產(chǎn)生溢出。 因為add al,88H進(jìn)行的有符號數(shù)運(yùn)算是: (al)=(al)+(-120)=(-16)+(-120)=-136 而結(jié)果-136超出了機(jī)器所能表示的8位有符號數(shù)的范圍:-128127。,OF示例,計算機(jī)中通常用補(bǔ)碼來表示有符號數(shù)據(jù)。所以計算機(jī)中的一個數(shù)據(jù)可以看作是有符號數(shù),也可以看成是無符號數(shù) 指令示例 mov al,10000001B add al,1 結(jié)果: (al)=10000010B 將add指令進(jìn)行的運(yùn)算當(dāng)作無符號數(shù)的運(yùn)算,那么add指令相當(dāng)于計算129+1,結(jié)果為130(10000010B);雖然運(yùn)算影響了SF的值,但是SF的值則沒有意義。,SF示例,將add指令進(jìn)行的運(yùn)算當(dāng)作有符號數(shù)的運(yùn)算,那么add指令相當(dāng)于計算-127+1,結(jié)果為-126(10000010B)。這是結(jié)果為負(fù)數(shù),則SF=1,所以通過SF來得知結(jié)果的正負(fù)。 總之,SF 標(biāo)志就是CPU對有符號數(shù)運(yùn)算結(jié)果的一種記錄 ,它記錄數(shù)據(jù)的正負(fù)。,指令示例: mov ax,1 sub ax,1 指令執(zhí)行后,結(jié)果為0,則ZF =1。 mov ax,2 sub ax,1 指令執(zhí)行后,結(jié)果為1,則ZF = 0。,ZF示例,比如,兩個8 位數(shù)據(jù):98H+98H,將產(chǎn)生進(jìn)位。 mov al,98H add al,al ;執(zhí)行后: (al)=30H,CF=1, add al,al ;執(zhí)行后:(al)=60H,CF=0, ;CF記錄了最高有效位向更高位的進(jìn)位值 比如,兩個 8 位數(shù)據(jù):97H-98H,將產(chǎn)生借位,借位后,相當(dāng)于計算197H-98H。 mov al,98H sub al,al ;執(zhí)行后: (al)=FFH,CF=1, sub al,al ;執(zhí)行后: (al)=00H,CF=0, ;CF記錄了最高有效位向更高位的借位值,CF示例,示例 指令:mov al,1 add al,10 執(zhí)行后,結(jié)果為00001011B,其中有3(奇數(shù))個1,則PF=0; 指令:mov al,1 or al,10 執(zhí)行后,結(jié)果為00000011B,其中有2(偶數(shù))個1,則PF=1;,PF示例,CF是對無符號數(shù)運(yùn)算有意義的標(biāo)志位; OF是對有符號數(shù)運(yùn)算有意義的標(biāo)志位。 比如: mov al,98 add al,99 add指令執(zhí)行后:CF=0,OF=1。 總的來說, 對于無符號數(shù)運(yùn)算,CPU用CF位來記錄是否產(chǎn)生了進(jìn)位; 對于有符號數(shù)運(yùn)算,CPU 用 OF 位來記錄是否產(chǎn)生了溢出,還要用SF位來記錄結(jié)果的符號。 它們之間沒有任何關(guān)系。,OF與CF的區(qū)別,OF與CF的區(qū)別,區(qū)別: 8位運(yùn)算或16位運(yùn)算時如果有進(jìn)位或借位CF等于1。 AF也一樣是進(jìn)位或借位的標(biāo)志,只不過它是4位運(yùn)算時的進(jìn)位或借位的標(biāo)志。 示例:兩個8位寄存器,AL=1000 0001,BL=1000 0011; add AL BL ;結(jié)果CF=1,AF=0 因為AL和BL的低四位相加沒有進(jìn)位 AF是為了在BCD碼運(yùn)算時,要用到的,因為BCD碼是以4位表示的。, 控制標(biāo)志位1位 DF(Direction Flag)方向標(biāo)志,用來在串處理指令中控制處理信息的方向。 當(dāng)DF位為1時,每次操作后使變址寄存器SI和DI減小,這樣就使串處理從高地址向低地址方向處理。當(dāng)DF位為0時,則使SI和DI增大,使串處理從低地址向高地址方向處理。 系統(tǒng)標(biāo)志位: TF(Trap Flag) 陷阱標(biāo)志,用于調(diào)試時的單步方式操作。 IF(Interrupt Flag) 中斷標(biāo)志 。,在調(diào)試程序DEBUG中提供了測試標(biāo)志位的手段,用符號表示某些標(biāo)志位的值:,(3) 調(diào)用和返回,CALL SUB1,CALL SUB2,CALL SUB2,RETURN,RETURN,7.2,IN AX, n,OUT DX, AL,OUT n, AX,OUT DX, AX,(4) 陷阱(Trap)與陷阱指令,意外事故的中斷,設(shè)置供用戶使用的陷阱指令,如 8086 INT TYPE 軟中斷,提供給用戶使用的陷阱指令,完成系統(tǒng)調(diào)用,5. 輸入輸出,IN AL, DX,IN AX, DX,7.2,如,如,IN AL, n,OUT n, AL,7.3 尋 址 方 式,尋址方式,確定 本條指令 的 操作數(shù)地址 下一條 欲執(zhí)行 指令 的 指令地址,尋址方式,7.3 尋 址 方 式,一、指令尋址,順序,跳躍,由轉(zhuǎn)移指令指出,二、數(shù)據(jù)尋址,形式地址,指令字中的地址,有效地址,操作數(shù)的真實地址,約定,指令字長 = 存儲字長 = 機(jī)器字長,1. 立即尋址,指令執(zhí)行階段不訪存,A 的位數(shù)限制了立即數(shù)的范圍,可正可負(fù) 補(bǔ)碼,形式地址 A 就是操作數(shù),7.3,2. 直接尋址,EA = A,尋址特征,A,ACC,執(zhí)行階段訪問一次存儲器,A 的位數(shù)決定了該指令操作數(shù)的尋址范圍,操作數(shù)的地址不易修改(必須修改A),有效地址由形式地址直接給出,7.3,3. 隱含尋址,操作數(shù)地址隱含在操作碼中,尋址特征,A,ACC,暫存,另一個操作數(shù) 隱含在 ACC 中,如 8086,MUL 指令,被乘數(shù)隱含在 AX(16位)或 AL(8位)中,MOVS 指令,源操作數(shù)的地址隱含在 SI 中,目的操作數(shù)的地址隱含在 DI 中,指令字中少了一個地址字段,可縮短指令字長,7.3,4. 間接尋址,EA =(A),有效地址由形式地址間接提供,尋址特征,A,EA,A1,EA,執(zhí)行指令階段 2 次訪存,可擴(kuò)大尋址范圍,便于編制程序,尋址特征,A,一次間址,多次間址,操作數(shù),操作數(shù),多次訪存,7.3, ,轉(zhuǎn) 子程序,轉(zhuǎn) 子程序,間接尋址編程舉例,(A) = 81,(A) = 202, 間址特征,7.3,JMP A,5. 寄存器尋址,EA = Ri,執(zhí)行階段不訪存,只訪問寄存器,執(zhí)行速度快,尋址特征,寄存器個數(shù)有限,可縮短指令字長,有效地址即為寄存器編號,7.3,EA = ( Ri ),6. 寄存器間接尋址,有效地址在寄存器中, 操作數(shù)在存儲器中,執(zhí)行階段訪存,尋址特征,便于編制循環(huán)程序,有效地址在寄存器中,7.3,7. 基址尋址,(1) 采用專用寄存器作基址寄存器,EA = ( BR ) + A,BR 為基址寄存器,尋址特征,可擴(kuò)大尋址范圍,便于程序搬家,BR 內(nèi)容由操作系統(tǒng)或管理程序確定,在程序的執(zhí)行過程中 BR 內(nèi)容不變,形式地址 A 可變,7.3,(2) 采用通用寄存器作基址寄存器,尋址特征,R0 作基址寄存器,由用戶指定哪個通用寄存器作為基址寄存器,基址寄存器的內(nèi)容由操作系統(tǒng)確定,在程序的執(zhí)行過程中 R0 內(nèi)容不變,形式地址 A 可變,7.3,8. 變址尋址,EA = ( IX ) +A,尋址特征,可擴(kuò)大尋址范圍,便于處理數(shù)組問題,IX 的內(nèi)容由用戶給定,IX 為變址寄存器(專用),在程序的執(zhí)行過程中 IX 內(nèi)容可變,形式地址 A 不變,通用寄存器也可以作為變址寄存器,7.3,例,設(shè)數(shù)據(jù)塊首地址為 D,求 N 個數(shù)的平均值,直接尋址,變址尋址,LDA D,ADD D + 1,ADD D + 2,ADD D + ( N -1 ),DIV # N,STA ANS,LDA # 0,LDX # 0,INX,CPX # N,BNE M,DIV # N,STA ANS,共 N + 2 條指令,共 8 條指令,X 為變址寄存器,D 為形式地址,(X) 和 #N 比較,結(jié)果不為零則轉(zhuǎn),7.3,9. 相對尋址,EA = ( PC ) + A,A 是相對于當(dāng)前指令的位移量(可正可負(fù),補(bǔ)碼),A 的位數(shù)決定操作數(shù)的尋址范圍,程序浮動,廣泛用于轉(zhuǎn)移指令,操作數(shù),尋址特征,相對距離 A,7.3,(1) 相對尋址舉例,M 隨程序所在存儲空間的位置不同而不同,EA = ( M+3 ) 3 = M,7.3,(2) 按字節(jié)尋址的相對尋址舉例,JMP * + 8,設(shè) 當(dāng)前指令地址 PC = 2000H,轉(zhuǎn)移后的目的地址為 2008H,因為 取出 JMP * + 8 后 PC = 2002H,二字節(jié)指令,故 JMP * + 8 指令 的第二字節(jié)為 2008H - 2002H = 6H,7.3,10. 堆棧尋址,(1) 堆棧的特點,堆棧,多個寄存器,指定的存儲空間,先進(jìn)后出(一個入出口),棧頂?shù)刂?由 SP 指出, 1,1FFFH,+1,2000 H,1FFF H,2000 H,7.3,(2) 堆棧尋址舉例,PUSH A 前,PUSH A 后,POP A 前,POP A 后,7.3,(3) SP 的修改與主存編址方法有關(guān), 按 字 編址,進(jìn)棧,出棧, 按 字節(jié) 編址,存儲字長 16 位,進(jìn)棧,出棧,存儲字長 32 位,進(jìn)棧,出棧,7.3,7.4 指令格式舉例,一、設(shè)計指令格式時應(yīng)考慮的各種因素,1. 指令系統(tǒng)的 兼容性,(向上兼容),2. 其他因素,操作類型,數(shù)據(jù)類型,指令格式,包括指令個數(shù)及操作的難易程度,指令字長、操作碼位數(shù),尋址方式,寄存器個數(shù),地址碼位數(shù)、地址個數(shù),尋址方式、是否采用擴(kuò)展操作碼,二、指令格式舉例,1. PDP 8,指令字長固定 12 位,7.4,2. PDP 11,指令字長有 16 位、32 位、48 位三種,零地址 (16 位),一地址 (16 位),擴(kuò)展操作碼技術(shù),7.4,3. IBM 360,7.4,4. Intel 8086,(1) 指令字長,(2) 地址格式,1 6 個字節(jié),MOV WORD PTR0204, 0138H 6 字節(jié),INC AX 1 字節(jié),一地址,NOP 1 字節(jié),CALL,零地址,寄存器 寄存器,寄存器 立即數(shù),寄存器 存儲器,ADD AX,BX 2 字節(jié),ADD AX,3048H 4 字節(jié),ADD AX,3048H 3 字節(jié),二地址,CALL,7.4,7.5 RISC 技 術(shù),一、RISC 的產(chǎn)生和發(fā)展,80 20 規(guī)律,典型程序中 80% 的語句僅僅使 用處理機(jī)中 20% 的指令,執(zhí)行頻度高的簡單指令,因復(fù)雜指令 的存在,執(zhí)行速度無法提高,RISC(Reduced Instruction Set Computer),CISC(Complex Instruction Set Computer), RISC技術(shù),二、RISC 的主要特征,選用使用頻率較高的一些 簡單指令 復(fù)雜指令的功能由簡單指令來組合,指令 長度固定,只有 LOAD / STORE 指令訪存,流水技術(shù) 一個時鐘周期 內(nèi)完成一條指令,組合邏輯 實現(xiàn)控制器,多個 通用 寄存器,采用 優(yōu)化 的 編譯 程序,7.5,

注意事項

本文(計算機(jī)組成原理第7章.ppt)為本站會員(max****ui)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!