some links to info about the instruction cache....
http://en.wikipedia.org/wiki/CPU_cache
http://en.wikipedia.org/wiki/Locality_of_reference
http://cseweb.ucsd.edu/classes/fa10/cse240a/pdf/08/CSE240A-MBT-L15-Cache.ppt.pdf
http://www.eetimes.com/document.asp?doc_id=1275470
http://www.eetimes.com/document.asp?doc_id=1275470
http://stackoverflow.com/questions/16699247/what-is-cache-friendly-code
http://www.agner.org/optimize/
http://lwn.net/Articles/250967/
http://stackoverflow.com/questions/667634/what-is-the-performance-cost-of-having-a-virtual-method-in-a-c-class
http://stackoverflow.com/questions/8469427/how-and-when-to-align-to-cache-line-size
http://stackoverflow.com/questions/763262/how-does-one-write-code-that-best-utilizes-the-cpu-cache-to-improve-performance
http://www.cs.rochester.edu/users/faculty/sandhya/csc252/lectures/lecture-memopt.pdf
http://courses.engr.illinois.edu/cs232/sp2009/lectures/X18.pdf
https://wiki.engr.illinois.edu/download/attachments/203522372/L32-CacheFriendlySoftware.pdf?version=2&modificationDate=1353955160000
http://web.cecs.pdx.edu/~jrb/cs201/lectures/cache.friendly.code.pdf
http://www.cs.uiuc.edu/class/fa07/cs232/lectures/F18a.pdf
http://en.wikipedia.org/wiki/Cache-oblivious_algorithm