Architektura mikroprocesora PowerPC została stworzona przez konsorcjum firm Apple-IBM-Motorola znane pod skrótem AIM. Z początku mikroprocesory tej architektury przeznaczone były na rynek komputerów osobistych, z czasem stały się często używanymi w zastosowaniach serwerowych, klastrowych oraz w systemach wbudowanych. Mikroprocesor stał się podstawą opublikowanych przez AIM specyfikacji platform referencyjnych PReP oraz CHRP. Popularność przyniósł mu wybór na CPU komputerów osobistych Macintosh produkowanych przez firmę Apple w latach 1994–2006.
Mikroprocesor stosowany jest także w komputerach Pegasos, AmigaOne (uprzednio w kartach procesorowych dla komputera Amiga), również w kilku projektach komputerów zgodnych Atari Falcon. Na bazie mikroprocesora PowerPC oraz jego sieciowej wersji PowerQUICC zaprojektowano niektóre serie urządzeń sieciowych firmy Cisco. Stosowany jest chętnie w systemach wbudowanych, gdzie używana jest specjalna, nieznacznie różniąca się od oryginalnej w zakresie specyfikacji mikroarchitektury, wersja mikroprocesora.
Historia
IBM
Historia PowerPC zaczęła się od prototypowego układu IBM 801, który implementował pomysły uważanego przez wielu za ojca mikroarchitektury RISC – Johna Cocke’a. Pochodne układu IBM 801 stosowane były w systemach wbudowanych produkowanych przez IBM. Niewystarczająca wydajność mikroprocesorów wytwarzanych przez IBM skłoniła firmę do uruchomienia projektu budowy najszybszego procesora na rynku. W rezultacie prac otrzymano architekturę POWER wprowadzoną po raz pierwszy do użytku na początku lat 90. XX wieku w systemach RISC System/6000.
Oryginalny mikroprocesor POWER, jedna z pierwszych implementacji superskalarnego procesora RISC, był konstrukcją wieloukładową. Inżynierowie firmy IBM szybko doszli do wniosku, że warto skupić się na budowie jednostki jednoukładowej przy jednoczesnej rezygnacji z kilku nadmiarowych instrukcji procesora.
AIM Alliance
Niedługo potem firma Apple została włączona do projektu rozwoju rodziny jednoukładowego mikroprocesora opartego na mikroarchitekturze POWER. Apple, jako jeden z największych klientów firmy Motorola zaprosił ją do wspólnych rozmów nad rozwojem mikroarchitektury POWER, co było podyktowane uprzednią, długą współpracą obydwu firm. Powstałe konsorcjum nazwano AIM od początkowych liter nazw Apple-IBM-Motorola.
W tym czasie Motorola posiadała własną architekturę RISC w postaci serii 88000, która jednak nie zdobyła uznania na rynku. Z drugiej strony mikroprocesory serii 88000 były już w produkcji; Data General(inne języki) dostarczał komputery z 88k a Apple posiadał prototypowe wersje maszyn pracujących na bazie tego mikroprocesora.
W rezultacie prac nad architekturą nowego procesora stworzono specyfikację PowerPC (Performance Computing), dzięki której:
IBM uzyskał wiarygodnego i doświadczonego producenta układów,
Apple zdobyło dla swoich komputerów jeden z najszybszych procesorów RISC na rynku i wsparcie marketingowe ze względu na światową znajomość marki IBM,
Motorola uzyskała nowoczesną architekturę procesora RISC i pomoc technologiczną ze strony IBM
Pierwsze urządzenia oparte na PowerPC zostały przyjęte przez rynek z entuzjazmem. Oprócz komputerów Apple Macintosh, zarówno Motorola, jak i IBM dostarczały systemy zbudowane na jego podstawie. Microsoft stworzył wersję Windows NT przeznaczoną dla architektury PowerPC, który był sprzedawany w zestawie z serwerami produkowanymi przez Motorolę, zaś Sun Microsystems wprowadził do sprzedaży przeznaczoną pod ten procesor wersję swojego sztandarowego systemu Solaris OS. IBM przeportował swój system AIX i planował wydać działającą na komputerach z zainstalowanym procesorem PowerPC wersję OS/2. W połowie lat 90. wyniki benchmarków odnoszących się do procesorów architektury PowerPC dawały lepsze rezultaty niż te przeprowadzane dla najszybszych procesorów architektury IA-32.
Zapotrzebowanie na mikroprocesory nowej architektury na maszynach desktopowych nigdy nie osiągnęło spodziewanego poziomu. Po krótkiej obecności na rynku zniknęły napisane pod PowerPC wersje systemów: Windows NT, Solaris OS, OS/2. Fakt ten był spowodowany brakiem dostępności aplikacji możliwych do uruchomienia przy użyciu nowej architektury procesora. Jedynie komputery Macintosh produkowane przez Apple pozostawały wierne mikroprocesorom PowerPC.
W 2004 roku Motorola zaprzestała produkcji układów mikroprocesorowych, przenosząc dział rozwoju i produkcji do wydzielonej spółki pod nazwą Freescale Semiconductor. W tym samym czasie IBM zaprzestał całkowicie produkcji komputerów osobistych (opartych na procesorach architektury IA-32) na rzecz chińskiego producenta Lenovo. IBM skupił się na przeprojektowaniu układu PowerPC zgodnie z oczekiwaniami producentów konsoli do gier, takich jak: Sony PlayStation 3, Nintendo Wii oraz Xbox 360 produkcji Microsoftu.
Na konferencji WWDC 6 czerwca 2005 roku Apple zapowiedziało, że w następnych wersjach komputerów Macintosh będą stosowane jedynie procesory marki Intel w architekturze IA-32. Przejście rozpoczęło się 12 stycznia roku 2006 wraz z ukazaniem się pierwszych iMaców i MacBooków Pro z procesorami Intel Core Duo, a zakończyło się wydaniem systemu 10.6 Snow Leopard w sierpniu 2009, który jako ostatni obsługuje programy dla procesorów PowerPC przy użyciu narzędzia Rosetta.
PowerPC został zaprojektowany zgodnie z filozofiąRISC. Mikroarchitektura procesora pozwoliła na zastosowanie superskalarności. Obecnie w użyciu znajdują się zarówno wersje 64-bitowe, jak i 32-bitowe procesora. W stosunku do architektury POWER w PowerPC wprowadzono:
Obsługa trybów Big Endian oraz Little Endian, które mogą być przełączane w trakcie pracy procesora. Obsługa ta została zarzucona w PowerPC G5,
Uzupełnienie operacji na danych zmiennoprzecinkowych podwójnej precyzji o operacje na danych zmiennoprzecinkowych pojedynczej precyzji,
Kompletna specyfikacja 64-bitowej architektury,
Usunięcie niektórych, rzadko używanych, instrukcji procesora POWER.
Większość z dostępnych układów PowerPC może przełączać tryb kolejności bajtów pamięci (ang. endianess) za pomocą bitu w rejestrzeMSR. Osobny bit w tym rejestrze odpowiada za kolejność bajtów w przypadku pracy procesora w trybie nadzorcy. Procesor po inicjalizacji startuje w trybie big endian, a tablica stron pamięci dla TLB zawsze przechowuje dane w trybie big endian.
Systemy komputerowe firm Matrox oraz Mercury Computer Systems wykorzystują PowerPC działający w trybie little endian. Wynika to z faktu, że układ PowerPC pracuje w tych systemach jako koprocesor na szyniePCI i współdzieli dane z głównym procesorem zgodnym z mikroarchitekturąIA-32. Zarówno systemy Sun Solaris, jak i Windows NT w wersji dla układów PowerPC używały tego procesora w trybie little endian.
Rejestry wewnętrzne
Poniższa tabela prezentuje rejestry jednostki stałopozycyjnej mikroprocesora PowerPC (wspólne dla wszystkich wersji)
Nazwa rejestru
Opis rejestru
Uwagi
r0
Rejestr ogólnego przeznaczenia
Specjalny tryb użycia dla niektórych dyrektyw asemblera
970 (2003) 64-bitowa implementacja oparta na mikroprocesorzeIBM POWER4 rozszerzona o jednostkę VMX (kompatybilna z AltiVec jednostka wykonawcza typu SIMD) z 512 KiB Cache L2 z zegarami pracującymi z częstotliwościami 1,4 GHz, 1,6 GHz, 1,8 GHz, 1,9 GHz, 2,0 GHz, 2,1 GHz, 2,3 GHz, 2,5 GHz oraz 2,7 GHz wykonana w technologii 130 nm.
970FX (2001) 512 KiB Cache L2, produkowany w technologii 90 nm.
PA6T-1682M (PWRficient) dwurdzeniowa jednostka pracująca z zegarem 2 GHz
Nowa generacja procesorów PowerPC, o planowanej nazwie POWER6, jest projektowana do pracy z zegarami z zakresu 4–5 GHz oraz udostępni funkcjonalność Simultaneous MultiThreading.
RAD750: wersja do celów militarnych i misji kosmicznych, oparta na mikroprocesorzePowerPC 750 ze zwiększoną odpornością na promieniowanie elektromagnetyczne
MPC 8260/82xx (PowerQUICC II) rdzeń 603, kontrolery sieciowe i telekomunikacyjne z wbudowaną w układ wysokowydajną, przełączaną szyną danych.
MPC 8560/85xx (PowerQUICC III) rdzeń procesora PowerPC Book E, kontrolery sieciowe i telekomunikacyjne z wbudowaną w układ wysokowydajną, przełączaną szyną danych.