微機(jī)接口及應(yīng)用_第1頁
微機(jī)接口及應(yīng)用_第2頁
微機(jī)接口及應(yīng)用_第3頁
微機(jī)接口及應(yīng)用_第4頁
微機(jī)接口及應(yīng)用_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微機(jī)接口及應(yīng)用微機(jī)接口及應(yīng)用微機(jī)接口及應(yīng)用匯編語言程序主要特性及應(yīng)用領(lǐng)域主要特性與機(jī)器相關(guān)性執(zhí)行的高效率編寫程序的復(fù)雜性調(diào)試的復(fù)雜性適用的領(lǐng)域要求執(zhí)行效率高、反應(yīng)快的領(lǐng)域,如:操作系統(tǒng)內(nèi)核,工業(yè)控制,實時系統(tǒng)等;系統(tǒng)性能的瓶頸,或頻繁被使用子程序或程序段;與硬件資源密切相關(guān)的軟件開發(fā),如:設(shè)備驅(qū)動程序等;受存儲容量限制的應(yīng)用領(lǐng)域,如:家用電器的計算機(jī)控制功能等;沒有適當(dāng)?shù)母呒壵Z言開發(fā)環(huán)境。不宜使用的領(lǐng)域大型軟件的整體開發(fā);沒有特殊要求的一般應(yīng)用系統(tǒng)的開發(fā)等?!蓖ㄟ^閱讀科技書籍,我們能豐富知識,培養(yǎng)邏輯思維能力;微機(jī)接口及應(yīng)用微機(jī)接口及應(yīng)用微機(jī)接口及應(yīng)用匯編語言程序主要特1匯編語言程序主要特性及應(yīng)用領(lǐng)域

主要特性與機(jī)器相關(guān)性執(zhí)行的高效率編寫程序的復(fù)雜性調(diào)試的復(fù)雜性

適用的領(lǐng)域要求執(zhí)行效率高、反應(yīng)快的領(lǐng)域,如:操作系統(tǒng)內(nèi)核,工業(yè)控制,實時系統(tǒng)等;系統(tǒng)性能的瓶頸,或頻繁被使用子程序或程序段;與硬件資源密切相關(guān)的軟件開發(fā),如:設(shè)備驅(qū)動程序等;受存儲容量限制的應(yīng)用領(lǐng)域,如:家用電器的計算機(jī)控制功能等;沒有適當(dāng)?shù)母呒壵Z言開發(fā)環(huán)境。不宜使用的領(lǐng)域大型軟件的整體開發(fā);沒有特殊要求的一般應(yīng)用系統(tǒng)的開發(fā)等。匯編語言程序主要特性及應(yīng)用領(lǐng)域主要特性2可編程接口與應(yīng)用可編程并輸入/輸出接口8255A可編程定時器/計數(shù)器8253DMA控制器8273A串行通信和串行接口數(shù)/模,模/數(shù)轉(zhuǎn)換可編程接口與應(yīng)用可編程并輸入/輸出接口8255A3第2章8086/8088微處理器第2章8086/8088微處理器4教學(xué)重點(diǎn)

寄存器的結(jié)構(gòu)存儲器組織邏輯地址到物理地址的變換8086的兩種工作模式及其配置教學(xué)重點(diǎn)5教學(xué)難點(diǎn)

8086CPU在最小模式和最大模式下的引腳功能教學(xué)難點(diǎn)62.18086/8088微處理器的結(jié)構(gòu)8086微處理器的一般性能特點(diǎn):16位的內(nèi)部結(jié)構(gòu),16位雙向數(shù)據(jù)信號線;20位地址信號線,可尋址1M字節(jié)存儲單元;較強(qiáng)的指令系統(tǒng)(133條指令);利用第16位的地址總線來進(jìn)行I/O端口尋址,可尋址64K個I/O端口;中斷功能強(qiáng),可處理內(nèi)部軟件中斷和外部中斷,中斷源可達(dá)256個;單一的+5V電源,單相時鐘5MHz。8086/8088微處理器是Intel公司推出的第三代CPU芯片。8086/8088CPU具有40個引腳,8086外部數(shù)據(jù)總線寬度16位,8088的數(shù)據(jù)總線寬度8位,具有最大和最小兩種工作模式。2.18086/8088微處理器的結(jié)構(gòu)8086微處理器的72.1.18086/8088的功能結(jié)構(gòu)8086和8088結(jié)構(gòu)極為相似,都是由兩大部構(gòu)成總線接口單元BIU負(fù)責(zé)與存儲器和I/O接口之間的信息傳送由寄存器、指令指針寄存器、指令隊列、地址加法器以及總線控制邏輯組成。8086指令隊列長度6字節(jié),8088指令隊列長度4字節(jié)執(zhí)行單元EU負(fù)責(zé)指令的執(zhí)行由算術(shù)邏輯單元ALU、通用寄存器、標(biāo)志寄存器和EU控制電路組成。2.1.18086/8088的功能結(jié)構(gòu)8086和8088結(jié)82.1.18086的功能結(jié)構(gòu)2.1.18086的功能結(jié)構(gòu)9執(zhí)行部件總線接口部件通用寄存器四個專用寄存器SP:堆棧指針,其內(nèi)容與堆棧段寄存器SS的內(nèi)容一起,提供堆棧操作地址。BP:基址指針:構(gòu)成段內(nèi)偏移地址的一部分.

