第2章_微處理器與總線_第1頁
第2章_微處理器與總線_第2頁
第2章_微處理器與總線_第3頁
第2章_微處理器與總線_第4頁
第2章_微處理器與總線_第5頁
已閱讀5頁,還剩81頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、12第第2章章 節(jié)節(jié) 目目 錄錄l2.1 微處理器概述微處理器概述l2.2 8088/8086微處理器微處理器3l8088/8086 CPU的外部引線及其功能;的外部引線及其功能;l8088/8086 CPU的內(nèi)部邏輯結(jié)構(gòu)(的內(nèi)部邏輯結(jié)構(gòu)(EU/BIU););l8088/8086系統(tǒng)中存儲(chǔ)器的組織與尋址;系統(tǒng)中存儲(chǔ)器的組織與尋址;l堆棧的概念;堆棧的概念;l8088/8086的工作時(shí)序(讀的工作時(shí)序(讀/寫),總線周期;寫),總線周期;作業(yè)作業(yè)(P92):第第2,3,4,5,8,9,10題。題。小小 結(jié)結(jié)42.1 微處理器概述微處理器概述微處理器功能l算術(shù)運(yùn)算和邏輯運(yùn)算;算術(shù)運(yùn)算和邏輯運(yùn)算;l

2、對指令譯碼、寄存并執(zhí)行指令規(guī)定的操作;對指令譯碼、寄存并執(zhí)行指令規(guī)定的操作;l與存儲(chǔ)器、與存儲(chǔ)器、I/O接口數(shù)據(jù)通信;接口數(shù)據(jù)通信;l 少量數(shù)據(jù)暫存;少量數(shù)據(jù)暫存;l 提供定時(shí)和控制信號;提供定時(shí)和控制信號;l響應(yīng)響應(yīng)I/O設(shè)備發(fā)出的中斷。設(shè)備發(fā)出的中斷。5 2.1 微處理器概述微處理器概述運(yùn)算器組成:l算術(shù)邏輯單元(算術(shù)邏輯單元(ALU););l通用或?qū)S眉拇嫫鹘M;通用或?qū)S眉拇嫫鹘M;l內(nèi)部總線。內(nèi)部總線。62.1 微處理器概述微處理器概述控制器功能:l指令控制;指令控制;l時(shí)序控制;時(shí)序控制;l操作控制。操作控制??刂破鹘M成:l程序計(jì)數(shù)器;程序計(jì)數(shù)器;l指令寄存器;指令寄存器;l指令譯碼器

3、;指令譯碼器;l時(shí)序控制部件;時(shí)序控制部件;l微操作控制部件。微操作控制部件。7 2.2 8088微處理器微處理器l2.2.1 8088CPU概述概述 l2.2.2 8088CPU外部引線及功能外部引線及功能l2.2.3 8088CPU的內(nèi)部結(jié)構(gòu)和特點(diǎn)的內(nèi)部結(jié)構(gòu)和特點(diǎn)l2.2.4 8088的存儲(chǔ)器尋址的存儲(chǔ)器尋址l2.2.5 8088的工作時(shí)序的工作時(shí)序8CPU地址總線(地址總線(AB)RAMI/O接口接口I/O設(shè)備設(shè)備ROM數(shù)據(jù)總線(數(shù)據(jù)總線(DB)控制總線(控制總線(CB)9一、概述l8088、8086基本類似基本類似l16位CPU、AB寬度20位l差別:差別:l指令預(yù)取隊(duì)列:8088為4

4、字節(jié),8086為6字節(jié)l數(shù)據(jù)總線引腳:8088有8根,8086有16根l8088為準(zhǔn)為準(zhǔn)16位位CPU,內(nèi)部,內(nèi)部DB為為16位,但外部僅為位,但外部僅為8位,位,16位數(shù)據(jù)要分兩次傳送。位數(shù)據(jù)要分兩次傳送。l指令系統(tǒng)完全相同,芯片內(nèi)部邏輯結(jié)構(gòu)、芯片引指令系統(tǒng)完全相同,芯片內(nèi)部邏輯結(jié)構(gòu)、芯片引腳有個(gè)別差異。腳有個(gè)別差異。1011指令預(yù)取隊(duì)列(IPQ)指令的一般執(zhí)行過程:指令的一般執(zhí)行過程: 取指令取指令 指令譯碼指令譯碼 讀取操作數(shù)讀取操作數(shù) 執(zhí)行指令執(zhí)行指令 存放結(jié)果存放結(jié)果12串行工作方式:l8088之前的之前的CPU采用串行工作方式:采用串行工作方式:取指令1執(zhí)行1取操作數(shù)2執(zhí)行2CPU

5、BUS忙碌忙碌忙碌忙碌存結(jié)果1取指令21)CPU執(zhí)行指令時(shí)總線處于空閑狀態(tài)執(zhí)行指令時(shí)總線處于空閑狀態(tài)2)CPU存取數(shù)據(jù)或指令時(shí)要等待總線存取數(shù)據(jù)或指令時(shí)要等待總線缺點(diǎn)缺點(diǎn):CPU無法全速運(yùn)行無法全速運(yùn)行解決解決:總線空閑時(shí)預(yù)取指令,使:總線空閑時(shí)預(yù)取指令,使CPU減少等待。減少等待。13并行工作方式:l8088CPU采用并行工作方式采用并行工作方式取指令2 取操作數(shù)BIU存結(jié)果取指令3 取操作數(shù) 取指令4執(zhí)行1執(zhí)行2執(zhí)行3 EUBUS忙碌忙碌忙碌忙碌忙碌忙碌148088的流水線操作的流水線操作l8088 CPU包括兩大部分:包括兩大部分:EU和和BIUlBIU不斷地從存儲(chǔ)器取指令送入不斷地從存

6、儲(chǔ)器取指令送入IPQ,EU不斷不斷地從地從IPQ取出指令執(zhí)行取出指令執(zhí)行l(wèi)EU和和BIU構(gòu)成了一個(gè)簡單的構(gòu)成了一個(gè)簡單的2工位流水線工位流水線l指令預(yù)取隊(duì)列指令預(yù)取隊(duì)列IPQ是實(shí)現(xiàn)流水線操作的關(guān)鍵(類是實(shí)現(xiàn)流水線操作的關(guān)鍵(類似于工廠流水線的傳送帶)似于工廠流水線的傳送帶)l新型新型CPU將一條指令劃分成更多的階段,以便可將一條指令劃分成更多的階段,以便可以同時(shí)執(zhí)行更多的指令以同時(shí)執(zhí)行更多的指令l PIII為為14個(gè)階段,個(gè)階段,P4為為20個(gè)階段個(gè)階段(超級流水線超級流水線)15結(jié)論l指令預(yù)取隊(duì)列的存在使指令預(yù)取隊(duì)列的存在使EU和和BIU兩個(gè)部兩個(gè)部分可同時(shí)進(jìn)行工作,從而分可同時(shí)進(jìn)行工作,從

7、而l提高了CPU的效率;l降低了對存儲(chǔ)器存取速度的要求168088CPU的兩種工作模式(一)最小模式(一)最小模式 也稱也稱“單處理器系統(tǒng)單處理器系統(tǒng)”,即在系統(tǒng)中只有一個(gè),即在系統(tǒng)中只有一個(gè)8086處理器,全部的系統(tǒng)總線信號均由處理器,全部的系統(tǒng)總線信號均由8086直接產(chǎn)直接產(chǎn)生生。 總線控制邏輯減到最少,故稱最小模式??偩€控制邏輯減到最少,故稱最小模式。(二)最大模式(二)最大模式 也稱也稱“多處理器系統(tǒng)多處理器系統(tǒng)”,即系統(tǒng)中包含兩個(gè)或,即系統(tǒng)中包含兩個(gè)或多多 個(gè)處理器,其中一個(gè)為主處理器個(gè)處理器,其中一個(gè)為主處理器8086,其他,其他的處理器為的處理器為“協(xié)處理器協(xié)處理器”(COPro

8、cessor)。)。17 通常和通常和8086配合使用的協(xié)處理器配合使用的協(xié)處理器1、數(shù)值運(yùn)算協(xié)處理器數(shù)值運(yùn)算協(xié)處理器8087 用硬件方法實(shí)現(xiàn)數(shù)值計(jì)算,如浮點(diǎn)運(yùn)算、用硬件方法實(shí)現(xiàn)數(shù)值計(jì)算,如浮點(diǎn)運(yùn)算、 高精度整數(shù)運(yùn)算、三角函數(shù)、對數(shù)運(yùn)算等,高精度整數(shù)運(yùn)算、三角函數(shù)、對數(shù)運(yùn)算等, 提高系統(tǒng)的運(yùn)算速度。提高系統(tǒng)的運(yùn)算速度。2、輸入輸入/輸出協(xié)處理器輸出協(xié)處理器8089 可以直接為輸入可以直接為輸入/輸出設(shè)備服務(wù),使輸出設(shè)備服務(wù),使 8086/8088不再承擔(dān)這些工作。提高主不再承擔(dān)這些工作。提高主CPU 的效率,尤其在輸入的效率,尤其在輸入/輸出應(yīng)用較多的場合。輸出應(yīng)用較多的場合。188088在最

9、小模式下的典型配置在最小模式下的典型配置 8284A地址總線(地址總線(20根)根)READYRESETALEA19 A8AD7AD0地址地址鎖存儲(chǔ)器鎖存儲(chǔ)器8282(三片)(三片)DENDT/RIO/MWRRDHOLDHLDAINTRINTACLK收發(fā)器收發(fā)器8286(一片)(一片)數(shù)據(jù)總線(數(shù)據(jù)總線(8根)根)控制總線控制總線READYRESET8088MN/MX+5VA0 A19D0 D7198086在最小模式下的典型配置在最小模式下的典型配置 8284A地址總線(地址總線(20根)根)READYRESETALEBHE/A19 A16AD15AD0地址地址鎖存儲(chǔ)器鎖存儲(chǔ)器8282(三片)

10、(三片)BHEDENDT/RM/IOWRRDHOLDHLDAINTRINTACLK收發(fā)器收發(fā)器8286(兩片)(兩片)數(shù)據(jù)總線(數(shù)據(jù)總線(16根)根)控制總線控制總線READYRESET8086MN/MX+5VA0 A19D0 D15208086最大模式下的典型配置最大模式下的典型配置 80868282鎖存儲(chǔ)器鎖存儲(chǔ)器(三片)(三片)8286收發(fā)器收發(fā)器(2片)片)8288總線總線控制器控制器READYRESET8284ARESETREADYBHE/A16A19AD0AD15S0/S1/S2/CLKMN/MX0DENDT/RA0 A19D0 D15ALESTBBHE/OE TMRDC/MWTC

11、/IORC/IOWC/INTA/ALE。DEN。DT/R控制控制總線總線S0S1S221DBABINTRDWRIO/MINTACB22二、8088 CPU的引腳及功能引腳定義的一般方法:引腳定義的一般方法:l每個(gè)引腳只傳送一種信息(每個(gè)引腳只傳送一種信息(RD等);等);l引腳電平的高低不同的信號(引腳電平的高低不同的信號(IO/M等);等);lCPU工作于不同方式有不同的名稱和定義工作于不同方式有不同的名稱和定義(WR/LOCK 等);等);l分時(shí)復(fù)用引腳(分時(shí)復(fù)用引腳(AD7 AD0 等)等) ;l引腳的輸入和輸出分別傳送不同的信息引腳的輸入和輸出分別傳送不同的信息 (RQ/GT0等)。等

12、)。23引腳對比圖地地AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地地Vcc(5V)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086Vcc(5V)A15A16/S3A17/S4A18/S5A19/S6SS0(HIGH)MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)IO/M(S2

13、)DT/R(S1)DEN (S0)ALE(QS0)INTA(QS1)TESTREADYRESET8088地地A14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地地24主要引線(最小模式下)l8088是工作在最小還是最大模式由是工作在最小還是最大模式由MN/MX端狀態(tài)端狀態(tài)決定:決定:MN/MX=0時(shí)工作于最大模式,反之工作于時(shí)工作于最大模式,反之工作于最小模式。最小模式。l數(shù)據(jù)信號線數(shù)據(jù)信號線(DB)與地址信號線與地址信號線(AB):lAD7AD0:三態(tài),地址三態(tài),地址/數(shù)據(jù)復(fù)用線。數(shù)據(jù)復(fù)用線。ALE有效時(shí)為地有效時(shí)為地 址的低址的低8位

14、。地址信號有效時(shí)為輸出,傳送數(shù)據(jù)信號時(shí)為位。地址信號有效時(shí)為輸出,傳送數(shù)據(jù)信號時(shí)為雙向。雙向。lA19A16:三態(tài),輸出。高三態(tài),輸出。高4位地址信號,與狀態(tài)信號位地址信號,與狀態(tài)信號S6 S3分時(shí)復(fù)用。分時(shí)復(fù)用。lA15A8 :三態(tài),輸出。輸出三態(tài),輸出。輸出8位地址信號位地址信號;(8086 AD15AD8) 。25l 地址地址/狀態(tài)復(fù)用線狀態(tài)復(fù)用線A16/S3A19 /S6l S6=0表示表示CPU正與總線相連;正與總線相連;l S5指示中斷允許標(biāo)志位指示中斷允許標(biāo)志位IF的狀態(tài)。的狀態(tài)。l S3,S4組合表示段寄存器的使用。組合表示段寄存器的使用。S4 S3段寄存器使用情況段寄存器使用

15、情況0 0 0 1 1 0 1 1 當(dāng)前正在使用當(dāng)前正在使用ES當(dāng)前正在使用當(dāng)前正在使用SS當(dāng)前正在使用當(dāng)前正在使用CS,或未用任何段寄存器或未用任何段寄存器當(dāng)前正在使用當(dāng)前正在使用DS26主要的控制和狀態(tài)信號IO/MRDWR數(shù)據(jù)傳輸方式數(shù)據(jù)傳輸方式101I/O讀讀110I/O寫寫001存儲(chǔ)器讀存儲(chǔ)器讀010存儲(chǔ)器寫存儲(chǔ)器寫l例例: 當(dāng)當(dāng)WR=1,RD=0,IO/M=0時(shí),表示時(shí),表示CPU當(dāng)當(dāng)前正在進(jìn)行前正在進(jìn)行讀讀存儲(chǔ)器存儲(chǔ)器操作。操作。27 ALE(Address latch Enable):地址鎖存允許信號,地址鎖存允許信號,輸出,高電平有效。輸出,高電平有效。 由于一部分地址線和數(shù)據(jù)

16、線由于一部分地址線和數(shù)據(jù)線采用分時(shí)復(fù)用采用分時(shí)復(fù)用。在在總線周期總線周期T1時(shí),總線上先傳送地址,接著傳送數(shù)據(jù)時(shí),總線上先傳送地址,接著傳送數(shù)據(jù)。但在一般情況下,存儲(chǔ)器或但在一般情況下,存儲(chǔ)器或I/O接口電路,要接口電路,要求在整個(gè)總線周期內(nèi)求在整個(gè)總線周期內(nèi)保持穩(wěn)定的地址信息保持穩(wěn)定的地址信息。這樣,。這樣,就需要將這些地址信息保存起來。就需要將這些地址信息保存起來。在總線周期的在總線周期的T1狀態(tài),狀態(tài),ALE信號有效信號有效。 與與8086/8088配套的配套的鎖存器電路鎖存器電路為為8282/8283,用用ALE做鎖存允許信號。做鎖存允許信號。28 DEN(Data Enable):數(shù)

17、據(jù)允許,輸出,三態(tài),低電平數(shù)據(jù)允許,輸出,三態(tài),低電平有效有效 作為總線收發(fā)器作為總線收發(fā)器(8286/8287數(shù)據(jù)總線驅(qū)動(dòng)器數(shù)據(jù)總線驅(qū)動(dòng)器)的的控制信號??刂菩盘?。 DT/R(Data Transmit/Receive):數(shù)據(jù)發(fā)送數(shù)據(jù)發(fā)送/接收控制,接收控制,輸出,三態(tài)輸出,三態(tài) 在使用在使用Intel 8286 /8287 8位雙向總線驅(qū)動(dòng)器時(shí),位雙向總線驅(qū)動(dòng)器時(shí),控制其傳輸數(shù)據(jù)的方向??刂破鋫鬏敂?shù)據(jù)的方向。 DT/R=1: CPU發(fā)送數(shù)據(jù)(向存儲(chǔ)器或發(fā)送數(shù)據(jù)(向存儲(chǔ)器或I/O端口)端口) DT/R=0: CPU接收數(shù)據(jù)接收數(shù)據(jù) 在在DMA方式時(shí),被置為高阻狀態(tài)。方式時(shí),被置為高阻狀態(tài)。2

