精華區beta ASM 關於我們 聯絡資訊
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
final01:這本真的不錯阿 不過可惜的是沒在更新了 01/02 18:41