• Historia PowerPC (część 1)

24.04.2006 12:46, autor artykułu: Michał "Torn" Strzałkowski
odsłon: 8694, powiększ obrazki, wersja do wydruku,

Od misji eksploracji Marsa, po kontrolery ulicznych swiateł, od konsol do gier, po superkomputery, wszędzie tam można znaleźć procesory z rodziny PowerPC. Skąd wzięła się ich popularność? Jak powstały?

Zamierzchła przeszłość - czyli John Cocke mówi "LESs is more!"

1965 - ACS

Początki PowerPC to lata 70, ale warto najpierw wspomnieć o rozpoczętym w 1965 roku projekcie ACS (Advanced Computing Systems), którego celem było osiągnięcie większej wydajności niż CDC 6800. ACS nigdy nie opuścił laboratorium i IBM ostatecznie zamknął go w 1968 roku, ale doświadczenie zdobyte przez Johna Cocke w konstrukcji procesorów i budowie kompilatorów, zaprocentowało w późniejszych pracach badawczych.

1974-77 - 801

PowerPC 601 W 1974 roku John Cocke został oddelegowany do projektu, którego zadaniem było zbudowanie systemu przełączania rozmów telefonicznych, zdolnego do obsłużenia trzystu połączeń telefonicznych na sekundę. Prace wstępne określiły wymogi co do procesora na kilkanaście MIPS (wtedy było to naprawdę szybko) i zdolność do wykonania jednej instrukcji w cyklu procesora... Od 1947 roku - czyli od wynalezienia tranzystora - w komputeryzacji nastąpił szybki postęp miniaturyzacji, co prowadziło do szybkiego wzrostu komplikacji układów. W latach 70-tych były już tak skomplikowane, że potrafiły wykonywać bardzo złożone operacje, ale miały dwie wady. Po pierwsze, dodatkowe obwody odpowiedzialne za dodatkowe instrukcje, znacząco podnosiły koszty układów i po drugie, z racji swej konstrukcji, układy takie (zwane później CISC) były powolne. W efekcie, aby sprostać zadaniu, zespół odpowiedzialny za ten projekt musiał kompletnie zmienić podejście do konstrukcji układów scalonych.

John Cocke pozbył się lub uprościł wiele instrukcji zmniejszając ilość obwodów o połowę. Tak skonstruowany układ był przeszło dwa razy szybszy, zużywał mniej prądu i był dużo tańszy niż konkurencyjne układy wtedy dostępne. Procesory o takiej architekturze zostały nazwane RISC - Reduced Instruction Set Computer, czyli komputer o zredukowanej liście instukcji. RISC jest też zwany "LES" - od "Load Execute Store" - czyli "wczytaj, wykonaj, zapisz" i odnosi się to do trybu pracy łączącego wszystkie RISC, mianowicie zdolności do wczytania, wykonania i zapisania (przynajmniej) jednej instrukcji w jednym cyklu procesora.

Starsza architektura nazwana została Complex Instruction Set Computer, w skrócie CISC. Złożoność CISC została w dużej mierze przeniesiona na kompilatory dla nowej architektury, których konstrukcja stała się o wiele bardziej wymagająca. John Cocke poświęcił wiele czasu na rozwój i optymalizację kompilatorów, usystematyzował i odkrył wiele rozwiązań dziś uznawanych za podstawowe. Za swoją pracę nad kompilatorami i wynalezienie RISC John Cocke otrzymał w 1987 roku nagrodę Turinga (The A.M. Turing Award).

Projekt budowy systemu przełączania rozmów został ostatecznie zawieszony przez firmę IBM, ale zaawansowane prace nad procesorem domagały się kontynuacji, dlatego zasoby z tego projektu przeniesiono do nowego, rozwijanego na Thomas J. Watson Research Center (w budynku nr 801 - stąd nazwa), projektu, którego celem było zbudowanie pierwszego procesora typu RISC. W 1977 roku procesor 801 został zaprezentowany publicznie i szybko znalazł zastosowanie w wielu systemach firmy IBM. Na bazie jądra 801 powstało wiele różnych procesorów, w tym ROMB, 32-bitowy procesor, który stał się sercem zaprezentowanej w 1986 roku serii komputerów IBM RT PC. W droższej wersji, karta procesorowa była zaopatrzona w 4 MB pamięci i koprocesor MC68881 firmy Motorola. Mimo to, linia RT została przyjęta raczej chłodno. Powodem tego była niska wydajność i duża cena tych systemów. Z pierwszej wady IBM zdawał sobie sprawę, dlatego rok przed wypuszczeniem PC RT rozpoczął nowy projekt badawczy...

1985-90 - America

