4 ms·
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 pi
by djcapelis 13y ago
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.
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.)
- solarexplorer 13y agoI agree, this is the best overview on the topic I have seen so far. Of curse, there is only so much you can squeeze into such a short overview. E.g. you probably don't really get VLIW if you don't know about trace scheduling. Or many cores without knowing about cache coherency. Etc. That's where you need to go on and read the references at the end.
- djcapelis 13y agoI wouldn't have minded if they cut out VLIW. That debate is mostly academic at this point and there's good reasons none of them have ever really been successful. If you're writing a guide to how modern chips actually work, it seems unnecessary to include a mostly dead path of work, but I've been hating on VLIW for a long time, so that's easy for me to say.
- solarexplorer 13y agoYes, VLIW is great for DSPs but not very much else. When the guide was written in 2001, Transmeta and Itanic were still around. So it made sense to include it back then.
- cma 13y agoGPUs are somewhat VLIW aren't they?
- zhemao 13y agoAs far as I know, they're SIMD, not VLIW. In VLIW, each ALU can be executing a different opcode. In SIMD, each ALU is executing the same opcode, but with a different operand.
- willvarfar 13y agoThe ATI cards were VLIW which gave them advantages in fixed pipeline, but as more and more programmatic shaders turned up ATI moved more towards CISC afaik.
- erichocean 13y agoGPUs are actually "single program, multiple data" (SPMD) machines, as far as programming is concerned. Internally, I believe they're implemented in a SIMD-like fashion, with extra hardware to handle the single program aspect within each lane.
- rodgerd 13y agoItanium has been outselling SPARC and POWER for most of its life. It may have failed at Intel's original job (deprecate the marginally open x86 space in favour of an Itanium closed shop), but it's been a commercial success against its main competitors.
- huxley 13y agoIt's possible that Itanium outsold POWER but only if you ignore PowerPC which was its most successful commercialization. As an architecture it existed not only in servers but in in PowerMacs, Xbox 360, PS3, Gamecube, Wii and in embedded architectures. Itanium was a piker compared to POWER.
- mgraczyk 13y ago
- willvarfar 13y agocough take a look at the new Mill CPU arch http://ootbcomp.com/docs/ http://ootbcomp.com/docs/ ;)
- chm 13y agoWhat reading do you recommend for someone who wants to learn about basic CPU design? I'm not a CS major, but I'm interested.
- sliverstorm 13y agoThe old standby, Computer Architecture: A Quantitative Approach, works you up through the basics.
- cfallin 13y agoPast the Patterson/Hennessy books, Shen/Lipasti's "Modern Processor Design" was really helpful to get a better sense of the implementation details of real chips, especially when you move past the 'conceptual' views (e.g. Tomasulo) and start to ask how instruction schedulers or renaming or load/store buffers actually work.
- throwaway_yy2Di 13y agoHold on, don't you mean Computer Organization and Design, by the same authors? The one with these pages: https://books.google.com/books?id=RXARim9cNBIC&pg=PA288&dq=basic+implementation+mips+subset https://books.google.com/books?id=RXARim9cNBIC&pg=PA288&dq=b...
- scott_s 13y agoThey're different books. "Computer Architecture: A Quantitative Approach" is an introduction to the subject for people who will work in the area. "Computer Organization and Design" is for people who need to understand how processors and hardware systems work in order to do their own work. (Mostly.) The preface to "Organization and Design" says basically this. For what it's worth, "Computer Architecture" is sitting on my shelf, and that's what I used in grad school. But based on their preface, I may buy "Organization and Design" because it may be a better reference for what I do day-to-day.
- vdm 13y agoComputer Systems: A Programmer's Perspective, Bryant & O'Halloran. http://www.amazon.com/dp/0136108040/ http://www.amazon.com/dp/0136108040/ http://csapp.cs.cmu.edu/public/pieces/preface.pdf http://csapp.cs.cmu.edu/public/pieces/preface.pdf This is a unique blend of operating systems and hardware architecture, emphasising application programming over the system implementation approach in Hennessy & Patterson.