Chapitre 1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 16

Chapitre 1 : Architecture d’un microprocesseur

1
Sommaire
I.1 Introduction ..................................................................................................................................3
I.2 Architecture d'un système à microprocesseur....................................................................3
I.2.1 Le microprocesseur ............................................................................................................3
I.2.2 La mémoire ............................................................................................................................4
I.2.3 Interface I/O............................................................................................................................5
I.3 Architecture de base d’un microprocesseur ........................................................................5
I.3.1 Unité de traitement................................................................................................................6
I.3.2 Unité de commande .............................................................................................................6
I.4 La famille de 80x86.........................................................................................................................7
I.4.1 Le microprocesseur 8086 (1978)........................................................................................7
I.4.2 Le microprocesseur 8088 (1979)........................................................................................7
I.4.3 Les microprocesseurs 80186 & 80188 (1982) ................................................................7
I.4.4 Le microprocesseur 80286 (1982).....................................................................................7
I.4.5 Le microprocesseur 80386 (1984).....................................................................................8
I.4.6 Le microprocesseur 80486 (1989).....................................................................................8
I.4.7 Le microprocesseur Pentium (1993) ...............................................................................8
I.5 Le Microprocesseur Intel 8086……………………………......................................................9
I.5.1 Description physique du 8086...........................................................................................9
I.5.1.1 Connexions de base ........................................................................................................12
I.5.2 Organisation interne du 8086 ...........................................................................................12
I.5.3 La segmentation de la mémoire........................................................................................15
Bibliographie ………………………………………………………………………………… …. .. .……………………………… 16

2
I.1 Introduction

Dans les années 70 les technologies Dr John Von Neumann (1946).


des ordinateurs numériques et celles des
circuits intégrés sont fondues pour donner
naissance au microprocesseur.
Le microprocesseur possède une
architecture semblable à l’ordinateur en plus
tous les deux effectuent des calculs sous le
contrôle d’un programme.
La plupart des systèmes
informatiques d'aujourd'hui sont basés sur
un principe de conception proposée par le

I.2 Architecture d'un système à microprocesseur

Dans un système à microprocesseur (Architecture de Von Neumann), on retrouve au


minimum : (1) Un microprocesseur, (2) Une mémoire morte (ROM) + Une mémoire vive (RAM),
(3) Une interface entrées/sorties
Tous ces organes sont reliés entre eux avec 3 bus : Bus de données bidirectionnel, Bus
d'adresse, Bus de commande

Figure I.1 : Système à microprocesseur

I.2.1 Le microprocesseur
C’est le coeur du système. C’est lui qui a la charge des fonctions suivantes :
 Fournit les signaux de synchronisation et de commande à tous les éléments du
système.
 Prend en charge les instructions et les données dans la mémoire.
 Transfère les données entre la mémoire et les dispositifs d’I/O et vice versa.

3
 .Décode les instructions.
 Effectue les opérations arithmétiques et logiques commandées par les
instructions.
 Réagit aux signaux de commande produits par les entrées/sorties comme le
signal RESET et les INTERRUPTIONS.
I.2.2 La mémoire
La mémoire a pour rôle de conserver des groupes de chiffres binaires (mots) qui
sont soit des instructions formant un programme, soit des données dont le programme a
besoin.
Elle se décompose souvent en :
(1) une mémoire morte (ROM = Read Only Memory) chargée de stocker le
programme. C’est une mémoire à lecture seule.
 ROM : Read Only Memory. Mémoire à lecture seule, sans écriture.
Son contenu est programmé une fois pour toutes par le constructeur.
Avantage : faible coût.
Inconvénient : nécessite une production en très grande quantité.
 PROM: Programmable Read Only Memory. ROM programmable une
seule fois par l’utilisateur.
 EPROM : Erasable PROM, appelée aussi UVPROM. ROM
programmable électriquement avec un programmateur et effaçable par
exposition à un rayonnement ultraviolet.
 EEPROM : Electrically Erasable PROM. ROM programmable et
effaçable électriquement. Les EEPROM contiennent des données qui
peuvent être modifiées.
(2) 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.
 SRAM: Static Random Access Memory. Mémoire statique à accès
aléatoire, à base de bascules à semi-conducteurs à deux états
(bascules RS).
 DRAM : Dynamic RAM. Basée sur la charge de condensateurs :
condensateur chargé = 1, condensateur déchargé = 0.

Remarque :
Les disques durs, disquettes, CDROM, etc… sont des périphériques de stockage et
sont considérés comme des mémoires secondaires.
On peut donc schématiser un circuit mémoire par la figure suivante où l’on peut distinguer
:

4
Figure I.2 : Schéma fonctionnel d’une mémoire

Les entrées d’adresses, les entrées / sorties de données, les entrées de


commandes :Entrée de sélection de lecture ou d’écriture. (R/ W), une entrée de sélection
du circuit. (CS).
Le nombre de lignes d’adresses dépend de la capacité de la mémoire : n lignes
d’adresses permettent d’adresser 2n cases mémoire: 8 bits d’adresses permettent
d’adresser 256 octets, 16 bits d’adresses permettent d’adresser 65536 octets (= 64 Ko), ...

Exemple : mémoire RAM 6264, capacité = 8K×8 bits : 13 broches d’adresses A0 à A12,
213 = 8192 = 8 Ko.

I.2.3 Interface I/O


C’est un circuit intégré permettant au microprocesseur de communiquer avec
l’environnement extérieur (périphériques) : clavier, écran, imprimante, bouton poussoir,
processus industriel, actionneurs…
Les transferts E/S correspondent à des instructions de lecture et d’écriture. Le plus
souvent le circuit d’interface comporte un registre appelé « port ».
Ecriture : Le microprocesseur envoie l’ordre d’écriture et les données sont mémorisées
dans le registre de l’interface.
Lecture : le circuit se contente de présenter les informations du périphérique sur le bus de
données.

I.3 Architecture de base d’un microprocesseur

Le microprocesseur est construit autour de deux éléments principaux :


Une unité de traitement et Une unité de commande

5
I.3.1 Unité de traitement
Elle regroupe les circuits qui assurent les traitements nécessaires à l'exécution des
instructions. Les blocs de l’unité de traitement :

Figure I.3: Principales sections d'un microprocesseur

 ALU (Arithmetic and Logic Unit)


C'est l’unité qui permet d'effectuer des calculs arithmétiques simples (additions,
soustractions, décalages, etc.) et des opérations logiques (ET, OU, etc.).
 Les registres généraux
Les registres généraux participent aux opérations arithmétiques et logiques ainsi
qu'à l'adressage. Le plus important est appelé accumulateur.
 Registre d’état
C’est l’ensemble des drapeaux (flags) qui forme le registre d’état.
Les flags réagissent après certaines instructions et permettent de savoir si le
résultat de l'opération est zéro (flag Z), si il y a eu un dépassement (flag C), si le
nombre de bit à 1 est pair (flag P) et le signe (flag S).

I.3.2 Unité de commande


C’est l’ensemble séquenceur/décodeur d’instruction. Elle est composée par :
 Séquenceur
C'est le maître d'orchestre, il cadence le microprocesseur. C'est lui qui pilote le bus
de commande et les blocs internes
 Décodeur d’instruction
Il reconnaît l’instruction et la transforme en signaux internes grâce à un microcode
contenu dans une ROM interne.
 Le compteur de programme
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.

6
 Stack Pointer
Il a pour rôle d’indiquer au microprocesseur la prochaine case disponible dans la
pile.

I.4 La famille de 80x86

I.4.1 Le microprocesseur 8086 (1978)

Adresse bus 20-bit.


16 bits du bus de données internes.
16 bits du bus de données externes.
L’unité d'interface de bus (BIU) et l'unité
d'exécution (EU).
Registres de 16 bits (certains registres sont découpés en deux et on peut accéder
séparément à la partie haute et à la partie basse.).
Il peut être utilisé avec un coprocesseur mathématique externe.

I.4.2 Le microprocesseur 8088 (1979)


Il est entièrement compatible avec le 8086, le jeu d'instruction est identique. La
seule différence réside dans la taille du bus de données, celui du 8088 fait seulement 8
bits.

I.4.3 Les microprocesseurs 80186 & 80188 (1982)


Le 80186/80188 intègre sur une seule puce un microprocesseur 8086/8088 plus
un générateur d'horloge, un temporisateur programmable, un contrôleur d'interruption
programmable, un contrôleur d'accès direct à la mémoire et un circuit pour sélectionner
lesdispositifs d'E / S.

I.4.4 Le microprocesseur 80286 (1982)


Bus d'adresse de 24 bits.
16 bits du bus de données internes.
16 bits du bus de données externes.
Conçu pour être compatible avec 8086 &
80186 microprocesseurs.

Fournit deux modes de programmation:


Mode réel : le processeur fonctionne exactement comme le processeur 8086.
Mode protégé : Dans ce mode, le processeur utilise l'espace mémoire complète qui est
16MB.
Ce mode est appelé mode protégé parce que plusieurs programmes peuvent être
chargés en mémoire à la fois (chacun dans son propre segment), mais ils sont protégés
l’un contre l'autre.

7
I.4.5 Le microprocesseur 80386 (1984)
Bus d'adresse de 32 bits.
32 bits du bus de données internes.
32 bits du bus de données externes.
Des registres de 32 bits.
Offre trois modes:
Mode réel (identique à celui de 80 286)
Le mode protégé (gère 4 Go de mémoire d'une manière similaire à celle du 80 286).
Mode virtuel (similaire au mode réel, sauf que plusieurs processeurs 8086 peuvent
fonctionner simultanément).

I.4.6 Le microprocesseur 80486 (1989)


Bus d'adresse de 32 bits.
Bus de données 32 bits interne et
externe.
Des registres de 32 bits.

On-chip cache (stocke les instructions et les données les plus récemment utilisées)
Unité à virgule flottante intégrée (FPU)
Modes réels et protégés comme dans 80386

I.4.7 Le microprocesseur Pentium (1993)


Bus d'adresse de 32 bits.
32-bit interne
64 bits du bus de données externes.
Des registres de 32 bits.
Deux instructions pipelines
On-chip cache
FPU intégré

8
I.5 Le Microprocesseur Intel 8086

Dans cette partie du cours, nous allons étudier, en particulier, Le microprocesseur Intel 8086
est un microprocesseur 16 bits, développé par Intel en juin 1978. C’est le premier microprocesseur de
la famille Intel 80x86 (8086, 80186, 80286, 80386, 80486, Pentium, ...). Il se présente sous la forme
d’un boîtier DIP (Dual In-line Package) à 40 broches. Les processeurs successifs du 8086 se sont en
effet construits petit à petit en ajoutant à chaque processeur des instructions et des fonctionnalités
supplémentaires, mais en conservant à chaque fois les spécificités du processeur précédent. C'est
cette façon d'adapter les processeurs à chaque étape qui permet qu'un ancien programme écrit pour
un 8086 fonctionne toujours sur un nouvel ordinateur équipé par exemple d'un Pentium IV, l’inverse
n’est évidemment pas toujours vrai.

I.5.1 Description physique du 8086


Le 8086 est équipé d'un bus multiplexé de 20lignes Le bus de données est constitué de 16
lignes D 15…D 0 .le bus d'adresses de 20 lignes. A19…A0 et fonctionne à des fréquences diverses 5,
8 ou 10 MHz.
Le brochage et le schéma fonctionnel du 8086 sont décrits respectivement par la figure : 1.4 ;
on peut y voir que le 8086 comprend 40 broches.

Figure 1.4 : Brochage et Schéma fonctionnel du 8086 .

9
Brochage et Fonctions des Pins du 8086 :
CLK : entrée du signal d’horloge qui cadence le fonctionnement du microprocesseur. Ce signal
provient d’un générateur d’horloge : le 8284.
AD0 à AD15 : Ces lignes représentent 16 bits de bus d'adresse multiplexés avec 16 bits de lignes
de données. Pendant T1, elles représentent des lignes d'adresse A15-A0.
Pendant T2, T3, T4, elles représentent des lignes de données D0-D15.
A16/S3 à A19/S6 : Ces lignes adresse sont multiplexées avec les lignes d´état.
Pendant T1, elles représentent des lignes d'adresse A19-A16.
Pendant T2, T3, T4, elles représentent des signaux d'état S6-S3.
S0 à S7 : signaux d’état indiquant le type d’opération en cours sur le bus.
ALE (Address Latch Enable ): Ce signal est une impulsion active pendant T1, elle indique que
l’information qui circule dans bus A/D est une adresse.
Elle est fournie par le Cpu pour verrouiller les lignes d'adresse au cours des cycles T2, T3, T4.
RD : Read, signal de lecture d’une donnée.
WR : Write, signal d´écriture d’une donnée.
M/IO : Memory/Input-Output, indique si le CPU adresse la mémoire (M/IO = 1) ou les
entrées/sorties (M/IO = 0).
DEN : Data Enable, indique que des données sont en train de circuler sur le bus A/D (équivalente
de ALE pour les données).
DT/R : Data Transmit/Receive, indique le sens de transfert des données :
• DT/R = 1 : données émises par le microprocesseur (écriture) ;
• DT/R = 0 : données reçues par le microprocesseur (lecture).
Chronogramme de séparation de bus A/D

10
Chronogramme de sens de transfert de données sur le bus de données

READY : Entrée de synchronisation avec la mémoire.


TEST : Entrée de mise en attente du microprocesseur d’un évènement extérieur.
RESET : Entrée de remise à zéro du microprocesseur.
MN/MX : indique dans quel mode le processeur doit fonctionner
HIGH → minimum mode.
LOW → maximum mode.
NMI et INTR : Entrées de demande d’interruption.
INTR : interruption normale,
NMI (Non Maskable Interrupt) : interruption prioritaire.
INTA ( Interrupt Acknowledge) : indique que le microprocesseur accepte l’interruption.
HOLD et HLDA : Signaux de demande d’accord d’accès direct à la mémoire (DMA).
BHE : Bus High Enable, signal de lecture de l’octet de poids fort du bus de données.
Il est utilisé avec A0 pour sélectionner le mot entier, octet fort, octet faible ou aucun.

BHE A0 Data Selected


0 0 Les deux octets (mots complet) (D15- D0)
0 1 Octet fort (adresse impaire) (D15- D8)
1 0 Octet faible (adresse paire) (D7- D0)
1 1 Aucun octet

11
I.5.1.1 Connexions de base
GND: se connecter à 0V.
VCC: se connecter à 5V.
MN / MX : se connecter à 5V (mode minimum).
NMI et INTR: se connecter à 0V (pas de support pour les interruptions).
CLK: se connecter à la sortie CLK du générateur d'horloge.
HOLD: se connecter à 0V (pas d'accès direct à la mémoire).
TEST : se connecter à 0V (pas d'attente pour les co-processeur).
READY: se connecter à 5V (pas de cycles d'attente pour les périphériques lents).
RESET: se connecter à zéro de la sortie du générateur d'horloge.

Remarque :
Un système à microprocesseur très simple est composé des parties suivantes:
(1) 8284A Clock Generator (15 MHz Crystal)
(2) 8086 Microprocessor (Minimum Mode)
(3) Bus System (Demultiplexed and Buffered)
(4) Memory System (ROM & RAM Modules)
(5) I/O System (Switches and LEDs)

I.5.2 Organisation interne du 8086


Le 8086 est constitué de deux unités internes distinctes:
 l’unité d’exécution (EU : Execution Unit) ;
 l’unité d’interface de bus (BIU : Bus Interface Unit).
Le rôle de la BIU est de récupérer et stocker les informations à traiter, et d'établir les transmissions
avec les bus du système. L'EU exécute les instructions qui lui sont transmises par la BIU.
Pendant que l'EU du 8086/8088 exécute les informations qui lui sont transmises, l'instruction
suivante est chargée dans la BIU. Les instructions qui suivront sont placées dans une file d'attente.
Lorsque l'EU a fini de traiter une instruction la BIU lui transmet instantanément l'instruction
suivante, et charge la troisième instruction en vue de la transmettre à l'EU. De cette façon, l'EU est
continuellement en activité.

12
Figure I.5 : Architecture interne du 8086

Le microprocesseur 8086 contient 14 registres répartis en 4 groupes :


a) Registres de travails : 4 registres sur 16 bits AX, BX, CX et DX. Chacun de ces
registres est de 16-bits de large, mais Ils peuvent être également considérés comme 8
registres sur 8 bits.
Registre AX : (Accumulateur) : registre de travail principal.
Registre BX : (registre de base) : Il est utilisé pour l'adressage.
Registre CX : (Le compteur) : le registre CX a été fait pour servir comme
compteur lors des instructions de boucle.
Registre DX : On utilise le registre DX pour les opérations de multiplication et
de division et pour contenir le numéro d'un port d'entrée/sortie
pour adresser les interfaces d'E/S.
b) Registres de segments : 4 registres sur 16 bits. Ils sont employés par la CPU pour
déterminer les adresses de segment de mémoire.
Le registre CS (code segment) : Il pointe sur le segment qui contient les codes
des instructions du programme exécutable.
Le registre DS (Data segment) : Le registre segment de données pointe sur la
zone mémoire de données.
Le registre ES (Extra segment) : segment auxiliaire pour données.
13
Le segment SS (Stack segment) : Le registre SS pointe sur la pile.

Remarque : la pile est une zone mémoire ou on peut sauvegarder le contenu des registres,
les adresses ou les données pour les récupérer après l'exécution d'un sous-programme ou
l'exécution d'un programme d'interruption.

c) Registres de pointeurs et d’index : 4 registres sur 16 bits.


Ce sont des registres de 16 bits ils sont utilisés comme pointeurs de mémoire.
L'index SI : (source indexe) : Il est associé au registre DS, il sert aussi pour les
instructions de chaîne de caractères, en effet il pointe sur le caractère source.
L'index DI : (Destination indexe) : Il est associé aux registres (DS ou ES), il sert
aussi pour les instructions de chaîne de caractères, il pointe alors sur la
destination.
Les pointeurs SP et BP : ( Stack pointer et base pointer ) : Ils sont associés au
registre SS, Ils pointent sur la zone pile. Pour le registre BP a un rôle proche de
celui de BX, le registre SP Pointe sur la tête de la pile.
Le pointeur IP : Associé au registre CS, il a seulement une fonction qui est
d'indiquer la prochaine instruction à exécuter par le CPU.
d) Le registre FLAG : La plupart des instructions arithmétiques et logiques affectent
le registre d'état du processeur (ou registre de FLAG).
C’est un registre de 16 bits. Six des drapeaux sont des indicateurs d'état reflétant les
propriétés du résultat de la dernière instruction arithmétique ou logique. Trois des
indicateurs peuvent être activés ou remis à zéro par le programmeur: (TF, IF, DF).
Flags :

