Pentium 微处理器课件_第1页
Pentium 微处理器课件_第2页
Pentium 微处理器课件_第3页
Pentium 微处理器课件_第4页
Pentium 微处理器课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Pentium微處理器

1)匯流排單元

2)數據Cache 3)代碼Cache 4)指令預取器

5)預取緩衝器

6)指令解碼單元

7)控制單元

8)整數執行單元

9)寄存器組

10)地址產生器

11)分頁單元

12)浮點單元

1、Pentium的 功能單元2.3.1Pentium

的結構特點1、Pentium的功能單元

1)匯流排單元

l

地址發送接收器l寫緩衝器l

數據匯流排收發器l匯流排控制邏輯l

匯流排主控制l

第二級Cache控制l

內部Cache控制l奇偶校驗碼生成和控制1、Pentium的功能單元

2)數據Cache8K位元組每行32位元組兩路組相聯結構組織的高速緩存Cache目錄為三端口結構允許兩條流水線同時訪問並支持監聽功能。1、Pentium的功能單元

3)代碼Cache

8K位元組每行32位元組兩路組相聯結構組織的高速緩存Cache目錄為三端口結構允許兩條流水線同時訪問並支持監聽功能。1、Pentium的功能單元

4)指令預取器

將所需要的指令從代碼Cache讀到指令預取器,如果所需要的指令行不在代碼Cache中,它啟動一個匯流排的猝發週期,CPU從外部記憶體取指進行Cache行填充操作.

1、Pentium的功能單元

5)預取緩衝器包含兩組指令預取緩衝器,兩組之間相互獨立。指令預取器從指令Cache中取出指令,將它們順序存放在一組預取緩衝器中,另一組緩衝器則處於空閒狀態。當預測分支指令會發生轉移時,預取器將從轉移目標地址開始取出指令,放入第二組空閒的預取緩衝器中。之後,預取器一直使用第二組緩衝器直到另一條分支指令被預測,再切換回第一組緩衝器。線上性取指和執行指令時,預取緩衝器將一對指令分別送到兩條流水線U和V的指令解碼器,進行指令配對分析。1、Pentium的功能單元

6)指令解碼單元兩級指令解碼單元,解碼級1(Decode1)和解碼級2(Decode2)。(組成)解碼級1除了包含指令配對檢查邏輯以外,還包含分支目標緩衝器BTB(BranchTargetBuffer)。BTB具有分支預測功能。(結構)解碼級2包含流水線U和V的記憶體運算元產生邏輯、分段邏輯以及期望檢測邏輯。(結構)在Decode1中,檢查在兩條流水線中操作碼是否滿足Pentium指令的配對規則,如果滿足,兩條指令同時被送到Decode2。(功能)如果指令是分支指令,則由BTB檢查預測該指令是否會發生分支轉移。在Decode2中,計算指令的運算元在記憶體中的地址。(功能)1、Pentium的功能單元

7)控制單元包含微代碼序列器和微代碼控制ROM(組成)進行解釋指、令控制中斷點、控制中斷(功能)控制整數流水線和浮點流水線的操作(功能)1、Pentium的功能單元

8)執行單元兩個ALU,分別屬於U、V流水線(結構)一個桶狀移位器,屬於U流水線(結構)U的執行單元可以完成比V相對複雜的指令,並可先於V中的ALU完成操作。(功能)1、Pentium的功能單元9)寄存器組

10)地址產生器

每條流水線有一個地址產生器。根據每條流水線中指令的運算元形成特定的地址。1、Pentium的功能單元11)分頁單元

將地址產生器來的線性地址轉換為物理地址。分頁單元包含一個轉換旁視緩衝器(translationlook-asidebuffer),用來保存最近使用過的頁目錄項和頁表項。12)浮點單元

一條浮點流水線具有8級流水步,可以在每個CLK執行一條指令,最快可以達到每個CLK執行兩條指令。

2、寄存器組織

Pentium的寄存器組織2、寄存器組織

1)基本結構寄存器通用REG EAX~EBX ESP、EBP、ESI、EDI段REG CS、SS、DS、ES、FS、GS

在保護模式下,虛擬存儲地址64T位元組,存儲管理寄存器便是實現存儲管理機制。段寄存器CS、SS、DS、ES、FS、GS分別存放代碼、堆疊和數據段的段選擇符,段選擇符指向定義段的段描述符。

