微機(jī)原理與接口技術(shù)v12-第2章_第1頁
微機(jī)原理與接口技術(shù)v12-第2章_第2頁
微機(jī)原理與接口技術(shù)v12-第2章_第3頁
微機(jī)原理與接口技術(shù)v12-第2章_第4頁
微機(jī)原理與接口技術(shù)v12-第2章_第5頁
已閱讀5頁,還剩108頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微機(jī)原理與接口技術(shù)第2章微處理器與總線教學(xué)重點(diǎn)教學(xué)內(nèi)容●8086/8088內(nèi)部結(jié)構(gòu)●8086/8088存儲(chǔ)器組織●8086/8088基本引腳●8086/8088總線時(shí)序及形成內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)執(zhí)行部件EU總線接口部件BIU功能結(jié)構(gòu)執(zhí)行部件EU(executionunit)負(fù)責(zé)指令的譯碼、執(zhí)行和數(shù)據(jù)的運(yùn)算總線接口部件BIU(businterfaceunit)管理CPU與系統(tǒng)總線的接口負(fù)責(zé)CPU對存儲(chǔ)器和外設(shè)進(jìn)行訪問兩個(gè)單元在大多數(shù)情況下獨(dú)立操作,還可以并行執(zhí)行,實(shí)現(xiàn)指令預(yù)?。ㄖ噶钭x取和執(zhí)行的流水線操作)內(nèi)部結(jié)構(gòu)并行工作內(nèi)部結(jié)構(gòu)內(nèi)部寄存器內(nèi)部寄存器8086/8088寄存器組(registerarray)8個(gè)通用寄存器4個(gè)段寄存器1個(gè)標(biāo)志寄存器1個(gè)指令指針寄存器總共14個(gè),均為16位!

一定要熟悉這些寄存器的名稱和作用!通用寄存器內(nèi)部寄存器8086/8088有8個(gè)通用的16位寄存器(1)數(shù)據(jù)寄存器:AXBXCXDX(2)變址寄存器:SIDI(3)指針寄存器:BPSP4個(gè)數(shù)據(jù)寄存器還可以分成高8位和低8位2個(gè)獨(dú)立的寄存器8個(gè)通用8位寄存器AX:AHAL BX:BHBLCX:CHCL DX:DHDL數(shù)據(jù)寄存器內(nèi)部寄存器AX-累加器(accumulator)使用頻度最高,用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等8位累加器為ALBX-基址寄存器(baseaddressregister)常用做存放存儲(chǔ)器地址CX-計(jì)數(shù)器(counter)作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器DX-數(shù)據(jù)寄存器(dataregister)常用來存放雙字長數(shù)據(jù)的高16位,或存放外設(shè)端口地址變址寄存器內(nèi)部寄存器16位變址寄存器SI和DI,常用于存儲(chǔ)器變址尋址方式時(shí)提供地址SI源地址寄存器(sourceindex)DI目的地址寄存器(destinationindex)在串操作類指令中,SI、DI還有較特殊的用法

現(xiàn)在不必完全理解,以后會(huì)詳細(xì)展開。指針寄存器內(nèi)部寄存器指針寄存器用于尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù)SP堆棧指針寄存器(stackPointer)指示堆棧段棧頂?shù)奈恢茫ㄆ频刂罚〣P基址指針寄存器(basepointer)表示數(shù)據(jù)在堆棧段中的基地址SP和BP寄存器與SS段寄存器聯(lián)合使用以確定堆棧段中的存儲(chǔ)單元地址堆棧(stack)是主存中一個(gè)特殊的區(qū)域,采用“先進(jìn)后出”或“后進(jìn)先出”存取操作方式。用8088/8086形成的微機(jī)系統(tǒng)中,堆棧區(qū)域被稱為堆棧段。指令指針寄存器內(nèi)部寄存器IP-指令指針寄存器(instructionpointer)指示主存儲(chǔ)器指令的位置隨著指令的執(zhí)行,IP將自動(dòng)修改以指示下一條指令所在的存儲(chǔ)器位置

IP寄存器是一個(gè)專用寄存器IP寄存器與CS段寄存器聯(lián)合使用以確定下一條指令的存儲(chǔ)單元地址

