differenze fra software multithreading e hardware multithreading?

ilreverde20

Nuovo Utente
126
17
CPU
i7 8700k
Dissipatore
Thermaltake Water 3.0 Riing RGB 360
Scheda Madre
Gigabyte z370 aorus ultra gaming
HDD
500gb sandisk ssd, generico hard disk da 2 tb
RAM
2x8 gb 3200HZ G.SKILL Trident
GPU
gigabyte g1 1080ti
Monitor
acer predator z391C
PSU
thermaltake rome 750
Case
Thermaltake armor revo
Periferiche
Roccat ryos, Roccat tyon
Net
Gigabyte GC-WB867D-I REV
OS
W10
non c'e' molto da aggiungere.

Volevo sapere le differenze che comportano queste due tipologie di multithreading
 

pabloski

Utente Èlite
2,868
916
non c'e' molto da aggiungere.

Volevo sapere le differenze che comportano queste due tipologie di multithreading

Non è chiaro cosa intendi con quei due termini. Hardware multithreading è un termine che decisamente non esiste, o meglio dice poco o niente. Alcuni autori lo menzionano per riferirsi alla capacità dei processori di eseguire più flussi di istruzioni concorrentemente, multiplexando le unità funzionali della CPU. Per capirci stiamo parlando di Intel Hyperthreading, AMD SMT e similari.

Nel caso del multithreading propriamente detto, si tratta invece di una tecnica che consente di eseguire in software più flussi di istruzioni, all'interno però del medesimo spazio d'indirizzamento ( in questo è differente dal multiprocessing ). Detto questo, si può implementare con tecniche totalmente software tramite cooperazione tra i thread ( vedi le goroutines del linguaggio Go ) oppure tramite prelazione grazie al supporto dell'hardware che fornisce i timer che consentono di stabilire quando un thread ( ma vale anche per i processi ) ha esaurito la propria time-slice.
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili