Previous | Next --- Slide 25 of 86
Back to Lecture Thumbnails
seahyinghang8

Since there are multiple ALUs on the processor, why must they all run the same instruction? Is it possible for each ALU to run a different instruction? Or is this limited by the fact that there is only one Decoder?

ppenkov

I believe this is because, as you pointed out, there is only one fetch/decode.

SIMD is particularly effective when we are executing many independent iterations of a for loop as is the case with processing an image (each pixel is independent). Because we know the same operation will be performed on all pixels, we can amortize the fetch/decode and do it once per 8 pixels rather than once per pixel.

However, SIMD is challenging when we have conditional execution. What are the other downsides of SIMD?