第二章_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è),還剩91頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1第二章第二章 8086系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)本章重點(diǎn)內(nèi)容: 8086 8086 CPU的結(jié)構(gòu)及工作原理的結(jié)構(gòu)及工作原理 8086 8086 CPU的引腳及其功能的引腳及其功能 8086 8086的存儲(chǔ)器組織的存儲(chǔ)器組織 8086 8086的系統(tǒng)配置的系統(tǒng)配置2第二章第二章 8086系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu) Intel 8086是標(biāo)準(zhǔn)的是標(biāo)準(zhǔn)的16位微處理器,位微處理器,8086 CPU是雙列直插封裝,是雙列直插封裝,40根引腳,單一正根引腳,單一正5V供電。具供電。具有有16位位的數(shù)據(jù)總線(xiàn),的數(shù)據(jù)總線(xiàn),20位位的地址總線(xiàn),可以管理的地址總線(xiàn),可以管理1MB的存儲(chǔ)器空間。的存儲(chǔ)器空間。8086 8086 外

2、部數(shù)據(jù)總線(xiàn)是外部數(shù)據(jù)總線(xiàn)是1616位位8088 8088 外部數(shù)據(jù)總線(xiàn)是外部數(shù)據(jù)總線(xiàn)是8 8位位Intel 8088是是準(zhǔn)準(zhǔn)16位微處理器位微處理器。它們?cè)趦?nèi)部。它們?cè)趦?nèi)部結(jié)構(gòu)上都是按結(jié)構(gòu)上都是按16位設(shè)計(jì)的,位設(shè)計(jì)的,80868086與與80888088的內(nèi)部結(jié)的內(nèi)部結(jié)構(gòu)類(lèi)似構(gòu)類(lèi)似, ,都有都有2020根地址總線(xiàn)根地址總線(xiàn), ,主要區(qū)別是在外部數(shù)主要區(qū)別是在外部數(shù)據(jù)總線(xiàn)數(shù)不同。據(jù)總線(xiàn)數(shù)不同。3一、一、 8086 CPU的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)從功能上劃分,從功能上劃分,8086微處理器的內(nèi)部分為微處理器的內(nèi)部分為總線(xiàn)總線(xiàn)接口部件接口部件和和執(zhí)行部件執(zhí)行部件兩部分。兩部分。 總線(xiàn)接口部件總線(xiàn)接口部

3、件(BIU)- - 與微處理器外部總線(xiàn)連接,負(fù)責(zé)與存儲(chǔ)器、與微處理器外部總線(xiàn)連接,負(fù)責(zé)與存儲(chǔ)器、I/O接接 口進(jìn)行聯(lián)絡(luò),口進(jìn)行聯(lián)絡(luò),負(fù)責(zé)形成地址、取指令、指令負(fù)責(zé)形成地址、取指令、指令 排隊(duì)、讀排隊(duì)、讀/寫(xiě)操作數(shù)、總線(xiàn)控制。寫(xiě)操作數(shù)、總線(xiàn)控制。執(zhí)行部件執(zhí)行部件(EU) 負(fù)責(zé)指令的執(zhí)行,包括對(duì)負(fù)責(zé)指令的執(zhí)行,包括對(duì)通用寄存器、通用寄存器、ALU和和標(biāo)標(biāo)志寄存器志寄存器進(jìn)行管理和控制進(jìn)行管理和控制 從從BIU取得取得指令和數(shù)據(jù),向指令和數(shù)據(jù),向BIU提供提供地址和數(shù)據(jù)地址和數(shù)據(jù)2.1 8086CPU的結(jié)構(gòu)的結(jié)構(gòu)4總線(xiàn)總線(xiàn)控制控制電路電路標(biāo)志寄存器標(biāo)志寄存器暫存器暫存器EU控制控制器器123456A

4、LU CSSSESIP內(nèi)部寄存器內(nèi)部寄存器DLDHCLCHBLBHALAHSPDISIAB(20位位)DB(16位位)指令隊(duì)列指令隊(duì)列ALU數(shù)據(jù)數(shù)據(jù)總線(xiàn)總線(xiàn)(16位位)隊(duì)列隊(duì)列總線(xiàn)總線(xiàn)(8位位)8086的的16位位DB指令執(zhí)行單元指令執(zhí)行單元EU 總線(xiàn)接口單元總線(xiàn)接口單元BIUBPDSALU51. 總線(xiàn)接口部件總線(xiàn)接口部件(BIUBus Interface Unit)1) 4個(gè)個(gè)16位的段地址寄存器位的段地址寄存器I.CS 代碼段寄存器代碼段寄存器II.DS 數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器III. SS 堆棧段寄存器堆棧段寄存器IV. ES 擴(kuò)展段寄存器擴(kuò)展段寄存器功能功能: : 負(fù)責(zé)形成地址、取指

5、令、指令排隊(duì)、讀負(fù)責(zé)形成地址、取指令、指令排隊(duì)、讀/ /寫(xiě)操作寫(xiě)操作數(shù)、總線(xiàn)控制。數(shù)、總線(xiàn)控制。BIUBIU的組成的組成: :2) 16位的指令指針寄存器位的指令指針寄存器 IP:存放下一條要執(zhí)行指令存放下一條要執(zhí)行指令 的偏移地址。的偏移地址。3) 20位的地址加法器位的地址加法器:形成地址。形成地址。CSDSSSES 15 061. 總線(xiàn)接口部件總線(xiàn)接口部件1) 4個(gè)個(gè)16位的段地址寄存器位的段地址寄存器2) 16位的指令指針寄存器位的指令指針寄存器 IP3) 20位的地址加法器位的地址加法器例:例:CS的內(nèi)容是的內(nèi)容是89ABH,IP的內(nèi)容是的內(nèi)容是201H20位的地址加法器位的地址加法

6、器生成的地址是生成的地址是: 8 9 A B 0 H + 0 2 0 1 H 8 9 C B 1 H7 4) 總線(xiàn)控制電路:總線(xiàn)控制電路: 發(fā)出總線(xiàn)控制信號(hào),實(shí)現(xiàn)發(fā)出總線(xiàn)控制信號(hào),實(shí)現(xiàn)存儲(chǔ)器讀存儲(chǔ)器讀/寫(xiě)控制寫(xiě)控制和和I/O的讀的讀/寫(xiě)控制寫(xiě)控制。 同時(shí)也是同時(shí)也是8086 CPU與外部打交道的不可缺與外部打交道的不可缺少的路徑,它將少的路徑,它將8086 CPU的內(nèi)部總線(xiàn)與外的內(nèi)部總線(xiàn)與外部總線(xiàn)相連。部總線(xiàn)相連。1. 總線(xiàn)接口部件總線(xiàn)接口部件81. 總線(xiàn)接口部件總線(xiàn)接口部件5) 6個(gè)字節(jié)的指令隊(duì)列緩沖器個(gè)字節(jié)的指令隊(duì)列緩沖器 提高提高CPU的效率的效率指令的一般執(zhí)行過(guò)程:指令的一般執(zhí)行過(guò)程:

7、取指令取指令 指令譯碼指令譯碼 讀取操作數(shù)讀取操作數(shù) 執(zhí)行指令執(zhí)行指令 存放結(jié)果存放結(jié)果80868086以前的以前的CPUCPU采用串行工作方式:采用串行工作方式: 取指取指令令1 1執(zhí)行執(zhí)行1 1取操取操作數(shù)作數(shù)2 2執(zhí)行執(zhí)行2 2CPUCPUBUSBUS忙碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌存結(jié)存結(jié)果果1 1取指取指令令2 21)CPU執(zhí)行指令時(shí)總線(xiàn)處于空閑狀態(tài)執(zhí)行指令時(shí)總線(xiàn)處于空閑狀態(tài)2)CPU訪(fǎng)問(wèn)存儲(chǔ)器訪(fǎng)問(wèn)存儲(chǔ)器(存取數(shù)據(jù)或指令存取數(shù)據(jù)或指令)時(shí)要等待總時(shí)要等待總線(xiàn)操作的完成線(xiàn)操作的完成91. 總線(xiàn)接口部件總線(xiàn)接口部件8086CPU采用并行工作方式采用并行工作方式l BIU不斷地從存儲(chǔ)器取指

