版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章16位和32位微處理器本章內(nèi)容:8086/8088CPU的內(nèi)部結(jié)構(gòu)和寄存器結(jié)構(gòu)8086/8088CPU的引腳信號(hào)和功能8086/8088系統(tǒng)的工作模式與典型時(shí)序8086/8088的存儲(chǔ)器組織32位微處理器2.18086/8088CPU的內(nèi)部結(jié)構(gòu)和寄存器結(jié)構(gòu)本節(jié)內(nèi)容:簡(jiǎn)介8086/8088CPU的內(nèi)部結(jié)構(gòu)8086/8088CPU的寄存器結(jié)構(gòu)時(shí)鐘周期、總線周期的概念8086/8088CPU的引腳信號(hào)和功能8086/8088系統(tǒng)的工作模式8086/8088的操作時(shí)序8086/8088的存儲(chǔ)器組織2.1.0簡(jiǎn)介8086:16位微處理器采用單一的+5V電源和40條引腳的雙列直插式封裝;時(shí)鐘頻率為5MHz~10MHz,最快的指令執(zhí)行時(shí)間為0.4μs。8086有16根數(shù)據(jù)線和20根地址線,可以處理8位或16位數(shù)據(jù),可尋址220即1MB的存儲(chǔ)單元和64KB的I/O端口。8088:準(zhǔn)16位微處理器設(shè)計(jì)的主要目的是為了與Intel原有的8位外圍接口芯片直接兼容。8088的內(nèi)部寄存器、運(yùn)算器以及內(nèi)部數(shù)據(jù)總線都是按16位設(shè)計(jì)的,但外部數(shù)據(jù)總線只有8條,因此執(zhí)行相同的程序,8088要比8086有較多的外部存取操作而執(zhí)行得較慢。2.1.18086/8088CPU的內(nèi)部結(jié)構(gòu)
8086微處理器內(nèi)部結(jié)構(gòu)框圖1.總線接口部件BIU功能負(fù)責(zé)CPU與內(nèi)存或I/O端口傳送指令或數(shù)據(jù)。BIU從內(nèi)存取指令送到指令隊(duì)列緩沖器。當(dāng)EU執(zhí)行指令時(shí),BIU要配合EU從指定的內(nèi)存單元或I/O端口中讀取數(shù)據(jù),或者把EU的操作結(jié)果送到指定的內(nèi)存單元或I/O端口去。組成:段寄存器、指令指針寄存器、地址加法器、指令預(yù)取隊(duì)列及總線控制邏輯。1)段寄存器所有寄存器都是16位的,因此,能夠提供的最大地址空間只能為64KB。為了尋址1MB,將存儲(chǔ)器的空間分成若干段,每段最大為64KB。段寄存器:用來(lái)存放段的起始地址(16位)的寄存器,設(shè)有四個(gè)段寄存器:CS
代碼段寄存器(CodeSegmentregister)DS
數(shù)據(jù)段寄存器(DataSegmentregister)SS
堆棧段寄存器(StackSegmentregister)ES
附加數(shù)據(jù)段寄存器(ExtraSegmentregister)
2)地址加法器由于8086內(nèi)部寄存器都是16位的,需要一個(gè)附加結(jié)構(gòu)-地址加法器來(lái)根據(jù)提供的16位信息產(chǎn)生20位地址。3)指令預(yù)取隊(duì)列(指令隊(duì)列緩沖器)8086:指令預(yù)取隊(duì)列為6字節(jié)8088:指令預(yù)取隊(duì)列為4字節(jié)指令預(yù)取隊(duì)列采用“先進(jìn)先出”原則。要執(zhí)行的指令預(yù)先由BIU從內(nèi)存取出放在隊(duì)列中,然后EU再?gòu)年?duì)列中取出指令并執(zhí)行。一般情況下,EU每執(zhí)行完一條指令,就可以立即從指令隊(duì)列中取指令執(zhí)行,從而提高了CPU的效率。
4)總線控制邏輯
8086分配20條引腳線傳送20位地址、16位數(shù)據(jù)和4位狀態(tài)信息,這就必須要分時(shí)傳送??偩€控制邏輯的功能,就是以邏輯控制方法實(shí)現(xiàn)上述信息的分時(shí)傳送。
2.執(zhí)行部件EU
功能負(fù)責(zé)指令的譯碼、執(zhí)行和數(shù)據(jù)運(yùn)算。負(fù)責(zé)向總線接口部件BIU提供偏移地址。對(duì)通用寄存器和標(biāo)志寄存器進(jìn)行管理。組成:算術(shù)邏輯單元(ALU)、1個(gè)標(biāo)志寄存器、8個(gè)通用寄存器、1個(gè)數(shù)據(jù)暫存寄存器和EU控制電路。
1)算術(shù)邏輯部件ALU用于進(jìn)行8位和16位的算術(shù)和邏輯運(yùn)算,也可以按照指令的尋址方式計(jì)算出尋址單元的16位偏移量。2)標(biāo)志寄存器FR16位,用來(lái)反映CPU運(yùn)算的狀態(tài)特征或存放控制標(biāo)志。3)通用寄存器組4個(gè)16位數(shù)據(jù)寄存器AX、BX、CX、DX4個(gè)16位指針與變址寄存器:
堆棧指針寄存器SP(StackPointer)
基址指針寄存器BP(BasePointer)
源變址寄存器SI(SourceIndex)
目的變址寄存器DI(DestinationIndex)
4)數(shù)據(jù)暫存寄存器協(xié)助ALU完成運(yùn)算,暫存參加運(yùn)算的數(shù)據(jù)。5)EU控制電路它是控制、定時(shí)與狀態(tài)邏輯電路,接收從BIU中指令隊(duì)列取來(lái)的指令,經(jīng)過(guò)指令譯碼形成各種定時(shí)控制信號(hào),對(duì)EU的各個(gè)部件實(shí)現(xiàn)特定的定時(shí)操作。EU中所有的寄存器和數(shù)據(jù)通道(除指令隊(duì)列總線為8位外)都是16位的寬度,可實(shí)現(xiàn)數(shù)據(jù)的快速傳送。3.BIU和EU的流水線管理
(1)每當(dāng)8086的指令隊(duì)列中有2個(gè)空字節(jié)或8088的指令隊(duì)列有1個(gè)空字節(jié),BIU就會(huì)自動(dòng)把后面的指令從存儲(chǔ)器取到指令隊(duì)列中,從而提高了CPU執(zhí)行指令的速度。(2)每當(dāng)EU準(zhǔn)備執(zhí)行一條指令時(shí),它會(huì)從指令隊(duì)列前部取出指令,進(jìn)行譯碼,然后去執(zhí)行。在執(zhí)行指令時(shí),如果必須訪問(wèn)存儲(chǔ)器或I/O端口,EU就會(huì)請(qǐng)求BIU去完成訪問(wèn)外部的操作,如果此時(shí)BIU正好處于空閑狀態(tài),那么會(huì)立即響應(yīng)EU的請(qǐng)求。若EU向BIU發(fā)出請(qǐng)求訪問(wèn)時(shí),BIU正在將某條指令取到指令隊(duì)列中,此時(shí)BIU首先完成取指令操作,然后再去響應(yīng)EU發(fā)出的訪問(wèn)外界的請(qǐng)求。3.BIU和EU的流水線管理(續(xù))(3)當(dāng)指令隊(duì)列已滿,且EU對(duì)BIU又沒(méi)有總線訪問(wèn)請(qǐng)求時(shí),BIU進(jìn)入空閑狀態(tài)。(4)在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時(shí),如果要執(zhí)行的指令不在指令隊(duì)列中,則指令隊(duì)列中原有內(nèi)容被自動(dòng)清除,BIU會(huì)重新取指令,把將要轉(zhuǎn)入的程序段的指令裝入到指令隊(duì)列中。2.1.28086/8088CPU的寄存器結(jié)構(gòu)圖2.28086/8088的寄存器結(jié)構(gòu)1.通用寄存器
分為:數(shù)據(jù)寄存器地址寄存器1)數(shù)據(jù)寄存器EU中有4個(gè)16位的數(shù)據(jù)寄存器AX、BX、CX、DX每個(gè)數(shù)據(jù)寄存器又可分為高字節(jié)H和低字節(jié)L寄存器,即AH、BH、CH、DH和AL、BL、CL、DL兩組。16位數(shù)據(jù)寄存器主要用于存放數(shù)據(jù),也可存放地址,而8位寄存器只能用于存放數(shù)據(jù),它們均可以用寄存器名來(lái)獨(dú)立尋址、獨(dú)立使用。2)地址指針寄存器和變址寄存器都是16位,一般用來(lái)存放偏移地址。指針寄存器SP和BP用來(lái)存取位于當(dāng)前堆棧段中的數(shù)據(jù),但SP和BP使用上有區(qū)別。堆棧指針寄存器SP給出棧頂?shù)钠频刂??;分羔樇拇嫫鰾P用來(lái)存放位于堆棧段中的一個(gè)數(shù)據(jù)區(qū)基址的偏移地址。源變址寄存器SI和目的變址寄存器DI用來(lái)存放當(dāng)前數(shù)據(jù)段的偏移地址。寄存器的隱含使用2.指令指針寄存器16位,存放著B(niǎo)IU要取的下一條指令的偏移地址。指令執(zhí)行時(shí),每取一次指令I(lǐng)P就自動(dòng)加1,這樣保證能按順序取出并執(zhí)行指令。指令代碼存放在存儲(chǔ)器的代碼段,CPU利用CS和IP取得要執(zhí)行的指令.修改IP中的內(nèi)容,就可以改變指令的執(zhí)行流向。3.標(biāo)志寄存器(16位)16位標(biāo)志寄存器FR用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行的形式。只用了其中的9位,分為:狀態(tài)標(biāo)志位和控制標(biāo)志位。1)狀態(tài)標(biāo)志位(6位)用來(lái)反映算術(shù)或邏輯運(yùn)算后結(jié)果的狀態(tài),以記錄CPU的狀態(tài)特征。進(jìn)位標(biāo)志CF(CarryFlag)加法時(shí),最高位(字節(jié)操作時(shí)的D7位,字操作時(shí)的D15位)是否有進(jìn)位產(chǎn)生。減法時(shí),最高位(字節(jié)操作時(shí)的D7位,字操作時(shí)的D15位)是否有借位產(chǎn)生。奇偶標(biāo)志PF(ParityFlag)若運(yùn)算結(jié)果低8位中“1”的個(gè)數(shù)為偶數(shù),則PF=1;否則PF=0。一般用來(lái)檢測(cè)數(shù)據(jù)傳輸中是否發(fā)生錯(cuò)誤。輔助進(jìn)位標(biāo)志AF(AuxiliarycarrryFlag)加法時(shí),第3位向第4位有進(jìn)位。減法時(shí),第3位向第4位有借位。該標(biāo)志位通常用于對(duì)BCD算術(shù)運(yùn)算結(jié)果進(jìn)行調(diào)整。零標(biāo)志ZF(ZeroFlag)若運(yùn)算結(jié)果為0,則ZF=1;否則ZF=0。符號(hào)標(biāo)志SF(SignFlag)它和運(yùn)算結(jié)果的最高位相同。溢出標(biāo)志OF(OverflowFlag)若運(yùn)算過(guò)程中發(fā)生了“溢出”,則OF=1,否則OF=0。
2)控制標(biāo)志位(3位)用來(lái)控制CPU的操作,由程序設(shè)置或清除。中斷允許標(biāo)志IF(InterruptEnableFlag)如果IF置“1”,則CPU可以接受可屏蔽中斷請(qǐng)求;反之,則CPU不能接受可屏蔽中斷請(qǐng)求。STI使IF置“1”,即開(kāi)放中斷。
CLI使IF清“0”,即關(guān)閉中斷。方向標(biāo)志DF(DirectionFlag)控制字符串操作指令的步進(jìn)方向。
DF=1時(shí),地址自動(dòng)遞減;DF=0時(shí),地址自動(dòng)遞增。STD使DF=1。CLD使DF=0。跟蹤(陷阱)標(biāo)志TF(TrapFlag)為調(diào)試程序的方便而設(shè)置的。TF=1,則處于單步工作方式;TF=0,將正常執(zhí)行程序。例如,在系統(tǒng)調(diào)試軟件DEBUG中的T命令,就是用該標(biāo)志位來(lái)進(jìn)行程序的單步跟蹤的。4.段寄存器介紹如下內(nèi)容:存儲(chǔ)器分段的概念邏輯地址和物理地址堆棧段寄存器的使用1)存儲(chǔ)器分段的概念8086/8088有20位地址線,能夠?qū)ぶ?MB的內(nèi)存空間;CPU內(nèi)部存放地址信息的IP、SP、SI、DI或BX等寄存器卻只有16位,只能尋址64KB存儲(chǔ)空間。所謂分段技術(shù)就是把1MB的存儲(chǔ)空間分成若干邏輯段,每個(gè)邏輯段最大具有64KB的存儲(chǔ)空間。段內(nèi)地址是連續(xù)的,段與段之間是相互獨(dú)立的。邏輯段可以在整個(gè)存儲(chǔ)空間浮動(dòng),即段的排列可以連續(xù)、分開(kāi)、部分重疊或完全重疊,非常靈活。邏輯分段的示意2)邏輯地址和物理地址段首址:段的第一個(gè)單元的地址(20位),最低4位是全0(即段首址是16的整數(shù)倍)。段基址:段首址的高16位。段基址存放在段寄存器中。偏移地址:段內(nèi)存儲(chǔ)單元距離段首地址的偏移量(以字節(jié)數(shù)計(jì)算,16位),也稱有效地址EA。偏移地址存放在IP、BP、SI、DI或BX中,或者是通過(guò)計(jì)算得到。邏輯地址:通常用段基址:偏移地址的形式來(lái)描述,在程序中使用。物理地址的形成物理地址:指CPU和存儲(chǔ)器進(jìn)行數(shù)據(jù)交換時(shí)實(shí)際尋址所使用的地址,是用20位二進(jìn)制數(shù)或5位十六進(jìn)制數(shù)表示的地址。任何一個(gè)單元的20位物理地址都是由它的邏輯地址變換得到的:物理地址=段基址×16+偏移地址
例題設(shè)(CS)=4232H,(IP)=0066H,試計(jì)算物理地址。注意一個(gè)存儲(chǔ)單元的物理地址是唯一的,而邏輯地址是可以不唯一的。例如,物理地址是12345H,它的邏輯地址可以是1233H:0015H也可以是1234H:0005H。3)堆棧堆棧是以“先進(jìn)后出”或“后進(jìn)先出”原則管理的存儲(chǔ)區(qū)域。堆棧段也采用段定義語(yǔ)句在存儲(chǔ)器中定義,最大為64KB??稍?MB的存儲(chǔ)空間內(nèi)浮動(dòng)。堆棧段所在存儲(chǔ)區(qū)中的位置由堆棧段寄存器SS和堆棧指針SP來(lái)指示。SS給出堆棧段的段基址SP存放棧頂?shù)刂?,指出從棧頂?shù)蕉问字返钠屏俊m斉c棧底之間單元中的內(nèi)容是堆棧段中的有效數(shù)據(jù)。堆棧操作有入棧(PUSH)和出棧(POP)兩種。4)段寄存器的使用四個(gè)段寄存器分別指明四個(gè)現(xiàn)行可尋址的邏輯段:(1)代碼段(CodeSegment):用來(lái)存放當(dāng)前正在運(yùn)行的程序。系統(tǒng)在取指令時(shí)將尋址代碼段,其段基址和偏移地址分別由段寄存器CS和指令指針I(yè)P給出。(2)數(shù)據(jù)段(DataSegment):存放當(dāng)前運(yùn)行程序所用的數(shù)據(jù)。用戶在尋址該段內(nèi)的數(shù)據(jù)時(shí),可以缺省段的說(shuō)明,其偏移地址可通過(guò)多種尋址方式形成。(3)堆棧段(StackSegment):堆棧為保護(hù)、調(diào)度數(shù)據(jù)提供了重要的手段。系統(tǒng)在執(zhí)行棧操作指令時(shí)將尋址堆棧段,段基址和偏移地址分別由段寄存器SS和堆棧指針SP提供。(4)附加數(shù)據(jù)段(ExtraSegment):該段是一個(gè)輔助的數(shù)據(jù)區(qū),也用于數(shù)據(jù)的保存。用戶在訪問(wèn)段內(nèi)的數(shù)據(jù)時(shí),其偏移地址同樣可以通過(guò)多種尋址方式來(lái)形成,但在偏移地址前要加上段的說(shuō)明(即段跨越前綴ES)。段寄存器的使用情況只要修改段寄存器的內(nèi)容,就可以將相應(yīng)的存放區(qū)設(shè)置在內(nèi)存存儲(chǔ)空間的任何位置上。這些區(qū)域可以相互獨(dú)立,也可以部分或完全重疊。段寄存器使用時(shí)的一些基本約定2.28086/8088CPU的引腳信號(hào)和功能本小節(jié)內(nèi)容:8086最小模式下引腳的功能定義8086最大模式下引腳的功能定義8088的引腳特性8086/8088CPU的引腳信號(hào)8086/8088的引腳信號(hào)(括號(hào)中為最大模式時(shí)引腳名)
2.2.1
8086最小模式下引腳的功能定義
最小/最大模式設(shè)定,輸入。=1時(shí):工作方式設(shè)置為最小模式,在此方式下,系統(tǒng)全部控制信號(hào)由8086本身提供;
=0時(shí):工作方式設(shè)置為最大模式。AD15~AD0地址/數(shù)據(jù)復(fù)用引腳。在總線周期的T1狀態(tài)用來(lái)輸出要訪問(wèn)的存儲(chǔ)器或I/O端口地址,在T2~T4狀態(tài),作為數(shù)據(jù)傳輸線。傳送地址時(shí)為三態(tài)輸出,傳送數(shù)據(jù)時(shí)可雙向三態(tài)輸入/輸出。在8088中,只有AD7~AD08條地址/數(shù)據(jù)線,AD15~AD8只用來(lái)輸出地址。A19/S6~A16/S3地址/狀態(tài)復(fù)用引腳,三態(tài),分時(shí)輸出。在T1狀態(tài):輸出高4位地址。訪問(wèn)存儲(chǔ)器時(shí):A19~A16與AD15~AD0組成20位地址;訪問(wèn)I/O端口時(shí):不使用這4條引線。在T2~T4狀態(tài):輸出狀態(tài)信息。S6=0,表示當(dāng)前8086/8088與總線相連(即S6始終保持低電平)。S5
用來(lái)指示狀態(tài)寄存器中的中斷允許標(biāo)志IF的狀態(tài)(S5為1允許中斷,S5為0禁止中斷)。S4和S3的組合高8位數(shù)據(jù)總線允許/狀態(tài)復(fù)用引腳,三態(tài),輸出。在T1狀態(tài):輸出,若=0,表示高8位數(shù)據(jù)線D15~D8上的數(shù)據(jù)有效。在T2~T4狀態(tài):輸出S7(無(wú)意義)。ALE地址鎖存允許信號(hào),輸出,正脈沖。提供給地址鎖存器8282的控制信號(hào)。在任何一個(gè)總線周期的T1狀態(tài),ALE輸出有效電平,以表示當(dāng)前總線上輸出的是地址信息,要求進(jìn)行地址鎖存。RESET復(fù)位信號(hào),輸入,高電平有效。至少維持4個(gè)時(shí)鐘周期的高電平,接通電源時(shí)間不能小于50μs。READY“準(zhǔn)備好”信號(hào),輸入,高電平有效由所尋址的存儲(chǔ)器或I/O端口發(fā)來(lái)的響應(yīng)信號(hào),表明存儲(chǔ)器或I/O端口的狀態(tài)。CPU在T3采樣READY,若READY=0,則在T3后插入一個(gè)或多個(gè)TW,直至READY=1,進(jìn)入T4,完成數(shù)據(jù)傳送,從而結(jié)束當(dāng)前總線周期。讀信號(hào),三態(tài)、輸出。=0時(shí),表示將要執(zhí)行一個(gè)對(duì)存儲(chǔ)器或I/O端口的讀操作。寫信號(hào),三態(tài)、輸出。=0時(shí),表示將要執(zhí)行一個(gè)對(duì)存儲(chǔ)器或I/O端口的寫操作。存儲(chǔ)器/外設(shè)控制信號(hào),輸出
=1:訪問(wèn)存儲(chǔ)器
=0:訪問(wèn)I/O端口一般被用于存儲(chǔ)芯片或I/O接口芯片的片選()譯碼電路中。NMI非屏蔽中斷請(qǐng)求信號(hào),輸入,上升沿有效。此請(qǐng)求不受IF的影響。只要此信號(hào)一出現(xiàn),CPU就在現(xiàn)行指令結(jié)束后響應(yīng)中斷。INTR可屏蔽中斷請(qǐng)求信號(hào),輸入,高電平有效。當(dāng)INTR=1時(shí),表示外設(shè)提出了中斷請(qǐng)求,8086/8088在每個(gè)指令周期的最后一個(gè)T狀態(tài)去采樣此信號(hào)。若IF=1,則CPU響應(yīng)中斷,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。中斷響應(yīng)信號(hào),輸出,低電平有效。用于對(duì)外設(shè)的中斷請(qǐng)求作出響應(yīng)。連續(xù)周期中的兩個(gè)負(fù)脈沖。第1個(gè)脈沖是通知外設(shè)接口,它的中斷請(qǐng)求已獲允許;外設(shè)接口收到第2個(gè)負(fù)脈沖后,往數(shù)據(jù)總線上放中斷類型碼。HOLD、HLDAHOLD:總線保持請(qǐng)求信號(hào),輸入,高電平有效HLDA:總線保持響應(yīng)信號(hào),輸出,高電平有效HOLD信號(hào)是系統(tǒng)中的其它總線主控部件向CPU發(fā)出的請(qǐng)求占用總線的控制信號(hào)。當(dāng)CPU從HOLD線上收到一個(gè)高電平請(qǐng)求信號(hào)時(shí),如果CPU允許讓出總線,就在當(dāng)前總線周期完成時(shí),于T4狀態(tài)從HLDA線上發(fā)出一個(gè)應(yīng)答信號(hào),對(duì)HOLD請(qǐng)求作出響應(yīng)。同時(shí),CPU使地址/數(shù)據(jù)總線和控制總線處于浮空狀態(tài),從而讓出了總線。當(dāng)請(qǐng)求部件完成對(duì)總線占用后,CPU就立即使HLDA變低,同時(shí)恢復(fù)對(duì)總線的控制。數(shù)據(jù)收發(fā)控制信號(hào),輸出,三態(tài)。用來(lái)控制數(shù)據(jù)總線驅(qū)動(dòng)器8286的數(shù)據(jù)傳送方向。
=1:發(fā)送數(shù)據(jù)
=0:接收數(shù)據(jù)數(shù)據(jù)允許信號(hào),輸出,低電平有效,三態(tài)。提供給數(shù)據(jù)總線收發(fā)器8286,表示CPU準(zhǔn)備發(fā)送或接收一個(gè)數(shù)據(jù)。它常作為數(shù)據(jù)總線驅(qū)動(dòng)器的三態(tài)控制信號(hào)。等待測(cè)試信號(hào),輸入,低電平有效。用于多處理器系統(tǒng)中且只有在執(zhí)行WAIT指令時(shí)才使用。當(dāng)CPU執(zhí)行WAIT指令時(shí),每隔5個(gè)時(shí)鐘周期對(duì)該引腳進(jìn)行一次測(cè)試:若=1時(shí),CPU將停止取下條指令而進(jìn)入等待狀態(tài),重復(fù)執(zhí)行WAIT指令,直至該信號(hào)為0,CPU才繼續(xù)往下執(zhí)行被暫停的指令。等待期間允許外部中斷。WAIT指令可使CPU與外部硬件同步,相當(dāng)于外部硬件的同步信號(hào)。
CLK系統(tǒng)時(shí)鐘,輸入通常與8284A時(shí)鐘發(fā)生器的時(shí)鐘輸出端CLK相連。該時(shí)鐘信號(hào)的低/高之比常采用2:1。8086CPU的標(biāo)準(zhǔn)時(shí)鐘頻率為5MHz。VCC、GND電源線VCC接入的電壓為+5V±10%。兩條地線GND均應(yīng)接地。2.2.28086最大模式下引腳的功能定義當(dāng)
為低電平時(shí),8086CPU工作在最大模式。在最大模式下,許多總線控制信號(hào)不是由8086直接產(chǎn)生,而是通過(guò)總線控制器8288產(chǎn)生的。因此,8086在最小模式下提供的總線控制信號(hào)的引腳(24~31腳)就需重新定義,改作支持最大模式之用??偩€周期狀態(tài)信號(hào),輸出,三態(tài)。8288總線控制器依據(jù)這三個(gè)狀態(tài)信號(hào)產(chǎn)生訪問(wèn)存儲(chǔ)器和I/O端口的控制命令。QS1、QS0指令隊(duì)列狀態(tài)信號(hào),輸出。這兩個(gè)信號(hào)組合起來(lái)提供了本總線周期的前一個(gè)時(shí)鐘周期中指令隊(duì)列的狀態(tài),以便于外部器件(如8087協(xié)處理器)對(duì)8086/8088內(nèi)部指令隊(duì)列的動(dòng)作進(jìn)行跟蹤??偩€請(qǐng)求信號(hào)輸入/總線請(qǐng)求允許信號(hào)輸出,雙向,低電平有效,三態(tài)。供協(xié)處理器發(fā)出使用總線的請(qǐng)求信號(hào)和接收CPU對(duì)總線請(qǐng)求的回答信號(hào)。后者比前者的優(yōu)先級(jí)高??偩€封鎖信號(hào),輸出,低電平有效,三態(tài)。當(dāng)
為低電平時(shí),表示CPU獨(dú)占總線使用權(quán)。信號(hào)由指令前綴LOCK產(chǎn)生,而在LOCK后面的一條指令執(zhí)行完后,便撤銷了
信號(hào)。此信號(hào)是為避免多個(gè)處理器使用共有資源時(shí)產(chǎn)生沖突而設(shè)置的。2.2.38088的引腳特性8088和8086之間引腳上的不同主要表現(xiàn)在:(1)由于8088CPU外部一次只傳送8位數(shù)據(jù),因此其引腳A15~A8僅用于輸出地址信號(hào),而8086則將此8條線變?yōu)殡p向分時(shí)復(fù)用的AD15~AD8。(2)8086CPU上的信號(hào)在8088上變?yōu)?HIGH)信號(hào)。這是一條狀態(tài)輸出線,它與和信號(hào)一起,決定了8088CPU在最小模式下現(xiàn)行總線周期的狀態(tài)。HIGH在最大模式時(shí)始終為高電平輸出。(3)8088的存儲(chǔ)器/外設(shè)控制引腳是。2.38086/8088系統(tǒng)的工作模式與典型時(shí)序包括:8086/8088系統(tǒng)的工作模式指令周期與總線周期8086/8088系統(tǒng)的典型時(shí)序2.3.18086/8088系統(tǒng)的工作模式本節(jié)內(nèi)容:最小模式組成最大模式組成1.最小模式組成
當(dāng)=1時(shí),8086CPU工作在最小模式之下,即單處理器系統(tǒng)方式。此時(shí),構(gòu)成的微型機(jī)中只包括一個(gè)8086或8088CPU,且系統(tǒng)總線的所有控制信號(hào)都由CPU直接給出,系統(tǒng)中的總線控制邏輯電路被減到最少,適合于較小規(guī)模的應(yīng)用。8086最小模式下的典型配置
8086最小模式下的典型配置
1)時(shí)鐘發(fā)生器8284A8086/8088CPU所需的時(shí)鐘信號(hào)由外部的時(shí)鐘發(fā)生器提供。8284A是Intel公司專為8086設(shè)計(jì)的時(shí)鐘信號(hào)發(fā)生器,能產(chǎn)生8086所需的5MHz系統(tǒng)時(shí)鐘信號(hào),即系統(tǒng)主頻。8284A除提供恒定的時(shí)鐘信號(hào)外,還對(duì)外界輸入的準(zhǔn)備就緒信號(hào)RDY和復(fù)位信號(hào)進(jìn)行同步操作。8284A與8086的連接圖8284A與8086的連接2)地址鎖存器8282由于8086/8088的部分地址線和數(shù)據(jù)線采用分時(shí)復(fù)用的技術(shù),在一個(gè)總線周期內(nèi)總線首先傳送地址,然后傳送數(shù)據(jù)。在每個(gè)總線周期的T1狀態(tài)利用地址鎖存允許信號(hào)ALE的后沿,將地址信息鎖存到地址鎖存器內(nèi),經(jīng)鎖存后的地址信號(hào)可以在整個(gè)總線周期保持不變,從而為外部提供穩(wěn)定的地址信息。Intel8282是具有三態(tài)緩沖的單向8位鎖存器。使用時(shí),將8282的選通信號(hào)輸入端STB與ALE相連。當(dāng)ALE有效時(shí),8086的地址信號(hào)被鎖存并以同相方式傳至輸出端,供存儲(chǔ)器芯片和I/O接口芯片使用。8086除了20位地址外,也要鎖存,所以需要3片8282作為鎖存器。8282鎖存器與8086的連接8282鎖存器與8086的連接3)數(shù)據(jù)收發(fā)器8286當(dāng)系統(tǒng)中所連接的存儲(chǔ)器及I/O設(shè)備較多時(shí),為了使系統(tǒng)能穩(wěn)定工作,可以采用發(fā)送器和接收器來(lái)增加驅(qū)動(dòng)能力。發(fā)送器和接收器簡(jiǎn)稱為收發(fā)器,也常稱為總線驅(qū)動(dòng)器。Intel8286是8位雙向三態(tài)緩沖器。8286的數(shù)據(jù)線有兩組,A7~A0、B7~B0,引腳T用來(lái)控制數(shù)據(jù)傳輸?shù)姆较?,?dāng)T=1時(shí),方向?yàn)锳→B;當(dāng)T=0時(shí),方向?yàn)锽→A。是輸出允許信號(hào),當(dāng)它為0時(shí),允許數(shù)據(jù)傳送。8086的數(shù)據(jù)總線是16位,如果要選用8286做總線驅(qū)動(dòng)器,則需要2片。如果是較小規(guī)模的最小模式系統(tǒng),不需要總線驅(qū)動(dòng)器,那么就用CPU的、、組合起來(lái)決定系統(tǒng)中數(shù)據(jù)傳輸?shù)姆绞健?286收發(fā)器和8088的連接8286收發(fā)器和8088的連接2.最大模式組成
當(dāng)=0時(shí),8086CPU工作在最大模式。在最大模式下,構(gòu)成的微型計(jì)算機(jī)中除了有8086CPU之外,還可以接另外的CPU,如8087、8089等,以構(gòu)成多處理器系統(tǒng)。在最大模式系統(tǒng)中,系統(tǒng)的許多控制信號(hào)不再由8086直接發(fā)出,而是由總線控制器8288對(duì)8086發(fā)出的控制信號(hào)進(jìn)行變換和組合,從而得到各種系統(tǒng)控制信號(hào)。1)8086最大模式典型配置
圖2.138086最大模式典型配置2)8288總線控制器主要引腳信號(hào)8288的原理框圖2.3.2指令周期與總線周期本小節(jié)內(nèi)容:時(shí)鐘周期指令周期與總線周期1.時(shí)鐘周期時(shí)鐘周期是CPU的基本時(shí)間計(jì)量單位,是CPU工作的最小時(shí)間單位,也稱節(jié)拍脈沖或T周期,由主頻決定。對(duì)于8086來(lái)講,若其主頻為5MHz,則一個(gè)時(shí)鐘周期為200ns。2.總線周期與指令周期指令周期每條指令的執(zhí)行由取指令、分析指令和執(zhí)行指令等操作完成,執(zhí)行一條指令所需要的時(shí)間稱為一個(gè)指令周期。簡(jiǎn)單指令執(zhí)行時(shí)間就比較短,而復(fù)雜指令執(zhí)行的時(shí)間就比較長(zhǎng),因此,不同指令的指令周期是不相同的。一個(gè)指令周期由一個(gè)或幾個(gè)總線周期組成,一個(gè)總線周期又由若干個(gè)時(shí)鐘周期組成。2.指令周期與總線周期(續(xù))總線周期8086CPU通過(guò)總線對(duì)存儲(chǔ)器或I/O端口進(jìn)行一次信息的輸入或輸出過(guò)程,稱為總線操作,執(zhí)行該操作所需要的時(shí)間,稱為總線周期。在8086中,一個(gè)最基本的總線周期由4個(gè)時(shí)鐘周期組成,每個(gè)時(shí)鐘周期稱為T狀態(tài),因此基本總線周期用T1、T2、T3、T4表示。典型的8086總線周期序列典型的8086總線周期序列2.3.38086/8088的系統(tǒng)的典型時(shí)序本小節(jié)內(nèi)容:系統(tǒng)的復(fù)位和啟動(dòng)操作總線讀/寫操作1.系統(tǒng)的復(fù)位和啟動(dòng)操作RESET引腳至少維持4個(gè)時(shí)鐘周期的高電平信號(hào)時(shí),8086/8088復(fù)位。如果是初次加電引起的復(fù)位,則要求維持不小于50μs的高電平。8086/8088復(fù)位后將從內(nèi)存的FFFF0H處開(kāi)始執(zhí)行指令。因此,一般在該處放一條無(wú)條件轉(zhuǎn)移指令,轉(zhuǎn)移到系統(tǒng)程序的入口處。這樣系統(tǒng)一旦被啟動(dòng),便自動(dòng)進(jìn)入系統(tǒng)程序。8086的復(fù)位時(shí)序8086的復(fù)位時(shí)序2.總線讀/寫操作可以分為:總線讀操作(CPU從存儲(chǔ)器或I/O端口讀取數(shù)據(jù))總線寫操作(CPU將數(shù)據(jù)寫入存儲(chǔ)器或I/O端口)(1)最小模式下總線讀周期8086/8088CPU最小模式下總線讀周期時(shí)序(2)最小模式下總線寫周期8086/8088CPU最小模式下總線寫周期時(shí)序(3)最大模式下的總線讀操作最大模式下總線讀周期時(shí)序(4)最大模式下的總線寫操作最大模式下總線寫周期時(shí)序3.中斷響應(yīng)操作
當(dāng)8086/8088CPU收到外界從INTR引腳上送來(lái)的中斷請(qǐng)求信號(hào),并且滿足IF=1時(shí),CPU在執(zhí)行完當(dāng)前指令后,便執(zhí)行一個(gè)中斷響應(yīng)時(shí)序。8086/8088中斷響應(yīng)時(shí)序2.48086/8088的存儲(chǔ)器組織本小節(jié)內(nèi)容:小端存放和大端存放8086存儲(chǔ)器組織8088存儲(chǔ)器組織2.4.1小端存放和大端存放對(duì)于一個(gè)多字節(jié)數(shù)據(jù),可采用從高字節(jié)到低字節(jié)或相反的順序存放在主存中。由于存儲(chǔ)器按字節(jié)編址,當(dāng)數(shù)據(jù)的低字節(jié)存儲(chǔ)在低地址中,而高字節(jié)存放在高地址中,這種數(shù)據(jù)存放方式稱為小端存放;反之,當(dāng)數(shù)據(jù)的高字節(jié)存儲(chǔ)在低地址,而低字節(jié)存放在高地址中,這種數(shù)據(jù)存放方式稱為大端存放。數(shù)據(jù)存放方式2.4.2
8086存儲(chǔ)器組織8086存儲(chǔ)器的組織1.奇區(qū)和偶區(qū)8086的1MB存儲(chǔ)空間實(shí)際上分為兩個(gè)512KB的存儲(chǔ)體(又稱存儲(chǔ)庫(kù)),分別叫奇存儲(chǔ)體(奇區(qū))和偶存儲(chǔ)體(偶區(qū))。偶存儲(chǔ)體與數(shù)據(jù)總線D7~D0相連,該存儲(chǔ)體中每個(gè)地址均為偶數(shù)地址;奇存儲(chǔ)體與數(shù)據(jù)總線D15~D8相連,該存儲(chǔ)體中每個(gè)地址均為奇數(shù)地址。
、A0代碼表示的奇偶區(qū)的選擇2.
8086系統(tǒng)中信息的存放存儲(chǔ)器的物理組織分成了偶區(qū)和奇區(qū),但是,在邏輯結(jié)構(gòu)上,存儲(chǔ)單元是按地址順序排列的,每個(gè)字節(jié)信息只占一個(gè)單元,有唯一物理地址。相鄰的兩個(gè)字節(jié)被稱為一個(gè)“字”。字節(jié)信息(8位)在存儲(chǔ)器中按順序排列存放。字信息(16位)需占用兩個(gè)連續(xù)地址的單元,將每一個(gè)字的低字節(jié)存放在低地址中,高字節(jié)存放在高地址中,并以低地址作為該字的地址。雙字信息(32位,一般作為地址指針),需占用四個(gè)連續(xù)地址單元,其低位字是被尋址地址的偏移量;高位字是被尋址地址的段基址。
指令和數(shù)據(jù)在存儲(chǔ)器中的存放偶字節(jié)、奇字節(jié)、偶字和奇字偶字節(jié):字節(jié)信息存放單元的地址是偶地址奇字節(jié):字節(jié)信息存放單元的地址是奇地址偶字(規(guī)則字):字信息的低位字節(jié)從偶數(shù)地址開(kāi)始存放奇字(非規(guī)則字):字信息的低位字節(jié)從奇數(shù)地址開(kāi)始存放對(duì)偶字節(jié)、奇字節(jié)、偶字的存取可在一個(gè)總線周期內(nèi)完成。而奇字的存取需兩個(gè)總線周期:首先作奇字節(jié)讀/寫,然后作偶字節(jié)讀/寫。各種字節(jié)和字的讀操作示例2.4.3
8088存儲(chǔ)器組織由于每次傳送的是8位數(shù)據(jù),不存在奇偶存儲(chǔ)體的概念。存儲(chǔ)器的20位地址線A19~A0和8根數(shù)據(jù)線分別和8088CPU的對(duì)應(yīng)地址線與數(shù)據(jù)線相連。8088CPU每訪問(wèn)一次存儲(chǔ)器只讀/寫一個(gè)字節(jié)信息,而讀/寫一個(gè)字需要兩次訪問(wèn)存儲(chǔ)器才能完成。故在8088系統(tǒng)中,程序運(yùn)行速度比在8086系統(tǒng)中要慢些。2.532位微處理器1985年10月,Intel公司推出了32位微處理器80386,它與8086、80286相兼容,它是為多用戶、多任務(wù)操作系統(tǒng)設(shè)計(jì)的一種高集成度的芯片。該芯片采用32位數(shù)據(jù)總線、32位地址總線,直接尋址能力達(dá)4GB。本節(jié)內(nèi)容:32位微處理器8038632位微處理器Pentium多核處理器2.5.132位微處理器80386本節(jié)內(nèi)容:80386的特點(diǎn)80386的內(nèi)部結(jié)構(gòu)80386的寄存器結(jié)構(gòu)80386的工作方式1.80386的特點(diǎn)提供32位的指令。提供32位外部總線接口,最大數(shù)據(jù)傳輸速率為32Mbps。具有片內(nèi)集成的存儲(chǔ)器管理部件MMU,可支持虛擬存儲(chǔ)和特權(quán)保護(hù)。具有實(shí)地址方式、保護(hù)方式和虛擬8086方式。直接尋址能力達(dá)4GB。通過(guò)配用數(shù)值協(xié)處理器可支持高速數(shù)值處理。在目標(biāo)碼一級(jí)與8086、80286芯片完全兼容。2.80386內(nèi)部結(jié)構(gòu)80386的功能部件指令預(yù)取部件IPU指令預(yù)取部件IPU將存儲(chǔ)器中的指令按順序取到長(zhǎng)度為16B的指令預(yù)取隊(duì)列中,以便在CPU執(zhí)行當(dāng)前指令時(shí),指令譯碼部件IDU對(duì)下一條指令進(jìn)行譯碼。一旦指令隊(duì)列向指令譯碼部件輸送一條指令,指令隊(duì)列便會(huì)空出部分字節(jié),指令預(yù)取部件就會(huì)向總線接口部件發(fā)總線請(qǐng)求,如總線接口部件此時(shí)處于空閑狀態(tài),則會(huì)響應(yīng)此請(qǐng)求,從存儲(chǔ)器取指令填充指令預(yù)取隊(duì)列。指令譯碼部件IDU指令譯碼部件IDU中除了指令譯碼器外,還有譯碼指令隊(duì)列,此隊(duì)列能容納3條譯好碼的指令。只要譯碼指令隊(duì)列有剩余空間,譯碼部件就會(huì)從指令預(yù)取隊(duì)列取下一條指令進(jìn)行譯碼。執(zhí)行部件EU執(zhí)行部件EU包括運(yùn)算器ALU、1個(gè)64位的多位移位器加法器和8個(gè)32位的通用寄存器,它們共同執(zhí)行各種數(shù)據(jù)處理和運(yùn)算。執(zhí)行部件中還包括ALU控制部分和保護(hù)測(cè)試部分,前者實(shí)現(xiàn)有效地址的計(jì)算、乘除法的加速等功能,后者檢驗(yàn)指令執(zhí)行中是否符合涉及的存儲(chǔ)器分段規(guī)則。存儲(chǔ)器管理部件包括分段部件SU和分頁(yè)部件PU。分段部件SU管理面向程序員的邏輯地址空間,并且將邏輯地址轉(zhuǎn)換為線性地址;分頁(yè)部件PU管理物理地址空間,將分段部件或者指令譯碼部件產(chǎn)生的線性地址轉(zhuǎn)換為物理地址??偩€接口部件BIU總線接口部件BIU是80386和外界之間的高速接口。在80386內(nèi)部,指令預(yù)取部件從存儲(chǔ)器取指令時(shí),或者執(zhí)行部件在指令執(zhí)行過(guò)程中訪問(wèn)存儲(chǔ)器和外設(shè)以讀寫數(shù)據(jù)時(shí),都會(huì)發(fā)出總線請(qǐng)求,BIU會(huì)根據(jù)優(yōu)先級(jí)對(duì)這些請(qǐng)求進(jìn)行仲裁,從而有條不紊地服務(wù)于多個(gè)請(qǐng)求,并產(chǎn)生相應(yīng)的總線操作所需的信號(hào),包括地址信號(hào)、讀寫控制信號(hào)等。BIU也能實(shí)現(xiàn)80386和協(xié)處理器之間的協(xié)調(diào)控制。3.80386的寄存器結(jié)構(gòu)
有7類32個(gè)寄存器,它們是:通用寄存器段寄存器指令指針和標(biāo)志寄存器控制寄存器系統(tǒng)地址寄存器調(diào)試寄存器測(cè)試寄存器1)通用寄存器80386有8個(gè)32位通用寄存器,它們都是8086中16位通用寄存器的擴(kuò)展,故命名為EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP。仍然支持8位和16位操作,用法和8086系統(tǒng)相同,用來(lái)存放數(shù)據(jù)或地址。2)段寄存器80386有6個(gè)16位段寄存器:代碼段寄存器CS、堆棧段寄存器SS、數(shù)據(jù)段寄存器DS、和三個(gè)附加段寄存器ES、FS、GS。在實(shí)方式下,段寄存器的用法和8086相同,只是增加了兩個(gè)附加段寄存器FS、GS。在保護(hù)方式下,段寄存器稱為段選擇符,它與描述符配合實(shí)現(xiàn)段尋址。3)指令指針和標(biāo)志寄存器指令指針寄存器EIP(32位)用來(lái)存放下一條要執(zhí)行的指令的地址偏移量,尋址范圍為4GB。為了和8086相兼容,EIP的低16位可作為獨(dú)立指針I(yè)P來(lái)使用。32位的標(biāo)志寄存器EFR是在8086標(biāo)志寄存器基礎(chǔ)上擴(kuò)展而來(lái)。除保留8086CPU的6個(gè)狀態(tài)標(biāo)志CF、PF、AF、ZF、SF、、OF及三個(gè)控制標(biāo)志TF、IF、DF外,又增加了四個(gè)標(biāo)志IOPL、NT、RF、VM。80386的標(biāo)志寄存器80386的標(biāo)志寄存器4)控制寄存器80386內(nèi)部有3個(gè)32位的控制寄存器CR0、CR2、CR3(CR1未定義),用來(lái)保存機(jī)器的各種全局性狀態(tài),這些狀態(tài)影響系統(tǒng)所有任務(wù)的運(yùn)行,它們主要是供操作系統(tǒng)使用的。5)系統(tǒng)地址寄存器80386有4個(gè)系統(tǒng)地址寄存器,用來(lái)保護(hù)操作系統(tǒng)需要的保護(hù)信息和地址轉(zhuǎn)換表信息、定義目前正在執(zhí)行任務(wù)的環(huán)境、地址空間和中斷向量空間。分別是:GDTR 全局描述符表寄存器IDTR 中斷描述符表寄存器TR 任務(wù)狀態(tài)寄存器LDTR 局部描述符表寄存器6)調(diào)試寄存器80386有8個(gè)調(diào)試寄存器DR0~DR7用于設(shè)置斷點(diǎn)和進(jìn)行調(diào)試。7)測(cè)試寄存器80386有8個(gè)測(cè)試寄存器。其中TR0~TR5為Intel保留,TR6和TR7用于存儲(chǔ)器測(cè)試。TR6
是測(cè)試命令寄存器,TR7是測(cè)試數(shù)據(jù)寄存器,保存測(cè)試結(jié)果的狀態(tài)。4.80386的工作方式
有三種工作方式:實(shí)地址方式(realaddressmode):系統(tǒng)啟動(dòng)后,80386自動(dòng)進(jìn)入實(shí)地址方式。此方式下,采用類似于8086的體系結(jié)構(gòu)。保護(hù)方式(protectedvirtualaddressmode):是指在執(zhí)行多任務(wù)操作時(shí),對(duì)不同任務(wù)使用的虛擬存儲(chǔ)器空間進(jìn)行完全的隔離,保護(hù)每個(gè)任務(wù)順利執(zhí)行。虛擬8086方式(virtual8086mode):是指一個(gè)多任務(wù)的環(huán)境,即模擬多個(gè)8086的工作方式。保護(hù)方式是80386最常用的方式,通常開(kāi)機(jī)或復(fù)位后,先進(jìn)入實(shí)地址方式完成初始化,便立即轉(zhuǎn)到保護(hù)方式。只有在保護(hù)方式下,80386才能充分發(fā)揮其強(qiáng)大的功能和本性。而虛擬8086方式是80386中很重要的設(shè)計(jì)特點(diǎn),它可以使大量的8086軟件有效地與80386保護(hù)方式下的軟件并發(fā)運(yùn)行。
2.5.232位微處理器Pentium
本節(jié)內(nèi)容:Pentium的特點(diǎn)Pentium的內(nèi)部結(jié)構(gòu)Pentium的寄存器結(jié)構(gòu)Pentium系列微處理器的發(fā)展多核處理器1.Pentium的特點(diǎn)Pentium是Intel公司于1993年3月推出的第五代系列微處理器,它與8086、80286、80386及80486相兼容。Pentium采用了多項(xiàng)先進(jìn)技術(shù):CISC技術(shù)和RISC技術(shù)超標(biāo)量流水線技術(shù)重新設(shè)計(jì)的浮點(diǎn)部件獨(dú)立的指令Cache和數(shù)據(jù)Cache分支預(yù)測(cè)技術(shù)采用64位外部數(shù)據(jù)總線1)CISC技術(shù)和RISC技術(shù)復(fù)雜指令集計(jì)算機(jī)技術(shù)CISC(complexinstructionsetcomputer)和簡(jiǎn)化指令集計(jì)算機(jī)技術(shù)RISC(reducedinstructionsetcomputer)是基于不同理論和構(gòu)思的兩種不同的CPU設(shè)計(jì)技術(shù),CISC技術(shù)的產(chǎn)生和應(yīng)用均早于RISC。Intel公司在Pentium之前的CPU均屬于CISC體系,從Pentium開(kāi)始,將CISC和RISC相結(jié)合。Pentium的大多數(shù)指令是簡(jiǎn)化指令,但仍然保留了一部分復(fù)雜指令,而這部分指令采用硬件來(lái)實(shí)現(xiàn),因而Pentium吸取了兩者之長(zhǎng),實(shí)現(xiàn)了更高的性能。2)超標(biāo)量流水線技術(shù)所謂超標(biāo)量,是指一個(gè)處理器中有多條指令流水線。Pentium由“U”和“V”兩條指令流水線構(gòu)成超標(biāo)量流水線結(jié)構(gòu),其中,每條流水線都有獨(dú)立的ALU地址生成邏輯和Cache接口。在每個(gè)時(shí)鐘周期內(nèi)可執(zhí)行兩條整數(shù)指令,每條流水線分為指令預(yù)取、指令譯碼、地址生成、指令執(zhí)行和回寫5個(gè)步驟。當(dāng)一條指令完成預(yù)取步驟時(shí),流水線就可以開(kāi)始對(duì)另一條指令進(jìn)行操作,極大地提高了指令的執(zhí)行速度。3)重新設(shè)計(jì)的浮點(diǎn)部件Pentium內(nèi)部重新設(shè)計(jì)了一個(gè)增強(qiáng)型浮點(diǎn)運(yùn)算器FPU(floatprocessorunit)。在FPU中,采用快速硬件來(lái)實(shí)現(xiàn)浮點(diǎn)加、乘、除運(yùn)算,使其浮點(diǎn)運(yùn)算速度比前一代CPU至少提高3倍以上。同時(shí),用電路進(jìn)行固化,用硬件來(lái)實(shí)現(xiàn)ADD、MUL、INC、DEC、PUSH、POP、JMP、CALL及LOAD等常用指令,使這些常用指令的執(zhí)行速度大為提高。4)獨(dú)立的指令Cache和數(shù)據(jù)CachePentium片內(nèi)設(shè)置了兩個(gè)獨(dú)立的Cache,一個(gè)是指令Cache,另一個(gè)是數(shù)據(jù)Cache。Cache技術(shù)通過(guò)一種映像機(jī)制,使CPU在運(yùn)行程序時(shí),將原先需要訪問(wèn)主存儲(chǔ)器的操作大部分轉(zhuǎn)換為訪問(wèn)高速Cache的操作,有效減少了CPU訪問(wèn)相對(duì)速度較低的主存儲(chǔ)器的次數(shù),因此,提高了速度。指令和數(shù)據(jù)分別使用不同的Cache,使Pentium中數(shù)據(jù)和指令的存取減少了沖突,提高了性能。5)分支預(yù)測(cè)技術(shù)Pentium提供了一個(gè)小Cache,稱為分支目標(biāo)緩沖器BTB(branchtargetbuffer),來(lái)動(dòng)態(tài)地預(yù)測(cè)程序的分支操作。當(dāng)某條指令造成程序分支時(shí),BTB記下該條指令和分支目標(biāo)的地址,并用這些信息預(yù)測(cè)該條指令再次產(chǎn)生分支時(shí)的路徑,預(yù)先從該處預(yù)取,保證流水線的指令預(yù)取步驟不會(huì)空置。這一機(jī)構(gòu)的設(shè)置,可以減少在循環(huán)操作時(shí)對(duì)循環(huán)條件的判斷所占用的CPU的時(shí)間。6)采用64位外部數(shù)據(jù)總線Pentium內(nèi)部總線和通用寄存器是32位,所以仍屬32位微處理器。但其和內(nèi)存儲(chǔ)器相連的外部數(shù)據(jù)總線是64位,這使得在一個(gè)總線周期中,數(shù)據(jù)傳輸量提高了一倍。2.Pentium的內(nèi)部結(jié)構(gòu)Pentium的內(nèi)部結(jié)構(gòu)2.Pentium的內(nèi)部結(jié)構(gòu)(續(xù))總線部件實(shí)現(xiàn)CPU與系統(tǒng)總線的連接,其中包括64位數(shù)據(jù)線、32位地址線和眾多控制信號(hào)線。Pentium采用“U”和“V”兩條指令流水線,兩者獨(dú)立運(yùn)行。這兩條流水線中均有獨(dú)立的ALU,“U”流水線可執(zhí)行所有的整數(shù)運(yùn)算指令,“V”流水線只能執(zhí)行簡(jiǎn)單的整數(shù)運(yùn)算指令和數(shù)據(jù)交換指令。Pentium片內(nèi)設(shè)置了兩個(gè)8KB的相互獨(dú)立的Cache,減少了指令預(yù)取和數(shù)據(jù)操作之間可能發(fā)生的沖突,并可提高命中率。兩個(gè)Cache分別配置了專用的轉(zhuǎn)換檢測(cè)緩沖器TLB(translationlook-asidebuffer),用來(lái)將線性地址轉(zhuǎn)換為Cache的物理地址。Pentium的數(shù)據(jù)Cache有兩個(gè)端口,分別用于兩條流水線,以便能在相同的時(shí)間段中分別和兩個(gè)獨(dú)立工作的流水線進(jìn)行數(shù)據(jù)交換。2.Pentium的內(nèi)部結(jié)構(gòu)(續(xù))指令預(yù)取部件每次取兩條指令,如果是簡(jiǎn)單指令,并且后一條指令不依賴于前一條指令的執(zhí)行結(jié)果,那么,指令預(yù)取部件便將兩條指令分別送到“U”流水線和“V”流水線獨(dú)立執(zhí)行。指令Cache、指令預(yù)取部件將原始指令送到指令譯碼器,分支目標(biāo)緩沖器BTB則在遇到分支轉(zhuǎn)移指令時(shí)用來(lái)預(yù)測(cè)轉(zhuǎn)移是否發(fā)生。浮點(diǎn)處理部件FPU主要用于浮點(diǎn)運(yùn)算,內(nèi)含專用的加法器、乘法器、除法器??刂芌OM中,含有Pentium的微代碼;而控制部件直接控制流水線。3.Pentium的寄存器結(jié)構(gòu)Pentium的寄存器分為如下幾類:基本寄存器組:包括通用寄存器、指令寄存器、標(biāo)志寄存器、段寄存器;系統(tǒng)寄存器組:包括地址寄存器、調(diào)試寄存器、控制寄存器、模式寄存器;浮點(diǎn)寄存器組:包括數(shù)據(jù)寄存器、標(biāo)記字寄存器、狀態(tài)寄存器、控制字寄存器、指令指針寄存器和數(shù)據(jù)指針寄存器。其中,系統(tǒng)寄存器組只供系統(tǒng)程序訪問(wèn),而其它兩組寄存器則供系統(tǒng)程序和應(yīng)用程序共同訪問(wèn)。1)基本寄存器組和80386相比,Pentium中的基本寄存器,除了標(biāo)志寄存器外,其余寄存器不變。Pentium對(duì)標(biāo)志寄存器作了擴(kuò)充,擴(kuò)充的標(biāo)志位所對(duì)應(yīng)的含義如圖所示。Pentium的標(biāo)志寄存器2)系統(tǒng)寄存器組地址寄存器、調(diào)試寄存器同80386,控制寄存器和803
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度美團(tuán)商家食品安全監(jiān)管與服務(wù)協(xié)議4篇
- 2025版售后客服外包服務(wù)費(fèi)用年度總結(jié)合同2篇
- 中介協(xié)助個(gè)人住宅租賃協(xié)議樣本版A版
- 2025版醫(yī)療機(jī)構(gòu)與保險(xiǎn)機(jī)構(gòu)合作協(xié)議范本4篇
- 2025年度智能安防系統(tǒng)項(xiàng)目監(jiān)理合同2篇
- 2025年度裝配式建筑產(chǎn)業(yè)基地承包施工合同4篇
- 二零二五版泉水潺流會(huì)計(jì)崗位勞動(dòng)合同培訓(xùn)與晉升協(xié)議2篇
- 2025標(biāo)前新型建筑材料研發(fā)與應(yīng)用合作協(xié)議3篇
- 2025年鴨苗養(yǎng)殖戶與孵化廠合作銷售合同范本3篇
- 2024食品代加工保密協(xié)議及食品安全風(fēng)險(xiǎn)評(píng)估合作協(xié)議3篇
- 機(jī)電安裝工程安全培訓(xùn)
- 洗浴部前臺(tái)收銀員崗位職責(zé)
- 2024年輔警考試公基常識(shí)300題(附解析)
- GB/T 43650-2024野生動(dòng)物及其制品DNA物種鑒定技術(shù)規(guī)程
- 暴發(fā)性心肌炎查房
- 工程質(zhì)保金返還審批單
- 【可行性報(bào)告】2023年電動(dòng)自行車項(xiàng)目可行性研究分析報(bào)告
- 五月天歌詞全集
- 商品退換貨申請(qǐng)表模板
- 實(shí)習(xí)單位鑒定表(模板)
- 數(shù)字媒體應(yīng)用技術(shù)專業(yè)調(diào)研方案
評(píng)論
0/150
提交評(píng)論