微型計(jì)算機(jī)原理及接口技術(shù)(2)_第1頁(yè)
微型計(jì)算機(jī)原理及接口技術(shù)(2)_第2頁(yè)
微型計(jì)算機(jī)原理及接口技術(shù)(2)_第3頁(yè)
微型計(jì)算機(jī)原理及接口技術(shù)(2)_第4頁(yè)
微型計(jì)算機(jī)原理及接口技術(shù)(2)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(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、第二章第二章 80868086系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu) Inter 8086CPUInter 8086CPU是是1616位微處理器,它有位微處理器,它有1616根數(shù)據(jù)線和根數(shù)據(jù)線和2020根地址根地址線,直接尋址空間為線,直接尋址空間為2 22020,即,即1MB1MB。8088CPU8088CPU內(nèi)部結(jié)構(gòu)與內(nèi)部結(jié)構(gòu)與80868086基本相基本相同但對(duì)外數(shù)據(jù)總線只有同但對(duì)外數(shù)據(jù)總線只有8 8條,稱(chēng)為準(zhǔn)條,稱(chēng)為準(zhǔn)1616位微處理器。位微處理器。2.1 8086CPU2.1 8086CPU結(jié)構(gòu)結(jié)構(gòu) 微型計(jì)算機(jī)工作時(shí),總是先從存儲(chǔ)器中取指令,需要的話再取微型計(jì)算機(jī)工作時(shí),總是先從存儲(chǔ)器中取指令,需要的話再取

2、操作數(shù),然后執(zhí)行指令,送結(jié)果。通常操作數(shù),然后執(zhí)行指令,送結(jié)果。通常8 8位機(jī)是串行執(zhí)行的,而位機(jī)是串行執(zhí)行的,而1616位位機(jī)可并行操作。機(jī)可并行操作。8086 CPU8086 CPU由總線接口部件由總線接口部件BIUBIU和指令執(zhí)行部件和指令執(zhí)行部件EUEU組成組成, ,BIUBIU和和EUEU的操作是并行的??偩€接口部件的操作是并行的??偩€接口部件BIUBIU完成取指令,讀操作數(shù),完成取指令,讀操作數(shù),送結(jié)果,所有與外部的操作由其完成。而指令執(zhí)行部件送結(jié)果,所有與外部的操作由其完成。而指令執(zhí)行部件EUEU從從BIUBIU的指的指令隊(duì)列中取出指令,并且執(zhí)行指令,不必訪問(wèn)存儲(chǔ)器或令隊(duì)列中取出

3、指令,并且執(zhí)行指令,不必訪問(wèn)存儲(chǔ)器或I/OI/O端口。若端口。若需要訪問(wèn)存儲(chǔ)器或需要訪問(wèn)存儲(chǔ)器或I/OI/O端口,也是由端口,也是由EUEU向向BIUBIU發(fā)出訪問(wèn)所需要的地址,發(fā)出訪問(wèn)所需要的地址,在在BIUBIU中形成物理地址,然后訪問(wèn)存儲(chǔ)器或中形成物理地址,然后訪問(wèn)存儲(chǔ)器或I/OI/O端口,取得操作數(shù)送端口,取得操作數(shù)送到到EUEU,或送結(jié)果到指定的內(nèi)存單元或,或送結(jié)果到指定的內(nèi)存單元或I/OI/O端口。這種并行工作方式,端口。這種并行工作方式,大大提高了系統(tǒng)工作效率。大大提高了系統(tǒng)工作效率。 圖圖2-12-1給出了給出了8086CPU8086CPU的內(nèi)部結(jié)構(gòu)框圖。的內(nèi)部結(jié)構(gòu)框圖。 一、

4、一、8086CPU8086CPU的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)1.1.總線接口部件總線接口部件BIUBIU 總線接口部件總線接口部件BIU是是8086CPU與外部與外部(存儲(chǔ)器和存儲(chǔ)器和I/O端口端口)的接口,它的接口,它提供了提供了16位雙向數(shù)據(jù)總線和位雙向數(shù)據(jù)總線和20位地址總線,完成所有外部總線操作。位地址總線,完成所有外部總線操作。 BIUBIU具有下列功能:地址形成、取指令、指令排隊(duì),讀具有下列功能:地址形成、取指令、指令排隊(duì),讀/ /寫(xiě)操作數(shù)和寫(xiě)操作數(shù)和總線控制。它由下列各部分組成:總線控制。它由下列各部分組成:(1 1)1616位段地址寄存器:位段地址寄存器: CSCS代碼段寄存器代碼段寄

5、存器 DSDS數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器 ESES附加段寄存器附加段寄存器 SSSS堆棧段寄存器堆棧段寄存器(2 2)1616位指令指針寄存器位指令指針寄存器IPIP:存放下一條要執(zhí)行指令的偏移地址。:存放下一條要執(zhí)行指令的偏移地址。(3 3)2020位物理地址加法器:將位物理地址加法器:將1616位邏輯地址變換成存儲(chǔ)器讀位邏輯地址變換成存儲(chǔ)器讀/ /寫(xiě)所需要寫(xiě)所需要的的2020位物理地址,實(shí)際上完成地址加法操作。位物理地址,實(shí)際上完成地址加法操作。 (4 4)6 6字節(jié)指令隊(duì)列:預(yù)放字節(jié)指令隊(duì)列:預(yù)放6 6字節(jié)的指令代碼。字節(jié)的指令代碼。(5 5)總線控制邏輯:發(fā)出總線控制信號(hào)。)總線控制邏輯

6、:發(fā)出總線控制信號(hào)。 2.2.指令執(zhí)行部件指令執(zhí)行部件EUEU指令執(zhí)行部件指令執(zhí)行部件EU完成指令譯碼和執(zhí)行指令的工作。完成指令譯碼和執(zhí)行指令的工作。 它由以下幾個(gè)部分組成:它由以下幾個(gè)部分組成:(1)(1)算術(shù)邏輯運(yùn)算單元算術(shù)邏輯運(yùn)算單元ALUALU:完成:完成8 8位或位或1616位的二進(jìn)制運(yùn)算,位的二進(jìn)制運(yùn)算,1616位暫存器位暫存器可暫存參加運(yùn)算的操作數(shù)。可暫存參加運(yùn)算的操作數(shù)。(2)(2)標(biāo)志寄存器標(biāo)志寄存器PSWPSW:存放:存放ALUALU運(yùn)算結(jié)果特征。運(yùn)算結(jié)果特征。(3)(3)寄存器組:寄存器組:4 4個(gè)通用個(gè)通用1616位寄存器位寄存器AXAX、BXBX、CXCX、DXDX,

7、其中,其中AXAX又稱(chēng)累加器。又稱(chēng)累加器。4 4個(gè)專(zhuān)用個(gè)專(zhuān)用1616位寄存器:源變址寄存器位寄存器:源變址寄存器SISI、目的變址寄存器、目的變址寄存器DIDI、堆棧指針、堆棧指針寄存器寄存器SPSP、基址指針寄存器、基址指針寄存器BPBP。(4)EU(4)EU控制器:取指令控制和時(shí)序控制部件??刂破鳎喝≈噶羁刂坪蜁r(shí)序控制部件。 二、寄存器結(jié)構(gòu)二、寄存器結(jié)構(gòu)寄存器結(jié)構(gòu)用來(lái)存放運(yùn)算過(guò)程中所需要的操作數(shù)地址、操作數(shù)及中間結(jié)寄存器結(jié)構(gòu)用來(lái)存放運(yùn)算過(guò)程中所需要的操作數(shù)地址、操作數(shù)及中間結(jié)果。果。80868086微處理器內(nèi)部包含有微處理器內(nèi)部包含有4 4組組1616位寄存器,它們分別是通用寄存器位寄存器