801 był bardzo dobrą konstrukcją, ale miał dwie wady. Po pierwsze, z racji jego budowy niemożliwe było rozbudowanie jednostki wykonawczej o FPU i superskalarność, po drugie, powoli starzejący się chip miał w latach 80-tych coraz większe problemy z dotrzymaniem kroku w wydajności konkurentom. Dlatego IBM w 1985 roku rozpoczął projekt badawczy o kryptonimie America, którego celem było stworzenie nowoczesnego, superskalarnego układu o wydajności przynajmniej porównywalnej do konkurencji. Zespół inżynierów, którzy pracowali nad tym projektem, wykorzystał wiedzę i doświadczenie zdobyte przy wcześniejszych projektach (ACS i 801) i na bazie 801 zbudowano jeden z najszybszych układów tamtych czasów, nazwany RIOS...

Zanim pójdziemy dalej, należy również wspomnieć o poczynaniach Apple i Motoroli, gdyż od tego punktu łączą się one z historią PowerPC. Mniej więcej w tym samym okresie co projekt America, firma Apple zaczęła mieć obawy co do linii 68k. Stałe przesuwanie premiery 68040 rodziło obawy co do umiejętności Motoroli dotrzymywania kroku procesorom x86. Kierownictwo Apple doszło również do wniosku, że technologia RISC jest istotna i będzie miała wpływ na przyszłość komputeryzacji, dlatego podjęto pewne kroki...

1986-91 - Aquarius, Jaguar, Cognac i MC88k

Jaguar Rozpoczęty w 1986 roku przez Apple projekt budowy czterordzeniowego procesora RISC, nazwany Aquarius, miał być odpowiedzią na stagnację Motorolowej linii 68k. Apple zebrało zespół 50 inżynierów i kupiło superkomputer Cray do prac inżynieryjnych nad układem. Jednak Aquarius nie przynosił rezultatów. W efekcie Apple zawiesiło projekt Aquarius, zatrudniło Hugha Martina - specjalistę od mikroprocesorów - i rozpoczęło projekt Jaguar, którego celem była budowa wieloprocesorowej stacji roboczej, opartej na istniejących rozwiązaniach RISC. Martin wybrał dla Jaguara cztery procesory 88100 produkcji Motoroli. Linia 88k to krok Motoroli w świat architektury RISC. Początkowo nazwana 78000, została zaprezentowana w kwietniu 1988 roku. 32-bitowy mikroprocesor zbudowany na bazie architektury Harvard (od nazwy komputera Harvard Mark I) składał się z dwóch układów: jednostki głównej 88100 oraz kontrolera MMU i pamięci podręcznej (cache) 88200, który mógł obsłużyć do 4 procesorów 88100. Niestety dla Motoroli, seria 88000 nie odniosła sukcesu. Powodem tego było zbyt późne wprowadzenie na rynek (w stosunku do konkurencji, takiej jak SPARC i MIPS), mniejsza wydajność pojedynczej jednostki niż konkurencyjnych linii procesorów, brak jednostki superskalarnej (Motorola planowała układ 88120, ale nie został on zbudowany) i konstrukcja (podział na 88100 i 88200), która ułatwiała budowę systemu wieloprocesorowego, ale utrudniała i podnosiła koszt systemów jednoprocesorowych (w 1990 roku Motorola zaprezentowała układ 88110, który łączył 88100 i 88200, ale było to zbyt późno).

Projekt Jaguar miał wiele zalet - w tym sporą moc obliczeniową, ale jedną zasadniczą wadę: brak jakiejkolwiek kompatybilności z systemem MacOS i istniejącym dla niego oprogramowaniem, gdyż Jaguar używał nowego systemu o nazwie kodowej Pink. Aby rozwiązać ten problem, grupa inżynierów z Apple stworzyła projekt "Cognac", czyli napisanie dla Jaguara emulatora, w celu uruchomienia MacOS-a i jego aplikacji. Emulator, napisany przez specjalistę od emulacji Garego Davidsona, został zoptymalizowany pod pewną cechę oprogramowania: przez 90% czasu wykonywane jest około 10% programu, dzięki czemu był bardzo szybki. Rozwój projektu Cognac został mocno spowolniony, gdy zrezygnowano z 88100 dla Jaguara i rozpoczęto poszukiwanie dla tego projektu procesora, gdyż Gary Davidson musiał portować emulator na każdą nową architekturę użytą w Jaguarze.

W tym czasie w Apple pracowano nad jeszcze jednym projektem, nazwanym "Star Trek", którego częścią był port MacOS-a działający na sprzęcie Intela...

Era prawdziwego POWERA

1990-94 - Początki AIM


1990 - RS/6000

