Question

“Annulling” an instruction is defined as preventing the instruction from having any effect without having to...

“Annulling” an instruction is defined as preventing the instruction from having any effect without having to flush the instruction from the pipeline. Which of the nine control bits generated by the control unit for the MIPS pipeline should be de-asserted to have the effect of annulling the instruction in the branch delay slot?. Use the minimum number of control bits.

0 0
Add a comment Improve this question Transcribed image text
Answer #1

Answer:-

Let's take a look at some strategies that have been proposed for conditional branch prediction. There are two issues: outcome prediction and target prediction. The most important aspect of a branch prediction strategy is accuracy. Higher levels of sophistication in branch prediction strategies lead to higher accuracy.

Branch Direction Prediction

Here are some ideas for branch outcome prediction (or "branch direction prediction"), the problem of predicting whether a conditional branch will be taken or not taken.

  • Static branch prediction. Static branch prediction means that the prediction is the same every time a branch is fetched. There are three levels of static branch prediction strategies:
    • Always taken/Always not taken. Every branch is predicted to go a particular way. Implementing an "always not taken" strategy is the simplest thing to do, since it eliminates the need for target prediction. Instructions are fetched and speculatively executed down the not-taken path. The accuracy of this technique is low; however, it can be improved with compiler cooperation.
    • Heuristics depending on the instruction. For instance, a popular strategy is "backward taken/forward not taken." Backward branches are assumed to be loop back edges that are frequently taken, while forward branches are assumed to be frequently not taken. This strategy is more accurate.
    • Hint bits in the ISA. Some ISAs allow conditional branch instructions to include hint bits that let the microarchitecture know which direction the branch is likely to be taken. These hints bits can be set through smart compiler heuristics, or through training in a profiling run of the program. This technique achieves about 90% accuracy in the SPEC CPU integer benchmarks.
  • Dynamic branch prediction. Every time a branch is executed, a machine algorithm gives a prediction for the branch. Dynamic branch prediction can predict branches that static branch prediction can't, for instance, loop back edges with fixed trip counts. Let's look at some increasingly complex dynamic branch predictors to see how they achieve high accuracy:
    • Bimodal (or "Smith") predictors. A table of bits, indexed by branch PC, is kept. Each time a branch executes, the corresponding bit is set to 1 if the branch was taken, 0 otherwise. The next time the branch needs to be predicted, the corresponding bit is taken as the prediction. This is like the hint bits in the ISA for static prediction, but the hint bits are learned on-line, without a separate profiling run. Note that this system will predict highly biased branches well, but for instance a loop back edge with a low trip count will be mispredicted twice: once at the loop exit, and once the very next time the back edge is encountered.
    • Bimodal prediction with hyseresis. Instead of keeping a table of bits, we keep a table of two-bit counters that saturate at 3 and 0. When a branch is taken, the corredponding counter is incremented. When the branch is not taken, the counter is decremented. When a branch needs to be predicted, the high bit of the corredponding counter is taken as the prediction. The low bit provides hysteresis, i.e., takes into account the history of the branch beyond just the last time the branch was executed. So a loop back edge will incur only one misprediction at a loop exit.
    • Two-level adaptive branch prediction. A history shift register is kept, either for all branches (global) or for each branch (local). The length of this register is called the history length. As branches are executed, their outcomes (1 for taken, 0 for not taken) are shifted into this register. The register is used to index a table of two-bit saturating counters to do prediction with hysteresis. Once this scheme has gone through a sufficient (small) training period, it can perfectly predict loop back edges with small fixed trip counts. This scheme is highly susceptible to aliasing in which two unrelated branches contend for the same counter, resulting in reduced accuracy. Many ways to address aliasing have been proposed. Two-level branch prediction is present in all modern general-purpose microprocessors. How many table entrie are required for a history length of N?
    • Hybrid branch prediction. Two or more predictors are combined to provide a more accurate estimate. For instance, local and global two-level predictors can be combined, or two global predictors with different history lengths.
    • Other predictors. Neural predictors, predictors based on decision trees, or finite state machines learned off-line, combinations of static and dynamic prediction, etc.
