Previous | Next --- Slide 8 of 37
Back to Lecture Thumbnails
yey1

I am confused here. If we only have one processor, how can we write and read simultaneously?

bpr

@yey1, modern processors are superscalar and can be fetching four new instructions every cycle and have over 200 in simultaneous execution. While the details of how a processor can do this is beyond the scope of this course, processors can and as a result there will be simultaneous memory accesses as many of these instructions are reads and writes to memory.

tcm

In addition, even with just a simple non-superscalar processor (that does one instruction at a time, in order), a write buffer allows the processor to continue executing beyond the write. Unlike a read, which needs a result, a processor doesn't need to wait for a write to fully propagate through memory as long as the hardware has been designed to (eventually) make that write propagation work correctly. Hence it would be easy to overlap the read of B with the write of A in the example above.

kamikaze

I'd like to add @yey1 that one processor does not mean only one process can be executed at once -- let's not forget that it may be capable of running 64 threads.