Chapitre 0:
COMPLEMENTS D’INFORMATIONS SUR LES
ARCHITECTURES DES ORDINATEURS ET
MICROPROCESSEURS
1. Introduction
L’amélioration des performances des ordinateurs a toujours été un objectif des constructeurs afin
d’exécuter des calculs plus importants et de minimiser les temps de réponses dans les
applications. Ainsi la performance des ordinateurs est liée à l’évolution des ordinateurs, et donc
des circuits intégrés dans ces processeurs.
Une autre solution d’évolution de performances des ordinateurs est de concevoir des
architectures c’est-à-dire une organisation générale dans le fonctionnement de l’ensemble des
éléments intégrés sur la carte mère. Dans cette organisation on parlera de l’architecture classique,
de l’architecture pipeline et l’architecture en parallèle. Dans l’évolution des ordinateurs il existe 2
grandes familles :
o La famille des ‘’80x86’’ dominée par les constructeurs comme Intel, et ses concurrents
comme AMD et CYRIX, qu’on retrouve dans les ordinateurs IBM et compatibles.
o La famille des " 68000 " de Motorolla et compatibles qu’on retrouve dans les ordinateurs
macintosh et compatibles (Amiga, Ataris …) ; plus tard les processeurs " 68000 " sont
devenus des processeurs "power pc" et aujourd’hui on trouve des Macintosh avec des
processeurs Intel.
Remarque : Le principe de fonctionnement diffère d’une famille à l’autre surtout dans
l’utilisation et l’adressage des mot-mémoires, le jeu d’instruction et l’architecture fermée des
macintosh produit par la seule structure Apple.
Les différents types d’ordinateurs
Les Gros systèmes ou ordinateurs : Machine universelles multiutilisateurs et
multitâches. Ils sont propriétaires depuis le matériel jusqu’aux logiciels. Seuls les
personnes ressources pourront faire des interventions de réparation ou de mise à jour
matérielles et ou logicielles. L’utilisation n’est par personnelle mais pour des structures
disposant de gros moyens et des traitements spécialisés (Centres de recherche, les
Industries, les Universités, etc.). Les Systèmes d’exploitation sont propriétaires et ne
s’utilisent qu’avec des licences.
Les mini-ordinateurs, comparables aux gros systèmes : Multiutilisateurs et multitâches
avec des systèmes et programmes propriétaires destiné aux PME, PMI, Les centres de
recherche et de télécommunication etc.
1
UC Console1ou
Terminale 1
Ordinateur
ou Mini-
ordinateur
multi-user
Console2
ou
Terminale 2
Micro-ordinateur ou ordi personnel (mono ordinateur) version moins propriétaire
avec possibilité d’intervention sur le système et les programme.
Plusieurs Système d’exploitation comme DOS, MSDOS, Windows, Linux avec une
architecture multiutilisateur, mono-utilisateur, possibilité de gérer plusieurs consoles.
2. Les architectures des processeurs
Le fonctionnement des microprocesseurs 80x86, ont évolué avec la vitesse de plus en plus grande
d’exécution des instructions. Il existe trois types de fonctionnalité depuis le développement des
microprocesseurs à savoir :
2.1. l’architecture classique
Dans cette architecture l’ordinateur ne dispose que d’un seul processeur et les instructions et les
données sont rangées en mémoire. En un instant donné le processeur n’exécute qu’une seule
instruction et ne va chercher en mémoire qu’une seule donnée. Le fonctionnement est séquentiel.
Une instruction une fois terminée permet l’exécution de la suivante. C’est ce type d’architecture
qui est dite de John Von Neumann dans lequel une instruction est chargée en mémoire du
processeur, décodée au besoin et exécutée. Ensuite la seconde instruction est chargée, décodée au
besoin et exécutée.
Dans cette architecture le processeur exécute une seul tache à la fois chargement, décodage et
enfin exécution
2.2. L’architecture en pipeline :
Le pipeline est une technologie visant à permette une plus grande vitesse d’exécution des
instructions en parallélisant les états. Ainsi le processeur va être fabriqué avec plusieurs unités. Et
chaque unité contribue au déroulement d’une instruction, un peu comme chaque poste dans un
travail en chaîne. Chaque unité fait un morceau du travail et passe un morceau à l’unité suivante.
Ainsi, on a un recouvrement de l’activité des différentes unités et une réduction globale du temps
d’exécution. Un processeur peut avoir jusqu’à 6 unité de pipeline :
L’unité bus interface, qui s’occupe de la recherche des instructions en mémoire.
L’unité Prefetch, qui stocke les instructions dans une queue prefetch avant leur
décodage et exécution.
2
L’unité de décodage, qui permet de décoder certaines instructions des programmes.
L’unité d’exécution qui permet d’exécuter les instructions.
L’unité Paging qui permet de localiser les instructions en mémoire en fournissant les
adresses des emplacements à l’aide d’une page de localisation, surtout lorsque les
emplacements créés ne connaissent pas l’emplacement logique.
L’unité segment permet également le calcul de l’adresse de la donnée en mémoire, ou
d’une instruction.
Dans cette architecture, quand la troisième est au chargement, la deuxième est décodée et la
première est exécutée.
2.3. L’architecture en Parallèle
Les ordinateurs parallèles sont constitués de processeurs identiques fonctionnant
simultanément avec une répartition de la mémoire de travail qui est organisée de 2 façons :
Une mémoire partagée
Des mémoires de partie
Cette architecture parallèle permet de gagner non seulement dans la vitesse d’exécution mais
aussi dans le temps de traitement des informations lorsque des programmes spécialisés
d’exploitation des fonctionnalités intégrées au processeur sont exécutées.
Plusieurs processeurs dans la même puce avec intégration de l’archi en pipeline et plusieurs
processeurs spécialisés dans une seule puce processeur.
Deux types de mise en œuvre :
Les multi-cœurs (+sieurs unités de calculs dans la même puce avec des mémoires
caches
Le multithread (+sieurs processeurs dans la même puce)
Remarque : La plupart des processeurs sont multi cœurs et multithreads aujourd’hui.
Pour mieux gérer le multi cœurs ou multithreads il faut un système d’exploitation adapté. Avec
Windows le multi cœurs n’est pris en compte qu’à partir des vista 64 bits qui ne sait pas gérer le
multithreads. Il existe d’autres systèmes d’exploitation réseau dédié comme Windows server
(2008, 2012) et des systèmes d’exploitation de virtualisation qui savent mieux gérer le
multithreads et le multi cœurs. Un SE de virtualisation transforme une machine physique en
plusieurs machines logiques pour mieux exploiter les ressources matérielles de la machine. La
comparaison peut se faire avec les partitions de disque physique en disques logiques.
Les SE de virtualisations sont développés aujourd’hui sous Windows, Sous Linux (Qemu) ou par
des systèmes dédié comme VMWARE.
Le système de gestion de base de données Oracle propose des licences par cœur et par thread
alors que Microsoft propose des systèmes d’exploitation serveur par nombre de client d’accès
(nombre de CAL).
Qu'est-ce qu'un thread ?
Un thread est une file d'exécution, c'est-à-dire, que l'on ne peut accéder à l'instruction suivant,
tant que l'instruction actuelle n'est pas terminée.
3
Qu'est-ce que le multithreading ?
Avant toute chose, il faut que savoir que c'est dans le processeur que s'effectue le multithreading.
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 la translation lookaside buffer (une mémoire cache du processeur utilisé par l'unité de
gestion mémoire (MMU) dans le but d'accélérer la traduction des adresses virtuelles en adresses
physiques).
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.
Aujourd’hui un processeur à un cœur peut exécuter 2 threads (le nombre de threads est double
du cœur).
Exemples de processeurs à architectures parallèles :
Processeurs de bureau
Fonctionnalités : MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512,
FMA3, MPX, Enhanced Intel SpeedStep Technology (EIST), Intel 64, XD bit (an NX bit
implementation), Intel VT-x, Intel VT-d, Turbo Boost, Hyper-threading, AES-NI, Intel TSX-NI,
Smart Cache.
Nombre de lignes PCIe : 44.
Nombre de Fréquence Fréquence
Famille Nom GPU TDP
cœurs/threads normale turbo
7900X 10/20 3.30 GHz 4.30 GHz
140 W
7920X 12/24 2.90 GHz 4.30 GHz
Aucun
Intel Core i9 7940X 14/28 3.10 GHz 4.30 GHz
GPU
7960X 16/32 2.80 GHz 4.20 GHz 165 W
7980XE 18/36 2.60 GHz 4.20 GHz
Intel Core i9
9900K 8/16 3.60 GHz 5.00 GHz 95 W
2018
Processeurs mobiles
4
Pas de support AVX-512.
Nombre de Fréquence Fréquence
Famille Nom GPU TDP
cœurs/threads normale turbo
UHD
Intel Core i9 8950HK 6/12 2.90 GHz 4.80 GHz 45 W
Graphics 630
Travail à faire :
Rechercher les processeurs AMD équivalents aux processeurs i7 et icore9