微機原理課件-微處理器_第1頁
微機原理課件-微處理器_第2頁
微機原理課件-微處理器_第3頁
微機原理課件-微處理器_第4頁
微機原理課件-微處理器_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第2章 8086微處理器2.1 微處理器內(nèi)部結(jié)構(gòu)2.1.1 結(jié)構(gòu)特點 2.1.2 總線接口單元BIU2.1.3 執(zhí)行單元EU 2.1.4 8086工作過程2.2 8086微處理器引腳2.3 存儲器組織2.4 總線時序2.1 8086微處理器內(nèi)部結(jié)構(gòu)8086的內(nèi)部結(jié)構(gòu)由兩部分組成總線接口部件BIU總線接口單元BIU,負責控制存儲器讀寫,獲取相關指令以及操作數(shù)。執(zhí)行部件EU執(zhí)行單元EU從指令隊列中取出指令并執(zhí)行。設計特點BIU和EU異步工作,取指令和執(zhí)行指令分開進行,采用流水線的工作模式,從而提高了速度。內(nèi)部暫存器 IP ES SS DS CS輸入/輸出控制電路外部總線執(zhí)行部分控制電路1 2 3

2、4 5 6ALU標志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用寄存器地址加法器指令隊列緩沖器執(zhí)行部件 (EU)總線接口部件 (BIU)16位20位16位8位指令指針寄存器四個段寄存器:CS、DS、SS、ESCS管理代碼段;DS管理數(shù)據(jù)段SS管理堆棧段;ES管理附加段6字節(jié)的指令隊列6字節(jié)的先入先出緩沖器,總線接口部件BIU從內(nèi)存取指令,取來的總是放在指令隊列中;執(zhí)行部件EU從指令隊列取指令,并執(zhí)行。20位地址加法器內(nèi)部暫存器 IP ES SS DS CS輸入/輸出控制電路外部總線執(zhí)行部分控制電路1 2 3 4 5 6ALU標志寄存器 AH AL BH BL

3、CH CL DH DL SP BP SI DI通用寄存器地址加法器指令隊列緩沖器執(zhí)行部件 (EU)總線接口部件 (BIU)16位20位16位8位通用寄存器四個專用寄存器 SP:堆棧指針 BP:基址指針: SI: 源變址寄存器 DI:目的源變址寄存器 算術邏輯單元ALU:主要是加法器。大部分指令的執(zhí)行由加法器完成。標志寄存器:16位字利用了9位。2.1.1 8086微處理器內(nèi)部組成 總線接口單元(Bus Interface Unit, BIU)負責完成CPU與存儲器或I/O設備間的數(shù)據(jù)傳送,即: BIU從內(nèi)存中預取指令送到指令隊列緩沖器; CPU執(zhí)行指令時,BIU配合EU對指令的內(nèi)存單元或I/O

4、接口存取數(shù)據(jù) 執(zhí)行單元(Execution Unit, EU)負責執(zhí)行指令,即: 執(zhí)行的指令從BIU的指令隊列緩沖器中取得; 執(zhí)行指令的結(jié)果或所需的數(shù)據(jù),由EU向BIU發(fā)出請求; 再由BIU對存儲器或I/O端口進行存取1. 段寄存器CS:16位的代碼段寄存器,管理程序段DS:16位的數(shù)據(jù)段寄存器,管理數(shù)據(jù)段。ES:16位的擴展段(附加段)寄存器,管理擴展段。SS:16位的堆棧段寄存器,管理堆棧段。2.1.1 8086微處理器總線接口單元BIU2. 16位的指令指針寄存器IP:IP中的內(nèi)容是下一條指令對現(xiàn)行代碼段基地址的偏移量,與CS一起構(gòu)成取指所需的程序計數(shù)器PC。PC自動加1,指向順序存儲的