8、,它們分別是通用寄存器組,指針和變址寄存器,段寄存器,指令指針及標(biāo)志位寄存器。如圖組,指針和變址寄存器,段寄存器,指令指針及標(biāo)志位寄存器。如圖2 22 2所示。所示。 1.1.通用寄存器組通用寄存器組8086/8088CPU8086/8088CPU在指令執(zhí)行部件在指令執(zhí)行部件EUEU中有中有4 4個(gè)個(gè)1616位通用寄存器,它們是位通用寄存器,它們是AXAX、BXBX、CXCX和和DX,DX,用以存放用以存放1616位數(shù)據(jù)或地址。也可分為位數(shù)據(jù)或地址。也可分為8 8個(gè)個(gè)8 8位寄存器來(lái)使位寄存器來(lái)使用,低用,低8 8位是位是ALAL、BLBL、CLCL和和DLDL,高,高8 8位為位為AHAH、

9、BHBH、CHCH和和DHDH,只能存放,只能存放8 8位位數(shù)據(jù),不能存放地址。通用寄存器通用性強(qiáng),對(duì)任何指令它們具有相同數(shù)據(jù),不能存放地址。通用寄存器通用性強(qiáng),對(duì)任何指令它們具有相同的功能。為了縮短指令代碼的長(zhǎng)度,在的功能。為了縮短指令代碼的長(zhǎng)度,在80868086中,某些通用寄存器用作專(zhuān)中,某些通用寄存器用作專(zhuān)門(mén)用途。例如,串指令中必須用門(mén)用途。例如,串指令中必須用CXCX寄存器作為計(jì)數(shù)寄存器,存放串的長(zhǎng)寄存器作為計(jì)數(shù)寄存器,存放串的長(zhǎng)度,這樣在串操作指令中不必給定度,這樣在串操作指令中不必給定CXCX的寄存器號(hào),縮短了串操作指令代的寄存器號(hào),縮短了串操作指令代碼的長(zhǎng)度,這種尋址方式也稱(chēng)為

10、碼的長(zhǎng)度,這種尋址方式也稱(chēng)為“隱含尋址隱含尋址”。同樣,。同樣,AXAX、BXBX、DXDX寄存寄存器器又可分別稱(chēng)為累加器、基址寄存器及數(shù)據(jù)寄存器。又可分別稱(chēng)為累加器、基址寄存器及數(shù)據(jù)寄存器。2.2.指針和變址寄存器指針和變址寄存器8086/8088CPU8086/8088CPU中,有一組中,有一組4 4個(gè)個(gè)1616位寄存器,它們是基址指針寄存器位寄存器,它們是基址指針寄存器BPBP,堆棧指針寄存器堆棧指針寄存器SPSP,源變址寄存器,源變址寄存器SISI,目的變址寄存器,目的變址寄存器DIDI。這組寄存器。這組寄存器存放的內(nèi)容是某一段內(nèi)地址偏移量,用來(lái)形成操作數(shù)地址,主要在堆棧存放的內(nèi)容是某

11、一段內(nèi)地址偏移量,用來(lái)形成操作數(shù)地址,主要在堆棧操作和變址運(yùn)算中使用。操作和變址運(yùn)算中使用。 BPBP和和SPSP寄存器稱(chēng)為指針寄存器,與寄存器稱(chēng)為指針寄存器,與SSSS聯(lián)用,為訪問(wèn)現(xiàn)行堆棧段提供方便。聯(lián)用,為訪問(wèn)現(xiàn)行堆棧段提供方便。通常通常BPBP寄存器在間接尋址中使用,操作數(shù)在堆棧段中,由寄存器在間接尋址中使用,操作數(shù)在堆棧段中,由SSSS段寄存器與段寄存器與BPBP組合形成操作數(shù)地址。即組合形成操作數(shù)地址。即BPBP中存放現(xiàn)行堆棧段中一個(gè)數(shù)據(jù)區(qū)的中存放現(xiàn)行堆棧段中一個(gè)數(shù)據(jù)區(qū)的“基址基址”的偏移量,所以稱(chēng)的偏移量,所以稱(chēng)BPBP寄存器為基址指針。寄存器為基址指針。SPSP寄存器在堆棧操作中

12、使用,寄存器在堆棧操作中使用,PUSHPUSH和和POPPOP指令是從指令是從SPSP寄存器得到現(xiàn)行堆寄存器得到現(xiàn)行堆棧段的段內(nèi)地址偏移量,所以稱(chēng)棧段的段內(nèi)地址偏移量,所以稱(chēng)SPSP寄存器為堆棧指針,寄存器為堆棧指針,SPSP始終指向棧頂。始終指向棧頂。寄存器寄存器SISI和和DIDI稱(chēng)為變址寄存器,通常與稱(chēng)為變址寄存器,通常與DSDS一起使用,為訪問(wèn)現(xiàn)行數(shù)據(jù)段一起使用,為訪問(wèn)現(xiàn)行數(shù)據(jù)段提供段內(nèi)地址偏移量。在串指令中,其中源操作數(shù)的偏移量存放在提供段內(nèi)地址偏移量。在串指令中,其中源操作數(shù)的偏移量存放在SISI中,中,目的操作敷的偏移量存放在目的操作敷的偏移量存放在DIDI中,中,SISI與與D

13、IDI的作用不能互換,否則傳送地的作用不能互換,否則傳送地址相反。在串指令中,址相反。在串指令中,SISI、DIDI均為隱含尋址,此時(shí),均為隱含尋址,此時(shí),SISI和和DSDS聯(lián)用,聯(lián)用,DIDI和和ESES聯(lián)用。聯(lián)用。 3.3.段寄存器段寄存器8086/8088CPU8086/8088CPU可直接尋址可直接尋址1MB1MB的存儲(chǔ)器空間,直接尋址需要的存儲(chǔ)器空間,直接尋址需要2020位地址碼,位地址碼,而所有內(nèi)部寄存器都是而所有內(nèi)部寄存器都是1616位的,只能直接尋址位的,只能直接尋址64KB64KB,因此采用分段技術(shù),因此采用分段技術(shù)來(lái)解決。將來(lái)解決。將1MB1MB的存儲(chǔ)空間分成若干邏輯段,

14、每段最長(zhǎng)的存儲(chǔ)空間分成若干邏輯段,每段最長(zhǎng)64KB64KB,這些邏輯,這些邏輯段在整個(gè)存儲(chǔ)空間中可浮動(dòng)。段在整個(gè)存儲(chǔ)空間中可浮動(dòng)。 8086/8088CPU8086/8088CPU內(nèi)部設(shè)置了內(nèi)部設(shè)置了4 4個(gè)個(gè)1616位段寄存器,它們分別是代碼段寄存器位段寄存器,它們分別是代碼段寄存器CSCS、數(shù)據(jù)段寄存器、數(shù)據(jù)段寄存器DSDS、堆棧段寄存器、堆棧段寄存器SSSS、附加段寄存器、附加段寄存器ESES,由它們給出,由它們給出相應(yīng)邏輯段的首地址,稱(chēng)為相應(yīng)邏輯段的首地址,稱(chēng)為“段基址段基址”。段基址與段內(nèi)偏移地址組合形。段基址與段內(nèi)偏移地址組合形成成2020位物理地址,段內(nèi)偏移地址可以存放在寄存器中

