2016-04-10 1 views
0

Donc, ce semestre, j'ai un sujet sur les systèmes d'exploitation, et je ne comprends pas encore beaucoup de choses sur Hyper threading. J'ai cherché sur Internet mais ce que j'ai trouvé sont presque les mêmes (je ne sais pas si j'ai cherché avec les mauvais termes).Hyper threading au niveau du matériel

Voici les sources que j'ai trouvé:

https://www.dasher.com/will-hyper-threading-improve-processing-performance/;

Hyper-threading Performance Comparison;

Why does hyper-threading benefit my algorithm?;


Mais, ma question ne concerne pas HT dans différents langues ou comment je peux analyser avec/sans mais comment cela a été mis en œuvre au niveau du matériel.

Comment HT communique avec la mémoire principale (ALU, registres ..), cache et autres périphériques. Où puis-je trouver quelque chose à ce sujet?

Enfin, je veux comparer les processus HT aux processus parallélisés. Comment le parallélisme profite-t-il de l'hyper-threading?


Alors les gars si vous connaissez un livre ou un site qui peut m'aider, s'il vous plaît partager ici.

Merci,

Répondre

1

hyperthreading moderne est mis en œuvre de manière très intelligente.

Pensez à un processeur dual-core pendant quelques minutes. Il a deux cœurs, chacun ayant des registres, des caches avec des mécanismes pour accéder à la mémoire, et une collection d'unités d'exécution pour effectuer diverses opérations d'entiers, à virgule flottante et de contrôle. Maintenant, imaginez qu'à la place de chaque noyau ayant sa propre collection d'unités d'exécution, les deux coeurs partagent simplement un groupe d'unités d'exécution. Chaque cœur peut utiliser, disons, un multiplicateur à virgule flottante tant que l'autre noyau n'utilise pas cette même unité d'exécution. Si un noyau a besoin d'une unité d'exécution qui est utilisée par l'autre noyau, il devra attendre, tout comme il faudrait, si cette unité d'exécution a été utilisé par une instruction de chevauchement exécutée par ce même fil.