RS-6000_7012-32H W lutym IBM ogłasza nową linię uniksowych stacji roboczych RISC System/6000. Ich architektura zostaje nazwana "POWER" od "Performance Optimization With Enhanced RISC", czyli optymalizacja wydajności z użyciem rozszerzonej architektury RISC (tzw. RISC drugiej generacji, czyli jednostek superskalarnych). Procesor, efekt projektu America, był 32-bitową, superskalarną jednostką liczącą sobie 800000 tranzystorów i składającą się z 7 lub 9 (w zależności od ilości pamięci cache) osobnych układów połączonych wspólną PCB (tzw. "multi-chip design"). IBM zdał sobie sprawę, że architektura POWER ma potencjał by stać się popularnym rozwiązaniem w przemyśle, jednak by tak się stało potrzebna jest nowa, jednoukładowa jej implementacja. Dlatego tuż po premierze RS/6000 rozpoczęto prace nad "RISC Single Chip" (w skrócie RSC), nieco tylko zmienionym - w stosunku do wieloukładowego POWER - procesorem jednoukładowym. Plany IBM dotyczące popularyzacji POWER zbiegły się z zaprezentowaniem IBM-owi projektu "Star Trek" (MacOS działający na procesorach Intela). Kierownictwo IBM przemyślało sprawę i 3 lipca 1991 roku przedstawiło Apple ofertę pomocy w dokończeniu projektu "Pink" (nowego systemu operacyjnego dla Jaguara). Warunkiem było jednak wykorzystanie przez Apple procesorów POWER. Apple przyjęło ofertę i zaprosiło do współpracy firmę Motorola - z powodu ich długich kontaktów biznesowych. Tak powstał alians AIM (Apple IBM Motorola alliance).

Po wstępnych pracach, uznano, że POWER nie będzie idealną platformą dla Apple, dlatego postanowiono zbudować nowy procesor, kompatybilny z architekturą POWER. W toku dalszych prac sformułowano następujące wymogi co do nowej architektury:
  • szeroki zakres zastosowań, od prostych mikrokontrolerów, aż do wysokowydajnych procesorów do serwerów i stacji roboczych,
  • wystarczająco prosta konstrukcja, aby pozwalała na budowę układów o bardzo krótkich cyklach,
  • obsługa rozwiązań wieloprocesorowych,
  • kompatybilność szyny systemowej z linią 88k (Motorola potrzebowała prostej drogi update'u dla swoich klientów, a Apple też mógł dzięki temu przyspieszyć prace, bo miał już działający projekt oparty o tę szynę - wcześniejszą wersję Jaguara),
  • 64-bitowa architektura, będącą nadzbiorem 32-bitowej, zapewniając w ten sposób binarną kompatybilność z 32-bitowymi aplikacjami,
  • zapewnić środki do konstrukcji jednostek wysoce superskalarnych,

Po zdefiniowaniu wymogów co do architektury, rozpoczęto intensywne prace związane z jej implementacją. Jako bazę wykorzystano praktycznie już gotowy procesor RSC, dzięki czemu możliwe było bardzo szybkie stworzenie nowego procesora - prace zaplanowano na 12 miesięcy. Nowa architektura zostaje nazwana PowerPC, gdzie PC to skrót od Performance Computing.

1992 - RSC i PowerPC

W styczniu IBM ogłasza jednoukładowy procesor z rodziny POWER (RISC Single Chip - RSC) oraz prezentuje nowe modele RS/6000(7011-220) zbudowane na jego bazie. Jednym z ciekawszych zastosowań jakie znajdzie procesor RSC to główna jednostka misji Mars Pathfinder...

Pod koniec roku pojawia się procesor PowerPC 601. Jednym z celów postawionych przed tym procesorem była integracja architektur POWER i PowerPC (i tak dość dobrze zintegrowanych, jako że PowerPC to podzbiór POWER), aby ułatwić deweloperom przesiadkę na nową architekturę. W efekcie PPC 601 obsługiwał większość instrukcji POWER i większość instrukcji PowerPC. Mająca trzy potoki, superskalarna jednostka 601, była w stanie przydzielić do trzech 32-bitowych instrukcji w każdym cyklu. Jedną instrukcję do jednostki stałoprzecinkowej (FXU), jedną do jednostki zmiennoprzecinkowej (FPU) oraz jedną do układu przewidywania rozgałęzień (BPU). 32 kB zunifikowana pamięć podręczna (cache) pierwszego poziomu (L1), zapewniała 32-bitowy interfejs dla FXU, 64-bitowy dla FPU i 256-bitowy dla kolejek instrukcji i pamięci. Interfejs do pamięci cache zapewniał przepustowość na poziomie 2,1 GB/s (przy zegarze 66 MHz). Szyna systemowa układu PowerPC 601, bazowała na szynie procesora 88110 firmy Motorola i miała 32-bitową linię adresową oraz 64-bitową linię danych. Przy zegarze 66 MHz szyna systemowa osiągała przepustowość 422 MB/s.

Technologia 6um CMOS, 4 warstwy
Rozmiar ~120mm^2(10,95mm*10,95mm)
Ilość tranzystorów 2,8 miliona
Zegar od 50 do 100 MHz
Napięcie 3,6 V
Moc 6,5W przy 50 MHz
Cache L1 32 kB zunifikowana
Cache L2 wg konkretnego systemu - brak L2 na kości
Cache L3 brak
Tabela podsumująca PowerPC 601

    
komentarzy: 4ostatni: 03.05.2008 21:43
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem