19 de janeiro de 2009

Processadores de videogames: Comparações com arquitetura x86 de computadores comuns

Quero escrever esse artigo para mostrar as diferenças entre videogames e computadores, mostrando que através do tempo eles tem se aproximado cada vez mais. Gostaria de esclarecer também a questão dos "Bits", que eram uma métrica comum nas gerações anteriores ("tal videogame tem 128 bit"), mas esses números passam longe da realidade.

Nintendinho
Primeiramente essa contagem de bits era apenas do processador principal, vamos pegar o exemplo do Nintendinho. Ele usa o processador 2A03 da Ricoh, que era baseado no MOS Technology 6502, que como podem ver era um processador 8 bit, sendo assim o Nintendinho era considerado um videogame 8 bit. O Super Nintendo usa um processador Ricoh 5A22, que segundo suas especificações é um processador 16 bit. O Nintendo 64 como o próprio nome diz é um videogame com 64 bit, usa um processador MIPS R4300i (leia mais sobre ele aqui), produzido pela NEC, baseado na arquitetura MIPS (a mesma usada nos processadores do Playstation 1 e 2 e do PSP).

Sega Mega Drive
Agora o lado da Sega, o Master System tem o lendário Z80, com 8 bit, o Mega Drive usa outro lendário o Motorola 68000, que é um processador 16/32 bit, que pelo que eu entendi pode funcionar tanto a 16 quanto a 32 bit, não sei se no MD ele fica limitado aos 16 bit, ou se as fontes fizeram confusão ao fato dele ter um barramento de 32 bit. O Sega Saturn tinha 2 processadores Hitachi SuperH-2 7604 (baseados na arquitetura SuperH), que eram 32bit. No Dreamcast a coisa complica, ele tem um processador SH-4 (que usa a mesma arquitetura da do Saturn) com uma unidade de vetor com 128 bit, mas o processador em si é 32 bit (o site da Renesas, a Join venture que desenvolveu o processador, comprova isso).

Playstation One
O Playstation tem um processador MIPS R3051 32 bit, produzido pela LSI Corporation e licenciado da SGI.

Agora vamos aos 3 grandes da geração 128 bit, o Playstation 2 usa o processador Emotion Engine 64 bit, existindo um coprocessador com 128 bit, bem parecido com as instruções SSE de processadores x86, mas não seria só por isso que você poderia considerar que eles tem 128 bit.

Intel Pentium III
O Xbox usa um processador Intel baseado na arquitetura do Pentium III, com 733 MHz e 128kb de cachê (sendo um Celeron, mas divulgado como Pentium III), tendo 32 bit. O Game Cube usa o microprocessador Gekko, baseado na arquitetura Power, mais especificamente a PowerPC G3 muito usado em iMacs G3, projetado pela IBM, é um processador 64 bit.

O processador que seu computar usa nesse momento muito provavelmente suporta 16, 32 e 64 bit, seu uso vai depender exclusivamente do sistema operacional e dos programas que você usar nele., Para melhor entendimento recomendo a leitura deste artigo do Clube do Hardware.

Quero agora fazer uma comparação entre o Hardware do Nintendo 64 com o de um computador da época de seu lançamento:

Anuncio publicado na Veja no mesmo dia do lançamento do Nintendo 64 no Brasil
Ele tinha um processador Pentium 166MHz, com 32MBs de RAM, o processador do Nintendo 64 rodava a 93.75 MHz e tinha 4 MB de RAM. Não gosto de comparar arquiteturas diferentes, mas como podemos ver o PC tinha um processador com clock mais elevado e muito mais memória, isso um PC "popular".

Nintendo Wii
Finalmente chegamos na última geração, o Xbox 360, Playstation 3 e Wii. O Wii, coitadinho, usa um processador PowerPC chamado Broadway (desenvolvido pela IBM), 64 bit, roda a 729MHz, tem 24 MB de memória de vídeo e 64 MB GDDR3 para o sistema. O Wii é um Game Cube com clocks de processador e GPU 50% maiores e o praticamente o dobro de memória, então com um simples underclock (diminuir o clock do processador) ele pode ter compatibilidade total com o Game Cube.

O Xbox 360 eu acho engraçado, ele usa um processador PowerPC, essa arquitetura foi desenvolvida pela Apple, Motorola e IBM e foi usada principalmente em computadores da maçã, concorrente dos PCs (que usam Windows). Ele tem 3 cores e roda a 3.2 GHz, conta com 512 MB de memória GDDR3, uma GPU desenvolvida pela ATI, precursora do R600 (Radeon HD 2900 XT), usa uma versão um pouco modificada do DirectX 9.0, que traz alguns recursos do 10.


Primeiro Modelo do Playstation 3
Mesmo antes do lançamento do Playstation 3 tinha ouvido que ele seria um supercomputador, mas por quê? Ele usa o processador Cell (leia mais sobre ele aqui e aqui), desenvolvido pela Sony, IBM e Toshiba. Esse processador conta com um núcleo PowerPC (PPE, PowerPC Processor Element) mais 7 SPEs (Synergistic Processing Element). O núcleo PPE é responsável pela divisão de trabalho para ele e para os outros 7 núcleos restantes, por ser um processador PowerPC também pode rodar sistemas operacionais para essa arquitetura.

Entre os 7 SPE (que na verdade são 8, mas um vem desativado pela dificuldade de produzir esse processador com os 8 operacionais) um é responsável pelo sistema operacional e os outros 6 estão disponíveis para os desenvolvedores de jogos. O SPEs do Cell são muito parecidos com GPUs, elas conseguem uma performance muito maior que as CPUs para algumas tarefas, como gerar senhas. Uma Radeon HD4870 X2 conseguiu um desempenho 30 vezes maior que um Core 2 Quad, o Kaspersky fez uma versão do seu antivírus para se aproveitar da Radeon HD2900XT, conseguiu um desempenho 21 vezes maior que dois processadores Opterons dual core, não achei nenhuma comparação direta entre um Cell e um processador X86, então fica ai esses 2 exemplos.

