Re: [請益] 多工處理運作和多核心CPU之間怎麼配合?

看板Android作者 (如果狗狗飛上天)時間9年前 (2014/09/19 11:40), 9年前編輯推噓2(208)
留言10則, 5人參與, 最新討論串2/2 (看更多)
外行人的說法,要精確地說法可能還是要請教資工系的同學. 以前作業系統一定要完全的完成一個程式,才會進行下一個,但是 程式在運行的過中,CPU並不總是滿載的,有時候會有等待的時間. 所謂多線程,指的就是CPU可以利用這個時間去處理另一個任務. 例如你看醫生,醫生可能會幫你噴藥,噴完藥會要你在旁邊等一陣 子.這個時候醫生基本上是閒下來的.這段閒下來的時間,作業系統 會去妥善的紀錄跟配置那個噴完藥的病人等下回來要做些什麼,然 後拿這段空出來的時間去看下一個病人.下一個病人看到一半,也許 他也需要做些處理,CPU又會空出時間來,他會再回去處理原本那個病人. 所以實際上只有一個醫生,但因為醫生可以利用的空下來的時間來 處理另一個個病人. 因此"看起來",我們會發現診間裡面總是擠了 兩個人,這就給人一種診間裡面有兩個醫生(CPU)的錯覺. 至於多核心,這就很好理解了,所謂雙核心,就是裡面真的有兩個醫 生,各看各的病人互不相干. 當然如果這兩位醫生又同時有雙線程 的功能,那就會產生出一種四核心的錯覺. 但講的這麼美好,雙線程真的打得過雙核心嗎? 當然不可能,實際 上,雙線程提升的效率大概只有20%.並沒有想像中美好.這種多線程 的遊戲,intel已經是其中的佼佼者了. 當然另一種思路就出來了,既然多線程終究只是一種多核心的"模擬" ,有沒有可能我們真的盡可能做出多核心呢? 可以,這就是後來幾年 AMD在作的事情. AMD的基本思路是,他盡可能的做出完整的多核心,但是完整的多核心 ,成本會相當的高,所以他做了一種特殊的CPU設計.我們想像一下, 一般我們去看醫生的時候,是不是會先有很多小東西會有護士小姐幫 我們做? 量血壓,量身高,詢問病情等等,然後才是去看醫生? 所以AMD的想法是,我把CPU的功能給切割開.甚麼意思呢?我們的電腦中 涉及的計算主要有兩類,一個是整數運算,一個是浮點數運算.在大多數 的使用情境下,整數運算大約佔80%,浮點大約占20%.AMD的想法就是, 我做出兩個整數計算的CPU然後搭配一個浮點運算的CPU.讓浮點運算 ,是共用的,而需求量大的計算整數運算則是專用. 這就有點像是,兩個醫生共用一個護士,那些較少用到的計算需求,如 果真的用到了,就丟給護士處理,CPU主要就處理最常使用的部分. 所以AMD的雙核心常被稱為1.5核心. 因為他其實是一顆完整的CPU (整數+浮點)再配上另一顆整點運算核心. 那這樣子的搭配實際的效果如何呢? 當然比多線程的假多核心好很多, 實際上的效率大概會比單核單線程多出80%. 所以簡單的說,跟原始的單核單線程相比: 多線程 ~ 120%, 殘雙核心 ~ 180% 後來的CPU,不管如何發展,不管如何設計,大致上也離不開這兩種架構. 這麼說來,AMD的CPU不是比intel好得多? 當然不! 如果是真的,AMD就不 會節節敗退了. 事實上AMD主要是做設計,製程技術主要還是靠代工廠, 但是intel在CPU的製程技術上是遙遙領先所有的對手的(包括台積跟三 星),這就導致了AMD的架構,理論值雖好,但由於製程技術的落後,所以 總的效能,功耗,各方面的指標都是低於intel的,唯一可以比的可能只有 CP值.加上AMD後來更專注在顯卡的發展,CPU技術自然就逐漸被intel拉 開差距了.但這幾年手機晶片大行其道,其實不管intel也好,AMD也罷, 都是ARM架構下的x86苦主,兩間公司都在設法掙扎出現在的泥沼中. 不過這是後話,就不多提了... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.13.113 ※ 文章網址: http://www.ptt.cc/bbs/Android/M.1411098025.A.6DD.html ※ 編輯: pipidog (123.192.13.113), 09/19/2014 11:41:15

09/19 11:50, , 1F
其實nehalem架構發表後 AMD就開始明顯落後
09/19 11:50, 1F

09/19 11:51, , 2F
sandy bridge之後更無力回天
09/19 11:51, 2F

09/19 11:52, , 3F
所以你上面說的2配1的bulldozer 會輸 製程只是小部分原因
09/19 11:52, 3F

09/19 11:55, , 4F
至於專注在GPU 那是不得已呀 轉成APU才稍有機會擴大市場
09/19 11:55, 4F

09/19 12:42, , 5F
amd不只輸在製程,用你的例子來說,醫生的能力也比較差
09/19 12:42, 5F

09/19 12:49, , 6F
樓上兩位正解,尤其專注在GPU是不得已的,更是正解
09/19 12:49, 6F

09/19 12:49, , 7F
如果GPU的戰場再輸,amd真的要脫褲了
09/19 12:49, 7F

09/19 14:07, , 8F
amd如果脫褲,intel可能也會被分屍
09/19 14:07, 8F

09/19 14:07, , 9F
才會有傳說中的給你錢不要倒
09/19 14:07, 9F

03/09 00:05, , 10F
受用推!!!
03/09 00:05, 10F
文章代碼(AID): #1K6wMfRT (Android)
文章代碼(AID): #1K6wMfRT (Android)