Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 25 reacties
Bron: ExtremeTech

ExtremeTech had er weer eens zin in en heeft een review in elkaar gedraaid over 64 bit processors, specifiek gericht op de Itanium. In het eerste gedeelte van het review wordt er vooral besproken wat IA-64 inhoudt en wat de Itanium daarmee te maken heeft. Hierna wordt de Itanium besproken, maar hoewel deze processor al uit is worden er geen harde feiten neergelegd worden over de prestaties, alleen gefundeerde en gefilosofeerde gissingen .

De IA-64 architectuur is een implementatie van de door HP en Intel ontwikkelde EPIC filosofie, die gebaseerd is op het laten uitvoeren van de planning en distributie van de instructies door de compiler, in plaats van door een unit binnen de processor zoals bij IA-32 het geval is. Dit komt voor een deel overeen met RISC, waarbij de compiler ook een grote rol speelt in het op volgorde zetten van de code. IA-64 is echter vooral gericht op parallelliteit:

Internally, Itanium is a six-issue processor, meaning it can profitably handle six instructions simultaneously. It's also a VLIW (very long instruction word) machine with some enhancements for added flexibility in instruction groupings, less code expansion than classic VLIW designs, and better scalability, to permit wider parallel instruction issue in future IA-64 processors. Thus Intel prefers the term EPIC: Explicitly Parallel Instruction-set Computing. Itanium has nine execution units and future IA-64 processors will probably have more. The nine are grouped into two integer units, two combo integer-and-load/store units, two floating-point units, and three branch units. These four groups are significant, as we shall see in a moment.

[...] Where Itanium differs from SPARC is that Intel makes it automatic. Itanium's register save engine (RSE) is an automated circuit within the processor that oversees filling and spilling registers to/from the stack when the register file overflows or underflows. Unlike SPARC, Itanium's RSE handles this task automatically and invisibly to software. SPARC, in contrast, raises a fault that must be handled in software.

Itanium die

Eén van de opvallende aspecten aan de IA-64 is dat deze processor slechts één indirect register heeft voor geheugenadressering. Hoewel een register een grootte van 64 bit heeft, zou dit toch limiterend kunnen werken. Hierdoor wordt echter een te gecompliceerd ontwerp vermeden, wat precies de filosofie achter dit ontwerp van Intel is. Verder is de Itanium 64 bit compatibel met de eerdere Intel x86 instructies, zoals MMX, SSE, protected, real mode en virtual 8086. Het is zelfs mogelijk om een operating system in x86 modus te draaien, alleen zullen de prestaties niet al te denderend zijn. Ook is IA-64 voorbereid op de verdere toekomst en zit er nog rek in de architectuur zodat mogelijke modificaties niet al te veel problemen hoeven op te leveren. Het artikel gaat veel dieper in op de IA-64 structuur dan in deze samenvatting kan worden weergegeven, dus voor de geïnteresseerden is dit een zeer boeiend en aantrekkelijk review om te lezen.

Met dank aan RawPeanut voor de tip die hij aan ons heeft doorgegeven.

Moderatie-faq Wijzig weergave

Reacties (25)

Er zijn wel wat vernieuwde technieken te vinden ten opzichte van de IA-32-architectuur, maar over het algemeen is het meer een allegaartje van verzamelde concepten en technieken met een Intelsmaakje.
Als je geen verstand hebt van de dingen waarover je bericht, hou dan wijzelijk je mond ipv domme uitspraken te doen zoals hierboven.

De EPIC structuur is veel meer dan een aanvulling op ia-32, het is totaal anders aankijken tegen hoe een processor gecompileerde code uitvoert. Dat er dan weinig instructies zijn is logisch: wat vroeger in microcode zat zit nu in instructies voor de proc zelf, de microcode is in feite vervangen door VLIW instructies: bijvoorbeeld 10x12 uitvoeren is hetzelfde als 10 keer 12 bijelkaar optellen. Dit kun je dus in de itanium in 2 keer uitvoeren: 6 instructies tegelijk en daarna nog 4 instructies tegelijk. Wat krom voorbeeld, maar zo werkt de proc. Een RISC is het dus niet, want die heeft geen 6 onafhankelijke execution units, maar 1.