8、令送入指令隊(duì)列,不斷地從存儲(chǔ)器取指令送入指令隊(duì)列,EU不不 斷地從指令隊(duì)列取出指令執(zhí)行斷地從指令隊(duì)列取出指令執(zhí)行l(wèi) EU和和BIU構(gòu)成了一個(gè)簡(jiǎn)單的構(gòu)成了一個(gè)簡(jiǎn)單的2工位流水線(xiàn)工位流水線(xiàn)l 指令預(yù)取隊(duì)列指令預(yù)取隊(duì)列IPQ是實(shí)現(xiàn)流水線(xiàn)操作的關(guān)鍵(類(lèi)是實(shí)現(xiàn)流水線(xiàn)操作的關(guān)鍵(類(lèi)似于工廠流水線(xiàn)的傳送帶)似于工廠流水線(xiàn)的傳送帶)取指令取指令2 取操作數(shù)取操作數(shù)BIU存結(jié)果存結(jié)果取指令取指令3 取操作數(shù)取操作數(shù)執(zhí)行執(zhí)行1執(zhí)行執(zhí)行2執(zhí)行執(zhí)行3 EUBUS忙碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌取指令取指令1忙碌忙碌取指令取指令4101. 總線(xiàn)接口部件總線(xiàn)接口部件新型新型CPU將一條指令劃分成更多的階段

9、,以將一條指令劃分成更多的階段,以便可以同時(shí)執(zhí)行更多的指令便可以同時(shí)執(zhí)行更多的指令例如例如,PIII為為14個(gè)階段,個(gè)階段,P4為為20個(gè)階段個(gè)階段(超級(jí)流超級(jí)流水線(xiàn)水線(xiàn))指令預(yù)取隊(duì)列指令預(yù)取隊(duì)列的存在使的存在使EU和和BIU兩個(gè)部分可兩個(gè)部分可同時(shí)進(jìn)行工作,從而提高了同時(shí)進(jìn)行工作,從而提高了CPU的效率;降低了的效率;降低了對(duì)存儲(chǔ)器存取速度的要求。對(duì)存儲(chǔ)器存取速度的要求。11總線(xiàn)總線(xiàn)控制控制電路電路標(biāo)志寄存器標(biāo)志寄存器暫存器暫存器EU控制控制器器123456ALU CSSSESIP內(nèi)部寄存器內(nèi)部寄存器DLDHCLCHBLBHALAHSPDISIAB(20位位)DB(16位位)指令隊(duì)列指令隊(duì)列

10、ALU數(shù)據(jù)數(shù)據(jù)總線(xiàn)總線(xiàn)(16位位)隊(duì)列隊(duì)列總線(xiàn)總線(xiàn)(8位位)8086的的16位位DB指令執(zhí)行單元指令執(zhí)行單元EU 總線(xiàn)接口單元總線(xiàn)接口單元BIU1234BPDS5122. 執(zhí)行單元執(zhí)行單元 EU (Execution Unit)功能功能: : 負(fù)責(zé)指令譯碼和指令的執(zhí)行負(fù)責(zé)指令譯碼和指令的執(zhí)行 1 1)16位的算術(shù)邏輯單元位的算術(shù)邏輯單元ALU 完成完成8或或16位的算術(shù)位的算術(shù)/邏輯運(yùn)算。邏輯運(yùn)算。 EUEU的組成的組成: : 2 2)EU EU 控制器控制器: : 取指令控制和取指令控制和EUEU時(shí)序控制。時(shí)序控制。133 3) 4 4個(gè)個(gè)1616位通用寄存器位通用寄存器: : AX 累加器

11、累加器 BX 基址寄存器基址寄存器CX 計(jì)數(shù)器計(jì)數(shù)器DX 數(shù)據(jù)寄存器數(shù)據(jù)寄存器AHBHCHDHDLALBLCLSPBPSIDI 4 4) 4 4個(gè)個(gè)1616位專(zhuān)用寄存器位專(zhuān)用寄存器: : SP 堆棧指針寄存器堆棧指針寄存器BP 基址指針寄存器基址指針寄存器SI 源變址寄存器源變址寄存器DI 目的變址寄存器目的變址寄存器2. 執(zhí)行單元執(zhí)行單元 EU 5 5) 標(biāo)志寄存器標(biāo)志寄存器PSW : (16(16位位) ) EUEU的組成的組成: :14EU的工作過(guò)程:的工作過(guò)程:從隊(duì)列中取得指令,進(jìn)行譯碼,根據(jù)指從隊(duì)列中取得指令,進(jìn)行譯碼,根據(jù)指令要求向令要求向EU內(nèi)部各部件發(fā)出控制命令,完內(nèi)部各部件發(fā)

12、出控制命令,完成執(zhí)行指令的功能。成執(zhí)行指令的功能。 若執(zhí)行指令需要訪(fǎng)問(wèn)存儲(chǔ)器或若執(zhí)行指令需要訪(fǎng)問(wèn)存儲(chǔ)器或I/O端口,端口,則則EU將操作數(shù)的偏移地址送給將操作數(shù)的偏移地址送給BIU,由由BIU取得操作數(shù)送給取得操作數(shù)送給EU。2. 執(zhí)行單元執(zhí)行單元 EU15二、寄存器結(jié)構(gòu)二、寄存器結(jié)構(gòu) 通用(數(shù)據(jù))寄存器組通用(數(shù)據(jù))寄存器組15 8 7 0AHBHCHDHDLALBLCLCSDSSSES 15 0SPBPSIDI 15 0IPPSW 15 0段寄存器段寄存器指針和變址寄存器指針和變址寄存器指令指針和標(biāo)志位寄存器指令指針和標(biāo)志位寄存器AXBXCXDX161. 通用寄存器組通用寄存器組8086

13、CPU的的EU中有中有4個(gè)個(gè)16位的通用寄存器,即位的通用寄存器,即AXBXCXDX這四個(gè)通用寄存器也可作為這四個(gè)通用寄存器也可作為8個(gè)個(gè)8位位寄存器使用,但寄存器使用,但只能存放只能存放8位數(shù)據(jù),位數(shù)據(jù),不能存放地址不能存放地址。有些特殊指令中,。有些特殊指令中,默認(rèn)使用某個(gè)通用寄存器,根據(jù)這默認(rèn)使用某個(gè)通用寄存器,根據(jù)這樣的指令,可以把樣的指令,可以把AX、BX、CX、DX分別稱(chēng)為分別稱(chēng)為累加器、基址寄存器、累加器、基址寄存器、計(jì)數(shù)器、數(shù)據(jù)寄存器計(jì)數(shù)器、數(shù)據(jù)寄存器。P25的表的表2-1列出了通用寄存器的特殊用途列出了通用寄存器的特殊用途15 8 7 0AHBHCHDHDLALBLCL172

14、. 指針和變址寄存器指針和變址寄存器基址指針寄存器基址指針寄存器BP 源變址寄存器源變址寄存器SI堆棧指針寄存器堆棧指針寄存器SP 目的變址寄存器目的變址寄存器DI這四個(gè)這四個(gè)16位寄存器中存放的內(nèi)容是某一個(gè)段內(nèi)地址的偏位寄存器中存放的內(nèi)容是某一個(gè)段內(nèi)地址的偏移量,用來(lái)形成操作數(shù)地址,主要在堆棧操作和變址移量,用來(lái)形成操作數(shù)地址,主要在堆棧操作和變址運(yùn)算中使用。運(yùn)算中使用。BP、SP稱(chēng)為指針寄存稱(chēng)為指針寄存器,與器,與SS聯(lián)用,用于聯(lián)用,用于訪(fǎng)問(wèn)堆棧段。其中訪(fǎng)問(wèn)堆棧段。其中SP始終指向堆棧的棧頂始終指向堆棧的棧頂SI、DI稱(chēng)為變址寄存器,與稱(chēng)為變址寄存器,與DS聯(lián)聯(lián)用,為訪(fǎng)問(wèn)數(shù)據(jù)段提供段內(nèi)偏移

