4 ms·
A typical Zen 2 CPU has 320 floating point "register files". It's been a long time since I studied architecture, but the idea is that the instruction set's floa
by sgtnoodle 4y ago
A typical Zen 2 CPU has 320 floating point "register files". It's been a long time since I studied architecture, but the idea is that the instruction set's floating point registers are mapped to one of those files at any given time. The operating system can change that mapping during a context switch. That allows the OS to quickly jump between contexts without having to save and restore all the floating point registers to RAM.
The PS5's CPU has fewer floating point register files. Given that it's a game console, there's probably fewer threads running, so it was just unnecessary die area.
- davidcme 4y agoThe physical registers are not managed by the operating system. Instead they are used for out-of order speculation using register renaming: https://en.m.wikipedia.org/wiki/Register_renaming https://en.m.wikipedia.org/wiki/Register_renaming What you talk about is not used in the X86 ISA: https://en.m.wikipedia.org/wiki/Register_window https://en.m.wikipedia.org/wiki/Register_window If PS5 code uses fewer floating point operations than conventional desktop CPUs, there are fewer physical floating point registers needed for an equally sized speculation window.
- kevingadd 4y agoIt would make sense if PS5 games don't have as much of a need to do floating point work on the CPU, since they have shared-memory access to a high-performance GPU and can do pretty much anything they want with it. AFAIK AMD has had asynchronous GPU compute support in their hardware for a long time, so I'm sure the chip in the PS5 has it.
- Narishma 4y agoEven the PS4 supported async compute in its GPU.
- tredre3 4y agoRegister window isn't used for context switching, it's used during function calls. In most architectures the sliding is done implicitly during by the call/ret instructions (named eg call4 ret4 to slide 4). Some architectures allow you to also slide the window manually but none (that I know of) allows you the absolute positioning needed to mimic traditional register files/banking.