一看就明白的超标量超流水线超线程简介
在RISC之后,出現了一些提高指令級并行性的技術,使得計算機在每個時鐘周期里可以解釋多條指令,這就是超標量技術和超流水線技術。
常規的標量流水線,每個時鐘周期平均執行的指令的條數小于等于1,即它的指令級并行度小于等于1。
超標量
超標量技術是通過重復設置多個功能部件,并讓這些功能部件同時工作來提高指令的執行速度,實際上是以增加硬件資源為代價來換取處理器性能的。使用超標量技術的處理器在一個時鐘周期內可發射多條指令。
典型的標量流水線處理機把一條執行的執行過程分解為取指令、譯碼、執行、訪存、寫會等5級流水線,每一級的執行時間為一個基本時鐘周期。讓一條指令從譯碼段流動到執行段的操作通常稱為發射指令。
單發射是指處理機在一個時鐘周期內只從存儲器取出一條指令進入指令流水線處理。它的設計目標是每個時鐘周期平均執行一條指令。但是實際上由于數據相關、控制相關以及資源沖突等原因,只能接近一條指令。
所以,超標量還有另外一種說法。在一個時鐘周期內能夠同時發射多條指令。為了能夠支持同時發射多條指令,超標量處理器必須具有至少兩條及以上能夠同時工作的指令流水線。具有多條能同時工作的流水線是所謂超標量的前提。
超流水線
超流水線仍然是一種流水線技術,可以認為它是將標量流水線的子過程再進一步細分,使得子過程數大于或等于8的情況。也就是說只需要增加少量硬件,通過各部分硬件的充分重疊工作來提高處理器性能。采用超流水線技術的處理器在一個時鐘周期內可以分時發射多條指令。
提高流水線處理效率的另一個方法是縮短機器周期。一般是將一個機器周期劃分為若干個子周期,每個子周期均發射一條新的指令,亦即每個機器周期發射多條指令,從而提高計算機的性能。這種處理方式稱為超流水線處理技術。
超流水線技術對芯片的工作速度要求比較高,同時硬件系統比較復雜,需要占用較大的芯片的面積,因此超流水線結構在嵌入式RISC處理器中很少采用。
超線程
超線程是Intel公司提出的一種提高CPU性能的技術,就是將一個物理CPU當作兩個邏輯CPU使用,使CPU可以同時執行多重線程,從而發揮更大的效率。超線程技術利用特殊的硬件指令,把兩個邏輯內核模擬成兩個物理芯片,讓單個處理器都能使用線程級并行計算,進而兼容多線程操作系統和應用軟件,減少CPU的閑置時間,提高CPU的運行效率。
超線程技術可以使操作系統或者應用軟件的多個線程,同時運行于一個超線程處理器上,其內部的兩個邏輯處理器共享一組處理器執行單元,并行完成加、乘、加載等操作。這樣做可以使得處理器的處理能力提高30%,因為在同一時間內,應用程序可以充分使用芯片的各個運算單元。
對于單線程芯片來說,雖然也可以每秒處理成千上萬條指令,但是在某一時刻,其只能夠對一條指令(單個線程)進行處理,結果必然使處理器內部的其他處理單元閑置。而超線程技術則可以使處理器在某一時刻,同步并行處理更多指令和數據。所以,超線程是一種可以將CPU內部暫時閑置的處理資源充分調動起來的技術。
超線程技術與雙核心技術區別
開啟了超線程技術的CPU和雙核CPU在操作系統中都同樣被識別為兩個處理器,他們究竟是不是一樣的?
可以簡單理解:雙核心技術為兩個“物理”核,是一種“硬”的方式;超線程技術只是兩個“邏輯“處理器,是一種”軟“的方式。
支持超線程的CPU能同時執行兩個線程,但超線程中的兩個邏輯處理器并沒有獨立的執行單元、整數單元、寄存器甚至緩存等資源。他們在運行過程中仍需要共用執行單元、緩存和系統總線接口。在執行多線程時兩個邏輯處理器均是交替工作,如果兩個線程都同時需要某一個資源時,其中一個要暫停并要讓出資源,要待那些資源閑置時才能繼續。因此,前面說超線程技術僅可看作是對單個處理器運算資源的優化利用。
而雙核心技術則是通過“硬”的物理核心實現多線程工作,每個核心擁有獨立的指令集、執行單元,與超線程中所采用的模擬共享機制完全不一樣。在操作系統看來,他是實實在在的雙處理器,可以同時執行多項任務,能讓處理器資源真正實現并行處理模式,其效率和性能提升要比超線程技術高的多,兩者不可同日而語。
百度百科對超標量定義:
超標量CPU架構是指在一顆處理器內核中實行了指令級并行的一類并行計算。這種技術能夠在相同的CPU主頻下實現更高的CPU吞吐率。
?
總結
以上是生活随笔為你收集整理的一看就明白的超标量超流水线超线程简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: USB Server解决虚拟化部署UKe
- 下一篇: 锚点回到顶部