Uma análise à entrevista dos Engenheiros da Microsoft realizada pela Eurogamer. – Parte 2

Numa recente entrevista ao Website Eurogamer dois Engenheiros da Microsoft defenderam a arquitectura da Xbox One. Eis a continuação da análise ao que foi referido.

Nesta continuação do nosso artigo iremos analisar os pontos que ficaram em falta na primeira parte e que podem ler aqui. Estes pontos foram compilados pelo nosso leitor Fernando como sendo as conclusões principais da entrevista dada pelos Engenheiros da Microsoft à Eurogamer, tendo ficado por analisar os pontos seguintes:

2- O CPU sofreu extensas modificações e é ponto chave dentro do projeto.
3- A DDR3 foi pensada para privilegiar a utilização do CPU e não deixá-la aleijada – Nesse ponto o projeto do PS4 se difere totalmente do Projeto do Xbox One. A Sony, ao optar por GDDR5 como memória principal, praticamente abriu mão da eficiência do CPU em favor da GPU. Por esse motivo, a abordagem da Sony sugere extensa utilização de GPGPU, que é utilizar a gráfica para computação genérica. Desse modo, a GPU é equilibrada em 14:4, 14CUs para gráficos, 4 para computação genérica. É óbvio que isso não é regra, mas torna-se necessário a medida que CPU ainda não é algo dispensável em nenhum sistema. Durante a entrevista, esse é um ponto onde os dois engenheiros da Microsoft são claros em dizer que sua abordagem foi totalmente diferente.

Passemos então à análise

Parte 2 –  As modificações do CPU, o coração do projecto.

Publicidade

Retomando o nosso artigo

O Bom

Curiosamente há aqui algum mal entendido pela parte do Fernando, o nosso leitor que compilou os pontos em debate. Em nenhuma parte do artigo se fala em modificações ao CPU. Ao SOC sim, mas ao CPU não… e SOC e CPU são coisas diferentes, sendo que o CPU é apenas um dos componentes do SOC.

Mas realmente, lendo a entrevista, a ideia que ressalta é que a Microsoft teve muita preocupação com o CPU. Os Move Engines libertam-no de processamento, e o processador audio Shape também, existindo tambem chips auxiliares para tratamento video e re-escalamento gráfico. E até a DDR3 é indicada como tendo sido escolhida por ser menos penalizadora para o CPU.

No entanto, até ao momento, modificações ao CPU são desconhecidas.

O Mau

Curiosamente para um conceito onde o CPU parece ser tão importante, os auxiliares criados de raiz parecem ter-se revelado insuficientes. E apesar de estarmos na fase inicial da vida da consola a Microsoft já teve de fazer um overclock ao CPU pois, segundo afirmam os Engenheiros, este não estava a revelar-se suficiente. E se isto é assim nesta fase, o que acontecerá daqui a uns anos quando os jogos começarem a “esganar”?

E assim sendo, se o processador se revela insuficiente para o conceito de consola da Microsoft, custa a perceber a escolha do Jaguar para processador principal, e mais ainda o facto de esta empresa ter reservado 2 núcleos para o OS e funções TV que poderia ceder se realmente estava tão esmagada de performances e o CPU é tão importante.

Mas claro, muitos dirão que aparentemente a Sony estará até pior pois usa o mesmo processador e não tem overclock (na realidade não se sabe as velocidades de relógio do CPU da PS4), e também reservou 2 núcleos para o sistema operativo.  Mas será que está mesmo ou o motivo do overclock foi outro? Afinal até ao momento a Sony não se queixou ou anunciou qualquer overclock.

Para concluirmos alguma coisa vamos verificar a potência disponível no CPU da Xbox One e da PS4.

O processador da Xbox One e PS4 é igual. É um jaguar com 8 núcleos, sendo constituído por 2 processadores de 4 núcleos cada. é capaz de processar quatro comandos por ciclo de relógio, sendo que como são dois processadores distintos na realidade ele processa 8. Assim as suas capacidades de cálculo são:

Xbox One: 1750 Mhz * 8 núcleos * 8 comandos/ciclo = 112 Gflops

Acrescentemos os 15 Gflops que o Shape consegue processar paralelamente, libertando o CPU, e temos 127 Gflops.

Agora para sermos bondosos vamos dar mais 20% em optimizações diversas que nem vamos considerar existirem na PS4. Na realidade os ganhos oferecidos pelo remover da gestão de dados do CPU que passa para os Move Engines não deverão passar o 1% de CPU, mas como disse, vamos ser bondosos.

Assim, o CPU da Xbox One poderia comparativamente ser considerado como possuindo 152, 4 Gflops.

Vamos ver a PS4.

PS4: 1600*8*8 = 102,4 Gflops

Parece assim que a Xbox One esmaga a PS4 em CPU, com quase mais 50% de performance!

