西電計算機(jī)組成原理21_第1頁
西電計算機(jī)組成原理21_第2頁
西電計算機(jī)組成原理21_第3頁
西電計算機(jī)組成原理21_第4頁
西電計算機(jī)組成原理21_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1指令類型指令指令的典型的典型分類分類:n數(shù)據(jù)傳送類數(shù)據(jù)傳送類n算術(shù)運(yùn)算類算術(shù)運(yùn)算類n邏輯運(yùn)算類邏輯運(yùn)算類n移位類移位類n字符串操作類字符串操作類n數(shù)據(jù)轉(zhuǎn)換類數(shù)據(jù)轉(zhuǎn)換類n輸入輸入/輸出類輸出類n程序控制類程序控制類n系統(tǒng)控制類系統(tǒng)控制類2指令類型數(shù)據(jù)傳送類數(shù)據(jù)傳送類n完成源操作數(shù)與目的操作數(shù)之間的復(fù)制。完成源操作數(shù)與目的操作數(shù)之間的復(fù)制。l指定源和目的操作數(shù)的指定源和目的操作數(shù)的位置位置。p存儲器存儲器根據(jù)尋址方式,計算存儲器地址:根據(jù)尋址方式,計算存儲器地址:u如果地址指的是虛擬存儲器,則將虛地址如果地址指的是虛擬存儲器,則將虛地址轉(zhuǎn)換實(shí)際存儲器地址,確定所尋找的項(xiàng)是轉(zhuǎn)換實(shí)際存儲器地址,確定

