CSCIUA0480051 Parallel Computing

1. [4] In the summation example in class we saw two solutions: one where processor 0 is

doing all the summation, and the second where there is a tree-like calculation. We found

that the tree-like way is better. State two reasons as to why the tree-like solution is better.

2. [8] In superscalar processors, we increase the number of execution units in order to be

able to execute several instructions at the same time. What modifications do we have to

make for the fetch, decode, issue and commit phases?

3. [6] Suppose we have an eight-core processor. For each one of the following scenarios,

indicate the maximum number of threads that can be executed in parallel and why.

a) Each core is superscalar but not hyperthreading

b) Each core is superscalar and two-way hyperthreading

c) Each core is neither superscalar nor hyperthreading (just pipelining)

4. [6] Superscalar capability makes the processor execute several instructions at the same

time. This is called instruction-level-parallelism. We measure the performance of this

hardware using IPC (Instructions per cycle). Is speculative execution needed for

superscalar processors to work? Justify

5. [2] We have computer chips built as SIMS (e.g. GPUs). However, there are no chips

built as MISD, why is that?

6. [4] Before multicore processors, that is, during the single core era, programs are getting

faster with every new generation of processors without any effort from the program. This

is due to two factors. What are they?

你可能感兴趣的:(学习方法)