Matt Hargett, que trabalhou na Sony como Principal Engenheiro de Software para o PS5, recentemente fez uma série de tweets na sua conta, explicando um pouco sobre alguns dos mecanismos utilizados na construção do Playstation 5, como Cohency Engines e Cache Scrubbers.
Na mensagem abaixo, Matt diz que possuir um clock maior de GPU (2230mhz contra 1825mhz do Xbox SeriesX), e como consequência executar os caches mais rapidamente é apenas uma parte da história. Ele também diz que a arquitetura Zen2 da CPU foi projetada para acessar os caches mais rapidamente, gastando menos ciclos.
https://twitter.com/statuses/1270438368292175872
A instrução “executando os caches mais rapidamente” / “mais largura de banda do cache” é apenas parte da história. Qual é a *latência * desses caches? Um dos maiores incentivos para o Zen 2 IPC foram as reduções de ciclos dos caches L2 / L3. 1 ciclo aqui e ali se soma quando os tempos de renderização de um quadro de 120fps são 8ms.
Na mensagem abaixo, Matt começa a falar sobre features apresentadas por Mark Cerny, como Cohency Engines e Cache Scrubbers. Basicamente ele está dizendo que CPU,GPU necessita dos caches para trabalhar, logo uma escrita nos caches invalide o cache, tanto CPU quanto GPU ficarão alguns ciclos ociosos esperando que os caches sejam atualizados com novos dados. Com isso, a idéia dessas features é que os caches não sejam invalidados, e que tal ociosidade não ocorra.
https://twitter.com/statuses/1270438369240084480
Então começamos a falar sobre a coerência do cache. Se uma escrita de memória da CPU, GPU, SSD, etc. invalida as páginas de cache em qualquer outro local do sistema, você está desperdiçando sua busca em largura de banda. Eu acho que esse aspecto central das arquiteturas dos sistemas importará mais do que contar CUs ou clocks
Na mensagem abaixo, Matt sugere que as otimizações citadas podem ser ignoradas, e que o uso de força-bruta seja empregada, no caso realizar um upgrade com GPU/CPU/Memória mais potentes. Entretanto ele conclui dizendo que como um console permite integrar todos os componentes, há espaço para realizar tais otimizações.
https://twitter.com/statuses/1270438370108305408
pode-se optar por escolher força-bruta para passar essas (e outras) ineficiências, como a típica arquitetura de um PC high-end. Simplesmente não faz sentido quando você *pode* integrar verticalmente todos os componentes de maneira profunda e contínua. *poder* significa mais restrições da cadeia de suprimentos, mas talvez esteja tudo bem.