What is microarchitecture?
the specific arrangement of registers, ALUs, FSMs, memories and other logic building blocks needed to implement an architecture
What are the two interacting parts of the microarchitecture?
Datapath - made up of memories, registers, ALUs and multiplexers and operates in 32-bit words of data.
Control unit - produces signals to control the operation of the datapath. It receives the current instruction and tells the datapath how to execute it.
What are two of the microarchitectures for ARM achitecture?
Single-cycle: each instruction executes in a single cycle
Pipelined: each instruction is broken up into a series of steps and multiple instructions execute at once
What is execution time?
Measure of performance for microarchitecture. Execution time = (#instructions)(cycles/instruction)(secs/cycle)
What is CPI?
cycles/instruction
what is clock period?
seconds/cycle
What is IPC
instructions/cycle
Name the ARM architectural state elements
Program counter:
Instruction memory:
Register File:
Data memory:
What are the main parts of the control unit?
Decoder: generates the control signal for a particular instruction
Conditional logic: maintains status flags. Only enables update to architectural state when instruction should be conditionally executed
What are the sub sections of the decoder?
What does conditional logic do in the control unit?
Latency
time to execute one instruction
Throughput
how many instructions can be completed per unit time
What are the five stages of a pipelined ARM processor?
Fetch stage:
processor reads instruction from memory
Decode stage:
processor reads source operands from the register file and decodes the instruction to produce control signals
Execute stage:
computation in current instruction is performed using ALU
Memory stage:
processor reads or writes data to memory
Writeback stage:
the processor writes the result to the register if applicable
Explain the process a pipelined ARM processor carries out for each instruction
It is broken up into 5 stages: - - Fetch: processor reads instruction from memory.