E&CE 720-t4: Asn-2: Pipelines and Performance

 

Overview

Due: Wed Mar 12 12:30pm. You may turn in neatly written/drawn answers, there is no need to type up your answers (although typed anwers are fine).

Purpose: Review concepts on performance, pipelines, and superscalar processors from chapters 1,2, 4, 5.

Tasks

Answer each of the following questions. The bold numbers are questions from the textbook. If you have done the readings carefully, most questions should take no more than about an hour to answer. For the questions that ask you to design hardware, provide a sketch of the hardware and an explanation of how the hardware works.

  1. 1.2: SPEC performance vs frequency
  2. 1.6,7,8,9,10: Frequency vs performance for multiply and shift/add.
  3. 2.9,10: Load-update instruction
  4. 2.13: Caches and pipelining
  5. 4.4: I-cache and superscalar fetch
  6. 4.13,14: IPC and superscalar
  7. For a typical 4-wide superscalar microprocessor, how much will performance increase if branch-prediction accuracy increases from 90% to 95%? This is a very open-ended question. There are two important aspects: making realistic assumptions/generalizations and finding an approach that makes a good tradeoff between the accuracy of your results and the effort taken to get the result. I'm looking for a conceptual analysis, not tables and graphs.
  8. In register renaming, the conventional approach is for instructions sitting in reservation stations to read each operand as soon as it becomes valid. This question explores an alternative approach, where instructions wait for both operands to become valid and then read both operands at the same time, as the instruction exits the reservation station.
    1. Describe the differences in the hardware between the conventional approach and the alternative.
    2. For each of the three types of data hazards, describe how you would guarantee data-hazard correctness in the alternative approach.
    3. Analyze the tradeoffs (area, performance, etc) between the conventional approach and the alternative approach. Will one of the approaches always be better, or are there some situations/processors where the conventional approach is better and others where the alternative approach is better?

Marking

The focus of the marking will be on your ability to apply the concepts from the textbook and lecture to answer the questions. Almost all of the questions have multiple correct answers.

Valid HTML 4.01!