PowerPC

Origem: Wikipédia, a enciclopédia livre.

Arquitetura Power

Arquitectura de CPU

Históricos

POWERPPC6xxPowerPC-ASPOWER2POWER3G4POWER4GekkoAliança AIM

Atuais

PowerPCe200e300e500e600PA6TPOWER5POWER6PPC4xxPPC750PPC970CBEAXenonBroadway

Futuros

POWER7e700Titan

Ligações Relacionadas

RISCSystem pPower.orgPAPRPRePCHRPmais...

PowerPC é uma arquitetura e uma família de microprocessadores RISC(Reduce Instruction Set Computer). Descende da arquitetura Power, mantendo com ela certo grau de compatibilidade. O acrônimo expande-se como Power Optimization With Enhanced RISC - Performance Computing. A família de processadores PowerPC sempre mostrou ótimo desempenho desde seu lançamento em outubro de 1992. Este trabalho procura apresentar os aspectos mais importantes que levam esta arquitetura a ocupar lugar de destaque no mercado de processadores de alto desempenho.


Índice

[editar] História

PowerPC

A origem das arquiteturas Power e PowerPC remonta ao IBM 801. O PowerPC foi criado pela aliança AIM (Apple, IBM e Motorola) no início dos anos 90 com o objetivo de criar um processador RISC para ser utilizado nos computadores da Apple (Macintosh).

Teve como sua primeira implementação o modelo 601, que equipou o Apple PowerMac 6100, lançado em 1994. Os modelos posteriores foram mais voltados ao conceito superescalar.

Embora a Apple tenha abandonado este mercado e aderido à arquitetura x86 (Intel), os processadores PowerPC ainda estão presentes em consoles de jogos (Xbox 360, Nintendo Wii), para além claro está de todas as máquinas Apple Macintosh ainda ao serviço de muitos utilizadores. O PowerPC é ideal para manipulação de gráficos, e em aplicações onde há um grande número de operações similares e repetitivas.

Esta arquitetura está presente no microprocessador Cell, da PlayStation 3 que foi projetado em parceria entre IBM, Sony e Toshiba.

[editar] Arquitetura PowerPC

Uma arquitetura pode ser rígida, flexível ou específica. Caso uma arquitetura seja rígida será muito mais dispendioso realizar melhorias na performance quando esta arquitetura for superada. Com base nisto, a Arquitetura PowerPC foi projetada para permitir com facilidade mudanças na sua implementação prevendo um passo importante para um esquema de endereçamento de 64 bits. Logo, a flexibilidade é uma das características mais importantes da Arquitetura PowerPC. Sem dúvida, o aspecto mais notável da flexibilidade da arquitetura é o fato de estar incluído definições de 32 e 64 bits, garantindo que aplicativos escritos para processadores de 32 bits rodem em processadores de 64 bits, sem problemas de compatibilidade. Especificamente, a Arquitetura PowerPC é uma arquitetura RISC quem tem algumas convenções para garantir a compatibilidade de software entre os aplicativos desenvolvidos para dispositivos compatíveis com o PowerPC utilizando um único processador.

Um outro aspecto da flexibilidade da Arquitetura PowerPC é que ela é dividida em três níveis que correspondem ao três ambientes de programação, que são:

- A Arquitetura do conjunto de instruções do usuário (UISA - User Instruction Set Architecture):

Inclui as instruções de nível de aplicação do usuário e os registradores acessados por essas instruções A UISA também define parâmetros relacionados à instrução, tais como modos de endereçamento e formatos de instruções.

- A Arquitetura de ambiente virtual (VEA - Virtual Enviroment Architecture):

Descreve o modelo de memória par um meio no qual múltiplos dispositivos podem acessar a memória, define aspectos do modelo de memória - especialmente o modelo de cache - e a base de tempo. A VEA define os recursos usados primeiramente pelos compiladores.

- A Arquitetura de ambiente operacional (OEA - Operating Enviroment Architecture):

Define o modelo de gerenciamento de memória, o modelo de exceção e, principalmente, os recursos utilizados pelos sistemas operacionais. As implementações podem existir em diferentes níveis, por exemplo, uma implementação pode ser compatível com a UISA sem ser compatível com os outros níveis.

Todos o dispositivos PowerPC aderem com a UISA, oferecendo compatibilidade entre todas as aplicações do PowerPC. Entretanto, existem várias versões diferentes da VEA e OEA, por exemplo, alguns dispositivos como controladores embutidos podem não requererem algumas características definidas por estes níveis VEA e OEA, e podem implementar mais simplificadamente ou modificar a versão destas características.


[editar] A Arquitetura PowerPC define algumas características importantes:

1- Registradores separados de 32 bits para inteiros e instruções de ponto flutuante. Os registradores de uso geral (GPRs, general-purpose registers) guardam os dados de instruções aritméticas de inteiros e os registradores de ponto flutuante (FPRs, floating-point registers) guardam dados de instruções de ponto flutuante;

2- Instruções para carga (loading) e armazenamento (store) dados entre a memória do sistema e os registradores FPRs ou GPRs;

3- Tamanho uniforme das instruções para permitir uma simplificação na aplicação do pipeline e no processamento paralelo de instruções.

4- Um preciso modelo de exceção , que fornece opcionalmente o tratamento de exceções de ponto flutuante);

5- Suporte para caches de dados e cache de instruções;

6- Suporte para endereçamento de 64 bits. A arquitetura suporta ambas as implementações, 32 bits ou 64 bits;

7- Capacidade de operar em precisão simples ou dupla de ponto flutuante;

8- A Arquitetura PowerPC segue a metodologia RISC; as instruções aritméticas utilizam um grande complemento de arquivos de registradores como operando;

9- São implementadas instruções separadas para operações de carga e armazenamento de inteiros e de ponto flutuante;

10- As instruções são na maioria simples e o conjunto de instruções é em sua maioria ortogonal. Há relativamente poucos modos de endereçamento e os formatos de instruções são sempre os mesmos;

11- As instruções empregam modos de endereçamento indestrutíveis para as instruções aritméticas em que o segundo e o terceiro (e raramente o quarto) operandos especificam registradores-fonte e o destino é especificado pelo primeiro operando.





Existem quatro pipelines diferentes no processador:

•Branch processing unit (unidade de desvio) com dois estágios de pipeline;

•Fixed point unit (unidade de ponto fixo) com quatro estágios de pipeline;

•Load/store unit (unidade de load/store) com cinco estágios de pipeline;

•Floating point unit (unidade de ponto flutuante) com seis estágios de pipeline.


A arquitetura define os seguintes aspectos do projeto do processador:

- Conjunto de instruções: A Arquitetura PowerPC define a funcionalidade, o tamanho das instruções, modos de endereçamento, codificação e outros aspectos do conjunto de instruções;

- Modelo de programação: Este modelo fornece ao programador um modelo consistente que garante ao programador a compatibilidade entre os processadores PowerPC. A arquitetura define o gerenciamento da memória, o tratamento de exceções, os registradores usados para a execução das instruções;

- Modelo de memória: define o tamanho de memória endereçável, como também como as conversões de endereço lógico em físicos são realizadas e quais são os mecanismos de procura e conversão de endereços.

- Modelo de exceção: define as exceções do PowerPC e as condições que a originam.

[editar] Conjunto de registradores PowerPC

A arquitetura PowerPC define operações entre registradores e registradores para maioria da instruções.

O modelo de programação incorpora 32 GRPs e 32 FPRs, registradores de uso específico (SPRs) e vários outros registradores. Da mesma maneira, cada implementação tem seu próprio conjunto de registradores de implementação de hardware (HID).

Os processadores PowerPC possuem dois níveis de privilégio. Todas as instruções e registradores definidos pela UISA são acessados pelo software no nível do usuário. A VEA proporciona acesso de leitura no nível usuário aos registradores de base de tempo. Todos os demais registradores, definidos pela OEA, são acessados somente pelo software de nível superior, normalmente usado por sistemas operacionais.

O conjunto de registradores de nível do usuário inclui o seguinte;

- Registradores que suportam operações de inteiros:

Registradores de Uso Geral; Registradores de Exceção de Inteiros (XER- Integer Exception Register).

- Registradores que suportam operações em ponto flutuante:

Registradores de Ponto Flutuante (FPRs); Registradores de Status e Controle de ponto flutuante (FPSCR - Floating Point Status e Control Register).

- Registradores que suportam operação de desvio:

Registrador de Condição (CR - Condition Register), este registrador é definido como um registrador de 32 bits tanto nas implementações de 32 e 64 bits. O CR indica o resultado de determinadas operações aritméticas para fornecer um mecanismo de teste de desvio. A Arquitetura PowerPC divide o CR em oito bits, CR0 a CR7, os bits do CR são interpretados por instruções de condição de desvio (branch condition); Registrador de Ligação (LR -Link Register); Registrador de Contagem (CTR - Count Register). Os registradores que são acessados somente por software de nível superior são todos definidos pela OEA. São usados na configuração do sistema, tratamento de exceção e etc.

- Configuração e status do sistema:

Registrador do Estado de Máquina (MSR - Machine State Register);

- Registradores utilizados para tratamento de Exceção:

Registrador 0 de Salvamento/Restauração do Status da Máquina (SRR0 - Save/Restore Register 0); Registrador 1 de Salvamento/Restauração do Status da Máquina (SRR1 - Save/Restore Register 1); Registrador de endereço de dados (DAR - Data Address Register);

- Registradores utilizados para gerenciamento da memória:

Registradores de Segmento; Registrador Descritor de Tabela 1 (SDR1 - Table Search Descriptor Register 1);

- Registradores utilizados para manutenção do tempo:

Registradores de Base de Tempo (TBU e TBL); Registrador Decrementador (DEC - Decrementer Register);

- Registradores diversos:

SPRs Gerais (SPRG0 - SPRG3); Registrador de Versão do Processador (PVR - Processor Version Register)

[editar] Características técnicas

É uma arquitetura de 64 bits que possui um subconjunto de características de 32 bits.

[editar] Modelos de processadores

  • PowerPC e200
  • PowerPC e300
  • PowerPC e500
  • PowerPC e600
  • PowerPC G5 dual-core
  • PowerPC G5 quad-core

[editar] Referências


Nuvola apps ksim.png Este artigo é um esboço sobre Hardware. Você pode ajudar a Wikipédia expandindo-o.