Transcript
Page 1: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 1

______________________ Table des matières

ANNEXE 1 - Représentation des données _______________________________________ 2

1. Introduction ____________________________________________________________ 2

2. Changements de bases____________________________________________________ 2 2.1 Représentation des nombres entiers_________________________________________ 2 2.2 Représentation des nombres fractionnaires____________________________________ 3 2.3 Passage d'une base quelconque à la base 10 __________________________________ 3 2.4 Passage de la base 10 vers une base quelconque_______________________________ 3 2.5 Cas des bases 2, 8 et 16 _________________________________________________ 4 2.6 Opérations arithmétiques_________________________________________________ 4

3. Codification des nombres entiers ___________________________________________ 4 3.1 Entiers naturels________________________________________________________ 4 3.2 Entiers relatifs_________________________________________________________ 5

4 Représentation des caractères ______________________________________________ 5

5. Représentation des nombres réels (norme IEEE) ________________________________ 6

6. Table des codes ASCII standards _________________________________________ 8

ANNEXE 2 - Technologie des mémoires ________________________________________ 9

1. PRESENTATION ______________________________________________________ 9

2. CARACTERISTIQUES GENERALES DES MEMOIRES ____________________ 9 2.1. LA CAPACITE _____________________________________________________ 9 2.2. ORGANISATION - STRUCTURE _____________________________________ 10 2.3. MODE D'ACCES A L'INFORMATION_________________________________ 10 2.4. MODE DE FONCTIONNEMENT _____________________________________ 10 2.5. LA RAPIDITE _____________________________________________________ 10 2.6. LA PERMANENCE ________________________________________________ 11 2.7. EVOLUTION DES MEMOIRES INTEGREES (exemple des RAMs) _________ 11

3. CLASSIFICATION DES MEMOIRES SUIVANT LE SUPPORT DE L'INFORMATION ______________________________________________________ 12

3.1. MEMOIRES A SEMI-CONDUCTEUR _________________________________ 12 3.2. MEMOIRES MAGNETIQUES________________________________________ 12 3.3. MEMOIRES OPTIQUES ____________________________________________ 12 3.4. CLASSIFICATION DES MEMOIRES__________________________________ 13

4. LES MEMOIRES A SEMI-CONDUCTEUR_______________________________ 13 4.1. CLASSIFICATION DES MEMOIRES A SEMI-CONDUCTEUR,____________ 13 4.2. STRUCTURE DES MEMOIRES A ACCES DIRECT______________________ 15 4.3. TECHNOLOGIE DES MEMOIRES A SEMl-CONDUCTEUR ______________ 22

ANNEXE 3 : Jeu d’instructions du microprocesseur 68000 Motorola ________________ 40

Page 2: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 2

ANNEXE 1 - Représentation des données

1. Introduction Les informations traitées par un ordinateur peuvent être de différents types ( texte, nombres, etc.) mais elles sont toujours représentées et manipulées par l'ordinateur sous forme binaire. Toute information sera traitée comme une suite de 0 et de 1. L'unité d'information est le chiffre binaire (0 ou 1), que l'on appelle bit (pour binary digit : chiffre binaire).

Le codage d'une information consiste à établir une correspondance entre la représentation externe (habituelle) de l'information (le caractère A ou le nombre 36 par exemple), et sa représentation interne dans la machine, qui est une suite de bits. On utilise la représentation binaire car elle est simple, facile à réaliser techniquement à l'aide de bistables (système à deux états réalisés à l'aide de transistors). Enfin, les opérations arithmétiques de base (addition, multiplication ...) sont faciles à exprimer en base 2 (noter que la table de multiplication se résume à 0 x 0 = 0, 1 x 0 = 0 et 1 x 1 = 1).

2. Changements de bases Avant d'aborder la représentation des différents types de données (caractères, nombres naturels, nombres réels), il convient de se familiariser avec la représentation d'un nombre dans une base quelconque (par la suite, nous utiliserons souvent les bases 2, 8, 10 et 16 ).

Habituellement, on utilise la base 10 pour représenter les nombres, c'est à dire que l'on écrit à l'aide de 10 symboles distincts, les chiffres décimaux.

En base b, on utilise n chiffres. Notons ai la suite des chiffres utilisés pour écrire un nombre x = an-1 an-2... a2 al ao. ao est le chiffre des unités.

En décimal, b = 10, ai∈ {0, 1 ,2, 3, 4, 5, 6, 7, 8, 9} En binaire, b = 2, ai ∈ {0, 1} : 2 chiffres binaires, ou bits; En hexadécimal, b = 16, ai ∈ {O, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}

(on utilise les 6 premières lettres de l’alphabet comme des chiffres).

2.1 Représentation des nombres entiers

En base 10, on écrit par exemple 2001 pour représenter le nombre

2001 = 2.103+ 0.102+ 0.101 + 1.100

Dans le cas général, en base b, le nombre représenté par une suite de chiffres an-1 ... al ao est donné par :

an-1 ... al ao = ∑=

1-n

0i ai.bi

ao est le chiffre de poids faible, et an-1 le chiffre de poids fort.

Page 3: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 3

Exemple en base 2 : (101)2 = 1.22+0.21+1.20 = 4+0+1 = 5 La notation ( )b indique que le nombre est écrit en base b.

2.2 Représentation des nombres fractionnaires

Les nombres fractionnaires sont ceux qui comportent des chiffres après la virgule. Dans le système décimal, on écrit par exemple : 12,346 = 1.101 + 2.100 + 3.10-1 + 4.10-2 + 6.10-3 En général, en base b, on écrit : an-1 an-2 a n-3…a3 a2 al ao = an-1.bn-1+ an-2.bn-2+ a n-3.bn-3+… + a3.b3+a2.b2+al.b1+ao.b0

2.3 Passage d'une base quelconque à la base 10

Il suffit d'écrire le nombre comme ci-dessus et d'effectuer les opérations en décimal. Exemple en hexadécimal: (AB)16 = 10.161 + 11.160 = 160 + 11 = (171)10 (en base 16, A représente 10, B représente 11, et F représente 15).

2.4 Passage de la base 10 vers une base quelconque

Nombres entiers On procède par divisions successives. On divise le nombre par la base, puis le quotient obtenu par la base, et ainsi de suite jusqu'a obtention d'un quotient nul.

La suite des restes obtenus correspond aux chiffres dans la base visée, ao a1 a2 a3 … an-3 an-2 an-1. Exemple : soit à convertir (44)10 vers la base 2. 44 = 2 x 22 + 0 a0 = 0 22 = 2 x 11 + 0 a1 = 0 11 = 2 x 5 + 1 a2 = 1 5 = 2 x 2 + 1 a3 = 1 2 = 2 x 1 + 0 a4 = 0 1 = 2 x 0 + 1 a5 = 1 Donc (44)10 équivaut à (101100)2.

Page 4: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 4

