Intel i860

De Viquipèdia
Dreceres ràpides: navegació, cerca
Microprocessador Intel i860

L'Intel i860 (també conegut com a 80860, i nom codi N10) era un microprocessador RISC d'Intel, llançat el 1989. El i860 va ser, juntament amb l'i960, un dels primers intents d'una Arquitectura de Conjunt d'Instruccions (Instrucció setembre Architecture, ISA) completament nova i d'alt nivell des del fallit Intel i432 dels anys 1980. Va ser llançat amb considerable fanfàrria, i enfosquir el llançament del Intel i960 que molts consideraven era un millor disseny. El i860 mai va arribar èxit comercial i el projecte va ser acabat a mitjans dels anys 1990. El xip va ser usat en subsistemes gràfics d'alt nivell com la targeta d'expansió "NeXT Dimension" per al NeXT Cube.

Característiques tècniques[modifica | modifica el codi]

El i860 combina unes característiques que eren úniques en aquest temps, el més notable fou la seva arquitectura VLIW (Very Long Instruction Word) i un bon suport per a operacions d'alta velocitat de coma flotant. El disseny va muntar una ALU de 32 bits juntament amb una FPU de 64 bits que en si mateixa va ser feta en tres parts, un processador sumador, un multiplicador, i un gràfic. El sistema tenia pipelines separats per al ALU, el sumador i el multiplicador, i podia manejar fins a tres instruccions per cicle de rellotge.

Una característica bastant inusual del i860 era que les pipelines en les unitats funcionals eren accessibles pels programes, requerint als compiladors ordenar acuradament les instruccions en el codi d'objecte per mantenir les pipelines plenes. Això arribava algunes de les mateixes metes de l'arquitectura dels microprocessadors RISC, on microcodi complex, un tipus de compilador al vol, va ser remogut del nucli de la CPU i col·locat al compilador. Això conduïa a una nucli més simple, amb més espai disponible per a altres treballs, però resultava en un codi molt més gran, amb un impacte negatiu en encerts en la memòria cau, amplada de banda de la memòria, i cost total del sistema. Com a resultat de la seva arquitectura, el i860 podia córrer certs gràfics i algorismes de coma flotant amb excepcionalment alta velocitat, però el seu acompliment en aplicacions de propòsit general va patir i era difícil programar eficientment (veure a baix).

Tots els busos eren de 64 bits d'ample o més. El bus de memòria intern cap al cache, per exemple, va ser 128 bits d'ample. Ambdues unitats tenien 32 registres de 32 bits, però el FPU feia servir el seu conjunt com 16 registres de 64 bits. Les instruccions per al ALU van ser llegides (fetch) dos alhora per utilitzar completament el bus extern. Intel es va referir sempre al disseny com el "microprocessador de 64 Bits i860".

La unitat de gràfics era única per l'era. Era essencialment una unitat de nombres enters de 64 bits usant els registres del FPU. Suportar un nombre de comandes per a instruccions similar a les SIMD En addició a aritmètica bàsica d'enters de 64 bits. L'experiència amb el i860 influenciar la funcionalitat MMX posteriormentea grega als processadors Intel Pentium.

Problemes d'acompliment[modifica | modifica el codi]

L'exercici descrit en el paper era impressionant per a una solució d'un sol xip, però el rendiment en el món real era completament diferent. Un problema, potser desconegut en aquest llavors, era que les trajectòries del codi de runtime eren difícils de predir, el que significava que arribava a ser excessivament difícil d'ordenar correctament les instruccions en temps de compilació. Per exemple, una instrucció per sumar dos nombres duraria considerablement més temps si les dades no estiguessin en la memòria cau, però, per al programador no hi havia cap manera de saber si les dades estaven o no en la memòria cau. Si no encertava, la pipeline sencera s'embossaria, esperant per dades. El disseny sencer del i860 estava basat en l'eficiència del compilador per a manejar aquesta tasca, que en la pràctica va provar ser gairebé impossible. Mentre que teòricament era capaç de tenir pics de prop de 60 MFLOPs per les versions XP, el codi assemblador escrit a mà aconseguia tenir, en el millor dels casos, fins a 40 MFLOPS, i la majoria dels compiladors tenien dificultat per aconseguir fins i tot 10 MFLOPS.

Un altre seriós problema era la manca de qualsevol solució per a gestionar ràpidament la commutació de context. El i860 tenia diverses pipelines (per les parts del ALU i del FPU) i una interrupció podia vessar i requerir que tots ells fossin recarregats. Això prenia 62 cicles en el millor cas, i gairebé 2.000 cicles en el pitjor. L'últim és 1/20000 de un segon, una eternitat per a un CPU. Això va eliminar en gran part al i860 com un CPU de propòsits generals.

Versions i aplicacions[modifica | modifica el codi]

Tres CPUs i860 XP en un tauler de circuit del supercomputador Paragon XP/S de Intel

El xip va ser comercialitzat en dues versions, el XR bàsic, i el XP win7 (nom codi N11 ). El XP va afegir caches més grans en el xip, un cache de segon nivell, busos més ràpids, i suport en maquinari per tafanejar el bus, per consistència del cache en sistemes de computació paral·lela. El XR va córrer a 25 o 40 MHz, i un reducció de mida en el procés de fabricació del XP (d'1-0,8 micròmetres) va llançar al XR a 40 ia 50 MHz Tots dos van córrer el mateix conjunt d'instruccions.

Al principi el i860 va ser només usat en un nombre petit de molt grans màquines, com el iPSC/860 al Laboratori Nacional Los Alamos. A mesura que els compiladors millorar, el desenvolupament general del i860 també ho va fer, però per llavors la majoria dels altres dissenys RISC ja l'havien passat en rendiment.

Per un temps, Intel va provar la viabilitat del i860 com un CPU de estació de treball, competint amb xips d'arquitectura MIPS i altres. Microsoft va traslladar realment una versió primerenca del Windows NT al 860, però el desenvolupament no era substancialment millor que les noves versions i386, i aquest esforç va ser abandonat.

El i860 va veure un cert ús en el món de les estacions de treball com un accelerador gràfic. Va ser usat, per exemple, en el NeXTDimension, on va córrer una versió reduïda del Mach kernel corrent un PostScript complet. En aquest rol, el disseny del i860 treballava considerablement millor a mesura que el nucli del programa podia ser carregat en la memòria cau fent completament "predictible", permetent als compiladors obtenir l'ordre correcte. Un altre exemple va ser SGI Onyx Reality Engine 2, que usava un nombre de processadors i860XP al motor de geometria. Aquesta classe d'ús lentament va desaparèixer a mesura que més CPU de propòsit general van començar a aparellar el rendiment del i860's, i llavors, Intel va perdre l'interès.

Al final dels anys 1990 Intel substituir la seva línia sencera de RISC per dissenys basats en el ARM, coneguts com el Intel XScale. Confusament, el nom i860 ha estat des de llavors sent reutilitzat per a un chipset de control de la targeta mare per a sistemes Intel Xeon, un Pentium d'alt nivell.

Enllaços externs[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Intel i860