Dat je meteen ziet dat de compiler (en een runtime JIT daarnaast) de optimizing moeten doen is hopelijk duidelijk. Dat daardoor bij de huidige stand van compilers de itanium nog wat steekjes laat vallen is ook hopelijk duidelijk. Dat hij echter in het meest optimale geval een 4.8GHz processor is, ookal draait hij op 800MHz, is hopelijk OOK duidelijk (6 * 800MHz).

Dit een allegaartje noemen van technieken met een 'intel sausje' is niet alleen aangeven dat je de ballen verstand hebt van wat de Itanium voorstelt, maar ook dat je niet snapt wat er werkelijk zo belangrijk is aan de itanium en waar de sterke en zwakke punten liggen.

edit:

Ik zie in het plaatje dat er staat 'decode'. De Itanium hoeft niets te decoderen. de instructie is meteen toepasbaar op de internal circuits, omdat microprogramming ontbreekt, dat is juist het hele idee van de itanium
Ik zie in het plaatje dat er staat 'decode'. De Itanium hoeft niets te decoderen.
De IA32 instructies bij mijn weten wel, maar dat decode is idd wat verwarrend. Die IA32 instructies stuurt ie nl. door naar de IA32-controller, die de code intern naar IA64 zou moeten omzetten.

Dat laatste kost overigens aardig wat tijd, want effectief moet ie de hele cpu plat leggen om aan een stukje IA32 te kunnen werken om daarna, wederom via een switch, aan IA64 code te kunnen werken. Vandaar dat die compatibilteits testen ook wat tegenvallend zijn qua snelheid.

Gezien dat Intel echter met name veel mensen en kennis van Compaq heeft overgenomen mbt de compilertechnieken voor de alpha-cpus zal dat denk ik wel goed gaan komen.
Inderdaad, die ia-32 instructies.

Maar eigenlijk denk ik dat ze de transmeta-crusoe methode gaan toepassen, dus dat je een JIT (niet jij ;)) in hardware hebt op de chip die ia-32 instructies vertaalt naar ia-64 instructies. Je hebt dan altijd wel wat verlies, want de optimalisaties mis je, maar het lijkt me allicht sneller dan wat ze nu toepassen.
Voor de tweakers die goed op de hoogte zijn van deze processor staat hier natuurlijk niets nieuws en onbegrijpelijks in. Maar voor de iets minder goed geinformeerde mensen is deze review niet echt begrijpelijk.

Daarom raad ik aan om eerst deze revieuw van tweakers.net zelf te lezen zodat je op een iets betere manier ingeleid wordt.
Ookal is die revieuw een jaar oud hij geeft volgens mij toch een goed beeld over de Itanium.
Sterke neiging naar RISC? Lees: Verder is de Itanium 64-bit compatibel met de eerdere Intel x86-instructies, zoals MMX, SSE, Protected, Real Mode en Virtual 8086...

Niet echt Reduced Instruction Set wel?

Het word zeker wel een vet procje, zondermeer. Lekker Seti pakketjes crunchen :P
Nee, OK, hij is backwards-compatible. Dat wil niet zeggen dat zijn nieuwe 64-bit features niet RISC-like zijn.
Dat zal zeker zo zijn, maar overall is het naar mijn inziens dus een dikke Pentium Pro met wat rommel van de PIV en een RISC in de blender en smullen maar :9