SI:(SourceIndex):SI含有源地址意思,產(chǎn)生有效地址或?qū)嶋H地址的偏移量。

DI:(DestinationIndex):DI含有目的意思,產(chǎn)生有效地址或?qū)嶋H地址的偏移量。算術(shù)邏輯單元ALU:主要是加法器。大部分指令的執(zhí)行由加法器完成。標(biāo)志寄存器:16位字利用了9位。標(biāo)志分兩類:狀態(tài)標(biāo)志(6位):反映剛剛完成的操作結(jié)果情況??刂茦?biāo)志(3位):在某些指令操作中起控制作用。執(zhí)行部件總線接口部件通用寄存器四個專用寄存器算術(shù)邏輯單元AL1020位地址加法器四個段寄存器:CS、DS、SS、ESCS管理代碼段;DS管理數(shù)據(jù)段SS管理堆棧段;ES管理附加段.16位的指令指針寄存器IP:IP中的內(nèi)容是下一條指令對現(xiàn)行代碼段基地址的偏移量,6字節(jié)的指令隊列指令隊列共六字節(jié),總線接口部件BIU從內(nèi)存取指令,取來的總是放在指令隊列中;執(zhí)行部件EU從指令隊列取指令,并執(zhí)行。四個段寄存器:CS、DS、SS、ES16位的指令指針寄存器I118088的指令執(zhí)行過程8088的指令執(zhí)行過程122.1.28086內(nèi)部寄存器AHALBHBLCHCLDHDL代碼段寄存器數(shù)據(jù)段寄存器堆棧段寄存器附加段寄存器堆棧指針寄存器基址指針寄存器源變址寄存器目的變址害存器指令指針狀態(tài)標(biāo)志AXBXCXDXSPBPDISI控制寄存器通用寄存器段寄存器CSDSSSESIPFLAGS累加器地址寄存器計數(shù)器數(shù)據(jù)寄存器2.1.28086內(nèi)部寄存器AHALBHBLCHCLDHD132.1.28086內(nèi)部寄存器數(shù)據(jù)寄存器4個數(shù)據(jù)寄存器:累加器AX、基址寄存器BX、計數(shù)寄存器CX、數(shù)據(jù)寄存器DX特點(diǎn):可分為高8位(AH、BH、CH和DH)和低8位(AL、BL、CL和DL),這兩組8位寄存器能分別尋址。這樣,可以將數(shù)據(jù)寄存器當(dāng)作一個16位寄存器,也可用作兩個8位寄存器可以用來存放8位或16位二進(jìn)制操作數(shù),這些操作數(shù)可以是參加操作數(shù)、中間結(jié)果、操作數(shù)地址大多數(shù)算術(shù)和邏輯運(yùn)算指令可以使用這些寄存器2.1.28086內(nèi)部寄存器數(shù)據(jù)寄存器142.1.28086內(nèi)部寄存器指針和變址寄存器4個:堆棧指針SP、基址指針BP、源變址寄存器SI、目的變址寄存器DI這4個16位寄存器只能按16位進(jìn)行存取操作,主要用來形成操作數(shù)的地址,用于堆棧操作和變址運(yùn)算中計算操作數(shù)和有效地址SP、BP用于堆棧操作,SP用來確定堆棧在內(nèi)存中的地址,BP用來存放現(xiàn)行堆棧段的一個數(shù)據(jù)區(qū)的“基址”SI、DI用于變址操作,存放變址地址這4個寄存器也可用作數(shù)據(jù)寄存器2.1.28086內(nèi)部寄存器指針和變址寄存器152.1.28086內(nèi)部寄存器指令指針I(yè)P16位專用寄存器,IP指向當(dāng)前需要取出的指令字節(jié)當(dāng)BIU從內(nèi)存中取出一個指令字節(jié)后,IP自動加1,指向下一個字節(jié)IP指向的是指令地址的段內(nèi)地址偏移量,又稱偏移地址或有效地址程序員不能對IP進(jìn)行存取操作,程序中的轉(zhuǎn)移指令、返回指令以及中斷處理能對IP進(jìn)行操作2.1.28086內(nèi)部寄存器指令指針I(yè)P162.1.28086內(nèi)部寄存器OF111512DF10IF9TF8SF7ZF65AF43PF21CF0標(biāo)志寄存器FLAG16位,其中有6個狀態(tài)位、3個控制位6個狀態(tài)位:CF、PF、AF、ZF、SF、OF3個控制位:IF、DF、TF2.1.28086內(nèi)部寄存器OF111512D172.1.28086內(nèi)部寄存器標(biāo)志寄存器FLAG(狀態(tài)位)進(jìn)位標(biāo)志CF,反映算術(shù)運(yùn)算后,最高位(字節(jié)操作為D7,字操作為D15)出現(xiàn)進(jìn)位(或借位)的情況,有則為“1”奇偶標(biāo)志PF,反映操作結(jié)果中“1”的個數(shù)情況,若為偶數(shù),PF=1輔助進(jìn)位標(biāo)志AF,反映一個8位量的低4位向高4位有無進(jìn)位(或借位)的情況,有則置“1”只判斷AL中的結(jié)果2.1.28086內(nèi)部寄存器標(biāo)志寄存器FLAG(狀態(tài)位)只182.1.28086內(nèi)部寄存器標(biāo)志寄存器FLAG(狀態(tài)位)零標(biāo)志ZF,反映運(yùn)算結(jié)果是否為零的情況,結(jié)果為零,ZF置為“1”符號標(biāo)志SF,反映運(yùn)算結(jié)果的符號情況,若結(jié)果為負(fù)數(shù),SF為“1”。SF的取值與運(yùn)算結(jié)果最高位(字節(jié)操作為D7,字操作為D15)一致溢出標(biāo)記OF,反映帶符號數(shù)運(yùn)算結(jié)果是否超過機(jī)器所能表示的數(shù)值范圍的情況,對字節(jié)運(yùn)算為-128~+127,對字運(yùn)算為-32768~+32767。若超過上述范圍則稱為“溢出”,OF=12.1.28086內(nèi)部寄存器標(biāo)志寄存器FLAG(狀態(tài)位)192.1.28086內(nèi)部寄存器溢出標(biāo)志OF和進(jìn)位標(biāo)志CF是兩個意義不同的標(biāo)志進(jìn)位標(biāo)志表示無符號數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果仍然正確;溢出標(biāo)志表示帶符號數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果已經(jīng)不正確。例2:BBH+6AH=(1)25H無符號數(shù)運(yùn)算:187+106=293