程序中不能直接使用IP寄存器!標(biāo)志寄存器內(nèi)部寄存器程序設(shè)計(jì)需要利用標(biāo)志的狀態(tài)。標(biāo)志(flag)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式。處理器的各種標(biāo)志形成了1個(gè)16位的標(biāo)志寄存器FLAGS(程序狀態(tài)字PSW寄存器)。OF111512DF10IF9TF8SF7ZF65AF43PF21CF0標(biāo)志寄存器的分類內(nèi)部寄存器狀態(tài)標(biāo)志—用來記錄程序運(yùn)行結(jié)果的狀態(tài)信息,許多指令的執(zhí)行都將相應(yīng)地設(shè)置它CFZFSFPFOFAF控制標(biāo)志—可由程序根據(jù)需要用指令設(shè)置,用于控制處理器執(zhí)行指令的方式DFIFTF進(jìn)位標(biāo)志CF內(nèi)部寄存器當(dāng)運(yùn)算結(jié)果的最高位有進(jìn)位或借位時(shí),進(jìn)位標(biāo)志置1,CF=1;否則CF=0進(jìn)位標(biāo)志CF(carryflag)3AH+7CH=B6H, 沒有進(jìn)位: CF=0AAH+7CH=(1)26H, 有進(jìn)位: CF=1零標(biāo)志ZF內(nèi)部寄存器若運(yùn)算結(jié)果為0,則ZF=1;否則ZF=0零標(biāo)志ZF(zeroflag)3AH+7CH=B6H, 結(jié)果不是零:ZF=084H+7CH=(1)00H,結(jié)果是零:ZF=1注意:ZF為1表示結(jié)果是0!符號(hào)標(biāo)志SF內(nèi)部寄存器若運(yùn)算結(jié)果最高位為1,則SF=1;否則SF=0符號(hào)標(biāo)志SF(signflag)3AH+7CH=B6H, 最高位D7=1:SF=184H+7CH=(1)00H,最高位D7=0:SF=0帶符號(hào)數(shù)用最高位表示數(shù)據(jù)的符號(hào),所以,最高位就是符號(hào)標(biāo)志的狀態(tài)奇偶標(biāo)志PF內(nèi)部寄存器當(dāng)運(yùn)算結(jié)果最低字節(jié)中“1”的個(gè)數(shù)為偶數(shù)時(shí),PF=1;否則PF=0奇偶標(biāo)志PF(parityflag)3AH+7CH=B6H=10110110B結(jié)果中有5個(gè)“1”,是奇數(shù),所以PF=0

PF標(biāo)志僅反映最低8位中“1”的個(gè)數(shù)是偶或奇,即使是進(jìn)行16位字操作。溢出標(biāo)志OF內(nèi)部寄存器若算術(shù)運(yùn)算的結(jié)果有溢出,則OF=1;否則OF=0溢出標(biāo)志OF(overflowflag)3AH+7CH=B6H, 產(chǎn)生溢出:OF=1AAH+7CH=(1)26H,沒有溢出:OF=0溢出的概念內(nèi)部寄存器處理器內(nèi)部以補(bǔ)碼表示帶符號(hào)數(shù)。8位表達(dá)的整數(shù)范圍是:+127~-128。16位表達(dá)的范圍是:+32767~-32768。如果運(yùn)算結(jié)果超出這個(gè)范圍,就產(chǎn)生了溢出。有溢出,說明有符號(hào)數(shù)的運(yùn)算結(jié)果不正確。3AH+7CH=B6H,就是58+124=182,已經(jīng)超出-128~+127,產(chǎn)生溢出,故OF=1;補(bǔ)碼B6H表達(dá)真值是-74,顯然運(yùn)算結(jié)果也不正確?什么是溢出溢出和進(jìn)位的區(qū)別內(nèi)部寄存器溢出標(biāo)志OF和進(jìn)位標(biāo)志CF是兩個(gè)意義不同的標(biāo)志。進(jìn)位標(biāo)志表示無符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果仍然正確。溢出標(biāo)志表示帶符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果已經(jīng)不正確!?溢出和進(jìn)位的區(qū)別舉例內(nèi)部寄存器例1:3AH+7CH=B6H無符號(hào)數(shù)運(yùn)算: 58+124=182

范圍內(nèi),無進(jìn)位帶符號(hào)數(shù)運(yùn)算: 58+124=182

范圍外,有溢出例2:AAH+7CH=(1)26H無符號(hào)數(shù)運(yùn)算: 170+124=294

范圍外,有進(jìn)位帶符號(hào)數(shù)運(yùn)算: -86+124=38

范圍內(nèi),無溢出應(yīng)用場合內(nèi)部寄存器處理器對兩個(gè)操作數(shù)進(jìn)行運(yùn)算時(shí),按照無符號(hào)數(shù)求得結(jié)果,并相應(yīng)設(shè)置進(jìn)位標(biāo)志CF;同時(shí),根據(jù)是否超出帶符號(hào)數(shù)的范圍設(shè)置溢出標(biāo)志OF應(yīng)該利用哪個(gè)標(biāo)志,則由程序員來決定。也就是說,如果將參加運(yùn)算的操作數(shù)認(rèn)為是無符號(hào)數(shù),就應(yīng)該關(guān)心進(jìn)位;如果認(rèn)為是帶符號(hào)數(shù),則要注意是否溢出。溢出和進(jìn)位的應(yīng)用場合溢出的判斷內(nèi)部寄存器只有當(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é)果顯然不正確。如何快速判斷溢出?例1:3AH+7CH=B6H

