微機原理與接口教案1_第1頁
微機原理與接口教案1_第2頁
微機原理與接口教案1_第3頁
微機原理與接口教案1_第4頁
微機原理與接口教案1_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第2課次授課計劃基本內(nèi)容:第二章 16位微處理器 2.1 8086的編程結(jié)構(gòu) 2.2 8086的引腳信號和工作模式 目的要求:1. 掌握8086CPU的編程結(jié)構(gòu)2.掌握8086的內(nèi)部組成結(jié)構(gòu)、寄存器結(jié)構(gòu)3.掌握8086總線周期的概念4.理解8086的并行流水線工作方式5.掌握存儲器的編址6.掌握8086CPU主要引腳信號的功能(地址總線、數(shù)據(jù)總線、控制總線)7.理解8086CPU工作模式及典型配置。難點: CPU的編程結(jié)構(gòu)標志寄存器的含義理解8086CPU外部引腳信號的作用及它們之間是如何協(xié)同工作的復(fù)習(xí)鞏固:1.微型計算機工作過程2.微型計算機結(jié)構(gòu)新課講授:2.1.1 8086的編程結(jié)構(gòu)1.8

2、086 CPU的一般性能特點(1)16位的內(nèi)部結(jié)構(gòu),16位雙向數(shù)據(jù)信(2)20位地址信號線,可尋址1MB存儲單(3)較強的指令系統(tǒng)。(4)利用16位地址總線進行I/O端口尋址,可尋址64K個I/O端口。(5)中斷功能強,可處理內(nèi)部軟件中斷和外部中斷,中斷源可達256個。(6)單一的+5V電源,單相時鐘頻率5MHz。2.編程結(jié)構(gòu)8086是intel系列的16位微處理器,有16根數(shù)據(jù)線和20根地址線,可尋址空間1MB 要掌握一個CPU的性能和使用方法,首先應(yīng)該了解它的編程結(jié)構(gòu)。所謂編程結(jié)構(gòu),就是從程序員和使用者的角度看到的結(jié)構(gòu),當然,這種結(jié)構(gòu)與CPU內(nèi)部的物理結(jié)構(gòu)和實際布局是有區(qū)別的。下

3、圖就是8086的編程結(jié)構(gòu)圖。在編程結(jié)構(gòu)圖中可以看到,從功能上,8086分兩部分,即總線接口部件(bus interface unit,BIU)和執(zhí)行部件(execution unit,EU)。(1)總線接口部件(BIU)1. 總線接口部件的功能是負責(zé)與存儲器、I/O端口傳送數(shù)據(jù)。具體來看,就是完成取指令,指令排隊,配合執(zhí)行部件的動作,從內(nèi)存單元或I/O端口取操作數(shù),或者將操作結(jié)果送內(nèi)存單元或者I/O端口。2.8086的總線接口部件由以下各部分組成:4個段地址寄存器:CS:16位代碼段寄存器(code segment);DS:16位數(shù)據(jù)段寄存器(data segment);ES:16位附加段寄存

4、器(extra segment);SS:16位堆棧段寄存器(stack segment)。16位指令指針寄存器IP(instruction pointer):用來指向下一條要取出的指令代碼。20位地址加法器:將16位邏輯地址變換成存儲器讀/寫所需的20位物理地址。6字節(jié)指令隊列緩沖器:預(yù)存6字節(jié)的指令代碼??偩€控制邏輯:發(fā)出總線控制信號。實現(xiàn)存儲器讀/寫控制和I/O讀/寫控制。它將8086 CPU的內(nèi)部總線與外部總線相連,是8086 CPU與外部打交道不可缺少的路徑。3.8086總線接口部件的特點:8086的指令隊列為6個字節(jié),CPU在執(zhí)行指令的同時,從內(nèi)存中取下面1條指令或幾條指令放在指令隊

5、列中。這樣,一般情況下,8086執(zhí)行完一條指令就可以立即執(zhí)行下一條指令,而不像以往的計算機那樣輪番地進行取指令和執(zhí)行指令的操作,從而提高了CPU的效率。地址加法器用來產(chǎn)生20位地址。8086用20位地址尋址1MB的內(nèi)存空間,但8086內(nèi)部寄存器都是16位的,所以需要一個附加機構(gòu)來根據(jù)16位寄存器提供的信息計算出20位的物理地址。即:物理地址(PA)=段基址×10H+偏移地址(EA)(2)執(zhí)行部件(EU)1.執(zhí)行部件負責(zé)指令的執(zhí)行 ,由下列4部分組成:4個通用16位寄存器,即AX、BX、CX、DX;4個專用16位寄存器,即基數(shù)指針寄存器BP(base pointer),堆棧指針寄存器S

6、P(stack pointer),源變址寄存器SI(source index),目的變址寄存器DI(destination index);標志寄存器FR(flag register);算術(shù)邏輯部件ALU(arithmetic logic unit)。2.通用寄存器4個通用寄存器可作為16位寄存器使用,也可作為8位寄存器使用。比如,BX寄存器作為8位寄存器時,分別稱為BH和BL,BH為高8位,BL為低8位。數(shù)據(jù)寄存器特有的習(xí)慣用法: AX:累加器,指令系統(tǒng)中有許多指令都是利用累加器來執(zhí)行的。所有I/O指令都通過AX與接口傳送信息,中間運算結(jié)果也多放于AX中; BX:基址寄存器。在間接尋址中用于存

7、放基地址;CX:計數(shù)寄存器。用于在循環(huán)或串操作指令中存放計數(shù)值;DX:數(shù)據(jù)寄存器。在間接尋址的I/O指令中存放I/O端口地址;在32位乘除法運算時,存放高16位數(shù)。地址指針寄存器 SP:堆棧指針寄存器,其內(nèi)容為棧頂?shù)钠频刂?;BP:基址指針寄存器,常用于在訪問內(nèi)存時存放內(nèi)存單元的偏移地址。BX與BP在應(yīng)用上的區(qū)別 作為通用寄存器,二者均可用于存放數(shù)據(jù); 作為基址寄存器,用BX表示所尋找的數(shù)據(jù)在DS數(shù)據(jù)段;用BP則表示數(shù)據(jù)在SS堆棧段。變址寄存器 SI:源變址寄存器DI:目標變址寄存器 變址寄存器在指令中常用于存放數(shù)據(jù)在內(nèi)存中的地址。3.標志寄存器 標志寄存器共有16位,其中7位未用,所用的各位

8、含義如下: (1)狀態(tài)標志位 狀態(tài)標志有6個,即SF、ZF、PF、CF、AF和OF。符號標志SF:它和運算結(jié)果的最高位相同。它指出前面的運算執(zhí)行后的結(jié)果是正(SF=0)還是負(SF=1)。零標志ZF:如果當前的運算結(jié)果為0,則ZF=1;如果當前的運算結(jié)果不為0,ZF=0。奇偶標志PF:如果運算結(jié)果的低8位中所含的1的個數(shù)為偶數(shù),則PF=1;否則PF=0。進位標志CF:執(zhí)行一個加法運算使最高位產(chǎn)生進位時,或者執(zhí)行一個減法運算引起最高位產(chǎn)生借位時,則CF=1;否則CF=0。另外循環(huán)指令也影響CF。輔助進位標志AF:當加法運算時,第三位往第四位(即半字節(jié))有進位,或減法運算時第三位從第四位有借位,則

9、AF=1;否則AF=0。用于BCD碼的調(diào)整依據(jù)。溢出標志OF:當運算過程中產(chǎn)生溢出時,OF=1;否則OF=0。溢出:當字節(jié)運算的結(jié)果超出了范圍128+127,或者當字運算的結(jié)果超出了范圍-32768+32767時稱為溢出。(2)控制標志位方向標志DF(direction flag)這是控制串操作指令用的標志。如果DF為0,則串操作過程中地址會不斷增值;反之,如果DF為1,則串操作過程中地址不斷減值。中斷允許標志IF(interrupt enable flag)這是控制可屏蔽中斷的標志。如IF為0,則CPU不能響應(yīng)可屏蔽中斷請求;如IF為1,則CPU可接受可屏蔽中斷請求。跟蹤標志TF(trap

10、flag)又稱為單步標志,如果TF為1,則CPU按跟蹤方式執(zhí)行指令。這些控制標志一旦設(shè)置后,便對后面的操作產(chǎn)生控制作用。3.并行流水線工作方式 4 . 8086的總線周期概念為了取得指令或傳送數(shù)據(jù),就需要CPU的總線接口部件執(zhí)行一個總線周期。CPU完成一次訪問內(nèi)存(或接口)操作所需要的時間就叫做總線周期。在8086中,一個最基本的總線周期由4個時鐘周期組成,時鐘周期是CPU的基本時間計量單位,它由計算機主頻決定。在一個最基本的總線周期中,習(xí)慣上將4個時鐘周期分別稱為4個狀態(tài),即T1狀態(tài)、T2狀態(tài)、T3狀態(tài)和T4狀態(tài)。(1)T1狀態(tài),發(fā)地址信息。CPU往多路復(fù)用總線上發(fā)出地址信息,以指出要尋址的

11、存儲單元或外設(shè)端口的地址。(2)T2狀態(tài),輸出狀態(tài)信息。CPU從總線上撤銷地址,使總線的低16位浮置成高阻態(tài),用于傳輸數(shù)據(jù)??偩€的高4位(A19A16)用來輸出本總線周期狀態(tài)信息。這些狀態(tài)信息用來表示中斷允許狀態(tài)、當前正在使用的段寄存器名單。(3)T3狀態(tài),多路總線的高4位繼續(xù)提供狀態(tài)信息,而總線的低16位上出現(xiàn)由CPU寫出的數(shù)據(jù)或者CPU從存儲器或者端口中讀入的數(shù)據(jù)。(4)T3之后,可能插入TW(等待狀態(tài))。由于外設(shè)或存儲器速度較慢,常常不能及時配合CPU傳送數(shù)據(jù)。這時,外設(shè)或存儲器會通過READY信號線在T3狀態(tài)啟動之前向CPU發(fā)送一個“數(shù)據(jù)未準備好”的信號,于是CPU會在T3之后插入1個

12、或多個附加的時鐘周期TW。在TW狀態(tài),總線上的信息情況和T3狀態(tài)的信息情況一樣。當指定的存儲器或外設(shè)完成數(shù)據(jù)傳送時,便在READY線上發(fā)出“準備好”信號,CPU接收到這一信號后,會自動脫離TW狀態(tài)進入T4狀態(tài)。(5)在T4狀態(tài),總線周期結(jié)束。需要指出,只有在CPU和內(nèi)存或I/O接口之間傳輸數(shù)據(jù),以及填充指令隊列時,CPU才執(zhí)行總線周期。如果在1個總線周期之后,不立即執(zhí)行下一個總線周期,那么,系統(tǒng)總線就處在空閑狀態(tài),此時,執(zhí)行空閑周期。下圖表示了一個典型的總線周期序列。5.存儲器編址(1)內(nèi)存單元的編址 每個內(nèi)存單元在整個內(nèi)存空間中都具有惟一的地址-物理地址(20位)。 每個內(nèi)存單元的地址碼都由

