第2章 8086微處理器(共16頁)_第1頁
第2章 8086微處理器(共16頁)_第2頁
第2章 8086微處理器(共16頁)_第3頁
第2章 8086微處理器(共16頁)_第4頁
第2章 8086微處理器(共16頁)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、PAGE PAGE 24第二章8086微處理器基本(jbn)內(nèi)容:8086的編程結(jié)構(gòu),8086的工作模式(msh)和引腳信號(hào),8086在最小模式下的典型配置,8086 的總線操作和時(shí)序。重點(diǎn)(zhngdin)內(nèi)容:8086的編程結(jié)構(gòu),8086的工作模式(最小模式),8086的引腳信號(hào),8086的總線周期。難點(diǎn)內(nèi)容:8086的編程結(jié)構(gòu),8086的存儲(chǔ)器組織及分段概念?;疽螅赫莆?086的存儲(chǔ)器,編程結(jié)構(gòu),理解存儲(chǔ)器分段概念,掌握物理地址形式用法,掌握信息的分段存儲(chǔ)和段寄存器間的關(guān)系,理解8086/8088的引腳定義和兩種組織模式(最大模式和最小模式),了解8086的系統(tǒng)總線結(jié)構(gòu),了解8086

2、/8088的典型操作過程。講課過程:簡單介紹CPU概念,功能,從而引出8086CPU,為講述學(xué)習(xí)方便,之前要先補(bǔ)充存儲(chǔ)器的結(jié)構(gòu)(即分段概念)及數(shù)據(jù)在存儲(chǔ)器中的存放,而后再講述8086的編程結(jié)構(gòu),工作模式,引腳定義,之后介紹總線操作時(shí)序和最小模式的典型配置。 微處理器(Microprocesser)也稱為CPU(中央處理器單元),負(fù)責(zé)微機(jī)的運(yùn)算和控制功能,是微機(jī)的核心,CPU的性能從根本上決定著微機(jī)的功能性能。常見的CPU有Pentium MMX,賽揚(yáng),賽揚(yáng),P,P4,雷鳥,速龍等,在性能價(jià)格上,各有千秋,較早的CPU還有80286,80386等,其中8086在各CPU具有典型的意義,所以我們本

3、書將以8086為核心來講述。8086是16位CPU,16位數(shù)據(jù)線,20位地址線。在學(xué)習(xí)之前,有必要掌握數(shù)據(jù)信息在計(jì)算機(jī)中的存放及存儲(chǔ)器的概念,在此我們做為補(bǔ)充內(nèi)容。第一節(jié)存儲(chǔ)器一、存儲(chǔ)器單元的地址及信息存放計(jì)算機(jī)存儲(chǔ)信息的基本單元是一個(gè)二進(jìn)數(shù)位,0、1,每8個(gè)位組成一個(gè)字節(jié)位,編號(hào)如下:76543210 在字長為16位的機(jī)器中,每2個(gè)字節(jié)組成一個(gè)字,高八位為高字節(jié)MSB,低八位為低字節(jié)LSB,存儲(chǔ)是以字節(jié)為單位存放信息的。1514131211109876543210 高八位(b wi) 低八位(b wi) 為了正確存放(cnfng)或取得信息,每一個(gè)字節(jié)單元給出一個(gè)存儲(chǔ)器地址,用16進(jìn)制表示,

4、如圖所示: 每個(gè)存儲(chǔ)單元中存放的信息為該存儲(chǔ)單元的內(nèi)容,如 0000H 0004H單元中存放的信息為34H,即04單元內(nèi)容為34H 0001H 記為(0004H)34H 即同一地址既是字節(jié)地址又是 0002H 字地址。 那么一個(gè)字該如何保存呢? 0003H 規(guī)定:字存入兩個(gè)連續(xù)的單元,低字節(jié)存入低地址, 34H 0004H 高字節(jié)存入高地址,字單元的地址用其低地址表示,如 12H 0005H 字1234H存放在0004單元和0005單元中, 記為(0004H)1234H 那么(0004H)? 細(xì)講 1EH 1234H 1EH 2FH 1235H 2F1EH二、存儲(chǔ)器地址的分段 8086CPU的

5、字長為16位,所以可以最大表示的地址空間為2162102610246464KB然而8086的地址線為20位,其最大的存儲(chǔ)容量為1M1024K210210220即 8086有1M存儲(chǔ)容量,00000FFFFFH,而字長只有16位,所能表達(dá)的地址范圍為0000FFFFH共64K。如何來訪問這1M空間呢?在此引入存儲(chǔ)器分段的概念,即將整個(gè)存儲(chǔ)器劃分為幾個(gè)段,每個(gè)段最大為64K,這樣每個(gè)段內(nèi)部可用0000FFFFH 16位表示,如節(jié)0段,節(jié)1段,每個(gè)段給一個(gè)16位的地址,稱為段地址。機(jī)器規(guī)定,從0地址開始,每16個(gè)字節(jié)為1小段,如 00000 00001 00002 0000F 00010 00011

