第2章80X86Pentium系列微處理器_第1頁
第2章80X86Pentium系列微處理器_第2頁
第2章80X86Pentium系列微處理器_第3頁
第2章80X86Pentium系列微處理器_第4頁
第2章80X86Pentium系列微處理器_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第2章 80X86/Pentium系列微處理器引入:計算機(jī)必須有一個控制并執(zhí)行指令的部件,該部件不僅要與計算機(jī)的其它功能部件進(jìn)行信息交換,還要控制它們的操作,所以被稱為中央處理部件或CPU。本章以8086/8088為例主要介紹控制器的工作原理和系統(tǒng)組成。本章知識點:1、 8088/8086編程結(jié)構(gòu)2、 8086/8088 CPU的引腳及功能3 、80X86/Pentium微處理器編程結(jié)構(gòu)4、 典型時序分析2.1 8086/8088編程結(jié)構(gòu)2.1.1 8086/8088微處理器的結(jié)構(gòu)及其功能8086:Intel系列的16位微處理器,16條數(shù)據(jù)線、20條地址線,可尋址地址范圍220=1MB,808

2、6工作時,只要一個 5V 電源和一個時鐘,時鐘頻率為5MHz 。8088:內(nèi)部與8086兼容,也是一個16位微處理器,只是外部數(shù)據(jù)總線為8位,所以稱為準(zhǔn)16位微處理器。它具有包括乘法和除法的16位運算指令,所以能處理16位數(shù)據(jù),還能處理8位數(shù)據(jù)。8088有20根地址線,所以可尋址的地址空間達(dá)220即1M字節(jié)。 一、8086/8088CPU內(nèi)部結(jié)構(gòu)從功能上看,可以分為兩大部分:Ø 總線接口單元BIU (Bus Interface Unit)Ø 執(zhí)行單元EU (Execution Unit) 8086CPU內(nèi)部結(jié)構(gòu)框圖見圖2-1所示。二、各部件功能1、 總線接口單元(BIU)&

3、#216; 總線控制邏輯(輸入/輸出控制電路)2、分時傳遞地址信息或數(shù)據(jù)信息Ø 指令隊列緩沖器用于暫存指令、取指令和執(zhí)行指令可重疊操作1、 指令隊列至少保持一條指令,且只要有一條指令,EU就開始執(zhí)行2、 指令隊列只要有空余,BIU就自動執(zhí)行取指令操作,直到填滿為止3、 若EU在執(zhí)行指令過程中需要對MEM/IO進(jìn)行存取,則BIU在執(zhí)行完現(xiàn)行取指操作總線周期后的下一總線周期中進(jìn)行4、 當(dāng)EU執(zhí)行跳轉(zhuǎn)指令時,EU要求BIU從新的地址中重新取指,則BIU清空隊列中的原有指令,重新取指到的第一條指令直接送至EU,隨后指令填入隊列4個16位段寄存器Ø 地址生成 16位指令指針寄存器IP

4、(Instruction PointerØ )Ø20位地址產(chǎn)生器4個16位段地址寄存器(8086CPU將1MB尋址空間分為若干段,由段寄存器來識別當(dāng)前尋址的段,每個段功能各不相同)CS(Code Segment) 代碼段寄存器,指示當(dāng)前執(zhí)行程序所在存儲器的區(qū)域;DS(Data Segment) 數(shù)據(jù)段寄存器,指示當(dāng)前程序所用之?dāng)?shù)據(jù)的存儲器區(qū)域;SS(Stack Segment) 堆棧段寄存器,指示當(dāng)前程序所用之堆棧位于的存儲器區(qū)域;ES(Extra Segment) 附加段寄存器,指示當(dāng)前程序所用之?dāng)?shù)據(jù)位于的另外存儲器區(qū)域,在字符串操作中常用到。16位指令指針寄存器IP,存

5、儲指令在代碼段中的偏移地址1、 程序運行中自動加1,指向下一條要執(zhí)行指令的偏移地址2、 當(dāng)程序執(zhí)行到跳轉(zhuǎn)、調(diào)用、中斷等指令時,IP中的值將根據(jù)條件變化3、 通常不能被直接訪問,也不能直接賦值,指令中不會出現(xiàn)對IP的操作20位的地址加法器20位CS左移4位IP或偏移地址+地址加法器CS16位物理地址20位說明:(1)指令隊列緩沖器:在執(zhí)行指令的同時,將取下一條指令,并放入指令隊列緩沖器中。CPU執(zhí)行完一條指令后,可以指令下一條指令(流水線技術(shù))。提高CPU效率。(2)地址加法器:產(chǎn)生20位地址。CPU內(nèi)無論是段地址寄存器還是偏移量都是16位的,通過地址加法器產(chǎn)生20位地址。2、執(zhí)行單元EU功能:

