Os SSDs PS5 e Xbox Series X são um avanço para os jogos?

A maior vantagem que consoles (qualquer) tiver mais de PCs para jogos é o fato de serem uma plataforma fixa e com tudo integrado, tornando muito mais fácil para os desenvolvedores otimizar jogos para essas plataformas. Uma das grandes inovações dos consoles de última geração é a SSD que ambos PS5 e Xbox Série X incorporar, o que permitirá um enorme avanço em termos de atuação , então é inevitável que nos perguntemos: isso significa um nova era para jogos ?

Até agora, os jogos para PC mostraram que aumentar a velocidade de armazenamento com SSDs pouco ou nenhum impacto sobre jogos atuação se ignorarmos o tempo de carregamento. SSDs NVMe são várias vezes mais rápidas que os SSDs SATA no papel, mas mesmo nos jogos para PC mais exigentes, não há diferença perceptível entre o uso de um ou outro. Em parte, isso se deve a gargalos em outras partes do sistema que revelam quando o armazenamento é rápido o suficiente para não travar em nenhum lugar.

Os SSDs PS5 e Xbox Series X são um avanço para os jogos

Os próximos consoles incluirão vários recursos de hardware para tornar mais fácil para os jogos aproveitar o armazenamento muito mais rápido do que no passado, aliviando gargalos que seriam problemáticos em um PC padrão. É aqui que a tecnologia de armazenamento do console se torna realmente interessante, pois o SSDs do PS5 ou Xbox Series X são relativamente comuns.

Então, a seguir, descreveremos os aspectos do SSD e, em geral, os próximos PS5 e Xbox Series X que poderiam inaugurar uma nova era para jogos se os desenvolvedores extrapolassem essas vantagens para o mercado de jogos para PC também .

Compressão no SSD do PS5 e Xbox Series X

O recurso de hardware especializado mais importante que os consoles de nova geração incorporarão para complementar o desempenho do hardware de armazenamento é o hardware de descompactação de dados dedicado. Os recursos do jogo devem ser armazenados no disco em formato compactado para manter requisitos de armazenamento em um nível razoável, e isso obviamente tem algum impacto no desempenho.

Os jogos, como regra geral, são baseados em múltiplos métodos de compressão : alguns com perdas, especializados para certos tipos de dados (por exemplo, imagens de áudio ou estáticas) e alguns algoritmos de uso geral sem perdas; O que é inestimável é que quase todos os dados passam por pelo menos um método de compactação bastante complexo do ponto de vista computacional.

GPU arquiteturas há muito incluem hardware para lidar com decodificação de streams de vídeo e suporte a métodos de compressão de textura simples, mas rápidos, como S3TC e seus sucessores, mas isso deixa o CPU ter que descompactar muitos dos dados. As CPUs de desktop não têm mecanismos dedicados ou instruções de descompactação, embora muitas instruções nas diferentes extensões SIMD se destinem a auxiliar nesses tipos de tarefas. Ainda assim, descompactando um fluxo de dados de vários GB por segundo não é trivial, e ter hardware específico para esta tarefa pode fazê-lo com muito mais eficiência, aliviando a carga da CPU.

O hardware de descompressão nos próximos consoles é implementado no SoC principal para que possa descompactar os dados após atravessar o link PCIe do SSD e residir no principal RAM pool compartilhado pelos núcleos GPU e CPU.

Um hardware de download de descompactação como esse não é encontrado em um PC de mesa, mas não é uma idéia nova, pois existe em ambientes de servidor e, de fato, os consoles da geração anterior também incluem hardware de descompactação se você não é um hardware com desempenho capaz de manter com um NVMe SSD como o do PS5 ou Xbox Series X.

servidor as plataformas costumam incluir aceleradores de compressão, geralmente combinados com aceleradores de criptografia: Intel fez esses aceleradores como periféricos dedicados ou externos em chipsets de servidor e IBM POWER9 e CPUs posteriores apresentam unidades de aceleração semelhantes. Esses aceleradores de servidor são mais comparáveis ​​ao que os consoles modernos precisam, pois eles atingem uma taxa de transferência de vários GB por segundo.

Ambos Microsoft e a SONY otimizaram suas unidades de descompressão para corresponder ao desempenho esperado de seus SSDs correspondentes. Eles escolheram diferentes algoritmos de compressão proprietários: RAD's Kraken no caso da SONY, originalmente projetada para os consoles atuais com CPUs relativamente fracas, mas com requisitos de desempenho muito mais baixos, enquanto a Microsoft se concentrou especificamente na compactação de texturas, argumentando que as texturas representam o maior volume de dados em um jogo. Para isso, eles desenvolveram um novo algoritmo de compressão chamado Pacote BC .

Xbox Series X PS5
Algoritmo Pacote BC Kraken
Largura de banda máxima de saída 6 GB / s 22 GB / s
Largura de banda típica 4.8 GB / s 8-9 GB/s
Equivalente em núcleos de CPU Zen 2 5 9

A SONY alega que seu hardware de descompactação baseado em Kraken pode descompactar um fluxo de até 5.5 GB / s de dados (8-9 GB / s de dados não compactados), mas teoricamente poderia atingir 22 GB / s se os dados forem redundantes o suficiente. Por seu lado, a Microsoft diz que seu descompressor BCPack pode gerar 4.8 GB / s típicos de entrada, mas potencialmente alcançaria 6 GB / s. Assim, a Microsoft alega ter taxas de compressão típicas ligeiramente mais altas, mas ainda tem uma taxa de transferência de dados mais baixa porque o SSD do Xbox Series X é visivelmente mais lento que o do PS5. Lembre-se de que a Microsoft apenas comprime e descompacta dados de textura , enquanto a SONY faz isso com todos os dados.

O tempo de CPU economizado pelo sistema a partir dessas unidades de descompressão dedicadas é incrível - é o equivalente a cerca de 9 núcleos de CPU Zen 2 para o PS5 e sobre 5 núcleos no Xbox Série X. Lembre-se de que esses são números máximos, assumindo que a largura de banda do SSD está sendo totalmente utilizada, mas a realidade é que os jogos quase nunca terão o SSD 100% carregado constantemente, portanto, nunca seria necessário o uso da CPU.

APU de um Xbox Series X

Os recursos de aceleração de armazenamento nos SoCs de console não se limitam apenas ao dumping de compactação, e a SONY, em particular, descreveu alguns recursos, embora de maneira tão vago que não ousamos fazer alegações sobre isso, porque é muito aberto à interpretação. Atenha-se ao conceito de que esse hardware de descompressão dedicado funciona em teoria para melhorar o desempenho de outras tarefas também.

Motores DMA

O acesso direto à memória (DMA significa Direct Memory Access) refere-se à capacidade de um periférico leia e grave na RAM sem o . CPU ter que estar envolvido. Todos os periféricos modernos de alta velocidade usam DMA na maior parte de suas comunicações com a CPU, mas esse não é o único uso, pois um mecanismo DMA é um dispositivo periférico que existe apenas para mover dados, mas não faz nada com ele. É como uma estrada.

A CPU pode comandar o mecanismo DMA para fazer uma cópia de uma região da RAM para outra, e realiza o trabalho de memória potencialmente copiando gigabytes de dados sem que a CPU precise executar uma instrução mov (ou sua SIMD equivalente). para cada peça e também sem contaminar o cache da CPU. Os mecanismos DMA também podem fazer mais do que simplesmente descarregar operações simples de cópia: eles suportam operações de dispersão / coleta para reorganizar os dados de alguma forma no processo de movê-los. O NVMe já possui recursos como listas de dispersão / coleta que podem eliminar a necessidade de um mecanismo DMA separado para fornecer esse recurso, mas Comandos NVMe nos SSDs do Xbox e PS5 agem principalmente apenas com dados compactados.

Embora os mecanismos DMA sejam um dispositivo periférico, geralmente não os encontramos como uma placa de expansão PCIe, por exemplo. Faz mais sentido para eles estarem o mais próximo possível do controlador de memória para acesso com menor latência, o que significa que os encontraremos no chipset ou na própria CPU.

O PS5 SoC inclui um mecanismo DMA para lidar com a cópia de dados que sai da unidade de compactação e, como nos mecanismos de descompactação, essa não é uma nova invenção, mas um recurso que está ausente nos PCs de mesa padrão, mas que já existe nos servidores. Simplesmente o que a SONY fez foi incorporar esse recurso em seu console para melhorar o desempenho e aliviar a carga na CPU.

O coprocessador IO