5、下一指令。與段寄存器CS的內(nèi)容相加,形成取指令的物理地址。8086復位后,CS:IP=FFFFH:0000H;即8086取指執(zhí)行的第一個指令的物理地址為FFFF0 H2.1.1 8086微處理器總線接口單元BIU3、6字節(jié)的指令隊列指令隊列共六字節(jié),總線接口部件BIU從內(nèi)存取指令,取來的總是放在指令隊列中執(zhí)行部件EU從指令隊列依次取指令,并執(zhí)行出現(xiàn)至少2個空字節(jié)時,BIU取指填滿隊列執(zhí)行轉(zhuǎn)移、中斷、返回、循環(huán)指令時,指令隊列清空4. 20位地址加法器將執(zhí)行單元提供的16位非重定位地址重定位為20位的存儲器物理地址例:CS=A000H,代碼段可尋址的空間? IP的內(nèi)容:0000H FFFF H(

6、偏移地址) 物理地址:A0000 H AFFFF H2.1.2 8086微處理器執(zhí)行部件EU1、算術邏輯單元ALU 主要是加法器,大部分指令的執(zhí)行由它完成,可完成8位或16位的二進制算術運算和邏輯運算。2、 標志寄存器:16位只利用了9位。OFDFIFTFZFAFSFPFCF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 06個狀態(tài)標志位:用以存放ALU運算后的結(jié)果特征;3個控制標志位:用以控制8086的3種特定操作狀態(tài)標志位進位/借位標志CF:運算結(jié)果有進位/借位,CF=1,否則CF=0;奇偶校驗標志PF:操作結(jié)果中,1的個數(shù)為偶數(shù),則PF1輔助進位/借位標志AF:零

7、標志ZF: 結(jié)果為零,ZF=1;否則ZF=0;符號標志SF: 表示結(jié)果的正負,與運算結(jié)果的最高位相同;溢出標志OF:控制標志位跟蹤標志TF: CPU按跟蹤方式執(zhí)行指令,單步執(zhí)行調(diào)試;中斷允許標志IF: IF=1,允許可屏蔽中斷; 方向標志DF:DF=1,地址指針自動減量;DF=0,地址指針自動增量2.1.2 8086微處理器執(zhí)行部件EU3、四個16位通用寄存器 AX、BX、CX、DX,每個16位寄存器可作8位寄存器。 16位 8位 8位 AX AH AL BX BH BL CX CH CL DX DH DL2.1.2 8086微處理器執(zhí)行部件EUAX:累加寄存器,乘除運算和輸入/輸出操作時存儲

8、操作數(shù)、 優(yōu)化移動操作BX:基寄存器,存儲器間接尋址時存儲數(shù)據(jù)段的基地址CX:計數(shù)寄存器,循環(huán)、重復、移位操作時存儲計數(shù)值DX:數(shù)據(jù)寄存器,乘除運算時存儲操作數(shù)、輸入/輸出操作間接尋址時存儲I/O地址4、 四個專用寄存器兩個指針寄存器 SP:堆棧指針,其內(nèi)容與堆棧段寄存器SS的內(nèi)容相加,提供堆棧操作地址。 BP:基址指針,構(gòu)成段內(nèi)偏移地址的一部分。兩個變址寄存器: SI:(Source Index):SI含有源地址意思,產(chǎn)生有效地址或?qū)嶋H地址的偏移量。 DI:(Destination Index):DI含有目的意思, 產(chǎn)生有效地址或?qū)嶋H地址的偏移量。2.1.2 8086微處理器執(zhí)行部件EU2.

9、1.2 總線接口單元和執(zhí)行單元的動作管理1、當8086的指令隊列有兩個空字節(jié),BIU自動取指令到指令隊列中;2、執(zhí)行部件EU準備執(zhí)行一條指令時,它從BIU的指令隊列取指令,然后執(zhí)行;3、指令隊列已滿,BIU與EU又無總線請求時,總線接口部件進入空閑狀態(tài)。4、執(zhí)行轉(zhuǎn)移指令、調(diào)用指令、返回指令時,BIU自動清除指令隊 列,然后從新地址取指令,并立即送給EU,然后再從新單元開始,從新填滿隊列機構(gòu)。8086CPU的特點:BIU與EU是分開的,取指令與執(zhí)行指令可以重疊。提高執(zhí)行速度。 2.1.3 8086工作過程1、取指:BIU根據(jù)程序計數(shù)器,通過存儲器接口從存儲器預取指令,填充到指令流字節(jié)隊列2、譯碼

