Ir ao conteúdo
  • Cadastre-se

Processadores Para o Próximo Milênio - Parte 4


     63.111 visualizações    Processadores    0 comentários
Processadores Para o Próximo Milênio - Parte 4

Processador MAJC-5200

Abordemos agora alguns processadores que trazem novidades interessantes. A Sun Microsystems, fabricante das conhecidas estações Sun, está inovando o mercado da informática com seu processador MAJC, que em inglês se pronuncia “magic”. A sigla MAJC significa Arquitetura Microprocessada para Computação em Java, do inglês “Microprocessor Architecture for Java Computing”. De acordo com a Sun, os dados que os processadores dos servidores de rede tratam nos dias de hoje estão muito diferentes dos dados das décadas de 70 e 80. Este fato motiva as duas principais arquiteturas atuais: uma com conjunto complexo de instruções (CISC) e a outra com conjunto reduzido de instruções (RISC).

Antigamente, por exemplo em uma operação de atualização de saldo, os dados que chegavam ao servidor eram utilizados imediatamente. Os servidores atuais, entretanto, antes da atualização, devem tratar primeiro da compactação e criptografia deles (e talvez até o comando de voz), para só depois realizar a operação de crédito. Isso tudo deve ser feito na taxa do fluxo de dados das redes de alta velocidade.

Assim, nos modernos sistemas, os processadores devem estar aptos não só a receber os dados a taxas elevadas, mas também aptos a processá-los nesta mesma taxa. As principais exigências de hardware são velocidade de I/O e capacidade de processamento. O processador deve entrar no fluxo de dados sem gerar atrasos, ou seja, ele recebe os dados a taxas elevadas, os processa e os envia adiante nessa mesma taxa elevada. A primeira implementação da família, o MAJC-5200, tem a interface de I/O operando a 10 GB/s, quando o usual na maioria dos processadores é 1 GB/s, e sua a capacidade de processamento vem de duas CPUs, cada uma com 4 unidades funcionais VLIW (“Very Large Instruction Word”) que, além dos recursos usuais, operam como processadores de sinais digitais (DSP-“Digital Signal Processor”) e como processadores vetoriais SIMD.

A CPU, como pode ser vista na Figura 3, possui 4 Unidades Funcionais (FU), numeradas de 0 até 4. Cada Unidade é um processador RISC. A UF0 é um pouco diferente das demais, pois ela é responsável por tratar da leitura e escrita de dados, que acontece através da Unidade de Carga e Armazenamento, e ainda por controlar o fluxo das operações (saltos). Por ser uma CPU tipo VLIW, as instruções de 32 bits vêm agrupadas em pacotes com até 4 instruções, 128 bytes no total, e cada uma é distribuída para uma Unidade Funcional. Se não houver interdependência, são realizadas até 4 operações por vez. O compilador é responsável por preparar o fluxo de instruções de forma a reduzir a interdependência. De acordo com a Figura 3, as instruções vêm do Cache e seguem para o Buffer de Instruções, daí passam pelos Decodificadores, têm seus Registradores acessados e vão para as Unidades Funcionais. Já os resultados são devolvidos aos Registradores graças ao Estágio de Contra-Escrita. O compartilhamento dos resultados entre as Unidades Funcionais é possível graças ao Estágio de Contra-Escrita, mas consome um ciclo. Entre UF0 e UF1, existe uma conexão que permite esse compartilhamento no mesmo ciclo de relógio.

A CPU possui 224 registradores lógicos, divididos em 96 globais, que podem ser acessados por qualquer Unidade Funcional, e 32 particulares para cada UF. A Unidade de Carga e Armazenamento é responsável por gerenciar todas as operações entre a memória e os registradores.

Está disponível um conjunto completo de instruções para operações inteiras e de ponto-flutuante. As unidades de 1 a 3 podem executar operações do tipo multiplica e acumula em um único ciclo. Tais instruções são fundamentais para a implementação de filtros digitais. As unidades podem operar juntas implementando um ambiente de execução tipo SIMD. Com tais instruções e operando a 500 MHz, essa CPU é capaz de obter um desempenho de 6,16 Gigaflops.

Processadores Para o Próximo Milênio - Parte 4
Figura 3: A CPU MAJC.

A Figura 4 apresenta o diagrama em blocos do processador MAJC-5200, que possui duas CPUs idênticas às mostradas na Figura 3. Deve-se notar que o cache de dados é compartilhado entre as duas CPUs, porém existe um cache de instrução para cada uma. A capacidade para aceitar altas taxas de bits deve-se à quantidade de interfaces, cada uma delas com seu próprio controlador. A memória principal é do tipo Rambus (DRDRAM) e trabalha a 1,6 GB/s. A Ponte PCI oferece recursos para DMA e I/O, a taxas de até 264 MB/s. Existem duas outras interfaces, a UPA Norte e a UPA Sul, que podem operar a até 4 GB/s. A porta UPA, que em inglês significa “Universal Port Architecture”, destina-se a interfacear dados com altas taxas, como por exemplo vídeo. Além disso tudo, existe um Processador Gráfico para, dentre outras coisas, fazer a descompressão de geometria 3D em tempo real.

Processadores Para o Próximo Milênio - Parte 4
Figura 4: Diagrama em blocos da arquitetura MAJC-5200.

Nessa arquitetura, a Sun usou o que seus engenheiros chamam de “processamento espaço-tempo”, mas que também pode ser rotulado como processamento especulativo. Graças a isso, os programadores não precisam de preocupar-se em explicitar o paralelismo de seus programas, por que essa tarefa será especulada pela máquina virtual Java. A máquina virtual examina o programa e especula se dois métodos podem rodar em dois processadores, despachando-os ao mesmo tempo. Assim, ela envia os dois métodos para dois processadores distintos, sendo que um deles (o segundo) rodará em separado, usando o que se chama de espaço de memória especulativa. Ao término do processamento, se tudo correu bem e não houve violação de dependência de dados então a área especulativa é fundida com a memória principal e o programa segue adiante. Entretanto, se tiver havido dependência entre os dados, o segundo processo é inutilizado e sua memória descartada.


Artigos similares


Comentários de usuários

Respostas recomendadas

Não há comentários para mostrar.



Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...