Add a comment
Know the answer?
Add Answer to:
“Annulling” an instruction is defined as preventing the instruction from having any effect without having to...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • Modify the circuit to support a MFCC instruction. MFCC Rd instruction: Move From Condition Codes MFCC copies into the fo...

    Modify the circuit to support a MFCC instruction. MFCC Rd instruction: Move From Condition Codes MFCC copies into the four rightmost bits of Rd the values of the ALU signals Carry (C), Overflow (O), Zero (Z) and Negative (N) as they were set by the previous R- type instruction. The remaining 28 bits of Rd are set to zero. Describe the changes and additions needed for the single-cycle MIPS processor datapath and control to support this instruction. Hints: 1) MFCC...

  • 1. Introduced by IBM with its System/360, the _________ is a set of computers offered with...

    1. Introduced by IBM with its System/360, the _________ is a set of computers offered with different price and performance characteristics that presents the same architecture to the user. 2. A large number of general-purpose registers, and/or the use of compiler technology to optimize register usage, a limited and simple instruction set, and an emphasis on optimizing the instruction pipeline are all key elements of _________ architectures. 3. The difference between the operations provided in high-level languages (HLLs) and those...

  • The Fibonacci sequence F is defined as F(1) = F(2) = 1 and for n>= 2,...

    The Fibonacci sequence F is defined as F(1) = F(2) = 1 and for n>= 2, F(n + 1) = F(n) + F(n − 1) i.e., the (n + 1)th value is given by the sum of the nth value and the (n − 1)th value. 1. Write an assembly program typical of RISC machines for computing the kth value F(k), where k is a natural number greater than 2 loaded from a memory location M, and storing the result...

  • In an article in Accounting and Business Research, Carslaw and Kaplan investigate factors that influence “audit delay” for firms in New Zealand. Audit delay, which is defined to be the length of time (in days) from a company’s financial year-end to the da

    In an article in Accounting and Business Research, Carslaw and Kaplan investigate factors that influence “audit delay” for firms in New Zealand. Audit delay, which is defined to be the length of time (in days) from a company’s financial year-end to the date of the auditor’s report, has been found to affect the market reaction to the report. This is because late reports often seem to be associated with lower returns and early reports often seem to be associated with higher...

  • ANY HELP PLEASE. PLEASE READ THE WHOLE INSTRUCTION THANK YOU Write a program GS.java that will...

    ANY HELP PLEASE. PLEASE READ THE WHOLE INSTRUCTION THANK YOU Write a program GS.java that will be responsible for reading in the names and grades for a group of students, then reporting some statistics about those grades. The statistics to be gathered are the number of scores entered, the highest score and the name(s) of the student(s) who earned that score, the lowest score and the name(s) of the student(s) who earned that score, and the average score for the...

  • T F Xilinx's SDK assembler supports both FOR statements, but not wHILE statements T F In the ARM processor, immediate operands are stored in data memory, and not in the opcode T F In ARM proc...

    T F Xilinx's SDK assembler supports both FOR statements, but not wHILE statements T F In the ARM processor, immediate operands are stored in data memory, and not in the opcode T F In ARM processor instructions, one but not both operands can come from main T F In the ARM processor, a single load/store instruction T F It is possible for a microprocessor to use a virtual TCache memory is typically much faster and much larger than main memory...

  • 1. Set up an easy way to copy files from /home/distribution/cnguyen/cis18b directory on voyager, without having...

    1. Set up an easy way to copy files from /home/distribution/cnguyen/cis18b directory on voyager, without having to type the long path name every time. Make your set up “permanent” for this quarter (the set up should last from one login session to another). 2. Use echo to write a brief explanation of your set up in step 1. 3. If you are not at your home directory, go to your home directory and don’t change directory for the rest of...

  • Using Android Studios. Scenario: You recently started working as the mobile app developer for a University...

    Using Android Studios. Scenario: You recently started working as the mobile app developer for a University and have been assigned to build a mobile app that calculates the students' grade. Your app should contain following screens: Screen 1 Labels for subject1, subject2, and subject3 Textboxes for subject1, subject2, and subject3 Labels for MaxGrade, MinGrade, and Avg.Grade Submit button Once user clicks submit button, you need to display letter grade in a label Screen 2 Screen that allows students to register...

  • EG 171 Test Chapters 7 Date: 214れ ,3& Name 24. The amount by which the actual...

    EG 171 Test Chapters 7 Date: 214れ ,3& Name 24. The amount by which the actual resistance can differ from the color-coded value is the: a. temperatare coefficient b. power rating e differiential resistance D tolerance 25. The resistance value of a chip resistor is determined from the size of the resistor three digit number printed on the body d. color-code c. three letters printed on the body True/False Indicate whether the statement is true or false 26. The practical...

  • This passage is an excerpt from a textbook published in the 1950s.) Science is often defined...

    This passage is an excerpt from a textbook published in the 1950s.) Science is often defined inadequately as “an organized body of knowledge.” This would make cookbooks, Sears, Roebuck catalogues, and telephone books science, which they are not. Sometimes science is defined simply as rationality, but that would make much of theology and metaphysics science, which they are not. Rationality is logical consistency, lack of contradiction. It is to be distinguished from reasonableness, the quality of a mind open to...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT