微機原理精品課件牛勇第二章微處理器_第1頁
微機原理精品課件牛勇第二章微處理器_第2頁
微機原理精品課件牛勇第二章微處理器_第3頁
微機原理精品課件牛勇第二章微處理器_第4頁
微機原理精品課件牛勇第二章微處理器_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本章主要知識點:本章主要知識點:1.8086的內部組成、引腳功能和工作模式。2. 8086的最小模式組成原理。3. 8086微處理器的時序。本章學習的重點:本章學習的重點:1、8086的內部結構組成;2、8086的四個段寄存器的作用,使用中的差異;3、8086的通用寄存器的作用,使用中的差異;4、8086各引腳的意義和功能;5、8086存儲體的組成特點和要求;6、8085物理地址、偏移地址、段地址之間的關系;7、8086的總線時序;學習注意事項:用紅顏色表出的字均為重點理解和學習注意事項:用紅顏色表出的字均為重點理解和學習中的難點,希望同學們學習時注意!學習中的難點,希望同學們學習時注意!第第

2、2 2章章 80868086微處理器微處理器第一節(jié)第一節(jié) 微型計算機的組成及工作原理微型計算機的組成及工作原理 圖 2.1 微型計算機的組成 微處理器8086/8088存儲器RAM存儲器ROMI/O接口外圍設備地址總線AB控制總線CB數(shù)據(jù)總線DB系統(tǒng)總線或三總線 2.2.1.1 CPU1.1 CPU的基本概念和組成的基本概念和組成 微處理器(機)簡稱CPU,是用來實現(xiàn)運算和控制功實現(xiàn)運算和控制功能的部件,由運算器、能的部件,由運算器、 控制器和寄存器控制器和寄存器 3 3 部分組成。部分組成。1) 運算器用于完成數(shù)據(jù)的算術和邏輯運算。2) 寄存器用來暫存參加運算的操作數(shù)和運算結果。3) 控制器

3、由指令寄存器、指令譯碼器和控制電路組成。指令是一組二進制編碼信息,主要包括兩個內容: (1)告訴計算機進行什么操作;(2)指出操作數(shù)或操作數(shù)地址。 控制電路根據(jù)指令的要求向微型機各部件發(fā)出一系列相應的控制信息,使它們協(xié)調有序地工作。2.2.2.2 2.2 存儲器存儲器1)存儲器的作用:圖 2.1 中的存儲器是指微型計算機的內存儲器,用來存放程序、原始操作數(shù)、運算的中間結果數(shù)據(jù)和最終結果數(shù)據(jù)。2)程序的組成和格式:程序是按解題順序編排、用一系列指令表示的計算步驟。程序和數(shù)據(jù)在形式上均為二進制碼,它們均以字節(jié)為單位存儲在內存儲器中,一個字節(jié)占用一個存儲單元,并具有唯一的地址號。CPU可以對內存儲器

4、執(zhí)行讀/寫兩種操作。 CPU可以對內存儲器執(zhí)行讀/寫兩種操作3)讀操作過程: 讀存儲器操作是在控制部件發(fā)出的讀命令控制下,將內存中某個存儲單元的內容取出,送入CPU中某個寄存器;4)寫操作過程: 寫存儲器操作是在控制部件發(fā)出的寫命令控制下,將CPU中某寄存器內容傳送到存儲器的某個存儲單元中。注意注意: :寫操作執(zhí)行后,存儲單元內容被改變;寫操作執(zhí)行后,存儲單元內容被改變; 讀操作執(zhí)讀操作執(zhí)行后,行后, 存儲單元內容不變。存儲單元內容不變。2.2.3 2.2.3 輸入輸入/ /輸出設備及其接口電路輸出設備及其接口電路 輸入/輸出(縮寫為I/O)設備統(tǒng)稱外部設備,是微型計算機的重要組成部分。輸入設

5、備的任務是輸入設備的任務是將程序、將程序、原始數(shù)據(jù)及現(xiàn)場信息以計算機所能識別的形式送到計原始數(shù)據(jù)及現(xiàn)場信息以計算機所能識別的形式送到計算機中,供計算機自動計算或處理用。算機中,供計算機自動計算或處理用。 微型機中常用的輸入設備包括鍵盤、鼠標器、 數(shù)字化儀、掃描儀、A/D轉換器等。輸出設備的任務是輸出設備的任務是將計算機的計將計算機的計算和處理結果或回答信號以人能識別的各種形式表示算和處理結果或回答信號以人能識別的各種形式表示出來。出來。 微型機中常用的輸出設備包括顯示器、打印機、繪圖儀、D/A轉換器等。軟磁盤、硬磁盤及其驅動器對微型機來說, 既是輸入設備又是輸出設備。只讀激光盤(CD-ROM)

6、及其驅動器屬于微型機的輸入設備。軟磁盤、硬磁盤及光盤又統(tǒng)稱為計算機的外存儲器。 第二節(jié)第二節(jié) 8086/8088 8086/8088微處理器微處理器2.3.1 80862.3.1 8086微處理器結構微處理器結構1、8086/8088微處理器系列概況(1)從8080/8085到8086 8086是16微處理器,內部及對外有16位數(shù)據(jù)通路,8080/8085只有8位。 8088是8位微處理器,但內部有16位數(shù)據(jù)通路,而對外為8位數(shù)據(jù)通路。 8086/8088尋址空間1MB,8080/8085為64KB。 8086有一個初級流水線結構,內部操作與對外操作具有并行性。2 2、80868086的內部結

7、構組成:的內部結構組成: 8086的內部主要有以下兩大部分組成:1)總線接口部件 (BIU) 2)執(zhí)行部件 (EU) 8086的內部結構組成如圖2-280868086的內部結構的內部結構內部暫存器內部暫存器 IP ES SS DS CS輸入輸入/輸出輸出控制電路控制電路總線總線執(zhí)行部分執(zhí)行部分控制電路控制電路ALU標志寄存器標志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用通用寄存器寄存器地址地址加法加法器器指令隊列指令隊列執(zhí)行部件執(zhí)行部件 (EU)總線接口部件總線接口部件 (BIU)16位位20位位8位位8位位圖2-2 8086的內部結構組成1 2 3 4

8、5 680868086微處理器邏輯框圖:分微處理器邏輯框圖:分EUEU與與BIUBIU兩部分:兩部分:執(zhí)行部件(EU):由ALU、通用寄存器組、狀態(tài)寄存器及操作控制器電路組成??偩€接口部件(BIU):由專用寄存器、指令隊列緩沖器、地址加法器等功能部件組成。形成對外總線,與存儲器、I/O接口電路進行數(shù)據(jù)傳輸。(1)(1)總線接口部件總線接口部件 ( (BIU)BIU) 總線接口部件由下列各部分組成:總線接口部件由下列各部分組成: 1)4個段地址寄存器;個段地址寄存器; CS16位的代碼段寄存器;位的代碼段寄存器; DS16位的數(shù)據(jù)段寄存器;位的數(shù)據(jù)段寄存器; ES16位的擴展段寄存器;位的擴展段

9、寄存器; SS16位的堆棧段寄存器;位的堆棧段寄存器; 2)16位的指令指針寄存器位的指令指針寄存器IP; 3)20位的物理地址加法器;位的物理地址加法器; 4)6字節(jié)的指令隊列緩沖器。字節(jié)的指令隊列緩沖器。段寄存器段寄存器: : 8086CPU的地址引腳有20條線,能提供20位的地址信息,可直接對1M個存儲單元進行訪問,但CPU內部可用來提供地址信息的寄存器都是16位的,那么如何用16位寄存器實現(xiàn)20位地址的尋址呢?8086/8088采用了段結構的內存管理的方法。將指令代碼和數(shù)據(jù)分別存儲在代碼段、數(shù)據(jù)段、堆將指令代碼和數(shù)據(jù)分別存儲在代碼段、數(shù)據(jù)段、堆棧段、附加數(shù)據(jù)段中,這些段的段地址分別由段

10、寄棧段、附加數(shù)據(jù)段中,這些段的段地址分別由段寄存器存器CSCS、DSDS、SSSS、ESES提供,而代碼或數(shù)據(jù)在段內的提供,而代碼或數(shù)據(jù)在段內的偏移地址則由有關寄存器或立即數(shù)給出。偏移地址則由有關寄存器或立即數(shù)給出。 8086/80888086/8088段寄存器的作用:段寄存器的作用:(1)代碼段寄存器CS:存儲程序當前使用的代碼段的段地址。(2)數(shù)據(jù)段寄存器DS:存放程序當前使用的數(shù)據(jù)段的段地址。程序中所用到的原始數(shù)據(jù)、中間結果以及最終結果都可存放在數(shù)據(jù)段中。(3)堆棧段寄存器SS:存放程序當前所使用的堆棧段的段地址。堆棧是在存儲器中開辟的一個特定區(qū)域。(4)附加數(shù)據(jù)段寄存器ES:存放程序當

11、前使用的附加數(shù)據(jù)段的段地址。附加數(shù)據(jù)段通常用于存放字符串操作時的目的字符串。段寄存器在使用中應注意:段寄存器在使用中應注意:(1 1)在編寫匯編語言源程序時,應按上述)在編寫匯編語言源程序時,應按上述規(guī)定將程序的各個部分放在規(guī)定的段內。規(guī)定將程序的各個部分放在規(guī)定的段內。(2 2)每個源程序必須至少有一個代碼段,)每個源程序必須至少有一個代碼段,而數(shù)據(jù)段、堆棧段和附加數(shù)據(jù)段則根據(jù)程序而數(shù)據(jù)段、堆棧段和附加數(shù)據(jù)段則根據(jù)程序的需要決定是否設置。的需要決定是否設置。 執(zhí)行部件的功能就是負責執(zhí)行部件的功能就是負責從指令隊列取指令并執(zhí)行。從從指令隊列取指令并執(zhí)行。從內部結構圖可見,內部結構圖可見,執(zhí)行部

12、件由執(zhí)行部件由下列幾個部分組成:下列幾個部分組成: 1 1)4 4個個1616位通用寄存器位通用寄存器: :即即AXAX、BXBX、CXCX、DXDX,也可作為,也可作為8 8個個8 8位位通用寄存器通用寄存器: :即即AHAH,ALAL、BHBH、BLBL、CHCH、CLCL、DHDH、DL DL 。 2 2)4 4個專用寄存器:個專用寄存器: SPSP、BPBP、DIDI、SI SI 。3 3)標志寄存器)標志寄存器FRFR4 4)算術邏輯運算單元算術邏輯運算單元ALUALU (2)(2)執(zhí)行部件執(zhí)行部件EUEU (3)“(3)“流水線流水線”結構結構 總線接口部件BIU和執(zhí)行部件EU并不

13、是同步工作的,兩者的動作管理遵循如下原則: 每當8086的指令隊列中有2個空字節(jié),BIU就會自動把指令取到指令隊列中。而同時EU從指令隊列取出一條指令,并用幾個時鐘周期去分析、執(zhí)行指令。 當指令隊列已滿,而且EU對BIU又無總線訪問請求時,BIU便進入空閑狀態(tài)。在執(zhí)行轉移、調用和返回指令時,指令隊列中的原有內容被自動清除。 8086的指令隊列有6個字節(jié),當指令隊列出現(xiàn)2個空字節(jié),BIU就自動執(zhí)行一次取指令周期,將下一條要執(zhí)行的指令從內存單元讀入指令隊列。它們采用“先進先出”原則,按順序存放,并按順序取到EU中去執(zhí)行。(4)指令隊列緩沖器)指令隊列緩沖器8086流水操作示意圖流水操作示意圖取指令

14、取指令1執(zhí)行指令執(zhí)行指令1取指令取指令2執(zhí)行指令執(zhí)行指令2取指令取指令3執(zhí)行指令執(zhí)行指令3t0t1t2t3t4t圖2-3 8086流水操作示意圖在t0t4時間間隔中,理想情況下 ,8086可執(zhí)行3條指令。(4)(4) 8086/80888086/8088寄存器寄存器 AHBHCHDHALBLCLDL158 70AXBXCXDX累加器基址寄存器計數(shù)寄存器數(shù)據(jù)寄存器數(shù)據(jù)寄存器150SPBPSIDI150CSDSSSES150IPFLAGS堆棧指針寄存器基址寄存器源變址寄存器目的變址寄存器指針寄存器變址寄存器代碼段寄存器數(shù)據(jù)段寄存器堆棧段寄存器附加數(shù)據(jù)段寄存器段寄存器指令指針寄存器狀態(tài)標志寄存器控制

15、寄存器通用寄存器8086/8088CPU內部寄存器結構 1)1)通用寄存器通用寄存器 通用寄存器包括四個數(shù)據(jù)寄存器,兩個地址指針寄存器和兩個變址寄存器。1)數(shù)據(jù)寄存器AX、BX、CX、DX 數(shù)據(jù)寄存器一般用于存放參與運算的操作數(shù)或運算結果。每個數(shù)據(jù)寄存器都是16位的,但又可將高、低8位分別作為兩個獨立的8位寄存器來用。高8位分別記作AH、BH、CH、DH,低8位分別記作AL,BL,CL,DL。 上述4個寄存器一般用來存放數(shù)據(jù),但它們各自都有自己的特定用途:AX(Accumulator)稱為累加器 用該寄存器存放運算結果可使指令簡化,提高指令的執(zhí)行速度。此外,所有的I/O指令都使用該寄存器與外設

16、端口交換信息。BX(Base)稱為基址寄存器 8086/8088CPU中有兩個基址寄存器BX和BP。BX用來存放操作數(shù)在內存中數(shù)據(jù)段內的偏移地址,BP用來存放操作數(shù)在堆棧段內的偏移地址(也可用于其它運算使用)。CX(Counter)稱為計數(shù)器 在設計循環(huán)程序時使用該寄存器存放循環(huán)次數(shù),可使程序指令簡化,有利于提高程序的運行速度。(也可用于其它運算作為寄存器使用) DX(Data)稱為數(shù)據(jù)寄存器 在寄存器間接尋址的I/O指令中存放I/O端口地址;在做雙字長乘除法運算時,DX與AX一起存放一個雙字長操作數(shù),其中DX存放高16位數(shù)。 (也可用于其它運算作為寄存器使用) 2) 地址指針寄存器SP、BP

17、SP(Stack Pointer)稱為堆棧指針寄存器 在使用堆棧操作指令(PUSH或POP)對堆棧進行操作時,每執(zhí)行一次進?;虺鰲2僮鳎到y(tǒng)會自動將SP的內容減2或加2(16位操作數(shù)),以使其始終指向棧頂。 (專用,只能作為堆棧指針寄存器使用) BP(Base Pointer)稱為基址寄存器 作為通用寄存器,它可以用來存放數(shù)據(jù),但更重要的用途是存放操作數(shù)在堆棧段內的偏移地址。 (也可用于其它運算作為寄存器使用) 3)變址寄存器SI、DISI (Source Index)稱為源變址寄存器。DI (Destination Index)稱為目的變址寄存器。 SI、DI通常用在字符串操作時存放操作數(shù)的

