版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章微處理器(目錄)2.1微處理器的硬件結(jié)構(gòu)2.1.1中央處理單元(CPU)的構(gòu)成2.1.2基本功能部件2.1.3微處理器的基本寄存器2.2處理器的總線2.2.1總線的結(jié)構(gòu)2.2.2總線的操作2.3微處理器的基本操作流程2.3.1指令執(zhí)行的基本過程2.3.2微處理器的時(shí)序2.4Intel處理器的結(jié)構(gòu)和原理2.4.180X86處理器的結(jié)構(gòu)
第2章微處理器(目錄)2.4.2Pentium4處理器結(jié)構(gòu)2.4.3微處理器的主要性能指標(biāo)2.5IA-32微處理器相關(guān)技術(shù)術(shù)語2.5.1CISC與RISC2.5.2流水線
2.5.3超流水線和超標(biāo)量2.5.4亂序執(zhí)行2.5.5分支預(yù)測(cè)和推測(cè)執(zhí)行2.5.6Cache2.6IA-32微處理器的工作方式本章小結(jié)習(xí)題第2章微處理器2.1微處理器的硬件結(jié)構(gòu)
從外部封裝形式來看,CPU常常是矩形或正方形的塊狀物,通過眾多的引腳與主板相連。從內(nèi)部來看,CPU是一片大小通常不到1/4英寸的薄薄的硅晶片,其英文名稱為die(核心)。
在這塊小小的硅片上,密布著數(shù)以百萬計(jì)的晶體管,它們好像大腦的神經(jīng)元,相互配合協(xié)調(diào),完成著各種復(fù)雜的運(yùn)算和操作。
2.1.1中央處理單元(CPU)的構(gòu)成
下面我們以Intel的8086CPU(如圖2.1所示)為例,對(duì)CPU的結(jié)構(gòu)做一個(gè)介紹。從功能上來看,8086CPU可以分為兩部分,即總線接口部件(BusInterfaceUnit,BIU)和執(zhí)行部件(ExecutionUnit,EU)。CPU在工作時(shí),BIU不斷地從存儲(chǔ)器取指令送入指令預(yù)取隊(duì)列(IPQ),EU不斷地從IPQ取出指令執(zhí)行,EU和BIU構(gòu)成了一個(gè)簡(jiǎn)單的2工位流水線,其中指令預(yù)取隊(duì)列IPQ是實(shí)現(xiàn)流水線操作的關(guān)鍵(如同流水線的傳送帶)。Pentium及其以后的CPU將一條指令劃分成更多的階段,以便可以同時(shí)執(zhí)行更多的指令。2.1.1中央處理單元(CPU)的構(gòu)成
圖2.1
Intel8086CPU系統(tǒng)結(jié)構(gòu)
2.1.2基本功能部件1、總線接口部件(BusInterfaceUnit,BIU)
總線接口部件負(fù)責(zé)與存儲(chǔ)器、I/O端口傳送數(shù)據(jù)??偩€接口部件將從內(nèi)存中取出的指令送到指令隊(duì)列,并配合執(zhí)行部件從內(nèi)存或外設(shè)端口中取數(shù)據(jù),同時(shí)還要把執(zhí)行完的數(shù)據(jù)結(jié)果送到指定的內(nèi)存單元或外設(shè)端口中。8086的總線接口部件由下列4部分組成:4個(gè)16位段地址寄存器(CS、DS、ES、SS)16位的指令指針寄存器IP
(InstructionPointer)20位的地址加法器6字節(jié)的指令隊(duì)列緩沖器
除了以上提到的4部分外,總線接口部件中還包含總線控制邏輯(輸入/輸出控制電路),它主要功能是分時(shí)傳遞地址信息或數(shù)據(jù)信息。2.1.2基本功能部件2、
執(zhí)行部件(ExecutionUnit,EU)執(zhí)行部件負(fù)責(zé)指令的執(zhí)行,8086CPU的執(zhí)行部件由下列4部分組成:(1)4個(gè)通用寄存器,即AX、BX、CX、DX;(2)4個(gè)專用寄存器,即基數(shù)指針寄存器BP(BasePointer)堆棧指針寄存器SP(StackPointer)源變址寄存器SI(SourceIndex)目的變址寄存器DI(DestinationIndex);(3)標(biāo)志寄存器(又稱作程序狀態(tài)字
PogramStatusWord,簡(jiǎn)記作PSW);(4)算術(shù)邏輯部件ALU(ArithmeticLogicUnit)。執(zhí)行部件的功能如下:(1)從指令隊(duì)列中取出指令。(2)對(duì)指令進(jìn)行譯碼,發(fā)出相應(yīng)的控制信號(hào)。(3)接收由總線接口送來的數(shù)據(jù)或發(fā)送數(shù)據(jù)至接口。(4)進(jìn)行算術(shù)運(yùn)算。2.1.2基本功能部件3、
8086CPU執(zhí)行程序的操作過程8086CPU執(zhí)行程序的操作過程如下:(1)
形成20位的物理地址,并根據(jù)此地址找到程序所在的存儲(chǔ)器單元,從該單元取出指令字節(jié),依次放入指令隊(duì)列中。(2)
當(dāng)8086的指令隊(duì)列中有2個(gè)空字節(jié)時(shí),總線接口部件就會(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.1.3微處理器的基本寄存器早期的8086,8088和80286的內(nèi)部結(jié)構(gòu)為16位(二進(jìn)制位)是圖2.3所示的寄存器組的子集。而對(duì)于80386,80486,Pentium,PentiumPro等CPU的內(nèi)部結(jié)構(gòu)為32位(二進(jìn)制位)的。
微處理器的基本寄存器中包括8、16、32位的三種不同寄存器組,見圖2.3。8位的寄存器有AH、AL、BH、BL、CH、CL、DH和DL等8個(gè),16位寄存器有AX、BX、CX、DX、SP、BP、DI、SI、IP、FLAGS、CS、DS、ES、SS、FS和GS,擴(kuò)展的32位寄存器有EAX、EBX、ECX、EDX、ESP、EBP、EDI、ESI、EIP和EFLAGS。這些寄存器是由它們的字母名稱引用。需要注意的是32位寄存器和兩個(gè)16位寄存器FS、GS只存在于80386及更高級(jí)的微處理器中。
2.1.3微處理器的基本寄存器圖2.38086-PentiumPro
微處理器的基本寄存器
2.1.3微處理器的基本寄存器寄存器分為通用寄存器(或多功能寄存器)和專用寄存器兩種。
1、通用寄存器
32位的通用寄存器包括EAX、EBX、ECX、EDX、EBP、EDI和ESI。下面分別予以說明。EAX(累加器)它可以是一個(gè)32位的寄存器(EAX)、或是一個(gè)16位的寄存器(AX)也可以是一個(gè)8位寄存器AH和AL中的任一個(gè)。EBX(基地址寄存器)可以用EBX、BX、BH或BL的形式訪問。BX寄存器在微處理器中用來保存存儲(chǔ)單的偏移地址,在80386及其以上的微處理器中,EBX也可尋址存儲(chǔ)器數(shù)據(jù)。ECX(計(jì)數(shù)寄存器)可以通過ECX、CX、CH或CL的形式訪問,是可以保存計(jì)數(shù)值的通用寄存器。在80386及其以上的微處理器中,它也可以保存存儲(chǔ)單元的偏移地址。EDX(數(shù)據(jù)寄存器)可以EDX、DX、DH或DL的形式訪問,是一個(gè)通用寄存器,用來存放乘法結(jié)果的—部分或除法執(zhí)行前被除數(shù)的一部分。在80386及其以上的微處理器中,該寄存器也可以尋址存儲(chǔ)器數(shù)據(jù)。
2.1.3微處理器的基本寄存器EBP(基址指針寄存器)可指向所有型號(hào)微處理器的存儲(chǔ)器地址,用來傳送存儲(chǔ)器數(shù)據(jù)。該寄存器可以BP或EBP的形式來訪問。EDI(目的變址寄存器)通常在串操作指令中用來訪問目的串?dāng)?shù)據(jù)。它也可作為一個(gè)32位或16位通用寄存器用。
ESI(源變址寄存器)通常在串操作指令中用來訪問源串?dāng)?shù)據(jù)。它也可作為一個(gè)32位或16位通用寄存器用。2.1.3微處理器的基本寄存器2、
專用寄存器EIP、ESP專用寄存器包括EIP、ESP、EFLAGS和段寄存器CS、DS、ES、SS、FS和GS。下面先介紹一下EIP和ESP。
EIP(指令指針寄存器)存儲(chǔ)指令在代碼段中的偏移地址,通常不能被直接訪問,也不能直接賦值,指令中不會(huì)出現(xiàn)對(duì)指令指針寄存器的操作。當(dāng)微處理器工作在實(shí)方式下時(shí),該寄存器為IP(16位),當(dāng)80386及其以上的微處理器工作于保護(hù)方式時(shí),它為EIP(32位)。ESP(堆棧指針寄存器)用來訪問被稱為堆棧的存儲(chǔ)區(qū)域。堆棧通過這—指針來存取數(shù)據(jù)。該寄存器的16位寄存器形式為SP,32位寄存器形式為ESP。堆棧在微處理器中起著重要的作用,它用于暫存數(shù)據(jù)和過程的返回地址。堆棧是一個(gè)LIFO(Last-inFirst-out后進(jìn)先出)存儲(chǔ)區(qū),后進(jìn)先出是數(shù)據(jù)入棧和出棧的規(guī)則。2.1.3微處理器的基本寄存器3、標(biāo)志寄存器EFLAGS標(biāo)志寄存器EFLAGS是一個(gè)專用的寄存器,在早期的8086-80286微處理器中它的位數(shù)是16位,用FLAGS表示,在80386及更高級(jí)的32位微處理器中,標(biāo)志寄存器是一個(gè)32位的,用EFLAGS表示。標(biāo)志寄存器的作用是用來存放有關(guān)微處理機(jī)工作過程中的狀態(tài)標(biāo)志信息、控制標(biāo)志信息以及系統(tǒng)標(biāo)志信息,各種條件碼(例如進(jìn)位、符號(hào)、溢出)及方式位等信息。寄存器中各位的含義如圖2.4所示。下面將各有效位的意義做一簡(jiǎn)要的說明:(1)CF(CarryFlag)進(jìn)位標(biāo)志位。若CF=1,表示本次運(yùn)算中最高位(第7位或第15位)有進(jìn)位(加法運(yùn)算時(shí))或有借位(減法運(yùn)算時(shí))。
(2)PF(ParityFlag)奇偶標(biāo)志位。PF=1,表示本次運(yùn)算結(jié)果的低八位中有偶數(shù)個(gè)“1”;PF=0,表示有奇數(shù)“1”。2.1.3微處理器的基本寄存器圖2.4標(biāo)志寄存器2.1.3微處理器的基本寄存器(3)AF(AuxiliaryCarryFlag)輔助進(jìn)位標(biāo)志位。AF=1,表示8位運(yùn)算結(jié)果(限使用AL寄存器)中低4位向高4位有進(jìn)位(加法運(yùn)算時(shí))或有借位(減法運(yùn)算時(shí)),這個(gè)標(biāo)志位只在BCD數(shù)運(yùn)算中才起作用。(4)ZF(ZeroFlag)零標(biāo)志位。ZF=1,表示運(yùn)算結(jié)果為0(各位全為0),否則ZF=0。(5)SF(SignFlag)符號(hào)標(biāo)志位。SF=1,表示運(yùn)算結(jié)果的最高位(第7位或第15位)為“1”(有符號(hào)數(shù)的負(fù)數(shù)),否則SF=0。(6)TF(rapflag)陷阱控制標(biāo)志位。陷阱標(biāo)志可使微處理器進(jìn)入跟蹤方式,即進(jìn)入單步調(diào)試狀態(tài);如果T標(biāo)志為1,微處理器可以根據(jù)調(diào)試寄存器和控制寄存器指示的條件中斷程序的執(zhí)行。如果T為0,則不進(jìn)入跟蹤(調(diào)試)方式。(7)IF(InterruptFlag)中斷允許標(biāo)志位。控制輸入引腳INTR的操作。若I=l,INTR信號(hào)被允許;若I=0,則INTR信號(hào)被屏蔽。IF的狀態(tài)由指令STI置位(置1)和指令CLI復(fù)位(清0)。(8)DF(DirectionFlag)方向標(biāo)志位。在串操作指令中,通過方向標(biāo)志可選擇對(duì)DI或SI寄存器內(nèi)容進(jìn)行遞增或遞減方式。若D=1,則寄存器的內(nèi)容自動(dòng)地遞減;若D=0,則寄存器內(nèi)容自動(dòng)地遞增。DF標(biāo)志由STD指令置位,由CLD指令復(fù)位。(9)OF(OverflowFlag)溢出標(biāo)志位。OF=1表示二個(gè)用補(bǔ)碼表示的有符號(hào)數(shù)的加法或減法結(jié)果超出了該字長(zhǎng)所能表示的范圍。例如,進(jìn)行8位運(yùn)算時(shí),OF=1表示運(yùn)算結(jié)果大于+127或小于-128,此時(shí)不能得到正確的運(yùn)算結(jié)果。OF標(biāo)志對(duì)無符號(hào)數(shù)的運(yùn)算結(jié)果沒有意義。2.1.3微處理器的基本寄存器(10)IOPL(I/OPrivilegeLevel)I/O特權(quán)級(jí)標(biāo)志位。在保護(hù)方式操作中使用,用于選擇I/O設(shè)備的特權(quán)級(jí)。如果當(dāng)前特權(quán)級(jí)高于IOPL,I/O指令能順利執(zhí)行。如果當(dāng)前特權(quán)級(jí)低于IOPL,則產(chǎn)生中斷,使任務(wù)掛起。注意,這里IOPL=00為最高級(jí),IOPL=11為最低級(jí)。(11)NT(NestedTask)嵌套標(biāo)志位。嵌套標(biāo)志表示在保護(hù)方式下,當(dāng)前執(zhí)行的任務(wù)嵌套于另一任務(wù)中。當(dāng)一個(gè)任務(wù)被軟件嵌套時(shí),該標(biāo)志置1?;謴?fù)標(biāo)志與調(diào)試操作一起使用.用于控制在下一條指令后,恢復(fù)程序的運(yùn)行。(12)VM(VirtualMode)虛擬8086方式標(biāo)志位。用來在保護(hù)方式系統(tǒng)中選擇虛擬8086方式,一個(gè)虛擬8086系統(tǒng)允許在存儲(chǔ)器系統(tǒng)中同時(shí)存在多個(gè)1MB的DOS存儲(chǔ)器分區(qū)。這就允許系統(tǒng)執(zhí)行多個(gè)DOS程序。2.1.3微處理器的基本寄存器(13)AC(AlignmentCheckt)地址對(duì)齊檢測(cè)標(biāo)志位。當(dāng)訪問字或雙字時(shí),如果地址不處在字或雙字的邊界上,則地址對(duì)齊撿測(cè)標(biāo)志置1。只有80486SXCPU中含有AC標(biāo)志,該標(biāo)志供協(xié)處理器80487SX使用,用于同步。(14)VIF(VirtualInterruptFlag)虛擬中斷標(biāo)志位。該標(biāo)志只存在于Pentium/Pentiumpro微處理器中,它是中斷允許標(biāo)志的復(fù)本。(15)VIP(VirtualInterruptPending)虛擬中斷掛起標(biāo)志位。用于在Pentium/Pentiumpro微處理器中提供有關(guān)虛擬8086方式中斷的信息。它在多任務(wù)環(huán)境下為操作系統(tǒng)提供虛擬8086方式中斷和中斷掛起信息。(16)ID(Identification)CPU的標(biāo)識(shí)標(biāo)志位。表示Pentium/Pentiumpro支持CPUID指令。CPUID指令為系統(tǒng)提供廠有關(guān)Pentium處理器的信息,如其型號(hào)及制造商。
2.1.3微處理器的基本寄存器4、段寄存器編程時(shí),程序和各種不同類型的數(shù)據(jù)分別存放在不同的邏輯段中,它們的“段基址”存放在“段寄存器”中,段內(nèi)的偏移地址存放在其他相應(yīng)的寄存器中。下面給出了各個(gè)段寄存器及其在系統(tǒng)中的功能。
(1)CS(code)代碼段寄存器。代碼段是微處理器用來存放代碼(程序和過程)的—段存儲(chǔ)區(qū)域。代碼段寄存器定義了代碼段存儲(chǔ)區(qū)的起始地址。(2)DS(data)數(shù)據(jù)段寄存器。數(shù)據(jù)段是一段存放供程序使用的數(shù)據(jù)的存儲(chǔ)區(qū)。數(shù)據(jù)段中的數(shù)據(jù)根據(jù)其偏移地址來訪問。(3)ES(extra)附加段寄存器。附加段是一個(gè)附加的數(shù)據(jù)段,供串操作指令用來存放目的串?dāng)?shù)據(jù)。(4)SS(stack)堆棧段寄存器。堆棧段定義了一個(gè)用作堆棧的存儲(chǔ)區(qū)。堆棧段當(dāng)前的入口地址由堆棧指針寄存器(SP)確定。2.2處理器的總線
處理器的總線稱作片內(nèi)總線是,指的是在微處理機(jī)芯片內(nèi)部的總線,它是專門用來連接各功能部件的信息通路。
2.2.1總線的結(jié)構(gòu)1、
總線標(biāo)準(zhǔn)的四個(gè)特性物理特性功能特性電器特性時(shí)間特性
2、總線分類片內(nèi)總線根據(jù)其功能可以分為地址總線、數(shù)據(jù)總線和控制總線。地址總線數(shù)據(jù)總線控制總線2.2處理器的總線
2.2.2總線的操作
微處理機(jī)系統(tǒng)中的各種操作,包括從CPU把數(shù)據(jù)寫入存儲(chǔ)器、從存儲(chǔ)器把數(shù)據(jù)讀到CPU、從CPU把數(shù)據(jù)寫入輸出端口、從輸出端口把數(shù)據(jù)讀到CPU、CPU中斷操作、直接存儲(chǔ)器存取操作、CPU內(nèi)部寄存器操作等,本質(zhì)上都是通過總線進(jìn)行的信息交換,統(tǒng)稱為總線操作。
為完成一個(gè)總線操作周期,一般要分成4個(gè)階段:總線請(qǐng)求和仲裁(BusRequestandArbitration)階段尋址(Addressing)階段數(shù)據(jù)傳送(DataTransfering)階段結(jié)束(Ending)階段2.3微處理器的基本操作流程
2.3.1指令執(zhí)行的基本過程
如圖2.5所示,計(jì)算機(jī)指令執(zhí)行的基本過程一般按照以下步驟進(jìn)行:取指令,從指令指針?biāo)傅膬?nèi)存單元中取出一條指令送到指令寄存器。譯碼,對(duì)指令進(jìn)行譯碼,并且對(duì)指令指針進(jìn)行增值,以便取得下一條指令。取操作數(shù),根據(jù)指令要求到內(nèi)存單元或寄存器中取得操作數(shù),對(duì)某些特定指令不需要取操作數(shù)這一步驟。執(zhí)行指令,依據(jù)指令的要求完成相應(yīng)的運(yùn)算,如果執(zhí)行的是轉(zhuǎn)移指令、調(diào)用指令或者返回指令,則重新設(shè)置指令指針的值,以便取得下一條要執(zhí)行的指令。存結(jié)果,將運(yùn)算的結(jié)果進(jìn)行保存,此結(jié)果既包括操作數(shù)的運(yùn)算結(jié)果,也包括相應(yīng)的指令執(zhí)行狀態(tài)信息。2.3微處理器的基本操作流程圖2.5指令執(zhí)行的基本過程2.3.2微處理器的時(shí)序
微處理器的各種不同操作的實(shí)現(xiàn)都是在時(shí)鐘信號(hào)的同步控制下,按時(shí)序一步一步進(jìn)行的。因此,時(shí)序是反映微處理器功能特性的一個(gè)重要方面??偩€時(shí)序基本概念(1)時(shí)鐘周期、總線周期及指令周期CPU的操作都是在系統(tǒng)時(shí)鐘CLK的控制下按節(jié)拍有序地進(jìn)行的。系統(tǒng)時(shí)鐘一個(gè)周期信號(hào)所持續(xù)的時(shí)間稱為時(shí)鐘周期(T),大小等于頻率的倒數(shù),是CPU的基本時(shí)間計(jì)量單位。CPU與存儲(chǔ)器或I/O接口交換信息是通過總線進(jìn)行的。CPU通過總線完成一次訪問存儲(chǔ)器或I/O接口操作所需要的時(shí)間,稱為總線周期(buscycle)。一個(gè)總線周期由多個(gè)時(shí)鐘周期(T)組成。對(duì)于不同型號(hào)的微處理器,一個(gè)總線周期所包含的時(shí)鐘周期數(shù)并不相同。2.3.2微處理器的時(shí)序(2)等待狀態(tài)和空閑狀態(tài)
通過一個(gè)總線周期完成一次數(shù)據(jù)傳送,一般要有輸出地址和傳送數(shù)據(jù)兩個(gè)基本過程。在實(shí)際應(yīng)用中,當(dāng)一些慢速設(shè)備在T2、T3、T4三個(gè)時(shí)鐘周期內(nèi)不能完成數(shù)據(jù)讀寫時(shí),那么總線就不能被系統(tǒng)正確使用。為此,允許在總線周期中插入用以延長(zhǎng)總線周期的T狀態(tài),稱為“等待狀態(tài)”(Tw)。另外,如果在一個(gè)總線周期后不立即執(zhí)行下一個(gè)總線周期,即總線上無數(shù)據(jù)傳輸操作,此時(shí)總線則處于所謂“空閑狀態(tài)”,在這期間,CPU執(zhí)行空閑周期Ti,Ti也以時(shí)鐘周期T為單位。圖2.6給出了8086CPU的總線周期及其“等待狀態(tài)”和“空閑狀態(tài)”的情況。圖2.6等待狀態(tài)和空閑狀態(tài)2.3.2微處理器的時(shí)序基本的總線時(shí)序
總線操作按數(shù)據(jù)傳送方向可分為總線讀操作和總線寫操作。前者是指CPU從存儲(chǔ)單元或I/O端口中讀取數(shù)據(jù),后者是指CPU將數(shù)據(jù)寫入指定存儲(chǔ)單元或I/O端口。(1)簡(jiǎn)化的8086讀總線周期
若要從存儲(chǔ)器讀出數(shù)據(jù),則微處理器首先在地址總線上輸出所讀存儲(chǔ)單元的地址,接著發(fā)出一個(gè)讀命令信號(hào)(RD)給存儲(chǔ)器,經(jīng)過一定時(shí)間(時(shí)間的長(zhǎng)短取決于存儲(chǔ)器的工作速度),數(shù)據(jù)被讀出到數(shù)據(jù)總線上,然后微處理器通過數(shù)據(jù)總線將數(shù)據(jù)接收到它的內(nèi)部寄存器中。一個(gè)簡(jiǎn)化的8086讀總線周期時(shí)序如圖2.7所示。
在總線讀周期中,CPU在T1狀態(tài)送出地址及相關(guān)信號(hào);T2發(fā)出讀命令和總線驅(qū)動(dòng)器8286控制命令;在T3、Tw
等待數(shù)據(jù)的出現(xiàn);在T4狀態(tài)將數(shù)據(jù)讀入CPU。2.3.2微處理器的時(shí)序圖2.7簡(jiǎn)化的8086讀總線周期時(shí)序2.3.2微處理器的時(shí)序(2)簡(jiǎn)化的8086寫總線周期
8086/8088的寫總線周期與讀總線周期有很多相似之處,基本寫周期也包含4個(gè)狀態(tài)T1,T2,T3和T4。當(dāng)存儲(chǔ)器或I/O設(shè)備速度較慢時(shí),在T3和T4之間插入1個(gè)或多個(gè)等待狀態(tài)Tw。為了把數(shù)據(jù)寫入存儲(chǔ)器,微處理器首先要把欲寫入數(shù)據(jù)的存儲(chǔ)單元的地址輸出到地址總線上,然后把要寫入存儲(chǔ)器的數(shù)據(jù)放在數(shù)據(jù)總線上,同時(shí)發(fā)出一個(gè)寫命令信號(hào)(WR)給存儲(chǔ)器。一個(gè)簡(jiǎn)化的8086寫總線周期時(shí)序如圖2.8所示。2.3.2微處理器的時(shí)序圖2.8簡(jiǎn)化的8086寫總線周期時(shí)序2.3.2微處理器的時(shí)序
8086CPU的總線操作有以下幾點(diǎn)特征:8086的一個(gè)總線周期包含4個(gè)時(shí)鐘周期(即T1、T2、T3和T4);8086采用地址和數(shù)據(jù)總線復(fù)用技術(shù),即在一組復(fù)用的“地址/數(shù)據(jù)”總線上,先傳送地址信息(T1期間),然后傳送數(shù)據(jù)信息(T2、T3、T4期間),從而可以減少微處理器的引腳。最大模式下,8086的總線讀寫操作在邏輯上和最小模式下的讀寫操作是一樣的,但在分析操作時(shí)序時(shí)有所不同。最大模式下應(yīng)考慮總線控制器8288產(chǎn)生的一些控制信號(hào)的作用。2.4Intel處理器的結(jié)構(gòu)和原理Intel公司后來開發(fā)的80x86系列CPU在8088/8086的基礎(chǔ)上各方面的技術(shù)和性能又有了很大的提高和改進(jìn)。2.4.180X86處理器的結(jié)構(gòu)1、Intel80286CPU 1982年1月Intel公司推出的80286CPU是比8086/8088更先進(jìn)的16位微處理器芯片,其特征是內(nèi)部操作和寄存器都是16位的,內(nèi)部功能結(jié)構(gòu)見圖2.9。該芯片集成了13.5萬個(gè)晶體管,采用68引線4列直插式封裝。80286不再使用分時(shí)復(fù)用地址/數(shù)據(jù)引腳,具有獨(dú)立的16條數(shù)據(jù)線D15D0和24條地址線A23A0。2.4.180X86處理器的結(jié)構(gòu)圖2.9
Intel
80286功能結(jié)構(gòu)2.4.180X86處理器的結(jié)構(gòu)2、Intel80386CPU 1985年Intel公司推出了與8086/8088、80286兼容,具有的高性能32位微處理器80386,見圖2.10。該處理器芯片以132條引線網(wǎng)絡(luò)陣列式封裝,其中數(shù)據(jù)引腳和地址引腳各32條,時(shí)鐘頻率為12.5MHz及16MHz。
Intel80386微處理器的主要特點(diǎn)如下:采用全32位結(jié)構(gòu),其內(nèi)部寄存器、ALU等都是32位,數(shù)據(jù)線和地址線也均為32位提供32位外部總線接口,最大數(shù)據(jù)傳輸率為32MB/s,具有自動(dòng)切換數(shù)據(jù)總線寬度的功能具有片內(nèi)集成的存儲(chǔ)器管理部件MMU,可支持虛擬存儲(chǔ)和特權(quán)保護(hù),虛擬存儲(chǔ)器空間可達(dá)64太字節(jié)(TB)具有實(shí)地址方式、保護(hù)方式和虛擬8086方式3種工作方式采用了比8086更先進(jìn)的流水線結(jié)構(gòu),使其能高效、并行地完成取指、譯碼、執(zhí)行和存儲(chǔ)管理功能(指令隊(duì)列16字節(jié)長(zhǎng))2.4.180X86處理器的結(jié)構(gòu)圖2.10
Intel
80386功能結(jié)構(gòu)2.4.180X86處理器的結(jié)構(gòu)
圖2.11給出了Intel80386微處理器包括的6個(gè)功能部件:分段部件SU分頁(yè)部件PU執(zhí)行部件EU預(yù)取部件IPU譯碼部件IDU總線部件BIU線性地址譯碼指令數(shù)據(jù)(操作和結(jié)果)有效地址物理地址32位指令字節(jié)指令圖2.11Intel80386的6個(gè)功能部件2.4.180X86處理器的結(jié)構(gòu)
Intel80386微處理器包括的6個(gè)功能部件:(1)總線接口部件(BIU) BIU是微處理器與系統(tǒng)的接口,在取指令、取數(shù)據(jù)、分段部件請(qǐng)求和分頁(yè)部件請(qǐng)求時(shí),能有效地滿足微處理器對(duì)外部總線的傳輸要求。
(2)指令預(yù)取部件(IPU) IPU的功能是從存儲(chǔ)器預(yù)先取出指令,它有一個(gè)能容納16條指令的隊(duì)列。
(3)指令譯碼部件(IDU) IDU的功能是從預(yù)取部件的指令隊(duì)列中取出指令字節(jié),對(duì)它們進(jìn)行譯碼后存入自身的已譯碼指令隊(duì)列中,并且作好供執(zhí)行部件處理的準(zhǔn)備工作。
(4)指令執(zhí)行部件(EU) EU由控制部件、數(shù)據(jù)處理部件和保護(hù)測(cè)試部件組成。EU負(fù)責(zé)執(zhí)行指令。
(5)分段部件(SU)
分段部件的作用是應(yīng)執(zhí)行部件的請(qǐng)求,把邏輯地址轉(zhuǎn)換成線性地址。
(6)分頁(yè)部件(PU)
分頁(yè)部件的作用是把由分段部件產(chǎn)生的線性地址轉(zhuǎn)換成物理地址。2.4.180X86處理器的結(jié)構(gòu)3、Intel80486CPU
80486是Intel公司1990年推出的第二代32位微處理器,內(nèi)部結(jié)構(gòu)見圖2.12。80486CPU使用1微米的制造工藝,在芯片內(nèi)部集成了120萬個(gè)晶體管,其數(shù)目是80386的4倍以上。Intel80486微處理器數(shù)據(jù)線和地址線均為32條,168個(gè)引腳的網(wǎng)絡(luò)陣列式封裝
從內(nèi)部結(jié)構(gòu)組成上看,80486微處理器是由提高了效率的80386微處理器、增強(qiáng)了性能的80387數(shù)值協(xié)同處理器、一個(gè)完整的片內(nèi)Cache及其控制器組合而成。從程序設(shè)計(jì)角度看,其體系結(jié)構(gòu)與80386相比幾乎沒有變化,可以說是對(duì)80386的照搬。
80486CPU芯片內(nèi)較之80386增加了了三個(gè)新的部件,它們分別是浮點(diǎn)部件FPU、控制和保護(hù)部件和Cache部件。同時(shí)還新增6條80386沒有的指令。2.4.180X86處理器的結(jié)構(gòu)
圖2.12
Intel
80486內(nèi)部結(jié)構(gòu)2.4.180X86處理器的結(jié)構(gòu)
80486微處理器的微體系結(jié)構(gòu)包括有9個(gè)功能部件,它們分別是:總線接口部件。片內(nèi)高速緩沖存儲(chǔ)器Cache。指令預(yù)取部件。指令譯碼部件??刂撇考?。整數(shù)運(yùn)算和數(shù)據(jù)通路。浮點(diǎn)部件。分段部件。分頁(yè)部件。2.4.180X86處理器的結(jié)構(gòu)80486微處理器的寄存器種類可分為以下幾種:(1)基本體系結(jié)構(gòu)寄存器。其中包括以下4種: ①通用寄存器
②指令指針寄存器
③標(biāo)志寄存器
④段寄存器(2)系統(tǒng)級(jí)寄存器,包括以下2種:
①控制寄存器
②系統(tǒng)地址寄存器(3)浮點(diǎn)寄存器,其中包括以下5種:
①數(shù)據(jù)寄存器②標(biāo)記字寄存器③狀態(tài)字寄存器
④指令和數(shù)據(jù)指針寄存器⑤控制字寄存器(4)調(diào)試和測(cè)試寄存器2.4.180X86處理器的結(jié)構(gòu)
4、IntelPentiumCPU IntelPentiumCPU是Intel公司1993年推出的第5代微處理器芯片。該芯片內(nèi)部集成了310萬個(gè)晶體管,有64條數(shù)據(jù)線和36條地址線。PentiumCPU采用了新的體系結(jié)構(gòu),其具有兩條流水線,這兩條流水線與浮點(diǎn)部件能夠獨(dú)立工作。PentiumCPU內(nèi)部有兩個(gè)超高速緩沖存儲(chǔ)器(Cache)。一個(gè)是指令超高速緩沖存儲(chǔ)器,另一個(gè)是數(shù)據(jù)超高速緩沖存儲(chǔ)器,這比只有一個(gè)指令與數(shù)據(jù)合用的超高速緩沖存儲(chǔ)器的80486更為先進(jìn)。Pentium微處理器的原理結(jié)構(gòu)圖如圖2.13所示。2.4.180X86處理器的結(jié)構(gòu)
圖2.13
Pentium
CPU原理結(jié)構(gòu)圖2.4.180X86處理器的結(jié)構(gòu) PentiumCPU內(nèi)部的主要部件有:總線接口部件U流水線和V流水線指令高速緩沖存儲(chǔ)器Cache數(shù)據(jù)高速緩沖存儲(chǔ)器Cache指令預(yù)取部件指令譯碼器浮點(diǎn)處理部件FPU分支目標(biāo)緩沖器BTB微程序控制器中的控制ROM寄存器組2.4.180X86處理器的結(jié)構(gòu)
Pentium的寄存器可以分為三組:基本寄存器組:
包括通用寄存器、指令寄存器、標(biāo)示寄存器以及段寄存器;系統(tǒng)寄存器組:
包括系統(tǒng)地址寄存器、控制寄存器;浮點(diǎn)部件寄存器組:
包括數(shù)據(jù)寄存器堆、控制寄存器、狀態(tài)寄存器、指令指針寄存器和數(shù)據(jù)指針寄存器以及標(biāo)記字寄存器。
Pentium處理器的虛擬存儲(chǔ)器(VirtualStorage)技術(shù)、高速緩存(Cache)技術(shù)以及超標(biāo)量流水線技術(shù)是現(xiàn)代微型計(jì)算機(jī)系統(tǒng)的三大支柱。2.4.2Pentium4處理器結(jié)構(gòu)
Pentium4處理器是一個(gè)在Pentium處理器基礎(chǔ)上完全重新設(shè)計(jì)的處理器。它擁有很多改進(jìn)了的革新特性的新技術(shù)和性能,比如“亂序推測(cè)執(zhí)行”和“超標(biāo)量執(zhí)行”等。很多這種新的革新和改進(jìn)使得處理器技術(shù)、處理技術(shù)和以前不能在高容量中實(shí)現(xiàn)的電路設(shè)計(jì)、可制造方法等方面的改進(jìn)成為可能。
圖2.14給出了使用了NetBurst(網(wǎng)際爆發(fā))微結(jié)構(gòu)的Pentium4處理器的內(nèi)部結(jié)構(gòu)原理。NetBurst結(jié)構(gòu)具有不少明顯的優(yōu)點(diǎn),包括20段的超級(jí)流水線、高效的亂序執(zhí)行功能、2倍速的ALU、新型的片上緩存、SSE2指令擴(kuò)展集和400MHz的前端總線等等。2.4.2Pentium4處理器結(jié)構(gòu)圖
2.14
Pentium4
CPU微結(jié)構(gòu)圖2.4.2Pentium4處理器結(jié)構(gòu)Pentium4處理器的主要部件和工作特性:
BTB(BranchTargetBuffer)分支目標(biāo)緩存μOP(Micro-Operation)微指令或微操作AGU(AddressGenerationUnit)地址生成單元ALU算術(shù)邏輯單元InstructionTLB指令轉(zhuǎn)換旁視緩沖存儲(chǔ)器InstructionDecoder指令譯碼器TraceCache追蹤緩存Registerrenaming寄存器重命名2.4.2Pentium4處理器結(jié)構(gòu)Pentium4處理器的主要部件和工作特性:(續(xù))μOPQueues和Schedulers(微操作隊(duì)列和調(diào)度)SSE2(StreamingSIMDExtension)數(shù)據(jù)流單指令多數(shù)據(jù)擴(kuò)展2前端總線采用了QDR(QuadDataRate)技術(shù)先進(jìn)的亂序推測(cè)執(zhí)行動(dòng)態(tài)引擎時(shí)鐘頻率(ALU的頻率、CPU的主頻和流水線頻率、追蹤緩存頻率)2.4.3微處理器的主要性能指標(biāo)1、主頻、倍頻和外頻 一般來說CPU的頻率可分為主頻、倍頻和外頻。主頻也稱做CPU的時(shí)鐘頻率,簡(jiǎn)單地說也就是CPU運(yùn)算時(shí)的工作頻率。外頻指的是系統(tǒng)總線的工作頻率;倍頻則是指CPU外頻與主頻相差的倍數(shù)。三者是有十分密切的關(guān)系:主頻=外頻×倍頻。
2、前端總線(FSB)頻率
前端總線(FSB)頻率(即總線頻率)直接影響CPU與內(nèi)存之間數(shù)據(jù)交換的速度。數(shù)據(jù)傳輸率最大值取決于所有同時(shí)傳輸?shù)臄?shù)據(jù)的寬度和傳輸頻率,即數(shù)據(jù)傳輸率=(總線頻率×數(shù)據(jù)帶寬)/8。例如,有一個(gè)64位的CPU,其前端總線頻率是800MHz,按照公式計(jì)算,它的數(shù)據(jù)傳輸率最大值是6.4GB/秒。2.4.3微處理器的主要性能指標(biāo)3、CPU的字長(zhǎng) 通常我們把CPU在單位時(shí)間內(nèi)(同一時(shí)間)能一次處理的二進(jìn)制數(shù)的位數(shù)叫字長(zhǎng)。所以,能處理字長(zhǎng)為8位數(shù)據(jù)的CPU通常就叫8位的CPU。同理32位的CPU就能在單位時(shí)間內(nèi)處理字長(zhǎng)為32位的二進(jìn)制數(shù)據(jù)。字長(zhǎng)的長(zhǎng)度是不固定的,對(duì)于不同的CPU、字長(zhǎng)的長(zhǎng)度也不一樣。4、工作電壓
CPU工作電壓指的是CPU正常工作所需要的供電電壓。早期的CPU(Intel80286~I(xiàn)ntel80486)工作電壓一般為5V。由于CPU制造工藝相對(duì)落后,CPU工作時(shí)發(fā)熱量太大,以致于大大縮短了CPU的使用壽命。隨著CPU的制造工藝與主頻的提高,為了解決發(fā)熱過高的問題目前CPU的工作電壓有逐步下降的趨勢(shì)。2.4.3微處理器的主要性能指標(biāo)5、總線寬度
總線寬度主要包括地址總線寬度和數(shù)據(jù)總線寬度。地址總線寬度決定了CPU可以訪問的物理內(nèi)存地址空間,簡(jiǎn)單地說就是CPU到底能夠使用多大容量的內(nèi)存。對(duì)于386以上的微機(jī)系統(tǒng),地址線的寬度為32位,所以最多可以直接訪問232=4096
MB(4GB)的物理空間。6、協(xié)處理器 由于Intel8088、80286和80386CPU的浮點(diǎn)運(yùn)算性能都相當(dāng)落后,為了增強(qiáng)CPU的浮點(diǎn)運(yùn)算的功能,在對(duì)應(yīng)的主板上可以另外加一個(gè)外置的協(xié)處理器,協(xié)處理器主要的功能就是負(fù)責(zé)浮點(diǎn)運(yùn)算。自80486以后,CPU一般都內(nèi)置了協(xié)處理器,協(xié)處理器的功能也不再局限于增強(qiáng)浮點(diǎn)運(yùn)算,含有內(nèi)置協(xié)處理器的CPU,可以增強(qiáng)特定類型的數(shù)值計(jì)算能力。7、超標(biāo)量
在Intel486以下的CPU內(nèi)執(zhí)行一條指令至少需要一個(gè)或一個(gè)以上的時(shí)鐘周期。但是,Pentium及其以上的CPU在一個(gè)時(shí)鐘周期內(nèi)可以執(zhí)行一條以上的指令,這種結(jié)構(gòu)叫做超標(biāo)量結(jié)構(gòu)。2.4.3微處理器的主要性能指標(biāo)8、高速緩存(CACHE) 高速緩沖存儲(chǔ)器一般是由靜態(tài)RAM組成,其結(jié)構(gòu)較復(fù)雜,在CPU里面內(nèi)置了高速緩存可以大大提高CPU的運(yùn)行效率。內(nèi)置高速緩存的容量和結(jié)構(gòu)對(duì)CPU的性能影響較大,一般高速緩存容量越大,CPU性能也相對(duì)會(huì)提高。但是由于受CPU芯片面積和結(jié)構(gòu)的限制,以及對(duì)CPU命中率的影響,高速緩存的容量不可能做得太大。9、制造工藝
CPU的制造工藝是指IC(集成電路)內(nèi)電路與電路之間的距離,其趨勢(shì)是向密集度愈高的方向發(fā)展。密度愈高的IC電路設(shè)計(jì),意味著在同樣大小面積的IC中,可以擁有密度更高、功能更復(fù)雜的電路設(shè)計(jì),也就是包含更多的器件。現(xiàn)在主要的制造工藝有180nm、130nm、90nm和65nm等幾種。2.5IA-32微處理器相關(guān)技術(shù)術(shù)語在了解IA-32架構(gòu)的微處理器時(shí)我們會(huì)接觸許多相關(guān)技術(shù)術(shù)語,下面我們就其中的常見部分做簡(jiǎn)單說明。
2.5.1CISC與RISC
CPU依靠指令來計(jì)算和控制系統(tǒng),CPU在設(shè)計(jì)時(shí)就規(guī)定了一系列與其硬件電路相配合的指令系統(tǒng)。指令的強(qiáng)弱是CPU的重要指標(biāo),指令集是提高微處理器效率的最有效工具之一。從現(xiàn)階段CPU的主流體系結(jié)構(gòu)來講,指令集可分為復(fù)雜指令集(CISC)和精簡(jiǎn)指令集(RISC)兩部分。
1、復(fù)雜指令集(CISC)
CISC指令集,也稱為復(fù)雜指令集,是英文ComplexInstructionSetComputer的縮寫。在CISC微處理器中,程序的各條指令是按順序串行執(zhí)行的,每條指令中的各個(gè)操作也是按順序串行執(zhí)行的。優(yōu)點(diǎn)是控制簡(jiǎn)單,但計(jì)算機(jī)各部分的利用率不高,執(zhí)行速度慢。2.5IA-32微處理器相關(guān)技術(shù)術(shù)語2、精簡(jiǎn)指令集(RISC)
RISC的基本思想是:根據(jù)CISC的指令種類太多、指令格式不規(guī)范、尋址方式太多的缺點(diǎn),可以通過減少指令種類、規(guī)范指令格式和簡(jiǎn)化尋址方式,方便處理器內(nèi)部的并行處理,提高VLSI器件的使用效率,從而大幅度地提高處理器的性能。
2.5.2流水線
流水線(pipeline)方式是把一個(gè)重復(fù)的過程分解為若干子過程,每個(gè)子過程可以與其他子過程并行進(jìn)行的工作方式。采用流水線技術(shù)設(shè)計(jì)的微處理器,把每條指令分為若干個(gè)順序的操作(如取指、譯碼、執(zhí)行等),每個(gè)操作分別由不同的處理部件(如取指部件、譯碼部件、執(zhí)行部件等)來完成。2.5.2流水線
圖2.15
表示了把指令劃分為五個(gè)操作步驟并由處理器中五個(gè)處理部件分別處理時(shí)的流水線工作情形。由于流水線中的各個(gè)處理部件可并行工作,從而可使整個(gè)程序的執(zhí)行時(shí)間大大縮短。圖2.15
流水線工作示意圖2.5.3超流水線和超標(biāo)量超標(biāo)量是通過內(nèi)置多條流水線來同時(shí)執(zhí)行多個(gè)處理器,其實(shí)質(zhì)是以空間換取時(shí)間。超流水線是通過細(xì)化流水、提高主頻,使得在一個(gè)機(jī)器周期內(nèi)完成一個(gè)甚至多個(gè)操作,其實(shí)質(zhì)是以時(shí)間換取空間。
1.從流水線的時(shí)空角度上看:超標(biāo)量處理器采用的是空間并行性;超流水線處理器采用的是時(shí)間并行性。
2.從超大規(guī)模集成電路(VLSI)的實(shí)現(xiàn)工藝來看:
超標(biāo)量處理器能夠更好地適應(yīng)VLSI
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 加盟合作協(xié)議合同范本
- 建筑木方工地采購(gòu)合同范本
- 勞動(dòng)附屬合同范本
- 公司換部門合同范本
- 年度渦輪機(jī)葉片表面改性材料競(jìng)爭(zhēng)策略分析報(bào)告
- 年度特種用途鋼絲及鋼絲繩競(jìng)爭(zhēng)策略分析報(bào)告
- 2025屆云南省昆明市官渡區(qū)六校物理高二上期末考試試題含解析
- 河南省許平汝九校聯(lián)盟2025屆物理高一第一學(xué)期期中學(xué)業(yè)水平測(cè)試試題含解析
- 江蘇省鹽城市濱??h蔡橋初級(jí)中學(xué)等三校2025屆物理高二第一學(xué)期期末復(fù)習(xí)檢測(cè)模擬試題含解析
- 黑龍江省重點(diǎn)中學(xué)2025屆物理高一上期中綜合測(cè)試模擬試題含解析
- 醫(yī)院優(yōu)質(zhì)服務(wù)考核表
- 東北大學(xué)考試《結(jié)構(gòu)力學(xué)ⅠX》考核作業(yè)參考324
- 《鄉(xiāng)土中國(guó)》之《名實(shí)的分離》-統(tǒng)編版高中語文必修上冊(cè)
- 戶外廣告牌施工方案53621
- 反假貨幣-外幣理論考試題庫(kù)(含答案)
- 幼兒園、中小學(xué)、病愈復(fù)課證明
- 檢驗(yàn)科生化項(xiàng)目臨床意義培訓(xùn)課件
- APQP產(chǎn)品先期策劃計(jì)劃流程圖
- 危險(xiǎn)化學(xué)品MSDS氨水(12%)
- 上海音樂出版社三年級(jí)上冊(cè)音樂教案全冊(cè)
- Q∕SY 02625.1-2018 油氣水井帶壓作業(yè)技術(shù)規(guī)范 第1部分:設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論