|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2009
Messaggi: 1056
|
ISA intel core i7
Ciao a tutti
Sto preparando l esame di calcolatori elettronici per ingegneria.. Studiando il capitolo del livello Isa , il tanenbaum(testo di riferimento) tratta in linea generale l architettura x86 di cui fa parte la cpu intel i7( ora forse sarebbe x64 ma cosi riporta il libro ![]() Allora il testo dice che la cpu mantiene il completo supporto alle cpu intel della famiglia 8080 , 8086-88, gli ultimi cambimenti sulle istruzioni dei nuovi processori sarebbero le istruzioni multimediali mmx, sse e sse2 e nelle versioni più recenti sse4 ecc Ancora, il core i7 è dotato di tre modalità operative, modalità reale(si comporta come un 8088) modalità protetta e modalità virtuale .. I mie dubbi pero riguardavano i registri dedicati della cpu, dalla figura del testo sarebbero soltanto 16 registri di cui, i registri EAX EBX ECX EDX di uso generale a 32 bit altri CS SS .. a 16 bit che provengono dalle compatibilità del 8088 e gli ultimi EIP EFLAGS , ripettivamente program counter e program status word Ora mi domando, possibile che una cpu cosi moderna e alquanto veloce possegga solo questi pochi registri, in pratica verrebbe usato solo il primo gruppo da 4 registri per i dati e le istruzioni aritmetiche Mi sembra di aver capito che il core i7 faccia molti riferimenti allo stack per l elaborazione dei dati con molte operazioni di push e pop, dato che appunto ci sono pochi registri disponibili, al contrario di un architettura RISC ad esempio che limita gli accessi in memoria solo alle istruzioni LOAD e STORE , Cioè in questo modo le prestazioni con i continui accessi in memoria dovrebbero essere molto limitate o sbaglio Ciao grazie in anticipo ![]()
__________________
Alimentatore corsair RM650W-AMD ryzen 5 5600x - 16GB RAM DDR4 3600mhz- Dissipatore be quite dark rock 4- AMD RX6800XT - SSD Samsung 980PRO 1TB - CASE corsair ICUE 220T Asus rog strix 35" |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2095
|
Sì i registri per uso general purpose (operazioni con interi / puntatori più che altro) sono solo 8 un po' dei 4 che dici, ma sempre molto, molto pochi rispetto ad appunto RISC:
https://en.wikibooks.org/wiki/X86_As...ng_conventions Ci sono poi altri 8 registri per i calcoli in virgola mobile e basta! AMD quando ha creato AMD64 ha raddoppiato il numero di registri che quindi diventano 16 + 16 leggermente meglio... Come fa a funzionare in maniera decente? Beh direi ci sono due motivi:
__________________
Cosmos C# Open Source Managed Operating System Cosmos Thread Ufficiale Cosmos Official Site Vuoi collaborare allo sviluppo? Unisciti alla chat! Ultima modifica di fano : 24-08-2016 alle 18:57. |
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
I registri general purpose che riporti sono quelli dell'architettura a 32 bit, le rispettive versioni a 64 bit si chiamano RAX, RBX, RCX, e RDX. Di fatto i registri sono gli stessi, o, in altre parole, EAX sono i 32 bit bassi di RAX, EBX sono i 32 bit bassi di RBX, e cosi' via. L'architettura Intel a 64 bit poi dispone di altri registri general purpose per un totale di 16 come accenna fano, in piu' da quanto ne so questi 16 registri possono essere rinominati cosicche' sia possibile controllare a quale registro faccia riferimento una certa operazione senza modificare l'operazione stessa.
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2095
|
Diciamolo pure apertamente è probabilmente la peggiore architettura di CPU sul mercato (pochi registri, instruction set che contiene migliaia di istruzioni, "pacioccato" alla c*zzo di cane negli anni per aggiungere nuove funzionalità...) purtroppo quello che l'ha fatta sopravvivere era la retro compatibilità che ha fatto sì che archittetture migliori sia di altri (come RISC appunto) che di Intel stessa (come Itanium) non riuscirono mai ad affermarsi perché non erano appunto retro compatibili con x86!
Solo oggi con i cellulari / tablet ARM inizia ad avere qualche chanche...
__________________
Cosmos C# Open Source Managed Operating System Cosmos Thread Ufficiale Cosmos Official Site Vuoi collaborare allo sviluppo? Unisciti alla chat! |
![]() |
![]() |
![]() |
#5 | |
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
Quote:
![]() Anche perche', se non erro, questa retrocompatibilita' comporta che il processore parta effettivamente in modalita' reale e debba poi essere switchato in modalita' protetta dal software, quindi il primissimo passo di qualsiasi boot loader deve essere scritto in codice assembly 8086 come quello che girava negli anni 80. ![]() Per il resto x64 non mi sembra cosi' terribile, di certo 1000 volte meglio delle idiozie prive di senso umanamente intellegibile che si inventarono per gli 8086, come la segmentazione della memoria in cui i segmenti erano parzialmente sovrapposti. Molto utile, per nulla error-prone. ![]() Va da se' che avrei comunque preferito veder fiorire Itanium. |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Dec 2009
Messaggi: 1056
|
Non ci credo che un architettura cosi sia il "meglio" sul mercato , cioè un architettura RISC come un mips32 o 64 è davvero molto più elegante ed efficiente rispetto all x86, che in pratica sarebbe un architettura CISC con degli accorgimenti che fanno diventare l istrucion set di tipo risc, già le istruzioni di lunghezza variabile complicano di molto l architettura, figuriamoci poi tutte le altre soluzioni per le retrocompatibilità con 8086, il riordino delle istruzioni , gli hazard sulle istruzioni e sui dati ecc ecc
![]() Le pipeline quanto saranno complesse ? L unità di controllo , non ne parliamo.. ![]() Ma scusate un mips64 preso cosi, con la tecnologia attuale, con miliardi di transistor che potrebbero essere impiegati e con molte alu e fpu in parallelo , non sarebbe molto più veloce di un i7?? Comunque grazie per le risposte , io davvero non ci credevo al register file del i7 sul libro, pensavo che mancasse qualche pagina ![]()
__________________
Alimentatore corsair RM650W-AMD ryzen 5 5600x - 16GB RAM DDR4 3600mhz- Dissipatore be quite dark rock 4- AMD RX6800XT - SSD Samsung 980PRO 1TB - CASE corsair ICUE 220T Asus rog strix 35" |
![]() |
![]() |
![]() |
#7 | |||||||
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2095
|
Quote:
![]() Quote:
![]()
Sì assolutamente patetico... pensando che siamo nel 2016 inoltrato! Forse usando un BIOS (U)EFI si può partire direttamente in modalità "protetta" / "long mode", ma non sono nemmeno certo! Quote:
Quote:
![]() Quote:
Quote:
Quote:
Dai sarà per la prossima volta quando passeremo ai 128 Bit... tra 30 anni ![]() Dai comunque sono 8 anche se EBP non puoi davvero usarlo e ESP è lo stack, quindi forse sono 6...
__________________
Cosmos C# Open Source Managed Operating System Cosmos Thread Ufficiale Cosmos Official Site Vuoi collaborare allo sviluppo? Unisciti alla chat! Ultima modifica di fano : 25-08-2016 alle 01:34. |
|||||||
![]() |
![]() |
![]() |
#8 | |
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
Quote:
Direi che in definitiva l'architettura Intel soffre di due problemi: la mostruosa inerzia tecnologica e l'impossibilita' di rimuovere tecnologie per i quali non si sono mai sviluppati use cases rilevanti. |
|
![]() |
![]() |
![]() |
#9 | |
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
Quote:
2^64 invece se non erro sono 16 exabyte, altrettanto improbabile per prodotti consumer, pero' almeno ci permette di indicizzare piu' di 4 gigabyte, e questo e' molto comune. Quanto ai dati grezzi, gia' non si sentiva il bisogno di memorizzare numeri da 64 bit, motivo per cui nei i compilatori C e C++ a 64 bit la dimensione di int e long e' rimasta a 32 bit, figuriamoci 128. Secondo me con l'ampiezza del bus siamo arrivati, non serve altro. Il prossimo passo sono le macchine non deterministiche (i computer quantistici). |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Se non ricordo male già dalle CPU Intel Pentium Pro (1995), fisicamente i registri dati erano una decina invece dei soli 4 previsti dall'ISA X86 i quali venivano rimappati dinamicamente tramite Register Ranaming.
La micro-architettura P6 è sempre alla base dei Core di oggi. |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2095
|
Comunque dai non sono 4, ma ben 8!
http://www.cs.virginia.edu/~evans/cs216/guides/x86.html OK ESP e EBP di fatto non si possono usare se non per tenere puntatori allo stack, ma è leggermente meglio... certo se pensiamo che ci sono architetture che hanno 32 o 64 registri c'è da piangere ![]() Forse in parte OT, ma questo è un proof of concept di come potrebbe essere la CPU del futuro: http://forwardcom.info/#introduction
__________________
Cosmos C# Open Source Managed Operating System Cosmos Thread Ufficiale Cosmos Official Site Vuoi collaborare allo sviluppo? Unisciti alla chat! |
![]() |
![]() |
![]() |
#12 |
Junior Member
Iscritto dal: Sep 2016
Città: Roubaix
Messaggi: 3
|
Ho core I7 di 6 ° generazione, funziona alla grande.
|
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
![]() Sinceramente non so quanti ne abbiano fisicamente i nuovi Core, sarebbe un dato interessante per capire gli sviluppi della microarchitettura negli ultimi 20 anni. |
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Quote:
C'è un motivo per cui l'8086 a suo tempo fu implementato in quel modo, non è che alla Intel erano un gruppo di fessi. Scrivere l'ISA del futuro su un sito web è molto semplice, ma poi trasformarla in un microprocessore non lo è affatto! Forse il tipo, prima di pensare al formato dei file binari, dovrebbe capire quali sono le limitazioni pratiche di quello che propone. Tipo l'indicizzazione degli array a rovescio con 4 elementi in parallelo e la gestione del caso di lunghezza non multipla di 4 che è a metà della pagina. Contare gli elementi 1 a 1 comporta l'uso di un contatore a n-bit come indice del decoder di linea. Andare a saltelli come vuol fare lui comporta un bus molto più largo e una circuiteria di controllo molto più complessa.
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli! ![]() |
|
![]() |
![]() |
![]() |
#15 | ||||
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2095
|
Quote:
Quote:
https://en.wikipedia.org/wiki/Intel_iAPX_432 il loro problema è che aveva reso 8086 retro-compatibile con 8080 e quindi anche il processore a 32 bit avrebbe dovuto essere retro-compatibile con quello a 16 bit o la gente... beh non lo comprava! ... e infatti iApx 432 non se lo è ca*ato nessuno e Intel è stata costretta a rilasciare 486 di tutta fretta patchando un processore a 16 Bit per diventare a 32 bit! Quando hai un road map e diventa un colossale fallimento non è c'è da ridere devi tirar fuori qualcosa in fretta o IBM va da qualcun altro ![]() Non vorrei mai essere stato nei panni di quei poveracci che avevano credo la CPU del futuro e saranno stati licenziati tutti... in tronco! La storia si è ripetuta quasi 30 anni dopo con Itanium che doveva spaccare il mondo (e io l'ISA me la sono studiata era 100 volte meglio di x86!), ma la compatibilità con x86 era una chiavica (roba tipo Pentium 1 quando in giro c'erano già i Pentium 3!) e quindi nessuno se lo è filato e stavolta è andata peggio Intel ha puntato i piedi e AMD ha accrocchiato x64 al posto ed Intel è stata costretta a chiedere i "sorgenti" al nemico... chissà come ci hanno patito. Quote:
Cosmos userà probabilmente il formato PEXE (quello di Windows per far la semplice) io "ELF" non lo tocco nemmeno con un palo lungo venti metri ![]() Quote:
http://www.agner.org/optimize/#vectorclass comunque se vuoi chiedere direttamente a lui come ha intenzione di risolvere questo problema non ti resta che chiederglielo: http://www.agner.org/optimize/blog/read.php?i=634
__________________
Cosmos C# Open Source Managed Operating System Cosmos Thread Ufficiale Cosmos Official Site Vuoi collaborare allo sviluppo? Unisciti alla chat! |
||||
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Dec 2009
Messaggi: 1056
|
You win
![]()
__________________
Alimentatore corsair RM650W-AMD ryzen 5 5600x - 16GB RAM DDR4 3600mhz- Dissipatore be quite dark rock 4- AMD RX6800XT - SSD Samsung 980PRO 1TB - CASE corsair ICUE 220T Asus rog strix 35" |
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: May 2001
Messaggi: 12840
|
Quote:
Ma è quella che ha le implementazioni più performanti nel calcolo general purpose. E nell'ultimo periodo possiamo anche affermare che i processori x86 se la battono in efficienza (se parliamo di performance per watt) con i processori basati su ARM. Il problema di Itanium leggendo la storia è stato principalmente la difficoltà nel fare compilatori ottimizzanti per questa architettura. Purtroppo non basta l'eleganza di una architettura per rendere le implementazioni performanti e/o ben supportate, bisogna considerare anche la disponibilità e l'efficacia dei tool di sviluppo. Ultima modifica di WarDuck : 04-09-2016 alle 10:44. |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Itanium non è mai stata pensata come architettura mainstream. Una CPU costa(va) anche 9000$. Caso mai poteva essere un concorrente per Power. Ma con X86 ormai perennemente presente nella TOP500 a che serve un'architettura teoricamente migliore? Quasi nessun utilizzo necessita di qualcosa che vada oltre le capacità attuali dell'architettura X86.
L'unico settore è il basso consumo, ma ce la vorrei vedere una versione a basso consumo di Itanium... |
![]() |
![]() |
![]() |
#19 | |
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
Quote:
![]() Ho difficolta' a crederlo, secondo me gli obiettivi iniziali di Itanium erano diversi. |
|
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
Se tanto mi da' tanto, il fatto che Intel si sia ritirata dal mercato mobile, la dice lunga... |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:12.