18、偏移地存放操作數(shù)的偏移地址址,其中SI存放源串在數(shù)據(jù)段數(shù)據(jù)段內的偏移地址,DI存放目的串在附加數(shù)據(jù)段附加數(shù)據(jù)段內的偏移地址。4) 控制寄存器指令指針寄存器IP :用來存放下一條要讀取的指令在代碼段內的偏移地址。用戶程序不能直接訪問IP。標志寄存器FLAGS:用于反映指令執(zhí)行結果或控制指令反映指令執(zhí)行結果或控制指令執(zhí)行形式,執(zhí)行形式,它是一個16位的寄存器,但只用了其中9位,這9位包括6個狀態(tài)標志位,3個控制標志位,如圖2-4所示。 圖2-4 標志寄存器結構圖OF1511DF10IF9TF8SF7ZF6AF4PF2CF0控制標志位:TF、IF、DF狀態(tài)標志位:CF、PF、AF、ZF、SF、OF狀

19、態(tài)標志:記錄程序運行結果的狀態(tài)信息,許多指令的執(zhí)行都將相應地設置它們: CF ZF SF PF OF AF控制標志:可由程序根據(jù)需要用指令設置,用于控制處理器執(zhí)行指令的方式: DF IF TF(1 1)進位標志)進位標志CFCF(Carry FlagCarry Flag)設置原則:當運算結果的最高有效位有進位(加法)或借位(減法)時,進位標志置1,即CF1;否則CF03AH + 7CH3AH + 7CHB6HB6H,沒有進位:沒有進位:CF = 0CF = 0AAH + 7CHAAH + 7CH(1 1)26H26H,有進位:有進位:CF = 1CF = 1條件(狀態(tài))標志位:(2 2)零標志

20、)零標志ZFZF(Zero FlagZero Flag)設置原則:若運算結果為0,則ZF1;否則ZF03AH3AH7CH7CHB6HB6H, 結果不是零:結果不是零:ZFZF0 084H84H7CH7CH(1 1)00H00H, 結果是零:結果是零:ZFZF1 1 結果有進位:結果有進位:CFCF1 1 (3 3)符號標志)符號標志SFSF(Sign FlagSign Flag)設置原則:運算結果最高位為運算結果最高位為1 1,則,則SFSF1 1;否則否則SFSF0 03AH3AH7CH7CHB6HB6H, 最高位最高位D D7 71 1:SFSF1 184H84H7CH7CH(1 1)00

21、H00H, 最高位最高位D D7 70 0:SFSF0 0(4 4)奇偶標志)奇偶標志PFPF(Parity FlagParity Flag)設置原則:當運算結果最低字節(jié)(低8位)中“1”的個數(shù)為零或偶數(shù)時,PF1;否則PF03AH3AH7CH7CHB6HB6H10110110B10110110B結果中有結果中有5 5個個“1 1”,是奇數(shù),是奇數(shù),PFPF0 0(5 5)溢出標志)溢出標志OFOF(Overflow FlagOverflow Flag)設置原則:當運算結果超出了帶符號數(shù)所能表示的數(shù)值范圍,即溢出時,OF=1,否則為0。對無符號數(shù)無意義。3AH + 7CH3AH + 7CHB6

22、HB6H, 產(chǎn)生溢出:產(chǎn)生溢出:OFOF1 1溢出的原因溢出的原因: :兩個正數(shù)相加兩個正數(shù)相加, ,結果為負數(shù)結果為負數(shù) AAH + 7CHAAH + 7CH(1 1)26H26H, 沒有溢出:沒有溢出:OFOF0 0不溢出的原因不溢出的原因: :一個正數(shù)與負數(shù)相加一個正數(shù)與負數(shù)相加, ,結果不會溢出結果不會溢出! !(6 6)輔助進位標志)輔助進位標志AFAF(Auxiliary Carry FlagAuxiliary Carry Flag)3AH7CHB6H, D3有進位:AF1設置原則:運算時運算時D D3 3位(低半字節(jié))有進位(低半字節(jié))有進位或借位時,位或借位時,AFAF1 1;

23、否則否則AFAF0 0(1 1)方向標志)方向標志DFDF(Direction FlagDirection Flag)設置原則:用于串操作指令中,控制地址的變化方向(由指令改變其值)。設置DF0,存儲器地址自動增加;設置DF1,存儲器地址自動減少CLDCLD指令復位方向標志:指令復位方向標志:DFDF0 0STDSTD指令置位方向標志:指令置位方向標志:DFDF1 1控制標志位:(2 2)中斷允許標志)中斷允許標志IFIF(Interrupt-enable FlagInterrupt-enable Flag)設置原則:控制可屏蔽中斷是否可以被處理器響應(由指令改變其值)。設置IF1,則允許中斷

