L’architecture PC que nous utilisons aujourd’hui est celle des origines, à quelques évolutions près. Historiquement, c’est le processeur Intel 386 qui a permis la construction des premiers PC. Il s’agissait alors de micro-ordinateurs performants capables de faire fonctionner plusieurs applications en même temps : le multi tâche grand public était né.
Ce tour de force fut possible grâce à l’intégration d’une unité spécialisée : la MMU. Ce composant permet ainsi d’assurer une gestion de la mémoire et du contexte d’exécution en isolant les programmes avec en tout et pour tout un seul coeur. Afin d’augmenter les performances, le processeur a évolué du point de vue industriel : augmentation de la fréquence ainsi que du nombre de transistors. Le processeur a également vu son architecture évoluer et ce, dans un seul sens : l’amélioration des performances du multitâche. Tout d’abord par un jeu d’instructions étendu : MMX, SSE, HyperThreading et maintenant les instructions de virtualisation. Cependant, la course aux Gh est devenue trop chère et trop compliquée à mettre en oeuvre, notamment à cause de la dissipation thermique. C’est pourquoi les grands constructeurs comme Intel et AMD ont commencé il y a quelques années à développer leurs gammes de processeurs double coeur. Aujourd’hui, les configurations avec double coeur sont devenues courantes et déjà le quad core fait son apparition.
Cependant, il subsiste un problème pour les développeurs d’applications : la complexité de cette nouvelle organisation de la puissance de calcul nécessite une approche adéquate. Force est de constater que de nombreuses applications n’exploitent pas la technologie dans son entière capacité. Cet article s’attache à présenter un large panorama des différentes techniques.