指令指針REGEIP標誌REG EFlags*

除386VM(虛擬86/保護模式)系統標誌外,增加 ID、VIP(虛擬中斷掛起)等4位。2)系統級寄存器控制REG CR0~CR3、CR4PE:保護模式允許,MP:系統中有協處理器,PG:選擇線性地址到物理地址的頁表轉換……CD:Cache禁止,NW:不寫直達、WP:保護用戶級頁,VME:虛擬方式擴展,MCE:機器檢查允許……2)系統級寄存器系統地址REG GDTR IDTR LDTR TR

段描述符提供段的大小、位置以及段的訪問控制和狀態資訊,8位元組組成。段描述符根據屬性描述符分為全局描述符、中斷描述符以及局部描述符,分別存放在全局描述符表、中斷描述符表以及局部描述符表中。全局描述符表寄存器GDTR、中斷描述符表寄存器IDTR則分別存放了全局描述符表和中斷描述符表的線性基地址和表的限長。局部描述符表寄存器LDTR和任務寄存器TR是用來存放局部描述符和任務描述符的選擇子。由段選擇符通過描述符表就能夠找到段描述符進而得到段的基地址,加上偏移量最終得到線性地址。3)調試與測試寄存器調試REG DR0~DR7

保存中斷點線性地址,DR6:狀態,

DR7:控制測試REG TR3~TR7

保存片內CACHE測試數據,

TR6:控制,

TR7:狀態2.3.2超標量流水線

1、系統複位和代碼Cache填充

RESET以後,Cache是被禁止的,應由駐留程式設置Cache的使能位。

Cache首次置為有效後,內部的數據無效。指令預取器從Cache預取指令時,發生Cache不命中。

Cache向匯流排單元提出Cache行填充請求,通知匯流排單元從外部Cache或主記憶體取指,將Cache行填滿。

Cache行填充是在匯流排的猝發週期進行的。CPU每次將32位元組代碼在一個猝發週期內讀入Cache行填充緩衝器。在送入Cache的同時,送入指令預取器。

2、指令預取指令由指令預取器從代碼Cache中取出,成對存放在兩組預取緩衝器(預取指令佇列)中有效的一組緩衝器中。指令佇列中指令順序存放,提供給兩條指令流水線,直至遇到一條分支指令時可能會發生變化。預測分支指令是否發生地址轉移,是在執行級的解碼單元1由分支目標緩衝器中的分支預測邏輯進行判斷的。如果預測該分支指令將要發生地址轉移,則BTB通知指令預取器切換指令存放的佇列,預取器從分支目標地址處開始取指。如果預測不發生轉移,預取器仍然順序取指並將指令存放在現行工作的指令佇列中。指令佇列切換後,由當前有效的指令佇列給兩條流水線輸送分支目標地址及以後的指令。

2、指令預取分支目標緩衝器與指令預取單元

3、指令配對和運算元地址計算

有效的指令佇列將兩條指令分別送U和V流水線的Decode1,配對檢測邏輯進行配對檢查。如果兩條指令能夠配對執行,解碼級1將它們送到解碼級2。如果不能配對,則將V流水線中的指令轉移到U流水線中,兩條指令在U流水線中串行地執行。在解碼級2中計算運算元地址。不管運算元是什麼尋址方式,解碼級2用一個CLK完成運算元地址的計算。

3、指令配對和運算元地址計算

流水線的雙解碼2級

4、指令並行執行條件和配對規則

1)指令的並行執行U、V流水線執行級各有一個ALU。U的ALU包含一個桶狀移位器,可以執行一些在V流水線中不能執行的複雜指令。兩條指令能夠配對,它們被並行執行。兩個ALU可同時形成數據Cache或數據記憶體的訪問請求,對目標寄存器或標誌寄存器的回寫。指令執行是通過5個流水步完成的。

在執行級,如果V流水線拖延了時間,U流水線可以繼續做如回寫目標寄存器或標誌寄存器的工作。反之則不行。若U流水線拖延,V只能等待U。

4、指令並行執行條件和配對規則

1)指令的並行執行Pentium流水線的雙執行級

4、指令並行執行條件和配對規則