Nombres fractionnaires On multiplie la partie fractionnaire par la base en répétant l'opération sur la partie fractionnaire du produit jusqu'a ce qu'elle soit nulle ( ou que la précision voulue soit atteinte).

Pour la partie entière, on procède par divisions comme pour un entier.

Exemple: conversion de (54,25)10 en base 2

Partie entière : (54)10 = (110110)2 par divisions successives. Partie fractionnaire :

2 x 0,25 = 0,50 a-1 = 0 2 x 0,50 = 1,00 a-2 = 1 2 x 0,00 = 0,00 a-3 = 0

2.5 Cas des bases 2, 8 et 16

Ces bases correspondent à des puissances de 2 (21,23 et 24), d'où des passages de l'une à l'autre très simples. Les bases 8 et 16 sont pour cela très utilisées en informatique, elles permettent de représenter rapidement de manière compacte des configurations binaires. La base 8 est appelée notation octale, et la base 16 notation hexadécimale. Chaque chiffre en base 16 (24) représente un paquet de 4 bits consécutifs. Par exemple:

(10011011)2 = (1001 1011)2 = (9B)16

De même, chaque chiffre octal représente 3 bits consécutifs. On manipule souvent des nombres formés de 8 bits, nommés octets, qui sont donc représentés sur 2 chiffres (digits) hexadécimaux.

2.6 Opérations arithmétiques Les opérations arithmétiques s’effectuent dans une base quelconque b avec les mêmes méthodes qu'en base 10. Une retenue ou un report apparaît lorsque l'on atteint ou dépasse la valeur b de la base.

3. Codification des nombres entiers La représentation (ou codification) des nombres est nécessaire afin que toutes les données soient stockées ou manipulée par un ordinateur. Le principal problème est la limitation de la taille du codage : un nombre mathématique peut prendre des valeurs arbitrairement grandes, tandis que le codage dans l'ordinateur doit s'effectuer sur un nombre de bits fixé.

3.1 Entiers naturels

Les entiers naturels (positifs ou nuls) sont codés sur un nombre d'octets fixé (un octet est un groupe de 8 bits). On rencontre habituellement des codages sur 1, 2 ou 4 octets, plus rarement sur 64 bits (8 octets). Un codage sur n bits permet de représenter tous les entiers naturels compris entre 0 et 2n – 1. Par exemple sur 1 octet, on pourra coder les nombres compris entre 0 à 255 = 28 - 1.

Page 5: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 5

On représente le nombre en base 2 et on range les bits dans les cellules binaires correspondant à leur poids binaire, de la droite vers la gauche. Si nécessaire, on complète à gauche par des zéros (bits de poids fort).

3.2 Entiers relatifs Il faut ici coder le signe du nombre. On utilise le codage en complément à deux, qui permet d'effectuer ensuite les opérations arithmétiques entre nombres relatifs de la même façon qu'entre nombres naturels.

3.2.1. Entiers positifs ou nuls : On représente le nombre en base 2 et on range les bits comme pour les entiers naturels. Cependant, la cellule de poids fort est toujours à 0 : on utilise donc n - 1 bits pour coder la valeur. Le plus grand entier positif représentable sur n bits en relatif est donc 2n-1 –1 (= 0111…11).

3.2.2. Entiers négatifs Soit x un entier positif ou nul représenté en base 2 sur n - 1 bits

x = ∑−

=

2

0

n

iαi . 2i , avec αi ∈ {0, 1}

et soit y = ∑−

=

2

0

n

i(1 - αi ). 2i +1

La cellule de poids fort est toujours à 1 : on utilise donc n - 1 bits pour coder la

valeur. Le plus petit entier négatif représentable sur n bits en relatif est donc –2n-1.

On constate facilement que x + y = 2n-1 , ∀αi Or sur n bits, 2n-1 est représenté par n - 1 zéros, donc on a x + y = 0 modulo 2n-1 , ou encore y = -x. y peut être considéré comme l'opposé de x. La représentation de -x est obtenue par complémentation à 2n- 1 de x. On dit complément à deux. Pour obtenir le codage d'un nombre x négatif, on code en binaire sa valeur absolue sur n - 1 bits, puis on complémente (ou inverse) tous les bits et on ajoute 1. Exemple: soit à coder la valeur -2 sur 8 bits.

On exprime 2 en binaire, soit 0000 0010. Le complément à 1(ou complément restreint) est 1111,1101. On ajoute 1 et on obtient le résultat : 1111 1110.

4 Représentation des caractères Les caractères sont des données non numériques : il n'y a pas de sens à additionner ou

multiplier deux caractères. Par contre, il est souvent utile de comparer deux caractères, par exemple pour les trier dans l'ordre alphabétique. Les caractères, appelés symboles alphanumériques, incluent les lettres majuscules et minuscules, les symboles de ponctuation, etc. ... et les chiffres. Un texte, ou chaîne de caractères, sera

Page 6: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 6

représenté comme une suite de caractères. Le codage des caractères est fait par une table de correspondance indiquant la configuration binaire représentant chaque caractère. Les deux codes les plus connus sont l'EBCDIC (en voie de disparition) et le code ASCII (American Standard Code for Information Interchange). Le code ASCII représente chaque caractère sur 7 bits (on parle parfois de code ASCII étendu, utilisant 8 bits pour coder des caractères supplémentaires). Notons que le code ASCII original, défini pour les besoins de l'informatique en langue anglaise) ne permet pas la représentation des caractère accentués (é, è, à, ù, … ). Pour d’autres langues telles que le chinois ou l’arabe, d'autres codages existent, utilisant 16 bits par caractères. La table des codes ASCII standard est donné page 8 ; A chaque caractère est associé une configuration de 8 chiffres binaires (1 octet), le bit de poids fort (le plus à gauche) étant toujours égal à zéro. Plusieurs points importants à propos du code ASCII :

Les codes compris entre 0 et 3110 (1F16)ne représentent pas des caractères, ils ne sont pas affichables. Ces codes, souvent nommés caractères de contrôles sont utilisés pour indiquer des actions comme passer à la ligne suivante (CR, LF), mettre un bip sonore (BEL), etc. Les lettres se suivent dans l'ordre alphabétique : codes 6510 (4116) à 9010 (5A16) pour les majuscules, 9710 (6116) à 12210 (7A16) pour les minuscules, ce qui simplifie les comparaisons. On passe des majuscules au minuscules en modifiant le 5ème bit, ce qui revient à ajouter 3210 (2016) au code ASCII décimal (ie hexadécimal). Les chiffres sont rangés dans l'ordre croissant (codes 4810 à 5710), et les 4 bits de poids faibles définissent la valeur en binaire du chiffre.

5. Représentation des nombres réels (norme IEEE) Soit à codifier le nombre 3,2510 qui s'écrit en base 2 (11, 01)2. On va normaliser la représentation en base 2 de telle sorte qu'elle s'écrive sous la forme :

1, ... x 2n

Dans notre exemple 11,01 = 1,101 x 2n

