Intel i860

A Wikipédiából, a szabad enciklopédiából
Intel i860
Intel i860 XP A80860XP-50 L4190197 top.jpg
Intel i860 microprocessor (50 MHz XP edition)

Gyártás 1989-től az 1990-es évek közepéig
Gyártó Intel
Max CPU órajel 25 MHz – 50 MHz
Architektúra RISC
Magok száma 1

Az Intel i860 – más jelöléssel 80860 – az Intel egyik RISC típusú mikroprocesszora. 1989-ben bocsátották ki. Az i860 volt az Intel második kísérlete egy teljesen új, magasan fejlett utasításkészlet implementálására a 80-as években megbukott Intel i432 processzor után. Megjelenését jelentős harsonaszó kísérte, ami kissé elhomályosította a korábban megjelent Intel i960 processzort, amely sikeres volt a beágyazott rendszerek és mikrovezérlők felhasználási körében. és amelyet sokan jobb kialakításnak tartottak. Az i860-as üzletileg nem volt sikeres, ezért fejlesztését és gyártását az 1990-es évek közepén leállították.

Andy Grove szerint az i860-as üzleti sikertelenségét a cég túlságosan elaprózott tevékenysége okozta:

Most volt két nagyon erős csipünk, amiket majdnem egyidőben mutattunk be: a 486, amely erősen a CISC technológiára támaszkodik és kompatibilis az összes PC szoftverrel, és az i860, amely a RISC technológián alapul, nagyon gyors, de semmivel sem kompatibilis. Nem tudtuk, hogy mit csináljunk, így mindkettőt bemutattuk, a piacra bízva a választást. ... a bizonytalankodásunk miatt az ügyfeleink is gondolkodóba estek, hogy vajon melyiket is támogatjuk, a 486-ot vagy az i860-at?
Andy Grove,[1]

Technikai jellemzők[szerkesztés | forrásszöveg szerkesztése]

Az i860 számos, a maga idejében egyedülálló jellemzőt egyesített,[2] nevezetesen a nagyon hosszú utasításszó ill. VLIW architektúra alkalmazását és a nagysebességű lebegőpontos műveletek hatékony támogatását. A kialakítás fő részeit a 32 bites ALU „mag” és a 64 bites FPU alkotja, ez utóbbi maga is három részből áll: egy összeadó, egy szorzó és egy grafikus processzor egység kombinációja. A rendszerben külön futószalagok szolgálnak az ALU, a lebegőpontos összeadó és a szorzóegység utasításainak végrehajtására, így a processzor egy órajel alatt akár három utasítás végrehajtására képes – pontosabban egy egészértékű utasítás és egy lebegőpontos szorzó-összeadó utasítás végrejatására egy órajelciklus alatt.

Az összes sín legalább 64 bit széles; a belső memória és a gyorsítótár közötti sín pl. 128 bit szélességű. Az ALU 32, az FPU szintén 32 regisztert tartalmaz, azonban az FPU a saját regiszterkészletét tizenhat 64 bites regiszterként használja. Az ALU számára egyszerre két utasítás hívódik le, a külső sín teljes kihasználása érdekében. Az IEEE[2] és az Intel egyaránt „i860 64-Bit Microprocessor”, „i860 64 bites mikroprocesszor” elnevezéssel emlegeti.

Az Intel i860 utasításai[3] által kezelt adatformátumok 8 bitestől 128 bitesig terjednek.

A grafikai egység a maga korában egyedülálló volt. Ez alapvetően egy 64 bites egészértékű (integer) egység, amely a FPU regisztereit nyolc 128 bites regiszterként kezeli. Utasításkészletében az alap 64 bites egész aritmetikai utasítások mellett számos SIMD-szerű utasítással is rendelkezik. Az i860-asnál szerzett tapasztalatok nagy hatással voltak az MMX utasításkészlet funkcionalitásának kialakítására, amely először az Intel Pentium processzoraiban jelent meg.

Az i860-as egy szokatlan jellemzője, hogy a funkcionális egységek sínjei programból elérhetőek, amely rendkívüli körültekintést és óvatosságot követelt meg a fordítóprogramoktól a tárgykód utasításainak sorbaállításakor, a sínek folyamatos kitöltése érdekében. A tradicionális architektúrákban ezeket a feladatokat futási időben maga a CPU-ban lévő ütemező végzi, de az ilyen rendszerek komplexitása korlátozta széleskörű elterjedésüket a korai RISC tervekben (a RISC paradigma egyébként is nagyobb hangsúlyt helyez a fordítóprogramokra az utasítássorozat optimális kialakításában). Az i860 tervezésekor ezt a feladatot megkísérelték teljes egészében kivenni a csipből és a fordítóprogramra hárítani. Ezáltal az i860 funkcionális egységei nagyobb területet kaphattak, ami növelte a teljesítményt.

