Re: [請益] 那些語言或程式用上 多核心 CPU

看板Programming作者 (ggg)時間18年前 (2007/05/22 17:17), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串27/30 (看更多)
※ 引述《ggg12345 (ggg)》之銘言: : ※ 引述《avhacker (我想把整片天空打開)》之銘言: : : intel 有出個 threading package 叫 Intel Threading Building Blocks. : : 可以參考一下. : : http://www.intel.com/cd/software/products/asmo-na/eng/294797.htm : 謝謝指點. : 不曉得這種 thread 跟一般的 thread 有那些不一樣的地方 ? 這裡有一個網頁是介紹這種 多核心 Simultaneous MultiThreading(SMT) 與 Hyperthred 的. 多核不是一個 chip 裡塞進多處理機, 而是有多個 Instruction Pointer , 各有對應的 interrupt fordwarding. http://arstechnica.com/articles/paedia/cpu/hyperthreading.ars/1 Hyperthread 是由硬體支援的, 不必更動原來的 OS 架構, 因為 OS 都強調在 SMP 多處理機下照樣運作. HyperThread 是一種硬體支援, 讓同一組 execution unit 藉助於部份是複製 且分開, 各自自備一套的 instruction queue , ip register 及 interrupt handler . 就程式的執行言, 因為有多組 instruction pointer 使之看來像 有多組 logical processor, 饋入指令後, 指令的細部動作執行, 有一個硬體 的 sequence scheduler 來推動, 其主要作用是讓隨後共用的 multiple pipeline function unit 儘量減少空檔, 雖然不是多處理機, 但各 thread (或 process) 指令同時在不同的 pipeline function unit 同時執行, 就能 跑出像有多個 logical processor 同時在跑的計算效能. 這是從 instruction parallel 改為 thread parallel. 使得 OS 及 AP 可以 把多核心當成多處理機來用. 這種系統是同時用多核跑多個彼此性質不同的片段程式, 讓 multiple pipeline function unit 都能同時利用上, 這應該不會觸及 halting problem 的疑問 ! 就程式與程式語言來看, 多核 CPU 如何讓一個程式也能加以利用 ? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.5.5
文章代碼(AID): #16KoM_-c (Programming)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 27 之 30 篇):
文章代碼(AID): #16KoM_-c (Programming)