18、9主要的控制和狀態(tài)信號IO/MDT/RSS0數(shù)據(jù)總線操作數(shù)據(jù)總線操作100發(fā)中斷響應(yīng)信號發(fā)中斷響應(yīng)信號101讀讀I/O端口端口110寫寫I/O端口端口111暫停暫停000取指令取指令001讀內(nèi)存讀內(nèi)存010寫內(nèi)存寫內(nèi)存011無源狀態(tài)無源狀態(tài)30l 高高8位數(shù)據(jù)允許位數(shù)據(jù)允許/狀態(tài)狀態(tài)BHE/S7(BUS High Enable/Status)復(fù)用引腳復(fù)用引腳8086有有16條數(shù)據(jù)線,可用條數(shù)據(jù)線,可用低低8位位傳送一個(gè)傳送一個(gè)字節(jié)字節(jié),也可用也可用高高8位位傳送一個(gè)傳送一個(gè)字節(jié)字節(jié),還可用高,還可用高8位和低位和低8位一位一起傳送一個(gè)起傳送一個(gè)字字(16位)。位)。BHE和和A0就是用來區(qū)分這

19、就是用來區(qū)分這幾類傳輸?shù)?。幾類傳輸?shù)摹 對對8088來說,因?yàn)橹挥衼碚f,因?yàn)橹挥?位數(shù)據(jù)線,因此不需要位數(shù)據(jù)線,因此不需要BHE,而定義為而定義為SS0。31主要的控制和狀態(tài)信號復(fù)位后復(fù)位后CPU內(nèi)部寄存器被設(shè)為初值如下:內(nèi)部寄存器被設(shè)為初值如下:寄存器名稱寄存器名稱 寄存器狀態(tài)寄存器狀態(tài)標(biāo)志寄存器(標(biāo)志寄存器(FR) 清零清零指令指針寄存器(指令指針寄存器(IP) 0000HCS寄存器寄存器 FFFFHDS寄存器寄存器 0000HSS寄存器寄存器 0000HES寄存器寄存器 0000H指令隊(duì)列指令隊(duì)列 空空其他寄存器其他寄存器 0000H32l“準(zhǔn)備好準(zhǔn)備好”信號信號Ready,輸入,輸入

20、檢測存儲(chǔ)器或外設(shè)是否準(zhǔn)備好數(shù)據(jù)傳輸。檢測存儲(chǔ)器或外設(shè)是否準(zhǔn)備好數(shù)據(jù)傳輸。 T1 T2 T3 Tw T4CLKREADYREADY信號用于協(xié)調(diào)信號用于協(xié)調(diào)CPU與存儲(chǔ)器、與存儲(chǔ)器、I/O接接口之間的速度差異,由存儲(chǔ)器或口之間的速度差異,由存儲(chǔ)器或I/O接口發(fā)出。接口發(fā)出。33中斷請求和響應(yīng)信號lINTR:輸入,可屏蔽中斷請求輸入端。輸入,可屏蔽中斷請求輸入端。 高:有高:有INTR中斷請求中斷請求lNMI:輸入,非屏蔽中斷請求輸入端。輸入,非屏蔽中斷請求輸入端。 低低高,有高,有NMI中斷請求中斷請求lINTA:輸出,對輸出,對INTR信號的響應(yīng)。信號的響應(yīng)。34總線保持信號總線保持信號lHOL

21、D:總線保持請求信號輸入端。當(dāng)總線保持請求信號輸入端。當(dāng)CPU 以外的其他設(shè)備要求占用總線時(shí),以外的其他設(shè)備要求占用總線時(shí), 通過該引腳向通過該引腳向CPU發(fā)出請求。發(fā)出請求。lHLDA:輸出,對輸出,對HOLD信號的響應(yīng)。為高信號的響應(yīng)。為高 電平時(shí),表示電平時(shí),表示CPU已放棄總線控制已放棄總線控制 權(quán),所有三態(tài)信號線均變?yōu)楦咦锠顧?quán),所有三態(tài)信號線均變?yōu)楦咦锠?態(tài)。態(tài)。35 T1 T2 T3 T4CLKHOLD HODAAD15AD0 , A19/S6A16/S3CPU放棄總線控制權(quán)三態(tài)WR,RD,如如DMA方式方式3680868087TESTBUSY+5V*8087Math. CO-Pr

22、ocessor TEST:測試信號,輸入,測試信號,輸入,低電平有效。低電平有效。l在多處理器環(huán)境中,例如具在多處理器環(huán)境中,例如具有協(xié)處理器有協(xié)處理器8087的系統(tǒng)中,的系統(tǒng)中,將將8087的的“BUSY”接至主處接至主處理器理器8088的的TEST,每當(dāng)每當(dāng)8088執(zhí)行執(zhí)行WAIT指令時(shí),每指令時(shí),每隔個(gè)時(shí)鐘周期采樣隔個(gè)時(shí)鐘周期采樣TEST信號,直至信號,直至TEST變?yōu)榈碗娮優(yōu)榈碗娖?,平?088才脫離等待狀態(tài),才脫離等待狀態(tài),繼續(xù)執(zhí)行下一條指令。繼續(xù)執(zhí)行下一條指令。lTEST信號是為信號是為WAIT指令指令而設(shè)計(jì)的。而設(shè)計(jì)的。37其他信號CLK(clock):時(shí)鐘引腳,輸入。時(shí)鐘引腳,

23、輸入。8086/8088要求始要求始終的占空比為終的占空比為33%。8086/8088的標(biāo)準(zhǔn)時(shí)鐘頻率為的標(biāo)準(zhǔn)時(shí)鐘頻率為4.77MHZ。l VCC,+5V電源輸入引腳。電源輸入引腳。l GND,地線。,地線。388088在最小模式下的典型配置在最小模式下的典型配置 8284A地址總線(地址總線(20根)根)READYRESETALEA19 A8AD7AD0地址地址鎖存儲(chǔ)器鎖存儲(chǔ)器8282(三片)(三片)DENDT/RIO/MWRRDHOLDHLDAINTRINTACLK收發(fā)器收發(fā)器8286(一片)(一片)數(shù)據(jù)總線(數(shù)據(jù)總線(8根)根)控制總線控制總線READYRESET8088MN/MX+5VA

24、0 A19D0 D739地址鎖存器地址鎖存器8282 (74LS373)引腳及內(nèi)部結(jié)構(gòu)圖引腳及內(nèi)部結(jié)構(gòu)圖DQCLKDI0DO0STBOE。DI7DO7接接ALE接地接地40總線驅(qū)動(dòng)器總線驅(qū)動(dòng)器8286 (74LS245)引腳及內(nèi)部結(jié)構(gòu)圖)引腳及內(nèi)部結(jié)構(gòu)圖接接DENA0 B0。OET A1A7。 B1 B7。接接DT/R 8286128911121819 1 1418284A時(shí)鐘發(fā)生器時(shí)鐘發(fā)生器RESETREADYCLKOSCPCLKRESRDY1+5V等待電路等待電路14.31818MHZRESETREADYCLK14.318MHZ2.385MHZ8086/80884.77MHZ8284A42

25、8086最大模式下的典型配置最大模式下的典型配置 80868282鎖存儲(chǔ)器鎖存儲(chǔ)器(三片)(三片)8286收發(fā)器收發(fā)器(2片)片)8288總線總線控制器控制器READYRESET8284ARESETREADYBHE/A16A19AD0AD15S0/S1/S2/CLKMN/MX0DENDT/RA0 A19D0 D15ALESTBBHE/OE TMRDC/MWTC/IORC/IOWC/INTA/ALE。DEN。DT/R控制控制總線總線S0S1S2431234567891020191817161514131211IOBCLKS1DT/RALEAENMRDCAMWTCMWTCGNDVCCS0S2MCE

26、/PDENDENCENINTAIORCAIOWCIOWC8288引腳圖引腳圖地地AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地地Vcc(5V)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRD (無功能)無功能)HOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET808644三、三、8088CPU的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)l8088內(nèi)部由兩部分組成:內(nèi)部由兩部分組成: 執(zhí)行單

27、元(執(zhí)行單元(EU) 總線接口單元(總線接口單元(BIU)45 8086/8088微處理器結(jié)構(gòu)微處理器結(jié)構(gòu) AH ALBH BLCH CLDH DLSPBPDISI通通 用用 寄寄 存存 器器AXBXCXDXALU數(shù)據(jù)總線(數(shù)據(jù)總線(16位)位)運(yùn)算寄存器運(yùn)算寄存器ALU標(biāo)志寄存器標(biāo)志寄存器EU 控控制電路制電路執(zhí)行部件執(zhí)行部件EUCSDSSSESIP內(nèi)部暫存器內(nèi)部暫存器1 2 3 4 5 6數(shù)據(jù)總線數(shù)據(jù)總線 輸入輸入/輸輸出出 控制控制電路電路地址總線地址總線20位位指令隊(duì)列緩沖器指令隊(duì)列緩沖器80888086Q總線總線(8位)位)指令指針指令指針段寄存器段寄存器外部外部總線總線總線接口部件

28、總線接口部件BIU地址加法器地址加法器46執(zhí)行單元EUl功能功能: 執(zhí)行指令執(zhí)行指令 從指令隊(duì)列中從指令隊(duì)列中取指令代碼取指令代碼 譯碼譯碼 在在ALU中完成數(shù)據(jù)的運(yùn)算中完成數(shù)據(jù)的運(yùn)算 運(yùn)算結(jié)果運(yùn)算結(jié)果 的特征保存在標(biāo)志寄存器的特征保存在標(biāo)志寄存器FLAGS中。中。47執(zhí)行單元EU組成 1、算術(shù)邏輯單元、算術(shù)邏輯單元ALU(運(yùn)算器)運(yùn)算器) 2、8個(gè)寄存器個(gè)寄存器 (1)數(shù)據(jù)寄存器()數(shù)據(jù)寄存器(AX,BX,CX,DX) (2)地址指針寄存器()地址指針寄存器(SP,BP) (3)變址寄存器()變址寄存器(SI,DI) 3、標(biāo)志寄存器、標(biāo)志寄存器FLAGS 4、EU部分控制電路部分控制電路48

