2018年7月19日 星期四

邁向 ARM 64bit-only 的世界

展訊通訊(Spreadtrum Communications, 如果我開頭沒解讀錯誤)於 Linaro SFO 2017 簡報 ARM Binary Translator — Towards a 64bit Only World
 現在於 Android 裝置上通常會附上兩個版本的執行環境 — armeabi-v7a 與 armv8-a 來支援各種 Application 的相容 (主要還是 NDK 產生的 libraries & executables)
通常相關重複的函式庫資源會耗去不少儲存空間與系統的資源(最直接的就是 memory)
而這個 talk 基於今年曼徹斯特大學提出 MAMBO-X64 ARM Translator, 談論建立只有 aarch64-only 的系統環境, 而對於 32-bit 的程式需求則透過 translator 的方式來滿足
該 talk 涵蓋了自 kernel, system, code translation/generation 等等的面向: Addressing Space, Code Translation, Dispatching/Linking, Floating Point, Registers, System Calls, Memory Managment 等等
updated: 感謝好友 Trent Lo 提供不錯的觀點, 對於客製CPU 的 chip vendor , 這更能節省硬體的成本, CPU無須放入 32位元 相容實作的部分, 縮小 core size
延伸閱讀: Low Overhead Dynamic Binary Translation on ARM
https://www.research.manchester.ac.uk/portal/files/56078084/pldi_16.pdf

沒有留言:

在 ARM 平台上使用 Function Multi-Versioning (FMV) - 以使用 Android NDK 為例

Function Multi-Versioning (FMV) 過往的 CPU 發展歷程中, x86 平台由於因應各種應用需求的提出, 而陸陸續續加入了不同的指令集, 此外也可能因為針對市場做等級區隔, 支援的數量與種類也不等. 在 Linux 平台上這些 CPU 資訊可以透過...