Does anyone have good resources about the computer architecture of different CPUs. When I was a student I was very curious about computer architecture and hardware optimizations. Now as a software engineer I feel that I can no longer follow what's the trend in the hardware world. How are high-end CPUs getting better and how is @arm challenging @Intel and @AMD? #engineer #hardware #architecture This post is genuinely out of curiosity and is not about passing an interview or other similar trends in blind.
One more thing, they need to provide backward compatibility. Which I think can be a bottleneck to adopt new faster ISAs This could be reason now ARM is challenging Intel
Nowadays x86 exists only up to the decoders in the front-end of the pipeline. Beyond that cores are made with more RISC like approaches. If your code fits in the decoded uOp cache on Intel/AMD then you have a RISC core essentially. It was shown a while back in a study that RISC/CISC does not matter as much as the actual microarchitectural implementation for performance and efficiency. Of course there is lots of legacy on x86 that needs to be carried over and there is some extra complexity especially with decoding. This allows ARM cores to have wider front ends in an efficient way. But I’d sayARM is challenging more as a business model than with any specific ISA related advantage. You can license ARM tech and build your own semi-custom chip optimized for your own application which is bound to be more efficient than more general purpose solutions. For example you can skip adding super wide vector FP units and replace that with more cores.
Could memory technology make a difference? Lately, we couldn't increase the operating frequencies much as memory has became biggest bottleneck. Does ARM architecture have better memory access/technology? Or everyone is working on same page? (Sorry to bother. I have recently started my career and super interested into architecture and ISA!)
ARM architecture has less strict rules with regards to reordering memory operations. But I don’t know how much performance or efficiency impact this makes in practice.
Thanks guys for your input.
Let me try to help you a bit! Intel is x86 architecture and it has big semantic gap, hence make it difficult as a ISA to follow pipelining. ARM follows the RISC ISA, which has very low semantic gap, hence it become easy microarchitecture to follow pipelining and multicore system. No idea about AMD structure!
AMD is x86 as well