《《8086微處理器》PPT課件》由會員分享,可在線閱讀,更多相關(guān)《《8086微處理器》PPT課件(29頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、【本章重點】本章主要講述8086的硬件結(jié)構(gòu)、外部引腳、 內(nèi)部寄存器的組織、和總線時序。 【本章難點】引腳功能和總線時序。,第2章 8086微處理器,2.2.1 8086的結(jié)構(gòu)特點 微處理器執(zhí)行一段程序通常是通過重復(fù)執(zhí)行如下步驟來完成。即: (1) 從內(nèi)存儲器中取出一條指令,分析指令操作碼; (2) 讀出一個操作數(shù)(如果指令需要操作數(shù)); (3) 執(zhí)行指令; (4) 將結(jié)果寫入內(nèi)存儲器(如果指令需要)。,2.1 8086 CPU的結(jié)構(gòu),,,圖2-1 8086的結(jié)構(gòu)框圖,1總線接口部件,(1)4個段地址寄存器 CS--16位的代碼段寄存器 DS--16位的數(shù)據(jù)段寄存器 ES--1
2、6位的擴展段寄存器 SS--16位的堆棧段寄存器 (2)16位的指令指針寄存器IP (3)20位的地址加法器 (4)6字節(jié)的指令隊列。,2執(zhí)行部件 (1)4個通用寄存器,即AX、BX、CX,DX; (2)4個專用寄存器,即基數(shù)指針寄存器BP,堆棧指針寄存器SP,源變址寄存器SI,目的變址寄存器DI; (3)標(biāo)志寄存器Flag; (4)算術(shù)邏輯單元ALU; 8086的執(zhí)行部件(EU)有如下特點: (1)4個通用寄存器既可以作為16位寄存器使用,也可以作為8位寄存器使用。 (2)AX寄存器也常稱為累加器,8086指令系統(tǒng)中有許多指令都是通過累加器的動作來執(zhí)行的。,表2-1 寄存器的主要用途,(3
3、)加法器是算術(shù)邏輯部件主要部件,絕大部分指令的執(zhí)行都是由加法器完成的。 (4)標(biāo)志寄存器共有16位,其中,7位未用,所用的各位含義如下:,0,15,狀態(tài)標(biāo)志有6個,即SF、ZF,PF、CF,AF和OF。,符號標(biāo)志SF(Sign Flag):它和運算結(jié)果的最高位相同。若運算結(jié)果最高位為1,則SF=1,否則SF=0。,,零標(biāo)志ZF(Zero Flag):如果當(dāng)前的運算結(jié)果為零,則ZF=1,否則ZF=0。 奇偶標(biāo)志PF(Parity Flag):如果運算結(jié)果的低8位中所含的1的個數(shù)為偶數(shù),則PF=1,否則PF=0。 進位標(biāo)志CF(Carry Flag):當(dāng)執(zhí)行一個加法運算使最高位產(chǎn)生進位時,或者執(zhí)行
4、一個減法運算引起最高位產(chǎn)生借位時,則CF=1,否則CF=0。 輔助進位標(biāo)志AF(Auxiliary Carry Flag):當(dāng)加法運算時,如果第三位往第四位有進位,或者當(dāng)減法運算時,如果第三位從第四位有借位,則AF=1,否則AF=0。 溢出標(biāo)志OF(Overflow Flag):當(dāng)運算過程中產(chǎn)生溢出時,會使OF=1,否則OF=0。,,,,,,控制標(biāo)志有3個,即DF、IF、TF。 方向標(biāo)志DF(Direction Flag):這是控制串操作指令的標(biāo)志。如果DF=0,則串操作過程中地址會不斷增值,反之,如果DF=1,則串操作過程中地址會不斷減值。 中斷標(biāo)志IF(1uterrupt Enable F
5、lay):這是控制可屏蔽中斷的標(biāo)志。如IF=0,則CPU不能對可屏蔽中斷請求作出響應(yīng),如果IF=1,則CPU可以接受可屏蔽中斷請求。 跟蹤標(biāo)志TF(Trap Flay):如果TF=1,則CPU按跟蹤方式執(zhí)行指令。,,,,,2.2.2 8086的總線工作周期,在8086中,一個最基本的總線周期由4個時鐘周期組成,,,在T1狀態(tài),CPU往多路復(fù)用總線上發(fā)出地址信息,以指出要尋址的存儲單元及外設(shè)端口的地址。 在T2狀態(tài),CPU從總線上撤消地址,而使總線的低16位浮置成高阻狀態(tài),為傳輸數(shù)據(jù)作準(zhǔn)備。總線的最高4位(A19A16)用來輸出本總線周期狀態(tài)信息。這些狀態(tài)信息用來表示中斷允許狀態(tài)、當(dāng)前正在使用的
6、段寄存器名等。,在T3狀態(tài),多路總線的高4位繼續(xù)提供狀態(tài)信息,而多路總線的低16位上出現(xiàn)由CPU寫出的數(shù)據(jù)或者CPU從存儲器或端口讀入的數(shù)據(jù)。 在有些情況下,被寫入數(shù)據(jù)或者被讀取數(shù)據(jù)的外設(shè)或存儲器不能及時地配合CPU傳送數(shù)據(jù)。這時,外設(shè)或存儲器會通過“READY”信號線在T3狀態(tài)啟動之前向CPU發(fā)一個“數(shù)據(jù)未準(zhǔn)備好”信號,于是CPU會在T3之后插入1個或多個附加的時鐘周期TW。TW也叫等待狀態(tài)。在Tw狀態(tài),總線上的信息情況和T3狀態(tài)的信息情況一樣。當(dāng)指定的存儲器或外設(shè)完成數(shù)據(jù)傳送時,便在“READY”線上發(fā)出“準(zhǔn)備好”信號,CPU接收到這一信號后,會自動脫離TW狀態(tài)面進入T4狀態(tài)., 在T4狀
7、態(tài),總線周期結(jié)束。需要指出的是,只有在CPU和內(nèi)存或IO接口之間傳輸數(shù)據(jù),以及填充指令隊列時,CPU才執(zhí)行總線周期??梢?,如果在1個總線周期之后,不立即執(zhí)行下1個總線周期。那么,系統(tǒng)總線就處在空閑狀態(tài),此時,執(zhí)行空閑周期。,2.3 8086/8088的引腳信號和工作模式,2.3.1 最小模式和最大模式的概念 所謂最小模式,就是在系統(tǒng)中只有8086一個微處理器。在這種系統(tǒng)中,所有的總線控制信號都直接由8086產(chǎn)生,因此,系統(tǒng)中的總線控制邏輯電路被減到最少。 最大模式是相對最小模式而言,在此系統(tǒng)中,包含兩個或兩個以上的微處理器,其中一個主處理器就是8086,其他的處理器稱為協(xié)處理器,它們是協(xié)助主
8、處理器工作的。和8086配合的協(xié)處理器有兩個。一個是數(shù)值運算協(xié)處理器8087,一個是輸入輸出協(xié)處理器8089。,,2.3.2 8086的引腳信號和功能,,,1AD15AD0地址數(shù)據(jù)復(fù)用引腳(雙向工作) 2A19S6A16S3地址狀態(tài)復(fù)用引腳(輸出) 3 BHE/S7高8位數(shù)據(jù)總線允許狀態(tài)復(fù)用引腳(輸出),4NMI 非屏蔽中斷信號 5INTR可屏蔽中斷請求信號 6RD讀選通信號 7CLK時鐘信號 8RESET復(fù)位信號 9READY準(zhǔn)備就緒輸入信號 10TEST測試信號 11 MN/MX最小最大模式控制信號 12GND地和VCC電源,2.3.3 8086最小工作方式,當(dāng)8086第33腳MNMX固
9、定接到+5V時,就處于最小工作模式下第24腳第3l腳的信號含義如下:,1INTA中斷響應(yīng)信號(輸出) ALE地址鎖存允許信號 DT/R數(shù)據(jù)收發(fā)信號 5M/IO存貯器輸入輸出控制信號 6WR寫信號,,,,,表2-3 最小模式數(shù)據(jù)傳輸方式,,7HOLD總線保持請求信號 8HLDA總線保持響應(yīng)信號 9SS0 狀態(tài)輸出線,M/IO,DT/R,SS0,,,圖2-7是8088在最小模式下的典型配置,2.3.4 8086最大工作方式,當(dāng)MN/MX加上低電平時,8086CPU工作在最大模式下。此時8086CPU工作于多處理器系統(tǒng)。,1QSl和QS0指令隊列狀態(tài)信號 2S2,S1,S0總線周期狀態(tài)信號 3LOC
10、K總線封鎖信號 4RQ/GT1,RQ/GT0 總線請求信號輸入總線請求允許信號輸出,,,圖2-8 8086最大工作模式的典型配置,,1總線控制器8288,,,,2總線仲裁控制器8289,,,,2.3.5 8086系統(tǒng)復(fù)為和啟動操作,表2-9復(fù)位時8086/8088個內(nèi)部寄存器的值,,,由表2-9中看到,在復(fù)位的時候,代碼段寄存器CS和指令指針寄存器IP分別初始化為FFFFH和0000H。所以,80868088在復(fù)位之后再重新啟動時,便從內(nèi)存的FFFF0H處開始執(zhí)行指令,使系統(tǒng)在啟動時,能自動進入系統(tǒng)程序。在復(fù)位時,由于標(biāo)志寄存器被清零,即所有標(biāo)志位都被清除了,因而,系統(tǒng)程序在啟動時,總是要通過
11、指令來設(shè)置各有關(guān)標(biāo)志。復(fù)位信號 RESET從高電平到低電平的跳變會觸發(fā)CPU內(nèi)部的一個復(fù)位邏輯電路,經(jīng)過7個時鐘周期之后,CPU就被啟動而恢復(fù)正常工作,即從FFFF0H處開始執(zhí)行程序。,,,,2.4 存貯器組織,,2.4.1由段寄存器、段偏移地址確定物理地址 20位物理地址=段寄存器的內(nèi)容16+偏移地址 段寄存器的內(nèi)容16(相當(dāng)于左移4位)變?yōu)?0位,再在低端16位加上16位的偏移地址,便可得到20位的物理地址。 這里僅以8086CPU復(fù)位后如何形成啟動地址為例,說明物理地址的計算方法。復(fù)位時CS的內(nèi)容為FFFFH,IP的內(nèi)容為0000H。復(fù)位后的啟動地址由CS段寄存器和IP的內(nèi)容共同決定,即:啟動地址=CS16+IP =FFFF0H+0000H =FFFF0H,,,,2.4.2段寄存器的使用,,,表2-10 段寄存器使用時的一些基本約定,