溢出例2:AAH+7CH=26H

無溢出例3:3AH-7CH=BEH

無溢出例4:AAH-7CH=2EH

溢出輔助進(jìn)位標(biāo)志AF內(nèi)部寄存器運(yùn)算時(shí)D3位(低半字節(jié))有進(jìn)位或借位時(shí),AF=1;否則AF=0輔助進(jìn)位標(biāo)志AF(auxiliaryparityflag)3AH+7CH=B6H,D3有進(jìn)位:AF=1

AF標(biāo)志主要由處理器內(nèi)部使用,用于十進(jìn)制算術(shù)運(yùn)算調(diào)整指令中,用戶一般不必關(guān)心。方向標(biāo)志DF內(nèi)部寄存器用于串操作指令中,控制地址的變化方向設(shè)置DF=0,存儲(chǔ)器地址自動(dòng)增加;設(shè)置DF=1,存儲(chǔ)器地址自動(dòng)減少。方向標(biāo)志DF(directionflag)CLD指令復(fù)位方向標(biāo)志:DF=0STD指令置位方向標(biāo)志:DF=1中斷允許標(biāo)志IF內(nèi)部寄存器控制可屏蔽中斷是否可以被處理器響應(yīng)設(shè)置IF=1,則允許中斷;設(shè)置IF=0,則禁止中斷。中斷允許標(biāo)志IF(interrupt-enableflag)CLI指令復(fù)位中斷允許標(biāo)志:IF=0STI指令置位中斷允許標(biāo)志:IF=1陷阱標(biāo)志TF內(nèi)部寄存器用于控制處理器進(jìn)入單步操作方式設(shè)置TF=0,處理器正常工作;設(shè)置TF=1,處理器單步執(zhí)行指令。陷阱標(biāo)志TF(trapflag)TF也稱為單步標(biāo)志。利用單步中斷可對程序進(jìn)行逐條指令的調(diào)試?!鷨尾秸{(diào)試段寄存器內(nèi)部寄存器CS-代碼段寄存器(codesegment)指明當(dāng)前代碼段的起始地址DS-數(shù)據(jù)段寄存器(datasegment)指明當(dāng)前數(shù)據(jù)段的起始地址ES-附加段寄存器(extrasegment)指明當(dāng)前附加段的起始地址SS-堆棧段寄存器(stacksegment)指明當(dāng)前堆棧段的起始地址均為16位!寄存器總結(jié)存儲(chǔ)器結(jié)構(gòu)8個(gè)16位通用寄存器8個(gè)8位通用寄存器6個(gè)狀態(tài)標(biāo)志3個(gè)控制標(biāo)志4個(gè)段寄存器1個(gè)指令指針寄存器共有14個(gè)16位寄存器存儲(chǔ)器存儲(chǔ)器結(jié)構(gòu)存儲(chǔ)器是計(jì)算機(jī)存儲(chǔ)信息的地方。掌握數(shù)據(jù)存儲(chǔ)格式,以及存儲(chǔ)器的分段管理對以后的匯編程序設(shè)計(jì)非常重要。你能區(qū)別寄存器、存儲(chǔ)器(主存)、外存嗎區(qū)別存儲(chǔ)器結(jié)構(gòu)寄存器是微處理器(CPU)內(nèi)部暫存數(shù)據(jù)的存儲(chǔ)單元,以名稱表示,例如:AX,BX..….等存儲(chǔ)器也就是平時(shí)所說的主存,也叫內(nèi)存,可直接與CPU進(jìn)行數(shù)據(jù)交換。外存主要指用來長久保存數(shù)據(jù)的外部存儲(chǔ)介質(zhì),常見的有硬盤、光盤、磁帶、U盤等。外存的數(shù)據(jù)只能通過主存間接地與CPU交換數(shù)據(jù)。程序及其數(shù)據(jù)可以長久存放在外存,在運(yùn)行需要時(shí)才進(jìn)入主存。數(shù)據(jù)的存儲(chǔ)格式存儲(chǔ)器結(jié)構(gòu)D7D0字節(jié)D15D0字D31D0雙字D7D000006H78H00005H56H00004H12H00003H34H00002H00001H00000H低地址LSBMSB存儲(chǔ)單元及其存儲(chǔ)內(nèi)容存儲(chǔ)器結(jié)構(gòu)每個(gè)存儲(chǔ)單元都有一個(gè)編號(hào),被稱為存儲(chǔ)器地址每個(gè)存儲(chǔ)單元存放一個(gè)字節(jié)的內(nèi)容0002H單元存放有一個(gè)數(shù)據(jù)34H表達(dá)為

[0002H]=34H多字節(jié)數(shù)據(jù)存放方式存儲(chǔ)器結(jié)構(gòu)多字節(jié)數(shù)據(jù)在存儲(chǔ)器中占連續(xù)的多個(gè)字節(jié)存儲(chǔ)單元存放時(shí),低字節(jié)存入低地址,高字節(jié)存入高地址;表達(dá)時(shí),用它的低地址表示多字節(jié)數(shù)據(jù)占據(jù)的地址空間。

80x86處理器采用“低對低、高對高”的存儲(chǔ)形式,被稱為“小端方式(LittleEndian)”。

相對應(yīng)還存在“大端方式(BigEndian)”。舉例存儲(chǔ)器結(jié)構(gòu)00000H00001H00002H34H00003H12H00004H56H00005H78H00006HD7D00002H“字”單元的內(nèi)容為:[0002H]=1234H0002H號(hào)“雙字”單元的內(nèi)容為:[0002H]=78561234H存儲(chǔ)器的分段管理存儲(chǔ)器結(jié)構(gòu)8086/8088CPU有20條地址線最大可尋址空間為220=1MB物理地址范圍從00000H~FFFFFH地址信息為20位內(nèi)部寄存器最多只能處理16位數(shù)據(jù)怎么辦?分段(segment)段的劃分存儲(chǔ)器結(jié)構(gòu)8086/8088將1MB的存儲(chǔ)器空間分成若干個(gè)邏輯段(segment),要求:每個(gè)段的大小最大限制為64KB;每個(gè)段的起始地址低4位為0000B。物理地址邏輯地址地址的表示存儲(chǔ)器結(jié)構(gòu)00000HFFFFFH段起始地址段內(nèi)偏移地址絕對地址絕對地址=段起始地址+段內(nèi)偏移地址物理地址段基地址物理地址與邏輯地址存儲(chǔ)器結(jié)構(gòu)物理地址PA8086/8088的存儲(chǔ)系統(tǒng)中,對應(yīng)每個(gè)存儲(chǔ)單元都有一個(gè)唯一的20位編號(hào);范圍:00000H~FFFFFH。邏輯地址程序員編程時(shí)采用。段基地址:段內(nèi)偏移地址分隔符物理地址14700H邏輯地址1460H:0100H邏輯地址存儲(chǔ)器結(jié)構(gòu)段基地址指明邏輯段在主存儲(chǔ)器中的起始位置必須是16的整數(shù)倍!即:xxxx0H省略低4位0000B,段地址可用16位數(shù)據(jù)表示,因此,就能用16位段寄存器表達(dá)段基地址。偏移地址指明存儲(chǔ)器單元距離段起始位置的偏移量每段不超過64KB,偏移地址也可用16位數(shù)據(jù)表示也稱有效地址EA(effectiveaddress)物理地址與邏輯地址的轉(zhuǎn)換存儲(chǔ)器結(jié)構(gòu)物理地址=段基地址×16+段內(nèi)偏移地址物理地址與邏輯地址的關(guān)系存儲(chǔ)器結(jié)構(gòu)一個(gè)物理地址可以有多個(gè)邏輯地址。

邏輯地址 1460:0100H 1380:0F00H

14600H+100H14700H13800H+F00H14700H段地址左移4位加上偏移地址得到物理地址思考題存儲(chǔ)器結(jié)構(gòu)1、對于物理地址12345H,可能存在多少個(gè)不同的邏輯地址?2、對于物理地址02345H,可能存在多少個(gè)不同的邏輯地址?段基地址-段寄存器存儲(chǔ)器結(jié)構(gòu)段基地址:段內(nèi)偏移地址段寄存器代碼段數(shù)據(jù)段堆棧段附加段代碼段存儲(chǔ)器結(jié)構(gòu)代碼段用來存放程序的指令序列CS:存放代碼段的段基地址IP:指示下條指令的偏移地址處理器利用CS:IP取得下一條要執(zhí)行的指令數(shù)據(jù)段存儲(chǔ)器結(jié)構(gòu)數(shù)據(jù)段存放運(yùn)行程序所用的數(shù)據(jù)DS:存放數(shù)據(jù)段的段基地址有效地址EA:存儲(chǔ)器操作數(shù)的偏移地址處理器利用DS:EA存取數(shù)據(jù)段中的數(shù)據(jù)附加段存儲(chǔ)器結(jié)構(gòu)附加段是附加的數(shù)據(jù)段,也保存數(shù)據(jù)ES:存放附加段的段基地址有效地址EA:存儲(chǔ)器操作數(shù)的偏移地址處理器利用ES:EA存取附加段中的數(shù)據(jù)串操作指令將附加段作為其目的操作數(shù)的存放區(qū)域堆棧段存儲(chǔ)器結(jié)構(gòu)堆棧段確定堆棧所在的主存區(qū)域SS:存放堆棧段的段基地址SP:指示堆棧棧頂?shù)钠频刂诽幚砥骼肧S:SP操作堆棧頂?shù)臄?shù)據(jù)邏輯段的分配存儲(chǔ)器結(jié)構(gòu)程序的指令序列必須安排在代碼段程序使用的堆棧一定在堆棧段程序中的數(shù)據(jù)默認(rèn)是安排在數(shù)據(jù)段,也經(jīng)常安排在附加段串操作的目的區(qū)必須是附加段數(shù)據(jù)的存放比較靈活,實(shí)際上可以存放在任何一種邏輯段中存儲(chǔ)器各邏輯段之間可以連接、分開、部分重疊或完全重疊。演示存儲(chǔ)器結(jié)構(gòu)段超越存儲(chǔ)器結(jié)構(gòu)堆棧段確定堆棧所在的主存區(qū)域。沒有指明時(shí),一般的數(shù)據(jù)訪問在DS段。默認(rèn)的情況允許改變,需要使用段超越前綴。CS: ;代碼段超越,使用代碼段的數(shù)據(jù)SS: ;堆棧段超越,使用堆棧段的數(shù)據(jù)DS: ;數(shù)據(jù)段超越,使用數(shù)據(jù)段的數(shù)據(jù)ES: ;附加段超越,使用附加段的數(shù)據(jù)段超越舉例存儲(chǔ)器結(jié)構(gòu)沒有段超越的指令實(shí)例:MOVAX,[2000H]

