第二章8086微處理器及其系統(tǒng)結(jié)構(gòu)_第1頁(yè)
第二章8086微處理器及其系統(tǒng)結(jié)構(gòu)_第2頁(yè)
第二章8086微處理器及其系統(tǒng)結(jié)構(gòu)_第3頁(yè)
第二章8086微處理器及其系統(tǒng)結(jié)構(gòu)_第4頁(yè)
第二章8086微處理器及其系統(tǒng)結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、本章學(xué)習(xí)目的本章學(xué)習(xí)目的2022-1-141.掌握微處理器的編程結(jié)構(gòu)掌握微處理器的編程結(jié)構(gòu);2.掌握標(biāo)志寄存器掌握標(biāo)志寄存器F各位的含義、作用及各位的含義、作用及DEBUG運(yùn)行后標(biāo)志位的表示方法運(yùn)行后標(biāo)志位的表示方法;3.掌握掌握8086微處理器的主要引腳功能微處理器的主要引腳功能;4.掌握掌握8086系統(tǒng)的系統(tǒng)的存儲(chǔ)器組織結(jié)構(gòu)存儲(chǔ)器組織結(jié)構(gòu)及及堆棧堆棧的活動(dòng)的活動(dòng)情況情況;5.掌握掌握8086的時(shí)鐘及其發(fā)生電路的時(shí)鐘及其發(fā)生電路, ,記住系統(tǒng)記住系統(tǒng)復(fù)位復(fù)位后各寄存器的狀態(tài)。后各寄存器的狀態(tài)。第一節(jié)第一節(jié) 8086微處理器內(nèi)部結(jié)構(gòu)微處理器內(nèi)部結(jié)構(gòu)一、指令和程序的解釋方式一、指令和程序的解釋方

2、式機(jī)器指令機(jī)器指令操作碼操作碼操作數(shù)操作數(shù) +若干條指令構(gòu)成程序若干條指令構(gòu)成程序在微機(jī)中在微機(jī)中, ,微處理器解釋一條指令的完整步驟可以微處理器解釋一條指令的完整步驟可以歸納為如下兩個(gè)階段歸納為如下兩個(gè)階段:v 取指取指 從內(nèi)存中取出指令從內(nèi)存中取出指令, ,明確指令規(guī)定的功能明確指令規(guī)定的功能;8位機(jī)順序解釋位機(jī)順序解釋8086重疊解釋重疊解釋VSv 執(zhí)行執(zhí)行 分析指令要求實(shí)現(xiàn)的功能分析指令要求實(shí)現(xiàn)的功能, ,讀取所需要的操讀取所需要的操 作數(shù)作數(shù), ,執(zhí)行指令規(guī)定的操作執(zhí)行指令規(guī)定的操作, ,并保存執(zhí)行結(jié)果。并保存執(zhí)行結(jié)果。8086的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)總體結(jié)構(gòu)總體結(jié)構(gòu)NEXT8086/

3、/8088 CPU的內(nèi)部是由兩個(gè)獨(dú)立的工作部的內(nèi)部是由兩個(gè)獨(dú)立的工作部件構(gòu)成件構(gòu)成,分別是總線接口部件分別是總線接口部件BIU( (Bus Interface Unit) )和執(zhí)行部件和執(zhí)行部件EU( (Execution Unit) )。圖中虛。圖中虛線右半部分是線右半部分是BIU,左半部分是左半部分是EU。兩者并行操。兩者并行操作作,提高了提高了CPU的運(yùn)行效率。的運(yùn)行效率。 下面分別介紹下面分別介紹BIU和和EU兩者的功能兩者的功能:返回任務(wù)任務(wù): ( (1) )從內(nèi)存取指令從內(nèi)存取指令指令隊(duì)列緩沖器指令隊(duì)列緩沖器; ( (2) ) 取數(shù)據(jù)到運(yùn)行單元進(jìn)行運(yùn)算并將運(yùn)算結(jié)果送取數(shù)據(jù)到運(yùn)行單元

4、進(jìn)行運(yùn)算并將運(yùn)算結(jié)果送到目的單元到目的單元( (內(nèi)存或外設(shè)端口內(nèi)存或外設(shè)端口) ); 總線接口部件總線接口部件BIU功能功能: 實(shí)現(xiàn)實(shí)現(xiàn)8086CPU與存儲(chǔ)器和外部設(shè)備之與存儲(chǔ)器和外部設(shè)備之 間的數(shù)據(jù)傳送。間的數(shù)據(jù)傳送。( (3) )重疊實(shí)現(xiàn)取指令與執(zhí)行指令!重疊實(shí)現(xiàn)取指令與執(zhí)行指令!返回設(shè)立指令隊(duì)列緩沖器的目的是為了實(shí)現(xiàn)重疊解釋指設(shè)立指令隊(duì)列緩沖器的目的是為了實(shí)現(xiàn)重疊解釋指令。令。工作原理工作原理:緩沖器中只要有一條指令緩沖器中只要有一條指令, ,EU就開始執(zhí)行就開始執(zhí)行;緩沖器中只要有兩個(gè)字節(jié)為空緩沖器中只要有兩個(gè)字節(jié)為空, ,BIU便自動(dòng)執(zhí)行取指便自動(dòng)執(zhí)行取指操作操作;緩沖器緩沖器結(jié)構(gòu)結(jié)

5、構(gòu): 指令隊(duì)列緩沖器為指令隊(duì)列緩沖器為6字節(jié)字節(jié)( (8088只有只有4字節(jié)字節(jié)) ) 容量的容量的FIFO。當(dāng)當(dāng)EU執(zhí)行執(zhí)行完轉(zhuǎn)移、調(diào)用和返回等切換程序流程的完轉(zhuǎn)移、調(diào)用和返回等切換程序流程的指令時(shí)指令時(shí), ,緩沖器中原來的內(nèi)容將被清除緩沖器中原來的內(nèi)容將被清除, ,BIU從內(nèi)存從內(nèi)存中新的位置開始重新預(yù)取指令填入隊(duì)列中。中新的位置開始重新預(yù)取指令填入隊(duì)列中。返回設(shè)立地址加法器的目的設(shè)立地址加法器的目的: 8086 CPU地址總線有地址總線有20位位, ,而內(nèi)部地址寄存器都是而內(nèi)部地址寄存器都是16位位, ,需要加法器形需要加法器形成成20位地址。位地址。地址發(fā)生器地址發(fā)生器組成組成: 地址