6、 00012 0001F 00070 00071 00072 0007F FFFF0 FFFFF 第1列就是每小段的首地址,而段地址不能是任意地址,必須為某小段的首地址。例 段n的首地址為00070,可見段地址末4位必是為0,所以一般情況下,段地址只取起始地址的高16位,段n的段地址為0007H,段內(nèi)相對(duì)于段首地址的偏移量稱為偏移地址,用16位表示。例 0007EH單元相對(duì)于段首地址的偏移量為000EH,即偏移地址為000EH。每個(gè)存儲(chǔ)單元的20位地址稱為物理地址,可以認(rèn)為(rnwi)由16位段地址和16位偏移地址組成。計(jì)算方法如下: 15 0 0000 16位段地址(dzh)左移4位 5 0

7、 16位偏移(pin y)地址 20位物理地址 或16D段地址偏移地址物理地址如 段地址為0007H ,偏移地址為000EH的單元, 物理地址為 00070H 000EH 0007EH第二節(jié)8086的編程結(jié)構(gòu)在CPU內(nèi)部,集成了成千上萬個(gè)晶體管器件,包括與門、或門、非門等等,結(jié)構(gòu)復(fù)雜。但作為一個(gè)用戶我們不需要掌握其具體的物理結(jié)構(gòu)和器件實(shí)際分布,而只要從用戶角度看到其功能結(jié)構(gòu),會(huì)使用就夠了,即掌握其編程結(jié)構(gòu)。所謂編程結(jié)構(gòu),就是從程序員和使用者的角度看到的結(jié)構(gòu)。當(dāng)然這種結(jié)構(gòu)與物理結(jié)構(gòu)和實(shí)際布局是不同的。從功能上,8086分為兩大部分,即總線接口部件(Bus Interface Unit)BIU和執(zhí)

8、行部件(Execution Unit)EU。一、總線(zn xin)接口部件BIU功能(gngnng):根據(jù)(gnj)EU的請(qǐng)求,完成CPU與存儲(chǔ)器、 CPU與I/O之間的信息傳送。BIU從內(nèi)存取指令送入指令隊(duì)列,CPU執(zhí)行指令時(shí)BIU要配合CPU從指定的內(nèi)存單元或外設(shè)端口取數(shù)據(jù)并傳送給執(zhí)行部件,執(zhí)行后把結(jié)果送往內(nèi)存單元或I/O。組成:1、四個(gè)段地址寄存器 專門存放段地址的寄存器。 CSCode Segment 代碼段存放當(dāng)前運(yùn)行程序 DSData Segment 數(shù)據(jù)段存放運(yùn)行程序所需數(shù)據(jù),操作數(shù) ESExtra Segment 附加段輔助數(shù)據(jù)區(qū) SSStack Segment 堆棧段特殊存

9、儲(chǔ)區(qū)2、16位指令指針寄存器IP(Instruction Pointer) 用來存放代碼段中的偏移地址,程序行時(shí),始終指向下一條要運(yùn)行指令的首地址,與CS聯(lián)合確定下一條指令的物理地址,以便CPU讀取執(zhí)行。CPU讀完此指令后,由控制器使IP指向下一條指令。3、20位地址加法器 產(chǎn)生20位地址4、6字節(jié)指令隊(duì)列(與傳統(tǒng)計(jì)算機(jī)執(zhí)行指令進(jìn)行比較)傳統(tǒng)計(jì)算機(jī)執(zhí)行指令、從IP所指單元與CS計(jì)算取一條指令送指令寄存器、對(duì)指令寄存器譯碼,IP增加,指向下一條指令。、執(zhí)行譯碼后指令、回取下一條指令來重復(fù)傳統(tǒng)微處理器的指令執(zhí)行過程 等待取指1執(zhí)行1等待取指2執(zhí)行2等待取指3執(zhí)行3MPU總線忙閑忙閑忙閑8086CP