6、(1)從指令隊列中取出指令。(2)對指令進(jìn)行譯碼,發(fā)出相應(yīng)的控制信號。(3)接收由總線接口送來的數(shù)據(jù)或發(fā)送數(shù)據(jù)至接口。(4)進(jìn)行算術(shù)運算。執(zhí)行部件的組成:(1)四個通用寄存器AX、BX、CX、DX。 四個通用寄存器都是16位或作兩個8位來使用。(2)專用寄存器SP-堆棧指針寄存器,指示棧頂?shù)钠频刂稡P-基址指針寄存器,表示數(shù)據(jù)在堆棧段中的基地址DI-目的變址寄存器,SI- 源變址寄存器(3)算術(shù)邏輯單元ALU 完成8位或者16位二進(jìn)制算術(shù)和邏輯運算,計算偏移量。(4)數(shù)據(jù)暫存寄存器協(xié)助ALU完成運算,暫存參加運算的數(shù)據(jù)。(5)執(zhí)行部件的控制電路從總線接口的指令隊列取出指令操作碼,通過譯碼電路

7、分析,發(fā)出相應(yīng)的控制命令,控制ALU數(shù)據(jù)流向。(6)*標(biāo)志寄存器借進(jìn)位標(biāo)志奇偶標(biāo)志半借進(jìn)位標(biāo)志零標(biāo)志符號標(biāo)志單步中斷方向標(biāo)志中斷允許溢出標(biāo)志16位寄存器,其中有7位未用。D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0OFDFIFTFSFZFAFPFCF說明:(1) 溢出標(biāo)志位OF: (2) 進(jìn)位/借位標(biāo)志位CFOF = 1 溢出 CF = 1 有進(jìn)/借位OF = 0 不溢出 CF = 0 無進(jìn)/借位(3) 輔助進(jìn)位/借位標(biāo)志位AF (4) 符號標(biāo)志位SFAF = 1 有進(jìn)/借位 SF = 1 結(jié)果為負(fù)數(shù)AF = 0 無進(jìn)/借位 SF = 0 結(jié)果為正數(shù) (5) 零

8、狀態(tài)標(biāo)志位ZF (6) 奇偶標(biāo)志位PFZF = 1 結(jié)果為全0 PF = 1 有偶數(shù)個“1”ZF = 0 結(jié)果不為全0 PF = 0 有奇數(shù)個“1”(7) 控制標(biāo)志位DF (8) 中斷控制標(biāo)志位IFDF = 1 遞減方式 IF = 1 允許中斷 DF = 0 遞增方式 IF = 0 屏蔽中斷(9) 陷阱控制標(biāo)志位TFTF = 1 單步方式TF = 0 正常方式2.1.2 8086/8088CPU執(zhí)行程序的操作過程(1)20位地址的形成,并將此地址送至程序存儲器指定單元,從該單元取出指令字節(jié),依次放入指令隊列中。(2)每當(dāng)8086的指令隊列中有2個空字節(jié),8088指令隊列中有1個空字節(jié)時,總線接

9、口部件就會自動取指令至隊列中。(3)執(zhí)行部件從總線接口的指令隊列首取出指令代碼,執(zhí)行該指令。(4)當(dāng)隊列已滿,執(zhí)行部件又不使用總線時,總線接口部件進(jìn)入空閑狀態(tài)。(5)執(zhí)行轉(zhuǎn)移指令、調(diào)用指令、返回指令時,先清空隊列內(nèi)容,再將要執(zhí)行的指令放入隊列中。2.2 8086/8088微處理器的引腳及工作模式圖2-2 8086/8088 CPU的引腳圖2.2.1 8086/8088微處理器的引腳及功能8086 CPU的40條引腳信號按功能可分為四類:地址總線、數(shù)據(jù)總線、控制總線和其它(時鐘與電源),如圖2-2所示。一、最小模式和最大模式的概念根據(jù)所連的存儲器和外設(shè)規(guī)模的不同,使它們可以在兩種模式下工作:最小

