11. When a branch is taken, several of the instructions that follow a branch have already been...

Question:

11. When a branch is taken, several of the instructions that follow a branch have already been loaded into the pipeline. A process called flushing is used to prevent the execution of these instructions. Several of the pipeline registers are cleared so that these instructions do not store any values to registers or memory or cause a forwarding operation. Add branch flushing to the pipelined MIPS VHDL model as shown in Figures 6.38 of the Computer Organization and Design The Hardware/Software Interface by Patterson and Hennessy. Note that two new forwarding multiplexers at the register file outputs (not shown in the Figure, currently at ALU inputs) are needed to eliminate the new Branch data hazards that appear when the branch comparator is moved into to the decode stage.

Section 6.6 of Computer Organization and Design The Hardware/Software Interface contains additional background information on branch hazards.

Fantastic news! We've Found the answer you've been seeking!

Step by Step Answer:

Related Book For  book-img-for-question

Rapid Prototyping Of Digital Systems

ISBN: 9780387726700

2nd Edition

Authors: James O Hamblen, Tyson S Hall, Michael D Furman

Question Posted: