看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《shiared (洨紅)》之銘言: : 想請問的是第一題 : 第一小題題目是問 : 定義simultaneous mutlithreaing(SMT) on multiprocessor : system and muticore processors : 小弟拼湊的答案大概是兩者因有無shared cache ,memory的不同而影響溝通方式 : 一個是message passing 一個是shared memory : 但是第二小題問說如果是執行90%都是floating point computation兩者的差異 : 實在是毫無頭緒,不知道有沒有人能解個惑 線程(thread)是作業系統對CPU計算排程的最小單位。 並不是每一種運算所涉及的運算單元都相同,若一次只執行一個指令, 勢必會使得許多運算單元閒置。 同時多線程(simultaneous multithreading, SMT) 是指在超純量(superscalar)CPU中, 透過額外的暫存器儲存架構狀態(architectural state) (i.e. context switch所涉及的資料), 對兩個以上的線程的指令一起進行動態多重派發(dynamic multiple issue), 以充分利用CPU中的各種資源。 對作業系統來說,能夠SMT的CPU看起來不只一個核心。 例如Intel的Hyper-Threading即在CPU之中額外提供一組狀態暫存器, 原本只有1 core看起來就會變成2 cores, 就是所謂一個實體核心,兩個邏輯線程。 但是運算單元終究只有一組,所以SMT對於相同類型的運算就無能為力了。 multi-threading on multi-core則是指每一個core都負責一個thread。 因為multi-core processor是將多顆較小較慢較省電較便宜的CPU整合到同一塊chip上, 所以對單一thread來說,速度較慢。 但是它具有實際的運算單元,與SMT相比,不會有運算單元衝突的問題。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.217.228.250
FY4:推 02/19 18:18
cksh3300110:推! 02/19 20:03
shiared:推!!!!!!!!!!!!!!!!! 02/19 23:19
※ 編輯: fatalismo 來自: 220.132.104.48 (02/21 12:14)