6、加法器、指令指針地址加法器、指令指針I(yè)P和段寄存器。和段寄存器。工作原理工作原理: 段寄存器內(nèi)容段寄存器內(nèi)容16 + 偏移地址偏移地址( (IP或或指令中的操作數(shù)地址給出指令中的操作數(shù)地址給出) )。返回執(zhí)行部件執(zhí)行部件EU結(jié)構(gòu)結(jié)構(gòu): ( (1) )16位算術(shù)邏輯單元位算術(shù)邏輯單元ALU;( (2) )16位標(biāo)志寄存器位標(biāo)志寄存器F;( (3) )數(shù)據(jù)暫存寄存器數(shù)據(jù)暫存寄存器( (與編程無(wú)關(guān)與編程無(wú)關(guān), ,即不對(duì)用戶開放即不對(duì)用戶開放) )( (4) )通用寄存器組:通用寄存器組: AX、BX、CX、DX-數(shù)據(jù)寄存器數(shù)據(jù)寄存器 SP、BP-指針寄存器指針寄存器 SI、DI-變址寄存器變址寄存器

7、功能功能: 執(zhí)行指令并暫執(zhí)行指令并暫存運(yùn)算結(jié)果存運(yùn)算結(jié)果( (5) )EU控制電路控制電路: 內(nèi)部電路內(nèi)部電路, ,不對(duì)用戶開放不對(duì)用戶開放返回8086 CPU的編程模型的編程模型程序設(shè)計(jì)者所看到程序設(shè)計(jì)者所看到( (或程序可見或程序可見) )的的8086CPU即即為該為該CPU的編程模型。包括三個(gè)部分的編程模型。包括三個(gè)部分:編程模型編程模型寄存器組寄存器組存儲(chǔ)器存儲(chǔ)器I/O資源資源三、三、8086的寄存器結(jié)構(gòu)的寄存器結(jié)構(gòu)通用寄存器通用寄存器段寄存器段寄存器AH AL AX 累加器累加器BH BL BX 基址寄存器基址寄存器CH CL CX 計(jì)數(shù)寄存器計(jì)數(shù)寄存器DH DL DX 數(shù)據(jù)寄存器數(shù)

8、據(jù)寄存器 SP 堆棧指針堆棧指針 BP 基址指針基址指針 SI 源變址寄存器源變址寄存器 DI 目的變址寄存器目的變址寄存器 CS 代碼段寄存器代碼段寄存器 DS 數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器 ES 附加段寄存器附加段寄存器 SS 堆棧段寄存器堆棧段寄存器 IP 指令指針指令指針 F 標(biāo)志寄存器標(biāo)志寄存器 專用寄存器專用寄存器1. 通用寄存器通用寄存器( (1) )數(shù)據(jù)寄存器數(shù)據(jù)寄存器數(shù)據(jù)寄存器可以用于存放數(shù)據(jù)寄存器可以用于存放8位或位或16位的二進(jìn)制操作位的二進(jìn)制操作數(shù)數(shù),這些操作數(shù)可以是參加操作的原始數(shù)據(jù)、運(yùn)算這些操作數(shù)可以是參加操作的原始數(shù)據(jù)、運(yùn)算得到的中間結(jié)果得到的中間結(jié)果,也可以是操作數(shù)

9、的地址。大多數(shù)也可以是操作數(shù)的地址。大多數(shù)算術(shù)和邏輯運(yùn)算指令都可以使用這些寄存器算術(shù)和邏輯運(yùn)算指令都可以使用這些寄存器。在在8086微處理器中微處理器中, ,數(shù)據(jù)寄存器有數(shù)據(jù)寄存器有4個(gè)個(gè), ,累加器累加器AX( (Accumulator) )、基址寄存器基址寄存器BX( (Base) )、計(jì)數(shù)計(jì)數(shù)寄存器寄存器CX( (Count) )、數(shù)據(jù)寄存器數(shù)據(jù)寄存器DX( (Data) )。 通用寄存器共有通用寄存器共有8個(gè)個(gè), ,又可分為兩組。又可分為兩組。每個(gè)每個(gè)16位數(shù)據(jù)寄存器可分為高位數(shù)據(jù)寄存器可分為高8位位( (AH、BH、CH和和DH) )和低和低8位位( (AL、BL、CL和和DL),)

10、,可分別尋址可分別尋址, ,獨(dú)立操作。獨(dú)立操作。 指針寄存器和變址寄存器一般用來存放地址偏移量指針寄存器和變址寄存器一般用來存放地址偏移量,用于堆棧操作和變址運(yùn)算中計(jì)算操作數(shù)的有效地址用于堆棧操作和變址運(yùn)算中計(jì)算操作數(shù)的有效地址。指針寄存器指的是堆棧指針寄存器指針寄存器指的是堆棧指針寄存器SP( (Stack Pointer) )和基址指針寄存器和基址指針寄存器BP( (Base Pointer) ),其中其中SP用來指用來指示堆棧頂部單元的位置示堆棧頂部單元的位置,實(shí)現(xiàn)堆棧操作實(shí)現(xiàn)堆棧操作,而而BP用來存用來存放在現(xiàn)行堆棧段中的一個(gè)數(shù)據(jù)區(qū)的基地址。放在現(xiàn)行堆棧段中的一個(gè)數(shù)據(jù)區(qū)的基地址。 (

11、(2) )指針寄存器和變址寄存器指針寄存器和變址寄存器變址寄存器包括源變址寄存器變址寄存器包括源變址寄存器SI( (Source Index) )和目和目的變址寄存器的變址寄存器DI( (Destination Index) ),分別用來存放分別用來存放源操作數(shù)和目的操作數(shù)的偏移地址。源操作數(shù)和目的操作數(shù)的偏移地址。寄寄 存存 器器 操操 作作AX 1) ) 在字乘字除指令中作累加器; 2) ) 在字I/O操作時(shí)作數(shù)據(jù)寄存器。AH 1) ) 在字節(jié)乘字節(jié)除指令中存放結(jié)果; 2) ) 在LAHF中作目的寄存器。AL 1) ) 在字節(jié)乘字節(jié)除指令中作累加器; 2) ) 在字節(jié)I/O操作時(shí)作數(shù)據(jù)寄存

12、器; 3) ) BCD、ASCII碼數(shù)據(jù)運(yùn)算時(shí)作累加器; 4) ) 在XLAT指令中作累加器。BX 1) ) 間接尋址時(shí)作地址寄存器和基址寄存器; 2) ) 在XLAT指令中作基址寄存器。CX 1) ) 串操作時(shí)作串長(zhǎng)計(jì)數(shù)器; 2) ) 循環(huán)操作時(shí)作循環(huán)次數(shù)計(jì)數(shù)器。 CL 移位操作時(shí)作移位次數(shù)計(jì)數(shù)器。 DX 1) ) 字乘字除指令中作輔助寄存器; 2) ) I/O指令間接尋址時(shí)作端口地址寄存器。 SP 堆棧操作時(shí)作堆棧指針。 SI 1) ) 間接尋址時(shí)作地址寄存器和變址寄存器; 2) ) 串操作時(shí)作源變址寄存器。 DI 1) ) 間接尋址時(shí)作地址寄存器和變址寄存器; 2) ) 串操作時(shí)作目的變