10、:EU從指令流字節(jié)隊列獲得指令,譯碼后產(chǎn)生控制信息3、執(zhí)行:由控制信息完成對應指令的操作(取數(shù):指令流字節(jié)隊列、寄存器、存儲器、I/O端口,通過地址加法器提供地址)8086的工作過程就是執(zhí)行程序的過程,而程序由指令序列組成,實際上就是執(zhí)行指令的過程。 8086微處理器是一個雙列直插式器件,它有40個引腳。2.2 8086CPU的引腳特性 學習外部特性,除了要了解芯片的引腳信號,更應該關注以下幾個方面的問題: 引腳的功能 信號的流向 有效電平 三態(tài)能力2.2.1 8086CPU的引腳特性地址/數(shù)據(jù)線地址/狀態(tài)線AD15AD0(第2-16,39腳)地址/數(shù)據(jù)線:分時復用,雙向,三態(tài)。T1狀態(tài):AD

11、15AD0為地址信號,輸出;T2狀態(tài):為高阻狀態(tài),為數(shù)據(jù)傳輸作準備T3、TW狀態(tài):數(shù)據(jù)信號,雙向;CPU工作于存儲器直接存?。―MA)時,AD15AD0為高阻狀態(tài);工作過程: 8086CPU首先經(jīng)AD15AD0引腳發(fā)出地址信息,經(jīng)鎖存器鎖存,然后再根據(jù)指令功能在AD15AD0上傳送讀/寫數(shù)據(jù)。2.2.1 8086CPU的引腳特性A19/S6A16/S3(35-38腳)地址/狀態(tài)信號,輸出,三態(tài) 8086CPU首先發(fā)出地址信息鎖存,然后輸出狀態(tài)信息S3S6S3、S4指示當前使用的寄存器S4S3=00, 使用ES; S4S3=01, 使用SSS4S3=10, 使用CS; S4S3=11, 使用DS

12、S5指示中斷允許標志IF的狀態(tài),S6始終為低電平(不用)當8086CPU工作于DMA時,處于浮空的高阻狀態(tài)訪問存儲器時才使用,訪問I/O端口時不用2.2.1 8086CPU的引腳特性數(shù)據(jù)/地址線為什么可以使用相同引腳?使用時必須依靠哪些技術?課堂提問1【答】 (1)時間分隔技術 (2)地址鎖存技術測試信號準備好信號:表示內(nèi)存或I/O設備準備好,可以進行數(shù)據(jù)傳輸。存儲器奇庫片選最小最大模式信號數(shù)據(jù)讀寫控制信號非屏蔽中斷請求信號可屏蔽中斷請求信號復位信號。讀信號 控制總線(8根) (1) BHE/S7(引腳34):高8位數(shù)據(jù)總線允許/狀態(tài),分時復用,三態(tài),輸出 BHE在總線周期的T1狀態(tài)輸出,S7

13、在T2T4時輸出。 8086中, BHE/S7輸出低電平時,表示總線的高8位AD8AD8上的數(shù)據(jù)有效,選擇存儲器的奇庫(存儲單元的地址全是奇地址) S7在8086中沒有具體含義 如何選擇存儲器的偶庫呢?2.2.1 8086CPU的引腳特性AD0=0(地址線)2.2.1 8086CPU的引腳特性(2)RD(32腳):讀控制,輸出、三態(tài)、低電平有效有效時,表示CPU正在從存儲器或I/O端口讀入數(shù)據(jù)(3)READY (22腳):存儲器或I/O口準備就緒,輸入、高電平有效總線操作周期中,CPU會測試該引腳。 如果為高,有效,CPU直接進入下一步,數(shù)據(jù)傳送; 如果為低,無效,CPU將插入等待周期。等待周

14、期中仍然要監(jiān)測READY信號,確定是否繼續(xù)插入等待周期。(5)NMI(Non-Maskable Interrupt)(17腳)不可屏蔽中斷請求,輸入,上升沿有效,不能用軟件來屏蔽,所以優(yōu)先級別高于INTR(可屏蔽中斷)。(4)INTR(Interrupt Request) (18腳)可屏蔽中斷請求,輸入、高電平有效。有效時,表示請求設備向CPU申請可屏蔽中斷。該中斷請求是否響應受控于IF(中斷允許標志)、可以被屏蔽掉。2.2.1 8086CPU的引腳特性(6)TEST(23腳):等待測試信號,輸入,低電平有效 CPU執(zhí)行WAIT指令時,進入空轉(zhuǎn)等待狀態(tài),且每隔5個時鐘周期對該引腳的輸入進行一次

15、測試。 若TEST=1時,CPU停止執(zhí)行指令繼續(xù)處于等待狀態(tài),直到TEST=0時,等待狀態(tài)結(jié)束,CPU繼續(xù)指令被暫停的指令。 等待期間允許外部中斷。2.2.1 8086CPU的引腳特性(7)MN/MX(33腳):最小最大模式檢測信號,輸入 輸入為高電平,8086處于最小模式;輸入為低電平,8086處于最大模式(8) RESET(21腳):復位信號,輸入,高電平有效 8086要求復位信號脈沖寬度不得小于4個時鐘周期,首次接通電源所引起的復位,要求高電平不得小于502.2.1 8086CPU的引腳特性內(nèi)部寄存器狀態(tài)標志寄存器清除IP0000HCSFFFFHDS0000HSS0000HES0000H

16、指令隊列緩沖器清除復位后8086內(nèi)部寄存器的狀態(tài)如右所示最小模式 將總線控制邏輯電路減至最少,8086可直接連接復用總線,不需要任何總線控制邏輯電路和總線驅(qū)動電路,1個CPU最大模式 支持多總線和協(xié)處理器,由總線控制器芯片8288產(chǎn)生兼容多總線的總線控制信號,多個CPU 2.2.2 8086CPU的工作模式寫信號存儲器/IO控制信號為1,選中存儲器為0,選中IO接口數(shù)據(jù)總線收發(fā)器狀態(tài)為1,發(fā)送為0,接收數(shù)據(jù)允許信號地址允許信號最小模式引腳信號中斷響應信號局部總線保持請求信號局部總線保持響應信號M/IO(28腳): I/O或存儲器訪問,輸出、三態(tài)該引腳輸出高電平時,M/IO=1,對存儲器訪問;該

17、引腳輸出低電平時,M/IO=0,對I/O口訪問。WR(29腳):寫控制,輸出,三態(tài)、 WR=0有效CPU正在對內(nèi)存或I/O設備進行寫操作。INTA(24腳):中斷響應信號,輸出,低電平有效有效時,表示來自INTR引腳的中斷請求已被CPU響應,CPU進入中斷響應周期。2.2.2 8086CPU的最小模式DEN(26腳):數(shù)據(jù)允許信號,輸出,三態(tài),低電平有效。有效時,表示當前數(shù)據(jù)總線上正在傳送數(shù)據(jù),可利用他來控制對數(shù)據(jù)總線的驅(qū)動 DT/ R(27腳):數(shù)據(jù)發(fā)送/接收,輸出、三態(tài)該信號表明當前總線上數(shù)據(jù)的流向DT/R=0,低電平時數(shù)據(jù)輸入CPU(接收)DT/R=1,高電平時數(shù)據(jù)自CPU輸出(發(fā)送)2

18、.2.2 8086CPU的最小模式 ALE(25腳):地址鎖存允許信號,輸出、三態(tài)、高電平有效。ALE引腳有效時,表示復用引腳:AD7 AD0和A19/S6 A16/S3正在傳送地址信息。由于地址信息在這些復用引腳上出現(xiàn)的時間很短暫,可以利用ALE引腳將地址鎖存起來。 HOLD (31腳): 總線請求,輸入、高電平有效有效時,表示總線請求設備向CPU申請占有總線;該信號從有效回到無效時,表示總線請求設備對總線的使用已經(jīng)結(jié)束,通知CPU收回對總線的控制權(quán)。2.2.2 8086CPU的最小模式HLDA(30腳) : 總線響應,輸出、高電平有效有效表示CPU已響應總線請求并已將總線釋放;此時CPU的

19、地址總線、數(shù)據(jù)總線及具有三態(tài)輸出能力的控制總線將全面呈現(xiàn)高阻,使總線請求設備可以順利接管總線;待到總線請求信號HOLD無效,總線響應信號HLDA也轉(zhuǎn)為無效,CPU重新獲得總線控制權(quán)。2.2.2 8086CPU的最小模式 在 8086CPU的最小工作模式下,當CPU執(zhí)行讀寫操作時,要利用哪些信號?課堂提問2【答】 當CPU訪問存儲器時, 要利用ALE(地址鎖存允許信號輸出), (數(shù)據(jù)允許控制), (數(shù)據(jù)收發(fā)狀態(tài)), (存儲器/輸入輸出控制信號輸出), (讀信號輸出),READY(準備就緒), (存儲器奇庫片選信號)。最大模式引腳信號狀態(tài)信號隊列狀態(tài)線請求/同意信號鎖定信號S2S0(引腳2826)