范圍外,有進(jìn)位有符號數(shù)運(yùn)算: -69+106=37

范圍內(nèi),無溢出例1:49H+6DH=B6H無符號數(shù)運(yùn)算:73+109=182

范圍內(nèi),無進(jìn)位有符號數(shù)運(yùn)算:73+109=182

范圍外,有溢出2.1.28086內(nèi)部寄存器溢出標(biāo)志OF和進(jìn)位標(biāo)志CF是兩202.1.28086內(nèi)部寄存器標(biāo)志寄存器FLAG(控制位)方向標(biāo)志DF,在進(jìn)行字符串操作時,每執(zhí)行一條串操作指令,對地址要進(jìn)行一次調(diào)整,由DF決定地址是增還是減。若DF=1,則為減量;若DF=0則為增量中斷允許標(biāo)志IF,表示系統(tǒng)是否允許外部的可屏蔽中斷。若IF=1,表示允許中斷。IF對非屏蔽中斷及內(nèi)部中斷請求不起作用跟蹤標(biāo)志TF,當(dāng)TF=1時,CPU每執(zhí)行完一條指令,便自動產(chǎn)生一個內(nèi)部中斷,對程序進(jìn)行逐條檢查,常用于程序的調(diào)試2.1.28086內(nèi)部寄存器標(biāo)志寄存器FLAG(控制位)212.1.28086內(nèi)部寄存器段寄存器內(nèi)存中通常存放三種信息:代碼(指令):計算機(jī)執(zhí)行何種操作數(shù)據(jù)(字符、數(shù)值):程序處理的對象堆棧信息:保存返回地址和中間結(jié)果為清晰起見,這三類信息通常分別存放在各自的存貯區(qū)域內(nèi)(存貯系統(tǒng)中的不同存貯段)8086/8088系統(tǒng)中把可直接尋址的1兆字節(jié)內(nèi)存空間分為稱作“段”的邏輯區(qū)域,每個段的物理長度為64K字節(jié)。每個段的起始地址的有關(guān)值存放在稱為段寄存器的4個16位寄存器中2.1.28086內(nèi)部寄存器段寄存器222.1.28086內(nèi)部寄存器段寄存器內(nèi)存中通常存放三種信息:代碼(指令):計算機(jī)執(zhí)行何種操作數(shù)據(jù)(字符、數(shù)值):程序處理的對象堆棧信息:保存返回地址和中間結(jié)果為清晰起見,這三類信息通常分別存放在各自的存貯區(qū)域內(nèi)(存貯系統(tǒng)中的不同存貯段)8086/8088系統(tǒng)中把可直接尋址的1兆字節(jié)內(nèi)存空間分為稱作“段”的邏輯區(qū)域,每個段的物理長度為64K字節(jié)。每個段的起始地址的有關(guān)值存放在稱為段寄存器的4個16位寄存器中2.1.28086內(nèi)部寄存器段寄存器232.1.28086內(nèi)部寄存器段寄存器4個段寄存器為:代碼段寄存器CS,指向當(dāng)前的代碼段,指令由此段取出堆棧段寄存器SS,指向當(dāng)前的堆棧段,堆棧操作所需的就是該段存貯單元的內(nèi)容數(shù)據(jù)段寄存器DS,指向當(dāng)前數(shù)據(jù)段,通常用來存放程序變量附加段寄存器ES,指向當(dāng)前附加段,通常也用來存貯數(shù)據(jù)2.1.28086內(nèi)部寄存器段寄存器242.1.38086/8088的存儲器組織存儲器分段8086CPU寄存器皆為16位,內(nèi)部ALU只能進(jìn)行16位運(yùn)算,因為8086CPU對地址只能進(jìn)行16位運(yùn)算,尋址范圍僅216=65536(64K)字節(jié)。所以引入“分段”概念,以獲得20位地址一個段是存儲器的一個邏輯單位,其長度可達(dá)64KB,每個段都由連續(xù)的存儲單元構(gòu)成,是存儲器中獨(dú)立的可分別尋址的單位每段第一個字節(jié)的位置稱為“段起始地址”,可由軟件指定段起始地址:必須能被16整除(即XXXX0H)幾個段可以相互重疊,也可以指向同一個空間2.1.38086/8088的存儲器組織存儲器分段25存儲器組織8086/8088CPU有20條地址線,可以配置1MB的存儲器,地址編號為00000H~FFFFFH存儲空間按8位字節(jié)進(jìn)行組織,每個存儲單元存儲一個字節(jié)數(shù)據(jù),若存放“字”數(shù)據(jù)(16位),則存放在相鄰兩個存貯單元之中,高字節(jié)存放在高地址單元,低字節(jié)存放在低地址單元指令字節(jié)數(shù)據(jù)和字?jǐn)?shù)據(jù)可以自由地存放在任何字節(jié)地址中2.1.38086/8088的存儲器組織存儲器組織2.1.38086/8088的存儲器組織262.1.38086/8088的存儲器組織小結(jié)8086CPU有20條地址線最大可尋址空間為220=1MB物理地址范圍從00000H~FFFFFH8086CPU將1MB空間分成許多邏輯段(Segment)每個段最大限制為64KB段地址的低4位為0000B1MB內(nèi)存最多可分為64K個段,即65536個段(段之間可相互重疊),至少可分成16個相互不重疊的段這樣,一個存儲單元除具有一個唯一的物理地址外,還具有多個邏輯地址2.1.38086/8088的存儲器組織小結(jié)272.1.38086/8088的存儲器組織邏輯地址和物理地址在具有地址變換機(jī)構(gòu)的計算機(jī)中,有兩種存儲器地址:邏輯地址(PhysicalAddress):允許在程序中編排的地址物理地址(PhysicalAddress):信息在存儲器中實際存放地址在8086/8088系統(tǒng)中每個存儲單元也都認(rèn)為有這兩類地址2.1.38086/8088的存儲器組織邏輯地址和物理地址282.1.38086/8088的存儲器組織段基址與段內(nèi)偏移量8086/8088與存儲器之間所有信息交換都要使用20位的物理地址,而程序中所涉及的地址都是16位的邏輯地址,對所給定的任一存儲單元而言有兩部分邏輯地址:“段基址”:決定該段第一個字節(jié)的位置“段內(nèi)偏移量”:該存儲單元相對于該段起始字節(jié)的距離段基址存放在段寄存器CS、SS、DS和ES中段內(nèi)偏移量由SP、BP、SI、DI、IP以及相應(yīng)寄存器的組合而組成2.1.38086/8088的存儲器組織段基址與段內(nèi)偏移量292.1.38086/8088的存儲器組織物理地址和邏輯地址的轉(zhuǎn)換將邏輯地址中的段地址左移4位,加上偏移地址就得到20位物理地址,即:物理地址=段基址*10H+段內(nèi)偏移量一個物理地址可以有多個邏輯地址8086/8088CPU中BIU單元的加法器可用來完成物理地址的計算段地址

0000段內(nèi)偏移+0000物理地址(20位)16位段地址16位段內(nèi)偏移20位物理地址16位段地址:16位的段內(nèi)偏移2.1.38086/8088的存儲器組織物理地址和邏輯地址302.1.38086/8088的存儲器組織段寄存器的使用約定8086/8088對訪問不同的內(nèi)存段所使用的段寄存器和相應(yīng)的偏移地址的來源有一些具體的約定內(nèi)存訪問類型默認(rèn)段寄存器可指定段寄存器段內(nèi)偏移地址來源1取指令CS無IP2堆棧操作SS無SP3源串DSCS、ES、SSSI4目的串ES無DI5BP用作基尋址SSCS、ES、SS按尋址方式計算得到的有效地址6一般數(shù)據(jù)存取DSCS、ES、SS按尋址方式計算得到的有效地址2.1.38086/8088的存儲器組織段寄存器的使用約定312.1.4堆棧的概念堆棧是利用RAM區(qū)中某一指定區(qū)域(由用戶規(guī)定),用來暫存數(shù)據(jù)或地址的存儲區(qū)。堆棧段是由段定義語句在內(nèi)存中定義的一個段,段基址由SS指定。堆棧存取數(shù)據(jù)的原則是“先進(jìn)后出”,存取數(shù)據(jù)的方法是壓入(PUSH)和彈出(POP)。堆棧區(qū)的棧底是固定的最高地址,其棧頂根據(jù)堆棧數(shù)據(jù)的壓入或取出的變化不斷改變。棧頂是堆棧區(qū)的最低地址,用堆棧指針SP指示。每執(zhí)行一條PUSH指令,SP=(SP)-2,向堆棧壓入16bit數(shù)據(jù)。每執(zhí)行一條POP指令,SP=(SP)+2,從堆棧彈出16bit數(shù)據(jù)。2.1.4堆棧的概念堆棧是利用RAM區(qū)中某一指定區(qū)域(由用322.28086/8088的引腳功能8086和8088都是16位CPU,具有40條引腳,采用雙列直插式封裝。為了減少芯片的引線,8086/8088的許多引腳具有雙重定義和功能,采用分時復(fù)用方式工作,即在不同時刻,這些引線上的信號是不相同的8086/8088的最大和最小兩種工作模式可以通過引腳選擇引腳分類:地址總線、數(shù)據(jù)總線、控制總線、其它(時鐘與電源)2.28086/8088的引腳功能8086和8088都是1332.28086/8088的引腳功能地址/數(shù)據(jù)線地址/狀態(tài)線非屏蔽中斷可屏蔽中斷請求最小最大模式控制MN/MX=1,最小模式MN/MX=0,最大模式讀信號總線保持請求信號總線保持相應(yīng)信號寫信號存儲器/IO控制信號M/IO=1,選中存儲器M/IO=0,選中IO接口數(shù)據(jù)發(fā)送/接收信號DT/R=1,發(fā)送DT/R=0,接收數(shù)據(jù)允許信號地址允許信號中斷響應(yīng)信號測試信號:執(zhí)行WAIT指令,CPU處于空轉(zhuǎn)等待;TEST有效時,結(jié)束等待狀態(tài)。準(zhǔn)備好信號:表示內(nèi)存或I/O設(shè)備準(zhǔn)備好,可以進(jìn)行數(shù)據(jù)傳輸。復(fù)位信號2.28086/8088的引腳功能地址/數(shù)據(jù)線地址/狀態(tài)線342.28086/8088的引腳功能8086的兩種工作方式最小模式(組態(tài))MN/MX接+5V構(gòu)成小規(guī)模的應(yīng)用系統(tǒng),只有8086一個微處理器,所有的總線控制信號均為8086產(chǎn)生,系統(tǒng)中的總線控制邏輯電路,減少到最少。最大模式(組態(tài))MN/MX接地。用于大型(中型)8086/8088系統(tǒng)中,系統(tǒng)總是包含有兩個或多個微處理器,其中一個主處理器就是8086或8088,其它的處理器稱協(xié)處理器,協(xié)助主處理器工作。需要總線控制器來變換和組合控制信號。2.28086/8088的引腳功能8086的兩種工作方式352.28086/8088的引腳功能最小模式下的引腳說明地址/數(shù)據(jù)總線AD15~AD0(AddressDataBus)地址/數(shù)據(jù)分時復(fù)用信號,雙向,三態(tài)。在T1狀態(tài)(地址周期)AD15~AD0上為地址信號的低16位A15~A0;在T2~T3狀態(tài)(數(shù)據(jù)周期)AD15~AD0上是數(shù)據(jù)信號D15~D0。2.28086/8088的引腳功能最小模式下的引腳說明362.28086/8088的引腳功能地址/狀態(tài)線A19~A16/S6~S3(Address/Status)地址/狀態(tài)復(fù)用信號,三態(tài)輸出。在總周期的T1狀態(tài)A19/S6~A16/S3上是地址的高4位。在T2~T4狀態(tài),A19/S6~A16/S3上輸出狀態(tài)信息。這些狀態(tài)信息中,S6恒等于0,S5指示中斷允許標(biāo)志位IF的狀態(tài),S4、S3的組合指示CPU當(dāng)前正在使用的段寄存器,其編碼見表2.28086/8088的引腳功能地址/狀態(tài)線372.28086/8088的引腳功能S4S3當(dāng)前正在使用的段寄存器00ES01SS10CS或未使用任何段寄存器11DSS4、S3的組合編碼2.28086/8088的引腳功能S4S3當(dāng)前正在使用的段382.28086/8088的引腳功能控制總線(1)BHE/S7(BusHighEnable/Status)數(shù)據(jù)總線高8位使能和狀態(tài)復(fù)用信號,三態(tài)輸出。在總線周期T1狀態(tài),BHE有效,表示數(shù)據(jù)線上高8位數(shù)據(jù)有效。在T2~T4狀態(tài)BHE/S7輸出狀態(tài)信息S7。S7在8086中未定義。2.28086/8088的引腳功能控制總線392.28086/8088的引腳功能(2)RD(Read)

讀信號,三態(tài)輸出,此引腳輸出為低電平時,表示CPU正在對存儲或I/O端口進(jìn)行讀操作。(3)WR(Write)寫信號,三態(tài)輸出,此引腳輸出為低電平時,表示CPU正在對存儲或I/O端口進(jìn)行寫操作。(4)M/IO(Memory/IO)

存儲器/IO端口控制信號,三態(tài)輸出。用來區(qū)分當(dāng)前操作是訪問I/O端口還是存儲器。M/IO為高電平時,表示當(dāng)前CPU正在訪問存儲器,M/IO為低電平時,表示當(dāng)前CPU正在訪問I/O端口。2.28086/8088的引腳功能(2)RD(Read402.28086/8088的引腳功能(5)READY

準(zhǔn)備就緒信號。由外部輸入,高電平有效,它是由被訪問的內(nèi)存或I/O設(shè)備發(fā)出的響應(yīng)信號,當(dāng)其有效時,表示CPU訪問的存儲器或I/O端口己準(zhǔn)備好傳送數(shù)據(jù)。當(dāng)READY無效時,要求CPU插入一個或多個等待周期Tw,直到READY信號有效為止。(6)INTR(InterruptRequest)

中斷請求信號,由外部輸入,電平觸發(fā),高電平有效。INTR有效時,表示外部設(shè)備向CPU發(fā)出中斷請求,CPU在每條指令的最后一個時鐘周期對INTR進(jìn)行測試,一旦測試到有中斷請求,并且當(dāng)中斷允許標(biāo)志IF=1時,則暫停執(zhí)行下條指令轉(zhuǎn)入中斷響應(yīng)周期。2.28086/8088的引腳功能(5)READY412.28086/8088的引腳功能(7)INTA(InterruptAcknowledge)中斷響應(yīng)信號。向外部輸出,低電平有效,表示CPU響應(yīng)了外部發(fā)來的INTR信號。(8)NMI(Non—MaskableInterruptReques不可屏蔽中斷請求信號。由外部輸入,上升沿觸發(fā),正跳沿有效。CPU一旦測試到NMI請求信號,待當(dāng)前指令執(zhí)行完就自動從中斷入口地址表中找到類型2中斷服務(wù)程序的入口地址,并轉(zhuǎn)去執(zhí)行。2.28086/8088的引腳功能(7)INTA(Int422.28086/8088的引腳功能(9)TEST

測試信號。由外部輸入,低電平有效。當(dāng)CPU執(zhí)行WAIT指令時(WAIT指令是用來使處理器與外部硬件同步),每隔5個時鐘周期對TEST進(jìn)行一次測試,若測試到該信號無效,則CPU繼續(xù)執(zhí)行WAIT指令,即處于空閑等待狀態(tài);當(dāng)CPU測到TEST輸入為低電平時,則轉(zhuǎn)而執(zhí)行WAIT的下一條指令。由此可見,TEST對WAIT指令起到了監(jiān)視的作用。2.28086/8088的引腳功能(9)TEST432.28086/8088的引腳功能(10)RESET

復(fù)位信號。由外部輸入,高電平有效。RESET信號至少要保持4個時鐘周期,CPU接收到該信號后,停止進(jìn)行操作,并對標(biāo)志寄存器(FR)、IP、DS、SS、ES及指令隊列清零,而將CS設(shè)置為FFFFH。當(dāng)復(fù)位信號變?yōu)榈碗娖綍r,CPU從FFFF0H開始執(zhí)行程序,由此可見,采用8086CPU計算機(jī)系統(tǒng)的啟動程序就保持在開始的存儲器中。2.28086/8088的引腳功能(10)RESET442.28086/8088的引腳功能(11)ALE(AddressLatchEnable)地址鎖存允許信號,三態(tài)輸出,高電平有效。當(dāng)它為高電平時,表明CPU地址線上有有效地址,用來作為地址鎖存器的鎖存控制信號。(12)DEN(DataEnable)數(shù)據(jù)允許信號,三態(tài)輸出。該信號低電平有效,表示數(shù)據(jù)總線上有有效數(shù)據(jù)。它在每次訪問內(nèi)存或I/O端口以及在中斷響應(yīng)期間有效。它常用作數(shù)據(jù)總線驅(qū)動器的片選信號。2.28086/8088的引腳功能(11)ALE(Addr452.28086/8088的引腳功能(13)

DT/R(DataTransmit/Receive)數(shù)據(jù)傳送方向控制信號,三態(tài)輸出。在8086系統(tǒng)中,通常采用8286或8287作為數(shù)據(jù)總線的驅(qū)動器,用DT/R信號來控制數(shù)據(jù)驅(qū)動器的數(shù)據(jù)傳送方向。高電平時,CPU向存儲器或I/O端口發(fā)送數(shù)據(jù);低電平時,CPU從存儲器或I/O端口接收數(shù)據(jù)。2.28086/8088的引腳功能(13)

DT/R(D462.28086/8088的引腳功能(14)HOLD(HoldRequest)

總線請求信號。由外部輸入,高電平有效器向CPU請求使用總線。(15)HLDA(HoldAcknowledge)共享總線的處理總線請求響應(yīng)信號。向外部輸出,高電平有效。2.28086/8088的引腳功能(14)HOLD(Hol472.28086/8088的引腳功能(16)MN/MX(Minimum/MaximumModeControl)最大最小模式控制信號,輸入。MN/MX=1(+5V),CPU工作在最小模式。MN/MX=0(接地),CPU則工作在最大模式。其他

(1)GND

地(2)VCC電源,接+5V2.28086/8088的引腳功能(16)MN/MX(M482.28086/8088的引腳功能最大模式下的引腳說明當(dāng)8086CPU工作在最大模式系統(tǒng)時,有8個管腳重新定義。(1)S2、S1、S0(BusCycleStatus,最小模式為M/IO、D/TR、DEN)總線周期狀態(tài)信號,三態(tài)輸出,低電平有效。在最大模式下,這三個信號連接到總線控制器8288的輸入端,8288對它們進(jìn)行譯碼后可以產(chǎn)生系統(tǒng)總線所需要的各種控制信號。三個信號的代碼組合以及對應(yīng)操作如下表:2.28086/8088的引腳功能最大模式下的引腳說明492.28086/8088的引腳功能S2S1S0CPU狀態(tài)8288命令000中斷響應(yīng)INTA001讀I/O端口IORC010寫I/O端口IOWCAIOWC011暫停無100取指令MRDC101讀存儲器MRDC110寫存儲器MWTCAMWC111無作用無2.28086/8088的引腳功能S2S1S0CPU狀態(tài)8502.28086/8088的引腳功能(2)RQ/GT0,RQ/GT1(Request/Grant)總線請求/總線響應(yīng)信號,低電平有效。每一個引腳都具有雙向功能,既是總線請求輸入也是總線響應(yīng)輸出。當(dāng)該信號為輸入時表示其它主控者向CPU請求使用總線;當(dāng)為輸出時表示CPU對總線請求的響應(yīng)信號。兩條線可同時與兩個主控者相連,RQ/GT0優(yōu)先級高于RQ/GT1。2.28086/8088的引腳功能(2)RQ/GT0,RQ512.28086/8088的引腳功能(3)LOCK封鎖信號總線封鎖信號,三態(tài)輸出,低電平有效。該信號有效時,CPU鎖定總線,不允許其他的總線控制設(shè)備申請使用系統(tǒng)。這個信號由軟件設(shè)置,當(dāng)在指令前加上LOCK前綴時,則在執(zhí)行這條指令期間LOCK保持有效,即在此指令執(zhí)行期間,CPU封鎖其他總線控制設(shè)備使用總線。2.28086/8088的引腳功能(3)LOCK封鎖522.28086/8088的引腳功能(4)QS1、QS0(InstructionQueueStatus):指令隊列狀態(tài)輸出信號。QS1,QS0組合起來表示前一個時鐘周期中指令隊列的狀態(tài),根據(jù)該狀態(tài)信號,從外部可以跟蹤C(jī)PU內(nèi)部的指令隊列。QS1、QS0的編碼如表:QS1QS0編碼含義00無操作01從隊列中取第一個字節(jié)10隊列已空11從隊列中取后續(xù)字節(jié)2.28086/8088的引腳功能(4)QS1、QS0(I532.28086/8088的最小模式和最大模式在8086的最小模式中,硬件連接上有如下幾個特點(diǎn):MN/MX端接+5V,決定了8086工作在最小模式。有一片8234A,作為時鐘發(fā)生器。有三片8282或74LS373,用來作為地址鎖存器。當(dāng)系統(tǒng)中所連接的存儲器和外設(shè)比較多時,需要增加系統(tǒng)數(shù)據(jù)總線的驅(qū)動能力,這時,要用兩片8286/8287作為總線收發(fā)器。最小方式適用于由單微處理器組成的小系統(tǒng)。在這種系統(tǒng)中,8086/8088CPU直接產(chǎn)生所有的總線控制信號,因而省去了總線控制邏輯。2.28086/8088的最小模式和最大模式在8086的最542.28086/8088的最小模式和最大模式8284RDYRESETREADYVcCMN/MX#CLKREADYRESET8086CPU8282OE8286OEA19-A16AD15-AD0ADDRESSADDR./DATAINTRINTRTMEMORYI/OINTERFACEDATABUSADDRRESSBUSRESRDWRINTAHOLDHLDASTBBHEBHECLOCKGENERATCRVcCM/IOALEOR74LS373OR74LS245HOLDHLDADFNDA/R#DATADATA8086在最小模式下的典型配置:控制總線地址總線數(shù)據(jù)總線2.28086/8088的最小模式和最大模式8284RDY552.28086/8088的最小模式和最大模式時鐘發(fā)生器8284與8086的連接:PWRGOODDMAWAITRDY/WAIT+5VRESRDY1AEN1F/CASYNCRDY2AEN2OSCPCLKX2X1CLKREADYRESET51051014.31818MHZRESETREADYCLK去系統(tǒng)其他部件80862.28086/8088的最小模式和最大模式時鐘發(fā)生器82562.28086/8088的最小模式和最大模式地址鎖存器8282與8086的連接:2.28086/8088的最小模式和最大模式地址鎖存器82572.28086/8088的最小模式和最大模式T=1,發(fā)送;T=0,接收地址鎖存器8282與8086的連接:2.28086/8088的最小模式和最大模式T=1,發(fā)送;582.28086/8088的最小模式和最大模式最大模式配置和最小模式配置有一個主要的差別:最大模式下多了8288總線控制器。這是因為在最大模式系統(tǒng)中一般包含兩個或多個處理器,這樣就要解決主處理器和協(xié)處理器之間的協(xié)調(diào)工作問題和對總線的共享控制問題。8288總線控制器對CPU發(fā)出的控制信號進(jìn)行變換組合,以得到對存儲器和I/O端口的讀/寫信號和對8282及8286的控制信號。在最大模式系統(tǒng)中,一般還會有中斷優(yōu)先級管理部件,當(dāng)然,在系統(tǒng)所含的設(shè)備較少時,該部件也可省去。而反過來,在最小模式系統(tǒng)中,如果所含的設(shè)備較多,也要加上中斷優(yōu)先級管理部件。

2.28086/8088的最小模式和最大模式最大模式配置和592.28086/8088的最小模式和最大模式8086在最大模式下的典型配置:Vcc8284RES#RDYREADYMN/MX#S0#S1#S2#CLKREADYRESET8086CPUBHE#BQ#/GT0#BQ#/GT1#INTRLOCK#A19-A16AD15-AD08288CLKS0#S1#S2#DENDT/R#ALEAMWC#AIOWC#INTA#MRDC#MWTC#IORC#IOWC#8282X3OE#T8286X3OE#DISTBBHE#

ADDRESSADDR./DATABHE#MEMORYI/0INTERFACEADDRSUBDATABUSINTRLOCK#D0控制總線地址總線數(shù)據(jù)總線2.28086/8088的最小模式和最大模式8086在最大60一、基本概念總線操作:微處理器通過總線來進(jìn)行取指令、存取操作數(shù)等操作 工作時序:指令譯碼以后按時間順序產(chǎn)生的確定的控制信號。時鐘周期:時鐘脈沖信號的一個循環(huán)時間叫一個時鐘周期,又稱為一個“T”狀態(tài),是微處理器工作的最小時間單位。指令周期:執(zhí)行一條指令所需要的時間??偩€周期:完成一次對存儲器或I/O端口的操作所需要的時間。二、總線操作 總線讀操作:取指令,讀存儲器,讀I/O接口 分類 總線寫操作:寫存儲器,寫I/O接口 總線請求響應(yīng) 中斷響應(yīng) 2.48086的總線操作和時序一、基本概念2.48086的總線操作和時序61三、時序分析1、基本的總線周期時序分析T1T2T3T4TiTi

T1T2T3TwTwTwT4TiTi

總線周期總線周期若干個1~2個基本的總線周期由4個T狀態(tài)組成,記為:T1、T2、T3、T4等待時鐘周期Tw,在總線周期的T3和T4之間插入,總線處于等待狀態(tài)空閑時鐘周期Ti,在兩個總線周期之間插入,總線處于空閑狀態(tài)三、時序分析1、基本的總線周期時序分析T1T262 讀總線周期 寫總線周期AD0~AD15T1T2T3Tw

T4M/IO0~N個CLKA16/S3~A19/S6BHEALERDDT/RDEN地址狀態(tài)地址數(shù)據(jù)BHE高為存儲器/低為I/O2、最小方式下的讀/寫總線周期0~N個T1

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論