View Single Post
Old 08-02-2022, 09:42   #5
CrapaDiLegno
Senior Member
 
Iscritto dal: Jan 2011
Messaggi: 3920
Quote:
Originariamente inviato da demon77 Guarda i messaggi
Non capisco.
Passi il ragionamento che X86 non sarà più la sola e ci sarà concorrenza, ma perchè addirittura promuovere risc-v?

Che poi, X86 è CISC.. è complicata ma sicuramente ha pure un set di istruzioni complesse belle toste che poi quando servono fanno la differenza.
Un RISC ha un set di istruzioni misero e quindi quando c'è qualche cosa complessa saltano fuori pesanti limiti.
Se espandi RISC con istruzioni aggiuntive alla fine lo fai divnetare CISC.

A sto punto non ha più senso cedere anche ad altri la licenza X86?
La differenza tra RISC e CISC sta in molte più cose che nel numero di istruzioni nell'ISA.
La semplicità di RISC in prima battuta sta nella dimensione fissa delle istruzioni, cosa che invece complica in maniera abnorme le istruzioni CISC, soprattutto x86 che hanno lunghezze diverse e variabili.
Poi ci sta la capacità di indirizzamento delle istruzioni: le istruzioni RISC non fanno accesso diretto alla memoria ma usano solo i registri (abbonanti mica per niente, rispetto ai 4 in croce dell'architettura x86), lasciano l'accesso diretto solo alle istruzioni di load/store. Le istruzioni CISC che permettono l'accesso diretto alla memoria complicano un sacco le unità di elaborazione e creano stalli nell'esecuzione non prevedibili rallentando l'IPC in maniera sensibile.

L'idea che il set di istruzioni RISC non possa essere espanso è sbagliata. ARM infatti prevede l'uso di istruzioni diverse per unità esterne che non sono parte dell'architettura standard. Ma l'estensione è fatta rispettando le linee guida di un set RISC (come detto sopra), e non mettendo istruzioni "a caso" (spesso ridondanti) con lunghezza "a caso" (1, 2, 4, 6, 12 word) che tanto poi ci pensa il decoder a sistemare tutto e questo poi non sa nemmeno se tutta l'istruzione sta nella linea di cache che ha recuperato in memoria fino a quando non la decodifica.

Le istruzioni CISC andavano bene quando il problema era la dimensione del codice e lo spazio di storage era un problema. Che è l'unica contro indicazione delle istruzioni RISC.
Ora non c'è alcuna ragione per creare un set di istruzioni CISC, e infatti tutte le ISA sopravvissute negli anni diverse da x86 e quelle nate dopo sono tutte RISC.
E tutte performano meglio consumando meno a parità di complessità circuitale. Quindi il fatto che le istruzioni CISC vengano poi tradotte in istruzioni RISC internamente non aiuta se non parzialmente a tutti i difetti di queste ISA.

L'unica cosa che tiene in vita x86 è la retro-compatibilità. Ancora rimpiango il giorno in cui AMD ha creato x86-64 facendo sopravvivere quel Frankenstein che non ha fatto che peggiorare ulteriormente. Il tutto ovviamente per mantenere la compatibilità con il passato.

Non sono un fan Apple, ma mi ha fatto piacere che abbia dimostrato senza se e senza ma che x86 è una architettura morta e che è possibile realizzare alternative migliori. La speranza è che altri seguano la stessa strada, ma il fallimento dell'acquisizione di Nvidia osteggiato da tutti i grandi player mi fa pensare che questo non sia l'intenzione di aziende che preferiscono prendere "quello che passa la parrocchia" che tanto va bene così per il mercato in cui operano. Tanti rivoli separati non saranno mai in grado di ottenere quello che possono fare insieme. E tutti questi rivoli arrivano a malapena alle capacità di investimento di Apple.

Ultima modifica di CrapaDiLegno : 08-02-2022 alle 09:44.
CrapaDiLegno è offline   Rispondi citando il messaggio o parte di esso
 
1