PowerPC
PowerPC é um conjunto de instruções projetado juntamente aos princípios RISC, que permite uma implementação superescalar. Foi criado em 1991 pela aliança composta pela Apple, IBM e Motorola, conhecida como AIM. PowerPC, é um conjunto de instruções em evolução, desde 2006 em que foi renomeado Power ISA, mas vive com um legado para algumas implementações de processadores baseados na arquitetura Power. O projeto possui versão tanto em 32 bits quanto em 64 bits.
Imagem: Mac Users Guide · BY-SA · Openverse
A história do RISC começou com projeto 801 com pesquisas da IBM, em que John Cocke foi o principal desenvolvedor, em que desenvolveu os conceitos de RISC nos anos de 1975-1978. Os processadores baseados em microprocessadores foram usadas em vários produtos IBM, incorporados eventualmente tornando-se o 16-registradores ROMP processador usado no IBM RT. A RT foi uma criação com implementação dos princípios RISC, e o desempenho foi desapontante em comparação com o microprocessador 68000 da Motorola que obteve um alto desempenho. Entre os anos de 1982-1984 IBM iniciou um projeto para construir o microprocessador mais rápido do mercado; esta nova arquitetura de 64-bit se tornou conhecido como o "Projeto América" em todo o seu ciclo de desenvolvimento que durou cerca de 5-6 anos. O resultado foi a arquitetura do conjunto de instruções POWER, introduzida com o RISC System / 6000 no início de 1990. O microprocessador POWER original, uma das primeiras implementações superescalares RISC, foi um alto desempenho, desenvolvendo multi-chip. A IBM logo percebeu que era necessário um microprocessador single-chip, a fim de dimensionar suas RS / 6000 linha de baixa-end para máquinas high-end. Trabalho em uma fonte de um chip microprocessador, designou o RSC (RISC Single Chip) que começou no início de 1991, a IBM realizou seu projeto que poderia potencialmente se tornar um microprocessador de alto volume usado em toda a indústria. IBM abordou a Apple com o objetivo de colaborar no desenvolvimento de uma família de microprocessadores com um único chip baseado na arquitetura POWER. Logo depois, a Apple, sendo um dos maiores clientes da Motorola de microprocessadores de classe desktop, pediu à Motorola para participar das discussões, devido ao seu longo relacionamento e a sua mais extensa experiência com a fabricação de microprocessadores de alto volume da IBM, e para formar uma segunda fonte para os microprocessadores. Esta colaboração de três vias se tornou conhecido como AIM aliança, formada por Apple, IBM, Motorola. Em 1991, o PowerPC era apenas uma faceta de uma aliança maior entre estas três empresas. Na época, a maior parte da indústria de computadores pessoais estava criando sistemas baseados no Intel 80386 e 80486 , que tinha uma arquitetura CISC, o desenvolvimento do processador Pentium estava bem encaminhado.
Imagem: Mac Users Guide · BY-SA · Openverse
Começando pelas especificações do POWER, o PowerPC adiciona: Algumas instruções apresentadas no manual de instruções do POWER eram consideradas muito complexas, sendo removidas da arquitetura do PowerPC. Algumas instruções removidas podiam ser emuladas pelos sistemas operacionais, caso necessário. As instruções removidas eram:
Imagem: blakespot · BY · Openverse
A arquitetura PowerPC define convenções de como a aritmética, tratamento de exceções e de tempo, gerenciamento de memória, devem funcionar para qualquer implementação PowerPC. A seguir temos uma lista de itens que são definidos formalmente pela arquitetura :
Imagem: Mac Users Guide · BY-SA · Openverse
A especificação PowerPC é separada em três grandes níveis, pois ela tenta abranger ampla área de possíveis implementações. Por exemplo, um sistema embarcado nem sempre precisa de um nível de gerenciamento de supervisor ou de um sistema superescalar, para muitos desses sistemas o primeiro nível dessa arquitetura já é suficiente. Seguem os três níveis em ordem crescente de complexidade : Esse sistema funciona de forma em que qualquer implementação é obrigada a implementar o nível UISA já que este nível determina funcionalidades cruciais para qualquer tipo de sistema. Quem implementar o nível VEA estará herdando o nível UISA. Da mesma forma quem implementa o nível de operação estará consequentemente implementando o nível VEA e o nível UISA.
Imagem: Mac Users Guide · BY-SA · Openverse
Grande parte dos chips PowerPC trocam a ordem de bytes através de bits no REM (Registrador do Estado da Máquina) com um segundo bit fornecido para permitir que o OS rode com uma ordem de bytes diferente. Acessos ao ''inverted page table'' (é uma tabela de hash que funciona como TLB sem chip embarcado de armazenamento) sempre são feitos em modo big-endian. O processador inicia em modo big-endian. No modo little-endian, é realizado um XOR entre os três bits menos relevantes do endereço efetivo com um valor de três bit selecionado pelo tamanho do operando. O sistema operacional vai ver uma forma destorcida do mundo quando ele acessar o chip externo bem como vídeos e placa de rede. Ajustar essa visão deformada requer que a placa-mae execute incondicionalmente uma troca em todos os arquivos de 64-bits que esteja entrando ou saindo do processador. O Endianness, portanto se torna propriedade da placa-mae. Um OS que opera em lillte-endian, sobre uma placa-mae de big-endian, deve trocar bits e desfazer o XOR enquanto acessa os chips little-endian.
A primeira implementação da arquitetura foi o PowerPC 601, lançado em 1992, com base na RSC, a implementação de um híbrido das instruções Power1 e PowerPC. Isso permitiu que o chip fosse utilizado pela IBM em suas plataformas baseadas Power1 existentes, embora isso também tenha significado uma leve dor de cabeça quando se muda para os de 2ª geração "puros" projetos PowerPC. A Apple continuou a trabalhar em uma nova linha de computadores Macintosh baseados no chip e, finalmente, lançados como o Power Macintosh baseado em 601 em 14 de março de 1994. A IBM também tinha uma linha completa de desktops baseados PowerPC construído e pronto para enviar; infelizmente, o sistema operacional que a IBM tinha a intenção de funcionar com esses desktops Microsoft Windows NT- não foi completa até o início de 1993, quando as máquinas estavam prontas para a comercialização. Assim, e ainda mais porque a IBM tinha desenvolvido animosidade contra a Microsoft, a IBM decidiu reescrever OS/2 para o PowerPC. Demorou dois anos para a IBM reescrever o OS/2 para PowerPC, e pelo tempo que o OS/2 demorou para ficar pronto, o mercado do OS/2 em PowerPC tinha evaporado. Por esta razão o design de referência (codinome Sandalbow) com base na CPU PowerPC 601 foi lançado como um modelo RS/6000 (edição de Byte abril 1994 incluiu um extenso artigo sobre a Apple e IBM PowerPC desktops).


