重點就是 蘋果是唯一一個既做硬體(SoC晶片)又做軟體(作業系統)的手持設備公司。只有蘋果可以在硬體中插入對軟體的優化,又可以在軟體中用上特製的模組。
以下引言出處 http://www.guomii.com/posts/7630
作者: prajnamas
作業系統
自蘋果收購了約伯斯的NeXT之後,花了六年把它打磨成了Mac OS X;又在2005年左右花了兩年半時間,基於它製造了iOS。從各種意義上來說,iOS是一個傳統技術的作 業系統。它有一個基於微內核Mach的 Darwin內核,有一個叫做Cocoa Touch的運行時,用的是Objective-C這個C語言的超集合。而Android在Linux內核之上,集成了一個Java虛擬機器Dalvik, 整 個應用層跑在虛擬機器之上,而開發語言用的是Java。
事實上雙方的選擇都是很有道理的。蘋果有Mac OS X十年基礎,當然會選擇自己最精通的技術,把iOS打造成一個傳統系統,也可以無縫連結Mac OS X的開發者資源。而穀歌沒有任何作業系統經驗,為了要爭取最大的開發者資源,他們選擇了世界上最大的Jav a社區。雖然起點相同,但走出的第一步方向就已 經截然相反。
究其根底,只在於Java只有自動記憶體回收,而Objective-C自動與手動記憶體回收均可(注意iOS只有手動記憶體回 收)。這小小的區別導致,穀歌只能做一個Java虛擬機器,而蘋果可以繼續他們在Mac OS X上的經驗。而這個行為導致了兩者在系統流暢性上的最大區別。Java由於只有自動記憶體回收,系統會在任 意時間停掉所有進程開始回收記憶體,這個過程是人類 可以感受到的數百毫秒。而iOS由於可以手動管理記憶體,可以在使用者操作的間歇由程式師進行回收,用戶不 會在頻繁使用過程中感受到停頓。在日常使用中這個停 頓其實是可以忍的,但是在遊戲過程中這個停頓是不可以忍的,比如想像一下一隻憤怒的小鳥在空中停頓了零點幾 秒再繼續飛行。
穀歌事實上意 識到了這個問題,於是它在Android 2.3版本中大修了這個問題並將之作為一個特性大書特書。且拋開2.3的普及性不談,單說這個大修的行為, 也並沒有修好這個問題。於是穀歌拋出了第二個在 開發上的修補:引入C/C++ NDK。可以說到了這一步, Android整個內核往上的應用層才有了與iOS抗衡的實力,可惜時間已經過去了近四年,iOS積累了十 五年,Android剛剛起步。
而在內核之下呢?基於微內核Mach的Darwin 對比 當今伺服器主流Linux又如何?當年Linux創始人曾經與某位牛人吵過一場著名的架,正是關於微內核與 內核對比,Linus一直到現在都認為微內核只 是紙上談兵而在現實中解決不了實際問題。在這場吵架之後的歲月,堅持內核的主流系統只剩下Linux一家, 而微內核系統已經延展到了基於SVR4的IBM AIX/HP-UX,GNU/Hurd,Mac OS X,Blackberry QNX,Windows(是的,你沒有看錯)。Time will tell,這句話從來都沒有錯。Android三方ROM所困擾的驅動問題,正是Linux內核的最大局限 ,植根於骨子的病是治不好的。
硬體設定
主要是那塊SoC晶片配置。在手持設備時代,與PC時代最大的不同就是,PC時代的晶片是由雙巨頭獨佔的, 他們負責從設計到製造,你只需要購買;而手持 設備時代,或者說後PC時代,只有ARM一家寡頭,它只負責設計。你把圖紙買回去,進行深加工,然後自行製 造或聯繫代工廠。
這兒就有無 限的可能性。畢竟從頭設計一個架構是非常非常非常麻煩的事,但在已經成熟的架構上再進行加工是相對容易的事 。蘋果與大部分Android廠商(不包括三 星)不同之處在於,蘋果和三星自行設計,而其它廠商從三方晶片設計廠商購買成品。這些三方晶片設計廠商包括 TI,NV,三星等等。而蘋果與三星的不同在 於,蘋果自己做軟體。
是的,蘋果是唯一一個既做硬體又做軟體的手持設備公司。只有蘋果可以在硬體中插入對軟體的優化,又可以在軟 體中用上特製的模組。事情得從蘋果一次入股以及兩次收購說起。
首先是蘋果入股Imagination。Imagination可能大家並不太熟悉,它是一家晶片廠商,出 產低功耗顯卡。如果說ARM是後PC時代的 Intel/AMD,那麼Imagination則是NV/ATI。它出產的PowerVR顯卡幾乎配置在所有SoC晶片上,iPhone四種機型都使用 了PowerVR顯卡。蘋果又同時收購了兩家小晶片廠商,P.A Semi以及Intrinsity,兩家均以低功耗晶片著稱。
在第一 代iPad之上,蘋果啟用自家晶片,稱為A4。基於ARM,集成PowerVR,看上去和當時的主流手機晶 片並沒有什麼不同。但只要你輕輕往裡面看一看, 你就會發現,什麼叫做細節決定成敗。前面已經說過,iPhone 4內部工業設計高度集成,電池容量相比4英寸手機也不輸,其中A4晶片也是一大功臣。它基於45nm(當時 代工最高技藝),使用了3D層疊技術,集成了內 存控制晶片,大大減少了佔用面積,比上代相比足足少了80%。外觀只是一方面,內涵更重要。A4最大的內涵 是,它極其省電。待機耗電大約只有競爭對手的 30%,使用耗電更是只有25%-75%。
省電的兩大秘密是,收購自P.A Semi的獨立喚醒技術,以及Imagination為A4量身定制的VXD375晶片。前者很好理解,也 就是不用的東西讓它睡著,用著的時候再叫醒。當 然輕描淡定的一句話絲毫沖淡不了此架構的複雜度,基於"如果你不能用一句話解釋它,你就根本理解得不夠透徹"我也不願再做更多說明。而後者,則是A4區別 於其它晶片最大的地方。
一般而言,顯卡是用來控制渲染而CPU是用來處理運算的。但是顯卡功耗太大,根本不可能一直滿負荷運轉,大 部分 情況下晶片們只是以一半甚至更低效率運行。而蘋果A4,在只有桌面或視頻等2D應用時運用VXD375,而 在3D遊戲時動用PowerVR顯卡。在去年 Imagination公司的產品清單上,有兩系列視頻晶片,一系列負責解碼冠名VXD,另一系列負責編碼 冠名VXE。但是兩者型號都是為0結尾,只有蘋 果A4的VXD是以5結尾。事實上,它也根本不對外出售,可以說是Imagination為蘋果A4量身定 制的一塊專攻2D晶片。它的好處,不僅省電,而 且流暢。正是前面所說的,硬體可以為軟體所定制,軟體可以動用硬體特製模組的好處。
在今年亮相的A5之上,相信也有類似的設計,但是我這裡還沒有足夠資料說明這一點。當然,A5更加沒有對手 ;如果說與A4大體設計相似的晶片還是比較多的話,與A5這樣雙核ARM雙核PowerVR的晶片類似的, 幾乎絕跡。
沒有留言:
發佈留言