10、U的指令執(zhí)行過程 取指1取指2取指3取指4取指5取指6EU總線執(zhí)行1執(zhí)行2執(zhí)行3執(zhí)行4執(zhí)行5執(zhí)行6忙忙忙忙忙忙BIU8086中增加指令隊(duì)列,在執(zhí)行指令同時(shí),取指令、譯碼,這樣CPU執(zhí)行完當(dāng)前指令后就立即執(zhí)行下一條,提高效率。二、執(zhí)行(zhxng)部件EU功能(gngnng):從BIU的指令隊(duì)列中取出指令代碼(di m),經(jīng)指令譯碼器譯碼后執(zhí)行指令所規(guī)定的全部功能。執(zhí)行指令所得結(jié)果或執(zhí)行指令所需的數(shù)據(jù),都由EU向BIU發(fā)出命令,對(duì)存儲(chǔ)器或I/O接口進(jìn)行讀/寫操作。組成:1、4個(gè)通用寄存器 AX、BX、CX、DX 每個(gè)都是16位寄存器,也可用做兩個(gè)8位寄存器。如AX可做兩個(gè)8位獨(dú)立的寄存器AH、A

11、L,相應(yīng)有BH、BL、CH、CL、DH、DL。 AX:累加器 參與算術(shù)運(yùn)算 指令與外設(shè)信息傳遞 BX:通用寄存器 除保存數(shù)據(jù)及中間結(jié)果外,在計(jì)算存儲(chǔ)器地址時(shí)做基址寄存器。 CX:通用寄存器 還可在循環(huán)(Loop)和串處理指令中做隱含計(jì)數(shù)器 DX:通用寄存器 在雙字長運(yùn)算時(shí),DX與AX組合表示一個(gè)32位數(shù),DX存放高16位 I/O口操作時(shí),DX存放端口地址。2、四個(gè)專用寄存器 BP、SP、SI、DI BP 基數(shù)指針寄存器 Base Pointer SP 堆棧指針寄存器 Stack Pointer SI 源變址寄存器 Source Pointer DI 目的變址寄存器Destination Poi

12、nter 用途以后細(xì)講 只能用做16位寄存器使用 3、算術(shù)邏輯部件ALU(Arithmetic Logic Unit)。加法器4、標(biāo)志寄存器PSW Program Status Word又稱程序狀態(tài)字 是16位寄存器,其中7位無意義,由6個(gè)控制標(biāo)志和3個(gè)狀態(tài)標(biāo)志位兩類OFDFIFTFSFZFAFPFCF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0進(jìn)位標(biāo)志CF(carry flag) 加法時(shí),最高位產(chǎn)生進(jìn)位 CF=1,否則CF=0 減法時(shí),最高位產(chǎn)生借位 奇偶標(biāo)志PF(parity flag):運(yùn)算結(jié)果中代八位中所含1的個(gè)數(shù)為偶數(shù)時(shí),PF1,否則PF0輔助進(jìn)位標(biāo)志A

13、F(auxiliary carry flag):加法時(shí) 第三位向第四位進(jìn)位 AF1,否則AF=0 減法時(shí) 第三位向第四位借位 零標(biāo)志ZF(zero flag): 運(yùn)算結(jié)果為0,ZF1;否則ZF0符號(hào)標(biāo)志SF(sign flag ): 結(jié)果為正數(shù)SF0;結(jié)果為負(fù)數(shù)SF1,與結(jié)果最高位相同溢出(y ch)標(biāo)志OF(overflow flag): 運(yùn)算(yn sun)中,有溢出則OF1 溢出(y ch):字節(jié)運(yùn)算結(jié)果超出128127 字運(yùn)算結(jié)果超出3276832767 判別方法: 加法時(shí) 低位向最高位產(chǎn)生進(jìn)位,而最高位向前無進(jìn)位或低位向最高位無進(jìn) 位,而最高位卻向前產(chǎn)生進(jìn)位。 減法時(shí) 低位向最高位產(chǎn)

14、生借位,而最高位向前無借位或低位向最高位無借 位,而最高位卻向前借位。 例:010 110 正數(shù)相加結(jié)果為負(fù) 010 100 OF1 10 101 負(fù)數(shù)相加結(jié)果為正 101 011 負(fù)數(shù)正數(shù)正數(shù) 010 110 OF1 010 101 正數(shù)負(fù)數(shù)負(fù)數(shù)總結(jié):判法1 :最高位與次高位同時(shí)借位(進(jìn)位),或都不借位(進(jìn)位) OF0 判法2 :加法時(shí),若兩符號(hào)相同的數(shù)相加,結(jié)果符號(hào)相反 OF1 減法時(shí),若兩符號(hào)相反的數(shù)相減,結(jié)果符號(hào)相同 OF0 例:判斷以下運(yùn)算后的標(biāo)志位狀態(tài)(原碼) 無符號(hào)數(shù) 有符號(hào)數(shù) 1)、 00000100 4 + 4 ZF0 CF0 SF0 00001011 11 +(+11) P

