微機(jī)原理講義-第1章_第1頁(yè)
微機(jī)原理講義-第1章_第2頁(yè)
微機(jī)原理講義-第1章_第3頁(yè)
微機(jī)原理講義-第1章_第4頁(yè)
微機(jī)原理講義-第1章_第5頁(yè)
已閱讀5頁(yè),還剩116頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微機(jī)原理及接口技術(shù)主講:劉景萍第一章微型計(jì)算機(jī)概述1.1微機(jī)發(fā)展概述一、微機(jī)的發(fā)展微處理器30多年的發(fā)展歷程,頭20年是Intel時(shí)代。每隔7、8年,處理器位數(shù)就會(huì)有一個(gè)較大的飛躍。如1971年第一片4位微處理器4004,1978年16位處理器8086,1985年32位處理器80386。

計(jì)算機(jī)的發(fā)展核心部件為CPU,因此本小節(jié)主要以CPU的發(fā)展情況來(lái)分析微機(jī)的發(fā)展過(guò)程,以Intel公司的CPU為主線。

時(shí)間系列DB(內(nèi)/外)AB內(nèi)存?zhèn)渥?978808616/16201MBIBM用其制造PC機(jī)1979808816/8201MBIBM用其制造PC機(jī)19828028616/162416MB增加保護(hù)模式,處理超過(guò)1MB的內(nèi)存19858038632/32324GB內(nèi)存分頁(yè),模擬多個(gè)8086同時(shí)工作198980486倍頻,使外部設(shè)備的發(fā)展跟上CPU主頻1993Pentium超標(biāo)量結(jié)構(gòu),具有超頻性能時(shí)間系列特點(diǎn)1996Pentiumpro(高能奔騰)片內(nèi)封裝了與原CPU同頻運(yùn)行的256KB或512KB二級(jí)緩存,支持動(dòng)態(tài)預(yù)測(cè)執(zhí)行1997PentiumMMx(多能奔騰)

一級(jí)緩存32KB,增加MMX(多媒體擴(kuò)展指令)1997PIIPentiumpro的改進(jìn),鎖定CPU的倍頻數(shù)1998賽揚(yáng)較好的超頻性能1999PIIICPU序列號(hào),支持SSE(單一指令多數(shù)據(jù)流擴(kuò)展),大大加強(qiáng)在三維圖像和浮點(diǎn)運(yùn)算方面的能力2000賽揚(yáng)II二級(jí)緩存與CPU之間的通道擴(kuò)展到256位