;AX←DS:[2000H];從默認(rèn)的DS數(shù)據(jù)段取出數(shù)據(jù)采用段超越前綴的指令實(shí)例:MOVAX,ES:[2000H];AX←ES:[2000H];從指定的ES附加段取出數(shù)據(jù)段超越的規(guī)定存儲(chǔ)器結(jié)構(gòu)訪問存儲(chǔ)器的方式默認(rèn)可超越偏移地址取指令CS無IP堆棧操作SS無SP一般數(shù)據(jù)訪問DSCSESSS有效地址EABP基址的尋址方式SSCSESDS有效地址EA串操作的源操作數(shù)DSCSESSSSI串操作的目的操作數(shù)ES無DI8086/8088芯片CPU引腳8086/8088引腳CPU引腳12345678910111213141516171819204039383736353433323130292827262524232221

GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15AD16/S3AD17/S4AD18/S5AD19/S6SS0*MN/MX*RD*HOLD(RQ)*/GT0*)HLDA(RQ1*/GT1*)WR*(LOCK*)M/IO(S2*

)DT/R*(S1*

)DEN(S0

)ALEINTATEST*READYRESET80888086/8088CPU的特性CPU引腳字長:8088準(zhǔn)16位,8086是16位時(shí)鐘頻率:標(biāo)準(zhǔn)主頻為5MHz數(shù)據(jù)、地址總線復(fù)用內(nèi)存容量:1MB基本尋址方式:8種指令系統(tǒng):99條基本指令端口地址:64K個(gè)中斷功能:中斷源多達(dá)256個(gè)支持單片或多片CPU工作如何學(xué)習(xí)引腳?CPU引腳學(xué)習(xí)時(shí)請?zhí)貏e關(guān)注以下幾個(gè)方面:引腳的功能信號(hào)的流向有效電平三態(tài)能力信號(hào)從芯片向外輸出,還是從外部輸入芯片,或者是雙向的起作用的邏輯電平高、低電平有效還是上升、下降邊沿有效輸出正常的低電平、高電平外,還可以輸出高阻的第三態(tài)8088引腳分類CPU引腳地址/數(shù)據(jù)總線地址/狀態(tài)總線控制總線電源和地線地址/數(shù)據(jù)總線CPU引腳AD7~AD0(address/data)地址/數(shù)據(jù)分時(shí)復(fù)用,雙向、三態(tài)T1時(shí)刻輸出低8位地址A7~A0其他時(shí)間用于傳送8位數(shù)據(jù)D7~D0A15~A8(address)中間8位地址,輸出、三態(tài)提供20位地址的中間8位地址A15~A8分時(shí)復(fù)用CPU引腳分時(shí)復(fù)用就是一個(gè)引腳在不同的時(shí)刻具有兩個(gè)甚至多個(gè)作用。最常見的總線復(fù)用是數(shù)據(jù)和地址引腳復(fù)用。分時(shí)復(fù)用的目的是為了減少對外引腳個(gè)數(shù)。地址/狀態(tài)總線CPU引腳A19/S6~A16/S3(address/status)地址/狀態(tài)分時(shí)復(fù)用,輸出、三態(tài)訪問存儲(chǔ)器的T1輸出高4位地址A19~A16訪問外設(shè)的T1時(shí)刻全部輸出低電平其他時(shí)間輸出狀態(tài)信號(hào)S6~S3控制總線CPU引腳ALE(addresslatchenable)地址鎖存允許,輸出、三態(tài)、高電平有效有效時(shí),表示引腳AD7~AD0和A19/S6~A16/S3正在傳送地址信息由于地址信息在這些復(fù)用引腳上出現(xiàn)的時(shí)間很短暫,所以系統(tǒng)可以利用ALE引腳將地址鎖存起來控制總線CPU引腳IO/M(inputandoutput/memory)I/O或存儲(chǔ)器訪問選擇,輸出、三態(tài)高電平,表示CPU將訪問I/O端口。這時(shí)地址總線A15~A0提供16位I/O口地址低電平時(shí),表示CPU將訪問存儲(chǔ)器。這時(shí)地址總線A19~A0提供20位存儲(chǔ)器地址控制總線CPU引腳WR(write)寫控制,輸出、三態(tài)、低電平有效有效時(shí),表示CPU正在輸出數(shù)據(jù)給存儲(chǔ)器或I/O端口RD(read)讀控制,輸出、三態(tài)、低電平有效有效時(shí),表示CPU正在從存儲(chǔ)器或I/O端口讀入數(shù)據(jù)控制總線CPU引腳IO/M、WR和RD是最基本的控制信號(hào)組合后,控制4種基本的總線周期總線周期IO/MWRRD存儲(chǔ)器讀低高低存儲(chǔ)器寫低低高I/O讀高高低I/O寫高低高組合電路CPU引腳I/O讀I/O寫存儲(chǔ)器讀存儲(chǔ)器寫控制總線CPU引腳DEN(dataenable)