29、總線接口單元BIUl功能:功能:l從內(nèi)存中取從內(nèi)存中取指令指令送入指令預(yù)取隊(duì)列送入指令預(yù)取隊(duì)列l(wèi)負(fù)責(zé)與內(nèi)存或輸入負(fù)責(zé)與內(nèi)存或輸入/輸出接口之間的輸出接口之間的數(shù)據(jù)數(shù)據(jù)傳送傳送l在執(zhí)行轉(zhuǎn)移程序時(shí),在執(zhí)行轉(zhuǎn)移程序時(shí),BIU使指令預(yù)取隊(duì)列使指令預(yù)取隊(duì)列復(fù)位,從指定的新地址取指令,并立即傳復(fù)位,從指定的新地址取指令,并立即傳給執(zhí)行單元執(zhí)行給執(zhí)行單元執(zhí)行。49l組成:組成: 1、用于存放邏輯段的、用于存放邏輯段的段基地址寄存器段基地址寄存器。lCS:代碼段代碼段寄存器,用于存放指令代碼寄存器,用于存放指令代碼lDS:數(shù)據(jù)段數(shù)據(jù)段寄存器寄存器 lES:附加段附加段寄存器,寄存器,數(shù)據(jù)段和附加段用來存放數(shù)據(jù)

30、段和附加段用來存放 操作數(shù)操作數(shù)lSS:堆棧段堆棧段寄存器,用于存放返回地址,保存寄存器,用于存放返回地址,保存寄存器內(nèi)容,傳遞參數(shù)等。寄存器內(nèi)容,傳遞參數(shù)等??偩€接口單元BIU組成組成502、IP:指令指針寄存器指令指針寄存器3、20位的地址加法器位的地址加法器4、字節(jié)(或字節(jié))的指令隊(duì)列、字節(jié)(或字節(jié))的指令隊(duì)列l(wèi)特點(diǎn):特點(diǎn):1、具有流水線技術(shù)具有流水線技術(shù),8086指令隊(duì)列為指令隊(duì)列為6字節(jié),字節(jié),8088為為4字節(jié)。字節(jié)。 2、地址加法器用來產(chǎn)生地址加法器用來產(chǎn)生20位地址位地址。因?yàn)?。因?yàn)?086 有有20根地址線,可尋址根地址線,可尋址1M空間,但寄存器為空間,但寄存器為16位,所

31、以需要一個(gè)附加機(jī)構(gòu)來根據(jù)位,所以需要一個(gè)附加機(jī)構(gòu)來根據(jù)16位寄位寄存器提供的數(shù)據(jù)計(jì)算出存器提供的數(shù)據(jù)計(jì)算出20位的地址。位的地址。51l指令隊(duì)列說明指令隊(duì)列說明1、當(dāng)、當(dāng)8086指令隊(duì)列有指令隊(duì)列有2個(gè)字節(jié),或者個(gè)字節(jié),或者8088的指令隊(duì)列的指令隊(duì)列有有1個(gè)空字節(jié)時(shí),個(gè)空字節(jié)時(shí),BIU會(huì)自動(dòng)把指令取到指令隊(duì)列中。會(huì)自動(dòng)把指令取到指令隊(duì)列中。2、當(dāng)、當(dāng)EU準(zhǔn)備執(zhí)行一條指令準(zhǔn)備執(zhí)行一條指令時(shí),會(huì)從時(shí),會(huì)從BIU的指令隊(duì)列的指令隊(duì)列前部取出指令的代碼,然后執(zhí)行。前部取出指令的代碼,然后執(zhí)行。在在執(zhí)行指令的過程執(zhí)行指令的過程中,如果必須訪問存儲(chǔ)器或者中,如果必須訪問存儲(chǔ)器或者輸入輸出設(shè)備,輸入輸出設(shè)

32、備,EU就會(huì)就會(huì)請求請求BIU,進(jìn)入總線周期,進(jìn)入總線周期,完成訪問內(nèi)存或者輸入輸出端口的操作:完成訪問內(nèi)存或者輸入輸出端口的操作:l 如果如果BIU空閑,就會(huì)立即響應(yīng)空閑,就會(huì)立即響應(yīng)EU的總線請求。的總線請求。l 如果如果BIU正忙,正忙,BIU將首先完成當(dāng)前總線周期,將首先完成當(dāng)前總線周期,再去響應(yīng)再去響應(yīng)EU發(fā)出的訪問總線的請求。發(fā)出的訪問總線的請求。523、當(dāng)指令隊(duì)列已滿,而且執(zhí)行部件又沒有、當(dāng)指令隊(duì)列已滿,而且執(zhí)行部件又沒有 總線訪問時(shí),總線接口部件便進(jìn)入總線訪問時(shí),總線接口部件便進(jìn)入空閑狀態(tài)空閑狀態(tài)。、總線接口部件往指令隊(duì)列、總線接口部件往指令隊(duì)列裝入指令裝入指令時(shí),總時(shí),總是是

33、按順序進(jìn)行按順序進(jìn)行的。在執(zhí)行的。在執(zhí)行轉(zhuǎn)移轉(zhuǎn)移指令、指令、調(diào)用調(diào)用指令指令和和返回返回指令時(shí),指令隊(duì)列中己經(jīng)裝入的字節(jié)就指令時(shí),指令隊(duì)列中己經(jīng)裝入的字節(jié)就沒用了,將被沒用了,將被自動(dòng)消除自動(dòng)消除,總線接口部件會(huì)接著,總線接口部件會(huì)接著往指令隊(duì)列中裝入另一個(gè)程序段中的指令。往指令隊(duì)列中裝入另一個(gè)程序段中的指令。538088/8086的內(nèi)部寄存器l含含14個(gè)個(gè)16位寄存器,按功能可分為:位寄存器,按功能可分為:l數(shù)據(jù)寄存器(數(shù)據(jù)寄存器(AX,BX,CX,DX)l地址指針寄存器(地址指針寄存器(SP,BP)l變址寄存器(變址寄存器(SI,DI)l8個(gè)通用寄存器l4個(gè)段寄存器l2個(gè)控制寄存器通用寄存

34、器與存儲(chǔ)器的區(qū)別?54數(shù)據(jù)寄存器AX、BX、CX、DXl 8088含含4個(gè)個(gè)16位數(shù)據(jù)寄存器,它們又可分為位數(shù)據(jù)寄存器,它們又可分為8個(gè)個(gè)8位寄存器,即:位寄存器,即:l AX AH,ALl BX BH,BLl CX CH,CLl DX DH,DL常用來存放參與運(yùn)算的操作數(shù)或運(yùn)算結(jié)果常用來存放參與運(yùn)算的操作數(shù)或運(yùn)算結(jié)果55數(shù)據(jù)寄存器特有的習(xí)慣用法lAX:累加器累加器。多用于存放中間運(yùn)算結(jié)果。所有。多用于存放中間運(yùn)算結(jié)果。所有 I/O指令必須都通過指令必須都通過AX與接口傳送信息;與接口傳送信息;lBX:基址寄存器基址寄存器。在間接尋址中用于存放基地址;。在間接尋址中用于存放基地址;lCX:計(jì)數(shù)

35、寄存器計(jì)數(shù)寄存器。用于在。用于在循環(huán)循環(huán)或或串操作指令串操作指令中存中存 放循環(huán)次數(shù)或重復(fù)次數(shù);放循環(huán)次數(shù)或重復(fù)次數(shù);lDX:數(shù)據(jù)寄存器數(shù)據(jù)寄存器。在。在32位乘除法運(yùn)算時(shí),存放位乘除法運(yùn)算時(shí),存放 高高16位數(shù);在間接尋址的位數(shù);在間接尋址的I/O指令中存放指令中存放 I/O端口地址。端口地址。56地址指針寄存器lSP:堆棧指針寄存器堆棧指針寄存器,其內(nèi)容為棧頂?shù)?,其?nèi)容為棧頂?shù)?偏移地址;偏移地址;lBP:基址指針寄存器基址指針寄存器,常用于在訪問內(nèi),常用于在訪問內(nèi) 存時(shí)存放內(nèi)存單元的存時(shí)存放內(nèi)存單元的偏移地址。偏移地址。57BX與BP在應(yīng)用上的區(qū)別l作為通用寄存器,二者均可用于存放數(shù)據(jù);

36、作為通用寄存器,二者均可用于存放數(shù)據(jù);l作為基址寄存器,作為基址寄存器,BX通常用于尋址通常用于尋址數(shù)據(jù)數(shù)據(jù)段段;BP則通常用于尋址則通常用于尋址堆棧段堆棧段。lBX一般與一般與DS或或ES搭配使用;搭配使用; lBP一般與一般與SS搭配使用。搭配使用。58變址寄存器lSI:源變址寄存器源變址寄存器lDI:目標(biāo)變址寄存器目標(biāo)變址寄存器l變址寄存器常用于指令的間接尋址或變變址寄存器常用于指令的間接尋址或變址尋址。特別是在址尋址。特別是在串操作指令串操作指令中,用中,用SI存放源操作數(shù)的偏移地址,而用存放源操作數(shù)的偏移地址,而用DI存放存放目標(biāo)操作數(shù)的偏移地址。目標(biāo)操作數(shù)的偏移地址。59控制寄存器

37、FLAGS60l標(biāo)志寄存器的格式及各位的含義標(biāo)志寄存器的格式及各位的含義1514131211109876543210OFDFIFTFSFZFAFPFCF方向標(biāo)志方向標(biāo)志中斷標(biāo)志中斷標(biāo)志跟蹤標(biāo)志跟蹤標(biāo)志(Trace Flag)進(jìn)位標(biāo)志進(jìn)位標(biāo)志奇偶標(biāo)志奇偶標(biāo)志半進(jìn)位標(biāo)志半進(jìn)位標(biāo)志零標(biāo)志零標(biāo)志符號標(biāo)志符號標(biāo)志溢出標(biāo)志溢出標(biāo)志61l 零標(biāo)志零標(biāo)志ZF(Zero Flag):):若運(yùn)算結(jié)果為若運(yùn)算結(jié)果為0,則,則 ZF1;否則否則ZF0。l進(jìn)位標(biāo)志進(jìn)位標(biāo)志CF(Carry Flag):):若最高位有進(jìn)若最高位有進(jìn)(借借)位位,則則 CF1;否則否則CF0。l 奇偶標(biāo)志奇偶標(biāo)志PF(Parity Flag

38、):):若運(yùn)算結(jié)果若運(yùn)算結(jié)果中中“1”的個(gè)數(shù)為的個(gè)數(shù)為偶數(shù)偶數(shù),則,則PF1;否則否則PF0。l 符號標(biāo)志符號標(biāo)志SF(Sign Flag):):與運(yùn)算結(jié)果與運(yùn)算結(jié)果的最高的最高位位相同,當(dāng)數(shù)據(jù)用補(bǔ)碼時(shí),負(fù)數(shù)的最高位是相同,當(dāng)數(shù)據(jù)用補(bǔ)碼時(shí),負(fù)數(shù)的最高位是1。l輔助進(jìn)位標(biāo)志輔助進(jìn)位標(biāo)志AF(Auxiliary carrry Flag): 也稱也稱“半進(jìn)位標(biāo)志半進(jìn)位標(biāo)志”,第3位向第4位有進(jìn)(借)位; 則則 AF1;否則否則AF0。62l溢出標(biāo)志溢出標(biāo)志OF(Overflow Flag):):若運(yùn)算過程若運(yùn)算過程中發(fā)生了中發(fā)生了“溢出溢出”,則,則OF1。l定義:運(yùn)算結(jié)果超出計(jì)算裝置所能表示的范圍

39、,定義:運(yùn)算結(jié)果超出計(jì)算裝置所能表示的范圍,稱為溢出。稱為溢出。l判斷方法之一判斷方法之一【邏輯】:溢出最高位進(jìn)位邏輯】:溢出最高位進(jìn)位 次高位進(jìn)位。次高位進(jìn)位。63l中斷標(biāo)志中斷標(biāo)志IF(Interrupt Enable Flag):):如果如果IF置置“1”,則,則CPU可以接受可屏蔽中斷請求;反之,可以接受可屏蔽中斷請求;反之,則則CPU不能接受可屏蔽中斷請求。不能接受可屏蔽中斷請求。 指令系統(tǒng)中有兩條專門的指令可以置指令系統(tǒng)中有兩條專門的指令可以置“1”或或置置“0” IF標(biāo)志位:標(biāo)志位:lSTI 使使IF置置“1”,即開放中斷。,即開放中斷。lCLI 使使IF清清“0”,即關(guān)閉中斷,

40、即關(guān)閉中斷l(xiāng)方向標(biāo)志方向標(biāo)志DF(Direction Flag):用于串操作指令用于串操作指令中的地址增量修改(中的地址增量修改(DF0)還是減量修改(還是減量修改(DF1)。)。lSTD , CLD。l跟蹤標(biāo)志跟蹤標(biāo)志TF(Trace Flag):):若若TF1,則則CPU按按跟蹤方式(單步方式)執(zhí)行程序。跟蹤方式(單步方式)執(zhí)行程序。64四、存儲(chǔ)器尋址l物理地址物理地址l8088:20根根地址線,可尋址地址線,可尋址220(1MB)個(gè)存儲(chǔ)單元;個(gè)存儲(chǔ)單元;lCPU送到送到AB上的上的20位位的地址的地址稱為稱為物理地址物理地址 。650 0 0 0段基地址(段基地址(16位)位)段首地址段

41、首地址 66l分段處理:分段處理:l“段基址段基址”存放在段寄存器存放在段寄存器CS、DS、SS和和ES中。中?!捌屏科屏俊贝娣旁诩拇嫫鞔娣旁诩拇嫫鱅P或或SP 中中。l“段基址段基址”和和“偏移量偏移量” (均為(均為16位)構(gòu)成存位)構(gòu)成存儲(chǔ)單元的儲(chǔ)單元的邏輯地址(邏輯地址( ),),在程序在程序設(shè)計(jì)時(shí),使用的是邏輯地址。設(shè)計(jì)時(shí),使用的是邏輯地址。l邏輯地址可以邏輯地址可以轉(zhuǎn)換轉(zhuǎn)換為物理地址(或絕對地址或?yàn)槲锢淼刂罚ɑ蚪^對地址或有效地址有效地址EA)。)。方法如下:方法如下: 物理地址段基址物理地址段基址 16 + 偏移量偏移量67l 邏輯地址可以轉(zhuǎn)換為物理地址(或絕對地邏輯地址可以轉(zhuǎn)

42、換為物理地址(或絕對地 址或有效地址址或有效地址EA)。)。 物理地址段基址物理地址段基址X16 + 偏移量偏移量段基址段基址段內(nèi)偏移段內(nèi)偏移物理地址物理地址+16位位20位位000016位偏移量68段基值150偏移量150000030物理地址物理地址190邏輯地址邏輯地址物理地址物理地址段基址段基址 偏移量偏移量 地址加法器地址加法器15069段的起始地址段的起始地址偏移量偏移量要訪問的單元要訪問的單元段段70CPU的啟動(dòng)的啟動(dòng)復(fù)位后CS=FFFFH,IP=00000H,程序從FFFF0H處開始執(zhí)行。FFFFFHFFFF0H 16個(gè)字節(jié) FFFEFHLJMP 7172例 已知已知CS = 1

43、055H,DS = 250AH,ES = 2EF0H,SS = 8FF0H, DS段有一操作數(shù),其偏移地址段有一操作數(shù),其偏移地址=0204H, 1)畫出各段在內(nèi)存中的分布;畫出各段在內(nèi)存中的分布; 2)指出各段首地址;指出各段首地址; 3)該操作數(shù)的物理地址該操作數(shù)的物理地址=?10550H250A0H2EF00H8FF00HCSSS CSDSES解:解: 各段分布及段基址見右圖。各段分布及段基址見右圖。 操作數(shù)的物理地址為:操作數(shù)的物理地址為: 250AH10H+0204H = 252A4H7374堆棧及堆棧段的使用l內(nèi)存中一個(gè)按內(nèi)存中一個(gè)按FILO方式操作的特殊區(qū)域方式操作的特殊區(qū)域l每次壓棧和退棧均以每次壓棧和退棧均以WORD為單位為單位lSS存放堆棧段地址,存放堆棧段地址,SP存放段內(nèi)偏移,存放段內(nèi)偏移,SS:SP構(gòu)成了堆棧指針構(gòu)成了堆棧指針l堆棧用于存放返回地址、過程參數(shù)或需要堆棧用于存放返回地址、過程參數(shù)或需要保護(hù)的數(shù)據(jù)保護(hù)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論