GPU do Playstation 3
A Placa de vídeo do PS3 é o RSX, chip desenvolvido pela nVidia, baseado o chip “NV47”, no começo não sabiam que diabos era ele, mas depois descobriram esse era o nome do chip da série 7800, só que foi renomeado posteriormente para G70. Ele é praticamente igual a Geforce 7800 GTX, as principais diferenças são o processo de fabricação mais refinado do RSX (90nm x 110nm, quanto menor, melhor) o que possibilita um clock mais elevado (550MHz contra 430MHz), além de ter um barramento de memória menor (128 x 256 bit) e menos ROPs (8 x 16). Ele tem 256 MB de memória GDDR3 no próprio processador, como pode ser visto na imagem abaixo (o chip azul no centro é a GPU os quatro pretos na borda são as memórias), que é bem diferente de GPU de PCs, que ela fica na placa.

GPU do Playstation 3
Uma grande crítica ao PS3 é a falta de memória, apenas 256 MB de memória RAM e 256 para o vídeo, coisa que é muito pouco hoje em dia, mesmo um PC das Casas Bahia tem no mínimo 1 GB Pesquisadores que usam clusters de PS3 já falam dessa limitação e, ao contrário do Xbox 360, a memória é fixa, a placa de vídeo tem a sua e o Cell a sua.

Qual dos dois é mais potente? Sei lá, são bem diferentes. O Playstation 3 tem um baita processador, mas é muito difícil programar, do outro lado o Xbox tem um processador bom, onde é muito mais simples programar (não diria fácil, por que nesse nível de jogos é muito difícil!). O Xbox tem uma GPU precursora da Radeon HD2900 XT (suponho que seja pouca coisa mais lenta) que mesmo perdendo para as GeForce 8800 era superior a série anterior, na qual a placa do PS3 é baseado. Sendo assim, o PS3 tem um processador melhor e o Xbox uma GPU melhor (mesmo que isso não passe de suposições).

Um dos problemas dos computadores é que ao longo do tempo a arquitetura não mudou muito, desde o Intel 80386 a arquitetura é praticamente a mesma, mudando um pouco com o Pentium Pro, mas mantendo a compatibilidade. A desvantagem é o desempenho e a bagunça que fica para se manter a compatibilidade, a vantagem é que programas se mantém compatíveis durante o tempo (pelo menos na teoria). Isso não é tão comum em videogames, o Playstation 2 roda jogos do Playstation 1 usando uma parte do hardware do PSX, ou através de emulação, como o Xbox 360 roda jogos de Xbox, deixando a compatibilidade comprometida.

Principais empresas que ajudaram o ramo de videogames:

*A SGI é uma empresa que produz estações de trabalho de alto desempenho, sua tecnologia é muito usada até os dias de hoje, ela criou o OpenGL que é padrão de jogos em sistemas "não Windows", suas estações de trabalho foram usadas para fazer os efeitos de Jurassic Park, Senhor dos Anéis, entre outros, foi a primeira empresa especializada em hardware gráfico que projetou um videogame (Nintendo 64), mas depois de tudo isso ela pediu concordata em 2006. Aparentemente se recuperou da concordata e ajuda muito no desenvolvimento do Kernel do Linux, uma parte da aceleração 3D do X.org era propriedade da SGI, mas agora isso já foi resolvido, mostrando-se uma empresa de respeito;

*A nVidia, projetou a placa de vídeo do Xbox que era baseada na Geforce 3 e a do Playstation 3. Se mantém como uma das maiores fabricantes de placas de vídeo, perdendo apenas para a Intel com suas onboard;

*A ATI, comprada recentemente pela AMD, projetou o chip gráfico do Game Cube, do Wii e o do Xbox 360, a empresa é a única que compete em igualdade no mercado gráfico com a nVidia;

*A Intel, maior fabricante mundial de processadores e chips gráficos. Projetou o processador do primeiro Xbox e hoje especula-se que pretende integrar a sua GPU Larabee ao próximo Xbox;

*A IBM, essa é a empresa, sem brincadeiras, só nessa geração projetou o Cell processador do PS3, o Xenon do Xbox 360 e o Broadway do Wii, não importa quem ganha a geração, ela ganha de qualquer jeito.

Como puderam ver as principais empresas do ramo dos computadores também atuam nos videogames, isso mostra que cada vez mais os videogame se aproximam dos computadores, mas dificilmente irão ultrapassar um computador. Em questão de preço nos EUA, os videogames são mais baratos que computadores, no Brasil tem praticamente o mesmo preço.

7 comentários:

Deiwis disse...

pow muito bom, concordo plenamente! é realmente dificilmente um video-game poderá ultrapassar um computador, mas cada dia estao chegando mais perto..

Anônimo disse...

tem uma coisa que evoluiu nos prossesadores a intel core 2 extreme a 2 quad e a duo video game pode chegar perto de um pc mas tem uma coisa um computador pode se ataualizado em quanto deixa um video game no chinelo

Paulo disse...

Nossa muito útil, num trabalho de faculdade, muito tempo que achei que levaria em pesquisa foi poupado fiz muito rápido com esse artigo!!!

Parabéns!!!!

Anônimo disse...

porra, deve ter demorado pra reunir todas essas informações!

Julioak disse...

Artigo interessante, é legal aprender um pouco com sobre os videogames. Nem imaginava que o hardware deles se parecia bastante com pcs.

RenanSP disse...

Cara, mandou muito no seu post!

RicardoZ disse...

Obrigado! :)