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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

寄存器的結(jié)構(gòu)存儲(chǔ)器組織邏輯地址到物理地址的變換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ù)信號(hào)線;20位地址信號(hào)線,可尋址1M字節(jié)存儲(chǔ)單元;較強(qiáng)的指令系統(tǒng)(133條指令);利用第16位的地址總線來(lái)進(jìn)行I/O端口尋址,可尋址64K個(gè)I/O端口;中斷功能強(qiáng),可處理內(nèi)部軟件中斷和外部中斷,中斷源可達(dá)256個(gè);單一的+5V電源,單相時(shí)鐘5MHz。8086/8088微處理器是Intel公司推出的第三代CPU芯片。8086/8088CPU具有40個(gè)引腳,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é)與存儲(chǔ)器和I/O接口之間的信息傳送由寄存器、指令指針寄存器、指令隊(duì)列、地址加法器以及總線控制邏輯組成。8086指令隊(duì)列長(zhǎng)度6字節(jié),8088指令隊(duì)列長(zhǎng)度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í)行部件總線接口部件通用寄存器四個(gè)專用寄存器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í)行部件總線接口部件通用寄存器四個(gè)專用寄存器算術(shù)邏輯單元AL1020位地址加法器四個(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í)行。四個(gè)段寄存器:CS、DS、SS、ES16位的指令指針寄存器I118088的指令執(zhí)行過(guò)程8088的指令執(zhí)行過(guò)程122.1.28086內(nèi)部寄存器AHALBHBLCHCLDHDL代碼段寄存器數(shù)據(jù)段寄存器堆棧段寄存器附加段寄存器堆棧指針寄存器基址指針寄存器源變址寄存器目的變址害存器指令指針狀態(tài)標(biāo)志AXBXCXDXSPBPDISI控制寄存器通用寄存器段寄存器CSDSSSESIPFLAGS累加器地址寄存器計(jì)數(shù)器數(shù)據(jù)寄存器2.1.28086內(nèi)部寄存器AHALBHBLCHCLDHD132.1.28086內(nèi)部寄存器數(shù)據(jù)寄存器4個(gè)數(shù)據(jù)寄存器:累加器AX、基址寄存器BX、計(jì)數(shù)寄存器CX、數(shù)據(jù)寄存器DX特點(diǎn):可分為高8位(AH、BH、CH和DH)和低8位(AL、BL、CL和DL),這兩組8位寄存器能分別尋址。這樣,可以將數(shù)據(jù)寄存器當(dāng)作一個(gè)16位寄存器,也可用作兩個(gè)8位寄存器可以用來(lái)存放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個(gè):堆棧指針SP、基址指針BP、源變址寄存器SI、目的變址寄存器DI這4個(gè)16位寄存器只能按16位進(jìn)行存取操作,主要用來(lái)形成操作數(shù)的地址,用于堆棧操作和變址運(yùn)算中計(jì)算操作數(shù)和有效地址SP、BP用于堆棧操作,SP用來(lái)確定堆棧在內(nèi)存中的地址,BP用來(lái)存放現(xiàn)行堆棧段的一個(gè)數(shù)據(jù)區(qū)的“基址”SI、DI用于變址操作,存放變址地址這4個(gè)寄存器也可用作數(shù)據(jù)寄存器2.1.28086內(nèi)部寄存器指針和變址寄存器152.1.28086內(nèi)部寄存器指令指針I(yè)P16位專用寄存器,IP指向當(dāng)前需要取出的指令字節(jié)當(dāng)BIU從內(nèi)存中取出一個(gè)指令字節(jié)后,IP自動(dòng)加1,指向下一個(gè)字節(jié)IP指向的是指令地址的段內(nèi)地址偏移量,又稱偏移地址或有效地址程序員不能對(duì)IP進(jìn)行存取操作,程序中的轉(zhuǎn)移指令、返回指令以及中斷處理能對(duì)IP進(jìn)行操作2.1.28086內(nèi)部寄存器指令指針I(yè)P162.1.28086內(nèi)部寄存器OF111512DF10IF9TF8SF7ZF65AF43PF21CF0標(biāo)志寄存器FLAG16位,其中有6個(gè)狀態(tài)位、3個(gè)控制位6個(gè)狀態(tài)位:CF、PF、AF、ZF、SF、OF3個(gè)控制位: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”的個(gè)數(shù)情況,若為偶數(shù),PF=1輔助進(jìn)位標(biāo)志AF,反映一個(gè)8位量的低4位向高4位有無(wú)進(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”符號(hào)標(biāo)志SF,反映運(yùn)算結(jié)果的符號(hào)情況,若結(jié)果為負(fù)數(shù),SF為“1”。SF的取值與運(yùn)算結(jié)果最高位(字節(jié)操作為D7,字操作為D15)一致溢出標(biāo)記OF,反映帶符號(hào)數(shù)運(yùn)算結(jié)果是否超過(guò)機(jī)器所能表示的數(shù)值范圍的情況,對(duì)字節(jié)運(yùn)算為-128~+127,對(duì)字運(yùn)算為-32768~+32767。若超過(guò)上述范圍則稱為“溢出”,OF=12.1.28086內(nèi)部寄存器標(biāo)志寄存器FLAG(狀態(tài)位)192.1.28086內(nèi)部寄存器溢出標(biāo)志OF和進(jìn)位標(biāo)志CF是兩個(gè)意義不同的標(biāo)志進(jìn)位標(biāo)志表示無(wú)符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果仍然正確;溢出標(biāo)志表示帶符號(hào)數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果已經(jīng)不正確。例2:BBH+6AH=(1)25H無(wú)符號(hào)數(shù)運(yùn)算:187+106=293

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

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

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

0000段內(nèi)偏移+0000物理地址(20位)16位段地址16位段內(nèi)偏移20位物理地址16位段地址:16位的段內(nèi)偏移2.1.38086/8088的存儲(chǔ)器組織物理地址和邏輯地址302.1.38086/8088的存儲(chǔ)器組織段寄存器的使用約定8086/8088對(duì)訪問(wèn)不同的內(nèi)存段所使用的段寄存器和相應(yīng)的偏移地址的來(lái)源有一些具體的約定內(nèi)存訪問(wèn)類型默認(rèn)段寄存器可指定段寄存器段內(nèi)偏移地址來(lái)源1取指令CS無(wú)IP2堆棧操作SS無(wú)SP3源串DSCS、ES、SSSI4目的串ES無(wú)DI5BP用作基尋址SSCS、ES、SS按尋址方式計(jì)算得到的有效地址6一般數(shù)據(jù)存取DSCS、ES、SS按尋址方式計(jì)算得到的有效地址2.1.38086/8088的存儲(chǔ)器組織段寄存器的使用約定312.1.4堆棧的概念堆棧是利用RAM區(qū)中某一指定區(qū)域(由用戶規(guī)定),用來(lái)暫存數(shù)據(jù)或地址的存儲(chǔ)區(qū)。堆棧段是由段定義語(yǔ)句在內(nèi)存中定義的一個(gè)段,段基址由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的許多引腳具有雙重定義和功能,采用分時(shí)復(fù)用方式工作,即在不同時(shí)刻,這些引線上的信號(hào)是不相同的8086/8088的最大和最小兩種工作模式可以通過(guò)引腳選擇引腳分類:地址總線、數(shù)據(jù)總線、控制總線、其它(時(shí)鐘與電源)2.28086/8088的引腳功能8086和8088都是1332.28086/8088的引腳功能地址/數(shù)據(jù)線地址/狀態(tài)線非屏蔽中斷可屏蔽中斷請(qǐng)求最小最大模式控制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)信號(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)2.28086/8088的引腳功能地址/數(shù)據(jù)線地址/狀態(tài)線342.28086/8088的引腳功能8086的兩種工作方式最小模式(組態(tài))MN/MX接+5V構(gòu)成小規(guī)模的應(yīng)用系統(tǒng),只有8086一個(gè)微處理器,所有的總線控制信號(hào)均為8086產(chǎn)生,系統(tǒng)中的總線控制邏輯電路,減少到最少。最大模式(組態(tài))MN/MX接地。用于大型(中型)8086/8088系統(tǒng)中,系統(tǒng)總是包含有兩個(gè)或多個(gè)微處理器,其中一個(gè)主處理器就是8086或8088,其它的處理器稱協(xié)處理器,協(xié)助主處理器工作。需要總線控制器來(lái)變換和組合控制信號(hào)。2.28086/8088的引腳功能8086的兩種工作方式352.28086/8088的引腳功能最小模式下的引腳說(shuō)明地址/數(shù)據(jù)總線AD15~AD0(AddressDataBus)地址/數(shù)據(jù)分時(shí)復(fù)用信號(hào),雙向,三態(tài)。在T1狀態(tài)(地址周期)AD15~AD0上為地址信號(hào)的低16位A15~A0;在T2~T3狀態(tài)(數(shù)據(jù)周期)AD15~AD0上是數(shù)據(jù)信號(hào)D15~D0。2.28086/8088的引腳功能最小模式下的引腳說(shuō)明362.28086/8088的引腳功能地址/狀態(tài)線A19~A16/S6~S3(Address/Status)地址/狀態(tài)復(fù)用信號(hào),三態(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)前正在使用的段寄存器,其編碼見(jiàn)表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ù)用信號(hào),三態(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)

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

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

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

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

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

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

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

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

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

(1)GND

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

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一、基本概念總線操作:微處理器通過(guò)總線來(lái)進(jìn)行取指令、存取操作數(shù)等操作 工作時(shí)序:指令譯碼以后按時(shí)間順序產(chǎn)生的確定的控制信號(hào)。時(shí)鐘周期:時(shí)鐘脈沖信號(hào)的一個(gè)循環(huán)時(shí)間叫一個(gè)時(shí)鐘周期,又稱為一個(gè)“T”狀態(tài),是微處理器工作的最小時(shí)間單位。指令周期:執(zhí)行一條指令所需要的時(shí)間。總線周期:完成一次對(duì)存儲(chǔ)器或I/O端口的操作所需要的時(shí)間。二、總線操作 總線讀操作:取指令,讀存儲(chǔ)器,讀I/O接口 分類 總線寫(xiě)操作:寫(xiě)存儲(chǔ)器,寫(xiě)I/O接口 總線請(qǐng)求響應(yīng) 中斷響應(yīng) 2.48086的總線操作和時(shí)序一、基本概念2.48086的總線操作和時(shí)序61三、時(shí)序分析1、基本的總線周期時(shí)序分析T1T2T3T4TiTi

T1T2T3TwTwTwT4TiTi

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

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

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論