with different values of ARRAYSIZE and ITERATIONS (keeping the product,
and hence the number of instructions, constant), the program will run
faster if the array fits in the cache. Even if the array size
exceeds the cache, we benefit from having the cache fetch an entire
line, so we don't get a cache miss on each element. If we skip
array elements

this benefit decreases. Large scientific programs can structure
their array operations to take advantage of these cache properties.

Virtual memory

Virtual memory provides the next step in the memory hierarchy after
main
memory: disk memory. The gap in access times, however, is much larger
(between
100ns main memory and 10ms disk access time) and this affects the
parameters
of the design (pages are much larger than cache lines, and hit ratios
must
be much higher for the machine to work efficiently). As technology
changes,
we can expect the parameters of the memory levels to change, but the
basic
idea of a memory hierarchy to remain.