Este trabalho de pesquisa, feito no âmbito da cadeira de Arquitectura de Computadores 2 do curso de Engenharia Informática da Universidade de Coimbra tem como objectivo dar a conhecer a arquitectura interna de uma da consola de jogos X-box da Microsoft. Iremos dar principal importância a cpu da consola, tentando explicar o seu funcionamento, mas falaremos também um pouco sobre todos os outros componentes. 

 

   Arquitectura da X-Box

    Como foi dito na introdução vamos "explorar" principalmente o "coração" da X-box, o seu processador.

 

      A X-Box esta equipada com um processador Intel Pentium III a 733Mhz, até ao momento o processador com maior velocidade de relógio (clock speed) usado em consolas de jogos.  Contudo a performance não e medida apenas pela velocidade de relógio, para compreender-mos melhor este processador vamos examinar todos os detalhes do Pentium III.

 

Processador Intel a 733 MHz

 

    Uma declaração oficial da Intel, diz que o processador da X-Box e actualmente o único processador a 733Mhz construído com base na arquitectura P6.

    O Pentium III foi fabricado usando uma tecnologia de 0,18 mícron, esta permite que 28 milhões de transístores sejam colocados num chip de silicone de 106 mm2. Este chip de silicone é soldado directamente na motherboard da X-Box. Isto reduz o espaço requerido para o processador, assim como impede qualquer tipo de upgrade.

    Nas especificações do processador da X-Box o tamanho da cache de nível 2 foi reduzido de 256Kb para 126Kb. No que diz respeito ao resto do processador é igual ao Pentium III original. Tem 16Kb de cache L1 de instruções e uma cache L1 de dados de 16Kb, outro ponto de importância é o seu FBS de 133MHz. Um FSB de alta velocidade é critico no desempenho total de todo um sistema, isto porque a velocidade que as trocas de dados ocorrem afecta directamente a velocidade de funcionamento de um sistema. Usando 2x memória DDR SDRAM a 200Mhz, a Microsoft assegurou transferências de dados rápidas. A disposição da memória produz uma largura de banda para o processador central de 1.06 GB/sec, o que  deixa pelo menos 5.34GB/sec disponível para o resto do sistema (particularmente para o processamento gráfico).

    SIMD ou Single Instruction Multiple Data, uma das grandes inovações, que fornece 70 novas instruções multimédia. Algumas destas novas instruções SIMD são uma extensão das instruções MMX já existentes. Além disso, como as instruções MMX, são baseadas em inteiros.
    Contudo, as mais relevantes, são as aplicações 3D, pois a maioria dos jogos novos são baseados em gráficos 3D. As instruções SIMD também dispõem de instruções em virgula flutuante, usadas para os gráficos 3D e físicos. O Pentium III opera sobre quatro números em virgula flutuante de cada vez, para isso Intel resolveu o problema  dos registos e permite uns registos mais largos adicionando oito novos, nomeados XMM0 a XMM7. Cada um destes registos tem 128 bits, e representa quatro IEEE floats de 32-bit.   
    A velocidade da execução das novas instruções SIMD é boa. Por exemplo, a instrução de MULPS (multiplicar independentemente todos os quatro elementos do registo) tem uma latência de cinco ciclos, e um throughput* de uma instrução cada dois ciclos. Isto iguala a duas multiplicações de virgula flutuante por ciclo de relógio. Este throughput é típico da maioria das instruções de virgula flutuante SIMD; a única excepção real é, a precisão da divisão e a raiz quadrada, que demoram 36 e 58 ciclos, respectivamente. Felizmente, há as instruções que aproximam os resultados do recíproco e da raiz quadrada recíproca, que têm cada uma 12 bits de mantissa,  estas instruções demoram somente dois ciclos. Isto faz normalizar os vectores um pouco mais rápido.

    Sem estas instruções de SIMD, o Pentium III é funcionalmente idêntico ao seu antecessor, o Pentium II. Além disso, na mesma velocidade de relógio não há nenhuma diferença no desempenho. Entretanto, usando as técnicas e os algoritmos correctos de programação os ganhos do desempenho podem ser maciços.

    Quando falamos em obter ganhos de desempenho temos de falar obrigatoriamente em pipeline. As Pipelines são usadas para melhorar não somente o desempenho, mas também as frequências de relógio dos processadores. Mas não é uma coisa fácil de fazer uma pipeline tão longa ou tão profunda quanto possível, há muitas preocupações e dificuldades inerentes com pipelines longas. A quantidade de espaço física requerida é um exemplo. Para além disso, porque o comprimento da pipeline é aumentado, a penalidade para imprevistos "branches" aumenta . O Pentium III usa uma pipeline na ordem de 10 estados.

     Quanto a outros dispositivos é de referir um processador gráfico de 250-MHz 3-D da Nvidia que pode processar mais de 1 trilião de operações por segundo e produzir mais de 125 milhões de polígonos por segundo. Suporta também resoluções ate 1920x1080 pixeis, e um disco rígido Seagate de 8 GB.

Processador gráfico NVidea

Para ver outras especificações click aqui

 

 * throughput - quantidade de informação a ser processada numa instrução

 

   Outros

- Quadro das especificações

- Performance

Questões

- Sources

WebMansters