15、F1 AF0 OF0 00001111 15 + 15 2)、 00000111 7 + 7 ZF0 CF1 SF0 11111011 +251 +(-5) PF0 AF1 OF0 1 00000010 258 + 2 (同時(shí)有進(jìn)位) 超出范圍 3)、 00001001 9 + 9 CF0 PF0 ZF0 01111101 +124 +(+124) AF0 SF1 OF1 10000110 133 + 133 CF0 OF1 結(jié)果對(duì) 結(jié)果-123 錯(cuò) 4)、 10000111 133 121 CF1 PF0 ZF0 01111101 245 +(+124) AF1 SF0 OF1 1 0111

16、1100 380 132 CF1 OF1 現(xiàn)為124錯(cuò) 現(xiàn)為124錯(cuò) 總結(jié):OF表示帶符號(hào)數(shù)溢出,CF表示無符號(hào)數(shù)溢出。 控制標(biāo)志位有3個(gè),即 方向標(biāo)志DF(direction flag) DF0地址自增 DF1地址遞減 中斷允許(ynx)標(biāo)志IF(interrupt enable flag) I F0,CPU不對(duì)任何(rnh)可屏蔽中斷做出響應(yīng);I F1,可響應(yīng)可屏蔽(pngb)中斷 跟蹤標(biāo)志TF(trap flag)又稱為單步標(biāo)志 TF1,單步執(zhí)行指令三、8086總線周期的基本概念為了取得指令或傳送數(shù)據(jù),就需要CPU的總線接口部件執(zhí)行一個(gè)總線周期。微處理器執(zhí)行指令的一系列操作都是在時(shí)鐘脈沖

17、CLK的統(tǒng)一控制下一步一步進(jìn)行的。在8086/8088中,一個(gè)最基本的總線周期由4個(gè)時(shí)鐘周期組成,時(shí)鐘周期是CPU的基本時(shí)間計(jì)量單位,它由計(jì)算機(jī)的主頻決定。比如,8086/8088CPU由外部的一片8284A芯片提供主頻5MHz的時(shí)鐘信號(hào),1個(gè)時(shí)鐘周期就是200ns;8086-1的主頻為10MHz,1個(gè)時(shí)鐘周期就是100ns。在1個(gè)最基本的總線周期中,習(xí)慣上將4個(gè)時(shí)鐘周期分別稱為4個(gè)狀態(tài),即T1狀態(tài)、T2狀態(tài)、T3狀態(tài)和T4狀態(tài)。 時(shí)鐘周期(Clock Cycle):時(shí)鐘脈沖的重復(fù)周期稱為時(shí)鐘周期。時(shí)鐘周期是CPU的時(shí)間基準(zhǔn),由計(jì)算機(jī)的主頻決定。例如,8086的主頻為5 MHz,則1個(gè)時(shí)鐘為2

18、00 ns(1 ns10-9s)。 總線周期(Bus Cycle):微處理器與外部交換信息總是通過總線進(jìn)行的。微處理器通過外部總線對(duì)存儲(chǔ)器或I/O端口進(jìn)行一次讀寫操作的過程稱為總線周期。 8086微處理器的總線周期至少由4個(gè)時(shí)鐘周期組成,分別以T1、T2、T3和T4表示??紤]到CPU的速度,在T3、T4之間插入等待狀態(tài)TW(一個(gè)或多個(gè)附加的時(shí)鐘周期,也叫等待狀態(tài))。其中 T1期間 由CPU輸出地址, T2、T3、T4期間 由CPU傳送數(shù)據(jù)指令周期:執(zhí)行一條指令所需要的時(shí)間(包括取指令和執(zhí)行該指令所需的全部時(shí)間)稱為指令周期,一個(gè)指令周期由一個(gè)或若干個(gè)總線周期組成。如果指令的操作數(shù)來自內(nèi)存,則需

19、要另一個(gè)或多個(gè)總線周期取出操作數(shù),如果要把結(jié)果寫回內(nèi)存,還要增加總線周期。因此,不同指令的指令周期長度各不相同。在T1狀態(tài)CPU把要讀/寫的存儲(chǔ)單元的地址或I/O端口的地址放到地址總線上。若是“讀”總線(zn xin)周期,CPU則從T3起到T4從總線(zn xin)上接收數(shù)據(jù),T2狀態(tài)(zhungti)時(shí)總線浮空。若是“寫”總線周期,CPU從T2起到T4,把數(shù)據(jù)送到總線上,并寫入存儲(chǔ)器單元或I/O端口;需要指出,只有在CPU和內(nèi)存或I/O端口之間傳輸數(shù)據(jù),以及填充指令隊(duì)列時(shí),CPU才執(zhí)行總線周期??梢?,如果在1個(gè)總線周期之后,不立即執(zhí)行下1個(gè)總線周期,那么系統(tǒng)總線就處在空閑狀態(tài),此時(shí),執(zhí)行空

