→ MOONRAKER:(有啦,P4至少有號稱。) 59.115.218.148 11/04 01:17
※ 引述《JohnLinq (林約翰)》之銘言:
: ※ [本文轉錄自 C_and_CPP 看板]
: 作者: JohnLinq (林約翰) 看板: C_and_CPP
: 標題: [問題] 硬體 多核/多執行緒 與 軟體運作
: 時間: Mon Nov 3 11:45:18 2008
: 目前正在學習函數指標,
: 資料上說,函數指標的運作,有可能會造成分支預測失敗,流水線(管線)斷流;
: 到處亂看了一堆資料之後,感覺相當地混亂,所以想跟大家請教一下。
: 流水線(管線)、分支預測、非循序(亂序)執行、指令級並行、執行緒級並行,哇啦哇啦
: 1. 硬體上:
: 1.1 多核心,擁有多個CPU
: [請了多個工人]
: 1.2 多執行緒,一顆CPU擁有許多不同的處理單元
: 整數運算單元、浮點運算單元、邏輯運算單元,取指令單元等等
: 當 執行緒-A 在使用 整數運算單元 的時候
: 執行緒-B 可以使用 浮點運算單元
: [一個工人擁有三頭六臂]
: 2. 軟體上:
: 程式沒有複雜到需要另起一個Process,
: 但是,又希望能夠將 工作細項 分割開來,以利分工合作,
: 於是,一個Process可以再細分為多個Thread。
: Q0. 以上,我的理解對嗎?
不對,pipeline是在instruction-level,不是thread-level。
Thread-level multitasking是OS在做,靠context switching來達成。
: Q1. 多執行緒的CPU,是不是就會有多個Pipeline啊?
不必要。雖然現代的CPU全都有pipeline,但是pipeline不是實現
multithreading的要件。而且真的有multithreading CPU這回事嗎?
: Q2.
: 看起來,一般電腦上的軟體Thread還是採用分時多工的方式,
: 同一時間內只有一個Thread能夠被執行。是這樣嗎?
: [一般電腦:不是 伺服器/工作站 也不是 嵌入式系統]
你真的覺得這樣嗎?現在花小錢就可以買到焢肉(CONROE)喔。
--
BATCH 03 : 買張床 - 切達大俠 - 伐木人之歌 - http://tinyurl.com/3zpyx5
[B4準備中]: 謳歌金錢(7/02) - 單車超人(7/23) - http://tinyurl.com/66v6vq
[ 番外篇 ]: 包租婆也有過當羅莉的時候(7/17) - http://tinyurl.com/6j4ale
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
■ 蒙帝派松正體中文計畫 ■ Spam-a-lot and enjoy the pythonesque delight!
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ http://www.youtube.com/user/JamesBondXD▄▄
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.210.4