24、;設置IF0,則禁止中斷CLICLI指令復位中斷標志:指令復位中斷標志:IFIF0 0STISTI指令置位中斷標志:指令置位中斷標志:IFIF1 1(3 3)陷阱標志)陷阱標志TFTF(Trap FlagTrap Flag)設置原則:用于控制處理器進入單步操作方式:設置TF0,處理器正常工作;設置TF1,處理器單步執(zhí)行指令單步執(zhí)行指令單步執(zhí)行指令處理器在處理器在每條指令執(zhí)行結每條指令執(zhí)行結束時,便產(chǎn)生一個編號為束時,便產(chǎn)生一個編號為1 1的內部中斷的內部中斷(單步(單步中斷)中斷)利用單步中斷可對程序進行逐條指令的調利用單步中斷可對程序進行逐條指令的調試試單步調試單步調試 第三節(jié)第三節(jié) 808

25、6 8086的引腳功能和工作模式的引腳功能和工作模式GND8086CPU12345678910111213141516171819202122232425262728293031323334353637383940AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDRESETREADYTEST)QS(INTA1ALE(QS0)S(DEN0)S(RDT1/)S(IOM2/)LOCK(WR)GT/RQ(HOLD0RDMX/MN7SBHE /A19 /S6A18 /S5A17 /S4A16 /S3AD15VCC(+5 V)GT

26、/RQ(HLDA12.3.1. 8086CPU2.3.1. 8086CPU的引腳信號的引腳信號( (圖圖2-5)2-5)12345678910111213141516171819204039383736353433323130292827262524232221 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GNDVCCAD15AD16 / S3AD17 / S4AD18 / S5AD19 / S6BHE/S7 MN / MXRDHOLD/ (RQ/ GT0)HLDA/ (RQ

27、 /GT1)WR/ (LOCK)M / IO/ ( S2 )DT / R/ ( S1 )DEN / ( S0 )ALEINTATESTREADYRESET8088 第三節(jié)第三節(jié) 8086 8086的引腳功能和工作模式的引腳功能和工作模式圖圖2-5 8086CPU2-5 8086CPU的引腳信號的引腳信號(1 1)基本引腳信號)基本引腳信號AD15AD0(I/O,三態(tài)):地址/數(shù)據(jù)復用引腳。A19/S6 A16/S3(O,三態(tài)):地址/狀態(tài)復用引腳。BHE/S7 (O,三態(tài)):高字節(jié)允許/狀態(tài)復用引腳。NMI(In):非屏蔽中斷請求線,上升邊觸發(fā)。INTR (In) :可屏蔽中斷請求線,高電平有

28、效。RD (O,三態(tài)) :讀選通信號,低電平有效。CLK (In) : 時鐘信號,處理器基本定時脈沖。RESET (In):復位信號,高電平有效。注:(O)為輸出信號;(IN)為輸入信號80868086復位后內部寄存器的狀態(tài)復位后內部寄存器的狀態(tài)內部寄存器狀 態(tài)標志寄存器IPCSDSSSES指令隊列緩沖器其余寄存器0000H0000HFFFFH0000H0000H0000H空0000H注意:8086復位后各寄存器的狀態(tài)非常重要,它決定了:1、啟動后CPU各(段、通用)寄存器的原始狀態(tài);2、CS和IP的狀態(tài)決定了指令(程序存儲器)的設計要求。WR (O,三態(tài)):寫選通信號,低電平有效。READY

29、 (IN):準備好信號,高電平有效。處理器與存儲器及I/O接口速度同步的控制信號。當被訪問的部件無法在8086 CPU規(guī)定的時間內完成數(shù)據(jù)傳送時,應由該部件向8086 CPU發(fā)出READY=0(低電平),使8086 CPU處于等待狀態(tài),插入一個或幾個等待周期T,當被訪問的部件完成數(shù)據(jù)傳輸時,被訪問的部件將使READY=1(高電平),8086 CPU繼續(xù)運行。TEST (IN):等待測試控制信號(輸入)。在WAIT(等待)指令期間,8086 CPU每隔5個時鐘周期對TEST引腳采樣。若TEST為高電平,8086 CPU循環(huán)在等待狀態(tài),若TEST為低電平,則8086 CPU脫離等待狀態(tài),繼續(xù)執(zhí)行后

30、續(xù)指令。MN/MX (IN):最大/最小工作模式選擇信號。硬件設計者用來決定8086工作模式,MN/MX =1, 8086為最小模式。 MN/MX =0, 8086為最大模式。Vcc (IN): 處理器的電源引腳,接 +5V電源。GND :處理器的地線引腳,接系統(tǒng)地線。(O)為輸出信號;(IN)為輸入信號(2 2)最小模式下的有關控制信號)最小模式下的有關控制信號INTA (O) :最小模式下的中斷響應信號。ALE (O) :地址鎖存允許信號ALE引腳高有效時,AD7 AD0和A19 A16正在傳送地址信息,由于地址信息在這些復用引腳上出現(xiàn)的時間很短暫,所以系統(tǒng)需利用ALE引腳將地址鎖存起來。

31、DEN (O,三態(tài)) :數(shù)據(jù)總線緩沖器允許信號。數(shù)據(jù)允許,輸出、三態(tài)、低電平有效,有效時,表示當前數(shù)據(jù)總線上正在傳送數(shù)據(jù),可利用他來控制對數(shù)據(jù)總線的驅動 DT/R (O,三態(tài)) :數(shù)據(jù)總線緩沖器方向控制信號。數(shù)據(jù)發(fā)送/接收,輸出、三態(tài)。該信號表明當前總線上數(shù)據(jù)的流向:高電平時數(shù)據(jù)自CPU輸出(發(fā)送)低電平時數(shù)據(jù)輸入CPU(接收)M/IO (O,三態(tài)) :存儲器或I/O接口選擇信號。為低電平時,表示CPU將訪問I/O端口,這時地址總線A15 A0提供16位I/O口地址。該引線輸出高電平時,表示CPU將訪問存儲器,這時地址總線A19 A0提供20位存儲器地址。(注:書中錯)WR (O,三態(tài)) :寫

32、控制。輸出、三態(tài)、低電平有效,有效時,表示CPU正在寫出數(shù)據(jù)給存儲器或I/O端口RD (O,三態(tài)):讀控制,輸出、三態(tài)、低電平有效,有效時,表示CPU正在從存儲器或I/O端口讀入數(shù)據(jù)HOLD (IN) : 總線請求信號。(用于DMA)HLDA (O) :總線請求響應信號。 (用于DMA)M/IO、WR和RD讀寫控制的組合讀寫控制的組合M/IO、WR和RD控制信號組合后,控制4種基本的總線周期總線周期總線周期M/M/IOIOWRWRRDRD存儲器讀存儲器讀高高高高低低存儲器寫存儲器寫高高低低高高I/OI/O讀讀低低高高低低I/OI/O寫寫低低低低高高第四節(jié)第四節(jié) 8086 8086的最小工作模式

33、:的最小工作模式: 由圖由圖2-2-6 6可知,在可知,在80868086的最小模式中,硬件連接上有的最小模式中,硬件連接上有如下幾個特點:如下幾個特點:(1 1)MN/ MN/ MXMX引腳接引腳接+5+5V V,決定了決定了80868086工作在最小模式工作在最小模式。(2 2)有一片)有一片82348234A A,作為時鐘發(fā)生器。作為時鐘發(fā)生器。(3 3)有三片有三片82828282或或7474LS373LS373,用來作為地址鎖存器。用來作為地址鎖存器。(4 4)當系統(tǒng)中所連接的存儲器和外設比較多時,需)當系統(tǒng)中所連接的存儲器和外設比較多時,需要增加系統(tǒng)數(shù)據(jù)總線的驅動能力,這時,可選用

