chp4-2_尋址方式1_第1頁
chp4-2_尋址方式1_第2頁
chp4-2_尋址方式1_第3頁
chp4-2_尋址方式1_第4頁
chp4-2_尋址方式1_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1第四章第四章 指令系統(tǒng)指令系統(tǒng)4.1 指令系統(tǒng)的發(fā)展與性能要求4.2 指令格式4.3 操作數(shù)類型4.4 指令和數(shù)據(jù)的尋址方式4.5 典型指令返回24.3 操作數(shù)類型操作數(shù)類型l操作數(shù)類型l地址數(shù)據(jù):地址實(shí)際上也是一種形式的數(shù)據(jù)。l數(shù)值數(shù)據(jù):計(jì)算機(jī)中普遍使用的三種類型的數(shù)值數(shù)據(jù)。l字符數(shù)據(jù):文本數(shù)據(jù)或字符串,目前廣泛使用ASCII碼。l邏輯數(shù)據(jù):一個(gè)單元中有幾位二進(jìn)制bit項(xiàng)組成,每個(gè)bit的值可以是1或0。當(dāng)數(shù)據(jù)以這種方式看待時(shí),稱為邏輯性數(shù)據(jù)。lPentium數(shù)據(jù)類型(見P121表4.4)l常規(guī)數(shù)據(jù)類型l整數(shù)數(shù)據(jù)類型l.34.4 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式l研究問題l確定本條

2、指令中各操作數(shù)的地址l下一條指令的地址l尋址方式是指CPU根據(jù)指令中給出的地址碼字段尋找相應(yīng)的操作數(shù)的方式,它與計(jì)算機(jī)硬件結(jié)構(gòu)緊密相關(guān),而且對(duì)指令的格式和功能有很大的影響。44.4 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式l指令的尋址方式l順序方式lPCl跳躍方式54.4 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式l操作數(shù)的尋址方式l形成操作數(shù)有效地址的方法,稱為尋址方式。l操作數(shù)通常放在哪兒呢?l操作數(shù)包含在指令中;l操作數(shù)包含在CPU的某一個(gè)內(nèi)部寄存器中;l操作數(shù)包含在主存儲(chǔ)器中;l操作數(shù)包含在I/O設(shè)備的端口中l(wèi)根據(jù)操作數(shù)放在不同的地方,從而派生各種不同的尋址方式,往往不同的計(jì)算機(jī)具有不同

3、的尋址方式。671、隱含尋址、隱含尋址l指令中隱含著操作數(shù)的地址l如某些運(yùn)算,隱含了累加器AC作為源和目的寄存器82、立即尋址、立即尋址l立即尋址:指令直接給出操作數(shù)l這樣的操作數(shù)被稱為立即數(shù)l指令格式:操作數(shù)OP立即數(shù)S92、立即尋址、立即尋址l特點(diǎn):在取指令時(shí),操作碼和操作數(shù)被同時(shí)取出,不必再次訪問存儲(chǔ)器,從而提高了指令的執(zhí)行速度。l但是,因?yàn)椴僮鲾?shù)是指令的一部分,不能被修改;而且對(duì)于定長指令格式,操作數(shù)的大小將受到指令長度的限制,所以這種尋址方式靈活性最差。l通常用于給某一寄存器或主存單元賦初值,或者用于提供一個(gè)常數(shù)。103、直接尋址l 指令中地址碼字段給出操作數(shù)的有效地址EA(Effe

4、ctive Address) 。lEA=A,S=(EA)113、直接尋址l操作數(shù)地址是不能修改的,又叫做絕對(duì)尋址方式l早期的計(jì)算機(jī)中,M容量較小,指令中地址碼的位數(shù)要求不長,采用直接尋址方式簡單快速,也便于硬件實(shí)現(xiàn),因此,常被作為主要的尋址方式。l現(xiàn)代,隨著計(jì)算機(jī)主存容量的不斷擴(kuò)大,所需的地址碼將會(huì)越來越長。指令中地址碼的位數(shù)將不能滿足整個(gè)主存空間尋址的要求,因此直接尋址方式受到了很大的限制。l另外,在指令的執(zhí)行過程中,為了取得操作數(shù),必須進(jìn)行訪存操作,降低了指令的執(zhí)行速度。124、間接尋址l間接尋址意味著指令的地址碼部分給出的地址A不是操作數(shù)的地址,而是操作數(shù)地址的地址(間址單元)。lEA(

5、A),S=(EA)=(A)134、間接尋址l特點(diǎn):因?yàn)椴僮鲾?shù)的有效地址在主存儲(chǔ)器中,可以被靈活的修改而不必修改指令,從而使間接尋址要比直接尋址靈活得多。l但是,間接尋址在指令執(zhí)行過程中至少需要兩次訪問主存儲(chǔ)器才能取出操作數(shù),嚴(yán)重降低了指令執(zhí)行的速度。144、間接尋址l例題:某機(jī)字長為16位,主存容量為64K字,指令格式為單字長單地址,共有64條指令。試說明:(1)若只采用直接尋址方式,指令能訪問多少主存單元?(2)為擴(kuò)展指令的尋址范圍,課采用直接/間接尋址方式,若只增加一位直接/間接標(biāo)志,指令可尋址范圍為多少?指令直接尋址的范圍為多少?(1)1K(2)64K,512155、寄存器尋址 l指令的

