--- tags: armtech --- # 手機裡頭的 ARM 處理器:[系列講座](https://beta.hackfoldr.org/arm) ## 講座錄影 * [系列講座導論](https://youtu.be/nvX5AF6pOzw) (Mar 15, 2017) / [教材](https://hackmd.io/tv2qzMGXQ42QCOMoqDoQsg?view) * [架構和指令集](https://youtu.be/SwqKJVhWZmA) (Mar 26, 2017) / [教材](https://hackmd.io/b9tei9JvS4-7hoayljrILQ) * [基礎指令和開發環境](https://youtu.be/yHAdlr4pF30) (Mar 29, 2017) * [虛擬化技術和應用](https://www.youtube.com/watch?v=yzC0BfoPybA) (Jun 19, 2017) > 相關講座: [現代處理器設計:原理和關鍵特徵](https://hackmd.io/@sysprog/cpu-basics) ## 課程錄影 * [01: ARM Cortex-M Instruction Set Architecture](https://www.youtube.com/watch?v=15z_vn4H41U) * [02: ARM Cortex-M Move Instructions](https://www.youtube.com/watch?v=0_r-3eWB54c) * [03: ARM Cortex-M Load/Store Instructions](https://www.youtube.com/watch?v=07ATOG5wXPE) * [04 Bit-banging in Cortex-M Assembly](https://www.youtube.com/watch?v=UQwtywaKcic) * [05: Basic Arithmetic Operations](https://www.youtube.com/watch?v=JmpQ79h_0eA) ## 說明 * 你可曾想過,就算選修了電機資訊相關科系大部份的課程,自己仍對每天用的手機,完全沒概念,是不是很沮喪呢?裡頭運作 ARM 處理器,但你知道裡面的 CPU pipeline 如何運作?裡頭的 cache 如何運作?四核心、八核心到底又如何運作?CPU 和 GPU 之間如何通訊? * 歡迎訂閱「[Jserv與他愉快的小夥伴](https://www.facebook.com/JservFans/)」粉絲專頁,得知最新活動訊息 * 系列講座預計涵蓋 ARMv7-A/M, ARMv8-A/M, virtualization extension, 以及對應的系統軟體技術,像是 [big.LITTLE](https://hackmd.io/@sysprog/big-little), hypervisor, 和 [TEE](https://www.arm.com/products/processors/technologies/trustzone/tee-smc.php) 的概念介紹 * 回歸本質 * ARM 技術長 Mike Muller 說:「物聯網只是嵌入式技術的重新包裝,因為一旦說嵌入式就沒人會想要寫了,但如果你說那是物聯網,大家搶著寫。」 ## 請求勘誤和指教 請給予回饋,對於以下教材有不能理解、發現謬誤,或期望補充之處,以 "[ 頁碼 ] 說明文字" 的格式紀錄於下方 * **[ARM Processors](https://drive.google.com/file/d/0B5GW0aIORHIBUjVvUXJ2NVhPckU/view?ths=true)** * [ Page 4 ] 圖片過舊,沒有涵蓋到 Cortex-A72,以及 IoT 的預估出貨量 * [ Page 6 ] 補上 1980 年代 Acorn Computers 財務危機、數度轉手,以及 RISC 設計的影響 * [ Page 12 ] 為何 ARMv3 以後才在市場上出現?這要說明歷史典故 * [ Page 15 ] [SIMD,](https://en.wikipedia.org/wiki/SIMD) [Flynn’s taxonomy](https://en.wikipedia.org/wiki/Flynn%27s_taxonomy) * [ Page 21 ] [MAC, FMA](https://en.wikipedia.org/wiki/Multiply%E2%80%93accumulate_operation) * [ Page 30] 為什麼要提供把32x64-bit register file看為16x128-bit的功能?什麼狀況下會需要這個轉換? * 在 SIMD 會用到,請見 [Coding for NEON](https://community.arm.com/groups/processors/blog/2010/03/17/coding-for-neon--part-1-load-and-stores)