
5.3 Design Space for Snooping Protocols 291
FIGURE 5.12 Preserving the orders in a sequential
program running on a uniprocessor. Only the orders
corresponding to the two dependence arcs must be pre-
served.
The first two operations can be reordered
with-
out a problem, as can the last two or the middle two.
that seen by the programmer. On the hardware side, we assume that the sufficient
conditions must be satisfied. To do this, we need mechanisms for a processor to
detect completion of its writes so it may proceed past them (completion of reads is
easy; a read completes when the data returns to the processor) and mechanisms to
satisfy the conditio ...