13、兩部分組成: 段(基)地址 16位邏輯地址(CS、DS、ES、SS) 段內(nèi)地址 16位 相對地址/偏移地址(BP、BX、IP等) 段基地址:決定存儲單元在內(nèi)存中的位置。 相對地址(偏移地址):決定該存儲單元相對段內(nèi)第一個單元的距離。 邏輯段的起始地址稱為段首(段首的偏移地址=0), 每個邏輯段內(nèi)的第一個單元。 物理地址:內(nèi)存單元在整個內(nèi)存空間中的唯一地址。(2)實地址模式下的存儲器地址變換 內(nèi)存物理地址由段基地址和偏移地址組成: 物理地址=段基地址×16+偏移地址 物理地址=段基地址×10H+偏移地址(3)物理地址計算方法(4)CS、DS、SS和其他寄存器組合指向存儲單元的

14、示意圖2.2.1 8086CPU的引腳信號和工作模式1. 最小模式和最大模式的概念(1)最小模式:在系統(tǒng)中只有8086一個微處理器。所有總線控制信號都直接由8086產(chǎn)生,系統(tǒng)中的總線控制電路因此可降到最少。(2)最大模式:用于較大規(guī)模的8086系統(tǒng)中,總是包含有倆個或多個微處理器,其中一個主處理器為8086,其他處理器為協(xié)處理器,協(xié)助主處理器工作。2. 8086CPU的引腳信號和功能對8086各引腳信號進行分類介紹,下圖2-1為8086的引腳信號圖。 圖2-1 8086的引腳信號圖(1)地址/數(shù)據(jù)總線AD15AD0分時復(fù)用的存儲器或端口的地址和數(shù)據(jù)總線。傳送地址時為單向的三態(tài)輸出,而傳送數(shù)據(jù)時

15、可雙向三態(tài)輸入輸出。正是利用分時復(fù)用的方法才能使80868088用40條引腳實現(xiàn)20位地址、16位數(shù)據(jù)及眾多的控制信號和狀態(tài)信號的傳輸。 作為復(fù)用引腳,在總線周期的T1狀態(tài)時,作為地址線,A15A0輸出存儲器或I/O端口的地址信號。在T2T4狀態(tài),D15D0用作雙向數(shù)據(jù)線。在T2狀態(tài)浮置成高阻狀態(tài),為傳輸數(shù)據(jù)作準備;在T3狀態(tài),用于傳輸數(shù)據(jù);T4狀態(tài)結(jié)束總線周期。當CPU響應(yīng)中斷,以及系統(tǒng)“保持響應(yīng)”時,AD15AD0浮空置為高阻狀態(tài)。(2)控制線/狀態(tài)線A19S6A16S3地址狀態(tài)總線為輸出、三態(tài)總線,采用分時輸出,在T1狀態(tài)輸出地址的最高4位,T2T4狀態(tài)輸出狀態(tài)信息。S4S3含義0011

16、0101當前正在使用ES當前正在使用SS當前正在使用CS,或者未使用任何寄存器當前正在使用DS當訪問存儲器時,T1狀態(tài)時輸出的A19A16送到鎖存器(8282)鎖存,與AD15AD0組成20位的地址信號;而訪問IO端口時,不使用這4條引線,A19A16=0。S6為0用來指示80868088當前與總線相連,所以,在T2,T3,TW,T4狀態(tài),S6總等于0,以表示80868088當前連在總線上。S5表明中斷允許標志位IF的當前設(shè)置。為1時表示允許中斷可屏蔽請求,如為0表示禁止可屏蔽中斷。S4和S3合起來用來指示當前正在使用哪個段寄存器,如表2-2所示。表2-2 S4,S3的代碼組合和對應(yīng)的含義(3

17、)控制總線1. BHE/S7:高8位數(shù)據(jù)總線允許狀態(tài)復(fù)用引腳,三態(tài)、輸出。在T1狀態(tài)作用,該引腳為0時,表示高8位有效。即在總線周期的T1狀態(tài)時8086在BHES7引腳上輸出BHE信號,表示總線高8位AD15AD8上的數(shù)據(jù)有效。在T2,T3,TW,T4狀態(tài),BHES7引腳輸出信號為S7 .2. NMI: 不可屏蔽中斷請求線,輸入,上升沿有效。此請求不受中斷允許標志IF狀態(tài)的影響,也不能用軟件屏蔽,只要此信號一出現(xiàn),CPU就會在現(xiàn)行指令結(jié)束后執(zhí)行中斷類型號為2的非屏蔽中斷的處理程序。3. INTR:可屏蔽中斷請求信號,輸入,高電平有效。CPU在執(zhí)行每條指令的最后一個時鐘周期會對INTR信號進行采

18、樣,如果CPU的中斷允許標志位1,并且又收到INTR信號,CPU就會在結(jié)束當前指令后,響應(yīng)中斷請求,執(zhí)行中斷處理子程序。4. RD:讀控制信號,三態(tài)、輸出。當RD=0時,表示CPU將要執(zhí)行一個對存儲器或IO端口的讀操作。對內(nèi)存單元還是對IO端口讀取數(shù)據(jù),取決于MIO信號。5. CLK:時鐘,和總線控制邏輯電路提供定時手段。8086要求時鐘信號的占空比為33%。即1/3周期為高電平,2/3周期為低電平。6. RESET:系統(tǒng)復(fù)位,輸入,該信號必須保持4個時鐘周期的高電平才有效,復(fù)位后,CPU的主程序流程恢復(fù)到啟動時的循環(huán)待命初始狀態(tài)。標志寄存器與指令隊列緩沖器的原有信息被清除,IP與DS、SS和

19、ES也被清零,而CS被置為FFFFH。當RESET信號變?yōu)榈碗娖綍r,CPU就從FFFF0H開始執(zhí)行程序。在程序執(zhí)行時,RESET線保持低電平。7. READY:準備就緒,輸入,高電平有效,表示存儲器或端口準備就緒,允許進行一次數(shù)據(jù)傳送。READY=1時,表示所尋址的內(nèi)存或IO設(shè)備已準備就緒,馬上就可進行一次數(shù)據(jù)傳輸。CPU在每個總線周期的T3狀態(tài)開始對READY信號采樣。到READY=0,表示存儲器或IO設(shè)備尚未準備就緒,則CPU在T3狀態(tài)之后自動插入一個或幾個等待狀態(tài)Tw,直到READY變?yōu)楦唠娖剑胚M入T4狀態(tài),完成數(shù)據(jù)傳送過程,從而結(jié)束當前總線周期。8. TEST:等待測試信號,輸入。與

20、WAIT結(jié)合起來使用的,在CPU執(zhí)行WAIT指令時,CPU處于空轉(zhuǎn)狀態(tài)進行等待,當TEST信號有效時,等待狀態(tài)結(jié)束,CPU繼續(xù)執(zhí)行被暫停的指令。9. MN/ MX:最小/最大模式選擇,輸入。引腳接+5VCPU處于最小模式,接地則處于最大模式。10. 其他控制線(2431引腳)在最小模式和最大模式下有不同的名稱和定義。3. 8086的工作模式(1)最小模式 當MNMX接電源電壓時,系統(tǒng)工作于最小方式,即單處理器系統(tǒng)方式,它適合于較小規(guī)模的應(yīng)用。在最小模式下,第2431引腳信號的含義如下:1. M/IO :存儲器/輸入/輸出控制信號,輸出,三態(tài)。為高電平時,表示CPU和存儲器之間進行數(shù)據(jù)傳送;為低

21、電平時,表示CPU和輸入輸出端口之間進行數(shù)據(jù)傳輸。2. WR:寫信號,輸出,三態(tài)。WR有效時表示CPU正在進行存儲器或I/O寫操作。具體為哪種寫操作由M/IO決定。3. INTA:中斷響應(yīng),輸出,響應(yīng)INTR,用來對外設(shè)的中斷請求做出響應(yīng)。4. ALE(Address Latch Enable):地址鎖存允許信號,輸出,高電平有效。在任何一個總線周期的T1狀態(tài),ALE輸出有效電平,以表示當前在地址/數(shù)據(jù)服用總線上輸出的是地址信息。 5. DT/R (Data Transmit/Receive):數(shù)據(jù)發(fā)送/接收,輸出,三態(tài)。用于控制數(shù)據(jù)傳送方向。高電平時,進行數(shù)據(jù)傳送;低電平時進行數(shù)據(jù)接收。6.

22、 DEN(DATA ENABLE):數(shù)據(jù)允許信號輸出端,輸出,三態(tài)。表示CPU當前準備接受或發(fā)送一個數(shù)據(jù)。7. HOLD(Hold Request):總線保持請求,輸入。8. HLDA(Hold Acknowledge):總線保持響應(yīng),輸出。 下圖2-2為最小模式下的典型配置。其中8284A為時鐘發(fā)生驅(qū)動器 ;8282為8位地址鎖存器 ;8282是典型的鎖存器芯片,它是8位的;8286為具有三態(tài)輸出的8位數(shù)據(jù)總線收發(fā)器,用于需要增加驅(qū)動能力的系統(tǒng)。 圖2-2為最小模式下的典型配置(2)最大模式 當MNMX線接地,則系統(tǒng)就工作于最大方式。最大模式下第2431引腳的信號含義如下: 1. S2、S1

23、、S0:總線周期狀態(tài)信號,輸出。這些信號組合起來指出當前總線周期中所進行的數(shù)據(jù)傳送類型。其對應(yīng)關(guān)系如下所示:、的代碼組合和對應(yīng)的操作操作過程000發(fā)中斷響應(yīng)信號001讀I/O端口010寫I/O端口011暫停100取指令101讀內(nèi)存110寫內(nèi)存111無源狀態(tài)(CPU無作用)2. RQ/GT0、 /GT1(Request/Grant):總線請求/允許,輸入/輸出,三態(tài)。 3. LOCK:總線鎖定信號,輸出,三態(tài)。4. QS1、QS0:指令隊列狀態(tài),輸出。QS1、QS0的代碼組合和對應(yīng)的含義QS1QS0含義00無操作01從指令隊列中的第一個字節(jié)取走代碼10隊列為空11除第一個字節(jié)外,還取走了后續(xù)字節(jié)

24、中的代碼下圖2-3為最大模式下的典型配置。是由多個微處理器/協(xié)處理器構(gòu)成的多機系統(tǒng),CPU引腳MN/接地(GND)。在最小模式的配置上,增加了總線控制器(8288),總線裁決器(8289)。圖2-3為最大模式下的典型配置3. 8086/8088的引腳信號和功能注意點:(1)8086/8088的數(shù)據(jù)線和地址線復(fù)用:AD15AD0;(2)8086有16根數(shù)據(jù)線;(3)第21腳(RESET)為輸入復(fù)位信號;(4)第22引腳為“準備好”(READY)信號;(5)高4位地址和狀態(tài)線復(fù)用:A19/S6A16/S3。本章小結(jié):1.8086內(nèi)部結(jié)構(gòu)中各個組成部件的主要功能及工作過程8086分兩部分,總線接口部件(bus interface unit,BIU)和執(zhí)行部件(execution unit,EU)。總線接口部件負責(zé)與存儲器、I/O端口傳送數(shù)據(jù);執(zhí)行部件負責(zé)指令的執(zhí)行。工作過程:(1)首先在代碼段寄存器CS中的16位段基地址的最低位后面補4個0,加上指令指針寄存器IP中的16位偏移地址,通過地址加法器產(chǎn)生20位物理地址。(2)EU從指令隊列中取走指令,經(jīng)指令譯碼后,向BIU申請從存儲器或I/O端口讀寫操作數(shù)。(3)指令指針寄存器IP由BIU自動修改,指向下一條指令在現(xiàn)行代

溫馨提示

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

評論

0/150

提交評論