二、微型計(jì)算機(jī)的特點(diǎn)體積小,重量輕價(jià)格低可靠性高,結(jié)構(gòu)靈活應(yīng)用面廣功能強(qiáng),性能高CPU實(shí)物圖1.2微機(jī)工作過(guò)程一、微機(jī)的基本結(jié)構(gòu)運(yùn)算器控制器存儲(chǔ)器輸入輸出中央處理器俗稱(chēng):CPU主機(jī)計(jì)算機(jī)硬件I/O設(shè)備馮·諾依曼計(jì)算機(jī)的5個(gè)組成部分存儲(chǔ)器輸入設(shè)備運(yùn)算器控制器輸出設(shè)備鍵盤(pán)、掃描儀等存放程序、數(shù)據(jù)、結(jié)果運(yùn)行程序,輸出結(jié)果顯示器、打印機(jī)等CPU微型計(jì)算機(jī)采用總線結(jié)構(gòu)總線:連接多個(gè)功能部件或多個(gè)裝置的一組公共信號(hào)線。內(nèi)部總線:CPU內(nèi)部各功能部件和各寄存器的連線。外部總線:又稱(chēng)系統(tǒng)總線,即連接CPU、存儲(chǔ)器和I/O接口的總線。一個(gè)部件只要符合總線標(biāo)準(zhǔn),就可以連接到采用這種總線標(biāo)準(zhǔn)的系統(tǒng)中。微型機(jī)中目前主要采用的總線有:PC總線、ISA總線、PCI總線等。雖然總線的標(biāo)準(zhǔn)不同,但都包括三類(lèi)總線:地址總線(AB)、數(shù)據(jù)總線(DB)、控制總線(CB)。地址總線(AddressBus)用來(lái)傳送地址的信號(hào)線地址總線的根數(shù)(位數(shù))決定了CPU可以直接尋址的內(nèi)存范圍。比如,有兩根地址線,每一根地址線都可以有0,1兩種狀態(tài),兩根地址線共有11011000這四種狀態(tài),即可尋址4個(gè)空間,4個(gè)字節(jié)。同樣,3根地址線共有8種狀態(tài),為:0000010100111001011101114根地址線共有16種狀態(tài),為:0000000100100011010001010110011110001001101010111100110111101111地址線的根數(shù)(位數(shù))n與CPU可直接尋址范圍的大小之間的關(guān)系為:內(nèi)存范圍=2n8位地址總線的微機(jī)直接尋址范圍為256個(gè)字節(jié)。16位地址總線的微機(jī)直接尋址范圍為216=64KB8086的地址總線為20位,故8086的尋址范圍為220字節(jié),即1MB。地址總線的信號(hào)總是從CPU送出,所以地址總線是單向的。地址總線上的信號(hào)除了高低電平外,還可以處于高阻(浮空)狀態(tài),稱(chēng)為單向、三態(tài)總線。數(shù)據(jù)總線(DataBus)用來(lái)傳送指令代碼和數(shù)據(jù)的信號(hào)線,數(shù)據(jù)總線的位數(shù)決定CPU一次可以傳輸或處理多少字節(jié)的數(shù)據(jù),這個(gè)指標(biāo)也稱(chēng)數(shù)據(jù)總線的寬度。8086為16位微處理器,即數(shù)據(jù)總線可允許16位二進(jìn)制數(shù)據(jù)一次通過(guò),進(jìn)行運(yùn)算存儲(chǔ)處理。8088的內(nèi)部為16位數(shù)據(jù)總線,外部為8位數(shù)據(jù)總線。數(shù)據(jù)總線是雙向的,既可以由CPU向存儲(chǔ)器和外設(shè)送出,又可以接收存儲(chǔ)器和外設(shè)的數(shù)據(jù)。同時(shí),數(shù)據(jù)總線也存在高阻(浮空)的狀態(tài),為雙向、三態(tài)總線??刂瓶偩€(ControlBus)用來(lái)傳送控制信號(hào)。根據(jù)微處理器的不同或連接的芯片、設(shè)備的不同,要求的具體控制信號(hào)的時(shí)序、狀態(tài)也不同,要根據(jù)實(shí)際的需要進(jìn)行連接、設(shè)置??刂菩盘?hào)線,根據(jù)使用條件不同,有單向、雙向、三態(tài)或非三態(tài)信號(hào)線。微機(jī)的內(nèi)部結(jié)構(gòu)與基本功能典型8位微處理器結(jié)構(gòu)用來(lái)完成算術(shù)和邏輯運(yùn)算特殊的寄存器,有很多指令與其有關(guān)指示A寄存器當(dāng)前的狀態(tài)存放下一條指令的地址CPU中的存儲(chǔ)單元,16位二、微機(jī)工作過(guò)程程序存儲(chǔ):將編寫(xiě)好的程序放入計(jì)算機(jī)的內(nèi)存,程序中的每條指令是按順序存放的。程序控制:控制器從存儲(chǔ)器中一條一條地取出指令、分析指令、根據(jù)不同的指令向各部件發(fā)出完成該指令的控制信號(hào)。程序在計(jì)算機(jī)是以指令的形式存儲(chǔ)的,指令是計(jì)算機(jī)可以識(shí)別的命令,是一系列的二進(jìn)制代碼。以8位微機(jī)為例進(jìn)行說(shuō)明欲完成的任務(wù):將整數(shù)10和20相加,將結(jié)果放入內(nèi)存地址為30H的單元中。分析:在計(jì)算機(jī)中,兩個(gè)數(shù)不能直接相加,首先應(yīng)將一個(gè)整數(shù)10放入累加器AL中,再使AL與另一個(gè)整數(shù)20相加,結(jié)果就在AL中,然后將AL中的內(nèi)容放到指定的內(nèi)存單元中。內(nèi)存中相應(yīng)的機(jī)器碼如下:將一個(gè)數(shù)10放入AL中地址內(nèi)容20H0111010021H0000101022H0011010023H0001010024H0101001125H0011000026H01000011…………30HAL中的數(shù)加上20將AL中的數(shù)放入30H單元停止操作操作碼:將一個(gè)數(shù)放入A中操作數(shù):即將放入A中數(shù)值有一字節(jié)、兩字節(jié)和多字節(jié)指令將一個(gè)數(shù)10放入AL中地址內(nèi)容20H0111010021H0000101022H0011010023H0001010024H0101001125H0011000026H01000011…………30HAL中的數(shù)加上20將AL中的數(shù)放入30H單元停止操作匯編語(yǔ)言MOVAL,10ADDAL,20MOV[30H],ALHLT00011110運(yùn)行后的結(jié)果程序計(jì)數(shù)器,自動(dòng)加11234地址5678數(shù)據(jù)取指階段示意程序計(jì)數(shù)器,自動(dòng)加11234地址567數(shù)據(jù)執(zhí)指階段示意完成一個(gè)指令周期1.38086/8088微處理器8086/8088是Intel公司的第三代CPU芯片,是使用最為廣泛的微處理器。均為40腳雙列直插芯片。20根地址線,尋址范圍為220=1MB。這兩種CPU根據(jù)系統(tǒng)規(guī)模的大小,均有兩種工作模式,最大模式和最小模式,在這兩種模式的工作下,個(gè)別引腳信號(hào)的定義不同。一般工作在最大模式,最小模式引腳信號(hào)的定義在括號(hào)中。808880868086CPU8088CPU對(duì)外是16位數(shù)據(jù)總線對(duì)外是8位數(shù)據(jù)總線每次讀寫(xiě)一個(gè)字每次讀寫(xiě)一個(gè)字節(jié)指令隊(duì)列為6個(gè)字節(jié)指令隊(duì)列為4個(gè)字節(jié)AD0~AD15為數(shù)據(jù)/地址復(fù)用線AD0~AD7為數(shù)據(jù)/地址復(fù)用線有BHE(高字節(jié)允許)信號(hào)無(wú)BHE信號(hào),而為狀態(tài)信號(hào)SS0存儲(chǔ)器與I/O接口選通線為M/IO存儲(chǔ)器與I/O接口選通線為M/IO一、編程結(jié)構(gòu)8086/8088CPU從功能上可分為兩個(gè)部分總線接口部件BIU:BusInterfaceUnit執(zhí)行部件EU:ExecutionUnit總線接口部件功能:負(fù)責(zé)與存儲(chǔ)器、I/O傳送數(shù)據(jù)。執(zhí)行部件的功能:完成指令的譯碼與執(zhí)行工作。段寄存器8086用20位地址尋址,但內(nèi)部的寄存器均為16位,所以要由段寄存器和其他寄存器相加形成20位地址進(jìn)行尋址。指令隊(duì)列8086在執(zhí)行指令的同時(shí),從內(nèi)存中取出下一條或下幾條指令放在指令隊(duì)列中,這樣,取指和執(zhí)值分開(kāi)操作,可以節(jié)省時(shí)間,連續(xù)執(zhí)行指令取指執(zhí)值取指執(zhí)值…………取指取指取指取指……執(zhí)值執(zhí)值執(zhí)值執(zhí)值BIU和EU同時(shí)進(jìn)行,加快程序的執(zhí)行速度。BIU使用指令隊(duì)列電路來(lái)實(shí)現(xiàn)流水線操作,該隊(duì)列為先進(jìn)先出隊(duì)列(FIFO),有兩個(gè)指針,允許預(yù)取6個(gè)字節(jié)的指令代碼。BIU的操作原則是:1)

