什麼是指令流水線?

任何處理器指令的操作都有多個階段。這些階段中的每一個都需要一個 CPU 週期來完成。這些階段是指令獲取、指令解碼、執行、內存訪問和寫回。這些分別獲取需要完成的指令,將操作與被操作的值分離,執行流程,打開要寫入結果的寄存器,將結果寫入打開的寄存器。

歷史訂單處理器

在早期的計算機中,CPU 不使用指令流水線。在這些 CPU 中,每條指令都需要執行每個單週期操作。這意味著在下一個指令開始之前,平均需要五個時鐘週期才能完成整個指令的處理。一些操作可能不需要將任何結果寫入寄存器,這意味著可以跳過內存訪問和寫回階段。

什麼是指令流水線?

在沒有流水線的次標量處理器中,每條指令的每個部分都是按順序執行的。

但是,在能夠繼續執行下一條指令之前按順序運行一條完整的指令時,潛伏著一個問題。問題是緩存未命中。CPU 將它正在積極處理的數據存儲在寄存器中。這可以通過一個週期的延遲來訪問。問題是寄存器很小,因為它內置在處理器內核中。如果數據尚未加載,CPU 必須轉到更大但更慢的 L1 緩存。如果不存在,它必須再次轉到更大更慢的 L2 緩存。下一步是L3緩存;最後一個選項是系統內存。這些選項中的每一個都需要越來越多的 CPU 週期來檢查。

現在,這種額外增加的延遲在系統中可能是一個大問題,因為系統必須在開始下一條指令之前按順序完整地完成每條指令。曾經是每條指令 5 個週期的處理器,可能會突然在一條指令上掛起數十或數百個時鐘週期。一直以來,計算機上不會發生任何其他事情。從技術上講,這可以通過擁有兩個獨立的核心來有所緩解。然而,沒有什麼能阻止他們同時做同樣的事情。所以走多核路線並不能解決這個問題。

經典的 RISC 流水線

RISC 代表精簡指令集計算機。這是一種處理器設計風格,通過簡化每條指令的解碼來優化性能。這與 CISC 或複雜指令集計算機相比,後者設計更複雜的指令集,允許執行相同任務所需的指令更少。

經典的 RISC 設計包括一條指令流水線。流水線不是在任何給定週期中運行五個指令階段中的任何一個,而是允許執行所有五個階段。當然,您不能在一個週期內運行一條指令的所有五個階段。但是你可以排隊五個連續的指令,每個指令有一個階段的偏移量。這樣,每個時鐘週期都可以完成一條新指令。提供潛在的 5 倍性能提升,同時核心複雜性的增加相對較低。

什麼是指令流水線?

在標量流水線處理器中,指令執行的每個階段可以在每個時鐘週期執行一次。這允許每個週期一條完整指令的最大吞吐量。

沒有流水線的處理器只能是次標量的,因為它們不能在每個週期執行一條完整的指令。使用這個主要的五級流水線,您可以製作一個標量 CPU,它可以為每個進程完成一條指令。通過創建影響更深遠的流水線,您可以製造出每個時鐘週期可以執行多條指令的超標量 CPU。當然,仍然存在潛在的問題。

仍然是連續的

當需要查詢不同級別的緩存和 RAM 時,這些都沒有解決等待響應的許多周期的問題。它還引入了一個新問題。如果一條指令依賴於前一條指令的輸出怎麼辦?這些問題通過高級調度程序獨立解決。它仔細規劃執行順序,以便沒有依賴於另一個輸出的指令靠得太近。它還通過停放指令並在管道中用其他準備運行且不需要其結果的指令替換它來處理緩存未命中,並在指令準備就緒時恢復指令。

這些解決方案可以在非流水線處理器上運行,但它們是每個時鐘運行多條指令的超標量處理器所必需的。分支預測器也非常有用,因為它可以嘗試預測具有多個潛在結果的指令的結果,並繼續假設它是正確的,除非另有證明。

結論

流水線允許在每個週期中使用處理器的所有不同功能。它通過同時運行不同指令的不同階段來做到這一點。這甚至不會給 CPU 設計增加太多複雜性。它還為允許多個指令在每個週期執行一個階段鋪平了道路。



如何克隆硬碟

如何克隆硬碟

在資料是寶貴資產的現代數位時代,在 Windows 上複製硬碟對許多人來說可能是一個至關重要的過程。這份綜合指南

如何修復驅動程式 WUDFRd 在 Windows 10 上載入失敗?

如何修復驅動程式 WUDFRd 在 Windows 10 上載入失敗?

您在啟動電腦時是否遇到錯誤訊息,提示驅動程式 WUDFRd 無法在電腦上載入?

如何修復 NVIDIA GeForce Experience 錯誤代碼 0x0003

如何修復 NVIDIA GeForce Experience 錯誤代碼 0x0003

您是否在桌面上遇到 NVIDIA GeForce 錯誤代碼 0x0003?如果是,請閱讀部落格以了解如何快速輕鬆地修復此錯誤。

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

如何在 2023 年從 Windows PC 中移除 GPU

如何在 2023 年從 Windows PC 中移除 GPU

您需要從 PC 上卸下 GPU 嗎?和我一起在這個分步指南中解釋如何從您的 PC 中刪除 GPU。

如何在台式機和筆記本電腦中安裝 NVMe SSD

如何在台式機和筆記本電腦中安裝 NVMe SSD

買了新的 NVMe M.2 SSD 但不知道如何安裝?繼續閱讀以了解如何在筆記本電腦或台式機上安裝 NVMe SSD。

什麼是邏輯炸彈?

什麼是邏輯炸彈?

邏輯炸彈是一種安全事件,攻擊者會在其中設置延遲操作。繼續閱讀以了解更多信息。

什麼是震網?

什麼是震網?

Stuxnet 是一種自我傳播的蠕蟲病毒。這是第一次使用網絡武器,也是第一個惡意軟件實例。

什麼是道德黑客?

什麼是道德黑客?

道德黑客是在法律約束下行事的黑客。繼續閱讀以了解有關該主題的更多信息。

什麼是對稱加密?

什麼是對稱加密?

密碼學有很多不同的部分。如果你想加密一些數據,你可以使用兩種類型的算法: symmetric