10、模式:只有一8086/8088CPU。最大模式:有兩個或兩個以上的CPU,一個為主CPU8086/8088,另一個為協(xié)CPU8087/8089。指令周期:執(zhí)行一條指令所需要的時間。總線周期(機(jī)器周期):CPU通過總線與存儲器或I/O接口進(jìn)行一次數(shù)據(jù)傳輸所需的時間。T狀態(tài)(時鐘周期):CPU處理動作的最小單位。二、8086的引腳信號1、 最小模式( MN/MX接5V) AD15AD0,地址/數(shù)據(jù)總線(復(fù)用引腳、雙向、三態(tài)) A19/S6A16/S3,地址/狀態(tài)總線 (復(fù)用引腳,輸出,三態(tài)) BHE/ S7,高8位數(shù)據(jù)允許/狀態(tài)線 MN/MX,最小/最大模式控制信號,輸入 RD,讀信號 WR,寫信

11、號M/IO,存儲器/輸入輸出控制信號 ALE,地址鎖存允許信號READY(Ready),準(zhǔn)備就緒信號INTR,可屏蔽中斷請求信號INTA,中斷響應(yīng)信號 NMI,非屏蔽中斷請求信號RESET,系統(tǒng)復(fù)位信號 DEN,數(shù)據(jù)允許信號 (DT/R,數(shù)據(jù)發(fā)送/接收控制信號 HOLD,總線保持請求信號輸入 HLDA,總線保持響應(yīng)信號 TEST,測試信號 CLK,時鐘輸入信號 VCC(+5V),GND 2、 最大模式( MN/MX接地)8086 CPU工作在最大模式時,其2431引腳需重新定義,如下表所示。 QS1/QS0,指令隊列狀態(tài)信號 S2、S1、S0 ,總線周期狀態(tài)信號 LOCK ,總線封鎖信號 RQ

12、/GT1和RQ/GT0 ,總線請求信號輸入/總線請求信號允許輸出2.2.2 8086在最小和最大模式下的典型配置圖2-3 8086最小工作模式的典型配置一、 8086最小工作模式的典型配置在最小工作模式系統(tǒng)配置中,除了8086 CPU外,還需要在外圍電路中加入:Ø 1片8284A,作為時鐘發(fā)生器。Ø 3片8282(8位鎖存器)或74LS373,作為地址鎖存器。Ø 2片8286/8287或74LS245,作為雙向總線收發(fā)器,以增加數(shù)據(jù)總線的驅(qū)動能力。二、 8086最大工作模式的典型配置從圖2-9和圖2-10中可以看出,8086CPU在最大模式和最小模式之間的主要區(qū)別

13、是:在最大模式下,需要增加一個轉(zhuǎn)換控制信號的電路,用來對CPU發(fā)出的控制信號進(jìn)行變換和組合,即8288總線控制器。8288接受8086CPU的狀態(tài)信號S2、S1和S0,經(jīng)過變換和組合,由8288產(chǎn)生并發(fā)出對存儲器或I/O端口的讀/寫信號,產(chǎn)生和發(fā)出對地址鎖存器8282及總線收發(fā)器8286的控制信號等。圖2-4 8086最大工作模式的典型配置三、 8086最小模式和最大模式的比較1、不同之處最小模式下系統(tǒng)控制信號直接由8086CPU提供;最大模式下因系統(tǒng)復(fù)雜,芯片數(shù)量較多,為提高驅(qū)動能力和改善總線控制能力,大多數(shù)的系統(tǒng)控制信號由總線控制器8288提供。最小模式下8086的31、30腳提供一組總線

14、請求/響應(yīng)信號(HOLD、HLDA),而最大模式下8086的31、30腳將提供兩組總線請求/響應(yīng)信號(RQ/GT0、RQ/GT1)。2、相同之處:8086的低位地址線與數(shù)據(jù)線復(fù)用,為保證地址信號維持足夠的時間,需使用ALE信號將低位地址線鎖存(通過鎖存器8282),以形成真正的系統(tǒng)地址總線; 8086的數(shù)據(jù)線通過數(shù)據(jù)收發(fā)器8286后形成系統(tǒng)數(shù)據(jù)總線,以增大驅(qū)動能力,數(shù)據(jù)收發(fā)器主要由DEN和DT/R兩個信號控制。 習(xí)題與思考:18086/8088系統(tǒng)中為什么一定要有地址鎖存器?需要鎖存哪些信息?2若8086CPU工作于最小模式,試指出當(dāng)CPU完成將AH的內(nèi)容送到物理地址為 91001H的存儲單元

15、操作時,以下哪些信號應(yīng)為低電平:M/、/S7、 DT/。若CPU完成的是將物理地址91000H單元的內(nèi)容送到AL中,則上述哪些信號應(yīng)為低電平。3什么是引腳的分時復(fù)用?請說出8086/8088CPU有哪些引腳是分時復(fù)用引腳?其要解決的問題是什么?4試說明8086/8088工作在最大和最小模式下系統(tǒng)基本配置的差異。2.3 Pentium系列微處理器簡介2.3.1 Pentium的原理結(jié)構(gòu)圖2-5 Pentium CPU原理結(jié)構(gòu)圖一、Pentium CPU內(nèi)部的主要部件總線接口部件U流水線和V流水線指令高速緩沖存儲器Cache數(shù)據(jù)高速緩沖存儲器Cache指令預(yù)取部件指令譯碼器浮點處理部件FPU分支目

16、標(biāo)緩沖器BTB微程序控制器中的控制ROM寄存器組Pentium微處理器的原理結(jié)構(gòu)圖如上圖所示二、原理結(jié)構(gòu)在Pentium CPU中,總線接口部件實現(xiàn)CPU與系統(tǒng)總線之間的連接,其中包括64位雙向的數(shù)據(jù)線、32位地址線和所有的控制信號線,具有鎖存與緩沖等功能,總線接口部件實現(xiàn)CPU與外設(shè)之間的信息交換,并產(chǎn)生相應(yīng)的各類總線周期1、 互相獨立的指令Cache和數(shù)據(jù)Cache Pentium則在片內(nèi)設(shè)置了2個獨立的8KB Cache,分別用于存放指令代碼與數(shù)據(jù)。2、超標(biāo)量流水線 Pentium有U、V兩條指令流水線,故稱之為超標(biāo)量流水線,超標(biāo)量流水線技術(shù)的應(yīng)用,使得Pentium CPU的速度較80

17、486有很大的提高。因此,超標(biāo)量流水線是Pentium系統(tǒng)結(jié)構(gòu)的核心。3、重新設(shè)計的浮點運算部件如圖2-5所示,浮點運算部件內(nèi)有專門用于浮點運算的加法器、乘法器和除法器,還有80位寬的8個寄存器構(gòu)成了寄存器堆,內(nèi)部的數(shù)據(jù)通路為80位。浮點運算部件支持IEEE754標(biāo)準(zhǔn)的單、雙精度格式的浮點數(shù),還可以使用一種臨時實數(shù)的80位浮點數(shù)。4、以BTB實現(xiàn)動態(tài)轉(zhuǎn)換預(yù)測 Pentium采用了分支目標(biāo)緩沖器(branch target buffer)實現(xiàn)動態(tài)轉(zhuǎn)移預(yù)測,可以減少指令流水作業(yè)中因分支轉(zhuǎn)移指令而引起的流水線斷流 引入了轉(zhuǎn)移預(yù)測技術(shù),不僅能預(yù)測轉(zhuǎn)移是否發(fā)生,而且能確定轉(zhuǎn)移到何處去執(zhí)行程序2.3.2

18、Pentium的寄存器1.Pentium的寄存器可以分為三組:基本寄存器組:包括通用寄存器、指令寄存器、標(biāo)示寄存器以及段寄存器;系統(tǒng)寄存器組:包括系統(tǒng)地址寄存器、控制寄存器;浮點部件寄存器組:包括數(shù)據(jù)寄存器堆、控制寄存器、狀態(tài)寄存器、指令指針寄存器和數(shù)據(jù)指針寄存器以及標(biāo)記字寄存器;2.3.3 Pentium的工作模式簡介Pentium的虛擬存儲器(Vivtual Storage)技術(shù)、高速緩存(Cache)技術(shù)以及超標(biāo)量流水線技術(shù)是微型計算機(jī)系統(tǒng)的三大支柱,虛擬存儲器的目標(biāo)是如何高速允許多個軟件進(jìn)程共享并使用主存儲器這一容量有限的存儲資源。虛擬存儲器的實現(xiàn)不僅僅體現(xiàn)在計算機(jī)硬件系統(tǒng)上的完美無缺

19、,而且虛擬存儲器技術(shù)是操作系統(tǒng)的核心技術(shù),操作系統(tǒng)中存儲器管理程序的主要任務(wù)就是要將有限的主存儲器不斷地動態(tài)分配給各活動進(jìn)程Pentium的工作模式分為:實模式、保護(hù)模式、虛擬86模式、平展模式、線性空間以及系統(tǒng)管理模式共五種。一、 Pentium工作的保護(hù)模式保護(hù)模式是受保護(hù)的虛擬地址模式的簡稱。從80386 CPU開始,就具有了保護(hù)模式,Pentium CPU內(nèi)部也設(shè)有存儲器管理部件MMU,其中,仍然包括分段部件SU和分頁部件PU,通過系統(tǒng)程序員編程,Pentium可以工作在只分段或只分頁或既分段又分頁三種方式。二、 保護(hù)模式的三種方式1、只分段不分頁Ø 由16位的段選擇符和一個

20、32位的偏移地址組成,段選擇符的低2位用于保護(hù),高14位指示段,因此,一個進(jìn)程可允許的最大虛擬空間為214+32=64TB。Ø 段管理部件SU將段選擇符與32位虛地址轉(zhuǎn)換成32位線性地址,也是最終的32位物理地址,因此,地址轉(zhuǎn)換速度快。缺點是段的頻繁調(diào)入調(diào)出,耗時多,內(nèi)存管理性能稍差一點。2、只分頁不分段Pentium在頁管理部件PU的管理下,可以對存儲器只實行分頁管理,分段部件SU不工作。與程序的段選擇符無關(guān),僅將指令提供的32位虛地址看成是32位的線性地址,無論按4KB分頁或是按4MB分頁,均可形成32位物理地址,進(jìn)程所擁有的最大虛存空間都是232=4GB。這種只分頁不分段的保護(hù)

21、模式也稱為平展地址模式,比只分段不分頁模式靈活。3、既分段又分頁分段分頁方式是先分段后分頁,在分段的基礎(chǔ)上進(jìn)行分頁,分段所形成的32位線性地址不是最后的物理地址,而是提供給分頁部件,作為頁目錄(號)、頁表(號)以及頁內(nèi)偏移量,按4KB大小分頁。一個進(jìn)程的最大虛地址空間與只分段的虛地址模式相同,也是64TB,兼有分段與分頁的優(yōu)點,UNIX System V和OS/2操作系統(tǒng)使用了這種保護(hù)模式2.3.4 Pentium 系列處理器技術(shù)概述自1993年P(guān)entium問世之后,Intel公司相繼推出了Ø Pentium Pro(1995)Ø Pentium (1997年)Ø

22、; Pentium (1998年)Ø Pentium 4(2000年)等微處理器,近幾年又推出了64位的微處理器Itanium(安騰)Pentium 4微處理器簡介Pentium 4晶體管數(shù)目增加到4200萬個,CPU主頻有1.4GHz、2.2GHz等版本,由于主頻大大提高,動態(tài)電流增加,外加晶體管數(shù)目增加,所以電源功耗明顯增加,高達(dá)55W,沒有選用傳統(tǒng)的低壓供電方式,而是采用了12V直流供電。CPU插座使用478條引腳的產(chǎn)品,采用Socket 423插座將CPU固定在主板上。(1)CPU數(shù)據(jù)總線的并行傳輸速率加快,一個總線時鐘周期內(nèi)可同時傳輸4組64位的數(shù)據(jù),稱之為四倍爆發(fā)式總線技

23、術(shù)。P4通過850外圍芯片組構(gòu)成的主機(jī)系統(tǒng),與內(nèi)存構(gòu)成雙通道的方式傳輸數(shù)據(jù),并行傳輸帶寬可以達(dá)到3.2GB/S。(2)Pentium 4內(nèi)部設(shè)計了兩組獨立運行的ALU,在一個主頻時鐘周期的上升沿與下降沿之間完成所需要的運算,平均在P4內(nèi)部一個主頻時鐘內(nèi)可以完成2條算術(shù)/邏輯運算指令。(3)P4保留了P中MMX指令,同時又增加了70條新的MMX指令。保留了P中原有的SSE指令,又增加了新的SSE指令,組成了共計有144條的所謂SSE2指令集(4)將指令Cache直接連接到分支預(yù)取單元與執(zhí)行單元,這與以往的L1Cache的結(jié)構(gòu)是有區(qū)別的,其結(jié)構(gòu)還考慮到了微指令的格式,當(dāng)執(zhí)行重復(fù)性代碼時,可以提高程

24、序運行的速度,稱這種技術(shù)為指令跟蹤緩存(Trace Cache)技術(shù)。2.4 典型時序分析引入:前幾節(jié)我們已學(xué)過8086/8088CPU的內(nèi)、外部結(jié)構(gòu),兩種工作模式,微型計算機(jī)系統(tǒng)的工作過程。重點:與微機(jī)系統(tǒng)工作過程定時相關(guān)的三種周期,時序的基本概念,研究時序的意義,兩種工作模式下的典型時間序列分析。 相關(guān)的基本概念一、什么是時序 時序是計算機(jī)操作運行的時間順序。二、為什么要研究時序(1) 可以進(jìn)一步了解在微機(jī)系統(tǒng)的工作過程中,CPU各引腳上信號之間的相對時間關(guān)系。由于微處理器內(nèi)部電路、部件的工作情況,用戶是看不到的,通過檢測CPU引腳信號線上,各信號之間的相對時間關(guān)系,是判斷系統(tǒng)工作是否正常

25、的一種重要途徑;(2) 可以深入了解指令的執(zhí)行過程;(3) 可以使我們在程序設(shè)計時,選擇合適的指令或指令序列,以盡量縮短程序代碼的長度及程序的運行時間。因為對于實現(xiàn)相同的功能,可以采用不同的指令或指令序列,而這些指令或指令序列的字節(jié)數(shù)及執(zhí)行時間有可能不相同的。(4) 對于學(xué)習(xí)各功能部件與系統(tǒng)總線的連接及硬件系統(tǒng)的調(diào)試,都十分有意義,因為CPU與存儲器、I/O端口協(xié)調(diào)工作時,存在一個時序上的配合問題。(5) 才能更好地處理微機(jī)用于過程控制及解決實時控制的題,三、 指令周期、總線周期及時鐘周期 微機(jī)系統(tǒng)的工作,必須嚴(yán)格按照一定的時間關(guān)系來進(jìn)行,CPU定時所用 的周期有三種,即指令周期、總線周期和時

26、鐘周期。 (1) 指令周期 一條指令從其代碼被從內(nèi)存單元中取出到其所規(guī)定的操作執(zhí)行完畢,所 用的時間,稱為相應(yīng)指令的指令周期。由于指令的類型、功能不同,因此, 不同指令所要完成的操作也不同,相應(yīng)地,其所需的時間也不相同。也就是 說,指令周期的長度因指令的不同而不同。 (2) 總線周期 我們把CPU通過總線與內(nèi)存或I/O端口之間,進(jìn)行一個字節(jié)數(shù)據(jù)交換所進(jìn)行的操作,稱為一次總線操作,相應(yīng)于某個總線操作的時間即為總線周期。雖然,每條指令的功能不同,所需要進(jìn)行的操作也不同,指令周期的長度也必不相同。但是,我們可以對不同指令所需進(jìn)行的操作進(jìn)行分解,它們又都是由一些基本的操作組合而成的。如存儲器的讀/寫操

27、作、I/O端口的讀/寫操作、中斷響應(yīng)等,這些基本的操作都要通過系統(tǒng)總線實現(xiàn)對內(nèi)存或I/O端口的訪問的。不同的指令所要完成的操作,是由一系列的總線操作組合而成的,而線操作的數(shù)量及排列順序因指令的不同而不同。 8088的總線操作,就是8088CPU利用總線(AB、DB、CB)與內(nèi)存及I/O端口進(jìn)行信息交換的過程,與這些過程相對應(yīng)的總線上的信號變化的相對時間關(guān)系,就是相應(yīng)總線操作的時序。(3) 時鐘周期時鐘周期是微機(jī)系統(tǒng)工作的最小時間單元,它取決于系統(tǒng)的主頻率,系統(tǒng)完成任何操作所需要的時間,均是時鐘周期的整數(shù)倍。時鐘周期又稱為T狀態(tài)。時鐘周期是基本定時脈沖的兩個沿之間的時間間隔,而基本定時脈沖是由外

28、部振蕩器產(chǎn)生的,通過CPU的CLK輸入端輸入,基本定時脈沖的頻率,我們稱之為系統(tǒng)的主頻率。例如8088CPU的主頻率是5MHz,其時鐘周期為200ns。一個基本的總線周期由4個T狀態(tài)組成,我們分別稱為4個狀態(tài),在每個T狀態(tài)下,CPU完成不同的動作。四、8086/8088微機(jī)系統(tǒng)的主要操作 8086/8088微機(jī)系統(tǒng),能夠完成的操作有下列幾種主要類型:² 系統(tǒng)的復(fù)位與啟動操作;² 暫停操作;² 總線操作;(I/O讀、I/O寫、存貯器讀、存貯器寫)² 中斷操作;² 最小模式下的總線保持;² 最大模式下的總線請求/允許。 典型的8088時序

29、分析 指令所執(zhí)行的操作,可以分為內(nèi)部操作和外部操作。不同的指令其內(nèi)、外部操作是不相同的,但這些操作可以分解為一個個總線操作。即總線操作的不同組合,就構(gòu)成了不同指令的不同操作,而總線操作的類型是有限的,我們?nèi)绻軌蛎鞔_不同種類總線操作的時序關(guān)系,且可以根據(jù)不同指令的功能,把它們分解為不同總線操作的組合,那么,任何指令的時序關(guān)系,我們就都可以知道了。一、最小模式下的典型時序CPU為了與存貯器或I/O端口進(jìn)行一個字節(jié)的數(shù)據(jù)交換,需要執(zhí)行一次總線操作,按數(shù)據(jù)傳輸?shù)姆较騺矸?,可將總線操作分為讀操作和寫操作兩種類型;按照讀/寫的不同對象,總線操作又可分為存貯器讀/寫與I/O讀/寫操作,下面我們就最小模式下

30、的總線讀/寫操作時序,來進(jìn)行具體分析。(1) 最小模式下的總線讀操作時序一個最基本的讀周期包含有4個狀態(tài),即、,必要時可插入1個或幾個。狀態(tài)有效,用來指出本次讀周期是存貯器讀還是I/O讀,它一直保持到有效。地址線信號有效,高4位通過地址/狀態(tài)線送出,低16位通過地址/數(shù)據(jù)線送出,用來指出操作對象的地址,即存貯器單元地址或I/O端口地址。ALE有效,在最小模式的系統(tǒng)配置中我們講過,地址信號通過地址鎖存器8282鎖存,ALE即為8282的鎖存信號,下降沿有效。(對8088無用)有效,用來表示高8位數(shù)據(jù)總線上的信息有效,現(xiàn)在通過傳送的是有效地址信息,常作為奇地址存貯體的選通信號,因為奇地址存貯體中的

31、信息總是通過高8位數(shù)據(jù)線來傳輸,而偶地址體的選通則用。當(dāng)系統(tǒng)中配有總線驅(qū)動器時,使變低,用來表示本周期為讀周期,并通知總線驅(qū)動器接收數(shù)據(jù)()² 狀態(tài)高四位地址/狀態(tài)線送出狀態(tài)信息,。低16位地址/數(shù)據(jù)線浮空,為下面?zhèn)魉蛿?shù)據(jù)準(zhǔn)備。引腳成為(無定義)。有效,表示要對存貯器/I/O端口進(jìn)行讀。有效,使得總線收發(fā)器(驅(qū)動器)可以傳輸數(shù)據(jù)()。² 狀態(tài)從存貯器/I/O端口讀出的數(shù)據(jù)送上數(shù)據(jù)總線(通過)。² 狀態(tài)若存貯器或外設(shè)速度較慢,不能及時送上數(shù)據(jù)的話,則通過READY線通知CPU,CPU在的前沿(即結(jié)束末的下降沿)檢測READY,若發(fā)現(xiàn)READY0,則在結(jié)束后自動插入1

