Table of Contents
Preface.
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 Programmer's Model.
ARM Development Tools.
Example 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. ARM Organization and Implementation.
3-Stage Pipeline ARM Organization.
5-Stage Pipeline ARM 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 (B, BL).
Branch, Branch with Link and Exchange (BX, BLX).
Software Interrupt (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.
Swap Memory and Register Instructions (SWP).
Status Register to General Register Transfer Instructions.
General Register to 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.
Examples and Exercises.
7. The Thumb Instruction Set.
The Thumb Bit in the CPSR.
The Thumb Programmer's Model.
Thumb Branch Instructions.
Thumb Software Interrupt Instruction.
Thumb Data Processing 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.
The ARM Debug 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.
Examples and Exercises.
11. Architectural Support for Operating Systems.
An Introduction to Operating Systems.
The ARM System Control Coprocessor.
CP15 Protection Unit Registers.
ARM Protection Unit.
CP15 MMU 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.
Discussion.
Example and Exercises.
13. Embedded ARM Applications.
The VLSI Ruby II Advanced Communication Processor.
The VLSI ISDN Subscriber Processor.
The Onec 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: Computer Logic.
Glossary.
Bibliography.
Index. 0201675196T04062001