20、閑周期??臻e周期中,可包含一個(gè)或多個(gè)時(shí)鐘周期。第三節(jié) 8086的引腳信號(hào)和工作模式一、最大模式和最小模式的概念8086CPU視應(yīng)用場合不同可以在兩種模式即最大模式和最小模式最小模式:整個(gè)系統(tǒng)中只有8086或8088一個(gè)微處理器,此時(shí)所有的總線控制信號(hào)均由8086或8088產(chǎn)生,系統(tǒng)中總線控制線減到最小。這些特征就是最小模式名稱的由來。最大模式:是相對(duì)最小模式而言的,用于中大規(guī)模的8086/8088系統(tǒng)中,此時(shí)系統(tǒng)中有兩個(gè)或多個(gè)微處理器,一個(gè)是主處理器就是8086或8088,其他的處理器稱為協(xié)處理器,它們是協(xié)助主處理器工作的。常用的和8086/8088配合的協(xié)處理器有兩個(gè):一個(gè)是數(shù)值運(yùn)算協(xié)處理器

21、8087,另一個(gè)是輸入輸出協(xié)處理器8089。8087應(yīng)用于數(shù)值運(yùn)算。如高精度浮點(diǎn)運(yùn)算、三角函數(shù)對(duì)數(shù)函數(shù)計(jì)算等。8089主要負(fù)責(zé)輸入輸出操作。 用協(xié)處理器可減輕主處理器的負(fù)擔(dān),提高工作效率,但目前CPU功能日趨強(qiáng)大。速度越來越快能進(jìn)行復(fù)雜數(shù)據(jù)處理。因?yàn)橐粋€(gè)CPU即可滿足使用要求,協(xié)處理器逐漸只在特殊場合使用。二、8086和8088的引腳信號(hào)與功能 8086與8088共有40個(gè)引腳具體定義見課本P13、圖2.3。GND和VCC 接地和電源引腳。20腳接地 40腳接+5V電壓。2、AD0AD15 (Address Data Bus) 地址數(shù)據(jù)分時(shí)復(fù)用引腳 在總線周期的不同狀態(tài)這些引腳輸出不同的信號(hào)。

22、某些情況下由AD0AD15提供20位地址中的低16位;某些情況下由AD0AD15提供16位數(shù)據(jù)A19/S6A16/S3 (Address/Status) 地址/狀態(tài)分時(shí)復(fù)用引腳 在總線周期(zhuq)的下狀態(tài),A19-A16輸出20位地址中的高4位;其它狀態(tài)時(shí)用于輸出當(dāng)前狀態(tài)信息。 S6為0表示當(dāng)前8086與CPU相連,S5表明中斷允許(ynx)標(biāo)志的當(dāng)前設(shè)置; IF=1,則S5=1表明允許可屏蔽中斷(zhngdun),S4與S3表明正使用哪個(gè)段寄存器。 S4 S3 0 0 使用ES 0 1 使用SS 1 0 使用CS或未使用任何段寄存器 1 1 使用DS 4、NMI (Non-Maskabl

23、e Interrupt) 非屏蔽中斷輸入引腳 8086中斷的分類:非屏蔽中斷和可屏蔽中斷 具體含義講解 此引腳上有由低到高的上升沿時(shí)產(chǎn)生中斷請(qǐng)求,不論CPU在處于何種狀態(tài)都要暫停工作(執(zhí)行完當(dāng)前指令后)執(zhí)行中斷處理程序。INTR (Interrupt Request) 可屏蔽中斷請(qǐng)求信號(hào)輸入引腳 當(dāng)18引腳上有高電平時(shí)認(rèn)為有中斷請(qǐng)求 ,CPU在執(zhí)行每條指令后最后一個(gè)時(shí)鐘周期都要對(duì)INTR信號(hào)采樣,如果此引腳為1,且IF1,則CPU執(zhí)行完當(dāng)前指令后執(zhí)行中斷處理程序;如果IF0,則不理會(huì)。注意:此兩引腳使用時(shí)應(yīng)分清。如系統(tǒng)中設(shè)計(jì)有超壓過流緊急故障電路當(dāng)發(fā)生故障時(shí)可產(chǎn)生中斷請(qǐng)求信號(hào),此信號(hào)應(yīng)接于NM

