Vous êtes sur la page 1sur 37

Ecole Nationale des Sciences de l’Informatique

Cours
Architecture des ordinateurs et
Microprocesseur

Dr-ing. Rym Besrour


rym.besrour@ensi-uma.tn

ENSI 2020/2021
Introduction

L’informatique, contraction d’information et automatique, est la science du


traitement de l’information. Apparu au milieu du 20ème siècle, elle a connu une
évolution extrêmement rapide.
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.
Qu’entent-t-on par 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 :


• entre performances et coûts
• entre efficacité et facilité de construction
• entre performances d'ensemble et facilité de programmation
• etc
Qu’est ce qu’un microprocesseur ?

o Un microprocesseur est un circuit intégré complexe. Il résulte de l’intégration sur une


puce de fonctions logiques combinatoires (logiques et/ou arithmétique) et séquentielles
(registres, compteur, etc…). Il est capable d'interpréter et d'exécuter les instructions
d'un programme.

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

Chapitre 1 : Architecture de base


Chapitre 2 : Mémoire
Chapitre 3 : Microprocesseur
Chapitre 4 : Microprocesseur Intel 8086
Chapitre 5 : Programmation assembleur du 8086
Chapitre 1 :
Architecture de base

I. Objectifs
II. Modèle de Von Neumann
III. Modèle de Harvard
I. Objectifs

o Comprendre la structure et le fonctionnement interne des ordinateurs.

o Comprendre l’évolution et les raisons de cette évolution

o L’interface entre le logiciel et le matériel

o Les performances et les moyens pour les mesurer


II. Modèle de Van Neumann

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 :

• une unité centrale


• une mémoire principale
• Des interfaces d’entrées/sorties
II. Modèle de Van Neumann

o L’exécution d’une instruction peut se faire en


plusieurs cycles processeur :
Recherche de l’instruction (Instruction fetch)
Recherche de l’opérande 1 (data 1 fetch)
Recherche de l’opérande 2 (data 2 fetch)

o Performances de calcul limitées
1. 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.

Toutes les activités du microprocesseur sont cadencées par une horloge.

On caractérise le microprocesseur par :


➢sa fréquence d’horloge : en MHz ou GHz
➢le nombre d’instructions par secondes qu’il est capable d’exécuter : en MIPS
➢la taille des données qu’il est capable de traiter : en bits
2. 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 :

• une mémoire morte ( ROM = Read Only Memory ) chargée de stocker le


programme. C’est une mémoire à lecture seule.

• 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.

• un bus d'adresses (Adress Bus) : unidirectionnel qui permet la sélection des


informations à traiter dans un espace mémoire ou espace adressable qui peut avoir
2n emplacements, avec n est le nombre de conducteurs du bus d'adresses.

• un bus de commande (Control Bus) : constitué par quelques conducteurs qui


assurent la synchronisation des flux d'informations sur les bus des données et des
adresses.
III. Modèle de Harvard

Bus d’Adresse Mémoire Données


Bus d’Adresse Mémoire Programme

Bus de Données Mémoire Programme

Bus de Données Mémoire Données


III. Modèle de Harvard

o Séparation entre la mémoire de donnée et la mémoire de programme

o Chaque mémoire comporte ses bus propres à elle

o Recherche de l’instruction et de la donnée en 1 cycle d’horloge

o Le CPU (core) comporte un chemin de donnée plus organisé

o Puissance de calcul meilleure


Chapitre 2 :
Mémoire

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

Le but de ce chapitre est de :

o présenter les mémoires à semi-conducteur, en particulier les mémoires mortes, de


façon à comprendre leur fonctionnement et à les utiliser pour la réalisation de
fonctions logiques.

o constituer des blocs mémoires à partir des blocs mémoires élémentaires.

o traiter le problème de décodage d’adresse dans les systèmes à microprocesseurs.


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.
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
II. Organisation d’une mémoire

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

Lorsque l’on a une mémoire de n bits d’adresse :


• sa capacité est C=2ncases,
• ses cases sont numérotées de 0 à 2n-1,
• son bus d’adresse est noté An-1…….A0
III. Caractéristiques d’une mémoire

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

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 :
• Les RAM statiques : le bit mémoire d'une RAM statique (SRAM) est composé
d'une bascule. Chaque bascule contient entre 4 et 6 transistors.
• Les RAM dynamiques : l'information est mémorisée sous la forme d'une
charge électrique stockée dans un condensateur.
IV. Différents types de mémoire
Avantages
• Cette technique permet une plus grande densité d'intégration, car un point mémoire
nécessite environ quatre fois moins de transistors que dans une mémoire statique.
• Sa consommation s’en retrouve donc aussi très réduite.

Inconvénients

• La présence de courants de fuite dans le condensateur contribue à sa décharge ➔


l’information est perdue si on ne la régénère pas périodiquement (charge du condensateur).
• Les RAM dynamiques doivent donc être rafraîchies régulièrement pour entretenir la
mémorisation : il s'agit de lire l'information et de la recharger.

➢ 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 :

• Densité élevée • idem ROM


• Non volatile • Claquage en quelques minutes
• Mémoire rapide • Coût relativement faible

Inconvénients : Inconvénients :

• Écriture impossible • Modification impossible (toute erreur est


• Modification impossible fatale)
• Délai de fabrication (3 à 6 semaines)
• Obligation de grandes quantités en raison
du coût élevé qu'entraîne la production du
masque et le processus de fabrication
L’EPROM L’EEPROM

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 :

• Reprogrammable et non Volatile • Comportement d'une RAM non Volatile.


• Programmation et effacement mot par mot
possible.
Inconvénients : Inconvénients :

• 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

o Lire une mémoire consiste à transférer sur son bus de


donnée externe le contenu d’une case mémoire dont le
numéro est placé sur le bus d’adresse.
o La mémoire dispose d’une entrée notée 𝐎𝐄 : Output
Enable (autorisation de sortie des données). Cette
entrée permet de donner l’ordre de lecture.
• Si 𝑂𝐸 = 0 alors on autorise la sortie des
données.
• Si 𝑂𝐸 =1 alors il n’y a pas de lecture et le bus de
donnée est en haute impédance.

La lecture effective n’a lieu que si la mémoire est


sélectionnée (𝑐𝑠
ഥ = 0)
VI. Fonctionnement d’une mémoire
3. Notion d’écriture

o Ecrire dans une mémoire, on dit aussi programmer


une mémoire, consiste à transférer la donnée présente
sur le bus de données dans le contenu de la case
mémoire dont le numéro est présenté sur le bus
d’adresse.

o La mémoire dispose d’une entrée notée 𝑊𝑅 par


laquelle on donne l’ordre d’écriture.
• Si 𝑊𝑅 =0 alors l’écriture est possible (𝑐𝑠
ഥ = 0).
• Si 𝑊𝑅 =1 alors il n’y a pas d’écriture.
VII. Constitution de blocs mémoire

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…)

La capacité d’adressage (Ca) = 2k Mots mémoire


( c’est le nombre de cases mémoire)
La capacité (C) = 2k * n bits

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

Ex 1 : Soit un processeur de 16 lignes d’adresses, adressable par mot de 8 bits.


1/ Quelle est la capacité d’adressage totale?
2/ Quelle est la capacité mémoire de ce processeur en ko ?
3/ Donner la structure de cette mémoire.

Ex 2 : Indiquer les adresses limites, en Hexa, des mémoires suivantes

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’)

Quel est le nombre de boitier M’


nécessaire pour réaliser la mémoire M ??
VII. Constitution de blocs mémoire

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 1 : On veut réaliser un système de 32 * 4 bits de mémoire sachant que l’on ne dispose


que de boitiers de mémoire vive de 16 *4 bits.

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 3 : On veut réaliser un système de 16 * 8 bits de mémoire sachant que l’on ne dispose


que de boitiers mémoire de 16 * 4 bits.

Ex 4 : on veut réaliser une mémoire de 1 ko en utilisant des boitiers de taille 256 mots de
4 bits.

Vous aimerez peut-être aussi