15、,也可以存放在存儲(chǔ)位物理地址,段內(nèi)偏移地址可以存放在寄存器中,也可以存放在存儲(chǔ)器中器中 。代碼段內(nèi)存放可執(zhí)行的指令代碼,數(shù)據(jù)段和附加段內(nèi)存放操作的數(shù)據(jù),代碼段內(nèi)存放可執(zhí)行的指令代碼,數(shù)據(jù)段和附加段內(nèi)存放操作的數(shù)據(jù),通常操作數(shù)在現(xiàn)行數(shù)據(jù)段中,而在串指令中,目的操作數(shù)指明必須在現(xiàn)通常操作數(shù)在現(xiàn)行數(shù)據(jù)段中,而在串指令中,目的操作數(shù)指明必須在現(xiàn)行附加段中。堆棧段開(kāi)辟為程序執(zhí)行中所要用的堆棧區(qū),采用先進(jìn)后出行附加段中。堆棧段開(kāi)辟為程序執(zhí)行中所要用的堆棧區(qū),采用先進(jìn)后出的方式訪問(wèn)它。各個(gè)段寄存器指明了一個(gè)規(guī)定的現(xiàn)行段,各段寄存器不的方式訪問(wèn)它。各個(gè)段寄存器指明了一個(gè)規(guī)定的現(xiàn)行段,各段寄存器不可互換使用。程

16、序較小時(shí),代碼段、數(shù)據(jù)段、堆棧段可放在一個(gè)段內(nèi),可互換使用。程序較小時(shí),代碼段、數(shù)據(jù)段、堆棧段可放在一個(gè)段內(nèi),即包含在即包含在64KB64KB之內(nèi),而當(dāng)程序或數(shù)據(jù)量較大時(shí),超過(guò)了之內(nèi),而當(dāng)程序或數(shù)據(jù)量較大時(shí),超過(guò)了64KB64KB,那么可以,那么可以定義多個(gè)代碼段或數(shù)據(jù)段、堆棧段、附加段?,F(xiàn)行段由段寄存器指明段定義多個(gè)代碼段或數(shù)據(jù)段、堆棧段、附加段?,F(xiàn)行段由段寄存器指明段地址,使用中可以修改段寄存器內(nèi)容,指向其它段。有時(shí)為了明確起見(jiàn),地址,使用中可以修改段寄存器內(nèi)容,指向其它段。有時(shí)為了明確起見(jiàn),可在指令前加上段超越的前綴字節(jié),以指定操作數(shù)所在段??稍谥噶钋凹由隙纬降那熬Y字節(jié),以指定操作數(shù)所

17、在段。 4.4.指令指針寄存器指令指針寄存器8086/8088CPU8086/8088CPU中設(shè)置了一個(gè)中設(shè)置了一個(gè)1616位指令指針寄存器位指令指針寄存器IPIP,用來(lái)存放將要執(zhí)行,用來(lái)存放將要執(zhí)行的下一條指令在現(xiàn)行代碼段中的偏移地址。程序運(yùn)行中,它由的下一條指令在現(xiàn)行代碼段中的偏移地址。程序運(yùn)行中,它由BIUBIU自動(dòng)自動(dòng) 將其修改,使將其修改,使IPIP始終指向下一條將要執(zhí)行的指令的地址,因此它是用來(lái)始終指向下一條將要執(zhí)行的指令的地址,因此它是用來(lái)控制指令序列的執(zhí)行流程的,是一個(gè)重要的寄存器。控制指令序列的執(zhí)行流程的,是一個(gè)重要的寄存器。80868086程序不能直接程序不能直接訪問(wèn)訪問(wèn)I

18、PIP,但可以通過(guò)某些指令修改,但可以通過(guò)某些指令修改IPIP的內(nèi)容。例如,當(dāng)遇到中斷指令或的內(nèi)容。例如,當(dāng)遇到中斷指令或調(diào)用于程序指令時(shí),調(diào)用于程序指令時(shí),80868086自動(dòng)調(diào)整自動(dòng)調(diào)整IPIP的內(nèi)容,將的內(nèi)容,將IPIP中下一條將要執(zhí)行的中下一條將要執(zhí)行的指令地址偏移量人棧保護(hù),待中斷程序執(zhí)行完畢或子程序返回時(shí),可將指令地址偏移量人棧保護(hù),待中斷程序執(zhí)行完畢或子程序返回時(shí),可將保護(hù)的內(nèi)容從堆棧中彈出到保護(hù)的內(nèi)容從堆棧中彈出到IPIP,使主程序繼續(xù)運(yùn)行。在跳轉(zhuǎn)指令時(shí),則,使主程序繼續(xù)運(yùn)行。在跳轉(zhuǎn)指令時(shí),則將新的跳轉(zhuǎn)目標(biāo)地址送入將新的跳轉(zhuǎn)目標(biāo)地址送入IPIP,改變它的內(nèi)容,實(shí)現(xiàn)了程序的轉(zhuǎn)移。

19、,改變它的內(nèi)容,實(shí)現(xiàn)了程序的轉(zhuǎn)移。 5.5.標(biāo)志寄存器標(biāo)志寄存器PSWPSW1616位標(biāo)志寄存器位標(biāo)志寄存器PSWPSW用來(lái)存放運(yùn)算結(jié)果的特征,常用作后續(xù)條件轉(zhuǎn)移指用來(lái)存放運(yùn)算結(jié)果的特征,常用作后續(xù)條件轉(zhuǎn)移指令的轉(zhuǎn)移控制條件。其中令的轉(zhuǎn)移控制條件。其中7 7位沒(méi)有用,位沒(méi)有用,9 9個(gè)標(biāo)志位分成兩類(lèi):一類(lèi)為狀態(tài)個(gè)標(biāo)志位分成兩類(lèi):一類(lèi)為狀態(tài)標(biāo)志,表示運(yùn)算后結(jié)果的狀態(tài)特征,它影響后面的操作。狀態(tài)標(biāo)志有標(biāo)志,表示運(yùn)算后結(jié)果的狀態(tài)特征,它影響后面的操作。狀態(tài)標(biāo)志有6 6個(gè):個(gè):CFCF、PFPF,AFAF、ZFZF、,CF,CF和和OFOF。另一類(lèi)為控制標(biāo)志,用來(lái)控制。另一類(lèi)為控制標(biāo)志,用來(lái)控制CPU

20、CPU操作,操作,控制標(biāo)志有控制標(biāo)志有3 3個(gè):個(gè):TFTF、IFIF和和DFDF。PSWPSW寄存器的具體格式如下圖所示:寄存器的具體格式如下圖所示: 2.2 8086CPU2.2 8086CPU的引腳及其功能的引腳及其功能8086/8088CPU8086/8088CPU根據(jù)它的基本性能,應(yīng)包括根據(jù)它的基本性能,應(yīng)包括2020條地址線條地址線,16,16條數(shù)據(jù)線,加條數(shù)據(jù)線,加上控制信號(hào),電源和地線,芯片的引腳比較多。但由于制造工藝的限制,上控制信號(hào),電源和地線,芯片的引腳比較多。但由于制造工藝的限制,8086/8088CPU8086/8088CPU芯片采用芯片采用4040條引腳的雙列直插式

21、封裝,因此部分引腳采條引腳的雙列直插式封裝,因此部分引腳采用了分時(shí)復(fù)用的方式。用了分時(shí)復(fù)用的方式。另外另外8086/8088CPU8086/8088CPU可以工作在兩種工作模式可以工作在兩種工作模式( (最小模式和最大模式最小模式和最大模式) ),最小模式用于單機(jī)系統(tǒng)。系統(tǒng)中所需要的控制信號(hào)全部由最小模式用于單機(jī)系統(tǒng)。系統(tǒng)中所需要的控制信號(hào)全部由80868086直接提供。直接提供。最大模式用于多處理機(jī)系統(tǒng),系統(tǒng)中所需要的控制信號(hào)由總線控制器最大模式用于多處理機(jī)系統(tǒng),系統(tǒng)中所需要的控制信號(hào)由總線控制器82888288提供。這樣,提供。這樣,2424腳腳3131腳的腳的8 8條引腳在兩種工作模式中

22、具有不同的條引腳在兩種工作模式中具有不同的功能,下面簡(jiǎn)要地介紹功能,下面簡(jiǎn)要地介紹8086/8088 CPU8086/8088 CPU各引腳的功能。各引腳的功能。 一、一、8086/8088CPU8086/8088CPU在最小模式中引腳定義在最小模式中引腳定義二、二、8086/8088CPU8086/8088CPU在最大模式中引腳定義在最大模式中引腳定義三、三、80888088與與8086CPU8086CPU的不同之處的不同之處8088CPU8088CPU的內(nèi)部結(jié)構(gòu)及外部引腳功能與的內(nèi)部結(jié)構(gòu)及外部引腳功能與8086CPU8086CPU大部分相同。主要不同之大部分相同。主要不同之處如下:處如下:

23、1.80881.8088的指令隊(duì)列長(zhǎng)度是的指令隊(duì)列長(zhǎng)度是4 4個(gè)字節(jié),指令隊(duì)列中只要出現(xiàn)一個(gè)空閑字節(jié)個(gè)字節(jié),指令隊(duì)列中只要出現(xiàn)一個(gè)空閑字節(jié)時(shí),時(shí),BIUBIU就會(huì)自動(dòng)訪問(wèn)存儲(chǔ)器,取指令來(lái)補(bǔ)充指令隊(duì)列。就會(huì)自動(dòng)訪問(wèn)存儲(chǔ)器,取指令來(lái)補(bǔ)充指令隊(duì)列。(8086(8086要在指令要在指令隊(duì)列中至少出現(xiàn)隊(duì)列中至少出現(xiàn)2 2個(gè)空閑字節(jié)時(shí),才預(yù)取后續(xù)指令個(gè)空閑字節(jié)時(shí),才預(yù)取后續(xù)指令) )。2.8088CPU2.8088CPU中,中,BIUBIU的總線控制電路與外部交換數(shù)據(jù)的總線寬度是的總線控制電路與外部交換數(shù)據(jù)的總線寬度是8 8位,位,總線控制電路與專(zhuān)用寄存器組之間的數(shù)據(jù)總線寬度也是總線控制電路與專(zhuān)用寄存器組

24、之間的數(shù)據(jù)總線寬度也是8 8位,而位,而EUEU的內(nèi)的內(nèi)部總線是部總線是1616位,這樣,對(duì)位,這樣,對(duì)1616位數(shù)的存儲(chǔ)器讀位數(shù)的存儲(chǔ)器讀/ /寫(xiě)操作要兩個(gè)讀寫(xiě)操作要兩個(gè)讀/ /寫(xiě)周期才寫(xiě)周期才可以完成??梢酝瓿?。3.80883.8088外部數(shù)據(jù)總線只有外部數(shù)據(jù)總線只有8 8條,所以分時(shí)復(fù)用的地址條,所以分時(shí)復(fù)用的地址/ /數(shù)據(jù)總線為數(shù)據(jù)總線為AD7AD7AD0AD0;而;而AD15AD15AD8AD8成為僅傳遞地址信息的成為僅傳遞地址信息的A15A15A8A8。 4.80884.8088中,用中,用 信號(hào)代替信號(hào)代替 信號(hào),信號(hào), 低電平時(shí)選通存儲(chǔ)器,低電平時(shí)選通存儲(chǔ)器,高電平時(shí)選通高電平

25、時(shí)選通I/OI/O接口。接口。5.80885.8088中,只能進(jìn)行中,只能進(jìn)行8 8位數(shù)據(jù)傳輸,位數(shù)據(jù)傳輸, 信號(hào)不需要了,改為信號(hào)不需要了,改為 ,與,與 一起決定最小模式中的總線周期操作。一起決定最小模式中的總線周期操作。下表指出了具體的組合關(guān)系。下表指出了具體的組合關(guān)系。MIO/IOM/MIO/BHE0SSRDT/MIO/2.3 80862.3 8086存儲(chǔ)器組織存儲(chǔ)器組織一、存儲(chǔ)器地址的分段一、存儲(chǔ)器地址的分段1.1.存儲(chǔ)器地址的分段存儲(chǔ)器地址的分段在存儲(chǔ)器中是以字節(jié)為單位存儲(chǔ)信息的,每個(gè)存儲(chǔ)單元有唯一的地址來(lái)在存儲(chǔ)器中是以字節(jié)為單位存儲(chǔ)信息的,每個(gè)存儲(chǔ)單元有唯一的地址來(lái)確定。確定。8

26、086/80888086/8088系統(tǒng)有系統(tǒng)有2020根地址線可尋址根地址線可尋址1MB1MB字節(jié)的存儲(chǔ)空間,即對(duì)存字節(jié)的存儲(chǔ)空間,即對(duì)存儲(chǔ)器尋址要儲(chǔ)器尋址要2020位物理地址,而位物理地址,而80868086為為1616位機(jī),位機(jī),CPUCPU內(nèi)部寄存器只有內(nèi)部寄存器只有1616位,位,可尋址可尋址64KB64KB。因此。因此80868086系統(tǒng)把整個(gè)存儲(chǔ)空間分成許多邏輯段,每段容量系統(tǒng)把整個(gè)存儲(chǔ)空間分成許多邏輯段,每段容量不超過(guò)不超過(guò)64KB64KB。80868086系統(tǒng)對(duì)存儲(chǔ)器的分段采用靈活的方法,允許各個(gè)邏輯系統(tǒng)對(duì)存儲(chǔ)器的分段采用靈活的方法,允許各個(gè)邏輯段在整個(gè)存儲(chǔ)空間中浮動(dòng),這樣在程

27、序設(shè)計(jì)時(shí)可使程序保持相對(duì)的完整段在整個(gè)存儲(chǔ)空間中浮動(dòng),這樣在程序設(shè)計(jì)時(shí)可使程序保持相對(duì)的完整性。段和段之間可以是連續(xù)的性。段和段之間可以是連續(xù)的( (整個(gè)存儲(chǔ)空間分成整個(gè)存儲(chǔ)空間分成1616個(gè)邏輯段個(gè)邏輯段) ),也可以,也可以是分開(kāi)的或重疊的。如圖是分開(kāi)的或重疊的。如圖2 27 7所示:所示: 任何一個(gè)存儲(chǔ)單元的實(shí)際地址,都是由段地址及段內(nèi)偏移地址兩部分組任何一個(gè)存儲(chǔ)單元的實(shí)際地址,都是由段地址及段內(nèi)偏移地址兩部分組成,從圖成,從圖2 27 7可以看出,任何一個(gè)存儲(chǔ)單元,可以在一個(gè)段中定義,也可以看出,任何一個(gè)存儲(chǔ)單元,可以在一個(gè)段中定義,也可定義在兩個(gè)重疊的邏輯段中,關(guān)鍵看段的首地址如何指