24、I,使CPU轉(zhuǎn)入緊急處理程序,而不應(yīng)接在INTR;若接于INTR恰有IF0,則雖有故障但CPU不處理。CLK(Clock)時(shí)鐘輸入 CPU工作需要時(shí)鐘信號(hào)此引腳為時(shí)鐘輸入端 8086要求時(shí)鐘信號(hào)1/3為高電平,2/3為低電平,頻率為5MHZ7、BHE/S7 (Bus High Enable/Status)高八位數(shù)據(jù)總線允許/狀態(tài)復(fù)用引腳(難點(diǎn),學(xué)生反映不易理解)S7狀態(tài)無意義大家知道8086為數(shù)據(jù)線16位,可以一次讀寫2個(gè)字節(jié),但只需讀寫一個(gè)字節(jié)時(shí),讀通過哪些數(shù)據(jù)線傳輸呢?由前學(xué)知,字節(jié)存入或字存放有兩種可能,一種為偶地址單元,一種為奇地址單元。1)、讀/寫一個(gè)字節(jié)a、奇地址字節(jié)此時(shí)AD0為1

25、BHE0讀/寫數(shù)據(jù)線AD0AD7無效,而只要AD8AD15b、偶地址字節(jié)此時(shí)AD0為為BHE1AD0AD7有效ADAD15均有效2)、讀寫一個(gè)字a、偶地址字AD00BHE0所有數(shù)據(jù)線AD0AD15均有效b、奇地址字分兩次AD1BHE0AD8AD15讀低字節(jié)AD0BHE1AD0AD7讀高字節(jié)訪問存儲(chǔ)器是從偶地址(dzh)開始的例:從偶地址(dzh)一次性讀出一個(gè)字從奇地址讀一個(gè)(y )字分兩次,第一次AD0-AD7無效,AD8-AD15有效,第二次AD0-AD7有效,AD8-AD15無效。MN/MX (Minimum/Maximum Mode Control)最大/最小模式控制信號(hào)輸入接5V時(shí)工

26、作于最小模式,接地時(shí)為最大模式RD (Read)讀信號(hào)輸出引腳三態(tài)輸出,低電平有效表示內(nèi)存或I/O端口讀數(shù)據(jù)10、RESET復(fù)位信號(hào)輸入引腳至少4個(gè)時(shí)鐘周期的高電平有效,CPU結(jié)束當(dāng)前操作,將IP、DS、ES、SS指令隊(duì)列等清0。CS0FFFFH,所以CPU復(fù)位后從FFFF0H處執(zhí)行程序,一般在此放一跳轉(zhuǎn)指令,轉(zhuǎn)到一特定程序如系統(tǒng)初始化引導(dǎo)操作等。READY“準(zhǔn)備好”信號(hào)輸入“準(zhǔn)備好”信號(hào)是由所訪問的存儲(chǔ)器或者I/O設(shè)備發(fā)來的響應(yīng)信號(hào),高電平有效?!皽?zhǔn)備好”信號(hào)有效時(shí),表示內(nèi)存或者I/O設(shè)備準(zhǔn)備就緒,馬上就可以進(jìn)行一次數(shù)據(jù)傳輸。CPU在每個(gè)總線周期的狀態(tài)開始對(duì)READY信號(hào)進(jìn)行采樣。如為低電平

27、,則在T3狀態(tài)之后插入等待狀態(tài)TW。在TW狀態(tài),CPU也對(duì)READY進(jìn)行采樣,如仍為低電平,則繼續(xù)插入TW,所以TW可以TW插入1個(gè)或多個(gè)。直到READY變?yōu)楦唠娖胶?,才進(jìn)入T4狀態(tài),完成數(shù)據(jù)傳送過程,從而結(jié)束當(dāng)前總線周期。TEST測試信號(hào)輸入低電平有效與WAIT結(jié)合起來使用。在CPU執(zhí)行WAIT指令時(shí),CPU處于空轉(zhuǎn)狀態(tài)運(yùn)行進(jìn)行等待,直到有TEST信號(hào)有效后,等待狀態(tài)結(jié)束,CPU繼續(xù)往下執(zhí)行被暫停的指令。常用來使處理器與外部硬件同步用。以下幾個(gè)引腳在最大模式和最小模式時(shí)定義不同,我們只掌握最小模式時(shí)即可。INTA (Interrupt Acknowledge)中斷響應(yīng)信號(hào)輸出此信號(hào)用來對(duì)外設(shè)

28、的中斷請(qǐng)求做出響應(yīng),在8086中是兩個(gè)連續(xù)的負(fù)脈沖,第一個(gè)負(fù)脈沖通知外設(shè)它的中斷請(qǐng)求已被允許,外設(shè)接到第二個(gè)負(fù)脈沖后便將中斷類型(lixng)碼送往數(shù)據(jù)線,從而使CPU可正確執(zhí)行中斷程序。14、ALE (Address Latch Enable)地址(dzh)鎖存允許信號(hào)輸出(shch),高電平有效。用來做地址鎖存器8282/8283的控制信號(hào)。在任何一個(gè)總線周期的T1狀態(tài),ALE輸出有效電平,以表示當(dāng)前在地址/數(shù)據(jù)復(fù)用總線上輸出的是地址信息,地址鎖存器將ALE作為鎖存信號(hào),對(duì)地址進(jìn)行鎖存。注意:ALE不能浮空。DEN (Data Enable)數(shù)據(jù)允許信號(hào)輸出低電平有效,在最小模式下作為數(shù)據(jù)