數(shù)據(jù)允許,輸出、三態(tài)、低電平有效有效時(shí),表示當(dāng)前數(shù)據(jù)總線上正在傳送數(shù)據(jù),可用來控制對數(shù)據(jù)總線的驅(qū)動(dòng)

DT/R(datatransmit/receive)數(shù)據(jù)發(fā)送/接收,輸出、三態(tài)該信號(hào)表明當(dāng)前總線上數(shù)據(jù)的流向高電平時(shí)數(shù)據(jù)自CPU輸出(發(fā)送)低電平時(shí)數(shù)據(jù)輸入CPU(接收)控制總線CPU引腳READY存儲(chǔ)器或I/O口就緒,輸入、高電平有效總線操作周期中,CPU會(huì)測試該引腳如果測到有效,CPU直接進(jìn)入下一步如果測到無效,CPU將插入等待周期等待周期中仍然要監(jiān)測READY信號(hào),確定是否繼續(xù)插入等待周期控制總線CPU引腳INTR(interruptrequest)可屏蔽中斷請求,輸入、高電平有效有效時(shí),表示請求設(shè)備向CPU申請可屏蔽中斷該中斷請求是否響應(yīng)受控于IF(中斷允許標(biāo)志),可以被屏蔽掉INTA(interruptacknowledge)可屏蔽中斷響應(yīng),輸出、低電平有效有效時(shí),表示來自INTR引腳的中斷請求已被CPU響應(yīng),CPU進(jìn)入中斷響應(yīng)周期控制總線CPU引腳NMI(non-maskableinterrupt)非屏蔽中斷請求,輸入、上升沿有效有效,表示外界向CPU申請非屏蔽中斷該中斷請求不能被CPU屏蔽,所以優(yōu)先級(jí)別高于INTR(可屏蔽中斷)主機(jī)與外設(shè)進(jìn)行數(shù)據(jù)交換通常采用可屏蔽中斷。非屏蔽中斷通常用于處理掉電等系統(tǒng)故障??刂瓶偩€CPU引腳HOLD總線保持(即總線請求),輸入、高電平有效有效時(shí),表示總線請求設(shè)備向CPU申請占有總線該信號(hào)從有效回到無效時(shí),表示總線請求設(shè)備對總線的使用已經(jīng)結(jié)束,通知CPU收回對總線的控制權(quán)控制總線CPU引腳HLDA(HOLDacknowledge)總線保持響應(yīng)(總線響應(yīng)),輸出、高電平有效有效,表示CPU已響應(yīng)總線請求并已將總線釋放此時(shí)CPU的地址總線、數(shù)據(jù)總線及具有三態(tài)輸出能力的控制總線將全面呈現(xiàn)高阻,使總線請求設(shè)備可以順利接管總線待到總線請求信號(hào)HOLD無效,總線響應(yīng)信號(hào)HLDA也轉(zhuǎn)為無效,CPU重新獲得總線控制權(quán)控制總線CPU引腳RESET復(fù)位請求,輸入、高電平有效有效時(shí),將使CPU回到其初始狀態(tài)當(dāng)他再度返回?zé)o效時(shí),CPU將重新開始工作8088復(fù)位后CS=FFFFH、IP=0000H,所以程序入口在物理地址FFFF0HCLK(Clock)時(shí)鐘輸入,給CPU提供內(nèi)部定時(shí)信號(hào)8088的標(biāo)準(zhǔn)工作時(shí)鐘為5MHzIBMPC/XT機(jī)的8088采用了4.77MHz的時(shí)鐘控制總線CPU引腳MN/MX(minimum/maximum)組態(tài)選擇,輸入接高電平時(shí),8088引腳工作在最小組態(tài)反之,8088工作在最大組態(tài)最小組態(tài)模式構(gòu)成小規(guī)模的應(yīng)用系統(tǒng)8088本身提供所有的系統(tǒng)總線信號(hào)最大組態(tài)模式構(gòu)成較大規(guī)模的應(yīng)用系統(tǒng)8088和總線控制器8288共同形成系統(tǒng)總線信號(hào)控制總線CPU引腳S2、S1、S0總線周期狀態(tài)標(biāo)志,輸出、三態(tài)3條引腳狀態(tài)信號(hào)的不同組合,表示CPU總線周期的操作類型,參見表2-6(P40)最大模式下,8288利用這些信號(hào)的不同組合,產(chǎn)生訪問存儲(chǔ)器或I/O的控制信號(hào)或中斷響應(yīng)信號(hào)電源和地線CPU引腳Vcc電源輸入,向CPU提供+5V電源GND(ground)接地,向CPU提供參考地電平8088引腳小結(jié)CPU引腳8根數(shù)據(jù)線D0~D720根地址線:A0~A19控制線ALE、IO/M、WR、RD、DENREADY、DT/RINTR、INTA、NMI、HOLD、HLDARESET、CLK、MN/MXS2、S1、S0電源Vcc地線GND8086引腳CPU引腳8086的引腳與8088的區(qū)別8086有16條地址/數(shù)據(jù)復(fù)用引腳AD15~AD0。8088只有AD7~AD0分時(shí)復(fù)用8086的第34腳為BHE/S7,它是高8位數(shù)據(jù)總線的允許和狀態(tài)信息復(fù)用引腳。8088為SS08086的第28腳為M/IO與8088第28腳(IO/M)意義正好相反時(shí)序工作時(shí)序CPU引腳是如何相互配合,實(shí)現(xiàn)總線操作、控制系統(tǒng)工作的呢?時(shí)序(timing)是指信號(hào)高低電平、有效或無效的變化以及相互間的時(shí)間順序關(guān)系時(shí)序決定系統(tǒng)各部件之間的同步和定時(shí)時(shí)序基本概念工作時(shí)序指令周期完整地執(zhí)行完一條指令所用的時(shí)間不同指令的指令周期時(shí)間長短可能不同由若干總線周期組成總線周期CPU通過系統(tǒng)總線對存儲(chǔ)器或接口進(jìn)行一次訪問所需要的時(shí)間時(shí)鐘周期CLK時(shí)鐘信號(hào)的周期,也稱T狀態(tài)CPU最小時(shí)間單位,一般等于時(shí)鐘頻率的倒數(shù)IBMPC/XT時(shí)鐘頻率為4.77MHz,則T=210ns時(shí)鐘周期工作時(shí)序8086/8088基本總線周期需要4個(gè)時(shí)鐘周期4個(gè)時(shí)鐘周期編號(hào)為T1、T2、T3和T4當(dāng)需要延長總線周期時(shí)插入等待狀態(tài)TwCPU進(jìn)行內(nèi)部操作,沒有對外操作時(shí),其引腳就處于空閑狀態(tài)Ti主要總線操作工作時(shí)序8088的總線操作主要有:存儲(chǔ)器讀存儲(chǔ)器寫I/O讀I/O寫中斷響應(yīng)總線請求及響應(yīng)空閑狀態(tài)Ti典型時(shí)序工作時(shí)序最小組態(tài)模式下典型時(shí)序(8086為例)存儲(chǔ)器讀總線周期存儲(chǔ)器寫總線周期

