1. What do T, D, M, and I stand for in ARM7TDMI?
Answer: These four letters represent a characteristic of ARM:
T: High-density 16-bit Thumb instruction set extension D: Supports on-chip debugging M: 64-bit multiplication instruction I: Includes embedded ICE hardware simulation module
2. Quick Knowledge Summary: ARM7 adopts a 3-stage pipeline, while ARM9 adopts a 5-stage pipeline. The ARM processor includes 37 32-bit registers, which consist of 32 general-purpose registers and 6 status registers. ARM processor modes include Thumb (16-bit) mode and ARM (32-bit) mode. The ARM processor states include 7 types:
User mode (usr) – for normal program execution
Fast interrupt mode (FIQ) – for high-speed data transfer
External interrupt mode (IRQ) – for regular interrupt handling
Supervisor mode (svc) – the protected mode used by the operating system
Abort mode (abt) – entered when data or instruction prefetch is aborted, useful for virtual storage or memory protection.
System mode (sys) – runs privileged operating system tasks.
Undefined instruction abort mode (und) – entered when an undefined instruction is executed, useful for supporting hardware. The general function of register R13 (in Thumb state) is the stack pointer (SP) (in ARM state), R15 (in Thumb state) corresponds to the program counter (PC) (in ARM state), and R14 (in Thumb state) corresponds to the link register (LR) (points to the function return address) (in ARM state).
3. Storage Format (Big Endian, Little Endian)
Define R0=0x12345678, use the store instruction to place R0 at address 0x4000.
Little Endian – low byte at low address, is sequential.
Address: 0x4003 0x4002 0x4001 0x4000
Data: 0x12 0x34 0x56 0x78 Big Endian – low byte at high address.
Address: 0x4003 0x4002 0x4001 0x4000
Data: 0x78 0x56 0x34 0x12
No matter how the data is stored, reading the data from address 0x4000 into R2 is sequential (from low address to high address). Therefore, in Little Endian mode, the value in R2 is 0x78563412. In Big Endian mode, the value in R2 is 0x12345678.