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









Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
Blizzard licenzia un dipendente: usava gli strumenti da GM su WoW per superare le spedizioni
Un'IA di OpenAI aggira i test e viola i server di HuggingFace: marketing o reale minaccia?
Adesso c'è un modo per preordinare il nuovo Samsung Galaxy Watch 9 con uno sconto di 150€, ecco come fare
HP Envy 6120e a 49,95€: la stampante multifunzione A4 che costa pochissimo e punta tutto su stampa fronte retro, scanner e Wi-Fi
Design rivisto per WhatsApp: bolle arrotondate e interfaccia minimale su iOS
Chiude la fabbrica dei PureTech: la cinghia a bagno d'olio 'scioglie' anche lo stabilimento storico di Douvrin
Microsoft si arrende: permetterà di disattivare del tutto il tasto Copilot su Windows 11
Tineco FLOOR ONE S7 Pro a 249€: la scopa lavapavimenti cordless che pulisce con acqua pulita e non lascia zone scoperte
Flickr cancella gli account mai usati: basta un login entro il 31 agosto
AMD felicissima per le prestazioni della CPU NVIDIA Vera: EPYC Venice in vantaggio, oltre le aspettative
Hisense 43'' 4K e Haier 50'' 4K a 199€: due Smart TV economiche oggi a prezzi speciali
WORX WG743E a 199€: il tosaerba a batteria 40V che ora costa circa la metà del suo prezzo normale
Chiede aiuto per un crash su Steam, si ritrova un miner nascosto in Windows









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".