chapitre i - examens corriges · web viewconçoit une version micro programmée (unité de...

60
Introduction générale Introduction Introduction aux ordinateurs aux ordinateurs Un ordinateur est un ensemble d’équipements chargés de traiter des données: Ces données sont transmises par le biais d’unités d’entrée à l’unité de traitement L’unité de traitement effectue le traitement demandé Le résultat du traitement est transmis aux unités de sortie qui permettent alors d’exploiter ces résultats. Un ordinateur se présente généralement sous forme d’un boitier contenant l’unité centrale de traitement et quelques périphériques, d’un clavier, d’une souris, et d’un écran. 1 Unités d’entrée Unité de traiteme nt Unités de sortie

Upload: others

Post on 25-Mar-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Introduction générale

IntroductionIntroduction  aux ordinateurs aux ordinateurs

Un ordinateur est un ensemble d’équipements chargés de traiter des données:

Ces données sont transmises par le biais d’unités d’entrée à l’unité de traitement

L’unité de traitement effectue le traitement demandé

Le résultat du traitement est transmis aux unités de sortie qui permettent alors d’exploiter

ces résultats.

Un ordinateur se présente généralement sous forme d’un boitier contenant l’unité centrale de

traitement et quelques périphériques, d’un clavier, d’une souris, et d’un écran.

L’unité centrale de l’ordinateur, ou le processeur, ou encore le microprocesseur (si

c’est un circuit intégré), est le circuit qui effectue toutes les opérations de traitement et est

donc le cerveau de l’ordinateur.

Il travaille en étroite collaboration avec la mémoire centrale (la communication entre

eux est rapide, ce qui fournit plus de puissance à la machine), avec laquelle il forme

l’unité centrale de traitement.

1

Unités d’entrée

Unité de traitement

Unités de sortie

Page 2: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Introduction générale Introduction aux ordinateurs

Les autres éléments de l’ordinateur clavier, souris, écran, imprimante, modem, mémoire

auxilliaire (lecteur de disquettes, disque dur, CD ROM , flash disk…), table traçante, …

sont appelés périphériques, ou unités d’entrée sortie (E/S).

La partie de l’ordinateur qui nous intéresse particulièrement est le processeur,

puisque le but de la première partie

de ce cours est la conception d’un processeur de base.

La technologie de base utilisée pour la réalisation de processeurs numériques, est

l’électronique digitale.

Tout processeur est constitué de circuits digitaux combinatoires (portes logiques,

multiplexeurs, décodeurs, additionneurs,…), et séquentiels (bascules, registres, compteurs,

mémoires, …), qui traitent, transfèrent, et mémorisent des informations, selon des règles

définies en fonction de l’organisation et de la structure de ces différents éléments. Le cours

est donc organisé de manière à rappeler des notions d’electronique digitale vues en troisième

année, et nécessaires à la conception du processeur de base, et à définir une méthode de

conception modulaire d’un processeur, actuelle, et valable pour concevoir du plus simple au

plus sophistiqué et complexe des processeurs.

Dans le premier chapitre nous rapellerons les principaux circuits combinatoires et

séquentiels succeptibles d’être utilisés dans un processeur.

Dans le chapitre 2 nous introduirons le langage de transfert inter registre (LTR), qui est un

langage de programmation de circuit (la partie hard, et non la partie soft), et qui permet de

décrire toute opération logique se déroulant dans un processeur à chaque impulsion

d’horloge.

Le chapitre 3 décrira différentes organisations de processeurs généraux classiques.

Les informations de ces trois premiers chapitres seront utilisées dans le chapitre 4 pour

effectuer les choix et hypotèses, et concevoir un processeur de base possédant un

configuration minimale, mais complète et fonctionnelle.

Le chapitre 5 conçoit une version micro programmée (unité de contrôle programmée et non

câblée) du processeur de base.

2

Page 3: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 1 Rappels

Chapitre I

RappelsRappels

I. Introduction :La conception du processeur de base nécessite le rappel de notions d’Electronique digitale

vues en troisième année.

Sachant qu’un processeur est un ensemble de registres contenant des données sur lesquelles

des opérations logiques sont exécutées, selon les ordres reçus par des programmes, et transmis

à un circuit de contrôle qui activent ces opérations, on déduit qu‘un processeur, ou unité

centrale, est constitué d’une unité de contrôle et d’une unité de traitement.

Durant ce cours nous comprendrons comment tout cela fonctionne impulsion d’horloge par

impulsion d’horloge. Dans ce premier chapitre , nous commencerons par décrire les circuits

combinatoires et séquentiels de base utilisés dans un processeur.

Il est important de noter que leur étude concernera surtout leurs aspects fonctionnels, leurs

rôles, et leurs utilisations ; on supposera généralement que le circuit intégré correspondant

existe sans chercher à le construire (comme c’était le cas en troisième année).

II. Les circuits combinatoires de base : Un processeur exécute des opérations logiques et des opérations arithmétiques sur les

données qui lui sont fournies.

La préparation et le transport des données pour le traitement : est le premier

problème à résoudre dans la conception d’un processeur. Le routage des informations, leur

transfert vers une source sélectionnée parmi plusieurs possibles, vers une destination

Unité centrale

Unité de traitement

Unité de contrôle

Page 4: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 1 Rappels

sélectionnée elle aussi parmi plusieurs possibles, nécessite l’utilisation de circuits logiques

spécifiques tels que les multiplexeurs et les décodeurs..

En ce qui concerne les opérations logiques :L’algèbre de Boole spécifie que toutes les

opérations logiques peuvent être exécutées comme une combinaison de ‘AND’ et ‘NOT’,

ou ‘OR’ et ‘NOT’ . Ce sont donc des portes logiques de base qui sont utilisées.

En ce qui concerne les opérations arithmétiques : elles ont nombreuses, et les plus

connues sont l’addition, la soustraction, la multiplication, la division, l’exponentiation …

Toutes les autres pouvant être représentées comme une somme de produits et de quotients

grâce aux développements limités. La soustraction, la multiplication, et la division,

peuvent être exécutées autour de l’opération d’addition :

La soustraction peut en effet être remplacée par la somme du complément à 2, et la

multiplication et la division par une succession d’additions et de décalages.

Dans un circuit d’exécution d’opérations arithmétiques, l’additionneur apparaît comme

étant un circuit de base.

Les opérations arithmétiques et logiques sont généralement exécutées dans un circuit, qui

est le cœur de l’unité de traitement dans un processeur, appelé l’unité arithmétique et

logique ou UAL.

1 L’additionneur :

- le demi-additionneur :

C’est un circuit réalisant une opération arithmétique entre deux bits.

Les deux entrées du circuit représentent les bits x, et y à additionner, et les sorties, le bit

somme S et le bit retenue C.

s = x y

c = xy

b- circuit logique

- l’additionneur complet :

L’additionneur complet réalise l’addition de trois bits, deux bits significatifs, x et y, et la

retenue z d’une addition précédente. Les sorties s et c sont leur somme et leur retenue

respectivement.

s = x y z

x y s c0 0 0 00 1 1 01 0 1 01 1 0 1

a- Table de vérité

s

c

xy

Page 5: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 1 Rappels

c = xy + z(x y)

b- circuit logique

2 Le soustracteur complet :

Ce circuit combinatoire réalise la soustraction de deux bits x, et y en considérant la retenue de

la soustraction de deux bits de la position inférieure. L’opération de soustraction, est

cependant souvent remplacée par l’addition du complément à deux.

Les résultats du soustracteur diffèrent de ceux de l’additionneur par la valeur de la retenue (la

somme étant égale à la différence).

s = x y z

c = xy + z(x y)

b- circuit logique

3 Les décodeurs :

D’une manière générale, un décodeur est le circuit d’une fonction digitale qui traduit

l’information binaire d’un code en entrée vers un autre code en sortie.

Notre étude concernera principalement le décodeur nx2n , dont une seule des 2n sorties est

activée à la fois, pour chacune des combinaisons des n entrées. Le décodeur 2x4 ci dessous ,

montre le principe de fonctionnement du décodeur :

- Le décodeur 2x4

x y z s c0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1

a- Table de vérité

x y z s c0 0 0 0 00 0 1 1 10 1 0 1 10 1 1 0 11 0 0 1 01 0 1 0 01 1 0 0 01 1 1 1 1

a- Table de vérité

xy

z

s

c

s

c

xy

z

xyS1S2S3S4001000010100100010110001b- table

de véritéDCD2x4

a- schéma bloc

x y

S1

S2

S3

S4

c- circuit logique

oo

o

o

Page 6: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 1 Rappels

Cette description du décodeur permet de déduire qu’il sera utilisé pour activer une et une

seule, parmi plusieurs destinations , comme nous le verrons dans le chapitre 2 lors de la

construction de bus ou dans de nombreuses autres applications.

- Les décodeurs avec ligne d’activation :

Si la ligne d’activation est égale à 1, le décodeur fonctionne normalement.

Si la ligne d’activation est égale à zéro, toutes les sorties du décodeur sont nulles.

- Application

Construction d’un décodeur 3x8 à partir de deux décodeurs 2x4 avec ligne d’activation.

Les 8 sorties du décodeur 3x8 sont prises au niveau des sorties des 2 décodeurs 2x4.

DCD2x4

schéma bloc

x

y

act

S1S2S3S4

abcS1S2S3S4S5S6S7S80001000000000101000000010001000000110001000010000001000101000001001100000001011100000001

Table de vérité

DCD2x4

x

y

act

S5S6S7S8

DCD2x4

x

y

act

S1S2S3S4

b

c

a

Page 7: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 1 Rappels

Puisqu’une seule sortie du décodeur 3x8 doit être activée à la fois, à chaque fois qu’un

des 2 décodeurs 2x4 est activé, l’autre doit être désactivé. Les deux entrées d’activation

doivent donc être inversées, et elles correspondent à l’entrée a du décodeur 3x8

Les zones grises de la table de vérité montrent le fonctionnement d’un décodeur 2x4 sans

ligne d’activation ; pour a=0, c’est le premier décodeur qui est activé, et pour a=1c’est le

deuxième. Les variables b, et c sont donc directement reliées aux entrées x et y des deux

décodeurs 2x4.

4 Les démultiplexeurs :

Un démultiplexeur est un circuit qui a une entrée de données, n entrées de sélection, et 2n

sorties. L’entrée de donnée E est transmise sur la sortie sélectionnée par une combinaison des

n lignes de sélection.

On remarque que le démultiplexeur possède un circuit identique à celui d’un décodeur avec

ligne d’activation, de même dimension. (E est la ligne d’activation, et les entrées de sélection

sont les entrées du décodeur).

La différence réside uniquement dans la fonction des circuits :

Le décodeur est utilisé pour contrôler d’autres circuits (activer, désactiver, sélectionner

une destination …)

Le démultiplexeur est utilisé pour transporter une information, une donnée, dont la

valeur 0 ou 1 n’a pas d’influence sur son fonctionnement.

5 Les multiplexeurs :

Un multiplexeur possède 2n entrées de données, n lignes de sélection et une seule sortie.

Chaque combinaison des n lignes de sélection choisit une seule entrée à transmettre en sortie.

- Exemple: Multiplexeur 4x1

DMUXE

sel n

2n sorties

MUX

n

E1E2E3E4

S

sel

S0S1S00E101E210E311E4b- Table de vérité

a- Schéma bloc

S0 S1

c- circuit logique

oo

o

o

E1

E2

E3

E4

S

Page 8: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 1 Rappels

Les multiplexeurs sont souvent utilisés pour la sélection de source de données, alors que les

décodeurs le sont pour la sélection de destination. Dans les chapitres suivants, nous

considérerons que ces circuits existent sous forme intégrée, et que nous n’aurons pas à les

construire.

6 Les buffers à 3 états :

Un buffer à trois états possède une entrée, une sortie, et une ligne d’activation.

Si la ligne d’activation est égale à 1, la sortie prend l’état de l’entrée , 0 ou 1.

Sinon, le buffer fonctionne en circuit ouvert ( non connecté).

Un buffer à 3 états est équivalent à un interrupteur qui peut être soit ouvert, soit fermé.

- Equivalence multiplexeurs <-> buffers à 3 états.

Un multiplexeur à n entrées peut être remplacé par n buffers à 3 états , et un décodeurs à k

entrées telles que 2k= n

E S

act

E Sact

Buffer à 3 états Interrupteur

Page 9: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 1 Rappels

Le décodeur 2x4 assure qu’un seul buffer à 3 états peut être activé à la fois (donc pas de

conflits à la sortie des buffers).

Pour chacune des combinaisons des deux lignes de sélection, un seul buffer est activé, son

entrée est transmise vers la sortie S, et les autres buffers fonctionnent en circuit ouvert.

III. Les circuits séquentiels de baseDans un circuit séquentiel la valeur en sortie et l’état présent du circuit, dépendent, non

seulement des valeurs présentes en entrées, mais également de l’état précédent, ou passé du

circuit. Ceci nécessite le stockage d’informations sur les états passés, et donc l’utilisation de

circuits de mémoire, dont les éléments de base sont les bascules.

1 Les bascules :

- La bascule RS

MUX

2

E1E2E3E4

S

sel2

E1E2E3E4

S

sel DCD 2x4

a- Multiplexeur à 4 entrées b- Circuit équivalent à base de 4 buffers à 3 états

R

S

Q

Q

H

a- Schéma bloc

S RQ+0 0Q0 101 011 1--b- Table d’état

QQ+S R0 00 X0 11 01 00 11 1X 0b- Table d’excitation

Page 10: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 1 Rappels

- La bascule JK

- La bascule D

- La bascule T

Les bascules sont utilisées à la base de tous les circuits séquentiels classiques, constitués de

bascules (dont le nombre, k, dépend du nombre d’états, < à 2k , du système), et d’un circuit

combinatoire qui contrôle les entrées des bascules (donc leurs changements d’états), et fournit

les sorties du système.

J

K

Q

Q

H

a- Schéma bloc

J KQ+0 0Q0 101 011 1Qb- Table d’état

QQ+J K0 00 X0 11 X1 0X 11 1X 0b- Table d’excitation

D Q

Q

H

a- Schéma bloc

DQ+0011b- Table d’état

QQ+D0 000 111 001 11b- Table d’excitation

J

K

Q

QH

J

K

Q

QH

Circuit combinatoire

Entrées primaires

Entrées secondaires

Sorties

TQ+0 Q1Qb- Table d’étatT Q

Q

H

a- Schéma bloc

QQ+T0 000 111 011 10b- Table d’excitation

Page 11: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 1 Rappels

2 Les bascules maître esclave

Une bascule maître esclave est constituée d’une bascule maître, d’une bascule esclave, et d’un

inverseur connectés comme suit:

Quand l’horloge H est égale à 1: les valeurs en entrée de S et R sont transmises à la bascule

maître.

Quand l’horloge H est égale à 0: la bascule maître est désactivée. La bascule esclave est

activée, et elle copie la valeur Y (l’état de la bascule maître) .

La bascule maître esclave ne change d’état qu’au front descendant de l’horloge. Cette

propriété importante permet les échanges inter registres, et les transferts simultannés, qui

peuvent être effectués en une impulsion d’horloge; sans les bascules maître esclaves, ces

transferts nécessiteraient des registres intermédiaires, et 3 impulsions d’horloge.

- Note importante:

Nous formulons ici deux hypothèses importantes que nous utiliserons tout au long du cours

TEC 586;

1 ère hypothèse : Tous les circuits séquentiels sont à base de bascules maître-esclaves.

2ème hypothèse : Tous les circuits séquentiels sont synchrones (excités par une

même horloge).

3 Les registres:

Un registre est un ensemble de bascules , et portes logiques. Le nombre de bascules spécifie le

nombre de bits stockés dans le registre. Il possède des entrées de données, série, ou parallèles,

et des entrées de contrôle, qui commandent son fonctionnement.

Les registres possédant la fonction de chargement parallèle sont les plus souvent utilisés dans

les ordinateurs.

Les registres à décalage à gauche ou à droite avec entrée série, sont nécessaires aux opérations

série, et de décalage.

S

R

Q S

R

Q

QQ

H

Schéma bloc de la bascule maître esclave

Y

Y

Page 12: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 1 Rappels

4 Les compteurs binaires:

Les compteurs binaires avec chargement parallèle, remise à zéro, et autres fonctions

existent.

Les compteurs à séquence binaire, et progressifs-regressifs (up and down) sont

indispensables à diverses fonctions de comptage, et de pointage dans une unité centrale.

5 Les mémoires:

Nous considérons ici les éléments de la mémoire centrale constituée d’une partie RAM

(mémoire vive), et d’une mémoire ROM (read only memory ou mémoire morte). Les autres

méoires, disques, CD ROM, flash disk, bande magnétique, … sont appelées mémoires

auxiliaires et font partie des périphériques.

- Les mémoires RAM:

Dans une RAM (Random Access Memory), l’accès en lecture ou en écriture, aux registres de

stockage qui la constituent, se fait, selon les besoins, de manière séquentielle, ou aléatoire,

contrairement à l’accès aux données stockées sur bandes magnétiques par exemple (qui doit

se faire séquentiellement).

Propriété d’une mémoire RAM:

Un mot est stocké dans un registre de la mémoire

Un mot de 8 bits est appelé octet (byte); un mot de 16 bits est appelé mot (word).

Un mot est localisé par son adresse (unique)

Un mot de n bits est constitué de n cellules de bases

La totalité des n bits formant un mot, est lue ou écrite à chaque accès à la mémoire.

Ceci nous permet de déterminer les entrées et sorties de la RAM comme suit:

RAMmxn

Lececrit

Données n

Adresses k

Sortiesn

La RAM mxn est une mémoire de m mots de n bits, et possède :n lignes de données en entréen lignes de données en sortieUn bus de k lignes d’adresses tel que 2k=mUn bus de contrôle constitué de 2 lignes de commande de lecture et d’écriture.

Schéma bloc d’une RAM mxn

Page 13: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 1 Rappels

- Les mémoires ROM:

Le contenu d’une mémoire ROM est fixé durant sa fabrication, et ne peut être altéré. On y

accède uniquement pour lire le contenu d’un mot spécifié par une adresse.

Elle peut être livrée sous forme de :

PROM  ( programmable ROM) : initialisée à 0 et programmable une seule fois.

EPROM (erasable PROM) : effaçable par UV, et reprogrammable plusieurs fois.

EEPROM (electrically erasable PROM) : effaçable par électricité, et reprogrammable

plusieurs fois.

La fonction de la ROM permet de déduire son schéma bloc comme suit :

- Application1: construction d’une RAM 8x3 :

Une RAM 8x3 est une RAM de 8 mots de 3 bits chacun.

Chaque bit est stocké dans une cellule de base (CB). En se basant sur le fonctionnement de la

RAM , on peut déduire les propriétés suivantes pour une CB:

ROMmxn

Adresses k

Sortiesn

La ROM mxn est une mémoire de m mots de n bits, et possède :n lignes de données en sortieUn bus de k lignes d’adresses tel que 2k=mEventuellement une ligne d’activation , dont la présence permet de construire des ROM de plus grande capacité

Schéma bloc d’une ROM mxn

act

CB

Dlect

ecrisel

S

Elle possède en entrée :Une ligne d’activation ou de sélection selUne ligne d’entrée de donnée DUne ligne de commande d’écriture écritUne ligne de commande de lecture lectElle possède en sortie :Une de sortie de donnée SSi la cellule est sélectionnée en lecture, son contenu apparaît sur sa sortie SSi la cellule est sélectionnée en écriture, la donnée présente à l’entrée D y est stockée.Hypothèse : une CB non sélectionnée en lecture a une sortie nulle.

Cellule de base : schéma bloc

Page 14: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 1 Rappels

Une RAM 8x3 contient 8x3=24 CB puisque chaque mot en contient 3.

D’après les propriétés d’une RAM , un mot est utilisé en entier (tous ses bits) en lecture

ou en écriture. Les CB d’un même mot sont donc sélectionnées en même temps, en

lecture, ou en écriture.

Une RAM 8x3 est de 8 mots donc k lignes d’adresse telles que: 2k=8; donc k=3. A0, A1,

A2

Un mot doit être activé à la fois, et par une adresse unique; on utilise donc un décodeur

3x8 pour activer un seul mot en décodant son adresse.

Chaque mot possède 3 bits , la Ram a donc 3 lignes de données en entrée: D0, D1, D2

Et 3 lignes de données en sortie S0, S1, S2.

Quand un mot est sélectionné en écriture sa cellule CB0 reçoit l’entée D0, CB1 reçoit, D1,

et CB2 reçoit D2

Quand un mot est sélectionné en lecture, chaque Si reçoit un parmis 8 Cbi sélectionné par

un MUX 8x1, contrôlé par les Ai

CBDLEsel

S CBDLEsel

S CBDLEsel

S

CBDLEsel

S CBDLEsel

S CBDLEsel

S

CBDLEsel

S CBDLEsel

S CBDLEsel

S

DCD3x8

A0A1A2

D0D1D2

Lect

Ecrit

S0

S1

S2MUX 8x1

MUX 8x1

MUX 8x1

RAM 8x3 : Schéma interne

Ai 3

CBDLEsel

S CBDLEsel

S CBDLEsel

S

CBDLEsel

S CBDLEsel

S CBDLEsel

S

CBDLEsel

S CBDLEsel

S CBDLEsel

S

MUX 8x1

MUX 8x1

MUX 8x1

CBDLEsel

S CBDLEsel

S CBDLEsel

S

CBDLEsel

S CBDLEsel

S CBDLEsel

S

CBDLEsel

S CBDLEsel

S CBDLEsel

S

MUX 8x1

MUX 8x1

CBDLEsel

S CBDLEsel

S CBDLEsel

S

CBDLEsel

S CBDLEsel

S CBDLEsel

S

CBDLEsel

S CBDLEsel

S CBDLEsel

S

Page 15: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 1 Rappels

- Application2 : Construction d’une ROM 8x4

Soit à construire une ROM 8x5 dont le contenu est donné dans la table ci-dessous :

La ROM est une mémoire en lecture seule dans laquelle on ne peut pas écrire. Une même

adresse (entrée A0A1A2), fournit toujours la même sortie. Le tableau ci dessus devient la table

de vérité d’un circuit combinatoire, exprimant les sorties Si, en fonction des entrées, Ai. La

ROM , à l’inverse d’une RAM peut donc être réalisée à l’aide d’un circuit combinatoire et

non de bascules.

Il est possible d’extraire l’expression logique de chaque Si, en fonction des Ai, puis de

construire les circuits logiques.

Ce procédé est cependant coûteux puisqu’il s’agit de construire une ROM complètement

personnalisée pour chaque concepteur ou utilisateur de ROM.

Un système de fusibles est envisagé et permet la standardisation de la construction des ROM

jusqu’à l’avant dernière étape de la construction micro électronique. La dernière, celle du

dernier masque est personnalisée, et fournit le contenu final de la ROM.

Les adresses Ak sont décodées et fournissent les mj.

Chaque sortie Si est une porte OU, dont les entrées sont tous les mj.

Si pour le mot mj, Si est 1, alors un fusible est fondu à l’entrée mj de la porte OU.

Si mj est activée, sa sortie correspondante Si sera alors égale à 1

Adresse ContenuA0 A1 A2 mot S0 S1 S2 S3 S4

0 0 0 m1 0 0 1 0 00 0 1 m2 0 1 0 1 10 1 0 m3 1 1 1 1 10 1 1 m4 0 0 1 0 01 0 0 m5 0 0 0 0 01 0 1 m6 1 0 0 1 01 1 0 m7 0 1 1 1 11 1 1 m8 1 0 0 1 0

Contenu de la ROM 8x5

Page 16: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 1 Rappels

Contenumot S0 S1 S2 S3 S4

m1 0 0 1 0 0m2 0 1 0 1 1m3 1 1 1 1 1m4 0 0 1 0 0m5 0 0 0 0 0m6 1 0 0 1 0m7 0 1 1 1 1m8 1 0 0 1 0

Contenu de la ROM 8x5

DCD3x8

S0

S1

S2

S3

S4

A0

A1

A2

m1m2m3m4m5m6m7m8

Circuit combinatoire de la ROM 8x5

xx

x

xx

xx

x xx

xx

x

xx

x xx

Page 17: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

Chapitre 2

Unité centrale de traitement Unité centrale de traitement Langage de Transfert interLangage de Transfert inter

RegistresRegistres

I. Introduction

L’ordinateur est défini comme un ensemble d’équipements électroniques permettant le

traitement d’informations par l’exécution de programmes; les programmes étant des

ensembles d’instructions.

Une instruction spécifie une opération et les paramètres sur lesquels elle est exécutée. Les

données à traiter pouvant être dans des registres, la mémoire centrale, ou provenir des

périphériques, chaque instruction peut nécessiter plusieurs impulsions d’horloge pour être

réalisée. L’opération exécutée pendant chaque impulsion d’horloge est dite micro opération.

L’organisation interne d’un système digital, qu’il soit à utilisation générale ou spécialisée, est

définie par:

La séquence de micro opérations qu’il réalise,

Sur les données stockées dans ses différents registres.

L’unité centrale de traitement, constituée comme indiqué précédemment de l’unité centale et

de la mémoire centrale, est entièrement définie par les micro opérations initiées à chaque

impulsion d’horloge par les instructions contenues dans les programmes.

Dans ce chapitre, sera introduite et dédinie, la notion, très importante, du langage de

transfert inter registre (LTR), qui est un langage symbolique de description hard du

circuit, support de l’exécution d’une micro opération. En effet, la description en LTR de

toutes les micro opérations pouvant être exécutées dans une unité centrale, permet de

construire celle ci de façon modulaire, et complète. Auparavant l’unité centrale de traitement,

et le principe d’exécution d’un programme sont présentés. La fin du chapitre montre comment

Page 18: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

les fonctions de contrôle et les signaux de synchronisations, qui activent l’exécution des micro

opérations, sont générés.

II. L’unité centrale de traitement (UCT):

1 Fonctions principales de l’UC :

Les fonctions principales de l’unité centrale sont:

La traduction et l’exécution des instructions des programmes

La communication avec les autres unités fonctionnelles de l’ordinateur, la mémoire

centrale, et les organes d’Entrée/Sortie.

L’unité centrale doit donc disposer :

De registres pour stocker les données à traiter

D’une unité qui exécute les opérations élémentaires de l’ordinateur

D’une circuiterie pour contrôler le fonctionnement de ses différents éléments .

2 Etapes d’exécution d’une instruction :

Le programme à exécuter, constitué d’un ensemble d’instructions, est initialement stocké sur

une unité de mémoire auxiliaire (disque dur, disquette, CD ROM …).

Ce programme est d’abord copié dans la mémoire centrale, où il sera exécuté instruction par

instruction

Unité centrale

Mémoire centrale

Organes d’E/S

Une instruction est lue de la mémoire et stockée dans le registre d’instruction; elle est ensuite décodée par l’unité de contrôle

Exécution de l’instruction par l’unité de traitement

RI <- instruction

L’unité de contrôle envoie les ordres (les

Fi)à l’unité de traitement

L’unité de contrôle décode

(RI)

Mémoire centrale<-Programme

Page 19: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

Page 20: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

Chaque instruction est lue de la mémoire centrale vers le registre d’instruction . l’unité de contrôle la

décode, et envoie les fonctions de contrôle (commandes) vers l’unité de traitement qui les exécute.

Ceci est en fait une description simplifiée de l’exécution d’une instruction. Les architectures

de processeurs classiques prévoient dans la réalité, une organisation de l’unité de traitement

plus ou moins standard, qui influera sur le déroulement de l’exécution d’une instruction.

- Eléments de base de l’unité de traitement :

Généralement, mais non exclusivement, l’unité de traitement comporte :

Un registre PC : compteur de programme. Il pointe vers l’instruction suivante à exécuter.

Un registre MAR : registre d’adresse mémoire. Il contrôle le bus d’adresse de la mémoire.

Un registre MDR : registre de données mémoire. Il contrôle le bus de données de la mémoire.

Un registre RI : registre d’instruction. Il sert à stocker l’instruction lue de la mémoire centrale pour exécution.

L’UAL : l ‘unité arithmétique et logique. Elle sert à exécuter les opérations arithmétiques, et logiques nécessaires à l’exécution de l’instruction.

Les registres processeurs : Registres généraux R0 à Rn, servent à stocker les données à traiter ainsi que les résultats de traitement

L’étude de l’étape de lecture de l’instruction dans le registre d’instructions, nous montre déjà

que l’opération nécessite plusieurs impulsions d’horloge, vu qu’il est impossible de lire

l’instruction si son adresse n’est pas d’abord activée (MAR<-(PC)), et qu’il est impossible de

PC

Rn

R0

RI

MDR

MAR

Mémoire centrale

Unité de contrôle

Unité de traitement

Unité de contrôle

Unité centrale

Unité centrale de traitement

Page 21: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

la stocker dans le registre d’instruction RI, si elle n’a pas été lue de la mémoire dans le

registre de données.

Ceci montre deux aspects importants de l’exécution d’une instruction :

L’exécution d’une instruction se fait en plusieurs étapes, appelées cycles (cycle de lecture,

cycle de préparation, cycle d’exécutions…)

Chaque cycle comporte plusieurs impulsions d’horloge ordonnées (les ti), durant

lesquelles des opérations précises doivent être exécutées.

Quand l’instruction est chargée dans le registre d’instruction, l’unité de contrôle la décode, et

transmet les ordres qui en découlent à l’unité de traitement qui exécute.

Ces ordres donnés par l’instruction sont des opérations de type :

Transfert : parallèle ou série, registre – registre ou mémoire – registre

Arithmétique

MAR<-(PC)

MDR<-(MAR)

RI<-( MDR)

Initialement l’adresse de l’instruction à exécuter est dans le PC.L’instruction doit être lue de la mémoire et stockée dans le RI.Elle sera ensuite décodée et exécutée. Toute adresse (de donnée ou d’instruction) doit passer par le MAR, puisqu’il est le seul registre qui gère le bus d’adresse de la mémoire.Toute information (donnée ou instruction), provenant de, ou allant vers la mémoire doit passer par MDR, puisque c’est le seul registre connecté au bus de données de la mémoire.La lecture de l’instruction dans RI doit donc respecter les étapes suivantes :MAR<-(PC) ; pour activer l’adresse de l’instruction.MDR<- M(MAR) ; l’instruction est d’abord lue dans le MDR, puisqu’il est le seul registre connecté au bus de données de la mémoireRI<- (MDR) ; l’instruction est ensuite transférée vers RI pour être décodée par l’unité de contrôle.

t0 t1 t2 t3

cycle

Page 22: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

Logique

De décalage

D’entrée/sortie.

Ces opérations, quand elles sont exécutées en une impulsion d’horloge sont appelées micro

opérations.

Dans ce qui suit, nous exposons le langage de transfert inter registre qui est une description

hard du support matériel qui permet d’exécuter les micro opérations spécifiques à chaque

impulsion d’horloge.

III. Langage de transfert inter registre et micro opérations:

1. Définition :

Le LTR est un langage symbolique qui permet de décrire le support matériel d’exécution de

séquences de micro opérations initiées par chaque instruction d’un processeur, en spécifiant :

Les registres, ou mémoire qui contiennent les données à traiter

La séquence de micro opérations réalisées sur l’information binaire stockée dans ces

registres.

Les fonctions de contrôle qui activent les micro opérations nécessaires à l’exécution de

toute instruction

2. Micro opérations de transfert :

2.1 Représentations d’un registre :

La représentation d’un registre est choisie en fonction de l’usage que l’on fait du schéma bloc, ou logique, et du degré de détails que l’on doit y fournir position de bit, décalage, parties fonctionnelles d’un registre…

A1 A2 A8

81

A

ADR

A

OP

Montre les cellules Montre les parties fonctionnelles d’un registre

Montre les bits MSB et LSB Registre A

Page 23: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

2.2 Transfert parallèle :C’est un transfert simultané de tous les bits d’un registre B vers un registre A. Ilest activé par une fonction de contrôle P. En LTR on écrit :

P : A (B)

Choix des registres :A : registre avec capacité de chargement parallèle activé si son entrée Load=1B : Registre permettant l’accès à ses sorties parallèles.

2.3 Echange entre deux registres :

P : A (B), B (A)L’hypothèse de notre cours étant l’utilisation de registres à bascules maître-esclave, l’échange entre deux registres peut se faire en une impulsion d’horloge (au lieu de trois avec des bascules simples), et sans ajout de registre temporaire.Il en est de même pour les transferts simultanés (voir TD 2, exercice 1).

Choix des registres :A : Registre avec capacité de chargement parallèle activé si son entrée Load=1B : Registre avec capacité de chargement parallèle activé si son entrée Load=1Les deux entrées LOAD des deux registres A, et B sont activées en même temps, et deux micro opérations simultanées sont séparées par une virgule en LTR

2.4 Transfert série : Les registres source B et destination A sont des registres à décalage avec entrée série.. L’information est transmise un bit à la fois, en décalant les bits du premier registre

(source) vers le deuxième registre (destination).

A

B

Unité de contrôle

PL

Circuit logique :transfert parallèle

A

B

Unité de contrôle

PL

Circuit logique :échange entre deux registres

L

Page 24: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

L’information de la source est reconduite vers la source pour ne pas être perdue. Le même décalage, gauche ou droite, est choisi pour les deux registres.

En LTR on écrit :S : A (B), B (B), le signal de contrôle S dure n impulsions d’horloge.Ou De façon plus précise :S : A1 Bn, B1 Bn, Ai Ai-1, Bi Bi-1, i = 2 à n, transfert par décalage à droite, bits numérotés comme indiqué sur le schéma, et s dure n impulsions d’horloge.

2.5 Transfert par bus:Un ordinateur possède plusieurs registres , et chacun doit être en relation avec tous les autres.Pour les différentes opérations de transfert, le nombre élevé de connections devient un grand inconvénient.

Pour éviter cet inconvénient, on limite le nombre de transferts à 1 à la fois. Chaque bit est relié en entrée, et en sortie à une ligne commune par des interrupteurs (sur

le plan fonctionnel). Fonctionnement : tous les interrupteurs sont ouverts, sauf ceux des registres en

communication (interrupteurs de sortie pour la source, et d’entrée pour la destination).

A1 A2 An

B1 B2 Bn

S Es

dec

dec

Es

Circuit logique : transfert série

R1 R2 R3

Exemple : transfert entre 3 registres à n bits ; dans le cas de transferts parallèles , le nombre de lignes est multiplié par n

R1 R2 R3

S2S1

S5

S3

S6 S4

Ligne de bus, une pour chaque bit

Page 25: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

Un système de bus peut être réalisé en utilisant : La logique câblée : des multiplexeurs Des circuits à collecteurs ouverts (ne sera pas détaillé dans ce cours) Des buffers à 3 états

- Application 1 : Construire un bus pour la communication parallèle entre 5 registres à 4 bits chacun, en utilisant des multiplexeurs.Tous les registres peuvent être source, et tous peuvent être destination.

1. Sélection de la source  :

Il y a 5 registres source possibles, donc il faut 3 lignes de sélection S0, S1, S2, telles que :

Il y a 4 bits par registre, donc 4 bits à transférer, donc il faut 4 lignes de bus. Chaque ligne est construite en utilisant un multiplexeur

Il faut 4 multiplexeurs : le multiplexeurs i choisit un parmi 5 bits de position i provenant des 5 registres potentiellement source.

Les 4 bits d’un même registre doivent être sélectionnés en même temps pour son transfert vers sa destination, par conséquents tous les multiplexeurs doivent avoir les mêmes entrées de sélection.

2. Sélection de la destination  :

Il y a 5 registres destination possibles, donc il faut 3 lignes de sélection D0, D1, D2, telles que :

L’information de 4 bits provenant du registre source sélectionné, et se trouvant sur les lignes de bus, est reliée aux entrées parallèles de tous les registre, seul le registre destination sélectionné, est chargé par activation de son entrée de chargement.

S0 S1 S2 Source0 0 0 R10 0 1 R20 1 0 R30 1 1 R41 0 0 R5

D0 D1 D2 Destination 0 0 0 R10 0 1 R20 1 0 R30 1 1 R41 0 0 R5

Page 26: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

Les entrées de chargement des registres destination sont commandées par un décodeur aux entrées D0, D1, D2, puisqu’une seule de ses sorties est égale à 1 à la fois, et qu’on a besoin de charger un seul registre.

- Application 2  : Refaire l’exercice précédent en utilisant des buffers à 3 états.

1. Sélection de la source  :Le raisonnement pour la sélection de la source est similaire à l’exercice précédent. La différence réside dans le fait que des buffers à 3 états sont utilisés à la place des multiplexeurs. Chaque multiplexeur à 5 entrées est remplacé par 5 buffers à 3 états.Comme un seul des 5 buffers est activé à la fois, un décodeur commandé par S0, S1, S2, est utilisé.

R1L1 R2L2 R3L3 R4L4 R5L5

MUX

Bit 1

MUX

Bit 2

MUX

Bit 3

MUX

Bit 4

Circuit logique d’un bus à 4 lignes la communication entre 5 registres R1 à R5pour

S0

S1

S2

S0

S1

S2

S0

S1

S2

S0

S1

S2

DCDD0

D1

D2

MUX

3

E1E2E3E4E5

S

sel3

E1E2E3E4E5

S

sel DCD 3x8

a- Multiplexeur à 5 entrées

b- Circuit équivalent à base de 5 buffers à 3 états

Page 27: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

2. Sélection de la destination  :Pour la sélection de la destination, le raisonnement est identique, ainsi que le circuit.

Les lignes de sélection des sources et des destinations proviennent de l’unité de contrôle

3. Micro opérations Arithmétiques :

Le transfert inter registres ne modifie pas l’information transférée. Ce qui n’est pas le cas des micro opérations arithmétiques et logiques, qui nécessitent, en plus des registres de stockage, des circuits de traitement de l’information.

Les micro opérations arithmétiques de base les plus fréquentes, peuvent être résumées dans le tableau ci dessous :

A A+B Addition Et transfert vers AA A-B Soustraction Et transfert vers AA A+1 incrémentation Et transfert vers AA A-1 décrémentation Et transfert vers AA A Complément à 1 Et transfert vers AA A+1 Complément à 2 Et transfert vers AA A+B Addition de A et B Et transfert vers AA A+B+1 Addition de A et B+1 Et transfert vers A

S0

S1

S2

DCD3x8

R1L1 R2L2 R3L3 R4L4 R5L5

DCDD0

D1

D2

Ligne 1Ligne 2Ligne 3Ligne 4

Système de bus utilisant des buffers à trois états

Page 28: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

Le circuit de base des opérations arithmétiques est l’additionneur.Les autres opérations arithmétiques, comme celles du tableau ci dessus, ou la multiplication, ou la division …, peuvent toutes être exécutées, ou programmées autour de l’opération d’addition. Nous nous contenterons d’exprimer l’addition en LTR.

Les micro opération d’addition parallèles entre deux registres à n bits sont exécutées par un additionneur complet parallèle à n bits (seul, ou intégré dans une unité arithmétique et logique UAL).L’additionneur à n bits est constitué de n additionneurs complets à 1 bit reliés en cascade.

Les cas suivants peuvent se présenter :

P : A (B)+(C)

P : A (A)+(B)

P : E A (A)+(B) (E bascule d’extension de A pour stocker la retenue.)

Dans les trois cas les registres sources sont des registres disposant de sorties parallèles, et le registre destination un registre à chargement parallèle. Une UAL, ou un additionneur parallèle peuvent être choisis pour exécuter l’opération d’addition parallèle.

- circuit autour de l’additionneur   : - circuit autour de l’UAL

FA FAFAFA

R1 R2

Circuit d’addition de 2 registres à 4 bits R1 et R2

ReRs

S1S2S3S4

A B

Retenue en entrée

Retenue en sortie

Sélection de l’addition

Les lignes de sélection de l’addition sont fonction de P

Additionneur // à n bitsRetenue en entréeRetenue en sortie

A BL

L

P

PL

Page 29: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

4. Micro opérations Logiques :

Les micro opérations logiques sont effectuées bit par bit, et diffèrent ainsi dans la conception de leur circuit, des opérations arithmétiques.En effet, la propagation de la retenue nécessite pour les opérations arithmétiques, des circuits de base (pour le traitement d’un bit) disposés en cascade. Alors que pour les opérations logiques, les circuits de bases sont disposés en parallèle, et sont dupliqués autant de fois que cela s’avère nécessaire (n circuits de base pour n bits), sans influence des uns sur les autres.

Ainsi, on peut exécuter les opérations logiques suivantes sur deux bits Ai et Bi donnés :

Ai Bi F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F160 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 10 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 11 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 11 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

16 fonctions logiques sont ainsi définies et peuvent être exécutées sur deux bits donnés ; certaines ont des appellations connues, comme F1 : mise à zéro ou reset, , F2 : ET, F7 : XOR, F15 : OR, F16 mise à 1 ou SET.

- Application   : Réaliser un registre A à 4 bits, capable d’exécuter les opérations logiques suivantes décrites en LTR, en utilisant des bascules JK.

P1 : A A B ; ou exclusifP2 : A B ; transfertP3 : A A B ; ETP4 : A Ā ; NOTP5 : A 0 ; mise à zéro (reset)

Le registre B contient le deuxième opérande mais n’est jamais modifié. Seul le registre A reçoit le résultat et subit des modifications. On réalisera donc le circuit du registre AToutes ces opérations sont logiques ; par conséquent, il suffit de réaliser le circuit pour le bit de position i et de le dupliquer 4 fois.Pour le bit Ai, il s’agit de construire un circuit séquentiel possédant 2 états possibles, 0 ou 1 .La partie séquentielles du circuit est constituée donc d’une seule bascule, dont les entrées J et K sont contrôlées par la partie combinatoire du circuit, qui est à déterminer.

J

K

Q

Q

Circuit combinatoire

Entrées primairesEntrée secondaire

Page 30: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

Dans notre cas l’entrée secondaire est Ai et les entrées primaires sont : Bi, P1, P2, P3, P4, et P5.Les étapes habituelles à suivre consistent à dresser la table d’état, puis d’en déduire la table de transition, puis le circuit de contrôle des entrées J et K de la bascule.

On remarque qu’avec les 6 entrées primaires, et l’entrée secondaire, la table d’état posséderait 128 entrées ou lignes, ce qui prendrait beaucoup de temps à traiter, et introduirait des erreurs.On procède donc de la manière suivante :Pour chaque fonction de contrôle Pj activée (les autres ne pourraient certainement pas l’être), on dresse la table d’état, la table de transition, et on déduit les entrées de la bascule Jj, et Kj.Les valeurs finales, respectives de J et K seront alors :

J = P1J1 + P2J2 + P3J3 + P4J4 + P5J5K = P1K1 + P2K2 + P3K3 + P4K4 + P5K5

P1=1 : Ou exclusif

AiBiAi+JK0000X 0111X101X 0110X 1

J1= BiK1= Bi

P5=1 : mise à zéro

AiBiAi+JK0000X0100X100X1110X1

J5= 0K5= 1

P4=1 : NOT

AiBiAi+JK0011X0111X100X1110X 1

J4= 1K4= 1

P2=1 : Transfert

AiBiAi+JK0000X0111X100X 1111X 0

J2= BiK2= Bi

P3=1 : ET

AiBiAi+JK0000X0100X100X1111X 0

J3= 0K3= Bi

J= P1Bi+P2Bi+P4

K= P1Bi+P2Bi+P3Bi+P4+P5

Ce qui permet de déduire le circuit de contrôle de la bascule i du registre A

Page 31: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

Il suffira de le dupliquer 4 fois pour obtenir le circuit total du registre A.

5. Micro opérations de décalage:

Il existe quatre types de décalage :

- Le décalage à transfert série   : Shr, Shl, insertion d’un bit de donnée par l’entrée série du registre à décalage utilisé.

- Le décalage logique   : Lshr, Lshl, insertion d’un zéro, ‘0’, par l’entrée série

- Le décalage arithmétique   : Ashr, division par 2, Ashl, multiplication par 2 ; le bit introduit par l’entrée série du registre, lors du décalage, dépend de la représentation du nombre (valeur absolue et signe, complément à deux …), et de l’opération (multiplication ou division) effectuée

- Le décalage circulaire   : Cir, Cil, le bit extrême sortant du registre lors du décalage, est réintroduit par l’entrée série.

En langage de transfert inter registre ces différents décalage pourraient être représentés comme suit :

- S : Shr, Cir B

ou S : A1 ← Bn , B1 ← Bn

- L : Lshl A ; on sous entend An ← 0 ; décalage logique à gauche

- C : Cir A ; on sous entend A1 ← An ; décalage circulaire à droite

- M : Ashl A ; décalage de A à gauche pour une multiplication par 2.

NB : les expressions shl et shr ont été gardées car les microprocesseurs existants possèdent des répertoires d’instructions basés sur l’anglais et que sh représente ‘shift’, qui veut dire décaler, R tient pour ‘right’ (droite), et L pour ‘left’ (gauche).

IV. Les fonctions de contrôle:Les fonctions de contrôle sont les signaux binaires qui activent les micro opérations. Elles proviennent de l’unité de contrôle.Comme nous l’avons indiqué précédemment, l’unité de contrôle les génèrent à partir des informations contenues dans les instructions qui constituent les programmes.

Transfert série par décalage à droite ; le registre source B ne perd pas son contenu

Une instruction est lue de la mémoire et stockée dans le registre d’instruction; elle est ensuite décodée par l’unité de contrôle

Exécution des micro opérations de l’instruction par l’unité de traitement

RI <- instruction

L’unité de contrôle envoie les ordres (les Fi)à l’unité de

traitement pour activer les micro opérations

L’unité de contrôle décode (RI)

Mémoire centrale<-Programme

Page 32: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

1. Méthodes de conception :

Actuellement la méthode la plus utilisée dans la génération des fonctions de contrôle consiste à combiner les ordres contenus dans les instructions, avec des signaux de synchronisation, et des conditions de contrôle préalablement définies. L’approche de la conception est modulaire et synchronisée. L’inconvénient majeur de cette méthode reste le nombre important de portes logiques et de bascule (partiellement éliminé grâce aux capacités d’intégration de plus en plus grandes).Ses principaux avantages sont la détection facile des pannes, et la standardisation de la méthodologie de conception qui a permis le développement de langages de programmation de circuits (tels que le VHDL), et donc de conception assistée par ordinateurs. C’est la méthode que nous adopterons pour la conception du processeur de base dans le chapitre IV.

Une seconde méthode, qui consiste à utiliser le principe d’analyse et de synthèse des circuits séquentiels (diagramme d’état, table d’état, tables de transitions,…), permettrait d’obtenir un circuit minimisé si elle était développée correctement.Le trop grand nombre d’états, et de variables à manipuler entraîne des difficultés pratiques dans la conception, et la réalisation des circuits par cette méthode. Il est difficile pour le concepteur de déduire de façon précise toutes les séquences et fonctionnement du système, et donc de poser le problème, ou de repérer une panne (contrairement à la conception modulaire de la première méthode).

La troisième méthode utilise le contrôle micro programmé ou une mémoire de contrôle. Dans ce cas une partie de la mémoire (généralement de la ROM) est utilisée comme unité de contrôle (au lieu d’un circuit combinatoire). On y stocke les bits (0 et 1) des fonctions de contrôle de tous les registres, celles ci sont envoyées selon les besoins vers l’unité de traitement . Cette méthode, très efficace, sera développée dans le chapitre V. Consommant un nombre de porte et de bascules moins importants que les deux méthodes précédentes, on notera cependant sa lenteur par rapport à ces dernières.

2. Génération des signaux de synchronisation :

La division du temps d’un processeur synchrone en cycles, et la division de chaque cycle en impulsions d’horloge ordonnées durant lesquelles des micro opérations précises doivent être exécutées, nécessite la création de signaux de synchronisation, les Ti, permettant de déterminer, à chaque instant, dans quelle impulsion du cycle on se trouve.Seul le signal Ti est égal à 1 à la ième impulsion d’horloge du cycle du cycle. Tj = 0 si j ≠ i .

Ainsi si le nombre d’impulsions d’un cycle est 4, il sera nécessaire de générer 4 signaux de synchronisation T0,T1, T2, T3, tels que :

T0

T1

T3

T2

Page 33: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

Les Ti peuvent être implémentés en utilisant un compteur en anneau ou un compteur et un décodeur.

Le compteur en anneau : c’est un registre à décalage dont un seul bit est allumé (mis à 1) à la fois. Son entrée de décalage est mise à un et le bit sortant est relié à son entrée série de sorte qu’il effectue un décalage circulaire en permanence, tant qu’il est alimenté par l’horloge.

Le compteur et le décodeur : les sorties d’un compteur binaire progressif à deux bits, alimenté par une horloge, sont reliées aux entrées d’un décodeur 2x4. Les signaux de synchronisation apparaissent aux sorties du décodeur, puisqu’à chaque impulsion d’horloge le compteur génère la combinaison suivante à l’entrée du décodeur.

3. Génération des fonctions de contrôle :

La description des circuits en LTR comprend deux parties : - à droite la ou les micro opérations que le circuit doit réaliser- à gauche : la fonction de contrôle qui les active.Les fonctions de contrôle peuvent être :

- simples :

F : A ← (B)

- Combinées avec des signaux de synchronisation :

FT1+R’T3 : PC ← (PC)+1, MDR← M(MAR)

1 0 0 0

T0 T1 T2 T3

Exemple pour 4 signaux de synchronisation. Séquence initiale : 1000 Le bit unique est décalé d’une position vers la suivante pour générer les signaux de

synchronisation

DCD 2x4

T0 T1 T2 T3

Compteur binaire à 2 bits

Page 34: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 2 Unité centrale de traitement, Langage de Transfert inter Registre

- Combinées avec des conditions :P : Si condition alors micro opération

Exemple :FT1 : C ← C+1FT2 : PC ← (PC)+1, si C=0 ; incrémenter PC si le compteur C = 0

Ceci est équivalent à :

FT1 : C ← C+1FT2 C : PC ← (PC)+1

La condition C=0 a été transformée en fonction de contrôle combinée avec la fonction de contrôle initiale.

V. Conclusion:Le langage de transfert inter registre, LTR, est un langage symbolique simple, qui permet de décrire et de programmer en vue de le réaliser, le circuit de toute micro opération pouvant être exécutée dans une unité centrale de traitement.C’est ce langage que nous utiliserons dans le chapitre IV pour décrire le processeur de base que nous nous proposons de concevoir.Mais avant cela nous allons présenter dans le chapitre III les différentes organisations de processeurs classiques, afin d’en choisir une pour notre processeur de base.

Page 35: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 3 Organisations de processeurs

Chapitre III

Organisations de processeursOrganisations de processeurs

I. Introduction :Les processeurs classiques diffèrent, dans leurs organisations, principalement par : Leurs structures de bus : données, adresse, contrôle, entrées/sorties L’organisation de leurs registres : un registre processeur principal, plusieurs registres processeurs ou généraux, … Les modes d’adressage dont ils disposent Leurs répertoires d’instructions.Suivant la puissance et la fonction du processeur que l’on désire concevoir, on choisira une organisation spécifique pour répondre aux besoins formulés. Par exemple, plus de registres destinés à contenir les données et les résultats de traitements pour diminuer le transfert d’information entre la mémoire, et l’unité centrale, plus d’instructions spécialisées pour minimiser la taille des programmes, et le temps d’exécution, un seul registre accumulateur, si le temps d’exécution est moins important que la simplicité du circuit…

Nous présentons dans ce qui suit les différents aspects des différentes organisations de processeurs classiques.

II. Organisations de bus :Les informations véhiculées dans un processeur sont de type : Données Adresses Contrôle Entrées/sortiesLes lignes de bus qui transportent ces informations à l’intérieur, et à l’extérieur (vers la mémoire, et les périphériques) doivent être organisées de manière à assurer un maximum de synchronisation et de stabilité (vu qu’il existe toujours un temps de propagation des informations à travers les circuits, générant des retards, et un temps de stabilisation de ces informations sur les lignes de bus).Les différents types d’informations sus citées peuvent être transportées par : Un bus unique, totalement multiplexés : qui servira à transporter, grâce à une multiplication de fréquence, et durant une impulsion d’horloge, tour à tour durant des sous périodes, le contrôle, puis les adresses, puis les données.Les informations de contrôle, et d’adresses, sont latchées, jusqu’à ce que la donnée soit utilisée.

Des bus partiellement multiplexés : Seuls deux ou trois types d’informations utilisent le même bus toujours selon le même principe que celui énoncé pour le bus unique . Par exemple

Page 36: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 3 Organisations de processeurs

les lignes d’adresse et de données partagent les mêmes lignes comme c’est le cas pour le microprocesseur Intel 8085.

Des bus totalement séparés : Dans ce cas des registres internes (non accessibles aux programmeurs), dédiés, de données MDR, d’adresse MAR, d’entrées/sorties INPR, et OUTR, d’état, de contrôle, … sont utilisés pour gérer les différents bus. Cette configuration est la plus courante, quand le degré d’intégration du circuit le permet. Ces registres internes ne sont pas concernés par l’organisation des registres processeurs chargés de contenir les données à traiter, et les résultats de traitement, organisation développée dans ce qui suit.

III. Organisation des registres :L’organisation des registres permet de déterminer la structure de l’unité de traitement, le

nombre de registres qui s’y trouvent, leurs connections à l’unité arithmétique et logique, ainsi

que le format des instructions du processeur.

1. Organisation à accumulateur :

a) Structure de l’unité de traitement   :

Un seul registre processeur, l’accumulateur AC, contient les données à traiter, et le résultat de

tout traitement :

Pour les opérations à un seul opérande : La donnée unique se trouve dans AC, et le

résultat de son traitement est également mis dans AC. Par exemple, c’est le cas pour

l’opération d’incrémentation INC, ou de complémentation CMA…

Pour les opérations à 2 opérandes : La première donnée a déjà été mise dans AC, et la

deuxième donnée est lue par l’instruction de la mémoire, et va se trouver par conséquent dans

le registre MDR. Les deux registres AC, et MDR doivent donc être reliés respectivement, aux

deux entrées A et B de l’UAL. Le résultat de toute opération est stocké dans AC.

On déduit la structure suivante pour l’unité de traitement :

b) Format de l’instruction   :

Puisque le premier opérande se trouve toujours dans AC, le format d’une instruction aura la

structure suivante :

MDRAC

Page 37: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 3 Organisations de processeurs

Pour les opérations à un seul opérande, l’instruction doit spécifier uniquement le code de

l’opération à exécuter, et sera une instruction à zéro zone d’adresse.

Pour les instructions à deux opérandes, l’instructions doit spécifier le code de l’opération

et l’adresse du deuxième opérande (le premier opérande, et le résultat devant se trouver dans

AC), et sera par conséquent une instruction à une seule zone d’adresse.

Des variantes, de processeurs possédant une architecture basée sur une organisation à

accumulateur, existent. On peut avoir par exemple des processeurs à deux accumulateurs,

comme pour le Motorola 6800.

2. Organisation à registres généraux :

a) Structure de l’unité de traitement   :

Dans ce cas plusieurs registres R1 à Rn, appelés registres généraux, ou registres processeurs,

peuvent contenir les données à traiter, et les résultats de traitement.

Tous les registres généraux (ainsi que le MDR, qui peut contenir une donnée lue ou à écrire

dans la mémoire) doivent avoir la capacité d’être reliés à l’UAL (en tant que source A,

source B, ou destination).

Il est alors nécessaire de construire un bus A pour la sélection de la source A, un bus B pour la

sélection de la source B, et un bus C pour la sélection de la destination du résultat de

traitement.

OP

OP ADR

Page 38: Chapitre I - Examens corriges · Web viewconçoit une version micro programmée (unité de contrôle programmée et non câblée) du processeur de base. Chapitre I Rappels Introduction

Chapitre 3 Organisations de processeurs

On peut remplacer les multiplexeurs par des buffers à 3 états pour la sélection des sources A

et B.

b) Format de l’instruction   :

Le format d’une instruction pour un processeur à registres généraux peut être

à deux zones d’adresse si la destination est aussi source A.

exemple :

ADD R1, R5 ; R1 (R1) + (R5)

OP ADR1 ADR2

à trois zones d’adresse si la destination est différente des deux sources.

exemple :

ADD R1, R5, R2 ; R1 (R2) + (R5)

OP ADR1 ADR2 ADR3

c) Application   : Donner la structure de l’unité de traitement d’un processeur possédant 10 registres généraux en utilisant des buffers à 3 états: