蘋果新Mac OS X雪豹 為多核未來(lái)作準(zhǔn)備
轉(zhuǎn)換64位
三大繪圖芯片商,英特爾、Nvidia和AMD的ATI,都為OpenCL背書。Khronos Group甚至將它列為標(biāo)準(zhǔn)。那代表程序設(shè)計(jì)師或可在Windows應(yīng)用軟件重復(fù)使用他們的OpenCL程序代碼。繪圖處理器利用平行引擎對(duì)許多資料要素執(zhí)行同樣的處理工作。針對(duì)沒有繪圖芯片的電腦,OpenCL也能利用一般多核心處理器的平行執(zhí)行策略。
蘋果早在多年前的PowerPC處理器時(shí)代,就開始其64位轉(zhuǎn)換工作。在Snow Leopard,幾乎整套Mac軟件,包括Mail、Safari、Finder、iChat和iPhoto,都是64位程序。
現(xiàn)在的英特爾芯片也全是64位,但與32位芯片相比,64位究竟有什么好處?簡(jiǎn)單的說(shuō),它能讓重量級(jí)的程序使用超過(guò)4GB的內(nèi)存,提供更多內(nèi)存插槽(暫存器),并加速某些數(shù)學(xué)運(yùn)算。但轉(zhuǎn)換到64位設(shè)計(jì)不一定保證有立即加速的效果。蘋果在一份開發(fā)文件中表明:“迷思:我的應(yīng)用軟件若是原生的64位軟件,執(zhí)行速度將大幅加快。事實(shí):有些64位軟件在64位英特爾和PowerPC架構(gòu)上的執(zhí)行可能更慢?!?/P>
蘋果鼓勵(lì)程序設(shè)計(jì)師測(cè)試他們的軟件,看64位版是否真的較快。改成64位的蘋果應(yīng)用軟件全都比較快。不過(guò),MacBook和iMac等消費(fèi)者產(chǎn)品配搭的Mac OS X的核心元件(kernel),仍是32位軟件。蘋果這么做是讓應(yīng)用軟件能處理4G以上的內(nèi)存,核心也完全能應(yīng)付。
蘋果在其64位表現(xiàn)的開發(fā)者文件中表示:“迷思:核心必須是64位才能完全發(fā)揮64位處理器的最佳性能。事實(shí):核心不一定需要一次直接處理超過(guò)4 GB的RAM。”但蘋果的32位核心碰到非常大量的內(nèi)存便無(wú)法應(yīng)付。因此,蘋果表示:“從Snow Leopard開始,對(duì)于支持如此大量?jī)?nèi)存組態(tài)的硬件,核心也改成64位軟件?!边@里指的是Xserve服務(wù)器產(chǎn)品線和Mac Pro工作站。
從32位核心改成64位核心的難處,在于驅(qū)動(dòng)程序(讓操作系統(tǒng)與硬表機(jī)、硬盤和聲卡等周邊設(shè)備溝通的軟件)也必須是64位。如果是蘋果自產(chǎn)的硬件,事情很好處理。問題是第三方設(shè)備自有的驅(qū)動(dòng)程序也要轉(zhuǎn)換。但蘋果認(rèn)為事情沒那么難。蘋果在參考文件中表示:“身為驅(qū)動(dòng)程序開發(fā)者,你必須更新你的驅(qū)動(dòng)程序到64位二進(jìn)位碼。所幸…許多驅(qū)動(dòng)程序在編譯程序設(shè)定變更后,還是有用。”
這一切聽起來(lái)似乎非常低層次,但對(duì)程序設(shè)計(jì)師而言,蘋果的層次已屬最高了。那可以是一項(xiàng)有利的資產(chǎn),因?yàn)樵S多有意采用平行程序設(shè)計(jì)的單位,其需求通常遠(yuǎn)超過(guò)多數(shù)程序設(shè)計(jì)師愿意或能夠處理的層次。但吸引程序設(shè)計(jì)師才是關(guān)鍵。畢竟,GCD和OpenCL等蘋果的深層技術(shù)計(jì)劃,只有在其他開發(fā)者愿意使用的情況下,才有可能成功。
【編輯推薦】