Apollo Pryzmat
PRISM ( ang. Parallel Reduced Instruction Set Multiprocessor ) był wysokowydajnym procesorem firmy Apollo Computer używanym w stacjach roboczych z serii DN10000 . Przez pewien czas był to najszybszy dostępny mikroprocesor, wysoki ułamek Cray-1 w stacji roboczej. Hewlett-Packard kupił Apollo w 1989 roku, kończąc rozwój PRISM, chociaż niektóre pomysły PRISM zostały później wykorzystane we własnym komputerze HP-PA z ograniczonym zestawem instrukcji (RISC) i procesorach Itanium .
PRISM był oparty na czymś, co dziś byłoby znane jako projekt VLIW , podczas gdy większość wysiłków z epoki, 1988, opierała się na bardziej „czystym” podejściu RISC. We wczesnych projektach RISC procesor rdzeniowy został maksymalnie uproszczony, aby umożliwić wykorzystanie większej części nieruchomości chipa do rejestrów i uproszczenie dodawania potoków instrukcji w celu poprawy wydajności.
Kompilatory
Kompilatory używane z systemami miały poświęcić więcej czasu podczas kompilacji na efektywne wykorzystanie rejestrów i oczyszczenie strumienia instrukcji . Wykonując szeregowanie instrukcji w kompilatorze, ten projekt uniknął problemów i złożoności dynamicznego szeregowania instrukcji (gdzie instrukcje dla wielu jednostek funkcjonalnych muszą być wybierane ostrożnie, aby uniknąć współzależności między wartościami pośrednimi) spotykanego w projektach superskalarnych , takich jak Digital Equipment Corporation 's alfa .
Pod pewnymi względami projekt VLIW można uważać za „super-RISCy”, ponieważ przenosi on również proces wyboru instrukcji na kompilator. W projekcie VLIW kompilator sprawdza kod i wybiera instrukcje, o których wiadomo, że są „bezpieczne”, a następnie pakuje je w dłuższe słowa instrukcji. Na przykład w przypadku procesora z dwiema jednostkami funkcjonalnymi, takimi jak PRISM, kompilator znalazłby pary bezpiecznych instrukcji i upchnął je w jednym większym słowie. Wewnątrz procesora instrukcje są ponownie rozdzielane i wprowadzane do wybranych jednostek.
Ten projekt minimalizuje logiczne zmiany w procesorze w miarę dodawania jednostek funkcjonalnych, ponieważ kompilator obsługuje wybór instrukcji. Jednak to również bardzo ściśle wiąże skompilowany kod z projektem procesora; na przykład, jeśli nowa generacja procesora dodaje dodatkowe jednostki funkcjonalne, wszystkie uruchomione na nim programy muszą zostać ponownie skompilowane, aby kompilator mógł ponownie ułożyć instrukcje, być może na cztery zamiast dwóch. Dla porównania, bardziej tradycyjny projekt, taki jak PowerPC (PPC), przeszedł dramatyczne zmiany wewnętrzne, ale kod napisany dla pierwszych PPC będzie nadal działał bez modyfikacji w najnowszych wersjach. Kosztem tego jest rosnąca ilość miejsca w chipie, które musi być przeznaczone na szeregowanie instrukcji .
Kompilatory Apollo były pierwszymi komercyjnymi kompilatorami, w których zastosowano techniki pojedynczego przypisania statycznego .
Cechy architektoniczne
PRISM był „czystym” projektem 32-bitowym , obejmującym trzydzieści dwa 32-bitowe rejestry całkowite i trzydzieści dwa 64-bitowe rejestry zmiennoprzecinkowe (nałożone przez sześćdziesiąt cztery rejestry 32-bitowe). PRISM mógł wysyłać pojedynczą liczbę całkowitą lub jedną liczbę całkowitą i jedną instrukcję zmiennoprzecinkową na cykl zegara . Instrukcja zmiennoprzecinkowa mogłaby z kolei łączyć zmiennoprzecinkowe dodawanie i mnożenie w jednej instrukcji. Kompilator zawsze próbował sparować (lub potroić) instrukcje, aby zachować pełne wykorzystanie jednostek wewnętrznych, ale jeśli nie udało mu się znaleźć bezpiecznej pary, po prostu podał pojedynczą instrukcję całkowitą. PRISM był jednym z pierwszych projektów, który zawierał mnożenie z dodawaniem/odejmowaniem/obcinaniem w jednej instrukcji (pięć operandów ), więc często był opisywany jako procesor z trzema numerami.
Historia
stacjach roboczych Apollo DN10000 z jednym do czterech procesorów . „DN” w nazwie odnosi się do „Domain Node”, gdzie Domain/OS to system operacyjny typu Unix, używany na wszystkich maszynach Apollo. Zauważ, że PRISM był wieloukładową płytą procesora, a nie pojedynczym mikroprocesorem ; było to dość powszechne w tamtych czasach w przypadku procesorów z wyższej półki.
Sprzedano około tysiąca systemów DN10000.
PRISM II , działający z dwukrotnie większą szybkością zegara, został opóźniony przez problemy z fabrykowaniem , a następnie ostatecznie anulowany po zakupie HP. Niemniej jednak kilka cech projektu PRISM zostało wprowadzonych do późniejszych generacji architektury HP-PA , a dwaj główni orędownicy koncepcji VLIW, Intel i HP, współpracowali później nad Itanium .
PRISM był generalnie najszybszym procesorem na rynku podczas swojej krótkiej żywotności. W porównaniu z typowymi projektami RISC tamtej epoki, PRISM był faktycznie dwoma procesorami w jednym, co z grubsza podwoiło wydajność procesora RISC pracującego z tą samą częstotliwością zegara.
Współcześni konkurenci
Chociaż Intel i860 również używał VLIW (lub właściwie LIW w obu przypadkach, ponieważ dwa to nie jest „bardzo” długi), wyodrębnienie wydajności z i860 okazało się niezwykle trudne, aw praktyce PRISM był znacznie szybszy.
Digital Equipment Corporation zaprojektowała również chip RISC o nazwie PRISM w tej samej epoce, ale projekt ten został anulowany w 1988 roku i nigdy nie wszedł do produkcji.