ARM system-on-chip architecture (second edition © 2000 by Steve Furber - ADDISON-WESLEY)
contains the following data sheets :
1/ An Introduction to Processor Design
- Processor Architecture and organization
- Abstraction in hardware design
- MU0 - a simple processor
- instruction set design
- Processor design trade-offs
- The reduced Instruction Set Computer
- Design for low power consumption
- Examples and exercises
2/ The ARM Architecture
- The Acorn RISC Machine
- Architectural inheritance
- The ARM's programmer's model
- Examples and exercises
3/ ARM Assembly language Programming
- Data processing instructions
- Data transfer instructions
- Control flow instructions
- Writing simple assembly language programs
- Examples and exercises
4/ Organization and Implementation
- 3-stage pipeline ARM Organization
- 5-stage pipeline organization
- ARM instruction execution
- ARM implementation
- The ARM coprocessor interface
- Examples and exercises
5/ The ARM Instruction Set
- Introduction
- Exceptions
- Conditional execution
- Branch and Branch with Link and eXchange (BX, BLX)
- Software Interrupts (SWI)
- Data processing instructions
- Multiply instructions
- Count leading zeros (CLZ - architecture v5T only)
- Single word and unsigned byte data transfer instructions
- Half-word and signed byte data transfer instructions
- Multiple register transfer instructions (SWP)
- Status register transfer instructions
- Coprocessor instructions
- Coprocessor data operations
- Coprocessor data transfers
- Coprocessor register transfers
- Breakpoint instruction (BRK - architecture v5T only)
- Unused instruction space
- Memory faults
- ARM architecture variants
- Example and exercises
6/ Architectural Support for High-Level Languages
- Abstraction in software design
- data types
- Floating-point data types
- The ARM floating-point architecture
- Expressions
- Conditional statements
- Loops
- Functions and procedures
- Use of memory
- Run-time environment
- Example and Exercises
7/ The Thumb Instruction Set
- The Thumb bit in the CPSR
- The Thumb programmer's model
- Thumb branch instructions
- Thumb software interrupt instructions
- Thumb single register data transfer instructions
- Thumb multiple register data transfer instructions
- Thumb breakpoint instruction
- Thumb implementation
- Thumb applications
- Example and exercises
8/ Architectural Support for System Development
- The ARM memory interface
- The Advanced Microcontroller Bus Architecture (AMBA)
- The ARM reference peripheral specification
- Hardware system prototyping tools
- The ARMulator
- The JTAG boundary scan test architecture
- Embedded Trace
- Signal processing support
- Example and exercises
9/ ARM Processor Cores
- ARM7TDMI
- ARM8
- ARM9TDMI
- ARM10TDMI
- Discussion
- Example and exercises
10/ Memory hierarchy
- Memory size and speed
- on-chip memory
- Caches
- Cache design - an example
- Memory management
- Example and exercises
11/ Architectural Support for Operating Systems
- An introduction to operating systems
- The ARM system control coprocessor
- CP15 protection unit registers
- ARM MMU architecture
- Synchronization
- Context switching
- Input/Output
- Example and exercises
12/ ARM CPU Cores
- The ARM710T, ARM720T and ARM740T
- The ARM810
- The StrongARM SA-110
- The ARM920T and ARM940T
- The ARM946E-S and ARM966E-S
- The ARM1020E
- Discussions
- Example and exercises
13/ Embedded ARM Applications
- The VLSI Ruby II Advanced Communication Processor
- The VLSI ISDN Subsriber Processor
- The OneC(tm) VWS22100 GSM chip
- The Ericsson-VLSI Bluetooth Baseband Controller
- The ARM7500 and ARM7500FE
- The ARM7100
- The SA-1100
- Examples and exercises
14/ The AMULET Asynchronous ARM Processors
- Self-timed design
- AMULET1
- AMULET2
- AMULET2e
- AMULET3
- The DRACO telecommunications controller
- A self-timed future?
- Example and exercises
Appendix
Glossary
Bibliography
Index
back to index