ARM 系統開發者指南 (ARM System Developer's Guide: Designing and Optimizing System Software)

Andrew N. Sloss , Dominic Symes , Chris Wright , John Rayfield 著、沈建華 譯

  • 出版商: 全華
  • 出版日期: 2015-09-29
  • 定價: $800
  • 售價: 9.0$720
  • 語言: 繁體中文
  • ISBN: 9572150839
  • ISBN-13: 9789572150832
  • 相關分類: ARM

立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

 

<內容簡介>

本書從軟體設計的角度,全面、而有系統的介紹ARM處理器基本族系架構和軟體設計與最佳化方法。內容包括:ARM處理器基礎;ARM/Thumb指令集;C與組合語言程式的設計與最佳化;基本運算、操作的最佳化;基於ARM的DSP;異常與中斷處理;韌體與嵌入式OS;Cache與記憶體管理;ARMv6架構的特點等。全書內容完整,針對各種不同的ARM核心架構都有詳盡論述,並有大量的範例和原始程式碼。附錄部分提供了完整的ARMv4/v5/Thumb指令的功能、編碼、時序週期,以及組合語言參考。本書適合私立大學、科大資工、電子系四年級之「嵌入式系統」課程使用。

 

<本書特色>

1.本書從軟體設計的角度,全面、有系統地介紹ARM處理器基本族系架構和軟體設計與最佳化方法。
2.書中將ARM處理器系統概念,用不同角度搭配範例,讓讀者可以清楚且通盤了解此系統的架構。

<章節目錄>

目 錄

第1章 ARM為基礎的嵌入式系統

1.1 RISC設計理念 1-1
1.2 ARM設計理念 1-3
1.3 嵌入式系統的硬體 1-4
1.4 嵌入式系統的軟體 1-10
1.5 總 結 1-13
第2章 ARM處理器基礎

2.1 暫存器 2-3
2.2 目前程式狀態暫存器 2-4
2.3 管 線 2-11
2.4 異常、中斷及向量表 2-14
2.5 核心擴充 2-15
2.6 體系結構的不同版本 2-18
2.7 ARM處理器系列 2-21
2.8 總 結 2-25
第3章 ARM指令集

3.1 資料處理指令 3-3
3.2 分支指令 3-12
3.3 Load-Store指令 3-14
3.4 軟體中斷指令 3-26
3.5 程式狀態暫存器指令 3-27
3.6 常數的載入 3-30
3.7 ARMv5E擴展 3-32
3.8 條件執行 3-35
3.9 總 結 3-36
第4章 Thumb指令集

4.1 Thumb暫存器的使用 4-4
4.2 ARM-Thumb交互 4-4
4.3 其他分支指令 4-6
4.4 資料處理指令 4-7
4.5 單暫存器Load-Store指令 4-10
4.6 多暫存器Load-Store指令 4-11
4.7 堆疊指令 4-12
4.8 軟體中斷指令 4-13
4.9 總 結 4-14
第5章 高效率的C程式設計

5.1 C編譯器及其最佳化概述 5-1
5.2基本的C資料類型 5-3
5.3 C迴圈結構 5-12
5.4 暫存器分配 5-19
5.5 函數呼叫 5-21
5.6 指標別名 5-26
5.7 結構體安排 5-29
5.8 位元區域 5-32
5.9 邊界不對齊資料和位元組排列方式(大/小結尾) 5-35
5.10 除法 5-40
5.11 浮點運算 5-49
5.12 內建函數和內嵌組合語言 5-49
5.13 移植問題 5-53
5.14 總 結 5-55
第6章 ARM組合語言與最佳化

6.1 設計組合語言程式碼 6-2
6.2 性能分析和週期計數 6-7
6.3 指令調整 6-8
6.4 暫存器分配 6-15
6.5 條件執行 6-25
6.6 迴圈結構 6-28
6.7 位操作 6-36
6.8 高效率的switch 6-42
6.9 邊界不對齊資料的處理 6-46
6.10 總 結 6-50
第7章 基本運算最佳化

7.1 雙精度整數乘法 7-2
7.2 整數正規化和前導0計數 7-6
7.3 除法 7-11
7.4 平方根 7-34
7.5 超越函數:LOG、EXP、SIN、COS 7-38
7.6 位元組順序反轉和位元操作 7-45
7.7 飽和及捨入運算 7-49
7.8 亂數產生 7-51
7.9 總 結 7-52
第8章 數位信號處理

8.1 表示一個數位信號 8-2
8.2 基於ARM的DSP介紹 8-11
8.3 FIR濾波器 8-22
8.4 IIR濾波 8-37
8.5 離散傅立葉變換 8-46
8.6 總 結 8-58
第9章 異常和中斷處理

9.1 異常處理 9-1
9.2 中 斷 9-8
9.3 中斷處理方法 9-15
9.4 總 結 9-46
第10章 韌 體

10.1 韌體和開機下載程式 10-1
10.2 例子:SANDSTONE 10-6
10.3 總結 10-12
第11章 嵌入式作業系統

11.1 基本模組 11-1
11.2 實例:簡單小型作業系統SLOS 11-3
11.3 總 結 11-20
第12章 高速緩衝記憶體Cache

12.1 儲存層次和CACHE 12-2
12.2 CACHE結構 12-5
12.3 CACHE策略 12-15
12.4 協同處理器15與cache 12-21
12.5 清除和清理CACHE記憶體 12-21
12.6 CACHE鎖定(lockdown) 12-41
12.7 CACHE與軟體性能 12-55
12.8 總 結 12-56
第13章 記憶體保護單元MPU

13.1 受保護的區域 13-2
13.2 初始化MPU、CACHE和寫緩衝器 13-5
13.3 MPU系統範例 13-18
13.4 總 結 13-27
第14章 記憶體管理單元

14.1 從MPU到MMU 14-2
14.2 虛擬記憶體如何工作 14-3
14.3 ARM MMU的詳情 14-10
14.4 頁 表 14-11
14.5 轉換旁路緩衝器(TLB) 14-15
14.6 域和記憶體存取許可權 14-19
14.7 cache和寫入緩衝器 14-21
14.8 協同處理器CP15和MMU配置 14-22
14.9 快速上下文切換擴展 14-24
14.10 範例:一個簡單的虛擬儲存系統 14-28
14.11 MMUSLOS範例 14-53
14.12 小 結 14-53
第15章 ARM族系結構的發展

15.1 ARMv6對高級DSP和SIMD的支援 15-1
15.2 ARMv6增加的系統和多處理器支援 15-11
15.3 ARMv6的執行 15-13
15.4 ARMv6之後的未來技術 15-15
15.5 總 結 15-16
附錄A ARM和THUMB組合語言指令

A.1 使用這篇附錄 A-1
A.2 語 法 A-2
A.3 按字母順串列出ARM和Thumb指令 A-5
A.4 ARM組合語言速查 A-52
A.5 GNU組合語言快速查詢 A-62
附錄B ARM和THUMB指令編碼

B.1 ARM指令集編碼 B-1
B.2 Thumb指令集編碼 B-7
B.3 程式狀態暫存器 B-9

附錄C 處理器與體系結構

C.1 ARM命名規則 C-1
C.2 核心與體系結構 C-2
附錄D 指令週期定時

D.1 指令週期定時表的使用 D-1
D.2 ARM7TDMI指令週期定時 D-3
D.3 ARM9TDMI指令週期定時 D-4
D.4 StrongARM1 指令週期定時 D-5
D.5 ARM9E 指令週期定時 D-6
D.6 ARM10E指令週期定時 D-8
D.7 INTEL XSCALE指令週期定時 D-10
D.8 ARM11指令週期定時 D-11
附錄E 建議的參考讀物

E.1 ARM參考 E-1
E.2 演算法參考 E-1
E.3 記憶體管理與Cache體系結構(硬體綜述與參考) E-2
E.4 作業系統參考 E-2