artigo - arq - de - video - games - arquitetura de um video game
artigo - arq - de - video - games
Gerson Souza | comentários
Arquivado no curso de Engenharia da Computação na UFAM
-Processador: Emotion Engine 128-bit "
Velocidade do clock do processador: 300 MHz
Unidade de ponto flutuante (FPU) co-processador operando a 6,2 gigaflops
Velocidade do barramento: 3.2 GB por segundo Playstation Original core como processador de E / S
- Gráficos: "Graphics Synthesizer"
Cache Incorporado 4MBVRAM
Resolução: 640x480 ou 320x240 entrelaçado
Cores: 24 bits (16777216) no máximo, bem como modo de 16 bits (65.536)
Mecanismos de Geometria: Canal Alpha
Bezier surfacing Gouraud shading
Mapeamento Mip
Correção de perspectiva Z-buffer
Renderização de polígonos: 75 milhões de polígonos por segundo.
Taxa de amostragem: 4.1 KHz ou 48 KHz Memória: 2 MB RAM
Memória: 32 MB RDRAM
Sistema Operacional: Patenteado Sony
Game médio: Patenteado de 4,7 GB DVD Suporta CDs Originais Playstation.
Suporta DVDs de vídeo. Suporta CDs de áudio.
Baia de conexões (para o disco rígido ou interface de rede).
Dois slots para memória Duas portas USB Porta FireWire (iLink chamado pela Sony)
Figura 1. Emotion Engine e o "Graphic Synthesizer"
Como o Playstation, a CPU do PS2 (Playstation 2) é um processador RISC (Reduced instructions set computer), e isto significa que as instruções e computações realizadas pelo processador são simples e reduzidas.No mais, os processadores RISC são super-escalares, onde podem realizar múltiplas instruções ao mesmo tempo.Com esta combinação de capacidades, a CPU consegue ter uma melhor performance do que muitos processadores com um clock maior e mais rápido.
Figura 12. Arquitetura do Playstation 2.
A unidade de ponto flutuante (FPU) é um processador especial que se dedica ao tratamento de equações matemáticas complexas, particularmente aquelas que incluem caracteres não-inteiros, números depois da vírgula. Estes cálculos são geralmente referidos como operações de ponto flutuante, porque o ponto decimal pode se mover ou flutuar, dependendo do resultado do cálculo. A complexidade de tais números pode criar um gargalo enorme se o processador tem que ter o tempo para executar cada cálculo. Para aliviar isso, os números não-inteiros são enviados para o FPU.
A velocidade com que a FPU pode processar estes cálculos é expressa como operações de ponto flutuante por segundo (FLOPS). Um gigaflop é um bilhão deles.
Assim, o PS2 de 6,2 gigaflops FPU pode executar 6,2 bilhões de operações de ponto flutuante por segundo!
O PS2 tem vários efeitos de hardware que são manipulados pelo sintetizador de gráficos. Eles incluem um canal alfa, Bezier surfacing, correção de perspectiva e mapeamento mip.
Figura 12.Dissipador de calor.
A Emotion Engine é uma CPU desenvolvida e fabricada pela Sony e Toshiba para uso no PlayStation 2 da Sony.
Ele consiste em um núcleo baseado na arquitetura MIPS, duas Vector Processing Units (VPU), uma interface gráfica (GIF), uma unidade DMA de 10 canais, um controlador de memória, uma Unidade processamento de Imagens (IPU) e uma interface de entrada e saída.
A arquitetura Emotion Engine é a utilizada no processador central do console PlayStation 2. O Emotion Engine é baseado na arquitetura MIPS64, enquanto o Cell (utilizado no PS3), se baseia na arquitetura POWER
Um aspecto bastante interessante de se observar na comparação das duas arquiteturas é a área do die de cada processador. Mesmo o desempenho do Cell sendo ordens de magnitude maior que o do Emotion
Engine, a área ocupada por ele é menor. Mais dados comparativos estão disponíveis na Tabela 1.
Tabela 1.Comparação Emotion Engine X Cell.
4.3. Playstation 3
A dinastia da marca Playstation no mercado de Vídeo- Games vem apenas aumentando desde 1994, com o lançamento de Playstation. Hoje são mais de 13 mil títulos lançados para a marca Playstation em todo o mundo, e muitos ainda estão sendo lançados. E nesta geração, a Sony continua com seu planejamento para mais uma vez dominar o mercado com o seu mais recente produto, o Playstation 3.
Figura 13. Sony Playstation 3.
Ao primeiro ponto, a Sony planejou com que o seu novo console não fosse apenas um Vídeo-Game, e sim uma completa plataforma com todos os tipos de entretenimento digital possíveis. Com isto, foi necessário o desenvolvimento de uma CPU especialmente designada, aonde veio a idéia do processador Cell. Com o trabalho entre a Sony, Toshiba e IBM foram possíveis a criação deste processador, que contempla com um número de 234 milhões de transistores em um único die. Para comparação, em 2005, um processador Pentium dual-core Extreme Edition com um custo de $1.0 mal rompe a faixa de 200 milhões de transistores.
O PlayStation é equipado com um driver de Blu-ray, onde seus jogos também se utilizarão desta nova tecnologia. Os discos Blu-ray podem armazenar até 54
GB de conteúdo, em oposição ao formato de DVD dual- layer usado atualmente, que só pode armazenar cerca de 4.7 GB (ou 8,5 GB em formato DVD-9). Mesmo que tenha uma unidade de disco Blu-ray, os jogadores podem ainda jogar os antigos jogos de PlayStation e do PlayStation 2 no PlayStation 3. A unidade de disco pode suportar:
O PlayStation 3 vem em duas configurações - uma com modelo de disco rígido de 60GB e outra com disco rígido de 20GB. Ambos os modelos possuem:
* Uma porta Ethernet Gigabit * Quatro portas USB
* Uma saída HDMI * Vídeo composto (com cabo AV dedicado)
* S-vídeo (com cabo AV dedicado)
* Vídeo componente (com cabo AV dedicado) * Saída óptica de áudio
O modelo de 60GB também inclui:
* Conectividade de 802.1 b / g wireless * Flash slots de memória, que aceita Compact Flash,
Secure Digital e Memory Stick Duo
O áudio do PS3 foi atualizado. O novo console suporta:
* Dolby Digital 5.1 * DTS
A organização do chip Cell se difere em várias configurações diferentes. A mais comum é a utilização de uma unidade PPE (Power Processor
Element), e múltiplas SPEs (Synergistic Processing Elements). A PPE e as SPEs são ligadas por um barramento interno de alta velocidade, o EIB (Element Interconnect Bus).
O PPE é uma unidade baseada na arquitetura POWER, que é a base das linhas POWER e PowerPc.
Opapel do PPE é servir como um controlador das várias SPEs, que serão responsáveis pela execução da maior parte da carga de trabalho.
Os SPEs são as unidades responsáveis pela execução das tarefas que exigem maior processamento. Em um ambiente padrão, o sistema operacional seria executado no PPE, que designaria a cada uma das SPEs uma tarefa específica e isolada.
A transferência de dados entre o PPE, os SPEs, e as interfaces de entrada e saída do processador é responsabilidade de uma estrutura chamada Element Interconnect Bus (EIB).
O EIB é implementado como quatro "anéis" que circulam em sentidos contrários em pares. Ele trabalha em metade do ciclo de clock do processador, e é capaz de transmitir 16 bytes a cada dois clocks do sistema. Devido a esta característica, o EIB é comumente definido como um barramento de oito bytes por ciclo.
Figura 14. Organização da Arquitetura Cell.
A memória e os canais de entrada e saída são baseados em tecnologia Rambus. Estão presentes dois controladores independentes XDR, que provêem mais flexibilidade do que apenas um. A interface de memória pode trabalhar à incrível taxa de 25.6GB/s.
O processador Cell é fabricado usando a tecnologia SOI (Silicon-On-Insulator) de 90nm com oito camadas de metal. A área do die da versão de produção do Cell será de 235mm2. Testes mostram que o processador consumindo 1,2 volts e trabalhando em uma freqüência de 4 GHz dissipa 6 watts de potência.
Figura 14. Die do processador Cell.
O Cell possui um pipeline de 21 níveis. É capaz de explorar especulação com a branch prediction, onde em um SPE, a penalidade de um erro na especulação é de 18 ciclos.
Cada instrução tem tamanho fixo, de 32 bits. E a arquitetura Cell é big-endian. Vale observar aqui que a arquitetura POWER suporta tanto o little quanto big-endian, mas no caso da arquitetura Cell, apenas um modo de execução é suportado.
As ferramentas para desenvolvimento para o Cell estão definidas em cima do Linux para PowerPc. A programação para as SPEs é baseada em C, com suporte parcial a C++. O suporte a outras linguagens, por exemplo, Fortran, está sendo ainda desenvolvido.
Estão disponíveis também ferramentas de depuração, como por exemplo, o GDB. O objetivo principal da pesquisa de ferramentas e frameworks para o desenvolvimento de aplicações para o Cell é prover uma camada de abstração acima do hardware, que permita que as aplicações sejam escaláveis na presença de outros processadores. Este processo demanda novas ferramentas, já que o paradigma de programação para o Cell envolve programas para cada um dos SPEs, que contém todas as suas instruções e seus dados. Este paradigma é diferente do utilizado por linguagens que definem estruturas em classes, como por exemplo, Java.
Figura 15. Die de um SPE.
Com virtude aos temas apresentados, consegue-se analisar que cada vez mais o mercado esta provido de novas alternativas para entretenimento, e umas da que vêm crescendo de forma descomunal é a indústria de Vídeo-Games.
Muitas ligações vieram junto com a criação dos computadores, seguindo próximo suas estruturas, onde no começo de uma geração podemos ver tecnologias que quase não foram implementadas em computadores, mas são desenvolvidas com o propósito de criar uma
Super-Máquina não apenas para jogos, mas para diversas formas de entretenimento e principalmente algo consolidado. Atualmente a proposta mais próxima disto foi à criação do Cell, onde criado tal processador, surgiu à plataforma Playstation3, sendo a mais poderosa encontrada no mercado.
Assim, novas arquiteturas irão surgir dentro os próximos anos, e com certeza cada vez mais irão surpreender tanto os desenvolvedores como os usuários finais do equipamento. .
[1] Sony's Emotionally Charged Chip. Keith Diefendorff. The Microprocessor Report, Volume http://en.wikipedia.org/wiki/Sega_Mega_Drive http://en.wikipedia.org/wiki/Yamaha_YM2612 http://mantrapower.blogspot.com/2007/01/yamahaym2612-som-na-caixa.html http://mantrapower.blogspot.com/2007/01/mc68000-ocerebro-por-tras-do-mega.html http://mantrapower.blogspot.com/2007/01/o-famosoz80.html http://www.datasheetcatalog.net/pt/datasheets_pdf/M/C/6 /8/MC68000.shtml http://en.wikipedia.org/wiki/Video_game http://electronics.howstuffworks.com/video-game2.htm http://electronics.howstuffworks.com/ps2.htm http://electronics.howstuffworks.com/playstationthree.htm http://en.wikipedia.org/wiki/Atari_2600 http://www.devmaster.net/articles/o-game-design/