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

Slides:



Advertisements
Apresentações semelhantes
INTRODUÇÃO À COMPUTAÇÃO
Advertisements

Sistemas Operacionais
Modos de Transferência Acesso Direto à Memória (DMA)
Arquitetura de Computadores
INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Prof. Diogo Souza.
O Planeta da Informática
Noções de Sistemas Operacionais
Arquiteturas de Barramento
Aula 16: Memória Principal e Memória Virtual
JOGOS.
Arquitetura de Sistemas Operacionais
Processador Intel Itanium
Processador Pentium 4 MO401 – Arquitetura de Computadores I
1998 Morgan Kaufmann Publishers Paulo C. Centoducatte - IC/Unicamp- 2002s Prof. Paulo Cesar Centoducatte
Processador s processadores (ou CPUs, de Central Processing Unit) são chips responsáveis pela execução de cálculos, decisões lógicas e instruções que.
SSC SISTEMAS OPERACIONAIS I Aula 10 – Gerenciamento de Memória
SSC541 - SISTEMAS OPERACIONAIS I Aula 13 – Gerenciamento de Memória
Maria Aparecida Castro Livi
UFRGS – II/PPGC Câmeras de Vídeo Digital Domínios de Aplicação:
Hardware para Microcomputadores Conceitos
Componentes do Computador e noções de Arquitetura de Computadores
Fundação Educacional de Barretos Faculdade de Engenhariarmação
Respostas das atividades da aula 4.
Manutenção - Processadores
Avaliando e Compreendendo o Desempenho - Respostas
Processadores – Aula 3 Professor: André Luis Meneses Silva
Arquitetura de Computadores
Processadores – Aula 3 Professor: André Luis Meneses Silva
Sistemas Operacionais I
Sistemas Operacionais
Professor Felipe Monteiro Lima
Introdução à Programação
Prof. João Paulo de Toledo Gomes
Afonso Ferreira Miguel
Fundamentos da Arquitetura de Computadores
BARRAMENTOS Componentes do grupo: Willian Barbosa da Costa
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Arquitetura de computadores
Desenvolvimento de Jogos e Entretenimento Digital
Sistemas Operacionais
Aveiro, 28 de Abril de Arquitectura de Computadores II Ano lectivo 2003/2004 Nuno
Arquitetura de Computadores
Pet computação UFPE Aula de apoio aos feras: Arquitetura de Computadores.
Processamento de dados na UCP e memória UCP
Arquitetura de Computadores Memória - 2 Waldemiro Arruda.
Prof. Remy Eskinazi - Microcontroladores
Arquitetura de Computadores
Sistemas Operacionais
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
ARQUITETURA DE COMPUTADORES II
POLIMIG Curso Técnico em Informática Disciplina: Hardware
Sistemas Operacionais
Sistemas Operacionais
Definição O processador é o C.I. mais importante do computador. Ele é considerado como o cérebro do computador e funciona como uma UCP – Unidade Central.
INTRODUÇÃO À COMPUTAÇÃO
Projeto e Implementação de Jogos Eletrônicos
Bruno C. Bourbon Jarbas J. de O. Júnior {bcb, cin.ufpe.br
Microprocesadores x Microcontroladores
Componentes de um Sistema de Computação
Localidade Princípio da localidade è um programa acessa uma
Ch7b-1 Capítulo Sistemas de Memória - Memória Virtual.
Slides before 1st Section Divider
INTRODUÇÃO À COMPUTAÇÃO
Processadores.
Funcionamento interno do computador
Por: Lucas da Silva Montes, Marcos Ghesla e Vinícius Randon.
CESAC Prof.: Jadiel Mestre. Introdução à Informática.
Victor Passos. INFORMÁTICA Ciência do Tratamento Automatização da Informação, utilizando para tal máquinas automáticas INFORmação autoMÁTICA.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Transcrição da apresentação:

Estudo da aplicação “jogos” em sistemas embarcados CMP502 Sistemas Embarcados Renato Fernandes Hentschke renato@inf.ufrgs.br

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

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.

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.

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

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

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

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)

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

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.

Arquitetura PlayStation 2

“Emotion Engine” – Proc. Principal

“Emotion Engine” – Proc. Principal

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

Processador Som 2 Cores DSP! 2Mb Memória

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.