34、兩片要增加系統(tǒng)數(shù)據(jù)總線的驅動能力,這時,可選用兩片82868286或或7474LS245LS245作為總線收發(fā)器。作為總線收發(fā)器。圖2-6 8086CPU最小模式下的典型配置注:74LS373=8282;74LS245=8286CLKREADYRESETRDWRIOM/A19A16ALEAD15AD0DENRDT/MXMN/74 LS373OE地址G地址/數(shù)據(jù)74 LS245GDIR8086CPU存儲器DATABHE地址總線I/O外設DATA數(shù)據(jù)總線VCCRESVCC8284時鐘發(fā)生器7/SBHE74LS245(8286)74LS245(8286)引腳圖引腳圖A0A0A1A1A2A2A3A3A

35、4A4A5A5A6A6A7A7B0B0B1B1B2B2B3B3B4B4B5B5B6B6B7B7VCCVCCGNDGNDDIRDIRG G允許允許G G方向控制方向控制DIRDIR操作操作L LL LH HL LH HX X(無效)(無效)B B數(shù)據(jù)到數(shù)據(jù)到A A數(shù)據(jù)總線數(shù)據(jù)總線A A數(shù)據(jù)到數(shù)據(jù)到B B數(shù)據(jù)總線數(shù)據(jù)總線隔離隔離74LS245真值表真值表74LS245:三態(tài)輸出的八總線傳送接收器:三態(tài)輸出的八總線傳送接收器74LS24574LS245:每個引腳最大輸出電流為:每個引腳最大輸出電流為24mA24mA74LS373引腳圖引腳圖D0D0D1D1D2D2D3D3D4D4D5D5D6D6D7

36、D7Q0Q0Q1Q1Q2Q2Q3Q3Q4Q4Q5Q5Q6Q6Q7Q7VCCVCCGNDGNDOEOEG G允許允許G G控制端控制端OEOED D輸出輸出Q QH HH HL L X X(無效)(無效)L LL LL LH HH HL LX XX XH HL LQ=QQ=Q0 0Z Z74LS373真值表真值表地址總線74LS373數(shù)據(jù)總線CLKREADYRESET8284時鐘發(fā)生器RESVCCMN/MXVCCAD0AD7AD8AD15A16A19HBEALED0D7D0D7D0D5D4GGG74LS245QQQOEOEOEDENDTR/RDIRGRDWRM/IOINTRINTAHBEA16A

