

Simplicity is Wonderful, But Not a Requirement - vog
http://prog21.dadgum.com/167.html

======
rogerbinns
There is a wonderful talk from 9 years ago for the Stanford EE380 class by Bob
Colwell titled "Things CPU Architects Need To Think About" which remains
relevant today. Bob was leader of the Pentium Pro through Pentium 4 projects
at Intel. There are fascinating tidbits in there including things like at most
4 people actually understood the processor as a whole, how you have to
introduce random delays in order to improve performance, complexity, and even
how the Itanium was accepted. He also mentions what happened with the Pentium
FDIV bug.

Go to <http://www.stanford.edu/class/ee380/ay0304.html> find 18 February 2004
and then click on the icon on the right - it goes to [http://stanford-
online.stanford.edu/courses/ee380/040218-ee3...](http://stanford-
online.stanford.edu/courses/ee380/040218-ee380-100.asx) which can be played
with VLC on Linux.

What this highlights is how complexity is creeping in everywhere - the CPU
that looks like a deterministic black box to software developers is actually
extremely complex. Heck even a "network card" these days isn't something that
just shovels packets to/from the wire. Many even have an ARM processor on
them. The same is true for storage controllers.