13、址寄存器。 在 某 些 指在 某 些 指令中令中, ,以上以上各 通 用 寄各 通 用 寄存 器 具 有存 器 具 有特 定 的 用特 定 的 用途途, ,稱為寄稱為寄存 器 的 隱存 器 的 隱含用法。含用法。指令指針指令指針I(yè)P是一個(gè)是一個(gè)16位專用寄存器位專用寄存器, ,程序運(yùn)行時(shí)程序運(yùn)行時(shí), ,它它始終指向始終指向EU要執(zhí)行的下一條指令所在單元。當(dāng)要執(zhí)行的下一條指令所在單元。當(dāng)EU執(zhí)行本條指令時(shí)執(zhí)行本條指令時(shí), ,IP中的內(nèi)容自動(dòng)增量中的內(nèi)容自動(dòng)增量, ,以指向下一以指向下一條指令所在的內(nèi)存單元。條指令所在的內(nèi)存單元。2. 指令指針指令指針I(yè)P( (Instruction Pointe

14、r) )需要注意的是需要注意的是, ,程序中不能隨意對(duì)程序中不能隨意對(duì)IP進(jìn)行存取操進(jìn)行存取操作作, ,只有轉(zhuǎn)移指令、子程序調(diào)用和返回指令以及只有轉(zhuǎn)移指令、子程序調(diào)用和返回指令以及中斷處理時(shí)才能對(duì)中斷處理時(shí)才能對(duì)IP的內(nèi)容進(jìn)行修改和設(shè)置。的內(nèi)容進(jìn)行修改和設(shè)置。代碼段寄存器代碼段寄存器CS( (Code Segment),),指向當(dāng)前代碼段指向當(dāng)前代碼段;數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器DS( (Data Segment),),指向當(dāng)前數(shù)據(jù)段指向當(dāng)前數(shù)據(jù)段;附加段寄存器附加段寄存器ES( (Extra Segment),),指向當(dāng)前附加段指向當(dāng)前附加段;堆棧段寄存器堆棧段寄存器SS( (Stack Se

15、gment),),指向當(dāng)前堆棧段指向當(dāng)前堆棧段。8086系統(tǒng)對(duì)內(nèi)存實(shí)行分段管理系統(tǒng)對(duì)內(nèi)存實(shí)行分段管理, ,在在BIU中有中有4個(gè)個(gè)16位位的段寄存器的段寄存器, ,專門用于存放各段在內(nèi)存中的起始地址專門用于存放各段在內(nèi)存中的起始地址( (段基址段基址) )。這這4個(gè)段寄存器是個(gè)段寄存器是:1M字節(jié)的地址是分段尋字節(jié)的地址是分段尋址的址的, ,分段是個(gè)動(dòng)態(tài)概分段是個(gè)動(dòng)態(tài)概念。段基址與具體程序念。段基址與具體程序無(wú)關(guān)無(wú)關(guān)。標(biāo)志寄存器位于標(biāo)志寄存器位于EU中, ,它是一個(gè)它是一個(gè)16位的寄存器位的寄存器, ,但但實(shí)際上只用了其中實(shí)際上只用了其中9位。位。D15D0 OF DF TF IF SF ZF

16、 AF PF CF4. 標(biāo)志寄存器標(biāo)志寄存器F( (Flag Register) )( (1) )狀態(tài)標(biāo)志位狀態(tài)標(biāo)志位 用于反映用于反映EU執(zhí)行算術(shù)或邏輯運(yùn)算以后的結(jié)果特征執(zhí)行算術(shù)或邏輯運(yùn)算以后的結(jié)果特征,指令執(zhí)行時(shí)由指令執(zhí)行時(shí)由EU根據(jù)指令的執(zhí)行結(jié)果設(shè)置這些位根據(jù)指令的執(zhí)行結(jié)果設(shè)置這些位的狀態(tài)的狀態(tài),并進(jìn)一步影響或控制某些后繼指令并進(jìn)一步影響或控制某些后繼指令( (如條如條件轉(zhuǎn)移指令、循環(huán)指令等件轉(zhuǎn)移指令、循環(huán)指令等) )的執(zhí)行。不同指令對(duì)各的執(zhí)行。不同指令對(duì)各狀態(tài)標(biāo)志位的影響是不同的。狀態(tài)標(biāo)志位的影響是不同的。根據(jù)各位的作用和含義根據(jù)各位的作用和含義, ,各標(biāo)志位又分為狀態(tài)標(biāo)志各標(biāo)志位又分

17、為狀態(tài)標(biāo)志位和控制標(biāo)志位兩大類。位和控制標(biāo)志位兩大類。狀態(tài)標(biāo)志位共有狀態(tài)標(biāo)志位共有6位位, ,它們分別是它們分別是:v 進(jìn)位標(biāo)志進(jìn)位標(biāo)志CF( (Carry Flag) ) 反映算術(shù)運(yùn)算后最高反映算術(shù)運(yùn)算后最高位是否出現(xiàn)進(jìn)位或借位位是否出現(xiàn)進(jìn)位或借位,有則為有則為“1”, ,無(wú)則為無(wú)則為 “0”。v 奇偶標(biāo)志奇偶標(biāo)志PF( (Parity Flag) ) 反映指令執(zhí)行結(jié)果反映指令執(zhí)行結(jié)果低低8 位位數(shù)據(jù)中數(shù)據(jù)中1的個(gè)數(shù)是否為偶數(shù)的個(gè)數(shù)是否為偶數(shù), ,若是則該位置若是則該位置“1”, ,否則置否則置“0”。v 輔助進(jìn)位標(biāo)志輔助進(jìn)位標(biāo)志AF( (Auxiliary Flag) ) 反映運(yùn)算結(jié)果反映

18、運(yùn)算結(jié)果的的低低4位位是否向高位產(chǎn)生進(jìn)位或借位是否向高位產(chǎn)生進(jìn)位或借位, ,有則為有則為“1”, ,無(wú)則為無(wú)則為“0”。v符號(hào)標(biāo)志符號(hào)標(biāo)志SF( (Sign Flag) ) 反映運(yùn)算結(jié)果最高位的反映運(yùn)算結(jié)果最高位的狀態(tài)狀態(tài), ,并與運(yùn)算結(jié)果最高位狀態(tài)相同。表明了本并與運(yùn)算結(jié)果最高位狀態(tài)相同。表明了本次運(yùn)算的結(jié)果是正還是負(fù)。次運(yùn)算的結(jié)果是正還是負(fù)。v零標(biāo)志零標(biāo)志ZF( (Zero Flag) ) 反映運(yùn)算結(jié)果是否為零反映運(yùn)算結(jié)果是否為零,若是若是,則該位置則該位置“1”,否則置否則置“0”。v溢出標(biāo)志溢出標(biāo)志OF( (Overflow Flag) ) 反映帶符號(hào)數(shù)進(jìn)行反映帶符號(hào)數(shù)進(jìn)行算算 術(shù)運(yùn)算

