




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 第2章 微處理器 本章內(nèi)容提要 敘述馮諾依曼模式計算機的存儲程序原理和工作過程、 微處理器的基本結(jié)構(gòu)及其發(fā)展, 介紹Pentium微處理器的創(chuàng)新技術(shù), 分析微處理器的引腳信號和工作模式,講解微處理器總 線周期。 2.1 簡單微型計算機 2.2 微處理器結(jié)構(gòu) 2.3 微處理器引腳信號與工作模式 2.4 微處理器總線周期 2.1 簡單微型計算機 2.1.1 基本結(jié)構(gòu) 2.1.2 工作原理 2.1.3 簡單程序執(zhí)行過程 2.1.1 基本結(jié)構(gòu) 1. 微型計算機結(jié)構(gòu)框圖 微型計算機硬件基本結(jié)構(gòu) 運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備 運算器和控制器合稱為中央處理器CPU。 三類總線連接系統(tǒng)的上,輸
2、入/輸出設(shè)備通過I/O接口 掛接在總線上。 單一總線結(jié)構(gòu)使微型機結(jié)構(gòu)簡單,易于擴充,奠定了 產(chǎn)品標(biāo)準(zhǔn)化、模塊化基礎(chǔ)。 1. 微型計算機結(jié)構(gòu)框圖 微型計算機基本結(jié)構(gòu) 1. 微型計算機結(jié)構(gòu)框圖(續(xù))簡化的保持了CPU主要特征的簡單微型計算機結(jié)構(gòu) 該CPU包含運算器ALU、控制器和寄存器組,由內(nèi)部總線相連; 該機機器字長8位,內(nèi)部寄存器為8位,外部數(shù)據(jù)總線DB也是8 位;基本上與Intel 8080 CPU相對應(yīng)。1. 微型計算機結(jié)構(gòu)框圖(續(xù)) 虛線右邊是容量為256個字節(jié)存儲單元的存儲器,故指示存儲 單元的地址總線AB也只有8位 2微處理器CPU CPU基本功能: 指明將要執(zhí)行的指令的存儲單元地址
3、;取出指令并進行 譯碼; 執(zhí)行指令,進行各種運算和處理,暫存少量數(shù)據(jù); 傳送數(shù)據(jù);在CPU內(nèi)部傳送數(shù)據(jù)以及與外界交換數(shù)據(jù); 對各部件進行控制; 響應(yīng)其它部件發(fā)出的中斷請求和總線請求;等等。 CPU中主要功能部件 寄存器組:功能存放數(shù)據(jù)和地址 種類通用寄存器、特殊寄存器 、 累加器A(Accumulator) 標(biāo)志寄存器F(Flag) 2微處理器CPU 算術(shù)邏輯單元ALU(Arithmetic Logical UnitArithmetic Logical Unit) 功能:完成各種算術(shù)運算、邏輯運算和其它操作 構(gòu)成:主要有加法器、移位電路、門控制電路等 控制器 功能:源源不斷地從內(nèi)存儲器取指令,
4、并對之譯碼,產(chǎn)生 為完成該條指令而必須供給計算機各部件的操作控 制信號 構(gòu)成:程序計數(shù)器PC控制對指令的讀取 數(shù)據(jù)寄存器DR存放讀或?qū)懙臄?shù)據(jù) 數(shù)據(jù)寄存器DR存放讀或?qū)懙臄?shù)據(jù) 指令譯碼器ID對指令進行分析、譯碼,供操 作控制部件按時序產(chǎn)生各種不同的操作控制信號 去控制各部件協(xié)調(diào)工作。 時序部件產(chǎn)生計算機系統(tǒng)各個部件所需要的 時序信號。 3. 總線(BUS) 功能:各部件之間傳送信息的公共通道 種類:數(shù)據(jù)總線DB、地址總線AB和控制總線CB(1)數(shù)據(jù)總線:CPU、存儲器或I/O端口等部件之間傳遞數(shù)據(jù), 寬度(根數(shù))通常與計算機的字長一致, 傳輸方向雙向 (2)地址總線:傳送存儲單元或I/O端口的地
5、址信息, 地址總線一般由CPU輸出給存儲器或I/O端口(3)控制總線:CPU控制器發(fā)往各部件的控制信號線 各部件反饋給CPU的狀態(tài)信號線 4. 存儲器 (Memory storage) 存儲器功能:存儲二進制代碼數(shù)據(jù)和程序,是記憶部件。 存儲器種類:內(nèi)存儲器(主存儲器)和外存儲器(輔助存儲器) 存儲矩陣:存儲單元按行列排列成的矩陣 存儲地址:存儲矩陣中每一個單元的唯一編號 地址譯碼電路和讀/寫控制電路:存儲矩陣的外圍電路。地址信息經(jīng) 地址譯碼器AD譯碼后得到一個地址,從而找到相應(yīng)的存儲 單元,再由讀/寫控制電路控制對該單元進行讀/寫操作。 存儲器操作:讀操作(從指定的存儲單元取出數(shù)據(jù)) 寫操作
6、(向指定的存儲單元寫入數(shù)據(jù))。2.1.2 工作原理 1存儲程序的概念 程序是人們?yōu)榻鉀Q某個實際問題而事先設(shè)計好的具體的操作 步驟,由指示計算機執(zhí)行具體操作的有序命令(即指令)序 列組成,并被存儲在存儲器中,計算機的整個工作過程就是 周而復(fù)始地從存儲器中取出指令、分析指令和執(zhí)行指令。2從問題到程序 問題:計算8+20=? 程序:助記符指令 指令類型 機器指令代碼 (操作碼) (操作數(shù)) MOV A,08H ;傳送指令 10000110 00001000 ADD A,14H ;加法指令 10001011 00010100 HLT ;暫停指令 11110100 存儲程序2.1.3 簡單程序執(zhí)行過程
7、(1)取第一條指令操作碼)取第一條指令操作碼 2.1.3 簡單程序執(zhí)行過程(續(xù))(2)執(zhí)行第一條指令操作)執(zhí)行第一條指令操作 2.1.3 簡單程序執(zhí)行過程(續(xù))(3)取第二條指令操作碼)取第二條指令操作碼 2.1.3 簡單程序執(zhí)行過程(續(xù)) 執(zhí)行第二條指令:取立即數(shù)并相加 2.1.3 簡單程序執(zhí)行過程 (續(xù))取出并執(zhí)行第三條指令取出并執(zhí)行第三條指令 2.2 微處理器結(jié)構(gòu)微處理器結(jié)構(gòu) 2.2.1 第一代微處理器的結(jié)構(gòu)1. 8086/8088 CPU的內(nèi)部結(jié)構(gòu) 1. 8086/8088 CPU的內(nèi)部結(jié)構(gòu)(續(xù))(1)總線接口部件BIU BIU組成:地址加法器、專用寄存器組、指令隊列緩沖器 總線控制電
8、路 BIU功能:負(fù)責(zé)完成CPU與存儲器或I/O設(shè)備間的數(shù)據(jù)傳送 地址加法器把來自于段寄存器的16位地址(段首 地址)左移4位后與16位偏移地址相加,形成20位的實 際地址,以對1M字節(jié)的存儲空間進行尋址。 指令隊列:6個字節(jié)(8088為4個字節(jié)),一旦指令隊 列中空出2個(8086)或1個(8088)字節(jié),BIU將自動 進入讀指令操作以填滿指令隊列。 專用寄存器組:段寄存器、指令指針寄存器IP、內(nèi)部 通訊寄存器 總線控制電路:將CPU的內(nèi)部總線與外部總線相連,是 CPU與外部交換數(shù)據(jù)的通路。 (2)指令執(zhí)行部件EU EU組成:算術(shù)邏輯運算單元ALU、標(biāo)志寄存器FR、 寄存器組、EU控制器 EU
9、功能:執(zhí)行指令、進行數(shù)據(jù)處理。(3)EU和BIU并行操作:同時完成取指/操作數(shù)和執(zhí)行指令操作 2. 8086/8088寄存器結(jié)構(gòu) (1) 通用寄存器組 數(shù)據(jù)寄存器:4個16位的寄存器AX、BX、CX和DX8個8位 寄存器:AH、AL、BH、BL、CH、CL、DH和DL 指針寄存器:堆棧指針SP、基址指針BP 指示當(dāng)前堆棧段中的數(shù)據(jù)在段內(nèi)的偏移地址 變址寄存器:源變址寄存器SI、目標(biāo)變址寄存器DI 表示當(dāng)前數(shù)據(jù)段或附加段中操作數(shù)的索引地 址(偏移地址的一部分) (2) 存儲器分段和段寄存器 存儲器分段:1M字節(jié)的存儲空間可分成若干個邏輯段, 每段最長為64K字節(jié), 段首地址的高16位稱作段基址,
10、用段寄存器 表示 段寄存器:代碼段寄存器CS,指示當(dāng)前代碼段的段基址 數(shù)據(jù)段寄存器DS,指示當(dāng)前數(shù)據(jù)段的段基址 附加段寄存器ES,指示當(dāng)前附加段的段基址 堆棧段寄存器SS,指示當(dāng)前堆棧段的段基址 邏輯地址:指令中用段寄存器和偏移量表示的存儲單元地址2. 8086/8088寄存器結(jié)構(gòu)(續(xù))(3)標(biāo)志寄存器FR FR 16位,只定義了9位。9個標(biāo)志位分成兩類: 狀態(tài)標(biāo)位:CF、PF、AF、ZF、SF和OF; 表示算術(shù)邏輯運算結(jié)果的特征 控制標(biāo)志位: IF、DF、TF;程序設(shè)置,控制CPU的操作 CF(Carry Flag):進位標(biāo)志位 算術(shù)運算時有進位或借位時CF=1,否則CF=0; 邏輯運算總使
11、CF=0,移位操作總使移出位進入CF。 PF(Parity Flag):奇偶校驗標(biāo)志位 運算結(jié)果低8位中含有偶數(shù)個“1”時,PF=1;否則PF=0。 AF(Auxiliary Carry Flag):輔助進位標(biāo)志位 8位數(shù)算術(shù)運算時,低4位向高4位產(chǎn)生進位或借位時AF=1; 否則AF=0。 ZF(Zero Flag):零標(biāo)志位 運算結(jié)果為0,則ZF=1;否則ZF=0。 SF(Sign Flag):符號標(biāo)志位 算術(shù)運算結(jié)果為負(fù)數(shù),SF=1;否則SF=0。2. 8086/8088寄存器結(jié)構(gòu)(續(xù))OF(Overflow Flag):溢出標(biāo)志位 算術(shù)運算結(jié)果溢出,OF=1;否則OF=0。IF(Inte
12、rrupt Enable Flag):中斷允許標(biāo)志位 IF=1,允許CPU響應(yīng)INTR外部中斷請求;IF=0則禁止DF(Direction Flag):方向標(biāo)志位 控制字符串指令操作的步進方向:DF=1使串地址指針自動減 量(字節(jié)操作減1,字操作減2),即串操作由高地址向低地址 方向進行;DF=0使串地址指針自動增量,串操作由低地址向 高地址方向進行。 TF(Trap Flag):單步標(biāo)志位(也稱陷阱標(biāo)志) TF=1使CPU以單步方式執(zhí)行程序,即CPU每執(zhí)行完一條指 令就自動產(chǎn)生一次內(nèi)部中斷,顯示指令執(zhí)行后的結(jié)果狀態(tài); TF=0使CPU連續(xù)執(zhí)行指令。(4)指令指針I(yè)P 16位IP,指示將要執(zhí)行
13、的下一條指令在當(dāng)前代碼段中的偏移地址。 下一條指令的物理地址:CS16IP2.2.2 微處理器結(jié)構(gòu)的發(fā)展 180286微處理器 內(nèi)部結(jié)構(gòu):執(zhí)行部件EU、地址部件AU、總線部件BU、指令部件IU 取指令、指令譯碼、執(zhí)行指令重疊進行。引腳:QFP(Quad Flat Package)68腳封裝 地址總線24條:A23A0,可尋址16MB存儲空間; 數(shù)據(jù)總線16條:D15D0,一次可傳輸16/8位數(shù)據(jù); 控制總線16條:8位輸出狀態(tài)線,8位輸入控制線。 CPU的時鐘頻率提高到625MHz。內(nèi)部寄存器:結(jié)構(gòu)與8086/8088基本相同,增加了: 16位機器狀態(tài)字MSW,實際只定義了其中的低4位; 標(biāo)志
14、寄存器FLAGS增加了兩個標(biāo)志位(共3bit)。引進存儲器管理的保護工作模式 16位段寄存器指向段描述符表,所指向的段描述符(共6個 字節(jié))提供24位(3個字節(jié))的段首地址(即段基址)。280386微處理器 內(nèi)部結(jié)構(gòu):指令預(yù)取部件IPU、指令譯碼部件IDU、 總線接口部件BIU 、執(zhí)行部件EU(Execution Unit)、 分段部件SU、分頁部件PU。流水線操作:6個邏輯單元并行實現(xiàn)取指令、指令譯碼、生成操 作數(shù)地址、執(zhí)行指令操作,達四級并行流水。80386內(nèi)部結(jié)構(gòu)如下圖所示。280386微處理器(續(xù))總線接口部件BIU:32位地址總線和32位數(shù)據(jù)總線 可尋址4GB(=232B)的物理存儲
15、空間 讀/寫32位存儲器數(shù)據(jù)2個時鐘周期 可動態(tài)改變數(shù)據(jù)寬度:支持32/16/8位操作IPU預(yù)取指令,IDU對預(yù)取的指令進行譯碼: 譯碼的結(jié)果存放在已譯碼指令隊列中,供執(zhí)行部 件直接調(diào)用執(zhí)行。執(zhí)行部件:8個32位通用寄存器其低半部分與8086/8088、 80286的16位寄存器具有相同的特性,完全兼容。 乘除硬件大大加快乘除法運算速度 64位桶形移位器加速移位、循環(huán)和乘除法操作, 可使典型的32位乘法在1s內(nèi)完成。內(nèi)部寄存器:32個,7類。 16位寄存器6個段寄存器CS、DS、ES、FS、GS和SS 局部描述符表寄存器LDTR、任務(wù)狀態(tài)段TR 32位寄存器22個 48位擴展寄存器全局描述符表
16、寄存器GDTR 中斷描述符表寄存器IDTR280386微處理器(續(xù)) 描述符表:每個描述符包括8個字節(jié),其中4個字節(jié)提供32位的段 基址。段寄存器指向段描述符表。分段部件:根據(jù)邏輯地址對內(nèi)存分段尋址,可實現(xiàn)任務(wù)之間的隔 離,也可實現(xiàn)指令和數(shù)據(jù)區(qū)的再定位。分頁部件:對段進行分頁尋址,每頁大小固定(一般為4KB), 每段可包括若干頁。分段分頁為虛擬存儲管理提供了 有效方法。虛擬8086模式:在保護模式下劃分出一部分資源仿真8086/8088 微處理器; 可開辟多個這樣的環(huán)境,按多任務(wù)方式運行。380486微處理器 內(nèi)部結(jié)構(gòu):與80386差不多,作了如下改進 n取指、譯碼和執(zhí)行部件擴展成五級流水線
17、n增加了8KB的高速緩存Cache n浮點處理部件FPU被集成到微處理器芯片內(nèi)部 n總線接口部件功能更強,增加了一些新的引腳 n標(biāo)志寄存器擴充了一位,后期產(chǎn)品引入節(jié)能和其它系統(tǒng)管理功能。 4. Pentium微處理器 內(nèi)部寄存器組:32位內(nèi)部數(shù)據(jù)通道:128位和256位,內(nèi)部數(shù)據(jù)傳輸大大加快標(biāo)志寄存器EFLAGS:擴充為32位,有效定義了18位 保持對80 x86的兼容 80286新增兩個標(biāo)志位:IOPL和NT IOPL(Input/Output Privilege:輸入/輸出特權(quán)級):b12b13 表示指令操作權(quán)限和級別:0(00)、1(01)、2(10)和3(11)四級 0是最高特權(quán)級,一
18、般為操作系統(tǒng)核心程序使用 3是最低級,通常為用戶程序使用。 NT(Nest:嵌套):b14 NT=1當(dāng)前任務(wù)嵌套于某個任務(wù)中,當(dāng)前任務(wù)執(zhí)行完畢 要返回到原來的任務(wù)中 NT=0沒有任務(wù)嵌套,4. Pentium微處理器(續(xù)) 80386擴充兩個標(biāo)志位:RF和VM RF(Resume Flage:恢復(fù)標(biāo)志):b16 RF=1時,不管調(diào)試中發(fā)生什么故障,立即越過故障執(zhí)行下 條指令;成功地執(zhí)行完一條指令(無故障)后RF=0 VM(Virtual Mode:虛擬模式):b17 由任務(wù)轉(zhuǎn)換設(shè)置使VM=1。 在保護方式下,若當(dāng)前特權(quán)級=0則IRET指令使VM=1, 任何特權(quán)級下VM不受POPF指令影響,PU
19、SH指令總使該位清0。 80486擴充一位:AC AC(Alingment Check:對齊檢查):b18 AC=1在用戶方式(特權(quán)級為3)則對存儲器訪問進行定位 對齊檢查,未從偶地址尋址存儲器就產(chǎn)生定位故障 AC=0不進行定位檢查。 Pentium擴充了三個標(biāo)志位:VIF、VIP和ID VIF(Virtual Interrupt:虛擬中斷)位:b19 ,中斷標(biāo)志的虛擬映像。 VIF=1表示允許虛擬86方式擴充(CR4.VME=1) 或保護方式虛擬中斷(CR4.PVI=1),否則為0。4. Pentium微處理器(續(xù)) VIP(Virtual Interrupt Pending:虛擬中斷掛起)
20、位:b20 指示虛擬中斷是否掛起。 當(dāng)禁止虛擬86方式擴充(CR4.VME=0)或禁止保護方式虛擬中斷 (CR4.PVI=0)時,該位強制為0。 ID(Identification:標(biāo)識)位:b21 微處理器ID指令(CPUID)存在位 ID=1,表示程序可以設(shè)置和清除ID位。 復(fù)位后標(biāo)志寄存器EFLAGS內(nèi)容為00000002H。 32位控制寄存器:CR0、CR2、CR3、CR4 CR0:定義了11個控制位和狀態(tài)位(80386定義了6位, 80286則是16位的機器狀態(tài)字,只定義了其中的4位) CR2:頁故障線性地址寄存器,保存著頁故障異常中斷之前所訪問 的最后一個頁面的32位線性地址。 C
21、R3:頁目錄表基址寄存器 CR4:新設(shè)控制寄存器,定義了6位,允許對80486結(jié)構(gòu)做某寫擴充。 32位調(diào)試寄存器DR和32位測試寄存器TR Pentium外部地址總線32位,可尋址4GB存儲空間 外部數(shù)據(jù)總線64位,支持突發(fā)數(shù)據(jù)傳輸。4. Pentium微處理器(續(xù))指令流水線: u-流水線、v-流水線 u-流水線可以執(zhí)行所有的整數(shù)指令和浮點指令 v-流水線可以執(zhí)行整數(shù)指令和一條異常的Fxch指令 流水線設(shè)置獨立地址生成邏輯、算術(shù)邏輯運算部件 數(shù)據(jù)高速緩存接口 指令執(zhí)行 整數(shù)流水線有5個流水級(與80486相同):IP指令預(yù)取、 ID指令譯碼、AG地址生成、IE指令執(zhí)行、WB回寫 超級浮點流水
22、線由8個獨立的流水級組成 (前4個流水級與整數(shù)流水線一樣) 每時鐘執(zhí)行: 兩條整數(shù)指令,或者 一條整數(shù)或浮點Fxch指令(在v中)和一條浮點指令(在u中) 一級高速緩存L1 Cache:8KB指令Cache和8KB數(shù)據(jù)Cache,互相獨立。 取指和讀/寫數(shù)據(jù)并行操作。片內(nèi)還引入 分支預(yù)測表:提高循環(huán)結(jié)構(gòu)的執(zhí)行性能PGA封裝,237個引腳5. Pentium pro/微處理器 第六代微處理器Pentiumpro/II/的內(nèi)部結(jié)構(gòu)主要由四個處理部件和一個存儲子系統(tǒng)組成 存儲器子系統(tǒng): 負(fù)責(zé)取指令構(gòu)成系統(tǒng)總線、第二級高速緩存L2 Cache、總線接口部件、第一級指令高速緩存L1 Cache第一級數(shù)據(jù)
23、高速緩存L1 Cache存儲器重新排序緩沖器 5. Pentium pro/微處理器(續(xù)) 取指/譯碼部件:主要負(fù)責(zé)取指令和指令譯碼。 構(gòu)成取指部件、分支目標(biāo)緩沖器、指令譯碼器、 微代碼指令序列器、換名寄存器等 指令緩沖池(Instruction Pool/Reorder Buffer): 負(fù)責(zé)對微操作碼流按內(nèi)容尋址來重新排序,以便派遣/執(zhí)行部件 超順序執(zhí)行。 構(gòu)成:重新排序緩沖器派遣/執(zhí)行部件(Dispatch/Execute Unit):負(fù)責(zé)指令超序執(zhí)行 構(gòu)成:駐留站、兩個整數(shù)執(zhí)行部件和地址形成部件退回部件(Retirement Unit): 按原始程序順序退回已完成的微操作碼流,負(fù)責(zé)執(zhí)行
24、結(jié)果的回 寫操作。 構(gòu)成:退回部件和退回寄存器文件組流水操作:超大規(guī)模的三路超級流水線,對取指令、執(zhí)行指令操作進步 細(xì)化,順序處理的前端部件、超序處理的內(nèi)核和順序處理的 退回部件實現(xiàn)了超前預(yù)測、超序執(zhí)行 進一步提高了操作的并行度和連續(xù)性指令執(zhí)行速度:每個CPU時鐘可執(zhí)行3條指令,流水操作達到14級。5. Pentium pro/微處理器 (續(xù))引線與封裝:64位外部數(shù)據(jù)線 地址線擴展為36位,可尋址64G的地址空間。 Pentium Pro:PGA封裝,387個引腳 Pentium II:獨立接插式的Slotl封裝,242個引腳。 Pentium:先Slot1后PGA封裝,370個引腳 對應(yīng)插
25、座為Socket 370。6. P4微處理器 內(nèi)部結(jié)構(gòu):總線接口部件、整數(shù)組件、浮點組件、指令組件 分支目標(biāo)緩沖器組件、Cache組件和隊列組件等 NetBurst微架構(gòu)設(shè)計,提升了處理器的速度。 集成的BTB分支目標(biāo)緩沖器(4KB) 存儲分支預(yù)測運算單元前幾次所做的分支預(yù)測的跳轉(zhuǎn)操作結(jié)果 加入“高級分支預(yù)測運算單元” 使分支預(yù)測的準(zhǔn)確性達到93%94%,超過Pentium III 分支預(yù)測能力33%。6. P4微處理器(續(xù))Pentium4內(nèi)部結(jié)構(gòu)6. P4微處理器(續(xù))首次集成Trace Cache(跟蹤緩存,12KB) 存儲片內(nèi)解碼單元送出來的微操作指令(可多達1200條) 解決了預(yù)測錯
26、誤后的微操作指令重新獲取的問題首次引入HT(Hyper Threading:超線程)技術(shù)(3.06GHz以上) 一個物理處理器可以同時執(zhí)行兩個獨立的代碼流7. 64位微處理器 64位處理器Itanium(安騰): Intel于2002年正式推出 組織結(jié)構(gòu):采用大量寄存器和多個執(zhí)行單元 Itanium2(安騰2)片內(nèi)集成 6個整數(shù)單元、4個指令存取單元、2個浮點/SIMD單元、 3個分支處理單元,以及328個寄存器(其中包括64位整 數(shù)寄存器128個、82位浮點寄存器128個)。 LIW(長指令字) 將幾條指令捆綁成一條128位長的指令束來加快處理速度, Itanium浮點運算能力最高達64億次
27、/秒 處理器引入EPIC(顯式并行)設(shè)計理念 使每個指令周期可執(zhí)行約20條指令 三級高速緩存Cache:一、二級裝載于內(nèi)核中 三級緩存可在片外或整合于片內(nèi)2.2.3 微處理器新技術(shù) 1. 流水線與并行執(zhí)行技術(shù) Pentium 4設(shè)置流水線為32條,每條流水線分為20級流水并行執(zhí)行2.2.推測執(zhí)行技術(shù) 推測執(zhí)行技術(shù)在微處理器中設(shè)置一個分支目標(biāo)緩沖器BTB,在取指階 段進行分支預(yù)測,以保證取指部件按照指令代碼的執(zhí)行順序取指令, 而不是完全按照程序指令在內(nèi)存中的存放順序取指令。 分支目標(biāo)緩沖器BTB中保存有曾經(jīng)發(fā)生分支的歷史記錄,在BTB中檢 查有否關(guān)于這些指令的地址記錄; 動態(tài)預(yù)測:若檢查到BTB
28、中某條指令的地址記錄(在進入譯碼器之 前) ,則BTB就動態(tài)地預(yù)測到一個分支,禁止指令數(shù)據(jù)再進入流 水線,修改IP值,從分支目標(biāo)處取指令進入流水線。 靜態(tài)預(yù)測:若沒有檢查到BTB中某條指令的地址記錄則指令數(shù)據(jù) 進入譯碼器,譯碼器在譯碼時檢測到有分支發(fā)生,通過靜態(tài)預(yù)測 算法測出分支目標(biāo)地址送IP,廢除流水線中分支轉(zhuǎn)移指令后的指 令代碼序列,根據(jù)IP值從分支目標(biāo)處取指令進入流水線,并且新 的分支目標(biāo)被送入BTB保存。 正確地預(yù)測可加快指令的執(zhí)行速度。 動態(tài)分支預(yù)測較早(在取指階段而不是譯碼階段),靜態(tài)分支預(yù)測 較遲(在譯碼階段而不是取指階段);一旦發(fā)生分支,靜態(tài)預(yù)測時 進入到流水線的作廢指令相對要
29、多一些。 2.2.3 微處理器新技術(shù)(續(xù))3. 超序執(zhí)行技術(shù) OOO(Out of Order Operating:超序執(zhí)行)技術(shù)利用寄存器換名部件 將指令去相關(guān),進入緩沖池重新排序,盡快超序執(zhí)行指令。超序執(zhí)行 須有某些特定功能部件(如寄存器換名部件、微指令緩沖器、超序執(zhí) 行部件、結(jié)果退回部件等)的支持,充分動用計算機中各種物理與邏 輯資源,最大限度地盡快執(zhí)行指令。4. 精簡指令集計算機RISC技術(shù) IBM公司在軟件開發(fā)過程中發(fā)現(xiàn):匯編生成的總代碼90%以上是只占 復(fù)雜指令集計算機CISC指令集中不足10%的指令。為充分發(fā)揮微處 理器取指、譯碼的有效性,設(shè)計了RISC(Reduced Inst
30、ruction Set Computer:精簡指令集計算機)。 RISC指令格式種類少,每條指令經(jīng)匯編后生成的二進制代碼長度相 同,在存儲器中存放規(guī)整,取指令時以指令長度的整數(shù)倍取入,使 微處理器內(nèi)各個取指部件、譯碼部件及后面相關(guān)執(zhí)行部件的設(shè)計變 得簡單而有效,而且提高了取指與譯碼的效率,提升整體運行速度。 RISC指令尋址方式簡單,只需參照一次主存,能在單一時鐘內(nèi)完成 取指。這使得RISC指令更容易在流水線中執(zhí)行。 RISC計算機需要很大的寄存器陣列、容量更大的存儲系統(tǒng)及高速緩 存Cache來保證其功能的充分發(fā)揮。2.2.3 微處理器新技術(shù)(續(xù)) 采用RISC技術(shù)設(shè)計的處理器又使用CISC指
31、令來減少對存儲 器的需求,在片內(nèi)添加超標(biāo)度執(zhí)行部件、更強的浮點單元和 更大容量的片內(nèi)Cache,既獲得了RISC的速度,又保證了 CISC的兼容性,形成了CRISC技術(shù)。5. 多媒體SIMD指令集 MMX指令集 57條指令1條狀態(tài)切換指令(EMMS)、4條數(shù)據(jù)傳輸 指令(MOV)、9條數(shù)據(jù)格式轉(zhuǎn)換指令(PACK*、PUNPCK?) 43條整數(shù)運算指令(含算術(shù)、比較、邏輯、移位運算)。 MMX定義四種整數(shù)格式:壓縮型字節(jié)/字/雙字/四字 MMX借用FPU部件的浮點寄存器:一個寄存器可存放8個字 節(jié)(88bit)、或4個字(416bit)、或2個雙字 (232bit)、或1個四字(164bit)。
32、 MMX指令特別適用于整數(shù)運算密集的圖像處理、視頻和 音頻回放等多媒體應(yīng)用,提高它們的性能2.2.3 微處理器新技術(shù)(續(xù)) 3D NOW!指令集 21條指令1條快速狀態(tài)切換指令(FEMMS)、1條數(shù)據(jù)預(yù)取指 令、2條數(shù)據(jù)格式轉(zhuǎn)換指令、2條整數(shù)運算指令和15條單精度浮 點運算指令。 3D NOW!寄存器組織與MMX的相同:允許在一個3D NOW!寄存器 中存放2個32bit單精度浮點數(shù),具備24位元的單精度(差不多 是小數(shù)點后7位的精確度) 3D NOW!指令浮點運算速度:比x87 FPU協(xié)處理器快幾倍到幾十 倍,能在一個時鐘周期內(nèi)處理4個浮點運算值,適合進行大量單 精度浮點運算的3D圖像處理,
33、能極大提高3D軟件和游戲的性能。 SSE(Streaming SIMD Extensions:單指令多數(shù)據(jù)擴展流)指令集。 70條指令8條內(nèi)存連續(xù)數(shù)據(jù)流優(yōu)化處理指令、50條單指令多 數(shù)據(jù)浮點運算指令和12條新的多媒體指令,類似、拓展、超越 了AMD先前發(fā)布的3D NOW!指令集。 Pentium中增加了8個128位的浮點寄存器,配合新的SIMD指 令,提升浮點運算速度。 提升高級圖形、三維動畫、數(shù)據(jù)流音頻與視頻、語音識別等應(yīng) 用性能。 2.2.3 微處理器新技術(shù)(續(xù)) 增強型3D NOW!指令集&SSE2指令集(含144條指令) 不斷推出符合SIMD處理方式的指令集,提高了CPU在進行
34、重復(fù)運算時 的效率。6. EPIC設(shè)計 EPIC設(shè)計理念:硬件只需按序高速并行處理指令和數(shù)據(jù), 復(fù)雜性交給軟件處理,讓智能化軟件指揮硬件。 斷定執(zhí)行斷定執(zhí)行 (Predicated Execution): EPIC同時執(zhí)行兩條分支,兩路分支的條件是否成立,產(chǎn)生相應(yīng)兩個 斷定,存放在斷定寄存器的相應(yīng)位中。 處理器沿著兩條分支路徑執(zhí)行指令,每個分支中增加一次對斷定寄 存器相應(yīng)斷定位的訪問,處理器最后丟棄斷定結(jié)果為假的那一路分 支的結(jié)果,而托收斷定結(jié)果為真的那一路分支的結(jié)果。 處理器利用添加的并行執(zhí)行單元而避免了“轉(zhuǎn)移預(yù)測”錯誤時而將流 水線中大多數(shù)指令總清除所造成的延遲,顯著提高了性能。 推測裝入
35、推測裝入 (Speculative Load): 先行推測裝入數(shù)據(jù)(Load.s),經(jīng)編譯器重新排序后將Load.s指令提 升到程序中某個適當(dāng)點,先執(zhí)行存儲器取數(shù)操作、但不托交給結(jié)構(gòu) 寄存器;如果數(shù)據(jù)不在內(nèi)存中(比如缺頁異常等),則僅將異常標(biāo) 識存入斷定寄存器的某一位而不執(zhí)行異常處理。2.2.3 微處理器新技術(shù)(續(xù))6. EPIC設(shè)計(續(xù)) 使用數(shù)據(jù)時執(zhí)行推測檢驗指令Chk.s,如果未發(fā)生Load.s異常,則 直接將已取到的數(shù)據(jù)托交給結(jié)構(gòu)寄存器使用;若發(fā)生了Load.s異常 再轉(zhuǎn)到異常處理程序去調(diào)入數(shù)據(jù)。 有效的推測裝入避免了使用數(shù)據(jù)時訪問存儲器的等待,也避免了無 效的推測裝入造成的處理異常的
36、漫長延時。 據(jù)稱平均有50%的裝載操作由推測裝入完成。7. MESI協(xié)議 MESI是多處理器系統(tǒng)中維護Cache內(nèi)容一致性的“寫無效”偵聽協(xié)議 “寫無效”的意思是:當(dāng)一個Cache控制器“寫”(即修改Cache中的 共享內(nèi)容)時,必須在總線上廣播一個“無效”通知,所有共享此拷 貝的Cache控制器偵聽到此通知后,作廢此共享拷貝,以保證系統(tǒng) 中一個存儲單元內(nèi)容的引用只有一個版本。 為使多處理器系統(tǒng)內(nèi)所有映射同一內(nèi)存塊的Cache內(nèi)容一致, 必須遵守兩條原則: 在系統(tǒng)中不允許Cache對一個存儲單元內(nèi)容的引用有不同的版本 任一Cache中的修改版本必須在其它使用者引用之前回寫完畢 2.2.3 微處
37、理器新技術(shù)(續(xù))7. MESI協(xié)議(續(xù)) MESI表示了每個Cache行所處的四種可能狀態(tài): 修改態(tài)M(Modified):此行已被修改過(臟行),是為此Cache所 獨有的版本,不同于存儲器中的內(nèi)容。 專有態(tài)E(Exclusive):此行內(nèi)容與主存相同(干凈行),不出現(xiàn) 在其它Cache中。 共享態(tài)S(Shared):此行內(nèi)容與主存相同(干凈行),也出現(xiàn)在 其它Cache中。 無效態(tài)I(Invalid):此行內(nèi)容已作廢(空行) 本地處理器讀存儲器: *若命中(Cache中包含此信息)就直接讀,Cache的狀態(tài)不變(可 以是修改態(tài)、專有態(tài)或共享態(tài)); *若未命中(讀丟失)則啟動一個總線讀周期,
38、從主存中讀出此信 息裝入空的Cache行,此Cache行的狀態(tài)改為共享態(tài)(此信息已被 別的Cache行共享)或?qū)S袘B(tài)。2.2.3 微處理器新技術(shù)(續(xù))7. MESI協(xié)議(續(xù)) 本地處理器寫存儲器: 如果命中(Cache中包含此信息) 若Cache狀態(tài)為修改態(tài)或?qū)S袘B(tài)就直接修改并把其狀態(tài)改為修改態(tài), 若為共享態(tài)則首先在總線上發(fā)送“無效”通知,作廢其它Cache的共享 然后作出修改,同時Cache行的狀態(tài)改為修改態(tài); 如果未命中(寫丟失) 則啟動一個總線寫周期,從主存中讀取此信息裝入空的Cache行, 再按“寫無效”協(xié)議,發(fā)出“無效”通知,作廢其它Cache共享, 然后作出修改,此Cache行的狀
39、態(tài)由無效態(tài)改為修改態(tài)。 其它處理器對一塊主存內(nèi)容請求讀操作: 如果Cache行中含有此塊的拷貝,則為讀偵聽命中。 當(dāng)Cache行為共享態(tài)或?qū)S袘B(tài)時改為共享態(tài); 若是修改態(tài),則首先中斷其它處理器的存儲器讀操作,把Cache行 已修改的內(nèi)容回寫到主存中,再啟動其它處理器的讀操作, 同時將Cache行的狀態(tài)改為共享態(tài)。2.2.3 微處理器新技術(shù)(續(xù))7. MESI協(xié)議 (續(xù)) 其它處理器對一塊主存請求寫操作 如果Cache中含有此塊的拷貝,則為寫偵聽命中。 不管Cache為何種狀態(tài),都將改變?yōu)闊o效態(tài); 若Cache行為修改態(tài),則首先中斷其它處理器的寫操作,把Cache 行中已修改的內(nèi)容回寫到主存中,
40、再啟動其它處理器的寫操 作,同時把Cache行的狀態(tài)改為無效態(tài)。8. HT超線程技術(shù) HT(Hyper-Treading:超線程)是STM(Simultaneous Multiple Treading:同時多線程)的一種。 HT Pentium 4擁有三個處理計算及執(zhí)行指令的“運行部件”,通過讓 未運行的部件運行其它線程,使操作指令在線程級別并行處理,仿 佛是在同時處理兩個線程。 支持多處理器功能的應(yīng)用程序?qū)⒊€程處理器視為兩個分離的邏輯 處理器,每個邏輯處理器追蹤一個軟件線程,兩個線程共同使用同 樣的執(zhí)行資源,極大地提升了每個實體處理器中的執(zhí)行資源使用率。2.2.3 微處理器新技術(shù)(續(xù))9.
41、 其它新技術(shù) 系統(tǒng)電源管理SMM:持續(xù)監(jiān)視當(dāng)前總線周期的定義信號和地址總 線,對I/O設(shè)備的電源進行管理,當(dāng)發(fā)現(xiàn)某些部件規(guī)定時間未被 CPU訪問,就驅(qū)動CPU引腳(系統(tǒng)管理中斷)有效(為低電平),使 CPU進入SMM中斷服務(wù)線程,關(guān)閉相應(yīng)電源,進入省電模式。 筆記本電腦創(chuàng)新設(shè)計: 微操作融合技術(shù)(Micro-Op Fusion): 把兩次微操作合二為一,實現(xiàn)了更低能耗和更高執(zhí)行速度; 高級指令預(yù)測(Advanced Branch Prediction): 以全新的指令執(zhí)行技術(shù)減少了系統(tǒng)的總延時; 專用堆棧管理器(Dedicated Stack Managementer): 減少了所需操作的總體
42、數(shù)量; 400MHz功耗優(yōu)化總線(400MHz Power Optimized Bus) 以更低的電壓運行,降低了非使用狀態(tài)部分總線的功耗; 超標(biāo)量組織結(jié)構(gòu): 大量寄存器和多個執(zhí)行單元支持高度并行性,使并行性成為顯式 2.2.3 微處理器新技術(shù)(續(xù))9. 其它新技術(shù)(續(xù)) 超標(biāo)量組織結(jié)構(gòu)(續(xù)) IA-64架構(gòu)的Itanium1(安騰)處理器使用256個64位寄存器, 其中128個作為整數(shù)、邏輯和通用寄存器使用, 128個作為浮點和圖形寄存器使用; 另有一個含64個獨立斷定位的斷定寄存器,用于斷定執(zhí)行。 IA-64架構(gòu)計算機支持4條、8條或更多的并行執(zhí)行單元。 在處理器的整數(shù)部分和浮點部分共同使
43、用多條并行流水線處理有 關(guān)部分的運算。 IA-64處理器一次能取出一束指令(128位) 一束指令包含3條指令和8bit的屬性字段; 每條指令40位,包括13bit操作碼、6bit斷定寄存器碼(26=64: 指明斷定位)和三個7bit通用寄存器碼(27=128:指明操作數(shù)寄存 器)。2.3 微處理器引腳信號與工作模式 2.3.1 X86第一代微處理器引腳及其功能 第一代的8086/8088 CPU采用標(biāo)準(zhǔn)DIP 40引腳封裝,部分引腳采用分時復(fù)用方式,包含16/8 條數(shù)據(jù)線,20條地址線,以及十多條控制信號。封裝外形如圖所示。 2.3.1 X86第一代微處理器引腳及其功能(續(xù))1. 地址數(shù)據(jù)總線
44、AD15AD0 地址總線三態(tài)輸出,對存儲器或I/O端口尋址。 數(shù)據(jù)總線雙向(輸入或輸出)三態(tài)。 8088 CPU的數(shù)據(jù)總線為位,故只有AD7AD0條地址數(shù)據(jù)復(fù)用線, A15A8只用來輸出地址。2.地址狀態(tài)總線A19S616S3 地址線:A19A16與AD15AD0一起組成訪問存儲器的20位物理地址 狀態(tài)線:S6S3用來輸出狀態(tài)信號 S6總是低電平,以表示8086/8088 CPU當(dāng)前連在總線上; S5表明中斷允許狀態(tài)位IF的當(dāng)前設(shè)置; S4和S3表示當(dāng)前訪問存儲器所使用的段寄存器:2.3.1 X86第一代微處理器引腳及其功能(續(xù))3 3控制總線控制總線(1) /S7 7(Bus High En
45、able/Status) 高位數(shù)據(jù)總線允許狀態(tài)復(fù)用引腳,三態(tài)、輸出,低電平有效。 非數(shù)據(jù)傳送期間,S7輸出狀態(tài)信號(8086/8088中未定義)。 在DMA方式時,為高阻狀態(tài)。 2.3.1 X86第一代微處理器引腳及其功能(續(xù))2.3.1 X86第一代微處理器引腳及其功能(續(xù))4. 與方式相關(guān)的控制線與方式相關(guān)的控制線(24-31引腳)最小方式最小方式2.3.1 X86第一代微處理器引腳及其功能(續(xù))最大方式最大方式 2.3.1 X86第一代微處理器引腳及其功能(續(xù)) 232 現(xiàn)代微處理器引腳接口信號簡述 2.3.2 現(xiàn)代微處理器引腳接口信號簡述 (續(xù))現(xiàn)在主流的Pentium4微處理器多采用
46、PGA封裝Socket 478標(biāo)準(zhǔn)插槽(478個引腳),新P4也有采用LGA775封裝Socket-T插槽(775個引腳)第五代微處理器有兩種封裝:SPGA(Ceramic Staggered Pin Grid Array)和PPGA(Plastic Pin Grid Array),共296個引腳,涵蓋了80486、80386、80286和8086系列微處理器的接口信號,并代表了微處理器的發(fā)展趨勢。 CLK為總線時鐘,CPU內(nèi)部時鐘頻率由CLK和總線頻率控制引腳BP0BP2的狀態(tài)(經(jīng)CPU內(nèi)部數(shù)字鎖相環(huán))共同決定,見下表 2.3.2 現(xiàn)代微處理器引腳接口信號簡述 (續(xù))復(fù)位信號RESET:清除
47、指令流水線、重新初始化CPU的全部狀態(tài), 跳轉(zhuǎn)到BIOS中物理地址為FFFF_FFF0處開始執(zhí)行。初始化信號INIT:按下“Ctrl+Alt+Del”鍵后有效,INIT類似RESET, 但不影響內(nèi)部高速緩存Cache、模式專用寄存器、浮點 寄存器組以及控制寄存器CR0的CD位和NW位。地址總線A31A3和字節(jié)使能信號-BE7-BE0 : 對4GB(232)的主存物理地址空間(00000000HFFFFFFFFH)和 64KB(216)的I/O端口(00000000H0000FFFFH)進行尋址-BE7-BE0:與64位數(shù)據(jù)總線的8個字節(jié)匹配對應(yīng)。Cache查詢周期:CPU交出總線控制時,系統(tǒng)對
48、CPU內(nèi)部的高速緩存 Cache執(zhí)行查詢周期,A31A5變?yōu)檩斎耄瑢ぶ菲瑑?nèi)一級 Cache中的32個字節(jié)的高速緩存行。奇偶校驗位AP:查詢周期對Cache行地址A31A5的奇偶校驗,校驗結(jié)果 在-APCHK引腳上輸出。數(shù)據(jù)總線D63D0:64位雙向,所含8個字節(jié)與字節(jié)使能信號-BE7-BE0 相對應(yīng)字節(jié)奇偶校驗位DP7DP0 :有效允許奇偶校驗,若有一個字節(jié)奇偶校 驗出錯,則輸出的-PCHK有效。 2.3.2 現(xiàn)代微處理器引腳接口信號簡述 (續(xù))M/-IO、D/-C、W/-R:輸出,定義了總線周期:訪問存儲器還是I/O端口、讀/寫數(shù)據(jù)還是指令/(中斷類型碼)、讀還是寫。-CACHE:輸出,有效
49、表明當(dāng)前的總線周期是訪問高速緩存的突發(fā)周期 (讀或?qū)?,連續(xù)4次傳輸(每次64位)完成對Cache行的讀或?qū)?。周期分裂信號SCYC:輸出,讀寫存儲器中未按規(guī)定對齊的字、雙字、 或四字時有效,以便產(chǎn)生附加總線周期來完成傳輸。總線封鎖信號-LOCK、總線保持請求HOLD、總線保持應(yīng)答HLDA 與8086/8088相似其它總線控制、仲裁信號為擴展功能而設(shè)。高速緩存Cache的控制、窺探、清除信號,與Cache工作有關(guān)(后述)。中斷控制信號:增加APIC高級可編程中斷控制邏輯信號,見6.3.6小節(jié)。其它控制信號:有關(guān)微處理器的系統(tǒng)管理、存儲管理、芯片測試、電源 管理、多處理器支持等功能。 2.3.3
50、微處理器的操作模式與工作狀態(tài) 1. 操作模式x86系列微處理器能支持四種操作模式。n 實地址模式8086/8088所提供的編程環(huán)境;n 保護模式處理器所有的指令和結(jié)構(gòu)特性都有效,提供最高性能和 最強功能。是操作系統(tǒng)和應(yīng)用程序的推薦工作模式n 虛擬8086模式保護模式下模擬的一個虛擬8086處理器執(zhí)行環(huán)境, 是保護模式下多任務(wù)中的一個任務(wù),是一種類操作模式;n 系統(tǒng)管理模式SMM(System Management Model) 80386TMSL微處理器后一直采用的一種標(biāo)準(zhǔn)結(jié)構(gòu)。 該模式以透明方式為操作系統(tǒng)或執(zhí)行程序提供電源管理,以及OEM廠 家的區(qū)別特征。處理器在各模式之間的轉(zhuǎn)換 2. 微處
51、理器的工作狀態(tài) 通過時鐘控制,可使處理器進入低功耗的停止時鐘狀態(tài)。 處理器具有的時鐘控制工作狀態(tài)如下。 常規(guī)狀態(tài)常規(guī)狀態(tài)(Normal State) 處理器可運行實模式、保護模式、虛擬8086模式或系統(tǒng)管理模式SMM, 系統(tǒng)各部件正常運轉(zhuǎn)(包括外部總線時鐘和處理器內(nèi)部時鐘),處理器 在相應(yīng)模式下的所有特性與功能都是有效的。 暫停狀態(tài)暫停狀態(tài)(Halt State) 處理器執(zhí)行HLT指令后進入一種低功耗狀態(tài),在該狀態(tài)處理器內(nèi)部時 鐘停止。 停止允許狀態(tài)停止允許狀態(tài)(Stop Grant State) 外部邏輯使引腳信號有效后進入的一種低功耗狀態(tài),在該狀態(tài)處理器 內(nèi)部時鐘停止。 停止允許窺探狀態(tài)停
52、止允許窺探狀態(tài)(Stop Grant Snoop State) 處理器在暫停狀態(tài)或停止允許狀態(tài)時,系統(tǒng)邏輯啟動一次針對Cache 的查詢周期,導(dǎo)致處理器進入的另一種低功耗狀態(tài)。 睡眠狀態(tài)睡眠狀態(tài)(Sleep State) 處理器處于停止允許狀態(tài)時,如果輸入引腳有效,則進入另一種更低 功耗的狀態(tài)(僅第六代微處理器具有)。2. 微處理器的工作狀態(tài)(續(xù)) 深度睡眠狀態(tài)深度睡眠狀態(tài)(Deep Sleep State) 又稱停止時鐘狀態(tài)(Stop Clock State),當(dāng)處理器處于停止允許狀態(tài) (第六代前)或睡眠狀態(tài)時,進一步使系統(tǒng)總線時鐘BCLK停止,使處 理器進入系統(tǒng)最低功耗狀態(tài)。幾種狀態(tài)之間的
53、相互轉(zhuǎn)換關(guān)系如圖所示 2.4 微處理器總線周期 2.4.1 總線周期與總線狀態(tài)總線周期與總線狀態(tài) 1. 總線周期定義與分類總線周期定義與分類數(shù)據(jù)傳輸周期:在總線上傳輸一個數(shù)據(jù)項所需要的時間。數(shù)據(jù)傳輸周期:在總線上傳輸一個數(shù)據(jù)項所需要的時間。 數(shù)據(jù)項的寬度最大為數(shù)據(jù)總線的寬度,數(shù)據(jù)項的寬度最大為數(shù)據(jù)總線的寬度,64位位Pentium微機數(shù)據(jù)項微機數(shù)據(jù)項 寬度最大為寬度最大為8個字節(jié)。個字節(jié)??偩€周期:處理器占用總線,與外界(存儲器或總線周期:處理器占用總線,與外界(存儲器或I/O端口)進行一次數(shù)端口)進行一次數(shù) 據(jù)讀或?qū)懰璧臅r間;據(jù)讀或?qū)懰璧臅r間; 即從處理器驅(qū)動地址總線和總線周定義信號開始
54、,到引腳有即從處理器驅(qū)動地址總線和總線周定義信號開始,到引腳有 效、數(shù)據(jù)讀或?qū)懖僮鹘Y(jié)束為止的時間。效、數(shù)據(jù)讀或?qū)懖僮鹘Y(jié)束為止的時間。 一個總線周期可能包含一個總線周期可能包含1至至4個數(shù)據(jù)傳輸周期,個數(shù)據(jù)傳輸周期, 突發(fā)周期就是具有連續(xù)突發(fā)周期就是具有連續(xù)4個數(shù)據(jù)傳輸周期的總線周期。個數(shù)據(jù)傳輸周期的總線周期。 處理器驅(qū)動處理器驅(qū)動- -ADSADS=0,啟動一個總線周期。啟動一個總線周期??偩€操作:完成一定獨立功能的總線周期序列之動作??偩€操作:完成一定獨立功能的總線周期序列之動作?;究偩€周期:存儲器讀基本總線周期:存儲器讀/寫和寫和I/O讀讀/寫。寫。 現(xiàn)代微處理器所能產(chǎn)生的總線周期種類比
55、較豐富,現(xiàn)代微處理器所能產(chǎn)生的總線周期種類比較豐富,如表所示。如表所示。1. 總線周期定義與分類(續(xù))總線周期定義與分類(續(xù))1. 總線周期定義與分類(續(xù))總線周期定義與分類(續(xù))特殊總線周期:M/-IO=0、D/-C=0且W/=1時進入。特殊總線周期有6種 。2. 總線狀態(tài) 指令周期:一條指令從取出到執(zhí)行完畢所需要的時間。 指令周期由若干個總線周期(又稱機器周期)所組成??偩€周期:完成一次總線操作所需的時間。如取指令周期、存儲器讀/寫 周期、I/O讀/寫周期等。 總線周期由若干個時鐘周期組成。時鐘周期:是兩個時鐘脈沖上升沿之間持續(xù)的時間,又稱T狀態(tài), 是計算機系統(tǒng)的最小定時單位。8086/8
56、088基本總線周期:由4個時鐘周期T組成,稱T1、T2、T3和T4狀態(tài) BIU在T1時鐘周期將存儲器或I/O端口的地址送到分時復(fù)用的 總線上,在T2T4周期通過總線進行數(shù)據(jù)傳送; 若存儲器或外設(shè)來不及響應(yīng),可插入等待狀態(tài)TW。80386開始的總線周期:2個基本時鐘周期(T1和T2), T1期間給出地址信息,T2周期讀/寫數(shù)據(jù); 若存儲器或外設(shè)來不及響應(yīng),可插入等待狀態(tài)T2。數(shù)據(jù)傳輸:具有獨立功能定義的所有數(shù)據(jù)傳輸均在一個或多個總線周期 內(nèi)完成。2. 總線狀態(tài)(續(xù))總線周期的時鐘狀態(tài):Ti、T1、T2、T12、T2P和TD。Ti:空閑狀態(tài),又稱總線后臺狀態(tài)。 在該狀態(tài)下沒有總線操作發(fā)生,不運行總
57、線周期。T1:第一時鐘狀態(tài),是一個在線(占用總線)時鐘狀態(tài) 處理器在此狀態(tài)驅(qū)動相關(guān)的地址信號和總線周期定義信號。T2:第二時鐘狀態(tài)。也是在線狀態(tài) 寫周期時CPU輸出到數(shù)據(jù)總線上的數(shù)據(jù)穩(wěn)定有效, 讀周期在正常情況下外部數(shù)據(jù)已穩(wěn)定在數(shù)據(jù)總線上供CPU讀取。T12:1/2時鐘狀態(tài) 既作為前一個總線周期的T2狀態(tài)(完成前一個總線周期的數(shù)據(jù)驅(qū) 動或采集),又作為下一個總線周期的T1狀態(tài)(驅(qū)動下一個總線 周期的地址信號和周期定義信號)。T2P:續(xù)前狀態(tài) 在該時鐘狀態(tài),說明總線上至少有兩個連續(xù)的在線總線周期,當(dāng) 第一個總線周期還未完成而下一個總線周期又已經(jīng)啟動,在下一 個總線周期中出現(xiàn)的該T2P狀態(tài)僅作為前
58、一個總線周期的T2狀態(tài), 完成前一個總線周期的數(shù)據(jù)采集或驅(qū)動。2. 總線狀態(tài)(續(xù))TD:靜止?fàn)顟B(tài) 總線上同時出現(xiàn)前后連續(xù)的不同類型的在線總線周期,當(dāng)前一個總 線周期還未最后完成而下一個不同類型的總線周期又已經(jīng)啟動(即 出現(xiàn)了T12狀態(tài)),為了完成不同類型總線周期的轉(zhuǎn)換必須在T12 和(前一個總線周期完成之后與)下一個總線周期的T2狀態(tài)之前插 入一個靜止時鐘狀態(tài)TD?,F(xiàn)代微處理器的總線狀態(tài)及其轉(zhuǎn)換如圖所示2.4.2 x86第一代微處理器總線周期 1 8086 CPU讀總線周期讀總線周期最小模式下8086 CPU的讀總線周期時序 如果存儲器或I/O端口由于運行速度較低而來不及在T3狀態(tài)讀出所需信息
59、,那么 必須在T3的上升沿之前使READY無效(高電平)。一旦CPU檢測到READY無效,就會在T3周期之后自動插入一個等待周期TW, 然后到TW的上升沿再測試READY是否有效,若仍無效則繼續(xù)插入一個新的TW, 如此直至測試到READY有效為止,才停止插入TW而進入T4狀態(tài)。在整個插入的TW 期間,其它控制 信號保持與T3期 間相同的電平狀態(tài)。插入TW的數(shù)量從 原理上講不受限 制,在實際中則 因存儲或I/O端口 的速度而定,一 般不超過10個。2.4.2 x86第一代微處理器總線周期(續(xù)) 2. 8086 CPU寫總線周期 8086 CPU在最小模式下寫總線周期時序最大模式總線操作: 最大模式系統(tǒng)和最小模式系統(tǒng)在總線操作邏輯上基本一致。只是由于增 設(shè)了總線控制器8288,對存儲器或I/O端口的讀寫控制信號不再由CPU直 接給出,而是由8288對CPU的三位狀態(tài)信號-S2、-S1、-S0進行譯碼,然 后輸出控制信號到相關(guān)部件去完成對存儲器或I/O端口的讀/寫操作。 2.4.3 現(xiàn)代微處理器總線周期 1. 單次傳輸周期 單次傳輸周期:現(xiàn)代微處理器最簡單的總線周期 通常由T1和T2兩個狀態(tài)組成。-ADS有效表明開始一個新的總線周期: 在T1期間CPU驅(qū)動地址選通信號-ADS、其它總線周期定義信號和地 址信號有效。 單次傳輸周期在T1期間使-CACHE信號無
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 品牌產(chǎn)品宣傳設(shè)計合同范本
- 商混傭金合同范例
- 基于遙感蒸散發(fā)與深度學(xué)習(xí)的實際灌溉面積識別方法研究
- 叉車租賃延期合同范例
- 與政府簽訂廣告合同范本
- 商品新房購買合同范本
- 農(nóng)村機井使用合同范本
- 合同范本固定內(nèi)容包括
- 廠房裝修維修合同范本
- 農(nóng)村合并工程合同范本
- TCWAN 0112-2024 不銹鋼復(fù)合鋼板焊材匹配標(biāo)準(zhǔn)
- 新聞采訪與寫作-馬工程-第二章
- (高清版)JTG 3363-2019 公路橋涵地基與基礎(chǔ)設(shè)計規(guī)范
- 周志華-機器學(xué)習(xí)-Chap01緒論-課件
- 中石油加油站管理標(biāo)準(zhǔn)規(guī)范管理部分
- 高中雷雨完整省公開課金獎全國賽課一等獎微課獲獎?wù)n件
- 施工現(xiàn)場安全標(biāo)準(zhǔn)化施工手冊(匯編)
- 《串珠》教案-2024鮮版
- 藥物超敏反應(yīng)綜合征并人類免疫缺陷病毒感染1例及文獻復(fù)習(xí)
- (高清版)TDT 1008-2007 土地勘測定界規(guī)程
- 經(jīng)濟數(shù)學(xué)(高等職業(yè))全套教學(xué)課件
評論
0/150
提交評論