最近愈來愈多朋友問我關於雙核心處理器的事情,大家常問我『雙核處理器是不是跑的比64位元更快?』、『未來是不是會愈加愈多,有百核處理器出現的可能?』、『雙核心處理器是不是最後可以拿來煎蛋用(太熱: P)?』
這些問題都很有意思,要回答它們之前,可真得想想怎麼描述才好,畢竟計算機的架構也不是那麼容易能懂。最後我想對於不是本科的朋友,可能最貼切的比喻就是人腦與交通道路了。
先來聊聊提高時脈的作用,時脈不斷地調高,就好像高速公路的速限不斷地往上調升,車子是會跑快一點,不過也愈來愈危險(CPU愈來愈燙、電源消耗愈來愈多)。所以CPU廠調高處理器時脈是一個最簡單的提昇性能方式(其實也不簡單),卻不是最有效的解決方式。
因此就有人想要把匯流排的位元數提高,(抱歉,我又說了外星人的話)你可以想像一下就是將雙線道變成四線道,路變寬了,車子行進速度當然也提高了,這個方法也已經行之有年了,從4位元微處理器到8位元微處理器、到16位元、32位元、64位元,做的都是類似的事情。
自從去年,超微提出了號稱世界第一顆X86的雙核心處理器Opetron,英特爾也急著推出雙核心處理器Smithfield,並且號稱未來『也許』會有上百核心的處理器。這下子可嚇壞大家了,包括軟體廠商都覺得既然有兩核,當然要收兩份錢囉,消費者更是覺得:好好的一顆處理器都用不完了,將來還有上百個核心的處理器?
其實雙核心處理器雖說能達到所謂提高處理器的性能、省電的目的,但說穿了是為了提供數位家庭的運算中樞,因為數位家庭的時代是多名使用者同時使用的系統,為了避免單核心處理器無法負荷同時處理多名使用者的應用(如:爸爸在客聽看電視、小孩在房間打遊樂器、媽媽在房裡聽MP3音樂),這時若是處理器無法一心二用,儘管它處理得再快,也會面臨無法即時處理的窘境。因此雙核心處理器的精神就是要讓處理器能一心二用,有了兩個核心,就能提供一個平行運算的能力。當然處理器還是比不上人腦,人類的大腦、小腦、延腦等等各司其職,並不像雙核心處理器是功能相同的對稱式多處理器系統(symmetric multiprocessor system;SMP system)架構;不過想想目前已經很常見的DMA(Direct Memory Access;直接記憶體存取)controller,它的作用不就有點而像是脊柱神經,幫助系統無意識地反映突發狀況,減輕大腦的負擔嗎?
最後要談談上百核心的處理器,技術上當然是可行,不過想想一個有上百個腦的生物怪獸,光是自己頭腦內部要做出一個判斷,就要坐下來好好想想該怎麼做,因為協調出一百個腦的意見可不容易。這樣應該也就可以解釋為什麼上百個核心的處理器,終究會因為處理器內部的匯流排過於擁塞而不可行了。
所以,我的朋友,計算機雖然複雜,但不會比你知道的常識難懂!
(作者為拓墣產業研究所通訊與半導體研究中心主任;聯絡方式:gary_chen@topology.com.tw)