It's hard not to be cynical.
CPUs have been very interesting the past 8 years or so.
CPUs used to be purely about computing power, now they're about computing accessories, which is a different type of market and purchase all together.
If you can't acknowledge the differences without becoming irrationally aggressive as if I've insulted you personally then this is not going to be a great conversation.
Yes, and now they are about saving power. If the employer pays the wasted hours, why not.
I totally disagree that specialized processing units are wasteful because they spending most of their life powered down. Your iPhone uses the neural engine every time you open the camera app. The announced AI features for the next iOS version will be using on-device AI a lot of times you use Siri - which is used a lot by a lot of people.
The old school version of this would be like if you were dissing multimedia instructions like hardware encoders/decoders. How do you think your laptop so effortlessly plays back 4K video and somehow get better battery life than when you’re working on a Word document? It’s that part of your processor that usually “sits there doing nothing.”
You just don’t realize how much these segments of the chip are accelerating your experience.
We made leaps and bounds before because clock speeds were going up 50% or more between generations. Add in architecture improvements and it was easy to see actual performance double from one generation to the next.
But we're struggling to get clocks faster now, and I always imagined that it's because the speed of electricity isn't fast enough. At 6 Ghz, in one clock cycle, light travels only about 6 inches/15 cm. Electricity moves slower than the speed of light, depending on the medium it's going through. At the frequencies we're operating at, I figure that transistor switching speed and clock skew just within the CPU can start to be an issue.
We already have tons of CPU optimizations. Out-of-order execution, branch prediction, register renaming, I could go on. There's probably not much more we can do to improve single-threaded performance. Every avenue for optimizing x86 has been taken.
And so we go multi-core, but that ends up making heat a primary concern. It also relies on your task being parallel.
Or we go ARM, but now some of your software that has had x86-specific optimizations like using AVX-512 has to be rewritten.