Lec 3
Lec 3
Lec 3
System Design
Lecture-3
• Instruction Set
• Architecture of ARM
• Pipelining
Recap:
Instruction execution in
Microprocessor
• We can think of a microprocessor’s execution of instructions as consisting of several basic stages:
1. Fetch instruction: the task of reading the next instruction from memory into the instruction register.
2. Decode instruction: the task of determining what operation the instruction in the instruction register
represents (e.g., add, move, etc.).
3. Fetch operands: the task of moving the instruction’s operand data into appropriate registers.
4. Execute operation: the task of feeding the appropriate registers through the ALU and back into an
appropriate register.
5. Store results: the task of writing a register into memory.
• If each stage takes one clock cycle, then we can see that a single instruction may take several cycles to
complete.
Instruction Architecture
• Applications:
• BenQ
• Apple iphone, Nokia
Four major design rules of RISC: 1.
Instructions
• RISC processors have a reduced number of instruction classes.
These classes provide simple operations that can each execute in a
single cycle.
• The compiler or programmer synthesizes complicated operations
(for example, a divide operation) by combining several simple
instructions.
• In contrast, in CISC processors the instructions are often of variable
size and take many cycles to execute.
Four major design rules of RISC: 2.
Pipelines
• The processing of instructions is broken down into smaller
units that can be executed in parallel by pipelines.
• Ideally the pipeline advances by one step on each cycle for
maximum throughput.
• Instructions can be decoded in one pipeline stage.
Four major design rules of RISC: 3.
Registers
• RISC machines have a large general-purpose register set.
• Any register can contain either data or an address.
• Registers act as the fast local memory store for all data
processing operations.
Four major design rules of RISC: 4.
Load-store architecture
• The processor operates on data held in registers.
• Separate load and store instructions transfer data between the
register bank and external memory.
ARM is not completely RISC