19、后是否有溢出術(shù)運(yùn)算后是否有溢出, ,有則為有則為“1”, ,無(wú)則為無(wú)則為“0”。 用于對(duì)用于對(duì)CPU的某些操作實(shí)施控制的某些操作實(shí)施控制, ,并可在程序中用并可在程序中用相應(yīng)的指令來設(shè)置其狀態(tài)。相應(yīng)的指令來設(shè)置其狀態(tài)。3位控制標(biāo)志分別是位控制標(biāo)志分別是:v方向標(biāo)志方向標(biāo)志DF( (Direction Flag) ) 用于控制串操作指令用于控制串操作指令執(zhí)行時(shí)的步進(jìn)方向執(zhí)行時(shí)的步進(jìn)方向, ,該位為該位為“1”, ,則串操作指令按地則串操作指令按地址遞減的順序?qū)ΥM(jìn)行操作址遞減的順序?qū)ΥM(jìn)行操作, ,否則按地址遞增的順否則按地址遞增的順序進(jìn)行操作。序進(jìn)行操作。( (2) )控制標(biāo)志位控制標(biāo)志位v中

20、斷允許標(biāo)志中斷允許標(biāo)志IF( (Interrupt Flag) ) 指示是否允許系指示是否允許系 統(tǒng)響應(yīng)外部的可屏蔽中斷請(qǐng)求統(tǒng)響應(yīng)外部的可屏蔽中斷請(qǐng)求, ,該位為該位為“1”,”,表示表示允許允許( (開中斷開中斷),),否則表示禁止否則表示禁止( (關(guān)中斷關(guān)中斷) )v陷阱標(biāo)志陷阱標(biāo)志TF( (Trace Flag) ) 當(dāng)該位為當(dāng)該位為“1”時(shí)時(shí),CPU每執(zhí)行完一條指令便自動(dòng)產(chǎn)生一個(gè)內(nèi)部中斷每執(zhí)行完一條指令便自動(dòng)產(chǎn)生一個(gè)內(nèi)部中斷,并轉(zhuǎn)并轉(zhuǎn)去執(zhí)行一個(gè)中斷服務(wù)程序去執(zhí)行一個(gè)中斷服務(wù)程序,可以借助該中斷服務(wù)程可以借助該中斷服務(wù)程序來檢查每條指令的執(zhí)行情況序來檢查每條指令的執(zhí)行情況,稱為稱為“單步

21、工作方單步工作方式式”,常用于程序的調(diào)試。常用于程序的調(diào)試。DEBUG中標(biāo)志的表示中標(biāo)志的表示 NV等價(jià)于等價(jià)于 OF=0,OV等價(jià)于等價(jià)于OF=1; UP等價(jià)于等價(jià)于 DF=0,DN等價(jià)于等價(jià)于DF=1; DI 等價(jià)于等價(jià)于 IF =0,EI 等價(jià)于等價(jià)于 IF =1; PL等價(jià)于等價(jià)于 SF=0,NG等價(jià)于等價(jià)于SF=1; NZ等價(jià)于等價(jià)于 ZF=0,ZR等價(jià)于等價(jià)于ZF=1; NA等價(jià)于等價(jià)于 AF=0,AC等價(jià)于等價(jià)于AF=1; PO等價(jià)于等價(jià)于 PF=0,PE等價(jià)于等價(jià)于 PF=1; NC等價(jià)于等價(jià)于 CF=0,CY等價(jià)于等價(jià)于CF=1。Intel 8088是是準(zhǔn)準(zhǔn)16位位CPU,其

22、內(nèi)部采用其內(nèi)部采用16位結(jié)構(gòu)位結(jié)構(gòu),與與8086基本相同基本相同,外部數(shù)據(jù)總線寬度為外部數(shù)據(jù)總線寬度為8位位。8088內(nèi)內(nèi)部也包括兩大功能部件部也包括兩大功能部件,其中其中EU與與8086完全一樣完全一樣,只是只是BIU略有區(qū)別略有區(qū)別: 8086指令隊(duì)列是指令隊(duì)列是6字節(jié)長(zhǎng)字節(jié)長(zhǎng),而而8088指令隊(duì)列只指令隊(duì)列只有有4字節(jié)長(zhǎng)字節(jié)長(zhǎng); 四、四、8088與與8086在內(nèi)部結(jié)構(gòu)上的比較在內(nèi)部結(jié)構(gòu)上的比較 對(duì)于對(duì)于8086微處理器微處理器,當(dāng)指令隊(duì)列緩沖器中有當(dāng)指令隊(duì)列緩沖器中有2個(gè)字節(jié)變空時(shí)個(gè)字節(jié)變空時(shí),BIU便自動(dòng)執(zhí)行取指操作便自動(dòng)執(zhí)行取指操作;而而對(duì)于對(duì)于8088,只要指令隊(duì)列緩沖器中有只要指

23、令隊(duì)列緩沖器中有1個(gè)字節(jié)個(gè)字節(jié)變空便自動(dòng)執(zhí)行取指操作變空便自動(dòng)執(zhí)行取指操作。第二節(jié)第二節(jié)8086微處理器引腳功能微處理器引腳功能采用采用40引腳引腳的的DIP( (雙列雙列直插直插) )封裝封裝 采用采用分時(shí)復(fù)用分時(shí)復(fù)用技術(shù)技術(shù), ,在不同時(shí)刻通過相同引腳傳在不同時(shí)刻通過相同引腳傳送不同的信息送不同的信息, ,從而減少了引腳數(shù)量。從而減少了引腳數(shù)量。 在兩種不同的工作方式下在兩種不同的工作方式下, ,部分引腳具有兩種不部分引腳具有兩種不同的功能定義。同的功能定義。 8086是是Intel公司的第三代微處理器公司的第三代微處理器16位微處理位微處理器器。它具有如下特點(diǎn)它具有如下特點(diǎn):一、引腳功能

24、一、引腳功能 8086的的40條引腳信號(hào)按功能分為條引腳信號(hào)按功能分為4部分部分,即地址總即地址總線、數(shù)據(jù)總線、控制總線以及其它線、數(shù)據(jù)總線、控制總線以及其它( (時(shí)鐘和電源時(shí)鐘和電源) )引引腳。腳。數(shù)據(jù)總線用來在數(shù)據(jù)總線用來在CPU和內(nèi)存和內(nèi)存( (或或I/O設(shè)備設(shè)備) )之間傳遞之間傳遞數(shù)據(jù)數(shù)據(jù),地址總線用于傳送地址總線用于傳送 CPU產(chǎn)生的內(nèi)存單元產(chǎn)生的內(nèi)存單元( (或或I/O端口端口) )的地址的地址。前者為前者為16位雙向三態(tài)總線位雙向三態(tài)總線, ,后者后者為為20位輸出三態(tài)總線位輸出三態(tài)總線, ,其中其中:1. 地址總線和數(shù)據(jù)總線地址總線和數(shù)據(jù)總線 AD15AD0為為地址地址/

