[心得] ARM System Developer's Guide
ARM System Developer's Guide
Designing and Optimizing System Software
http://www.arm.com/documentation/books/4975.html
----
這本書是聖經等級的書, 有興趣的人, 我相信很多地方都可以取得 PDF 檔
在新竹 NOVA 書耕也有翻譯的中文書可以看
總而言之, 推薦 !!
如果修過 computer architecture 的人, 看這本書會更有感覺
這一系列的連載將會把我讀過的心得陸續寫上
----
Chapter 1
ARM Embedded Systems
這一章是嵌入式簡介, 在很多地方都看得到類似的文字
不知道什麼是嵌入式系統的人可以看看
----
Chapter 2
ARM Processor Fundamentals
在 ARM上寫程式, 瞭解 ARM architecture 是必要的
這顆 CPU 有以下的特性...
* 16 General Purpose Registers
* Support ARM(32-bit), Thumb(16-bit), Jazelle(8-bit) instruction sets
* Conditional Execution (很威的功能)
這一章針對這些特性作概略性的描述, 真的要精通, 寫點 ARM 組語是免不了的
另外 2.7 ARM Processor Families 這一章也很有意思
他列出 ARM7 ~ ARM11 常見的型號, 以及代表的意義
ARM7 ARM9 ARM10 ARM11
Typical Mhz 80 150 260 335
mW/Mhz 0.06 0.19 0.5 0.4
+cache +cache +cache
MIPS/MHZ 0.97 1.1 1.3 1.2
從上面這張表來看, ARM7 有極低的耗電量, 不錯的效能, 難怪會暢銷了...
----
Chapter 3
Introduction to the ARM Instruction Set
所有講 ARM 的書都會介紹指令集, 但是這一本書講得更詳細
比如 ARM 因為內建一個 Barrel Shifter, 可以做些很特別的操作
example: R3 = R1 + 2*R2
-> R3 = R1 + (R1 << 1)
-> add R3, R1, R2, LSL #1
ARM 指令中, 其中一個 operand 都可以做這種 shift operation
上面這種運算經常出現在程式中, 善用 CPU 的特性, 就能少掉好幾道指令
ARM 的 conditional execution 也是極有特色的指令編碼
書中舉了算最大公因數為例, 說明 conditional exection 的威力
ARM 在一些特定的型號, 也提供 DSP 指令支援, 例如 MAC (multiply-add-accumulate)
還有 CLZ (count-leading-zero), 還有些 Saturated Add 指令
藉著讀 ARM 的指令集, 能瞭解這顆 CPU 的確切能力, 以及限制
----
Chapter 4
Introduction to the THUMB Instruction Set
THUMB 是 ARM 的 16-bit 指令集, 執行效能比較差, 但是程式碼比較短
在手機上, Flash 也斤斤計較的場合, 這種指令集就有他的用處了
ARM 能支援 32-bit 和 16-bit 指令互相切換, 具體切換的方式書上有寫
切換的程式段叫 veneer (我第一次看到這個詞, 完全不知道在說什麼)
這一章看看即可
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.88.68
推
01/02 18:41, , 1F
01/02 18:41, 1F
推
01/03 01:44, , 2F
01/03 01:44, 2F
推
01/03 03:58, , 3F
01/03 03:58, 3F
推
01/03 15:07, , 4F
01/03 15:07, 4F
→
02/14 14:51, , 5F
02/14 14:51, 5F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章