O complexo IO (E / S, entrada e saída) no PS5 SoC também inclui um processador dual-core com seu próprio conjunto de SRAM . A SONY não disse quase nada sobre o interior, mas o descreveu como um kernel SSD de console dedicado que permitirá que os jogos “ignorem o processo tradicional de E / S”, enquanto o outro kernel é simplesmente descrito como uma ajuda ao mapeamento de memória . Para mais detalhes, precisamos recorrer a uma patente que a SONY registrou há muitos anos e que esperamos que reflita o que realmente encontraremos no PS5.

Esta coprocessador descrito nas patentes da SONY downloads de partes do que normalmente seriam os drivers de armazenamento do sistema operacional. Uma de suas tarefas mais importantes é converter entre vários espaços de endereço: quando um jogo solicita um determinado intervalo de bytes de um de seus arquivos, ele procura os dados não compactados. O coprocessador de E / S determina quais partes dos dados compactados são necessários e envia os comandos de leitura do NVMe para o SSD. Depois que os dados são retornados, o coprocessador IO configura o unidade de descompressão para processar esses dados e o Mecanismo DMA entregá-lo nos locais solicitados na memória pelo jogo, tudo sem intervenção da CPU.

Como esses dois núcleos de coprocessador são muito menos poderosos que os núcleos SSoC Zen 2, eles não podem ser responsáveis ​​por toda a interação com o SSD. O coprocessador tratará dos casos mais comuns de leitura de dados e o sistema recorrerá aos núcleos do Zen 2 pelo resto. O coprocessador SRAM não é usado para proteger grandes quantidades de dados do jogo que fluem pelo complexo de E / S, mas essa memória contém as várias tabelas de pesquisa (como um índice) usadas pelo coprocessador. Nesse aspecto, é semelhante a um controlador SSD com um conjunto de RAM para suas tabelas de mapeamento, mas o trabalho do coprocessador IO é completamente diferente do de um controlador SSD, é claro. No entanto, será muito útil com SSDs de terceiros se o console os suportar no final.

Consistência do cache

O último recurso de hardware dos consoles relacionados ao armazenamento é o conjunto de mecanismos de consistência de cache que a SONY revelou. A CPU e a GPU no console SoC compartilham os mesmos 16 GB de RAM GDDR6, eliminando a etapa de copiar ativos da RAM principal para a VRAM depois de carregá-los no SSD e descompactá-los.

Mas, para obter o máximo benefício do pool de memória compartilhada, o hardware precisa garantir alguma consistência da memória cache e não apenas em vários núcleos da CPU, mas também em vários caches da GPU. Tudo o que é normal para uma APU, mas a novidade do PS5 e Xbox Series X é que o complexo IO também participa. Quando novos ativos gráficos são carregados na memória pelo IO complexo do sistema e sobrescrevem os ativos mais antigos, ele envia sinais de invalidação ao cache ao mesmo tempo para descartar apenas dados desatualizados e não o que ainda é válido (em vez de esvaziar completamente o cache toda vez )

O SSD do PS5 é igual ao do Xbox Series X?

Há muitas informações sobre o armazenamento personalizado do PS5 (como dissemos neste artigo, embora ainda existam muitas lacunas), então é natural se perguntar se os usuários que compram um Xbox Series X terão as mesmas vantagens ”Ou se limitará apenas ao hardware de descompressão. A Microsoft agrupou todas as tecnologias relacionadas ao armazenamento no que eles chamaram de "Arquitetura do Xbox Velocity".

Logotipo do Xbox Velocity

A Microsoft diz que possui quatro componentes: o próprio SSD, o mecanismo de compactação, uma nova API de software para acessar o armazenamento e um recurso de hardware chamado Sampler Feedback Streaming, sobre o qual já falamos anteriormente. O último não tem relação alguma com o armazenamento, pois é uma função da GPU que torna as texturas parcialmente residentes mais úteis, permitindo que os programas de sombreador acompanhem quais partes de uma textura estão realmente sendo usadas. Essas informações podem ser usadas para decidir quais dados serão expulsos da RAM e o que carregar a seguir, como uma versão de maior resolução das regiões de textura que são verdadeiramente visíveis o tempo todo.

Como a Microsoft não menciona nada como os outros recursos complexos do PS5, é razoável supor que o Xbox Series X não os possua e seu IO seja amplamente gerenciado por CPU. No entanto, não seria surpreendente descobrir mais tarde que o console tem um mecanismo DMA comparável, porque vimos esse recurso historicamente nas versões anteriores do console.