This is a really good overview of modern processor design. I keep noticing that a lot of people don't seem to understand the CPU designs past the five stage pipeline taught in undergrad architecture courses and this document does a lot of good work in targeting the areas that folks are most likely to have misconceptions about.<p>I do wish they covered trace caches, or as they're known partly in their more modern form, u-op (micro-op) caches, which are back in modern Intel chips again and cause some interesting performance artifacts. (The old trace caches of the P4 chips are different than the u-op caches of the new architectures, since the trace cache actually encoded branch predictions into the actual cache line lookup, which was always pretty wild.)
This article is spectacularly good. I wish I had this available when I started doing assembly-level optimizations on x86 chips. This knowledge used to be much more fragmented and difficult to learn.<p>VLIW could indeed be left out: you are not likely to encounter a VLIW chip, and if you do, it will come with an (excellent) compiler that will do most of the hard work for you.<p>A good followup article would be a tutorial on how to lay out your structures/arrays in memory given your access patterns and cache architecture.
An absolutely excellent article!<p>For everyone interested in the topic, you might enjoy the new Mill CPU architecture talks <a href="http://ootbcomp.com/docs/" rel="nofollow">http://ootbcomp.com/docs/</a> - the very next talk is streamed live today (5th Feb, 16:15 PST <a href="http://ootbcomp.com/topic/instruction-execution-on-the-mill-cpu-talk-feb-5-2014/" rel="nofollow">http://ootbcomp.com/topic/instruction-execution-on-the-mill-...</a> )<p>(I am a Mill forum mod; ask me anything about the Mill ;)
here's another good intro to CPU design, floating point math, linear algebra, PDE solvers etc <a href="http://www.tacc.utexas.edu/~eijkhout/Articles/EijkhoutIntroToHPC.pdf" rel="nofollow">http://www.tacc.utexas.edu/~eijkhout/Articles/EijkhoutIntroT...</a>