25、/數(shù)據(jù)數(shù)據(jù)。在每個(gè)在每個(gè)總線周期的開始總線周期的開始, ,用作地址總線的低用作地址總線的低16位位, ,以給出以給出內(nèi)存單元內(nèi)存單元( (或或I/O端口端口) )的地址。其它時(shí)間作為數(shù)據(jù)的地址。其它時(shí)間作為數(shù)據(jù)總線總線, ,用于傳輸數(shù)據(jù)。用于傳輸數(shù)據(jù)。 A19A16/ /S6S3為為地址地址/ /狀態(tài)狀態(tài)分時(shí)復(fù)用總線。分時(shí)復(fù)用總線。在每個(gè)總線周期開始在每個(gè)總線周期開始, ,用作地址總線的高用作地址總線的高4位位, ,以給以給出內(nèi)存單元的高出內(nèi)存單元的高4位地址位地址;在在I/O操作時(shí)操作時(shí), ,這這4位置位置“0”。在總線周期的其它時(shí)間在總線周期的其它時(shí)間, ,這這4條信號(hào)線指示條信號(hào)線指示C

26、PU的狀態(tài)信息的狀態(tài)信息, ,其中其中, ,S6恒為低電平恒為低電平;S5反映標(biāo)志反映標(biāo)志寄存器中寄存器中IF的當(dāng)前值的當(dāng)前值;S4和和S3表示正在使用哪個(gè)段寄存器。表示正在使用哪個(gè)段寄存器。 S4S3狀態(tài)狀態(tài)( (所使用的寄存器所使用的寄存器) ) 0 0ES0 1SS1 0CS1 1DSBHE/ /S7為為地址高允許地址高允許/ /狀態(tài)狀態(tài)分時(shí)復(fù)用引腳分時(shí)復(fù)用引腳。在總在總線周期的開始線周期的開始, ,作為數(shù)據(jù)總線高半部分允許信號(hào)作為數(shù)據(jù)總線高半部分允許信號(hào), ,當(dāng)當(dāng)BHE/ /S7為低電平時(shí)為低電平時(shí), ,將讀將讀/ /寫的寫的8位數(shù)據(jù)與位數(shù)據(jù)與AD15AD8接通接通, ,該信號(hào)與地址總

27、線的最低位該信號(hào)與地址總線的最低位A0配合以決定配合以決定傳送的數(shù)據(jù)字中高字節(jié)是否有效傳送的數(shù)據(jù)字中高字節(jié)是否有效, ,傳送的是傳送的是16位還位還是是8位數(shù)據(jù)。在總線周期的其它時(shí)間位數(shù)據(jù)。在總線周期的其它時(shí)間, ,該引腳輸出備該引腳輸出備用狀態(tài)信號(hào)用狀態(tài)信號(hào)S7。2. 控制總線控制總線 控制總線是傳送控制信號(hào)的一組信號(hào)線控制總線是傳送控制信號(hào)的一組信號(hào)線, ,其中有些其中有些是輸出線是輸出線, ,用來傳送用來傳送CPU送至其它部件的控制命令送至其它部件的控制命令;有些是輸入線有些是輸入線, ,由外部向由外部向CPU輸入狀態(tài)及請(qǐng)求信號(hào)輸入狀態(tài)及請(qǐng)求信號(hào)( (復(fù)位、中斷請(qǐng)求等復(fù)位、中斷請(qǐng)求等)

28、)。8086的控制總線中有一條的控制總線中有一條MN/ /MX線線,即即最小最小/ /最大最大方式控制線方式控制線, ,用于決定用于決定8086的工作方式的工作方式。當(dāng)其接當(dāng)其接+5V時(shí)時(shí), ,8086處于最小方式處于最小方式;當(dāng)其接地時(shí)當(dāng)其接地時(shí), ,8086處于處于最大方式。最大方式。以下幾條不受以下幾條不受MN/ /MX影響的控制線影響的控制線: 讀控制信號(hào)讀控制信號(hào)RD, ,三態(tài)三態(tài), ,輸出。輸出。 準(zhǔn)備就緒信號(hào)準(zhǔn)備就緒信號(hào)READY, ,輸入。輸入。 可屏蔽中斷請(qǐng)求信號(hào)可屏蔽中斷請(qǐng)求信號(hào)INTR, ,輸入。輸入。 非屏蔽中斷請(qǐng)求信號(hào)非屏蔽中斷請(qǐng)求信號(hào)NMI, ,輸入。當(dāng)該引腳上產(chǎn)輸

29、入。當(dāng)該引腳上產(chǎn) 生從低電平到高電平的正跳變時(shí)生從低電平到高電平的正跳變時(shí), ,表示外部向表示外部向CPU發(fā)出非屏蔽中斷請(qǐng)求。發(fā)出非屏蔽中斷請(qǐng)求。 等待測(cè)試控制信號(hào)等待測(cè)試控制信號(hào)TEST, ,輸入。輸入。 復(fù)位信號(hào)復(fù)位信號(hào)RESET, ,輸入。當(dāng)其為高電平時(shí)輸入。當(dāng)其為高電平時(shí), ,系統(tǒng)系統(tǒng)進(jìn)入復(fù)位狀態(tài)。進(jìn)入復(fù)位狀態(tài)。 時(shí)鐘信號(hào)時(shí)鐘信號(hào)CLK, ,輸入輸入, ,該信號(hào)為該信號(hào)為8086提供提供基本的定時(shí)脈沖?;镜亩〞r(shí)脈沖。 電源電源Vcc, ,輸入。要求接輸入。要求接+5 V10%。 地線地線GND。3. 其它信號(hào)其它信號(hào)8086有有最小最小和和最大最大兩種基本的工作方式兩種基本的工作方式

30、, ,最小方式最小方式一般用于構(gòu)成一個(gè)小型的一般用于構(gòu)成一個(gè)小型的單處理機(jī)系統(tǒng)單處理機(jī)系統(tǒng), ,而而最大方最大方式式一般用于一般用于多處理機(jī)系統(tǒng)多處理機(jī)系統(tǒng)。 在在最小方式下最小方式下, ,8086微處理器微處理器提供系統(tǒng)所需的全部提供系統(tǒng)所需的全部控制信號(hào)控制信號(hào);二、二、8086的工作方式及信號(hào)定義的工作方式及信號(hào)定義在最大方式下在最大方式下, ,由由總線控制器總線控制器8288提供系統(tǒng)的總線提供系統(tǒng)的總線控制信號(hào)??刂菩盘?hào)。vM/ /IO為存儲(chǔ)器為存儲(chǔ)器/ /輸入輸出控制信號(hào)輸入輸出控制信號(hào), ,輸出輸出, ,三態(tài)。三態(tài)。用于指示當(dāng)前用于指示當(dāng)前CPU是訪問存儲(chǔ)器是訪問存儲(chǔ)器( (M/

31、/IO為高電平為高電平) )還是還是I/O端口端口( (M/ /IO為低電平為低電平) )。v DEN為數(shù)據(jù)允許信號(hào)為數(shù)據(jù)允許信號(hào), ,輸出輸出, ,三態(tài)。在三態(tài)。在CPU訪問訪問存存儲(chǔ)器或儲(chǔ)器或I/O端口的總線周期的后一段時(shí)間端口的總線周期的后一段時(shí)間, ,該信號(hào)該信號(hào)有效有效, ,用作系統(tǒng)中總線收發(fā)器的允許控制信號(hào)。用作系統(tǒng)中總線收發(fā)器的允許控制信號(hào)。v DT/ /R為數(shù)據(jù)發(fā)送為數(shù)據(jù)發(fā)送/ /接收信號(hào)接收信號(hào), ,輸出輸出, ,三態(tài)。用于三態(tài)。用于指示指示CPU是進(jìn)行讀操作是進(jìn)行讀操作( (DT/ /R為低電平為低電平) )還是寫還是寫操作操作( ( DT/ /R為高電平為高電平) )。v

32、WR 寫控制信號(hào)寫控制信號(hào),輸出輸出, ,三態(tài)三態(tài)。用于指示用于指示 CPU在進(jìn)在進(jìn)行對(duì)存儲(chǔ)器或行對(duì)存儲(chǔ)器或I/O進(jìn)行寫操作進(jìn)行寫操作。vALE 為地址鎖存允許信號(hào)為地址鎖存允許信號(hào)( (輸出輸出) )。8086在總線周在總線周期的開始通過地址總線輸出地址的同時(shí)期的開始通過地址總線輸出地址的同時(shí),通過該引通過該引腳輸出一個(gè)正脈沖腳輸出一個(gè)正脈沖,其下降沿用于將地址信息打入其下降沿用于將地址信息打入外部的地址鎖存器中外部的地址鎖存器中。vINTA 為中斷響應(yīng)信號(hào)為中斷響應(yīng)信號(hào)( (輸出輸出, ,三態(tài)三態(tài)) )。當(dāng)當(dāng)8086響應(yīng)響應(yīng)來自來自INTR引腳的可屏蔽中斷請(qǐng)求時(shí)引腳的可屏蔽中斷請(qǐng)求時(shí),通過

33、該引腳輸通過該引腳輸出連續(xù)的兩個(gè)負(fù)脈沖出連續(xù)的兩個(gè)負(fù)脈沖。三、最小方式下的基本配置三、最小方式下的基本配置時(shí)時(shí) 鐘鐘發(fā)生器發(fā)生器CLKREADYRESETMN/ /MXRDWRM/ /IOALEBHEA19A16AD15AD0地地 址址鎖存器鎖存器總總 線線收發(fā)器收發(fā)器DENDT/ /R存儲(chǔ)器存儲(chǔ)器I/O接口接口VCC8086 CPU數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線BHE控制控制總線總線v常用的地址鎖存器有常用的地址鎖存器有Intel 8282、Intel8283、74LS273、74LS373等。對(duì)等。對(duì)8086系統(tǒng)來說系統(tǒng)來說,由于由于要鎖存的信息共有要鎖存的信息共有21位位, ,所以至少

34、需要所以至少需要3片鎖存器片鎖存器芯片芯片, ,每片鎖存每片鎖存8位信息。位信息。v總線收發(fā)器用來對(duì)總線收發(fā)器用來對(duì)AD15AD0上的數(shù)據(jù)進(jìn)行緩沖上的數(shù)據(jù)進(jìn)行緩沖和驅(qū)動(dòng)和驅(qū)動(dòng),常用的總線收發(fā)器還有常用的總線收發(fā)器還有74LS245、Intel 8287、8286等。等。v時(shí)鐘發(fā)生器為時(shí)鐘發(fā)生器為8086( (8088) )以及其它外設(shè)芯片提以及其它外設(shè)芯片提供所需的時(shí)鐘信號(hào)。常用的時(shí)鐘發(fā)生器供所需的時(shí)鐘信號(hào)。常用的時(shí)鐘發(fā)生器/ /驅(qū)動(dòng)器驅(qū)動(dòng)器芯片為芯片為8284。 8088的的地址地址/ /數(shù)據(jù)復(fù)用總線數(shù)據(jù)復(fù)用總線只有只有8條條, ,即即AD7AD0,而而A15A8為單一功能的地址總線。為單一

35、功能的地址總線。四、四、8088與與8086在引腳和系統(tǒng)配置上的區(qū)別在引腳和系統(tǒng)配置上的區(qū)別 8088無(wú)無(wú)BHE/ /S7信號(hào)。信號(hào)。在系統(tǒng)配置上在系統(tǒng)配置上, ,8088同樣有最大模式和最小模式兩同樣有最大模式和最小模式兩種工作方式種工作方式,可以構(gòu)成單處理機(jī)系統(tǒng)可以構(gòu)成單處理機(jī)系統(tǒng), ,也可構(gòu)成多處也可構(gòu)成多處理機(jī)系統(tǒng)。只需要一片數(shù)據(jù)總線收發(fā)器用于形成理機(jī)系統(tǒng)。只需要一片數(shù)據(jù)總線收發(fā)器用于形成8位系統(tǒng)數(shù)據(jù)總線。在小規(guī)模系統(tǒng)中位系統(tǒng)數(shù)據(jù)總線。在小規(guī)模系統(tǒng)中, ,如只需要用到如只需要用到16根地址總線根地址總線 , ,地址鎖存器也只需要地址鎖存器也只需要2片。片。 8088的存儲(chǔ)器的存儲(chǔ)器/

36、/輸入輸出控制線為輸入輸出控制線為 IO/ /M,當(dāng)其為當(dāng)其為高電平時(shí)表示訪問高電平時(shí)表示訪問I/O端口端口;為低電平時(shí)表示訪問存為低電平時(shí)表示訪問存儲(chǔ)器。儲(chǔ)器。8086微處理器內(nèi)部數(shù)據(jù)通路和寄存器均為微處理器內(nèi)部數(shù)據(jù)通路和寄存器均為16位位, ,內(nèi)內(nèi)部部ALU只能進(jìn)行只能進(jìn)行16位數(shù)據(jù)的運(yùn)算位數(shù)據(jù)的運(yùn)算, ,在程序中也只能在程序中也只能使用使用16位地址位地址, ,尋址范圍局限在尋址范圍局限在21665536( (64 K) )字節(jié)字節(jié), ,為了能尋址為了能尋址1 M字節(jié)地址空間字節(jié)地址空間, ,必須對(duì)內(nèi)存實(shí)必須對(duì)內(nèi)存實(shí)行分段管理。行分段管理。第三節(jié)第三節(jié) 8086系統(tǒng)的存儲(chǔ)器組織系統(tǒng)的存儲(chǔ)

37、器組織 一、存儲(chǔ)器的分段管理一、存儲(chǔ)器的分段管理為什么要分段管理為什么要分段管理?分段方法分段方法8086程序?qū)⒊绦驅(qū)? M字節(jié)的存儲(chǔ)空間視為一組存儲(chǔ)段字節(jié)的存儲(chǔ)空間視為一組存儲(chǔ)段, ,各各段的功能由具體用途而定段的功能由具體用途而定, ,分為分為代碼段代碼段、堆棧段堆棧段、數(shù)據(jù)段數(shù)據(jù)段和和附加段附加段。一個(gè)存儲(chǔ)段是存儲(chǔ)器的一個(gè)邏輯單位一個(gè)存儲(chǔ)段是存儲(chǔ)器的一個(gè)邏輯單位, ,每個(gè)段由連每個(gè)段由連續(xù)的若干存儲(chǔ)單元構(gòu)成續(xù)的若干存儲(chǔ)單元構(gòu)成( (最多最多64 K個(gè)個(gè)),),并且都是存并且都是存儲(chǔ)器中獨(dú)立的、可分別尋址的單位。儲(chǔ)器中獨(dú)立的、可分別尋址的單位。各段在空間上可以完全重疊各段在空間上可以完全重

38、疊、部分重疊部分重疊, ,可以連續(xù)可以連續(xù)緊鄰緊鄰, ,也可分開。也可分開。00000H10000H20000H30000H40000HA段段B段段C段段E段段D段段連續(xù)緊鄰連續(xù)緊鄰部分重疊部分重疊完全重疊完全重疊分開分開實(shí)際存儲(chǔ)器實(shí)際存儲(chǔ)器邏輯段邏輯段每個(gè)段第一個(gè)字節(jié)的位置稱為每個(gè)段第一個(gè)字節(jié)的位置稱為“段起始地址段起始地址”, ,段段起始地址是一個(gè)能被起始地址是一個(gè)能被16整除的數(shù)整除的數(shù), ,即二進(jìn)制數(shù)的最即二進(jìn)制數(shù)的最后后4位必須是位必須是0。段起始地址中的。段起始地址中的高高16位位( (段基值段基值) )存放于相應(yīng)的存放于相應(yīng)的段寄存器段寄存器中。中。2. 邏輯地址邏輯地址是程序員

39、在程序中使用的地址。每個(gè)內(nèi)存是程序員在程序中使用的地址。每個(gè)內(nèi)存單元的邏輯地址由段基值和段內(nèi)偏移量?jī)刹糠謽?gòu)成單元的邏輯地址由段基值和段內(nèi)偏移量?jī)刹糠謽?gòu)成, ,其中段基值確定需要訪問的單元在哪一個(gè)段其中段基值確定需要訪問的單元在哪一個(gè)段, ,段內(nèi)段內(nèi)偏移量確定需要訪問的單元相對(duì)于該段起始單元的偏移量確定需要訪問的單元相對(duì)于該段起始單元的距離。距離。段基值段基值和和段內(nèi)偏移量段內(nèi)偏移量都是都是16位二進(jìn)制無(wú)符位二進(jìn)制無(wú)符號(hào)數(shù)號(hào)數(shù), ,合稱為合稱為32位地址指針位地址指針。由這兩部分就可唯一。由這兩部分就可唯一確定一個(gè)內(nèi)存單元。確定一個(gè)內(nèi)存單元。物理地址物理地址又稱又稱實(shí)際地址實(shí)際地址PA( (Ph

40、ysical Address),),是是CPU和存儲(chǔ)器進(jìn)行數(shù)據(jù)交換時(shí)所采用的地址。和存儲(chǔ)器進(jìn)行數(shù)據(jù)交換時(shí)所采用的地址。3. 物理地址的形成方法物理地址的形成方法給出需要訪問的內(nèi)存單元的邏輯地址后給出需要訪問的內(nèi)存單元的邏輯地址后, ,必須首先必須首先由由CPU中的中的BIU將其轉(zhuǎn)換為物理地址將其轉(zhuǎn)換為物理地址, ,才能通過系才能通過系統(tǒng)地址總線送至存儲(chǔ)器。統(tǒng)地址總線送至存儲(chǔ)器。由于段基值代表的是需要訪問的單元所在段的起始由于段基值代表的是需要訪問的單元所在段的起始單元地址的單元地址的高高16位位, ,而偏移地址代表需要訪問的單而偏移地址代表需要訪問的單元與段起始單元的元與段起始單元的距離距離,

41、 ,所以在形成指定單元的所以在形成指定單元的20位物理地址時(shí)位物理地址時(shí), ,只需將段基值只需將段基值左移左移4位位再加上再加上16位的位的偏移地址即可。偏移地址即可。怎么確定要訪問的單元怎么確定要訪問的單元?16位段基值位段基值16位段內(nèi)偏移量位段內(nèi)偏移量 16位段基值位段基值 000020位物理地址位物理地址例如例如, ,假設(shè)某內(nèi)存單假設(shè)某內(nèi)存單元 的 邏 輯 地 址 為元 的 邏 輯 地 址 為1234H:5678H, ,則該則該單元的物理地址為單元的物理地址為: PA=1234H16 +5678H=179B8H。同一個(gè)物理地址可對(duì)應(yīng)同一個(gè)物理地址可對(duì)應(yīng)多個(gè)多個(gè)邏輯地址邏輯地址, ,但一

42、個(gè)邏輯地但一個(gè)邏輯地址址只只對(duì)應(yīng)一個(gè)物理地址。對(duì)應(yīng)一個(gè)物理地址。操作類型操作類型隱含的段基值隱含的段基值可替換的段基址可替換的段基址偏移地址偏移地址取指令取指令CS無(wú)無(wú)IP堆棧操作堆棧操作SS無(wú)無(wú)SPBP用作基址寄存器用作基址寄存器SSCS、DS、ESEA通用數(shù)據(jù)讀寫通用數(shù)據(jù)讀寫DSCS、SS、ESEA字符串操作字符串操作( (源地址源地址) )DSCS、SS、ESSI字符串操作字符串操作( (目的地址目的地址) )ESCS、SS、DSDI在程序執(zhí)行過程中在程序執(zhí)行過程中, ,需要訪問內(nèi)存時(shí)需要訪問內(nèi)存時(shí), ,必須提供其邏必須提供其邏輯地址。各種訪問內(nèi)存單元的操作中輯地址。各種訪問內(nèi)存單元的操