La représentation IEEE code séparément le signe du nombre (ici +), l'exposant n (ici 1), et la

mantisse (la suite de bits après la virgule), le tout sur 32 bits.

Le codage a la forme : seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm Le signe est représenté par le bit de poids fort s,

« + »est représenté par « 0 » et «-» par « 1 ». L'exposant est codé sur les 8 bits e. On code en binaire la valeur n + 127. La mantisse est codée sur les 23 bits de poids faibles m.

Remarques : 1. Les exposants 00000000 et 11111111 sont interdits.

a. l'exposant 00000000 signifie que le nombre est dé normalisé b. l'exposant 11111111 indique que l'on n'a pas affaire à un nombre (on note cette

configuration NaN, « Not a Number », et on l'utilise pour signaler des erreurs de calculs, comme par exemple une division par 0).

2. Les plus petit exposant est donc -126, et le plus grand +127.

Page 7: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 7

Annexe :

Ce petit programme en langage C peut être utilisé pour afficher le codage d'un nombre flottant quelconque :

/* Affichage hexadécimal des 4 octets d'un nombre flottant IEEE*/ #include <stdio.h>

main( ) { float x; unsigned char *p = (unsigned char *)&x printf(" Entrer un nombre flottant : \n "); scanf("%f", &x); printf(" %f -> %x %x %x %x \n", x, *p, *(p+1), *(p+2), *(p+3)); }

Page 8: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 8

6. Table des codes ASCII standards

Page 9: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 9

ANNEXE 2 - Technologie des mémoires

1. PRESENTATION

Une mémoire est un dispositif capable d'emmagasiner puis de restituer une information. Son fonctionnement apparaît alors sous trois aspects

l'inscription ou écriture de l'information dans le dispositif la rétention ou stockage la lecture ou la restitution de l'information précédemment enregistrée.

Cette information, quelle que soit sa nature - nombre, texte, image, signal - doit être

décomposée en une suite ordonnée d'éléments binaires ou bits. Le bit représente l'unité d'information élémentaire. Le dispositif de stockage associé s'appelle « point mémoire » ou « cellule ». Le problème consiste alors à exploiter des phénomènes physiques bistables tels que l'état d'interrupteur (ouvert ou fermé), le niveau logique de sortie de bascules, le sens de l'aimantation rémanente d'un matériau ferromagnétique, le changement de phase dans un cristal, etc.

Nous présenterons dans ce chapitre les caractéristiques générales des mémoires, et une classification de celles-ci en fonction du phénomène physique utilisé. Par la suite, seules les mémoires à semi-conducteur sont étudiées.

2. CARACTERISTIQUES GENERALES DES MEMOIRES

2.1. LA CAPACITE Cette caractéristique, essentielle, définit la quantité d'information qui peut être stockée dans un dispositif donné. La capacité d'une mémoire peut s'exprimer en bits ou en mots de n bits. Dans les systèmes à microprocesseur, l'unité la plus couramment utilisée est l'octet (ou byte en anglais), c'est-à-dire 8 bits (ceci indépendamment de la longueur des mots effectivement utilisés dans ces systèmes). Les multiples Kilo et Méga sont fréquemment utilisés pour désigner de grandes capacités :

Kilo 1K = 210 = 1024 Méga 1M = 220 = 1048576

Les quelques exemples qui suivent permettront au lecteur d'avoir des notions d'ordre de grandeur de capacité.

Un caractère alphanumérique (chiffre, lettre, symbole) codé en ASCII (American Standard Code for Information Interchange) est représenté par 7 bits. Dans la plupart des systèmes il occupe en fait 1 octet.

Un terminal classique d'ordinateur affiche généralement 25 lignes de 80 colonnes, soit un maximum de 2 000 caractères, soit environ 2 Koctets d'informations.

Une page dactylographiée contient, selon la densité du texte, entre 2000 et 4000 caractères.

Un livre de 200 pages de texte contient 800 000 caractères environ soit 0.8 Motets.

Page 10: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 10

Une image décomposée en 512 x 512 éléments (pixel = picture element) nécessite un minimum de 256 Kbits d'informations.

2.2. ORGANISATION - STRUCTURE Du point de vue de l'utilisateur, une mémoire est en première approche, un tableau contenant des informations binaires. On appelle organisation d'une mémoire les dimensions de ce tableau. Elle est exprimée en « mots de n bits », n représente le nombre de colonnes du tableau. Exemples :

Une mémoire de 6.4K x 1 est constituée de 64K mots de 1 bit. Sa capacité est donc de 6.4K bits. Une mémoire de 8K x 8 a également une capacité de 64K bits, mais le nombre de

lignes du tableau, donc le nombre de mots, est de 8K.

Vis-à-vis de l'information on parle de structure et non plus d'organisation. Elle définit le nombre de bits minimum lu ou écrit à chaque accès de la mémoire. Les mémoires citées précédemment sont structurées en bit ou en mot de n bits. Les disques et bandes magnétiques nécessitent une structure de l'information en secteur ou bloc (groupe de mots inséparables).

2.3. MODE D'ACCES A L'INFORMATION On distingue de ce point de vue deux grands types de mémoires :

Les mémoires à accès aléatoire ou direct, c'est-à-dire les circuits pour lesquels chaque mot est accessible directement et individuellement grâce à une étiquette ou adresse.

Les mémoires à accès Séquentiel, dont la bande magnétique est un exemple ; Elles sont caractérisées par une répartition des informations en file. Un mot est repéré par sa position dans une suite d'éléments. C'est l'ordre d'enregistrement qui est alors conservé.

2.4. MODE DE FONCTIONNEMENT Il existe deux modes de fonctionnement pour une mémoire, la lecture et l'écriture. Il faut noter que pour certaines mémoires à semi-conducteurs, appelées mémoires mortes ou ROM (Read Only Memories), l'opération d'écriture est un évènement exceptionnel. On parle plutôt d'une opération de programmation.

2.5. LA RAPIDITE Un paramètre très important dans l'évaluation des performances d'une mémoire est le temps d’accès, c'est à dire le temps qui s'écoule entre une demande d'information et le moment où elle est effectivement disponible. L'organisation de la mémoire joue ici un grand rôle.

Dans un système à accès Séquentiel, le temps d'accès est du principalement au défilement de la suite d'informations jusqu'à l'élément. Le temps d'accès dépend alors de la position même de cet élément.(On est amené à parler de temps d'accès moyen ou maximum lorsqu'on parle de mémoire à bande ou à disque. Leurs temps d'accès s'échelonnent alors de quelques millisecondes à plusieurs secondes).

Page 11: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 11

Par contre, dans le cas d'une mémoire à accès aléatoire, le temps d'accès est indépendant de la position de l'information il dépend principalement de la technologie. Par exemple, pour la technologie MOS, les temps d'accès s'échelonnent entre 40 et 500 ns.

2.6. LA PERMANENCE Certaines mémoires doivent être alimentées pour conserver l'information , c'est le cas des mémoires vives statiques à semi-conducteurs (voir § 4). On parle alors de mémoire volatile. A l'opposé, les mémoires qui assurent le stockage de l'information en l'absence de source d'énergie sont des mémoires permanentes ; c'est le cas des supports magnétiques. Remarque : Il est possible d'assurer la permanence d'une mémoire volatile notamment à l'aide de piles fournissant une énergie de maintien en cas de coupure de l'alimentation. Quelques constructeurs vont même jusqu'à intégrer ces piles dans le boîtier même de certaines mémoires à semi-conducteur.

2.7. EVOLUTION DES MEMOIRES INTEGREES (exemple des RAMs)

La figure suivante donne une idée de la complexité des mémoires comparativement aux principaux processeurs du marché

les figures suivantes donnent

l'évolution des caractéristiques en capacité et temps d'accès ou temps de cycle des mémoires vives

▲ Densité des mémoires

Page 12: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 12

3. CLASSIFICATION DES MEMOIRES SUIVANT LE SUPPORT DE L'INFORMATION

3.1. MEMOIRES A SEMI-CONDUCTEUR La cellule mémoire est constituée de transistors (bipolaires ou MOS). Ce sont les mémoires qui s'adaptent le mieux aux circuits numériques déjà étudiés, compte tenu de leurs caractéristiques électriques et temporelles : vitesse (temps d'accès), consommation (µW ou mW par bit), Immunité aux bruits, coût par bit. La suite de ce chapitre leur est entièrement consacrée.

3.2. MEMOIRES MAGNETIQUES Les mémoires d'ordinateur ont longtemps utilisé des cellules à tore de ferrite : le sens de l'aimantation rémanente d'un tore fournit un bit d'information. Si de nos jours les mémoires à semi-conducteurs ont remplacé les mémoires à tore dans les systèmes informatiques, les supports magnétiques, tels les bandes ou les disques, restent très utilisés pour le stockage de grandes quantités d'informations. Cependant le temps d'accès à une cellule, ou plutôt à un groupe de cellules (secteur, piste, bloc), dépend de facteurs mécaniques tels que défilement ou déplacement des têtes d'enregistrement - lecture.

3.3. MEMOIRES OPTIQUES Le disque audionumérique compact utilise un faisceau laser pour lire un flot d'informations codées sous la forme de cuvettes gravées à l'enregistrement. L’extrême finesse de cette gravure autorise le stockage de très grandes quantités d'informations. A titre d'exemple, il est possible de stocker sur une seule face de disque numérique de 12 cm de diamètre, l'équivalent du texte d'une encyclopédie de 20 volumes de 1000 pages.

Page 13: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 13

3.4. CLASSIFICATION DES MEMOIRES

4. LES MEMOIRES A SEMI-CONDUCTEUR Les systèmes numériques - séquenceurs, système à base de microprocesseur - utilisent exclusivement des mémoires à semi-conducteur de même technologie, et de temps d'accès suffisamment court pour ne pas ralentir le traitement.

On a recours parfois à des mémoires auxiliaires de grande capacité (appelées mémoires de masse), comme les mémoires à disque, pour leur permanence et leur facilité d'archivage. Cependant, ces mémoires sont vues par le système comme des éléments périphériques externes.

Elles ne sont donc pas intégrées au système comme le sont les mémoires à semi-conducteur.

4.1. CLASSIFICATION DES MEMOIRES A SEMI-CONDUCTEUR, L'utilisateur d'un circuit mémoire peut avoir accès à l'information soit en lecture uniquement, soit en lecture ou en écriture. On distingue alors deux grandes classes de mémoires

les mémoires mortes les mémoires vives.

4.1.1.Les mémoires vives Elles peuvent être écrites ou lues à tout moment par l'utilisateur. Suivant le mode d'accès à l'information, on distingue deux groupes :

les mémoires vives à accès aléatoires ou RAM les mémoires vives à accès Séquentiel ou piles.

MEMOIRES

Mémoires à semi-conducteurs Mémoires magnétiques

Mémoires mortes Mémoires vives

ROM PROM EPROM EEPROMEAROM

Accès aléatoires (RAM) Accès séquentiels (piles)

Statique FIFO LIFO Dynamique

Non Volatile

Volatile

Page 14: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 14

4.1.1.1. Les mémoires RAM (Random Access Memories)

L'appellation RAM signifie littéralement mémoire à accès aléatoire Ceci qualifie l'organisation et non la nature (écriture ou lecture) de l'accès à l'information. Cependant ce terme désigne, à tort, exclusivement les mémoires vives à accès aléatoire. Suivant la structure du point mémoire utilisé, il existe trois types de mémoires RAM :

Les mémoires vives statiques (RAM statiques). Elles conservent l'information tant que le circuit reste sous tension. (Ie point mémoire est constitué d'un circuit bistable à transistors).

Les mémoires vives statiques non volatiles (NOVRAM), qui ont de plus la capacité de conserver l'information en l'absence d"alimentation.

Les mémoires vives dynamiques (RAM dynamiques), dont le point mémoire est constitué par un condensateur. L'information est représentée par la charge du condensateur. Cependant la décharge naturelle de celui-ci ne permet la conservation de l'information que pendant un temps relativement court (de l'ordre de quelques millisecondes). Les mémoires dynamiques doivent donc être réécrites périodiquement ; cette opération s'appelle le rafraîchissement.

4.1.1.2. Les piles Ce sont des mémoires vives à accès Séquentiel. Suivant l'ordre d'entrée et de sortie, plusieurs appellations leur sont données

les piles FIFO (first in - first out ou premier entré - premier sorti) sont des circuits pour lesquels les informations sont disponibles en sortie dans l'ordre d'entrée (file d'attente) ;

les piles LIFO (last in - first out ou dernier entré - premier sorti), pour lesquelles les informations sont disponibles en sortie dans l'ordre inverse de leur entrée (exemple : une pile d'assiettes).

4.1.2. Les mémoires mortes Les mémoires mortes sont appelées ROM (Read Only Memories : mémoires à lecture seule), car en usage normal elles sont destinées uniquement à être lues (l'opération d'écriture étant considérée comme un évènement exceptionnel).

On distingue plusieurs types de mémoires mortes suivant les possibilités d'écriture voire d'effacement des informations :

Les ROM proprement dites, qui sont écrites une fois pour toutes lors de la fabrication

du circuit. Les PROM (Programmable ROM = ROM programmable) désignent les circuits pour

lesquels l’utilisateur peut par destruction de fusibles ou de jonctions, inscrire lui-même les informations dans les cellules mémoires.

Les EPROM (Erasable PROM = PROM effaçable) sont de plus effaçables, généralement par exposition aux rayonnements ultra-violets.

Les EAROM ou EEPROM (Electrically Alterable ROM ou Electrically Erasable PROM, soit PROM effaçable ou modifiable électriquement) constituent une dernière catégorie de mémoires mortes pour lesquelles le contenu est modifiable électriquement. Ce ne sont cependant pas des mémoires vives car l'opération d'écriture est très lente vis-à-vis du temps de lecture. D'autre part, le nombre d'écritures reste limité.

Page 15: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 15

L'évolution conjointe des mémoires vives non volatiles et des mémoires mortes

modifiables électriquement rend de plus en plus difficiles les distinctions entre ROM et RAM.

4.2. STRUCTURE DES MEMOIRES A ACCES DIRECT

4.2.1. Principe Du point de vue de l'utilisateur, une mémoire à accès aléatoire se présente comme un tableau généralement composé de 2m lignes de n colonnes ou chaque ligne forme un mot accessible directement par un numéro ou adresse. Le tableau ainsi formé est constitué de cellules mémoires dont la structure dépend du type de mémoire utilisé: ROM, EPROM, RAM statique, etc. Un circuit mémoire à accès aléatoire apparaît donc fonctionnellement comme un ensemble de quatre blocs :

1.) Plan mémoire ou ensemble des points mémoires organisé en 2m mots de n bits.

