Title: Architecture des Ordinateurs
1Architecture des Ordinateurs
IUT Informatique de Calais
2Objectif du cours Étude du fonctionnement
interne de lordinateur
- 1ière partie couple processeur / mémoire
- codage des nombres
- logique combinatoire
- fonctions simples addition
- logique séquentielle
- fonctions plus sophistiquées mémoire ...
- introduction à l'assembleur
- 2ième partie carte mère et périphériques
- carte mère chipset, bus, connecteurs
- périphériques dentrée clavier, souris
- périphériques de sortie écran, imprimante
- périphériques dentrée sortie disque dur,
modem ...
3Période 1er semestre (16 semaines)
16 Cours
- 8 TDs
- manipulation de nombres binaires
- logique combinatoire
- logique séquentielle
- 8 TPs
- programmation assembleur
2 DS 1 contrôle TD 1 contrôle TP
41 Introduction
- 1.1 Objectif de la première partie du cours
- Couple processeur / mémoire
- utilisation des opérations logiques de base
ET, OU, NON - niveaux logique et fonctionnel (circuits
logiques et équations) - réalisation dunités de traitement primitives
- assemblage de ces unités pour préciser
lorganisation de lordinateur
51.2 Historique de linformatique agrémenté de
quelques phrases célèbres en rouge
- Références
- Préhistoire et histoire des ordinateurs de
Robert Ligonnière, Robert Laffont, 1987 - http//www.scedu.umontreal.ca/histoiredestec/histo
ire/tdmhiste.htm (offline ...) - http//histoire.info.online.fr
- http//dmawww.epfl.ch/delay/projet3 (offline ...)
1.2.1 Du manuel à la mécanique
6Lhomme a toujours cherché à saider pour le
calcul
-500 premiers outils de calcul, l abaque et le
boulier
7-300 Aristote définit la logique
1580-1617 J. Napier invente les logarithmes
nombres décimaux techniques de multiplication
et division (bâtons de Napier)
1623 Cylindres de Schickard ( idée
d utiliser des roues dentelées)
1673 Disques de Morland
81624 Schickard esquisse la première calculatrice
9(No Transcript)
101694 machine de Leibniz (multiplication et
division)
11- 1820 C.X. Thomas invente larithmomètre (6 à 20
chiffres) - 1 500 exemplaires vendus de 1823 à 1878
12- 1937 C. Herzstark invente la Curta
- Curta I 80 000 exemplaires vendus de 1947 à
1970 - Curta II 60 000 exemplaires vendus de 1954 à
1970
13Historique de l informatique1.2.2 De la
mécanique à lélectromécanique
141833 Babbage imagine une machine analytique
contenant les concepts dunité de calcul,
mémoire, registre et entrée des données par carte
perforée
1840 Ada Lovelace, collaboratrice de Babbage
définit le principe ditérations successive dans
lexécution dune opération et nomme ce processus
algorithme en lhonneur du mathématicien arabe Al
Khowarizmi
151854 Boole démontre que tout processus logique
est décomposable en une suite dopérations
logiques (ET, OU, NON) appliquées sur 2 états
(0-1, V-F, ...)
161896 H. Hollerith crée la firme Tabulating
Machine Corporation
1904 J. Fleming invente le premier tube à vide
(la diode)
1907 L.D. Forest invente la triode
1919 Eccles et Jordan inventent le basculeur
(flip-flop ou circuit bi-stable)
1924 Tabulating Machine Corporation est
renommée International Business Machine
171937 A.M. Turing résout des problèmes
mathématiques à laide d une bande de papier, de
pions et d un trombone ! Cest la machine de
Turing
1938 Shannon dans sa thèse fait le parallèle
entre circuit électrique et algèbre booléenne. Il
définit le chiffre binaire bit (BInary digiT)
181941 J. Atanasoff et C. Berry créent le 1er
calculateur binaire basé sur lalgèbre de Boole.
LABC est considéré comme le premier ordinateur
mais son programme nest pas stocké en mémoire
1941 Z3, premier calculateur avec programme
enregistré. Mémoire 64 nombres de 22 bits,
puissance 4 /s ou 1 x en 4s
191943 H. Aiken crée le Mark I calculateur
électromécanique (3000 relais, 800km de câbles)
dont le fonctionnement est proche de la machine
imaginée par Babbage
1943 Thomas Watson, IBM Je pense quil y a
un marché mondial pour au moins 5 ordinateurs.
1945 un insecte coincé dans la Mark I bloque
son fonctionnement. La mathématicienne G.M.
Hopper décide que tout ce qui arrêtera le bon
fonctionnement d un programme sappellera BUG.
1945 J. Von Neuman travaillant sur le projet
ENIAC définit ce que devrait être un ordinateur à
programme enregistré architecture de Von Neuman
20Historique de l informatique1.2.3
Lélectronique
211946 P. Eckert et J. Mauchly créent lENIAC.
Particularités 18 000 tubes, 30 tonnes, 72 m2,
140 KW, 100 kHz, 330 x/s
221947 invention du transistor dans les
laboratoires de Bell Telephone
1948 Newman et Williams créent le Manchester
Mark I. Particularité mémoire à tubes
cathodiques
1949 revue Popular Mechanics Alors que le
calculateur ENIAC est équipé de 18000 tubes à
vide et pèse 30 tonnes, les futurs ordinateurs de
lan 2000 ne devraient avoir que 1000 tubes à
vide et ne peser que 1,5 tonnes.
231956 TRADIC le premier ordinateur à transistors
par Bell amorce la seconde génération
d ordinateurs
1956 1er disque dur, le RAMAC 305 par IBM (50
disques de 61 cm - 5 Mo)
1957 J. Backus d IBM crée le langage FORTRAN
241958 1er ordinateur commercial entièrement
transistorisé par S. Cray
251958 1er circuit intégré par Texas Instruments
1958 1er modem par Bell
1958 1er jeu vidéo (très similaire au jeu pong
par Atari en 1972)
1960 langage Cobol
1962 P. Dreyfus invente le mot informatique
1964 langage Basic
261965 G. Moore écrit que la densité des circuits
intégrés doublera tous les 18 mois (loi de Moore)
1967 plans de lARPANET (ancêtre de l internet)
1967 premier lecteur de disquettes par IBM
271968 D.C. Engelbart fait la démonstration dun
environnement graphique avec fenêtres utilisant
une souris.
1968 langage Pascal
1969 naissance d Unix grâce à K. Thompson et
B. Kernighan
1970 K. Thompson crée le langage B pour Unix
281971 Intel vend le premier microprocesseur
Intel 4004 (4 bits, 108 kHz, 200)
1971-1973 transformation du langage B
(interprété) en langage C (compilé)
291972 R. Tomlinson crée un logiciel de courrier
électronique pour ARPANET
1972 premier langage orienté objet, SmallTalk
1972 B. Gates et P. Allen fondent la compagnie
Traf-O-Data
1973 apparition du mot microcomputer
(micro-ordinateur)
1975 Traf-O-Data devient Micro-Soft
1976 S. Jobs et S. Wozniak créent l Apple
Computer et fondent Apple
1977 Ken Olson, DEC Il ny a aucune raison
pour que tout le monde veuille un ordinateur à la
maison
30Avril 1981 Xerox vend le Star 8010.
Caractéristiques Ram 1 Mo, DD 8 Mo, interface
Ethernet, interface graphique, souris 2 boutons,
DragDrop, copier-coller, menus contextuels,
tableur, traitement de texte WYSIWYG, et
messagerie électronique. Problème 17 000
Il faudra 10 ans à Apple et 15 ans à
Microsoft pour faire aussi bien !
31Août 1981 IBM lance le 5150 Personal Computer.
Caractéristiques RAM 640Ko, lecteur de
disquettes 525, système PC-DOS 1.0 pour 3 000
(version CGA 16 couleurs pour 6000 ). Windows
1.0 sortira en novembre 1985.
Il napporte rien de nouveau et
pourtant ...
1981 Bill Gates, Microsoft 640Ko devrait
être suffisant pour tout le monde.
32Janvier 1983 Apple lance le Lisa.
Caractéristiques µP 68000 à 5Mhz, 1 Mo RAM, 2
Mo ROM, écran graphique 12 720x364, 2 x 525,
DD 5 Mo avec interface graphique et souris. 10
000
Janvier 1984 Apple lance le Macintosh.
Caractéristiques µP 68000 à 8Mhz, 128Ko RAM, 64
Ko ROM, 350, écran NB 9 512x384 avec
interface graphique et souris. 2 500
Loi de Wirth Les logiciels deviennent plus
lents de manière plus rapide que le matériel ne
devient plus rapide.
33Historique de linformatiqueFIN
34- 1.3 Positionnement du problème
- On souhaite construire un ordinateur basé sur
lutilisation de la base 2 - Problèmes
- représentation des nombres
- réalisation des opérations arithmétiques
- et - facile en entier et en réel
- x plus dur ...
- / efficacité difficile à obtenir en entier,
ardu en réel - séquenceur
- intégration
35- 1.4 Principes fondamentaux
- Tous les ordinateurs sont fondés sur les mêmes
principes de base - programmes / données
- processeur / mémoire / périphériques
- informations codées en binaire
- traitements effectués en binaire
- Pourquoi la base 2 ?
- Simple
- générale
Depuis l ENIAC, seule la technologie a changée
lampe à vide - transistor - circuit
intégré - microprocesseur d où plus rapide,
plus petit, moins gourmand, plus fiable, moins
coûteux
361.5 Définitions Définition 1 Un processeur est
un élément qui exécute des traitements. Les
traitements à exécuter sont indiqués par les
instructions du programme exécuté. Les
traitements sappliquent sur des données et
fournissent également des résultats. Définition
2 La mémoire centrale contient les programmes
exécutés par le processeur ainsi que les données
du programme et ses résultats.
372 Logique booléenne
- 2.1 Représentation des valeurs booléennes
- 0 0 volt masse
- 1 5 volts alimentation
382.2.2 Fonction ET Un ET est vrai si ses deux
entrées sont vraies.
39(No Transcript)
402.2.6 Fonction OU-EXCLUSIF Un OU-EXCLUSIF est
vrai si ses deux entrées ont des valeurs
différentes. Il permet de tester si deux
valeurs logiques sont différentes.
41- 2.2.8 Fonctions ET-multiple, OU-multiple,
NON-ET-multiple et NI-multiple - Les fonctions ET, OU, NON-ET et NI (NON-OU) se
généralisent facilement à des fonctions ayant un
nombre quelconque d entrées - ET-multiple vrai (1) si toutes ses entrées
sont vraies (1), faux (0) sinon - OU-multiple faux si toutes ses entrées sont
fausses, vrai sinon - NON-ET-multiple faux si toutes ses entrées
sont vraies, vrai sinon - NI-multiple vrai si toutes ses entrées sont
fausses, vrai sinon
422.2.9 Porte trois-états La porte trois-états agit
en interrupteur. Elle possède deux entrées et une
sortie. L une des entrées contrôle son activité.
Si celle-ci vaut 1 alors l entrée a est
directement connectée à la sortie s, sinon elles
sont déconnectées. L état déconnecté n est pas
un 0, on le nomme haute-impédance (noté Z).
43L intérêt de la porte trois-états est de pouvoir
connecter directement deux fils en évitant tout
risque de court-circuit en utilisant un montage
de barrière bi-directionnelle ou transceiver.
442.2.10 Aspect matériel Matériellement, les portes
se présentent dans des circuits intégrés. Un
circuit en regroupe un certain nombre de même
type. Exemple le 7400 comporte 4 portes NAND
45- Une porte peut prendre en compte le valeur dune
entrée lorsquil y a un changement détat
logique de cette entrée. - Changement d état front
- 0 à 1 front montant
- 1 à 0 front descendant
46Le délai de propagation d'un circuit est le temps
le plus long nécessaire pour propager un front
sur une des entrées vers une des sorties.
Délai de propagation b vers t 10 12 12
34ns
47Chronogrammes en TD on supposera quil ny a
pas de délai de propagation
Exemple de chronogramme
1 0 1 0 1 0 1 0 1 0
s j i b a
temps
48- 2.3 Simplification dune fonction logique
- Pourquoi simplifier ?
- Équation plus lisible
- facile à construire
- - cher
- rapide
- - gourmand en énergie
- - de chaleur
Théorème 1 La porte NON-ET est
universelle. Théorème 2 La porte NI est
universelle.
492.3.1 Théorèmes de Boole
50- 2.3.3 Autres propriétés
- ET est associatif et commutatif (comme la
multiplication) - OU est associatif et commutatif (comme
laddition) - ET est distributive par rapport à OU (comme x
par rapport à )
2.4 Représentation des nombres 2.4.1 Utilisation
d'une base quelconque et changement de base Un
nombre N en base B s'écrit NB anan-1an-2
a1a0 avec 0 ai B-1
Exemples base 2 (binaire) 011011100102 0 ai
1 base 8 (octal) 12456764706208 0 ai
7 base 10 (décimal) 97468205610 0 ai
9 base 16 (hexadécimal) 3A5E8F16 0 ai
F chiffres hexadécimaux 0 1 2 3 4 5 6 7 8 9 A
B C D E F
51 Pour trouver la valeur décimale d'un nombre en
base B N10anBn an-1Bn-1 a2B2 a1B1
a0
Exemples 10112 123 022 121 1
1110 2478 282 481 7 16710 2DB16
2162 13161 11 73110
Pour passer d'une base à une autre il est
toujours possible de passer par la base 10 Pour
passer du binaire à une base de type 2n il suffit
de regrouper les bits par n de la droite vers la
gauche afin de retrouver chaque chiffre en base
2n.
522.4.2 Représentation des nombres binaires non
signés n bits permettent de représenter 2n
valeurs différentes, donc les nombres entiers
positifs de 0 à 2n-1. Exemple sur 8 bits on
peut représenter 28 256 valeurs différentes
donc les entiers de 0 à 255 (0000 0000 à 1111
1111).
2.4.3 Représentation des nombres binaires
signés Pour représenter des nombres entiers
positifs et négatifs, on utilise la
représentation en complément à deux. Pour un
nombre entier positif, cest sa représentation en
base 2. Pour un nombre entier négatif, on obtient
sa représentation en 3 étapes
étape 1 calculer la représentation binaire de
sa valeur absolue étape 2 complémenter tous les
bits (0?1, 1?0) étape 3 ajouter 1 (additionner
1 au nombre obtenu)
53Exemples -23 sur 8 bits ?
étape 1 00010111 étape 2 11101000 étape 3
11101001
-100 sur 8 bits ? étape 1 01100100 étape 2
10011011 étape 3 10011100
Avec n bits on représentent les nombres entiers
de -2n-1 à 2n-1-1. La soustraction sobtient en
additionnant les représentations C2. La
représentation C2 n a de sens que si on précise
quon l utilise pour ce nombre, sinon -23 en C2
vaut 233 en binaire (233256-23).
54Lorsque des opérations sont effectuées sur des
nombres codés en complément à 2, ceux-ci doivent
impérativement être codés sur le même nombre de
bits.
4 -2 -6
- Comment détecter un débordement ?
- si les nombres sont de signes différents, pas de
problème - si ils sont de même signe, le signe du résultat
doit être le même, sinon il y a débordement
552.4.4 Binaire Codé Décimal (BCD) BCD permet de
coder des nombres entiers positifs. En BCD, on
code chaque chiffre du nombre décimal sur 4 bits
et on concatène ces demi-octets. Exemple 4236
devient 0100 0010 0011 0110 en BCD Avec 4n bits
(ou m octets) on code les entiers de 0 à 10n-1
(ou 102m-1)
2.4.5 Représentation des nombres réels En décimal
on écrit par exemple 52,467 5.101 2.100
4.10-1 6.10-2 7.10-3 De manière générale,
dans la base b, on écrit an an-1a0 , a-1 a-2
a-p anbn an-1bn-1 a0b0 a-1b-1
a-2b-2 a-pb-p
56Par exemple en binaire 10100101,011
1.271.251.221.201.2-21.2-3 1651/41/8
165,375
- Passage de la base 10 vers une base quelconque
- pour la partie entière, on procède par divisions
comme pour un entier - la partie fractionnaire est multipliée par la
base de manière successive en conservant la
partie entière et ce jusquà ce quelle devienne
nulle ou que la précision maximale soit atteinte.
57Exemple 2 0,3 0,3 2 0,6 0,6 2 1,2
0,2 2 0,4 0,4 2 0,8 0,8 2
1,6 0,6 2 1,2 0,2 2 0,4 0,3
? 0,010011001100110011001100110011001
- Codage informatique des nombres réels selon la
norme IEEE 754 - Les nombres réels sont normalisés sous la forme
1, 2n puis codés sur 32bits. - le 1er bit code le signe (0 pour et 1 pour -)
- les 8 bits suivants codent lexposant auquel on
ajoute 127 (permet de coder des exposants
négatifs sans C2) - les 23 derniers bits codent la partie
fractionnaire du nombre (après la virgule) mais
si le 24ième bit est 1 alors on arrondit à la
valeur supérieure (mantisse 1) - seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm
58- Exemple
- 5,3 ? 101,010011001100110011001100110011001
- normalisation 1,0101001100110011001100110011001
1001 22 - signe 0
- exposant 2 127 129 soit sur 8 bits 1000
0001 - mantisse sur 23 bits 01010011001100110011001
mais le 24ième bit est 1 donc la mantisse est
01010011001100110011010 - codage final 0100 0000 1010 1001 1001 1001
1001 1010 - de manière plus lisible en hexadécimal 40 A9
99 9A
- Remarques
- lexposant 0000 0000 signifie que le nombre est
dénormalisé - lexposant 1111 1111 signifie que ce nest pas
un nombre (NaN) - les exposant sont donc compris entre 126 et 127.
59- 2.4.6 Unités de stockage
- unité de base le bit (0 ou 1)
- unité usuelle l'octet (1 octet 8 bits)
- kilooctet 1 ko 1024 octets
- mégaoctet 1 Mo 1024 Ko
- gigaoctet 1 Go 1024 Mo
- téraoctet 1 To 1024 Go
603 Logique combinatoire
3.1 Introduction Objet étude des fonctions
logiques du type xf(a,b,c,). Note le temps
nintervient pas dans léquation. La logique
combinatoire permet la réalisation des fonctions
de base dun ordinateur.
Définition 3 entrée Valeur logique fournie au
circuit et à partir de laquelle est déterminée la
sortie du circuit.
Définition 4 entrée de donnée Entrée ayant un
rôle de valeur à traiter par le circuit.
61Définition 5 entrée de contrôle Entrée ayant
un rôle de modification / spécification du
traitement réalisé par le circuit.
Définition 6 sortie Valeur logique résultat de
lactivité du circuits sur ses entrées.
Remarque similitude conception dun programme /
circuit logique Étant donnés des entrées et les
résultats qui doivent être obtenus, on conçoit un
programme ou un circuit logique passant des unes
aux autres.
623.2 Exemples de circuits combinatoire 3.2.1
Additionneur Réalise laddition de deux nombres
entiers sur n bits. Le résultat est fourni sur
n1 bits, le bit supplémentaire étant un bit de
retenue.
63- 3.2.2 Multiplexeur et démultiplexeur
- Le multiplexeur transmet plusieurs signaux en
entrée sur un seul fil en sélectionnant une des
entrées à transmettre en sortie. - Une entrée de contrôle réalise la sélection.
- 2n entrées de donnée n entrées de
contrôle - Les n bits de contrôle ( 0 à 2n-1 ) numéro de
lentrée à sélectionner
64Démultiplexeur rôle inverse du multiplexeur
choisir la sortie vers laquelle transmettre
lentrée
e
65- 3.2.3 Décodeur et encodeur
- Décodeur n entrées et 2n sorties
- Les n bits en entrée codent une valeur de 0 à
2n-1 - La sortie ayant ce numéro passe à 1 (les autres
0) - Le décodeur est un élément essentiel dans la
réalisation de la mémoire.
66- Encodeur rôle inverse du décodeur
- 2n entrées et n sorties
- Une seule entrée est à 1
- Les n bits en sortie codent le numéro de
lentrée qui est à 1
673.3 Méthodologie de réalisation dun circuit
combinatoire
À partir des spécification du circuit à réaliser
1 identifier les entrées et les sorties du
circuit en distinguant les entrées de donnée des
entrées de contrôle 2 donner la table de vérité
de chacune des sorties en fonction des entrées 3
pour chacune des sorties, en fonction de la
table de vérité, obtenir une équation logique
simplifiée au moyen dun tableau de Karnaugh 4
dessiner le schéma logique du circuit
68- 3.3.1 Tableau de Karnaugh
- permet de trouver léquation logique dune
sortie dun circuit en regroupant les cases
contenant la valeur 1 - obtenu à partir de la table de vérité
69- 4 entrées a1a0b1b0 (en fait 2 nombres A et B)
tableau de Karnaugh de s
0123456789101112131415
70- Nombres croissants sur 3 bits selon .
- le codage binaire classique on ajoute 1 à
chaque fois - 000 001 010 011 100 101 110 111
le codage de Gray 1) 2 nombres consécutifs ont
un seul bit qui les différencie 2) Trouver le
nombre suivant consiste à inverser le bit le plus
à droite possible (vérifier que le codage obtenu
na pas déjà été utilisé par un nombre
précédent) 000 001 011 010 110 111 101 100
- Remarque
- Le premier et le dernier nombre ont également un
seul bit qui les différencie
71- Pourquoi le codage de Gray pour les tableaux de
Karnaugh ? - Le codage des entrées de 2 cases voisines ont un
seul bit qui les différencie, dans ce cas
léquation leur correspondant se simplifie - Important La première et la dernière case de
chaque ligne et de chaque colonne sont également
considérée comme voisine (un seul bit différencie
leur codage)
72- Plus le regroupement de cases voisines est
grand, plus léquation résultante est simple - Exemples de groupements de 4 cases voisines
73- Exemples de groupements de 8 cases voisines
- Les groupements ne se font que par 2n cases (2,
4, 8, 16, ) - Un groupement de 2n cases est valide ssi chaque
case du groupement a n voisins dans ce groupement - Exemples de groupements non valides
6 cases (pas une puissance de 2)
74- Les cases contenant 1 peuvent être utilisées
plusieurs fois par des groupements différents
pour reconstituer léquation de la sortie - Il y a généralement de nombreuses solutions
possibles, mais chercher les plus grands
groupements permet de trouver les plus simples - Exemples complets
75- Dans les exercices, toujours entourer les
groupements utilisés dans le tableau de Karnaugh
et indiquer leur correspondance avec un des
termes de léquation (par une couleur ou un
numéro) - De même, toujours tenter de simplifier
léquation finale - groupement OU EXCLUSIF
- alors que le OU correspond à lunion de
plusieurs groupements, le OU EXCLUSIF correspond
à lunion moins lintersection de 2 groupements - exemples
76(No Transcript)
773.4 Étude de quelques circuits combinatoires 3.4.1
Semi-additionneur 1 bit Table de vérité de la
sortie s
problème 1110 donc 2 bits nécessaires Deuxième
sortie pour la retenue r
783.4.2 Additionneur sur 2 bits en entrée 2
nombres sur deux bits a1a0 et b1b0 en sortie
s1s0 et la retenue r
- Remarques
- entrées à gauche
- sorties à droite
- bits dans l'ordre pour lire les nombres
79Tableau de Karnaugh de s0
80Tableau de Karnaugh de s0
81Tableau de Karnaugh de s0
82Tableau de Karnaugh de s1
83Tableau de Karnaugh de s1
84Tableau de Karnaugh de r
853.4.3 additionneur complet sur des données de
taille quelconque
- même raisonnement que précédemment laborieux
- idée combinaison de plusieurs circuits
travaillant sur 1 bit - avantages plus facile à réaliser, travail avec
une taille de n bits (n quelconque), conception
plus claire, meilleur méthodologie, schéma
logique plus clair, réalisation matérielle du
circuit plus simple. - Circuit primitif additionneur 1 bit complet
- prise en compte de la retenue précédente
86Table de vérité
87Schéma logique
88Schéma logique d'un additionneur 4 bits constitué
d'additionneurs complets
89- 3.4.4 Unité logique
- deux entrées A et B sur n bits et une sortie S
résultat dune opération logique - le choix de lopération est fixé par c1c0
- les valeurs de A et B ne sont pas exprimées dans
le tableau car elles nont pas dintérêt ici - utilisation de n circuits sur 1 bit pour
réaliser le circuits sur n bits
90Circuit logique sur 1 bit table de vérité (la
même mais sur des données 1 bit)
On peut faire le schéma directement à partir de
léquation mais ...
91 il vaut mieux utiliser un multiplexeur
s
92Schéma logique dune UL sur 4 bits en combinant 4
UL 1 bit
93- 3.4.5 Décaleur
- Remarque
- un décalage à gauche dun nombre entier positif
représenté en binaire correspond à une
multiplication par deux - un décalage à droite dun nombre entier positif
représenté en binaire correspond à une division
par deux
94Le circuit primitif a donc deux entrées e1 et e0
qui sont respectivement les bits i1 et i-1 de
lentrée E pour le circuit logique sur n bits. Il
a également une entrée de contrôle indiquant un
décalage à droite (c0) ou à gauche (c1).
95Schéma logique du circuit de décalage sur 4 bits
963.4.6 Conversion BCD en binaire
- on suppose que le nombre BCD est composé de deux
chiffres codés sur 2x4 bits - pour convertir ce nombre en binaire, il suffit
de multiplier le chiffre des dizaines d par 10 et
ajouter le chiffre des unités u s 10d u - on sait faire laddition mais on ne sait pas
multiplier par 10 - mais décaler une donnée binaire dune position
vers la gauche correspond à une multiplication
par deux - donc on décompose 10d en 8d 2d ( x8 3
décalages à gauche )
97Schéma logique dun convertisseur BCD en binaire
S
98- 3.4.7 Test de validité dun code BCD
- en entrée une donnée sur 4 bits qui est censée
représenter un chiffre en BCD et en sortie 1 si
cest le cas, 0 sinon ( si les 4 bits ont une
valeur gt 9 ) - soit b3b2b1b0 les 4 bis en entrée et s la sortie
99- 3.4.8 Comparateur A B
- un comparateur sur n bits avec n comparateurs
sur 1 bit - comparateur sur 1 bit OU-EXCLUSIF ( 1 si les
deux entrées sont différentes ) - on compare tous les bits 1 à 1 puis on fait un
OU sur les résultats
100- 3.4.9 Comparateur A lt B (nombres signés)
- A et B sont codés en complément à 2
- si A et B sont de signes différents, le nombre
positif est le plus grand - si A et B sont de même signe, on utilise le
comparateur de nombres positifs
Pourquoi la comparaison fonctionne pour deux
nombres négatifs ?
- codage C2 sur 4 bits
- 0 1 2 7 8 9 15
- 0000 0001 0010 0111 1000 1001 1111
- 0 1 2 7 -8 -7 -1
1014 Logique séquentielle
4.1 Introduction 4.1.1 Objet Étude des fonctions
logiques du type x(t)f(entrées,t-1). Note le
temps intervient dans léquation.
Grâce à la logique séquentielle, on peut réaliser
un circuit de mémorisation et concevoir
complètement un processeur.
- Du point de vue du programmeur
- logique combinatoire opération arithmétiques
et logiques simple - (addition, soustraction, et, ou, décalage,
rotation, comparaison) - logique séquentielle fonctionnalités
nécessitant de mémoriser des données - (affectation, structures de contrôle,
séquencement des instructions)
102- 4.1.2 Quelques définitions
- Définition 7 Un état dun circuit est une
configuration des sorties de ce circuit. - Les n états dun circuit sont numérotés de 0 à
n-1. - Exemple une bascule (définie plus loin)
possède deux états un circuit composé de 2
bascules à 4 états différents un circuit
composé de m bascules a 2m états différents.
Définition 8 Une transition est un changement
détat.
Définition 9 Le graphe de transitions dun
circuit est un graphe dont les nœuds sont les
états possible du circuit, les arcs les
transitions possibles.
1034.1.3 Loscillateur (ou horloge) L'oscillateur
est l'élément permettant l'introduction de la
notion de temps dans les circuits. Il est
symbolisé par
Un oscillateur permet dobtenir un signal carré
ayant une fréquence bien précise, constante au
cours du temps et qui peut être élevée (plusieurs
centaines de Mhz).
104La fréquence doscillation est fixée par le délai
de propagation dans la porte.
Dans un ordinateur, loscillateur rythmant ses
activités est constitué dun quartz.
Le quartz vibre naturellement, avec une grande
précision et une grande constance au cours du
temps, quand on lui applique un courant oscillant.
Le quartz vibre à sa fréquence propre qui dépend
de sa taille et de la façon dont il a été taillé.
À partir dun quartz, on obtient des fréquences
sous-multiples à laide de diviseurs de fréquence
réalisés à laide de compteurs (voir TDs).
1054.2 Les bascules La bascule est lélément
fondamental de la logique séquentielle. Elle
possède 2 états (0 ou 1). On peut lire létat
dune bascule et on peut lécrire (affecter
létat voulu).
- Typiquement, une bascule aura deux entrées et une
sortie - une entrée de contrôle indiquant si lon veut
lire ou écrire létat interne de la bascule - une entrée de donnée utilisée dans le cas dune
écriture spécifiant la valeur à écrire dans la
bascule - une sortie sur laquelle létat courant de la
bascule peut être lu.
106Bascule D
Lentrée de contrôle v indique si lon veut lire
ou écrire une valeur. Si un front apparaît sur v,
la donnée présente sur e est écrite sur s, sinon
la sortie nest pas modifiée.
107Détection dun front montant sur v
Le front est détecté grâce au délai de
propagation dans la porte NON.
Front descendant ?
108(No Transcript)
109Schéma dune bascule D déclenchant sur front
montant
1104.3 La fonction mémoire Une bascule est un
élément de mémorisation de 1 bit (ou
point-mémoire). Lentrée de contrôle joue le rôle
de signal de lecture/écriture (noté r/w). Un
ensemble de bascules est utilisé pour réaliser un
registre ou une mémoire.
4.3.1 Le registre Cest un circuit capable de
mémoriser 1 mot. Les registres sont situés dans
le processeur et constituent donc une mémoire
locale au processeur. Lorsquon programme en
assembleur, on accède directement aux registres
du processeur (certains registres nécessaires au
fonctionnement ne sont pas accessibles au
programmeur). Un registre de m bits est
simplement constitué de m bascules.
111Un registre 3 bits
Bus de données
Signaldécriture
D
1124.3.2 La mémoire
Un mot de m bits est mémorisé dans un ensemble de
m bascules. Une mémoire de n mots de m bits est
réalisée à laide de nm bascules. Étant donné
une adresse, un décodeur sélectionne un mot dans
la mémoire, cest-à-dire les bascules constituant
les bits du mot à accéder. Un signal décriture
indique si le contenu du mot-mémoire est modifié
(opération décriture en mémoire) ou consulté
(opération de lecture).
113Mémoire de 4 mots de 3 bits
114(No Transcript)
115Remarque point de vue du programmeur
La fonction mémoire recouvre la notion de
variable et d affectation en
programmation. Une variable simple (de type
entier ou caractère) est un mot-mémoire et est
stockée dans un registre ou contenu dans une
mémoire. Ladresse de ce mot correspond au nom
donné à la variable dans le programme. Lune des
tâches du compilateur consiste donc a associer à
chaque variable une adresse en mémoire, ou un
registre.
1164.4 Compteurs 4.4.1 Objet Un compteur est un
circuit logique qui cycle parmi tous ses états
possibles, toujours de la même manière.
- Pour tout état, il nexiste quune seule
transition qui latteint et une seule qui le
quitte. Le graphe de transition est donc un
simple cycle. - Les états du circuit sont matérialisés par des
bascules, et les transitions sont ponctuées par
les fronts dune horloge. - Exemple simple le feu tricolore
- 3 états vert allumé, orange allumé, rouge
allumé - cycle perpétuel entre ces 3 états, toujours dans
le même ordre.
1174.4.2 Conception dun compteur
Nombre détats du compteur ? nombre de bascules
nécessaires. Pour un circuit à n états (de 0 à
n-1), il faut au minimum ?log2(n-1)? bascules (
?x? dénote le plus petit entier supérieur ou égal
à x). Remarque cest aussi le nombre de bits
nécessaires au codage du nombre n-1 en
binaire. Lorsque le nombre détats dun compteur
nest pas une puissance de 2, certains états du
circuit ne seront pas utilisés. Exemple
compteur à 5 états ? nombre de bascules ? 3 (8
états codables donc 3 états inutilisés)
1184.4.2.1 Compteur à 2n états Réalisons un compteur
de 0 à 7 il y a 8 états donc 3 bascules sont
nécessaires (D0, D1 et D2).
119(No Transcript)
120Doù le schéma du compteur de 0 à 7
1214.4.2.2 Compteur à un nombre quelconque
détats Réalisons un compteur de 0 à 9 il y a
10 états donc 4 bascules sont nécessaires (D0,
D1, D2 et D3). 4 bascules permettent de coder 16
états, donc 6 seront inutilisées.
122Table de transitions
Tableau de Karnaugh de D3t1
123Table de transitions
Tableau de Karnaugh de D2t1
124Table de transitions
Tableau de Karnaugh de D1t1
125Table de transitions
Tableau de Karnaugh de D0t1
126Problème Les 4 équations ne suffisent
pas. Étant donné que tous les états ne sont pas
utilisés, il faut bien initialiser le circuit
pour ne pas démarrer dans un état non utilisé.
- Modifier la table de transition pour faire
évoluer les états non utilisés vers létat 0.
Cest-à-dire changer tous les X en 0 dans la
table. Il faut alors refaire les tableaux de
Karnaugh et les équations. - A faire en exercice ...
127Schéma dun compteur de 0 à 9 avec initialisation
1284.4.3 Feux tricolores 4.4.3.1 Feux tricolores
français Un feu tricolore est un compteur.
Le graphe de transitions est le suivant
129Le graphe a 3 états numérotés de 0 à 2. Le nombre
2 se code 10 en binaire (2 bits) donc il y aura 2
bascules dans ce circuit.
130À partir des équations issues de la table de
transitions, on dessine le circuit
131Comment allumer les différents feux à partir des
valeurs de D0 et de D1 ?
1324.4.3.2 Feux tricolores scandinaves ou du
royaume-uni Cycle vert, orange, rouge, orange,
vert, ... Contrairement aux feux type français,
un état ne correspond pas à une couleur
allumée. Cest un compteur à 4 états (0 à 3),
donc il faut bascules pour le circuit.
2
133(No Transcript)
134(No Transcript)
1354.4.4 Point de vue du programmeur Un compteur
peut déclencher des actions les unes après les
autres.
Son rôle est donc de déclencher la réalisation
dune séquence dinstructions dun programme.
Un compteur est capable de réaliser un cycle
dactivités un nombre fixé de fois.
Cest un circuit capable de contrôler une boucle
pour lindice de la boucle est alors la valeur
courante du compteur.
1364.5 Automates
- 4.5.1 Un exemple pour commencer
- Un feux tricolore peut avoir 2 types de
fonctionnement différents - de jour vert, orange, rouge, vert, ...
- de nuit orange, éteint, orange, éteint, ...
Dans ce cas il y a 2 cycles de fonctionnements
différents impossible à réaliser avec un
compteur.
1374.5.2 Introduction Un automate est un circuit
logique pouvant être dans un certain nombre
détats.
Plusieurs transitions peuvent entrer ou sortir
dun même état.
Étant dans un certain état, la transition à
effectuer est sélectionnée en fonction de signaux
de contrôle.
En fait, du point de vue du graphe de
transitions, il est composé de plusieurs cycles
entrelacés.
1384.5.3 Méthodologie de conception dun automate
1. Déterminer les cycles dactions de lautomate
et les numéroter (0 à m). 2. En déduire le nombre
de signaux de contrôle (nb. bits pour coder m
bin.) 3. Déterminer les états de lautomate. 4.
Déterminer le nombre de bascules nécessaires à la
réalisation de lautomate pour n états cest le
nombre de bits pour coder n-1 en binaire. 5.
Tracer le graphe de transitions de lautomate. 6.
En déduire la table de transitions. 7. Pour
chacune des bascules, déterminer léquation
logique de son entrée à laide dun tableau de
Karnaugh. 8. Faire le schéma logique de
lautomate. Cette méthode nest pas adaptée dans
le cas où le nombre de cycles est infini. Dans ce
cas, on essaie de concevoir directement le graphe
de transitions.
139Lobjectif dun automate est de séquencer des
actions. Ces actions peuvent être déclenchées de
2 manières différentes
1. Soit une action (ou des actions) est associée
à un état. Cest-à-dire que tant que lautomate
est dans cet état, laction est réalisée.
2. Soit une action (ou des actions) est associée
à une transition (lautomate arrive ou quitte un
état). Une transition entraîne un front (montant
ou descendant selon que lon atteint ou que lon
quitte un état) qui déclenche une action. Ce mode
de fonctionnement est utilisé lorsque lon veut
seulement déclencher une action, cest-à-dire
émettre une impulsion.
140- 4.5.4 Feux tricolores (suite)
- Un feux tricolore peut avoir 2 types de
fonctionnement différents - de jour vert, orange, rouge, vert, ...
- de nuit orange, éteint, orange, éteint, ...
2 cycles différents donc 1 bit pour les
différencier. On le note c et on choisit c0 de
jour et c1 de nuit.
- On a 4 états possibles
- état 0 vert allumé (le reste éteint)
- état 1 orange allumé (le reste éteint)
- état 2 rouge allumé (le reste éteint)
- état 3 tout éteint.
4 états donc 2 bascules nécessaires.
141(No Transcript)
142(No Transcript)
143(No Transcript)
1444.5.5 Distributeur de café On veut réaliser un
automate contrôlant un distributeur de café. On
suppose quil distribue du café, avec ou sans
sucre, avec ou sans lait.
Il y a donc 4 fonctionnement possibles 1.
fournir du café noir 2. fournir du café sucré
3. fournir du café au lait 4. fournir du café
au lait sucré.
145Ces 4 cas correspondent à 4 cycles différents du
distributeur.
Les cycles sont numérotés de 0 à 3 (2 bits de
codage) 00 gobelet, café lyophilisé, eau 01
gobelet, café lyophilisé, sucre, mélangeur, eau
10 gobelet, café lyophilisé, lait lyophilisé,
eau 11 gobelet, café lyophilisé, sucre,
mélangeur, lait lyophilisé, eau. On définit les
états (certaines actions peuvent être regroupées)
état 0 repos (attente dune commande de
boisson)état 1 commande de boisson
déclenchéeétat 2 donne un gobeletétat 3
donne du café lyophiliséétat 4 donne du sucre
et un mélangeurétat 5 donne du lait
lyophiliséétat 6 donne de leau Il y a 7 états
(0 à 6) donc 3 bascules seront nécessaires.
146Graphe de transitions
147Table de transitions
148(No Transcript)
149(No Transcript)
150Lautomate que lon vient de réaliser est
incomplet, que manque-t-il ?
l'initialisation !
Faut-il initialiser à l'aide d'un signal init ou
remplacer les X par des 0 dans la table de
transitions et refaire les équations et le
circuit ?
- Il est impératif d'utiliser un signal init parce
que - le signal init permet de toujours démarrer à
l'état 0 (état de repos) - remplacer les X par des 0 permet seulement de
revenir à l'état 0 lorsqu'on démarre dans un état
non géré par l'automate. Mais il est possible de
démarrer dans n'importe quel état valide de
l'automate !
- Exemple lorsque les X sont remplacées par des 0
dans les tables - feux tricolores le feux peut démarrer au
rouge, au vert ou à l'orange, ça ne pose aucun
problème - distributeur de café il peut démarrer à l'état
3, c'est-à-dire donner du café etc. ..., alors
que l'on vient seulement de brancher le
distributeur !
151c1
c0
D2
D1
D0
D0
D2
D1
D0
D1
D2
c0
c1
152Lautomate que lon vient de réaliser contrôle
les activités du distributeur. Mais il est
intéressant de regarder linterfaçage avec
- le circuit donneur dordres
- le circuit servant les boissons.
- La commande des boissons se fait au travers dun
clavier à 4 touches, une pour chaque boisson - c café
- cs café sucré
- cl café au lait
- cls café au lait sucré.
La distribution se fera grâce à des organes
électro-mécaniques fournissant les différents
éléments nécessaires (gobelet, ...).
153Interfaçage de lautomate du distributeur de café
?
?
- Remarques
- Le clavier német que des impulsions, il faut
donc mémoriser c0 et c1 une fois générés une
impulsion quelconque déclenche le passage à
létat 1 et en même temps lécriture de 2
bascules mémorisant c0 et c1. - Le séquencement des opérations de distribution
doit être temporisé, puis arrêté au retour à
létat de repos (0)
1544.5.6 Registre à décalage En combinant le circuit
à décalage de la section 3.4.5 et un registre, on
obtient un élément couramment rencontré, un
registre à décalage. Cest un registre dans
lequel on peut écrire une donnée, la lire, et la
décaler directement dans le registre.
e3 e2 e1 e0
155e3 e2 e1 e0
À chaque entrée de donnée des bascules est envoyé
un fil du bus de données et les sorties des 2
bascules lentourant. En fonction dun signal de
commande (c1c0), un multiplexeur sélectionne
lune de ces trois données pour lécrire dans la
bascule
1564.5.7 Sérialiseur / désérialiseur de données
Lorsque lon doit transmettre une donnée, il est
courant dutiliser un seul fil et denvoyer les
bits de donnée à la queue-leu-leu cest le
principe de la liaison série. De même on voudrait
pouvoir recevoir plusieurs bits les uns après les
autres sur le même fil et reconstituer une donnée
de plusieurs bits. Comment faire ? On utilise un
registre à décalage. Émission la donnée est
présente dans le registre à décalage et le fil de
transmission est la sortie de la dernière
bascule. Il suffit alors, le registre étant en
mode lecture, deffectuer à chaque impulsion
dhorloge un décalage à droite.
1570 1 1 0 x x
x x
Réception ?
Décalages à gauche
Comment ne pas perdre la donnée après émission ?
- Associé à un automate dirigeant un compteur et 2
registres, on peut réaliser un registre à
décalage dun nombre quelconque de positions
(utile pour multiplier ou diviser par 2n)
1584.5.8 Multiplicateur La multiplication de 2
nombres binaires non signés se résume à des
additions et à des décalages
159Cette façon de procéder consiste à examiner les
bits successifs du multiplicateur, en commençant
par le bit de poids faible.
Si ce bit est à 1, on recopie le multiplicande.
Si ce bit est à 0, on inscrit des 0.
160Par rapport à la ligne précédente, les nombres
qui sont écrits sont décalés dun rang vers la
gauche.
Lorsque tous les bits du multiplicateur ont été
examinés, on les additionne pour obtenir le
produit.
Les additionneurs binaires ne traitent que 2
nombres à la fois, donc au lieu dadditionner
toutes les lignes en une fois, on les additionne
2 à 2 et on inscrit les sommes intermédiaires
dans un registre laccumulateur.
161 1 0 1 1 multiplicande
x 1 1 0 1 multiplicateur 1 0 1
1 bit du multiplicateur à 1 additionner le
multiplicande à laccumulateur et décaler le
multiplicande à gauche 0 0 0 0 bit du
multiplicateur à 0 décaler le multiplicande à
gauche 1 0 1 1 0 0 bit du multiplicateur
à 1 additionner le multiplicande à
laccumulateur et décaler le multiplicande à
gauche 1 0 1 1 0 0 0 bit du multiplicateur
à 1 additionner le multiplicande à
laccumulateur et décaler le multiplicande à
gauche 1 0 0 0 1 1 1 1 produit
00000000 00001011 00001011 00010110 00001011 00101
100 00110111 01011000 10001111 10110000 10001111
accumulateur multiplicande
162Lalgorithme utilisé est le suivant (n est la
taille des données)
pour i de 0 à n-1 faire si MT 1 1 alors
RES ? RES MD fsi décaler MD dun
bit vers la gauche décaler MT dun bit vers
la droite fpour
Cest lalgorithme standard de multiplication tel
quil est enseigné à lécole primaire.
163Le multiplicateur se compose des éléments
suivants
- un registre à décalage sur n bits pour MT
- un registre à décalage sur 2n bits pour MD
- un registre 2n bits pour RES
- un compteur à n états qui va compter les
itérations de la boucle pour - un additionneur 2n bits
- un séquenceur qui coordonne les activités de
tout ces circuits.
164Le séquenceur doit déclencher les différentes
actions à lintérieur de la boucle et contrôler
la réalisation de la boucle
- initialisation du circuit, cest-à-dire le
compteur et RES - addition de MD à RES
- décalage de MT
- décalage de MD
- arrêter le traitement quand il est fini.
- On en déduit les états du séquenceur
- 0. inactivité du multiplicateur
- 1. test du bit de poids faible de MT
- 2. décalage de MD et MT
- 3. test du compteur ditérations.
1650. inactivité du multiplicateur 1. test du bit
de poids faible de MT 2. décalage de MD et MT
3. test du compteur ditérations.
Transition de létat 0 à létat 1 il faut
déclencher linitialisation du circuit. Transition
de létat 1 à létat 2 selon la valeur du bit
de poids faible de MT, il y a addition ou non de
MD à RES. Transition de létat 2 à létat 3
décalage de MT et MD et incrémentation du
compteur.
166- Signaux reçus
- INIT init. du séquenceur
- cpt valeur courante du décompteur
- f bit de poids faible de MT
- Signaux émis
- init init. du décompteur
- reset RES à 0
- wR signal décriture dans RES
- wT signal décriture dans MT
- wD signal décriture dans MD
- dT décalage droite MT
- dD décalage gauche MD
- iC signal décrémentation décompteur
167(No Transcript)
168Multiplication de nombres signés (en complément à
deux)
- La conception est très simple
- si les deux nombres sont négatif
- on multiplie leurs compléments à deux
- si lun des deux est négatif
- on multiplie son complément à deux par lautre
nombre - on calcul ensuite le complément à deux du
résultat pour rétablir le signe.
169Schéma de principe
1x1
1x1
multiplicateur denombres positifs
x/-x
170Remarques
- La multiplication, contrairement à laddition,
nécessite de savoir si les nombres en entrée sont
des nombres signés ou pas. - En assembleur il y a donc deux instructions
disponibles pour la multiplication lune
signée, lautre non signée. - Comme vous lavez remarqué, la multiplication
est une opération bien plus complexe à réaliser
quune addition. - En fait, les premiers microprocesseurs ne
disposaient pas dinstruction de multiplication
elle devait être programmée en assembleur.
1714.5.9 Conclusion Pour terminer le chapitre sur la
logique séquentielle
- On a vu
- bascule
- registre
- mémoire
- compteur
- automate
élément de base de la logique séquentielle
mémoire la plus interne au processeur en fait
il y en a de nombreux types (cache, vidéo ...)
pour la gestion de boucles de programmes
pour le séquencement des actions
- On a réalisé un circuit nécessitant tout ce qui a
été vu - multiplication
- En fait, tout ce qui est nécessaire à la
réalisation dun processeur est maintenant connu.
1725 Le processeur
5.1 Introduction Un microprocesseur est constitué
par un assemblage de circuits exécutant les
fonctions de lunité centrale de traitement dun
micro-ordinateur. En anglais CPU central
processing unit.
Définition Un microprocesseur est un circuit
logique capable, après identification dune
séquence dinstructions, deffectuer des
traitements de linformation.
173Ce que doit savoir faire un ordinateur
Problème à résoudre
Résolu par acquisition des données
périphériques clavier, souris, CD, disque,
disquette, scanner, caméra ...
mémorisation des données, du programme à
exécuter, des calculs intermédiaires ...
mémoire centrale et registres,éventuellement
disque
réalisation des calculs
UAL unité arithmétique et logique
échanges de données
bus internes et externes, unité E/S
synchronisation des opérations
horloge et unité de contrôle
coordination de toutes les activités (calculs en
cours, bon fonctionnement, transferts avec les
périphériques ...)
microprocesseurs et contrôleurs dédiés
174Un microprocesseur est un circuit contenant les
unités suivantes
- unité de contrôle, de commande et de
synchronisation - unité arithmétique et logique
- mémoire et registres internes
- unité dentrées/sorties
- bus internes
1755.2 Bus internes Définition Un bus est un
ensemble de fils qui transportent (en parallèle
ou en série) une information dun composant à
lautre.
- Mode parallèle autant de fils que le mot
transporté contient de bits. - Transporter mot sur un bus de taille inférieure
multiplexage - 3 types de bus rencontrés
- bus de données
- bus dadresse
- bus de contrôle
- Les bus se distinguent par
- largeur
- vitesse
176- En fonction de lopération sélectionnée
- fournit le résultat
- met à jour un registre détat pour contrôler si
- résultat 0
- résultat positif / négatif
- débordement
- retenue
-
177- 5.4 Mémoire et registres
- Le microprocesseur contient plusieurs registres
et mémoire stockant données et instructions
- La taille des registres est fonction du type de
processeur - Les registres permettent daccélérer la vitesse
de traitement - Ils peuvent être synchronisés avec lUAL
178- 5.5 Entrées / sorties
- But échanger des informations avec lextérieur
(nécessaire au fonctionnement du CPU)
- Lunité dE/S assure les liaisons entre bus
internes et bus externes - Les bus dadresse est unidirectionnel
179- 5.6 Unité de commande
- Chef dorchestre qui pilote et synchronise
les unités du processeur
- Elle est pilotée par une horloge et permet de
cadencer lexécution des instructions du
programme - mise en service des circuits concernés (verrous)
- activation des communications (verrous
cellules de commutation)
Définition Un verrou est un circuit à n
sorties, n entrées de données et une entrée de
contrôle. Lentrée de contrôle autorise ou
interdit le transfert des données vers les
sorties.
180- Exemple verrou unidirectionnel simple 4 bits
181Définition Une cellule de commutation (simple)
est un circuit à 2 sorties, 2 entrées de données
et une entrée de contrôle. Lentrée de contrôle
modifie lordre de connexion des entrées de
données aux sorties.
1825.7 Modèle de Von Neumann En 1945 J. Von Neumann
(1903-1957) définit les bases de larchitecture
des calculateurs modernes.
- unification des différentes représentations
utilisées grâce au codage en binaire (algèbre de
Boole) - mémorisation des résultats intermédiaires mais
surtout des opérations elles-mêmes - représentation des opérations élémentaires à
effectuer (désignées par instructions ) - ces instructions sont regroupées en
programmes - les programmes sont stockés en mémoire
(plusieurs exécutions possibles) - la rupture de séquence donne un pouvoir de
décision à la machine en fonction des résultats
intermédiaires sans intervention humaine
1835.7.1 Principe général de fonctionnement du
microprocesseur
- Pour exécuter un programme, le microprocesseur
effectue cycliquement - lecture dun code dinstruction en mémoire
(fetch) - reconnaissance de ce code, ou décodage (decode)
- exécution dun ordre élémentaire (execute)
- positionnement sur le code de linstruction
suivante du programme - En plus de laccumulateur il faut dautres
registres pour le fonctionnement du
microprocesseur - compteur ordinal (pointe sur linstruction
suivante immédiate) - registre dinstruction
- registre détat
- registre de sommet de pile (adresse de retour
pour les sous-programmes) - registres à usage plus général (adresse, donnée,
buffer, )
1845.7.2 Séquencement des instructions Une
instruction est découpée en plusieurs
micro-opérations / micro-commandes
- Lire linstruction
- Calculer ladresse de la prochaine instruction,
incrémenter le CO - Décoder lopération
- Calculer les adresses des opérandes si nécessaire
- Lire les opérandes éventuelles depuis la mémoire
- Exécuter linstruction
- Calculer ladresse du résultat
- Ranger le résultat en mémoire
1855.7.3 Instruction Définition Une instruction
est un ordre élémentaire exécutable par un
microprocesseur donné (en un certain nombre de
cycle dhorloge).
Définition Ces instructions sont spécifique à
un microprocesseur et leur nombre est limité.
Leur ensemble constitue le jeu dinstruction du
microprocesseur.
- Classification des instructions
- instructions