Intel i960

Układ Intel i960 (inaczej 80960) jest mikroprocesorem o architekturze RISC, popularnym w początkach lat 90. jako mikrokontroler przeznaczony do systemów wbudowanych. Uzyskał on status najlepiej sprzedającego się układu w tej części rynku, rywalizując z chipem AMD 29000. Mimo sukcesu produktu, Intel zaprzestał działań marketingowych na jego rzecz w końcu lat 90., jako poboczny efekt porozumienia zawartego z firmą DEC, w myśl którego Intel otrzymał prawa do produkcji układów StrongARM. Procesor i960 nadal jest stosowany w pewnej liczbie rozwiązań wojskowych.

Pochodzenie układu

Mikroprocesor/mikrokontroler Intel i960

Prace konstrukcyjne nad układem i960 rozpoczęły się po klęsce produkowanego na początku lat 90. układu iAPX 432. Układ iAPX 432 miał w zamierzeniu obsługiwać bezpośrednio języki programowania wysokiego poziomu zezwalające na współpracę ze znaczoną i chronioną pamięcią pracującą w trybie "garbage collection", których przykłady to Ada i Lisp, a wszystko to od strony sprzętowej. Przez stopień skomplikowania zestawu instrukcji, implementacji wieloukładowej i innych wad konstrukcyjnych, układ iAPX 432 działał niezwykle wolno w porównaniu do pozostałych ówczesnych konstrukcji.

W roku 1984 firmy Intel i Siemens rozpoczęły współpracę w ramach projektu o nazwie BiiN, mającego doprowadzić do stworzenia wysokopoziomowego, odpornego na błędy i zorientowanego obiektowo systemu komputerowego napisanego w całości w języku Ada. Do projektu przyłączyło się wiele osób związanych z pracami nad i432, zaś nowym architektem głównym został pracownik IBM, Glenford Myers. Założonym przez projekt rynkiem dla rozwiązania BiiN był rynek zastosowań komputerowych wymagających niezawodności, takich jak systemy bankowe, systemy przemysłowe, czy elektrownie atomowe, a architektura systemu opierała się w dużej mierze na założeniach pamięci chronionej zastosowanych przy pracach nad układem i432.

Architektura

By uniknąć problemów z wydajnością, będących zmorą układu i432, architektura centralnego zestawu instrukcji została zaprojektowana jako RISC, lecz w pełni zastosowano ją tylko w wersji i960MX układu. Podsystem pamięci miał szerokość 33 bitów, co oznaczało stosowanie 32-bitowych słów i jednobitowego "znacznika" określającego korzystanie z pamięci chronionej. W wielu aspektach architektura układu i960 odpowiadała projektowi Berkeley RISC, szczególnie w dziedzinie wykorzystywania okien rejestrów i specyficznej dla konkretnych zastosowań ilości jednostek podręcznych przypadających na rejestr podwykonawczy (co pozwalało na szybkie wywoływanie jednostek wykonawczych). Rywalizujący z tą architekturą standard wprowadzony przez Stanford University, którego komercyjną nazwą był MIPS, nie korzystał z takich rozwiązań, lecz polegał na działaniach kompilatora, generujących optymalne wywołania podjednostek wykonawczych i kodu zwrotnego. Inaczej, niż zostało to rozwiązane w procesorach i386 (lecz nadal w zgodzie z większością rozwiązań 32-bitowych), układ i960 korzystał z płaskiej, 32-bitowej, przestrzeni pamięci, nie korzystając z mechanizmów segmentacji pamięci. Architektura układu zakładała również jego wykorzystanie w zastosowaniach superskalarnych, gdzie rozkazy są jednocześnie rozsyłane do więcej niż jednej jednostki procesora.

Wersje układu i960

Pierwsze procesory serii i960 pojawiły się we wrześniu 1985 i w tym samym miesiącu rozpoczęła się ich produkcja, zaś pierwsze działające układy były dostępne od końca tego samego roku. Wysiłki BiiN niestety spaliły na panewce, głównie ze względów marketingowych, zaś układ 960MX pozostał na rynku bez możliwego zastosowania. Myers próbował uratować model, ogłaszając kilka zestawów o zredukowanej w stosunku do oryginalnego pomysłu architekturze. Próbował też nakłonić firmę Intel do dalszej sprzedaży układu i960 (wtedy znanego pod nazwą "P7") jako procesora do zastosowań ogólnych, który mógłby zastąpić model 80286 i 80386, który wszedł w fazę produkcyjną w tym samym miesiącu, co pierwsze układy i960 oraz jako układu do pojawiających się na rynku zastosowań uniksowych opartych na układach architektury RISC, jednym zaś z celów działań miał być Steve Jobs z jego wynalazkiem pod nazwą NeXT. Zewnętrzna i wewnętrzna konkurencja układów intelowskich pochodziła wtedy nie tylko z obozu zwolenników procesora 80386, ale również Intel i860 - jeszcze jednego rozwiązania RISC rozwijanego w tym czasie przez Intela.