2.) Décodeur : C'est un circuit combinatoire dont les entrées sont constituées par les Fils d'adresses et les sorties par les signaux d'activation des lignes.

Page 16: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 16

Remarque : Afin de diminuer la complexité des circuits de d‚codage, il est possible de sélectionner un mot à l'aide de deux Décodeurs, suivant une organisation matricielle. Chaque mot se trouve à l'intersection d'une ligne et d'une colonne. La sélection est assurée par l'activation de la ligne et de la colonne correspondantes.

3.) Circuit d'entrée sortie. Ce dernier est constitué d'amplificateurs trois états éventuellement bidirectionnels.

4.) Logique de contrôle. Ce circuit reçoit les commandes de sélection de la mémoire, d'autorisation de sortie, de demande éventuelle d'écriture. Il active en conséquence le décodage et le circuit

d'entré/sortie.

4.2.2. Mise en oeuvre des boîtiers mémoire

4.2.2.1. Implantation de circuits mémoires à semi-conducteur Position du problème

Etant donné la structure même des circuits mémoire à accès aléatoire, trois groupes de signaux s'avèrent nécessaires :

les adresses les données les commandes.

Dans un système numérique, l'ensemble des fils véhiculant une information (donnée, adresse,

commande) est communément appelé bus.

On distingue donc dans un système comportant ce type de circuit trois bus :

Page 17: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 17

le bus d'adresse (BA), qui présente le numéro du mot sélectionné. Physiquement il est constitué de m fils ; on peut alors accéder à 2m mots mémoires. Ce bus est unidirectionnel ; en effet l'utilisateur impose toujours l'adresse, et l'information est donc propagée à sens unique.

Le bus de donnée (BD), composé de n fils, est par contre bidirectionnel dans le cas des mémoires vives. En effet les données sont soit imposées par le circuit mémoire dans le cas d'une lecture, soit imposées par l'utilisateur dans le cas d'une écriture.

Le bus de commande, de dimension variable suivant les systèmes, comprend généralement les signaux suivants :

CS , CE (Chip Select ou Chip Enable) représente l'entrée de sélection d'un

boîtier. Dans la plupart des cas cette entrée est active au niveau électrique bas (0 en logique positive) ; la barre de complément logique est alors placée sur le symbole de la commande.

Cette entrée permet l'activation ou non du boîtier. Ceci est particulièrement utile dans le cas d'architecture mettant en oeuvre plusieurs circuits mémoires partageant les mêmes bus. Seul le boîtier sélectionné a alors accès aux bus de données.

OE (Output Enable) est une commande parfois utilisée en plus de la sélection du boîtier, pour contrôler l'activité des amplificateurs de sortie. Elle assure une sécurité supplémentaire dans la gestion des bus. (On parle de conflit de bus lorsque deux circuits essayent en même temps d'imposer des valeurs sur les mêmes fils, ceci pouvant entraîner la destruction des circuits.)

WR/ ou WE (Read Write ou Write Enable).Cette entrée n'a de raison d'être que dans le cas des mémoires vives. Elle constitue la commande d'écriture des données en mémoire.

D'autres commandes peuvent être ajoutées afin de répondre à certains emplois spécifiques de circuits particuliers. Citons les entrées de programmation des ROM programmables, les commandes de rafraîchissement des mémoires dynamiques, la sortie MRDY (Memory Ready - mémoire prête) de certains boîtiers, etc.

Signalons enfin la possibilité de fournir l'adresse d'un mot mémoire en deux temps, adresse

ligne, puis adresse colonne. Sont alors associées deux entrées appelées CAS et RAS (Column Address Select et Row Address Select). Les présentations suivantes d'un même boîtier mémoire sont équivalentes.

Mémoire vive 2m mots de n bits

Page 18: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 18

Association de boîtiers mémoires

Bien que la capacité des mémoires à semi-conducteur s'accroisse d'année en année, il est courant d'associer dans un système plusieurs circuits, soit pour augmenter la capacité totale, soit pour diversifier le type de mémoire (ROM-RAM). Il est possible par exemple de grouper les circuits structurés en 2m mots de n bits de manière à former une mémoire de 2m mots de k x n bits ou de k x 2m mots de n bits ou, enfin, de k1 x 2m mots de k2 x n bits.

Prenons à titre d'exemple le circuit 2148 d'Intel (mémoire vive de 1 024 mots de 4 bits).

Il est possible de grouper quatre circuits pour réaliser les combinaisons suivantes :

1 024 x 16 bits - 2 048 x 8 bits - 4 096 x 4 bits. Dans le premier cas l'association est très simple :

ou encore

Page 19: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 19

Dans le troisième cas - 4 096 x 4 bits - l'ensemble des 2m mots rend nécessaire l'adressage sur 12 bits Ao – A11, ; seul Ao – A9 sont décodés par les boîtiers mémoires. On utilisera alors un décodeur externe (ici un 74 139) pour sélectionner un des quatre boîtiers.

Le premier boîtier (1) est sélectionné lorsque A10 = A11 = 0 Le second boîtier (2) est sélectionné lorsque A10 = 1 ; A11 = 0 Le troisième boîtier (3) est sélectionné lorsque A10 = 0 ; A11 = 1 Le quatrième boîtier (4) est sélectionné lorsque A10 = 1 = A11

On rend compte de cette répartition à l'aide d'un schéma représentant la cartographie mémoire

où la partition de l'espace mémoire est précisée par les adresses (en hexadécimal) des zones décodées.

Cette représentation est très utilisée dans les systèmes à base de microprocesseur.

Elle est appelée cartographie mémoire.

Page 20: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 20

4.2.2.2. Aspect temporel L'échange d'information entre un circuit mémoire et l'extérieur doit respecter certaines règles ou protocoles :