32、個或幾個,并在每個的前沿處檢測READY,等到READY變高后,則自動脫離進(jìn)入。² 狀態(tài)在與(或)的交界處(下降沿),采集數(shù)據(jù),使各控制及狀態(tài)線進(jìn)入無效。二、 最小模式下的總線寫操作時序 時序如圖2-6所示,最基本的總線寫周期也包括四個狀態(tài),必要時插入。² 狀態(tài)基本上同讀周期,只有此時為高不是低。² 狀態(tài)圖26總線寫周期時序與讀周期有兩點不同:變成;不是浮空,而是發(fā)出要寫入存貯器/I/O端口的數(shù)據(jù)。² 狀態(tài)² 狀態(tài)² 狀態(tài)、三個狀態(tài)同讀周期。已完成CPU存貯器/I/O端口的數(shù)據(jù)傳送,使數(shù)據(jù)線上的數(shù)據(jù)無效,同時,使各控制與狀態(tài)信號無效。

33、圖2-7 中斷響應(yīng)周期時序三 中斷響應(yīng)周期(對可屏蔽中斷)波形圖如圖2-7所示,由兩個連續(xù)的總線周期所組成。說明:要求INTR信號是一個高電平信號,并且維持兩個T,因為CPU在一條指令的最后一個T采樣INTR,進(jìn)入中斷響應(yīng)后,它在第一個周期的仍需采樣INTR。在最小模式下,中斷應(yīng)答信號來自8086的引腳,而在最大模式時,則是通過、的組合由總線控制器產(chǎn)生。第一個總線周期通過用來通知外設(shè),CPU準(zhǔn)備響應(yīng)中斷,第二個總線周期通過通知外設(shè)送中斷類型碼,該類型碼通過數(shù)據(jù)總線的低8位傳送,來自中斷源。CPU據(jù)此轉(zhuǎn)入中斷服務(wù)子程序。在中斷響應(yīng)期間,為低,數(shù)據(jù)/地址線浮空,數(shù)據(jù)/狀態(tài)線浮空。在兩個中斷響應(yīng)周期

34、之間可安排23個空閑周期(8086)或沒有(8088)。四、 系統(tǒng)的復(fù)位和啟動操作(對最大小模式都一樣)8086/8088的復(fù)位和啟動操作,是通過RESET引腳上的觸發(fā)信號來執(zhí)行的,當(dāng)RESET引腳上有高電平時,CPU就結(jié)束當(dāng)前操作,進(jìn)入初始化(復(fù)位)過程,包括把各內(nèi)部寄存器(除CS)清0,標(biāo)志寄存器清0,指令隊列清0,將FFFFH送CS。重新啟動后,系統(tǒng)從FFFF0H開始執(zhí)行指令。重新啟動的動作是當(dāng)RESET從高到低跳變時觸發(fā)CPU內(nèi)部的一個復(fù)位邏輯電路,經(jīng)過7個T狀態(tài),CPU即自動啟動。要注意的是,由于在復(fù)位操作時,標(biāo)志寄存器被清0,因此其中的中斷標(biāo)志IF也被清0,這樣就阻止了所有的可屏蔽

35、中斷請求,都不能響應(yīng),即復(fù)位以后,若需要必需用開中斷指令來重新設(shè)置IF標(biāo)志。圖2-8系統(tǒng)復(fù)位時序復(fù)位操作的時序如圖2-8所示,表2-1給出了復(fù)位后寄存器的狀態(tài)。表2-1 復(fù)位后寄存器的狀態(tài)寄存器狀態(tài)寄存器狀態(tài)寄存器狀態(tài)F(PSW)0000HIP0000HCS0FFFFHDS0000HSS0000HES0000H指令隊列空IF0(禁止)(5) 總線占用周期當(dāng)系統(tǒng)中有其它總線主設(shè)備有總線請求時,向CPU發(fā)總線請求信號HOLD,HOLD信號可以與時鐘信號異步,則在下一個時鐘的上升沿同步HOLD信號。CPU收到HOLD信號后,在當(dāng)前總線周期的T4或下一個總線周期的T1的后沿,輸出保持響應(yīng)信號HLDA,從下一個時鐘周期開始CPU出讓總線控制權(quán),進(jìn)入總線占用周期;DMA傳送結(jié)束,掌握總線控制權(quán)的總線主設(shè)備使HOLD信號變低,并在接著的下降沿使HLDA信號變?yōu)闊o效,系統(tǒng)退出總線占用周期。 (6) 總線空操作前面我們曾講過,只有在CPU與存貯器

溫馨提示

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

最新文檔

評論

0/150

提交評論