37、19A8A15A0A7A0A19D8D15D0D7D0D15控制總線總線數(shù)據(jù)和地址為獨立的線數(shù)據(jù)和地址為獨立的線圖2-7 8086CPU最小模式硬件電路圖8086CPU8086CPU最小模式框圖最小模式框圖圖2-8 8086CPU最小模式簡化圖數(shù)據(jù)總線DB地址總線ABA0A19HBERDWRM/IOINTRINTA控制總線總線CBD0D15地址擴展8086最小最小系統(tǒng)系統(tǒng)圖圖2-9 8086CPU最大工作模式下的典型配置最大工作模式下的典型配置8086 CPU5 VCLKREADY0SRESETA19 /S6A16 /S3AD15 /AD08284A時鐘發(fā)生器VCC等待狀態(tài)產(chǎn)生器地址鎖存器82

38、82(3片)數(shù)據(jù)收發(fā)器8286(2片)OE地址總線AB數(shù)據(jù)總線DB控制總線CB1S2S 8288 總線控制器0S1S2SCLKCENAENINTAIOBMRDCMWTCAMWCIORCIOWCAIOWCSTBBHE1TOEMX/MNDENR/DTALE由圖2-9可知,最大模式配置和最小模式配置有一個主要的差別: 最大模式下多了8288總線控制器。本部分內容感興趣的同學自學,不作為教學內本部分內容感興趣的同學自學,不作為教學內容容 8086/8088CPU基本的總線周期由4個時鐘周期組成,如圖2-10所示。時鐘周期是CPU的基本時間計量單位,由CPU主頻決定,如8086的主頻為5MHz,1個時鐘

39、周期就是200ns。圖2-10(A) 8086/8088基本總線周期 第五節(jié)第五節(jié) 8086 8086的總線時序的總線時序 一個時鐘周期又稱為一個一個時鐘周期又稱為一個T T狀態(tài),因此基本總線狀態(tài),因此基本總線周期用周期用T1T1、T2T2、T3T3、T4T4表示。圖表示。圖2-10(B)2-10(B)給出典型的給出典型的總線周期波形圖。在總線周期波形圖。在T1T1狀態(tài)狀態(tài)CPUCPU把要讀把要讀/ /寫的存儲單元寫的存儲單元的地址或的地址或I/OI/O端口的地址放到地址總線上。端口的地址放到地址總線上。圖2-10(B) 8086/8088基本總線周期 若是若是“寫寫”總線周期,總線周期,CP

40、UCPU從從T2T2起到起到T4T4,把數(shù)據(jù),把數(shù)據(jù)送到總線上,并寫入存儲器單元或送到總線上,并寫入存儲器單元或I/OI/O端口;若是端口;若是“讀讀”總線周期,總線周期,CPUCPU則從則從T3T3起到起到T4T4從總線上接收數(shù)從總線上接收數(shù)據(jù),據(jù),T2T2狀態(tài)時總線浮空,允許狀態(tài)時總線浮空,允許CPUCPU有個緩沖時間把輸有個緩沖時間把輸出地址的寫方式轉換成輸入數(shù)據(jù)的讀方式。出地址的寫方式轉換成輸入數(shù)據(jù)的讀方式。 1 1寫周期的時序(圖寫周期的時序(圖2-2-1111) 圖圖2-11 8086寫總線周期寫總線周期T1T3T2T4CLKA19/S6A1/S3BHE/S7AD15AD0ALEM

41、/IOWRDT/RDEN一個總線周期狀態(tài)輸出數(shù)據(jù)輸出地址輸出BHE輸出地址低為低為I/O寫,高為存儲器寫寫,高為存儲器寫為高為高(o)2 2讀周期的時序讀周期的時序圖圖2-12 8086讀周期讀周期T1T3T2T4CLKA19/S6A1/S3BHE/S7AD15AD0ALEM/IORDDT/RDEN一個總線周期狀態(tài)輸出數(shù)據(jù)輸入地址輸出BHE輸出地址低為I/O讀,高為存儲器讀為低(0)2.6.12.6.180868086的存儲體結構的存儲體結構 (BHEBHE和和A0A0的的意義)意義)第六節(jié)第六節(jié) 8086 8086的存儲體結構與組成的存儲體結構與組成高位(奇地址)庫512 K8D15D8A1

42、9A1SELBHE低位(偶地址)庫512 K8D7D0A19A1SELD15D8D7D0A0A19A1圖圖2-7 8086系統(tǒng)的存儲器高低位連接邏輯結構系統(tǒng)的存儲器高低位連接邏輯結構2.6.22.6.2存儲器結構及尋址機制存儲器結構及尋址機制存儲器:計算機存儲信息的地方。數(shù)據(jù)的存儲格式:(1)計算機中信息的單位 二進制位二進制位BitBit:存儲一位二進制數(shù):存儲一位二進制數(shù):0 0或或1 1字節(jié)字節(jié)ByteByte:8 8位二進制數(shù)位二進制數(shù),D D7 7D D0 0字字WordWord:1616位二進制數(shù),位二進制數(shù),2 2個字節(jié),個字節(jié),D D1515D D0 0雙字雙字DWordDWo

43、rd:3232位,位,4 4個字節(jié)個字節(jié),D D3131D D0 0(2)最低有效位LSB:數(shù)據(jù)最低位,D0位(3)最高有效位MSB:數(shù)據(jù)的最高位,對應字節(jié)、字、雙字分別指D7、D15、D31位存儲單元及其存儲內容存儲單元及其存儲內容 每個存儲單元都有一個確定存儲器地址存儲器地址 每個存儲單元存放一個字節(jié)存放一個字節(jié)的內容(數(shù)據(jù)) 多字節(jié)數(shù)據(jù)在存儲器中占連續(xù)多個存儲單元 低字節(jié)存入低地址,高字節(jié)存入高地址低字節(jié)存入低地址,高字節(jié)存入高地址0002H0002H單元存放有一個數(shù)據(jù)單元存放有一個數(shù)據(jù)34H34H表達為:表達為:0002H=34H0002H=34H或或(0002H)=34H(0002H

44、)=34H存儲器的分段管理存儲器的分段管理8086/8088CPU有20條地址線最大可尋址空間為最大可尋址空間為2201MB物理地址范圍從物理地址范圍從00000HFFFFFH8086/8088CPU將1MB空間分成許多個邏輯段邏輯段每個段最大存儲容量為每個段最大存儲容量為64KB64KB段地址的低段地址的低4 4位為位為0000B0000B這樣,一個存儲單元除具有一個唯一的物理地址外,還具有多個邏輯地址 80868086的存儲格式圖示:的存儲格式圖示:00006H00005H00004H00003H00002H00001H00000H低地址低地址12H34H56H78HD7 D0雙字D0D3

45、1字D0D15字節(jié)D0D7LSBMSB物理地址和邏輯地址物理地址和邏輯地址 8088CPU存儲系統(tǒng)中,對應每個物理存儲單元都有一個唯一的20位編號,就是物理地址,從00000H FFFFFH 分段后在用戶編程時,采用邏輯地址邏輯地址,形式為:段基地址段基地址 : : 段內偏移地址段內偏移地址物理地址物理地址 14700H14700H邏輯地址邏輯地址 1460H1460H: :0100H0100H因為因為8086中的所有寄存器都為中的所有寄存器都為16位位,段基地址為段基地址為16位位 : 段內偏移地址為段內偏移地址為16位位邏輯地址邏輯地址 段基地址段基地址說明邏輯段在存儲器中的起始位置 80

46、86/8088規(guī)定段基地址必須是16的整數(shù)倍:xxxx0H 省略低省略低4 4位位0000B,0000B,段地址就可以用段地址就可以用1616位數(shù)據(jù)位數(shù)據(jù)表示表示,就能用16位位段寄存器段寄存器表達段地址物理地址和邏輯地址的轉換物理地址和邏輯地址的轉換 將邏輯地址中的段地址左移4位,加上偏移地址就得到20位物理地址 一個物理地址可以有多個邏輯地址邏輯地址邏輯地址 1460:01001460:0100、1380:0F001380:0F00物理地址物理地址 14700H 14700H14700H 14700H146014600 0H H 100H100H14700H14700H138013800

47、0H H F00HF00H14700H14700H邏輯段的分配圖示:邏輯段的分配圖示:2.6.32.6.3 8086 8086存儲器高低位庫選擇(奇、偶體選擇)存儲器高低位庫選擇(奇、偶體選擇)存儲器分為奇偶體的原因: 8086有16條數(shù)據(jù)線,但常用的存儲器為8位數(shù)據(jù)線,為了實現(xiàn)8086即可存取8位數(shù)據(jù),又可存取16數(shù)據(jù),8086通過BHE和A0線的邏輯組合將存儲器分為兩部分:奇地址存儲器和偶地址存儲器。 A0對 應 操 作00同時訪問兩個存儲體,讀/寫一個字的信息01只訪問奇地址存儲體,讀/寫高字節(jié)的信息10 只訪問偶地址存儲體,讀/寫低字節(jié)的信息11無操作BHE8086存儲器的段結構特點:

48、1)8086可用來存放地址的寄存器如IP、SP等都是16位的,故只能直接尋址64KB。為了對1 M個存儲單元進行管理,8086采用了段結構的存儲器管理方法。2)8086將整個存儲空間(1M字節(jié))分為許多邏輯段,每個邏輯段的容量小于或等于64KB,允許它們在整個存儲空間中浮動,各個邏輯段之間可以緊密相連,也可以互相重疊。3)用戶編寫的程序(包括指令代碼和數(shù)據(jù))被分別存儲在代碼段、數(shù)據(jù)段、堆棧段和附加數(shù)據(jù)段中,這些段的段(基)地址分別保存在段寄存器CS、DS、SS和ES中,而指令或數(shù)據(jù)在段內的偏移地址可由對應的地址寄存器或立即數(shù)給出。4)如果從存儲器中讀取指令,則段地址來源于代碼段則段地址來源于代碼段寄存器寄存器CSCS,偏移地址來源于指令指針寄存器,偏移地址來源

溫馨提示

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

評論

0/150

提交評論