I am definitely not an expert on CPU design (maybe someone like
@cmaier can chime in), but aside from simply increasing clocks (which is primarily limited by node size), I can see the following potential ways to increase the performance:
- further widening the architecture (increasing the number of execution units and the front-end width), no idea how feasible it is on an already very wide architecture such as Apple Silicon — there is only that much ILP one can exploit...
- scaling up the number of cores, this is the path Intel and AMD has been going for the last couple of years and Apple has tremendous potential here (won't help with single-threaded performance though)
- optimizing the architecture to reduce execution latency — no clue what are the limits here
Overall, I am sure that the linear performance gains will continue for a while. Apple has yet to make a high-core design, and given how their performance-per-watt metrics, they are likely to be very performant. Single-threaded performance is probably going to plateau very soon however. But then again there is Nuvia... a startup founded by Apple's former chief CPU designer, who claims that they can deliver significant single-core performance increases... so who knows.
And once there is no trick left in the sleeves... no idea. I doubt a different instruction set is going to be a panacea. ARM already makes things fairly easy for the CPU, and by throwing away the 32-bit comparability mode Apple gets valuable die space for more important things. People mention RISC-V, but I don't really see how RISC-V is "better" than ARM except being open source. One would probably need different computing paradigms, and I don't have enough overview over the current state of the research to speculate. But we are still a decade or two away from it. Something will turn up, as it usually does