Return to course page

Question 1: Which if the following were not identified in class as reasons that pipleine depths rarely exceed 15 stages?
Select all that apply

  1. the difficulty of making equal partitions

  2. the overhead of having too many pipeline registers

  3. the increase in the number of hazards

  4. the increase in the number of stalls created by each hazard

  5. the additional cost of branch misprediction

Question 2 (2 points): Three of the following are true; which three?
Select all that apply

  1. all hyperthreaded processors are also superscalar processors

  2. all superscalar processors are also hyperthreaded processors

  3. all out-of-order processors are also superscalar processors

  4. all out-of-order processors are also hyperthreaded processors

  5. all hyperthreaded processors are also out-of-order processors

  6. all superscalar processors are also out-of-order processors

Question 3: Register renaming is used to implement which of the following? Pick the most direct answer (i.e., if renaming is used to implement X, and X is used to implement Y, answer X not Y)

  1. variable-duration functional units

  2. out-of-order processing

  3. superscalar processors

  4. hyperthreaded processors

Question 4: Suppose two processors are each executing the following code, and that shared is in shared memory, and that *shared is initially 0.

int main(int argc, char *argv[]) {
    int x = *shared;
    *shared = x + 1;
    return 0;
}

If each processor has its own cache and memory exhibits sequential consistency, which of the following could be the contents of *shared when both processors finish executing?
Select all that apply

  1. 0

  2. 1

  3. 2

Question 5: Locality (as we discussed it) is a characteristic of

  1. programs

  2. processors

  3. memory

  4. caches

Return to main page
Return to course page