第2章微機(jī)系統(tǒng)中的微處理器_第1頁(yè)
第2章微機(jī)系統(tǒng)中的微處理器_第2頁(yè)
第2章微機(jī)系統(tǒng)中的微處理器_第3頁(yè)
第2章微機(jī)系統(tǒng)中的微處理器_第4頁(yè)
第2章微機(jī)系統(tǒng)中的微處理器_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1第第2章章微機(jī)系統(tǒng)中的微處理器微機(jī)系統(tǒng)中的微處理器內(nèi)容提要內(nèi)容提要n 80868086的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)n 80868086的寄存器結(jié)構(gòu)的寄存器結(jié)構(gòu)n 80868086的存儲(chǔ)器組織的存儲(chǔ)器組織n 80868086的的I/OI/O組織組織n 80868086的尋址方式的尋址方式n 高檔微處理器的寄存器結(jié)構(gòu)和存儲(chǔ)器組織簡(jiǎn)介高檔微處理器的寄存器結(jié)構(gòu)和存儲(chǔ)器組織簡(jiǎn)介 2常用術(shù)語(yǔ)(常用術(shù)語(yǔ)(1 1)n位(位(bitbit):計(jì)算機(jī)處理的最小數(shù)據(jù)單位,只能為):計(jì)算機(jī)處理的最小數(shù)據(jù)單位,只能為“0 0”或或“1 1”,縮寫為,縮寫為b bn千位(千位(KilobitKilobit):代表):代表2 2

2、1010位,即位,即10241024位,縮寫位,縮寫KbKbn兆位(兆位(MegabitMegabit):代表):代表2 22020位,即位,即1024102410241024位,縮寫位,縮寫MbMbn千兆位(千兆位(GigabitGigabit):代表):代表2 23030位,即位,即1024Mb1024Mb位,縮寫位,縮寫GbGbn兆兆位(兆兆位(TerabitTerabit):代表):代表2 24040位,即位,即1024Gb1024Gb位,縮寫位,縮寫TbTb3常用術(shù)語(yǔ)(常用術(shù)語(yǔ)(2 2)n字節(jié)(字節(jié)(ByteByte):計(jì)算機(jī)中存儲(chǔ)器容量的基本單位,一):計(jì)算機(jī)中存儲(chǔ)器容量的基本單位

3、,一個(gè)字節(jié)由個(gè)字節(jié)由8 8位二進(jìn)制數(shù)據(jù)組成,位二進(jìn)制數(shù)據(jù)組成,ByteByte通??s寫為通常縮寫為B B,同,同樣有樣有KBKB、MBMB、GBGB、TBTBn字(字(WordWord):不同的場(chǎng)合有不同的含義,軟件上通常):不同的場(chǎng)合有不同的含義,軟件上通常指指2 2個(gè)字節(jié),硬件上一般指處理器外部數(shù)據(jù)總線的寬個(gè)字節(jié),硬件上一般指處理器外部數(shù)據(jù)總線的寬度度n字長(zhǎng):計(jì)算機(jī)運(yùn)算部件直接能處理的二進(jìn)制數(shù)據(jù)的位字長(zhǎng):計(jì)算機(jī)運(yùn)算部件直接能處理的二進(jìn)制數(shù)據(jù)的位數(shù)。字長(zhǎng)越長(zhǎng),計(jì)算機(jī)的處理能力越強(qiáng),運(yùn)算精度越數(shù)。字長(zhǎng)越長(zhǎng),計(jì)算機(jī)的處理能力越強(qiáng),運(yùn)算精度越高,指令功能越強(qiáng),可尋址的存儲(chǔ)空間也越大高,指令功能越強(qiáng)

4、,可尋址的存儲(chǔ)空間也越大4常用術(shù)語(yǔ)(常用術(shù)語(yǔ)(3 3)nCPUCPU主頻主頻: :主振頻率,主振頻率,CPUCPU內(nèi)部的時(shí)鐘頻率,是內(nèi)部的時(shí)鐘頻率,是CPUCPU進(jìn)行進(jìn)行運(yùn)算時(shí)的工作頻率。一般來(lái)說(shuō),主頻越高,一個(gè)時(shí)鐘運(yùn)算時(shí)的工作頻率。一般來(lái)說(shuō),主頻越高,一個(gè)時(shí)鐘周期里完成的指令數(shù)也越多,周期里完成的指令數(shù)也越多,CPUCPU的運(yùn)算速度也就越的運(yùn)算速度也就越快。但由于內(nèi)部結(jié)構(gòu)不同,并非所有時(shí)鐘頻率相同的快。但由于內(nèi)部結(jié)構(gòu)不同,并非所有時(shí)鐘頻率相同的CPUCPU性能也一樣。性能也一樣。 52.1 8086的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)n8086CPU從功能上來(lái)說(shuō)分成兩大部分:從功能上來(lái)說(shuō)分成兩大部分: 總線

5、接口單元總線接口單元BIU( Bus Interface Unit ) 執(zhí)行單元執(zhí)行單元EU( Execution Unit )nBIU的作用:負(fù)責(zé)對(duì)存儲(chǔ)器的訪問(wèn)以及與的作用:負(fù)責(zé)對(duì)存儲(chǔ)器的訪問(wèn)以及與I/O設(shè)備之間設(shè)備之間的信息傳送。的信息傳送。nEU 的作用:負(fù)責(zé)指令的執(zhí)行。的作用:負(fù)責(zé)指令的執(zhí)行。6 通 用 寄 存 器8086CPU功能框圖功能框圖 執(zhí)行單元執(zhí)行單元 AH ALBH BL CLCH DH DL SP BP DI SI CSDS SS ES I P 內(nèi)部寄存器 總線 控制 邏輯 AX BX CX DX暫存器 A L U 標(biāo)志寄存器 外部總線8086總線(16位) 指令隊(duì)列 8

6、086為 6 字節(jié)ALU數(shù)據(jù)總線(16位)EU控制器總線接口單元(總線接口單元(BIU) 地址加法器(20 位)數(shù)據(jù)總線(16 位) 段寄存器指令指針(EU)1 2 3 4 5 6隊(duì)列總線(8位) 地址總線780868086的功能結(jié)構(gòu)的功能結(jié)構(gòu)n總線接口單元總線接口單元(BIU)qBIU包括個(gè)段寄存器、指令指針包括個(gè)段寄存器、指令指針I(yè)P(PC)、指令隊(duì)列寄、指令隊(duì)列寄存器存器(IR)、完成與、完成與EU通訊的內(nèi)部寄存器、地址加法器通訊的內(nèi)部寄存器、地址加法器和總線控制邏輯。和總線控制邏輯。q它的任務(wù)是執(zhí)行總線周期,完成它的任務(wù)是執(zhí)行總線周期,完成CPU與存儲(chǔ)器和與存儲(chǔ)器和I/O設(shè)設(shè)備之間信息

7、的傳送。具體地講,就是取指令時(shí),從存儲(chǔ)備之間信息的傳送。具體地講,就是取指令時(shí),從存儲(chǔ)器指定地址取出指令送入指令隊(duì)列排隊(duì);執(zhí)行指令時(shí),器指定地址取出指令送入指令隊(duì)列排隊(duì);執(zhí)行指令時(shí),根據(jù)根據(jù)EU命令對(duì)指定存儲(chǔ)單元或命令對(duì)指定存儲(chǔ)單元或I/O端口存取數(shù)據(jù)。端口存取數(shù)據(jù)。88086CPU與存儲(chǔ)器、與存儲(chǔ)器、I/O設(shè)備的連接設(shè)備的連接高位決定接口,高位決定接口,2或或3個(gè)低位選擇端口個(gè)低位選擇端口CPU數(shù)據(jù)線數(shù)據(jù)線控制線控制線地址線地址線接接 口口地址地址存儲(chǔ)器中的字節(jié)存儲(chǔ)器中的字節(jié)0101I/O接口接口I/O端口端口I/O設(shè)備設(shè)備高位決定模塊高位決定模塊存儲(chǔ)器模塊存儲(chǔ)器模塊98086的功能結(jié)構(gòu)的功

8、能結(jié)構(gòu)n執(zhí)行單元執(zhí)行單元(EU)qEU由算術(shù)邏輯單元由算術(shù)邏輯單元ALU、暫存器、標(biāo)志寄存器、暫存器、標(biāo)志寄存器(FLAGS)、通用寄存器組和、通用寄存器組和EU控制器構(gòu)成??刂破鳂?gòu)成。q它的任務(wù)執(zhí)行指令,進(jìn)行全部的算術(shù)邏輯運(yùn)算,完成偏它的任務(wù)執(zhí)行指令,進(jìn)行全部的算術(shù)邏輯運(yùn)算,完成偏移地址的計(jì)算,向移地址的計(jì)算,向BIU提供指令執(zhí)行結(jié)果的數(shù)據(jù)和訪問(wèn)提供指令執(zhí)行結(jié)果的數(shù)據(jù)和訪問(wèn)存儲(chǔ)器需要的偏移地址,并對(duì)通用寄存器和標(biāo)志寄存器存儲(chǔ)器需要的偏移地址,并對(duì)通用寄存器和標(biāo)志寄存器進(jìn)行管理。進(jìn)行管理。n16位的位的ALU總線和總線和8位隊(duì)列總線用于位隊(duì)列總線用于EU內(nèi)部和內(nèi)部和EU與與BIU之間的通信。之

9、間的通信。108086的指令流水線(的指令流水線(1)n一條指令的執(zhí)行過(guò)程:一條指令的執(zhí)行過(guò)程: 取指令取指令 取操作數(shù)(如果需要)取操作數(shù)(如果需要) 執(zhí)行指令執(zhí)行指令 寫入存儲(chǔ)器寫入存儲(chǔ)器n80868086出現(xiàn)以前,以上指令串行執(zhí)行出現(xiàn)以前,以上指令串行執(zhí)行取指取指1執(zhí)行執(zhí)行1存結(jié)果存結(jié)果1取指取指2執(zhí)行執(zhí)行2取指取指3執(zhí)行執(zhí)行3取操作數(shù)取操作數(shù)3CPUBUS忙忙忙忙忙忙忙忙忙忙閑閑閑閑閑閑8086以前的處理器以前的處理器118086的指令流水線(的指令流水線(2)n80868086內(nèi)部有內(nèi)部有BIUBIU、EUEU兩個(gè)獨(dú)立單元,可獨(dú)立完成總線兩個(gè)獨(dú)立單元,可獨(dú)立完成總線操作和執(zhí)行指令的任

10、務(wù),即兩個(gè)單元可重疊操作操作和執(zhí)行指令的任務(wù),即兩個(gè)單元可重疊操作n流水線就是兩次重疊或多次重疊操作流水線就是兩次重疊或多次重疊操作8086處理器處理器執(zhí)行執(zhí)行1執(zhí)行執(zhí)行2執(zhí)行執(zhí)行3執(zhí)行執(zhí)行3執(zhí)行執(zhí)行4取指取指1取指取指2存結(jié)果存結(jié)果1取指取指3取操作數(shù)取操作數(shù)3取指取指4存結(jié)果存結(jié)果3取指取指5忙忙忙忙忙忙忙忙忙忙忙忙忙忙忙忙EUBUSBIU思考n以8086為例,說(shuō)明微處理器的基本功能。n書上P12 圖2.2中畫出的地址總線為什么是單向的?數(shù)據(jù)總線為什么是雙向的?12132.28086的寄存器結(jié)構(gòu)的寄存器結(jié)構(gòu)n8086CPU內(nèi)部具有內(nèi)部具有14個(gè)個(gè)16位寄存器,用于提供參與位寄存器,用于提供

11、參與運(yùn)算的數(shù)據(jù)、控制指令執(zhí)行和對(duì)指令及操作數(shù)尋址。運(yùn)算的數(shù)據(jù)、控制指令執(zhí)行和對(duì)指令及操作數(shù)尋址?;痉譃橥ㄓ眉拇嫫鹘M、控制寄存器組和段寄存器組。基本分為通用寄存器組、控制寄存器組和段寄存器組。n通用寄存器組通用寄存器組8個(gè)個(gè)16位通用寄存器組成,這些寄存器分為兩組:數(shù)位通用寄存器組成,這些寄存器分為兩組:數(shù)據(jù)寄存器及地址指針和變址寄存器。據(jù)寄存器及地址指針和變址寄存器。148086的寄存器結(jié)構(gòu)(的寄存器結(jié)構(gòu)(1)BHBLAHALCHCLDHDL堆棧指針寄存器堆棧指針寄存器基址指針寄存器基址指針寄存器源變址寄存器源變址寄存器目的變址寄存器目的變址寄存器通通用用寄寄存存器器控制寄存器控制寄存器指令

12、指針寄存器指令指針寄存器狀態(tài)標(biāo)志寄存器狀態(tài)標(biāo)志寄存器代碼段寄存器代碼段寄存器數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器堆棧段寄存器堆棧段寄存器附加段寄存器附加段寄存器段段寄寄存存器器AXBXCXDXSPBPDISICSDSSSESIPFLAGS158086的寄存器結(jié)構(gòu)(的寄存器結(jié)構(gòu)(2)1 1、數(shù)據(jù)寄存器、數(shù)據(jù)寄存器n4 4個(gè)數(shù)據(jù)寄存器:累加器個(gè)數(shù)據(jù)寄存器:累加器AXAX,基址寄存器,基址寄存器BXBX,計(jì)數(shù)寄存器,計(jì)數(shù)寄存器CXCX,數(shù)據(jù)寄存器數(shù)據(jù)寄存器DXDXn特點(diǎn):可分為高特點(diǎn):可分為高8 8位(位(AHAH、BHBH、CHCH、DHDH)和低)和低8 8位(位(ALAL、BLBL、CLCL、DLDL)。

13、這兩組)。這兩組8 8位寄存器能分別尋址。這樣,可以將數(shù)位寄存器能分別尋址。這樣,可以將數(shù)據(jù)寄存器當(dāng)作一個(gè)據(jù)寄存器當(dāng)作一個(gè)1616位寄存器,也可用作兩個(gè)位寄存器,也可用作兩個(gè)8 8位寄存器位寄存器n可用來(lái)存放可用來(lái)存放8 8位或位或1616位二進(jìn)制操作數(shù),這些操作數(shù)可以是參位二進(jìn)制操作數(shù),這些操作數(shù)可以是參加運(yùn)算的操作數(shù)、中間結(jié)果或操作數(shù)地址加運(yùn)算的操作數(shù)、中間結(jié)果或操作數(shù)地址n大多數(shù)算數(shù)和邏輯運(yùn)算指令可以使用這些寄存器大多數(shù)算數(shù)和邏輯運(yùn)算指令可以使用這些寄存器168086的寄存器結(jié)構(gòu)(的寄存器結(jié)構(gòu)(3)2 2、地址指針和變址寄存器、地址指針和變址寄存器n4 4個(gè):堆棧指針個(gè):堆棧指針SPSP

14、,基址指針,基址指針BPBP,源變址寄存器,源變址寄存器SISI,目的變,目的變址寄存器址寄存器DIDIn特點(diǎn):這特點(diǎn):這4 4個(gè)個(gè)1616位寄存器只能按位寄存器只能按1616位進(jìn)行存取操作,主要用位進(jìn)行存取操作,主要用來(lái)形成操作數(shù)的地址,用于堆棧操作和變址運(yùn)算中計(jì)算操作來(lái)形成操作數(shù)的地址,用于堆棧操作和變址運(yùn)算中計(jì)算操作數(shù)和有效地址數(shù)和有效地址nSPSP,BPBP用于堆棧操作,用于堆棧操作,SPSP用來(lái)確定堆棧在內(nèi)存中的地址,用來(lái)確定堆棧在內(nèi)存中的地址,BPBP用來(lái)存放在現(xiàn)行堆棧段的一個(gè)數(shù)據(jù)區(qū)的用來(lái)存放在現(xiàn)行堆棧段的一個(gè)數(shù)據(jù)區(qū)的“基址基址”nSISI,DIDI用于變址操作,存放變址地址用于變

15、址操作,存放變址地址n這這4 4個(gè)寄存器也可用作數(shù)據(jù)寄存器個(gè)寄存器也可用作數(shù)據(jù)寄存器17通用寄存器的特定用法通用寄存器的特定用法寄存器名 特殊用途 隱含性質(zhì) 在輸入輸出指令中作數(shù)據(jù)寄存器用 不能隱含 AX, AL 在乘法指令中存放被乘數(shù)或乘積,在除法指令中存放被除數(shù)或商 隱 含 AH 在LAHF指令中,作目標(biāo)寄存器用 隱 含 在十進(jìn)制運(yùn)算指令中作累加器用 隱 含 AL 在XLAT指令中作累加器用 隱 含 在間接尋址中作基址寄存器用 不能隱含 BX 在XLAT指令中作基址寄存器用 隱 含 CX 在串操作指令和LOOP指令中作計(jì)數(shù)器用 隱 含 CL 在移位/循環(huán)移位指令中作移位次數(shù)計(jì)數(shù)器用 不能隱

16、含 在字乘法/除法指令中存放乘積高位或被除數(shù)高位或余數(shù) 隱 含 DX 在間接尋址的輸入輸出指令中作地址寄存器用 不能隱含 在字符串運(yùn)算指令中作源變址寄存器用 隱 含 SI 在間接尋址中作變址寄存器用 不能隱含 在字符串運(yùn)算指令中作目標(biāo)變址寄存器用 隱 含 DI 在間接尋址中作變址寄存器用 不能隱含 BP 在間接尋址中作基址指針用 不能隱含 SP 在堆棧操作中作堆棧指針用 隱 含 188086的寄存器結(jié)構(gòu)(的寄存器結(jié)構(gòu)(4)3 3、指令指針、指令指針I(yè)PIPn1616位專用寄存器,保存下一條要執(zhí)行的指令的偏移地位專用寄存器,保存下一條要執(zhí)行的指令的偏移地址址n當(dāng)當(dāng)BIUBIU從內(nèi)存中取出一個(gè)指令

17、字節(jié)后,從內(nèi)存中取出一個(gè)指令字節(jié)后,IPIP自動(dòng)加自動(dòng)加1 1,指,指向下一個(gè)字節(jié)向下一個(gè)字節(jié)nIPIP指向的是指令地址的段內(nèi)地址偏移量,又稱偏移地指向的是指令地址的段內(nèi)地址偏移量,又稱偏移地址或有效地址址或有效地址n程序員不能對(duì)程序員不能對(duì)IPIP進(jìn)行存取操作,程序中的轉(zhuǎn)移指令、進(jìn)行存取操作,程序中的轉(zhuǎn)移指令、返回指令以及中斷處理能對(duì)返回指令以及中斷處理能對(duì)IPIP進(jìn)行操作進(jìn)行操作198086的寄存器結(jié)構(gòu)(的寄存器結(jié)構(gòu)(5)4 4、標(biāo)志寄存器、標(biāo)志寄存器FLAGSFLAGS15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 CFPFAFZFSFTFIFDFOFn 16

18、 16位,其中有位,其中有6 6個(gè)狀態(tài)位,個(gè)狀態(tài)位,3 3個(gè)控制位個(gè)控制位n 6 6個(gè)狀態(tài)位有:個(gè)狀態(tài)位有:CFCF、PFPF、AFAF、ZFZF、SFSF、OFOFn 3 3個(gè)控制位有:個(gè)控制位有:IFIF、DFDF、TFTF208086的寄存器結(jié)構(gòu)(的寄存器結(jié)構(gòu)(6)標(biāo)志寄存器標(biāo)志寄存器FLAGSFLAGS(狀態(tài)位)(狀態(tài)位)n進(jìn)位標(biāo)志進(jìn)位標(biāo)志CFCF,反映算術(shù)運(yùn)算后,最高位(字節(jié)操作為,反映算術(shù)運(yùn)算后,最高位(字節(jié)操作為D D7 7,字操作為字操作為D D1515)出現(xiàn)進(jìn)位或借位的情況,有則為)出現(xiàn)進(jìn)位或借位的情況,有則為“1 1”n奇偶標(biāo)志奇偶標(biāo)志PFPF,反映操作結(jié)果的低八位中,反映

19、操作結(jié)果的低八位中“1 1”的個(gè)數(shù)的的個(gè)數(shù)的情況,若為偶數(shù),則情況,若為偶數(shù),則PF=1PF=1n輔助進(jìn)位標(biāo)志輔助進(jìn)位標(biāo)志AFAF,反映一個(gè),反映一個(gè)8 8位量的低位量的低4 4位向高位向高4 4位有無(wú)位有無(wú)進(jìn)位或借位的情況,有則置進(jìn)位或借位的情況,有則置“1 1”n零標(biāo)志零標(biāo)志ZFZF,反映運(yùn)算結(jié)果是否為,反映運(yùn)算結(jié)果是否為0 0的情況,結(jié)果為的情況,結(jié)果為0 0,ZFZF置為置為“1 1”,否則為,否則為“0 0”218086的寄存器結(jié)構(gòu)(的寄存器結(jié)構(gòu)(7)n符號(hào)標(biāo)志符號(hào)標(biāo)志SFSF,反映運(yùn)算結(jié)果的符號(hào)情況,若結(jié)果為負(fù),反映運(yùn)算結(jié)果的符號(hào)情況,若結(jié)果為負(fù)數(shù),數(shù),SFSF為為“1 1”,否則

20、為,否則為“0 0”。SFSF的取值與運(yùn)算結(jié)果最的取值與運(yùn)算結(jié)果最高位(字節(jié)操作為高位(字節(jié)操作為D D7 7,字操作為,字操作為D D1515)一致。)一致。n溢出標(biāo)志溢出標(biāo)志OFOF,反映帶符號(hào)數(shù)運(yùn)算結(jié)果是否超過(guò)機(jī)器所,反映帶符號(hào)數(shù)運(yùn)算結(jié)果是否超過(guò)機(jī)器所能表示的數(shù)值范圍的情況,對(duì)字節(jié)運(yùn)算為能表示的數(shù)值范圍的情況,對(duì)字節(jié)運(yùn)算為-128 +127-128 +127,對(duì)字運(yùn)算為對(duì)字運(yùn)算為-32768 +32767-32768 +32767。若超過(guò)上述范圍則稱為。若超過(guò)上述范圍則稱為“溢出溢出”,OF=1OF=1,否則為,否則為“0 0”。228086的寄存器結(jié)構(gòu)(的寄存器結(jié)構(gòu)(8)標(biāo)志寄存器標(biāo)志

21、寄存器FLAGSFLAGS(控制位)(控制位)n方向標(biāo)志方向標(biāo)志DFDF,在進(jìn)行字符串操作時(shí),每執(zhí)行一條串操,在進(jìn)行字符串操作時(shí),每執(zhí)行一條串操作指令,對(duì)地址要進(jìn)行一次調(diào)整,由作指令,對(duì)地址要進(jìn)行一次調(diào)整,由DFDF決定地址是增決定地址是增還是減。若還是減。若DF=1DF=1,則為減量;,則為減量;DF=0DF=0,則為增量。,則為增量。n中斷允許標(biāo)志中斷允許標(biāo)志IFIF,表示系統(tǒng)是否允許外部可屏蔽中斷。,表示系統(tǒng)是否允許外部可屏蔽中斷。若若IF=1IF=1,表示允許中斷,表示允許中斷, IF=0IF=0,表示不允許中斷。,表示不允許中斷。IFIF對(duì)不可屏蔽中斷及內(nèi)部中斷請(qǐng)求不起作用。對(duì)不可屏

22、蔽中斷及內(nèi)部中斷請(qǐng)求不起作用。n跟蹤標(biāo)志跟蹤標(biāo)志TFTF,當(dāng),當(dāng)TF=1TF=1時(shí),時(shí),CPUCPU每執(zhí)行完一條指令,便自每執(zhí)行完一條指令,便自動(dòng)產(chǎn)生一個(gè)內(nèi)部中斷,對(duì)程序進(jìn)行逐條檢查,常用于動(dòng)產(chǎn)生一個(gè)內(nèi)部中斷,對(duì)程序進(jìn)行逐條檢查,常用于程序的調(diào)試。程序的調(diào)試。238086的寄存器結(jié)構(gòu)(的寄存器結(jié)構(gòu)(9)5 5、段寄存器、段寄存器n內(nèi)存中通常存放三種信息:內(nèi)存中通常存放三種信息: 代碼(指令):計(jì)算機(jī)執(zhí)行何種操作代碼(指令):計(jì)算機(jī)執(zhí)行何種操作 數(shù)據(jù)(字符、數(shù)值):程序處理的對(duì)象數(shù)據(jù)(字符、數(shù)值):程序處理的對(duì)象 堆棧信息:保存返回地址和中間結(jié)果堆棧信息:保存返回地址和中間結(jié)果n為清晰起見(jiàn),這三

23、類信息分別存放在各自的存儲(chǔ)區(qū)域?yàn)榍逦鹨?jiàn),這三類信息分別存放在各自的存儲(chǔ)區(qū)域內(nèi)(存儲(chǔ)系統(tǒng)中的不同存儲(chǔ)段)內(nèi)(存儲(chǔ)系統(tǒng)中的不同存儲(chǔ)段)n80868086系統(tǒng)中把可直接尋址的系統(tǒng)中把可直接尋址的1M1M字節(jié)內(nèi)存空間分為稱作字節(jié)內(nèi)存空間分為稱作段的邏輯區(qū)域,每個(gè)段的物理長(zhǎng)度為段的邏輯區(qū)域,每個(gè)段的物理長(zhǎng)度為64K64K字節(jié)。每個(gè)段字節(jié)。每個(gè)段的起始地址的有關(guān)值存放在稱為段寄存器的的起始地址的有關(guān)值存放在稱為段寄存器的4 4個(gè)個(gè)1616位寄位寄存器中存器中248086的寄存器結(jié)構(gòu)(的寄存器結(jié)構(gòu)(10)4 4個(gè)段寄存器為個(gè)段寄存器為n代碼段寄存器代碼段寄存器CSCS:指向當(dāng)前的代碼段,指令由此段?。褐赶?/p>

24、當(dāng)前的代碼段,指令由此段取出出n數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器DSDS:指向當(dāng)前數(shù)據(jù)段,通常用來(lái)存放程:指向當(dāng)前數(shù)據(jù)段,通常用來(lái)存放程序變量序變量n堆棧段寄存器堆棧段寄存器SSSS:指向當(dāng)前的堆棧段,堆棧操作所需:指向當(dāng)前的堆棧段,堆棧操作所需的就是該段存儲(chǔ)單元的內(nèi)容的就是該段存儲(chǔ)單元的內(nèi)容n附加段寄存器附加段寄存器ESES:指向當(dāng)前附加段,通常也用來(lái)存儲(chǔ):指向當(dāng)前附加段,通常也用來(lái)存儲(chǔ)數(shù)據(jù)數(shù)據(jù)思考n8086內(nèi)部有哪些程序可見(jiàn)的寄存器?其主要作用是什么?25262.38086的存儲(chǔ)器組織(的存儲(chǔ)器組織(1)n存儲(chǔ)器組織存儲(chǔ)器組織q8086CPU有有20條地址線,條地址線,可配置可配置1MB的存儲(chǔ)器,

25、地的存儲(chǔ)器,地址編號(hào)為址編號(hào)為00000H-FFFFFHq存儲(chǔ)空間按字節(jié)存儲(chǔ)空間按字節(jié)(8位位)進(jìn)行進(jìn)行組織,每個(gè)存儲(chǔ)單元存儲(chǔ)一組織,每個(gè)存儲(chǔ)單元存儲(chǔ)一個(gè)字節(jié)的數(shù)據(jù),若存放個(gè)字節(jié)的數(shù)據(jù),若存放“字字”數(shù)據(jù)(數(shù)據(jù)(16位),則存放在位),則存放在相鄰兩個(gè)存儲(chǔ)單元之中,高相鄰兩個(gè)存儲(chǔ)單元之中,高字節(jié)存放在高地址單元,低字節(jié)存放在高地址單元,低字節(jié)存放在低地址單元字節(jié)存放在低地址單元00000HFFFFFH00001H00002H00003HFFFFEH存儲(chǔ)器存儲(chǔ)器278086的存儲(chǔ)器組織(的存儲(chǔ)器組織(2)q8086允許字從任何地址開始。允許字從任何地址開始。字的地址為偶地址時(shí),稱字的地址為偶地址

26、時(shí),稱字的存儲(chǔ)是對(duì)準(zhǔn)的字的存儲(chǔ)是對(duì)準(zhǔn)的,CPU訪問(wèn)時(shí)需要一個(gè)總線周期訪問(wèn)時(shí)需要一個(gè)總線周期;若字若字的地址為奇地址時(shí),稱字的存儲(chǔ)是未對(duì)準(zhǔn)的,的地址為奇地址時(shí),稱字的存儲(chǔ)是未對(duì)準(zhǔn)的,CPU訪問(wèn)需訪問(wèn)需要兩個(gè)總線周期。要兩個(gè)總線周期。 高字節(jié)高字節(jié) 低字節(jié)低字節(jié) 15 8 7 060280H60281H60282H288086的存儲(chǔ)器組織(的存儲(chǔ)器組織(3)n存儲(chǔ)器分段存儲(chǔ)器分段q8086CPU寄存器皆為寄存器皆為16位,內(nèi)部位,內(nèi)部ALU只能進(jìn)行只能進(jìn)行16位運(yùn)算,位運(yùn)算,因此,因此,8086CPU對(duì)地址只能進(jìn)行對(duì)地址只能進(jìn)行16位運(yùn)算,尋址范圍位運(yùn)算,尋址范圍216=65536(64K)字節(jié)。

27、所以引入分段概念,以獲得)字節(jié)。所以引入分段概念,以獲得20位地址位地址q一個(gè)段是存儲(chǔ)器的一個(gè)邏輯單位,其長(zhǎng)度可達(dá)一個(gè)段是存儲(chǔ)器的一個(gè)邏輯單位,其長(zhǎng)度可達(dá)64KB,每,每個(gè)段都由連續(xù)的存儲(chǔ)單元構(gòu)成,是存儲(chǔ)器中獨(dú)立的可分個(gè)段都由連續(xù)的存儲(chǔ)單元構(gòu)成,是存儲(chǔ)器中獨(dú)立的可分別尋址的單位別尋址的單位q每段第一個(gè)字節(jié)的位置稱為每段第一個(gè)字節(jié)的位置稱為“段起始地址段起始地址”,可由軟件,可由軟件指定指定q段起始地址:必須能被段起始地址:必須能被16整除(即整除(即XXXX0H)q幾個(gè)段可以相互重疊,也可指向同一空間幾個(gè)段可以相互重疊,也可指向同一空間298086的存儲(chǔ)器組織(的存儲(chǔ)器組織(4)n段基址與段內(nèi)

28、偏移量段基址與段內(nèi)偏移量q8086與存儲(chǔ)器之間所有信息的交換都要使用與存儲(chǔ)器之間所有信息的交換都要使用20位的物理位的物理地址,而程序中所涉及到的地址都是地址,而程序中所涉及到的地址都是16位的邏輯地址,位的邏輯地址,對(duì)所給定的任一存儲(chǔ)單元而言,有兩部分邏輯地址:對(duì)所給定的任一存儲(chǔ)單元而言,有兩部分邏輯地址: “段地址段地址”:一個(gè)段的起始地址的高一個(gè)段的起始地址的高16位,也稱位,也稱“段基段基址址”。 “段內(nèi)偏移量段內(nèi)偏移量”:段內(nèi)一個(gè)存儲(chǔ)單元的地址相對(duì)于段起始段內(nèi)一個(gè)存儲(chǔ)單元的地址相對(duì)于段起始地址的距離,也稱地址的距離,也稱“有效地址有效地址EA”,“偏移地址偏移地址”。q段地址存放在段

29、寄存器段地址存放在段寄存器CS、DS、SS、ES中中q段內(nèi)偏移量由段內(nèi)偏移量由IP、SP、SI、DI、BX、BP以及相應(yīng)寄存以及相應(yīng)寄存器的組合而組成器的組合而組成308086的存儲(chǔ)器組織(的存儲(chǔ)器組織(5)n邏輯地址與物理地址邏輯地址與物理地址q在具有地址變換機(jī)構(gòu)的計(jì)算機(jī)中,有兩種存儲(chǔ)器地址:在具有地址變換機(jī)構(gòu)的計(jì)算機(jī)中,有兩種存儲(chǔ)器地址: 邏輯地址:允許在程序中編排的地址邏輯地址:允許在程序中編排的地址 物理地址:信息在存儲(chǔ)器中實(shí)際存放地址物理地址:信息在存儲(chǔ)器中實(shí)際存放地址q在在8086系統(tǒng)中,每個(gè)存儲(chǔ)單元也都認(rèn)為有這兩類地址系統(tǒng)中,每個(gè)存儲(chǔ)單元也都認(rèn)為有這兩類地址318086的存儲(chǔ)器組

30、織(的存儲(chǔ)器組織(6)n物理地址的形成物理地址的形成q存儲(chǔ)單元的存儲(chǔ)單元的20位物理地址是通過(guò)將位物理地址是通過(guò)將16位的段基址左移位的段基址左移4位,再加上位,再加上16位的偏移地址而形成的,即位的偏移地址而形成的,即 物理地址物理地址=段基址段基址*10H+段內(nèi)偏移量段內(nèi)偏移量q例如:例如:6000:0280的物理地址為的物理地址為60280Hq8086CPU中中BIU單元的地址加法器可用來(lái)完成物理地址單元的地址加法器可用來(lái)完成物理地址的計(jì)算的計(jì)算328086的存儲(chǔ)器組織(的存儲(chǔ)器組織(7)n信息的分段存儲(chǔ)與段寄存器的關(guān)系信息的分段存儲(chǔ)與段寄存器的關(guān)系表表 各種類型訪問(wèn)存儲(chǔ)器時(shí)的地址成分各

31、種類型訪問(wèn)存儲(chǔ)器時(shí)的地址成分內(nèi)存訪問(wèn)類型內(nèi)存訪問(wèn)類型默認(rèn)段寄存器默認(rèn)段寄存器可指定段寄存器可指定段寄存器段內(nèi)偏移地址來(lái)源段內(nèi)偏移地址來(lái)源123456取指令取指令堆棧操作堆棧操作源串源串目的串目的串BP用作基址尋址用作基址尋址一般數(shù)據(jù)存取一般數(shù)據(jù)存取CSSSDSESSSDS無(wú)無(wú)無(wú)無(wú)CS、ES、SS無(wú)無(wú)CS、ES、DSCS、ES、SSIPSPSIDI按尋址方式計(jì)算得到的有效地址按尋址方式計(jì)算得到的有效地址按尋址方式計(jì)算得到的有效地址按尋址方式計(jì)算得到的有效地址338086的存儲(chǔ)器組織(的存儲(chǔ)器組織(8)n段寄存器的使用約定段寄存器的使用約定q任何類型訪問(wèn)存儲(chǔ)器時(shí),其段地址要么由默認(rèn)段寄存器任何類型

32、訪問(wèn)存儲(chǔ)器時(shí),其段地址要么由默認(rèn)段寄存器提供,要么由提供,要么由“指定指定”的段寄存器提供。的段寄存器提供。q段寄存器段寄存器DS、ES和和SS的內(nèi)容是用傳送指令置入的,但的內(nèi)容是用傳送指令置入的,但任何傳送型指令不能向段寄存器任何傳送型指令不能向段寄存器CS置入數(shù),但一些指令置入數(shù),但一些指令可以設(shè)置和影響可以設(shè)置和影響CS的內(nèi)容,如:的內(nèi)容,如:ASSUME偽指令、偽指令、JMP、CALL、RET、INT和和IRET。q表中前四項(xiàng)指明了一個(gè)表中前四項(xiàng)指明了一個(gè)16位的指針寄存器或變址寄存器位的指針寄存器或變址寄存器作為段內(nèi)偏移地址的來(lái)源,其它都要按指令碼規(guī)定的尋作為段內(nèi)偏移地址的來(lái)源,其它

33、都要按指令碼規(guī)定的尋址方式求得。址方式求得。思考n什么是邏輯地址?什么是物理地址?如何由邏輯地址求物理地址?34352.4 8086的的I/O組織組織nI/O接口是保證信息和數(shù)據(jù)在接口是保證信息和數(shù)據(jù)在CPU和和I/O設(shè)備之間正常傳送設(shè)備之間正常傳送的電路。的電路。nI/O端口是端口是I/O接口內(nèi)的寄存器,跟存儲(chǔ)單元相同,也是以接口內(nèi)的寄存器,跟存儲(chǔ)單元相同,也是以字節(jié)為單位編址,一個(gè)字節(jié)為單位編址,一個(gè)I/O端口有唯一的端口有唯一的I/O地址相對(duì)應(yīng)。地址相對(duì)應(yīng)。n8086地址總線的低地址總線的低16位用來(lái)對(duì)位用來(lái)對(duì)8位位I/O端口尋址,所以端口尋址,所以8086的的I/O地址空間為地址空間為

34、64K,可以訪問(wèn),可以訪問(wèn)64K個(gè)個(gè)I/O端口端口n與存儲(chǔ)器類似,任何兩個(gè)地址連續(xù)的與存儲(chǔ)器類似,任何兩個(gè)地址連續(xù)的8位位I/O端口,都可以端口,都可以當(dāng)作一個(gè)當(dāng)作一個(gè)16位位I/O端口,類似于存儲(chǔ)器的字。端口,類似于存儲(chǔ)器的字。n對(duì)對(duì)8086CPU來(lái)說(shuō),也象存儲(chǔ)器的字那樣,要實(shí)現(xiàn)奇地址的來(lái)說(shuō),也象存儲(chǔ)器的字那樣,要實(shí)現(xiàn)奇地址的16位位I/O端口輸入輸出,都必須訪問(wèn)兩次。端口輸入輸出,都必須訪問(wèn)兩次。368086CPU與存儲(chǔ)器、與存儲(chǔ)器、I/O設(shè)備的連接設(shè)備的連接高位決定接口,高位決定接口,2或或3個(gè)低位選擇端口個(gè)低位選擇端口CPU數(shù)據(jù)線數(shù)據(jù)線控制線控制線地址線地址線接接 口口地址地址存儲(chǔ)器中

35、的字節(jié)存儲(chǔ)器中的字節(jié)0101I/O接口接口I/O端口端口I/O設(shè)備設(shè)備高位決定模塊高位決定模塊存儲(chǔ)器模塊存儲(chǔ)器模塊37由于存儲(chǔ)器劃分為模塊,所以存儲(chǔ)器地址的高幾由于存儲(chǔ)器劃分為模塊,所以存儲(chǔ)器地址的高幾位可用來(lái)選擇模塊,其余低位則用來(lái)標(biāo)識(shí)該模塊內(nèi)的位可用來(lái)選擇模塊,其余低位則用來(lái)標(biāo)識(shí)該模塊內(nèi)的字節(jié)或字。同樣,利用字節(jié)或字。同樣,利用I/OI/O地址中的高位來(lái)標(biāo)識(shí)地址中的高位來(lái)標(biāo)識(shí)I/OI/O接接口,而用口,而用2 2或或3 3個(gè)低位來(lái)選擇該接口內(nèi)的個(gè)低位來(lái)選擇該接口內(nèi)的I/OI/O端口。端口。存儲(chǔ)器和存儲(chǔ)器和I/O端口的組織(端口的組織(1)38n地址總線的條數(shù)就是二進(jìn)制地址碼的地址總線的條數(shù)

36、就是二進(jìn)制地址碼的位數(shù)位數(shù),它能夠表示,它能夠表示的不同地址的集合稱為的不同地址的集合稱為地址空間地址空間。存儲(chǔ)單元和。存儲(chǔ)單元和I/OI/O端口端口在同一地址空間,這種方法稱為在同一地址空間,這種方法稱為統(tǒng)一編址統(tǒng)一編址,它們的存取,它們的存取指令是一樣的;而兩者在兩個(gè)獨(dú)立的地址空間,它們的指令是一樣的;而兩者在兩個(gè)獨(dú)立的地址空間,它們的地址碼的位數(shù)不同,采用的存取指令是不一樣的,這種地址碼的位數(shù)不同,采用的存取指令是不一樣的,這種方法稱為方法稱為獨(dú)立編址獨(dú)立編址。n地址碼的位數(shù)決定了地址空間的大小。若地址碼共地址碼的位數(shù)決定了地址空間的大小。若地址碼共n n位,位,則可以有則可以有2 2n

37、 n個(gè)地址。對(duì)于個(gè)地址。對(duì)于單地址空間單地址空間的的CPUCPU的處理器,的處理器,則存儲(chǔ)器和則存儲(chǔ)器和I/OI/O端口合在一起的空間容量為端口合在一起的空間容量為2 2n n個(gè)字節(jié)。個(gè)字節(jié)。對(duì)于對(duì)于獨(dú)立空間獨(dú)立空間的來(lái)說(shuō),地址總線的條數(shù)決定了存儲(chǔ)器地的來(lái)說(shuō),地址總線的條數(shù)決定了存儲(chǔ)器地址空間的容量;地址總線中用于址空間的容量;地址總線中用于I/OI/O端口編址的條數(shù)決端口編址的條數(shù)決定定I/OI/O地址空間的容量。地址空間的容量。存儲(chǔ)器和存儲(chǔ)器和I/O端口的組織(端口的組織(2)39 例如在例如在8086CPU8086CPU系統(tǒng)中,地址總線的條數(shù)為系統(tǒng)中,地址總線的條數(shù)為2020條,則條,則

38、存儲(chǔ)器的最大容量為存儲(chǔ)器的最大容量為2 22020,即,即1MB1MB字節(jié);它的地址總線字節(jié);它的地址總線的低的低1616位用來(lái)對(duì)位用來(lái)對(duì)I/OI/O端口編址,則端口編址,則I/OI/O地址空間的容量地址空間的容量為為2 21616,即,即64K64K個(gè)個(gè)I/OI/O端口地址。端口地址。存儲(chǔ)器和存儲(chǔ)器和I/O端口的組織(端口的組織(3)402.58086的尋址方式的尋址方式n尋址方式:指令中用于說(shuō)明操作數(shù)地址的方法尋址方式:指令中用于說(shuō)明操作數(shù)地址的方法n尋址方式分為數(shù)據(jù)尋址方式和轉(zhuǎn)移地址尋址方式尋址方式分為數(shù)據(jù)尋址方式和轉(zhuǎn)移地址尋址方式n數(shù)據(jù)尋址方式通常有數(shù)據(jù)尋址方式通常有8 8種:種:1

39、1、立即尋址、立即尋址2 2、寄存器尋址、寄存器尋址3 3、直接尋址、直接尋址4 4、寄存器間接尋址、寄存器間接尋址5 5、寄存器相對(duì)尋址、寄存器相對(duì)尋址6 6、基址變址尋址、基址變址尋址7 7、基址變址且相對(duì)尋址、基址變址且相對(duì)尋址8 8、隱含尋址、隱含尋址41立即尋址立即尋址存儲(chǔ)器存儲(chǔ)器 9ABC 1234 F5 1000 代代碼碼段段數(shù)數(shù)據(jù)據(jù)段段MOV AX, 1000HAXAHAL100030000H31000H31001H32000H32001Hp 操作數(shù)為立即數(shù),直接存放在代碼段中操作數(shù)為立即數(shù),直接存放在代碼段中42AX12A6HBX12A6Hp 操作數(shù)在寄存器中。對(duì)于操作數(shù)在寄

40、存器中。對(duì)于16位數(shù)據(jù),寄存器可以是位數(shù)據(jù),寄存器可以是8個(gè)通用寄存器中的任意一個(gè)(個(gè)通用寄存器中的任意一個(gè)(AX、BX、CX、DX、SI、DI、SP、BP)。對(duì)于)。對(duì)于8位數(shù)據(jù),寄存器可以是位數(shù)據(jù),寄存器可以是AL、AH、BL、BH、CL、CH、DL、DH。p 例如:例如:MOV AX,BX43直接尋址直接尋址存儲(chǔ)器存儲(chǔ)器 9ABC 1234 F5 1000 代代碼碼段段數(shù)數(shù)據(jù)據(jù)段段30000H31000H31001H32000H32001HMOV AX, 1000HAXAHAL1234DS3000 0100031000物理地物理地址址p 操作數(shù)在內(nèi)存單元中操作數(shù)在內(nèi)存單元中p 指令碼中直

41、接給出數(shù)據(jù)的偏移地址指令碼中直接給出數(shù)據(jù)的偏移地址44寄存器間接尋址(寄存器間接尋址(1)n 操作數(shù)在內(nèi)存單元中操作數(shù)在內(nèi)存單元中n 數(shù)據(jù)的偏移地址由指定的寄存器給出:數(shù)據(jù)的偏移地址由指定的寄存器給出:BX,SI或或DIEA =(BX)(SI)(DI)45寄存器間接尋址(寄存器間接尋址(2)存儲(chǔ)器存儲(chǔ)器 9ABC 1234 F5 代代碼碼段段數(shù)數(shù)據(jù)據(jù)段段30000H31000H31001H32000H32001HMOV AX, BXAXAHAL1234DS3000 0100031000物理地物理地址址BX操作數(shù)操作數(shù)46寄存器相對(duì)尋址(寄存器相對(duì)尋址(1)n 操作數(shù)在內(nèi)存單元中操作數(shù)在內(nèi)存單元

42、中n 數(shù)據(jù)的偏移地址是位移量和一個(gè)基址寄存器(數(shù)據(jù)的偏移地址是位移量和一個(gè)基址寄存器(BX、BP)或變址寄存器()或變址寄存器(SI、DI)的內(nèi)容之和)的內(nèi)容之和EA =(BX)(BP)(SI)(DI)+8位位disp16位位disp47寄存器相對(duì)尋址(寄存器相對(duì)尋址(2)存儲(chǔ)器存儲(chǔ)器 9ABC 1234 F5 0500 代代碼碼段段數(shù)數(shù)據(jù)據(jù)段段30000H31000H31001H32000H32001HMOV AX, dispSIAXAHAL1234DS3000 00B0031000物理地物理地址址SI操作數(shù)操作數(shù)0500disp48基址變址尋址(基址變址尋址(1)n 操作數(shù)在內(nèi)存單元中操作

43、數(shù)在內(nèi)存單元中n 數(shù)據(jù)的偏移地址是一個(gè)基址寄存器數(shù)據(jù)的偏移地址是一個(gè)基址寄存器(BX、BP)和一和一個(gè)變址寄存器個(gè)變址寄存器(SI、DI)的內(nèi)容之和的內(nèi)容之和EA =(BX)(BP)+(SI)(DI)49基址變址尋址(基址變址尋址(2)存儲(chǔ)器存儲(chǔ)器 9ABC 1234 F5 代代碼碼段段數(shù)數(shù)據(jù)據(jù)段段30000H31000H31001H32000H32001HMOV AX, BXSIDS3000 0100032000物理地物理地址址BX操作數(shù)操作數(shù)1000SIAXAHAL9ABC50基址變址且相對(duì)尋址(基址變址且相對(duì)尋址(1)n 操作數(shù)在內(nèi)存單元中。操作數(shù)在內(nèi)存單元中。n 數(shù)據(jù)的偏移地址是位移量

44、,一個(gè)基址寄存器數(shù)據(jù)的偏移地址是位移量,一個(gè)基址寄存器(BX、BP)和一個(gè)變址寄存器和一個(gè)變址寄存器(SI、DI)的內(nèi)容三部分之的內(nèi)容三部分之和。和。+EA =(BX)(BP)+(SI)(DI)8位位disp16位位disp51基址變址且相對(duì)尋址(基址變址且相對(duì)尋址(2)存儲(chǔ)器存儲(chǔ)器 9ABC 1234 F5 0500 代代碼碼段段數(shù)數(shù)據(jù)據(jù)段段30000H31000H31001H32000H32001HMOV AX, dispBXSIDS3000 0100032000物理地物理地址址BX操作數(shù)操作數(shù)0B00SIAXAHAL9ABC0500disp52隱含尋址隱含尋址有些指令碼中不包含指明操作數(shù)

45、地址的部分,而其操有些指令碼中不包含指明操作數(shù)地址的部分,而其操作碼本身隱含地說(shuō)明了操作數(shù)地址。作碼本身隱含地說(shuō)明了操作數(shù)地址。例如:例如:MULCL;其操作為;其操作為(AX)(AL)(CL)在這里,在這里,AL操作數(shù)并沒(méi)有在指令中指明,是由操作數(shù)并沒(méi)有在指令中指明,是由操作碼本身隱含地說(shuō)明了操作碼本身隱含地說(shuō)明了53若若(BX)0158H,(DI)10A5H,位移量,位移量1B57H,(DS)2100H,(SS)1100H,(BP)0100H,段寄存器按默,段寄存器按默認(rèn)段寄存器,則相對(duì)于各種尋址方式的有效地址和物理地認(rèn)段寄存器,則相對(duì)于各種尋址方式的有效地址和物理地址是:址是: 直接尋址

46、:直接尋址:EA1B57H物理地址物理地址(DS)10HEA21000H1B57H22B57H 寄存器間接尋址寄存器間接尋址(假設(shè)寄存器為假設(shè)寄存器為BX):EA0158H物理地址物理地址(DS)10HEA21000H0158H21158H例題例題54 寄存器相對(duì)尋址寄存器相對(duì)尋址(假設(shè)寄存器為假設(shè)寄存器為BP) EA0100H1B57H1C57H物理地址物理地址(SS)10HEA11000H1C57H12C57H 基址變址尋址基址變址尋址(假設(shè)寄存器為假設(shè)寄存器為BX和和DI) EA0158H10A5H11FDH物理地址物理地址(DS)10HEA21000H11FDH221FDH 基址變址且

47、相對(duì)尋址基址變址且相對(duì)尋址(假設(shè)寄存器為假設(shè)寄存器為BP和和DI) EA0100H10A5H1B57H2CFCH物理地址物理地址(SS)10HEA11000H2CFCH13CFCH55轉(zhuǎn)移地址的尋址方式轉(zhuǎn)移地址的尋址方式n指令是按順序存放在存儲(chǔ)器中的,其執(zhí)行順序是由代碼段指令是按順序存放在存儲(chǔ)器中的,其執(zhí)行順序是由代碼段寄存器寄存器CS和指令指針和指令指針I(yè)P的內(nèi)容決定的。在正常的情況下,的內(nèi)容決定的。在正常的情況下,BIU自動(dòng)修改自動(dòng)修改IP的內(nèi)容,使它指向下一條指令。的內(nèi)容,使它指向下一條指令。n程序轉(zhuǎn)移指令通過(guò)改變程序轉(zhuǎn)移指令通過(guò)改變IP和和CS的內(nèi)容,就可以改變程序的的內(nèi)容,就可以改變

48、程序的正常執(zhí)行順序。正常執(zhí)行順序。n轉(zhuǎn)移地址的尋址方式有轉(zhuǎn)移地址的尋址方式有4種:種:段內(nèi)直接尋址段內(nèi)直接尋址2.段內(nèi)間接尋址段內(nèi)間接尋址3.段間直接尋址段間直接尋址4.段間間接尋址段間間接尋址56段內(nèi)直接尋址段內(nèi)直接尋址pJMP指令的操作數(shù)部分直接給出目標(biāo)單元指令的操作數(shù)部分直接給出目標(biāo)單元p指令所在存儲(chǔ)單元的地址的形成:指令所在存儲(chǔ)單元的地址的形成: CS*10H+(IP) (IP)=(IP)disp(8位或者位或者16位位)例如:例如:.JMP ABC1. ABC1: .57段內(nèi)間接尋址段內(nèi)間接尋址pJMP指令轉(zhuǎn)移的目標(biāo)地址在某一個(gè)通用寄存器中或者指令轉(zhuǎn)移的目標(biāo)地址在某一個(gè)通用寄存器中或

49、者在某一個(gè)字存儲(chǔ)單元中在某一個(gè)字存儲(chǔ)單元中p指令所在存儲(chǔ)單元的地址的形成:指令所在存儲(chǔ)單元的地址的形成: CS*10H+(IP) (IP) EA(存在寄存器或存儲(chǔ)器單元中存在寄存器或存儲(chǔ)器單元中)例如:例如: JMP CX或者或者JMP WORD PTR BX58段間直接尋址段間直接尋址p指令碼中直接給出指令碼中直接給出16位的段地址和位的段地址和16位的有效地址。位的有效地址。p指令所在存儲(chǔ)單元的地址的形成:指令所在存儲(chǔ)單元的地址的形成: (IP) EA(指令指令)(CS) 段地址段地址(指令指令)例如:例如:COSEG1 SEGMENT. JMP FAR PTR TRAGET.COSEG1

50、 ENDSCOSEG2 SEGMENT. TRAGET: -.COSEG2 ENDS59段間間接尋址段間間接尋址p段間間接尋址和段內(nèi)間接尋址相似,要得到的轉(zhuǎn)移地段間間接尋址和段內(nèi)間接尋址相似,要得到的轉(zhuǎn)移地址包括址包括16位段地址和位段地址和16位有效地址,使用地址連續(xù)位有效地址,使用地址連續(xù)的的4個(gè)存儲(chǔ)單元存儲(chǔ)個(gè)存儲(chǔ)單元存儲(chǔ)p指令所在存儲(chǔ)單元的地址的形成:指令所在存儲(chǔ)單元的地址的形成: (IP)EA(存儲(chǔ)單元的前兩個(gè)字節(jié)存儲(chǔ)單元的前兩個(gè)字節(jié))(CS)段地址段地址(存儲(chǔ)單元的后兩存儲(chǔ)單元的后兩個(gè)個(gè)字節(jié)字節(jié))例如:例如: JMP DWORD PTR ADDRBX或者或者 JMP DWORD PT

51、R BXSI602.7高檔微處理器的寄存器結(jié)構(gòu)和存儲(chǔ)器組織簡(jiǎn)介高檔微處理器的寄存器結(jié)構(gòu)和存儲(chǔ)器組織簡(jiǎn)介 和和8086內(nèi)部的寄存器結(jié)構(gòu)和存儲(chǔ)器組織相比,高檔內(nèi)部的寄存器結(jié)構(gòu)和存儲(chǔ)器組織相比,高檔微處微處理器的寄存器結(jié)構(gòu)和存儲(chǔ)器組織具有以下特點(diǎn):理器的寄存器結(jié)構(gòu)和存儲(chǔ)器組織具有以下特點(diǎn):p使高檔微處理器具有更強(qiáng)的數(shù)據(jù)處理能力;使高檔微處理器具有更強(qiáng)的數(shù)據(jù)處理能力;p高檔微處理器支持多任務(wù)操作系統(tǒng)。高檔微處理器支持多任務(wù)操作系統(tǒng)。61AH ALBH BLCH CLDH DLSPBPDISIIPFLAGSCSDSESSSFSGSEAXEBXECXEDXESPEBPEDIESIEIPEFLAGS31 1

52、6 0高檔微處理器的寄存器結(jié)構(gòu)高檔微處理器的寄存器結(jié)構(gòu)62高檔微處理器的訪問(wèn)存儲(chǔ)器機(jī)制高檔微處理器的訪問(wèn)存儲(chǔ)器機(jī)制 p奔騰微處理器可以訪問(wèn)的存儲(chǔ)器空間為奔騰微處理器可以訪問(wèn)的存儲(chǔ)器空間為4GB;p采用虛擬存儲(chǔ)技術(shù),還可以大大擴(kuò)展存儲(chǔ)空間。采用虛擬存儲(chǔ)技術(shù),還可以大大擴(kuò)展存儲(chǔ)空間。63實(shí)模式與保護(hù)模式實(shí)模式與保護(hù)模式 p80286及以上的高檔微處理器都可以工作于實(shí)模式或保護(hù)及以上的高檔微處理器都可以工作于實(shí)模式或保護(hù)模式,而模式,而8086只能工作于實(shí)模式;只能工作于實(shí)模式;p實(shí)模式下微處理器只能訪問(wèn)地址低端的實(shí)模式下微處理器只能訪問(wèn)地址低端的1MB存儲(chǔ)空間,所存儲(chǔ)空間,所以地址低端的以地址低端

53、的1MB存儲(chǔ)區(qū)稱為實(shí)模式存儲(chǔ)器、常規(guī)存儲(chǔ)區(qū)存儲(chǔ)區(qū)稱為實(shí)模式存儲(chǔ)器、常規(guī)存儲(chǔ)區(qū)或或DOS存儲(chǔ)器系統(tǒng);存儲(chǔ)器系統(tǒng);pDOS要求處理器工作于實(shí)模式,而且各種微處理器在任何要求處理器工作于實(shí)模式,而且各種微處理器在任何情況下每次加電或復(fù)位后都默認(rèn)以實(shí)模式開始;情況下每次加電或復(fù)位后都默認(rèn)以實(shí)模式開始;pWindows工作于保護(hù)模式,只有保護(hù)模式才允許訪問(wèn)低工作于保護(hù)模式,只有保護(hù)模式才允許訪問(wèn)低端的端的1MB存儲(chǔ)區(qū)和高于存儲(chǔ)區(qū)和高于1MB以上的存儲(chǔ)區(qū)。以上的存儲(chǔ)區(qū)。64保護(hù)模式下的存儲(chǔ)器尋址機(jī)制保護(hù)模式下的存儲(chǔ)器尋址機(jī)制p保護(hù)模式下訪問(wèn)存儲(chǔ)器的地址仍由兩部分合成,即偏移保護(hù)模式下訪問(wèn)存儲(chǔ)器的地址仍由兩

54、部分合成,即偏移地址和基地址;地址和基地址;p其基地址不再直接是段寄存器保存的段地址,而是由段其基地址不再直接是段寄存器保存的段地址,而是由段寄存器和對(duì)應(yīng)的描述符寄存器聯(lián)合提供的。寄存器和對(duì)應(yīng)的描述符寄存器聯(lián)合提供的。選擇符選擇符選擇符選擇符選擇符選擇符選擇符選擇符選擇符選擇符選擇符選擇符15 0 12位屬性位屬性 32位基地址位基地址 20位邊界位邊界段描述符高速緩沖寄存器段描述符高速緩沖寄存器段寄存器段寄存器65保護(hù)模式下的存儲(chǔ)器尋址機(jī)制保護(hù)模式下的存儲(chǔ)器尋址機(jī)制p保護(hù)模式下的段寄存器保存的不再是段地址,而是提供保護(hù)模式下的段寄存器保存的不再是段地址,而是提供找到段地址的選擇符;找到段地址的選擇符;p與選擇符密切相關(guān)的概念是段描述符,描述符表和描述與選擇符密切相關(guān)的概念是段描述符,描述符表和描述符寄存器。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論