|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
...due parole sull'itanium...
...volevo fare due chiacchere con quulache esperto per sapere qual'è il cruccio che nn permette a tale procio di avere prestazioni decenti nell'emulazione di software a 32 bit...
|
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Aug 2003
Città: Loano (Savona)
Messaggi: 1430
|
a parte l'ovvio (le emulazioni portano a un degrado di prestazioni), penso che sia perchè le istruzioni x86 sono poco parallelizzabili, mentre Itanium prevede un approccio chiamato EPIC (Explicitly Parallel Instruction Computing)
Quote:
![]() comunque prova a cercare nei meandri di www.lithium.it in pratica credo che i punti deboli di uno siano i punti forti dell'altro, che quindi non vengono sfruttati appieno
__________________
Membro Anziano dell'HWU Automotive Team Auto Storiche Group Alfa Romeo 33 stradale 1967 Intel Core i7 2600K -Asus P8P67 EVO - 16Gb G.Skill - Radeon 6850 - SSD Samsung 840 Pro PC2 Thinkpad T410 - PC3 Athlon64 x2 3800@2.8GHz DFI Lanparty NF4 UltraD TG DDR600 7600GT Raptor74 Ultima modifica di Mauro82 : 08-09-2004 alle 18:03. |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2000
Città: Ferrara
Messaggi: 2001
|
Bè, non me ne intendo molto dell'architettura dei processori ma penso che l'esecuzione di istruzioni x86-32 da parte degli itanium sia una specie di optional, una cosa in più messa lì solo per avere un minimo di compatibilità con questo tipo di applicazioni...
Probabilmente se ci avessero lavorato su seriamente l'emulazione funzionerebbe molto meglio ma nei sistemi in cui è impiegato l'itanium questa funzione non è particolarmente importante perchè tutto il software importante è appositamente ricompilato... Tutto questo ovviamente imho...
__________________
Ryzen 5 5600X, 32GB DDR4-3000MHz, Asrock B550M-Pro4, Case Fractal Design Dfine Mini, SSD Samsung 980Pro 500GB http://www.flickr.com/photos/paoloberno/ |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2003
Messaggi: 2113
|
Il discosro Itanium è un pò complesso... Cercherò di spiegare qualcosa senza ne essere troopo tecnico ne troppo scarno di particolari.
Allora: Nei processori normali (x86-32) la sequenza di istruzioni che arriva al processore entra in un buffer, ed in base alle risosre disponibili le istruzioni vengono lanciate (issue) su una pipeline libera. Più istruzioni possono essere lanciate in parallelo, e visto che la latenza di completamento è diversa le istruzioni possono essere completate fuori ordine. Questo è un problema, ovviamente le istruzioni devono essere completate nella corretta sequenza, o almeno comunicate al di fuori dal core nel giusto ordine. Tutto questo è compito di una parte del procio, il reorder buffer; il lancio di più istruzioni in parallelo è necessario per aumentare le prestazioni, poi ci pensa il reorder a rimetterle a posto. Nei processori Itanium le cose funzionano in maniera completamente diversa; le istruzioni non arrivano al processore nell'ordine del programma... Già in fase di compilazione dei sorgenti le istruzioni vengono "ordinate" in modo da poter essere eseguite in parallelo, senza controllare eventuali dipendenze.. ecc.. Questo rende l'esecuzione mooooolto più rapida, perchè si sfruttano tutte le risorse del processore, avendo una serie di istruzioni (4 per clock) sempre indipendenti, o almeno con dipendenze gestite dal compilatore, che ha moooolto più tempo per trovare i giusti "incastri" per ordinate le istruzioni di un programma. Per questo motivo Itanium con x86-32 è messo così male... Non avendo ne un reorder buffer, ne tantomento una unita di issueing delle istruzioni dinamica, non può trattare le istruzioni così come gli arrivano dal programma. Serve una specie di compilazione a run-time per l'esecuzione nell'ordine corretto; il che lo porta ad avere prestazioni paragonabili a processori di 5-6 anni fa per quanto riguarda il codice a 32bit. Le motivazioni che hanno spinto Intel a costruire l'Itanium sono dovute al fatto che l'architettura x86-32 è vecchia di più di vent'anni; ed è abbastanza inefficiente nella meggior parte delle applicazioni moderne... purtroppo però per mantenere la compatibilità con le applicazioni... ci si porta dietro sta architettura da sempre... Spero di essere stato abbastanza chiaro, se volete discutere altri particolari dell'architettura VLIW (Very Long Instuction Word) quella dell'Itanium... bè ditemelo... ![]() Davide.
__________________
In ogni secolo abbiamo pensato di aver capito definitivamente l'universo e, in ogni secolo, si è capito di avere sbagliato. Da ciò segue che l'unica cosa certa che possiamo dire oggi sulle nostre attuali conoscenze è che sono sbagliate. Isaac Asimov |
![]() |
![]() |
![]() |
#6 |
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
...troppo gentili
![]() |
![]() |
![]() |
![]() |
#7 |
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
...ma c'è la possibilità che l' x86-32 venga sostituito o è possibile continuare su questa strada?...ma qual'è il fattore che spinge a continuare su questa strada?...la sola compatibilità o anche la possibilità bene o male di mantenere le prestazioni ad un livello sufficiente?...ed un ultima cosa...l'itanium digerisce qualsiasi codice o in particolari situazioni potrebbe avere dei problemi?...nel senso...una tecnologia come la sua è pensata per particolari situazioni di calcolo o potrebbe gestire bene qualsasi tipo di software se ottimizzato?...e questa ottimizzazione sarebbe facile da gestire ed implementare?...
![]() |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 2003
Messaggi: 2113
|
La X86-32 andrà avanti ancora per un bel pò... forse avremo qualche cambiamento quando tutti i proci saranno a 64 bit... ma ne dubito...
Le prestazioni dei proci ottenibili con la tecnologia attuale potrebbero essere moooolto maggiori con un'altra architettura (vedi appunto l'Itanium), quindi la x86 non si mantiene per quello. La seconda domanda... non ho capito bene... Se intendi se l'Itanium digerisce ogni applicativo a 32bit... bè, si... ma talvolta le prestazioni sono al livello di un 386.
__________________
In ogni secolo abbiamo pensato di aver capito definitivamente l'universo e, in ogni secolo, si è capito di avere sbagliato. Da ciò segue che l'unica cosa certa che possiamo dire oggi sulle nostre attuali conoscenze è che sono sbagliate. Isaac Asimov |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 984
|
dico anch'io qualcosa ...
nell x86-32 si ha solo 4 registri di uso generale .... quindi si deve fare tutto con questi. Viceversa l'Itanium ha 64 registri e quindi può parallelizzare molte instruzioni, Esempio : MOV R1,R2 e MOV R8,R11 vengono eseguite nello stesso ciclo di clock. |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Aug 2000
Messaggi: 17963
|
appunto perchè parli di emulazione dovresti sapere che le prestazioni del codice emulato sono sempre base rispetto alla potenza impiegata, inpiù se ci metti l'architettura totalmente differente dalla x86 hai quei risulatati
__________________
. |
![]() |
![]() |
![]() |
#11 | |
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
Quote:
![]() Ultima modifica di ally : 09-09-2004 alle 23:00. |
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Jul 2003
Messaggi: 2113
|
Se i programmi venissero compilati tutti per IA64 andrebbero sicuramente come una bomba...
Il problema è avere tutto il resto (dal S.O. che gestica tutto ai driver... ecc... tutti da rifare...)
__________________
In ogni secolo abbiamo pensato di aver capito definitivamente l'universo e, in ogni secolo, si è capito di avere sbagliato. Da ciò segue che l'unica cosa certa che possiamo dire oggi sulle nostre attuali conoscenze è che sono sbagliate. Isaac Asimov |
![]() |
![]() |
![]() |
#13 | ||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
Quote:
Quote:
![]() Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||||
![]() |
![]() |
![]() |
#14 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
![]() |
![]() |
![]() |
#15 | |||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
E' chiaro che in emulazione x86-32 è una chiavica, ma chi compra un Itanium oggi lo fa per farci girare applicazioni nel suo ambiente naturale, ma le scarse prestazioni di questi processori, fatta eccezione per ciò che ho scritto sopra, sono davanti gli occhi di tutti...
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Infatti. Processori con un'architettura "bellissima" e "ultraperformante", ma che hanno bisogno di tonnellate di cache per lavorare decentemente, debbo ancora vederne...
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Apr 2004
Messaggi: 984
|
Quote:
per uso generale sono 4 : EAX, EBX, ECX, EDX per uso puntatore a memoria altri 4 : ESP,EBP,ESI,EDI oltre ai registri di segmento, flag, ecc. x86_32 REGISTRI FLOAT a 80 Bit Stack ring composto da 8 registri ST(0)...ST(7) ITANIUM2 : 64 REGISTRI x INTERI 128 REGISTRI x FLOATING POINT ![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:03.