Week 2: Processor Architecture; ARM Processor (ch. 4,5) Flashcards
What is the unit of addressability in the ARM processor?
byte
How many general purpose registers are in the ARM Cortex-m3/m4?
13 general purpose (r0-12), 16 total
Which register holds the program counter (pc)?
r15
Which register is the link register (lr)?
r14
Which register holds the stack pointer (sp)?
r13
What is another name for r13?
stack pointer (sp)
What is another name for r14?
link register (lr)
What is another name for r15?
program counter (pc)
What does the program counter (pc) do?
- keeps track of the next instruction to be executed
* acts as a pointer into program memory
What is the collection of general purpose registers called?(as a whole)?
register file
What are the 3 basic steps to modify data?
- Load values from address space into processor registers
- Perform desired ALU operations on those registers
- Store values resulting from operations back to address space
What are two items needed in order to fetch data from memory (address space)?
- address
* data size
What is the group of instructions that move data from registers to memory?
RM
(T/F) A byte address is used to access a word.
True
What is an “entity” (in terms of microprocessors)?
- a processor’s unit of addressability
* generic for data referenced by an address
How many address units will a 32 bit entity take?
4
32 bit entity = 4 bytes
(1 byte = 8 bits)
(32 bits
Describe the instruction type: MR
instructions that move data from memory to registers
Describe the instruction type: RM
instructions that move data from registers to memory
Describe the instruction type: RR
instructions that operate on register values, then place results back into a register
Describe the instruction type: FC
instructions that change the flow of control of the instruction sequence (or allow the sequence of instructions to be changed)
What is the size for this data type: register
on a typical 32-bit processor
32 bits
What is the size for this data type: byte
on a typical 32-bit processor
8 bits
What is the size for this data type: half word
on a typical 32-bit processor
16 bits
What is the size for this data type: word
on a typical 32-bit processor
32 bits
What is the size for this data type: short
on a typical 32-bit processor
16 bits
What is the size for this data type: int
on a typical 32-bit processor
32 bits
What is the size for this data type: char
on a typical 32-bit processor
8 bits
What is the size for this data type: pointer
on a typical 32-bit processor
32 bits
Give an example of a RM instruction
- str
- strh
- strb
Give an example of a MR instruction
- ldr
- ldrh
- ldrsh
- ldrb
- ldrsb
Give an example of a RR instruction
- add
- sub
- mul
- sdiv
- udiv
Give an example of a FC instruction
- cbz
* cbnz