有兩個方面:時間多線程和超線程之間有什麼區別?
Temporal multithreading:在細粒度多線程時間,主處理器流水線可以包含多個主題,使用上下文切換管道級之間有效地存在的(例如,在barrel processor)。桶式處理器是在每個週期之間在執行線程之間切換的CPU。
Super-threading:是一種多線程技術,它使不同的線程能夠被單個處理器執行,而不會同時真正執行它們。 1這可以將其定義爲時間分割或時間多線程,而不是同時多線程(SMT)。它的動機是由於長時間延遲事件,處理器的功能單元在執行來自一個線程的指令時偶爾處於空閒狀態。超線程試圖通過執行來自另一線程的指令來使用未使用的處理器週期,直到前一線程準備好恢復執行爲止。
是TM和ST之間的主要區別,在於時空多線程(精細)使用C-slowing和執行的線程之間的切換在每個週期中,但線程間超級線程交換機並不是每一個循環,只有當處理器由於長時間延遲事件,功能單元在執行來自一個線程的指令時處於空閒狀態?
時間多線程(細粒度)和超線程有什麼區別?
從一個*非常簡短的*搜索(和*一些*熟悉計算機體系結構)看來,超線程首次在Shuichi Sakai等人的「Super-threading:Architecture and Software Mechanisms for Optimizing Parallel Computation 「具有更廣泛的線程硬件支持意識。這個術語在計算機體系結構社區中並不常用(據我所知)。時間多線程包括粗粒度(通常爲開機事件MT)和細粒度(包括桶式處理和更靈活的逐週期調度)。 –
@Paul A. Clayton ST很少使用。是否有可能是因爲超線程(ST)僅爲一個流水線(ALU)提供指令,但爲多個流水線(ALU)提供同時多線程(SMT)?即ST僅利用失速(高速緩存未命中,分支錯誤預測或數據依賴性),但現代CPU也是超標量體系結構,而不是ST使用SMT來利用超標量體系結構。例如超線程 - 是英特爾專有的同步多線程(SMT)。 – Alex