Quote:
Originariamente inviato da Sp3cialFx
O tiri fuori numeri / fonti a suffragio delle tue tesi, o non vieni a dire né che il traduttore implementato in HW è meno performante di un traduttore implementato in SW come Rosetta.
|
E dalle...no, non ho numeri da mostrare. Ma già stai sbagliando, perchè nelle CPU non c'è nessun traduttore hardware che traduce al volo dall'ISA esterna a quella interna della CPU. Ripeto che si tratta di (1) un decoder che implementa tanti circuiti, ognuno attivato da un certa istruzione/un certo set d'istruzioni dell'ISA esterna, (2) una rom con dentro delle subroutine scritte nel linguaggio macchina della CPU sottostante per alcune istruzioni dell'ISA esterna. E' totalmente diversa da come funziona un traduttore binario software.
E ribadisco che non c'è una cache, in cui mettere il codice nativo tradotto per poter riutilizzare.
Quote:
Originariamente inviato da Sp3cialFx
Fa la stessa cosa in tempo reale.
|
Definisci tempo reale in questo contesto.
Quote:
Originariamente inviato da Sp3cialFx
Se fosse meno performante ovviamente lo implementeresti lato SW.
|
Implementi il microcodice via software? Dando via i segreti industriali nascosti nel tuo design hardware? Geniale!
Quote:
Originariamente inviato da Sp3cialFx
Le CPU x86 hanno visto un sacco di modalità in cui potevano esser messe, potresti fare la modalità "native microcode".
|
Come se il bloating non mancasse nel mondo x86. Please...
Quote:
Originariamente inviato da Sp3cialFx
Il microcode lo generi a livello di OS con l'equivalente di Rosetta fatto direttamente da Intel / AMD.
|
Tutto disaccoppiato dalla CPU e portato su ogni singolo OS da supportare....e gli altri OS fanno la birra? Semplicemente non possono usare la CPU?
Quote:
Originariamente inviato da Sp3cialFx
Cmq Cfranco dice che l'efficienza è 96/97%. Uno dei due ha torto.
|
Pure l'efficienza di un traduttore binario software si attesta su quei livelli. Parliamo comunque di un 80% e più nel caso medio. Poi ci sono i benchmark sintetici, dove puoi sfruttare il caching a manetta e arrivi vicinissmo al 100%.
E poi c'è tutto il discorso sulla parte hardware, che ho fatto sopra, che ti fa capire perchè ha senso usare qualcos'altro ( magari realizzato ex novo ) rispetto a x86 o anche ARM, che pure ha il suo legacy.
Si parlava di RISC-V e di come potrebbe fare le scarpe pure ad ARM. Ed è possibilissimo. E non è semplicemente una questione di microdice, ma di quanti transistor puoi liberare, non dovendo supportare funzionalità legacy.
Esempio banale: se ritornassimo indietro, levassimo il microcodice, e progammassimo direttamente nel linguaggio macchina della CPU, avremmo un miglioramento? Si, perchè avremmo meno transistor/li potrebbe usare per implementare ulteriori unità funzionali, utili a scopi pratici.