2)指令的配對規則兩條指令是簡單指令;

mov

reg,reg/mem/imm

mov

mem,reg/imm

alu

reg,reg/mem/imm increg/mem

dec

reg/mem pushreg/mem popreg

等等。

非一位元組指令長度相等;

4、指令並行執行條件和配對規則

2)指令的配對規則兩條指令不存在寄存器爭用的問題,即兩條指令並行執行時不會訪問同一個寄存器;

read-after-write相關:

movAX,imm;

mov[BP],AX; write-after-write相關:

例1: movAX,imm;

movAX,[BP];

例2: movAL,imm1;

movAH,imm2.

4、指令並行執行條件和配對規則

2)指令的配對規則兩條指令中只有第一條指令能帶指令首碼。有些指令只能在U流水線中執行,它們在指令序列中是第一條指令時才能配對。

圖2.2.4指令的分支與預測

1、分支目標緩衝器和分支預測邏輯

1)概述分支預測邏輯,可以對將要執行的分支指令進行動態的轉移預測。分支預測邏輯是以該分支指令的歷史執行情況為預測依據的。支持分支預測機制的關鍵部件是分支目標緩衝器BTB(BranchTargetBuffer)。它是一個256行4路組相聯結構的Cache,它記錄了已執行過的分支指令的資訊。指令執行後ALU將分支指令的執行結果回饋到BTB,BTB再根據轉移預測的正確與否來修正歷史記錄位並指示預取器和預取佇列做相應操作

1、分支目標緩衝器和分支預測邏輯2)分支目標緩衝器BTB(BranchTargetBuffer)256個目錄行,每行包括:1bit指示該項是否正在使用2bits歷史記錄位表示該分支指令發生轉移的頻度這條轉移指令源記憶體的地址;該轉移指令最後一次執行時的目標地址;分支預測邏輯根據BTB中的記錄,按照一定轉移預測策略對當前的分支指令進行轉移預測。

1、分支目標緩衝器和分支預測邏輯

2)分支目標緩衝器BTB(BranchTargetBuffer)歷史記錄表示轉移發生頻度00Stronglynottaken01Weaklynottaken10Weaklytaken11Stronglytaken表2-轉移頻度表

2、動態轉移預測策略

1)轉移預測策略

一條分支指令進入任意一條流水線後,BTB就根據它的源記憶體地址在Cache中查找;如果這條指令在BTB中有記錄項,分支預測邏輯便以記錄項的歷史資訊為依據,預測轉移發生的情況歷史記錄為11表示轉移強烈發生、10表示轉移較弱發生,歷史記錄為01表示轉移基本不發生、00表示轉移強烈不發生。若歷史記錄項為10或11則指示正向預測,預測該指令將發生轉移,並指示預取器從在BTB中記錄的指令轉移目標地址開始取指令,切換到另一條指令佇列順序存放指令。若歷史記錄項為01或00則指示負向預測,分支預測邏輯預測該分支指令不發生轉移。

2、動態轉移預測策略

1)轉移預測策略

當分支指令第一次進入流水線時,它在Cache中沒有記錄項,便產生一次查找BTB不命中。對這條分支指令的預測為不發生轉移,即使這條指令是無條件轉移指令。預取器也不做指令佇列的切換。

2、動態轉移預測策略

2)分支指令執行後BTB對記錄的操作

根據轉移發生情況對歷史位的修改

2、動態轉移預測策略

2)分支指令執行後BTB對記錄的操作

如果正確地預測了轉移發生。BTB記錄的歷史位上升。分支指令之後的正確目標地址指令已經存在於流水線。如果錯誤地預測轉移發生。BTB記錄的歷史位下降。在流水線中分支指令以後的指令是不正確的,必須刷新。分支預測邏輯指示預取器切換到另一條指令佇列順序取指。

2、動態轉移預測策略

2)分支指令執行後BTB對記錄的操作如果正確地預測了轉移不發生,並且BTB中存在該分支指令相應的目錄,則目錄的歷史位降級。在第一解碼級發生了一次BTB不命中,說明BTB中不存在相應的目錄項,也不必在BTB中建立目錄。如果錯誤地預測轉移不發生,並且BTB中存在該指令相應的目錄,那麼將目錄的歷史位升級。BTB中不存在該指令相應的目錄,則建立一個目錄並將它的歷史位置為強烈發生(11)。

