版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第2章 80X86/Pentium系列微處理器引入:計(jì)算機(jī)必須有一個(gè)控制并執(zhí)行指令的部件,該部件不僅要與計(jì)算機(jī)的其它功能部件進(jìn)行信息交換,還要控制它們的操作,所以被稱為中央處理部件或CPU。本章以8086/8088為例主要介紹控制器的工作原理和系統(tǒng)組成。本章知識(shí)點(diǎn):1、 8088/8086編程結(jié)構(gòu)2、 8086/8088 CPU的引腳及功能3 、80X86/Pentium微處理器編程結(jié)構(gòu)4、 典型時(shí)序分析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工作時(shí),只要一個(gè) 5V 電源和一個(gè)時(shí)鐘,時(shí)鐘頻率為5MHz 。8088:內(nèi)部與8086兼容,也是一個(gè)16位微處理器,只是外部數(shù)據(jù)總線為8位,所以稱為準(zhǔn)16位微處理器。它具有包括乘法和除法的16位運(yùn)算指令,所以能處理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í)傳遞地址信息或數(shù)據(jù)信息Ø 指令隊(duì)列緩沖器用于暫存指令、取指令和執(zhí)行指令可重疊操作1、 指令隊(duì)列至少保持一條指令,且只要有一條指令,EU就開始執(zhí)行2、 指令隊(duì)列只要有空余,BIU就自動(dòng)執(zhí)行取指令操作,直到填滿為止3、 若EU在執(zhí)行指令過程中需要對(duì)MEM/IO進(jìn)行存取,則BIU在執(zhí)行完現(xiàn)行取指操作總線周期后的下一總線周期中進(jìn)行4、 當(dāng)EU執(zhí)行跳轉(zhuǎn)指令時(shí),EU要求BIU從新的地址中重新取指,則BIU清空隊(duì)列中的原有指令,重新取指到的第一條指令直接送至EU,隨后指令填入隊(duì)列4個(gè)16位段寄存器Ø 地址生成 16位指令指針寄存器IP
4、(Instruction PointerØ )Ø20位地址產(chǎn)生器4個(gè)16位段地址寄存器(8086CPU將1MB尋址空間分為若干段,由段寄存器來識(shí)別當(dāng)前尋址的段,每個(gè)段功能各不相同)CS(Code Segment) 代碼段寄存器,指示當(dāng)前執(zhí)行程序所在存儲(chǔ)器的區(qū)域;DS(Data Segment) 數(shù)據(jù)段寄存器,指示當(dāng)前程序所用之?dāng)?shù)據(jù)的存儲(chǔ)器區(qū)域;SS(Stack Segment) 堆棧段寄存器,指示當(dāng)前程序所用之堆棧位于的存儲(chǔ)器區(qū)域;ES(Extra Segment) 附加段寄存器,指示當(dāng)前程序所用之?dāng)?shù)據(jù)位于的另外存儲(chǔ)器區(qū)域,在字符串操作中常用到。16位指令指針寄存器IP,存
5、儲(chǔ)指令在代碼段中的偏移地址1、 程序運(yùn)行中自動(dòng)加1,指向下一條要執(zhí)行指令的偏移地址2、 當(dāng)程序執(zhí)行到跳轉(zhuǎn)、調(diào)用、中斷等指令時(shí),IP中的值將根據(jù)條件變化3、 通常不能被直接訪問,也不能直接賦值,指令中不會(huì)出現(xiàn)對(duì)IP的操作20位的地址加法器20位CS左移4位IP或偏移地址+地址加法器CS16位物理地址20位說明:(1)指令隊(duì)列緩沖器:在執(zhí)行指令的同時(shí),將取下一條指令,并放入指令隊(duì)列緩沖器中。CPU執(zhí)行完一條指令后,可以指令下一條指令(流水線技術(shù))。提高CPU效率。(2)地址加法器:產(chǎn)生20位地址。CPU內(nèi)無論是段地址寄存器還是偏移量都是16位的,通過地址加法器產(chǎn)生20位地址。2、執(zhí)行單元EU功能:
6、(1)從指令隊(duì)列中取出指令。(2)對(duì)指令進(jìn)行譯碼,發(fā)出相應(yīng)的控制信號(hào)。(3)接收由總線接口送來的數(shù)據(jù)或發(fā)送數(shù)據(jù)至接口。(4)進(jìn)行算術(shù)運(yùn)算。執(zhí)行部件的組成:(1)四個(gè)通用寄存器AX、BX、CX、DX。 四個(gè)通用寄存器都是16位或作兩個(gè)8位來使用。(2)專用寄存器SP-堆棧指針寄存器,指示棧頂?shù)钠频刂稡P-基址指針寄存器,表示數(shù)據(jù)在堆棧段中的基地址DI-目的變址寄存器,SI- 源變址寄存器(3)算術(shù)邏輯單元ALU 完成8位或者16位二進(jìn)制算術(shù)和邏輯運(yùn)算,計(jì)算偏移量。(4)數(shù)據(jù)暫存寄存器協(xié)助ALU完成運(yùn)算,暫存參加運(yùn)算的數(shù)據(jù)。(5)執(zhí)行部件的控制電路從總線接口的指令隊(duì)列取出指令操作碼,通過譯碼電路
7、分析,發(fā)出相應(yīng)的控制命令,控制ALU數(shù)據(jù)流向。(6)*標(biāo)志寄存器借進(jìn)位標(biāo)志奇偶標(biāo)志半借進(jìn)位標(biāo)志零標(biāo)志符號(hà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) 符號(hào)標(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ù)個(gè)“1”ZF = 0 結(jié)果不為全0 PF = 0 有奇數(shù)個(gè)“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位地址的形成,并將此地址送至程序存儲(chǔ)器指定單元,從該單元取出指令字節(jié),依次放入指令隊(duì)列中。(2)每當(dāng)8086的指令隊(duì)列中有2個(gè)空字節(jié),8088指令隊(duì)列中有1個(gè)空字節(jié)時(shí),總線接
9、口部件就會(huì)自動(dòng)取指令至隊(duì)列中。(3)執(zhí)行部件從總線接口的指令隊(duì)列首取出指令代碼,執(zhí)行該指令。(4)當(dāng)隊(duì)列已滿,執(zhí)行部件又不使用總線時(shí),總線接口部件進(jìn)入空閑狀態(tài)。(5)執(zhí)行轉(zhuǎn)移指令、調(diào)用指令、返回指令時(shí),先清空隊(duì)列內(nèi)容,再將要執(zhí)行的指令放入隊(duì)列中。2.2 8086/8088微處理器的引腳及工作模式圖2-2 8086/8088 CPU的引腳圖2.2.1 8086/8088微處理器的引腳及功能8086 CPU的40條引腳信號(hào)按功能可分為四類:地址總線、數(shù)據(jù)總線、控制總線和其它(時(shí)鐘與電源),如圖2-2所示。一、最小模式和最大模式的概念根據(jù)所連的存儲(chǔ)器和外設(shè)規(guī)模的不同,使它們可以在兩種模式下工作:最小
10、模式:只有一8086/8088CPU。最大模式:有兩個(gè)或兩個(gè)以上的CPU,一個(gè)為主CPU8086/8088,另一個(gè)為協(xié)CPU8087/8089。指令周期:執(zhí)行一條指令所需要的時(shí)間??偩€周期(機(jī)器周期):CPU通過總線與存儲(chǔ)器或I/O接口進(jìn)行一次數(shù)據(jù)傳輸所需的時(shí)間。T狀態(tài)(時(shí)鐘周期):CPU處理動(dòng)作的最小單位。二、8086的引腳信號(hào)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,最小/最大模式控制信號(hào),輸入 RD,讀信號(hào) WR,寫信
11、號(hào)M/IO,存儲(chǔ)器/輸入輸出控制信號(hào) ALE,地址鎖存允許信號(hào)READY(Ready),準(zhǔn)備就緒信號(hào)INTR,可屏蔽中斷請(qǐng)求信號(hào)INTA,中斷響應(yīng)信號(hào) NMI,非屏蔽中斷請(qǐng)求信號(hào)RESET,系統(tǒng)復(fù)位信號(hào) DEN,數(shù)據(jù)允許信號(hào) (DT/R,數(shù)據(jù)發(fā)送/接收控制信號(hào) HOLD,總線保持請(qǐng)求信號(hào)輸入 HLDA,總線保持響應(yīng)信號(hào) TEST,測(cè)試信號(hào) CLK,時(shí)鐘輸入信號(hào) VCC(+5V),GND 2、 最大模式( MN/MX接地)8086 CPU工作在最大模式時(shí),其2431引腳需重新定義,如下表所示。 QS1/QS0,指令隊(duì)列狀態(tài)信號(hào) S2、S1、S0 ,總線周期狀態(tài)信號(hào) LOCK ,總線封鎖信號(hào) RQ
12、/GT1和RQ/GT0 ,總線請(qǐng)求信號(hào)輸入/總線請(qǐng)求信號(hào)允許輸出2.2.2 8086在最小和最大模式下的典型配置圖2-3 8086最小工作模式的典型配置一、 8086最小工作模式的典型配置在最小工作模式系統(tǒng)配置中,除了8086 CPU外,還需要在外圍電路中加入:Ø 1片8284A,作為時(shí)鐘發(fā)生器。Ø 3片8282(8位鎖存器)或74LS373,作為地址鎖存器。Ø 2片8286/8287或74LS245,作為雙向總線收發(fā)器,以增加數(shù)據(jù)總線的驅(qū)動(dòng)能力。二、 8086最大工作模式的典型配置從圖2-9和圖2-10中可以看出,8086CPU在最大模式和最小模式之間的主要區(qū)別
13、是:在最大模式下,需要增加一個(gè)轉(zhuǎn)換控制信號(hào)的電路,用來對(duì)CPU發(fā)出的控制信號(hào)進(jìn)行變換和組合,即8288總線控制器。8288接受8086CPU的狀態(tài)信號(hào)S2、S1和S0,經(jīng)過變換和組合,由8288產(chǎn)生并發(fā)出對(duì)存儲(chǔ)器或I/O端口的讀/寫信號(hào),產(chǎn)生和發(fā)出對(duì)地址鎖存器8282及總線收發(fā)器8286的控制信號(hào)等。圖2-4 8086最大工作模式的典型配置三、 8086最小模式和最大模式的比較1、不同之處最小模式下系統(tǒng)控制信號(hào)直接由8086CPU提供;最大模式下因系統(tǒng)復(fù)雜,芯片數(shù)量較多,為提高驅(qū)動(dòng)能力和改善總線控制能力,大多數(shù)的系統(tǒng)控制信號(hào)由總線控制器8288提供。最小模式下8086的31、30腳提供一組總線
14、請(qǐng)求/響應(yīng)信號(hào)(HOLD、HLDA),而最大模式下8086的31、30腳將提供兩組總線請(qǐng)求/響應(yīng)信號(hào)(RQ/GT0、RQ/GT1)。2、相同之處:8086的低位地址線與數(shù)據(jù)線復(fù)用,為保證地址信號(hào)維持足夠的時(shí)間,需使用ALE信號(hào)將低位地址線鎖存(通過鎖存器8282),以形成真正的系統(tǒng)地址總線; 8086的數(shù)據(jù)線通過數(shù)據(jù)收發(fā)器8286后形成系統(tǒng)數(shù)據(jù)總線,以增大驅(qū)動(dòng)能力,數(shù)據(jù)收發(fā)器主要由DEN和DT/R兩個(gè)信號(hào)控制。 習(xí)題與思考:18086/8088系統(tǒng)中為什么一定要有地址鎖存器?需要鎖存哪些信息?2若8086CPU工作于最小模式,試指出當(dāng)CPU完成將AH的內(nèi)容送到物理地址為 91001H的存儲(chǔ)單元
15、操作時(shí),以下哪些信號(hào)應(yīng)為低電平:M/、/S7、 DT/。若CPU完成的是將物理地址91000H單元的內(nèi)容送到AL中,則上述哪些信號(hào)應(yīng)為低電平。3什么是引腳的分時(shí)復(fù)用?請(qǐng)說出8086/8088CPU有哪些引腳是分時(shí)復(fù)用引腳?其要解決的問題是什么?4試說明8086/8088工作在最大和最小模式下系統(tǒng)基本配置的差異。2.3 Pentium系列微處理器簡(jiǎn)介2.3.1 Pentium的原理結(jié)構(gòu)圖2-5 Pentium CPU原理結(jié)構(gòu)圖一、Pentium CPU內(nèi)部的主要部件總線接口部件U流水線和V流水線指令高速緩沖存儲(chǔ)器Cache數(shù)據(jù)高速緩沖存儲(chǔ)器Cache指令預(yù)取部件指令譯碼器浮點(diǎn)處理部件FPU分支目
16、標(biāo)緩沖器BTB微程序控制器中的控制ROM寄存器組Pentium微處理器的原理結(jié)構(gòu)圖如上圖所示二、原理結(jié)構(gòu)在Pentium CPU中,總線接口部件實(shí)現(xiàn)CPU與系統(tǒng)總線之間的連接,其中包括64位雙向的數(shù)據(jù)線、32位地址線和所有的控制信號(hào)線,具有鎖存與緩沖等功能,總線接口部件實(shí)現(xiàn)CPU與外設(shè)之間的信息交換,并產(chǎn)生相應(yīng)的各類總線周期1、 互相獨(dú)立的指令Cache和數(shù)據(jù)Cache Pentium則在片內(nèi)設(shè)置了2個(gè)獨(dú)立的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è)計(jì)的浮點(diǎn)運(yùn)算部件如圖2-5所示,浮點(diǎn)運(yùn)算部件內(nèi)有專門用于浮點(diǎn)運(yùn)算的加法器、乘法器和除法器,還有80位寬的8個(gè)寄存器構(gòu)成了寄存器堆,內(nèi)部的數(shù)據(jù)通路為80位。浮點(diǎn)運(yùn)算部件支持IEEE754標(biāo)準(zhǔn)的單、雙精度格式的浮點(diǎn)數(shù),還可以使用一種臨時(shí)實(shí)數(shù)的80位浮點(diǎn)數(shù)。4、以BTB實(shí)現(xiàn)動(dòng)態(tài)轉(zhuǎn)換預(yù)測(cè) Pentium采用了分支目標(biāo)緩沖器(branch target buffer)實(shí)現(xiàn)動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè),可以減少指令流水作業(yè)中因分支轉(zhuǎn)移指令而引起的流水線斷流 引入了轉(zhuǎn)移預(yù)測(cè)技術(shù),不僅能預(yù)測(cè)轉(zhuǎn)移是否發(fā)生,而且能確定轉(zhuǎn)移到何處去執(zhí)行程序2.3.2
18、Pentium的寄存器1.Pentium的寄存器可以分為三組:基本寄存器組:包括通用寄存器、指令寄存器、標(biāo)示寄存器以及段寄存器;系統(tǒng)寄存器組:包括系統(tǒng)地址寄存器、控制寄存器;浮點(diǎn)部件寄存器組:包括數(shù)據(jù)寄存器堆、控制寄存器、狀態(tài)寄存器、指令指針寄存器和數(shù)據(jù)指針寄存器以及標(biāo)記字寄存器;2.3.3 Pentium的工作模式簡(jiǎn)介Pentium的虛擬存儲(chǔ)器(Vivtual Storage)技術(shù)、高速緩存(Cache)技術(shù)以及超標(biāo)量流水線技術(shù)是微型計(jì)算機(jī)系統(tǒng)的三大支柱,虛擬存儲(chǔ)器的目標(biāo)是如何高速允許多個(gè)軟件進(jìn)程共享并使用主存儲(chǔ)器這一容量有限的存儲(chǔ)資源。虛擬存儲(chǔ)器的實(shí)現(xiàn)不僅僅體現(xiàn)在計(jì)算機(jī)硬件系統(tǒng)上的完美無缺
19、,而且虛擬存儲(chǔ)器技術(shù)是操作系統(tǒng)的核心技術(shù),操作系統(tǒng)中存儲(chǔ)器管理程序的主要任務(wù)就是要將有限的主存儲(chǔ)器不斷地動(dòng)態(tài)分配給各活動(dòng)進(jìn)程Pentium的工作模式分為:實(shí)模式、保護(hù)模式、虛擬86模式、平展模式、線性空間以及系統(tǒng)管理模式共五種。一、 Pentium工作的保護(hù)模式保護(hù)模式是受保護(hù)的虛擬地址模式的簡(jiǎn)稱。從80386 CPU開始,就具有了保護(hù)模式,Pentium CPU內(nèi)部也設(shè)有存儲(chǔ)器管理部件MMU,其中,仍然包括分段部件SU和分頁(yè)部件PU,通過系統(tǒng)程序員編程,Pentium可以工作在只分段或只分頁(yè)或既分段又分頁(yè)三種方式。二、 保護(hù)模式的三種方式1、只分段不分頁(yè)Ø 由16位的段選擇符和一個(gè)
20、32位的偏移地址組成,段選擇符的低2位用于保護(hù),高14位指示段,因此,一個(gè)進(jìn)程可允許的最大虛擬空間為214+32=64TB。Ø 段管理部件SU將段選擇符與32位虛地址轉(zhuǎn)換成32位線性地址,也是最終的32位物理地址,因此,地址轉(zhuǎn)換速度快。缺點(diǎn)是段的頻繁調(diào)入調(diào)出,耗時(shí)多,內(nèi)存管理性能稍差一點(diǎn)。2、只分頁(yè)不分段Pentium在頁(yè)管理部件PU的管理下,可以對(duì)存儲(chǔ)器只實(shí)行分頁(yè)管理,分段部件SU不工作。與程序的段選擇符無關(guān),僅將指令提供的32位虛地址看成是32位的線性地址,無論按4KB分頁(yè)或是按4MB分頁(yè),均可形成32位物理地址,進(jìn)程所擁有的最大虛存空間都是232=4GB。這種只分頁(yè)不分段的保護(hù)
21、模式也稱為平展地址模式,比只分段不分頁(yè)模式靈活。3、既分段又分頁(yè)分段分頁(yè)方式是先分段后分頁(yè),在分段的基礎(chǔ)上進(jìn)行分頁(yè),分段所形成的32位線性地址不是最后的物理地址,而是提供給分頁(yè)部件,作為頁(yè)目錄(號(hào))、頁(yè)表(號(hào))以及頁(yè)內(nèi)偏移量,按4KB大小分頁(yè)。一個(gè)進(jìn)程的最大虛地址空間與只分段的虛地址模式相同,也是64TB,兼有分段與分頁(yè)的優(yōu)點(diǎn),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微處理器簡(jiǎn)介Pentium 4晶體管數(shù)目增加到4200萬個(gè),CPU主頻有1.4GHz、2.2GHz等版本,由于主頻大大提高,動(dòng)態(tài)電流增加,外加晶體管數(shù)目增加,所以電源功耗明顯增加,高達(dá)55W,沒有選用傳統(tǒng)的低壓供電方式,而是采用了12V直流供電。CPU插座使用478條引腳的產(chǎn)品,采用Socket 423插座將CPU固定在主板上。(1)CPU數(shù)據(jù)總線的并行傳輸速率加快,一個(gè)總線時(shí)鐘周期內(nèi)可同時(shí)傳輸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è)計(jì)了兩組獨(dú)立運(yùn)行的ALU,在一個(gè)主頻時(shí)鐘周期的上升沿與下降沿之間完成所需要的運(yùn)算,平均在P4內(nèi)部一個(gè)主頻時(shí)鐘內(nèi)可以完成2條算術(shù)/邏輯運(yùn)算指令。(3)P4保留了P中MMX指令,同時(shí)又增加了70條新的MMX指令。保留了P中原有的SSE指令,又增加了新的SSE指令,組成了共計(jì)有144條的所謂SSE2指令集(4)將指令Cache直接連接到分支預(yù)取單元與執(zhí)行單元,這與以往的L1Cache的結(jié)構(gòu)是有區(qū)別的,其結(jié)構(gòu)還考慮到了微指令的格式,當(dāng)執(zhí)行重復(fù)性代碼時(shí),可以提高程
24、序運(yùn)行的速度,稱這種技術(shù)為指令跟蹤緩存(Trace Cache)技術(shù)。2.4 典型時(shí)序分析引入:前幾節(jié)我們已學(xué)過8086/8088CPU的內(nèi)、外部結(jié)構(gòu),兩種工作模式,微型計(jì)算機(jī)系統(tǒng)的工作過程。重點(diǎn):與微機(jī)系統(tǒng)工作過程定時(shí)相關(guān)的三種周期,時(shí)序的基本概念,研究時(shí)序的意義,兩種工作模式下的典型時(shí)間序列分析。 相關(guān)的基本概念一、什么是時(shí)序 時(shí)序是計(jì)算機(jī)操作運(yùn)行的時(shí)間順序。二、為什么要研究時(shí)序(1) 可以進(jìn)一步了解在微機(jī)系統(tǒng)的工作過程中,CPU各引腳上信號(hào)之間的相對(duì)時(shí)間關(guān)系。由于微處理器內(nèi)部電路、部件的工作情況,用戶是看不到的,通過檢測(cè)CPU引腳信號(hào)線上,各信號(hào)之間的相對(duì)時(shí)間關(guān)系,是判斷系統(tǒng)工作是否正常
25、的一種重要途徑;(2) 可以深入了解指令的執(zhí)行過程;(3) 可以使我們?cè)诔绦蛟O(shè)計(jì)時(shí),選擇合適的指令或指令序列,以盡量縮短程序代碼的長(zhǎng)度及程序的運(yùn)行時(shí)間。因?yàn)閷?duì)于實(shí)現(xiàn)相同的功能,可以采用不同的指令或指令序列,而這些指令或指令序列的字節(jié)數(shù)及執(zhí)行時(shí)間有可能不相同的。(4) 對(duì)于學(xué)習(xí)各功能部件與系統(tǒng)總線的連接及硬件系統(tǒng)的調(diào)試,都十分有意義,因?yàn)镃PU與存儲(chǔ)器、I/O端口協(xié)調(diào)工作時(shí),存在一個(gè)時(shí)序上的配合問題。(5) 才能更好地處理微機(jī)用于過程控制及解決實(shí)時(shí)控制的題,三、 指令周期、總線周期及時(shí)鐘周期 微機(jī)系統(tǒng)的工作,必須嚴(yán)格按照一定的時(shí)間關(guān)系來進(jìn)行,CPU定時(shí)所用 的周期有三種,即指令周期、總線周期和時(shí)
26、鐘周期。 (1) 指令周期 一條指令從其代碼被從內(nèi)存單元中取出到其所規(guī)定的操作執(zhí)行完畢,所 用的時(shí)間,稱為相應(yīng)指令的指令周期。由于指令的類型、功能不同,因此, 不同指令所要完成的操作也不同,相應(yīng)地,其所需的時(shí)間也不相同。也就是 說,指令周期的長(zhǎng)度因指令的不同而不同。 (2) 總線周期 我們把CPU通過總線與內(nèi)存或I/O端口之間,進(jìn)行一個(gè)字節(jié)數(shù)據(jù)交換所進(jìn)行的操作,稱為一次總線操作,相應(yīng)于某個(gè)總線操作的時(shí)間即為總線周期。雖然,每條指令的功能不同,所需要進(jìn)行的操作也不同,指令周期的長(zhǎng)度也必不相同。但是,我們可以對(duì)不同指令所需進(jìn)行的操作進(jìn)行分解,它們又都是由一些基本的操作組合而成的。如存儲(chǔ)器的讀/寫操
27、作、I/O端口的讀/寫操作、中斷響應(yīng)等,這些基本的操作都要通過系統(tǒng)總線實(shí)現(xiàn)對(duì)內(nèi)存或I/O端口的訪問的。不同的指令所要完成的操作,是由一系列的總線操作組合而成的,而線操作的數(shù)量及排列順序因指令的不同而不同。 8088的總線操作,就是8088CPU利用總線(AB、DB、CB)與內(nèi)存及I/O端口進(jìn)行信息交換的過程,與這些過程相對(duì)應(yīng)的總線上的信號(hào)變化的相對(duì)時(shí)間關(guān)系,就是相應(yīng)總線操作的時(shí)序。(3) 時(shí)鐘周期時(shí)鐘周期是微機(jī)系統(tǒng)工作的最小時(shí)間單元,它取決于系統(tǒng)的主頻率,系統(tǒng)完成任何操作所需要的時(shí)間,均是時(shí)鐘周期的整數(shù)倍。時(shí)鐘周期又稱為T狀態(tài)。時(shí)鐘周期是基本定時(shí)脈沖的兩個(gè)沿之間的時(shí)間間隔,而基本定時(shí)脈沖是由外
28、部振蕩器產(chǎn)生的,通過CPU的CLK輸入端輸入,基本定時(shí)脈沖的頻率,我們稱之為系統(tǒng)的主頻率。例如8088CPU的主頻率是5MHz,其時(shí)鐘周期為200ns。一個(gè)基本的總線周期由4個(gè)T狀態(tài)組成,我們分別稱為4個(gè)狀態(tài),在每個(gè)T狀態(tài)下,CPU完成不同的動(dòng)作。四、8086/8088微機(jī)系統(tǒng)的主要操作 8086/8088微機(jī)系統(tǒng),能夠完成的操作有下列幾種主要類型:² 系統(tǒng)的復(fù)位與啟動(dòng)操作;² 暫停操作;² 總線操作;(I/O讀、I/O寫、存貯器讀、存貯器寫)² 中斷操作;² 最小模式下的總線保持;² 最大模式下的總線請(qǐng)求/允許。 典型的8088時(shí)序
29、分析 指令所執(zhí)行的操作,可以分為內(nèi)部操作和外部操作。不同的指令其內(nèi)、外部操作是不相同的,但這些操作可以分解為一個(gè)個(gè)總線操作。即總線操作的不同組合,就構(gòu)成了不同指令的不同操作,而總線操作的類型是有限的,我們?nèi)绻軌蛎鞔_不同種類總線操作的時(shí)序關(guān)系,且可以根據(jù)不同指令的功能,把它們分解為不同總線操作的組合,那么,任何指令的時(shí)序關(guān)系,我們就都可以知道了。一、最小模式下的典型時(shí)序CPU為了與存貯器或I/O端口進(jìn)行一個(gè)字節(jié)的數(shù)據(jù)交換,需要執(zhí)行一次總線操作,按數(shù)據(jù)傳輸?shù)姆较騺矸?,可將總線操作分為讀操作和寫操作兩種類型;按照讀/寫的不同對(duì)象,總線操作又可分為存貯器讀/寫與I/O讀/寫操作,下面我們就最小模式下
30、的總線讀/寫操作時(shí)序,來進(jìn)行具體分析。(1) 最小模式下的總線讀操作時(shí)序一個(gè)最基本的讀周期包含有4個(gè)狀態(tài),即、,必要時(shí)可插入1個(gè)或幾個(gè)。狀態(tài)有效,用來指出本次讀周期是存貯器讀還是I/O讀,它一直保持到有效。地址線信號(hào)有效,高4位通過地址/狀態(tài)線送出,低16位通過地址/數(shù)據(jù)線送出,用來指出操作對(duì)象的地址,即存貯器單元地址或I/O端口地址。ALE有效,在最小模式的系統(tǒng)配置中我們講過,地址信號(hào)通過地址鎖存器8282鎖存,ALE即為8282的鎖存信號(hào),下降沿有效。(對(duì)8088無用)有效,用來表示高8位數(shù)據(jù)總線上的信息有效,現(xiàn)在通過傳送的是有效地址信息,常作為奇地址存貯體的選通信號(hào),因?yàn)槠娴刂反尜A體中的
31、信息總是通過高8位數(shù)據(jù)線來傳輸,而偶地址體的選通則用。當(dāng)系統(tǒng)中配有總線驅(qū)動(dòng)器時(shí),使變低,用來表示本周期為讀周期,并通知總線驅(qū)動(dòng)器接收數(shù)據(jù)()² 狀態(tài)高四位地址/狀態(tài)線送出狀態(tài)信息,。低16位地址/數(shù)據(jù)線浮空,為下面?zhèn)魉蛿?shù)據(jù)準(zhǔn)備。引腳成為(無定義)。有效,表示要對(duì)存貯器/I/O端口進(jìn)行讀。有效,使得總線收發(fā)器(驅(qū)動(dòng)器)可以傳輸數(shù)據(jù)()。² 狀態(tài)從存貯器/I/O端口讀出的數(shù)據(jù)送上數(shù)據(jù)總線(通過)。² 狀態(tài)若存貯器或外設(shè)速度較慢,不能及時(shí)送上數(shù)據(jù)的話,則通過READY線通知CPU,CPU在的前沿(即結(jié)束末的下降沿)檢測(cè)READY,若發(fā)現(xiàn)READY0,則在結(jié)束后自動(dòng)插入1
32、個(gè)或幾個(gè),并在每個(gè)的前沿處檢測(cè)READY,等到READY變高后,則自動(dòng)脫離進(jìn)入。² 狀態(tài)在與(或)的交界處(下降沿),采集數(shù)據(jù),使各控制及狀態(tài)線進(jìn)入無效。二、 最小模式下的總線寫操作時(shí)序 時(shí)序如圖2-6所示,最基本的總線寫周期也包括四個(gè)狀態(tài),必要時(shí)插入。² 狀態(tài)基本上同讀周期,只有此時(shí)為高不是低。² 狀態(tài)圖26總線寫周期時(shí)序與讀周期有兩點(diǎn)不同:變成;不是浮空,而是發(fā)出要寫入存貯器/I/O端口的數(shù)據(jù)。² 狀態(tài)² 狀態(tài)² 狀態(tài)、三個(gè)狀態(tài)同讀周期。已完成CPU存貯器/I/O端口的數(shù)據(jù)傳送,使數(shù)據(jù)線上的數(shù)據(jù)無效,同時(shí),使各控制與狀態(tài)信號(hào)無效。
33、圖2-7 中斷響應(yīng)周期時(shí)序三 中斷響應(yīng)周期(對(duì)可屏蔽中斷)波形圖如圖2-7所示,由兩個(gè)連續(xù)的總線周期所組成。說明:要求INTR信號(hào)是一個(gè)高電平信號(hào),并且維持兩個(gè)T,因?yàn)镃PU在一條指令的最后一個(gè)T采樣INTR,進(jìn)入中斷響應(yīng)后,它在第一個(gè)周期的仍需采樣INTR。在最小模式下,中斷應(yīng)答信號(hào)來自8086的引腳,而在最大模式時(shí),則是通過、的組合由總線控制器產(chǎn)生。第一個(gè)總線周期通過用來通知外設(shè),CPU準(zhǔn)備響應(yīng)中斷,第二個(gè)總線周期通過通知外設(shè)送中斷類型碼,該類型碼通過數(shù)據(jù)總線的低8位傳送,來自中斷源。CPU據(jù)此轉(zhuǎn)入中斷服務(wù)子程序。在中斷響應(yīng)期間,為低,數(shù)據(jù)/地址線浮空,數(shù)據(jù)/狀態(tài)線浮空。在兩個(gè)中斷響應(yīng)周期
34、之間可安排23個(gè)空閑周期(8086)或沒有(8088)。四、 系統(tǒng)的復(fù)位和啟動(dòng)操作(對(duì)最大小模式都一樣)8086/8088的復(fù)位和啟動(dòng)操作,是通過RESET引腳上的觸發(fā)信號(hào)來執(zhí)行的,當(dāng)RESET引腳上有高電平時(shí),CPU就結(jié)束當(dāng)前操作,進(jìn)入初始化(復(fù)位)過程,包括把各內(nèi)部寄存器(除CS)清0,標(biāo)志寄存器清0,指令隊(duì)列清0,將FFFFH送CS。重新啟動(dòng)后,系統(tǒng)從FFFF0H開始執(zhí)行指令。重新啟動(dòng)的動(dòng)作是當(dāng)RESET從高到低跳變時(shí)觸發(fā)CPU內(nèi)部的一個(gè)復(fù)位邏輯電路,經(jīng)過7個(gè)T狀態(tài),CPU即自動(dòng)啟動(dòng)。要注意的是,由于在復(fù)位操作時(shí),標(biāo)志寄存器被清0,因此其中的中斷標(biāo)志IF也被清0,這樣就阻止了所有的可屏蔽
35、中斷請(qǐng)求,都不能響應(yīng),即復(fù)位以后,若需要必需用開中斷指令來重新設(shè)置IF標(biāo)志。圖2-8系統(tǒng)復(fù)位時(shí)序復(fù)位操作的時(shí)序如圖2-8所示,表2-1給出了復(fù)位后寄存器的狀態(tài)。表2-1 復(fù)位后寄存器的狀態(tài)寄存器狀態(tài)寄存器狀態(tài)寄存器狀態(tài)F(PSW)0000HIP0000HCS0FFFFHDS0000HSS0000HES0000H指令隊(duì)列空IF0(禁止)(5) 總線占用周期當(dāng)系統(tǒng)中有其它總線主設(shè)備有總線請(qǐng)求時(shí),向CPU發(fā)總線請(qǐng)求信號(hào)HOLD,HOLD信號(hào)可以與時(shí)鐘信號(hào)異步,則在下一個(gè)時(shí)鐘的上升沿同步HOLD信號(hào)。CPU收到HOLD信號(hào)后,在當(dāng)前總線周期的T4或下一個(gè)總線周期的T1的后沿,輸出保持響應(yīng)信號(hào)HLDA,從下一個(gè)時(shí)鐘周期開始CPU出讓總線控制權(quán),進(jìn)入總線占用周期;DMA傳送結(jié)束,掌握總線控制權(quán)的總線主設(shè)備使HOLD信號(hào)變低,并在接著的下降沿使HLDA信號(hào)變?yōu)闊o效,系統(tǒng)退出總線占用周期。 (6) 總線空操作前面我們?cè)v過,只有在CPU與存貯器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度個(gè)性化定制發(fā)票系統(tǒng)開發(fā)與運(yùn)營(yíng)協(xié)議3篇
- 2025版酒店員工入股與智能化酒店管理系統(tǒng)合作協(xié)議3篇
- 二零二五年度個(gè)人與企業(yè)股權(quán)無償轉(zhuǎn)讓與員工培訓(xùn)協(xié)議3篇
- 二零二五年度信息技術(shù)行業(yè)計(jì)算機(jī)維修保密及服務(wù)協(xié)議2篇
- 二零二五年倉(cāng)儲(chǔ)租賃權(quán)轉(zhuǎn)讓協(xié)議范本3篇
- 2025年度環(huán)境監(jiān)測(cè)與治理安全合作協(xié)議書3篇
- 2024年度影視作品導(dǎo)演雇傭協(xié)議樣本3篇
- 2024旅行社旅游特色小鎮(zhèn)運(yùn)營(yíng)承包經(jīng)營(yíng)合同3篇
- 成都文理學(xué)院《公司與企業(yè)法》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年度文化產(chǎn)業(yè)園區(qū)委托經(jīng)營(yíng)服務(wù)協(xié)議3篇
- 期末測(cè)試卷(一)2024-2025學(xué)年 人教版PEP英語(yǔ)五年級(jí)上冊(cè)(含答案含聽力原文無聽力音頻)
- 2023-2024學(xué)年廣東省深圳市南山區(qū)八年級(jí)(上)期末英語(yǔ)試卷
- 漢服娃衣創(chuàng)意設(shè)計(jì)與制作智慧樹知到期末考試答案章節(jié)答案2024年四川文化產(chǎn)業(yè)職業(yè)學(xué)院
- 廣東省中山市2023-2024學(xué)年四年級(jí)上學(xué)期期末數(shù)學(xué)試卷
- 安裝工程定額講義
- 爛尾樓工程聯(lián)建檢測(cè)與鑒定
- 乒乓球比賽第二階段對(duì)陣圖表
- 機(jī)制砂檢測(cè)報(bào)告
- 省教育廳檢查組接待方案
- 氣動(dòng)潛孔錘施工方案
- 云南省教育科學(xué)規(guī)劃課題開題報(bào)告 - 云南省教育科學(xué)研究院
評(píng)論
0/150
提交評(píng)論