I/O讀總線周期

I/O寫總線周期中斷響應(yīng)周期8086存儲(chǔ)器讀總線周期工作時(shí)序讀周期說明-T1工作時(shí)序M/IO信號(hào)指出CPU訪問內(nèi)存還是I/O端口輸出20位存儲(chǔ)器地址A19~A0ALE輸出正脈沖,表示AD總線輸出地址BHE信號(hào)也在T1狀態(tài)通過BHE/S7引腳送出DT/R端輸出低電平,表示本總線周期為讀周期讀周期說明-T2工作時(shí)序地址信號(hào)消失AD15~AD0進(jìn)入高阻狀態(tài),以便為讀入數(shù)據(jù)作準(zhǔn)備A19/S6~A16/S3及BHE/S7引腳上輸出狀態(tài)信息S7~S3DEN信號(hào)在T2狀態(tài)變?yōu)榈碗娖絉D信號(hào)在T2狀態(tài)變?yōu)榈碗娖?,被地址信?hào)選中的存儲(chǔ)單元,才被RD信號(hào)從中讀出數(shù)據(jù),將其送到數(shù)據(jù)總線上讀周期說明-T3.T4工作時(shí)序T3存儲(chǔ)單元的數(shù)據(jù)送到數(shù)據(jù)總線上,CPU通過AD15~AD0接收數(shù)據(jù)T4在T4狀態(tài)和前一個(gè)狀態(tài)交界下降沿處,CPU對數(shù)據(jù)總線采樣,從而獲得數(shù)據(jù)等待狀態(tài)Tw工作時(shí)序若存儲(chǔ)器的數(shù)據(jù)傳輸速度與CPU存取速度不匹配,READY在T2下降沿之前變?yōu)榈汀PU在T3的上升沿采樣READY線。若READY為低,則自動(dòng)插入1個(gè)TW狀態(tài)。若READY為高,則不插入TW,自動(dòng)進(jìn)入T4。8086存儲(chǔ)器寫總線周期工作時(shí)序?qū)懼芷谡f明工作時(shí)序?qū)懣偩€周期和讀總線周期的時(shí)序類似不同之處在于T2前半周期開始WR輸出低電平,在T3周期結(jié)束才變?yōu)楦唠娖皆谧x周期中RD在T2的后半周期才變?yōu)榈碗娖紻T/R在整個(gè)寫總線周期都輸出高電平寫周期中,AD15~AD0在T2后半周期即開始輸出。讀周期中,AD15~AD0在T2會(huì)浮空;8088訪問存儲(chǔ)器時(shí)序工作時(shí)序8088與8086總線周期的時(shí)序類似主要區(qū)別8088數(shù)據(jù)總線是8位的,所以只有AD7~AD0是地址/數(shù)據(jù)復(fù)用線,而A15~A8是8根地址線8088沒有BHE信號(hào)I/O端口時(shí)序工作時(shí)序8086/8088訪問外設(shè)的時(shí)序,與CPU訪問存儲(chǔ)器的時(shí)序幾乎完全相同。唯一區(qū)別是IO/M(M/IO)線中斷響應(yīng)周期工作時(shí)序中斷響應(yīng)時(shí)序中有2個(gè)連續(xù)的中斷響應(yīng)周期第1個(gè)中斷響應(yīng)周期,CPU輸出INTA負(fù)脈沖,表示CPU響應(yīng)外設(shè)中斷請求在第2個(gè)中斷響應(yīng)周期,CPU又輸出INTA負(fù)脈沖,通知外設(shè)向數(shù)據(jù)線上送一個(gè)字節(jié)中斷類型碼總線概述CPU引腳是如何與外部連接的呢?總線概述總線概述總線概述總線(bus)就是連接兩個(gè)以上數(shù)字系統(tǒng)元器件的信息通路,是一組公用信號(hào)線。總線按傳送信號(hào)性質(zhì)的不同可分為三組:地址總線數(shù)據(jù)總線控制總線總線結(jié)構(gòu)總線概述片內(nèi)總線局部總線內(nèi)總線外總線PC機(jī)中的總線總線概述PCI總線ISA總線USB總線支持芯片支持芯片8282-8位三態(tài)鎖存器鎖存地址信息

8284-時(shí)鐘發(fā)生器提供系統(tǒng)時(shí)鐘CLK和其他系統(tǒng)時(shí)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論