2.2.5Pentium的工作模式

1、Pentium的工作模式

實地址方式(realaddressmode)保護虛擬地址方式(protectedvirtualaddressmode)虛擬8086方式(virtual8086mode)系統管理方式(systemmanagementmode)1、Pentium的工作模式1)實地址方式

在系統加電和複位以後,微處理器進入實地址模式。採用和8086類似的編程環境,只是在8086基礎上進行了擴充,擴展了32寄存器的指令,並在8086的編程寄存器上增加了一些新的寄存器。它的尋址機構、存儲管理方式、中斷處理機制和8086微處理器類似。在實地址模式中,不使用虛擬地址。實地址模式用於系統的初始化。可以在實地址方式下進入保護模式和系統管理模式。1、Pentium的工作模式2)保護虛擬地址方式是Pentium微處理器的基本操作方式。對複雜的多任務操作系統環境提供全方位的支持,實現複雜的系統管理功能。對記憶體和數據有多種保護能力,最突出的是段的4級特權保護。在保護模式下,系統可以尋址64TB(16K×4GB)的虛擬地址空間。Pentium微處理器的存儲管理機制具有將虛擬邏輯地址轉換到線性地址,進而得到物理地址的功效。通過描述符表等記憶體管理數據結構,將大容量的磁片存儲空間映射到內記憶體空間。1、Pentium的工作模式2)保護虛擬地址方式

特權級的環形保護

1、Pentium的工作模式3)虛擬8086方式是保護方式的一種功能,它並不是一種實際的處理器工作方式。可以在保護方式以及多任務的情況下運行8086的程式。該方式具有保護方式的任務屬性,屬於一種准操作方式。目的是為了讓在8086方式下編制的軟體在保護方式下仍然能夠執行。

1、Pentium的工作模式4)系統管理方式

提供了一種對操作系統或用戶透明的專用程式,實現了操作系統平臺的專用功能,如電源管理,系統安全管理等。這些專用程式只能被系統固件所利用,專用代碼的運行透明於操作系統。系統管理方式只有在外部中斷SMI#有效時,CPU保存了運行程式或任務的上下文關係之後,切入獨立的系統管理程式的地址空間。1、Pentium的工作模式4)系統管理方式

SMM(由SMI#引起)中斷入口為38000H。

SMM將Pentium的狀態保存到一個叫做轉儲記錄(dumprecord)的記憶體區域中(3FFABH~3FFFFH,3FE00H~3FEF7H)。

記錄包括CR0、CR3、Eflags、EIP…停機自動重起等

PentiumCPU的系統可以進入睡眠模式並且可以返回到中斷點。

PSM指令使系統退出SMM模式。1、Pentium的工作模式4)系統管理方式

Pentium不同工作模式的地址空間

2、工作模式之間的轉換系統複位後,微處理器進入實地址工作模式。控制寄存器CR0中的PE位的狀態控制保護模式與實地址模式之間的切換。PE=1時系統為保護模式;PE=0時系統為實地址模式。標誌寄存器EFLAG中的VM(虛擬模式)位的狀態管理虛擬8086模式與保護模式之間的切換。VM=1時,系統為虛擬8086模式;VM=0時,系統為保護模式。微處理器接收到SMI中斷時,系統進入系統管理模式。在系統管理模式下,執行RSM指令(從系統管理模式返回),微處理器將返回中斷前的狀態。2、工作模式之間的轉換進入保護模式前的工作初始化中斷描述符表IDT

初始化全局描述符表GDTCR0:PE=1

執行段內JMP指令清除指令佇列,把TSS描述符基址裝入TR

將初始選擇子裝入段寄存器2、工作模式之間的轉換控制寄存器CR0:PEEFLAG:VMSMI#;RSM指令

工作模式之間的轉換

小結8086微處理器分為執行部件EU和匯流排介面部件BIU兩個部分。執行部件負責指令的執行,匯流排介面部件負責與記憶體、I/O端口數據的傳送。EU和BIU相互配合實現指令級流水線。8086具有最大或最小兩種工作模式。在不同模式下,8086部分管腳的定義也有所不同。理解管腳信號定義和作用,是學習配置典型系統,理解微電腦工作原理的基礎。配置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论