Slide 21 of 30
Notes:
We will focus on the base address of the element in the middle. I circled the address in pink, it has a value of b. The key notion behind recursive prefetching is to identify the memory instruction that produces b and the one that consumes b.
The producer of b is the memory instruction that loads this next field (point to leftmost one). The consumer of b is the memory instruction, possibly the same, that uses the result of the producer. These are the two instructions down here. What ties them together is that the data loaded by the producer is used as the base address of the consumer. In a high-level language both of them could be the well-known p = p-> statement.
Note that the consumer of the base address b is at the same time the producer for base address c of the following element.