POWER3 - POWER3

POWER3
Informação geral
Lançado 1998
Projetado por IBM
Arquitetura e classificação
Conjunto de instruções PowerPC
História
Antecessor POWER2
Sucessor POWER4
Processadores IBM POWER3-II duplos de 375 MHz no módulo de CPU de um RS / 6000 44P 270.

O POWER3 é um microprocessador , projetado e fabricado exclusivamente pela IBM , que implementou a versão de 64 bits da arquitetura do conjunto de instruções PowerPC (ISA), incluindo todas as instruções opcionais do ISA (no momento), como as instruções presentes no Versão POWER2 do POWER ISA, mas não no PowerPC ISA. Ele foi apresentado em 5 de outubro de 1998, estreando no RS / 6000 43P Modelo 260 , uma estação de trabalho gráfica de última geração . O POWER3 deveria originalmente ser chamado de PowerPC 630, mas foi renomeado, provavelmente para diferenciar os processadores POWER orientados para servidor que ele substituiu dos PowerPCs de 32 bits mais orientados para o consumidor. O POWER3 foi o sucessor do derivado P2SC do POWER2 e completou a longa transição da IBM de POWER para PowerPC, que estava originalmente programada para ser concluída em 1995. O POWER3 foi usado em servidores IBM RS / 6000 e estações de trabalho a 200 MHz. Ela competiu com a Digital Equipment Corporation (DEC) Alpha 21264 e a Hewlett-Packard (HP) PA-8500 .

Descrição

O esquema lógico do processador POWER3

O POWER3 era baseado no PowerPC 620 , uma implementação anterior do PowerPC de 64 bits que estava atrasada, com baixo desempenho e comercialmente malsucedida. Como o PowerPC 620, o POWER3 tem três unidades de ponto fixo , mas a unidade de ponto flutuante único (FPU) foi substituída por duas unidades de multiplicação-adição fundida de ponto flutuante e uma unidade de armazenamento de carga extra foi adicionada (para um total de dois) para melhorar o desempenho do ponto flutuante. O POWER3 é um projeto superescalar que executa instruções fora de ordem . Ele tem um pipeline inteiro de sete estágios, um pipeline mínimo de carga / armazenamento de oito estágios e um pipeline de ponto flutuante de dez estágios.

O front end consiste em dois estágios: buscar e decodificar. Durante o primeiro estágio, oito instruções foram obtidas de um cache de instrução de 32 KB e colocadas em um buffer de instrução de 12 entradas. Durante o segundo estágio, quatro instruções foram retiradas do buffer de instruções, decodificadas e emitidas para as filas de instruções. As restrições na emissão de instruções são poucas: das duas filas de instruções inteiras, apenas uma pode aceitar uma instrução, a outra pode aceitar até quatro, assim como a fila de instruções de ponto flutuante. Se as filas não tiverem entradas não utilizadas suficientes, as instruções não podem ser emitidas. O front-end tem um pipeline curto, resultando em uma pequena penalidade de erro de previsão do ramal de três ciclos .

No estágio três, as instruções nas filas de instruções prontas para execução têm seus operandos lidos dos arquivos de registradores. O arquivo de registro de uso geral contém 48 registros, dos quais 32 são registros de uso geral e 16 são registros de renomeação para renomeação de registro . Para reduzir o número de portas necessárias para fornecer dados e receber resultados, o arquivo de registro de propósito geral é duplicado para que haja duas cópias, a primeira suportando três unidades de execução inteiras e a segunda suportando as duas unidades de carga / armazenamento. Esse esquema era semelhante a um microprocessador contemporâneo, o DEC Alpha 21264 , mas era mais simples, pois não exigia um ciclo de clock extra para sincronizar as duas cópias devido aos tempos de ciclo mais altos do POWER3. O arquivo de registro de ponto flutuante contém 56 registros, dos quais 32 são registros de ponto flutuante e 24 registradores de renomeação. Comparado ao PowerPC 620, havia mais registros de renomeação, o que permitia que mais instruções fossem executadas fora de ordem, melhorando o desempenho.

A execução começa no estágio quatro. As filas de instruções despacham até oito instruções para as unidades de execução. As instruções inteiras são executadas em três unidades de execução inteiras (denominadas "unidades de ponto fixo" pela IBM). Duas das unidades são idênticas e executam todas as instruções de inteiros, exceto para multiplicar e dividir. Todas as instruções executadas por eles têm uma latência de um ciclo. A terceira unidade executa as instruções de multiplicação e divisão. Essas instruções não são pipeline e têm latências de vários ciclos. A multiplicação de 64 bits tem uma latência de nove ciclos e a divisão de 64 bits tem uma latência de 37 ciclos.

As instruções de ponto flutuante são executadas em duas unidades de ponto flutuante (FPUs). As FPUs são capazes de multiplicação-adição fundida , em que a multiplicação e a adição são realizadas simultaneamente. Essas instruções, junto com adição e multiplicação individuais, têm uma latência de quatro ciclos. As instruções de divisão e raiz quadrada são executadas nas mesmas FPUs, mas são auxiliadas por hardware especializado. As instruções de divisão e raiz quadrada de precisão única (32 bits) têm latência de 14 ciclos, enquanto as instruções de divisão e raiz quadrada de precisão dupla (64 bits) têm latência de 18 e 22 ciclos, respectivamente.

Após a conclusão da execução, as instruções são mantidas em buffers antes de serem confirmadas e tornadas visíveis para o software. A execução termina no estágio cinco para instruções inteiras e no estágio oito para ponto flutuante. A confirmação ocorre durante o estágio seis para inteiros e o estágio nove para o ponto flutuante. O write-back ocorre no estágio após a confirmação. O POWER3 pode retirar até quatro instruções por ciclo.

O cache de dados PowerPC 620 foi otimizado para aplicações técnicas e científicas. Sua capacidade foi dobrada para 64 KB, para melhorar a taxa de acertos do cache; o cache foi dual ported, implementado intercalando oito bancos, para permitir que duas cargas ou dois armazenamentos sejam realizados em um ciclo em certos casos; e o tamanho da linha foi aumentado para 128 bytes. O barramento de cache L2 foi dobrado em largura para 256 bits para compensar o tamanho da linha de cache maior e para reter uma latência de quatro ciclos para recargas de cache.

O POWER3 continha 15 milhões de transistores em uma matriz de 270 mm 2 . Foi fabricado no processo CMOS-6S2 da IBM, um processo semicondutor de óxido de metal complementar que é um híbrido de 0,25 μm de tamanho de recurso e 0,35 μm de camadas de metal. O processo possui cinco camadas de alumínio. Ele foi empacotado na mesma grade de coluna de cerâmica de 1.088 colunas que o P2SC , mas com um pino diferente.

POWER3-II

POWER3-II

O POWER3-II era um POWER3 aprimorado que aumentava a frequência do clock para 450 MHz. Ele contém 23 milhões de transistores e mede 170 mm 2 . Foi fabricado no processo IBM CMOS7S, um processo CMOS de 0,22 μm com seis níveis de interconexão de cobre . Foi sucedido pelo POWER4 em 2001.

Veja também

Notas

Referências

  • Papermaster, M .; Dinkjian, R .; Mayfield, M .; et al. (1998). "POWER3: Design de processador PowerPC de 64 bits da próxima geração" . IBM Corp. Citar diário requer |journal=( ajuda )
  • Anderson, S .; Bell, R .; Hague, J .; et al. (1998). "RS / 6000 Scientific and Technical Computing: POWER3 Introduction and Tuning Guide" (PDF) . IBM Corp. Arquivado do original (PDF) em 21/07/2006. Citar diário requer |journal=( ajuda ) - fornece mais informações sobre POWER1, POWER2 e POWER3
  • O'Connell, FP; White, SW (6 de novembro de 2000). "POWER3: a próxima geração de processadores PowerPC". IBM Journal of Research and Development , Volume 44, Número 6.
  • Song, Peter (17 de novembro de 1997). "Power3 da IBM para substituir P2SC". Relatório do microprocessador .
  • International Business Machines Corporation (5 de outubro de 1998). Novo chip IBM POWER3 . Comunicado de imprensa .