Architecture des Ordinateurs - PowerPoint PPT Presentation

1 / 381
About This Presentation
Title:

Architecture des Ordinateurs

Description:

Architecture des Ordinateurs IUT Informatique de Calais – PowerPoint PPT presentation

Number of Views:151
Avg rating:3.0/5.0
Slides: 382
Provided by: Frano61
Category:

less

Transcript and Presenter's Notes

Title: Architecture des Ordinateurs


1
Architecture des Ordinateurs
IUT Informatique de Calais
2
Objectif 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 ...

3
Pé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
4
1 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

5
1.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
6
Lhomme 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
8
1624 Schickard esquisse la première calculatrice
9
(No Transcript)
10
1694 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

13
Historique de l informatique1.2.2 De la
mécanique à lélectromécanique
14
1833 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
15
1854 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, ...)
16
1896 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
17
1937 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)
18
1941 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
19
1943 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
20
Historique de l informatique1.2.3
Lélectronique
21
1946 P. Eckert et J. Mauchly créent lENIAC.
Particularités 18 000 tubes, 30 tonnes, 72 m2,
140 KW, 100 kHz, 330 x/s
22
1947 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. 
23
1956 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
24
1958 1er ordinateur commercial entièrement
transistorisé par S. Cray
25
1958 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
26
1965 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
27
1968 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
28
1971 Intel vend le premier microprocesseur
Intel 4004 (4 bits, 108 kHz, 200)
1971-1973 transformation du langage B
(interprété) en langage C (compilé)
29
1972 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 
30
Avril 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 !
31
Aoû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. 
32
Janvier 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. 
33
Historique 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
36
1.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.
37
2 Logique booléenne
  • 2.1 Représentation des valeurs booléennes
  • 0 0 volt masse
  • 1 5 volts alimentation

38
2.2.2 Fonction ET Un ET est vrai si ses deux
entrées sont vraies.

39
(No Transcript)
40
2.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

42
2.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).
43
L 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.
44
2.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

46
Le 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
47
Chronogrammes 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.
49
2.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.
52
2.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)
53
Exemples -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).
54
Lorsque 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

55
2.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
56
Par 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.

57
Exemple 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

60
3 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.
61
Dé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.
62
3.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

64
Dé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

67
3.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)
77
3.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
78
3.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

79
Tableau de Karnaugh de s0
80
Tableau de Karnaugh de s0
81
Tableau de Karnaugh de s0
82
Tableau de Karnaugh de s1
83
Tableau de Karnaugh de s1
84
Tableau de Karnaugh de r
85
3.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

86
Table de vérité
87
Schéma logique
88
Sché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

90
Circuit 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
92
Sché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

94
Le 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).
95
Schéma logique du circuit de décalage sur 4 bits
96
3.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 )

97
Sché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

101
4 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.
103
4.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).
104
La 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).
105
4.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.

106
Bascule 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.
107
Dé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)
109
Schéma dune bascule D déclenchant sur front
montant
110
4.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.
111
Un registre 3 bits
Bus de données
Signaldécriture
D
112
4.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).
113
Mémoire de 4 mots de 3 bits
114
(No Transcript)
115
Remarque 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.
116
4.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.

117
4.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)
118
4.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)
120
Doù le schéma du compteur de 0 à 7
121
4.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.
122
Table de transitions
Tableau de Karnaugh de D3t1
123
Table de transitions
Tableau de Karnaugh de D2t1
124
Table de transitions
Tableau de Karnaugh de D1t1
125
Table de transitions
Tableau de Karnaugh de D0t1
126
Problè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 ...

127
Schéma dun compteur de 0 à 9 avec initialisation

128
4.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
129
Le 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
131
Comment allumer les différents feux à partir des
valeurs de D0 et de D1 ?
132
4.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)
135
4.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.
136
4.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.
137
4.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.
138
4.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.
139
Lobjectif 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)
144
4.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é.
145
Ces 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.
146
Graphe de transitions
147
Table de transitions
148
(No Transcript)
149
(No Transcript)
150
Lautomate 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 !

151
c1
c0
D2
D1
D0
D0
D2
D1
D0
D1
D2
c0
c1
152
Lautomate 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, ...).
153
Interfaç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)

154
4.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
155
e3 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
156
4.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.
157
0 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)

158
4.5.8 Multiplicateur La multiplication de 2
nombres binaires non signés se résume à des
additions et à des décalages
159
Cette 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.
160
Par 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
162
Lalgorithme 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.
163
Le 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.

164
Le 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.

165
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.
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)
168
Multiplication 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.

169
Schéma de principe
1x1
1x1
multiplicateur denombres positifs
x/-x
170
Remarques
  • 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.

171
4.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.

172
5 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.
173
Ce 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
174
Un 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

175
5.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

181
Dé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.
182
5.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

183
5.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, )

184
5.7.2 Séquencement des instructions Une
instruction est découpée en plusieurs
micro-opérations / micro-commandes
  1. Lire linstruction
  2. Calculer ladresse de la prochaine instruction,
    incrémenter le CO
  3. Décoder lopération
  4. Calculer les adresses des opérandes si nécessaire
  5. Lire les opérandes éventuelles depuis la mémoire
  6. Exécuter linstruction
  7. Calculer ladresse du résultat
  8. Ranger le résultat en mémoire

185
5.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
Write a Comment
User Comments (0)
About PowerShow.com