28、定??啥x在兩個(gè)重疊的邏輯段中,關(guān)鍵看段的首地址如何指定。IBM PCIBM PC機(jī)機(jī)對(duì)段的首地址有限制規(guī)定必須從每小段的首地址開(kāi)始,每對(duì)段的首地址有限制規(guī)定必須從每小段的首地址開(kāi)始,每1616字節(jié)為一字節(jié)為一小段,所以段起始地址必須能被小段,所以段起始地址必須能被1616整除才行。整除才行。 2.2.物理地址形成物理地址形成80868086系統(tǒng)將段地址放在段寄存器中,稱(chēng)為系統(tǒng)將段地址放在段寄存器中,稱(chēng)為“段基址段基址”。有。有4 4個(gè)段寄存器,個(gè)段寄存器,分別為代碼段寄存器分別為代碼段寄存器CSCS,數(shù)據(jù)段寄存器,數(shù)據(jù)段寄存器DSDS,附加段寄存器,附加段寄存器ESES和堆棧段寄和堆棧段寄存

29、器存器SSSS。段內(nèi)段內(nèi)“偏移地址偏移地址”指出了從段地址開(kāi)始的相對(duì)偏移位置。它可以放在指指出了從段地址開(kāi)始的相對(duì)偏移位置。它可以放在指令令指針寄存器指針寄存器IPIP中,或中,或1616位通用寄存器中。位通用寄存器中。 邏輯地址:存儲(chǔ)器的任一個(gè)邏輯地址由段基址和偏移地址組成,都是無(wú)邏輯地址:存儲(chǔ)器的任一個(gè)邏輯地址由段基址和偏移地址組成,都是無(wú)符號(hào)的符號(hào)的1616位二進(jìn)制數(shù),程序設(shè)計(jì)時(shí)采用邏輯地址。位二進(jìn)制數(shù),程序設(shè)計(jì)時(shí)采用邏輯地址。物理地址:存儲(chǔ)器的絕對(duì)地址,從物理地址:存儲(chǔ)器的絕對(duì)地址,從0000000000FFFFFHFFFFFH,是,是CPUCPU訪問(wèn)存儲(chǔ)器的訪問(wèn)存儲(chǔ)器的實(shí)際尋址地址,

30、它由邏輯地址變換而來(lái)。物理地址計(jì)算如下所示:實(shí)際尋址地址,它由邏輯地址變換而來(lái)。物理地址計(jì)算如下所示: 物理地址段基址物理地址段基址1616偏移地址偏移地址因?yàn)槎位分该慷蔚钠鹗嫉刂罚仨毷敲啃《蔚氖椎刂?,其低因?yàn)槎位分该慷蔚钠鹗嫉刂?,它必須是每小段的首地址,其? 4位一位一定為定為0 0,所以在實(shí)際工作時(shí),是從段寄存器中取出段基址,將其左移,所以在實(shí)際工作時(shí),是從段寄存器中取出段基址,將其左移4 4位,位,再與再與1616位偏移地址相加,就得到了物理地址,此地址在位偏移地址相加,就得到了物理地址,此地址在CPUCPU的總線接口的總線接口部件部件BIUBIU的地址加法器中形成。的地址加法

31、器中形成。 3.3.邏輯地址來(lái)源邏輯地址來(lái)源邏輯地址來(lái)源如下表所示:邏輯地址來(lái)源如下表所示:二、二、80868086存儲(chǔ)器的分體結(jié)構(gòu)存儲(chǔ)器的分體結(jié)構(gòu)80868086系統(tǒng)中,系統(tǒng)中,1MB1MB的存儲(chǔ)空間分成兩個(gè)存儲(chǔ)體:偶地址存儲(chǔ)體和奇地址存的存儲(chǔ)空間分成兩個(gè)存儲(chǔ)體:偶地址存儲(chǔ)體和奇地址存儲(chǔ)體,各為儲(chǔ)體,各為512KB,512KB,示意圖如圖示意圖如圖2-102-10所示:所示: 存儲(chǔ)器中存放的信息稱(chēng)為存儲(chǔ)單元的內(nèi)容,例如存儲(chǔ)單元存儲(chǔ)器中存放的信息稱(chēng)為存儲(chǔ)單元的內(nèi)容,例如存儲(chǔ)單元00100H00100H中的內(nèi)容為中的內(nèi)容為34H34H,表示為,表示為(00100H)(00100H)34H34H。

32、一個(gè)字在存。一個(gè)字在存儲(chǔ)器中按相鄰兩個(gè)字節(jié)存放,存入時(shí)以低位字節(jié)在低地址,高儲(chǔ)器中按相鄰兩個(gè)字節(jié)存放,存入時(shí)以低位字節(jié)在低地址,高位字節(jié)在高地址的次序存放,字單元的地址以低位地址表示。位字節(jié)在高地址的次序存放,字單元的地址以低位地址表示。例:例:(00100H)(00100H)1234H1234H,(00103H)(00103H)0152H0152H在內(nèi)存中放的位置在內(nèi)存中放的位置如右圖示。從中可以看出,一個(gè)字可以從偶地址開(kāi)始存放,也如右圖示。從中可以看出,一個(gè)字可以從偶地址開(kāi)始存放,也可以從奇地址開(kāi)始存放,但可以從奇地址開(kāi)始存放,但8086CPU8086CPU訪問(wèn)存儲(chǔ)器時(shí),都是以字訪問(wèn)存儲(chǔ)器

33、時(shí),都是以字為單位進(jìn)行的,并從偶地址開(kāi)始。若讀為單位進(jìn)行的,并從偶地址開(kāi)始。若讀/ /寫(xiě)一個(gè)字節(jié),只啟動(dòng)寫(xiě)一個(gè)字節(jié),只啟動(dòng)某個(gè)存儲(chǔ)體,只有相應(yīng)的某個(gè)存儲(chǔ)體,只有相應(yīng)的8 8位數(shù)據(jù)在數(shù)據(jù)總線上有效,即啟動(dòng)位數(shù)據(jù)在數(shù)據(jù)總線上有效,即啟動(dòng)偶地址存儲(chǔ)體,低偶地址存儲(chǔ)體,低8 8位數(shù)據(jù)線有效,或啟動(dòng)奇地址存儲(chǔ)體位數(shù)據(jù)線有效,或啟動(dòng)奇地址存儲(chǔ)體, ,高高8 8位數(shù)據(jù)線有效,另外位數(shù)據(jù)線有效,另外8 8位數(shù)據(jù)被忽略了。位數(shù)據(jù)被忽略了。 當(dāng)當(dāng)CPUCPU讀讀/ /寫(xiě)一個(gè)字時(shí),若字單元地址從偶地址開(kāi)始,只需訪問(wèn)一次寫(xiě)一個(gè)字時(shí),若字單元地址從偶地址開(kāi)始,只需訪問(wèn)一次存儲(chǔ)器,低位字節(jié)在偶地址單元,高位字節(jié)在奇地址單

34、元。若字單元地存儲(chǔ)器,低位字節(jié)在偶地址單元,高位字節(jié)在奇地址單元。若字單元地址從奇地址開(kāi)始,址從奇地址開(kāi)始,CPUCPU要兩次訪問(wèn)存儲(chǔ)器,第一次取奇地址上數(shù)據(jù)要兩次訪問(wèn)存儲(chǔ)器,第一次取奇地址上數(shù)據(jù)( (偶地偶地址址8 8位數(shù)據(jù)被忽略位數(shù)據(jù)被忽略) ),第二次取偶地址上數(shù)據(jù),第二次取偶地址上數(shù)據(jù)( (奇地址奇地址8 8位數(shù)據(jù)被忽略位數(shù)據(jù)被忽略) )。因此為了加快程序運(yùn)行速度,編程時(shí)注意從存儲(chǔ)器偶地址開(kāi)始存放字?jǐn)?shù)因此為了加快程序運(yùn)行速度,編程時(shí)注意從存儲(chǔ)器偶地址開(kāi)始存放字?jǐn)?shù)據(jù),這種存放方式也稱(chēng)據(jù),這種存放方式也稱(chēng)“對(duì)準(zhǔn)存放對(duì)準(zhǔn)存放”。 三、堆棧的概念三、堆棧的概念 所謂堆棧是在存儲(chǔ)器中開(kāi)辟一個(gè)區(qū)域

35、,用來(lái)存放需要暫時(shí)保存的數(shù)據(jù)。所謂堆棧是在存儲(chǔ)器中開(kāi)辟一個(gè)區(qū)域,用來(lái)存放需要暫時(shí)保存的數(shù)據(jù)。堆棧段是由段定義語(yǔ)句在存儲(chǔ)器中定義的一個(gè)段,它可以在存儲(chǔ)器堆棧段是由段定義語(yǔ)句在存儲(chǔ)器中定義的一個(gè)段,它可以在存儲(chǔ)器lMBlMB空空間內(nèi)任意浮動(dòng),堆棧段容量小于等于間內(nèi)任意浮動(dòng),堆棧段容量小于等于64KB64KB,段基址由堆棧寄存器,段基址由堆棧寄存器SSSS指定,指定,棧頂由堆棧指針棧頂由堆棧指針SPSP指定,根據(jù)堆棧構(gòu)成方式不同,堆棧指針指定,根據(jù)堆棧構(gòu)成方式不同,堆棧指針SPSP指向的可以指向的可以是當(dāng)前棧頂單元,也可以是棧頂上的一個(gè)是當(dāng)前棧頂單元,也可以是棧頂上的一個(gè)“空空”單元,一般采用單元,

36、一般采用SPSP指向當(dāng)指向當(dāng)前棧頂單元。堆棧的地址增長(zhǎng)方式一般是向上增長(zhǎng),棧底設(shè)在存儲(chǔ)器的高前棧頂單元。堆棧的地址增長(zhǎng)方式一般是向上增長(zhǎng),棧底設(shè)在存儲(chǔ)器的高地址區(qū),堆棧地址由高向低增長(zhǎng)。地址區(qū),堆棧地址由高向低增長(zhǎng)。例:假如當(dāng)前例:假如當(dāng)前SSSSC000HC000H,堆棧段,堆棧段64KBSPSP。使。使SPSP指向新棧頂,然后將低位數(shù)據(jù)壓人指向新棧頂,然后將低位數(shù)據(jù)壓人(SP)(SP)單元,高位數(shù)據(jù)壓入單元,高位數(shù)據(jù)壓入(SP+1)(SP+1)單元。單元。當(dāng)執(zhí)行當(dāng)執(zhí)行POPPOP指令時(shí),指令時(shí),CPUCPU先將當(dāng)前棧頂先將當(dāng)前棧頂SP(SP(低位數(shù)據(jù)低位數(shù)據(jù)) )和和SP+1(SP+1(高

37、位數(shù)據(jù)高位數(shù)據(jù)) )中的中的內(nèi)容彈出,然后再自動(dòng)修改指針,使內(nèi)容彈出,然后再自動(dòng)修改指針,使SP+2SP+2SPSP,SPSP指向新棧頂。指向新棧頂。 上例中若上例中若AXAX3322H3322H,BXBX1100H1100H,CXCX6655H6655H,執(zhí)行指令,執(zhí)行指令PUSH AXPUSH AX,PUSH BXPUSH BX,再執(zhí)行指令,再執(zhí)行指令POP CXPOP CX,此時(shí)堆棧中內(nèi)容發(fā)生什么變化,此時(shí)堆棧中內(nèi)容發(fā)生什么變化,AXAX,BXBX,CXCX中的內(nèi)容是什么中的內(nèi)容是什么? ? 堆棧主要用于中斷及子程序調(diào)用堆棧主要用于中斷及子程序調(diào)用, ,也可用于數(shù)據(jù)暫時(shí)保存。在進(jìn)入中也可

38、用于數(shù)據(jù)暫時(shí)保存。在進(jìn)入中斷服務(wù)子程序和子程序調(diào)用前,原來(lái)斷服務(wù)子程序和子程序調(diào)用前,原來(lái)CPUCPU中現(xiàn)行信息中現(xiàn)行信息( (指令指針指令指針I(yè)PIP,及寄存,及寄存器中有關(guān)內(nèi)容器中有關(guān)內(nèi)容) )都必須保存,在中斷服務(wù)子程序和子程序調(diào)用結(jié)束返回主都必須保存,在中斷服務(wù)子程序和子程序調(diào)用結(jié)束返回主程序時(shí),又必須恢復(fù)原來(lái)保存的信息,這些均由堆棧操作來(lái)完成。其中指程序時(shí),又必須恢復(fù)原來(lái)保存的信息,這些均由堆棧操作來(lái)完成。其中指令指針的入棧和出棧由令指針的入棧和出棧由CPUCPU自動(dòng)管理,而一些寄存器中內(nèi)容的保存及返回,自動(dòng)管理,而一些寄存器中內(nèi)容的保存及返回,需要用戶自己利用指令需要用戶自己利用指

39、令PUSHPUSH、POPPOP來(lái)完成。由于堆棧操作的先進(jìn)后出的特來(lái)完成。由于堆棧操作的先進(jìn)后出的特點(diǎn),一定要注意兩點(diǎn):點(diǎn),一定要注意兩點(diǎn): 1)1)先進(jìn)入的內(nèi)容要后彈出,保證返回寄存器內(nèi)容先進(jìn)入的內(nèi)容要后彈出,保證返回寄存器內(nèi)容不發(fā)生錯(cuò)誤;不發(fā)生錯(cuò)誤;2) PUSH2) PUSH和和POPPOP的指令要成對(duì),若不匹配的話,會(huì)造成返回主的指令要成對(duì),若不匹配的話,會(huì)造成返回主程序的地址出錯(cuò)。程序的地址出錯(cuò)。2.4 80862.4 8086系統(tǒng)配置系統(tǒng)配置 根據(jù)使用目的不同,根據(jù)使用目的不同,8086/80888086/8088系統(tǒng)可以有最小模式和最大模式兩種系統(tǒng)可以有最小模式和最大模式兩種系統(tǒng)

40、配置方式,兩種方式的選擇不是由程序進(jìn)行控制的,而是由硬件設(shè)定系統(tǒng)配置方式,兩種方式的選擇不是由程序進(jìn)行控制的,而是由硬件設(shè)定的。當(dāng)?shù)?。?dāng)CPUCPU的引腳的引腳 端接高電平端接高電平+5V+5V時(shí),構(gòu)成最小模式,當(dāng)時(shí),構(gòu)成最小模式,當(dāng) 接低接低電平時(shí),構(gòu)成最大模式。最小模式為單機(jī)系統(tǒng),系統(tǒng)中所需要的控制信號(hào)電平時(shí),構(gòu)成最大模式。最小模式為單機(jī)系統(tǒng),系統(tǒng)中所需要的控制信號(hào)由由CPUCPU提供,實(shí)現(xiàn)和存儲(chǔ)器及提供,實(shí)現(xiàn)和存儲(chǔ)器及I/0I/0接口電路的連接。最大模式可以構(gòu)成多處接口電路的連接。最大模式可以構(gòu)成多處理器理器/ /協(xié)處理器系統(tǒng),即一個(gè)系統(tǒng)中存在兩個(gè)以上微處理器,每個(gè)處理器協(xié)處理器系統(tǒng),即

41、一個(gè)系統(tǒng)中存在兩個(gè)以上微處理器,每個(gè)處理器執(zhí)行自己的程序,常用的處理器有數(shù)值運(yùn)算協(xié)處理器執(zhí)行自己的程序,常用的處理器有數(shù)值運(yùn)算協(xié)處理器80878087,輸入,輸入/ /輸出處輸出處理器理器80898089。系統(tǒng)中所需要的控制信號(hào)由總線控制器。系統(tǒng)中所需要的控制信號(hào)由總線控制器82888288提供,提供,8086 CPU8086 CPU提提供信號(hào)控制供信號(hào)控制82888288,以實(shí)現(xiàn)全局資源分配及總線控制權(quán)傳遞。在兩種模式中,以實(shí)現(xiàn)全局資源分配及總線控制權(quán)傳遞。在兩種模式中,8086/8088CPU8086/8088CPU的的24243131引腳意義不同引腳意義不同, ,具體引腳說(shuō)明前面已經(jīng)敘述

42、過(guò)了。具體引腳說(shuō)明前面已經(jīng)敘述過(guò)了。一、最小模式系統(tǒng)一、最小模式系統(tǒng)在最小模式系統(tǒng)中,除了在最小模式系統(tǒng)中,除了8086CPU8086CPU,存儲(chǔ)器及,存儲(chǔ)器及I/OI/O接口芯片外,還要加入接口芯片外,還要加入: :1 1片片8284A8284A,作為時(shí)鐘發(fā)生器,作為時(shí)鐘發(fā)生器3 3片片8282/82838282/8283或或74L537374L5373,作為地址鎖存器,作為地址鎖存器2 2片片8286/82878286/8287或或74LS24574LS245,作為雙向數(shù)據(jù)總線收發(fā)器,作為雙向數(shù)據(jù)總線收發(fā)器才能配置成一個(gè)系統(tǒng)。才能配置成一個(gè)系統(tǒng)。 MXMN/MXMN/1.1.地址鎖存器地址

43、鎖存器8282/82838282/8283 CPU CPU與存儲(chǔ)器與存儲(chǔ)器( (或或I/OI/O端口端口) )進(jìn)行數(shù)據(jù)交換時(shí),進(jìn)行數(shù)據(jù)交換時(shí),CPUCPU首先要送出地址信號(hào),首先要送出地址信號(hào),然后再發(fā)出控制信號(hào)及傳送數(shù)據(jù)。由于然后再發(fā)出控制信號(hào)及傳送數(shù)據(jù)。由于80868086引腳限制,地址和數(shù)據(jù)分時(shí)復(fù)引腳限制,地址和數(shù)據(jù)分時(shí)復(fù)用一組總線,所以要加入地址鎖存器,先鎖存地址,使在讀用一組總線,所以要加入地址鎖存器,先鎖存地址,使在讀/ /寫(xiě)總線周期寫(xiě)總線周期內(nèi)地址穩(wěn)定。內(nèi)地址穩(wěn)定。8282/82838282/8283是三態(tài)緩沖的是三態(tài)緩沖的8 8位數(shù)據(jù)鎖存器,位數(shù)據(jù)鎖存器,82828282的輸入

44、和輸出的輸入和輸出信號(hào)是同相的,信號(hào)是同相的, 82838283的輸入和輸出信號(hào)反相。的輸入和輸出信號(hào)反相。 8282/82838282/8283在最小模式系在最小模式系統(tǒng)中作地址鎖存器用,統(tǒng)中作地址鎖存器用,2020位物理地址需要用位物理地址需要用3 3片。片。 2.2.雙向數(shù)據(jù)總線收發(fā)器雙向數(shù)據(jù)總線收發(fā)器8286/82878286/8287 8086CPU 8086CPU驅(qū)動(dòng)數(shù)據(jù)的負(fù)載能力有限,當(dāng)掛在數(shù)據(jù)總線上的部件增加時(shí),驅(qū)動(dòng)數(shù)據(jù)的負(fù)載能力有限,當(dāng)掛在數(shù)據(jù)總線上的部件增加時(shí),可以利用雙向數(shù)據(jù)總線收發(fā)器可以利用雙向數(shù)據(jù)總線收發(fā)器8286/82878286/8287來(lái)增加驅(qū)動(dòng)能力。來(lái)增加驅(qū)動(dòng)

45、能力。8286/82878286/8287是三是三態(tài)態(tài)8 8位雙向數(shù)據(jù)收發(fā)器,位雙向數(shù)據(jù)收發(fā)器,82868286數(shù)據(jù)輸入與輸出同相,數(shù)據(jù)輸入與輸出同相,82878287數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出反相。反相。 3.3.時(shí)鐘發(fā)生器時(shí)鐘發(fā)生器82848284 8088CPU 8088CPU的內(nèi)部和外部的時(shí)間基準(zhǔn)信號(hào)由時(shí)鐘輸入信號(hào)的內(nèi)部和外部的時(shí)間基準(zhǔn)信號(hào)由時(shí)鐘輸入信號(hào)CLKCLK提供,提供,CLKCLK信號(hào)是由外部時(shí)鐘發(fā)生器信號(hào)是由外部時(shí)鐘發(fā)生器82848284產(chǎn)生,并由驅(qū)動(dòng)門(mén)電路進(jìn)行功率放大。產(chǎn)生,并由驅(qū)動(dòng)門(mén)電路進(jìn)行功率放大。82848284時(shí)鐘時(shí)鐘發(fā)生器包括發(fā)生器包括3 3部分電路:部分電路:

46、 二、最大模式系統(tǒng)二、最大模式系統(tǒng) CPUCPU的引腳的引腳 接地時(shí),接地時(shí),80868086為最大模式系統(tǒng),在最大模式系統(tǒng)中需為最大模式系統(tǒng),在最大模式系統(tǒng)中需要增加總線控制器要增加總線控制器82888288和總線裁決器和總線裁決器82898289,以完成,以完成8086CPU8086CPU為中心的多處理為中心的多處理器系統(tǒng)的協(xié)調(diào)工作。此時(shí)器系統(tǒng)的協(xié)調(diào)工作。此時(shí)CPUCPU輸出的狀態(tài)信號(hào)輸出的狀態(tài)信號(hào) 同時(shí)送給同時(shí)送給82888288和和82898289,由由82888288輸出原輸出原CPUCPU所有的控制信號(hào):存儲(chǔ)器讀所有的控制信號(hào):存儲(chǔ)器讀/ /寫(xiě)控制,寫(xiě)控制,I/OI/O端口讀端口讀