Myersowi nie udało się przekonać zarządu Intela o słuszności poparcia dla układu i960 jako procesora ogólnego dla zastosowań uniksowych, ale przed procesorem otworzył się rynek wczesnych wysokowydajnych 32-bitowych systemów wbudowanych. Architektura pamięci chronionej została uznana za technologię chroniona przez prawa do BiiN, więc nie była wspomniana w literaturze produktu i prowadziła do spekulacji nad przeznaczeniem pewnej liczby nóżek układu i960MC oznaczonych jako "nie połączone", jak też nad wielkością samego układu. Wersja rdzenia RISC pozbawiona jednostki zarządzania pamięcią i FPU została wprowadzona do obiegu pod symbolem i960KA, zaś rdzeń RISC z jednostką zmiennoprzecinkową jako i960KB. Wszystkie te wersje jednak miały identyczną zawartość obudowy układu, różniąc się wyłącznie oznaczeniem.

"Pełna" wersja i960MX nigdy nie była sprzedawana poza zastosowaniami wojskowymi, ale i960MC znalazł zastosowanie w wysokiej klasy zastosowaniach wbudowanych, zaś i960KA stał się udanym tanim 32-bitowym układem sterującym drukarkami laserowymi, jak też wczesnymi terminalami graficznymi i innymi zastosowaniami wbudowanymi. Sukces układu pozwolił na finansowe przeżycie następnych pokoleń rozwiązania, pozbawionych skomplikowanych mechanizmów zarządzania pamięcią.

Układ i960CA, którego premiera miała miejsce w lipcu 1989, był pierwszą pełną implementacją architektury RISC w rodzinie i960. Zawierał zaprojektowany na nowo superskalarny rdzeń RISC oraz nietypową, zintegrowaną z układem adresowalną pamięć podręczną, pozbawiono go jednak jednostek FPU i MMU, gdyż przeznaczony był do wysokowydajnych zastosowań wbudowanych. Układ i960CA uważa się za pierwszy jednoukładowy przykład architektury superskalarnej RISC. Mimo że kontrolery serii C zawierały tylko jedną jednostkę arytmetyczno-logiczną, potrafiły wysłać i wykonać instrukcję arytmetyczną, odwołanie do pamięci oraz instrukcję rozgałęziającą w tym samym czasie. Potrafiły też utrzymać dwie instrukcje w jednym cyklu zegara pod pewnymi warunkami. Pierwsze wersje układu działały z prędkością 33 MHz, Intel zaś w promocji produktu podawał osiąganą przez niego wydajność rzędu 66 MIPS. Mikroarchitektura i960 była rozwijana w latach 1987-1988, zaś jej oficjalne ogłoszenie nastąpiło 12 września 1989. Kolejna wersja chipa, i960CF została wzbogacona o jednostkę zmiennoprzecinkową, nadal jednak nie zawierała jednostki zarządzania pamięcią.

Wycofanie układu

Intel starał się wspierać układ i960 na rynku kontrolerów I/O zgodnych ze standardem I2O, lecz działania te nie przynosiły wymiernych skutków i prace projektowe ostatecznie upadły. Dodatkowo do połowy lat 90. stosunek mocy układu do jego ceny stał się o wiele mniej korzystny, niż w konkurencyjnych układach o nowszej konstrukcji, a Intel nigdy nie zdecydował się na produkcję i960 w wersji o zmniejszonym zapotrzebowaniu na energię elektryczną, która mogłaby być wykorzystywana w systemach zasilanych bateryjnie.

W roku 1990 zespół pracujący nad projektem i960 został przemianowany na "zespół zastępczy" pracujący równolegle do zespołu podstawowego nad następcą procesorów linii i386, szczególnie procesorem P6, który później ujrzał światło dzienne jako układ Pentium Pro. Projekt i960 został oddelegowany do mniejszego zespołu, co skazało go na wymarcie. Jednak układy serii i960 prawdopodobnie są cały czas stosowane w radarach lekkich indyjskich samolotów bojowych HAL Tejas. Włączenie tych maszyn do indyjskich sił powietrznych może nastąpić około roku 2010.

Kontroler i960 wciąż wykorzystuje się w maszynach do gier i zapewne będzie on tam stosowany tak długo, jak długo kontroler i960 będzie znajdować się w sprzedaży. Automaty korzystające z tych układów to "wrzutowce" należące do rodzin Stepper S2000 i Intel i960.

Linki zewnętrzne


Media użyte na tej stronie