Differenze tra le versioni di "Multithreading"

m
==Fine-grained multithreading==
=== Idea di base ===
Una tipologia di mutithreadingmultithreading moltimolto spinto prevede che il processore scambi il thread in esecuzione a ogni ciclo di clock.
 
Per esempio:
#Ciclo i+2 : l'istruzione h del thread C viene caricata
 
Questa tipologia di mutithreadingmultithreading dovrebbe rimuovere la dipendenza dai dati dei singoli thread e quindi dovrebbe azzerare o comunque ridurre gli stalli della [[pipeline dati|pipeline]] dovuta alla dipendenza dai dati. Dato che ogni thread dovrebbe funzionare in modo indipendente i singoli thread eseguiranno programmi non correlati e quindi vi saranno poche probabilità che le istruzioni di un thread necessitino dei risultati elaborati da un'istruzione di un altro thread in esecuzione in quel momento.
Concettualmente questa tecnica è simile al multitasking preemptive presente in molti sistemi operativi. Questa analogia parte dal presupposto che ogni slot di tempo dei programmi sia posto uguale a un ciclo di clock del processore.
1 274

contributi