Which of the following correctly lists the typical stages of an ARM instruction pipeline in order?
Think about the natural flow of an instruction from reading it to completing its operation.
The ARM instruction pipeline typically follows these stages: first, the instruction is fetched from memory, then decoded to understand what to do, followed by execution of the instruction, then memory access if needed, and finally write back to update registers or memory.
What type of hazard occurs when an instruction depends on the result of a previous instruction that has not yet completed in the ARM pipeline?
Consider what happens when instructions need data that is not ready yet.
A data hazard happens when an instruction needs data that is still being processed by a previous instruction, causing a delay or stall in the pipeline.
Consider an ARM processor with a 5-stage pipeline. If a data hazard causes a stall of 2 cycles, how does this affect the instruction throughput compared to an ideal pipeline with no stalls?
Think about what happens when the pipeline must pause to wait for data.
Stalls cause the pipeline to pause, which means fewer instructions complete per cycle, reducing overall throughput.
What is the main advantage of using branch prediction in an ARM instruction pipeline?
Consider how the processor handles decisions like if-else or loops.
Branch prediction helps the processor guess which instruction will come next after a branch, reducing delays caused by waiting to know the actual path, thus minimizing control hazards.
In a 5-stage ARM pipeline, if an instruction is currently in the Memory Access stage, which stage will the next instruction be in at the same clock cycle?
Remember that the pipeline processes multiple instructions simultaneously, each in a different stage.
In a 5-stage pipeline (Fetch stage 1, Decode stage 2, Execute stage 3, Memory Access stage 4, Write Back stage 5), instructions overlap. When an instruction is in Memory Access (stage 4), the next instruction in program order is in the Decode stage (stage 2).