CF : indicateur de retenue (carry) ;


PF : indicateur de parité;
AF : indicateur de retenue auxiliaire ;
ZF : indicateur de zéro ;
SF : indicateur de signe ;
TF : indicateur d’exécution pas à pas (trap) ;
IF : indicateur d’autorisation d’interruption ;
DF : indicateur de décrémentation ;
OF : indicateur de dépassement (overflow).
X : bit non utilise.
14
Exemple : Prenons le cas de l’indicateur de retenue CF après une sommation
dans les deux cas :

I.5.3 La segmentation de la mémoire


Le processeur 8086 a un bus d'adresses du 20 bit, Ceci permet au processeur
d'adresser 220 ou 1,048,576 emplacements mémoire différents (1 Mo).
Puisque les registres du 8086 ne font que 16 bits et avec 16 bits en peut adresser que 64
ko alors INTEL a proposé de fractionner la mémoire totale adressable de 1 Mo en bloc de
64 ko appelés segments. On utilise alors deux registres pour adresser une case mémoire
(registre de segment combiné au registre d’offset), on appelle donc une adresse logique :
le couple : segment : offset.
On appelle adresse physique : L’adresse d’une case mémoire donnée sous la forme
d’une quantité sur 20 bits.
Adresse physique = segment x 16+ offset

Exemple : CS : IP = 3F51 : 0021 donc Adresse physique = 3F510 + 0021 = 3F530h

15
Bibliographie
[1] Okba Benelmir, « Microprocesseurs et ses interfaces » , Support de cours : 1ere
année Master INSTRUMENTATION et Micro-informatique, Année Universitaire : 2015-
2016

16

Vous aimerez peut-être aussi