CPU 的功能和基本結構
中央處理器(CPU)由運算器和控制器組成。控制器的功能是負責協調並控制計算機各部件執行程序的指令序列,包括取指指令、分析指令和執行指令;運算器的功能是對數據進行加工。CPU 的具體功能包括:
- 指令控制。完成取指令、分析指令和執行指令的操作,即程序的順序控制。
- 操作控制。一條指令的功能往往有若干操作信號的組合來實現。CPU 管理並產生由內存取出的每條指令的操作信號,把各種操作信號送往相應的部件,從而控制這些部件按指令的要求進行動作。
- 時間控制。對各種操作加以時間控制。時間控制要為每條指令按時間順序提供應有的控制信號。
- 數據加工。對數據進行算術和邏輯運算。
- 中斷處理。對計算機運行過程中出現的異常情況和特殊請求進行處理。
1.運算器
運算器接收從控制器送來的命令並執行相應的動作,對數據進行加工和處理。運算器是計算機對數據進行加工處理的中心,它主要由算術邏輯單元(ALU)、暫存寄存器、累加寄存器(ACC)、通用寄存器組、程序狀態字寄存器(PSW)。移位器、計數器(CT)等組成。
- 算術邏輯單元。主要功能是進行算術/邏輯運算。
- 暫存寄存器。用於暫存從主存讀來的數據,該數據不能存放在通用寄存器中,否則會破壞其原有內容。暫存寄存器對應用程序員是透明的。
- 累加寄存器。它是一個通用寄存器,用於暫時存放 ALU 運算的結果信息,可以作為加法運算的一個輸入端。
- 通用寄存器組。如 AX、BX、CX、DX、SP 等(也常用 R0、R1...表示),用於存放操作數(包括源操作數、目的操作數及中間結果)和各種地址信息等。SP 是堆棧指針,用於指示棧頂的地址。
- 程序狀態字寄存器。保留由算術邏輯運算指令或測試指令的結果而建立的各種狀態信息,如溢出標志(OF)、符號標志(SF)、零標志(ZF)、進位標志(CF)等。PSW 中的這些位參與並決定微操作的形成。
- 移位器。對操作數或運算結果進行移位運算。
- 計數器。控制乘除運算的操作步數。
2.控制器
控制器是整個系統的指揮中樞,在控制器的控制下,使運算器、存儲器和輸入/輸出設備等功能部件構成一個有機的整體,根據指令的要求指揮全機協調工作。控制器的基本功能是執行指令,每條指令的執行是由控制器發出的一組微操作實現的。
控制器有硬布線控制器和微程序控制器兩種類型。控制器由程序計數器(PC)、指令寄存器(IR)、指令譯碼器、存儲器地址寄存器(MAR)、存儲器數據寄存器(MDR)、時序系統和微操作信號發生器等組成。
- 程序計數器。用於指出下一條指令在主存中的存放地址。CPU 根據 PC 的內容去主存中取指令。PC 具有自增功能。
- 指令寄存器。用於保存當前正在執行的那條指令。
- 指令譯碼器。僅對操作碼字段進行譯碼,向控制器提供特定的操作信號。
- 存儲器地址寄存器。用於存放所要訪問的主存單元的地址。
- 存儲器數據寄存器。用於存放向主存寫入的信息或從主存中讀出的信息。
- 時序系統。用於產生各種時序信號,它們都由統一時鍾(CLOCK)分頻得到。
- 微操作信號發生器。根據 IR 的內容(指令)、PSW 的內容(狀態信息)及時序信號,產生控制整個計算機系統所需的各種控制信號,其結構有組合邏輯型和存儲邏輯型兩種。
控制器的工作原理是,根據指令操作碼、指令的執行步驟(微命令序列)和條件信號來形成當前計算機各部件要用到的控制信號。計算機整機各硬件系統在這些控制信號的控制下協同運行,產生預期的執行效果。
CPU 內部寄存器大致可分為兩類:一類是用戶可見的寄存器,可對這類寄存器編程,如通用寄存器組、程序狀態字寄存器;另一類是用戶不可見的寄存器,對用戶是透明的,不可對這類寄存器編程,如存儲器地址寄存器、存儲器數據寄存器、指令寄存器。
數據總線的位數與處理器的位數相同,它表示 CPU 一次能處理的數據的位數,即 CPU 的位數。
程序計數器的位數取決於存儲器的容量。
指令寄存器的位數取決於指令字長。
通用寄存器的位數取決於機器字長。
指令包括操作碼字段和地址碼字段,但指令譯碼器僅對操作碼字段進行譯碼,借以確定指令的操作功能。
地址譯碼器是主存等存儲器的組成部分,其作用是根據輸入的地址碼唯一選定一個存儲單元,它不是 CPU 的組成部分。
間址周期結束時,CPU 內寄存器 MAR 的內容為操作數地址。
指令執行過程
CPU 從主存每取出並執行一條指令所需的全部時間稱為指令周期,即 CPU 完成一條指令的時間。
指令周期常用若干機器周期來表示,一個機器周期又包含若干時鍾周期(也稱節拍或 T周期,它是 CPU 操作的最基本單位)。每個指令周期內的機器周期數可以不等,每個機器周期內的節拍數也可以不等。
對於無條件轉移指令 JMP X,在執行時不需要訪問主存,只包含取指階段(包括取指和分析) 和執行階段,所以其指令周期僅包含取指周期和執行周期。對於間接尋址的指令,為了取操作數,需要先訪問一次主存,取出有效地址,然后訪問主存。取出操作數,所以還需要包括間址周期。間址周期介於取指周期和執行周期之間。
一個完整的指令周期應包括取指、間址、執行和中斷 4 個周期。這 4 個周期都有 CPU 訪存操作,只是訪存的目的不同。取指周期是為了取指令,間址周期是為了取有效地址,執行周期是為了取操作數,中斷周期是為了保存程序斷點。中斷周期中的進棧操作是將 SP 減1,這和傳統意義上的進棧操作相反,原因是計算機的堆棧中都是向低地址增加,所以進棧操作是減1而不是加1。
取指周期的任務是根據 PC 中的內容從主存中取出指令代碼並存放在 IR 中。取指令的同時, PC 加 1。
間址周期的任務是取操作數有效地址。一次間址將指令中的地址碼送到 MAR 並送至地址總線,此后 CU 向存儲器發讀命令,以獲取有效地址並存至 MDR。
執行周期的任務是根據 IR 中的指令字的操作碼和操作數通過 ALU 操作產生執行結果,不同指令的執行周期操作不同。
中斷周期的任務是處理中斷請求。
指令執行方案
1.單指令周期。對所有指令都選用相同的執行時間來完成,稱為單指令周期方案。此時,每條指令都在固定的時鍾周期內完成,指令之間串行執行,即下一條指令只能在前一條指令執行結束后才能啟動。因此,指令周期取決於執行時間最長的指令的執行時間。
2.多指令周期。對不同指令選用不同的執行步驟來完成,稱為多指令周期方案。指令之間串行執行,即下一條指令只能在前一條指令執行結束后才能啟動。但可選用不同個數的時鍾周期來完成不同指令的執行過程指令需要幾個周期就為其分配幾個周期,而不再要求所有指令占用相同的執行時間。
3.流水線方案。指令之間可以並行執行的方案,稱為流水線方案,其追求的目標是力爭在每個時鍾脈沖周期完成一條指令的執行過程(只有在理想情況下才能達到該效果)。這種方案通過在每個時鍾周期啟動一條指令,盡量讓多條指令同時運行,但各自處在不同的執行步驟中。
指令總是根據程序計數器從主存中讀出。
在一條無條件跳轉指令的指令周期內,程序計數器(PC)的值被修改了 2 次。首先在取指周期結束后,PC 的值自動加 1;在執行周期中,PC 的值修改為要跳轉的地址。綜上,在一條無條件跳轉指令的指令周期內,程序計數器(PC)的值被修改了 2 次。取指操作是自動進行的,控制器不需要得到相應的指令。不同長度的指令,其取指操作可能是不同的。控制器可區分存儲單元中存放的是指令還是數據。
取指操作時自動進行的,控制器不需要得到相應的指令。
不同長度的指令,其取指操作可能是不同的。
數據通路的功能和基本結構
數據在功能部件之間傳送的路徑稱為數據通路。運算器與各寄存器之間的數據傳送路徑就是中央處理器的內部數據通路。數據通路描述了信息從什么地方開始,中間經過哪個寄存器或多路開關,最后傳送到哪個寄存器,這些都要加以控制。建立數據通路的任務是由“操作控制部件”來完成的。數據通路的功能是實現 CPU 內部的運算器與寄存器及寄存器之間的數據交換。
數據通路的基本結構主要有以下幾種:
- CPU 內部單總線方式。將所有寄存器的輸入端和輸出端都連接到一條公共通路上,這種結構比較簡單,但數據傳輸存在較多的沖突現象。
- CPU 內部多總線方式。將所有寄存器的輸入端和輸出端都連接到多條公共通路上,同時在多個總線上傳送不同的數據,提高效率。
- 專用數據通路方式。根據指令執行過程中的數據和地址的流動方向安排連接線路,避免使用共享的總線,性能較高,但硬件量大。
內部總線是指同一部件,如 CPU 內部連接各寄存器及運算器部件之間的總線;系統總線是指同一台計算機系統的各個部件,如 CPU、內存、通道和各類 I/O接口之間互相連接的總線。
寄存器之間的數據傳送可通過 CPU 內部總線完成。
主存與 CPU 之間的數據傳送也要借助 CPU 內部總線完成。
執行算術或邏輯操作時,由於 ALU 本身是沒有內部存儲功能的組合電路,因此如要執行加法運算,相加的兩個數必須在 ALU 的兩個輸入端同時有效。
在單總線的 CPU 中,ALU 只能有一個輸入端可與總線相連,另一輸入端需通過暫存器與總線相連,否則兩個端口會同時獲得兩個相同的數據,是數據通路不能正常工作。
實現 ADD R1,(R2) 的微操作序列
(PC) → MAR
M → MDR
(PC) + 1 → PC
MDR → IR
R1 → LA
(R2) → MAR
M → MDR
MDR → LB
(LA) + (LB) → R1
控制器的功能和工作原理
根據控制器產生微操作控制信號的方式的不同,控制器可分為硬布線控制器和微操作控制器,兩類控制器中的 PC 和 IR 是相同的,但確定和表示指令執行步驟的辦法以及給出控制各部件運行所需要的控制信號的方案是不同的。
硬布線控制器
硬布線控制器的基本原理是根據指令的要求、當前的時序及外部和內部的狀態,按時間的順序發送一系列微操作控制信號。它由復雜的組合邏輯門電路和一些觸發器構成,因此又稱組合邏輯控制器。
指令的操作碼是決定控制單元發出不同操作命令(控制信號)的關鍵。為了簡化控制單元(CU)的邏輯,將指令的操作碼譯碼和節拍發生器從 CU 分離出來,便可得到簡化的控制單元圖。CU 的輸入信號來源如下:
- 經指令譯碼器譯碼產生的指令信息。現行指令的操作碼決定了不同指令在執行周期所需完成的不同操作,故指令的操作碼字段是控制單元的輸入信號,它與時鍾配合產生不同的控制信號。
- 時序系統產生的機器周期信號和節拍信號。為了使控制單元按一定的先后順序、一定的節奏發出各個控制信號,控制單元必須受時鍾控制,即一個時鍾脈沖使控制單元發送一個操作命令,或發送一組需要同時執行的操作命令。
- 來自執行單元的反饋信息即標志。控制單元有時需依賴 CPU 當前所處的狀態產生控制信號,如 BAN 指令,控制單元要根據上條指令的結果是否為負來產生不同的控制信號。
控制單元還接收來自系統總線(控制總線)的控制信號,如中斷請求、DMA 請求。
硬布線控制器的時序系統及微操作
- 時鍾周期。用時鍾信號控制節拍發生器,可以產生節拍,每個節拍的寬度正好對應一個時鍾周期。在每個節拍內機器可完成一個或幾個需同時執行的操作。
- 機器周期。機器周期可視為所有指令執行過程中的一個基准時間。不同指令的操作不同,指令周期也不同。訪問一次存儲器的時間是固定的,因此通常以存取周期時間作為基准時間,即內存中讀取一個指令字的最短時間為機器周期。在存儲字長等於指令字長的情況下,取指周期也可視為機器周期。 在一個機器周期里可完成若干微操作,每個微操作都需一定的時間,可用時鍾信號來控制產生每個微操作指令。
- 指令周期。見上。
- 微操作命令分析。控制單元具有發出各種操作命令(控制信號)序列的功能。這些命令與指令有關,而且必須按照一定次序發出,才能使 機器有序地工作。
一條指令分為 3 個工作周期:取指周期、間址周期和執行周期。
CPU 的控制方式主要有以下三種:
- 同步控制方式。是指系統有一個統一的時鍾,所有的控制信號均來自這個統一的時鍾信號通常以最長的的微操作序列和最繁瑣的微操作作為標准,采取完全統一的、具有相同時間間隔和相同數目的節拍作為機器周期來運行不同的指令。同步控制方式的優點是控制電路簡單,缺點是運行速度慢。
- 異步控制方式。異步控制方式不存在基准時標信號,各部件按自身固有的速度,通過應答方式進行聯絡。異步方式的優點是運行速度快,缺點是控制電路比較復雜。
- 聯合控制方式。聯合控制方式是介於同步同步、異步之間的一種折中。這種方法對各種不同的指令微操作實行大部分采用同步控制、小部分采用異步控制的辦法。
微程序控制器
微程序控制器采用邏輯存儲實現,也就是把微操作信號代碼化,使每條機器指令轉化成為一段微程序並存入一個專門的存儲器(控制存儲器)中,微操作控制信號由微指令產生。
(1)微命令與微操作。一條機器指令可以分解成一個微操作序列,這些微操作是計算機中最基本的 、不可再分解的操作。在微程序控制的計算機中,將控制部件向執行部件發出的各種程序控制命令稱為微指令,它是構成控制序列的最小單位。微命令和微操作是一一對應的。微命令是微操作的控制信號,微操作是微命令的執行過程。微命令有相容性和互斥性之分。相容性微命令是指那些可以同時產生、共同完成某一些微操作的微指令;而互斥性微命令是指在機器中不允許同時出現的微命令。相容和互斥都是相對的,一個微命令可以和一些微命令相容,和另一些微命令互斥。
(2)微指令與微周期。微指令是若干微命令的集合。存放微指令的控制存儲器的單元地址稱為微地址。一條微指令通常至少包含兩大部分信息:
- 操作控制字段,又稱微操作碼字段,用於產生某一步操作所需的各種操作控制信號。
- 順序控制字段,又稱微地址碼字段,用於控制產生下一條要執行的微指令地址。
微周期通常指從控制存儲器中讀取一條微指令並執行相應的微操作所需的時間。
(3)主存儲器與控制存儲器。主存儲器用於存放程序和數據,在 CPU 外部,用 RAM 實現;控制存儲器(CM)用於存放微程序,在 CPU 內部,用 ROM 實現。
(4)程序與微程序。程序是指令的有序集合,用於完成特定的功能;微程序是微指令的有序集合,一條指令的功能由一段微程序來實現。
微程序和程序是兩個不同的概念。微程序是由微指令組成的,用於描述機器指令。微程序實際上是機器指令的實時解釋器,是由計算機設計者實現編制好並存放在控制存儲器中的,一般不提供給用戶。對於程序員來說,計算機系統中微程序的結構和功能是透明的。而程序最終由機器指令組成,是由軟件設計人員實現編制好並存放在主存或輔存中的。
注意區分以下寄存器:
1.地址寄存器(MAR)。用於存放主存的 讀/寫地址。
2.微地址寄存器(CMAR)。用於存放控制存儲器的 讀/寫微指令的地址。
3.指令寄存器(IR)。用於存放從主存中讀出的指令。
4.微指令寄存器(CMDR 或 μIR)。用於存放從控制器中讀出的微指令。
若指令周期中具有 n 種機器指令,則控制存儲器中的微程序數至少是 n + 1(1 為公共的取指微程序,有中斷再 +1)。
微指令的編碼方式:
- 直接編碼(直接控制)方式。直接編碼無須進行譯碼,微指令的微命令字段中的每位都代表一個微命令。設計微指令時,選用或不選用某個微指令,只要將表示該微命令的對應位設置成 1 或 0 即可。每個微命令對應並控制數據通路中的一個微操作。
- 字段直接編碼方式。將微指令的微命令字段分為若干小字段,把互斥性微命令組合在統一字段中,把相容性微命令組合在不同字段中,每個字段獨立編碼,每種編碼代表一個微命令且各字段編碼含義單獨定義,與其他字段無關,這就是字段直接編碼方式。一般每個小段還要留出一個狀態,表示本字段不發出任何微命令。因此,當某字段長度為 3 時,最多只能表示 7 各互斥的微命令,通常用 000 表示不操作。
- 字段間接編碼方式。一個字段的某些微命令需由另一個字段中的某些微命令來解釋,由於不是靠字段直接譯碼發出的微指令,故稱為字段間接編碼,又稱隱式編碼。這種方式可進一步縮短微指令字長,但因削弱了微指令的並行控制能力,因此通常作為字段直接編碼的一種輔助手段。
微指令的格式與微指令的編碼方式有關,通常分為水平型微指令和垂直型微指令。
- 水平型微指令。從編碼方式看,直接編碼、字段直接編碼、字段間接編碼和混合編碼都屬於水平型微指令。指令字中的一位對應一個控制信號,有輸出是為 1,否則為 0。一條水平型微指令定義並執行幾種並行的基本操作。
- 垂直型微指令。垂直型微指令的特點是采用類似機器指令操作碼的方式,在微指令中設置微操作碼字段,采用微操作碼編譯法,由微操作碼規定微指令的功能,一條垂直型微指令只能定義並執行一種基本操作。
-
混合型微指令。在垂直型的基礎上增加一些不太復雜的並行操作。微指令較短,仍便於編寫;微程序也不長,執行速度加快。
對比項目\類別 | 微程序控制器 | 硬布線控制器 |
工作原理 | 微操作控制信號以微程序的形式存放在控制存儲器中,執行指令時讀出即可 | 微操作控制信號由組合邏輯電路根據當前的指令碼、狀態和時序即時產生 |
執行速度 | 慢 | 快 |
規整性 | 較規整 | 繁瑣、不規整 |
應用場合 | CISC CPU | RISC CPU |
易擴充性 | 易擴充修改 | 困難 |
在微程序控制器中,形成微程序入口地址的是機器指令的操作碼字段。
微程序控制存儲器用來存放微程序,是微程序控制器的核心部件,屬於 CPU 的一部分。
硬布線控制器與微程序控制器相比,微程序控制器的時序系統比較簡單。
通常情況下,一個微程序的周期對應一個指令周期。
指令流水線
當多條指令在處理器中執行時,可以采用以下三種方式:
- 順序執行方式。指令順序執行,前一條指令執行完后,才啟動下一條指令。設取指、分析、執行三個階段的時間都相等,用 t 表示,順序執行 n 條指令所用時間為 T 為 T = 3nt。
- 一次重疊方式。這種方式同時進行第 k 條指令的執行階段和第 k + 1 條指令的取指階段。采用此種方式時,執行 n 條指令所用的時間為 T = (1 + 2n)t。
- 二次重疊方式。為了進一步提高指令的執行速度,可以把取 k +1 條指令提前到分析第 k 條指令的期間完成,而將分析第 k + 1 條指令與執行第 k 條指令同時進行。采用此種方式時,執行 n 條指令所用的時間是 T = (2 + n)t。
流水線方式的特點(與傳統串行方式相比):
- 把一個任務(一條指令或一個操作)分解為幾個有聯系的子任務,每個子任務由一個專門的功能部件來執行,並依靠多個功能部件並行工作來縮短程序的執行時間。
- 流水線每個功能部件后面都要有一個緩沖寄存器,或稱鎖存器,其作用是保存本流水段的執行結果,提供給下一流水段使用。
- 流水線中各功能段的時間應盡量相等,否則將引起堵塞、斷流。
- 只有連續不斷地提供同一任務時才能發揮流水線的效率,所以在流水線中處理的必須是連續任務。在采用流水線方式工作的處理機中,要在軟件和硬件設計等多方面盡量為流水線提供連續的任務。
- 流水線需要有裝入時間和排空時間。裝入時間是指第一個任務進入流水線到輸出流水線的時間。排空時間是指最后一個任務進入流水線到輸出流水線的時間。
流水線的分類:
- 部件功能級、處理機級和處理機間級流水線。部件功能級流水將復雜的算術邏輯運算組成流水線工作方式。例如,可將浮點數加法操作分成求階差、對階、尾數相加及結果規格化等 4 個子過程。處理機級流水把一條指令解釋過程分成多個子過程,如取指、譯碼、執行、訪存和寫回 5 個子過程。處理機間級流水是一種宏流水,其中每個處理機完成某一專門任務,各個處理機得到的結果需存放在與下一個處理機共享的存儲器中。
- 單功能流水線和多功能流水線。單功能流水線是指只能實現一種固定的專門功能的流水線;多功能流水線是指通過各段間的不同連接方式可以同時或不同時地實現多種功能的流水線。
- 動態流水線和靜態流水線。靜態流水線指在同一時間內,流水線的各段之能按同一種功能的連接方式工作。動態流水線指在同一時間內,當某些段正在實現某種運算時另一些段卻在進行另一種運算。
- 線性流水線和非線性流水線。線性流水線中,從輸入到輸出,每個功能段只允許經過一次,不存在反饋回路。非線性流水線存在反饋回路,從輸入到輸出的過程中,某些功能段將數次通過流水線,這種流水線適合進行線性遞歸的運算。
影響流水線的因素:
- 結構相關(資源沖突)。由於多條指令在同一時刻爭用同一資源而形成的沖突稱為結構相關,有以下兩種解決方法:
- 前一指令訪存時,使后一條相關指令(以及其后續指令)暫停一個時鍾周期。
- 單獨設置數據存儲器和指令存儲器,使兩項操作各自在不同的存儲器中進行,這屬於資源重復配置。
- 數據相關(數據沖突)。數據相關指在一個程序中,存在必須等前一條指令執行完才能執行后一條指令的情況,此時這兩條指令即為數據相關。當多條指令重疊處理時就會發生沖突,解決的辦法由以下幾種:
- 把遇到數據相關的指令及其后續指令都暫停一至幾個時鍾周期,直到數據相關問題消失后再繼續執行,可分為硬件阻塞(stall)和軟件插入“NOP”指令兩種方法。
- 設置相關專用通路,即不等前一條指令把計算結果寫回寄存器組,下一條指令也不再讀寄存器組,而直接把前一條指令的 ALU 的計算結果作為自己的輸入數據開始計算過程,使本來需要暫停的操作變得可以繼續執行,這稱為數據旁路技術。
- 通過編譯器對數據相關的指令編譯優化的方法,調整指令順序來解決數據相關。
- 控制相關(控制沖突)當流水線遇到轉移指令和其他改變 PC 值的指令而造成斷流時,會引起控制相關。解決的辦法有以下幾種:
- 對轉移指令進行分支預測,盡早生成轉移目標地址。分支預測分為簡單(靜態)預測和動態預測。靜態預測總是預測條件不滿足,即繼續執行分支指令的后續指令。動態預測根據程序執行的歷史情況,進行動態預測調整,有較高的預測准確率。
- 預取轉移成功和不成功兩個控制流方向上的目標指令。
- 加快和提前形成條件碼。
- 提高轉移方向的猜准率。
Cache 缺失的處理過程也會引起流水線阻塞。在不過多增加硬件成本的情況下,如何盡可能提高指令流水線的運行效率(處理能力)是選用指令流水線技術必須解決的問題。
流水線中有三類數據相關沖突:寫后讀(RAW)相關;讀后寫(WAR)相關;寫后寫(WAW)相關
流水線的性能指標:
1.流水線的吞吐率。在指令級流水線中,吞吐率是指在單位時間內流水線所完成的任務數量,或輸出結果的數量。計算流水線吞吐率(TP)的最基本的公式為 TP = n / (Tk)。其中 n 是任務數,Tk是處理完 n 個任務所用的時間。
2.加速比。
3.效率。
1.超標量流水線技術。每個時鍾周期可並發多條獨立指令,即以並行操作方式將兩條指令或多條指令編譯並執行,為此需配置多個功能部件。超標量計算機不能調整指令的執行順序,因此通過編譯優化技術,把可並行執行的指令搭配起來,挖掘更多的並行性。
2.超流水線技術。在一個周期內再分段,在一個時鍾周期內一個功能部件使用多次。不能調整指令的執行順序,靠編譯程序解決優化問題。
3.超長指令字。由編譯程序挖掘出指令間潛在的並行性,將多條能並行操作的指令組合成一條具有多個操作碼字段的超長指令字(可達幾百位),為此需要采用多個處理部件。
流水 CPU 是以時間並行性為原理構造的處理器。
超標量流水線能結合動態調度技術提高指令並行性。(與上面矛盾,暫時以此為准)
五階段流水線可分為取指 IF、譯碼/取數 ID、執行 EXC、存儲器讀 MEM、寫回 Write Back。數字系統中,各個子系統通過數據總線連接形成的數據傳送路徑稱為數據通路,包括程序計數器、算術邏輯運算部件、通用寄存器組、取指部件等,不包括控制部件。
流水線按序流動時,在 RAW、WAR、WAW 中,只可能出現 RAW相關。
以上內容均來自王道書籍及相關課程等