Previous | Next --- Slide 34 of 79
Back to Lecture Thumbnails
anamdev

To clarify from lecture, in this situation are we using a single processor that contains 8 ALUs to parallelize our code? Does using the forall statement that we discussed in class take advantage of the 8 ALU within the single processor? Lastly, during the stalls, can other code be running or is this simply wasted time?

chrislee

@anamdev: Yes, you can think of it as a single processor that contains 8 ALUs, which are all used (whether efficiently or inefficiently). This was probably clarified in Lecture 3.

For your last question about stalls, what do you think? In terms of the Fetch/Decode component, ALU component(s), and Execution Context components, do you think other code can run? Why or why not?

anon

I don't think other code can run during these stalls, at least not in this part of the datapath. With a datapath with multiple Fetch/Decode and ALU units you could, but you can't get around the stall because the instruction has already been fetched and decoded, but it is just unable to proceed. It is in the middle of its execution, and pulling it out and reinserting it does not seem feasible, especially since we may introduce ordering problems.