What are things that newer CPU can do to speed up single thread execution?
* multiple registers? (can compilers always benefit from it?)
* SIMD? (do compilers use SIMD without code annotation?)
* does a larger cache always speed up execution speed?
* Is branch prediction faster with more transistors?
What other things have been increasing execution speed?
A lot of "common algorithms" cannot be parallelized or use concurrency, but with newer CPUs, it still "feels" like single execution is faster than the increase in frequency.
How can CPU designers go around frequency limitations to increase single thread speed?
I don't really follow CPU designs, it looks quite complicated.