Académique Documents
Professionnel Documents
Culture Documents
Cours
Architecture des ordinateurs et
Microprocesseur
ENSI 2020/2021
Introduction
o Le concept de microprocesseur a été créé par la Société Intel. Cette Société, créée en
1968, était spécialisée dans la conception et la fabrication de puces mémoire. À la
demande de deux de ses clients — fabricants de calculatrices et de terminaux — Intel
étudia une unité de calcul implémentée sur une seule puce. Ceci donna naissance, en
1971, au premier microprocesseur, le 4004, qui était une unité de calcul 4 bits
fonctionnant à 108 kHz. Il résultait de l’intégration d’environ 2300 transistors.
Où trouve-t-on des systèmes à
microprocesseur ?
Les applications des systèmes à microprocesseurs sont multiples et variées :
- Ordinateur, PDA
- console de jeux
- calculatrice
- télévision
- téléphone portable
- distributeur automatique d’argent
- robotique
- lecteur carte à puce, code barre
- automobile
- instrumentation
- etc…
PLAN
I. Objectifs
II. Modèle de Von Neumann
III. Modèle de Harvard
I. Objectifs
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.
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é des éléments suivants :
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.
Elle contient les instructions du ou des programmes en cours d’exécution et les données
associées à ce programme.
• 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.
3. Bus
Un bus est un ensemble de fils qui assure la transmission du même type d’information.
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 (Data Bus) : bidirectionnel qui assure le transfert des
informations entre le microprocesseur et son environnement, et inversement. Son
nombre de lignes est égale à la capacité de traitement du microprocesseur.
I. Objectifs
II. Organisation d’une mémoire
III.Caractéristiques d’une mémoire
IV. Différents types de mémoire
V. Notion de hiérarchie mémoire
VI. Fonctionnement d’une mémoire
VII.Constitution de blocs mémoire
I. Objectifs
o Avec une adresse de n bits, il est possible de référencer au plus 2n cases mémoire.
Chaque case est remplie par un mot de données (sa longueur m est toujours une
puissance de 2).
o Le nombre de fils d’adresses d’un boîtier mémoire définit donc le nombre de cases
mémoire que comprend le boîtier.
o Le nombre de fils de données définit la taille des données que l’on peut sauvegarder
dans chaque case mémoire.
o 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.
II. Organisation d’une mémoire
On peut donc schématiser un circuit mémoire par la figure suivante où l’on peut distinguer :
• les entrées d’adresses
• les entrées de données
• les sorties de données
• les entrées de commandes :
- une entrée de sélection de lecture ou d’écriture. ( R/W )
- une entrée de sélection du circuit. ( CS )
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 ( R/W )
3. sélection de la mémoire ( CS = 0 )
4. lecture ou écriture la donnée
o La capacité : c’est le nombre total de bits que contient la mémoire. Elle s’exprime aussi
souvent en octet.
o 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.
o 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.
o Le temps de cycle : il représente l'intervalle minimum qui doit séparer deux demandes
successives de lecture ou d'écriture.
o Le débit : c’est le nombre maximum d'informations lues ou écrites par seconde.
o 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.
IV. Différents types de mémoire
Inconvénients
➢ Les mémoires dynamiques, qui offrent une plus grande densité d'information et un coût par bit
plus faible, sont utilisées pour la mémoire centrale.
➢ Les mémoires statiques, plus rapides, sont utilisées lorsque le facteur vitesse est critique,
notamment pour des mémoires de petite taille comme les caches et les registres.
IV. Différents types de mémoire
2. Les mémoires mortes (ROM)
Pour certaines applications, il est nécessaire de pouvoir conserver des informations de
façon permanente même lorsque l'alimentation électrique est interrompue ➔ les
mémoires mortes ou mémoires à lecture seule (ROM : Read Only Memory).
Ces mémoires, contrairement aux RAM, ne peuvent être que lue. L’inscription en
mémoire des données restent possible mais est appelée programmation. Suivant le type
de ROM, la méthode de programmation changera.
Il existe donc plusieurs types de ROM :
• ROM
• PROM
• EPROM
• EEPROM
• FLASH EPROM.
LA ROM La PROM
Elle est programmée par le fabricant et son C’est une ROM qui peut être programmée
contenu ne peut plus être ni modifié, ni effacé une seule fois par l'utilisateur
par l'utilisateur (Programmable ROM).
La programmation est réalisée à partir d’un
programmateur spécifique.
Avantages : Avantages :
Inconvénients : Inconvénients :
Pour faciliter la mise au point d'un programme L’EEPROM (Electically EPROM) est une
ou tout simplement permettre une erreur de mémoire programmable et effaçable
programmation, il est intéressant de pouvoir électriquement. Elle répond ainsi à
reprogrammer une PROM. l’inconvénient principal de l’EPROM et peut être
L'EPROM (Erasable Programmable ROM) est programmée in situ.
une PROM qui peut être effacée.
Avantages : Avantages :
• Impossible de sélectionner une seule cellule à • Très lente pour une utilisation en RAM.
effacer • Coût de réalisation
• Impossible d’effacer la mémoire in-situ.
• l’écriture est beaucoup plus lente que sur une
RAM. (environ 1000x)
V. Notion de hiérarchie mémoire
V. Notion de hiérarchie mémoire
o Les registres sont les éléments de mémoire les plus rapides. Ils sont situés au niveau
du processeur et servent au stockage des opérandes et des résultats intermédiaires.
o La mémoire cache 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.
o La mémoire principale 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.
o La mémoire d’appui sert de mémoire intermédiaire entre la mémoire centrale et les
mémoires de masse. Elle joue le même rôle que la mémoire cache.
o La mémoire de masse est une mémoire périphérique de grande capacité utilisée pour le
stockage permanent ou la sauvegarde des informations. Elle utilise pour cela des
supports magnétiques (disque dur, ZIP) ou optiques (CDROM, DVDROM).
VI. Fonctionnement d’une mémoire
1. Notion de sélection d’une mémoire
o Les mémoires sont conçues pour pouvoir être connectées ensemble sur un même bus de
donnée ➔ il faut éviter les conflits électriques entre des mémoires qui tenteraient de
mettre en même temps les données sur le bus commun.
o Pour cela, la mémoire est dotée d’une entrée de sélection 𝐜𝐬 (Chip Select). Cette entrée
permet de déconnecter électroniquement du bus de donnée lorsqu'elle n’est pas
sélectionnée.
o Si 𝑐𝑠
ഥ = 0 ➔ la mémoire est sélectionnée et le bus de donnée interne peut être connecté
au contenu de la case d’adresse An-1….A0.
o Si 𝑐𝑠
ഥ = 1 ➔ la mémoire est déconnectée et le bus de donnée externe est en haute
impédance.
VI. Fonctionnement d’une mémoire
2. Notion de lecture
Soit k la taille du bus d’adresses (taille du registre RAM) et n la taille du bus de données.
On peut exprimer la capacité de la mémoire centrale soit en nombre de mots mémoire ou en
bits (octets, kilo octets…)
Ca = 1024 cases soit 210 cases ➔ une mémoire de 1 kilo cases notée 1Kcases.
Ca = 1024 Kilo cases ➔ 1024*1024 cases soit 220 cases ➔ une mémoire de 1 Méga cases
notée 1Mcases.
VII. Constitution de blocs mémoire
Mémoire Mémoire
de 1Mo de 64 ko
1 octet 1 octet
Problématique
on veut réaliser une mémoire de capacité C mais nous disposons
uniquement de boitiers de taille inférieure !!!
Boitier ???
m’ Capacité Mémoire
m
C’ Capacité C
n’
n
Soit M une mémoire de capacité C, tel que m est le nombre de mot et n la taille d’un mot.
Soit M’ un boitier de capacité C’, tel que m’ le nombre de mot et n’ la taille d’un mot.
On suppose que C > C’ (m > m’ et n > n’)
Pour connaitre le nombre de boitiers nécessaire, il faut calculer les deux facteurs suivants :
𝒎 𝒏
𝑷= 𝑸=
𝒎′ 𝒏′
• P permet de déterminer le nombre de boitiers M’ nécessaire pour obtenir le nombre de
mots de la mémoire M ➔ extension ligne
• Q permet de déterminer le nombre de boitier M’ nécessaire pour obtenir la taille de mots
de la mémoire M ➔ extension mots ou extension colonnes
• PQ donne le nombre total de boîtiers nécessaire pour réaliser la mémoire M.
• Pour sélectionner les boitiers, on utilise les bits de poids forts d’adresses. Si P est le
facteur extension ligne alors on prend k bits tel que P=2k
Les autres bits d’adresse restants sont utilisés pour sélectionner un mot dans un boitier.
Applications
Ex 2 : Comment réaliser une mémoire de 1ko (la taille d’un mot est de 8 bits) en utilisant
des boitiers de taille 256 mots de 8 bits ?
Ex 4 : on veut réaliser une mémoire de 1 ko en utilisant des boitiers de taille 256 mots de
4 bits.