20、: 狀態(tài)線,輸出,用于總線控制器8288譯碼生成所有存儲器和IO端口訪問的控制信號S2S1S0狀態(tài)8288生成控制信號000中斷響應INTA001讀端口IORC010寫端口IOWC AIOWC011暫停100取指MRDC101讀存儲器MRDC110寫存儲器MWTC AMWC111被動2.2.3 8086CPU的最大模式2.2.3 8086CPU的最大模式QS1QS0(引腳2425) 隊列狀態(tài)線,輸出,用于協(xié)處理器8087跟蹤8086內(nèi)部指令流隊列。QS1QS0狀態(tài)00無操作01指令的第一個字節(jié)出隊10清空隊列11指令的后續(xù)字節(jié)出隊RQ/GT1,RQ/GT0(引腳30和31): 請求/同意信號,

21、輸入/輸出,用于協(xié)處理器8087需要訪問存儲器時向8086要求局部總線的控制權(quán)。LOCK(引腳29): 鎖定信號,輸出,用于封鎖總線仲裁器,不使其他總線主控器獲得系統(tǒng)總線控制權(quán)。8086CPU的形成三大總線時,為什么要對地址線進行鎖存?用什么信號控制鎖存?【答】為了確保CPU對存儲器和I/O端口的正常讀/寫操作,要求地址和數(shù)據(jù)同時出現(xiàn)在地址總線和數(shù)據(jù)總線上。而在8086CPU中AD0AD15總線是地址/數(shù)據(jù)復用的,因此需在總線周期的前一部分傳送出地址信息,并存于鎖存器中,而用后一部分周期傳送數(shù)據(jù)。8086CPU中是通過CPU送出的ALE高電平信號來控制鎖存的。 課堂提問3存儲器是微機的存儲和記

22、憶部件,用來存放程序和數(shù)據(jù)(包括原始數(shù)據(jù)、中間結(jié)果和最終結(jié)果)在計算機內(nèi)部,程序和數(shù)據(jù)都是用0、1組成的二進制代碼的形式表示的。每一個0或1就叫做1位信息。存儲器被劃分為很多個存儲單元,每個存儲單元以字節(jié)為單位順序存放數(shù)據(jù)和程序存儲器的容量為存儲單元的總和,取決于地址線地址:賦予每個存儲單元的編號,通常用16進制表示2.3 8086存儲器組織2.3 8086存儲器組織8086:20條地址線,直接訪問1MB的存儲空間。 物理地址為:00000HFFFFFH。0149162536數(shù)據(jù)段0200020102020203020402050206 8086CPU 一次可訪問16位數(shù)據(jù),即兩個存儲單元;

23、通常,多個字節(jié)的數(shù)據(jù)存放規(guī)則是: 高位在高端 低位在低端2.3 8086存儲器組織存儲器工作原理2.3.1 存儲器的分段尋址存儲器單元的定位:段地址和偏移地址 一般情況下,各段在存儲器中的分配是由操作系統(tǒng)負責的。每個段可以獨立地占用64K存儲區(qū),各段也允許重疊(即大小也可據(jù)實分配)。0150HCS4200H8C50HC000HDSESSS64K代碼64K數(shù)據(jù)64K附加64K堆棧段分配方式之一0200HCS0400H0480HDSESSS8K代碼2K數(shù)據(jù)256B堆棧段分配方式之二2.3.1 存儲器的分段尋址訪問存儲器類型隱含的段地址可”段更換”的段地址段內(nèi)偏移地址來源取指令碼CS無IP堆棧操作S

24、S無SP字符串操作源地址DSCS,ES,SSSI字符串操作目的地址ES無DIBP用作基址寄存器時SSCS,DS,ES由指令尋址方式求得有效地址EA一般數(shù)據(jù)存取DSCS,ES,SS由指令尋址方式求得有效地址EA2.3.1 存儲器的分段尋址.20000H25F60H25F61H25F62H25F63H2000H段基址邏輯地址段內(nèi)偏移地址5F62H邏輯地址與物理地址2.3.1 存儲器的分段尋址16位偏移地址20位的物理地址16位段地址0000 物理地址=段地址*16D+偏移地址如: 某個數(shù)據(jù)存放在DS=8569H,DI=3721H的數(shù)據(jù)段的存儲單元中,此存儲單元的物理地址為:+) 物理地址的計算 物理地址=段地址*10H+偏移地址 85690H H = 88D

溫馨提示

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

評論

0/150

提交評論