Reverse HyperThreading: solo rumors
Mai confermate ufficialmente da AMD, le notizie su una possibile tecnologia che unifichi due core in uno vengono smentite
di Paolo Corsini pubblicata il 11 Luglio 2006, alle 11:14 nel canale ProcessoriAMD










Le soluzioni FSP per il 2026: potenza e IA al centro
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
Un hotel italiano fa incetta di recensioni a 5 stelle: merito di Arc Riders
OnePlus Nord 5 in super offerta su Amazon: top di gamma 'flagship killer' con 12GB + 512GB a prezzo minimo
L'innovazione in tournée: arrivano gli Innovation Meetup, si parte da Milano
Addio al caos dei gruppi Whatsapp: arriva la cronologia dei messaggi per i nuovi membri
Il nuovo chip a 2 nm di Samsung si mostra in un nuovo benchmark che mette alla prova la GPU
IBM Enterprise Advantage: consulenza personalizzata per sviluppare applicazioni di IA aziendali
Samsung celebra Milano Cortina 2026 con la campagna “Victory Is a Team Sport”
Aritmie cardiache, cresce il numero di casi scoperti grazie agli smartwatch
Rinviato il secondo lancio del razzo spaziale europeo Isar Aerospace Spectrum a causa di un problema tecnico
iPhone 18 Pro: Dynamic Island più piccola del 35% rispetto al modello precedente
Pazzesco successo di Xiaomi: la nuova SU7 ha già 100.000 ordini, negozi con più di 400 ciascuno
Il terzo lancio del razzo spaziale Blue Origin New Glenn porterà in orbita il satellite di AST SpaceMobile
Tesla toglie la componente umana dai Robotaxi ad Austin: ora Musk punta al 'tutto senza supervisione' negli USA