Az architektúra jellemzőiből következően az i860-as rendkívül nagy sebességgel hajtott végre bizonyos grafikai és lebegőpontos algoritmusokat, az általános alkalmazásokban azonban a teljesítménye gyengébb volt, amellett rendkívül nehéz volt hatékonyan programozni (ld. alább).

Teljesítmény (-problémák)[szerkesztés | forrásszöveg szerkesztése]

Papíron az egycsipes megoldás teljesítménye nagyon hatékonynak / lenyűgözőnek tűnt, a gyakorlatban azonban minden volt, csak nem ez. Az egyik a maga idejében valószínűleg fel nem ismert probléma volt, hogy a futásidejű kód-útvonalakat igen nehéz volt megjósolni/előrejelezni, ami rendkívül megnehezíti az utasítások helyes sorrendjének előállítását fordítási időben (a program lefordításakor). Például, egy két számot összeadó utasítás futása jelentősen több időt vesz igénybe, ha az adatok nincsenek a gyorsítótárban, a programozónak azonban nincs módja megtudni, hogy ott vannak-e vagy sem. Rossz döntés esetén az egész utasításfutószalag megakad és várakozik az adatokra. Az i860-as teljes kialakítása arra a feltételezésre alapult, hogy a fordítóprogram hatékonyan képes ellátni a fenti feladatot, ami a gyakorlatban majdnem lehetetlennek bizonyult.

A processzor XP verzióinak elméleti csúcsteljesítménye 60-80 MFLOPS körül lehetett, mind az egyszeres pontosságú, mind a duplapontos műveleteknél,[4] a kézileg kódolt assemblerekkel legfeljebb 40 MFLOPS teljesítmény volt elérhető, és a legtöbb fordítóprogramnak nehézséget okozott még a 10 MFLOPS sebesség elérése is.

Egy másik komoly probléma volt a kontextusváltás (context switch) gyors kezelését szolgáló bármilyen megoldás hiánya. Az i860-asnak több futószalagja is van (az ALU és az FPU számára), egy megszakításnak ezeket gyorsan ki kell üríteni majd újra feltölteni. Ez a legjobb esetben 62 órajelciklust igényelt, és 2000 órajelciklust a legrosszabb esetben. Ez utóbbi 40 MHz-es órajel esetén már a másodperc 1/20000-ed része (50 mikromásodperc), ami az örökkévalósággal egyenlő a mikroprocesszoroknál. Ez a tulajdonság gyakorlatilag kizárta az i860-at az általános célú CPU-k köréből.

Változatok és alkalmazásuk[szerkesztés | forrásszöveg szerkesztése]

Három i860 XP-50 CPU egy áramköri lapon az Intel Paragon XP/S szuperszámítógépéből.
Az Intel i860 XR

A processzor két változatban készült, az XR jelű alapverzó (kódneve N10), és az XP (kódneve N11). Az XP nagyobb gyorsítótárakat kapott, emellett egy második szintű gyorsítótárat, gyorsabb síneket és hardveres buszfigyelés támogatással is ellátták, ami a gyorsítótár-konzisztencia fenntartására szolgál a párhuzamos számítástechnikai rendszerekben. Az XR 25-től 40 MHz-ig terjedő órajeleken működik, később egy kicsinyítés (1 mikrométerről 0,8 mikrométerre) az XP esetén alkalmazott folyamatban 40 és 50 MHz-re növelte az XR órajelét is. Mindkét típus ugyanazt az utasításkészletet tartalmazza.

Eleinte az i860-ast csak néhány nagyon nagy gépben alkalmazták, mint pl. az Intel iPSC/860 a Los Alamos National Laboratory-ban. A fordítóprogramok fejlődésével az i860 teljesítménye is nőtt, de ekkorra a legtöbb más RISC kialakítás teljesítménye meghaladta az i860-ét.

Az Intel egy ideig tesztelte az i860 életképességét munkaállomások CPU-ja szerepében, amivel a MIPS architektúra és más gyártók csipjeivel versengett volna. A Microsoft a később Windows NT-vé vált rendszerének fejlesztését egy „házi” ill. cégen belüli fejlesztésű i860XR-alapú Dazzle kódnevű munkaállomáson folytatta, az NT rendszert csak készőbb portolta MIPS (Microsoft Jazz), Intel 386 és más processzorokra. Az NT jelölés eredetileg az angol „N-Ten”, azaz az i860 XR processzor N10 kódnevének rövidítését jelentette.[5]