sélection des boîtiers, présentation de l'adresse, écriture ou recueil des données, désélection du boîtier.

Il existe deux grandes classes de protocoles :

Les protocoles asynchrones pour lesquels s'établit un dialogue (hand shake = poignée de main) entre le système et la mémoire. Le dialogue comprend au moins deux phases, la demande d'accès à la mémoire par le système, et l'acquittement par la mémoire lorsque les données sont prêtes.

Les protocoles synchrones pour lesquels le système impose la séquence de commande suivant un cycle préétabli. Ce cycle doit donc respecter les temps d'accès propres au type de mémoire utilisé.

La grande majorité des circuits mémoire à semi-conducteur travaillant à l'aide d'un protocole synchrone, nous ne présentons dans la suite que des chronogrammes se rapportant à ce type de protocole.

Exemple 1 : Circuit RAM statique MK4118/150 ns utilisé en lecture. Le chronogramme ci dessous met en évidence quatre durées importantes :

• TAA ou temps d'accès par rapport aux adresses. C'est le temps maximal qui s'écoule entre le moment où les adresses sont positionnées et le moment où les données sont valides en sortie (si le circuit est effectivement sélectionné).

Dans l'exemple choisi (MK4118/150 ns) TAA < 150 ns : le constructeur garantit un temps

d'accès par rapport au positionnement des adresses d'au maximum 150 ns : c'est le temps qui apparaît dans la nomenclature du composant.

• TACE : temps d'accès par rapport à la sélection (CE) du boîtier. C'est le temps maximum qui s'écoule entre le positionnement de CE à 0 et le moment où les données sont disponibles, à condition de respecter le temps de positionnement par rapport aux adresses.

Page 21: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 21

Nous pouvons envisager par exemple les cas suivants :

Les adresses sont positionnées bien avant CE

Si cela n’est pas le cas on a :

• TH (hold lime) détermine le temps de maintien minimum des données

après désélection du boîtier. • TCL ou temps de cycle lecture, désigne le temps minimum entre deux

accès à la mémoire en lecture.

Exemple 2 : Chronogramme caractéristique de la même mémoire pour un cycle d'écriture.

Page 22: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 22

Dans ce cas c'est le système qui doit positionner les adresses puis la sélection du boîtier CE , les données et, enfin, l'ordre d'écriture WE .

L'instant d'écriture effective est déterminé par le retour du signal d'écriture au repos. Les données doivent être valides et stables pendant une durée TDSW (set-up time) minimale avant l'instant d'écriture effective et rester également valides et stables pendant une durée TDHW (hold time) après cet instant.

Le cas particulier des mémoires vives dynamiques, dont les adresses sont multiplexées (présentation de l'adresse ligne puis de l'adresse colonne) sera présenté dans le § 4.3.2.2.

4.3. TECHNOLOGIE DES MEMOIRES A SEMl-CONDUCTEUR

4.3.1. Les mémoires mortes

4.3.1.1. Principe Rappelons l'organisation générale d'une mémoire à accès aléatoire.

D'une manière générale le point mémoire a la structure suivante :

Chaque cellule peut se décomposer en :

1. un élément de sélection 2. un élément mémoire.

Page 23: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 23

Le second élément se réduit le plus souvent, dans le cas des mémoires mortes, à une connexion soit à la masse, soit à un point de potentiel correspondant à un 1 logique.

Les premières ROM fabriquées ont utilisé des diodes comme élément de sélection.

Lorsque la ligne de sélection est au potentiel haut (1 logique positive) la ligne de bit 0 reste au

niveau bas (0 logique) ; par contre la ligne de bit 1 est portée au potentiel haut car la diode est passante. La combinaison D0 D1 = 0 1 est donc présente en sortie.

Exemple : La mémoire ci-dessus contient les mots :

• m0 = 1 0 1 0 • m1 = 1 1 0 0 • m2 = 0 0 0 0 • m3 = 0 1 0 0

L'absence de diode équivaut à programmer un 0 et la présence de diode équivaut à programmer un 1.

Page 24: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 24

Remarque :Une autre disposition est possible :

En l'absence de diode, le niveau de la ligne est tiré vers le haut par la résistance reliée au +Vcc. La présence d'une diode programme un 0. Le contenu de la mémoire est identique à celui de l'exemple précédent.

4.3.1.2. Les mémoires ROM (Read Only Memories)

Les transistors ont depuis longtemps remplacé les diodes dans les mémoires disponibles sur le marché : ils sont plus rapides et garantissent des potentiels mieux définis. Deux technologies restent en présence :

Les ROM bipolaires

Un niveau haut sur la ligne de sélection impose la conduction du transistor. La ligne de bit est alors au niveau haut (1 logique). La jonction base-émetteur du transistor joue le rôle de la diode. En l'absence de transistor le potentiel de ligne reste bas à cause de la résistance de rappel à la masse.

Les ROM MOS : Celles-ci utilisent des transistors à effet de champ MOS intégrés

intensivement dans les circuits VLSI. Ils correspondent à la technologie employée dans la fabrication de la plupart des microprocesseurs.

Page 25: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 25

Une cellule mémoire est constituée d'un transistor Tij. La résistance de rappel de la ligne bit est

remplacée par un transistor MOS (Tc) fonctionnant en charge active. Un niveau haut (1 logique) sur la ligne de sélection provoque la conduction du transistor Tij

équivalant en première approximation à un interrupteur commandé :

La tension de la ligne de bit tombe alors à zéro (0 logique). En conséquence, la présence d'un transistor programme un 0 et son absence, inversement, programme un 1. La structure classique d'une ROM à transistor MOS est représentée sur l'exemple ci-après.

Page 26: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 26

Remarque : En réalité, il est plus simple pour le constructeur d'implanter systématiquement un transistor par cellule (masques réguliers). Pendant le cycle de fabrication on programme le circuit par une oxydation supplémentaire (oxyde épais) au niveau de la grille de certains transistors. Ceux-ci voient alors leur tension de seuil augmenter, de sorte qu'ils apparaissent toujours bloqués.

Dans les mémoires ROM l'information est intégrée au niveau de la conception même du circuit : fabrication de masques spécifiques. C'est une méthode lourde et très coûteuse, qui n'est justifiée que pour les très grandes séries (> 100 000 pièces).

4.3.1.3. Les PROM (Programmable Read Only Memories).

Les PROM constituent une famille proche des ROM : toutes les cellules contiennent un élément - diode, transistor - et donc se retrouvent dans le même état (0 ou 1) à la fin du processus de fabrication du circuit. C'est l'utilisateur qui inscrira l'état inverse là où il le désire, soit en claquant une jonction, soit en détruisant un fusible. Cette inscription est alors irréversible. Cas du PROM à fusible :

Technologie bipolaire Technologie MOS fusible intact 1 logique fusible intact 0 logique fusible claqué 0 logique fusible claqué 1 logique

Page 27: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 27

A la livraison tous les fusibles sont intacts, l'utilisateur doit alors appliquer un courant donné pendant une durée minimale à travers les cellules à programmer.

Des appareils spécialisés appelés programmateurs construits à cet effet rendent le processus automatique. L'utilisateur ne se soucie que du contenu et du type de mémoire. Les fusibles, réalisés en silicium poly cristallin, en alliage nickel-chrome ou en titanium-tungstène, nécessitent pour leur fusion des courants de plusieurs dizaines de milliampères appliqués pendant 10 à 100 millisecondes. Par exemple, pour les fusibles en poly silicium I = 50 mA , t = 500 µs.

Dans le cas de PROM à jonction, le point mémoire est réalisé à partir de deux jonctions en séries et opposées. La programmation s'effectue par claquage, c'est-à-dire mise en court-circuit d'une des jonctions. Pour ce faire, on applique une tension de quelques dizaines de volts pendant quelques millisecondes.

Page 28: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 28

En fait on utilise le plus souvent un transistor. Lors de la programmation on polarise la jonction base-émetteur en inverse jusqu'à l'avalanche. Le flux d'électrons provenant de cette avalanche entraîne une diffusion des atomes d'aluminium provenant du contact d'émetteur. Ces atomes, en migrant dans le silicium, court-circuitent la jonction.

4.3.1.4. Les EPROM (Erasable Programmable Read Only Memories) Le caractère irréversible du claquage des jonctions ou des fusibles reste un obstacle dans la mise au point des prototypes. Les mémoires EPROM apportent une solution à ce problème , elles connaissent en conséquence un grand succès. L'organisation reste identique à celle d'une PROM en technologie MOS, seul le fusible est remplacé par un transistor à grille flottante, ou FAMOS (Floating gate Avalanche injection Metal Oxyde Semi-conducteur),qui est susceptible d'être rendu conducteur après application d'une impulsion de tension, puis d'être rendu à nouveau isolant lorsqu'il est exposé un certain temps à un rayonnement ultra-violet.

Le point mémoire a donc la structure suivante :

Principe de fonctionnement du transistor FAMOS

La coupe du transistor ci-après met en évidence la structure de cet élément : il est identique à un transistor MOS, mais la grille non connectée (flottante) est noyée dans l'oxyde isolant.

En l'absence de polarisation, la grille étant isolée, le transistor FAMOS reste à l'état bloqué : il se comporte comme un circuit ouvert.

Cependant, si on applique une tension assez importante (entre 12 et 25 V) entre source et drain (drain négatif), la jonction PN constituée par le drain et le substrat part en avalanche, et les électrons

Page 29: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 29

produits ont une énergie cinétique assez importante pour être injectés, par effet tunnel*, dans la grille flottante. Après suppression de la polarisation source-drain, les électrons injectés restent piégés dans la grille et provoquent la création d'un canal P dans le substrat, le transistor est alors conducteur.

Le temps de rétention de l'information a été évalué à plusieurs dizaines d'années. L'effacement s'effectue de façon globale par effet photoélectrique. En fournissant aux électrons

piégés dans la grille une énergie suffisante pour s'échapper, les transistors FAMOS retrouvent leur état initial. Cette énergie est fournie par des rayons ultra-violets. La durée d'exposition est d'environ une dizaine de minutes pour une source de 10 mW/cm2 et placée à 1 centimètre environ au-dessus du circuit. Amélioration des mémoires EPROM

L'utilisation de transistors SAMOS (Stacked gate Avalanche injection MOS) permet de supprimer le transistor de sélection. La cellule mémoire devient :

C'est un dispositif à deux grilles superposées, décrit dans le schéma ci-dessous :

* Effet tunnel : possibilité pour une particule possédant une certaine énergie de passer au travers d'un obstacle (barrière de potentiel) si celui-ci est suffisamment mince. Cette propriété, purement quantique, n'a pas d'équivalent classique. Cependant, on peut essayer d'en donner une image concrète : en transposant le monde quantique à notre échelle, nous aurions une petite chance de traverser une porte fermée en la laissant intacte (n'essayez pas !).

Page 30: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 30

Le comportement électrique du transistor est altéré suivant la charge électrique de la grille flottante.

Comme les charges stockées dans la grille flottante s'opposent à la polarisation externe (si Vs >

0), les courbes ci-dessus traduisant la loi d'évolution du courant drain en fonction de la tension VGS sont différentes.

Les tensions de seuil sont également différentes. De ce fait, si l'on choisit alors une tension de commande Vc intermédiaire (VT, < VC < VT,) on constate que le transistor non programmé est passant (point a) alors qu'un transistor programmé reste bloqué (point b).

L'écriture d'une cellule mémoire consiste, comme pour le transistor FAMOS, à injecter des électrons dans la grille flottante. On applique alors conjointement une tension positive sur la grille et sur le drain, les électrons du canal, ayant une énergie cinétique suffisante, peuvent alors franchir, par effet tunnel, l'isolant qui les sépare de la grille flottante. Les électrons restent ensuite piégés dans la grille flottante, où ils provoquent une augmentation de la tension de conduction (VT) du transistor.

Comme pour le transistor FAMOS, l'effacement est effectué de manière globale (ensemble des cellules) par exposition du circuit aux rayonnements ultra-violets.

Les boîtiers sont munis à cet effet d'une fenêtre de quartz (transparent aux U.V.) que l'on masque en utilisation normale. La rétention de l'information est encore dans ce cas de plusieurs dizaines d'années.

4.3.1.5. Les EEPROM ou EAPROM (Electrically Erasable PROM ou Electrically Alterable PROM)

Ces mémoires programmables électriquement comme les EPROM sont de plus effaçables électriquement. Cependant, l'opération peut être sélective et ne porte que sur un seul mot, d'où l'appellation plus juste de mémoire électriquement altérable (EAROM).

Deux technologies sont encore en présence dans la fabrication du point mémoire. La première utilisée fait appel à un transistor MNOS (Metal Nitride Oxide Semiconductor), dont la structure est présentée ci-dessous.

Page 31: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 31

L'isolant au niveau de la grille est constitué d'une couche mince d'oxyde de silicium - de 20 à 50 Å soit 2 à 50 nm - surmontée d'une couche de nitrure de Silicium (Si3 N4) 400 à 100 Å, soit 40 à 60 nm.

On peut alors modifier le comportement du transistor par accumulation de charges à l'interface. La programmation est réalisée en appliquant une tension positive entre la grille et le substrat

(20 à 25 V pendant 100 ms). Par différence de conductivité, des électrons s'accumulent à l'interface SiO2 - Si3 N4. Ces électrons restent ensuite piégés après coupure de la polarisation.

La présence de charges négatives provoque à l'instar du transistor SAMOS une augmentation du potentiel de seuil du transistor.

Si maintenant on applique une tension négative du même ordre de grandeur (20 à 25 V) entre

la grille et le substrat, on inverse le signe des charges accumulées à l'interface. Cette fois le potentiel de seuil est diminué et devient négatif. Le comportement du transistor est alors le suivant :

En conséquence, les deux états des transistors sont programmables électriquement. La dernière génération de mémoire EAPROM fait appel à un transistor à double grille pour

lequel on favorise la charge et la décharge de la grille par effet tunnel: le FLOTOX (Floating gate Tunnel Oxyde).

Le transfert de charge sur la grille flottante se fait ici simplement par application d'une tension entre la grille de commande et le drain. Les électrons traversent alors l'oxyde mince par effet tunnel. L'opération est ici réversible électriquement. Le comportement de ce transistor est alors identique à celui du FAMOS.

Page 32: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 32

4.3.2. Les mémoires vives à accès aléatoire (RAM)

Les RAM désignent des circuits pour lesquels l'utilisateur a accès à chaque mot pour y lire ou y modifier son contenu.

On distingue, suivant la structure matérielle du point mémoire, deux catégories de mémoires RAM :

les mémoires RAM statiques ou SRAM, les mémoires RAM dynamiques ou DRAM.

On peut cependant citer une nouvelle catégorie de mémoire vive : les NOVRAM (Non Volatile

RAM) ou mémoire vive non volatile dont la structure fait appel aux technologies utilisées dans les mémoires EAPROM (§ 4.3.1.5).

4.3.2.1. Les mémoires statiques

Le point mémoire d'une mémoire vive statique est réalisé à partir d'une bascule bistable dont le principe est le suivant :

Si l'on relie deux inverseurs tête-bêche, on constate que deux états électriques de même stabilité sont possibles : A = 0, B = 1 ou A = 1, B = 0. Energétiquement ces états représentent des minimums. Pour passer d'un état à l’autre, il faut passer un col énergétique : c'est l'énergie de basculement.

Une valeur peut être écrite dans la cellule ainsi constituée si on dispose d'un élément extérieur

capable d'imposer une valeur à A ou B, c'est-à-dire capable de franchir le col énergétique.

Page 33: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 33

Cas des mémoires statiques bipolaires

L'inverseur le plus simple est ici constitué d'un transistor et d'une résistance de charge. Le point mémoire a donc la structure suivante :

Le problème de sélection de la cellule est résolu grâce à l'emploi de transistors multi –

émetteurs :

Lorsque le potentiel de la ligne de sélection est bas (< 0,3 V), la cellule n'est pas sélectionnée, et aucun courant ne passe par les émetteurs E1 ou E'1 suivant l'état de la bascule (en fait le courant est dérivé par E2). Par contre, si le potentiel de la ligne de sélection est au niveau haut (VDD), les jonctions BE2, et B'E'2 sont bloquées et le courant est dérivé vers les émetteurs E1 ou E'1, ; le courant passe alors dans une résistance r ce qui permet la lecture de l'état de la bascule grâce à un amplificateur différentiel. L'écriture est également possible en imposant alors les potentiels des lignes de bit.

Cas des mémoires MOS:

Le point mémoire en technologie MOS devient :

On doit adjoindre une logique de sélection qui en général est symétrique.

Page 34: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 34

La cellule complète devient alors :

Cette structure, réalisée à l'aide d'un transistor NMOS, a tendance de plus en plus à être remplacée par une cellule CMOS, qui a l'avantage de consommer très peu en régime statique. En effet, si un transistor est passant, le transistor complémentaire qui lui est associé est bloqué. Il n'y a donc pas de courant statique. Les deux états possibles sont :

L'organisation d'une mémoire vive statique en technologie MOS apparaît dans le schéma ci-

dessous :

Page 35: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 35

Lorsqu'une adresse est présente, le Décodeur ligne active une ligne parmi N (par exemple la ligne i). Toutes les cellules de la ligne sélectionnée imposent leurs potentiels aux colonnes. Le Décodeur de colonne sélectionne alors une colonne parmi M ; celle-ci sera en relation électrique avec les circuits d'entrée-sortie :

• En sortie l'information est lue grâce à un amplificateur différentiel. • En entrée un amplificateur à sorties complémentaires impose les potentiels

à la colonne sélectionnée. La cellule activée par le Décodeur peut être écrite. C'est le dimensionnement même de l'amplificateur d'écriture qui rend possible le basculement d'une cellule mémoire.

4.3.2.2. Les mémoires vives dynamiques

La cellule complète d'une mémoire vive statique comprend six transistors. Une cellule plus simple, et surtout plus petite, a été imaginée. L’élément mémorisant n'est pas une bascule, mais un simple condensateur. La cellule devient donc :

Cette structure est simple et très compacte, elle permet de grandes densités d'intégration. D'autant plus qu'on exploite la capacité interne du transistor entre la source et le substrat. (En 1986 des mémoires vives dynamiques de IM bit sont produites en grande série.)

Page 36: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 36

L'inconvénient majeur de ce type de mémoire vient de la faible durée de rétention de la charge au niveau de la capacité (quelques millisecondes au maximum).

On doit donc prévoir un mécanisme de régénération du contenu des cellules : le rafraîchissement.

Celui-ci comprend trois phases

• détection de l'information • mise en forme (0 ou 1) ; • régénération, c'est-à-dire réécriture.

Page 37: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 37

Le chronogramme de fonctionnement interne doit respecter l'établissement des divers signaux (en lecture) :

La détection et la mise en forme sont obligatoires du fait de la décharge du condensateur. En

effet, le niveau ici n'est pas 0 ou 1 mais intermédiaire.

Les mémoires contiennent une logique de régénération par colonne, il est donc inutile

d'adresser individuellement chaque cellule pour rafraîchir son contenu ; un seul accès par ligne suffira. Remarque : Afin d'améliorer la sensibilité de détection, les concepteurs intègrent un

amplificateur différentiel à l'aide duquel on effectue une comparaison du potentiel d'une cellule sélectionnée et d'une cellule de référence.

Utilisation des mémoires dynamiques

Etant donné les grandes capacités des mémoires dynamiques - couramment supérieures à 64K bits - et la structure matricielle - lignes, colonnes - les constructeurs ont souvent été amenés à multiplexer l'accès aux adresses. L'utilisateur doit alors présenter séquentiellement sur les mêmes fils l'adresse ligne puis l'adresse colonne. Le chronogramme suivant représente un exemple d'accès à une mémoire dynamique multiplexée MR 4116/150ns mémoire dynamique de 16K bits, temps d'accès 150 ns).

Page 38: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 38

Page 39: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 39

Etant donné que la mémoire comporte un circuit de rafraîchissement par colonne, un seul

accès ligne suffit.

Page 40: Annexes Poly Cours Sans Instructions 68000

Annexes - Architecture des microprocesseurs

J. FRANCOMME G. MERCIER - V1.0 40

ANNEXE 3 : Jeu d’instructions du microprocesseur 68000 Motorola

Le microprocesseur 68000 de Motorola dispose d’un jeu de 56 instructions de base.


Top Related