34 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoscusate signori... una CPU non funziona cosi'. Una CPU ha un'unita' di controllo che si occupa di eseguire le istruzioni del programma il sequenza. Poi i processori odierni operano scamuffi vari, come tradurle in un formato piu' omogeneo, eseguire in parallelo e fuori ordine e riordinarle solo alla fine... ma il flusso di programma e' unico. 2 processori distinti non potranno MAI eseguire lo stesso flusso, perche' si pesterebbero i piedi a vicenda e occorrerebbe una circuiteria di arbitraggio tra i due che sarebbe lenta e vanificherebbe ogni possibile incremento prestazionale che si otterrebbe... qui mi si propone di staccare cache ecc ecc... questo e' IMPROPONIBILE. L'unica soluzione sarebbe soltanto quella di avere una sola control unit e piu' unita' in parallelo. Questo pero' si puo' fare solo su un solo core, non su due core; e staccare cache non e' che sia cosi' semplice, visto che tutte le unita' di instruction fetching e di load/store degli operandi lavorano hard coded nella loro cache L1!
Continuo a sostenere che sia fantainformatica... poi puo' darsi che venga smentito...
scusate signori... una CPU non funziona cosi'. Una CPU ha un'unita' di controllo che si occupa di eseguire le istruzioni del programma il sequenza. Poi i processori odierni operano scamuffi vari, come tradurle in un formato piu' omogeneo, eseguire in parallelo e fuori ordine e riordinarle solo alla fine... ma il flusso di programma e' unico. 2 processori distinti non potranno MAI eseguire lo stesso flusso, perche' si pesterebbero i piedi a vicenda e occorrerebbe una circuiteria di arbitraggio tra i due che sarebbe lenta e vanificherebbe ogni possibile incremento prestazionale che si otterrebbe... qui mi si propone di staccare cache ecc ecc... questo e' IMPROPONIBILE. L'unica soluzione sarebbe soltanto quella di avere una sola control unit e piu' unita' in parallelo. Questo pero' si puo' fare solo su un solo core, non su due core; e staccare cache non e' che sia cosi' semplice, visto che tutte le unita' di instruction fetching e di load/store degli operandi lavorano hard coded nella loro cache L1!
Continuo a sostenere che sia fantainformatica... poi puo' darsi che venga smentito...
Nessuno sta dicendo che due core eseguano lo stesso flusso, ma che in determinate condizioni si possa riconfigurare la CPU per lavorare come un solo core con il doppio delle unità di esecuzione (ma non il doppio delle capacità
E notare che non sto dicendo che questa notizia sia vera o meno, ma semplicemente che la cosa potrebbe essere fattibile e che ci sono dei brevetti di AMD al riguardo. Potrebbero essere comunque soltanto rumors sparsi in giro allo scopo di stornare l'attenzione da Conroe
Infatti, resta tuttavia il fatto che (secondo me) sia mooooooolto più semplice "prevedere" l'indipendenza di un flusso di istruzioni partendo dal codice sorgente e soprattutto sapendo COSA FA tale codice. Una simile previsione su un codice macchina, magari con frequenti interruzioni dovute a istruzioni dipendenti fra loro la vedo ardua
Il problema è che il codice può essere facilmente parallelizzato a livello di thread, ma cosa si fa quando un thread è non parallelizzabile e molto esoso in termini di risorse? Parallelizzare a livello di singole istruzioni è molto complicato a livello di codice, e se ci sono problemi ad avere interruzioni per istruzioni dipendenti in un singolo core, figurati che succede quando un'istruzione dipende da un'altra da eseguire su un altro core
in fondo gia' oggi ci sono piu' pipeline nei single core, fare vedere piu' core come unico non dovrebbe essere molto difficile con l'architettura con L3 condivisa, anzi, e' proprio questo il vantaggio:
in modulo multicore ogni singolo core ha la sua L1 e L2, ed accede alla L3 per bufferizzare le pagine d'immediato prossimo utilizzo invece che spedirle in ram;
in modulo virtuale monoprocessore le L1 e L2 vengono disabilitate, e la L3 viene divisa in L2 unica e L1 grande x4 (per via degli indirizzi di esecuzione), ed una dato prefect engine si occupa di gestire le varie pipeline dei vari core indistintamente, come prima si occupava di gestire le diverse pipeline del singolo core.
con l'architettura odierna sarebbe poco praticabile, in quanto la caches L2/L1 di un core dev'essere disabilitata ed accedere per bus esterno a quella dell'altro core, introducendo latenze che sommate ridurrebbero di molto la velocita'; un dual cosi' fatto, oltre a richiedere comunque una nuova revisione di maschera per gli adattamenti, non sarebbe tanto piu' veloce di un mono di pari frequenza, anzi, non toccherebbe nemmeno l'usuale 50% in piu' dei normali sistemi dual processor (un core non ha caches!), e se bisogna rifarlo, allora conviene la L3 condivisa ed un quad...
quindi crredo che sul K8 odierno non verra' mai preso in considerazione.
Morale della favola: tecnologia poco utile
Non ho detto questo, tutto dipende se e come dovrebbe essere implementata.
in fondo gia' oggi ci sono piu' pipeline nei single core, fare vedere piu' core come unico non dovrebbe essere molto difficile con l'architettura con L3 condivisa, anzi, e' proprio questo il vantaggio:
in modulo multicore ogni singolo core ha la sua L1 e L2, ed accede alla L3 per bufferizzare le pagine d'immediato prossimo utilizzo invece che spedirle in ram;
in modulo virtuale monoprocessore le L1 e L2 vengono disabilitate, e la L3 viene divisa in L2 unica e L1 grande x4 (per via degli indirizzi di esecuzione), ed una dato prefect engine si occupa di gestire le varie pipeline dei vari core indistintamente, come prima si occupava di gestire le diverse pipeline del singolo core.
con l'architettura odierna sarebbe poco praticabile, in quanto la caches L2/L1 di un core dev'essere disabilitata ed accedere per bus esterno a quella dell'altro core, introducendo latenze che sommate ridurrebbero di molto la velocita'; un dual cosi' fatto, oltre a richiedere comunque una nuova revisione di maschera per gli adattamenti, non sarebbe tanto piu' veloce di un mono di pari frequenza, anzi, non toccherebbe nemmeno l'usuale 50% in piu' dei normali sistemi dual processor (un core non ha caches!), e se bisogna rifarlo, allora conviene la L3 condivisa ed un quad...
quindi crredo che sul K8 odierno non verra' mai preso in considerazione.
In verità pensavo che si potessero usare solo le cache l1 e l2 del primo core (in dual core) e il suo decoder/fetcher, mentre le pipeline e le unità di esecuzione verrebero messe a disposizione dal secondo al primo core.
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".