Acontece porém que a PS4 possui na sua placa gráfica 4 CUs dedicados a processamento genérico. E com cada CU a possuir 64 shader pipelines (64*18CU=1152 shaders), e processando dois comandos por ciclo de relógio temos por CU a seguinte capacidade de cálculo:

800*64*2= 102,4 Gflops (102,4*18=1,84 Tflops, a potência total da gráfica)

Ou seja, com um único CU dispensado na gráfica a PS4 está já com 204,8 Gflops de processamento genérico, bastante mais do que a Xbox. E há mais 3 que podem, se necessário,  fazer o mesmo. E mesmo no pior cenário onde todos estes CU seriam dedicados a processamento genérico a PS4 mantêm 14 CUs disponíveis para processamento gráfico, mais 2 do que o total da Xbox One.

Parece assim que para quem tomou o CPU como elemento principal as escolhas de como se o propuseram optimizar foram muito más. E ao ponto de, segundo estes engenheiros da Microsoft, este precisar de um overclock ainda antes do lançamento da consola uma vez que ele estaria a limitar as performances. Será que estes Engenheiros, ao contrário de toda a gente, não sabiam que o Jaguar era um processador pouco potente e como tal limitativo? Aparentemente não, pois na realidade quem parece ter colocado no sistema verdadeiras soluções para ultrapassar esse problema de limitações do CPU foi a Sony e não a Microsoft.

Note-se que aqui ignorou-se os codificadores/descodificadores vídeo uma vez que estes existem em ambas as consolas. Mas ignorou-se igualmente o chip sonoro e o processador ARM da PS4.

Não posso terminar esta parte sem deixar de referir que, na parte que me toca, a desculpa para o overclock do CPU não cola, particularmente quando se sabe que os jogos de lançamento não estão totalmente optimizados para nenhuma das consolas, sendo que me parece que o verdadeiro motivo para a sua existência não foi falta de performance mas o aproximar a consola das performances da PS4 ao permitir oferecer ao CPU potência adicional que desse ao GPU alguma folga. Diga-se aliás que o referir que o overclock foi por falta de performances parece pouco inteligente ao poder criar mesmo motivos de preocupação sobre o futuro da consola nos possíveis compradores. Afinal se o processador não se aguentava agora, como se vai aguentar daqui a 3 anos? Mas claro, é, mais uma vez, a Microsoft no seu melhor.

3 – A DDR3 e o privilégio do CPU

O Bom

Exclusivamente pensando no CPU, o ponto que mais joga a favor da escolha da DDR3 face à GDDR5 é a sua menor latência. E sendo o CPU extremamente sensível à latência esta escolha, efectivamente,  privilegia-o. E o CPU é algo que não é dispensável em nenhum sistema.

Menor latência permite melhor aproveitamento do CPU e assim a escolha de uma memória de menor latência será efectivamente uma vantagem.

O Mau

A questão das latências entre a GDDR5 e a DDR3 daria um artigo completo. Vou só referir aqui que na realidade, tal como Mark Cerny referiu,  a PS4 não deverá ter qualquer problemas, e deverá ter valores semelhantes aos da DDR3.

Publicidade

Retomando o nosso artigo

Os chips de memória GDDR5 e DDR3 possuem latências muito semelhantes, o que não é de estranhar dado que a GDDR5 deriva da DDR3 (daí muitos sites dizerem que as latências das duas memórias são semelhantes). O que altera esta realidade são os controladores de memória  destinados às placas gráficas, e usados nas GDDR5, que ao fazerem um elevado número de pedidos de forma a optimizar a largura de banda, criam latência adicional que acaba por separar as memórias (daí muitos sites dizerem que as latências das duas memórias são diferentes) :).

Ficaram agora a perceber as grandes incongruências que há nas afirmações face à GDDR5.

Publicidade

Retomando o nosso artigo

E para comprovar o que é dito vou indicar documentos oficiais de um dos maiores fabricantes de GDDR5 do mundo, a Hynix.

Temos aqui um documento relativo à DDR3, e aqui um outro relativo à GDDR5. Quem quiser comparar as duas abra o primeiro na página 50 e o segundo da página 133. Agora convém abrirem esta página, de forma a perceberem o que são os valores nas folhas, e compararem os valores do tRCD, tRP, tRAS e tRC.

Como podem ver a DDR3 2133 (1066Mhz) CAS 7 vista na página 50 possui valores de latências que até são ligeiramente mais altos que a GDDR5. E é uma CAS 7, uma excelente memória.

E assim sendo fica provado que o problema das diferenças de latência da GDDR5 por vezes visualizada não está nas memórias em si.

A provar que o controlador usado para as placas gráficas e destinado a optimizar a largura de banda é o culpado, eis um benchmark do Sysoft Sandra.

sandra

