看板 Programming 關於我們 聯絡資訊
※ 引述《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
MOONRAKER:(有啦,P4至少有號稱。) 59.115.218.148 11/04 01:17