Résumé
thumb|Schéma d'un process multithread Un processeur est dit multithread s'il est capable d'exécuter efficacement plusieurs threads simultanément. Contrairement aux systèmes multiprocesseurs (tels les systèmes multi-cœur), les threads doivent partager les ressources d'un unique cœur : les unités de traitement, le cache processeur et le translation lookaside buffer ; certaines parties sont néanmoins dupliquées : chaque thread dispose de ses propres registres et de son propre pointeur d'instruction. Là où les systèmes multiprocesseurs incluent plusieurs unités de traitement complètes, le multithreading a pour but d'augmenter l'utilisation d'un seul cœur en tirant profit des propriétés des threads et du parallélisme au niveau des instructions. Comme les deux techniques sont complémentaires, elles sont parfois combinées dans des systèmes comprenant de multiples processeurs multithreads ou des processeurs avec de multiples cœurs multithreads. Il existe différents moyens d'exécuter plusieurs threads sur un même cœur de processeur, selon la façon dont leurs temps d'exécution respectifs sont répartis. Les threads peuvent s'exécuter à des moments différents (temporal multithreading), soit en changeant de thread à chaque cycle d'horloge (interleaved multithreading), soit lors d'un événement comme un défaut de cache (block multithreading). Ils peuvent aussi s'exécuter simultanément en partageant les unités d'exécution d'un processeur superscalaire (simultaneous multithreading). Le multithreading temporel tire parti du fait que le processeur est souvent inactif. Le multithreading par bloc permet d'exécuter un autre thread lorsqu'un événement arrête l'un d'eux pour une longue période, par exemple un défaut de cache qui nécessite d'attendre un accès à la mémoire. L'interleaved multithreading exécute quant à lui une instruction de chaque thread à tour de rôle, ce qui diminue les chances de devoir attendre le résultat d'une instruction en cours d'exécution et permet à d'autres threads de s'exécuter si l'un d'eux est inactif. Thre
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Personnes associées (1)
Concepts associés (34)
POWER9
Le POWER9 est un processeur de la gamme POWER conçu par IBM, produit par GlobalFoundries et disponible depuis . La finesse de gravure des transistors du POWER9 est de 14 nanomètres, la surface est de 695 mm2 et sa fréquence maximale est de 4,0 GHz. 8 milliards de transistors par processeur (4,2 milliards pour le POWER8, 1,2 milliard pour le POWER7). Bande passante de 192 Go/s (96 Go/s pour le POWER8 et 40 Go/s pour le POWER7). 570x570px|alt=|sans_cadre|centré Le POWER9 est disponible en architecture 12 ou 24 cœurs.
POWER6
thumb|Le microprocesseur POWER6 Le POWER6 est un microprocesseur développé par IBM. Il a succédé au POWER5+, et est disponible depuis le . Il est gravé en technologie CMOS 65 nm, et ses fréquences d'horloge sont étagées entre 3,6 GHz et 5 GHz. Le POWER6 est un processeur double cœur, et chaque cœur fonctionne en multithreading à deux voies. Il a environ 790 millions de transistors sur 341 mm. Chaque cœur dispose de 64 ko de cache et 4 Mio de cache L2. Une évolution du POWER6, le POWER6+, a été commercialisé en 2009.
POWER7
Le POWER7 est un microprocesseur développé par IBM. Succédant au POWER6, il a été annoncé en . IBM a remporté un contrat de 244 millions de dollars avec la DARPA pour développer une architecture pour supercalculateur. Le POWER7 a été annoncé le et est disponible depuis le . Un modèle de serveur à 256 cœurs a été annoncé en . thumb|Rack Blue Waters Power7 Le POWER7 est un processeur 8 cœurs, il est également disponible en version 4 ou 6 cœurs, pouvant aller jusqu'à 4 threads par cœur.
Afficher plus
Cours associés (16)
CS-307: Introduction to multiprocessor architecture
Multiprocessors are a core component in all types of computing infrastructure, from phones to datacenters. This course will build on the prerequisites of processor design and concurrency to introduce
CS-522: Principles of computer systems
This advanced graduate course teaches the key design principles underlying successful computer and communication systems, and shows how to solve real problems with ideas, techniques, and algorithms fr
CS-476: Real-time embedded systems
A real time system is subject to important temporal constraints. This course is about understanding where processing time is spent and what a designer can do in order to achieve real-time processing s
Afficher plus
Séances de cours associées (61)
Processeurs multifilés
Couvre les bases des processeurs multifiltres, y compris la conception, l'impact sur la performance et l'utilisation des pipelines.
Principes de base du multithreading : conception, performance et impact
Couvre les bases du multithreading, y compris la conception, l'impact sur les performances et l'utilisation du GPU.
Multithreading : Utilisation des pipelines et impact sur les performances
Explore le multithreading dans l'architecture informatique, en se concentrant sur l'utilisation du pipeline et l'impact sur les performances dans diverses techniques, y compris le multithreading bloqué et à grain fin.
Afficher plus