開發者若是想為終端使用者帶來更加強大的行動體驗,64 位元運算值得列入考慮。隨著功能強大的 64 位元架構變得觸手可及,智慧型手機和平板電腦的開發者將能享受到多種好處,包括強大的效能躍進、可定址記憶體超過 4GB,其安全防護功能也更上一級。
終點就在眼前
64 位元運算架構自 1975 年出現於 Cray-1* 超級電腦之後,一直被視為是效能處理的巔峰平台。自 1990 年代中期開始算起,微電腦級伺服器與高端工作站採用 64 位元技術已超過二十年。
如今 64 位元處理器已經十分普及,且很快就會成為智慧型手機與平板電腦的基本架構。隨著 64 位元架構變得觸手可及,智慧型手機和平板電腦的開發者將能享受到多種好處,包括強大的效能躍進、可定址記憶體超過 4GB,其記憶體內的資料集也變得更大。
安全性更佳
此外,64 位元架構可有效抵擋安全性威脅,讓裝置上的資料和企業網路獲得更好的防護。根據
Nielsen 2014 年 7 月的報告,2013 年內 Android* 及 iPhone* 年齡在 18 歲以上的使用者每個月花費超過 30 個小時使用行動應用程式,較 2012 年高出 65%。此外,在運算作業更為複雜、安全防護需求更高的工作場所,行動裝置更是如影隨形、隨處可見。2012 年 Symantec 辨識出超過 2 億個病毒定義,數量大約等同於 1991 到 2011 年之間所識別出的病毒數量總和。人們將電子錢包和個人身分資料存在智慧型手機和平板電腦上的比例不斷增高,行動硬體必須加快腳步,以提供更好的安全防護和良好的使用者經驗。
Intel® 與 Android*
Intel 的軟體與服務自 2004 年起便開始協助改善 Linux 核心並加入 64 位元運算能力。Intel 軟體與服務部門開源技術中心 (OTC) 工程主管 Joe Daly 表示:Intel 參與了所有開放原始碼的瀏覽器企劃 (包括 Chromium* 與 Blink*),並致力參與 GCC 編譯器、商業編譯器、虛擬機器管理程序、SLC 驅動程式,以及「幾乎所有與系統相關的東西」的相關改善作業。
該部門有一條以
Android* 為主的開發路線,以提供一個通用的出發點,讓 Intel 的硬體平台部門能開始進行程式設計,發揮矽晶片功能。若某個 Android 變體需要乾淨的 Android 參考實作,也可以將該路線做為參考範本使用。
該部門的工作大多著重在 Android L 及其 64 位元的 Android Runtime (ART) 上。儘管 Intel 仍會持續改善前代作業系統與執行階段,但今年會將重心放在 64 位元硬體的功能和效能表現上。利用包裝指令和執行環境編譯器的編寫來優化 Intel 硬體的程式碼。
64 位元行動平台的優點
Intel 的 32 位元 Dalvik 及 64 位元 ART 執行階段的首席工程師暨效能工程師 Kumar Shiv 表示,64 位元的行動裝置平台可為使用者帶來多方面的好處。Shiv 提到:「64 位元應能大幅改善使用者接收方式。」最常見的例子包括安全應用程式的加密 — 解密循環,以及媒體播放的編碼 — 解碼模式。在大型位元資料流上處理大量的邏輯操作時,一次以 64 位元進行作業可帶來大量優勢。Shiv 表示:「某些複雜精密的演算法只能在 64 位元的系統上進行,因為 32 位元的效率過慢。對於複雜的數學運算而言,64 位元是必不可缺的運作環境。」
於參照的堆疊中,Intel 提供了完整的 Android 實作,包含安全性和隱私權的最佳實務。Linux 作業系統本身所含有的部分安全功能僅能在 64 位元處理器模式下使用,這些功能可避免您遭受最低等級的攻擊。Daly 表示:「Android 具備驗證開機、認證管理、內容防護,以及其他可讓 Android 手機和平板電腦安全連接至雲端的 Android 相關功能。」
世界正迎向海量資料時代,未來對於行動裝置而言,由 64 位元運算所支援的安全性是必要的。Shiv 表示:「從 IoT 裝置的角度來看,這是最重要的唯一考量。我們不僅將所有的個人資料存放在行動裝置中,還把這些資料都放上了網際網路,所以我們必須盡可能保障這些裝置的安全。」
除了安全性之外
64 位元平台也能為數位攝影和圖形密集型的特效帶來好處。Daly 表示:「智慧型手機現在已可媲美相機。無論是同時編輯二至三張照片、處理 HDR (高動態範圍)、或是擷取畫面,系統都會需要用到大量的記憶體。」64 位元平台對於使用行動裝置進行攝影和編輯的幫助極大。
即使是一般用途的應用程式都能獲益良多。根據 Daly 在 2000 至 2009 年之間,對於企業級 Linux 與 Windows* 進行 64 位元轉移所做的觀察,他認為應用程式在獨立軟體廠商轉移至 64 位元平台後,會迅速增加約 15 個百分點。凡事總是有利有弊。64 位元可為加密、影像處理,以及所有可利用包裝類型的資料指令帶來許多優勢。但如果是針對 32 位元環境高度優化的應用程式,可能就沒什麼好處了。Daly 表示:「針對 32 位元環境高度優化的應用程式,在短期內可能實際執行的效果會比較差。」
程式碼即將發生變化?
64 位元裝置的出現最便利的關鍵點在於,不論是在 ARM 抑或是 IA 架構的裝置,完全以 Java 編寫而成的應用程式在 32 位元的 Dalvik 執行環境與 64 位元的 ART 中都能順利執行。但若是應用程是內含原生碼,或是需透過 Java 原生介面呼叫,則需經過重新編碼。若開發者想要善加利用 64 位元架構的優勢,就得放棄一些二進位數字了。
而對於打算進行轉移的原生碼開發者而言,流程又不同了。Daly 表示:「若某個開發者只是想要將應用程式轉移到 Android L,只要重新編碼並重新測試應用程式即可。但若是想要轉移到 64 位元,就必須進行一些移植作業,必須使用新的 NDK 重新編譯原生碼的部分。」NDK 為
Android Native Development Kit (NDK) R10。再來就是現在已可使用
Android SDK,此套件可提供用來構建、測試並為 Android 應用程式除錯的 API 庫及工具。
Eclipse IDE 也有包含此套件,且能和 Intel® Integrated Native Developer Experience 工具套件 (beta 版) 一起使用。第三部分為 Android L (有時候由於該平台的命名慣例,也會稱之為「Android L-dessert」)。Intel 本身提供領先業界的 64 位開發工具,包括
編譯器、
優化器、以及各式各樣的
軟體合作計畫。
「能力越強,責任越大」
在開發者準備迎接 64 位元的新浪潮之際,硬體和軟體的平衡點也必須均衡同步。「我們希望大部分的應用程式都能正常運作,但某些值得開發的應用程式,卻可能因為可用實體記憶體的大小限制而無法順利執行。以記憶體容量的角度看,這些裝置可能需要花費一點時間才能追上 64 位元的腳步。」開發者可能暫時必須讓應用程式保有 32 位元和 64 位元兩種版本。
Intel 在 64 位元硬體上的長久歷練以及軟體啟用及優化方面的豐富經驗,已為跨足平板電腦和智慧型手機的平台做好萬全準備。若沒有記憶體和速度上的限制,行動世界的新設計就端看開發者的想像力以及要如何運用這份力量了。
本文與 Raj Lahari 一同編寫。
有關編譯器最佳化的更完整資訊,請參閱
最佳化聲明。
類別:
Comments
Post a Comment