Multithreading: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m →Collegamenti esterni: campo non necessario e in errore |
fix |
||
(3 versioni intermedie di 3 utenti non mostrate) | |||
Riga 1:
{{F|componenti per computer|marzo 2013}}
[[File:Single-thread.png|thumb|Un processore single thread esegue un solo thread per
[[File:Single-thread SMP.png|thumb|Un sistema multiprocessore classico esegue un solo thread per unità di calcolo]]▼
In [[informatica]] il '''multithreading''' indica il supporto [[hardware]] da parte di un [[processore]] di [[esecuzione (informatica)|eseguire]] più [[Thread (informatica)|thread]]. Questa tecnica si distingue da quella alla base dei sistemi [[Multi core|multiprocessore]] per il fatto che i singoli thread condividono lo stesso spazio d'indirizzamento, la stessa [[memoria cache|cache]] e lo stesso [[translation lookaside buffer]].
Il ''multithreading'' migliora le prestazioni dei [[programma (informatica)|programmi]] solamente quando questi sono stati sviluppati suddividendo il carico di lavoro su più thread che possono essere eseguiti in [[calcolo parallelo|parallelo]]. Mentre i sistemi multiprocessore sono dotati di più unità di calcolo indipendenti per le quali l'[[esecuzione (informatica)|esecuzione]] è effettivamente parallela, un sistema multithread invece è dotato di una singola unità di calcolo che si cerca di utilizzare al meglio eseguendo più thread nella stessa unità di calcolo. Le due tecniche sono complementari: a volte i sistemi multiprocessore implementano anche il multithreading per migliorare le prestazioni complessive del sistema.
▲[[File:Single-thread.png|thumb|Un processore single thread esegue un solo thread per volta]]
▲[[File:Single-thread SMP.png|thumb|Un sistema multiprocessore classico esegue un solo thread per unità di calcolo]]
== Panoramica ==
Line 18 ⟶ 19:
=== Esempi ===
Uno dei maggiori esponenti di questa architettura sono i processori Bulldozer di AMD<ref>
== Coarse-grained multithreading ==
Line 105 ⟶ 106:
<references />
== Voci correlate ==
* [[Fork (programmazione)]]
== Collegamenti esterni ==
* {{FOLDOC||multithreading}}
* {{cita web|url = http://www.di.unito.it/~gunetti/DIDATTICA/architettureII/06-multithreading-3.pdf| titolo = Lucidi sul multithreading | formato = pdf |urlarchivio = https://web.archive.org/web/20060609173356/http://www.di.unito.it/~gunetti/DIDATTICA/architettureII/06-multithreading-3.pdf | urlmorto = no}}
* {{cita web | url = http://www.federica.unina.it/ingegneria/programmazione-2/programmazione-multi-thread/ | titolo = Programmazione multi-thread | sito = Università di Napoli | lingua = it | urlarchivio = https://web.archive.org/web/20120423065229/http://www.federica.unina.it/ingegneria/programmazione-2/programmazione-multi-thread/ | urlmorto = no}}
|