




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
匯編語言程序設(shè)計
(第二章)遼寧石油化工大學(xué)計算機與通信工程學(xué)院主講:王曉虹
第2章IBM_PC計算機系統(tǒng)結(jié)構(gòu)
◆
Intel8086微處理器的功能結(jié)構(gòu)
◆存儲器
◆堆棧(Stack)
◆Intel80486和Pentium微處理器的
結(jié)構(gòu)及存儲管理
一、Intel8086微處理器的主要特性
數(shù)據(jù)線——16位。地址線——20位,其中低16位與數(shù)據(jù)總線復(fù)用。內(nèi)存空間——20位地址線可直接尋址1MB存儲空間。尋址方式——7種尋址方式提供了靈活的操作數(shù)存取方法。
指令系統(tǒng)——99條基本指令,能完成數(shù)據(jù)傳送、算術(shù)運算、邏輯運算、控制轉(zhuǎn)移和處理器控制功能等。
時鐘頻率——8086標準主頻為5MHz,8086-2主頻為8MHz。
中斷功能——可處理內(nèi)部軟件中斷和外部硬件中斷,中斷源多達256個。
工作模式——支持單處理器、多處理器系統(tǒng)工作。
兼容性——與8080、8085在源程序一級兼容。
2.1Intel8086微處理器的功能結(jié)構(gòu)
二、Intel8086微處理器的功能結(jié)構(gòu)
一個典型的微處理器基本結(jié)構(gòu),一般由算術(shù)邏輯單元、寄存器組和指令處理單元等部分組成。2.寄存器陣列-寄存器陣列是微處理器的重要組成部分,可以存放數(shù)據(jù)和地址。-寄存器位數(shù)一般與微處理器片內(nèi)總線的寬度是一致的,但也有些寄存器是片內(nèi)總線寬度的兩倍。-微處理器內(nèi)部寄存器的數(shù)量與類型視具體的微處理器而定。一般包括通用寄存器、累加器、標志寄存器和專用寄存器(如:程序計數(shù)器PC、堆棧指示器SP、變址寄存器、地址寄存器)1.算術(shù)邏輯部件
算術(shù)邏輯部件(ALU)由全加器組成。它的主要任務(wù)是執(zhí)行算術(shù)運算、邏輯運算及移位等操作。ALU有兩個輸入端和兩個輸出端。(1)通用寄存器組
通用寄存器可以存放數(shù)據(jù)和地址。這類寄存器的作用并不做預(yù)先規(guī)定,故稱之為通用寄存器組。(2)累加器
它也是數(shù)據(jù)寄存器。累加器往往與ALU單元一起完成各種算術(shù)或邏輯運算。運算前,作為運算器的一個輸入,運算后它常用來保存運算結(jié)果。(3)標志寄存器
進行算術(shù)運算或邏輯運算時,可能會發(fā)生進位、溢出、全零、符號及奇偶性等狀態(tài)的變化,運算后又往往需要保存這些狀態(tài)的變化。為此,在微處理器中設(shè)置了標志寄存器。常用的狀態(tài)標志有:進位標志位C、零標志位Z、符號標志位S、奇偶位P、溢出位O和輔助進位位A(或稱半進位)等。(4)專用寄存器
①程序計數(shù)器PCPC它是指令地址寄存器。它的內(nèi)容指出了現(xiàn)行指令在存儲器中的存放地址,當按此地址從存儲器中取出現(xiàn)行指令時,PC的內(nèi)容自動修改為下一條指令的地址。②堆棧指示器SP
用于確定在堆棧操作時,堆棧在內(nèi)存中的具體位置。③變址寄存器用于變址尋址方式,也可做通用寄存器使用。另外,在微處理器內(nèi)部還有一些程序員不能訪問的內(nèi)部工作寄存器,如指令寄存器、暫存器、地址緩沖器和數(shù)據(jù)緩沖器等。3.指令處理單元
指令處理單元即計算機的控制器,負責對指令進行譯碼和處理。它一般包括:(1)指令寄存器——用來暫存即將被譯碼處理的指令。(2)指令譯碼器——負責對指令進行譯碼,通過譯碼獲知該指令屬于什么功能的指令。(3)時序和控制邏輯——根據(jù)指令要求,按一定的時序發(fā)出并接收各種信號。4.指令的執(zhí)行過程(1)取指令(2)指令譯碼(3)取操作數(shù)(4)執(zhí)行指令(5)存放運算結(jié)果
返回8086CPU內(nèi)部從功能上講由兩部份組成:總線接口部件BIU(BusInterfaceUnit)和指令執(zhí)行部件EU(ExecutionUnit)。(1)總線接口部件BIU
總線接口部件BIU的具體任務(wù)是:負責從內(nèi)存單元中預(yù)取指令,并將它們送到指令隊列緩沖器暫存??偩€接口單元BIU由20位地址加法器、段寄存器、16位指令指針、指令隊列緩沖器和總線控制電路等組成。①地址加法器和段寄存器地址加法器用來產(chǎn)生20位地址,可直接尋址1MB存儲物理空間。但是CPU內(nèi)部的寄存器都是16位的,所以需要由地址加法器來根據(jù)16的段寄存器提供的內(nèi)容(段的起始地址)左移4位后,與16位偏移地址相加,形成一個20位的物理地址,以對存儲單元進行尋址。
三、Intel8086總線接口部件BIU和總線執(zhí)行部件EU比如,一條指令的物理地址就是根據(jù)代碼段寄存器CS和指令指針寄存器IP的內(nèi)容得到的。假設(shè)CS=FE00H,IP=0200H,此時指令的物理地址為FE200H。
②16位指令指針I(yè)P8086CPU中,IP(1nstructionPoimer)用來存放將要取出的指令在現(xiàn)行代碼段中的偏移地址。它只有與CS相結(jié)合,才能形成指向指令存放單元的物理地址。③指令隊列緩沖器8086CPU的指令隊列為6個字節(jié),在EU執(zhí)行指令的同時,從內(nèi)存中取下面一條或幾條指令,將取來的指令依次存放在指令隊列中。它們按“先進先出”的原則存放,并按順序取出到EU中執(zhí)行。④總線控制電路總線控制電路將8086CPU的內(nèi)部總線和外部總線相連。
(2)總線執(zhí)行部件EUEU的主要任務(wù)是完成指令譯碼和執(zhí)行指令的操作。EU由算術(shù)邏輯運算單元、標志寄存器,數(shù)據(jù)暫存寄存器、通用寄存器組和EU控制電路等組成。
①
算術(shù)邏輯運算單元
算術(shù)邏輯運算單元(ALU)是一個16位的運算器,用于二進制算術(shù)和邏輯運算,也可計算尋址存儲器所需的16位偏移量。②
標志寄存器是一個16位的寄存器,用于反映CPU運算的狀態(tài)特征和存放某些控制標志。③
數(shù)據(jù)暫存寄存器
它協(xié)助ALU完成運算,暫存參加運算的數(shù)據(jù)。④
通用寄存器組
它包括4個16位的數(shù)據(jù)寄存器AX、BX、CX、DX,2個16位的指針寄存器SP、BP和2個16位的變址寄存器SI、DI。⑤
EU控制電路它負責從BIU的指令隊列緩沖器中取指令,并對指令譯碼。根據(jù)指令要求向EU內(nèi)部各部件發(fā)出控制命令,以完成各條指令規(guī)定的功能。
EU的具體工作過程是:從BIU指令隊列緩沖器中取出指令操作碼,通過譯碼電路分析,發(fā)出相應(yīng)控制命令,控制ALU數(shù)據(jù)總線中數(shù)據(jù)的流向。如果是運算操作,操作數(shù)經(jīng)過暫存器送入ALU,運算結(jié)果經(jīng)過ALU數(shù)據(jù)總線送到相應(yīng)的寄存器。同時,標志寄存器FR根據(jù)運算結(jié)果改變狀態(tài)。當指令要求訪問存儲器或l/O設(shè)備時,EU向BIU發(fā)出請求,由BIU通過8086系統(tǒng)總線訪問存儲器或I/O設(shè)備。因為EU中所有的寄存器和數(shù)據(jù)通道(除隊列總線為8位外)均為16位寬度,可以實現(xiàn)數(shù)據(jù)的快速傳送。8086CPU內(nèi)部結(jié)構(gòu)圖如下:
(3)BIU和EU的并行工作
8086CPU中,由于BIU和EU是分開并獨立工作的,在EU執(zhí)行指令的同時,BIU可預(yù)取下面一條或幾條指令。因此,CPU執(zhí)行完一條指令后,就可以立即執(zhí)行存放指令隊列中的下一條指令,而不需要像以往的8位CPU那樣,重復(fù)地進行先取指令、后執(zhí)行指令的串行操作。這種并行重疊操作的特點提高了總線的信息傳輸效率和整個系統(tǒng)的執(zhí)行速度。返回8088的指令執(zhí)行過程8086微處理器內(nèi)部共有14個16位寄存器,包括:通用寄存器、地址寄存器、段寄存器、指令指針和標志寄存器。1.數(shù)據(jù)寄存器包括AX、BX、CX、DX四個通用寄存器,它們都可以以字(16位)的形式訪問,也可以以字節(jié)(8位)的形式訪問。例如對AX可以分別訪問高位字節(jié)AH或低位字節(jié)AL。這四個寄存器都是通用寄存器,但它們又可以用于各自的專用目的。AX:作為累加器用,它是算術(shù)運算的主要寄存器。BX:作通用寄存器使用,它還經(jīng)常用作基址寄存器。CX:作通用寄存器使用,此外在循環(huán)(LOOP)和串處理指令中用作隱含的計數(shù)器。DX:作通用寄存器使用。還有一些特殊用途。
四、Intel8086CPU寄存器的結(jié)構(gòu)2.指針及變址寄存器
包括SP、BP、SI、DI四個16位寄存器。它們可以像數(shù)據(jù)寄存器一樣在運算過程中存放操作數(shù),但它們只能以字(16位)為單位使用。此外,在段內(nèi)尋址時用它們來提供偏移地址。SP:稱為堆棧指針寄存器。用來指示棧頂?shù)钠频刂?,BP:稱為基址指針寄存器。用作堆棧區(qū)中的一個基地址以便訪問堆棧中的其他信息。SI:源變址寄存器。當與DS聯(lián)用時,用來確定數(shù)據(jù)段中某一存儲單元的地址,在串處理指令中,SI作為隱含的源變址寄存器,與DS聯(lián)用達到在數(shù)據(jù)段尋址的目的。DI:目的變址寄存器。在串處理指令中,DI作為隱含的目的變址寄存器并ES聯(lián)用在附加段中尋址,其它功能和使用方法與SI基本相同。3.段寄存器8086有四個段寄存器。為了尋址1MB內(nèi)存,將內(nèi)存分成若干個邏輯段。每個段長64KB。使用四個段寄存器存放各段的基本地址。BIU中的四個段寄存器分別稱為代碼段CS(CodeSegment)寄存器、數(shù)據(jù)段DS(DataSegment)寄存器、堆棧段SS(StackSegment)寄存器和附加段ES(ExtraSegment)寄存器。CS段寄存器給出當前代碼段的基址。DS段寄存器給出當前數(shù)據(jù)段的基址。SS段寄存器給出當前堆棧段的基址。ES段寄存器給出當前使用的附加段的基址。4.控制寄存器包括IP和FR兩個16位寄存器。IP為指令指針寄存器,用來存放代碼段中的偏移地址。它與CS寄存器聯(lián)用確定下一條指令的物理地址。FR寄存器,下一小節(jié)將詳細介紹。返回8086CPU中有一個16位標志寄存器,由6位條件碼標志(flag)和3位控制標志構(gòu)成,如下所示:1514131211109876543210 其中,條件碼標志用來記錄程序中運行結(jié)果的狀態(tài)信息,控制標志用來控制CPU的工作狀態(tài)。1.條件標志(1)OF(OverflowFlag)溢出標志,溢出時OF=1,否則OF=0。(2)SF(SignFlag)符號標志,結(jié)果為負時SF=1,否則SF=0。(3)ZF(ZeroFlag)零標志,結(jié)果為0時ZF=1,否則ZF=0。(4)CF(CarryFlag)進位標志,記錄運算時從最高有效位產(chǎn)生的進位或借位值。當最高有效位有進位或借位時CF=1,否則置CF=0。OFDFIFTFSFZFAFPFCF五、標志寄存器(FR)及其用途
注:請讀者區(qū)分好溢出標志OF和進位標志CF,當溢出時,表明運算結(jié)果出現(xiàn)了錯誤。(5)AF(AuxiliarycarryFlag)輔助進位標志,記錄運算時第3位(字節(jié)運算)或第7位(字運算)產(chǎn)生的進位或借位值。例如,執(zhí)行加法指令時第3位有進位時AF=1,否則AF=0。(6)PF(ParityFlag)奇偶標志,用來檢驗機器傳送信息時可能產(chǎn)生的代碼出錯情況。當結(jié)果操作數(shù)中1的個數(shù)為偶數(shù)時PF=l,否則PF=0。2.控制標志(1)DF(DirectionFlag)方向標志,當DF位為1時,每次操作后使變址寄存器SI和DI減量.當DF為0時,則使SI和DI增量.(2)IF(InterruptFlag)中斷標志,IF為l時,開中斷,否則關(guān)中斷。(3)TF(TrapFlag)陷阱標志,TF=1時,每條指令執(zhí)行完后產(chǎn)生陷井,TF=0時,CPU正常工作不產(chǎn)生陷開。其中控制標志是系統(tǒng)程序或用戶程序根據(jù)需要用指令設(shè)置的。而狀態(tài)信息是由中央處理機根據(jù)計算結(jié)果自動設(shè)置的。
3.標志位舉例【例2.1】執(zhí)行以下兩數(shù)的加法操作,判斷各標志位的狀態(tài)。0010001101000101+00110010000110010101010101011110執(zhí)行以上操作后,各狀態(tài)標志位的狀態(tài)應(yīng)為:CF=0PF=0AF=0ZF=0ZF=0OF=0【例2.2】
執(zhí)行加法操作。1010101100000000+11111111111111111010101011111111
執(zhí)行操作后,各狀態(tài)標志位的狀態(tài)應(yīng)為:CF=1PF=1AF=0ZF=0SF=1OF=0【例2.3】
執(zhí)行加法操作。0110010000000000+01100100000000001100100000000000執(zhí)行以上加法操作后,各狀態(tài)標志位的狀態(tài)應(yīng)為:CF=0PF=0AF=0ZF=0SF=1OF=1返回2.2存儲器2.2.1主存儲器的組成2.2.28086存儲器的組織返回存儲器分類:按所存放的位置分:分為主存儲器和輔助存儲器。主存儲器存放當前正在執(zhí)行的程序和使用的數(shù)據(jù)。輔助存儲器用來長期保存大量程序和數(shù)據(jù)。按讀寫方式分:分為隨機存取存儲器RAM和只讀存儲器ROM。
RAM存儲器在斷電后不能保存信息。
ROM存儲器在斷電后仍能保存信息。存儲器組成:
存儲器由存儲單元組成,每個存儲單元有一個惟一的存儲器地址。每個存儲單元存放1個字節(jié)的數(shù)據(jù),1個字節(jié)包含了8個二進制位。存儲容量是指存儲器所具有的存儲單元個數(shù),基本單位是字節(jié)B。為了表達更大的容量,常用的單位是KB(千字節(jié)),MB(兆字節(jié)),GB(吉字節(jié)),甚至TB(太字節(jié))。換算:1KB=2l10字節(jié)=1024字節(jié),1MB=220字節(jié),1GB=230字節(jié),1TB=240字節(jié)。返回2.2.28086存儲器的組織1.存儲器單元的地址和內(nèi)容
地址:每個存儲單元規(guī)定的編號是地址,存儲單元地址從0開始順次加1。存儲單元的地址是無符數(shù)。n位二進制數(shù)共能表示2n個存儲單元的地址,為了書寫方便,存儲單元地址常采用十六進制數(shù)表示。內(nèi)容:一個存儲單元中存放的信息稱為該存儲單元的內(nèi)容。
地址與內(nèi)容的關(guān)系:見下圖字地址:一個字存放到存儲器要占用連續(xù)的兩個字節(jié)單元。低字節(jié)存放在地址低的字節(jié)單元中,高字節(jié)存放在地址高的字節(jié)的單元中,字單元的地址用低地址表示。例如:34560H的字單元的內(nèi)容是1234H,而地址為78780H時字單元的內(nèi)容是3332H。雙字:4個連續(xù)的字節(jié)單元就構(gòu)成了一個雙字單元。例如:地址為34560H的雙字單元中存放的內(nèi)容是78561234H。2.物理地址的形成物理空間:8086CPU地址線是20位的,最大可尋空間是220=1MB,其物理尋址范圍是00000H—FFFFFH。邏輯段:把1M字節(jié)地址空間劃成若干邏輯段。每個邏輯段必須滿足兩個條件:一是邏輯段的起始地址(簡稱段首址)必須是16的倍數(shù);二是邏輯段的最大長度為64K。按照這兩個條件,1M字節(jié)地址空間最多可劃分成64K個邏輯段,最少也要劃分成16個邏輯段。邏輯段與邏輯段可以相連,也可以不連,還可以重疊。段首址:是指邏輯段在主存中的起始位置。段內(nèi)偏移地址:是指主存單元距離段首址的偏移量,簡稱偏移地址,用EA來表示,由于限定每段不超過64KB,所以偏移地址可以用16位數(shù)據(jù)表示。
物理地址形成:物理地址用PA表示,8086內(nèi)部和用戶編程時所采用的“段首址:段內(nèi)偏移地址”形式,稱為邏輯地址。將邏輯地址中的段首址左移4位,加上偏移地址就得到20位物理地址。例如邏輯地址“3850H:200H”表示物理地址38700H。同一個物理地址可以有多個邏輯地址形式。3.存儲器各段分配舉例【例2.4】各獨立段的分配情況示例。設(shè)CS=B000H、DS=1CDEH、SS=4200H、ES=0150H,它們分別為代碼段、數(shù)據(jù)段、堆棧段和附加段的段首址。自每個段首址開始,各段均占64KB的范圍,各段之間互不重疊。如圖2.7所示。
【例2.5】各段相互重疊情況示例。設(shè)CS=0200H、DS=0400H、SS=0480H,這樣代碼段、數(shù)據(jù)段和堆棧段的物理首地址分別為02000H、04000H和04800H。其中代碼段占8KB地址空間,數(shù)據(jù)段占2KB,堆棧段占256B,SP=0100H。由于該程序沒有使用附加段,所以沒有設(shè)置ES值。從該例可以看出,每個段大小應(yīng)根據(jù)實際需要分配,可以重疊。有時,甚至可以將所有4種段都集中在一個邏輯段內(nèi),形成一個短小緊湊的程序,其大小不超過64KB。假設(shè)使CS=DS=SS=0200H,則代碼段將占據(jù)該邏輯段為偏移地址0000H一1FFFH的8KB,數(shù)據(jù)段在偏移地址2000H--27FFH位置,堆棧段指針SP=2900H。如圖2.8所示。
圖2.8各段重疊存儲單元分配圖返回2.3.1堆棧的構(gòu)造
2.3.28086堆棧的組織2.3.3堆棧操作返回2.3堆棧(Stack)1.什么是堆棧堆棧有兩種形式:一種是硬堆棧,即用寄存器組來實現(xiàn)的。另一種是軟堆棧,即用主存的一部分空間作堆棧。堆棧的運行方式為先進后出或先進先出兩種,先進后出型堆棧的操作數(shù)只能從一個口進行讀或?qū)?。堆棧主要用于暫存?shù)據(jù)以及在“過程”調(diào)用或處理中斷時暫存斷點信息。2.堆棧的構(gòu)造現(xiàn)在通常采用軟堆棧,由程序設(shè)計人員用程序在存儲器中劃出一塊存儲區(qū)作為堆棧。這個存儲區(qū)最大地址的字存儲單元為堆棧底部,叫棧底(Bottom)。在堆棧中存放的數(shù)據(jù)或斷點信息從這里開始,逐漸向地址小的方向“堆積”。在任何時刻,存放最后一個信息的存儲單元(即已存放信息的最小地址單元)為堆棧頂部,叫棧頂(TOP)。棧頂是隨著存放信息的多少而變的由于堆棧頂部是浮動的,為了指示現(xiàn)在堆棧中存放數(shù)據(jù)的位置,通常設(shè)置一個指針——堆棧指針SP(StackPointer),它始終指向堆棧的頂部。2.3.1堆棧的構(gòu)造棧底為堆??臻g的高地址單元,棧頂為低地址單元。數(shù)據(jù)進棧后,棧頂向低地址方向浮動;數(shù)據(jù)出棧后,棧頂向高地址方向調(diào)整。一個16位的數(shù)據(jù)進棧的規(guī)律是:高位字節(jié)存入高地址單元,低位字節(jié)存入低地址單元。一個16位數(shù)據(jù)出棧規(guī)律是:低位字節(jié)彈到目標操作數(shù)低位,高位字節(jié)彈到目標操作數(shù)據(jù)高位。為了指示棧頂?shù)漠斍拔恢茫肧P存放棧頂?shù)挠行У刂?。堆棧是按字組織的,即每次在堆棧中存取數(shù)據(jù)均是兩個字節(jié),數(shù)據(jù)在堆棧中存放的格式是:
2.3.28086堆棧的組織1.設(shè)置堆棧堆棧的設(shè)置主要是對堆棧段寄存器SS和堆棧指針SP的賦值。在用戶源程序中通常安排一個段為堆棧段。如:SEGMENTPARASTACK;說明本段為堆棧段
DW100DUP(0)ENDS2.進棧
進棧(PUSH)就是把數(shù)據(jù)壓人堆棧。壓入堆棧的數(shù)據(jù)可以是段寄存器內(nèi)容,也可以是通用寄存器或內(nèi)存操作數(shù)等。進棧操作如下程序段所示。例如:
PUSHAXPUSHDSPUSHDATA_WORDPUSHF;把標志寄存器內(nèi)容壓人堆棧
2.3.3堆棧操作3.出棧出棧(POP)就是從堆棧頂部彈出一個字送回通用寄存器、段寄存器或者字存儲單元,如下程序段所示。例如:
POPAXPOPDXPOPDATA_WORDPOPF;從堆棧彈出的內(nèi)容送回標志寄存器
返回
2.4Inter80486和Pentium微處理器的結(jié)構(gòu)及存儲管理2.4.180486和Pentium微處理器的結(jié)構(gòu)2.4.280486和Pentium微處理器寄存器結(jié)構(gòu)
2.4.380486和Pentium存儲管理
返回2.4.180486和Pentium微處理器的結(jié)構(gòu)
1.80486微處理器
80486由7大部分組成,它們是總線接口部分、指令預(yù)取部分、譯碼部分、控制部分、運算部分、存儲管理部分和高速緩沖存儲器,80486的存儲空間高達246字節(jié),并具有多種寄存器和豐富的數(shù)據(jù)類型。運算部分:包含定點運算部件和浮點運算部件。進行定點運算時需要算術(shù)邏輯運算單元(ALU)、移位器和寄存器組;進行浮點運算時需要浮點運算單元(FPU)和浮點寄存器組。存儲管理部分:是為實現(xiàn)虛擬存儲器而設(shè)置的,它由分段部件和分頁部件兩部分組成。分段部件管理邏輯地址空間,并把邏輯地址轉(zhuǎn)換為線性地址;分頁部件把線性地址轉(zhuǎn)換為物理地址。
圖2.1180486微處理品基本結(jié)構(gòu)示意圖
高速緩沖存儲器:為了提高計算機的運算速度,80486在內(nèi)部還集成了一個8K字節(jié)的高速緩沖存儲器(cache),cache用來存放最近運行的程序所需要的指令代碼和數(shù)據(jù)。指令預(yù)取部件中包含了兩個16字節(jié)的隊列寄存器??刂撇糠郑河煽刂婆c保護部件和控制ROM組成??刂撇糠指鶕?jù)指令譯碼器送來的信息產(chǎn)生微指令,并通過微指令對運算部分、存儲管理部分及指令譯碼器發(fā)出控制信號??偩€接口部分:功能是產(chǎn)生訪問微處理器以外的存儲器和輸入/輸出接口所需要的地址、數(shù)據(jù)和命令。微處理器與外部的信息交換是通過總線接口部分的數(shù)據(jù)總線收發(fā)器進行的。在微處理器內(nèi)部有兩組方向不同的32位數(shù)據(jù)線,當外部信息輸入時,可通過一組數(shù)據(jù)線把信息送往cache和指令預(yù)取隊列;當向外送出信息時,是通過數(shù)據(jù)收發(fā)器中的寫緩沖器進行的。這樣可緩解高速運行的CPU與以較低速度運行的存儲器、輸入/輸出接口之間的矛盾,且可實現(xiàn)并行處理。
2.Pentium微處理器(1)Pentium采用的先進技術(shù)
①CISC技術(shù)和RISC技術(shù)復(fù)雜指令集計算機技術(shù)(CISC)和簡化指令集計算機技術(shù)(RISC)是兩種不同的CPU設(shè)計技術(shù),Intel公司在Pentium之前的CPU均屬于CISC體系,從Pentium開始,將CISC和RISC結(jié)合,取兩者之長,實現(xiàn)更高的性能。采用CISC技術(shù)的CPU有如下特點:(a)指令系統(tǒng)中包含很多指令。(b)訪問內(nèi)存時采用多種尋址方式。(c)采用微程序機制,使微處理器控制ROM中存放了眾多微程序。采用RISC技術(shù)的CPU有如下特點:(a)指令系統(tǒng)只含簡單而常用的指令,指令長度較短,并且長度相同。(b)采用流水線機制來執(zhí)行指令,該機制是一種指令級并行處理方式,在同樣的時間段中比非流水線機制下執(zhí)行更多的指令。(c)大多數(shù)指令利用內(nèi)部寄存器來執(zhí)行,從而使內(nèi)存的管理簡化。
Pentium的大多數(shù)指令是簡化指令,但仍然保留了一部分復(fù)雜指令,而對這部分指令采用硬件來實現(xiàn)。所以,Pentium吸取了兩者之長。②
超標量流水線技術(shù)
所謂超標量,就是一個處理器中有多條指令流水線。在Pentium中,采用U和V兩條流水線,每條流水線均含有獨立的ALU地址生成電路和連接數(shù)據(jù)Cache的接口。超標量流水線機制使Pentium能夠在一個時鐘周期執(zhí)行兩條整數(shù)運算指令,比相同頻率的前一代CPU實際速度提高一倍。超標量流水線技術(shù)是和RISC技術(shù)密不可分的。
Pentium內(nèi)部還含有一個增強型浮點運算器<floatingprocessorunit,F(xiàn)PU),在FPU中,采用快速硬件來實現(xiàn)浮點加、乘、除運算,使其浮點運算速度比前一代CPU快三倍以上。③分支預(yù)測技術(shù)在轉(zhuǎn)移指令執(zhí)行前,能夠預(yù)測轉(zhuǎn)移是否發(fā)生,從而確定此后執(zhí)行哪一段程序。
Pentium用分支目標緩沖器(branchtargetbuffer,BTB)來執(zhí)行預(yù)測功能,它含有一個1KB容量的Cache,其中可以容納256條轉(zhuǎn)移指令的目標地址和歷史狀態(tài)。
在程序運行中,BTB采用動態(tài)預(yù)測方法,當一條指令造成分支時,BTB檢測這條指令以前的執(zhí)行狀態(tài),并用此狀態(tài)信息預(yù)測當前的分支目標地址,然后,預(yù)取此處的指令。當BTB判斷正確時,分支程序會如同分支未發(fā)生一樣,維持流水線的照常運行,當BTB判斷錯誤時,則修改歷史記錄并重新取指令、譯碼……即重新建立流水線。但總的說,有了BTB仍然明顯提高了效率。(2)Pentium微處理器結(jié)構(gòu)Pentium微處理器主要由10大部分組成,它們是:總線接口部件、U流水線和V流水線、指令Cache、數(shù)據(jù)Cache、指令預(yù)取部件、指令譯碼器、浮點處理部件FPU、分支目標緩沖器BTB、控制ROM、寄存器組??偩€接口部件:實現(xiàn)CPU與系統(tǒng)總線的連接,其中包括64位數(shù)據(jù)線、32位地址線和眾多控制信號線。U流水線和V流水線:兩者獨立運行,這兩條流水線中均有獨立的ALU,U流水線可執(zhí)行所有整數(shù)運算指令,V流水線只能執(zhí)行簡單的整數(shù)運算指令和數(shù)據(jù)交換指令。
指令Cache、數(shù)據(jù)Cache:兩者分開,從而減少了指令預(yù)取和數(shù)據(jù)操作之間可能發(fā)生的沖突,并可提高命中率。兩個Cache分別配置了專用的轉(zhuǎn)換檢測緩沖器,用來將線性地址轉(zhuǎn)換為Cache的物理地址。指令預(yù)取部件:指令預(yù)取部件每次取兩條指令,如果是簡單指令,并且后一條指令不依賴于前一條指令的執(zhí)行結(jié)果,那么,指令
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZSA 231-2024 氧化鎵單晶片X 射線雙晶搖擺曲線半高寬測試方法
- T-ZMDS 10022-2024 光學(xué)脊柱測量及姿態(tài)評估設(shè)備
- 二零二五年度名義購房代持合同中的房產(chǎn)繼承與轉(zhuǎn)讓安排
- 2025年度高品質(zhì)車位租賃與社區(qū)設(shè)施管理合同
- 二零二五年度安全生產(chǎn)評價資質(zhì)借用服務(wù)合同
- 2025年度高速公路監(jiān)控系統(tǒng)維保服務(wù)協(xié)議雙聯(lián)
- 二零二五年度解除勞動合同通知書及員工離職后商業(yè)保險權(quán)益處理及終止協(xié)議
- 2025年度電力系統(tǒng)設(shè)備租賃合同模板
- 2025年美業(yè)美容儀器銷售代表入職合同
- 二零二五年度淘寶平臺商家入駐信息保密協(xié)議
- GB/T 24498-2025建筑門窗、幕墻用密封膠條
- 悟哪吒精神做英雄少年開學(xué)第一課主題班會課件-
- 清華大學(xué)第二彈:DeepSeek賦能職場-從提示語技巧到多場景應(yīng)用
- 2025年春季學(xué)期教導(dǎo)處工作計劃及安排表
- DL-T5002-2021地區(qū)電網(wǎng)調(diào)度自動化設(shè)計規(guī)程
- 2024年個人信用報告(個人簡版)樣本(帶水印-可編輯)
- 16J914-1 公用建筑衛(wèi)生間
- 2024年長沙幼兒師范高等專科學(xué)校高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- GIS常見故障及其處理
- 基本公共衛(wèi)生服務(wù)鄉(xiāng)村兩級工作職責
- 財務(wù)開票到賬對賬表
評論
0/150
提交評論