版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第二章 80X86微處理器2-1 8086/8088微處理器的內(nèi)部結(jié)構(gòu)2-2 8086/8088 CPU的工作(gngzu)模式及引腳功能2-3 8086/8088 的存儲(chǔ)器組織(zzh)2-4 8086/8088 的系統(tǒng)配置2-5 8086/8088 的操作和時(shí)序主要內(nèi)容共一百二十頁(yè)問(wèn)題(wnt):為什么選擇8086/8088?以Intel8066/8088為CPU的IBM PC/XT/AT是最具有代表性的主流機(jī)型;許多設(shè)計(jì)思想、芯片連接、信號(hào)關(guān)系等是更高檔微型機(jī)設(shè)計(jì)時(shí)參考(cnko)對(duì)象和考慮因素,保持與之兼容簡(jiǎn)單、容易理解掌握 共一百二十頁(yè)重 點(diǎn)8086CPU的編程結(jié)構(gòu),總線接口(ji
2、ku)單元和執(zhí)行單元的動(dòng)作管理8086CPU的引線8086CPU基本總線周期各個(gè)T狀態(tài)的作用存儲(chǔ)器與I/O接口的讀寫(xiě)時(shí)序難 點(diǎn)8086的寄存器結(jié)構(gòu)操作時(shí)序共一百二十頁(yè)2-1 8086/8088微處理器的基本(jbn)結(jié)構(gòu)共一百二十頁(yè)基本(jbn)情況 16/準(zhǔn)16位CPU 16/8位外部(wib)數(shù)據(jù)總線 20位外部地址總線 40根引腳 5MHz(8086)、8MHz(8086-1) 10MHz(8086-2) 集成度2.9萬(wàn) 3m工藝1981年,IBM推出以8088為CPU的 IBM PC8086/8088微處理器的基本結(jié)構(gòu)共一百二十頁(yè) 一、8086編程結(jié)構(gòu)編程結(jié)構(gòu):從程序員和使用者的角度(
3、jiod)來(lái)看的結(jié)構(gòu)。 這種結(jié)構(gòu)與CPU內(nèi)部的物理結(jié)構(gòu)和實(shí)際布局有區(qū)別。8086編程結(jié)構(gòu)如下頁(yè)圖所示分兩部分:1、總線接口單元 BIU(Bus Interface Unit)2、執(zhí)行部件 EU (Execution Unit)8086/8088微處理器的基本(jbn)結(jié)構(gòu)共一百二十頁(yè)執(zhí)行(zhxng)部件總線(zn xin)接口部件通用寄存器四個(gè)專用寄存器SP:堆棧指針,其內(nèi)容與堆棧段寄存器SS的 內(nèi)容一起,提供堆棧操作地址。 BP:基址指針:構(gòu)成段內(nèi)偏移地址的一部分. SI:(Source Index):SI含有源地址意思,產(chǎn) 生有效地址或?qū)嶋H地址的偏移量。 DI:(Destination
4、Index):DI含有目的意思, 產(chǎn)生有效地址或?qū)嶋H地址的偏移量。算術(shù)邏輯單元ALU:主要是加法器。大部分指令的執(zhí)行由加法器完成。標(biāo)志寄存器:16位字利用了9位。 標(biāo)志分兩類:狀態(tài)標(biāo)志(6位):反映剛剛完成的操作結(jié)果情況。控制標(biāo)志(3位):在某些指令操作中起控制作用。共一百二十頁(yè)四個(gè)段寄存器:CS、DS、SS、ESCS管理代碼段;DS管理數(shù)據(jù)段SS管理堆棧段;ES管理附加段.16位的指令指針寄存器IP:IP中的內(nèi)容是下一條指令對(duì)現(xiàn)行代碼段基地址的偏移量,6字節(jié)的指令隊(duì)列指令隊(duì)列共六字節(jié),總線接口部件BIU從內(nèi)存取指令,取來(lái)的總是放在指令隊(duì)列中;執(zhí)行部件EU從指令隊(duì)列取指令,并執(zhí)行。共一百二十頁(yè)
5、 1、總線接口單元 BIU(Bus Interface Unit)(1)功能:負(fù)責(zé)與 M、I/O 端口傳送數(shù)據(jù)。 具體講: 總線接口部件要從內(nèi)存 取指令送到指令隊(duì)列; CPU執(zhí)行指令時(shí),要配合執(zhí)行部件從指定的內(nèi)存單元 或者外設(shè)端口中取數(shù)據(jù),將數(shù)據(jù)傳送(chun sn)給執(zhí)行部件; 或把執(zhí)行部件的操作結(jié)果傳送給指定的M或I/O口。8086/8088微處理器的基本(jbn)結(jié)構(gòu)共一百二十頁(yè)(2 )二點(diǎn)說(shuō)明指令隊(duì)列(duli) 8086 的指令隊(duì)列為6個(gè)字節(jié),8088 的指令隊(duì)列為4個(gè)字節(jié)。不論是8086還是8088都會(huì)在執(zhí)行指令的同時(shí)從內(nèi)存中取下一條或幾條指令,取來(lái)的指令放在指令隊(duì)列中,使 BIU
6、 具有預(yù)取指令的功能,是一種先進(jìn)先出(FIFO)的數(shù)據(jù)結(jié)構(gòu)。指令執(zhí)行順序順序指令執(zhí)行:指令隊(duì)列存放緊接在執(zhí)行指令后面的那一條指令。執(zhí)行轉(zhuǎn)移指令:BIU 清除指令隊(duì)列中的內(nèi)容,從新的地址取入指 令,立即送往執(zhí)行單元,然后再?gòu)男聠卧_(kāi)始重新填滿隊(duì)列。8086/8088微處理器的基本(jbn)結(jié)構(gòu)共一百二十頁(yè) 2、EU (Execution Unit)執(zhí)行單元 功能(gngnng):負(fù)責(zé)指令執(zhí)行。 接受從總線接口單元的指令隊(duì)列中取來(lái)的指令代碼, 對(duì)其譯碼和向 EU 內(nèi)各有關(guān)部分發(fā)出時(shí)序命令信號(hào), 協(xié)調(diào)執(zhí)行指令規(guī)定的操作。8086/8088微處理器的基本(jbn)結(jié)構(gòu)共一百二十頁(yè)由此可見(jiàn),8086/8
7、088取指部分與執(zhí)行部分是分開(kāi)的。 在一條指令的執(zhí)行過(guò)程中可以取出下一條(或多條)指令,指令 在指令隊(duì)列中排隊(duì); 在一條指令執(zhí)行完成后,就可以立即執(zhí)行下一條指令,減少CPU為取指令而等待的時(shí)間,提高CPU的利用率和整個(gè)運(yùn)行(ynxng)速度。重迭操作技術(shù):一方面提高了整個(gè)執(zhí)行速率, 另一方面降低了與之相配的存儲(chǔ)器的存取速度的要求。8086/8088微處理器的基本(jbn)結(jié)構(gòu)共一百二十頁(yè)執(zhí)行(zhxng)指令3取指令3執(zhí)行(zhxng)指令2 取指令2執(zhí)行指令1 取指令1流水線操作 8086執(zhí)行指令2取指令2執(zhí)行指令1 取指令1非流水線操作8085t0-t1-t2- t3-t4- T 在t0t
8、4時(shí)間間隔中,8085執(zhí)行了2條指令。在t0t4時(shí)間間隔中,理想情況下 ,8086可執(zhí)行3條 指令 8086/8088微處理器的基本結(jié)構(gòu)共一百二十頁(yè)返回(fnhu)8088的指令執(zhí)行(zhxng)過(guò)程共一百二十頁(yè)3、寄存器結(jié)構(gòu)(jigu) (1) 通用寄存器組AX、BX、CX、DX 作為通用寄存器。 用來(lái)暫存計(jì)算過(guò)程(guchng)中所用到的操作數(shù),結(jié)果或其它信息。 訪問(wèn)形式: 可以用16位的訪問(wèn);或者可以用字節(jié)(8位)形式訪問(wèn),它們的高8位記作 : AH 、 BH 、 CH 、 DH 。它們的低8位記作 : AL 、 BL 、 CL 、 DL 。8086/8088微處理器的基本結(jié)構(gòu)共一百二十
9、頁(yè)AX(Accumulator)作為累加器。 它是算術(shù)運(yùn)算的主要寄存器,所有I/O指令都使用這一寄存器與外部設(shè)備交換數(shù)據(jù)。例: IN AL , 20HOUT 30H , AXBXBase用作基址寄存器使用。 在計(jì)算內(nèi)存儲(chǔ)器地址(dzh)時(shí),經(jīng)常用來(lái)存放基址。例:MOV AX, BX+03H通用寄存器組可以由程序員任意使用,可用于任意用途,但在有些情況下,由系統(tǒng)規(guī)定(gudng)了專門(mén)用途。8086/8088微處理器的基本結(jié)構(gòu)共一百二十頁(yè)CXCount可以作計(jì)數(shù)寄存器使用。 在循環(huán)LOOP指令和串處理指令中用作隱含計(jì)數(shù)器。例:MOV CX , 200HAGAIN:LOOP AGAIN ;(CX)
10、-1(CX),結(jié)果0轉(zhuǎn)AGAINDXData可以作為(zuwi)數(shù)據(jù)寄存器使用。一般在雙字長(zhǎng)乘除法運(yùn)算時(shí), 把DX和AX組合在一起存放一個(gè)雙字長(zhǎng)(32位)數(shù),DX用來(lái)存放高16位; 對(duì)某些I/O操作DX可用來(lái)存放I/O的端口地址(口地址 256)。例:MUL BX ; (AX)(BX)(DX)(AX)例:IN AL , DX8086/8088微處理器的基本(jbn)結(jié)構(gòu)共一百二十頁(yè)(2)地址指針與變址寄存器 段起始地址 SP、BP、SI、DI 四個(gè)16位寄存器。 主要存放某一個(gè)段內(nèi)地址偏移量,用來(lái)形成(xngchng) 操作數(shù)地址用于堆棧操作和變址尋址。 段內(nèi)偏移地址偏移地址:指在段內(nèi)某內(nèi)存單
11、元物理地址相對(duì)段起始地址的偏移值。 BP,SP指針寄存器,常與SS寄存器連用,訪問(wèn)堆棧(duzhn)段數(shù)據(jù)。SI,DI變址寄存器,常與DS寄存器連用,訪問(wèn)數(shù)據(jù)段數(shù)據(jù)。 8086/8088微處理器的基本結(jié)構(gòu)共一百二十頁(yè)(3) 段寄存器段寄存器: 4個(gè)16位段寄存器CS、DS、SS、ES。用來(lái)識(shí)別當(dāng)前可尋址的四個(gè)段,不可互換的使用。CSCode Segment Register 代碼段寄存器 用來(lái)識(shí)別當(dāng)前代碼段(程序(chngx)一般放在代碼段)。DSData Segment Register數(shù)據(jù)段寄存器 用來(lái)識(shí)別當(dāng)前數(shù)據(jù)段寄存器。SSStack Segment Register堆棧段寄存器, 用
12、來(lái)識(shí)別當(dāng)前堆棧段。ESExtra Segment Register附加段寄存器, 用來(lái)識(shí)別當(dāng)前附加段。8086/8088微處理器的基本(jbn)結(jié)構(gòu)共一百二十頁(yè)(4) 控制寄存器控制寄存器:IP 、 PSWIPInstruction Pointer指令(zhlng)指針寄存器 用來(lái)存儲(chǔ)代碼段中的偏移地址; 程序運(yùn)行過(guò)程中IP始終指向下一次要取出的指令偏移地址。 IP要與CS寄存器相配合才能形成真正的物理地址。PSW(Processor States Word Program)程序狀態(tài)字寄存器, 16位寄存器。 由狀態(tài)標(biāo)志FLAG、控制標(biāo)志構(gòu)成。只用了其中9位, 6位狀態(tài)標(biāo)志 , 3位控制標(biāo)志。
13、如下表示。8086/8088微處理器的基本(jbn)結(jié)構(gòu)共一百二十頁(yè)狀態(tài)標(biāo)志:用來(lái)(yn li)記錄程序中運(yùn)行結(jié)果的狀態(tài)信息作為后續(xù)條件轉(zhuǎn)移指令的轉(zhuǎn)移控制條件。稱為狀態(tài)標(biāo)志。狀態(tài)標(biāo)志包括6位:CF 、 PF 、 AF 、 ZF 、 SF 、 OF 。 OF(Overflow Flag)溢出標(biāo)志(一般指補(bǔ)碼溢出)OF=1:在運(yùn)算過(guò)程中,如操作數(shù)超過(guò)了機(jī)器表示的范圍稱為溢出。OF=0:在運(yùn)算過(guò)程中,如操作數(shù)未超過(guò)了機(jī)器能表示的范圍稱為 不溢出。字節(jié)允許范圍 -128+127,字運(yùn)算范圍 -32768+32767 。8086/8088微處理器的基本(jbn)結(jié)構(gòu)共一百二十頁(yè)溢出(y ch)的判斷判斷
14、運(yùn)算結(jié)果是否溢出有一個(gè)簡(jiǎn)單的規(guī)則:只有當(dāng)兩個(gè)相同符號(hào)數(shù)相加(包括不同符號(hào)數(shù)相減),而運(yùn)算結(jié)果的符號(hào)與原數(shù)據(jù)符號(hào)相反時(shí),產(chǎn)生溢出;因?yàn)?,此時(shí)的運(yùn)算結(jié)果顯然不正確其他情況(qngkung)下,則不會(huì)產(chǎn)生溢出8086/8088微處理器的基本結(jié)構(gòu)狀態(tài)標(biāo)志:OF共一百二十頁(yè)SF(Sign Flag)符號(hào)標(biāo)志 SF=1:記錄運(yùn)算結(jié)果(ji gu)的符號(hào)為負(fù)。SF=0:記錄運(yùn)算結(jié)果的符號(hào)為正。ZF(Zero Flag)零標(biāo)志 ZF=1:運(yùn)算結(jié)果為0。 ZF=0:運(yùn)算結(jié)果不為0。CF(Carry Flag)進(jìn)位標(biāo)志 CF=1:記錄運(yùn)算時(shí)從最高有效位產(chǎn)生進(jìn)位值。CF=0:記錄運(yùn)算時(shí)從最高有效位不產(chǎn)生進(jìn)位值。80
15、86/8088微處理器的基本(jbn)結(jié)構(gòu)狀態(tài)標(biāo)志共一百二十頁(yè) AF(Auxiliary Carry Flag)輔助進(jìn)位標(biāo)志AF=1:記錄運(yùn)算時(shí)第3位(半個(gè)字節(jié))產(chǎn)生進(jìn)位值。AF=0:記錄運(yùn)算時(shí)第3位(半個(gè)字節(jié))不產(chǎn)生進(jìn)位值。 PF (Parity Flag)奇偶標(biāo)志 PF=1: 結(jié)果(ji gu)操作數(shù)低8位中有偶數(shù)個(gè)1。PF=0: 結(jié)果操作數(shù)低8位中有奇數(shù)個(gè)1。用來(lái)為機(jī)器中傳送信息時(shí)可能產(chǎn)生的代碼出錯(cuò)情況提供檢驗(yàn)條件。8086/8088微處理器的基本(jbn)結(jié)構(gòu)狀態(tài)標(biāo)志共一百二十頁(yè) 控制標(biāo)志:對(duì)控制標(biāo)志位進(jìn)行設(shè)置后,對(duì)其后的操作起控制作用??刂茦?biāo)志位包括3位: TF、 IF 、 DF 。
16、 跟蹤(陷阱)標(biāo)志TF、中斷標(biāo)志IF 、方向標(biāo)志 DF 。 TF(Trap Flag)跟蹤(陷阱)標(biāo)志位 TF=1 ,每執(zhí)行一條指令后,自動(dòng)產(chǎn)生一次內(nèi)部中斷,使CPU處于單步執(zhí)行指令工作(gngzu)方式,便于進(jìn)行程序調(diào)試,用戶能檢查程序。 TF=0, CPU正常工作,不產(chǎn)生陷阱。 8086/8088微處理器的基本(jbn)結(jié)構(gòu)共一百二十頁(yè)IF (Interrupt Flag)中斷標(biāo)志 位 IF=1, 允許外部可屏蔽中斷。CPU可以響應(yīng)可屏蔽中斷請(qǐng)求。 IF=0, 關(guān)閉中斷。CPU禁止響應(yīng)可屏蔽中斷請(qǐng)求。 IF的狀態(tài)對(duì)不可(bk)屏蔽中斷和內(nèi)部軟中斷沒(méi)有影響。DF(Direction Flag
17、)方向標(biāo)志位 DF=1,每次串處理操作后使變址寄存器SI和DI減量,使串處理從高地址向低地址方向處理。 DF=0,每次串處理操作后使變址寄存器SI和DI增量, 使串處理從低地址向高地址方向處理。 DF方向標(biāo)志位是在串處理指令中控制處理信息的方向用的。8086/8088微處理器的基本(jbn)結(jié)構(gòu)控制標(biāo)志:共一百二十頁(yè)控制信息(xnx):由系統(tǒng)程序或用戶程序根據(jù)需要用指令來(lái)設(shè)置的。 狀態(tài)信息:由中央處理器,根據(jù)計(jì)算結(jié)果自動(dòng)設(shè)置的,機(jī)器提供了設(shè)置狀態(tài)信息指令,必要時(shí),程序員可以用這些指令來(lái)建立狀態(tài)信息。8086/8088微處理器的基本(jbn)結(jié)構(gòu)共一百二十頁(yè)標(biāo)志: 運(yùn)算結(jié)果最高位為0 SF=0
18、運(yùn)算結(jié)果本身0 ZF=0 低8位中1的個(gè)數(shù)為奇數(shù)個(gè) PF=0 最高位沒(méi)有進(jìn)位 CF=0 第三位向第四位無(wú)進(jìn)位 AF=0 次高位(o wi)向最高位(o wi)沒(méi)有進(jìn)位 ,最高位(o wi)向前沒(méi)有進(jìn)位 , OF=0例1:執(zhí)行兩個(gè)數(shù)的加法,分析對(duì)標(biāo)志(biozh)位的影響。8086/8088微處理器的基本結(jié)構(gòu)共一百二十頁(yè)標(biāo)志:運(yùn)算結(jié)果最高位為1, SF=1 ;運(yùn)算結(jié)果本身不為0, ZF=0 ;最高位向前無(wú)進(jìn)位, CF=0 次高位向最高位產(chǎn)生進(jìn)位,而最高位向前沒(méi)有進(jìn)位, OF=1 ;結(jié)果低8位含偶數(shù)個(gè)1, PF=1 ;第三位向第四位有進(jìn)位, AF=1 。在絕大多數(shù)情況下,一次運(yùn)算后并不影響所有標(biāo)志
19、,程序也并不需要對(duì)所有的標(biāo)志作全面的關(guān)注。一般只是在某些操作后,對(duì)其中(qzhng)某個(gè)標(biāo)志進(jìn)行檢測(cè)。例2:執(zhí)行兩個(gè)數(shù)的加法(jif),分析對(duì)標(biāo)志位的影響。8086/8088微處理器的基本結(jié)構(gòu)共一百二十頁(yè) 2-2 8086的工作(gngzu)模式及引腳功能共一百二十頁(yè)地址/數(shù)據(jù)線地址/數(shù)據(jù)線非屏蔽(pngb)中斷可屏蔽(pngb)中斷最小最大模式控制MN/MX=1,最小模式MN/MX=0,最大模式讀信號(hào)總線保持請(qǐng)求信號(hào)總線保持響應(yīng)信號(hào)寫(xiě)信號(hào)存儲(chǔ)器/IO控制信號(hào)M/IO=1,選中存儲(chǔ)器M/IO=0,選中IO接口數(shù)據(jù)發(fā)送/接收信號(hào)DT/R=1,發(fā)送DT/R=0,接收數(shù)據(jù)允許信號(hào)地址允許信號(hào)中斷響應(yīng)
20、信號(hào)測(cè)試信號(hào):執(zhí)行WAIT指令,CPU處于空轉(zhuǎn)等待; TEST有效時(shí),結(jié)束等待狀態(tài)。準(zhǔn)備好信號(hào):表示內(nèi)存或I/O設(shè)備準(zhǔn)備好,可以進(jìn)行數(shù)據(jù)傳輸。復(fù)位信號(hào)8086工作模式和引腳功能共一百二十頁(yè)外部特性表現(xiàn)在其引腳信號(hào)(xnho)上,學(xué)習(xí)時(shí)請(qǐng)?zhí)貏e關(guān)注以下幾個(gè)方面:指引腳信號(hào)的定義、作用;通常采用(ciyng)英文單詞或其縮寫(xiě)表示信號(hào)從芯片向外輸出,還是從外部輸入芯片,或者是雙向的起作用的邏輯電平高、低電平有效上升、下降邊沿有效輸出正常的低電平、高電平外,還可以輸出高阻的第三態(tài) 有效電平 三態(tài)能力 信號(hào)的流向 引腳的功能8086工作模式和引腳功能共一百二十頁(yè)AD15-AD0:地址/數(shù)據(jù)總線,雙向、三態(tài)
21、分時(shí)復(fù)用:減少引腳數(shù)量,但在時(shí)序上應(yīng)保證二者嚴(yán)格分開(kāi) T1:輸出地址 T3-T4:數(shù)據(jù)輸入/輸出 AD0常作為低8位數(shù)據(jù)的選通信號(hào)A19/S6-A16/S3:地址/狀態(tài)(zhungti)總線 ,輸出、三態(tài)T1:輸出地址 T2-T4:輸出CPU的狀態(tài)信息 BHE/S7 :高字節(jié)允許(ynx)/狀態(tài)復(fù)用引腳,輸出、三態(tài)T1:輸出BHET3-T4:輸出S7 1、基本引腳8086工作模式和引腳功能共一百二十頁(yè)NMI:非屏蔽中斷輸入 ,上升沿觸發(fā)不受IF的影響,無(wú)法用軟件屏蔽 用于處理某類緊急情況 固定中斷類型號(hào)為2 INTR:可屏蔽中斷輸入 ,高電平有效若IF=0,則INTR被屏蔽 常用于外設(shè)的I/O
22、操作 注意(zh y):所有外設(shè)將共用該引腳,故對(duì)應(yīng)中斷類型號(hào)應(yīng)由外設(shè)主動(dòng)送給CPU RD :存儲(chǔ)器或I/O讀,輸出,三態(tài) READY:由存儲(chǔ)器或I/O發(fā)來(lái)的狀態(tài)信號(hào),高電平有效 CLK:時(shí)鐘輸入占空比33,1/3高電平,2/3低電平為CPU和總線控制邏輯電路提供定時(shí)基準(zhǔn)。常用INTEL8284A時(shí)鐘發(fā)生器提供CLK信號(hào)。8086工作(gngzu)模式和引腳功能共一百二十頁(yè)RESET:復(fù)位輸入 ,高電平有效要求至少維持4個(gè)T狀態(tài)的高電平 當(dāng)該信號(hào)到來(lái)時(shí),CPU被初始化,除CS外,其它所有內(nèi)部寄存器全部(qunb)被清零 系統(tǒng)復(fù)位時(shí),CS被初始化為0FFFFH 該信號(hào)可由按鍵、電源等不同方式產(chǎn)生
23、 TEST: 當(dāng)CPU執(zhí)行WAIT指令時(shí),將定期測(cè)試該引腳狀態(tài) 若狀態(tài)為1,則CPU將停止取下一條指令而進(jìn)入等待狀態(tài),重復(fù)執(zhí)行WAIT指令 直至TEST=0時(shí),等待狀態(tài)結(jié)束,CPU繼續(xù)取下一條指令執(zhí)行 8086工作(gngzu)模式和引腳功能共一百二十頁(yè)MN/MX:最小/最大模式控制輸入(shr) 最小模式:?jiǎn)蜟PU 最大模式:多CPU VCC:+5V電源 GND:地8086工作模式(msh)和引腳功能共一百二十頁(yè)2、最小模式(msh)引腳什么是最小模式? 系統(tǒng)中只有8086一個(gè)CPU 所有總線信號(hào)均由8086產(chǎn)生MN/MX引腳接5V WR:存儲(chǔ)器或I/O寫(xiě) ,輸出,三態(tài)IO/M: IO控制或
24、存儲(chǔ)器控制選擇(xunz) ,輸出,三態(tài)ALE:地址鎖存允許輸出,三態(tài)用作地址鎖存器控制 T1時(shí)有效,以便鎖存AD15-AD0上輸出的地址8086工作模式和引腳功能共一百二十頁(yè)DEN:數(shù)據(jù)允許輸出,輸出,三態(tài)DT/R:數(shù)據(jù)收/發(fā)控制,輸出,三態(tài) 系統(tǒng)DB為雙向傳輸,其上可能連接很多的器件 為增加系統(tǒng)DB的驅(qū)動(dòng)能力,可采用總線收發(fā)器 DEN:收發(fā)器的使能控制 DT/R:控制數(shù)據(jù)的傳送方向 INTA:中斷響應(yīng)輸出 對(duì)外設(shè)INTR中斷請(qǐng)求的回答 當(dāng)響應(yīng)時(shí),CPU發(fā)出(fch)兩次INTA信號(hào): 第一次:通知外設(shè)中斷響應(yīng)已經(jīng)得到允許 第二次:外設(shè)往DB上放中斷類型碼 8086工作(gngzu)模式和引
25、腳功能共一百二十頁(yè)HOLD:總線保持請(qǐng)求 HLDA:總線保持響應(yīng) 除CPU可以控制(kngzh)總線外,還可能有其它的模塊需要控制總線,如DMA控制器 什么是DMA?直接存儲(chǔ)器訪問(wèn)I/OCPUMEMDMAC8086工作(gngzu)模式和引腳功能共一百二十頁(yè)當(dāng)其它主控模塊要求占用總線時(shí),需利用HOLD向CPU提出總線請(qǐng)求 CPU若能讓出總線,則在當(dāng)前的T4輸出HLDA響應(yīng),同時(shí)使自己的三總線浮空,讓出總線 另一主控模塊收到HLDA,即可接管總線控制權(quán),同時(shí)保持HOLD信號(hào),直到使用(shyng)總線完畢 另一主控模塊使用總線完畢后,失效HOLD信號(hào),并還回總線 CPU不斷檢查HOLD,當(dāng)其失效
26、時(shí),表明另一主控模塊將歸還總線,CPU即可以收回總線的控制權(quán) 8086工作(gngzu)模式和引腳功能共一百二十頁(yè)3、最大模式(msh)引腳 什么是最大模式? 系統(tǒng)中除8086外,還有其它的CPU 所有CPU都需要產(chǎn)生自己的總線信號(hào),故只有(zhyu)使用獨(dú)立的總線控制器來(lái)統(tǒng)一管理 需要產(chǎn)生總線信號(hào)的某個(gè)CPU向總線控制器提供自己的狀態(tài),由總線控制器來(lái)最終產(chǎn)生其總線信號(hào) MN/MX引腳接地 8086工作模式和引腳功能共一百二十頁(yè)3. 最大模式下引腳信號(hào)(xnho)及功能若將8086的MN/MX引腳接地便工作在最大模式。此時(shí)僅2431引腳信號(hào)與最小模式不同,如下表所示。引腳編號(hào)最小模式最大模式2
27、4 25 26 27 28 29 30 31QS1 QS0 S0 S1 S2 LOCK RQ/GT1 RQ/GT0INTA ALE DEN DT/R M/IO WR HLDA HOLD 兩種模式(msh)下8086的2431引腳信號(hào)表8086工作模式和引腳功能共一百二十頁(yè)S0、S1、S2:總線周期狀態(tài)輸出(shch) 提供給總線控制器,產(chǎn)生系統(tǒng)總線控制命令 參見(jiàn)S0、S1、S2編碼與總線周期表QS0、QS1:指令隊(duì)列狀態(tài)輸出 在PC機(jī)中,提供給8087協(xié)處理器 參見(jiàn)QS1和QS0編碼與隊(duì)列狀態(tài)表LOCK:總線封鎖 以避免其它主控模塊占用總線 LOCK指令前綴設(shè)置,并保持到LOCK前綴后的一條指
28、令執(zhí)行完畢8086在兩個(gè)中斷響應(yīng)周期之間,LOCK信號(hào)也自動(dòng)變?yōu)橛行щ娖?,以防其它部件占有總線。8086工作模式(msh)和引腳功能共一百二十頁(yè)RQ/GT0、 RQ/GT1:總線請(qǐng)求/允許 類似于最小模式中的HOLD/HLDA 可供其它主控模塊向8086發(fā)送總線使用請(qǐng)求,并返回允許響應(yīng) 二線(r xin)均為雙向,且有一定優(yōu)先級(jí) 8086工作模式(msh)和引腳功能共一百二十頁(yè)8088地址復(fù)用(f yn)線為8條,即AD7-AD0而AD15-AD8為單一的地址線。共一百二十頁(yè)思考題1、從功能上看8086/8088CPU內(nèi)部由哪兩部分組成? 主要功能是什么?2、總線接口部件主要由哪幾部分組成?3
29、、何謂狀態(tài)標(biāo)志,何謂控制標(biāo)志,二者有何區(qū)別?4、復(fù)位信號(hào)RESET到來(lái)后,8086/8088CPU的內(nèi)部狀態(tài)有何特征?系統(tǒng)(xtng)從何處開(kāi)始執(zhí)行指令?5、什么是分時(shí)復(fù)用總線,以AD15AD0說(shuō)明復(fù)用總線的功能是怎樣實(shí)現(xiàn)的?6、試說(shuō)明最大模式和最小模式的區(qū)別? 7、AX,BX,CX,DX能用來(lái)存放偏移地址嗎?哪些可以?哪些不可以?8086工作模式(msh)和引腳功能共一百二十頁(yè)1、8086/8088存儲(chǔ)器的分體(fn t)結(jié)構(gòu)2、存儲(chǔ)單元的地址和內(nèi)容及與CPU間數(shù)據(jù)傳送3、存儲(chǔ)器地址分段4、各段在存儲(chǔ)器中分配2-3 8086/8088的 存儲(chǔ)器組織(zzh)共一百二十頁(yè)1、8086/8088
30、存儲(chǔ)器的分體(fn t)結(jié)構(gòu)80861M字節(jié)存儲(chǔ)空間分為奇地址存儲(chǔ)體和偶地址存儲(chǔ)體,各512KB。奇地址體與系統(tǒng)總線的高八位(AD15-AD8)相連(xin lin)。體選信號(hào)BHE=0;偶地址體與系統(tǒng)總線的低八位(AD7-AD0)相連。體選信號(hào)AD0=0。8086/8088的存儲(chǔ)器組織共一百二十頁(yè)數(shù)據(jù)總線DB15DB800001H00003HFFFFFH00002H00004HFFFFEHA0地址總線A1A19D7D0奇地址存儲(chǔ)體SELA18A0數(shù)據(jù)總線DB7DB0D7D0偶地址存儲(chǔ)體SELA18A0BHE8088的引出線沒(méi)有BHE*信號(hào)(xnho),它的1MB存儲(chǔ)器不劃分奇偶,A0像A1A
31、19,一樣參加地址選通。 8086/8088的存儲(chǔ)器組織(zzh)共一百二十頁(yè)BHEA0操作所用數(shù)據(jù)引腳00從偶地址開(kāi)始讀寫(xiě)一個(gè)字AD15AD010從偶地址開(kāi)始讀寫(xiě)一個(gè)字節(jié)AD7AD001從奇地址讀寫(xiě)一個(gè)字節(jié)AD15AD80110從奇地址開(kāi)始讀一個(gè)字AD15AD8AD7AD0BHE和A0的代碼組合所對(duì)應(yīng)(duyng)的操作8086/8088的存儲(chǔ)器組織(zzh)共一百二十頁(yè)(1)、存儲(chǔ)單元的地址和內(nèi)容 存儲(chǔ)器位編號(hào):8086字長(zhǎng)16位,由二個(gè)字節(jié)組成,位編號(hào)如下(rxi): 高位字節(jié) MSB(815位)低位字節(jié)LSB(07位) 8088內(nèi)部的 ALU也 能進(jìn)行16 位運(yùn)算。 有關(guān)地址寄存器如
32、SP、IP、BP、SI、DI 等都是16位的。2、存儲(chǔ)單元(cn ch dn yun)的地址和內(nèi)容及與CPU之間數(shù)據(jù)傳送共一百二十頁(yè)存儲(chǔ)單元(cn ch dn yun)地址:按照字節(jié)編址存儲(chǔ)單元的地址和內(nèi)容(nirng)及與CPU之間數(shù)據(jù)傳送共一百二十頁(yè)存儲(chǔ)單元的的內(nèi)容(nirng):一個(gè)存儲(chǔ)單元有效的信息。機(jī)器字長(zhǎng)(z chn)是16位, 大部分?jǐn)?shù)據(jù)以字節(jié)為單位表示, 一個(gè)字存入存儲(chǔ)器占有相繼的二個(gè)單元: 低位字節(jié)存入低地址,高位字節(jié)存入高地址。 字單元的地址采用它的低地址來(lái)表示。例:字單元 :(0004H)=1234H, 字節(jié)單元 :(0004H)=34H 同一個(gè)地址既可以看作字節(jié)單元地址
33、, 又可看作字單元地址,需要根據(jù)使用情況確定。字單元地址:可以是偶數(shù)也可以是奇數(shù),共一百二十頁(yè)(2)、CPU和存儲(chǔ)器或I/O端口之間傳送數(shù)據(jù) 8086 8086數(shù)據(jù)總線是16位的。 訪問(wèn)存儲(chǔ)器讀寫(xiě)規(guī)則:以字為單位進(jìn)行,并且均從偶地址開(kāi)始。討論CPU和存儲(chǔ)器或I/O端口之間傳送數(shù)據(jù)方式: 字?jǐn)?shù)據(jù)(shj)讀/寫(xiě)操作 字節(jié)讀/寫(xiě)操作存儲(chǔ)單元的地址和內(nèi)容及與CPU之間數(shù)據(jù)(shj)傳送共一百二十頁(yè)字?jǐn)?shù)據(jù)讀/寫(xiě)操作(cozu)(a) 操作數(shù)存放在偶地址開(kāi)始兩個(gè)存儲(chǔ)單元或兩個(gè) I/O端口中: 即操作數(shù)字的低8位在偶地址單元或 在偶地址端口; 高8位在奇地址單元或在奇地址端口。在一個(gè)總線周期內(nèi)完成(通常4
34、個(gè)時(shí)鐘周期)16位數(shù)據(jù)傳送,操作數(shù)必須存放在偶地址開(kāi)始兩個(gè)存儲(chǔ)單元或兩個(gè) I/O端口中。存儲(chǔ)單元的地址(dzh)和內(nèi)容及與CPU之間數(shù)據(jù)傳送共一百二十頁(yè)對(duì)應(yīng)的偶地址(dzh)單元/偶地址端口數(shù)據(jù)通過(guò)數(shù)據(jù)總線低8位傳輸。對(duì)應(yīng)的奇地址單元/奇地址端口數(shù)據(jù)通過(guò)數(shù)據(jù)總線高8位傳輸。字?jǐn)?shù)據(jù)讀/寫(xiě)偶地址(dzh)字操作如下圖:存儲(chǔ)單元的地址和內(nèi)容及與CPU之間數(shù)據(jù)傳送共一百二十頁(yè)操作數(shù)存放在奇地址開(kāi)始兩個(gè)存儲(chǔ)單元(cn ch dn yun)或兩個(gè) I/O端口中如下圖所示:存儲(chǔ)單元(cn ch dn yun)的地址和內(nèi)容及與CPU之間數(shù)據(jù)傳送共一百二十頁(yè)在第一個(gè)總線周期中:對(duì)應(yīng)于奇地址單元或奇地址端口字節(jié)(
35、z ji)(操作字低8位)通過(guò)數(shù)據(jù)總線高8位進(jìn)行傳輸,而數(shù)據(jù)總線低8位處于空閑狀態(tài);在第二個(gè)總線周期中: 對(duì)應(yīng)于偶地址單元或偶地址端口字節(jié)(操作字高8位)通過(guò)數(shù)據(jù)總線低8位進(jìn)行傳輸,而數(shù)據(jù)總線高8位處于空閑狀態(tài).由此可見(jiàn), 操作數(shù)存放在奇地址開(kāi)始兩個(gè)存儲(chǔ)單元/兩個(gè) I/O端口中進(jìn)行數(shù)據(jù)傳輸,8086需要二個(gè)總線周期。存儲(chǔ)單元的地址和內(nèi)容及與CPU之間數(shù)據(jù)(shj)傳送共一百二十頁(yè) 字節(jié)讀/寫(xiě)操作: 對(duì)偶地址單元/偶地址端口的字節(jié)數(shù)據(jù)進(jìn)行讀/寫(xiě)如下圖所示:在一個(gè)總線(zn xin)周期中,只有數(shù)據(jù)總線(zn xin)的低8位傳輸數(shù)據(jù), 高8位處于空閑狀態(tài)。存儲(chǔ)單元的地址和內(nèi)容及與CPU之間數(shù)據(jù)(
36、shj)傳送共一百二十頁(yè) 對(duì)奇地址單元/奇地址端口的字節(jié)數(shù)據(jù)進(jìn)行讀/寫(xiě)如下圖所示: 在一個(gè)總線(zn xin)周期中,只有數(shù)據(jù)總線(zn xin)的高8位傳輸數(shù)據(jù), 而低8位處于空閑狀態(tài)。存儲(chǔ)單元的地址和內(nèi)容(nirng)及與CPU之間數(shù)據(jù)傳送共一百二十頁(yè) 80888088數(shù)據(jù)總線只有8位。討論CPU和存儲(chǔ)器或I/O端口 之間傳送數(shù)據(jù):每個(gè)總線(zn xin)周期只傳輸1個(gè)字節(jié),所以對(duì)每個(gè)字操作要增加4個(gè)時(shí)鐘周期。 (3)、存儲(chǔ)器特性:存儲(chǔ)器的內(nèi)容是取之不盡的。 即從某個(gè)單元取出其內(nèi)容后,該單元仍保持原來(lái)的內(nèi)容不變,可以重復(fù)取出; 只有存入信息后,原有的內(nèi)容自動(dòng)消失。存儲(chǔ)單元的地址(dzh)和
37、內(nèi)容及與CPU之間數(shù)據(jù)傳送共一百二十頁(yè)3、存儲(chǔ)器地址分段:8086/8088有20條地址總線,直接尋址能力為220=1M字節(jié)。用16進(jìn)制數(shù)表示1M字節(jié)的地址范圍(fnwi)應(yīng)為 00000HFFFFFH(1)、 8086/8088內(nèi)部20位物理地址形成(2)、邏輯地址與物理地址8086/8088的存儲(chǔ)器組織(zzh)共一百二十頁(yè) (1)、8086/8088內(nèi)部20位物理地址形成(xngchng) 存儲(chǔ)器地址分段 8086地址總線是20位的,CPU中的寄存器是16位的,20位地址無(wú)法用16位寄存器表示,必須分段。程序員在編制程序時(shí)把存儲(chǔ)器劃分成段。段內(nèi)地址16位,每個(gè)段的大小最大可達(dá)64KB;實(shí)
38、際可以根據(jù)需要來(lái)確定段大小,可以是1,100,1000,在64K范圍內(nèi)的任意字節(jié)數(shù)。IBM PC機(jī)對(duì)段的起始地址有限制,即段不能從任意地址開(kāi)始:必須從任一小段(paragraph)的首地址開(kāi)始。8086/8088的存儲(chǔ)器組織(zzh)共一百二十頁(yè) 小段的概念從0地址開(kāi)始每16字節(jié)為一小段,對(duì)于16位地址總線,段內(nèi)存儲(chǔ)器小段地址如下(rxi):如: 0000H,0001H,0002H,000EH,000FH一個(gè)小段 0010H,0011H,0012H,001EH,001FH 0020H,0021H,0022H,002EH,002FH FFF0H, FFF1H, FFF2H, , FFFEH, F
39、FFFH 其中:第一列就是每個(gè)小段的首地址。8086/8088的存儲(chǔ)器組織(zzh)共一百二十頁(yè)每個(gè)小段首地址特征:在16進(jìn)制表示的地址中,最低位為0H(即20位地址的低4位為0000B)。在1M字節(jié)(z ji)的地址空間,共有64K個(gè)小段其首地址為:0000 0H0001 0H4123 0H4124 0HFFFE 0HFFFF 0H8086/8088的存儲(chǔ)器組織(zzh)共一百二十頁(yè) 20位物理地址形成 物理地址: 在1M字節(jié)存儲(chǔ)器里,每個(gè)存儲(chǔ)單元都有一個(gè)唯一的20位地址作為該存儲(chǔ)單元的物理地址。 CPU訪問(wèn)(fngwn)存儲(chǔ)器時(shí),必須先確定所要訪問(wèn)(fngwn)的存儲(chǔ)單元的物理地址才能取出
40、(或存入)該單元中的內(nèi)容。 20位物理地址形成:由16位段地址和16位偏移地址組成。段地址:只取段起始地址高16位值。偏移地址:指在段內(nèi)某內(nèi)存單元物理地址相對(duì)段起始地址的偏移值。8086/8088的存儲(chǔ)器組織(zzh)共一百二十頁(yè)物理地址計(jì)算方法:即把段地址左移4位再加上偏移(pin y)地址值形成物理地址,寫(xiě)成: 物理地址= 16d段地址+偏移地址。 8086/8088的存儲(chǔ)器組織(zzh)共一百二十頁(yè)例:(DS) = 0400H, EA = 1234H, 物理地址 = 16d (DS) + EA = 05234H* 每個(gè)存儲(chǔ)單元(cn ch dn yun)只有唯一的物理地址。 但可由不同的
41、段地址和不同的偏移地址組成。物理地址 段地址 偏移地址05234H 0400H 1234H 0523H 0004H 0520H 0034H 幾種地址概念:8086/8088的存儲(chǔ)器組織(zzh)共一百二十頁(yè)(2)、邏輯地址與物理地址 邏輯地址與物理地址概念邏輯地址與物理地址概念如下頁(yè)圖所示。邏輯地址:由段基址和段內(nèi)偏移(pin y)地址組成的地址, 段基址和段內(nèi)偏移地址都是16位的無(wú)符號(hào)二進(jìn)制數(shù), 在程序設(shè)計(jì)時(shí)使用。物理地址:存儲(chǔ)器的絕對(duì)地址(20位的實(shí)際地址), 范圍從00000HFFFFFH , 是由CPU訪問(wèn)存儲(chǔ)器時(shí)由地址總線發(fā)出的地址。存儲(chǔ)器管理:將程序中邏輯地址轉(zhuǎn)移為物理地址的機(jī)構(gòu)。
42、8086/8088的存儲(chǔ)器組織(zzh)共一百二十頁(yè) 物理地址的形成(xngchng).20000H25F60H25F61H25F62H25F63H2000H段基址(j zh)邏輯地址段內(nèi)偏移地址5F62H邏輯地址與物理地址8086/8088的存儲(chǔ)器組織共一百二十頁(yè) 4、各段在存儲(chǔ)器中分配 各段在存儲(chǔ)器中分配分4種情況討論: (1)由操作系統(tǒng)負(fù)責(zé)分配一般(ybn)情況,各段在存儲(chǔ)器中的分配是由操作系統(tǒng)負(fù)責(zé)。每個(gè)段可以獨(dú)立地占用64K存儲(chǔ)區(qū)。 (2)各段也可以允許重迭每個(gè)段的大小允許根據(jù)實(shí)際需要分配,不一定要占 64KB。 每個(gè)存儲(chǔ)單元的內(nèi)容不允許發(fā)生沖突(段可重迭,但使用時(shí)防止沖突)。8086
43、/8088的存儲(chǔ)器組織(zzh)共一百二十頁(yè)( 3)在程序的首部設(shè)定各段寄存器的值如果程序中的四個(gè)段都是64K的范圍之內(nèi),程序運(yùn)行時(shí)所需要的信息都在本程序所定義的段區(qū)之內(nèi),程序員只要在程序的首部設(shè)定各段寄存器的值就可以了。 ( 4)動(dòng)態(tài)地修改段寄存器的內(nèi)容如果程序的某一段(如數(shù)據(jù)段)在程序運(yùn)行過(guò)程中會(huì)超過(guò)64K空間,或者程序中可能訪問(wèn)除本身(bnshn)四個(gè)段以外的其他段區(qū)的信息, 那么在程序中必須動(dòng)態(tài)地修改段寄存器的內(nèi)容。8086/8088的存儲(chǔ)器組織(zzh)共一百二十頁(yè)64KB為一段代碼段范圍(fnwi):01000H10FFFH各段允許(ynx)重迭:代碼段:01000H1FFFH數(shù)據(jù)
44、段:02000H027FFH堆棧段:02800H028FFH64K程序64K數(shù)據(jù)64K堆棧00000H01000H21000H46000H64K附加數(shù)據(jù)A0000H0100H2100H4600HA000H段寄存器CSDSSSES8086/8088的存儲(chǔ)器組織共一百二十頁(yè)注意: 以8086CPU的IBMPC系統(tǒng)中,存儲(chǔ)器首尾地址的用途固定。 00000H003FFH共1K內(nèi)存單元用于存放中斷向量。 FFFF0HFFFFFH是存儲(chǔ)器底部的16個(gè)單元。 系統(tǒng)加電復(fù)位時(shí),會(huì)自動(dòng)轉(zhuǎn)到FFFF0H單元執(zhí)行, 而在FFFF0H處存放一條(y tio)無(wú)條件轉(zhuǎn)移指令,轉(zhuǎn)向系統(tǒng)初始化程序。8086/8088的存
45、儲(chǔ)器組織(zzh)共一百二十頁(yè)思考題1. 邏輯地址與物理地址是如何定義的?差別在那里?2. 若代碼段位于內(nèi)存的45000H到54FFF的64K范圍內(nèi),那么CS=? 若當(dāng)前SS=3500H,SP=0800H, 說(shuō)明堆棧段在存儲(chǔ)器中的物理地址,若此時(shí)入棧10個(gè)字節(jié),SP內(nèi)容是什么?若再出棧6個(gè)字節(jié),SP為什么值?3. 已知兩個(gè)16位字?jǐn)?shù)據(jù)3E50H和2F80H存放在數(shù)據(jù)段中偏移地址分別為6501H和5410H,當(dāng)前DS=2340H,畫(huà)圖說(shuō)明這兩個(gè)字?jǐn)?shù)據(jù)在內(nèi)存中的存放情況。若要讀出這兩個(gè)字,需要對(duì)存儲(chǔ)器進(jìn)行幾次讀操作?4. 如何理解每個(gè)存儲(chǔ)單元只有唯一的物理地址。但可由不同的段地址和不同的偏移地址組
46、成(z chn)?5. 8086系統(tǒng)中存儲(chǔ)器采用什么結(jié)構(gòu)?用什么信號(hào)來(lái)選中存儲(chǔ)體?IBMPC機(jī)存儲(chǔ)器分段有那些規(guī)定?8086/8088的存儲(chǔ)器組織(zzh)共一百二十頁(yè)最小模式(msh)的系統(tǒng)配置最大模式的系統(tǒng)配置2-4 8086的系統(tǒng)配置共一百二十頁(yè)1、 最小模式(msh)的配置 AB:加鎖存 由于AB/DB分時(shí)復(fù)用(f yn),故需對(duì)地址信息作鎖存,以保證其有效維持到總線周期結(jié)束 DB:加驅(qū)動(dòng) 需采用總線收發(fā)器,以增加DB的負(fù)載能力 由DEN、DT/R對(duì)收發(fā)器進(jìn)行控制8086的系統(tǒng)配置共一百二十頁(yè)CB:CPU直接產(chǎn)生 通常,在最小模式(msh)中CB不需驅(qū)動(dòng) 如果需要,也可使用驅(qū)動(dòng)器 參見(jiàn)
47、教材P438284:時(shí)鐘發(fā)生器,其主要作用為: 產(chǎn)生穩(wěn)定的CLK 同步外界輸入的READY、RESET信號(hào) 8086的系統(tǒng)配置共一百二十頁(yè)8086在最小模式下的典型(dinxng)配置(1)20位地址總線采用3個(gè)三態(tài)鎖存器8282進(jìn)行(jnxng)鎖存和驅(qū)動(dòng)(2)16位數(shù)據(jù)總線采用2個(gè)雙向總線驅(qū)動(dòng)器8286進(jìn)行驅(qū)動(dòng)(3)系統(tǒng)控制信號(hào)由8086引腳直接提供補(bǔ)充共一百二十頁(yè)補(bǔ)充(bchng):三態(tài)門(mén)和D觸發(fā)器三態(tài)門(mén)和以D觸發(fā)器形成的鎖存器是微機(jī)接口電路中最常使用的兩類邏輯電路三態(tài)門(mén)的作用:功率放大、導(dǎo)通開(kāi)關(guān)器件共用總線時(shí),一般使用三態(tài)電路:需要使用總線的時(shí)候打開(kāi)(d ki)三態(tài)門(mén);不使用的時(shí)候關(guān)閉
48、三態(tài)門(mén),使之處于高阻D觸發(fā)器的作用:信號(hào)保持,導(dǎo)通開(kāi)關(guān)三態(tài)鎖存8086的系統(tǒng)配置共一百二十頁(yè)三態(tài)緩沖器(三態(tài)門(mén))T為低電平時(shí):輸出為高阻抗(zkng)(三態(tài))T為高電平時(shí):輸出為輸入的反相TAF表示反相或低電平有效TAFTAFTAF三態(tài)門(mén)具有單向?qū)?xingdo)通和三態(tài)的特性共一百二十頁(yè)雙向三態(tài)緩沖器ABTOE*OE*0,導(dǎo)通 T1 AB T0 ABOE*1,不導(dǎo)通雙向三態(tài)門(mén)具有(jyu)雙向?qū)ê腿龖B(tài)的特性共一百二十頁(yè)8286引腳及內(nèi)部(nib)結(jié)構(gòu)圖1AO BOOO。OOET A1A7。 B1 B7。接DEN接DT/R 8286DEN = 0OE = 0當(dāng)DT/R=0時(shí),BA當(dāng)DT/R
49、= 1時(shí), A B28911121819總線(zn xin)驅(qū)動(dòng)器8286(或74LS245)8086的系統(tǒng)配置共一百二十頁(yè)D觸發(fā)器 D Q C Q電平鎖存 D Q C Q上升沿鎖存負(fù)脈沖的上升沿電平(din pn)鎖存:高電平通過(guò),低電平鎖存上升沿鎖存:通常用負(fù)脈沖觸發(fā)鎖存8086的系統(tǒng)配置共一百二十頁(yè)三態(tài)緩沖(hunchng)鎖存器(三態(tài)鎖存器)TA D Q CB鎖存環(huán)節(jié)緩沖環(huán)節(jié)8086的系統(tǒng)配置共一百二十頁(yè)OOODQCLKODI 0DO 0STBOE。8282引腳及內(nèi)部結(jié)構(gòu)圖。DI 0 DI 7輸入端DO 0 DO7輸出端OE/允許控制(低電平有效)STB鎖存信號(hào)高電平允許(通過(guò))低電平
50、禁止(鎖存)3. 地址鎖存器8282 (74LS373)DI 7DO78086的系統(tǒng)配置共一百二十頁(yè)8284時(shí)鐘(shzhng)發(fā)生器RESETREADYCLKOSCPCLKRESRDY1+5V14.31818MHZ8284RESETREADYCLK14.318MHZ2.385MHZ8086/8088 8284A內(nèi)部有一個(gè)晶體振蕩器,只需在晶體連接端X1、X2兩端外接石英晶體即可。也可由外振源輸入端EFI輸入一個(gè)TTL電平的振蕩信號(hào)(xnho)為時(shí)鐘源。8086的系統(tǒng)配置共一百二十頁(yè)2、 最大模式(msh)的配置 AB:加鎖存,與最小模式相同(xin tn) DB:加驅(qū)動(dòng),與最小模式相同 CB
51、:總線控制器產(chǎn)生 需使用一片總線控制器。若有必要,還需使用總線仲裁器 將S0、S1、S2總線狀態(tài)信號(hào)送入總線控制器,再結(jié)合其它輸入信號(hào)產(chǎn)生CPU的控制信號(hào) 參見(jiàn)教材P488086的系統(tǒng)配置共一百二十頁(yè)最大模式(msh)下的系統(tǒng)配置8086的系統(tǒng)配置共一百二十頁(yè)最大模式(msh)與最小模式(msh)的差別:最小模式: MN/MX接+5V,只有8086一個(gè)CPU, 控制信號(hào)由CPU產(chǎn)生最大模式 MN/MX接地,除8086一個(gè)主CPU外,還有一個(gè)以上協(xié)處理器,需要總線控制器來(lái)變換(binhun)和組合控制信號(hào)。8086的系統(tǒng)配置共一百二十頁(yè)2-5 8086/8088的操作(cozu)和時(shí)序共一百二十
52、頁(yè)時(shí)序(Timing)是指信號(hào)高低電平(有效或無(wú)效)變化及相互間的時(shí)間順序關(guān)系。(計(jì)算機(jī)操作運(yùn)行的時(shí)間順序 )CPU時(shí)序決定系統(tǒng)各部件間的同步和定時(shí)總線時(shí)序描述CPU引腳如何(rh)實(shí)現(xiàn)總線操作什么(shn me)是總線操作?8086/8088的操作和時(shí)序共一百二十頁(yè)總線操作是指CPU通過(guò)總線對(duì)外的各種操作8086/8088的總線操作主要(zhyo)有:存儲(chǔ)器讀、I/O讀操作存儲(chǔ)器寫(xiě)、I/O寫(xiě)操作中斷響應(yīng)操作總線請(qǐng)求及響應(yīng)操作系統(tǒng)復(fù)位與啟動(dòng)操作描述總線操作的微處理器時(shí)序有三級(jí)指令周期 總線周期 時(shí)鐘周期什么是指令(zhlng)、總線和時(shí)鐘周期?8086/8088的操作和時(shí)序共一百二十頁(yè)指令周期
53、是指一條指令經(jīng)取指、譯碼、讀寫(xiě)操作數(shù)到執(zhí)行完成(wn chng)的過(guò)程。若干總線周期組成一個(gè)指令周期總線周期是指CPU通過(guò)總線操作與外部(存儲(chǔ)器或I/O端口)進(jìn)行一次數(shù)據(jù)交換的過(guò)程8086/8088的基本總線周期需要4個(gè)時(shí)鐘周期4個(gè)時(shí)鐘周期編號(hào)為T(mén)1、T2、T3和T4總線周期中的時(shí)鐘周期也被稱作“T狀態(tài)” 時(shí)鐘周期的時(shí)間長(zhǎng)度就是時(shí)鐘頻率的倒數(shù)當(dāng)需要延長(zhǎng)總線周期時(shí)插入等待狀態(tài)TwCPU進(jìn)行內(nèi)部操作,沒(méi)有對(duì)外操作時(shí),其引腳就處于空閑狀態(tài)Ti何時(shí)(h sh)有總線周期?演示8086/8088的操作和時(shí)序共一百二十頁(yè)任何(rnh)指令的取指階段都需要存儲(chǔ)器讀總線周期,讀取的內(nèi)容是指令代碼任何一條以存儲(chǔ)
54、單元為源操作數(shù)的指令都將引起存儲(chǔ)器讀總線周期,任何一條以存儲(chǔ)單元為目的操作數(shù)的指令都將引起存儲(chǔ)器寫(xiě)總線周期只有執(zhí)行IN指令才出現(xiàn)I/O讀總線周期,執(zhí)行OUT指令才出現(xiàn)I/O寫(xiě)總線周期CPU響應(yīng)可屏蔽中斷時(shí)生成中斷響應(yīng)總線周期如何實(shí)現(xiàn)(shxin)同步?8086/8088的操作和時(shí)序共一百二十頁(yè)總線操作中如何實(shí)現(xiàn)時(shí)序同步是關(guān)鍵CPU總線周期采用同步時(shí)序:各部件都以系統(tǒng)時(shí)鐘信號(hào)為基準(zhǔn)當(dāng)相互不能配合時(shí),快速部件(CPU)插入等待狀態(tài)等待慢速部件(I/O和存儲(chǔ)器)CPU與外設(shè)接口常采用異步時(shí)序,它們(t men)通過(guò)應(yīng)答聯(lián)絡(luò)信號(hào)實(shí)現(xiàn)同步操作8086/8088的操作(cozu)和時(shí)序共一百二十頁(yè)學(xué)習(xí)CP
55、U時(shí)序(sh x)的目的1、了解時(shí)序有利于深入了解指令的執(zhí)行(zhxng)過(guò)程。2、有利于提高所編程序的質(zhì)量,減小存儲(chǔ)空間,加快程序運(yùn)行速度。3、幫助我們?cè)跇?gòu)成微機(jī)系統(tǒng)時(shí) ,考慮擴(kuò)展的I/O端口、存儲(chǔ)器等與CPU之間的時(shí)序配合。4、在微機(jī)時(shí)序控制應(yīng)用中,精確計(jì)算程序運(yùn)行時(shí)間,便于與控制過(guò)程相配合。8086/8088的操作和時(shí)序共一百二十頁(yè) 最小模式(msh)的8088總線時(shí)序1、存儲(chǔ)器讀總線周期2、存儲(chǔ)器寫(xiě)總線周期3、I/O讀總線周期4、I/O寫(xiě)總線周期5、中斷(zhngdun)響應(yīng)周期6、總線保持和響應(yīng)時(shí)序7、系統(tǒng)復(fù)位8086/8088的操作和時(shí)序共一百二十頁(yè)1、存儲(chǔ)器寫(xiě)總線(zn xin)
56、周期T4T3T2T1ALECLKA19/S6 A16/S3A15 A8AD7 AD0A15 A8A7 A0輸出數(shù)據(jù)A19 A16S6 S3IO/M*WR*READY(高電平)DT/R*DEN*T1狀態(tài)IO/M*輸出低電平,表示存儲(chǔ)器操作;輸出20位存儲(chǔ)器地址A19 A0;ALE輸出正脈沖,表示復(fù)用總線輸出地址;DT/R*高電平,表示本總線周期執(zhí)行寫(xiě)操作。T2狀態(tài)輸出控制信號(hào)WR*和數(shù)據(jù)D7 D0;DEN*輸出低電平,數(shù)據(jù)收發(fā)器獲得數(shù)據(jù)允許信號(hào)T3和Tw狀態(tài)檢測(cè)數(shù)據(jù)傳送是否(sh fu)能夠完成T4狀態(tài)完成數(shù)據(jù)傳送共一百二十頁(yè)2、I/O寫(xiě)總線(zn xin)周期輸出數(shù)據(jù)T4T3T2T1ALECL
57、KA19/S6 A16/S3A15 A8AD7 AD0A15 A8A7 A00000S6 S3IO/M*WR*READY(高電平)DT/R*DEN*T1狀態(tài)IO/M*輸出高電平,表示I/O操作;輸出16位I/O地址A15 A0;ALE輸出正脈沖,表示復(fù)用總線輸出地址;DT/R*高電平,表示本總線周期執(zhí)行寫(xiě)操作。T2狀態(tài)輸出控制(kngzh)信號(hào)WR*和數(shù)據(jù)D7 D0;DEN*輸出低電平,數(shù)據(jù)收發(fā)器獲得數(shù)據(jù)允許信號(hào)T3和Tw狀態(tài)檢測(cè)數(shù)據(jù)傳送是否能夠完成T4狀態(tài)完成數(shù)據(jù)傳送共一百二十頁(yè)3、存儲(chǔ)器讀總線(zn xin)周期READY(高電平)DT/R*DEN*T4T3T2T1ALECLKA19/S6
58、 A16/S3A15 A8AD7 AD0A15 A8A7 A0輸入數(shù)據(jù)A19 A16S6 S3IO/M*RD*T1狀態(tài)IO/M*輸出低電平,表示(biosh)存儲(chǔ)器操作;輸出20位存儲(chǔ)器地址A19 A0;ALE輸出正脈沖,表示復(fù)用總線輸出地址; DT/R*低電平,表示本總線周期執(zhí)行讀操作。T2狀態(tài)輸出控制信號(hào)RD*,DEN*輸出低電平,數(shù)據(jù)收發(fā)器獲得數(shù)據(jù)允許信號(hào)T3和Tw狀態(tài)檢測(cè)數(shù)據(jù)傳送是否能夠完成T4狀態(tài)前沿讀取數(shù)據(jù),完成數(shù)據(jù)傳送共一百二十頁(yè)4、I/O讀總線(zn xin)周期T4T3T2T1ALECLKA19/S6 A16/S3A15 A8AD7 AD0A15 A8A7 A0輸入數(shù)據(jù)S6
59、S3IO/M*RD*0000READY(高電平)DT/R*DEN*T1狀態(tài)IO/M*輸出高電平,表示I/O操作;輸出16位I/O地址A15 A0;ALE輸出正脈沖,表示復(fù)用總線輸出地址; DT/R*低電平,表示本總線周期(zhuq)執(zhí)行讀操作。T2狀態(tài)輸出控制信號(hào)RD*, DEN*輸出低電平,數(shù)據(jù)收發(fā)器獲得數(shù)據(jù)允許信號(hào)T3和Tw狀態(tài)檢測(cè)數(shù)據(jù)傳送是否能夠完成T4狀態(tài)前沿讀取數(shù)據(jù),完成數(shù)據(jù)傳送共一百二十頁(yè) CPU與存儲(chǔ)器的速度(sd)匹配:TwT1 T2 TW T4 CLKIO/MA19A16/S6S3 A15A8 AD7AD0 ALERDDT/RDEN高IO 低M A19A16 S6S3A7A0
60、DATA IN T3 WAIT READY READY 插入TW狀態(tài)(zhungti)的存儲(chǔ)器讀周期 共一百二十頁(yè)插入等待(dngdi)狀態(tài)Tw同步時(shí)序通過(guò)插入等待狀態(tài),來(lái)使速度差別較大的兩部分保持同步在讀寫(xiě)總線周期中,判斷是否插入Tw1. 在T3的前沿(qinyn)檢測(cè)READY引腳是否有效2. 如果READY無(wú)效,在T3和T4之間插入一個(gè)等效于T3的Tw ,轉(zhuǎn)13. 如果READY有效,執(zhí)行完該T狀態(tài),進(jìn)入T4狀態(tài)演示8086/8088的操作和時(shí)序共一百二十頁(yè)等待(dngdi)狀態(tài) T1 T2 T3 Tw Tw Tw T4CLKREADY前沿檢測(cè)動(dòng)態(tài)(dngti)8086/8088的操作和
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度二手房產(chǎn)交易全程監(jiān)管及售后服務(wù)合同3篇
- 《合成氣直接制取低碳烯烴催化劑的研究》
- 二零二五年企業(yè)內(nèi)部溝通協(xié)調(diào)勞動(dòng)合同3篇
- 《湘西苗族村級(jí)道路建設(shè)中習(xí)慣法的應(yīng)用研究》
- 《池田大作人本主義教育思想研究》
- 2025年度城市交通導(dǎo)視系統(tǒng)VI設(shè)計(jì)及安全管理合同3篇
- 《基于因子分析法王府井財(cái)務(wù)績(jī)效評(píng)價(jià)研究》
- 2025年度辦公室裝修工程材料供應(yīng)商合作協(xié)議3篇
- 網(wǎng)創(chuàng)課程設(shè)計(jì)
- 《基于可信多模態(tài)融合情感識(shí)別研究》
- 2024年度陶瓷產(chǎn)品代理銷(xiāo)售與品牌戰(zhàn)略合作協(xié)議3篇
- 2024版旅游景區(qū)旅游巴士租賃合同3篇
- LINUX網(wǎng)絡(luò)操作系統(tǒng)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋湖北交通職業(yè)技術(shù)學(xué)院
- 河北省邯鄲市2023-2024學(xué)年高一上學(xué)期期末質(zhì)量檢測(cè)地理試題 附答案
- 醫(yī)療機(jī)構(gòu)競(jìng)業(yè)限制協(xié)議
- 2024年度物業(yè)管理公司員工獎(jiǎng)懲制度3篇
- 交通疏導(dǎo)安全教育培訓(xùn)
- 2025重癥醫(yī)學(xué)科護(hù)理工作計(jì)劃
- 團(tuán)隊(duì)建設(shè)與執(zhí)行力課件
- 醫(yī)療廢物轉(zhuǎn)移實(shí)施方案
- 工程師個(gè)人年終總結(jié)
評(píng)論
0/150
提交評(píng)論