TECNOLOGIA HYPER THREADING.

Intel, e i processori logici.

Articolo di Grando Ruggero 21/05/2003.


Database sempre più complessi, videogiochi caratterizzati da animazioni realistiche, motori di ricerca capaci di connettere migliaia di siti internet, e streaming media eseguiti in tempo reale, esigono un gran quantitativo di risorse hardware. Intel, per far fronte a richieste hardware così esose, ha sviluppato e proposto una nuova tecnologia: l' Hyper Threading. In poche parole, con tale espediente, un processore fisico è stato diviso in due cpu logiche, in grado di eseguire più istruzioni in parallelo. In questo articolo cercheremo di capire il funzionamento, e di svelare i segreti (ammesso c'è ne siano) di questa innovazione introdotta da Intel.

PROCESSI, THREAD E PROGRAMMI.

Prima di introdurre una descrizione della tecnologia Hyper Threading, proviamo a capire quali sono le differenze concettuali tra processo, thread e programma.

In breve, tutto il software che viene eseguito sul sistema operativo, e anche quest'ultimo è costituito da una serie di processi elaborati dalla CPU in maniera sequenziale. Ogni processo dispone di registri, variabili, e altri valori, che sono eseguiti in maniera indipendente dagli altri processi; Ciò significa che un processo possiede un proprio ambiente di elaborazione ben determinato. Per esempio, Windows 2000 professional, o qualsiasi altro sistema operativo, è costituito da più processi elaborati dalla CPU in maniera sequenziale, che danno l'impressione di essere eseguiti in parallelo.

Ora, affrontiamo il concetto di thread.Thread diversi non sono indipendenti come processi diversi, ma condividono le stesse variabili globali; Questo significa che i thread tra loro non sono indipendenti, e cosa importante costituiscono i processi. All'interno dello stesso processo i thread cooperano per l'esecuzione di una ben determinata mansione. Questa condivisione delle risorse permette di utilizzare alcune applicazioni, che, senza questa particolare capacità dei thread, non funzionerebbero. La differenza tra processo e thread è lieve, e per tale motivo, i secondi vengono chiamati "processi leggeri".

Infine, i programmi sono costituiti da thread, e da processi, gli uni o gli altri sono scelti in base alle necessità. Come già emerso precedentemente, alcune applicazioni utilizzano i thread grazie alla loro particolarità di non essere indipendenti tra loro, mentre in altre vengono privilegiati i processi perchè si vuol utilizzare degli ambienti di lavoro diversificati, e indipendenti. Il programma è l'algoritmo veicolo di più processi; Ciò vuol dire che il programma rappresenta una lista delle azioni che devono compiere i processi in un ben determinato modo.

Menu Sezione/Pagina Successiva/Torna alla Homepage


Sito:megaoverclock.supereva.it