不管幾核心,要軟體搭配才能發揮全部實力
理論上來說,當電腦中採用了n個處理器之後,應該不需要改變任何的狀態,就可以得到比單個處理器還快n倍的效能,不過,事實上要有如此的變化,就得需要軟體大力支援。
你現在所使用的電腦中,各種的軟體包括作業系統、繪圖軟體、影片播放、文書作業等等的一切,都是由程式設計師依照使用者的需求,以及目前的硬體架構邏輯來進行撰寫。但是幾乎都是以「一顆處理器」的邏輯來設計程式,在雙核心甚至於多核心時代來臨後,許多軟體對於這樣的新硬體無法完全相容或是最佳化。
老舊程式,只支援單核心
雖然目前許多作業系統,對於雙核心或是多核心等都已經開始支援,但並不意味「所有」軟體,對這樣的處理器都有同樣的支援度。從過去的測試與使用經驗來看,無論是Intel或是AMD的多核心處理器,相較於自家的單核心處理器之下,在老舊的多媒體、遊戲、文書作業軟體中,使用多核心處理器後,都沒有「大幅度」的執行速度提升,有些軟體甚至會發生軟體執行速度減慢的情況,原因是這些軟體內部,還都是使用「單執行緒」的邏輯概念來設計的,所謂的單執行緒,你也可以視為它只支援單核心處理器的軟體,因此在這些單執行緒程式在運作時,就算使用的是雙核心處理器,在實際運作時,也只有一顆核心會替這套軟體執行工作,另一顆處理器核心則有可能會處在閒置的狀態。因此在這樣的情況下,雙核或是多核心實際上是沒有意義的,反而還增加了消費者的購買成本。
多工使用環境得需多核心
目前多核心處理器可發揮最大效益的地方,就是在伺服器或工作站中,因為這些平臺上所運行的程式,都是以「多執行緒」方式來撰寫,例如工作站要利用3D繪圖軟體進行動畫後製處理,軟體就會充分利用工作站內的資源,例如處理器、顯示卡、記憶體等,因此多核心便扮演了相當重要的角色,因為這時候的執行速度將會受到處理器的速度以及核心數量的影響。使用一般電腦平臺的使用者也不必灰心,隨著雙核心、多核心處理器的普及程度來看,日後支援多執行緒的應用程式也會愈來愈多,像是目前的的Office文書作業、Firefox瀏覽器等應用程式。但各位讀者可別覺得你不需要多核心處理器,實際上像是「開啟瀏覽器上網」這個小動作,這樣看似簡單,實際上卻有許多工作在背後默默的執行,瀏覽網頁時還牽涉到Flash、多媒體播放、Java程式的運作、安全性認證等等,所以你說你不需要多核心的電腦,但你執行的軟體可能不這麼認為。
作業系統分配軟體工作量
雖然目前常用的軟體,像是檔案壓縮、遊戲軟體等沒有支援多執行緒,因此它們用利用單核心或多核心來執行時沒什麼效能上的分別,不過我們的作業系統卻是支援的,因此,我們若使用多核心處理器時,在同時執行多個單執行緒軟體後,這時的作業系統會把每一個單執行緒的指令分派給多個核心,使運作的軟體可以加快執行速度。例如,你正在執行一個需要耗費許多時間才能壓縮完成的檔案,還可以一邊看DVD影片,一邊進行系統掃毒的動作,這個時候支援多核心的作業系統,就是在替你分派工作量給閒置的核心來執行,如此一來便可以快速地完成所有的工作量。
遊戲也迫切需要多核心
不知道各位是否玩過世紀帝國之類的即時戰略遊戲?簡單的描述,這是一種讓多個玩家可以同時進行的遊戲,而每一位玩家所操控的國家裡,都有各自的單位要玩家自行操控,假設一共有8個國家,而每一個國家有200個單位,並且同時在進行各自的工作,所以整個遊戲中共有1600個單位同時間在移動,再加上每一個單位都具有獨立的人工智慧,因此對於電腦會有著非常龐大的工作量等待著被執行、計算,此時多核心處理器的優勢就會展現出來。因此,現在已有許多廠商在開發遊戲時,已經不再是針對單核心或是雙核心來設計,而是「多核心」的思考方向來進行,使得遊戲中的各種表現可以發揮到極致,也讓程式設計師不必再顧慮處理器的使用率,這是因為能夠支援多核心的遊戲引擎已成為遊戲設計的關鍵技術,程式設計師能讓遊戲中特定部分的程式碼,例如物理模擬與人工智慧,分配至多個處理器核心中來計算。因此我們相信在2007年底,大量支援多核心的遊戲會「湧現」出來,使得多核心處理器的優勢可以得到進一步的發揮。
更新軟體支援多核心一途
許多廠商所推出的軟體或遊戲,都是一直使用舊有的軟體核心來不斷推出下一代,這是因為重新撰寫一套程式得花費不少時間和金錢,因此這些廠商就會推出所謂的「更新檔」來讓自己的軟體能夠支援現有的雙核心或是多核心,雖然這些廠商聲稱更新檔可以使自己的軟體完全對應雙核心或多核心,但實際上在效能方面是無法完全發揮真正實力,所以像是近兩年來的廠商們,幾乎都開始默默的進行程式大幅度的改寫或是重新撰寫,以避免日後被其它競爭對手發現,在多核心的平臺上居然只有單核心的效能。當然,像是Intel或AMD這類的處理器大廠,都會與軟體業者進行合作開發,例如可以讓日後的遊戲,在物理模擬、人工智慧、角色動畫、以及實景模擬,能夠充份發揮多核心處理器與多執行緒的優勢,所以若你現在正在使用雙核心或是多核心的處理器,請注意你的軟體是否已經推出相關支援的更新檔。
|