29、允許信號(hào)輸出端。在用8286/8287作為數(shù)據(jù)總線收發(fā)器時(shí),DEN為收發(fā)器提供一個(gè)控制信號(hào),表示CPU當(dāng)前準(zhǔn)備發(fā)送或接收一個(gè)數(shù)據(jù)??偩€收發(fā)器將DEN作為輸出允許信號(hào)。在DMA方式時(shí),DEN被浮置成高阻狀態(tài)。DT/R (Data Transmit/Receive)數(shù)據(jù)收發(fā)信號(hào)輸出在最小模式中作為數(shù)據(jù)收發(fā)方向的控制信號(hào)。與8286/8287的方向控制引腳T相連,DT/R1時(shí)發(fā)送數(shù)據(jù),DT/R0接收。在DMA方式時(shí),DT/R被浮置成高阻狀態(tài)。M/IO (Memory/Input and Output)存儲(chǔ)器/輸入輸出控制信號(hào)輸出用于區(qū)分CPU是訪問存儲(chǔ)器還是I/O端口,為1時(shí)訪問存儲(chǔ)器,為0時(shí)訪問I

30、/O端口。在DMA方式時(shí),M/IO被浮置成高阻狀態(tài)。WR (Write)寫信號(hào)輸出低電平有效,在最小模式下作為寫信號(hào)輸出端。表示對(duì)存儲(chǔ)器或I/O進(jìn)行寫操作,具體為哪種寫操作,則由M/IO信號(hào)決定。在DMA方式時(shí),被浮置成高阻狀態(tài)。HOLD (Hold Request)總線保持請(qǐng)求信號(hào)輸入(略述) 在最小模式下,是系統(tǒng)中其他總線主控部件向CPU發(fā)出的請(qǐng)求占用總線的申請(qǐng)信號(hào)。當(dāng)系統(tǒng)中CPU之外的另一個(gè)主模塊要求占用總線時(shí),通過此引腳向CPU發(fā)一個(gè)高電平的請(qǐng)求信號(hào)。這時(shí),如果CPU允許讓出總線,就在當(dāng)前總線周期完成時(shí),于T4狀態(tài)從HLDA引腳發(fā)出一個(gè)回答信號(hào),對(duì)剛才的HOLD請(qǐng)求信號(hào)作出響應(yīng)。同時(shí),

31、CPU使地址/數(shù)據(jù)總線和控制狀態(tài)線處于浮空狀態(tài)??偩€請(qǐng)求部件收到HLDA信號(hào)后,就獲得了總線控制權(quán),在此后一段時(shí)間,HOLD和HLDA都保持高電平。在總線占有部件用完總線之后,會(huì)把HOLD信號(hào)變?yōu)榈碗娖?,表示放棄?duì)總線的占有。8086/8088收到低電平的HOLD信號(hào)后,也將HLDA變?yōu)榈碗娖?,這樣CPU又獲得了對(duì)地址/數(shù)據(jù)總線和控制/狀態(tài)線的占有權(quán)。HLDA (Hold Acknowledge)總線保持響應(yīng)信號(hào)輸出(略述) 是CPU對(duì)請(qǐng)求占用總線(zn xin)使用權(quán)的響應(yīng)信號(hào)。高電平有效。當(dāng)HLDA有效時(shí),表示CPU對(duì)其他主部件的總線請(qǐng)求作出響應(yīng),同時(shí),所有與三態(tài)門相接的CPU的引腳呈現(xiàn)高

