14 ms·
A pattern I've noticed for a very long time: A lot of times the path to the highest performing CPU seems to be to optimize for power first, then speed, then re
by api 7mo ago
A pattern I've noticed for a very long time:
A lot of times the path to the highest performing CPU seems to be to optimize for power first, then speed, then repeat. That's because power and heat are a major design constraint that limits speed.
I first noticed this way back with the Pentium 4 "Netburst" architecture vs. the smaller x86 cores that became the ancestor of the Core architecture. Intel eventually ran into a wall with P4 and then branched high performance cores off those lower-power ones and that's what gave us the venerable Core architecture that made Intel the dominant CPU maker for over a decade.
ARM's history is another example.
- jnovek 7mo agoI don’t have a micro architecture background so I apologize if this is obvious — What do power and speed mean in this context?
- McP 7mo agoPower - how many Watts does it need? Speed - how quickly can it perform operations?
- wmf 7mo agoYou can get low power with a simple design at a low clock. This definitely will not help achieve high performance later.
- weebull 7mo agoClock rate isn't the only factor. A design can be power hungry at a low clock rate if designed badly, and if it it is... you're never getting that think running fast.
- unethical_ban 7mo agoOne could say "Optimize for efficiency first, then performance".
- jauntywundrkind 7mo agoParallels to code design, where optimizing data or code size can end up having fantastic performance benefits (sometimes).
- cptskippy 7mo agoCore evolved from the Banis (Centrino) CPU core which was based on P3, not P4. Banias used the front-side bus from P4 but not the cores. Banias was hyper optimized for power, the mantra was to get done quickly and go to sleep to save power. Somewhere along the line someone said "hey what happens if we don't go to sleep?" and Core was born.
- cpgxiii 7mo agoI think the story is a bit more complicated. Core succeeded precisely because Intel had both the low-power experience with Pentium-M and the high-power experience with Netburst. The P4 architecture told them a lot about what was and wasn't viable and at what complexity. When you look at the successor generations from Core, what you see are a lot of more complex P4-like features being re-added, but with the benefits of improved microarch and fab processes. Obviously we will never know, but I don't think you would get to Haswell or Skylake in the form they were without the learning experience of the P4. In comparison, I think Arm is actually a very strong cautionary tale that focusing on power will not get you to performance. Arm processors remained pretty poor performance until designers from other CPU families entirely (PowerPC and Intel) took it on at Apple and basically dragged Arm to the performance level they are today.
- maximilianburke 7mo agoAnd not just any PowerPC architects either, but the people from PA Semi. Motorola couldn't get the speed up and IBM couldn't get the power down.
- fidotron 7mo ago> In comparison, I think Arm is actually a very strong cautionary tale that focusing on power will not get you to performance. Hugely underappreciated. Someone involved fully understood that "you don't get to the moon by climbing progressively taller trees". The other two times Arm had great performance were the StrongArm, when it was implemented by DEC people off the Alpha project, and the initial ones, which were quite esoteric and unusually suited to the situation of the late 80s.
- userbinator 7mo agoNetBurst was supposed to be the application of RISC principles to x86 taken to its extreme (ultra-long pipelines to reduce clock-to-clock delay, highest clock speed possible --- basically reducing work-per-clock and hoping that reduces complexity enough to increase clock speed to compensate.) The ALU was 16 bits, "double pumped" with the carry split between the two, which lead to 32-bit ALU operations that don't carry between the lower and upper halves actually finishing a clock cycle faster than those with a carry. https://stackoverflow.com/questions/45066299/was-there-a-p4-model-with-double-pumped-64-bit-operations https://stackoverflow.com/questions/45066299/was-there-a-p4-...