




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、PAGE PAGE 24第二章8086微處理器基本(jbn)內(nèi)容:8086的編程結(jié)構(gòu),8086的工作模式(msh)和引腳信號,8086在最小模式下的典型配置,8086 的總線操作和時序。重點(zhngdin)內(nèi)容:8086的編程結(jié)構(gòu),8086的工作模式(最小模式),8086的引腳信號,8086的總線周期。難點內(nèi)容:8086的編程結(jié)構(gòu),8086的存儲器組織及分段概念。基本要求:掌握8086的存儲器,編程結(jié)構(gòu),理解存儲器分段概念,掌握物理地址形式用法,掌握信息的分段存儲和段寄存器間的關(guān)系,理解8086/8088的引腳定義和兩種組織模式(最大模式和最小模式),了解8086的系統(tǒng)總線結(jié)構(gòu),了解8086
2、/8088的典型操作過程。講課過程:簡單介紹CPU概念,功能,從而引出8086CPU,為講述學(xué)習(xí)方便,之前要先補充存儲器的結(jié)構(gòu)(即分段概念)及數(shù)據(jù)在存儲器中的存放,而后再講述8086的編程結(jié)構(gòu),工作模式,引腳定義,之后介紹總線操作時序和最小模式的典型配置。 微處理器(Microprocesser)也稱為CPU(中央處理器單元),負責(zé)微機的運算和控制功能,是微機的核心,CPU的性能從根本上決定著微機的功能性能。常見的CPU有Pentium MMX,賽揚,賽揚,P,P4,雷鳥,速龍等,在性能價格上,各有千秋,較早的CPU還有80286,80386等,其中8086在各CPU具有典型的意義,所以我們本
3、書將以8086為核心來講述。8086是16位CPU,16位數(shù)據(jù)線,20位地址線。在學(xué)習(xí)之前,有必要掌握數(shù)據(jù)信息在計算機中的存放及存儲器的概念,在此我們做為補充內(nèi)容。第一節(jié)存儲器一、存儲器單元的地址及信息存放計算機存儲信息的基本單元是一個二進數(shù)位,0、1,每8個位組成一個字節(jié)位,編號如下:76543210 在字長為16位的機器中,每2個字節(jié)組成一個字,高八位為高字節(jié)MSB,低八位為低字節(jié)LSB,存儲是以字節(jié)為單位存放信息的。1514131211109876543210 高八位(b wi) 低八位(b wi) 為了正確存放(cnfng)或取得信息,每一個字節(jié)單元給出一個存儲器地址,用16進制表示,
4、如圖所示: 每個存儲單元中存放的信息為該存儲單元的內(nèi)容,如 0000H 0004H單元中存放的信息為34H,即04單元內(nèi)容為34H 0001H 記為(0004H)34H 即同一地址既是字節(jié)地址又是 0002H 字地址。 那么一個字該如何保存呢? 0003H 規(guī)定:字存入兩個連續(xù)的單元,低字節(jié)存入低地址, 34H 0004H 高字節(jié)存入高地址,字單元的地址用其低地址表示,如 12H 0005H 字1234H存放在0004單元和0005單元中, 記為(0004H)1234H 那么(0004H)? 細講 1EH 1234H 1EH 2FH 1235H 2F1EH二、存儲器地址的分段 8086CPU的
5、字長為16位,所以可以最大表示的地址空間為2162102610246464KB然而8086的地址線為20位,其最大的存儲容量為1M1024K210210220即 8086有1M存儲容量,00000FFFFFH,而字長只有16位,所能表達的地址范圍為0000FFFFH共64K。如何來訪問這1M空間呢?在此引入存儲器分段的概念,即將整個存儲器劃分為幾個段,每個段最大為64K,這樣每個段內(nèi)部可用0000FFFFH 16位表示,如節(jié)0段,節(jié)1段,每個段給一個16位的地址,稱為段地址。機器規(guī)定,從0地址開始,每16個字節(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)相對于段首地址的偏移量稱為偏移地址,用16位表示。例 0007EH單元相對于段首地址的偏移量為000EH,即偏移地址為000EH。每個存儲單元的20位地址稱為物理地址,可以認(rèn)為(rnwi)由16位段地址和16位偏移地址組成。計算方法如下: 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)部,集成了成千上萬個晶體管器件,包括與門、或門、非門等等,結(jié)構(gòu)復(fù)雜。但作為一個用戶我們不需要掌握其具體的物理結(jié)構(gòu)和器件實際分布,而只要從用戶角度看到其功能結(jié)構(gòu),會使用就夠了,即掌握其編程結(jié)構(gòu)。所謂編程結(jié)構(gòu),就是從程序員和使用者的角度看到的結(jié)構(gòu)。當(dāng)然這種結(jié)構(gòu)與物理結(jié)構(gòu)和實際布局是不同的。從功能上,8086分為兩大部分,即總線接口部件(Bus Interface Unit)BIU和執(zhí)
8、行部件(Execution Unit)EU。一、總線(zn xin)接口部件BIU功能(gngnng):根據(jù)(gnj)EU的請求,完成CPU與存儲器、 CPU與I/O之間的信息傳送。BIU從內(nèi)存取指令送入指令隊列,CPU執(zhí)行指令時BIU要配合CPU從指定的內(nèi)存單元或外設(shè)端口取數(shù)據(jù)并傳送給執(zhí)行部件,執(zhí)行后把結(jié)果送往內(nèi)存單元或I/O。組成:1、四個段地址寄存器 專門存放段地址的寄存器。 CSCode Segment 代碼段存放當(dāng)前運行程序 DSData Segment 數(shù)據(jù)段存放運行程序所需數(shù)據(jù),操作數(shù) ESExtra Segment 附加段輔助數(shù)據(jù)區(qū) SSStack Segment 堆棧段特殊存
9、儲區(qū)2、16位指令指針寄存器IP(Instruction Pointer) 用來存放代碼段中的偏移地址,程序行時,始終指向下一條要運行指令的首地址,與CS聯(lián)合確定下一條指令的物理地址,以便CPU讀取執(zhí)行。CPU讀完此指令后,由控制器使IP指向下一條指令。3、20位地址加法器 產(chǎn)生20位地址4、6字節(jié)指令隊列(與傳統(tǒng)計算機執(zhí)行指令進行比較)傳統(tǒng)計算機執(zhí)行指令、從IP所指單元與CS計算取一條指令送指令寄存器、對指令寄存器譯碼,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中增加指令隊列,在執(zhí)行指令同時,取指令、譯碼,這樣CPU執(zhí)行完當(dāng)前指令后就立即執(zhí)行下一條,提高效率。二、執(zhí)行(zhxng)部件EU功能(gngnng):從BIU的指令隊列中取出指令代碼(di m),經(jīng)指令譯碼器譯碼后執(zhí)行指令所規(guī)定的全部功能。執(zhí)行指令所得結(jié)果或執(zhí)行指令所需的數(shù)據(jù),都由EU向BIU發(fā)出命令,對存儲器或I/O接口進行讀/寫操作。組成:1、4個通用寄存器 AX、BX、CX、DX 每個都是16位寄存器,也可用做兩個8位寄存器。如AX可做兩個8位獨立的寄存器AH、A
11、L,相應(yīng)有BH、BL、CH、CL、DH、DL。 AX:累加器 參與算術(shù)運算 指令與外設(shè)信息傳遞 BX:通用寄存器 除保存數(shù)據(jù)及中間結(jié)果外,在計算存儲器地址時做基址寄存器。 CX:通用寄存器 還可在循環(huán)(Loop)和串處理指令中做隱含計數(shù)器 DX:通用寄存器 在雙字長運算時,DX與AX組合表示一個32位數(shù),DX存放高16位 I/O口操作時,DX存放端口地址。2、四個專用寄存器 BP、SP、SI、DI BP 基數(shù)指針寄存器 Base Pointer SP 堆棧指針寄存器 Stack Pointer SI 源變址寄存器 Source Pointer DI 目的變址寄存器Destination Poi
12、nter 用途以后細講 只能用做16位寄存器使用 3、算術(shù)邏輯部件ALU(Arithmetic Logic Unit)。加法器4、標(biāo)志寄存器PSW Program Status Word又稱程序狀態(tài)字 是16位寄存器,其中7位無意義,由6個控制標(biāo)志和3個狀態(tài)標(biāo)志位兩類OFDFIFTFSFZFAFPFCF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0進位標(biāo)志CF(carry flag) 加法時,最高位產(chǎn)生進位 CF=1,否則CF=0 減法時,最高位產(chǎn)生借位 奇偶標(biāo)志PF(parity flag):運算結(jié)果中代八位中所含1的個數(shù)為偶數(shù)時,PF1,否則PF0輔助進位標(biāo)志A
13、F(auxiliary carry flag):加法時 第三位向第四位進位 AF1,否則AF=0 減法時 第三位向第四位借位 零標(biāo)志ZF(zero flag): 運算結(jié)果為0,ZF1;否則ZF0符號標(biāo)志SF(sign flag ): 結(jié)果為正數(shù)SF0;結(jié)果為負數(shù)SF1,與結(jié)果最高位相同溢出(y ch)標(biāo)志OF(overflow flag): 運算(yn sun)中,有溢出則OF1 溢出(y ch):字節(jié)運算結(jié)果超出128127 字運算結(jié)果超出3276832767 判別方法: 加法時 低位向最高位產(chǎn)生進位,而最高位向前無進位或低位向最高位無進 位,而最高位卻向前產(chǎn)生進位。 減法時 低位向最高位產(chǎn)
14、生借位,而最高位向前無借位或低位向最高位無借 位,而最高位卻向前借位。 例:010 110 正數(shù)相加結(jié)果為負 010 100 OF1 10 101 負數(shù)相加結(jié)果為正 101 011 負數(shù)正數(shù)正數(shù) 010 110 OF1 010 101 正數(shù)負數(shù)負數(shù)總結(jié):判法1 :最高位與次高位同時借位(進位),或都不借位(進位) OF0 判法2 :加法時,若兩符號相同的數(shù)相加,結(jié)果符號相反 OF1 減法時,若兩符號相反的數(shù)相減,結(jié)果符號相同 OF0 例:判斷以下運算后的標(biāo)志位狀態(tài)(原碼) 無符號數(shù) 有符號數(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 (同時有進位) 超出范圍 3)、 00001001 9 + 9 CF0 PF0 ZF0 01111101 +124 +(+124) AF0 SF1 OF1 10000110 133 + 133 CF0 OF1 結(jié)果對 結(jié)果-123 錯 4)、 10000111 133 121 CF1 PF0 ZF0 01111101 245 +(+124) AF1 SF0 OF1 1 0111
16、1100 380 132 CF1 OF1 現(xiàn)為124錯 現(xiàn)為124錯 總結(jié):OF表示帶符號數(shù)溢出,CF表示無符號數(shù)溢出。 控制標(biāo)志位有3個,即 方向標(biāo)志DF(direction flag) DF0地址自增 DF1地址遞減 中斷允許(ynx)標(biāo)志IF(interrupt enable flag) I F0,CPU不對任何(rnh)可屏蔽中斷做出響應(yīng);I F1,可響應(yīng)可屏蔽(pngb)中斷 跟蹤標(biāo)志TF(trap flag)又稱為單步標(biāo)志 TF1,單步執(zhí)行指令三、8086總線周期的基本概念為了取得指令或傳送數(shù)據(jù),就需要CPU的總線接口部件執(zhí)行一個總線周期。微處理器執(zhí)行指令的一系列操作都是在時鐘脈沖
17、CLK的統(tǒng)一控制下一步一步進行的。在8086/8088中,一個最基本的總線周期由4個時鐘周期組成,時鐘周期是CPU的基本時間計量單位,它由計算機的主頻決定。比如,8086/8088CPU由外部的一片8284A芯片提供主頻5MHz的時鐘信號,1個時鐘周期就是200ns;8086-1的主頻為10MHz,1個時鐘周期就是100ns。在1個最基本的總線周期中,習(xí)慣上將4個時鐘周期分別稱為4個狀態(tài),即T1狀態(tài)、T2狀態(tài)、T3狀態(tài)和T4狀態(tài)。 時鐘周期(Clock Cycle):時鐘脈沖的重復(fù)周期稱為時鐘周期。時鐘周期是CPU的時間基準(zhǔn),由計算機的主頻決定。例如,8086的主頻為5 MHz,則1個時鐘為2
18、00 ns(1 ns10-9s)。 總線周期(Bus Cycle):微處理器與外部交換信息總是通過總線進行的。微處理器通過外部總線對存儲器或I/O端口進行一次讀寫操作的過程稱為總線周期。 8086微處理器的總線周期至少由4個時鐘周期組成,分別以T1、T2、T3和T4表示??紤]到CPU的速度,在T3、T4之間插入等待狀態(tài)TW(一個或多個附加的時鐘周期,也叫等待狀態(tài))。其中 T1期間 由CPU輸出地址, T2、T3、T4期間 由CPU傳送數(shù)據(jù)指令周期:執(zhí)行一條指令所需要的時間(包括取指令和執(zhí)行該指令所需的全部時間)稱為指令周期,一個指令周期由一個或若干個總線周期組成。如果指令的操作數(shù)來自內(nèi)存,則需
19、要另一個或多個總線周期取出操作數(shù),如果要把結(jié)果寫回內(nèi)存,還要增加總線周期。因此,不同指令的指令周期長度各不相同。在T1狀態(tài)CPU把要讀/寫的存儲單元的地址或I/O端口的地址放到地址總線上。若是“讀”總線(zn xin)周期,CPU則從T3起到T4從總線(zn xin)上接收數(shù)據(jù),T2狀態(tài)(zhungti)時總線浮空。若是“寫”總線周期,CPU從T2起到T4,把數(shù)據(jù)送到總線上,并寫入存儲器單元或I/O端口;需要指出,只有在CPU和內(nèi)存或I/O端口之間傳輸數(shù)據(jù),以及填充指令隊列時,CPU才執(zhí)行總線周期??梢姡绻?個總線周期之后,不立即執(zhí)行下1個總線周期,那么系統(tǒng)總線就處在空閑狀態(tài),此時,執(zhí)行空
20、閑周期??臻e周期中,可包含一個或多個時鐘周期。第三節(jié) 8086的引腳信號和工作模式一、最大模式和最小模式的概念8086CPU視應(yīng)用場合不同可以在兩種模式即最大模式和最小模式最小模式:整個系統(tǒng)中只有8086或8088一個微處理器,此時所有的總線控制信號均由8086或8088產(chǎn)生,系統(tǒng)中總線控制線減到最小。這些特征就是最小模式名稱的由來。最大模式:是相對最小模式而言的,用于中大規(guī)模的8086/8088系統(tǒng)中,此時系統(tǒng)中有兩個或多個微處理器,一個是主處理器就是8086或8088,其他的處理器稱為協(xié)處理器,它們是協(xié)助主處理器工作的。常用的和8086/8088配合的協(xié)處理器有兩個:一個是數(shù)值運算協(xié)處理器
21、8087,另一個是輸入輸出協(xié)處理器8089。8087應(yīng)用于數(shù)值運算。如高精度浮點運算、三角函數(shù)對數(shù)函數(shù)計算等。8089主要負責(zé)輸入輸出操作。 用協(xié)處理器可減輕主處理器的負擔(dān),提高工作效率,但目前CPU功能日趨強大。速度越來越快能進行復(fù)雜數(shù)據(jù)處理。因為一個CPU即可滿足使用要求,協(xié)處理器逐漸只在特殊場合使用。二、8086和8088的引腳信號與功能 8086與8088共有40個引腳具體定義見課本P13、圖2.3。GND和VCC 接地和電源引腳。20腳接地 40腳接+5V電壓。2、AD0AD15 (Address Data Bus) 地址數(shù)據(jù)分時復(fù)用引腳 在總線周期的不同狀態(tài)這些引腳輸出不同的信號。
22、某些情況下由AD0AD15提供20位地址中的低16位;某些情況下由AD0AD15提供16位數(shù)據(jù)A19/S6A16/S3 (Address/Status) 地址/狀態(tài)分時復(fù)用引腳 在總線周期(zhuq)的下狀態(tài),A19-A16輸出20位地址中的高4位;其它狀態(tài)時用于輸出當(dāng)前狀態(tài)信息。 S6為0表示當(dāng)前8086與CPU相連,S5表明中斷允許(ynx)標(biāo)志的當(dāng)前設(shè)置; IF=1,則S5=1表明允許可屏蔽中斷(zhngdun),S4與S3表明正使用哪個段寄存器。 S4 S3 0 0 使用ES 0 1 使用SS 1 0 使用CS或未使用任何段寄存器 1 1 使用DS 4、NMI (Non-Maskabl
23、e Interrupt) 非屏蔽中斷輸入引腳 8086中斷的分類:非屏蔽中斷和可屏蔽中斷 具體含義講解 此引腳上有由低到高的上升沿時產(chǎn)生中斷請求,不論CPU在處于何種狀態(tài)都要暫停工作(執(zhí)行完當(dāng)前指令后)執(zhí)行中斷處理程序。INTR (Interrupt Request) 可屏蔽中斷請求信號輸入引腳 當(dāng)18引腳上有高電平時認(rèn)為有中斷請求 ,CPU在執(zhí)行每條指令后最后一個時鐘周期都要對INTR信號采樣,如果此引腳為1,且IF1,則CPU執(zhí)行完當(dāng)前指令后執(zhí)行中斷處理程序;如果IF0,則不理會。注意:此兩引腳使用時應(yīng)分清。如系統(tǒng)中設(shè)計有超壓過流緊急故障電路當(dāng)發(fā)生故障時可產(chǎn)生中斷請求信號,此信號應(yīng)接于NM
24、I,使CPU轉(zhuǎn)入緊急處理程序,而不應(yīng)接在INTR;若接于INTR恰有IF0,則雖有故障但CPU不處理。CLK(Clock)時鐘輸入 CPU工作需要時鐘信號此引腳為時鐘輸入端 8086要求時鐘信號1/3為高電平,2/3為低電平,頻率為5MHZ7、BHE/S7 (Bus High Enable/Status)高八位數(shù)據(jù)總線允許/狀態(tài)復(fù)用引腳(難點,學(xué)生反映不易理解)S7狀態(tài)無意義大家知道8086為數(shù)據(jù)線16位,可以一次讀寫2個字節(jié),但只需讀寫一個字節(jié)時,讀通過哪些數(shù)據(jù)線傳輸呢?由前學(xué)知,字節(jié)存入或字存放有兩種可能,一種為偶地址單元,一種為奇地址單元。1)、讀/寫一個字節(jié)a、奇地址字節(jié)此時AD0為1
25、BHE0讀/寫數(shù)據(jù)線AD0AD7無效,而只要AD8AD15b、偶地址字節(jié)此時AD0為為BHE1AD0AD7有效ADAD15均有效2)、讀寫一個字a、偶地址字AD00BHE0所有數(shù)據(jù)線AD0AD15均有效b、奇地址字分兩次AD1BHE0AD8AD15讀低字節(jié)AD0BHE1AD0AD7讀高字節(jié)訪問存儲器是從偶地址(dzh)開始的例:從偶地址(dzh)一次性讀出一個字從奇地址讀一個(y )字分兩次,第一次AD0-AD7無效,AD8-AD15有效,第二次AD0-AD7有效,AD8-AD15無效。MN/MX (Minimum/Maximum Mode Control)最大/最小模式控制信號輸入接5V時工
26、作于最小模式,接地時為最大模式RD (Read)讀信號輸出引腳三態(tài)輸出,低電平有效表示內(nèi)存或I/O端口讀數(shù)據(jù)10、RESET復(fù)位信號輸入引腳至少4個時鐘周期的高電平有效,CPU結(jié)束當(dāng)前操作,將IP、DS、ES、SS指令隊列等清0。CS0FFFFH,所以CPU復(fù)位后從FFFF0H處執(zhí)行程序,一般在此放一跳轉(zhuǎn)指令,轉(zhuǎn)到一特定程序如系統(tǒng)初始化引導(dǎo)操作等。READY“準(zhǔn)備好”信號輸入“準(zhǔn)備好”信號是由所訪問的存儲器或者I/O設(shè)備發(fā)來的響應(yīng)信號,高電平有效?!皽?zhǔn)備好”信號有效時,表示內(nèi)存或者I/O設(shè)備準(zhǔn)備就緒,馬上就可以進行一次數(shù)據(jù)傳輸。CPU在每個總線周期的狀態(tài)開始對READY信號進行采樣。如為低電平
27、,則在T3狀態(tài)之后插入等待狀態(tài)TW。在TW狀態(tài),CPU也對READY進行采樣,如仍為低電平,則繼續(xù)插入TW,所以TW可以TW插入1個或多個。直到READY變?yōu)楦唠娖胶?,才進入T4狀態(tài),完成數(shù)據(jù)傳送過程,從而結(jié)束當(dāng)前總線周期。TEST測試信號輸入低電平有效與WAIT結(jié)合起來使用。在CPU執(zhí)行WAIT指令時,CPU處于空轉(zhuǎn)狀態(tài)運行進行等待,直到有TEST信號有效后,等待狀態(tài)結(jié)束,CPU繼續(xù)往下執(zhí)行被暫停的指令。常用來使處理器與外部硬件同步用。以下幾個引腳在最大模式和最小模式時定義不同,我們只掌握最小模式時即可。INTA (Interrupt Acknowledge)中斷響應(yīng)信號輸出此信號用來對外設(shè)
28、的中斷請求做出響應(yīng),在8086中是兩個連續(xù)的負脈沖,第一個負脈沖通知外設(shè)它的中斷請求已被允許,外設(shè)接到第二個負脈沖后便將中斷類型(lixng)碼送往數(shù)據(jù)線,從而使CPU可正確執(zhí)行中斷程序。14、ALE (Address Latch Enable)地址(dzh)鎖存允許信號輸出(shch),高電平有效。用來做地址鎖存器8282/8283的控制信號。在任何一個總線周期的T1狀態(tài),ALE輸出有效電平,以表示當(dāng)前在地址/數(shù)據(jù)復(fù)用總線上輸出的是地址信息,地址鎖存器將ALE作為鎖存信號,對地址進行鎖存。注意:ALE不能浮空。DEN (Data Enable)數(shù)據(jù)允許信號輸出低電平有效,在最小模式下作為數(shù)據(jù)
29、允許信號輸出端。在用8286/8287作為數(shù)據(jù)總線收發(fā)器時,DEN為收發(fā)器提供一個控制信號,表示CPU當(dāng)前準(zhǔn)備發(fā)送或接收一個數(shù)據(jù)??偩€收發(fā)器將DEN作為輸出允許信號。在DMA方式時,DEN被浮置成高阻狀態(tài)。DT/R (Data Transmit/Receive)數(shù)據(jù)收發(fā)信號輸出在最小模式中作為數(shù)據(jù)收發(fā)方向的控制信號。與8286/8287的方向控制引腳T相連,DT/R1時發(fā)送數(shù)據(jù),DT/R0接收。在DMA方式時,DT/R被浮置成高阻狀態(tài)。M/IO (Memory/Input and Output)存儲器/輸入輸出控制信號輸出用于區(qū)分CPU是訪問存儲器還是I/O端口,為1時訪問存儲器,為0時訪問I
30、/O端口。在DMA方式時,M/IO被浮置成高阻狀態(tài)。WR (Write)寫信號輸出低電平有效,在最小模式下作為寫信號輸出端。表示對存儲器或I/O進行寫操作,具體為哪種寫操作,則由M/IO信號決定。在DMA方式時,被浮置成高阻狀態(tài)。HOLD (Hold Request)總線保持請求信號輸入(略述) 在最小模式下,是系統(tǒng)中其他總線主控部件向CPU發(fā)出的請求占用總線的申請信號。當(dāng)系統(tǒng)中CPU之外的另一個主模塊要求占用總線時,通過此引腳向CPU發(fā)一個高電平的請求信號。這時,如果CPU允許讓出總線,就在當(dāng)前總線周期完成時,于T4狀態(tài)從HLDA引腳發(fā)出一個回答信號,對剛才的HOLD請求信號作出響應(yīng)。同時,
31、CPU使地址/數(shù)據(jù)總線和控制狀態(tài)線處于浮空狀態(tài)??偩€請求部件收到HLDA信號后,就獲得了總線控制權(quán),在此后一段時間,HOLD和HLDA都保持高電平。在總線占有部件用完總線之后,會把HOLD信號變?yōu)榈碗娖?,表示放棄對總線的占有。8086/8088收到低電平的HOLD信號后,也將HLDA變?yōu)榈碗娖?,這樣CPU又獲得了對地址/數(shù)據(jù)總線和控制/狀態(tài)線的占有權(quán)。HLDA (Hold Acknowledge)總線保持響應(yīng)信號輸出(略述) 是CPU對請求占用總線(zn xin)使用權(quán)的響應(yīng)信號。高電平有效。當(dāng)HLDA有效時,表示CPU對其他主部件的總線請求作出響應(yīng),同時,所有與三態(tài)門相接的CPU的引腳呈現(xiàn)高
32、阻抗(zkng),從而讓出了總線。三、8086最小模式(msh)下的典型配置。P19圖2.4為8086在最小模式下的典型配置。在硬件連接上有如下幾個特點:MN/MX端接+5V,決定了8086工作在最小模式;有一片8284A,作為時鐘發(fā)生器;有3片8282或74LS373,用來作為地址鎖存器;當(dāng)系統(tǒng)中所連的存儲器和外設(shè)較多時,需要增加數(shù)據(jù)總線的驅(qū)動能力,這時,要用2片8286/8287作為總線收發(fā)器。四、8086 CPU最小模式下的總線周期一、8086 CPU最小模式下的總線讀周期圖3.8表示(biosh)了CPU從存儲器或I/O端口讀取數(shù)據(jù)的時序。最基本(jbn)的讀操作包含4個狀態(tài)(zhun
33、gti),即T1、T2、T3和T4。當(dāng)存儲器或I/O設(shè)備速度慢于CPU速度時,就在T3和T4狀態(tài)之間插入1個或幾個等待狀態(tài)TW。下面分述幾個狀態(tài)下,地址、數(shù)據(jù)、控制信號的產(chǎn)生與時刻的關(guān)系。(1) T1狀態(tài)當(dāng)CPU準(zhǔn)備開始一個總線讀周期時,用M/IO信號指出當(dāng)前執(zhí)行的讀操作是從存儲器讀,還是從I/O端口讀。如果從存儲器讀,則M/IO為高電平,如果是從I/O端口讀,則M/IO為低電平。M/IO信號的有效電平一直保持到整個總線周期的結(jié)束。在T1狀態(tài),CPU經(jīng)地址/數(shù)據(jù)復(fù)用線AD15AD0,地址/狀態(tài)復(fù)用線A19/S7A16/S3發(fā)出20位地址信息,發(fā)出地址信息的同時BHE和ALE控制信號有效,BHE
34、信號用來表示高位數(shù)據(jù)線上的信息可以使用,用該信號作為奇地址存儲體的選擇信號,配合地址信號來實現(xiàn)對存儲單元的尋址。ALE信號作為地址鎖存信號,啟動鎖存器8212,在ALE信號下降沿將20位地址和BHE信號鎖存。從而把地址信息和狀態(tài)信息分開。(2) T2狀態(tài)在T2狀態(tài)(zhungti)時,A19/S6A16/S3上的地址信號(xnho)消失,而出現(xiàn)S6S3狀態(tài)信號,這些狀態(tài)信號保持到讀周期(zhuq)結(jié)束,狀態(tài)信號用來表明當(dāng)前正在使用哪一個段寄存器,指示可屏蔽中斷允許標(biāo)志IF的狀態(tài),以及表明8086 CPU當(dāng)前是連在總線上。AD15AD0變成高阻狀態(tài),為讀入數(shù)據(jù)作準(zhǔn)備。RD有效信號為由高電平變成低
35、電平,送至存儲器或I/O端口,開始從被選中的存儲單元或I/O端口讀取數(shù)據(jù)。DEN也變成低電平有效信號,啟動收發(fā)器8286,與在T1狀態(tài)時已有效的DT/信號一樣,做好了接收來自存儲器或I/O端口的數(shù)據(jù)。(3) T3狀態(tài)如果存儲器或I/O端口已做好了數(shù)據(jù)準(zhǔn)備而不需要等待狀態(tài)時,則在T3狀態(tài)期間將數(shù)據(jù)放到數(shù)據(jù)總線上,在T3結(jié)束時,CPU從AD15AD0上讀取數(shù)據(jù)。(4) TW狀態(tài)在總線讀周期,若存儲器或I/O設(shè)備來不及把數(shù)據(jù)放到數(shù)據(jù)總線上,則發(fā)出一個低電平信號到CPU的READY端,使CPU在T3和T4之間插入一個或幾個TW狀態(tài),來等待存儲器或I/O端口的數(shù)據(jù)。8086 CPU這時的工作過程是: 在T3狀態(tài)開始測試READY引腳信號,若發(fā)現(xiàn)READY信號有效,則表示存儲器或I/O端口能按時將數(shù)據(jù)送上數(shù)據(jù)總線,T3狀態(tài)之后即進入T4狀態(tài);若測試到READY為低電平,則在T3狀態(tài)結(jié)束后,不進入T4狀態(tài),而插入一個或幾個TW狀態(tài),在每個TW狀態(tài)開始,CPU都測試READY線,只有發(fā)現(xiàn)它為高電平后,才在該TW結(jié)束后進入T4狀態(tài)。在最后一個TW狀態(tài),數(shù)據(jù)已經(jīng)出現(xiàn)在數(shù)據(jù)總線上。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 購房合同補充協(xié)議范本
- 財務(wù)管理系統(tǒng)實施合同
- 農(nóng)業(yè)訂單合同樣本
- 材料供應(yīng)合同書樣本
- 度室內(nèi)裝飾壁畫合同:手繪墻畫服務(wù)協(xié)議
- 農(nóng)業(yè)灌溉合同轉(zhuǎn)讓協(xié)議
- 農(nóng)業(yè)機械租賃合同(范本7)
- 期貨市場算法交易策略定制服務(wù)考核試卷
- 家禽飼養(yǎng)業(yè)產(chǎn)品質(zhì)量安全追溯體系構(gòu)建考核試卷
- 工業(yè)控制計算機在印刷機械控制中的實踐考核試卷
- 生物醫(yī)藥研發(fā)實驗室的安全風(fēng)險評估與控制
- 合肥科技職業(yè)學(xué)院單招計算機類考試復(fù)習(xí)題庫(含答案)
- 2018-2022年北京市中考真題數(shù)學(xué)試題匯編:填空壓軸(第16題)
- 初三物理常識試卷單選題100道及答案
- 2025年吉林省吉林市事業(yè)單位招聘入伍高校畢業(yè)生54人歷年高頻重點提升(共500題)附帶答案詳解
- 《智能制造技術(shù)基礎(chǔ)》課件-第6章 智能制造裝備
- 鋼結(jié)構(gòu)地下停車場方案
- 《上市公司治理培訓(xùn)》課件
- 新人教版小學(xué)五年級數(shù)學(xué)下冊《第一單元 觀察物體(三)》2022課標(biāo)大單元整體教學(xué)設(shè)計-全析
- 《光伏電站運行與維護》課件-項目五 光伏電站常見故障處理
- 2024年貴州公需科目答案
評論
0/150
提交評論