15、地用,為訪(fǎng)問(wèn)數(shù)據(jù)段提供段內(nèi)偏移地址。址。在字符串指令中,源、目的操在字符串指令中,源、目的操作數(shù)的偏移量分別在作數(shù)的偏移量分別在SI、DI中,分中,分別與別與DS、ES聯(lián)用,不可互換聯(lián)用,不可互換183. 段寄存器段寄存器8086 CPU地址線(xiàn)是地址線(xiàn)是20位位(1MB),但內(nèi)部寄存器都是但內(nèi)部寄存器都是16位位,只能直接尋址只能直接尋址64KB,因此采用分段技術(shù),因此采用分段技術(shù),即將即將1MB的存的存儲(chǔ)空間分為若干邏輯段,每段長(zhǎng)儲(chǔ)空間分為若干邏輯段,每段長(zhǎng)64KB,每個(gè)段的起每個(gè)段的起始地址始地址的高的高1616位位存放在存放在4個(gè)段寄存器(代碼段、數(shù)據(jù)個(gè)段寄存器(代碼段、數(shù)據(jù)段、堆棧段、

16、附加段)中,稱(chēng)為段、堆棧段、附加段)中,稱(chēng)為段基址段基址。對(duì)某個(gè)存儲(chǔ)單元,可以如下去獲取:對(duì)某個(gè)存儲(chǔ)單元,可以如下去獲取:1)該單元所屬的段基址該單元所屬的段基址2)該單元在該段的偏移地址該單元在該段的偏移地址(有效地址有效地址)3)把段基址左移把段基址左移4位(二進(jìn)制的位(二進(jìn)制的4位,對(duì)應(yīng)于十六進(jìn)制位,對(duì)應(yīng)于十六進(jìn)制的一位),再加上段內(nèi)偏移地址就可得到該單元的的一位),再加上段內(nèi)偏移地址就可得到該單元的物理地址物理地址存儲(chǔ)器分段存儲(chǔ)器分段19存儲(chǔ)器物理地址的計(jì)算方法存儲(chǔ)器物理地址的計(jì)算方法段地址(段寄存器值)段地址(段寄存器值) 段內(nèi)有效地址段內(nèi)有效地址(位移量位移量) 物理地址物理地址(

17、20bit)16bit16bit20bit0 0 0 0+ 0 0 0 0203. 段寄存器段寄存器例:求下列寄存器組合所尋址的存儲(chǔ)單元的地址:例:求下列寄存器組合所尋址的存儲(chǔ)單元的地址:DSA000H,BX1000HSS2900H,SP3A00H1. 把數(shù)據(jù)段基址左移把數(shù)據(jù)段基址左移4位得位得A0000H,加上加上1000H,得該得該存儲(chǔ)單元地址為存儲(chǔ)單元地址為A1000H2. 把堆棧段基址左移把堆棧段基址左移4位得位得29000H,加上加上3A00H,得該得該存儲(chǔ)單元地址為存儲(chǔ)單元地址為3CA00H214. 指令指針寄存器指令指針寄存器指令指針寄存器指令指針寄存器IPIP用來(lái)存放將要執(zhí)行的

18、下一條指令用來(lái)存放將要執(zhí)行的下一條指令在現(xiàn)行代碼段中的偏移地址,即指向下一條指令,控制在現(xiàn)行代碼段中的偏移地址,即指向下一條指令,控制程序的流程程序的流程。 程序運(yùn)行時(shí),由程序運(yùn)行時(shí),由BIU自動(dòng)修改,一般情況下每次自動(dòng)修改,一般情況下每次將其值加將其值加1,但是遇到,但是遇到調(diào)用子程序、中斷指令調(diào)用子程序、中斷指令等時(shí),要等時(shí),要先把先把IP當(dāng)前的內(nèi)容存放在堆棧中當(dāng)前的內(nèi)容存放在堆棧中,等待子程序、中斷處,等待子程序、中斷處理完后,從堆棧中取出原值,使主程序繼續(xù)執(zhí)行。理完后,從堆棧中取出原值,使主程序繼續(xù)執(zhí)行。225. 標(biāo)志寄存器標(biāo)志寄存器PSWPSW中使用了中使用了9個(gè)標(biāo)志位,其中個(gè)標(biāo)志位

19、,其中控制標(biāo)志控制標(biāo)志3個(gè),狀個(gè),狀態(tài)標(biāo)志態(tài)標(biāo)志6個(gè)個(gè)。CFPFAFZFSFOFTFIFDF01234567891011121314151 1)3 3個(gè)控制標(biāo)志:個(gè)控制標(biāo)志:控制處理器的某一特定功能??刂铺幚砥鞯哪骋惶囟üδ堋?1) IF (Interrupt Enable Flag) 可屏蔽中斷允許標(biāo)志可屏蔽中斷允許標(biāo)志: IF=1表示允許表示允許CPU響應(yīng)外部響應(yīng)外部可屏蔽中斷請(qǐng)求可屏蔽中斷請(qǐng)求。 IF對(duì)不可屏蔽中斷和內(nèi)部中斷無(wú)影響。對(duì)不可屏蔽中斷和內(nèi)部中斷無(wú)影響。(2) DF (Direction Flag) 方向標(biāo)志:方向標(biāo)志: 指定字符串處理指令的地址變化方向。指定字符串處理指令的地

20、址變化方向。 DF=0 地址增量變化;地址增量變化;DF=1地址減量變化。地址減量變化。233個(gè)控制標(biāo)志:CFPFAFZFSFOFTFIFDF0123456789101112131415(3) TF(Trap Flag) 陷阱標(biāo)志陷阱標(biāo)志(單步執(zhí)行標(biāo)志單步執(zhí)行標(biāo)志): TF=1 CPU執(zhí)行單步方式;執(zhí)行單步方式; TF=0 CPU正常執(zhí)行正常執(zhí)行2 2)6 6個(gè)狀態(tài)標(biāo)志:個(gè)狀態(tài)標(biāo)志:表示處理器當(dāng)前運(yùn)行的狀態(tài)。表示處理器當(dāng)前運(yùn)行的狀態(tài)。 CF (Carry Flag)進(jìn)位標(biāo)志進(jìn)位標(biāo)志: 運(yùn)算結(jié)果最高位是運(yùn)算結(jié)果最高位是否發(fā)生進(jìn)否發(fā)生進(jìn)(借借)位。位。 CF=1進(jìn)(借)位;進(jìn)(借)位;CF=0無(wú)進(jìn)

21、(借)位無(wú)進(jìn)(借)位246個(gè)狀態(tài)標(biāo)志:(2) ZF (Zero Flag)零標(biāo)志:零標(biāo)志:指出當(dāng)前運(yùn)算結(jié)果是否為指出當(dāng)前運(yùn)算結(jié)果是否為0ZF=1當(dāng)前運(yùn)算結(jié)果為當(dāng)前運(yùn)算結(jié)果為0;否則為非;否則為非0。(3) SF (Sign Flag) 符號(hào)標(biāo)志符號(hào)標(biāo)志:表示本次運(yùn)算結(jié)果的正負(fù)表示本次運(yùn)算結(jié)果的正負(fù)SF=1負(fù)值;負(fù)值;SF=0正值。正值。(4) AF (Auxiliary Carry Flag)輔助進(jìn)位標(biāo)志輔助進(jìn)位標(biāo)志: 低低4位向前有進(jìn)位向前有進(jìn)(借借)位。一般在位。一般在BCD碼運(yùn)算中作為是否進(jìn)碼運(yùn)算中作為是否進(jìn)行十進(jìn)制調(diào)整的判斷依據(jù)。行十進(jìn)制調(diào)整的判斷依據(jù)。AF=1進(jìn)(借)位;進(jìn)(借)位;

22、AF=0無(wú)進(jìn)(借)位無(wú)進(jìn)(借)位CFPFAFZFSFOFTFIFDF012345678910111213141525(6) PF (Parity Flag)奇奇/偶標(biāo)志:偶標(biāo)志:運(yùn)算運(yùn)算結(jié)果低結(jié)果低8 8位中位中“1”“1”的個(gè)數(shù)的奇偶數(shù)的個(gè)數(shù)的奇偶數(shù)。用于數(shù)據(jù)傳輸時(shí)的奇偶校驗(yàn)。用于數(shù)據(jù)傳輸時(shí)的奇偶校驗(yàn)。 PF=1 運(yùn)算結(jié)果低運(yùn)算結(jié)果低8位中位中1的個(gè)數(shù)為偶數(shù);的個(gè)數(shù)為偶數(shù); PF=0 運(yùn)算結(jié)果低運(yùn)算結(jié)果低8位中位中1的個(gè)數(shù)為奇數(shù)。的個(gè)數(shù)為奇數(shù)。(5) OF (Overflow Flag) 溢出標(biāo)志:溢出標(biāo)志:運(yùn)算結(jié)果是否溢運(yùn)算結(jié)果是否溢出,出,雙高位判別法確定。雙高位判別法確定。OF=1 結(jié)

23、果超出運(yùn)算長(zhǎng)度的補(bǔ)碼表示范圍;結(jié)果超出運(yùn)算長(zhǎng)度的補(bǔ)碼表示范圍;OF=0 無(wú)溢出。無(wú)溢出。CFPFAFZFSFOFTFIFDF012345678910111213141526例:0001 0100 0011 1001+ 0100 0101 0110 10100101 1001 1010 0011最高位最高位=0低低8位中有位中有4個(gè)個(gè)“1”運(yùn)算結(jié)果不為全運(yùn)算結(jié)果不為全0低低4位向前有進(jìn)位位向前有進(jìn)位最高位向前沒(méi)有進(jìn)位最高位向前沒(méi)有進(jìn)位次高位向前沒(méi)有進(jìn)位次高位向前沒(méi)有進(jìn)位SF=?PF=?ZF=?AF=?CF=?OF=?SF=0PF=1ZF=0AF=1CF=0OF=027復(fù)位后的內(nèi)部各個(gè)寄存器狀態(tài):