43、作中, ,邏輯地址的邏輯地址的來源可歸納下表所示。來源可歸納下表所示。EA( (Effective Address) )為有效地址為有效地址, ,相當(dāng)于段內(nèi)偏相當(dāng)于段內(nèi)偏移量。移量。二、存儲(chǔ)器組織二、存儲(chǔ)器組織在某些情況下在某些情況下, ,8086系統(tǒng)還需要在內(nèi)存單元中存儲(chǔ)系統(tǒng)還需要在內(nèi)存單元中存儲(chǔ)32位的地址指針位的地址指針, ,此時(shí)此時(shí), ,32位地址指針中的段基值和位地址指針中的段基值和偏移地址作為兩個(gè)偏移地址作為兩個(gè)16位字?jǐn)?shù)據(jù)分別存入連續(xù)的位字?jǐn)?shù)據(jù)分別存入連續(xù)的4個(gè)內(nèi)個(gè)內(nèi)存單元存單元, ,其中其中, ,偏移地址偏移地址存入存入地址較小地址較小的單元的單元, ,段基值段基值存入存入地址

44、較大地址較大的單元的單元。8086系統(tǒng)地址總線有系統(tǒng)地址總線有20條條, ,可以尋址可以尋址1 M( (220) )字節(jié)字節(jié)的內(nèi)存空間的內(nèi)存空間, ,內(nèi)存空間都按內(nèi)存空間都按字節(jié)字節(jié)組織組織, ,每個(gè)內(nèi)存單元每個(gè)內(nèi)存單元存儲(chǔ)一個(gè)存儲(chǔ)一個(gè)字節(jié)字節(jié)的數(shù)據(jù)的數(shù)據(jù), ,并具有一個(gè)并具有一個(gè)唯一的唯一的20位地址位地址編號(hào)編號(hào), ,稱為字節(jié)地址稱為字節(jié)地址。如果存放。如果存放16位的字?jǐn)?shù)據(jù)位的字?jǐn)?shù)據(jù), ,則需則需要占用連續(xù)的兩個(gè)單元要占用連續(xù)的兩個(gè)單元,其中其中高字節(jié)存放在高地址高字節(jié)存放在高地址, ,低字節(jié)存放在低地址低字節(jié)存放在低地址, ,并并以該單元地址以該單元地址作為該作為該字?jǐn)?shù)據(jù)字?jǐn)?shù)據(jù)的字地址

45、的字地址。數(shù)據(jù)類型包括數(shù)據(jù)類型包括:字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù): 8 位二進(jìn)制數(shù)位二進(jìn)制數(shù);字字 數(shù)數(shù) 據(jù)據(jù): 16位二進(jìn)制數(shù)位二進(jìn)制數(shù);雙字?jǐn)?shù)據(jù)雙字?jǐn)?shù)據(jù): 32位二進(jìn)制數(shù)位二進(jìn)制數(shù);地址指針地址指針: 32位邏輯地址。位邏輯地址。20000H20001H20002H20003H字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)12H字?jǐn)?shù)據(jù)字?jǐn)?shù)據(jù)3412H地址指針地址指針7856H:3412H20000H20001H20002H20003H12H20000H20001H20002H20003H12H34H12H34H56H78H規(guī)則字與非規(guī)則字規(guī)則字與非規(guī)則字8086CPU讀寫讀寫16位字?jǐn)?shù)據(jù)時(shí)位字?jǐn)?shù)據(jù)時(shí), ,總是從低位庫(kù)開始??偸菑牡?/p>

46、位庫(kù)開始。定義從低位庫(kù)地址開始存放的字?jǐn)?shù)據(jù)為定義從低位庫(kù)地址開始存放的字?jǐn)?shù)據(jù)為規(guī)則字規(guī)則字;即即從高位庫(kù)開始存放字?jǐn)?shù)據(jù)為從高位庫(kù)開始存放字?jǐn)?shù)據(jù)為非規(guī)則字非規(guī)則字。CPU讀寫內(nèi)存中的規(guī)則字只需讀寫內(nèi)存中的規(guī)則字只需一個(gè)一個(gè)總線周期總線周期, ,而讀而讀寫非規(guī)則字則需要寫非規(guī)則字則需要兩個(gè)兩個(gè)總線周期??偩€周期。8086系統(tǒng)中將系統(tǒng)中將1 M字節(jié)的內(nèi)存單元均分為兩個(gè)存儲(chǔ)字節(jié)的內(nèi)存單元均分為兩個(gè)存儲(chǔ)分體分體, ,每個(gè)分體包括每個(gè)分體包括512 K個(gè)單元個(gè)單元, ,分別稱為分別稱為高位庫(kù)高位庫(kù)和和低位庫(kù)低位庫(kù)。低位庫(kù)低位庫(kù)中的所有單元地址為中的所有單元地址為偶數(shù)偶數(shù), ,高位庫(kù)高位庫(kù)中中的所有單元地址

47、為的所有單元地址為奇數(shù)奇數(shù)。每個(gè)分體的數(shù)據(jù)線分別與。每個(gè)分體的數(shù)據(jù)線分別與系統(tǒng)數(shù)據(jù)總線的系統(tǒng)數(shù)據(jù)總線的高高8位位和和低低8位位相連。相連。 為了不影響程序的執(zhí)行速度為了不影響程序的執(zhí)行速度, ,字?jǐn)?shù)據(jù)在內(nèi)存中應(yīng)盡字?jǐn)?shù)據(jù)在內(nèi)存中應(yīng)盡量按規(guī)則字格式存放。量按規(guī)則字格式存放。20001H20003H20005H20000H20002H20004H高位庫(kù)高位庫(kù) 低位庫(kù)低位庫(kù)規(guī)則字規(guī)則字1234H34H12H20001H20003H20005H高位庫(kù)高位庫(kù) 低位庫(kù)低位庫(kù)非規(guī)則字非規(guī)則字1234H12H34H用作堆棧的區(qū)域稱為堆棧段最多包含用作堆棧的區(qū)域稱為堆棧段最多包含64 K個(gè)單元。個(gè)單元。堆棧段在內(nèi)存中的位置由堆棧段寄存器堆棧段在內(nèi)存中的位置由堆棧段寄存器SS和堆棧指和堆棧指針針SP來指示。來指示。SS中存放堆棧段的首地址中存放堆棧段的首地址, ,SP中存放中存放棧頂單元的偏移地址。棧頂單元的偏移地址。 8086CPU規(guī)定堆棧操作總是按字進(jìn)行規(guī)定堆棧操作總是按字進(jìn)行。入棧和出

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論