
Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Curso de Bacharelado em Ciência da Computação Implementação do GNU Chess em uma Plataforma Multiprocessada com Arquitetura de Comunicação baseada em Rede Intrachip Trabalho de Conclusão II Autores: Celso Marasca Soccol Giovani Zucolotto Orientador: Ney Laert Vilar Calazans Porto Alegre, Novembro de 2006. iii iii Resumo Do ponto de vista de projetos de hardware para jogos, observa-se uma tendência à utilização de máquinas com diversos processadores concorrentes, organizados em processadores multi-núcleos (em inglês, multi-core processor s), tal como o processador Xeon da Intel ou o processador Cell utilizado no Playstation 3. Tendo em vista esta tendência e o crescente mercado de jogos, é interessante que o desenvolvimento de software comece a se adaptar a estes novos padrões de arquitetura. Este trabalho é uma investigação e porte do jogo GNU Chess para uma plataforma multiprocessada usando um meio de comunicação recentemente proposto, as redes intrachip. Palavras Chave: multi-processamento, jogos, redes intrachip (NoCs), GNU Chess. i Abstract From the point of view of game hardware design, it is possible to observe a trend towards the use of machines containing several concurrent processors. These are organized in multi-core processors as the Intel Xeon processor or the Cell processor, used in the Playstation 3 game console. In view of this trend and of the increasing success of game markets, it‘s interesting that the development of software starts to adapt to these new architecture standards. This work is an investigation and port of the GNU Chess game to a multiprocessing platform using a recently proposed new type of communication midia, intrachip networks. %ey words : multiprocessed, games, intrachip network (NoCs), GNU Chess. ii iii Èndice Analítico 1 Introdução ....................................................................................................................................1 1.1 Motivação.............................................................................................................................1 1.1.1 Múltiplos Processadores Intrachip...............................................................................2 1.1.2 Evolução de Console de Jogos.....................................................................................2 1.1.3 Evolução de Suporte a Jogos em Computadores Pessoais...........................................3 1.1.4 Conclusão da Motivação..............................................................................................3 1.2 Objetivos ..............................................................................................................................4 1.3 Estrutura do Trabalho...........................................................................................................5 2 GNU Chess ..................................................................................................................................6 2.1 Descrição do GNU Chess ....................................................................................................6 2.1.1 Estrutura de arquivos da distribuição GNU Chess.......................................................6 2.1.2 Representação do tabuleiro ..........................................................................................8 2.1.3 Estruturas de dados relevantes ...................................................................................12 2.1.4 Gerador de movimentos.............................................................................................14 2.1.5 Busca por jogadas ......................................................................................................14 2.1.6 Avaliação de jogadas .................................................................................................14 2.1.7 Livro de jogadas.........................................................................................................15 2.1.8 Tabela Hash ...............................................................................................................15 2.2 Heurísticas no jogo de xadrez ............................................................................................15 2.3 Implementação das Heurísticas..........................................................................................17 2.3.1 Minimax.....................................................................................................................17 2.3.2 Poda Simples..............................................................................................................19 2.3.3 Alpha-beta poda .........................................................................................................19 3 Revisões e Classificações de jogos ............................................................................................21 3.3.1 Jogos computacionais ................................................................................................22 3.3.2 A Relação Jogador-Jogo em Jogos Computacionais .................................................26 3.3.3 A Estrutura Interna de um Jogo .................................................................................27 3.3.4 A Engine de um Jogo Computacional .......................................................................28 3.3.5 A Equipe de Implementação de Jogos .......................................................................29 3.3.6 Estudos de Caso .........................................................................................................30 4 Arquitetura Alvo ........................................................................................................................33 4.1 Arquitetura de Hardware....................................................................................................33 4.2 Noc Hermes........................................................................................................................34 4.2.1 Roteador.....................................................................................................................36 4.2.2 Interface Externa........................................................................................................37 4.3 Processador Plasma............................................................................................................38 4.3.1 Histórico.....................................................................................................................38 4.3.2 Arquitetura MIPS.......................................................................................................39 4.3.3 Organização do Plasma..............................................................................................41 4.3.4 Modificações na arquitetura original do Plasma........................................................42 4.3.5 Compilador MIPS-GCC.............................................................................................43 4.4 Módulo de vídeo ................................................................................................................43 4.4.1 Interface VGA............................................................................................................46 4.4.2 Controlador de Acesso à Memória DDR ...................................................................47 4.4.3 Leitura e escrita no módulo de vídeo.........................................................................50 4.5 Módulo de Teclado ............................................................................................................51 4.6 Organização da infra-estrutura...........................................................................................53 5 Porte do GNU Chess para a Arquitetura Alvo...........................................................................54 iii 5.1 Modificações realizadas no código do GNU Chess...........................................................54 5.1.1 Porte de software........................................................................................................54 5.1.2 Porte de hardware.......................................................................................................55 6 Desenvolvimento de Hardware e Software................................................................................57 6.1 Wrappers ............................................................................................................................57 6.1.1 Protocolo padrão dos wrappers..................................................................................57 6.1.2 Plasma - Hermes ........................................................................................................59 6.1.3 Teclado œ Hermes ......................................................................................................59 6.1.4 Módulo de vídeo œ Hermes........................................................................................61 6.2 Software para Comunicação ..............................................................................................63 6.2.1 Plasma œ Teclado .......................................................................................................63 6.2.2 Plasma œ Módulo de Vídeo........................................................................................64 6.2.3 Plasma œ Plasma.........................................................................................................65
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages87 Page
-
File Size-