24、復(fù)位后的內(nèi)部各個(gè)寄存器狀態(tài): CS寄存器:寄存器:FFFFH DS寄存器:寄存器:0000H SS寄存器:寄存器:0000H ES寄存器:寄存器:0000H 標(biāo)志寄存器:清除標(biāo)志寄存器:清除 指令隊(duì)列:清除指令隊(duì)列:清除282.2 8086 CPU 的引腳及其功能的引腳及其功能8086/8088CPU有有40個(gè)引腳個(gè)引腳:20根地址線(xiàn)根地址線(xiàn)/16根數(shù)據(jù)線(xiàn)分時(shí)復(fù)用,通過(guò)根數(shù)據(jù)線(xiàn)分時(shí)復(fù)用,通過(guò)外部鎖存器和緩沖器(三態(tài)門(mén))把微處理器的外部鎖存器和緩沖器(三態(tài)門(mén))把微處理器的復(fù)用引腳分別連在系統(tǒng)的地址總線(xiàn)和數(shù)據(jù)總線(xiàn)復(fù)用引腳分別連在系統(tǒng)的地址總線(xiàn)和數(shù)據(jù)總線(xiàn)上。上。電源和地線(xiàn)電源和地線(xiàn)其余為控制線(xiàn)其余為

25、控制線(xiàn)292.2 8086 CPU 的引腳及其功能的引腳及其功能80868086微處理器設(shè)計(jì)了兩種工作方式,微處理器設(shè)計(jì)了兩種工作方式,最小工作模式最小工作模式( (MN)MN)和和最大工作模式最大工作模式( (MX)MX)。同樣是同樣是4040根引腳,但是在不同根引腳,但是在不同工作模式時(shí),部分引腳的定義又有所不同。工作模式時(shí),部分引腳的定義又有所不同。當(dāng)當(dāng)8086/80888086/8088與存儲(chǔ)器和外設(shè)組成計(jì)算機(jī)系統(tǒng)時(shí),如與存儲(chǔ)器和外設(shè)組成計(jì)算機(jī)系統(tǒng)時(shí),如果存儲(chǔ)器容量不大和外設(shè)種類(lèi)較少時(shí),它與較少的芯片果存儲(chǔ)器容量不大和外設(shè)種類(lèi)較少時(shí),它與較少的芯片(8282(8282地址鎖存器地址鎖存

26、器,8286,8286發(fā)送發(fā)送/ /接收接口芯片接收接口芯片) )按按最小模式最小模式構(gòu)構(gòu)成計(jì)算機(jī)系統(tǒng);成計(jì)算機(jī)系統(tǒng);若系統(tǒng)較大,則需要協(xié)處理器若系統(tǒng)較大,則需要協(xié)處理器(8288(8288總線(xiàn)控制器總線(xiàn)控制器) )協(xié)協(xié)助它們產(chǎn)生各種控制信號(hào),此時(shí)稱(chēng)它們工作在助它們產(chǎn)生各種控制信號(hào),此時(shí)稱(chēng)它們工作在最大模式最大模式。30一、一、 8086 CPU 的管腳定義的管腳定義31引腳的功能引腳的功能:一、兩種模式下都要用的引線(xiàn)一、兩種模式下都要用的引線(xiàn)(一一) 電源、地、時(shí)鐘信號(hào)電源、地、時(shí)鐘信號(hào)40Vcc +5V1和和20 GND19CLK 時(shí)鐘頻率為時(shí)鐘頻率為5MHz,占空比占空比1/3達(dá)最佳狀態(tài)

27、,即達(dá)最佳狀態(tài),即1/3周期為高電平,周期為高電平,2/3周期為周期為低電平;為低電平;為CPU和總線(xiàn)控制邏輯電路提供定和總線(xiàn)控制邏輯電路提供定時(shí)手段。時(shí)手段。32216,39AD0AD15 地址地址/數(shù)據(jù)分時(shí)復(fù)用引腳,數(shù)據(jù)分時(shí)復(fù)用引腳, 雙向,三態(tài)雙向,三態(tài)(二二)復(fù)用總線(xiàn)引腳復(fù)用總線(xiàn)引腳3835 A16 A19 /S3S6 地址地址/狀態(tài)分時(shí)復(fù)用引腳,狀態(tài)分時(shí)復(fù)用引腳, 輸出,三態(tài)輸出,三態(tài)33A16 A19 /S3S6引腳說(shuō)明引腳說(shuō)明地址地址/ /狀態(tài)狀態(tài)分時(shí)復(fù)用引腳,在分時(shí)復(fù)用引腳,在T1T1狀態(tài)時(shí)用來(lái)輸出地狀態(tài)時(shí)用來(lái)輸出地址的高址的高4 4位位( (A16 A19 ) );其余時(shí)間作

28、為內(nèi)部狀態(tài)信息;其余時(shí)間作為內(nèi)部狀態(tài)信息( (S3S6) )來(lái)輸出。來(lái)輸出。當(dāng)系統(tǒng)總線(xiàn)處于當(dāng)系統(tǒng)總線(xiàn)處于“保持響應(yīng)保持響應(yīng)”時(shí),時(shí), A16 A19 /S3S6高阻態(tài)。高阻態(tài)。 S3S6的作用:的作用: S6=0 用來(lái)指示用來(lái)指示8086當(dāng)前與總線(xiàn)相連,通常保持當(dāng)前與總線(xiàn)相連,通常保持0; S5=1 表示當(dāng)前允許可屏蔽中斷請(qǐng)求。表示當(dāng)前允許可屏蔽中斷請(qǐng)求。 =0 表示當(dāng)前禁止可屏蔽中斷請(qǐng)求表示當(dāng)前禁止可屏蔽中斷請(qǐng)求34A16 A19 /S3S6引腳說(shuō)明引腳說(shuō)明DS(數(shù)據(jù)段)數(shù)據(jù)段)11CS(代碼段)或不需要代碼段)或不需要段寄存器段寄存器01SS(堆棧段)堆棧段)10ES(擴(kuò)展段)擴(kuò)展段)00

29、段寄存器段寄存器S3S4S4 、S3組合指示當(dāng)前正在使用的段寄存器。組合指示當(dāng)前正在使用的段寄存器。3534 BHE/S7 高高8位數(shù)據(jù)總線(xiàn)允許位數(shù)據(jù)總線(xiàn)允許/狀態(tài)復(fù)用引腳,輸出,狀態(tài)復(fù)用引腳,輸出, 三三 態(tài),低電平有效。態(tài),低電平有效。 S7沒(méi)采用沒(méi)采用 輸出低電平表示高輸出低電平表示高8位數(shù)據(jù)線(xiàn)位數(shù)據(jù)線(xiàn)D15D8上數(shù)據(jù)有效上數(shù)據(jù)有效。Bus High EnableBHEBHE和和A0A0的代碼組合的代碼組合 存儲(chǔ)器分體存儲(chǔ)器分體368088 CPU與存儲(chǔ)器的與存儲(chǔ)器的DB、AB連接連接數(shù)據(jù)總線(xiàn)數(shù)據(jù)總線(xiàn)DB7DB0D7D0存儲(chǔ)器存儲(chǔ)器A19A08088系統(tǒng)系統(tǒng)A19 A03721 RESE

30、T:輸入,高電平有效,復(fù)位信輸入,高電平有效,復(fù)位信號(hào)。使微處理器停止現(xiàn)行操作,并進(jìn)行初始號(hào)。使微處理器停止現(xiàn)行操作,并進(jìn)行初始化:化:CS置為置為FFFFH,其余寄存器清零、指令其余寄存器清零、指令隊(duì)列清空。隊(duì)列清空。(三三) 處理器控制信號(hào)處理器控制信號(hào)22 READY:輸入,高電平有效,存儲(chǔ)器輸入,高電平有效,存儲(chǔ)器或或I/O端口準(zhǔn)備就緒引腳。當(dāng)進(jìn)行總線(xiàn)操作時(shí),端口準(zhǔn)備就緒引腳。當(dāng)進(jìn)行總線(xiàn)操作時(shí),該引腳有效才可以完成數(shù)據(jù)傳送操作,否則該引腳有效才可以完成數(shù)據(jù)傳送操作,否則會(huì)一直等待該引腳為有效狀態(tài)。會(huì)一直等待該引腳為有效狀態(tài)。23 TEST :輸入,低電平有效,測(cè)試引腳。輸入,低電平有效