Az i860-as bizonyos szerephez jutott még a munkaállomások világában, mint grafikus gyorsítóeszköz. Felhasználta például a NeXTdimension munkaállomás, amelyben a processzor egy csökkentett Mach kernel alatt futtatta a teljes PostScript szoftverkészletet. A tervezet PostScript része azonban sohasem készült el teljesen, végül mindössze színes pixelek mozgatására volt képes. Ebben a szerepben az i860-as design határozottan jobban teljesített, mivel a programmagot a gyorsítótárba lehetett tölteni és ezáltal teljes egészében „megjósolhatóvá” vált a végrehajtás, ami lehetővé tette a fordítóprogramoknak a helyes utasítássorrend felállítását. A Truevision készített egy i860-alapú gyorsítókártyát, amelyet a Targa és Vista framebuffer kártyáikban kívántak felhasználni. A Pixar elkészítette a RenderMan egy speciális verzióját ezekre a kártyákra, amely ezáltal négyszer gyorsabban futott, mint egy 386-os gazdagépen. Egy másik példa a SGI RealityEngine, amelyben több i860XP processzort tartalmazott a geometriai feldolgozórendszerében. Ez a fajta felhasználás is szép lassan megszűnt, ahogy egyre több általános célú CPU érte utol és haladta meg az i860-as teljesítményét, és az Intel egyre nagyobb hangsúlyt helyezett a Pentium processzorai és az általános célú számítástechnika fejlesztésére.

A Mercury Computer Systems i860-ast alkalmazott saját multicomputer gépében. Ebben 2-től 360-ig terjedő számú számítási csomópont (node) helyezkedhet el egy vastag fa struktúrát alkalmazó kapcsolóáramkörben, minden egyes csomópont rendelkezik helyi (lokális) memóriával, amely más csomópontokhoz is leképezhető. Ebben a heterogén rendszerben a csomópontok lehetnek i860-as vagy PowerPC processzorok, vagy három összekapcsolt SHARC DSP is alkothat egy csomópontot. Az i860 assembly nyelven írt jelfeldolgozó funkciókat tartalmazó könyvtára jó teljesítményt mutatott. A hardver maximum 360 csomópontja 9U rack egységet foglal, ezáltal mobil alkalmazásokban használható, pl. alkalmas volt fedélzeti radarfeldolgozásra.

Az 1990-es évek elején a Stratus Technologies készített i860-alapú szervereket, ez volt az XA/R sorozat; ezek a gépek a cég saját Stratus VOS operációs rendszerét futtatták.[6]

Az 1990-es évek végén az Intel ARM-alapú tervekkel váltotta fel az összes RISC fejlesztési vonalat, ez az XScale terméksorozat. Kisebb zavart okozott a 860-as szám újrahasznosítása, amelyet az Intel a Xeon processzorok alaplapi vezérlő csipkészleteinek jelölésére kezdett később használni.

Jegyzetek[szerkesztés | forrásszöveg szerkesztése]

  1. Intel’s 486 CPU turns 15 (angol nyelven). Geek.com, 2004. június 3
  2. ^ a b Les Kohn, Neal Margulis (1989. July/Aug.). „Introducing the Intel i860 64-Bit Microprocessor”. IEEE Micro 9 (4), 15-30. o. DOI:10.1109/40.31485. Hozzáférés ideje: 2013. szeptember 28.  
  3. i860 64-Bit Microprocessor -- An original specification THE ADVANCE INFORMATION 1989 (angol nyelven) (jpeg). Smithsonian Institution, 2008. június 1
  4. Oleg Yu. Repin, Alexei S. Pylkin: Intel i860 : 64-Bit Microprocessor (english nyelven). sscc.ru, ICMMG, 2000. [2009. június 23-i dátummal az eredetiből archiválva]. (Hozzáférés: 2013. szeptember 27.)
  5. Thurrott, Paul: Windows Server 2003: The Road To Gold. Win super site, 2003. január 24. (Hozzáférés: 2013. szeptember 2.)
  6. Paul Green: Stratus Machine History (angol nyelven) (txt). Stratus, 2013. június 3

Fordítás[szerkesztés | forrásszöveg szerkesztése]

Ez a szócikk részben vagy egészben az Intel i860 című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel.

Források[szerkesztés | forrásszöveg szerkesztése]

  • Margulis, Neal. i860 Microprocessor Architecture. Osborne/McGraw-Hill (1990). ISBN 0-07-881645-9 

További információk[szerkesztés | forrásszöveg szerkesztése]

Kapcsolódó szócikkek[szerkesztés | forrásszöveg szerkesztése]

Commons
A Wikimédia Commons tartalmaz i860 témájú médiaállományokat.