14
Chapitre 1 : Architecture et fonctionnement d’un microprocesseur Dr. M. DJARALLAH 1 1.1- Introduction Dans ce chapitre, nous allons aborder les titres suivants : i- La structure d’un calculateur ; ii- La circulation de l’information dans un ordinateur, iii- La description matérielle d’un microprocesseur, ex.: Le microprocesseur (μp) Intel 8085 (disponible au labo, mais en réalité c’est le μp 8086 qui doit être pris) iv- Le Fonctionnement d’un microprocesseur, v- Les mémoires. 1.2- Structure d’un calculateur et circulation de l’information L’élément de base d’un calculateur est constitué de : 1) l’unité centrale de traitement (UCT CPU : Central Processing Unit). L’UCT est constituée de - d’une unité arithmétique et logique (UAL ALU : Arithmetic and Logic Unit), qui est l’organe de calcul du calculateur ; - de registres (différents types) : zones de stockage des données de travail de l’UAL (opérandes, résultats intermédiaires) ; - d’une unité de contrôle (UC, CU : Control Unit) : elle envoie les ordres (ou commandes) a tous les autres éléments du calculateur afin d’exécuter un programme. 2) La mémoire centrale contient : - le programme à exécuter : suite d’instructions élémentaires ; - les données à traiter. 3) L’unité d’entrées/sorties (E/S) est un intermédiaire entre le calculateur et le monde extérieur. 4) L’unité de transfert est le support matériel de la circulation des données. Les échanges d’ordres et de données dans le calculateur sont synchronisés par une horloge qui délivre des impulsions (signal d’horloge) à des intervalles de temps fixes. 1.3- Circulation de l’information dans un ordinateur, L’implantation matérielle des ordinateurs, basés sur l’architecture Von Neumann, est donné par le synoptique suivant:

1.1- Introduction 1.2-

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1.1- Introduction 1.2-

Chapitre 1 : Architecture et fonctionnement d’un microprocesseur

Dr. M. DJARALLAH 1

1.1- Introduction Dans ce chapitre, nous allons aborder les titres suivants : i- La structure d’un calculateur ; ii- La circulation de l’information dans un ordinateur, iii- La description matérielle d’un microprocesseur, ex.: Le microprocesseur (µp) Intel 8085

(disponible au labo, mais en réalité c’est le µp 8086 qui doit être pris) iv- Le Fonctionnement d’un microprocesseur, v- Les mémoires.

1.2- Structure d’un calculateur et circulation de l’information

L’élément de base d’un calculateur est constitué de : 1) l’unité centrale de traitement (UCT CPU : Central Processing Unit). L’UCT est constituée

de - d’une unité arithmétique et logique (UAL ALU : Arithmetic and Logic Unit), qui est l’organe de calcul du calculateur ;

- de registres (différents types) : zones de stockage des données de travail de l’UAL (opérandes, résultats intermédiaires) ;

- d’une unité de contrôle (UC, CU : Control Unit) : elle envoie les ordres (ou commandes) a tous les autres éléments du calculateur afin d’exécuter un programme.

2) La mémoire centrale contient : - le programme à exécuter : suite d’instructions élémentaires ; - les données à traiter.

3) L’unité d’entrées/sorties (E/S) est un intermédiaire entre le calculateur et le monde extérieur. 4) L’unité de transfert est le support matériel de la circulation des données. Les échanges

d’ordres et de données dans le calculateur sont synchronisés par une horloge qui délivre des impulsions (signal d’horloge) à des intervalles de temps fixes.

1.3- Circulation de l’information dans un ordinateur,

L’implantation matérielle des ordinateurs, basés sur l’architecture Von Neumann, est donné par le synoptique suivant:

Page 2: 1.1- Introduction 1.2-

Chapitre 1 : Architecture et fonctionnement d’un microprocesseur

Dr. M. DJARALLAH 2

Le microprocesseur échange des informations avec la mémoire et l’unité d’E/S, sous forme de mots binaires, au moyen d’un ensemble de connexions appelé bus. Un bus permet de transférer des données sous forme parallèle, c’est-`a-dire en faisant circuler n bits simultanément.

Les microprocesseurs peuvent ˆêtre classés selon la longueur maximale des mots binaires qu’ils peuvent échanger avec la mémoire et les E/S : microprocesseurs 8 bits, 16 bits, 32 bits, ...

Le bus peut être décomposé en trois bus distincts : - le bus d’adresses permet au microprocesseur de spécifier l’adresse de la case mémoire à lire

ou à écrire ; - le bus de données permet les transferts entre le microprocesseur et la mémoire ou les E/S ; - le bus de commande transmet les ordres de lecture et d’écriture de la mémoire et des E/S.

Remarque :

Les bus de données et de commande sont bidirectionnels, le bus d’adresse est unidirectionnel : seul le microprocesseur peut d’délivrer des adresses, comme l’indique la figure suivante :

1.4- Description matérielle d’un microprocesseur, (ex.: Le microprocesseur, µp, Intel 8085)

(Disponible au labo, mais en réalité c’est le µp 8086 qui être pris)

a) Schéma fonctionnel Un microprocesseur se présente sous la forme d’un circuit intégré muni d’un nombre

important de broches. Exemples : • Intel 8085, 8086, Zilog Z80 : 40 broches, DIP (Dual In-line Package) ; • Motorola 68000 : 64 broches, DIP ; • Intel 80386 : 196 broches, PGA (Pin Grid Array). Technologies de fabrication : NMOS, PMOS, CMOS. On peut représenter un microprocesseur par son schéma fonctionnel :

Page 3: 1.1- Introduction 1.2-

Chapitre 1 : Architecture et fonctionnement d’un microprocesseur

Dr. M. DJARALLAH 3

b) Fonctionnement d’un microprocesseur Un microprocesseur exécute un programme. Le programme est une suite d’instructions

déposées dans la mémoire. Une instruction peut être codée sur un ou plusieurs octets. Format générale d’une instruction :

Rangement en mémoire : Pour exécuter les instructions dans l’ordre

confirmé par le programme, le microprocesseur doit savoir à chaque instant l’adresse de la prochaine instruction à exécuter.

Le microprocesseur utilise un registre contenant cette information. Ce registre est appelé compteur ordinal (IP : Instruction Pointer) Exemple :

Pendant que l’instruction est décodée, le pointeur d’instruction est incrémenté de façon à pointer vers l’instruction suivante.

Puis le processus de lecture et de décodage d’autre instruction recommence.

A la suite de chaque instruction, un registre du microprocesseur est actualisé en fonction du

dernier résultat : c’est le registre d’état du microprocesseur. Chacun des bits du registre d’état est un indicateur d’état ou flag (drapeau). Exemple : registre d’état du microprocesseur 8085 CY : retenu (carry) P : parité AC : retenu auxiliaire

Page 4: 1.1- Introduction 1.2-

Chapitre 1 : Architecture et fonctionnement d’un microprocesseur

Dr. M. DJARALLAH 4

Z : zéro S : signe Les indicateurs d’état sont activés lorsqu’une certaine 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, ...

Les indicateurs d’état sont utilisés par les 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 un séquenceur qui assure le bon déroulement des opérations :

1.5- Fonctionnement d’un microprocesseur 8085

1.5.1- Introduction L'Intel 8085A est un microprocesseur 8 bits et de

fréquence de 3.5MHz, fabriqué par Intel au milieu des 1977. Il

Page 5: 1.1- Introduction 1.2-

Chapitre 1 : Architecture et fonctionnement d’un microprocesseur

Dr. M. DJARALLAH 5

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

Le « 5 » dans le numéro du modèle provient du fait que les 8085 exigeaient 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 1,5 million d'instructions à la seconde avec une horloge à 6,144 MHz, et 4 cycles par instruction. 1.5.2- Description physique du 8085

Le microprocesseur Intel 8085 (NMOS) se présente sous la forme d’un boîtier DIP (Dual In-line Package) à 40 broches dont :

a) AD ( 8 broches) bus de données de 8 bits b) AD et A ( 8 broches) bus d’adresse de 16 bits c) 5 broches pour interruptions (de la broche 6 à la broche 10), d) Etc ..

1.5.3- Organisation interne du 8085

Registres du µP 8085

Il existe plusieurs registres dans le µP 8085 qui sont utilisés dans l’exécution des programmes. La

description de ces registres disponibles au programmateur, est indispensable, surtout au niveau du

nombre de bit et de la tâche destinée à chacun de ces registres. La figure suivante (figure 3) est prise

comme référence en expliquant les registres de ce µP.

Page 6: 1.1- Introduction 1.2-

Chapitre 1 : Architecture et fonctionnement d’un microprocesseur

Dr. M. DJARALLAH 6

Registre A : ce premier registre, de 8bits de capacité, est utilisé dans les différentes opérations arithmétiques et logiques. Par exemple, dans l’adition de deux nombres entiers, l’un des opérandes doit être dans le registre A ; nommé Accumulateur, et l’autre peut être dans la mémoire ou dans un autre registre (ex , : le registre B). Registre B : est l’un des 6 autres 8bits registres généraux, qui peut être utilisé dans des tâches générales. Registre C : est le même que le registre B. On note qu’il peut être associé avec le registre B pour former une paire de registre BC de 16bits, il est utilisée dans les opérations arithmétiques et logiques ; dont les données exigent 16 bits de capacité. Le reste des registres généraux : le reste des registre de 8bits sont notés par : D, E, H et L. Ils peuvent être exploités individuellement, comme ils peuvent être utilisés comme des paire de registres (ex. : DE et HL). On note que les combinaisons sont seulement ceux données précédemment (BC, DE et HL). Quelques autres registres particuliers : Registre PC : c’est un registre de 16bits, nommé le compteur de programme, qui mémorise l’adresse de la prochaine instruction. Le contenu de ce registre est mis à jours d’une manière automatique par le µP durant l’exécution de chaque instruction, et cela, pour pointer à la prochaine instruction. Registre SP : Ce registre (stack pointer) est utilisé pour pointer à l’adresse de la pile (adresse de commencement d’une portion de mémoire dont laquelle on pile ou on stocke des informations des registres généraux ou autres fin d’utiliser cette portion de mémoire une deuxième fois ; à la fin ces information stockées seront empilées ultérieurement). Registre F : est un registre de 8 bits, sert à suive les états obtenus par les opérations arithmétiques et logiques, et cela comme suit : Bit Etat est signification

7 bit de signe si = 1, le résultat est négatif ; 6 bit de zéro, si =1, le résultat est zéro ;

5 ce bit, n’est pas utilisé ; 4 retenu auxiliaire, si =1, un retenue du bit 3 au bit 4 ; 3 ce bit, n’est pas utilisé ; 2 bit de « parity » , si =1, le résultat est un nombre pair de 0 et 1 ; 1 ce bit, n’est pas utilisé ; 0 si =1, il y a un débordement (>256), exige une capacité supérieur à 8bits. Registre M: Ce registre virtuel du point de vu µP, il représente une partie de la RAM sélectionnée par la paire de registre HL, où ce registre va contenir la donnée de la RAM dont l’adresse est pointée par le registre HL. Il est utilisé dans le traitement des tableaux de données. Registre I : c’est un registre d’interruption en logiciel, il est utilisé pour tester (valider ou masquer) les interruptions par la voie d’un programme de gestion des interruptions.

Page 7: 1.1- Introduction 1.2-

Chapitre 1 : Architecture et fonctionnement d’un microprocesseur

Dr. M. DJARALLAH 7

Page 8: 1.1- Introduction 1.2-

Chapitre 1 : Architecture et fonctionnement d’un microprocesseur

Dr. M. DJARALLAH 8

Grandes différences entre le µp 8085 et µp 8086

Ce tableau couvre la description des grandes différences entre le µp 8085 et µp 8086

8085 microprocessor 8086 microprocessor It is 8 bit microprocessor It is 16 bit microprocessor It has 16 bit address line It has 20 bit address line It has 8 bit data bus It has 16 bit data bus

Page 9: 1.1- Introduction 1.2-

Chapitre 1 : Architecture et fonctionnement d’un microprocesseur

Dr. M. DJARALLAH 9

clock speed of 8085 microprocessor is 3 MHz clock speed of 8086 microprocessor vary between 5,8 and 10 MHz for different versions.

It has 5 flags. It has 9 flags. It does not support pipelining. It supports pipelining. It operates on clock cycle with 50% duty cycle. It operates on clock cycle with 33% duty cycle. 8085 microprocessor does not support memory segmentation.

8086 microprocessor supports memory segmentation.

It has less number of transistors compare to 8086 microprocessor. It is about 6500 in size.

It has more number of transistors compare to 8085 microprocessor. It is about 29000 in size.

It is accumulator based processor. It is general purpose register based processor. It has no minimum or maximum mode. It has minimum and maximum modes. In 8085, only one processor is used. In 8086, more than one processor is used.

Additional external processor can also be employed.

In this microprocessor type, only 64 KB memory is used.

In this microprocessor type, 1 MB memory is used.

Etc……………………………………………………………………………………………………... There are some of the difference mentioned below: 1.Size:- 8085 is 8 bit microprocessor whereas 8086 is 16 bit microprocessor. 2.Address Bus:- 8085 has 16 bit address bus and 8086 has 20 bit addres bus. 3.Memory:- 8085 can access upto 2^16 = 64 Kb of memory whereas 8086 can access upto 2^20 = 1 MB of memory. 4.Instruction Queue:- 8085 doesn't have an instruction queue whereas 8086 has instruction queue. 5.Pipelining:-8085 does not support pipelined architechture whereas 8086 supports pipelined architechture. 6.Multiprocessing Support:-8085 does not support multiprocessing support whereas 8086 supports. 7.I/O:- 8085 can address 2^8 = 256 I/O's and 8086 can access 2^16 = 65,536 I/O's 8.Airthmetic Support:-8085 only supports integer and decimal whereas 8086 supports integer, decimal and ASCII arithmetic. 9.Multiplication and Division:-8085 doesn't support whereas 8086 supports. 10. Operating Modes:-8085 supports only single operating mode whereas 8086 operates in two modes. 11.External Hardware:- 8085 requires less external hardware whereas 8086 requires more external hardware. 12.Cost:-The cost of 8085 is low and 8086 is high. 13.Memory Segmentation:- In 8085, memory space is not segmented but in 8086, memory space is segmented

Page 10: 1.1- Introduction 1.2-

Chapitre 1 : Architecture et fonctionnement d’un microprocesseur

Dr. M. DJARALLAH 10

.

Page 11: 1.1- Introduction 1.2-

Chapitre 1 : Architecture et fonctionnement d’un microprocesseur

Dr. M. DJARALLAH 11

1.6- Mémoires En général, les mémoires peuvent êtres classée en trois catégories selon la technologie utilisée :

a) Mémoire à semi-conducteur (RAM, ROM, PROM,…..) : très rapide mais de taille réduit. b) Mémoire magnétique (disque dur, disquette,…) : moins rapide mais stock un volume

d’informations très grand. c) Mémoire optique ( DVD, CDROM,..)

1.6.1- Mémoire à semi-conducteur Définition : Une mémoire semi-conducteur est un circuit à semi-conducteur permettant d'enregistrer, de conserver et de restituer des informations (appelées données). C’est l'espace de travail du microprocesseur, où c’est l’endroit où le microprocesseur enregistre temporairement les instructions et les données des programmes qu’il exécute.

Caractéristiques des mémoires a) Volatilité : Une mémoire est dite volatile si son contenu disparaît ou est effacé lorsqu’on éteint

le calculateur. On parlera de mémoire RAM (random access memory) pour désigner la mémoire volatile et de mémoire ROM (read only memory) pour celle qui est non volatile.

b) La vitesse et le temps d'accès : Le temps d’accès est l’intervalle de temps qui sépare la emande d’information de son obtention.

c) Capacité d’une mémoire ; La capacité (taille) d’une mémoire est le nombre (quantité) d’informations qu’on peut enregistrer (mémoriser) dans cette mémoire.

La capacité peut s’exprimer en :

a) Bit : un bit est l’élément de base pour la représentation de l’information. b) Octet : 1 Octet = 8 bits c) kilo-octet (KO ) : 1 kilo-octet (KO )=

1024 octets = 210 octets d) Méga-octet ( MO) : 1 Méga-octet (

MO)= 1024 KO = 220 octets e) Géga-octet ( GO) :Géga-octet (

GO)=1024 MO = 230 octets f) Téra-octet (To) : 1 téra-octet (To)=

1024 Go =240 octets

Différents types de mémoire semi-conducteur Mémoire vive : RAM Définition (RAM) : Une mémoire vive (RAM : Random Access Memory) sert au stockage temporaire des données. Elle doit avoir un temps de cycle très court pour ne pas ralentir le microprocesseur.

Page 12: 1.1- Introduction 1.2-

Chapitre 1 : Architecture et fonctionnement d’un microprocesseur

Dr. M. DJARALLAH 12

Ces mémoires sont en général volatiles et sont divisées en 2 grandes familles : statiques et dynamiques. La mémoire statique (SRAM) est un composant dont chaque bit est constitué d'une bascule (contenant entre 4 et 6 transistors). Dans la mémoire dynamique (DRAM), l'information est mémorisée sous forme d'une charge électrique stockée dans un condensateur (transistor MOS), augmentant ainsi la capacité d'intégration et réduisant la consommation. Toutefois, l'inconvénient majeur réside dans l'obligation, pour les DRAM, d'un rafraîchissement périodique (pour compenser les courants de fuite du condensateur), ce qui impose une gestion plus complexe et un temps d'accès aux informations plus long. En général les DRAM sont utilisées pour la mémoire centrale alors que les SRAM sont plus adaptées aux mémoires cache et aux registres. Mémoire morte : ROM Définition (ROM). Pour certaines applications, il est nécessaire de pouvoir conserver des informations de façon permanente même lorsque l'alimentation est interrompue. On utilise alors des mémoires non volatiles appelées mémoires mortes (ROM : Read Only Memory). La seule opération possible est une opération de lecture.

L'opération d'écriture (qui est possible) est appelée programmation. La méthode peut varier selon le type de ROM : ROM : elle est programmée par constructeur, son contenu est non modifiable. Sa densité d'intégration est élevée et elle est très rapide. PROM : c'est une ROM programmable une seule fois par l'utilisateur et rapidement dont le coût est relativement faible.

EPROM : c'est une ROM reprogrammable (mais entièrement à chaque reprogrammation) et souvent (un millier de fois). L'écriture est toutefois plus lente (environ 1000 ×) que sur une RAM.

EEPROM : c'est une EPROM améliorée car elle est effaçable électriquement mot par mot. L'utilisation en RAM est très lente et son coût de réalisation est relativement élevé.

FLASH EPROM : communément appelée mémoire flash (clé USB, lecteur MP3, PDA, appareil photo numérique), c'est une EEPROM particulière basée sur 2 technologies (NOR : cellules en parallèle, bus d'adresse et de données dédiés ou NAND : cellules en série, interface d'E/S indirecte, implantation plus dense). 1.6.3- Mémoires secondaires (Magnétique et optique) Disques magnétiques : Un disque magnétique est constitué de plusieurs plateaux circulaires empilés et de plusieurs têtes de lecture/écriture. On distingue 2 catégories de disques magnétiques : disque dur : plateau métallique, tête de lecture électromagnétique flottante sur coussin d'air (disque Winchester),

Page 13: 1.1- Introduction 1.2-

Chapitre 1 : Architecture et fonctionnement d’un microprocesseur

Dr. M. DJARALLAH 13

Disques optiques Principe du CD-ROM

Un CR-ROM (Compact Disk) est disque de 12 cm de diamètre composé de plusieurs couches superposées (plastique, métallique et vernis). Le principe de lecture / écriture utilise un rayon infrarouge d'une longueur d'onde de 780 nm qui parcourt la piste organisée en spirale (contrairement au disque dur qui comporte plusieurs pistes). Lors de la lecture, le faisceau laser traverse la couche de plastique (polycarbonate) puis rencontre ou non un creux. Lors d'un passage devant un creux (resp. un plat), la lumière du laser est fortement réfractée (resp. réfléchie), de telle sorte que la quantité de lumière renvoyée est minime, valeur binaire 0 (resp. importante, valeur binaire 1). Pour l'écriture, le graveur, le laser utilisé est 10 fois plus puissant et brûle localement des plages (creux et bosses sont remplacées par des plages brûlées et non brûlées). Les caractéristiques principales sont la vitesse maximale de lecture, de gravage et l'interface associée (IDE, SCSI ou SATA). Il existe dorénavant des améliorations telles que le Burn Proof ou Just Link (suspension de ravure en l'absence de données dans le bu_er) et l'Overburning (dépassement léger de capacité). Principe du DVD-ROM

Le DVD-ROM (Digital Versatile Disk) est apparu en 1997 et est principalement dédié à la vidéo. Il s'agit en fait d'un CD de capacité plus importante. La lecture / écriture est effectuée à partir d'un laser rouge (650 et 635 nm) qui permet d'obtenir des creux plus petit, donc d'augmenter la quantité d'information. Les 2 longueurs d'ondes permettent une lecture / écriture double couche. Un DVD (-RW / +RW) double couche et double face possède une capacité de 17 Go (soit 22 CD!). Donc le 8085 a 16-bits d’adresse, ce qui veut dire qu’il est capable d’adresser jusqu’à 65536 cases mémoire (216). (65536/1024 = 64K octet de mémoire). Répartition de mémoire de travail en SYDICOM+ La répartition de mémoire du système SYDICOM+ est donnée comme suit : Adresse 0000-

3fff 4000-5fff

6000-67ff

6800-6ff0

7000-7fff

8000-9fff

A000-bfff

C000-dfff

E000-ffff

utilisation

monitor

Réservé pour extension

Réservé

Espace pour Basic

Pour utilisateur

Pour utilisateur

Pour utilisateur

Pour utilisateur

Pour utilisateur

Dispositif

Eprom 27128

Eprom 27128

1ere RAM

1ere RAM

1ere RAM

2eme RAM

3eme RAM

4eme RAM

5eme RAM

On note que toutes les RAM, qui sont dynamique, sont de type 4464 de capacité: (8kO) ? Calculer

la, et calculer celle de l’Eprom (16kO ?).

Les programmes, en assembleur et les données seront stockés dans l’espace où delà 6fff ; en

commençant de 7000h.

Page 14: 1.1- Introduction 1.2-

Chapitre 1 : Architecture et fonctionnement d’un microprocesseur

Dr. M. DJARALLAH 14

Adressage des dispositifs E/S

Dans n’importe quel système à base d’un microprocesseur avec mémoire, il se trouve qu’il

est connecté aux périphériques d’E/S par le bais des interfaces. Comme on cité déjà dans

l’adressage des mémoires, un dispositif d’E/S est adressé comme étant une case mémoire ; mais il

prend des nombres entres 0 et 255 ; Donc les adresses 0, 2, 4 et 6 dans le segment 40h, dans les PC,

peuvent être correspond aux différentes adresses du périphérique série. On remarque que la manière

d’adressage des mémoires, du point de vu nombre d’octets, est différente de celle d’adressage des

périphériques. Le Tableau suivant, donne un aperçu général sur la topologie d’adressage des

dispositifs d’E/S pour le Kit SYDICOM. On note que les adresses qui nous concerne dans ce

tableau, sont ceux du PIO1.

Tableau de quelques adresses des dispositifs d’E/S du système SYDICOM+ Adresse 00h 04h 14h 18h 1Ch 40h 50h 51 52h 53h Destinée UART0 URT1 8253 8253 Interruption 8255 Port A Port

B Port C

R. de commande

Dispositif Port série 1

Port série 2

Horloge0 Horloge1

Contrôle PIO-0 PIO1( Port parallèle)