31、,測(cè)試引腳。當(dāng)它有效時(shí),可以使微處理器退出當(dāng)它有效時(shí),可以使微處理器退出WAIT指令指令的執(zhí)行。的執(zhí)行。3818 INTR(Interrupt Request):輸入,高電平有效,可輸入,高電平有效,可屏蔽中斷請(qǐng)求引腳屏蔽中斷請(qǐng)求引腳(三三) 處理器控制信號(hào)處理器控制信號(hào)33 MN/MXMN/MX(Min/Max)(Min/Max):工作方式選擇。接高電工作方式選擇。接高電平表示工作在最小模式,低電平表示工作在最大模平表示工作在最小模式,低電平表示工作在最大模式。式。32 RD:輸出,三態(tài),低電平有效,讀控制引腳輸出,三態(tài),低電平有效,讀控制引腳17 NMINMI:輸入,上升沿有效,不可屏蔽中

32、斷請(qǐng)求引腳輸入,上升沿有效,不可屏蔽中斷請(qǐng)求引腳29 WR:輸出,三態(tài),低電平有效,寫(xiě)控制引腳輸出,三態(tài),低電平有效,寫(xiě)控制引腳28 M/IO:輸出,三態(tài),高電平時(shí),輸出,三態(tài),高電平時(shí),CPU訪(fǎng)問(wèn)存儲(chǔ)器;訪(fǎng)問(wèn)存儲(chǔ)器; 低電平時(shí),低電平時(shí),CPU訪(fǎng)問(wèn)訪(fǎng)問(wèn)I/O接口。接口。39(四)在不同工作方式下定義不同的引腳(四)在不同工作方式下定義不同的引腳31HOLDRQ/GT0 總線(xiàn)保持總線(xiàn)保持30HLDARQ/GT1 29WR LOCK 寫(xiě)控制寫(xiě)控制變成變成總線(xiàn)封鎖總線(xiàn)封鎖 28M/IO S2 存儲(chǔ)器存儲(chǔ)器/接口選擇、接口選擇、27DT/R S1 數(shù)據(jù)傳輸方向控制、數(shù)據(jù)數(shù)據(jù)傳輸方向控制、數(shù)據(jù)26DE

33、N S0 0 輸出允許輸出允許變?yōu)樽優(yōu)闋顟B(tài)輸出狀態(tài)輸出25ALE QS0 地址鎖存控制、中斷地址鎖存控制、中斷24INTAQS1 1 響應(yīng)信號(hào)響應(yīng)信號(hào)變成變成指令隊(duì)列指令隊(duì)列 最小模式最小模式 最大模式最大模式 狀態(tài)輸出狀態(tài)輸出40在最小模式下:在最小模式下:INTA(Interrupt Acknowledge):):中斷響應(yīng)輸出信號(hào),中斷響應(yīng)輸出信號(hào),低電平有效,用來(lái)對(duì)外設(shè)的中斷請(qǐng)求做出響應(yīng)。低電平有效,用來(lái)對(duì)外設(shè)的中斷請(qǐng)求做出響應(yīng)。DEN(Data Enable):):數(shù)據(jù)允許信號(hào),輸出,三態(tài),為數(shù)據(jù)允許信號(hào),輸出,三態(tài),為8286/8287數(shù)據(jù)總線(xiàn)收發(fā)器提供一個(gè)控制信號(hào),數(shù)據(jù)總線(xiàn)收發(fā)器提

34、供一個(gè)控制信號(hào),表示表示CPU當(dāng)前準(zhǔn)備發(fā)送或接收一個(gè)數(shù)據(jù)。當(dāng)前準(zhǔn)備發(fā)送或接收一個(gè)數(shù)據(jù)。ALE(Address Latch Enable):):地址鎖存允許信號(hào),地址鎖存允許信號(hào), 輸出,高電平有效。輸出,高電平有效。DT/R(Data Transmit/Receive):):數(shù)據(jù)收數(shù)據(jù)收/發(fā)控制信號(hào),發(fā)控制信號(hào),輸出,用于控制雙向驅(qū)動(dòng)器輸出,用于控制雙向驅(qū)動(dòng)器8286/8287的數(shù)據(jù)傳送方向。的數(shù)據(jù)傳送方向。高電平時(shí)數(shù)據(jù)發(fā)送;低電平時(shí)數(shù)據(jù)接收;高電平時(shí)數(shù)據(jù)發(fā)送;低電平時(shí)數(shù)據(jù)接收;DMA方式時(shí)方式時(shí)高阻態(tài)。高阻態(tài)。2425262741 27DT/ R 數(shù)據(jù)傳輸方向控制數(shù)據(jù)傳輸方向控制 26DEN

35、 數(shù)據(jù)傳輸允許數(shù)據(jù)傳輸允許 25ALE 地址鎖存控制地址鎖存控制在最小模式下:在最小模式下:8086地址鎖存器地址鎖存器(8282/74373)數(shù)據(jù)收發(fā)器數(shù)據(jù)收發(fā)器(8286/8287/74245)AB/DBCBALEDENDT/R42在最小模式下:在最小模式下:M/IO(Memory/IO):存儲(chǔ)器存儲(chǔ)器/輸入輸出接口控制信號(hào),輸入輸出接口控制信號(hào),輸出,三態(tài)。輸出,三態(tài)。 高電平時(shí)表示高電平時(shí)表示CPU和存儲(chǔ)器之間進(jìn)行數(shù)據(jù)傳輸;和存儲(chǔ)器之間進(jìn)行數(shù)據(jù)傳輸; 低電平時(shí)表示低電平時(shí)表示CPU和和I/O設(shè)備之間進(jìn)行數(shù)據(jù)傳輸;設(shè)備之間進(jìn)行數(shù)據(jù)傳輸; DMA方式時(shí)高阻態(tài)。方式時(shí)高阻態(tài)。WR(Write

36、):寫(xiě)信號(hào),輸出,低電平有效,表示寫(xiě)信號(hào),輸出,低電平有效,表示CPU當(dāng)前正在進(jìn)行當(dāng)前正在進(jìn)行存儲(chǔ)器存儲(chǔ)器或或I/O寫(xiě)操作,具體為哪種寫(xiě)寫(xiě)操作,具體為哪種寫(xiě)操作由操作由M/IO信號(hào)決定,信號(hào)決定, DMA方式時(shí)高阻態(tài)。方式時(shí)高阻態(tài)。282943在最小模式下:HOLD(Hold Request):):總線(xiàn)保持總線(xiàn)保持請(qǐng)求請(qǐng)求信號(hào),輸入,信號(hào),輸入,高電平有效,其他總線(xiàn)主控者向高電平有效,其他總線(xiàn)主控者向CPU請(qǐng)求使用總線(xiàn)的請(qǐng)求使用總線(xiàn)的信號(hào)。信號(hào)。HLDA(Hold Acknowledge):):總線(xiàn)保持總線(xiàn)保持響應(yīng)響應(yīng)信號(hào),輸信號(hào),輸出,高電平有效,表示對(duì)其它主部件的總線(xiàn)請(qǐng)求做出出,高電平有效

37、,表示對(duì)其它主部件的總線(xiàn)請(qǐng)求做出響應(yīng),如果響應(yīng),如果CPU允許,與此同時(shí)讓出總線(xiàn)。允許,與此同時(shí)讓出總線(xiàn)。ABDBCBCPUMEMDMAI/OHOLDHLDA高速高速設(shè)備設(shè)備313044從指令隊(duì)列中取走后續(xù)字節(jié)從指令隊(duì)列中取走后續(xù)字節(jié)11隊(duì)隊(duì) 列列 為為 空空01從指令隊(duì)列的第一個(gè)字節(jié)中取走代碼從指令隊(duì)列的第一個(gè)字節(jié)中取走代碼10無(wú)無(wú) 操操 作作00狀狀 態(tài)態(tài)QS0QS12424,2525: : QSQS1 1,QSQS0 0(Instruction Queue Instruction Queue StatusStatus):):指令隊(duì)列狀態(tài)信號(hào),輸出,表示當(dāng)指令隊(duì)列狀態(tài)信號(hào),輸出,表示當(dāng)前前

38、80868086中指令隊(duì)列的狀態(tài)。中指令隊(duì)列的狀態(tài)。在最大模式下:在最大模式下:45S2,S1,S0(Bus Cycle Status):):總線(xiàn)周期狀態(tài)信總線(xiàn)周期狀態(tài)信號(hào),輸出,這三個(gè)信號(hào)組合可指出當(dāng)前總線(xiàn)周期號(hào),輸出,這三個(gè)信號(hào)組合可指出當(dāng)前總線(xiàn)周期中所進(jìn)行的數(shù)據(jù)傳輸過(guò)程的類(lèi)型。最大模式系統(tǒng)中所進(jìn)行的數(shù)據(jù)傳輸過(guò)程的類(lèi)型。最大模式系統(tǒng)中的總線(xiàn)控制器中的總線(xiàn)控制器8288就是利用它們來(lái)產(chǎn)生對(duì)存儲(chǔ)就是利用它們來(lái)產(chǎn)生對(duì)存儲(chǔ)器和器和I/O的控制信號(hào)。的控制信號(hào)。在最大模式下:在最大模式下:S2表示存儲(chǔ)器操作表示存儲(chǔ)器操作(1)還是還是IO操作操作(0)S1表示讀表示讀(0)還是寫(xiě)還是寫(xiě)(1)28,2

39、7,2646S2,S1,S0的代碼組合狀態(tài)編碼表:的代碼組合狀態(tài)編碼表:無(wú)操作無(wú)操作111寫(xiě)內(nèi)存寫(xiě)內(nèi)存011讀內(nèi)存讀內(nèi)存101取指令取指令001操作過(guò)程操作過(guò)程S0S1S2暫停暫停110寫(xiě)寫(xiě)I/O端口端口010讀讀I/O端口端口100發(fā)中斷響應(yīng)信號(hào)發(fā)中斷響應(yīng)信號(hào)000操作過(guò)程操作過(guò)程S0S1S247在最大模式下:在最大模式下:LOCK:總線(xiàn)封鎖信號(hào),輸出,低電平有效,用總線(xiàn)封鎖信號(hào),輸出,低電平有效,用來(lái)封鎖外部處理器使用總線(xiàn)。來(lái)封鎖外部處理器使用總線(xiàn)。DMA方式時(shí)高阻態(tài)方式時(shí)高阻態(tài)RQ/GT1,RQ/GT0(Request/Grant):):總總線(xiàn)請(qǐng)求信號(hào)(輸入)線(xiàn)請(qǐng)求信號(hào)(輸入)/總線(xiàn)請(qǐng)求

40、允許信號(hào)(輸出),總線(xiàn)請(qǐng)求允許信號(hào)(輸出),低電平有效,這兩個(gè)信號(hào)都是雙向的,總線(xiàn)請(qǐng)求低電平有效,這兩個(gè)信號(hào)都是雙向的,總線(xiàn)請(qǐng)求信號(hào)和允許信號(hào)在同一引腳上傳輸,但方向相反。信號(hào)和允許信號(hào)在同一引腳上傳輸,但方向相反。這兩個(gè)信號(hào)端可供這兩個(gè)信號(hào)端可供CPU以外的以外的2個(gè)處理器用來(lái)發(fā)出個(gè)處理器用來(lái)發(fā)出使用總線(xiàn)的請(qǐng)求信號(hào)和接收使用總線(xiàn)的請(qǐng)求信號(hào)和接收CPU對(duì)總線(xiàn)請(qǐng)求信號(hào)對(duì)總線(xiàn)請(qǐng)求信號(hào)的回答信號(hào)。的回答信號(hào)。2930,31482.3 8086 存儲(chǔ)器組織存儲(chǔ)器組織一、存儲(chǔ)器地址的分段一、存儲(chǔ)器地址的分段 8086把整個(gè)把整個(gè)1MB的存儲(chǔ)空間分為許多邏輯的存儲(chǔ)空間分為許多邏輯段,每段容量不大于段,每段

41、容量不大于64KB,段與段之間可以連段與段之間可以連續(xù),也可以重疊或分開(kāi)。續(xù),也可以重疊或分開(kāi)。 8086 有有20條地址引線(xiàn),可尋址從條地址引線(xiàn),可尋址從00000H到到FFFFFH共共1MB的存儲(chǔ)空間,但的存儲(chǔ)空間,但8086/8088內(nèi)部?jī)?nèi)部包括各種寄存器均為包括各種寄存器均為16位,如何解決這個(gè)問(wèn)題?位,如何解決這個(gè)問(wèn)題?跳過(guò)跳過(guò)491.存儲(chǔ)器地址的分段存儲(chǔ)器地址的分段IBM PC機(jī)固定每機(jī)固定每16字節(jié)為一小段,邏輯字節(jié)為一小段,邏輯段必須從每小段的首地址開(kāi)始,所以邏輯段段必須從每小段的首地址開(kāi)始,所以邏輯段的首地址肯定能被的首地址肯定能被16整除,即段的首地址的整除,即段的首地址的

42、后后4位二進(jìn)制數(shù)一定為位二進(jìn)制數(shù)一定為0。2.3 8086 存儲(chǔ)器組織存儲(chǔ)器組織502.物理地址的形成物理地址的形成段基址:段基址:邏輯段的首地址,邏輯段的首地址,16位,存放于段寄位,存放于段寄存器里。存器里。偏移地址:偏移地址:某個(gè)存儲(chǔ)單元相對(duì)于該段首地址的某個(gè)存儲(chǔ)單元相對(duì)于該段首地址的偏移量,偏移量,16位,在位,在0000FFFFH之間,存放之間,存放于于IP或通用寄存器中?;蛲ㄓ眉拇嫫髦?。邏輯地址:邏輯地址:存儲(chǔ)單元的邏輯地址由存儲(chǔ)單元的邏輯地址由16位無(wú)符號(hào)位無(wú)符號(hào)的段基址和偏移地址組成的段基址和偏移地址組成物理地址:物理地址:存儲(chǔ)器的絕對(duì)地址,存儲(chǔ)器的絕對(duì)地址,CPU訪(fǎng)問(wèn)存儲(chǔ)訪(fǎng)問(wèn)

43、存儲(chǔ)器的實(shí)際尋址地址。器的實(shí)際尋址地址。00000HFFFFFH2.3 8086 存儲(chǔ)器組織存儲(chǔ)器組織512.物理地址的形成物理地址的形成CSSSDSES代碼段代碼段堆棧段堆棧段數(shù)據(jù)段數(shù)據(jù)段附加段附加段00000HFFFFFH段寄存器段寄存器64K偏移地址偏移地址段寄存器段寄存器0154位位015物理地址物理地址加法器加法器0192.3 8086 存儲(chǔ)器組織存儲(chǔ)器組織528086 存儲(chǔ)器組織一、存儲(chǔ)器地址的分段一、存儲(chǔ)器地址的分段2.物理地址的形成物理地址的形成對(duì)存儲(chǔ)器的不同操作,對(duì)存儲(chǔ)器的不同操作,BIU的地址加法器使用的邏輯的地址加法器使用的邏輯地址、偏移地址來(lái)源也不同。地址、偏移地址來(lái)源

44、也不同。操作類(lèi)型操作類(lèi)型隱含段地址來(lái)源隱含段地址來(lái)源 可替換段地址可替換段地址偏移地址偏移地址取指令取指令CS無(wú)無(wú)IP堆棧操作堆棧操作SS無(wú)無(wú)SP存取變量存取變量DSCS、ES、SS有效地址有效地址EABP為間址為間址SSCS、DS、ES 有效地址有效地址EA源字符串源字符串DSCS、ES、SSSI目標(biāo)字符串目標(biāo)字符串ES無(wú)無(wú)DI返回返回538086 存儲(chǔ)器組織二、存儲(chǔ)器的分體結(jié)構(gòu)二、存儲(chǔ)器的分體結(jié)構(gòu)原因:原因:8086 CPU的數(shù)據(jù)總線(xiàn)寬度是的數(shù)據(jù)總線(xiàn)寬度是16位,而存儲(chǔ)器的數(shù)位,而存儲(chǔ)器的數(shù)據(jù)線(xiàn)寬均為據(jù)線(xiàn)寬均為8位,且位,且8086 CPU有有8位存儲(chǔ)器操作指令。位存儲(chǔ)器操作指令。5125

45、12K K8 8位位奇奇地址地址存儲(chǔ)體存儲(chǔ)體(A0=1)512512K K 8 8位位偶偶地址地址存儲(chǔ)體存儲(chǔ)體(A0=0)000000000200004000010000300005220-1=FFFFFFFFFE = 220-254二、存儲(chǔ)器的分體結(jié)構(gòu)二、存儲(chǔ)器的分體結(jié)構(gòu)DB7DB0奇地址奇地址存儲(chǔ)體存儲(chǔ)體偶地址偶地址存儲(chǔ)體存儲(chǔ)體BHEA0A19 A18086 最小系統(tǒng)最小系統(tǒng)DB15DB8BHE為低電平為低電平時(shí),選通奇地時(shí),選通奇地址存儲(chǔ)體,址存儲(chǔ)體,A0為低電平時(shí),為低電平時(shí),選通偶地址存選通偶地址存儲(chǔ)體儲(chǔ)體D7D0A18A0D7D0A18A0CSCS558086 存儲(chǔ)器組織二、存儲(chǔ)器

46、的分體結(jié)構(gòu)二、存儲(chǔ)器的分體結(jié)構(gòu)BHEA0操操 作作所用數(shù)據(jù)引腳所用數(shù)據(jù)引腳 0 0 從偶地址開(kāi)始讀從偶地址開(kāi)始讀/寫(xiě)一個(gè)字寫(xiě)一個(gè)字AD15AD0 0 1 從奇地址讀從奇地址讀/寫(xiě)一個(gè)字節(jié)寫(xiě)一個(gè)字節(jié)AD15AD8 1 0 從偶地址讀從偶地址讀/寫(xiě)一個(gè)字節(jié)寫(xiě)一個(gè)字節(jié)AD7AD0 0 1 從奇地址開(kāi)始讀從奇地址開(kāi)始讀/寫(xiě)一個(gè)字寫(xiě)一個(gè)字AD15AD8AD7AD0 1 0BHEBHE和和A0A0的代碼組合和對(duì)應(yīng)的操作:的代碼組合和對(duì)應(yīng)的操作:568086 存儲(chǔ)器組織二、存儲(chǔ)器的分體結(jié)構(gòu)二、存儲(chǔ)器的分體結(jié)構(gòu)存儲(chǔ)單元的內(nèi)容:存儲(chǔ)單元的內(nèi)容:存放字節(jié)時(shí),只需存放到相應(yīng)地址的存儲(chǔ)單元;存放字節(jié)時(shí),只需存放到相應(yīng)

47、地址的存儲(chǔ)單元;存放字時(shí),低字節(jié)存放在低地址單元,高字節(jié)存放存放字時(shí),低字節(jié)存放在低地址單元,高字節(jié)存放在高地址單元。這里的在高地址單元。這里的“低低”不一定是不一定是“偶偶”,“高高”不一定是不一定是“奇奇”12341234H152H015200100h00103h00101h00104h存放存放“字字”的原則:從給出的原則:從給出的地址存放低位數(shù)據(jù),該的地址存放低位數(shù)據(jù),該地址地址+1存放高位數(shù)據(jù)。存放高位數(shù)據(jù)。讀取也是一樣,從給出的地讀取也是一樣,從給出的地址讀取數(shù)據(jù)作為低位,該址讀取數(shù)據(jù)作為低位,該地址地址+1讀取數(shù)據(jù)作為高位讀取數(shù)據(jù)作為高位57二、存儲(chǔ)器的分體結(jié)構(gòu)二、存儲(chǔ)器的分體結(jié)構(gòu)

48、8086 存儲(chǔ)器組織若字從偶地址開(kāi)始,則若字從偶地址開(kāi)始,則CPU讀讀/寫(xiě)一個(gè)字時(shí),只寫(xiě)一個(gè)字時(shí),只需訪(fǎng)問(wèn)存儲(chǔ)器一次;需訪(fǎng)問(wèn)存儲(chǔ)器一次;若字從奇地址開(kāi)始,則若字從奇地址開(kāi)始,則CPU讀讀/寫(xiě)一個(gè)字時(shí),要寫(xiě)一個(gè)字時(shí),要訪(fǎng)問(wèn)兩次:訪(fǎng)問(wèn)兩次: 第一次:讀取奇地址的數(shù)據(jù)作為低位數(shù)據(jù),第一次:讀取奇地址的數(shù)據(jù)作為低位數(shù)據(jù),AD15AD8有效,忽略有效,忽略AD7AD0; 第二次:讀取偶地址的數(shù)據(jù)作為高位數(shù)據(jù),第二次:讀取偶地址的數(shù)據(jù)作為高位數(shù)據(jù),AD7AD0有效,忽略有效,忽略AD15AD8為了加快程序運(yùn)行速度,應(yīng)該從偶地址開(kāi)始為了加快程序運(yùn)行速度,應(yīng)該從偶地址開(kāi)始存放字?jǐn)?shù)據(jù),這種存放方式稱(chēng)為存放字?jǐn)?shù)據(jù)

49、,這種存放方式稱(chēng)為“對(duì)準(zhǔn)存放對(duì)準(zhǔn)存放”返回返回588086 存儲(chǔ)器組織三、堆棧的概念三、堆棧的概念堆棧:在存儲(chǔ)器中開(kāi)辟一個(gè)區(qū)域,用來(lái)存放需要暫時(shí)堆棧:在存儲(chǔ)器中開(kāi)辟一個(gè)區(qū)域,用來(lái)存放需要暫時(shí)保存的數(shù)據(jù)。保存的數(shù)據(jù)。段基址由寄存器段基址由寄存器SS指定,棧頂由指定,棧頂由SP指定。指定。因?yàn)槎褩2僮鞫际且砸驗(yàn)槎褩2僮鞫际且宰肿譃閱挝?,所以為單位,所以SP始終指向偶地始終指向偶地址單元。址單元。堆棧的操作:入棧、出棧堆棧的操作:入棧、出棧指令格式分別為:指令格式分別為:PUSH 操作數(shù)操作數(shù)POP 操作數(shù)操作數(shù)操作原則:先進(jìn)后出操作原則:先進(jìn)后出59三、堆棧的概念三、堆棧的概念例例2-3 :已知已

50、知 SS=C000H, SP=1000H,指出當(dāng)前棧指出當(dāng)前棧頂在存儲(chǔ)器中的位置頂在存儲(chǔ)器中的位置C0000C1000棧頂棧頂棧底棧底注意:注意:1) 先進(jìn)棧的內(nèi)容要后出棧。先進(jìn)棧的內(nèi)容要后出棧。(教材教材P40 例例2-4、5)2) 進(jìn)、出棧指令進(jìn)、出棧指令(PUSH和和POP)要成對(duì)。要成對(duì)。(教材(教材P41 例例2-6 )8086 存儲(chǔ)器組織C1001602-4 8086系統(tǒng)配置系統(tǒng)配置 根據(jù)使用目的不同,根據(jù)使用目的不同,8086系統(tǒng)可以配置為系統(tǒng)可以配置為最小模式和最大模式,由最小模式和最大模式,由CPU的引腳的引腳MN/MX設(shè)定。設(shè)定。 最小模式為單機(jī)系統(tǒng),系統(tǒng)需要的控制信最小模

51、式為單機(jī)系統(tǒng),系統(tǒng)需要的控制信號(hào)由號(hào)由CPU提供提供 最大模式為多處理器最大模式為多處理器/協(xié)處理器系統(tǒng),即一協(xié)處理器系統(tǒng),即一個(gè)系統(tǒng)中可以有兩個(gè)以上微處理器,個(gè)系統(tǒng)中可以有兩個(gè)以上微處理器,CPU提供提供信號(hào)控制信號(hào)控制8288,系統(tǒng)中所需要的控制信號(hào)由總,系統(tǒng)中所需要的控制信號(hào)由總線(xiàn)控制器線(xiàn)控制器8288提供。提供。61一、最小模式系統(tǒng)一、最小模式系統(tǒng) 最小模式下,除了最小模式下,除了8086CPU、存儲(chǔ)器、存儲(chǔ)器、I/O接口芯片外,還需要:接口芯片外,還需要: 1片片8284時(shí)鐘發(fā)生器時(shí)鐘發(fā)生器 3片片8282/8283或或74LS373,作為地址鎖存器作為地址鎖存器 2片片8286/8

52、287或或74LS245,作為雙向數(shù)據(jù)總線(xiàn)收作為雙向數(shù)據(jù)總線(xiàn)收發(fā)器發(fā)器62最小最小系統(tǒng)系統(tǒng)組成組成631、地址鎖存器、地址鎖存器8282/8283 CPU與存儲(chǔ)器或與存儲(chǔ)器或I/O端口交換數(shù)據(jù)時(shí),端口交換數(shù)據(jù)時(shí),CPU要先發(fā)出地址,然后發(fā)出控制信號(hào)要先發(fā)出地址,然后發(fā)出控制信號(hào)和傳送數(shù)據(jù),和傳送數(shù)據(jù),但是但是8086 CPU的地址的地址/數(shù)據(jù)數(shù)據(jù)線(xiàn)分時(shí)復(fù)用,為了在讀線(xiàn)分時(shí)復(fù)用,為了在讀/寫(xiě)期間地址穩(wěn)定,寫(xiě)期間地址穩(wěn)定,必須先鎖存地址必須先鎖存地址 8282與與8283的區(qū)別:的區(qū)別:8282的輸入與輸出的輸入與輸出是同相的,是同相的,8283卻是反相的。卻是反相的。64651. 8282/82

53、83鎖存器鎖存器1234567891020191817161514131211DI0DI1DI2DI3DI4DI5DI6DI7OEGNDVcc(+5V)DO0DO1DO2DO3DO4DO5DO6DO7STB8282DI0DI7:8位數(shù)據(jù)輸入位數(shù)據(jù)輸入DO0DO7:8位數(shù)據(jù)輸出位數(shù)據(jù)輸出GND:地地Vcc:電源電源OE:輸出允許信號(hào)輸出允許信號(hào)STB:選通信號(hào),與選通信號(hào),與CPU的的ALE相連相連661. 8282/8283鎖存器鎖存器 從芯片可以看出,從芯片可以看出,8282/8283是是8位數(shù)據(jù)鎖位數(shù)據(jù)鎖存,而地址線(xiàn)有存,而地址線(xiàn)有20根,還要加上根,還要加上BHE,所以需所以需要要3片片

54、8282/8283。 CPU在進(jìn)行讀在進(jìn)行讀/寫(xiě)時(shí),首先把寫(xiě)時(shí),首先把20位地址和位地址和BHE送到總線(xiàn)上,在地址鎖存允許信號(hào)送到總線(xiàn)上,在地址鎖存允許信號(hào)ALE有效時(shí),有效時(shí),將地址和將地址和BHE鎖存到鎖存到8282/8283鎖存器中鎖存器中 OE接地,使接地,使CPU輸出來(lái)的地址碼和輸出來(lái)的地址碼和BHE信信號(hào)穩(wěn)定地輸出在地址總線(xiàn)和控制總線(xiàn)上號(hào)穩(wěn)定地輸出在地址總線(xiàn)和控制總線(xiàn)上672. 雙向數(shù)據(jù)總線(xiàn)收發(fā)器雙向數(shù)據(jù)總線(xiàn)收發(fā)器8286/82871234567891020191817161514131211A0A1A2A3A4A5A6A7OEGNDVcc(+5V)B0B1B2B3B4B5B6B7

55、T8286A0A7:8位數(shù)據(jù)輸入位數(shù)據(jù)輸入/輸出輸出B0B7:8位數(shù)據(jù)輸入位數(shù)據(jù)輸入/輸出輸出GND:地地Vcc:電源電源OE:輸出允許信號(hào)輸出允許信號(hào)T:控制數(shù)據(jù)傳送方控制數(shù)據(jù)傳送方向,與向,與CPU的的DT/R相連相連683. 時(shí)鐘發(fā)生器時(shí)鐘發(fā)生器82848086 CPU的內(nèi)部和外部的時(shí)間基準(zhǔn)信號(hào)由的內(nèi)部和外部的時(shí)間基準(zhǔn)信號(hào)由時(shí)鐘輸入信號(hào)時(shí)鐘輸入信號(hào)CLK(CPU的的19號(hào)引腳號(hào)引腳)提供,提供,CLK是由外部時(shí)鐘發(fā)生器是由外部時(shí)鐘發(fā)生器8284產(chǎn)生。產(chǎn)生。8284的功能包括的功能包括3部分:部分: 時(shí)鐘信號(hào)發(fā)生器時(shí)鐘信號(hào)發(fā)生器 復(fù)位生成電路復(fù)位生成電路 就緒控制電路就緒控制電路693.

56、時(shí)鐘發(fā)生器時(shí)鐘發(fā)生器8284123456789CSYNCPCLKAEN1RDY1READYRDY2AEN2CLKGND8284VccX1X2ASYNCEFIF/COSC RES RESET 181716151413121110703. 時(shí)鐘發(fā)生器時(shí)鐘發(fā)生器82841) 時(shí)鐘信號(hào)發(fā)生器時(shí)鐘信號(hào)發(fā)生器OSC:晶體振蕩器工作頻率晶體振蕩器工作頻率CLK:為晶體頻率或?yàn)榫w頻率或EFI輸入頻率的輸入頻率的1/3PCLK:2分頻分頻CLK后的時(shí)鐘,供后的時(shí)鐘,供PC/XT機(jī)的機(jī)的外設(shè)使用。外設(shè)使用。X1、X2:晶體連接端,輸入晶體連接端,輸入(晶振晶振)EFI:外加頻率輸入端外加頻率輸入端F/C:頻率頻

57、率/晶體選擇端,選擇工作方式晶體選擇端,選擇工作方式輸輸入入輸輸出出71返回返回723. 時(shí)鐘發(fā)生器時(shí)鐘發(fā)生器82842) 復(fù)位生成電路復(fù)位生成電路由由RES輸入信號(hào)來(lái)觸發(fā),產(chǎn)生復(fù)位信號(hào)輸入信號(hào)來(lái)觸發(fā),產(chǎn)生復(fù)位信號(hào)RESET,送送給給CPU的的RESET端端3) 就緒控制電路就緒控制電路輸入信號(hào)輸入信號(hào)RDY1、RDY2,分別受分別受AEN1、AEN2控制控制ASYNC輸入端規(guī)定了就緒信號(hào)同步操作的兩種方式。輸入端規(guī)定了就緒信號(hào)同步操作的兩種方式。 外界的準(zhǔn)備好信號(hào)外界的準(zhǔn)備好信號(hào)RDY經(jīng)就緒控制電路經(jīng)就緒控制電路同步同步,輸出準(zhǔn)備好信號(hào)輸出準(zhǔn)備好信號(hào)READY,在在CLK下降沿處使下降沿處使

58、READY有效。有效。738284 內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)振蕩器振蕩器DCKQCKDQCKDQ3SYNC2SYNCRESX1X2CYSNCF/CEFIAEN1RDY1RDY2AEN2ASYNCRESETOSCCLKPCLKREADY8284內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu) 7475讀操作過(guò)讀操作過(guò)程:程:1.M/IO,DT/R2.地址送出并地址送出并鎖存鎖存3.地址到總線(xiàn)地址到總線(xiàn)4.讀信號(hào)有效讀信號(hào)有效5.數(shù)據(jù)線(xiàn)傳送數(shù)據(jù)線(xiàn)傳送76二、最大模式系統(tǒng)二、最大模式系統(tǒng) 在最大模式中要增加總線(xiàn)控制器在最大模式中要增加總線(xiàn)控制器8288和和總線(xiàn)裁決器總線(xiàn)裁決器8289,以協(xié)調(diào)以,以協(xié)調(diào)以CPU為中心的多為中心的多處理器系統(tǒng)

59、的協(xié)調(diào)工作。處理器系統(tǒng)的協(xié)調(diào)工作。 此時(shí)此時(shí)CPU的狀態(tài)信號(hào)送給的狀態(tài)信號(hào)送給8288和和8289,由由8288輸出控制信號(hào),由輸出控制信號(hào),由8289來(lái)裁決總線(xiàn)使來(lái)裁決總線(xiàn)使用權(quán)分給誰(shuí)。用權(quán)分給誰(shuí)。7778總線(xiàn)控制器總線(xiàn)控制器82881234567891020191817161514131211IOBCLKS1DT/RALEAENMRDCAMWCMWTCGNDVcc(+5V)S0S2MCE/PDENDENCENINTAIORCAIOWCIOWC8288798288內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)80總線(xiàn)控制器總線(xiàn)控制器82881)總線(xiàn)狀態(tài)信號(hào):)總線(xiàn)狀態(tài)信號(hào):S2S0:由由CPU輸入輸入2)控制輸入信號(hào):)

60、控制輸入信號(hào): CLK:時(shí)鐘信號(hào),由時(shí)鐘信號(hào),由8284提供提供 AEN:地址允許信號(hào),由總線(xiàn)裁決器地址允許信號(hào),由總線(xiàn)裁決器8289提供提供 CEN:命令允許信號(hào),外部輸入。在多個(gè)命令允許信號(hào),外部輸入。在多個(gè)8288工作工作時(shí)相當(dāng)于時(shí)相當(dāng)于8288的片選信號(hào)。的片選信號(hào)。 IOB:總線(xiàn)工作方式控制,輸入??偩€(xiàn)工作方式控制,輸入。IOB為為1時(shí),時(shí),8288處于局部總線(xiàn)工作方式,反之為系統(tǒng)總線(xiàn)工作方式。處于局部總線(xiàn)工作方式,反之為系統(tǒng)總線(xiàn)工作方式。81總線(xiàn)控制器總線(xiàn)控制器82883)總線(xiàn)命令信號(hào)(均為輸出):)總線(xiàn)命令信號(hào)(均為輸出):INTA:中斷響應(yīng)信號(hào)中斷響應(yīng)信號(hào)IORC:讀讀I/O端

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論