s i s t e m a o p e r a c i o n a l m a g n u x l i n u x | ~/ · documentação · suporte · sobre |
Página seguinte
Página anterior
Índice
23. CPUs AlphaExistem atualmente duas gerações de CPUs que implementam a arquitetura Alpha:
Opiniões diferem sobre o significado de "EV" (nota do editor: o verdadeiro significado é "Electro Vlassic"), mas o número representa a primeira geração da tecnologia Digital de CMOS que foi implementada. Então EV4 foi inicialmente implementada como CMOS4. Com o passar do tempo, uma CPU tende a tornar-se um modelo intermediário substituído por uma nova geração de processadores menores. Há uma grande diferença entre diminuir o tamanho de uma CPU em uma tecnologia específica e implementar um novo modelo a partir do nada (porém não detalharemos estes aspectos neste momento). Há alguns outros pontos genéricos aqui: há a CMOS4S (redução ótica em CMOS4) e a CMOS5L.
Os reais interessados em tecnologia estarão interessados em saber como a CMOS4 pode estar em um processador de 0,75 mícron, CMOS5 em 0,5 mícron e SMOS6 em um de 0,35 mícron.
Um mapeamento de CPU para chips nos fornecerá os seguintes resultados:
O EV4 é um código "duplo processado" (pode lidar com 2 instruções por ciclo de CPU), com um núcleo superconectado com unidades de inteiros, pontos flutuantes e previsão de uso. É totalmente sobreposto e tem caminhos internos de dados de 64 bits e pequenos caches duplos de 8 Kb, sendo uma para instruções e outro para dados. Os caches possuem sistema de gravação direta, nunca contendo dados inválidos (ainda não tratados).
O EV45 traz algumas melhorias em relação ao núcleo do EV4: traz uma ligeira melhoria da unidade de ponto flutuante, caches de 16 Kb, uma para dados, outro para instruções (validados por algoritmos de paridade). Nota do Editor: Neal Crook indicou-nos em um mail à parte que as mudanças na unidade de ponto flutuante (FPU) melhorou a performance da divisão. A FPU do EV4 necessita de 34 ciclos para uma divisão de precisão simples e 63 ciclos para um divisão de dupla precisão (que não seja dependente de dados). A EV45 necessita tipicamente de 19 ciclos (no máximo 34) para precisão simples e tipicamente 29 ciclos (63 ciclos no máximo) para uma divisão de dupla precisão (dependente dos dados).
O EV5 é um código "quadri processador", também superconectado, totalmente sobreposto, etc... Ele tem pequenos caches de 8 Kb, um para instruções, outro para dados. Estes caches são de gravação imediata. Ele traz ainda um cache de segundo nível acoplado ao processador, com 96 Kb de área disponível, o qual tem três formas de associação e gravação (por exemplo, pode conter dados não atualizados). A melhoria da performance EV4-EV5 é maior do que somente o incremento obtido por ciclos de CPU. Assim como um cache maior e o processamento de quatro instruções a cada ciclo, há melhorias na microarquitetura para reduzir a produção ou o consumo de latência em alguns caminhos.-
O núcleo EV56 é fundamentalmente a mesma microarquitetura similar a EV5, mas adiciona algumas novas instruções para cargas e armazenamentos de 8 e 16 bits. Estes devem ser utilizados principalmente por programas controladores de dispositivos. O núcleo do EV56 está implementado no CMOS6, o qual é um processador de 2.0 Volts.
O 21064 usa o código EV4, com uma interface de barramento de 128 bits. Este suporta conexões "simples" com caches de segundo nível, com uma tamanho de bloco de 256 bits (2 conjuntos de dados no barramento). A velocidade do Bcache é totalmente configurada por software. O 21064 pode ser configurado ainda para usar um barramento externo de 64 bits (não estou certo se algum produto saído de fábrica utiliza este modo). O 21064 não impõem qualquer política de Bcache, mas é configurado atualmente com uma política de gravação posterior. O 21064 contém conectores que permitem hardwares externos manterem coerência com o Bcache e caches internos, apesar desta funcionalidade ser complexa.
O 21066 usa o código EV4 e integra um controlador de memória e uma ponte PCI. Para economizar pinos, o controlador de memória tem um barramento de 64 bits (mas o cache interno tem um bloco de tamanho de 256 bits assim como no 21064, ou seja um bloco preenche 4 buffers no barramento). O controlador de memória suporta um Bcache e DRAM externos, cujos ciclos são totalmente configurados por software e podem ser controlados pela resolução do ciclo de CPU. Tendo quatro áreas para preencher e complementar um bloco de cache não é tão mal quanto possa parecer, devido ao fato do acesso do DRAM ser feito em formato de páginas. Infelizmente o controlador de memória não suporta nenhuma das DRAMs mais recentes ((SDRAM, EDO or BEDO) ou cache síncrono de RAM. O barramento PCI é totalmente compatível com a rev. 2.0 e chega a 33 Mhz.
O 21164 tem um barramento de 128 bits e suporta leituras parciais com até dois ciclos adicionais a qualquer tempo (o que permite cem por cento de utilização do barramento sob condições fantasticamente perfeitas, ou seja, pode-se teoricamente transferir 128 bits de dados a cada ciclo do barramento). O 21164 suporta conexões simples de cache de terceiro nível externo (Bcache) e tem os conectores que permitem a sistemas externos manterem total compatibilidade com todos os caches. Adicionalmente, o design de multiprocessadores simétricos são "simples".
O 21164A foi anunciado em outubro de 1995. Ele utiliza o código EV56. Ele tem uma pinagem nominalmente compatível com o 21164, mas requer poder adicional para rodar, pois todos os pinos de energia que totalizam +3.3V no 21164 foram divididos em dois grupos; um deles prove 2.0 V de energia para o núcleo da CPU e o outro grupo provê 3.3 V para as células de entrada e saída. Ao contrário de implementações mais antigas, os pinos do 21164 não são tolerantes a 5 V. O resultado desta mudança reside no fato de sistemas 21164 não serem atualizáveis para 21164A. O processador tem ainda alguns pinos para suportar as novas cargas e armazenamento 8 e 16 bits. Ele ainda incrementa o suporte a 21164 no uso da SRAM síncrona no uso de Bcache externo.
Página seguinte Página anterior Índice |