每當(dāng)隊(duì)列中有兩個(gè)字節(jié)的空間時(shí),BIU就自動(dòng)地順序預(yù)取后續(xù)指令代碼,并填入指令隊(duì)列中。2)

如果指令隊(duì)列已滿,且EU又無(wú)請(qǐng)求時(shí),BIU不執(zhí)行任何總線周期,進(jìn)入空閑狀態(tài)。3)

當(dāng)EU在執(zhí)行中須向BIU申請(qǐng)從內(nèi)存或I/O口讀寫(xiě)操作數(shù)時(shí),若此時(shí)BIU空閑,則會(huì)立即完成EU請(qǐng)求;否則BIU先完成取指令操作,然后再進(jìn)行操作數(shù)的讀寫(xiě)總線周期。4)

如果EU執(zhí)行轉(zhuǎn)移指令,則BIU清除隊(duì)列機(jī)構(gòu),從新地址取得指令,并立即送給EU去執(zhí)行。然后從后續(xù)指令序列中取指令填滿隊(duì)列。數(shù)據(jù)寄存器4個(gè)16位數(shù)據(jù)寄存器,每個(gè)都可以分為2個(gè)8位寄存器單獨(dú)使用。一般用于以下用途:AX:累加器ADDBX:基址寄存器BASECX:計(jì)數(shù)寄存器 COUNTERDX:數(shù)據(jù)寄存器DATASP:堆棧指針寄存器,指示堆棧在內(nèi)存中的相對(duì)位置。BP:基數(shù)指針寄存器,存放數(shù)據(jù)在內(nèi)存中的基地址,使尋址方式更為靈活。SI:源操作數(shù)變址寄存器,存放源數(shù)據(jù)的地址。DI:目的操作數(shù)變址寄存器,存放目的數(shù)據(jù)的地址。SIDI指令指針寄存器IP:控制CPU指令的執(zhí)行順序,存放指令代碼在內(nèi)存中的相對(duì)地址,順序執(zhí)行時(shí),CPU每取一個(gè)指令字節(jié),IP自動(dòng)加1。OFDFIFTFSFZFAFPFCF1514131211109876543210for(i=0;i<10;i++)s=s+i;MOVCX,10A1:……;開(kāi)始計(jì)算……

DECCX;CX減1JNZA1;不為0,執(zhí)行A1

……語(yǔ)句標(biāo)號(hào)指令中程序的分支,轉(zhuǎn)向均是通過(guò)判斷標(biāo)志寄存器的標(biāo)志位實(shí)現(xiàn)的。標(biāo)志寄存器標(biāo)志寄存器PSW:存放CPU當(dāng)前的狀態(tài)。16位寄存器,8088/8086用了其中的9位,標(biāo)志寄存器這9位的含義在程序的編寫(xiě)和調(diào)試中起決定性的作用。CF:進(jìn)位標(biāo)志,運(yùn)算器在加減法中出現(xiàn)進(jìn)位或借位時(shí)該標(biāo)志位置1。PF:奇偶標(biāo)志,運(yùn)算結(jié)果的低8位中1的個(gè)數(shù)為偶數(shù)時(shí)該標(biāo)志位置1。AF:半進(jìn)位標(biāo)志,加法或減法時(shí),位3向位4進(jìn)位或借位時(shí)該標(biāo)志位置1。用于BCD(十進(jìn)制)運(yùn)算。ZF:零標(biāo)志,運(yùn)算結(jié)果為零時(shí)該標(biāo)志位置1。SF:符號(hào)標(biāo)志位,當(dāng)運(yùn)算結(jié)果的最高位為1(負(fù)數(shù))時(shí)該標(biāo)志位置1。OFDFIFTFSFZFAFPFCF1514131211109876543210OFDFIFTFSFZFAFPFCF1514131211109876543210TF:單步標(biāo)志,該位置1時(shí),8088/8086進(jìn)入單步運(yùn)行方式,即每條指令執(zhí)行完后都產(chǎn)生中斷,供用戶(hù)檢查各個(gè)寄存器及內(nèi)存的當(dāng)前狀況,通常用于調(diào)試。IF:中斷標(biāo)志,該位置1時(shí),8088/8086的CPU可以響應(yīng)外部可屏蔽中斷,否則,將外部可屏蔽中斷屏蔽,即使有中斷申請(qǐng)信號(hào)也不予理會(huì)。DF:方向標(biāo)志,該位置1時(shí),串操作指令為自動(dòng)減量指令,即從高地址向低地址處理字符串。串操作指令是對(duì)將內(nèi)存中連續(xù)的數(shù)據(jù)進(jìn)行逐個(gè)自動(dòng)操作。OFDFIFTFSFZFAFPFCF1514131211109876543210OF:溢出標(biāo)志,在算術(shù)運(yùn)算中,帶符號(hào)數(shù)的運(yùn)算結(jié)果超出8位或16位帶符號(hào)數(shù)所能表達(dá)的范圍時(shí),該標(biāo)志位置1。例如:8位數(shù)運(yùn)算,當(dāng)100+34時(shí),結(jié)果為134,超過(guò)8位正數(shù)的最大值127,此時(shí),該標(biāo)志位置1。100:0110010034:00100010011001000010001010000110

+兩個(gè)正數(shù)相加,結(jié)果為負(fù)數(shù),這是由正數(shù)表示范圍溢出造成的。OFDFIFTFSFZFAFPFCF1514131211109876543210是控制位,不是反映目前CPU的狀態(tài),而是由程序進(jìn)行設(shè)置,使CPU根據(jù)設(shè)置的狀態(tài)運(yùn)行。其他標(biāo)志位則是反映CPU的當(dāng)前運(yùn)行狀態(tài),程序可以通過(guò)判斷這些標(biāo)志進(jìn)行轉(zhuǎn)向、循環(huán)等。二、存儲(chǔ)器組織結(jié)構(gòu)8086/8088有20根地址線,可尋址1MB空間的內(nèi)存,當(dāng)程序運(yùn)行時(shí),程序代碼,數(shù)據(jù)等被編譯程序按照一定的規(guī)則放在內(nèi)存中。CPU也依據(jù)同樣的規(guī)則取指、執(zhí)值、存取數(shù)據(jù)、控制程序?!绦駽PU內(nèi)存程序在內(nèi)存中是分段存放的,即指令代碼、數(shù)據(jù)、堆棧分開(kāi)存放,每段有明確的首地址,段和段之間的地址可以連續(xù)、斷開(kāi)、重疊。代碼段(CODE):存放CPU可以運(yùn)行的指令,程序代碼;數(shù)據(jù)段(DATA):存放程序中定義的變量等數(shù)據(jù);堆棧段(STACK):在程序調(diào)用時(shí)存放調(diào)用處的地址、寄存器的內(nèi)容、調(diào)用的參數(shù)等,在調(diào)用完后對(duì)寄存器進(jìn)行恢復(fù);存放一些臨時(shí)保存的數(shù)據(jù);附加數(shù)據(jù)段(EXTRA):與數(shù)據(jù)段配合使用,使編程更加靈活。…………碼段堆棧段數(shù)據(jù)段附加數(shù)據(jù)段…………碼段1堆棧段數(shù)據(jù)段碼段2每段的長(zhǎng)度均小于64KB,即16位寄存器能表示的最大范圍。8086/8088有20根地址線,但每個(gè)寄存器只有16位,如何能正確地給出指令或數(shù)據(jù)的唯一的地址??jī)?nèi)存空間的唯一地址(20位)稱(chēng)為物理地址是由兩部分組成的:

基地址(段地址)×16+偏移地址(相對(duì)地址)基地址16位偏移地址0000XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+20位物理地址例如:基地址:21ABH偏移地址:1678H物理地址:21AB01678+2312823128H每一個(gè)邏輯段中,基地址是由計(jì)算機(jī)編譯系統(tǒng)分配的,在這個(gè)邏輯段中不能改變,而偏移地址從0000H開(kāi)始,最長(zhǎng)到FFFFH,所以一個(gè)邏輯段的長(zhǎng)度不能超過(guò)64KB?!a段堆棧段數(shù)據(jù)段附加數(shù)據(jù)段物理地址:XXXX0H其中:XXXX為基地址…………000200010000……偏移地址從0000H起基地址與偏移地址用兩個(gè)寄存器分別存放,在同一邏輯段尋址時(shí)只對(duì)偏移地址進(jìn)行變動(dòng)即可。段地址寄存器段地址寄存器:分別存放正在處理的相應(yīng)段的基地址。CS:CODE代碼段DS:DATA數(shù)據(jù)段SS:STACK堆棧段ES:EXTRA附加段段地址寄存器的內(nèi)容左移4位,與相應(yīng)段的偏移地址相加,形成20位的物理地址。其中:代碼段的偏移地址是由指令指針寄存器IP給出的。這個(gè)寄存器不能由指令直接賦值。指令指針寄存器當(dāng)微處理器復(fù)位時(shí),CS中的內(nèi)容為FFFFH,IP的內(nèi)容為0000H,所以計(jì)算機(jī)復(fù)位后的第一條指令是從FFFF0H處開(kāi)始運(yùn)行的。CPU在總線上每完成一次數(shù)據(jù)的傳送稱(chēng)為一個(gè)總線周期。一個(gè)總線周期由4個(gè)時(shí)鐘周期T1~T4組成。在8086的數(shù)據(jù)、地址復(fù)用引腳上,T1時(shí)刻出現(xiàn)的是地址信號(hào),T2~T4時(shí)刻出現(xiàn)的是數(shù)據(jù)信號(hào)。16根信號(hào)線,有低有高,圖為簡(jiǎn)化形式三、8088/8086CPU引線及其功能具有40根管腳的集成芯片。引腳分成三組,分別為地址引線、數(shù)據(jù)引線、控制引線。1.數(shù)據(jù)地址線分時(shí)復(fù)用地址引線有20條,數(shù)據(jù)引線有16條,為了減少外接引線的數(shù)目,數(shù)據(jù)引線和地址引線的低16位是分時(shí)復(fù)用的。地址信號(hào)連接地址總線,數(shù)據(jù)信號(hào)連接數(shù)據(jù)總線,如何能將同一根信號(hào)線上的不同時(shí)段的信號(hào)送至不同的目的地?在8086中,隨地址信號(hào)一起發(fā)出的還有第25腳的ALE信號(hào)(地址使能):AddressEnable,該信號(hào)打開(kāi)地址鎖存器鎖存地址信號(hào)。ALE信號(hào)T1時(shí)刻,鎖存器開(kāi)啟,鎖存地址信號(hào)至地址總線端。地址線的高4位也是復(fù)用線:地址/狀態(tài)復(fù)用線。T1時(shí)刻,發(fā)送地址信號(hào);T2~T4時(shí)刻,輸出CPU當(dāng)前的狀態(tài)信息,即使用狀況。A16/S3~A19/S6S6:為0指示8086當(dāng)前與總線相連(S6一直為0)S5:表明中斷運(yùn)行標(biāo)志IF的當(dāng)前狀況。為1,當(dāng)前允許可屏蔽中斷請(qǐng)求;為0,禁止。S4,S3合起來(lái)表示當(dāng)前正在使用哪一個(gè)段寄存器。S3S4說(shuō)明00正在使用ES01SS10CS或未使用11DS2.最大最小工作模式最小工作模式:微機(jī)系統(tǒng)中只有一個(gè)CPU,所有總線控制信號(hào)都直接由8086產(chǎn)生,系統(tǒng)中總線控制邏輯電路被減少到最小。最大工作模式:微機(jī)系統(tǒng)中允許有兩個(gè)或兩個(gè)以上微處理器存在,其中一個(gè)主處理器是8086,其他的稱(chēng)為協(xié)處理器(8087:硬件方式完成浮點(diǎn)數(shù)運(yùn)算)在最大模式中,大部分總線控制信號(hào)由總線控制器8288產(chǎn)生,可以構(gòu)成大規(guī)模的控制系統(tǒng)。最大最小模式控制腳33腳是最大最小工作模式控制腳,接高電平為工作在最小模式;接低電平為工作在最大模式。輸入輸出S1S2S3D1D2D3D4D5D6D7D80000111111100110111111010110111110111110111110011110111101111110111101111110111111111110一組輸入對(duì)應(yīng)著唯一的一根輸出線有效。12345輸出地址地址選通讀信號(hào)有效數(shù)據(jù)從內(nèi)存輸出數(shù)據(jù)上數(shù)據(jù)總線12345輸出地址地址選通寫(xiě)信號(hào)有效數(shù)據(jù)進(jìn)入內(nèi)存數(shù)據(jù)從CPU上數(shù)據(jù)總線3.CPU引腳信號(hào)詳細(xì)分析8086的控制信號(hào)共有17條,一個(gè)VCC,兩個(gè)GND,17+20+3=40。其中17根控制信號(hào)中,9根控制信號(hào)與最大最小模式無(wú)關(guān)(共用),8根控制線在最大模式與最小模式中分別有不同的定義。共用控制信號(hào)19管腳時(shí)鐘信號(hào)CLK,輸入時(shí)鐘信號(hào)時(shí)鐘信號(hào):為CPU和總線控制邏輯電路提供時(shí)序,頻率4.77MHz,占空比為33%,即1/3周期高電平,2/3周期低電平。8086微機(jī)的時(shí)鐘信號(hào)是由8284時(shí)鐘發(fā)生器提供的。8284與8086連接電路8284可接外時(shí)鐘或本地晶振。在微機(jī)系統(tǒng)中,接本地晶振14.31818MHz,經(jīng)3分頻后提供給CPU。OSC:晶振頻率,提供給顯示器用。PCLK:晶振6分頻,供外設(shè)用。將控制總線的復(fù)位信號(hào)和"準(zhǔn)備好"信號(hào)送入8284與時(shí)序同步后再送入CPU。NMI(Non-MaskableInterrupt)17引腳,非屏蔽中斷請(qǐng)求信號(hào),輸入。上升沿觸發(fā)(邊沿觸發(fā))。非屏蔽中斷請(qǐng)求不受中斷標(biāo)志IF的影響,不能用軟件控制(屏蔽),每當(dāng)該端輸入一個(gè)正沿觸發(fā)信號(hào)時(shí),CPU就會(huì)在當(dāng)前指令周期結(jié)束后,進(jìn)入中斷類(lèi)型號(hào)為2的中斷處理程序,在8086微機(jī)中,該中斷用于I/O與內(nèi)存的奇偶校驗(yàn)。CPU在執(zhí)行每條指令的最后一個(gè)時(shí)鐘周期會(huì)對(duì)INTR信號(hào)進(jìn)行采樣,若CPU的IF為1且INTR信號(hào)為高電平,CPU會(huì)在現(xiàn)行指令結(jié)束后響應(yīng)中斷請(qǐng)求,進(jìn)入中斷處理程序。可屏蔽中斷請(qǐng)求18引腳,可屏蔽中斷請(qǐng)求信號(hào),輸入。高電平有效(電平觸發(fā))。INTR(InterruptRequest)32引腳,讀信號(hào),輸出。低電平有效。RD(Read)CPU根據(jù)指令發(fā)出的讀內(nèi)存或I/O口的命令信號(hào),具體是讀內(nèi)存或是讀I/O口要由另外的信號(hào)決定。被讀的內(nèi)存或I/O端口,利用這個(gè)信號(hào)打開(kāi)數(shù)據(jù)門(mén),使數(shù)據(jù)進(jìn)入數(shù)據(jù)總線供CPU讀取。在DMA方式,該引腳處于三態(tài)。讀信號(hào)輸出12345輸出地址地址選通讀信號(hào)有效數(shù)據(jù)從內(nèi)存輸出數(shù)據(jù)上數(shù)據(jù)總線最大最小模式控制腳33腳是最大最小工作模式控制腳,接高電平為工作在最小模式;接低電平為工作在最大模式。33引腳,最大最小模式控制信號(hào),輸入。(Min/Max)22引腳,準(zhǔn)備好信號(hào),輸入。高電平有效。REDAY由所訪問(wèn)的內(nèi)存或I/O設(shè)備發(fā)回的響應(yīng)信號(hào),高電平有效,當(dāng)信號(hào)有效時(shí),表示內(nèi)存或I/O設(shè)備準(zhǔn)備就緒,馬上就可進(jìn)行一次數(shù)據(jù)傳輸。準(zhǔn)備好信號(hào)CPU在每個(gè)總線周期的T3狀態(tài)開(kāi)始對(duì)READY信號(hào)采樣,如果檢測(cè)到該信號(hào)為低電平(未準(zhǔn)備好),就插入一個(gè)等待周期Tw,在Tw狀態(tài)中繼續(xù)對(duì)該信號(hào)采樣,如仍為低電平,則繼續(xù)插入Tw,Tw狀態(tài)可以插入多個(gè),直到REDAY信號(hào)為高電平時(shí),才進(jìn)入T4狀態(tài),完成總線周期。檢測(cè)3次READY信號(hào),插入2個(gè)等待周期。23引腳,測(cè)試信號(hào),輸入。低電平有效。和WAIT指令結(jié)合使用,在CPU執(zhí)行WAIT指令時(shí),CPU處于空轉(zhuǎn)狀態(tài)進(jìn)行等待,并每隔5個(gè)時(shí)鐘周期重復(fù)檢測(cè)該信號(hào),當(dāng)檢測(cè)到該信號(hào)為低電平時(shí),等待狀態(tài)結(jié)束,CPU繼續(xù)執(zhí)行WAIT后的指令。WAIT指令和該信號(hào)是使處理器與外設(shè)同步用的。測(cè)試信號(hào)21引腳,復(fù)位信號(hào),輸入。高電平有效。RESET復(fù)位信號(hào)高電平寬度至少大于4個(gè)時(shí)鐘周期。當(dāng)信號(hào)有效時(shí),CPU結(jié)束當(dāng)前操作,并對(duì)CPU內(nèi)的標(biāo)志寄存器,IP,DS,SS,ES及指令隊(duì)列清零,而將CS設(shè)置為FFFFH,當(dāng)復(fù)位信號(hào)變?yōu)榈碗娖綍r(shí),CPU從FFFF0H處開(kāi)始執(zhí)行程序。復(fù)位信號(hào)通常在FFFF0H處存放一條段間轉(zhuǎn)移JMP指令,將指令轉(zhuǎn)移到系統(tǒng)程序的實(shí)際開(kāi)始處。34引腳,高8位數(shù)據(jù)總線允許/狀態(tài)復(fù)用引腳,輸出。(BusHighEnable/Sattus)8086CPU特有信號(hào),在8088中,該引腳或?yàn)楦唠娖?最大模式),或與當(dāng)前總線周期的讀寫(xiě)動(dòng)作有關(guān)(最小模式)。高位數(shù)據(jù)總線允許8086是16位數(shù)據(jù)總線,而8088是8位數(shù)據(jù)總線。8086存儲(chǔ)器結(jié)構(gòu)圖由兩片512KB的存儲(chǔ)體構(gòu)成,每片的地址總線為19位,分別接CPU地址總線的A19~A1端,數(shù)據(jù)總線為8位,奇地址存儲(chǔ)體接CPU數(shù)據(jù)總線的高8位,偶地址存儲(chǔ)體接CPU數(shù)據(jù)總線的低8位。奇地址存儲(chǔ)體的片選端接CPU的端,當(dāng)為低電平時(shí)奇地址存儲(chǔ)體輸出/輸入數(shù)據(jù),即CPU高8位數(shù)據(jù)總線上有數(shù)據(jù);偶地址存儲(chǔ)體的片選端接CPU的A0端,當(dāng)A0為低電平時(shí)偶地址存儲(chǔ)體輸出/輸入數(shù)據(jù),即CPU低8位數(shù)據(jù)總線上有數(shù)據(jù)。是控制CPU高8位數(shù)據(jù)總線的允許信號(hào),A0端是控制CPU低8位數(shù)據(jù)總線上的允許信號(hào)。A0操作數(shù)據(jù)引腳00從偶地址開(kāi)始讀寫(xiě)一個(gè)字(16位)AD15~AD010從偶地址單元或端口讀寫(xiě)一個(gè)字節(jié)(8位)AD7~AD001從奇地址單元或端口讀寫(xiě)一個(gè)字節(jié)(8位)AD15~AD801從奇地址單元開(kāi)始讀寫(xiě)一個(gè)字(16位)(在第一個(gè)總線周期,將低8位數(shù)據(jù)送至AD15~AD8,在第二個(gè)總線周期,將高8位字節(jié)送至AD7~AD0。在CPU內(nèi)部進(jìn)行調(diào)整AD15~AD810AD7~AD0如果要讀寫(xiě)從奇地址單元開(kāi)始的一個(gè)字,需要2個(gè)總線周期,所以一般讀寫(xiě)從偶地址開(kāi)始的字。地址線A0不參加存儲(chǔ)器片內(nèi)單元的選取。在8086中,參與了地址的選取。在T2~T4及Tw狀態(tài),該引腳輸出信號(hào)S7,但S7并未賦予實(shí)際的意義,S7為1。8086/8088有8根信號(hào)線與系統(tǒng)工作模式有關(guān)。最小工作模式(括號(hào)內(nèi)管腳定義):微機(jī)系統(tǒng)中只有一個(gè)CPU,所有總線控制信號(hào)都直接由8086產(chǎn)生,系統(tǒng)中總線控制邏輯電路被減少到最小。24引腳,中斷響應(yīng)信號(hào),輸出,為連續(xù)兩個(gè)總線周期的負(fù)脈沖。(InterruptAcknowledge)當(dāng)外設(shè)向CPU申請(qǐng)可屏蔽中斷INTR,CPU如果允許中斷,則連續(xù)發(fā)出兩個(gè)負(fù)脈沖給外設(shè)。第一個(gè)負(fù)脈沖通知外設(shè)已受理中斷;外設(shè)在第二個(gè)負(fù)脈沖時(shí)向數(shù)據(jù)總線上發(fā)送中斷類(lèi)型碼。中斷響應(yīng)信號(hào)25引腳,地址鎖存允許信號(hào),輸出。高電平有效。ALE(AddressLatchEnable)T1時(shí)刻有效,用來(lái)鎖存AD復(fù)用線上的地址信號(hào)。地址鎖存T1時(shí)刻,鎖存器開(kāi)啟,鎖存地址信號(hào)至地址總線端。26引腳,數(shù)據(jù)允許信號(hào),輸出。低電平有效。(DataEnable)T2時(shí)刻有效,延至T4,將AD復(fù)用線連接到數(shù)據(jù)總線上。數(shù)據(jù)允許使能端連接雙向數(shù)據(jù)緩沖器的使能端,使CPU的AD復(fù)用總線與數(shù)據(jù)總線在T2~T4時(shí)刻連接,輸入輸出數(shù)據(jù)。27引腳,數(shù)據(jù)收發(fā)輸出方向控制信號(hào),輸出。(DataTransmit/Receive)用來(lái)控制雙向數(shù)據(jù)緩沖器數(shù)據(jù)的傳輸方向,高電平為輸出數(shù)據(jù),低電平為輸入數(shù)據(jù),具體的高低電平由指令(軟件)控制。數(shù)據(jù)方向高電平:數(shù)據(jù)由AB;低電平:數(shù)據(jù)由BA。輸入輸出有效電平的上線時(shí)序不同。28引腳,存儲(chǔ)器、I/O控制信號(hào),輸出。(Memory/InoutandOutput)用來(lái)控制CPU進(jìn)行的是對(duì)存儲(chǔ)器的訪問(wèn)還是對(duì)外部輸入輸出口的訪問(wèn)。高電平為對(duì)存儲(chǔ)器的訪問(wèn),低電平為對(duì)I/O口的訪問(wèn),具體的高低電平由指令(軟件)控制。存儲(chǔ)器/IO選擇在8086微機(jī)系統(tǒng)中,存儲(chǔ)器的地址與I/O口重合,即地址總線上的一個(gè)地址信號(hào)(300H),即可以訪問(wèn)到存儲(chǔ)器的300H單元,又可以訪問(wèn)到I/O口的300H單元,讀寫(xiě)信號(hào)也是公用的,所以讀寫(xiě)信號(hào)必須要與信號(hào)配合使用,才能區(qū)分出所訪問(wèn)的對(duì)象。存儲(chǔ)器讀寫(xiě)信號(hào)29引腳,寫(xiě)信號(hào),輸出。(Write)低電平有效,表示CPU正在進(jìn)行寫(xiě)存儲(chǔ)器或I/O口的操作。寫(xiě)信號(hào)31引腳,總線保持請(qǐng)求信號(hào),輸入。HOLD(HoldRequest)高電平有效,除CPU外其他主模塊向CPU發(fā)出的請(qǐng)求占用總線的申請(qǐng)信號(hào)。總線請(qǐng)求30引腳,總線保持響應(yīng)信號(hào),輸出。HLDA(HoldAcknowledge)高電平有效,CPU將總線(地址、數(shù)據(jù)、控制)浮空,發(fā)信號(hào)給請(qǐng)求端,同意出讓總線。在出讓總線期間,HOLD與HLDA均為高電平,HOLD變?yōu)榈碗娖?,表示放棄?duì)總線的占有??偩€請(qǐng)求響應(yīng)最小工作模式最小工作模式下的系統(tǒng)典型配置8086/8088有8根信號(hào)線與系統(tǒng)工作模式有關(guān)。最大工作模式:微機(jī)系統(tǒng)中允許有兩個(gè)或兩個(gè)以上微處理器存在,其中一個(gè)主處理器是8086,其他的稱(chēng)為協(xié)處理器。在最大模式中,大部分總線控制信號(hào)由總線控制器8288產(chǎn)生,可以構(gòu)成大規(guī)模的控制系統(tǒng)??偩€周期狀態(tài)信號(hào)26~28引腳,總線周期狀態(tài)信號(hào),輸出。這三個(gè)信號(hào)組合起來(lái)可以指出當(dāng)前總線周期中所進(jìn)行的數(shù)據(jù)傳輸過(guò)程的類(lèi)型。將其送入8288進(jìn)行譯碼,產(chǎn)生對(duì)存儲(chǔ)器及I/O口訪問(wèn)的控制信號(hào)。(BusCycleState)說(shuō)明000輸出中斷響應(yīng)信號(hào)INTA001讀I/O端口010寫(xiě)I/O端口011暫停100取指令101讀存儲(chǔ)器110寫(xiě)存儲(chǔ)器111無(wú)源狀態(tài)8288結(jié)構(gòu)框圖由總線仲裁信號(hào)控制無(wú)源狀態(tài):對(duì)來(lái)說(shuō),在前一個(gè)總線周期的T4狀態(tài)和本總線周期的T1,T2狀態(tài)中,至少有一個(gè)信號(hào)為低電平,每種情況下,都對(duì)應(yīng)了某一個(gè)總線操作過(guò)程,通常稱(chēng)為有源狀態(tài)。在總線周期T3和Tw狀態(tài)且READY信號(hào)為高電平時(shí),為高電平,此時(shí),一個(gè)總線操作過(guò)程就要結(jié)束,另一個(gè)新的總線周期還未開(kāi)始,通常稱(chēng)為無(wú)源狀態(tài)。而在總線周期的T4狀態(tài),中任何一個(gè)或幾個(gè)信號(hào)的改變,都意味著下一個(gè)新的總線周期的開(kāi)始。31引腳,總線請(qǐng)求輸入、總線請(qǐng)求允許信號(hào)輸出,輸入輸出雙向。(Request/Grant)CPU外的總線主設(shè)備向CPU申請(qǐng)總線和CPU接受申請(qǐng)后的應(yīng)答信號(hào)。信號(hào)是雙向的,方向相反??偩€請(qǐng)求要占有總線的主設(shè)備輸送一個(gè)寬度為一個(gè)時(shí)鐘周期的脈沖給CPU,表示請(qǐng)求使用總線。CPU在當(dāng)前總線周期的T4或下一個(gè)總線周期的T1狀態(tài)輸出一個(gè)寬度為一個(gè)時(shí)鐘周期的脈沖給該總線主設(shè)備,作為出讓總線的應(yīng)答信號(hào),從下一個(gè)時(shí)鐘周期開(kāi)始,CPU釋放總線。當(dāng)外設(shè)使用完畢時(shí),該總線主設(shè)備輸出一個(gè)時(shí)鐘周期的脈沖給CPU表示總線請(qǐng)求的結(jié)束,于是CPU在下一個(gè)時(shí)鐘周期又開(kāi)始控制總線。每一次總線主設(shè)備的改變都需要這樣的3個(gè)脈沖,脈沖為低電平有效。在兩個(gè)總線請(qǐng)求之間,至少要有一個(gè)空時(shí)鐘周期。30引腳,總線請(qǐng)求輸入、總線請(qǐng)求允許信號(hào)輸出,輸入輸出雙向。(Request/Grant)優(yōu)先級(jí)低于第31引腳總線請(qǐng)求29引腳,總線封

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論