2
cpu核心的超線程意味着核心可以被視爲邏輯上的兩個或多個邏輯/虛擬cpu核心來運行多個進程。CPU的超線程與操作系統的上下文切換之間的關係?
操作系統還通過調度和上下文切換提供併發編程。
這兩者是否做同樣的事情,即支持併發編程?
它們的關係是什麼?例如,操作系統的併發性是否要求CPU核心提供超線程,反之亦然?
謝謝。
cpu核心的超線程意味着核心可以被視爲邏輯上的兩個或多個邏輯/虛擬cpu核心來運行多個進程。CPU的超線程與操作系統的上下文切換之間的關係?
操作系統還通過調度和上下文切換提供併發編程。
這兩者是否做同樣的事情,即支持併發編程?
它們的關係是什麼?例如,操作系統的併發性是否要求CPU核心提供超線程,反之亦然?
謝謝。
超線程化需要額外的硬件支持。
在上下文切換你必須從硬件移除所有信息,並加載在其他過程中的信息。
在HT已複製具有硬件單元的情況下預加載其他進程的信息,以便開關非常快捷。
所以對於被超螺紋的芯部,所述切換不需要考慮當前運行的進程的整個過程控制塊出,並與其他一個加載。它只需要切換從中讀取指令的硬件單元。
引述維基百科:
超線程作品複製的某些部分的 處理器的那些存儲架構狀態,但不能複製 主要執行資源。這允許超線程處理器 顯示爲通常的「物理」處理器和額外的「邏輯」處理器到主機操作系統。
謝謝。那麼在這兩者中,一個不需要另一個提供併發編程? – Tim
@Tim:當需要切換多個進程時需要上下文切換,並且我們使用超線程來減少上下文切換的時間。您目前可視化這兩個想法的方式可能不正確。即使在超線程時,你也在做上下文切換。上下文切換是您搶佔一個進程並將核心交給其他進程時的事件。 – displayName