2、所尋找的項(xiàng)是否在否在Cache中;中;u如果不是,向存儲器模塊發(fā)存取命令。如果不是,向存儲器模塊發(fā)存取命令。 p寄存器寄存器p堆棧堆棧l指明將要傳送數(shù)據(jù)的指明將要傳送數(shù)據(jù)的長度長度;l為每個操作數(shù)指定相應(yīng)的為每個操作數(shù)指定相應(yīng)的尋址方式尋址方式。3指令類型算術(shù)運(yùn)算類算術(shù)運(yùn)算類n加、減、乘、除加、減、乘、除n定點(diǎn)有符號整數(shù)、浮點(diǎn)數(shù)、壓縮十進(jìn)制數(shù)定點(diǎn)有符號整數(shù)、浮點(diǎn)數(shù)、壓縮十進(jìn)制數(shù)n單操作數(shù)指令單操作數(shù)指令l有符號數(shù)的絕對值(有符號數(shù)的絕對值(Absolute)l求操作數(shù)的相反數(shù)(求操作數(shù)的相反數(shù)(Negate)l遞增操作數(shù)(遞增操作數(shù)(Increment)l遞減操作數(shù)(遞減操作數(shù)(Decreme

3、nt)n由由ALU完成完成4指令類型邏輯運(yùn)算類邏輯運(yùn)算類n按位運(yùn)算:按位運(yùn)算:ABNOT AA AND BA OR BA XOR BA B0010001011011010001101101101基本邏輯操作基本邏輯操作5移位操作移位操作n移位和旋轉(zhuǎn)運(yùn)算:移位和旋轉(zhuǎn)運(yùn)算:6指令類型數(shù)據(jù)轉(zhuǎn)換類數(shù)據(jù)轉(zhuǎn)換類n完成對數(shù)據(jù)格式進(jìn)行轉(zhuǎn)換操作完成對數(shù)據(jù)格式進(jìn)行轉(zhuǎn)換操作n如:如:Intel處理器的十進(jìn)制數(shù)據(jù)調(diào)整指令處理器的十進(jìn)制數(shù)據(jù)調(diào)整指令A(yù)AA、AAS、AAD、AAM、DAA、DAS7指令類型輸入輸出類輸入輸出類n完成主機(jī)與外圍設(shè)備之間的信息交換完成主機(jī)與外圍設(shè)備之間的信息交換l輸入輸入/輸出數(shù)據(jù)輸出數(shù)據(jù)l主

4、機(jī)向外設(shè)發(fā)控制命令主機(jī)向外設(shè)發(fā)控制命令l主機(jī)了解外設(shè)的工作狀態(tài)主機(jī)了解外設(shè)的工作狀態(tài)n輸入輸出的方式輸入輸出的方式l存儲映射的編程控制存儲映射的編程控制I/O方式:統(tǒng)一編址方式:統(tǒng)一編址pMOV 指令指令l分立的編程控制的分立的編程控制的I/O方式:獨(dú)立編址方式:獨(dú)立編址pIN 指令指令pOUT 指令指令lDMA方式方式lI/O處理器方式處理器方式l通道處理機(jī)方式通道處理機(jī)方式 8指令類型程序控制類程序控制類n轉(zhuǎn)移指令轉(zhuǎn)移指令n循環(huán)控制指令循環(huán)控制指令n過程調(diào)用和返回指令過程調(diào)用和返回指令n程序自中斷指令程序自中斷指令9指令類型程序控制類程序控制類n無條件轉(zhuǎn)移指令:無條件轉(zhuǎn)移指令:【例例】In

5、tel處理器的處理器的JMP指令指令n條件轉(zhuǎn)移指令:對設(shè)定條件轉(zhuǎn)移指令:對設(shè)定條件條件進(jìn)行測試,僅當(dāng)進(jìn)行測試,僅當(dāng)條件條件滿足時,進(jìn)行轉(zhuǎn)移,否則程序繼續(xù)順序執(zhí)行。滿足時,進(jìn)行轉(zhuǎn)移,否則程序繼續(xù)順序執(zhí)行。轉(zhuǎn)移轉(zhuǎn)移條件:條件:l進(jìn)位標(biāo)志進(jìn)位標(biāo)志l結(jié)果為零標(biāo)志結(jié)果為零標(biāo)志l正負(fù)標(biāo)志正負(fù)標(biāo)志l溢出標(biāo)志溢出標(biāo)志l奇偶標(biāo)志奇偶標(biāo)志l1. 轉(zhuǎn)移指令轉(zhuǎn)移指令10指令類型程序控制類程序控制類n可以通過可以通過條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令實(shí)現(xiàn)循環(huán)程序設(shè)計實(shí)現(xiàn)循環(huán)程序設(shè)計n有些計算機(jī)為了提高指令系統(tǒng)的效率,專門設(shè)置有些計算機(jī)為了提高指令系統(tǒng)的效率,專門設(shè)置了了循環(huán)控制指令循環(huán)控制指令【例例】x86中的中的LOOP指令指

6、令n循環(huán)控制指令循環(huán)控制指令是具有是具有復(fù)合功能復(fù)合功能的指令的指令2. 循環(huán)控制指令循環(huán)控制指令11指令類型程序控制類程序控制類n過程機(jī)制涉及的基本指令:過程機(jī)制涉及的基本指令:l由目前位置轉(zhuǎn)移到過程的由目前位置轉(zhuǎn)移到過程的調(diào)用指令調(diào)用指令l由過程返回到調(diào)用發(fā)生位置的由過程返回到調(diào)用發(fā)生位置的返回指令返回指令3. 過程調(diào)用和返回指令過程調(diào)用和返回指令過程調(diào)用示意過程調(diào)用示意 12指令類型程序控制類程序控制類n過程機(jī)制涉及的基本指令:過程機(jī)制涉及的基本指令:l由目前位置轉(zhuǎn)移到過程的由目前位置轉(zhuǎn)移到過程的調(diào)用指令調(diào)用指令l由過程返回到調(diào)用發(fā)生位置的由過程返回到調(diào)用發(fā)生位置的返回指令返回指令n過程

7、可以由多個不同位置調(diào)用過程可以由多個不同位置調(diào)用n過程中能再次調(diào)用過程,原則上允許過程嵌套到過程中能再次調(diào)用過程,原則上允許過程嵌套到任意深度任意深度n每一過程調(diào)用與被調(diào)用程序中的一次返回相匹配每一過程調(diào)用與被調(diào)用程序中的一次返回相匹配n過程調(diào)用的參數(shù)傳遞過程調(diào)用的參數(shù)傳遞3. 過程調(diào)用和返回指令過程調(diào)用和返回指令13指令類型程序控制遞類程序控制遞類n為了在程序調(diào)試中為了在程序調(diào)試中設(shè)置斷點(diǎn)設(shè)置斷點(diǎn)或或?qū)崿F(xiàn)系統(tǒng)功能調(diào)用實(shí)現(xiàn)系統(tǒng)功能調(diào)用n【例例】Intel x86處理機(jī)中的軟中斷指令處理機(jī)中的軟中斷指令I(lǐng)NT n 4. 程序自中斷指令程序自中斷指令14指令類型系統(tǒng)控制類系統(tǒng)控制類n通常是通常是特

8、權(quán)指令特權(quán)指令n由由操作系統(tǒng)操作系統(tǒng)或或系統(tǒng)軟件系統(tǒng)軟件使用使用n在在多用戶多用戶、多任務(wù)多任務(wù)計算機(jī)系統(tǒng)中,必須設(shè)置特權(quán)指令計算機(jī)系統(tǒng)中,必須設(shè)置特權(quán)指令n主要用于主要用于系統(tǒng)資源系統(tǒng)資源的的分配分配和和管理管理l檢測用戶的檢測用戶的訪問權(quán)限訪問權(quán)限l修改虛擬存儲器中的修改虛擬存儲器中的段表段表、頁表頁表l改變系統(tǒng)改變系統(tǒng)工作模式工作模式l任務(wù)任務(wù)的創(chuàng)建與切換的創(chuàng)建與切換ln在某些多用戶計算機(jī)系統(tǒng)中,為了統(tǒng)一管理各外圍設(shè)在某些多用戶計算機(jī)系統(tǒng)中,為了統(tǒng)一管理各外圍設(shè)備,備,輸入輸入/輸出指令輸出指令也被列為特權(quán)指令也被列為特權(quán)指令計算機(jī)組織與體系結(jié)構(gòu) 指令系統(tǒng)指令設(shè)計指令設(shè)計16n指令格式指

9、令格式 n地址碼設(shè)計地址碼設(shè)計 n操作碼設(shè)計操作碼設(shè)計n指令長度設(shè)計指令長度設(shè)計 指令設(shè)計指令設(shè)計17指令格式指令格式n操作碼操作碼l指令要完成的功能指令要完成的功能n地址碼地址碼/操作數(shù)地址操作數(shù)地址/操作數(shù)操作數(shù)l提供指令的操作對象提供指令的操作對象l直接數(shù)據(jù)直接數(shù)據(jù)l數(shù)據(jù)地址數(shù)據(jù)地址簡單指令格式簡單指令格式 18指令設(shè)計指令設(shè)計地址碼設(shè)計地址碼設(shè)計n數(shù)據(jù)數(shù)據(jù):地址、數(shù)值、字符、邏輯數(shù)據(jù):地址、數(shù)值、字符、邏輯數(shù)據(jù)n指令可能需要的指令可能需要的地址地址引用:引用:l兩個操作數(shù)兩個操作數(shù)l一個結(jié)果一個結(jié)果l下條指令的地址下條指令的地址 n常用的常用的地址碼地址碼數(shù)目:數(shù)目:l四地址四地址:

10、op rd,rs1,rs2,ni; rs1 op rs2-rd, use nil三地址:三地址: op rd,rs1,rs2 ; rd=rs1 op rs2, use PC l雙地址:雙地址: op rd,rs1 ; rd=rd op rs1, rd=rs1 op ACC, use PC l單地址:單地址:op rd; ACC=rd op ACC, rd = rd自身操自身操作作l零地址:零地址: op源操作數(shù)源操作數(shù)目的操作數(shù)目的操作數(shù)下一指令地址下一指令地址19指令格式指令格式操作碼設(shè)計操作碼設(shè)計n定長定長l構(gòu)造簡單,有利于指令的譯碼和后續(xù)的執(zhí)行構(gòu)造簡單,有利于指令的譯碼和后續(xù)的執(zhí)行l(wèi)占用

11、的空間較大占用的空間較大n變長變長l對不同類型的指令操作碼用不固定長度的二進(jìn)制對不同類型的指令操作碼用不固定長度的二進(jìn)制數(shù)進(jìn)行編碼,擴(kuò)展操作碼編碼方式數(shù)進(jìn)行編碼,擴(kuò)展操作碼編碼方式l原則原則p如果指令字長固定,則長地址碼對應(yīng)短操作如果指令字長固定,則長地址碼對應(yīng)短操作碼,操作碼長度隨地址碼長度縮短而增加;碼,操作碼長度隨地址碼長度縮短而增加;p如果指令字長可變,則以指令使用頻度作為如果指令字長可變,則以指令使用頻度作為設(shè)計依據(jù),霍夫曼(設(shè)計依據(jù),霍夫曼(Huffman)編碼)編碼p設(shè)計從短操作碼開始,保證有效區(qū)分與未來設(shè)計從短操作碼開始,保證有效區(qū)分與未來的操作碼編碼的操作碼編碼20指令格式指

12、令格式霍夫曼編碼霍夫曼編碼n表表5.2指令使用頻度統(tǒng)計指令使用頻度統(tǒng)計序號序號X86指令指令在整數(shù)運(yùn)算測試程序中各類指令使用頻度(在整數(shù)運(yùn)算測試程序中各類指令使用頻度(%)1加載222條件分支203比較164存儲125加法86與運(yùn)算67減法58寄存器-寄存器傳送49調(diào)用110返回1合計9521指令格式指令格式霍夫曼編碼霍夫曼編碼n例,計算機(jī)有例,計算機(jī)有10條指令,使用頻率分別為條指令,使用頻率分別為0.30、0.20、0.16、0.09、0.08、0.07、0.04、0.03、0.02、0.01,進(jìn)行,進(jìn)行Huffman樹進(jìn)行編碼,計算平均碼長。樹進(jìn)行編碼,計算平均碼長。n解:圖見后解:圖見

13、后n編碼方案編碼方案n平均碼長度平均碼長度=2.84位位頻度頻度0.300.200.160.090.080.070.040.030.020.01編碼11011010011001100000010000100000010000000長度2233444566指令格式指令格式霍夫曼編碼霍夫曼編碼2210.610.300.310.390.200.190.090.100.040.060.030.030.020.010.160.150.080.0723指令格式指令格式霍夫曼編碼霍夫曼編碼n例,計算機(jī)有例,計算機(jī)有20條指令的使用頻率是條指令的使用頻率是80%,80條指條指令的使用頻率是令的使用頻率是15%

14、,40條指令的使用頻率是條指令的使用頻率是5%,試設(shè)計固定長度和可變長度的操作碼。試設(shè)計固定長度和可變長度的操作碼。n解解(1)定長操作碼)定長操作碼 :140條指令,條指令,8位操作碼長度,位操作碼長度,從從256種編碼中選擇種編碼中選擇140種編碼分配給種編碼分配給140條指令作條指令作為操作碼。為操作碼。n(2)擴(kuò)展操作碼)擴(kuò)展操作碼n見后見后n平均碼長度平均碼長度=5.7位位24指令格式指令格式霍夫曼編碼霍夫曼編碼頻率頻率條數(shù)條數(shù)操作碼編碼操作碼編碼擴(kuò)展位數(shù)應(yīng)滿足關(guān)系擴(kuò)展位數(shù)應(yīng)滿足關(guān)系0.820000002032100110.15801010000080(32-20)x81110111

15、10.0540111100000040(2x8)x411111001112515-15-15編碼方法編碼方法8-64-512編碼方法編碼方法特特定定規(guī)規(guī)則則的的擴(kuò)擴(kuò)展展操操作作碼碼 26指令格式指令格式依據(jù)地址碼數(shù)量擴(kuò)展操作碼依據(jù)地址碼數(shù)量擴(kuò)展操作碼n例,某指令系統(tǒng)的指令長度確定為例,某指令系統(tǒng)的指令長度確定為32位,由三地址、位,由三地址、二地址、一地址、零地址指令組成,其中各類指令二地址、一地址、零地址指令組成,其中各類指令中地址字段位數(shù)如下表,則各類指令的操作碼可以中地址字段位數(shù)如下表,則各類指令的操作碼可以設(shè)計為幾位?各類指令數(shù)量最多是多少?設(shè)計為幾位?各類指令數(shù)量最多是多少?操作碼操

16、作碼地址地址1(5)地址地址2(5)地址地址3(16)操作碼(?)操作碼(?)操作碼(?)操作碼(?)27指令格式指令格式依據(jù)地址碼數(shù)量擴(kuò)展操作碼依據(jù)地址碼數(shù)量擴(kuò)展操作碼n解:解:l三地址指令:三地址指令:p操作碼操作碼6位,指令數(shù)位,指令數(shù)n3=26-1l二地址指令:二地址指令:p操作碼操作碼11位,指令數(shù)位,指令數(shù)n2=(26-n3)x 25-1l單地址指令:單地址指令:p操作碼操作碼16位,位,p指令數(shù)指令數(shù)n1=(26-n3)x 25-n2)x25-1l零地址指令:零地址指令:p操作碼操作碼32位,位,p指令數(shù)指令數(shù)n0=(26-n3)x 25-n2)x25-n1) x 21628指令格式指令格式指令長度設(shè)計指令長度設(shè)計n短的操作碼與多種地址碼配合短的操作碼與多種地址碼配合n長的操作碼與簡單地址碼組合長的操作碼與簡單地址碼組合n指令長度一般設(shè)計為指令長度一般設(shè)計為總線寬度總線寬度的的整數(shù)倍整數(shù)倍n指令

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論