edit:
En dan ook wel een 64 bit blender gebruiken hè
toch klopt het wel, intern gaat de CPU sterk richting RISC alleen voor de buitenwereld zijn ook x86 instructies beschikbaar, die worden intern gewoon op een heel andere manier afgehandeld.
Jaja, dus doordat x86 instructies 'intern' anders worden afgehandeld zou deze processor meer RISC like zijn.. :Z Das onzin. Als deze processor x86 kan verstaan dan zijn daar (op wat voor manier dan ook) intern instructies voor nodig. RISC heeft minder instructies en om x86 te kunnen babbellen heeft de processor instuctie sets nodig waardoor deze procesor dus steeds minder RISC-like word. Dat de opbouw op een RISC lijkt, prima. Maar voor de rest komt deze processor nog niet in de buurt. |:(
De kern is gewoon RISC (een set relatief eenvoudige instructies, NIET noodzakelijkerwijs een kleine set), en daar zit dan een soort preprocessor bij die x86 naar EPIC vertaald, en die niet gebruikt wordt wanneer de processor native aangesproken wordt.

Kent de Itanium nu eigenlijk voorwaardelijke instructies? Kan een hoop schelen bij code die slecht te voorspellen is.

De ARM kent dat bijvoorbeeld. Hierbij hoeft de pijplijn niet geleegd te worden wanneer de sprongvoorspeller het mis had. De instructie(s) worden gewoon helemaal doorgevoerd, waarna het resultaat niet gebruikt / opgeslagen wordt.

Op die manier is het mogelijk de testinstructie en de instructie binnen de voorwaarde in dezelfde EPIC instructie te stoppen. Tegen het einde van de pijplijn als het resultaat definitief gemaakt wordt, is ook precies het resultaat van de voorwaarde bekend, en kan op dat moment het definitief maken geblokkeerd worden.
Hmmm je zou nu een cpu specialist nodig hebben maar ik dacht altijd dat die SSE instructies en dergelijke bij CISC chips wilden zeggen dat zedie instructies lekker snel of zelfs in 1 keer zouden kunnen uitvoeren.
Het directe nadeel ervan was dat vele van die instructies niet altijd nodig zijn.

In het geval van RISC kan je nog steeds dergelijke instructies laten uitvoeren maar hij zal er meer bewerkingen voor moeten doen om tot hetzelfde resultaat te komen. Op deze manier gebruik je dan geen features die nutteloos resources in beslag nemen maar doe je sommige berekeningen wel meerdere keren. Als dit lekker geoptimaliseerd gebeurd kan dat wel op een snelheidswinst uitdraaien.
Uit het artikel valt op te maken dat de IA-64 architectuur veel gelijkenissen vertoont met de RISC-architectuur

maar over het algemeen is het meer een allegaartje van verzamelde concepten en technieken met een Intelsmaakje
en even verder..
It's also a VLIW (very long instruction word)
VLIW is een techniek waarbij een instruktie meerdere paralel uit te voeren instrukties bevat. Oftwel een stapje complexer dan RISC. Dat er dan meerdere RISC engines op de core zit betekent dus niet dat het een RISC machine is. En al helemaal niet een allegaartje van zaken met een INTEL sausje. HP en INTEL hebben er jaren aan gewerkt, en hun stinkende bezt moeten doen om de zeer moeilijke opdracht werkend te krijgen.

Er waren al eerdere pogingen gedaan om een VLIW processor te bouwen, ik d8 bij mit en stanford maar dat kan ook ergens anders geweest zijn. Die zijn ermee gekapt omdat het niet haalbaar bleek om zelfs maar een langzaam protoype te fabrieken. Laat staan een snelle productieversie.
Er waren al eerdere pogingen gedaan om een VLIW processor te bouwen, ik d8 bij mit en stanford maar dat kan ook ergens anders geweest zijn. Die zijn ermee gekapt omdat het niet haalbaar bleek om zelfs maar een langzaam protoype te fabrieken. Laat staan een snelle productieversie
Ahem, ik wil niet opscheppen ofzo, maar Philips Semiconductors heeft al jaren een hele mooie VLIW processor, TriMedia genaamd. Deze 32 bits processor kan 5 instructies tegelijk, 128 registers, max 64MB sdram, dedicated MEG2 decodering hardware, 5 digital audio I/0's, video in, video uit, etc. Laatste exemplaren lopen op 180MHz max. Hij kan bijvoorbeeld real time MPEG4 encodering doen.
Cores zijn nu verkrijgbaar tot 270MHz. Philips heeft een paar jaar geleden TriMedia verzelfstandigd, maar werkt er zelf ook nog steeds aan. Jammer genoeg is naar mijn weten de 64 bits versie even op ijs gezet. Die zou ook een memory management unit erbij moeten krijgen.
Zie http://www.trimedia.com/products/briefs/cores.html
voor performance vergelijking en http://www.semiconductors.philips.com/trimedia/products
Ziet er stoer uit

waneer komen ze uit?
De Itanium is al een tijdje uit, alleen is die niet veel verkocht omdat het echt nog een eerste probeersel van Intel was/is waardoor het nog niet interessant genoeg is, of genoeg performacewinst geeft om echt gebruikt te worden.

De bedrijven die wel een Itanium hebben, doen dit in nauwe samenwerking met Intel, dat doet Intel en vooral om ervaring op te doen met de Itanium in productieomgevingen.

De Itanium is wel gewoon te koop dus.

Binnenkort komt de opvolger op de markt die naar de naam McKinley luisterd en die 2x zo snel wordt klok-voor-klok als we Intel mogen geloven. Dat zal ook de eerste IA-64 CPU zijn die ook echt voor de verkoop is bedoeld, en aangezien Intel nu een berg meer ervaring heeft opgedaan met de compiler en omdat er steeds meer programma's en OS'en komen die native IA-64 support hebben, zal de McKinley meer verkocht gaan worden dan de Itanium.
Gek eigenlijk dat Extremetech niet eerst eens verder heeft gekeken dan hun neus lang is
Hierna wordt de Itanium besproken, maar omdat er officieel nog geen Itanium uit is, kunnen er nog geen harde feiten neergelegd worden over de prestaties, alleen gefundeerde en gefilosofeerde gissingen.
Want zoals Beaves al zegt, hij is er al lang al
Ze filosoferen niet over de bestaande Merced, maar over toekomstige mogelijkheden.
Hierna wordt de Itanium besproken - hoewel de Itanium al uit is - worden er geen harde feiten neergelegd worden over de prestaties, alleen gefundeerde en gefilosofeerde gissingen.
Het is nogal lastig om aan testresultaten voor tweakers (dus niet de officiële benchmarkresultaten van Intel) te komen. Zo’n Itanium-systeem kun je bijvoorbeeld bij Fujitsu-Siemens kopen voor ongeveer 25.000 Euro. Bedrijven die zo veel geld willen neerleggen voor een computer waar nog geen software voor beschikbaar is, gebruiken dat ding over het algemeen als ontwikkelplatform. Begrijpelijk dat niemand even zo’n systeempje wil uitlenen voor wat benchmarkgepiel. Daar komt nog bij dat de standaard benchmarkprogramma’s zich heel erg verslikken IA64.
Wij hebben voor wat testen zo'n Dual Itanium systeempje staan. Ik wil'm graag benchmarken met RC5, maar ik zag geen IA-64 client staan....
Onder Linux bestaat geen IA-64 client, alleen x86 en dan wordt het waarschijnlijk een 800 MHz computer, niet zo spannend dus...
Hoe snel graast de }:O op dat ding?
Ongeveer 100k /s :(
En ja, dat is ongeveer de snelheid van een Pentium@90 Mhz ;(

Ik mag hopen dat dat de IA32 client (dus niet native) is...
Dus een sterke neiging om richting RISC te gana. Da's niet slecht!
die neiging is er al lang, de P3 en P4 etc. zijn van binnen (zegmaar onzichtbaar voor programmeur) ook al heel erg RISC, alleen voor de buitenwereld hebben ze nog steeds de ranzige x86 instructies.
IA64 instructie set zou VLIW (Very Large Instruction W??) RISC (Reduced Instruction Set). Volgens mij lijken alle processoren van tegenwoordig intern op RIsc processoren vanwege de steeds verdergaande standardisatie van de core en omdat dit omdat de grote instructies op die manier beter opgesplitst kunnen worden over diverse units etc. Maar om nou te zeggen dat de Itanium grote overeenkomsten met Risc vertoond gaat regerecht tegen mijn beeldvorming van de Itanium in. Het was juist de bedoeling complexere instructies te maken om zo tot een hogere efficientie in de core te kunnen komen.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True