47、/ /寫(xiě)控制,寫(xiě)控制,中斷響應(yīng)信號(hào)等。由中斷響應(yīng)信號(hào)等。由82898289來(lái)裁決總線使用權(quán)賦給哪個(gè)處理器,以實(shí)現(xiàn)多主控來(lái)裁決總線使用權(quán)賦給哪個(gè)處理器,以實(shí)現(xiàn)多主控者對(duì)總線資源的共享。者對(duì)總線資源的共享??偩€控制器總線控制器82888288 總線控制器總線控制器82888288是是2020個(gè)引腳的雙極型器件。個(gè)引腳的雙極型器件。8086CPU8086CPU的總線狀態(tài)信的總線狀態(tài)信號(hào)號(hào) 、 、 輸入總線控制器輸入總線控制器82888288后,由后,由82888288譯碼,并與輸入控制譯碼,并與輸入控制信號(hào)信號(hào) 、CENCEN、IOBIOB相配合,輸出一系列的總線命令和控制信號(hào)??偩€控相配合,輸出一

48、系列的總線命令和控制信號(hào)。總線控制器的跨接線使它能適應(yīng)于多主機(jī)系統(tǒng)總線及局部總線。制器的跨接線使它能適應(yīng)于多主機(jī)系統(tǒng)總線及局部總線。 2.5 8086CPU2.5 8086CPU時(shí)序時(shí)序 計(jì)算機(jī)工作過(guò)程是執(zhí)行指令的過(guò)程,計(jì)算機(jī)工作過(guò)程是執(zhí)行指令的過(guò)程,8086CPU8086CPU的操作是在時(shí)鐘脈沖的操作是在時(shí)鐘脈沖CLKCLK的統(tǒng)一控制下進(jìn)行的,的統(tǒng)一控制下進(jìn)行的,80868086的時(shí)鐘頻率為的時(shí)鐘頻率為5MHz5MHz,時(shí)鐘周期或,時(shí)鐘周期或T T狀態(tài)為狀態(tài)為200ns200ns。 MXMN/2S0S2S0S1SAEN 指令周期:執(zhí)行一條指令所需的時(shí)間稱(chēng)為指令周期。不同指令的指令指令周期:執(zhí)

49、行一條指令所需的時(shí)間稱(chēng)為指令周期。不同指令的指令周期的長(zhǎng)短是不同的,一個(gè)指令周期由幾個(gè)總線周期組成。周期的長(zhǎng)短是不同的,一個(gè)指令周期由幾個(gè)總線周期組成。 總線周期:總線周期:8086CPU8086CPU中,中,BIUBIU完成一次訪問(wèn)存儲(chǔ)器或完成一次訪問(wèn)存儲(chǔ)器或I/OI/O端口操作所需端口操作所需要的時(shí)間,稱(chēng)作一個(gè)總線周期。一個(gè)總線周期由幾個(gè)要的時(shí)間,稱(chēng)作一個(gè)總線周期。一個(gè)總線周期由幾個(gè)T T狀態(tài)組成。狀態(tài)組成。 時(shí)鐘周期:時(shí)鐘周期:CPUCPU的時(shí)鐘頻率的倒數(shù),也稱(chēng)的時(shí)鐘頻率的倒數(shù),也稱(chēng)T T狀態(tài)。狀態(tài)。 在在8086/8088CPU8086/8088CPU中,每個(gè)總線周期至少包含中,每個(gè)總

50、線周期至少包含4 4個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期(T1T4)(T1T4),一般情況下,在總線周期的一般情況下,在總線周期的T1T1狀態(tài)傳送地址,狀態(tài)傳送地址,T2T2T4T4狀態(tài)傳送數(shù)據(jù)。狀態(tài)傳送數(shù)據(jù)。80868086的主要操作時(shí)序有以下幾種:的主要操作時(shí)序有以下幾種: 一、系統(tǒng)的復(fù)位與啟動(dòng)一、系統(tǒng)的復(fù)位與啟動(dòng) 8086/8088CPU 8086/8088CPU通過(guò)通過(guò)RESETRESET引腳上的觸發(fā)引腳上的觸發(fā)信號(hào)來(lái)引起信號(hào)來(lái)引起80868086系統(tǒng)復(fù)位和啟動(dòng),復(fù)位信系統(tǒng)復(fù)位和啟動(dòng),復(fù)位信號(hào)號(hào)RESETRESET至少維持至少維持4 4個(gè)時(shí)鐘周期的高電平。個(gè)時(shí)鐘周期的高電平。當(dāng)當(dāng)RESETRESET信

51、號(hào)變成高電平時(shí),信號(hào)變成高電平時(shí),8086/8088CPU8086/8088CPU結(jié)束現(xiàn)行操作,各個(gè)內(nèi)部寄存器復(fù)位成初結(jié)束現(xiàn)行操作,各個(gè)內(nèi)部寄存器復(fù)位成初值,如右表所示:值,如右表所示: 其中代碼段寄存器其中代碼段寄存器CSCS為為FFFFHFFFFH,指令指,指令指針針I(yè)PIP清清0 0,所以,所以8086808680888088在復(fù)位之后重新在復(fù)位之后重新啟動(dòng)時(shí),從內(nèi)存的啟動(dòng)時(shí),從內(nèi)存的FFFFOHFFFFOH處開(kāi)始執(zhí)行指令。因此在處開(kāi)始執(zhí)行指令。因此在FFFF0FFFF0處存放了一條無(wú)條處存放了一條無(wú)條件轉(zhuǎn)移指令,轉(zhuǎn)移到系統(tǒng)引導(dǎo)程序的入口處,這樣系統(tǒng)啟動(dòng)后就自動(dòng)進(jìn)入件轉(zhuǎn)移指令,轉(zhuǎn)移到系統(tǒng)引導(dǎo)程序的入口處,這樣系統(tǒng)啟動(dòng)后就自動(dòng)進(jìn)入系統(tǒng)程序。在復(fù)位時(shí),由于標(biāo)志寄存器被清系統(tǒng)程序。在復(fù)位時(shí),由于標(biāo)志寄存器被清0 0,所有標(biāo)志位均為,所有標(biāo)志位均為0 0,這樣從,這樣從INTRINTR引腳進(jìn)入的可屏蔽中斷就被屏蔽了,因此在系統(tǒng)程序中要用開(kāi)中斷指引腳進(jìn)入的可屏蔽中斷就被屏蔽了,因此在系統(tǒng)程序中要用開(kāi)中斷指令令STISTI來(lái)設(shè)置中斷允許標(biāo)志。圖來(lái)設(shè)置中斷允許標(biāo)志。圖2 22222給出了給出了80868086復(fù)位操作時(shí)的時(shí)序。復(fù)位操作時(shí)的時(shí)序。 二、最小模式下的總線操作二、最小模式下的總線操作1.1.讀總線周期讀總線周期 一個(gè)最基本的讀總線周期包含一個(gè)最基本的讀總線周期包含4 4

溫馨提示

  • 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)論