szatkus :
blackkstar :
juanrga :
The Wiki article on Skylake says that it will double the number of integer registers from 16 to 32. This implies a fundamental change to the x86 ISA. Further discussion on another forum and one user claims that Intel will be cleaninup the x86 ISA and that AMD/VIA will be developing their own improvements to the x86 ISA: "Enhanced_86" vs. "Enhanced_64".
A cleanup of the x86 ISA to compete against ARM64 superior ISA is welcomed, but two or three incompatible ISAs would be more weird than Itanium vs AMD64 was.
I gave this user a credibility of 10% or so in base to his posting history, and the Wikipedia lacks source, but I mention it here because it is something very important in case he is rigth in this ocassion.
I wish you would have posted source:
https://en.wikipedia.org/wiki/SkyLake_%28microarchitecture%29
They are just increasing the number of amd64 general purpose integer registers. Hardly a fundamental ISA change. A fundamental ISA change is more like the jump from 16 bit to 32 bit or 32 bit to 64 bit.
Here you had me thinking they were going to make massive changes. The registers are going to be mostly useless. Existing code won't use it and compilers will only put stuff in those registers if it's told to. And it'll break on everything that doesn't have those extended registers.
I initially thought it was some sort of windowing like SPARC uses to keep cores fed faster with SMT but it's not even that large of a change.
I don't understand how you extrapolate "a cleanup of the x86 ISA" from "a doubling of general use amd64 integer registers".
Like always he claims something based on informations he doesn't understand.
Also part of these claims he took from a lunatic:
https://semiaccurate.com/forums/showpost.php?s=021b6c23b6fc5eef051f1787f90f7121&p=219856&postcount=78 (warning: complete BS)
I'm more baffled by how he came to the conclusion that not removing anything and adding more registers is cleaning up the ISA. If he's talking about not having to use generic registers like EAX, EBX, etc and having them named a bit more sane then I guess that's cleaning it up if you really really stretch the term and ASM targeted at Skylake is all you program in. But EAX, EBX, etc are all 32-bit registers and the amd64 general purpose registers that already exist are all sanely named. So it's like saying, "here, we have registers r0-r15 for you to use, but we cleaned up the entire x86 ISA by adding r16-r31, it is getting closer to arm64 now!"
All those extra registers will end up being additional transistors on a chip that never get used by software by 99.999% of users. Some HPC users and a few people like me would take advantage of it but that's about it. It's just not enough to make a huge difference if you ask me. It's more like throwing transistors at the problem, trying desperately to increase IPC.
Expect some sort of specially compiled Skylake benchmark when reviews show up and the standard fare of circle jerking about how "wow Intel does it again in this massive out-lier result we have. When you average all 3 benchmarks we ran, Skylake was 50% faster so it's clearly 50% faster than AMD in every piece of software that exists in every OS you can run on your computer :^)"