Newsgroup: it.comp.hardware.cpu
Titolo: ricordi informatici ( e HT del p4 )

Ricordo che quando usci' il pentium, dicevano che integrava due core 486
E' vero.
E se e' vero, ha qualcosa a che fare con L' attuale HT del pentiun4 ?
Ciao.

 E se e' vero, ha qualcosa a che fare con L' attuale HT del pentiun4 ?
Manco per niente. Nel Pentium si trattava della suddivisione delle
istruzioni in due linee di esecuzione. L'HyperThreading agisce in modo da
far sì che esistano come due processori (che sono "logici", perché in
effetti il processore è uno solo), ed ognuno di essi si occupa di un singolo
"thread", vale a dire dell'esecuzione di un singolo pacchetto di istruzioni,
che risulterà pertanto slegato (almeno a livello di singole istruzioni) dal
thread eseguito dall'altro processore logico.
Anche qui l'IPC non è che si raddoppi, in primis perché le risorse del
processore sono sempre quelle e devono essere spartite tra i due processori
logici. E' ovvio quindi che in certe condizioni l'HyperThreading addirittura
penalizzi le prestazioni.
Spero di non aver detto troppe fesserie. :-)
MaxArt

nessuna fesseria i fatti stanno proprio così!
Comunque non ho mai capito cos costava ad AMD ed Intel aggiungere altri
registri in chiaro all'ISA x86.. se si aggiungessero ora l'HT decollerebbe
di certo, utilizzando il primo set per un thread ed un secondo per l'altro e
cos' via anzicchè utilizzare sempre le stesse risorse (moooolto limitate per
quello che vede il programmatore).
"MaxArt" <maxa...@ZEROSPAMtiscali.it> ha scritto nel messaggio
news:athkna$sr4$1...@lacerta.tiscalinet.it...


 E se e' vero, ha qualcosa a che fare con L' attuale HT del pentiun4 ?
No, qui la suddivisione dell'elaborazione è a livello di thread invece che
di
intere istruzioni e avviene grazie alla presenza di un circuto di
supervsione
che riesce a smistare i thread che possono essere eseguiti parallelamente
tra le due unità di esecuzione del P4.
Naturalmente perchè l'HT possa dare il meglio di se è necessario che
l'applicazione sia programmata per sfruttare il multithreading, anche
se una migliore efficienza è presente anche se si eseguono più applicativi
in modo contemporaneo.
Ciao

quello che vede il programmatore).
AMD lo farà, in Hammer (li raddoppia)... per il resto non è così
facile, per sfruttarli bisognerebbe ricompilare tutto e addio
compatibilità con CPU precedenti, purtroppo.
-- 
ZHELGADIS THE LIGHTBRINGER (ICQ 33134824)
BAG #008,DPPSJ #000,BAT #013,TFC #012, GAMERDA #026
"Aspettare non è mai stato un problema, per me.
Posso trascorrere piacevolmente ore e ore con l'aiuto di un buon caffè"

 ha scritto nel
messaggio news:lv78PW1Q84VKpG...@4ax.com...


anche essere inutile il discorso.
E' diverso. MMX e SSE erano istruzioni aggiuntive SIMD e non registri,
che poi esistessero registri per i dati su cui agivano queste
istruzioni e' un altro paio di maniche ma la semplice esistenza di
un'istruzione non sacrifica compatibilita'.
-- 
try: troll = "Brain"
except TypeError, data: 
   troll.plonk()
Co-Responsabile Hardware Information & Technology 
http://hit.edengames.net

 un'istruzione non sacrifica compatibilita'.
appunto, e neanche la creazione di registri aggiuntivi..

 compatibilità con CPU precedenti, purtroppo.
Mi sfugge. In effetti i registri non sono altro che micromemorie interne del
processore... si tratterebbe di creare delle celle in più con cui far
lavorare la seconda CPU logica, no? Senza HT, verrebbero semplicemente
inutilizzati (beh...).
MaxArt

appunto, e neanche la creazione di registri aggiuntivi..
Si ma era sbagliato l'accostamento :)


 inutilizzati (beh...).
Di  registri shadow  che ne  sono gia`  un bel  po', e  le repliche  dei
registri x86 dovrebbero essere gia` presenti nei P4 con HT. Visto che su
un  unico processore  girano  flussi di  esecuzione  appartenenti a  due
contesti diversi, devono  esserci dei registri shadow  che permettono ai
due flussi di essere eseguiti in maniera indipendente.
Mi  spiego  meglio:  in  un  sistema  UP  ogni  processo  in  esecuzione
monopolizza la CPU. Quando bisogna  cambiare processo avviene un context
switch, i registri  del processo vengono salvati da  qualche parte nella
memoria, dalla memoria vengono caricati  i registri del nuovo processo e
l'esecuzione riparte.
Nei P4  con HT questo meccanismo  non funzionerebbe, perche` ci  sono in
esecuzione 2 processi. Devono esserci,  quindi, dei registri shadow (non
visibili  direttamente) che  permettono  di simulare  2 CPU. In  pratica
viene effettuato  un register renaming per  fare in modo che  non ci sia
interferenza  tra  i  due  processi. Il processo  crede  ad  esempio  di
leggere/scrive  eax,  ma  in  realta`  potrebbe  accedere  ad  un  altro
registro, allocato per simulare eax.
Nota  che  di  registri  shadow  ce ne  sono  in  abbondanza  nelle  CPU
moderne e vengono usati per  risolvere problemi di interdipendenza delle
istruzioni.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
"La teoria e` quando sappiamo come funzionano le cose ma non funzionano.
 La pratica e` quando le cose funzionano ma non sappiamo perche`.
 Abbiamo unito la teoria e la pratica: le cose non funzionano piu` e non
 sappiamo il perche`." -- A. Einstein

 registro, allocato per simulare eax.
 La tecnica del Register Renaming è utilizzata sin dai primi processori di
classe P6, non è una novità dei P4 e Hyper Threading...
Nei P4 dotati di HT si è aggiunto in pratica un secondo "supervisore"
che ha il compito di di rilevare  nelle pipeline, eventuali stadi inattivi
e in caso utilizzarli per l'elaborazione di nuovi thread in attesa.
Ciao

 classe P6, non è una novità dei P4 e Hyper Threading...
Lo so, forse sono stato poco chiaro :)
Kronos
-- 
Home: 
http://kronoz.cjb.net
Recursion n.:
	See Recursion.