Zen and the Art of CPU Design
Zen vs. 40 Years of CPU Development
Zen is nearly upon us. AMD is releasing its next generation CPU architecture to the world this week and we saw CPU demonstrations and upcoming AM4 motherboards at CES in early January. We have been shown tantalizing glimpses of the performance and capabilities of the “Ryzen” products that will presumably fill the desktop markets from $150 to $499. I have yet to be briefed on the product stack that AMD will be offering, but we know enough to start to think how positioning and placement will be addressed by these new products.
To get a better understanding of how Ryzen will stack up, we should probably take a look back at what AMD has accomplished in the past and how Intel has responded to some of the stronger products. AMD has been in business for 47 years now and has been a major player in semiconductors for most of that time. It really has only been since the 90s where AMD started to battle Intel head to head that people have become passionate about the company and their products.
The industry is a complex and ever-shifting one. AMD and Intel have been two stalwarts over the years. Even though AMD has had more than a few challenging years over the past decade, it still moves forward and expects to compete at the highest level with its much larger and better funded competitor. 2017 could very well be a breakout year for the company with a return to solid profitability in both CPU and GPU markets. I am not the only one who thinks this considering that AMD shares that traded around the $2 mark ten months ago are now sitting around $14.
AMD Through 1996
AMD became a force in the CPU industry due to IBM’s requirement to have a second source for its PC business. Intel originally entered into a cross licensing agreement with AMD to allow it to produce x86 chips based on Intel designs. AMD eventually started to produce their own versions of these parts and became a favorite in the PC clone market. Eventually Intel tightened down on this agreement and then cancelled it, but through near endless litigation AMD ended up with a x86 license deal with Intel.
AMD produced their own Am286 chip that was the first real break from the second sourcing agreement with Intel. Intel balked at sharing their 386 design with AMD and eventually forced the company to develop its own clean room version. The Am386 was released in the early 90s, well after Intel had been producing those chips for years. AMD then developed their own version of the Am486 which then morphed into the Am5x86. The company made some good inroads with these speedy parts and typically clocked them faster than their Intel counterparts (eg. Am486 40 MHz and 80 MHz vs. the Intel 486 DX33 and DX66). AMD priced these points lower so users could achieve better performance per dollar using the same chipsets and motherboards.
Intel released their first Pentium chips in 1993. The initial version was hot and featured the infamous FDIV bug. AMD made some inroads against these parts by introducing the faster Am486 and Am5x86 parts that would achieve clockspeeds from 133 MHz to 150 MHz at the very top end. The 150 MHz part was very comparable in overall performance to the Pentium 75 MHz chip and we saw the introduction of the dreaded “P-rating” on processors.
There is no denying that Intel continued their dominance throughout this time by being the gold standard in x86 manufacturing and design. AMD slowly chipped away at its larger rival and continued to profit off of the lucrative x86 market. William Sanders III set the bar higher about where he wanted the company to go and he started on a much more aggressive path than many expected the company to take.
AMD K5 and K6 Era
The K5 was the first CPU designed entirely by AMD. It was a very aggressive design that could have panned out very well for AMD had they been able to effectively execute on it. It was a superscalar, Out-of-Order CPU design that utilized a RISC based core with a x86 decoder front end. To this point most designs were entirely CISC based. There was nothing inherently wrong with a fully CISC based CPU, but the overall architecture essentially limited clockspeeds and induced more complexity than many designers wanted. Going with a x86 decode with a “risc-y” core solved a lot of problems and we have essentially have had that solution ever since.
The K5 was more akin with the Pentium Pro of the time than the original Pentium. It had better IPC performance than the Pentium and was more on par with the Pentium Pro, but without that extremely expensive cache unit. Unfortunately, AMD was unable to get clockspeeds up to a point where it could be competitive overall with the Pentium. AMD continued with the “P-rating” with this part. The K5 ran well and was highly compatible in x86 applications. It utilized the Socket 5 and Socket 7 infrastructure without problem. Sadly, it ran slower and was a hotter chip than the competing Pentiums.
It was a solid attempt at competing with Intel. Sadly, issues with the design and AMD’s ability to compete with Intel in manufacturing meant that it was not nearly as competitive as they would have liked it to be. It did build the foundation of good design ideas being put into silicon from AMD. The company will learn from this product and how to improve upon the design strategies that they were able to implement from scratch.
AMD was also very aware of the industry around them and would take advantage of opportunities. DEC was hitting some real financial difficulties and AMD was busy hiring engineers from the company. AMD also noticed another CPU company called NextGen that was designing a CPU that was very comparable to the upcoming Pentium II from Intel. AMD quickly bought up this company and their upstart CPU and renamed it the K6.
The K6 is probably the most important CPU from AMD to this time. It had wide appeal due to it being Socket 7 compatible and providing Pentium II performance in most integer applications. This was one of the first CPUs to cause Intel to radically change their plans for their CPUs. AMD introduced the K6 in April of 1997. Intel released the Pentium II a month later. For that month AMD had the fastest x86 processor in the world. What is interesting is that Intel felt the need to release the Pentium II well before they had planned. Intel had been stockpiling CPUs for quite some time, but it did not have the 440 LX chipset platform ready when AMD started pushing forward on releasing K6. Intel took the aging 440 FX chipset that powered the Pentium Pro for years and utilized it for Pentium II. This meant no AGP or SDRAM support for the PII right off the bat. AMD on the other hand was able to utilize the mature 430 HX and the new and shiny 430 TX based chipset, as well as the SiS, ALi, and VIA based chipsets supporting Socket 7 at the time.