A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Estudo da aplicação “jogos” em sistemas embarcados

Apresentações semelhantes


Apresentação em tema: "Estudo da aplicação “jogos” em sistemas embarcados"— Transcrição da apresentação:

1 Estudo da aplicação “jogos” em sistemas embarcados
CMP502 Sistemas Embarcados Renato Fernandes Hentschke

2 Outline 2 partes: estudo de caso e arquitetura do Playstation 2
Introdução: programação de jogos Estudo de caso: jogo Outgun Apresentação do jogo (porque é bom para sistemas embarcados) Dados do programa (estáticos) Dados de execução (dinâmicos) Dados de profiling (% da CPU em grafico, sons, lógica, etc...) Soluções arquiteturais usadas no playstation 2 Arquitetura do processador principal Dados sobre os demais processadores

3 Introdução: Programação de Jogos
Inicialização Crítico! Renderização da tela. Leitura de dados Ex: 20ms. Se loop terminar antes, libera a CPU para o SO. Loop, controlado por timer. Lógica do Jogo Saída Deadline <-> Soft Real Time Timer garante que velocidade do jogo é independente de processador.

4 Render 2D x 3D Utilizam-se dois processos de renderização de jogos:
2D: Utilizam-se sprites (bitmaps), retângulos, círculos, etc... 3D: Utilizam objetos tridimensionais, necessitando de grande quantidade de processamento para cálculos de coordenadas, iluminação, etc... Nos computadores PC, este tipo de renderização é feita em hardware (processador dedicado). Por esta razão, mesmo os jogos mais simples estão migrando para representação tridimensional para acelerar a etapa de renderização.

5 Jogo Outgun 1000 usuários cadastrados (em 6 meses de jogo)
Partidas de pequena duração Graficos Simples (2D) Sons simples Pouco uso de CPU Pouco uso de Rede

6 Informações Estáticas
Tamanho do código fonte (em C++): linhas Tamanho do executável: 262 Kbytes Allegro (biblioteca gráficos/sons): 223kBytes Hawknl (biblioteca rede): 48KBytes Pthreads: 110 KBytes

7 Informações Dinâmicas – PC utilizado
Executado em um PC/Pentium III 1GHz (1000 Mips) Internal Clock : MHz System Bus : MHz System Clock : MHz L1 I-Cache : 16K Byte L1 D-Cache : 16K Byte L2 Cache : 256K Byte Instruct.Cache : 16K byte cache size 4-way set associative 32 byte line size Instruct. TLB : 4K byte pages way set associative 32 entries : 4M byte pages fully associative entries Data Cache : 16K byte cache size 4-way set associative 32 byte line size Data TLB : 4K byte pages way set associative 64 entries : 4M byte pages fully associative entries [L2 Information] Level 2 Cache : 256K byte cache size 8-way set associative 32 byte line size

8 Informações Dinâmicas
30 FPS ( Frames por segundo) Uso de CPU: pico de 30%, média de 20% (dado fornecido pelo sistema operacional Win2K) Uso de memória (dados + programa) : 8Mb (fácil de reduzir pela metade, segundo o programador) Uso de banda de internet: 1-2Kbytes por segundo (é possível de reduzir usando algumas técnicas simples) Profiling: 90% do tempo é gasto em rotinas gráficas! Tempo de rotinas de som é despresível (som em formato wav, sendo que há um processador dedicado na placa de som)

9 Figuras, slides e informações gentilmente cedidas por:
PlayStation 2 Figuras, slides e informações gentilmente cedidas por:

10 PlayStation 2 Domínio de aplicação: Jogos pesados e com muitos recursos gráficos. Diferente do outgun. A solução arquitetural para este tipo de jogo é de utilizar diversos processadores separados (gráficos, lógica, sons, etc..) do jogo. No PC, por exemplo, as placas 3D permitem que jogos deste tipo tenham desempenho satisfatório.

11 Arquitetura PlayStation 2

12 “Emotion Engine” – Proc. Principal

13 “Emotion Engine” – Proc. Principal

14 (GS) - Processador Gráfico
Clock: MHz Embedded DRAM (cache): 4Mb Pixel fill rate 2.4GPixel/sec

15 Processador Som 2 Cores DSP! 2Mb Memória

16 Conclusões Jogos demandam muito processamento gráfico (tanto os mais simples quanto os mais sofisticados). Jogos como Outgun possuem desempenho satisfatório em arquiteturas com um processador somente (PC). O uso de memória do Outgun é de 8 Mb. Jogos mais complexos tipicamente consomem muito mais memória. Processamento gráfico de jogos modernos (3D) tipicamente é realizado em processador dedicado. Processamento de som pode ser realizado em processadores dedicados (como no PS2). No caso do Outgun, o som é armazenado em formato wav, dispensando decodificação de som (porém requer mais memória). A arquitetura do playstation 2 divide as tarefas de processamento entre diversos processadores.


Carregar ppt "Estudo da aplicação “jogos” em sistemas embarcados"

Apresentações semelhantes


Anúncios Google