看板 hardware 關於我們 聯絡資訊
※ 引述《SmallBeeWayn (喵喵叫的蜜蜂貓)》之銘言: : 這種技術的討論要討論到組語的的層級.... : 舉例來說,指令 A = A * B + C : 在單核這樣算 以下的 L1 cache 都要改成 register : 讀取A 到 L1記憶體 X : 讀取B 到 L1記憶體 Y : X = X * Y : 讀取C 到 L1記憶體 Y : X = X + Y : 寫入A 從 L1記憶體 X : 讀取下一個指令 : 理論上可以用雙核這樣算 : 讀取A 到 L1記憶體 X 讀取B 到 L1記憶體 Y : X = X * Y 讀取C 到 L1記憶體 Y : X = X + Y : 寫入A 從 L1記憶體 X 讀取下一個指令 根本用不到雙核 這叫 superscalar 十年前的 Pentium 就會做了 : 上面的例子只是簡單的四則運算 : 其他的例如把128bit的SSE運算分割成高低位元來算 高低位是什麼意思? 不過就是一次進行多筆資料的運算罷了 : 或是還有很多其他的指令都可以分開來算 : 所以說在理論上這樣的目標確實可以達成 : 但是CPU內部運作極其複雜,能夠得到多少加速很難說 : 此外,在加速單工運作之下,是否犧牲了多工效能? : ======================================================= : 其實上面範例的這個作法應該早就在單核心中做到了 : 所以方法是什麼呢....? 那篇文章根本就是唬爛 AMD 從 K7 開始就是 9-issue superscalar CPU 理論上一個 cycle 最多可以執行九條指令 不過事實上因為指令間有相依性 現實上每個 cycle 能同時執行超過兩條指令就要偷笑了 更別說是九條 照那篇文章的意思 結合兩顆 dual core 是有可能變成一個更大的 18-issue superscalar CPU 問題是九條指令你都利用不完了 這樣做當然一點也不會變快 AMD 也許是有什麼秘技 但絕對不可能是這個 : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 140.115.207.65 : ※ 編輯: SmallBeeWayn 來自: 140.115.207.65 (06/24 14:53) : 推 Iam449:專業的來了...... 06/24 14:59 : → scores:....開始懂了... 06/24 15:29 : 推 cmy0805:是存取到register,並非記憶體 06/24 15:33 : → cmy0805:還有如果你要存取到 L1 cache,那會變的更慢 06/24 15:33 : → cmy0805:AMD的雙核cache並沒有共享,兩個核心要存取在cache中的資料 06/24 15:34 好不容易有人說對了 : → cmy0805:一個核心要存取另一個核心cache的資料,要透過FSB 06/24 15:34 : → cmy0805:那只會變的更慢而已 06/24 15:35 可惜這邊錯了 一來 K8 不是用 FSB 二來 dual core K8 有一層 system request interface 所以一個核心用另一個核心的 cache 時基本上都在 CPU 內部完成 : → cmy0805:這種簡單的四則運算,資料是存放在暫存器 06/24 15:36 : → cmy0805:並非拆解指令,應該是將多條指令送往兩個核心執行 06/24 15:47 : → cmy0805:或是將多個thread送往兩個核心執行 (純猜測) 06/24 15:49 : 推 leav:看起來類似superscaler, 但這種技術還要跨雙核未免太小題大作 06/24 16:50 : → leav:我個人是蠻懷疑效能有增加多少... 06/24 16:52 嗯 這是增加效能最爛的方法 不但不會變快 還少了一個 core 可以用 : 推 DVE:cache沒共享的是目前的Pentium D吧……單純只是把兩顆封裝起來 06/24 18:15 : 推 henk:AMB不是FSB..是Hyper transport..FSB是intel的專利.. 06/24 20:00 : 推 renic:AMD的雙核cache是共享的吧,沒共享的是intel的Pentium D吧 06/24 22:37 看你們的共享是什麼意思了 真正做到 cache 共享的目前只有 Conroe K8 比較像是把另一個 core 的 cache 當作 L3 cache 來用 Pentium D 則完全沒共享 交換資料全部要經過 FSB 拜托大家 回文前先確定自己了解這些東西 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.3.35
holysea:嘿嘿~如果沒有人拋磚怎麼能引到玉呢 06/25 01:13
phonelin:我比較有興趣的是,你從那學到這些知識的?我也想... 06/25 02:35
dolphinus:總算有人說對東西了... 06/25 02:37
BDN:想學嗎?去劍道社!! 06/25 02:51
goldie:Agree 推! 06/25 03:22
exp04:我也想學..這些要去哪看阿....很有興趣耶.. 06/25 03:33
quamtum:Conroe的L2看起來似乎還是說成一個兩倍大L2加些prefetcher 06/25 08:37
quamtum:指令相依性要用編譯器盡量拆開這問題intel amd都一樣 06/25 08:41
quamtum:高低位是指64 bit alu 當成兩組32bit alu,做複數乘法好用 06/25 08:43
quamtum:嗵n看cpu的可以看ia32Intel® Architecture Software@ 06/25 08:45
quamtum:IA-32 Intel® Architecture Software Developer's Manual 06/25 08:58
leav:計算機結構 Computer Architecture 06/25 09:52
sstan:其實電腦雜誌都有講....... 06/25 11:44
ganei:之前有新聞講NEC也有在搞類似的東西,但是code要重新 06/25 23:13
ganei:complier過 06/25 23:16
scores:...要看懂這些討論 有沒有書單可以開啊 ..... 06/26 01:46
Iam449:專業的來了= = 06/26 03:10