6、地址碼給出CPU內(nèi)某一通用寄存器的編號(hào),指令的操作數(shù)存放在相應(yīng)的寄存器中。lEA=Ri, S=(Ri)165、寄存器尋址 l優(yōu)點(diǎn):(1)由于寄存器在CPU的內(nèi)部,指令在執(zhí)行時(shí)從寄存器中取操作數(shù)比訪問主存要快快得多;(2)由于寄存器的數(shù)量較少,因此寄存器編號(hào)所占位數(shù)也較少,可以有效縮短短指令的地址碼字段的長度。176、寄存器間接尋址 l指令的地址碼給出某通用寄存器編號(hào),該寄存器內(nèi)放操作數(shù)的地址,根據(jù)該地址到內(nèi)存找到操作數(shù)。lEA=(Ri), S=(Ri)187、相對(duì)尋址l指令的地址碼給出相對(duì)的位移量D,程序計(jì)數(shù)器PC提供基準(zhǔn)地址,兩者相加后作為操作數(shù)的有效地址。lEA(PC)D,S = (PC)

7、D)197、相對(duì)尋址l對(duì)尋址方式使程序模塊可采用浮動(dòng)地址,編程時(shí)只要確定程序內(nèi)部操作數(shù)與指令之間的相對(duì)距離,而無需確定操作數(shù)在主存儲(chǔ)器中的絕對(duì)地址,這樣,將程序安排在主存儲(chǔ)器的任意位置都不會(huì)影響程序執(zhí)行的正確性。208、基址尋址l基址尋址:指令的地址碼部分給出偏移量D,而基準(zhǔn)地址放在基址寄存器Rb中,最后操作數(shù)的有效地址仍然是由基準(zhǔn)地址A與偏移量D相加而成,即:EA(Rb)D。l基址寄存器Rb中的內(nèi)容稱為基準(zhǔn)地址,該值可正可負(fù)。OPRbD218、基址尋址l基址寄存器的位數(shù)可以設(shè)置得很長,從而可以在較大的存儲(chǔ)空間中尋址。229、變址尋址l變址尋址:指令的地址碼部分給出的基準(zhǔn)地址A與CPU內(nèi)特定的

8、變址寄存器Rx中的內(nèi)容相加,以形成操作數(shù)的有效地址,即:EAA(Rx)。l變址寄存器Rx中的內(nèi)容稱為變址值,該值可正可負(fù)。OPRxA239、變址尋址249、變址尋址l變址尋址方式是一種被廣泛采用的尋址方式,最典型的應(yīng)用就是將指令的地址碼部分給出的地址A作為基準(zhǔn)地址,而將變址寄存器Rx中的內(nèi)容作為修改量。在遇到需要頻繁修改操作數(shù)地址時(shí),無須修改指令,只要修改Rx中的變址值就可以了,這對(duì)于數(shù)組運(yùn)算、字符串操作等一些進(jìn)行成批數(shù)據(jù)處理的指令是很有用的。l基址變址尋址:指令給出基址與變址兩個(gè)寄存器號(hào)和一個(gè)位移量,寄存器內(nèi)容與位移量三者之和為有效地址指令補(bǔ)充:基址變址尋址OP RbRxDRx N2操作數(shù)S

