IV.
Chapitre IV
STRUCTURE INTERNE DU MICROPROCESSEUR
4.1. GENERALITES
4.1.1. Introduction
La réalisation de C.I. de plus en plus complexe a été rendue
possible par l’apparition du transistor en 1947. Cependant, il a fallu attendre
1958 pour voir apparaître le premier C.I. réalisé par Jack KILBY de Texas
Instrument (USA).
Le concept de µP a été créé par la société Intel, spécialisée
dans la conception et la fabrication de puces mémoires. A la demande de deux
de ses clients fabricants de calculatrices et de terminaux, l’ingénieur d’Intel
Marcian HOFF surnommé « Ted HOFF » étudia une unité de calcul implémentée
sur une seule puce. Ceci donna naissance, le 15 novembre 1971, au premier
microprocesseur, le 4004, qui était une unité de calcul 4 bits fonctionnant à 108
Hz avec 640 octets de mémoire centrale (60.000 instructions par seconde). Il
résultait de l’intégration d’environ 2.300 transistors sur une plaquette de 4,2
mm sur 3,2 mm.
Un microprocesseur est un circuit intégré complexe résultant de
l’intégration sur une puce monolithique de fonctions logiques combinatoires et
séquentielles qui peuvent réaliser les opérations du CPU (ALU + Unité de
commande). Il est capable d’interpréter et d’exécuter les instructions d’un
programme. Son domaine d’utilisation est donc illimité.
A l’époque la plupart des µP nécessitaient au moins 2 à 3 boîtiers pour réaliser
les fonctions du CPU. Exemple, le 8080 d’Intel utilisait le MPU 8080, le
contrôleur du système 8228, le circuit d’horloge 8224 et un cristal.
4.1.2. Fonctions
Le microprocesseur:
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 2
a) organise l'enchaînement des tâches précisées dans la mémoire
programme :
- par une exploitation séquentielle des instructions situées aux adresses
successives de la mémoire.
- avec, éventuellement, des ruptures de séquence en fonction des sauts
programmés.
b) rythme et synchronise l'exécution de ces tâches.
c) analyse le contenu du programme, sélectionne, gère et commande les
circuits nécessaires à l'exécution de chaque tâche.
d) prend en compte les informations extérieures au système
4.1.3. Caractéristiques & Puissance
On caractérise le µP par :
- sa fréquence d’horloge FH (en MHz ou GHz) ;
- sa taille de bus données ou la longueur du mot qu’il est capable de
traiter (en bits) ;
- le nombre d’instructions par secondes qu’il est capable d’exécuter (en
MIPS) ;
- la vitesse d’exécution d’une instruction liée à la fréquence maximum de
son horloge. Elle est définie à partir du temps nécessaire pour réaliser le
cycle « extraction – décodage – exécution » correspondant à une étape
de programmation.
La puissance d’un µP par définition, c’est la capacité de traiter
les données. Pour l’exprimer, on distingue 2 mesures principales :
- le CPI (Cycle Par Instruction) permet de représenter le nombre moyen de
cycles d’horloge nécessaire à l’exécution d’une instruction sur un
microprocesseur
- le MIPS (Millions d’Instructions Par Seconde) qui représente la puissance
de traitement du µP.
MIPS = FH / CPI avec FH en MHz
N.B.
- Pour augmenter les performances d’un µP, on peut donc soit augmenter la fréquence d’horloge (limitation
matérielle), soit diminuer le CPI (choix d’un jeu d’instruction adapté).
- Socket : c’est le nom du connecteur destiner au µP. Il détermine le type de µP que l’on peut connecter.
- Chipset : c’est une interface d’entrée/sortie. Elle est constituée par un jeu de plusieurs composants chargé de
gérer la communication entre le µP et les périphériques. C’est également le lien entre les différents bus de la carte
mère dans un microordinateur.
4.1.4. Avantages
Un µP peut réaliser les fonctions d’une unité centrale d’un
ordinateur en un seul boîtier ou en très petit nombre de boîtiers.
Il a l’avantage de :
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 3
- occuper un volume réduit (très faible encombrement) ;
- faible consommation ;
- avoir un prix de revient réduit ;
- être programmé ;
- rapidité de traitement, etc.
4.1.5. Classification
Elle peut se faire de plusieurs manières :
Suivant la technologie utilisée, on peut citer :
- Les µP à PMOS, à NMOS, et à CMOS (µP monolithiques) ;
- Les µP à TTL ou à ECL, ayant de grandes vitesses d’exécution avec un
faible degré d’intégration.
Suivant la longueur du mot binaire traité, on peut citer :
- les µP à 4 bits ;
- les µP à 8 bits ;
- les µP à 16 bits ;
- les µP à 32 bits, etc.
4.2. ARCHITECTURES
Actuellement l’architecture des µP se compose de deux grandes
familles :
- l’Architecture CISC (Complex Instruction Set Computer) ;
- l’Architecture RISC (Reduced Instruction Set Computer).
4.2.1. Architecture CISC
Microprocesseurs CISC (Complexe Instruction Set Computer) de
conception plus ancienne et moins performant puisqu’ils disposent d’un jeu
d’instructions important (env. 500 instructions) ce qui ralentit la recherche de
l’instruction désirée d’autant. Ex : i80486, Pentium, MC68000, MC68040,...
C’est donc une architecture avec un grand nombre
d’instructions où le µP doit exécuter des tâches complexes par instruction
unique.
4.2.2. Architecture RISC
Microprocesseurs RISC (Reduced Instruction Set Computer) de
conception récente et plus performant qui eux disposent d’un petit jeu
d’instructions polyvalent (de 160 à 200 instructions), ce qui les rend plus rapide. Ex :
i960, RS6000, DecAlpha,..
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 4
Il intègre au matériel les instructions les plus utilisées et permet d'exécuter plusieurs
instructions en un seul cycle. Ex : PowerPc
4.2.3. Comparaison
La tendance actuelle semble montrer que les processeurs de
type RISC sont plus performants que les CISC bien que ces derniers ne soient
plus des CISC à proprement parler, mais plutôt des hybrides regroupant
différentes technologies comme le pipelining et le mode super-scalaire ou
carrément CISC et RISC à la fois comme le Pentium pro (c'est un processeur
RISC qui traduit les instructions CISC).
Le choix dépendra des applications visées. En effet, si on
diminue le nombre d’instructions, on crée des applications 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.
ARCHITECTURE CISC ARCHITECTURE RISC
- Instructions simples ne prenant qu’un
seul cycle
- Instructions au format fixe
- Instructions complexes prenant - Décodeur simple (câblé)
plusieurs cycles et proche d’un - Beaucoup de registres
langage de haut niveau. - Seules les instructions « Load » et
« store » ont accès à la mémoire
- Instructions au format variable.
- Peu de modes d’adressage
- Décodeur complexe (microcode)
- Compilateur complexe
- Peu de registres et moins
d’occupation mémoire des
Avantages
programmes.
Nette séparation entre les
- Toutes les instructions sont
instructions d'accès mémoire et les
susceptibles d’accéder à la mémoire
autres
- Beaucoup de modes d’adressage
Instructions standardisées, en taille
- Compilateur simple et programma- et en durée d'exécution
tion plus compacte. Unité de décodage câblée, non
Avantages microcodée architecture superpiline,
superscalaire
Instructions plus proches d'un lan- Très nombreux registres à usages
gage de haut niveau général
Un ou plusieurs cache (s) internes(s)
Programmation plus compacte ainsi que des tampons internes et un
Ecriture plus rapide et plus élégante jeu d'instruction réduit aux
des applications instructions simples.
Moins d'occupation mémoire des pro-
grammes
Exécution nécessite moins d'octets
mémoire
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 5
Inconvénients
beaucoup trop de codes d'instruction
différents.
taille des instructions élevée et va-
riable (1 à 15 bytes – octets par ins-
truction)
structure des instructions non stan-
dardisées: exécution complexe, peu
performante
4.2.4. Amélioration de l’architecture de base
L’ensemble des améliorations des µP vise à diminuer le temps
d’exécution du programme :
- La première idée : est d’augmenter tout simplement la fréquence de
l’horloge du µP. cependant l’accélération des fréquences de l’horloge
provoque un surcroît de consommation ce qui entraîne une élévation de
température. On est alors amené à équiper les processeurs de systèmes
de refroidissement ou à diminuer la tension d’alimentation.
- Une autre possibilité d’augmenter la puissance de traitement est de
réduire le nombre moyen de cycles d’horloge nécessaire à l’exécution
d’une instruction (optimisation du compilateur en sélectionnant les
séquences d’instruction minimisant le nombre moyen de cycles par
instructions).
- Une autre solution est d’utiliser une architecture de µP qui réduise le
nombre de cycles par instruction.
On rencontre d’autres technologies d’architecture :
- archtitecture pipeline
- architecture super scalaire
- le parallélisme
- l’hyper threading
- hyper-transport
- hyper-streaming
Notion de cache mémoire
Problème
L’écart entre le µP et la mémoire centrale ne cesse de s’accroître. En
effet, les composants mémoire bénéficient des mêmes progrès technologique
que les µP, mais le décodage des adresses et la lecture/écriture d’une donnée
sont des étapes difficiles à accélérer. Ainsi, le temps de cycle processeur
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 6
décroît plus vite que le temps d’accès mémoire entraînant un goulot
d’étranglement. La mémoire n’est plus en mesure de délivrer des données
aussi rapidement que le processeur est capable de les traiter. Il existe
donc une latence d’accès entre ces deux organes.
Principe
Depuis les années 1980, une des solutions utilisées pour masquer cette latence
est de disposer une mémoire très rapide entre le µP et la mémoire centrale
(MC). Elle est appelée cache mémoire. On compense ainsi la faible vitesse
relative de la mémoire en permettant au µP d’acquérir les données à sa vitesse
propre. On la réalise à partir de cellule SRAM de taille réduite (à cause du coût).
Sa capacité mémoire est donc très inférieure à celle de la mémoire principale
(MP) et sa fonction est de stocker les données les plus récentes ou les plus
souvent utilisées par le µP. Au départ, la cache mémoire était intégrée en
dehors du µP mais elle fait maintenant partie intégrante du µP et se décline
même sur plusieurs niveaux. Le µP lui envoie toutes les requêtes comme s’il
s’agissait de la mémoire principale
- Soit la donnée ou l’instruction requise est présente dans la cache et elle
est alors envoyée directement au µP. On parle de succès de cache.
µP
1 C UT : unité de
MC
traitement A
UT UC C ou
H
E
UC : unité de
MP
commande
2
MC : mémoire
centrale
MP : mémoire
principale
- Soit la donnée ou l’instruction n’est pas dans la cache et le contrôleur de
cache envoie alors une requête à la mémoire principale. Une fois la
donnée récupérée, il la renvoie au µP tout en la stockant dans la cache.
On parle de défaut de cache.
2
µP
1 C UT : unité de
MC
traitement A
UT UC C ou
H
E
UC : unité de
MP
commande
4
MC : mémoire
centrale
3 MP : mémoire
principale
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 7
La cache mémoire n’apporte un gain de performance que dans le
premier cas. Sa performance est donc entièrement liée à son taux de
succès.
Les ordinateurs récents possèdent plusieurs niveaux de mémoire cache :
La mémoire cache de premier niveau (appelée L1 Cache, pour Level 1 Cache)
est directement intégrée dans le processeur. Elle se subdivise en 2 parties :
- La première est le cache d'instructions, qui contient les instructions
issues de la mémoire vive décodées lors de passage dans les pipelines.
- La seconde est le cache de données, qui contient des données issues de
la mémoire vive et les données récemment utilisées lors des opérations
du processeur.
Les caches du premier niveau sont très rapides d'accès. Leur délai
d'accès tend à s'approcher de celui des registres internes aux
processeurs.
La mémoire cache de second niveau (appelée L2 Cache, pour Level 2 Cache)
est située au niveau du boîtier contenant le processeur (dans la puce). Le cache
de second niveau vient s'intercaler entre le processeur avec son cache interne
et la mémoire vive. Il est plus rapide d'accès que cette dernière mais moins
rapide que le cache de premier niveau.
La mémoire cache de troisième niveau (appelée L3 Cache, pour Level 3 Cache)
est située au niveau de la carte mère.
Tous ces niveaux de cache permettent de réduire les temps de latence des différentes mémoires lors du traitement et du
transfert des données. Pendant que le processeur travaille, le contrôleur de cache de premier niveau peut s'interfacer avec
celui de second niveau pour faire des transferts de données sans bloquer le processeur. De même, le cache de second
niveau est interfacé avec celui de la mémoire vive (cache de troisième niveau), pour permettre des transferts sans
bloquer le fonctionnement normal du processeur.
Architecture des caches
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 8
Architecture 486, Pentium, K6, 6X86 Architecture Nexen NX586
Selon le modèle de processeur, le cache L2 est géré différemment. Dans le cas
des Pentium Pro et Pentium II, le cache L2 n'est plus en tampon direct entre la
mémoire et le processeur, mais directement gérer par le processeur. Le cache
est implanté dans le même boîtier pour ces processeurs.
4.3. STRUCTURE INTERNE D’UN MICROPROCESSEUR
4.3.1. Description matérielle
Le µP peut être utilisé comme une unité centrale dans un
système de traitement programmé de l’information. Son rôle est d’exécuter les
programmes stockés en M.C. en chargeant les instructions, en les décodant et
en les exécutant l’une après l’autre.
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 9
BUS D’ADRESSES
PROGRAMME
UNITE
BUS INTERNE UNITE
DE DE MC
COMMANDE TRAITEMENT
DONNEES
BUS DE DONNEES
La fig. ci-après montre le synoptique général de l’architecture d’un µP standard.
C’est un µP à 8 bits tels que : INTEL 8080, INTEL 8085, ZILOG 80, MOTOROLA
6800, SIENETICS 2650, MOS TECHNOLOGY 6502, etc. La taille du bus
d’adresses est de 16 bits, c’est un composant DIP à 40 broches.
Un microprocesseur est généralement construit autour de deux éléments
fonctionnels principaux :
- une unité de commande (UC) qui charge les instructions du programme
et les interprète ;
- une unité de traitement (UT) ou unité de calcul qui exécute des
opérations de la MC. A l’origine, celle-ci s’identifiait à l’unité arithmétique
et logique, chargée des opérations arithmétiques et logiques (addition,
soustraction, division, multiplication, comparaison, etc.) pour les entiers
naturels. En parallèle à cette unité, on peut trouver une unité de calcul
sur les réels, ainsi qu’une unité de traitement dédiée aux opérations
multimédia (traitement des images et du son). Associés à des registres
chargés de stocker les différentes informations à traiter.
Ces éléments sont reliés entre eux par des bus internes permettant les
échanges de données.
L’organisation générale de ces éléments fonctionnels dans un µP est appelée
architecture du µP.
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 10
HORLOGE
LC Microcommandes
ID
IR CCR PC
BUS DE
REGISTRES
COMMANDE
ADRESSE
REGISTRES DE
DONNEES
ALU
BUS INTERNE BUS D’ADRESSES
BUS DE DONNEES
4.3.2. Unité de commande (U.C)
L’UC est constituée de plusieurs organes permettant d’effectuer
la recherche en MC l’instruction, le décodage, l’exécution et la préparation de
l’instruction suivante. Elle séquence tout le déroulement des instructions.
Tous les µP comportent généralement : la logique de commande, le décodeur
d’instructions et les registres spéciaux.
1°) La logique de commande
Ou l’unité de contrôle (ou Contrôleur- séquenceur), organe très important du µP
et généralement micro- programmé. C’est un µP dans un µP. Elle tire les
instructions de IR, les décode (les examine), détermine ce qu’il faut faire avec
les données et crée les commandes en émettant les signaux nécessaires pour
l’exécution de la tâche considérée au rythme d’une horloge. Elle convertit le
signal de l’horloge en un signal multifréquence.
Elle assure également des fonctions particulières : le contrôle de la séquence
de mise sous tension du µP et le traitement des interruptions.
2°) Le Décodeur d’instructions (Instruction Decoder, ID)
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 11
Ou Décodeur de code opération (unité pour le calcul des adresses des données
à traiter) qui détermine l’opération à effectuer parmi toutes celles possibles.
3°) Compteur de programme (Program Counter, PC)
Ou Compteur ordinal ou Pointeur d’instructions, il est constitué par un registre
dont le contenu est initialisé avec l'adresse de la première instruction du
programme. Dès le lancement du programme, ce compteur contient l'adresse
de la première instruction à exécuter:
soit par incrémentation automatique dans le cas où les adresses des
instructions se suivent. De façon générale, les instructions sont rangées
séquentiellement en mémoire, ce qui implique un adressage séquentiel
de celles –ci par incrémentation d’adresse.
soit par chargement de l'adresse de branchement dans le cas de sauts
programmés (rupture de séquence).
N.B. La valeur initiale du PC est fixée par le constructeur du µP. Elle vaut une valeur bien
définie à chaque mise sous tension du µP ou bien lors d’une remise à zéro (reset)
4°) Registre d’adresses (Adress Register, AR)
Ce registre dont la taille est celle du bus d’adresses, est un registre tampon qui
assure l' interfaçage entre le microprocesseur et son environnement. Il
conditionne le bus externe des adresses. Il sert à gérer les adresses de case
mémoires.
5°) Registre instruction (Instruction Register, IR)
Registre contenant l'instruction ou une partie de l’instruction en cours de
traitement. Chacune des instructions à exécuter est rangée dans le registre
instruction contenant souvent plusieurs octets dont le premier octet (8 bits)
renferme le code de l'opération que le décodeur d'instruction doit interpréter.
6°) Registre d’index (IndeX Register, IX)
Il est spécialement adapté au traitement des éléments d’un tableau. Il est muni
de propriétés d’incrémentation et de décrémentation. Le contenu de ce registre
est une adresse. Il pointe sur la case Mémoire dont l’adresse est la somme du
contenu du registre et de la valeur binaire spécifiée par l’instruction.
BUS DE DONNEES – 8 Bits
MUX ACC
INDEX REGISTER
ALU
STACK POINTER
PROGRAM COUNTER
MUX
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 12
BUS D’ADRESSES – 16 Bits
Il est utilisé dans le mode d'adressage indexé. Un cas particulier de pointeur est
le pointeur de pile (Stack Pointer, SP).
7°) Pointeur de Pile (Stack Pointer)
PILE SOFT PILE DUR
Stack Top
7
0 DONNEE
Push
Pop Pop
1FFB Push
SP
1FFC
0 15 1FFD
ADRESSE 1FFE
1FFF Sommet PILE
Indicateur
(Stack Top) Pile pleine
C'est un registre compteur dont la taille est celui du bus d’adresses, il pointe
sur une case se trouvant dans l’espace mémoire appelé « pile » et il contient
l'adresse du sommet de la pile. La pile est externe au microprocesseur, c'est
une certaine partie de la mémoire RAM utilisée pour sauvegarder les contenus
des différents registres, lors de l'appel à un sous-programme ou lors de la
gestion d'une interruption, par exemple.
Ce registre permet de stocker temporairement des données, des instructions ou
des adresses selon le principe du « dernier entré, premier sorti » ou LIFO (Last
In, First Out). Le SP a deux opérations de base : PUSH (empiler) et POP
(dépiler). A chaque empilement, le SP est décrémenté et à chaque dépilement,
il est incrémenté par la logique de contrôle. La pile constituée des registres en
dehors de la mémoire est une « Pile Hard ».
4.3.3. Unité de traitement (UT) et les registres
Ces organes constituent l’élément central ou le cœur du µP et
possèdent des fonctions pour effectuer des opérations sur des données et des
éléments de stockage. Ils assurent le traitement des instructions.
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 13
La première fonction de ces organes est assurée par une Unité
Arithmétique et Logique (ALU : Arithmetic and Logic Unit) ; la seconde est
réalisée par des registres. Parmi ceux-ci on distingue :
- les registres de données (registres d’usage général) permettent à l’unité
de traitement de manipuler des données à vitesse élevée. Ils sont
connectés au bus de données interne au µP.
- les registres d’adresses.
- Un registre d’état contenant différents indicateurs caractéristiques des
événements qui se produisent lors de l’exécution de chaque instruction.
ALU
Comme le nom l’indique, cette unité peut exécuter 2 types d’opérations :
- opérations arithmétiques : elles incluent l’addition et la soustraction qui
sont des opérations de base (soustraction = addition à complément 2).
La multiplication et la division. Les opérations complexes (sinus, log,
exp…) peuvent être obtenues à partir des 4 opérations ; elles sont
réalisées dans une unité de calcul spécialisée (FPU : Floating Point Unit)
qui traitent des données en représentation en virgule flottante.
- opérations logiques : elles effectuent bit à bit sur les bits de même poids
de 2 mots. On trouve : AND, OR, XOR, NOT, …
L’une de ses entrées est équipée d’un accumulateur. Certains µP peuvent avoir
un plusieurs accumulateurs (Z-80, 6800).
Registres
Lorsque le processeur exécute des instructions, les données sont
temporairement stockées dans de petites mémoires rapides de 8, 16, 32 ou 64
bits que l'on appelle registres. Suivant le type de processeur le nombre global
de registres peut varier d'une dizaine à plusieurs centaines.
1) L’accumulateur (Accumulator, A ou ACC)
Un accumulateur est un registre de travail de 8 ou 16 bits qui sert:
- à stocker une opérande au début d'une opération arithmétique et le
résultat à la fin de l'opération.
- stocker temporairement des données en provenance de l'extérieur du
microprocesseur avant leur reprise pour être rangées en mémoire.
- à stocker des données provenant de la mémoire ou de l'UAL pour les
présenter vers l'extérieur du microprocesseur.
2) Registre de données : Ce registre de 8 bits est un registre tampon qui assure
l'interfaçage entre le microprocesseur et son environnement ou inversement. Il
conditionne le bus externe ou le bus interne des données.
3) Registres généraux
Ces registres ont pour but de fournir au programmeur un espace de travail
adressable directement pour des instructions spécialisées, et est réalisé dans
une technologie rapide.
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 14
Numérotés de 0 à N, ils sont en général au nombre de 8 dans un µP. Ce sont
des registres à la taille du bus de données pouvant être utilisées
individuellement au simultanément pour former une paire de 2 x n bits.
4) Registre d'états ou Registre de statuts (CCR : Condition Code Register). Il
réunit des indicateurs sur l’état du système (flags) ou bits d’état. Le µP en
possède généralement 5 regroupés en un octet appelé mot d’été du processeur
(PSW, Processor Status Word) ou, permettant de stocker des indicateurs sur
l'état du système.
On peut citer comme indicateur :
- retenue (carry : C) ;
- retenue intermédiaire (Auxiliary-Carry : AC) ;
- signe (Sign : S) ;
- débordement (overflow : OV ou V) ;
- zéro (Z) ;
- parité (Parity : P).
4.3.4. Les BUS internes
Le µP communique avec l’extérieur au moyen de trois bus
principaux. Les données et les adresses sont véhiculées par des bus de
formats différents :
1) Le bus de données bi-direcrionnel de n bits, réalise en logique 3 états
pour permettre l’utilisation du DMAC. Il fixe la longueur du mot échangé
avec la mémoire.
2) Le bus d’adresses unidirectionnel réalisé en logique 3 états, il détermine
la capacité maximale d’adressage du système, c'est-à-dire le nombre
maximum de mots de la mémoire associée (exemple : 16 bits adressent
64 Kmots). Une adresse transportée par ce bus spécifie la source ou la
destination d’un mot donnée se trouvant sur le bus des données.
3) Le bus de commande
Des trois bus du µP, les bus de données et d’adresses sont presque
identiques pour la plupart des µP. la différence provient du bus de
commande. Ce bus est complexe car il transporte tous les signaux de
commande et de contrôle du µP et fournit en général quatre fonctions :
- la synchronisation pour l’accès mémoire (lecture, écriture) ;
- la synchronisation des I/O (lecture, écriture, accusé de réception);
- le contrôle du µP, interruptions et accès direct mémoire (DMA) ;
- les signaux utilitaires comme l’horloge et la remise à zéro (réinitialisation
du système).
Remarque
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 15
- Dans certains cas, les 2 premiers bus sont multiplexés sur un seul. Une
logique externe doit alors effectuer le démultiplexage.
- Souvent, on ajoute sur les bus, des drivers (amplificateurs)
permettant de supporter de manière fiable un nombre suffisant de
composants.
4.4. FONCTIONNEMENT D’UN µP
Un µP exécute un programme. Le programme est une suite
d’instructions stockées dans la mémoire. Une instruction peut être codée sur un
ou plusieurs octets.
Opération à effectuer
OPERANDE 1 OPERANDE 2
Données traitées par l’opération
Exemple : additionner case mémoire 1, case mémoire 2
Opération opérandes
Rangement en mémoire
Adresse. contenus des cases mémoires
--- ---
Opérande p
3A2BH Instruction n
--- ---
0002H Opérande 2
0001H Opérande 1
0000H 3EH
Code opératoire d’addition
Pour exécuter les instructions dans l’ordre établi par le programme, le µP doit
savoir à chaque instant l’adresse de la prochaine instruction à exécuter. Le µP
utilise le registre PC contenant cette information.
Pour savoir quel type d’opération doit être exécuté (addition, multiplication, …)
le µP lit le premier octet de l’instruction pointée par le PC (code opératoire) et le
range dans le (registre d’instruction). Le code opératoire est décodé par le
décodeur du µP. des signaux de commande pour l’UAL sont produits en fonction
de l’opération demandée qui est alors exécutée. L’UAL utilise les registres de
travail (ACC, B, C, …), recevant des données intermédiaires.
Pendant que l’instruction est décodée, le PC est incrémenté de façon à ponter
vers l’instruction suivante :
--- ---
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 16
--- ---
--- ---
3A2DH Instruction n+1
Pointeur PC 3A2CH Opérande p
3A2BH Instruction n
--- ---
Puis le processus de lecture et de décodage des instructions recommence. A la
suite de chaque instruction, le CCR est actualisé en fonction du dernier résultat.
Les indicateurs d’état sont activés lorsqu’une condition est remplie. Exemple :
le flag Z est mis à 1 lorsque la dernière opération a donné un résultat nul, le
flag C est mis à un lorsque le résultat d’une addition possède une retenue, …
Horloge MC
Bus d’adresses
PC
Bus de commande (lire la mémoire)
---
CL
---
Séquenceur
IR
Bus de données
Décodeur
Micro -Code
EXECUTION
Les indicateurs d’état son utilisés par des instructions de saut conditionnels : en
fonction
de l’état d’un (ou plusieurs) flags, le programme se poursuit de manière
différente. Toutes ces étapes (lecture de l’instruction, décodage, exécution)
sont synchronisées par une logique de commande (séquenceur) qui assure le
bon déroulement des opérations.
Pour exécuter le programme contenu dans la MC, la logique de commande du
µP exécute lui-même u programme appelé micro-code se trouvant à son sein.
Le CL est dirigé par l’horloge qui délivre un signal de fréquence donnée
permettant d’enchaîner les différentes étapes de l’exécution d’une instruction :
Cycle d’instruction
T1 T2 T3 T4
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 17
Recherche de décodage exécution instruction
l’instruction suivante
microcycle
ou période d’horloge
Chaque instruction est caractérisée par le nombre de périodes d’horloge
(microcycles) qu’elle utilise (donnée fournie par le constructeur)
Exemple : horloge à 5MHz, période T = 1/F = 0,2 µs. Si l’instruction s’exécute
en 3 microcycles, la durée d’exécution de l’instruction est de 3 x 0,2 µs = 0,6
µs.
4.5. PRESENTATION DU µP Intel 8085
4.5.1. Introduction
L'Intel 8085 est un microprocesseur 8 bits fabriqué par Intel au
milieu des années 1970. Il était compatible au niveau du code binaire avec le
plus célèbre Intel 8080, mais demandait moins de matériel environnant, ce qui
permit la création de micro-ordinateurs plus simples et moins chers à
construire.
Présenté comme une amélioration du µP INTEL 8080, INTEL
8085 intègre sur une seule pastille le 8080, le 8224 et le 8228. Il comporte une
horloge interne, un système de commande et une priorisation des
interrupteurs, le tout intégré, ce qui réduit le nombre de CI qui le constituent.
Le 8085 exige seulement une alimentation de +5V plutôt que
les +5V, -5V et +12V exigés par les 8080. Cependant, il était plus lent que le
8080. Sa vitesse était de 0,37 millions d'instructions à la seconde.
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 18
4.5.2. Diagramme de brochage de Intel 8085
Le µP INTEL 8085 est contenu dans un boîtier ou circuit intégré
« dual in line pins » (DIP) à 40 broches dont le diagramme des broches est
illustré ci-après :
X1 ___ 1 40 ___ Vcc (+5VDC)
X2 ___ 2 39 ___ HOLD
RESET OUT ___ 3 38____HLD A
SOD ___ 4 37___ CLOCK OUT
SID ___ 5 36 ___RESET IN
TRAP ___ 6 35 ___READY
RST 7.5 ___ 7 34___ IO / M
RST 6.5 ___ 8 33 ___ S1
RST 5.5 ___ 9 32 ___ RD
INTR ___ 10
INTEL 31 ___ WR
INTA ___ 11 8085 30 ___ ALE
ADo___ 12 29 ___ SO
AD 1___ 13 28 ___ A15
27____A14
AD2___ 14
AD3___ 15 26 ___ A13
ADo___
AD4 ___ 16
16 25 ___ A12
AD5___ 17 24 ___ A11
AD6___ 18 23___ A10
AD7 ___ 19 22 ___ A9
Vss ___ 20 21 ___ A8
BROCHE DESCRIPTION TYPE
ADo – AD7 Bus d’adresse /données multiplexé Bidirectionnel, 3 états
A8 – A15 Bus d’adresse (octet haut) Sortie-3 états
ALE Commande Validation de verrou d’adresse Sortie-3 états
RD Commande lecture Sortie-3 états
WR Commande écriture Sortie-3 états
IO/M Indicateur E/S ou mémoire Sortie-3 états
SO/S1 Indicateur d’état de bus Sortie
READY Requête de mode attente Entrée
SID Entrée des données sérielles Entrée
SOD Sortie des données sérielles Sortie
HOLD Requête d’attente Entrée
HLDA Accusé de réception d’attente Sortie
INTR Requête d’interruption Entrée
TRAP Requête d’interruption non masquable Entrée
RST 7.5
RST 6.5 Requêtes d’interruption masquables Entrées
RST 5.5
INTA Accusé de réception d’interruption Sortie
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 19
RESET IN Réinitialisation système Entrée
RESET OUT Réinitialisation périphérique Sortie
X1, X2 Connexions cristal à Quartz ou RC Entrée
CLK OUT Signal d’horloge Sortie
VCC, Vss Alimentation, masse -
4.5.3. Fonctions des broches
Horloge
Les broches X1 et X2 sont réservées à la connexion d’un cristal de régulation
de la fréquence d’horloge du µP. La circuiterie d’horloge est contenue dans la
puce de µP (alors que dans les unités plus anciennes, un circuit de génération
d’horloge externe était nécessaire). La fréquence du signal en broche est
probablement inférieure à celle de l’horloge interne.
Reset
L’activation de l’entrée de réinitialisation a pour résultat de stopper le travail du
µP sur le programme en cours et de sauter à un sous programme de
réinitialisation généralement contenu dans la ROM. L’entrée RESET du µP est
asynchrone et peut intervenir et stopper une instruction à moitié exécutée.
Quand l’entrée RESET repasse à high (désactivation), le µP commence
l’exécution des instructions à la nouvelle adresse mémoire prédéterminée,
généralement 0000H.
Bus multiplexé
Avec ses fonctions supplémentaires, le DIP (Dual In line Pins) à 40 broches du
8085 ne possède pas un nombre de broches suffisant pour assurer toutes les
entrées et sorties ; c’est la raison pour laquelle les broches 12 et 19 (ADo –
AD7) sont utilisées comme lignes indifférenciées de bus d’adresses et de
données (bus de données/adresses).
Commande de validation de verrou d’adresses
Le 8085 est muni d’un signal spécial (broche ALE) pour informer son
environnement si le bus multiplexé opère en bus d’adresse ou de données. Ce
signal spécial est appelé signal de commande de validation de verrou d’adresse
(Adress Latch Enable).
Les interruptions
Le 8085 supporte deux types d’interruption : interruptions masquables et
interruption non masquable.
1) L’entrée TRAP (entrée de priorité maximum), en passant à un niveau
« haut », elle oblige le 8085 à sauvegarder le contenu du PC dans la pile
et de se brancher sur la case mémoire 0024H. Cette entrée ne peut être
invalidée et constitue, par conséquent une interruption non masquable.
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 20
2) Les entrées : RST 7.5, RST6.5, RST5.5, obligent le 8085 à empiler le
contenu du PC et de se brancher en mémoire à l’adresse respectivement
003CH, 0034H et 002CH.
3) L’entrée INTR (interruption de plus faible priorité) oblige le 8085 à
extraire une instruction d’une source externe particulière.
Les quatre dernières interruptions peuvent être invalidées ou validées par le
logiciel et constituent donc les interruptions masquables.
INTERFACE
D’ENTREE
INTR
µP
Mémoire centrale
--- --------------
2 -
2005 -- - - - - - - - - - - - - -
-
2006 - - - - - - - - - - - - - -
-
6 5
20D0 - - - - - - - - - - - - - -
- - - - Sous programme
4 - - - de service
- - - - d’interruption
20DE - - - - - - - - - - - - - -
PILE
Mémoire vive 3
1) L’interface d’entrée émet un signal de requête d’interruption (INTR) en
direction du µP.
2) Le µP achève l’instruction en cours de traitement (instruction se trouvant
en mémoire sur l’adresse 2006H).
3) Le contenu du PC et celui de la plupart des registres du µP sont empilés
dans une zone particulière de RAM dite Pile. Ces contenus seront, plu
tard, retournés dans le bon ordre aux registres du µP et du PC.
4) A présent, le µP se branche à une adresse prédéterminée en mémoire o*
commence un sous-programme de service d’interruption (dans notre cas
20D0H). A l’adresse 20DEH, le µP trouve la fin de ce sous-programme et
reçoit l’ordre de retourner au programme principal.
5) Avant de retourner au programme principal, les données relatives aux
registres et au compteur d’instructions sont dépilés de la Pile et renvoyés
au µP.
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 21
6) Maintenant le PC renvoie le µP à la case mémoire 2007H dans le
programme principal et l’exécution normale est reprise.
Entrée HOLD et sortie HLDA (Accusé de réception de HOLD)
Une entrée HOLD notifie au µP qu’une autre unité désire utiliser les bus
d’adresses / données (cas du DMA).
A la réception d’un HOLD, le µP achève le transfert en cours, ensuite les
broches de données et adresse RD, WR et IO/M sont mises en mode trois
états de manière à ne pas interférer sur les bus de données / adresses. Unes
sortie HLDA indique à un périphérique qu’une requête HOLD a été reçue et
que le µP abandonnera la commande des bus au prochain cycle d’horloge.
SIGNAUX
DE COMMANDE DU 8085 ETAT DU CYCLE MACHINE
IO/M S1 So
0 0 1 Ecriture mémoire
0 1 0 Lecture mémoire
1 0 1 Ecriture I/O
1 1 0 Lecture I/O
0 0 1 Extraction code opération
1 1 1 Accusé réception interruption
* 0 0 Halte
* x x Attente
* x x Réinitialisation
* mode 3-états (état haute impédance)
x non spécifié
4.6. DIAGRAMME FONCTIONNEL
4.6.1. Organes fonctionnels de Intel 8085
Sur le diagramme fonctionnel, le 8085 est muni de :
1° Verrou d’adresse
Qui charge le bus d’adresse spécialisé (A8 – A15) et le bus multiplexé (Ado –
AD7). Ce bus transmet une adresse quand la ligne de commande « ALE » est au
niveau « high » et les données quand elle est au niveau « low ».
2° Bus interne de données à 8 bits
Il transporte les données (et les adresses) entrantes ou sortantes à l’intérieur
de l’unité.
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 22
3° Unité arithmétique et Logique
Etroitement associée à l’accumulateur, au registre d’état et à quelque
registres temporaires non accessibles au programmeur.
4° Registre d’instruction et Décodeur
Pendant l’extraction d’une instruction, le premier octet de l’instruction (code
opération) est transféré au registre d’instruction à 8 bits. Ce contenu est alors
accessible au décodeur pour son interprétation.
5° Générateur interne d’horloge
La puce de 8085 comporte un générateur complet d’horloge. Il ne nécessite
que l’adjonction d’un cristal de quartz pour établir la temporisation de son
fonctionnement.
6° Unité de commande et de temporisation
Elle coordonne toutes les activités du microprocesseur.
7° Registres
Internes au microprocesseur, ce sont des mémoires temporaires de mots
binaires de longueur fixe. Seuls les registres auxquels le programmeur a accès,
sont abordés ici :
CCR (8) A (8)
B (8) C (8)
D (8) E (8)
H (8) L (8)
SP (16)
PC (16)
Accumulateur (registre A)
Est le nœud de toutes les opérations du µP qu’elles soient arithmétiques,
logiques, de chargement, de rangement ou d’entrée / sortie. C’est un registre à
bits.
Les registres généraux : BC, DE et HL (pointeurs des données)
Ils peuvent être utilisés comme six registres à 8 bits ou 3 paires de registres
à 16 bits selon l’instruction en cours d’exécution. La paire HL de registres
peut-être utilisée pour pointer sur les adresses.
Pointeur de pile (SP : Stack Pointer)
Contient l’adresse du sommet de la pile dans la mémoire 5RAM). C’est un
registre à 16 bits. La pile du 8085 est hors de la puce du µP et est placée
dans une RAM.
Registre des indicateurs d’état (CCR : Condition Code Register)
C’est un registre sur 8 bits formé de cinq indicateurs dont chacun indique
l’état d’une condition particulière dans le µP.
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 23
B7 B6 B5 B4 B3 B2 B1 B0
S Z AC P CY
CY =1 si interne : - dépassement
addition
de 8 bits
- 2ème terme > au
1er
cas de
soustraction
P =1 si parité paire
AC =1 si retenue auxiliaire du bit 3
au bit 4
Z =1 si résultat zéro
S =1 nombre négatif (bit de signe)
Compteur d’instruction (PC : Program Counter)
Il pointe sur la case mémoire de l’instruction suivante à exécuter. Il contient
toujours une adresse à 16 bits.
4.6.2. Cycles machine du 8085
4.6.3. Diagramme fonctionnel de Intel 8085
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 24
4.7. EQUIVALENCE DES SIGNAUX ENTRE µPs
BUS 8085 Z-80 6800 6502
DATA AD0 – AD7 D0 – D7 D0 – D7 DB0 – DB7
ADRESS AD0 – AD7 A0 – A 15 A0 – A15 AB0 – AB15
ALE + A8 – A15
HLDA BUSAK BA & VMA -
HOLD BUSRQ HALT RDY
CLK - Ø Stretched Ø2 stretch
INTR INT IRQ IRQ
READY WAIT - RDY
RESET RESET RESET RESET
- M1 - SYNC
CONTROL INTA M1 & IORQ VMA & FFF8 -
RD & IO/M RD & MEMRQ R/W & Ø R/W & Ø2
WR & IO/M WR & MEMRQ As above As above
RD & IO/M- RD & IORQ As above As above
WR & IO/M- RD & IORQ As above As above
- - HALT -
RST 5.5 - - -
RST 6.5 - - -
RST 7.5 - - -
TRAP NMI NMI NMI
RESET OUT - - -
OTHER SID - - -
CONTROLS SOD - - -
SIGNALS ALE - - -
- RFSH - -
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 25
- HALT - -
- - TSC -
- - DBE -
- - - So
4.8. CYCLE D’EXECUTION D’UNE INSTRUCTION
Chaque instruction est codée sous forme binaire ; l’unité de traitement
doit donc en assurer le décodage pour déduire les opérations élémentaires à
effectuer. Pour cela elle dispose d’un registre d’instruction qui présente à une
unité de commande (UC) ou séquenceur, le mot codant l’instruction en cours.
Sous l’action de l’horloge, l’UC élabore les commandes nécessaires à
l’exécution de l’instruction. Dans le cas général, elle tient également compte du
contenu du registre d’état où sont enregistrés certains résultats liés au
déroulement des instructions (dépassements, résultats nuls, …).
Un programme élémentaire comprend les étapes suivantes :
1) initialisation du PC avec l’adresse de début programme ;
2) envoi du contenu sur le bus d’adresses, lecture du contenu de la case
adressée par PC et transfert dans le registre d’instruction (phase de
recherche ou fetch) ;
3) décodage de l’instruction par l’UC ;
4) exécution de l’instruction ;
5) incrémentation du PC.
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 26
4.9. MICROPROCESSEURS SPECIAUX
Voir page 30 - 32
4.10. TRAVAUX DIRIGES
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 27
I. Pour chaque question encerclez la bonne réponse :
1.1. Le bit de retenue du registre d’état peut également indiquer :
a) un zéro b) un nombre négatif c) la soustraction de 2 nombres dont
le second est supérieur au premier d) tous les assertions ci-dessus e)
aucune assertion.
1.2. Pour changer ce que fait un µP, il faut :
a) augmenter la taille de la mémoire b) modifier la circuiterie de la
logique de commande c) changer les instructions en mémoire d) ajouter les
entrées/sorties e) aucune assertion.
1.3. Parmi les fonctions ci-après, laquelle n’est pas une fonction de l’UAL ?
a) comparaison b) complémentarité c) mise sous tension d) décalage à
droite
e) aucune assertion correcte.
1.4. Le registre d’instructions est chargé du contenu de la case mémoire
vers laquelle pointe :
a) le pointeur de pile b) le pointeur de programme c) l’instruction
précédente d) le tampon d’adresses
1.5. Dans un µP, l’organe le plus important dans l’unité de traitement de
données est :
a) CPU b) ALU c) Logique de commande d) Décodeur d’instruction
e) l’accumulateur f) aucune assertion.
6) Le jeu d’instructions d’un µP détermine :
a) sa topologie b) son architecture c) la capacité mémoire d) sa configuration e)
aucune assertion.
7) Le nombre des périodes nécessaires pour exécuter une instruction du
programme dans un système à µP est appelé :
a) microcycle b) fréquence d’horloge c) Période de cycle d) cycle
d’instruction
e) aucune assertion correcte.
8) Que vous rappèlent les dates suivantes :
a) le 10 mars 1876 ;
b) le 15 novembre 1971 ;
c)
II. Cochez par « V » les assertions vraies et par « F » les assertions fausses :
a Un µP communique avec l’extérieur au moyen de son bus interne F
)
b Le microprocesseur Intel 8085 est un processeur du type CISC tandis que le V
) Pentium est du type RISC
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 28
c) La cache du troisième niveau ne fait parti du processeur V
d Le registre d’état possède toujours l’adresse des données lors de l’exécution de F
) l’instruction.
e L’accumulateur est un registre à la fois source et destinataire V
)
f) Dans un système à µP, une donnée peut être une adresse mémoire V
g F
)
h
)
i) Un microprocesseur renferme à son sein une mémoire RAM et une mémoire
ROM
k L’UAL assure les opérations arithmétiques et logiques des informations
)
[Link] disposons d'un microprocesseur utilisant un bus de
données de dimension 16 fils et pouvant adresser 1 M cases
de mémoire :
a Combien de fils comportera le bus d’adresses
)
b Combien des bits renfermera un mot binaire
)
c Quelle est la capacité en bits de toute la mémoire
)
c Quel sera le nombre de kiloOctets adressables avec ce µP
)
b) Quelles sont les possibilités technologiques utilisées pour augmenter la
vitesse d’un µP sans avoir modifier sa structure.
Réponses :
1. Exécuter plusieurs instructions en même temps, mais cela est difficile puisque certaines instructions sont condi-
tionnelles.
2. Faire passer via un décoder les instructions de type CISC en RISC plus rapide.
3. S'assurer que le processeur n'attend jamais d'instructions, qu'elles soient directement accessibles.
4. Augmenter l'intégration en diminuant la taille des transistors. Ceci augmente la vitesse de transfert entre les diffé-
rentes parties.
Tous ces trucs sont actuellement utilisés, tant par INTEL, que par AMD et Cyrix (VIA)
c) Donnez la signification des termes suivants :
a) Firmware
b) DIP
c) QIL
d) ALE
d) vous rappèlent les noms ci-après :
a) Graham BELL ;
b) Lee de FOREST ;
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007
IV. 29
c) Von NEUMANN
d) Jack KILLY
e) Ted HOFF
*****
Ir. Paul KAPULULA MUMBA Dubois Architecture des µP Edition : Nov.
2007