32、阻抗(zkng),從而讓出了總線。三、8086最小模式(msh)下的典型配置。P19圖2.4為8086在最小模式下的典型配置。在硬件連接上有如下幾個(gè)特點(diǎn):MN/MX端接+5V,決定了8086工作在最小模式;有一片8284A,作為時(shí)鐘發(fā)生器;有3片8282或74LS373,用來作為地址鎖存器;當(dāng)系統(tǒng)中所連的存儲(chǔ)器和外設(shè)較多時(shí),需要增加數(shù)據(jù)總線的驅(qū)動(dòng)能力,這時(shí),要用2片8286/8287作為總線收發(fā)器。四、8086 CPU最小模式下的總線周期一、8086 CPU最小模式下的總線讀周期圖3.8表示(biosh)了CPU從存儲(chǔ)器或I/O端口讀取數(shù)據(jù)的時(shí)序。最基本(jbn)的讀操作包含4個(gè)狀態(tài)(zhun

33、gti),即T1、T2、T3和T4。當(dāng)存儲(chǔ)器或I/O設(shè)備速度慢于CPU速度時(shí),就在T3和T4狀態(tài)之間插入1個(gè)或幾個(gè)等待狀態(tài)TW。下面分述幾個(gè)狀態(tài)下,地址、數(shù)據(jù)、控制信號(hào)的產(chǎn)生與時(shí)刻的關(guān)系。(1) T1狀態(tài)當(dāng)CPU準(zhǔn)備開始一個(gè)總線讀周期時(shí),用M/IO信號(hào)指出當(dāng)前執(zhí)行的讀操作是從存儲(chǔ)器讀,還是從I/O端口讀。如果從存儲(chǔ)器讀,則M/IO為高電平,如果是從I/O端口讀,則M/IO為低電平。M/IO信號(hào)的有效電平一直保持到整個(gè)總線周期的結(jié)束。在T1狀態(tài),CPU經(jīng)地址/數(shù)據(jù)復(fù)用線AD15AD0,地址/狀態(tài)復(fù)用線A19/S7A16/S3發(fā)出20位地址信息,發(fā)出地址信息的同時(shí)BHE和ALE控制信號(hào)有效,BHE

34、信號(hào)用來表示高位數(shù)據(jù)線上的信息可以使用,用該信號(hào)作為奇地址存儲(chǔ)體的選擇信號(hào),配合地址信號(hào)來實(shí)現(xiàn)對(duì)存儲(chǔ)單元的尋址。ALE信號(hào)作為地址鎖存信號(hào),啟動(dòng)鎖存器8212,在ALE信號(hào)下降沿將20位地址和BHE信號(hào)鎖存。從而把地址信息和狀態(tài)信息分開。(2) T2狀態(tài)在T2狀態(tài)(zhungti)時(shí),A19/S6A16/S3上的地址信號(hào)(xnho)消失,而出現(xiàn)S6S3狀態(tài)信號(hào),這些狀態(tài)信號(hào)保持到讀周期(zhuq)結(jié)束,狀態(tài)信號(hào)用來表明當(dāng)前正在使用哪一個(gè)段寄存器,指示可屏蔽中斷允許標(biāo)志IF的狀態(tài),以及表明8086 CPU當(dāng)前是連在總線上。AD15AD0變成高阻狀態(tài),為讀入數(shù)據(jù)作準(zhǔn)備。RD有效信號(hào)為由高電平變成低

35、電平,送至存儲(chǔ)器或I/O端口,開始從被選中的存儲(chǔ)單元或I/O端口讀取數(shù)據(jù)。DEN也變成低電平有效信號(hào),啟動(dòng)收發(fā)器8286,與在T1狀態(tài)時(shí)已有效的DT/信號(hào)一樣,做好了接收來自存儲(chǔ)器或I/O端口的數(shù)據(jù)。(3) T3狀態(tài)如果存儲(chǔ)器或I/O端口已做好了數(shù)據(jù)準(zhǔn)備而不需要等待狀態(tài)時(shí),則在T3狀態(tài)期間將數(shù)據(jù)放到數(shù)據(jù)總線上,在T3結(jié)束時(shí),CPU從AD15AD0上讀取數(shù)據(jù)。(4) TW狀態(tài)在總線讀周期,若存儲(chǔ)器或I/O設(shè)備來不及把數(shù)據(jù)放到數(shù)據(jù)總線上,則發(fā)出一個(gè)低電平信號(hào)到CPU的READY端,使CPU在T3和T4之間插入一個(gè)或幾個(gè)TW狀態(tài),來等待存儲(chǔ)器或I/O端口的數(shù)據(jù)。8086 CPU這時(shí)的工作過程是: 在T3狀態(tài)開始測試READY引腳信號(hào),若發(fā)現(xiàn)READY信號(hào)有效,則表示存儲(chǔ)器或I/O端口能按時(shí)將數(shù)據(jù)送上數(shù)據(jù)總線,T3狀態(tài)之后即進(jìn)入T4狀態(tài);若測試到READY為低電平,則在T3狀態(tài)結(jié)束后,不進(jìn)入T4狀態(tài),而插入一個(gè)或幾個(gè)TW狀態(tài),在每個(gè)TW狀態(tài)開始,CPU都測試READY線,只有發(fā)現(xiàn)它為高電平后,才在該TW結(jié)束后進(jìn)入T4狀態(tài)。在最后一個(gè)TW狀態(tài),數(shù)據(jù)已經(jīng)出現(xiàn)在數(shù)據(jù)總線上。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論