ARCHITECTURE
DES ORDINATEURS
Voilà moi
ALPHA SOULEYMANE ZOROME
INGENIEUR RESEAUX ET SYSTEMES INFORMATIQUES
ANALYSTE PROGRAMMEUR
COMMUNICATEUR
Tél.: 78 03 65 49
77 03 65 49
72 99 54 54
WhatSapp: 77 03 65 49
E-mail: aszorome@yahoo,fr
[Link]@[Link]
PLAN DU COURS
Objectifs du cours
@ Acquérir la « culture » du système informatique
@ Savoir Identifier les composants essentiels d’un ordinateur
@ Comprendre le fonctionnement d’un ordinateur
@ Savoir identifier les erreurs de fonctionnement d’un ordinateur
Méthodologie
@ Cours théorique
@ Cas pratique
@ Evaluation
PLAN DU COURS
Chapitre 1 : Généralités
I. Introduction
II. Historique
Chapitre 1I : Evolution de l’informatique
I. Introduction
II. Naissance du transistor
III. Circuit intégré
Chapitre III: Architecture des systèmes à microprocesseur
I. Introduction
II. Qu’est-ce qu’une Architecture
III. Qu’est ce qu’un microprocesseur ?
PLAN DU COURS
Chapitre IV:Architecture de base
I. Introduction
II. Modèle de Von Neumann
1°) L’unité centrale
2°) La mémoire principale
3°) Les interfaces d’entrées / sorties
4°) Les bus
Chapitre V : Les mémoires
I. Introduction
II. Organisation d’une mémoire
PLAN DU COURS
Chapitre V : Les mémoires
III. Caractéristiques d’une mémoire
1°) Le format des données
2°) Le temps d’accès
3°) Le temps de cycle
4°) Le débit
5°) Volatilité
IV. Différents types de mémoires
1°) Les mémoires vives (RAM)
a) Les RAM Statiques
b) Les RAM Dynamiques
PLAN DU COURS
Chapitre V : Les mémoires
IV. Différents types de mémoires
2°) Les mémoires mortes (ROM)
a) ROM
b) PROM
c) EPROM
d) FLASH EPROM
V. Critères de choix d’une mémoire
VI. Notion de hiérarchie mémoire
PLAN DU COURS
Chapitre VI : Le microprocesseur
I. Architecture de base d’un microprocesseur
1°) L’unité de Commande
2°) L’unité de Traitement
3°) Les registres
II. Cycle d’exécution d’une instruction
III. Performances d’un microprocesseur
Chapitre VII : Notion d’architecture CISC et RISC
I. L’architecture CISC
II. L’architecture RISC
III. Choix d’une architecture
Chapitre 1 : Généralités
1. Introduction
Le mot informatique est né d’une combinaison de fragments des mots
information et automatique. Il a été créé par l’ingénieur français
Philippe Dreyfus pour désigner l’automatisation du traitement rationnel
de l’information. Quant au mot ordinateur, il a été créé par le Français
Jacques Perret qui l’a préféré à celui de cerveau.
Apparue au milieu du 20ème siècle, l’informatique a connu une évolution
extrêmement rapide.
Chapitre 1 : Généralités
1. Introduction
A sa motivation initiale qui était de faciliter et d'accélérer le calcul, se sont
ajoutées de nombreuses fonctionnalités, comme l'automatisation, le
contrôle et la commande de processus, la communication ou le partage de
l'information.
Il existe de très bons ouvrages spécialisés uniquement dans l'architecture
des ordinateurs. Certains d'entre eux sont cités dans la bibliographie.
Chapitre 1 : Généralités
1. Introduction
L’objectif de ce cours est de fournir au lecteur le vocabulaire et les
concepts de bases qui lui sont nécessaires et utiles sur le domaine ainsi
que les notions fondamentales qu'il retrouvera dans les architectures de
machines récentes. L'évolution matérielle est actuellement tellement
rapide que les ouvrages spécialisés sont mis à jour en moyenne tous les
deux ans.
Chapitre 1 : Généralités
II. Historique
Les hommes ont toujours eu le souci d’accroître leur capacité de
production en fournissant peu d’effort dans un temps réduit. La
difficulté de compatibilité à cette trilogie a occasionné plutôt de
grands efforts et engendré des années de recherche. Le monde est
ainsi passé de l’invention de l’écriture à -6000 à la première machine à
calculer de Pascal en 1641 en passant par le boulier chinois en l’an
700.
Chapitre 1 : Généralités
II. Historique
En 1943, le premier ordinateur ne comportant plus de pièces
mécaniques est créé grâce à [Link] et [Link] Eckert : l'ENIAC
(Electronic Numerical Integrator And Computer). Il est composé de
18000 lampes à vide, et occupe une place de 1500 m2. Il fut utilisé
pour des calculs ayant servi à mettre au point la bombe H.
Chapitre 1 : Généralités
II. Historique
Son principal inconvénient était sa programmation : l'ENIAC était en
effet uniquement programmable manuellement avec des
commutateurs ou des câbles à enficher.
Chapitre 1 : Généralités
II. Historique
La première erreur informatique est due à un insecte qui, attiré par la
chaleur, était venu se loger dans les lampes et avait créé un court-
circuit. Ainsi le terme anglais pour « insecte » étant « bug », le nom
est resté pour désigner une erreur informatique. Le terme bug a été
francisé par la suite en bogue, terme désignant également le nom de
l'enveloppe épineuse et piquante de la châtaigne.
Chapitre 1I : Evolution de l’informatique
I. Introduction
Les tubes étant de médiocres conducteurs, ils nécessitaient une
grande quantité d'énergie électrique qu'ils dissipaient en chaleur.
Cette lacune est palliée en 1946 avec la mise au point de l'EDVAC
(Electronic Discrete Variable Computer) permettant de stocker les
programmes en mémoire (1024 mots en mémoire centrale et 20000
mots en mémoire magnétique).
Chapitre 1I : Evolution de l’informatique
I. Naissance du transistor
En 1948, le transistor est créé par la firme Bell Labs (grâce aux
ingénieurs John Bardeen, Walter Brattain et William Shockley). Il permet
dans les années 50 de rendre les ordinateurs moins encombrants,
moins gourmands en énergie électrique donc moins coûteux : c'est la
révolution dans l'histoire de l'ordinateur !
Chapitre 1I : EVOLUTION DE L’INFORMATIQUE
I. Naissance du transistor
Les premiers ordinateurs à base de transistors
En 1960, l'IBM 7000 est le premier ordinateur à base de transistor.
En 1964, l'IBM 360 fait son apparition, avec également l'arrivée
remarquée du DEC PDP-8.
Chapitre 1I : Evolution de l’informatique
II. Circuit intégré
Le circuit intégré est mis au point en 1958 par Texas Instruments, il
permet de réduire encore la taille et le coût des ordinateurs en
intégrant sur un même circuit électronique plusieurs transistors sans
utiliser de fil électrique.
C'est en 1971 qu'apparaît le premier micro-ordinateur : le Kenback
1, avec une mémoire de 256 octets.
Chapitre 1I : EVOLUTION DE L’INFORMATIQUE
II. Circuit intégré
En 1971, le premier microprocesseur, l'Intel 4004, fait son apparition.
Il permet d'effectuer des opérations sur 4 bits simultanément. A la
même époque Hewlett Packard commercialise la calculatrice HP-35.
Le processeur 8008 d'Intel (permettant de traiter 8 bits
simultanément) apparaît en 1972.
Chapitre 1I : Evolution de l’informatique
II. Circuit intégré
En 1973, le processeur 8080 d'Intel garnit les premiers micro-
ordinateurs : le Micral et le Altair 8800, avec 256 octets de mémoire.
A la fin de l'année 1973, Intel commercialisait déjà des processeurs 10
fois plus rapides que le précédent (le Intel 8080) et comportant 64 ko
de mémoire.
En 1976, Steve Wozniak et Steve Jobs créent le Apple I dans un garage.
Cet ordinateur possède un clavier, un microprocesseur à 1 MHz, 4 ko
de RAM et 1 ko de mémoire vidéo.
Chapitre 1I : Evolution de l’informatique
II. Circuit intégré
En 1973, le processeur 8080 d'Intel garnit les premiers micro-
ordinateurs : le Micral et le Altair 8800, avec 256 octets de mémoire.
A la fin de l'année 1973, Intel commercialisait déjà des processeurs 10
fois plus rapides que le précédent (le Intel 8080) et comportant 64 ko
de mémoire.
En 1976, Steve Wozniak et Steve Jobs créent le Apple I dans un garage.
Cet ordinateur possède un clavier, un microprocesseur à 1 MHz, 4 ko
de RAM et 1 ko de mémoire vidéo.
Chapitre 1I : Evolution de l’informatique
II. Circuit intégré
En 1981 IBM commercialise le premier « PC » composé d'un
processeur 8088 cadencé à 4.77 MHz.
En 1984, on assiste à l’apparition de Macintosh, stations Sun avec des
microprocesseurs de 8 MHz et 512 à 1 Mo de RAM.
C’est après 1992 que les ordinateurs à grande capacité ont fait les
apparitions avec 1GHz de vitesse processeur et 128 Mo de RAM.
Chapitre 1I : Evolution de l’informatique
II. Circuit intégré
Il est très difficile de nos jours de suivre l'évolution de l'ordinateur. En
effet cette évolution suit la loi de Moore (Intel©) : « on peut placer 4
fois plus de transistor sur une puce tous les 3 ans ».
Actuellement, 1 milliard de transistors devrait pouvoir se placer sur
une puce.
Chapitre 1I : Evolution de l’informatique
II. Circuit intégré
Il est très difficile de nos jours de suivre l'évolution de l'ordinateur. En
effet cette évolution suit la loi de Moore (Intel©) : « on peut placer 4
fois plus de transistor sur une puce tous les 3 ans ».
Chapitre 1I : Evolution de l’informatique
II. Circuit intégré
Actuellement, 1 milliard de transistors devrait pouvoir se placer sur
une puce.
Chapitre III:Architecture des systèmes à microprocesseur
I. Introduction
Le cours d’architecture des systèmes à microprocesseur expose les
principes de base du traitement programmé de l’information.
La mise en œuvre de ces systèmes s’appuie sur 2 modes de
réalisation distincts : Matériel + Logiciel.
Chapitre III:Architecture des systèmes à microprocesseur
I. Introduction
Matériel (Hardware) = Correspond à l’aspect concret du système :
Unité Centrale, Mémoires, Organes d’Entrées / Sorties, etc.…
Chapitre III:Architecture des systèmes à microprocesseur
I. Introduction
Logiciel (Software) =
correspond à un ensemble
d’instructions: appelé
programme, qui sont
contenues dans les
différentes applications du
système et qui définissent
les actions effectuées par
le matériel.
Chapitre III:Architecture des systèmes à microprocesseur
II. Qu’est-ce qu’une Architecture
L’architecture d’un système à microprocesseur représente
l’organisation de ses différentes unités et de leurs interconnexions.
Le choix d’une architecture est toujours le résultat d’un compromis :
o Entre performances et coûts,
o Entre efficacités et facilités de constructions,
o Etc.…
Chapitre III:Architecture des systèmes à microprocesseur
II. Qu’est-ce qu’une Architecture
Chapitre III:Architecture des systèmes à microprocesseur
III. Qu’est ce qu’un microprocesseur ?
Un microprocesseur est un circuit intégré complexe. Il résulte de
l’intégration sur une puce de fonctions logiques combinatoires
(logique et/ou arithmétique) et séquentielles (registres, compteurs,
etc.…).
o Le microprocesseur est capable d’interpréter et d’exécuter les
instructions d’un programme.
o Un microprocesseur est le résultat d’intégration d’un ensemble de
transistors sur une seule puce mémoire.
Chapitre III:Architecture des systèmes à microprocesseur
III. Qu’est ce qu’un microprocesseur ?
Les applications des systèmes à microprocesseurs sont multiples et
variées : Ordinateur, Console de jeux, Calculatrice, Télévision,
Téléphone portable, Distributeur automatique d’argent, Robotique,
lecteur carte à puce, lecteur de code barre, Automobile, etc.…
Chapitre III:Architecture des systèmes à microprocesseur
III. Qu’est ce qu’un microprocesseur ?
En rappel,
o Les informations traitées par un microprocesseur sont de différents
types (nombres, instructions, images, vidéo, etc.…) mais elles sont
toujours représentées sous un format binaire.
o Le binaire est représenté physiquement par 2 niveaux de tensions
différents.
Chapitre III:Architecture des systèmes à microprocesseur
III. Qu’est ce qu’un microprocesseur ?
o En binaire, une information élémentaire est appelé bit et ne peut
prendre que deux valeurs différentes : 0 ou 1.
o Une information plus complexe sera codée sur plusieurs Bits. On
appelle cet ensemble un mot. Un mot de 8 bits est appelé un Octet
Remarque
1 Octet = 8 bit 1 Gigaoctet = 1024 Mégaoctet 1
1 Kilooctet = 1024 octets 1 Téraoctet = 1024 Gigaoctet 1
1 Mégaoctet= 1024 Kilooctet
Chapitre IV:Architecture de base
I. Introduction
Pour traiter une information, un microprocesseur seul ne suffit pas, il
faut l’insérer au sein d’un système minimum de traitement programmé
de l’information.
Chapitre IV:Architecture de base
II. Modèle de Von Neumann
John Von Neumann est à l'origine d'un modèle de machine universelle
de traitement programmé de l’information (1946). Cette architecture
sert de base à la plupart des systèmes à microprocesseur actuel. Elle
est composée des éléments suivants :
oune unité centrale
o une mémoire principale
odes interfaces d’entrées/sorties
Chapitre IV:Architecture de base
I. Modèle de Von Neumann
Les différents organes du système sont reliés par des voies de
communication appelées Bus.
Chapitre IV:Architecture de base
I. Modèle de Von Neumann
1°) L’unité centrale
Elle est composée par le microprocesseur qui est chargé d’interpréter
et d’exécuter les instructions d’un programme, de lire ou de
sauvegarder les résultats dans la mémoire et de communiquer avec les
unités d’échange.
Chapitre IV:Architecture de base
I. Modèle de Von Neumann
1°) L’unité centrale
Toutes les activités du microprocesseur sont cadencées par une
horloge. On caractérise le microprocesseur par :
o Sa fréquence d’horloge : en MHz ou GHz
o Le nombre d’instructions par secondes qu’il est capable d’exécuter :
en MIPS (Millions d'Instructions Par Seconde)
o La taille des données qu’il est capable de traiter en bits
Chapitre IV:Architecture de base
I. Modèle de Von Neumann
2°) La mémoire principale
Elle contient les instructions du ou des programmes en cours
d’exécution et les données associées à ce programme.
Physiquement, elle se décompose souvent en :
o Une mémoire morte (ROM = Read Only Memory) chargée de
stocker le programme. C’est une mémoire à lecture seule.
Chapitre IV:Architecture de base
I. Modèle de Von Neumann
2°) La mémoire principale
o Une mémoire vive (RAM = Random Access Memory) chargée de
stocker les données intermédiaires ou les résultats de calculs. On
peut lire ou écrire des données dedans, ces données sont perdues à
la mise hors tension.
Remarque :
Les disques durs, disquettes, CDROM, etc… sont des périphériques de
stockage, et considérés comme des mémoires secondaires.
Chapitre IV:Architecture de base
I. Modèle de Von Neumann
3°) Les interfaces d’entrées / sorties
Elles permettent d’assurer la communication entre le microprocesseur
et les périphériques. (Capteur, clavier, moniteur ou afficheur,
imprimante, etc.…).
4°) Les bus
Un bus est un ensemble de fils (appelés broches) qui assure la
transmission du même type d’information.
Chapitre IV:Architecture de base
I. Modèle de Von Neumann
4°) Les bus
On retrouve trois types de bus véhiculant des informations en parallèle
dans un système de traitement programmé de l’information :
Un bus de données : C’est un ensemble de broches qui véhiculent les
instructions et les données à traités. Ce bus est bidirectionnel.
Chapitre IV:Architecture de base
I. Modèle de Von Neumann
4°) Les bus
Un bus d'adresses: C’est un ensemble de broches qui permettent au
MP d’adresser des différentes cases mémoires et des interfaces d’E/S.
ce bus est unidirectionnel (du MP vers la mémoire centrale ou
interface d’E/S).
Chapitre IV:Architecture de base
I. Modèle de Von Neumann
4°) Les bus
Un bus de commande: constitué par quelques conducteurs qui
assurent la synchronisation des flux d'informations sur les bus des
données et des adresses.
Chapitre IV:Architecture de base
I. Modèle de Von Neumann
4°) Les bus
Remarque: Décodage d’adresses
La multiplication des périphériques autour du microprocesseur oblige la présence d’un décodeur
d’adresse chargé d’aiguiller les données présentes sur le bus de données.
En effet, le microprocesseur peut communiquer avec les différentes mémoires et les différents
boîtiers d’interface. Ceux-ci sont tous reliés sur le même bus de données et afin d’éviter des
conflits, un seul composant doit être sélectionné à la fois.
Ainsi, on a besoin d’un décodeur d’adresses qui doit attribuer à chaque périphérique une zone
d’adresses spécifique.
Chapitre V: Les mémoires
I. Introduction
Une mémoire est un circuit intégré permettant d’enregistrer, de
conserver et de restituer des informations (instructions et variables).
Les informations peuvent être écrites ou lues. Il y a écriture lorsqu'on
enregistre des informations en mémoire, lecture lorsqu'on récupère des
informations précédemment enregistrées.
II. Organisation d’une mémoire
Une mémoire peut être représentée comme une armoire de
rangement constituée de différents tiroirs.
Chapitre V: Les mémoires
II. Organisation d’une mémoire
Chaque tiroir représente alors une case mémoire qui peut contenir un
seul élément : des données.
Le nombre de cases mémoires pouvant être très élevé, il est alors
nécessaire de pouvoir les identifier par un numéro.
Ce numéro est appelé adresse. Chaque donnée devient alors accessible
grâce à son adresse.
Chapitre V: Les mémoires
II. Organisation d’une mémoire
En plus du bus d’adresses et du bus de données, un boîtier mémoire
comprend une entrée de commande qui permet de définir le type
d’action que l’on effectue avec la mémoire (lecture/écriture) et une
entrée de sélection qui permet de mettre les entrées/sorties du boîtier
en haute impédance.
Chapitre V: Les mémoires
II. Organisation d’une mémoire
On peut donc schématiser un circuit mémoire par la figure suivante où
l’on peut distinguer :
o Les entrées d’adresses
o Les entrées de données
o Les sorties de données
o Les entrées de commandes :
o Une entrée de sélection de lecture ou écriture.
o Une entrée de sélection du circuit
Chapitre V: Les mémoires
II. Organisation d’une mémoire
Une opération de lecture ou d’écriture de la mémoire suit toujours le
même cycle :
1. Sélection de l’adresse
2. Choix de l’opération à effectuer
3. Sélection de la mémoire
4. Lecture ou écriture la donnée
Chapitre V: Les mémoires
III. Caractéristiques d’une mémoire
La capacité : c’est le nombre total de bits que contient la mémoire. Elle
s’exprime aussi souvent en octet.
1°) Le format des données
C’est le nombre de bits que l’on peut mémoriser par case mémoire. On
dit aussi que c’est la largeur du mot mémorisable.
2°) Le temps d’accès
C’est le temps qui s'écoule entre l'instant où a été lancée une opération
de lecture/écriture en mémoire et l'instant où la première information
est disponible sur le bus de données.
Chapitre V: Les mémoires
III. Caractéristiques d’une mémoire
3°) Le temps de cycle
Il représente l'intervalle minimum qui doit séparer deux demandes
successives de lecture ou d'écriture.
4°) Le débit
C’est le nombre maximum d'informations lues ou écrites par seconde.
5°) Volatilité
elle caractérise la permanence des informations dans la mémoire.
L'information stockée est volatile si elle risque d'être altérée par un
défaut d'alimentation électrique et non volatile dans le cas contraire.
Chapitre V: Les mémoires
IV. Différents types de mémoires
1°) Les mémoires vives (RAM)
Une mémoire vive sert au stockage temporaire de données. Elle doit
avoir un temps de cycle très court pour ne pas ralentir le
microprocesseur. Les mémoires vives sont en général volatiles : elles
perdent leurs informations en cas de coupure d'alimentation. Il existe
deux grandes familles de mémoires RAM :
Chapitre V: Les mémoires
IV. Différents types de mémoires
1°) Les mémoires vives (RAM)
Chapitre V: Les mémoires
IV. Différents types de mémoires
1°) Les mémoires vives (RAM)
Chapitre V: Les mémoires
IV. Différents types de mémoires
1°) Les mémoires vives (RAM)
a) Les RAM Statiques
Le bit mémoire d’une RAM Statique (SRAM) contient entre 4 à 6
transistors. Elles sont non volatiles tant qu’il n’y a pas de coupure
d’alimentation et sont plus rapides (T accès) que les RAM
Dynamiques (DRAM). Au niveau du coût, les SRAM sont plus chers
que les DRAM. Elles sont utilisées lorsque le facteur vitesse est
critique, notamment pour des mémoires de petite taille comme les
caches et les registres.
Chapitre V: Les mémoires
IV. Différents types de mémoires
1°) Les mémoires vives (RAM)
a) Les RAM Statiques
Les SRAM sont non volatiles tant qu’il n’y a pas de coupure
d’alimentation et sont plus rapides (T accès) que les RAM
Dynamiques (DRAM). Au niveau du coût, les SRAM sont plus chers
que les DRAM. Elles sont utilisées lorsque le facteur vitesse est
critique, notamment pour des mémoires de petite taille comme les
caches et les registres.
Chapitre V: Les mémoires
IV. Différents types de mémoires
1°) Les mémoires vives (RAM)
b) Les RAM Dynamiques
De part sa construction, les DRAM consomme moins et sont peu
chères que les SRAM. Ce sont des mémoires qui doivent être
rafraichies constamment pour éviter la perte des données. Ce sont
les plus utilisées actuellement sur les ordinateurs surtout dans les
séries DDR2 (Double Data Rate) ou (Double taux de transfert) et
DDR3 SDRAM.
Chapitre V: Les mémoires
IV. Différents types de mémoires
2) Les mémoires mortes (ROM)
On utilise les mémoires mortes pour conserver de façon permanente
des informations. Seulement, ces mémoires sont en lecture seule. Elles
sont aussi appelées des mémoires non volatiles. L’inscription des données
sur ces mémoires se fait par programmation. On distingue à cet effet
plusieurs types de ROM.
a) ROM
Elle est programmée par le fabricant et son contenu ne peut plus être
ni modifié, ni effacé par l'utilisateur.
Chapitre V: Les mémoires
IV. Différents types de mémoires
b) Les mémoires mortes (ROM)
c) PROM (Programmable ROM)
C’est une ROM qui peut être programmée une seule fois par l'utilisateur. La
programmation est réalisée à partir d’un programmateur spécifique.
c) EPROM (Erasable Programmable ROM)
Pour faciliter la mise au point d'un programme ou tout simplement
permettre une erreur de programmation, il est intéressant de pouvoir
reprogrammer une PROM. L'EPROM est une PROM qui peut être effacée Il
peut être fait par ultra-violet.
Chapitre V: Les mémoires
IV. Différents types de mémoires
2) Les mémoires mortes (ROM)
d) FLASH EPROM
C’est une mémoire programmable et effaçable électriquement. Elle
répond ainsi à l’inconvénient principal de l’EPROM dans laquelle il
est impossible de sélectionner une seule cellule à effacer.
Chapitre V: Les mémoires
V. Critères de choix d’une mémoire
Les principaux critères à retenir sont:
Capacité
Vitesse
Consommation
Coût
Chapitre V: Les mémoires
VI. Notion de hiérarchie mémoire
Dans l’idéal, il aurait été plus intéressant d’avoir une mémoire de
grande capacité, capable de stocker un maximum d’informations et
possédant un temps d’accès très faible afin de pouvoir travailler
rapidement sur ces informations. . Cependant, les mémoires de
grande capacité sont souvent très lentes (DRAM) et les mémoires
rapides sont très chères (SRAM). Pourtant, la vitesse d’accès à la
mémoire conditionne dans une large mesure les performances d’un
système. C’est là que se trouve le goulot d’étranglement entre un
microprocesseur capable de traiter très rapidement des
Chapitre V: Les mémoires
VI. Notion de hiérarchie mémoire
Afin d’obtenir le meilleur compromis coût - performance, on
définie donc une hiérarchie mémoire. On utilise des mémoires de
faible capacité mais très rapide pour stocker les informations dont le
microprocesseur se sert le plus et on utilise des mémoires de
capacité importante mais beaucoup plus lente pour stocker les
informations dont le microprocesseur se sert le moins. Ainsi, nous
aurons:
Chapitre V: Les mémoires
VI. Notion de hiérarchie mémoire
Les registres qui sont les éléments de mémoire les plus rapides, situés
au niveau du processeur et servent au stockage des opérandes et des
résultats intermédiaires.
La mémoire cache qui est une mémoire rapide de faible capacité
destinée à accélérer l’accès à la mémoire centrale en stockant les
données les plus utilisées.
La mémoire principale qui est l’organe principal de rangement des
informations. Elle contient les programmes (instructions et données) et
est plus lente que les deux mémoires précédentes.
Chapitre V: Les mémoires
VI. Notion de hiérarchie mémoire
La mémoire de masse qui est une mémoire périphérique de grande
capacité est utilisée pour le stockage permanent ou la sauvegarde des
informations. Elle utilise pour cela des supports magnétiques (disque
dur) ou optiques (CDROM, DVDROM).
Chapitre V: Les mémoires
VI. Notion de hiérarchie mémoire
Registre Quelques octets
Jusqu’à 128 Mo selon le niveau
Mémoire cache
Mémoire principale Quelques Go
Jusqu’à 1 To ou plus
Mémoire de masse
Chapitre VI: Le microprocesseur
I. Introduction
Un microprocesseur est un circuit intégré complexe caractérisé par une
très grande intégration et doté des facultés d'interprétation et
d'exécution des instructions d'un programme.
Il est chargé d’organiser les tâches précisées par le programme et
d’assurer leur exécution.
Un microprocesseur est construit autour de deux éléments principaux :
Une unité de commande;
Une unité de traitement.
Chapitre VI: Le microprocesseur
I. Introduction
Ces unités sont associées à des registres chargés de stocker les
différentes informations à traiter.
Ces trois éléments sont reliés entre eux par des bus interne (Adresses,
Données et Commande) permettant les échanges d’informations.
Chapitre VI: Le microprocesseur
I. Introduction
Chapitre VI: Le microprocesseur
I. Architecture de base d’un microprocesseur
1) L’unité de Commande
Elle permet de séquencer le déroulement des instructions : elle effectue
la recherche en mémoire de l'instruction. Comme chaque instruction
est codée sous forme binaire elle en assure le décodage pour enfin
réaliser son exécution puis effectue la préparation de l'instruction
suivante. Pour cela, elle est composée par :
a) Le compteur de programme
Il est constitué par un registre dont le contenu est initialisé avec
l'adresse de la première instruction du programme. Il contient toujours
l’adresse de l’instruction à exécuter.
Chapitre VI: Le microprocesseur
I. Architecture de base d’un microprocesseur
1) L’unité de Commande
b) Le registre d'instruction et le décodeur d'instruction
chacune des instructions à exécuter est rangée dans le registre
instruction puis est décodée par le décodeur d’instruction.
c) Bloc logique de commande (ou séquenceur)
Il organise l'exécution des instructions au rythme d’une horloge.
Il élabore tous les signaux de synchronisation internes ou externes (bus
de commande) du microprocesseur en fonction des divers signaux de
commande provenant du décodeur d’instruction ou du registre d’état
par exemple.
Chapitre VI: Le microprocesseur
I. Architecture de base d’un microprocesseur
1) L’unité de Commande
Il s'agit d'un automate réalisé soit de façon câblée (obsolète), soit de
façon micro-programmée, on parle alors de microprocesseur.
2) L’unité de Traitement
C’est le cœur du microprocesseur. Elle regroupe les circuits qui assurent
les traitements nécessaires à l'exécution des instructions. Cette unité
est composée de :
Chapitre VI: Le microprocesseur
I. Architecture de base d’un microprocesseur
2) L’unité de Traitement
L’Unité Arithmétique et Logique (UAL) est un circuit complexe qui assure
les fonctions logiques (ET, OU, Ou exclusif, etc.…) ou arithmétique
(Addition, soustraction, multiplication).
Le registre d’état: ce registre est directement relié à l’UAL, il stocke
certaines informations particulières concernant les opérations effectuées
par UAL.
Chapitre VI: Le microprocesseur
I. Architecture de base d’un microprocesseur
3) Les registres
Un registre est un ensemble de bits qui permet de
stocker une information binaire dans un microprocesseur.
Cette information peut être une instruction, une donnée
a traitée, ou une adresse d’une instruction. Il existe 6
registres fondamentaux qu’on trouve dans chaque
microprocesseur :
Chapitre VI: Le microprocesseur
I. Architecture de base d’un microprocesseur
3) Les registres
Compteur ordinale ou compteur de programme (CP) de l’unité de
commande;
Registre d’instructions de l’unité de commande;
Registre d’état de l’unité de traitement;
L’accumulateur de l’unité de traitement;
Chapitre VI: Le microprocesseur
I. Architecture de base d’un microprocesseur
3) Les registres
Registre d’adresse;
Ce registre est directement relié au compteur de programme (CP), il
représente une interface entre le compteur de programme et le bus
d’adresse (voir figure du schéma fonctionnel).
Registre de données.
Il représente une interface entre le bus de données et l’UAL (voir figure
du schéma fonctionnel), ce registre contient les données a traitées par
l’UAL.
Chapitre VI: Le microprocesseur
I. Architecture de base d’un microprocesseur
Chapitre VI: Le microprocesseur
II. Cycle d’exécution d’une instruction
Le traitement d’une instruction peut être décomposé en trois phases :
1) Phase 1: Recherche de l'instruction à traiter
a. Le Compteur de Programmes PC contient l'adresse de l'instruction
suivante du programme. Cette valeur est placée sur le bus d'adresses
par l'unité de commande qui émet un ordre de lecture.
b. Au bout d'un certain temps (temps d'accès à la mémoire), le contenu
de la case mémoire sélectionnée est disponible sur le bus des données.
c. L'instruction est stockée dans le registre d’instruction du processeur.
Chapitre VI: Le microprocesseur
II. Cycle d’exécution d’une instruction
2) Phase 2: Décodage de l’instruction et recherche de
l’opérande.
a. Le registre d'instruction contient maintenant le premier mot de
l'instruction qui peut être codée sur plusieurs mots. Ce premier mot
contient le code opératoire qui définit la nature de l'opération à
effectuer (addition, rotation,...) et le nombre de mots de l'instruction.
b. L'unité de commande transforme l'instruction en une suite de
commandes élémentaires nécessaires au traitement de l'instruction.
Chapitre VI: Le microprocesseur
II. Cycle d’exécution d’une instruction
2) Phase 2: Décodage de l’instruction et recherche de
l’opérande.
d. Si l'instruction nécessite une donnée en provenance de la mémoire,
l'unité de commande récupère sa valeur sur le bus de données;
e. L’opérande est stocké dans un registre.
Chapitre VI: Le microprocesseur
II. Cycle d’exécution d’une instruction
3) Phase 3: Exécution de l’instruction.
a. Le micro-programme réalisant l'instruction est exécuté.
b. Les drapeaux sont positionnés (registre d'état).
c. L'unité de commande positionne le PC pour l'instruction suivante.
Chapitre VI: Le microprocesseur
III. Performances d’un microprocesseur
On peut caractériser la puissance d’un microprocesseur par le nombre
d’instructions qu’il est capable de traiter par seconde. Pour cela, on définit :
Le CPI (Cycle Par Instruction) qui représente le nombre moyen de
cycles d’horloge nécessaire pour l’exécution d’une instruction pour un
microprocesseur donné.
Le MIPS qui représente la puissance de traitement du microprocesseur :
Chapitre VI: Le microprocesseur
III. Performances d’un microprocesseur
Pour augmenter les performances d’un microprocesseur, on peut donc soit
augmenter la fréquence d'horloge (limitation matérielle), soit diminuer le
CPI (choix d'un jeu d'instruction adapté).
Chapitre VII: Notion d’architecture CISC et RISC
Actuellement l’architecture des microprocesseurs se compose de deux
grandes familles :
L’architecture CISC (Complex Instruction Set Computer)
L’architecture RISC (Reduced Instruction Set Computer)
I. L’architecture CISC
CISC est l’architecture la plus ancienne, était la seule envisageable pour les
machines à microprocesseur. En effet, vu que la mémoire travaillait très
lentement par rapport au processeur, on pensait qu’il était plus intéressant
de soumettre au microprocesseur des instructions complexes.
Chapitre VII: Notion d’architecture CISC et RISC
I. L’architecture CISC
Ainsi, plutôt que de coder une opération complexe par plusieurs
instructions plus petites (qui demanderaient autant d’accès mémoire très
lent). Il semblait préférable d’ajouter au jeu d’instructions du
microprocesseur une instruction complexe qui se chargerait de réaliser
cette opération. On a donc eu tendance à incorporer au niveau processeur
des instructions plus proches de la structure de ces langages.
C’est donc une architecture avec un grand nombre d’instructions où le
microprocesseur doit exécuter des tâches complexes par instruction
unique.
Chapitre VII: Notion d’architecture CISC et RISC
I. L’architecture CISC
Pour une tâche donnée, une machine CISC exécute ainsi un petit nombre
d’instructions mais chacune nécessite un plus grand nombre de cycles
d’horloge. Le code machine de ces instructions varie d’une instruction à
l’autre et nécessite donc un décodeur complexe (micro-code).
Chapitre VII: Notion d’architecture CISC et RISC
II. L’architecture RISC
Des études statistiques menées au cours des années 70 ont clairement
montré que les programmes générés par les compilateurs se contentaient
le plus souvent d'affectations, d'additions et de multiplications par des
constantes. Ainsi, 80% des traitements des langages de haut niveau faisaient
appel à seulement 20% des instructions du microprocesseur. D’où l’idée de
réduire le jeu d’instructions à celles le plus couramment utilisées et d’en
améliorer la vitesse de traitement.
Chapitre VII: Notion d’architecture CISC et RISC
II. L’architecture RISC
C’est donc une architecture dans laquelle les instructions sont en nombre
réduit (chargement, branchement, appel sous-programme).
Les architectures RISC peuvent donc être réalisées à partir de séquenceur
câblé. Leur réalisation libère de la surface permettant d’augmenter le
nombre de registres ou d’unités de traitement par exemple.
Chacune de ces instructions s’exécutent ainsi en un cycle d’horloge. Les
accès à la mémoire s’effectuent seulement à partir de deux instructions
(Load et Store).
Chapitre VII: Notion d’architecture CISC et RISC
II. L’architecture RISC
Par contre, les instructions complexes doivent être réalisées à partir de
séquences basées sur les instructions élémentaires, ce qui nécessite un
compilateur très évolué dans le cas de programmation en langage de haut
niveau.
Chapitre VII: Notion d’architecture CISC et RISC
III. Choix d’une architecture
Le choix dépendra des applications visées. En effet, si on diminue le
nombre d'instructions, on crée des instructions complexes (CISC) qui
nécessitent plus de cycles pour être décodées et si on diminue le nombre
de cycles par instruction, on crée des instructions simples (RISC) mais on
augmente alors le nombre d'instructions nécessaires pour réaliser le même
traitement.
Chapitre VII: Notion d’architecture CISC et RISC
III. Choix d’une architecture
Chapitre VII: Notion d’architecture CISC et RISC
Bibliographie
Philippe Darche: Architecture des ordinateurs; Cours et exercices
corrigés; 2012; 560p
Jean-Jacques Schwarz:Architecture des ordinateurs; 456p
[Link]