9、主存EA加法器EA = ( Rb ) + ( Rx ) + D Rb N12610、段尋址方式、段尋址方式27尋址方式舉例:尋址方式舉例: Pentium28Pentium尋址方式尋址方式方式算法立即作數(shù)=A寄存器LA=R偏移量LA=(SR)+A基址LA=(SR)+(B)基址帶偏移量LA=(SR)+(B)+A比例變址帶偏移量LA=(SR)+(I)S+A基址帶變址和偏移量LA=(SR)+(B)+(I)+A基址帶比例變址和偏移量 LA=(SR)+(B)+(I)S+A相對(duì)LA=(PC)+A29P118例例4l某16位機(jī)器所使用的指令格式和尋址方式如下所示,該機(jī)有兩個(gè)20位基址寄存器,四個(gè)16位變址寄

10、存器,十六個(gè)16位通用寄存器。指令匯編格式中的S(源),D(目標(biāo))都是通用寄存器,M是主存中的一個(gè)單元。三種指令的操作碼分別是MOV(OP)=(A)H,STO(OP)=(1B)H,LAD(OP)=(3C)H。MOV是傳送指令,STO為存數(shù)指令,LAD為取數(shù)指令。要求:(1)分析三種指令的指令格式與尋址方式特點(diǎn)。(2)CPU完成哪一種操作所花時(shí)間最短?哪一種操作所花時(shí)間最長?第二種指令的執(zhí)行時(shí)間有時(shí)會(huì)等于第三種指令的執(zhí)行時(shí)間嗎?(3)下列情況下每個(gè)十六進(jìn)制指令字分別代表什么操作?其中如果有編碼不正確,如何改正才能成為合法指令?30P118例例4OP目標(biāo)源151098 74 30MOV D, S1

11、51098 74 30STO S, MOP基址源變址位移量151098 74 30LAD D, MOP目標(biāo)20位地址單字長二地址指令,RR型;目標(biāo)地址與源地址均采用寄存器尋址的方式31P118例例4OP目標(biāo)源151098 74 30MOV D, S151098 74 30MOV S, MOP源變址位移量151098 74 30LAD D, MOP源變址20位地址單字長二地址指令,RR型;目標(biāo)地址與源地址均采用寄存器尋址的方式32P118例例4 F0F1 3CD21111 0000 1111 0001 0011 1100 1101 0010 3C 15號(hào)寄存器 13CD2把主存13CD2的內(nèi)存裝

12、載到15號(hào)寄存器 6FD60110 1111 1101 0110由于是單字長指令,則一定是MOV指令。則OP錯(cuò)誤,修改為001010 00 1101 011028D633l指令分類與基本指令類型指令分類與基本指令類型l數(shù)據(jù)傳送類指令l一般傳送指令(MOV)l堆棧操作指令(PUSH/POP)l數(shù)據(jù)交換指令(XCHG)l運(yùn)算類指令l算術(shù)運(yùn)算類指令(ADD/SUB,MUL/DIV)l邏輯運(yùn)算類指令(AND、OR、XOR、NOT、TEST)l移位類指令(SAL/SAR,SHL/SHR,ROL/ROR,RCL/RCR)4.5 典型指令典型指令34l指令分類與基本指令類型指令分類與基本指令類型l程序控制類

13、指令l轉(zhuǎn)移指令(JMP,JZ/JNZ/,LOOP)l子程序調(diào)用指令(CALL)l返回指令(RET)l輸入輸出類指令(IN/OUT)l獨(dú)立編址的I/Ol統(tǒng)一編址的I/Ol其他指令4.5 典型指令典型指令354.5 典型指令典型指令l基本指令系統(tǒng)lP122表4.9介紹l20%和80%規(guī)律:CISC中大約有20%的指令使用頻率高,占據(jù)了80%的處理機(jī)時(shí)間,而有80%的不常用指令只占用處理機(jī)的20%時(shí)間。lVLSI技術(shù)發(fā)展引起的問題lVLSI工藝要求規(guī)整性,而大量復(fù)雜指令控制邏輯極其不規(guī)整,給VLSI工藝造成了很大的困難。l現(xiàn)在用微程序?qū)崿F(xiàn)復(fù)雜指令與用簡單指令組成的子程序相比,沒有多大的區(qū)別。因?yàn)楝F(xiàn)在

14、控制存儲(chǔ)器和主存的速度差縮小。lCISC中,通過增強(qiáng)指令系統(tǒng)的功能,簡化了軟件,增加了硬件的復(fù)雜程度。然而指令復(fù)雜了,指令的執(zhí)行時(shí)間必然加長,從而使整個(gè)系統(tǒng)的執(zhí)行時(shí)間反而增加,因而在計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)中,軟硬件的功能分配必須恰當(dāng)364.5 典型指令典型指令lRISCl特點(diǎn)(采用流水線技術(shù))l簡單而統(tǒng)一格式的指令譯碼;l大部分指令可以單周期執(zhí)行l(wèi)只有LOAD/STORE可以訪問存儲(chǔ)器l簡單的尋址方式l采用延遲轉(zhuǎn)移技術(shù)l采用LOAD延遲技術(shù)l三地址指令格式l較多的寄存器l對(duì)稱的指令格式返回37本本 章章 小小 結(jié)結(jié) 一臺(tái)計(jì)算機(jī)中所有機(jī)器指令的集合,稱為這臺(tái)計(jì)算機(jī)的指令系統(tǒng)。指令系統(tǒng)是表征一臺(tái)計(jì)算機(jī)

15、性能的重要因素,它的格式與功能不僅直接影響到機(jī)器的硬件結(jié)構(gòu),而且也影響到系統(tǒng)軟件。指令格式是指令字用二進(jìn)制代碼表示的結(jié)構(gòu)形式,通常由操作碼字段和地址碼字段組成。返回38本本 章章 小小 結(jié)結(jié) 操作碼字段表征指令的操作特性與功能,而地址碼字段指示操作數(shù)的地址。目前多采用二地址、單地址、零地址混合方式的指令格式。指令字長度分為:單字長、半字長、雙字長三種形式。高檔微機(jī)采用32位長度的單字長形式。返回39本本 章章 小小 結(jié)結(jié) 形成指令地址的方式,稱為指令尋址方式。有順序?qū)ぶ泛吞S尋址兩種,由指令計(jì)數(shù)器來跟蹤。形成操作數(shù)地址的方式,稱為數(shù)據(jù)尋址方式。操作數(shù)可放在專用寄存器、通用寄存器、內(nèi)存和指令中。數(shù)據(jù)尋址方式有隱含尋址、立即尋址、直接尋址、間接尋址、寄存器尋址、寄存器間接尋址、相對(duì)尋址、基值尋址、變址尋址、塊尋址、段尋址等多種。按操作數(shù)的物理位置不同,有RR型和RS型。前者比后者執(zhí)行的速度快。返回40本本 章章 小小 結(jié)結(jié) 按結(jié)構(gòu)不同,分為寄存器堆棧和存儲(chǔ)器堆棧。不同機(jī)器有不同的指令系統(tǒng)。一個(gè)較完善的指令系統(tǒng)應(yīng)當(dāng)包含數(shù)據(jù)傳送類指令、算術(shù)運(yùn)算類指令、邏輯運(yùn)算類指令、程序控制類指令、I/O類指令、字符串類指令、系統(tǒng)控制類指令。RISC指令系統(tǒng)是目前計(jì)算機(jī)發(fā)展的主流,也是CISC指令系統(tǒng)的改進(jìn),它的最大特點(diǎn)是:指令條數(shù)少;指令長度固

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論