http://www.cs.albany.edu/~sdc/csi504/gifs/whichcache.gif
Where caches occur in systems.
http://www.cs.albany.edu/~sdc/csi504/gifs/cacheabc.gif
Block placement (associativity), Block addressing, Miss policy,
Write Policies
http://www.cs.albany.edu/~sdc/csi504/gifs/writing.gif
http://www.cs.albany.edu/~sdc/csi504/gifs/writepolicies.gif
http://www.cs.albany.edu/~sdc/csi504/gifs/splitunifiedtrade.gif
http://www.cs.albany.edu/~sdc/csi504/gifs/mergearrays.gif
Merge 2 or more arrays into an array of structures.
http://www.cs.albany.edu/~sdc/csi504/gifs/multidimandc.gif
How the C/C++ language syntax expresses nested types, such as mulidimensional
arrays. This is important to understand how to apply the loop interchange
technique of PH. p. 406-407.
http://www.cs.albany.edu/~sdc/csi504/gifs/matrixblock.gif
The mathematics of matrix blocking and the matrix multiplication decomposed
into block multiplies. For PH. p 408-411.
http://www.cs.albany.edu/~sdc/csi504/gifs/matrixblockmult.gif
Diagram that describes the program on p. 409 of PH, which keeps one
part of one matrix in the cache for as long as it is needed.
Main memory organization and performance improvement:
http://www.cs.albany.edu/~sdc/csi504/gifs/mainmemimprove.gif
http://www.cs.albany.edu/~sdc/csi504/gifs/mainmemimprove2.gif
Two summary slides.
http://www.cs.albany.edu/~sdc/csi504/gifs/comparebankings.gif
Comparing the performance of memory bus width and bank interleaving
options, from PH. 432-434.
http://www.cs.albany.edu/~sdc/csi504/gifs/modbank.gif
Applying modular arithmetic to scatter arithmetic progression index
references to an array into different memory banks. Summary of the
mathematics for PH. 434-437 and exercise 5.10.