Chamo a atenção para a AMD RADEON HD 6850 que usa memória GDDR5 a 4 Ghz (2 Ghz reais), e que está a vermelho no gráfico. E olhem igualmente para o APU aLLano 6-3650 que está equipado com uma placa gráfica AMD RADEON 6530D com DDR3 a 1.33 Ghz.

Se olharem podem ver que os gráficos são muito semelhantes, mas estamos a falar de latências de 450ou mais ciclos (interessa valores máximos), algo que, como vimos nos documentos anteriores, quer na DDR3, quer na GDDR5, não são os normais. E o motivo é o controlador de memória gráfico que faz subir as latências com o aumento do fluxo de dados.

Então como acontece na PS4? Temos latências baixas ou altas? E como se resolve essa situação.

Bem, ninguém sabe efectivamente qual a forma que a Sony encontrou para resolver esse problema, mas há várias teorias. Mas que verdadeiramente me convençam a 100% só HSA hUMA. 🙂

Como se sabe é referido em todos os rumores que a PS4 suporta FULL HSA ou hUMA, a tecnologia AMD que será usada no Kaveri e que permite o uso de GDDR5 como memória principal usando baixas latências graças a um controlador de memória especial. Este controlador basicamente é um dois em um e é capaz de pedidos de baixa latência para o CPU e pedidos mais rápidos para o GPU, sendo que depois ambos os componentes podem aceder directamente às caches um do outro de forma a evitar que as latências se misturem e sem ter de copiar os dados para a sua própria zona de memória. Esta é uma tecnologia exclusiva da AMD para a plataforma x86, e que permite pela primeira vez usar DDR3 ou GDDR5 como memória de sistema, usando apenas um único tipo de memória partilhada pelo CPU e GPU.

Sou sincero que tenho muito pouca informação sobre esta tecnologia e o seu funcionamento, estando a limitar-me a citar fontes e sabendo apenas que a mesma foi concebida para a optimização de processamentos paralelos usando apenas um tipo de memória, seja ela DDR3 ou GDDR5, optimizando o sistema de acordo com as vantagens e desvantagens de cada um dos tipos de memória. E é graças a ela que pela primeira vez vai ser lançado um sistema x86 que suporta de forma optimizada a memória GDDR5 como memória de sistema, os processadores Kaveri acima referidos.

Quer isso dizer que caso esta tecnologia descrita no rumor, efectivamente exista na PS4, as vantagens da DDR3, a nível de latência, terão praticamente desaparecido, sendo que a tecnologia é dada como existente pelo VGLEAKS, tendo sido referida igualmente como existente por Mark Diana da AMD antes da empresa ter atirado poeira para o ar devido a essas declarações terem sido antes do tempo, bem como por artigos diversos.

Naturalmente não estou habilitado a confirmar ou não a existência desta tecnologia, mas como já referi a Sony, ao contrário da Microsoft, é uma das apoiantes da fundação que criou esta tecnologia. E assim sendo, sabendo que a mesma existe e que poderia ser aplicada na sua consola eliminando os problema de latência, custa a crer é que tal não tenha acontecido.

Mas vamos esquecer a PS4

Mas o mais curioso é que mesmo esquecendo a PS4, a escolha das memórias para a Xbox One parece ter sido mais baseada no preço do que na performance.

Xbox Ram

O que podemos dizer com toda a certeza é que, para alguém que teve tanto cuidado com o CPU, a Microsoft escolheu uma péssima memória para a Xbox One. As DDR3 2133 (1066 Mhz efectivos) D9PZN da Micron que são visiveis nas imagens existentes da consola possuem CAS 14 que correspondem 13,1 ns de latência, e este poderia ser um valor de apenas 4,6 ns se fosse usada uma memória CAS 5 como já se fabrica à muito tempo.

Só para quem não seguiu os links que referi em cima, o CAS é um dado que normalmente é indicado com as memórias e que muito resumidamente indica o número de ciclos de relógio que decorrem entre o pedido de um dado à memória e a entrega dos resultados. Ou seja, comparando memórias com a mesma velocidade, podemos tirar directamente que aquela que tiver o CAS menor é a memória mais rápida.

Esta perda em ciclos de relógio é chamada de latência. E por exemplo, numa memória DDR3 2133 que corre a 1066 Mhz efectivos, se esta memória perder 8 ciclos com estes acessos (CAS 8), então a sua latência é de 8/1066, ou 7,5 ns. No caso da Xbox One com 14 de CAS a perda será de 14/1066 ou 13,1 ns.

E curiosamente CAS 14 é algo que actualmente até é difícil encontrar (actualmente o CAS mais comum é 7, 8 e 9), aparecendo apenas nas memórias mais baratas, e mesmo assim algo antigas, do mercado. Daí que dizer que se privilegiou o CPU,  com estes dados, parece no mínimo um pouco menos correcto pois o custo parece ter sido o principal factor de escolha.

Publicidade

Posts Relacionados