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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

19、ES也被清零,而CS被置為FFFFH。當RESET信號變為低電平時,CPU就從FFFF0H開始執行程序。在程序執行時,RESET線保持低電平。7. READY:準備就緒,輸入,高電平有效,表示存儲器或端口準備就緒,允許進行一次數據傳送。READY=1時,表示所尋址的內存或IO設備已準備就緒,馬上就可進行一次數據傳輸。CPU在每個總線周期的T3狀態開始對READY信號采樣。到READY=0,表示存儲器或IO設備尚未準備就緒,則CPU在T3狀態之后自動插入一個或幾個等待狀態Tw,直到READY變為高電平,才進入T4狀態,完成數據傳送過程,從而結束當前總線周期。8. TEST:等待測試信號,輸入。與

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論