瀏覽單個文章
Xforce
Senior Member
 
Xforce的大頭照
 

加入日期: Feb 2002
您的住址: 宜蘭
文章: 1,341
正解就是 NEAL 之前回答,
程式為循序執行(thread) 對應到 CPU 端是以 register set 來實作(Data register, Program Counter ....). HyperThreading 是在一個實體 CPU 有兩套以上 register set 來對應不同的循序執行.

目前 CPU 設計分為幾個 stage, 在 decode, dispatch 後 依照不同指令性質 會被分配到不同的執行單元(integer, floating, memory access), 譬如說 一個整數指令在進行時 浮點運算 或記憶體純取的單元可能是空閒的, SMT的目的 就是盡量讓所有的執行單元能同時運作.

至於軟體端的Thread 實作, 基本上也是一個軟體 Thread 保持一組 register set, 在 context switch 的時候 會置換 CPU register set 內容
__________________
AMD Athlon 64 3000+
Asus A8N-E nfoce 4 empowered
Simems DDR 400 512MB *2
Benq 1640
---------------------------------
舊 2018-12-01, 05:47 PM #55
回應時引用此文章
Xforce離線中