1
Cours Architecture des Ordinateurs
1ère Année
IUT de Nice- Côte d’Azur Département Informatique
Marie-Agnès PERALDI-FRATI Maître de Conférences
map@unice.fr
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
2
Organisation de ce cours
• Cours , TD, TP = 25h – 6 séances de cours – 3 séances de TD – 7 séances de TP
• Evaluation :
– 2 examens de contrôle continu – 1 examen final
• Dates :
– Début du cours : 5 septembre
– Fin du cours 12 Décembre (Examen final):
• Intervenants :
– Marie-Agnès Peraldi-Frati – Erol Acundeger
– Gurvan Huiban
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
3
Objectif du cours
• De quoi est composé un ordinateur :
microprocesseur, des mémoires, disque dur …?
• Quels sont les modèles sous-jacents au fonctionnement d’une machine ?
• Comment s’exécutent des programmes sur un ordinateur ?
• Quel est le lien entre le logiciel et le matériel ?
• Comment se fait l’interface avec l’extérieur ? (fonctionnement des divers périphériques)
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
4
Plan
• Introduction
– Différentes vues d ’un ordinateur – Evolution et performance des machines
• Représentation de l’information
• Algèbre de Boole
• Circuits séquentiels/Automates
• Architecture type Von Neumann – Structure d’interconnexion : bus – La mémoire
– l’unité centrale
• Exemple d ’un processeur Intel Pentium
• Couche d’assemblage – langage
– Modes d ’adressage – Procédures
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
5
Introduction
Les différentes « vues » d’un ordinateur
–Vue services –Vue matérielle –Vue fonctionnelle
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
6
Services rendus par un ordinateur
Traitement des données Rangement des données
Echange des données
Contrôle Stockage de
l’information
Traitement des données
Transfert des données
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
7
Introduction
Les différentes « vues » d’un ordinateur
–Vue services –Vue matérielle –Vue fonctionnelle
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
8
Décomposition matérielle d’un ordinateur
• Un ordinateur est constitué de plusieurs parties :
– souris– écran – clavier
– unité centrale
– lecteur de disquettes ...
• A l’intérieur de l’unité centrale
– une carte mère– une carte vidéo – des disques ....
• Sur la carte mère
– un microprocesseur
– de la mémoire (ROM, RAM) ...
• Dans le microprocesseur la puce
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
9
Constitution d’une Puce
Illustration de la loi de Moore
http://www.intel.com/research/silicon/mooreslaw.htm)
•Une puce est un carré de silicium constitué de millions de transistors
•l’intégrationdes transistors sur une puce suit la loi de Moore
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
10
Fabrication d’une puce
• Du Silicium (SI) …du sable… après l’oxygène, le constituant le plus massif et le plus répandu sur Terre.
• Un barreau de Silicium fabriqué dans un four à très haute température
• Un Wafer(disque de Silicium Dopé) 30 cm de diamètre
• Silicium est un semi-conducteur (certaines parties peuvent être plus ou moins conductrices)
• Dépôt de couches de substrat
– (dépôt d’un produit photosensible , zones imprimées par ultraviolet, acide pour le décapage des zones, dépôt d’impuretés pour créer la connectivité)
• Création de transistors inter-connectés=> plusieurs puces sur un wafer
• Découpage de la puce et tests
• Mise en boîtier et connexion des pattes du support avec les points de contacts de la puce => le microprocesseur
• 140 Millions de transistors sur le microprocesseur HP PA850
• Prix d’un transistor => 1$ en 1968 0,0000001$ en 2002
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
11
Un Wafer
Source L. Thenie Cadence Design Systems, Inc M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
12
Interconnexions de pistes
• Finesse de gravure de la grille de silicium
• Plus la gravure est fine, plus la fréquence d'horloge
(exprimée en mégahertz) s'accroît et plus la consommation électrique diminue
• Objectif => moins de 0,08 microns entre deux pistes
Source L. Thenie Cadence Design Systems, Inc M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
13
Vue Macroscopique d’une puce
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
14
Introduction
Les différentes « vues » d’un ordinateur
–Vue services –Vue matérielle –Vue fonctionnelle
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
15
Entrées/Sorties
Unité Centrale de Traitement Mémoire
Interconnexions
Interconnexions
UAL UC
Registres
Décodeur Registre Séquenceur
Contrôle Mémoire
Décomposition fonctionnelle d’un ordinateur
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
16
Fonctionnement d’une puce ?
• Une puce => carré de silicium constitué de millions de transistors qui manipulent des instructions et des données
• Une puce de Pentium II exécute 500 millions instructions /seconde – Les informations arrivent de la RAM du PC dans la puce par le
bus (BIU Bus Interface Unit)
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
17
Comment fonctionne une puce ?
BIU
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
18
Comment fonctionne une puce ?
• Une puce => carré de silicium constitué de millions de transistors qui manipulent des instructions et des données
• Une puce de Pentium II exécute 500 million instructions /seconde – Les informations arrivent de la RAM du PC dans la puce par le
bus (BIU Bus Interface Unit)
– L’information va dans un cache de code ou de donnée (CC,DC)
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
19
Comment fonctionne une puce ?
BIU
CC
DC
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
20
Comment fonctionne une puce ?
• Une puce => carré de silicium constitué de millions de transistors qui manipulent des instructions et des données
• Une puce de Pentium II exécute 500 million instructions /seconde – Les informations arrivent de la RAM du PC dans la puce par le
bus (BIU Bus Interface Unit)
– L’information va dans un cache de code ou de donnée (CC,DC) – L’unité de prédictionde branchement détermine le chemin
optimum pour l’information (BPU)
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
21
Comment fonctionne une puce ?
BIU
CC
DC
BPU
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
22
Comment fonctionne une puce ?
• Une puce => carré de silicium constitué de millions de transistors qui manipulent des instructions et des données
• Une puce de Pentium II exécute 500 million instructions /seconde – Les informations arrivent de la RAM du PC dans la puce par le
bus (BIU Bus Interface Unit)
– L’information va dans un cache de code ou de donnée (CC,DC) – L’unité de prédictionde branchement détermine le chemin
optimum pour l’information (BPU)
– Le décodeur d’instruction traduit les instructions en opérations élémentaires (DU)
– la station de réservationetbuffer de réordonnancement détermine l’ordre d’exécution le plus efficace (RU)
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
23
Comment fonctionne une puce ?
BIU
CC
DC
BPU
RU
IF/DU
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
24
Comment fonctionne une puce ?
• Une puce => carré de silicium constitué de millions de transistors qui manipulent des instructions et des données
• Une puce de Pentium II exécute 500 million instructions /seconde – Les informations arrivent de la RAM du PC dans la puce par le
bus (BIU Bus Interface Unit)
– L’information va dans un cache de code ou de donnée (CC,DC) – L’unité de prédictionde branchement détermine le chemin
optimum pour l’information (BPU)
– Le décodeur d’instruction traduit les instructions en opération élémentaire (DU)
– la station de réservationetbuffer de réordonnancement détermine l’ordre d’exécution le plus efficace (RU)
– l’unité d’exécutionexécute les opérations et rend les résultats dans le cache de donnée (EU)
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
25
Comment fonctionne une puce ?
BIU
CC
DC
BPU
RU
IF/DU EU
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
26
Comment fonctionne une puce ?
• Une puce => carré de silicium constitué de millions de transistors qui manipulent des instructions et des données
• Une puce de Pentium II exécute 500 millions instructions /seconde – Les informations arrivent de la RAM du PC dans la puce par le
bus (BIU Bus Interface Unit)
– L’information va dans un cache de code ou de donnée (CC,DC) – L’unité de prédictionde branchement détermine le chemin
optimum pour l’information (BPU)
– Le décodeur d’instruction traduit les instructions en opération élémentaire (DU)
– la station de réservationetbuffer de réordonnancement détermine l’ordre d’exécution le plus efficace (RU)
– l’unité d’exécutionexécute les opérations et rend les résultats dans le cache de données (EU)
– l’unitéde virgule flottante (FPU) effectue les opérations arithmétiques
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
27
Comment fonctionne une puce ?
BIU
CC
DC
BPU
RU
IF/DU EU
FPU
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
28
Comment fonctionne une puce ?
• Une puce => carré de silicium constitué de millions de transistors qui manipulent des instructions et des données
• Une puce de Pentium II exécute 500 million instructions /seconde – Les informations arrivent de la RAM du PC dans la puce par le
bus (BIU Bus Interface Unit)
– L’information va dans un cache de code ou de donnée (CC,DC) – L’unité de prédictionde branchement détermine le chemin
optimum pour l’information (BPU)
– Le décodeur d’instruction traduit les instructions en opération élémentaire (DU)
– la station de réservationetbuffer de réordonancement détermine l’ordre d’exécution le plus efficace (RU)
– l’unité d’exécutionexécute les opérations et rend les résultats dans le cache de donnée (EU)
– l’unitéde virgule flottante (FPU) effectue les opérations arithmétiques
– le cache de donnéetransfert ses résultats vers l’unité d’interface de bus qui les transmet à la RAM.
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
29
Comment fonctionne une puce ?
BIU
CC
DC
BPU
RU
IF/DU EU
FPU
DC BIU
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
30
Evolution et générations des machines
Génération Dates Technologie Opérations/s
1 1946-57 Tubes à vide 40k 2 1958-64 Transistors 200K 3 1965-71 SSI-MSI 1M 4 1972-77 LSI 10M
5 1978- VLSI 100M
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
31
Exemple de la famille des microprocesseurs Intel
4004
Pentium 4 Pentium III
Pentium II Pentium
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
32
Exemple de microprocesseurs
Processeur Date nombre de transistors
fréquence quartz
fréquence max (MHz)
bits taille de la gravure (microns)
4004 nov-71 2300 0,108 0,108 4 ?
4040 févr-72 2300 0,747 0,747 4 ?
8008 avr-72 3500 0,3 0,3 8 ?
8080 avr-74 6000 2 2 8 ?
8086 juin-78 29000 5 10 16 ?
80286 févr-82 134000 6 12,5 16 ?
80386 DX oct-85 275000 16 33 32 ?
80486 DX avr-89 1200000 25 50 32 ?
Pentium P5 mars-93 3100000 60 66 64 1
Pentium mars-93 3300000 90 120 32 0,6
Pentium pro oct-95 5500000 150 200 32 0,6
Pentium II juil-97 7500000 200 450 64 0,35
Pentium III mars-99 29000000 450 1000 128 0,18
Pentium 4 nov-00 42000000 1400 1500 128 0,13
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
33
Evolution des processeurs Motorola
• 6800 en 1974. Processeur 8 bits développé par Chuck et Charlie Melear.
• 68000 en Septembre 1979.
• il contenait 68000 composants. La société avait été retenue au départ, pour équiper le Personal Computer d'IBM mais le choix s'est porté ensuite sur Intel. Le 68000 fût intégré entre autres à des Stations Apollo et Silicon Graphics. On le retrouve bien sûr dans le Macintosh d'Apple.
• 68010 en 1984. Motorola créa une version optimisée de son 68000. Même si, à vitesse d'horloge égale, peu utilisé...
• 68020 en Juin 1984. (Macintosh, Commodore Amiga 1200) Processeur 16/32 bits
• 68030 en 1986. (Macintosh, NeXT Cube, station Unix Hewlett- Packard,Amiga 3000, Atari Falcon 030).
le 68030 est un processeur 16/32 bits qui intègre 300 000 transistors.
• 68040 en 1991(Macintosh, Stations diverses, Amiga 4000, NeXT).
1,2 millions de transistors, une mémoire cache de 8 Ko et un FPU. Il a aussi la particularité de fonctionner grâce à deux fréquences d'horloge.
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
34
Evolution des processeurs Motorola
• 88000: 1988. Il utilise une technologie RISC (jeu d'instructions réduit) et fonctionnait àsa sortie àla cadence de 20 Mhz (17 Mips) ou 25 Mhz (21 Mips) et 33 Mhz (28 Mips)..
• Le 88000 se compose en fait de deux processeurs: le 88100 (CPU) et le 88200 (MMU et gestion de la mémoire cache).
• L'atout majeur du 88000 était son prix relativement bas par rapport aux concurrents comme le Sparc de Sun ou le R2000.
Apple développe avec IBM et Motorola: le PowerPC ("Power Performance Chip") et utilisant une technologie RISC.
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
35
PowerPC Evolution
1M-2M -
- -
- -
L3 Cache
256K 256K-1M
256K-1M -
- -
L2 Cache
32/32 32/32
32/32 32/32
16/16 -
L1 Cache Instr / Data (Kbyte/Kbyte)
867 500
366 350
300 120
Top Speed (MHz)
2001 1999
1997 1994
1994 Ship Date 1993
G4 rev.3 (64-bit) G4
(64-bit) 740/750
(64-bit) 604
(32-bit) 603
(32-bit) 601
(32-bit)
Evolution des Power PC
Dernier né: Le G5 !
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
36
Comparaison G4 /G5
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
37
Performances des machines
• Constat : blocs de base des machines sont restés proches de la machine de Von Neumann
• les technologies ont fortement évoluées
• les améliorations des performances résultent des progrès technologiques
– Loi de Moore : tous les 3 ans on quadruple le nombre de transistors sur un chip. (Limites atteintes d’ici 30 ans)
– Augmentation de la taille des mémoires
– Augmentation de la vitesse des microprocesseurs
• Progrès non homogènes
– Accès aux mémoires toujours limités
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
38
Performances des machines
• Prévision de branchement
• Analyse du flot de données
• Exécution spéculative
• Amélioration du transfert processeur mémoire
– augmentation de la taille des bus – amélioration de l’interface des DRAM – utilisation des caches
– augmentation de la bande passante des bus
• Amélioration des entrées sorties
Il faut trouver des solutions toujours + élaborées pour exploiter les progrès techniques.
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
39
Quel est l’avenir …
• Recherches développées : ordinateurs biochimiques
» Passage de l’électronique binaire sur silicium à une électronique biologique chimique moléculaire.
» calculateurs biologiques vivants se composant de puces contenant des protéines, des enzymes, des neurones biologiques
– Avantage:
» donner des ordres à un système par la pensée, sans aucune action physique
» Capacité des réseaux de neurones très supérieure à des calculateurs //
– Inconvénient:
» L'inconvénient majeur d'un matériel biologique est sa durée de vie limitée.
» Patrinoine biologique => organisme vivant=>apprentissage=>
personnalité …..
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
40
Quel est l’avenir …
• Recherches développées : ordinateurs quantiques
» Elément d’information est le QUBITS : mélange de 0 et de 1
» Superposition des états – Avantage:
» Multiplication des états => puissance accrue – Inconvénient:
» Superposition quantique est instable et difficile à maintenir
…
» A suivre ….
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
41
Les différents types de matériel
• Ordinateurs Personnels / Systèmes embarqués – Traitement de texte, jeux, poste de travail distant - PDA HP, Sony Toshiba
- Console de jeux
• Microcontrôleurs Philips, Motorola – Temps réel, contrôle de procédé
• DSP (Digital Signal Processeurs)
– Texas TMS320C25, Lucent DSP32C, Analogue Devices ADSP2181
– Traitement du signal audio vidéo
• Supermini SUN – Serveur de fichiers
• Mainframe IBM Z series 990
– Serveurs, Banque, réservation aérienne
• SuperComputer Silicon Graphics – Calcul scientifique
– Traitement d’image
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
42
Structure générale d'un ordinateur:
Logiciel
• Software = logiciel , C'est la matière grise de l'ordinateur
– Système d'exploitation: rôle de Gestion
» DOS, Unix, Windows
» Ressources hardware
» Chargement en mémoire (programmes)
» Exécution
– Langages
» Langages évolués (C, C++, Java, Pascal, ADA ...)
» Langage Machine (Assembleur)
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
43
Plan
• Introduction
– Différentes vues d ’un ordinateur – Evolution et performance des machines
• Représentation de l ’information
• Logique, Algèbre de Boole
• Architecture type Von Neumann – Structure d’interconnexion : bus – La mémoire
– l’unité centrale
• Exemple d ’un processeur Intel Pentium
• Couche d’assemblage – langage
– Modes d ’adressage – Procédures
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
44
Représentation de l'information
• Information externe
– Formats multiples et variés – textes, images, sons ...
– Systèmes d'acquisition des données (micros, capteurs, cartes d'acquisition, scanners )
• Information interne
– Binaire 0101111...
– Nécessité d’avoir des unités d'échanges : transformation de l'information en binaire
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
45
Représentation de l'information
• un système informatique :
– Ensemble de composants = quelques centaines de milliers de transistors /composants
– Ils fonctionnent selon deux états logiques notés 0et 1 (logique binaire)
– correspond à deux niveaux électriques 0 et + 5 /3,3 volts
• Information logique (0,1) représente
– des chiffres, nombres (entiers, réels) – caractères
– chaîne de caractères
• Autres possibilités de codage (extension du binaire)
– hexadécimal, Binary Coded Decimal , ASCII ...
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
46
Représentation d'un nombre en base b
• Exemple : Base 2
N = a
nb
n+ a
n-1b
n-1+ ... + a
1b
1+ a
0b
0Poids fort Poids faible
a
ib
iPoids de a
iRang de a
i1010= 1.23 + 0.22 + 1.21 + 0.20 1010 = 10102
Indique la base
a
i= 0 ou 1 => bit
base
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
47
Passage de la base 10 à la base 2
•
division successivesdu nombre par 2 pour la partie entière• multiplications successivesdu nombre par 2 pour la partie fractionnaire
• Remarques
– la représentation en base 2 n'est pas forcément finie (exemple 0,210) – limitation du nombre de bits =>erreur de troncature
20 2 0 10 2
0 5 2 1 2 2
0 1 2 1 0 Bit poids faible
Bit poids fort
2010 = 101002
0,375 * 2 = 0, 75 0,75 * 2 = 1, 5
0,5 * 2 = 1 0,37510 = 0.0112 20,37510 = 10100.0112
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
48
Numération Octale et Hexadécimale
• Octale : 8 symboles
0, 1, 2, 3 ... 7• Hexadécimale : 16 symboles
0, 1, 2, 3 ...9, A, B, C, D, E, F• Passage de la base 10 à la base 8 ou 16 – divisions successives par 8 ou 16
• Passage de la base 2 à la base 8 ou 16
– décomposition en groupe de 3 ou 4 bits– remplacement de chaque groupe par sa valeur dans la nouvelle base
Exemples : 1011101,01101
21 011 101,011 010 101 1101,0110 1000 Base 8
Base 16
= 135,32
8= 5D,68
16M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
49
Représentation des nombres
• Ordinateurs travaillent sur un nombre fixe de bits
• La notion d'octet
– un octet = 8 bits
• La notion de mot
– un mot = 8, 16, 32 64 bits – Intel 80386 et 80486 -> 32 bits – Pentium 4 -> 128 bits
0 1 2 3 4 5 6 7
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
50
Exemple en langage C
TYPE DESCRIPTION TAILLE
int entier standard signé 4 octets: - 2
31à 2
31-1 unsigned int entier positif 4 octets: 0 à 2
32short entier court signé 2 octets: - 2
15à 2
15-1 unsigned short entier court non signé 2 octets: 0 à 2
16char caractère signé 1 octet : - 2
7à 2
7-1 unsigned char caractère non signé 1 octet : 0 à 2
8Extrait cours API R. Lecat
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
51
Représentation des nombres ...
• Représentation Décimal codé binaire :
Chaque chiffre en base 10 est codé sur 4 bits (un quartet).
• Exemple:199510 = 0001 1001 1001 0101dcb
- Le signe est généralement stocké dans le quartet le moins significatif.
- Selon les constructeurs + = 0000 et - = 1111
+ = 1011 et - = 1101 (Correspond aux caractères + et - en ascii)
• Remarques:
– les représentations de nombres entiers en C2 se fait sur 16 bits
– Cette représentation évite les inconvénients mentionnés ci- dessus.
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
52
Représentation des données
• Caractères à coder, alphabet + , ! * " %
• Code ASCII (7 bits + 1 bit de parité)
– American Standard Code for Information Interchange – permet 128 combinaisons différentes 27
– utilisation de cette table ...
• Code EBCDIC (8 bits, 256 caractères)
– Extended Binary
Coded
Decimal Interchange Code – Utilisé principalement par IBM• Code ANSI
– American National Standard Institute – Utilisés par certains logiciels (Windows)
– Code ASCII + extensions multilingue alphabets occidentaux
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
53
Table des codes Ascii (7 bits Norme ISO 646)
‘G’ est codé 47h soit 0100 0111
2American Standard Code for Information Interchange
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
54
Evolution du code ASCII
• "iso-latin-1", également connu sous le nom de iso-8859-1
– le huitième bit qui servait pour le contrôle de parité, va être utilisé pour coder plus de caractères.
– Les codes ASCII de 0 à 7F (127 en décimal) demeurent inchangés,
– les codes supérieurs (ceux qui ont le bit 7 à 1) représentent quelques symboles supplémentaires, ainsi que les lettres accentuées qui satisfont aux exigences des langues de l'Europe de l'Ouest
• Unicode
– Plus de déclinaison comme dans les codes ISO, – Codage sur 2 octets de l’ensemble des signes,
– Codage contient des informations telles que le sens d’écriture.
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
55
Code iso-latin-1
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
56
Conclusion sur la représentation de l'information
• Binaire (0, 1)
• Bases 2, 8, 10, 16
– Passage d'une base à une autre – Calculs dans les différentes bases
• Convention de représentation des nombres – Classique
– Complément à 2 – DCB
• Codage des caractères
– ASCII, ANSI, EBCDIC (IBM), Code ISO, Unicode
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
57
Lien de la réprésentation de l’information avec l’architecture matérielle
• Information sur la taille des variables 2 octets, 4 octets …
• Ces informations sont des données
• Transmission et stockage des données doit être efficace
– Un bus doit être au moins de 32 bits pour les données permet de transferer en un cycle un entier
– Un bus 64 bits peut transférer deux entiers dans le même temps
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
58
Plan
• Introduction
– Décomposition fonctionnelle/matérielle d ’un ordinateur
– Evolution et performance des machines
• Représentation de l’information
• Algèbre de Boole
• Circuits séquentiels/Automates
• Architecture type Von Neumann – Structure d’interconnexion – La mémoire
– l’unité centrale
• Exemple d ’un processeur Intel Pentium
• Couche d’assemblage – langage
– Modes d ’adressage – Procédures
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
59
Logique, Fonctions logiques, Algèbre de Boole
• De nombreuses grandeurs peuvent prendre une infinité de valeurs => vitesse d’une voiture,
température … Valeurs continues
• Ces valeurs continues dans les systèmes
analogiques peuvent être représentées par un nombre fini de Valeurs discrètes dans les
systèmes numériques
• D’autres systèmes travaillent avec des valeurs ne prenant que 2 états : vrai ou faux.
– Interrupteur ouvert ou fermé – Lampe allumée ou pas
– Affirmation vraie ou fausse – Grandeurs > ou < à un seuil
Valeurs logiques
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
60
Variables logiques : opérateurs de base ET et OU
Comment exprimer ce problème par des variables logiques ?
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
61
Variables logiques : opérateurs de base ET et OU
• Interrupteurs : Variables A, B, C, D
• Lampe : Variable L
• Moteur : Variable M
Logique Positive : 1=Vrai=Actif 0=Faux=Inactif OU est noté +
ET est noté x Equations logiques :
L = A + B
M = C X D = C . D
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
62
Variables logiques : opérateurs de base NON
• Lampe A allumée : A = 1
• Lampe A éteinte : A = 0 ou A = 1 (Complément de A.)
• Un interrupteur peut être caractérisé par deux variables A et A soit 2 interrupteurs différents pouvant être actionnés en même temps.
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
63
Variables logiques et Signal électrique
• Un signal électrique peut prendre deux valeurs de tension:
– v variant de 0 à 12 Volts
– V variable logique est associée à v , telle que
» V = 0 quand la tension est nulle
» V = 1 quand la tension =12 Volts
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
64
Circuits combinatoires et Séquentiels
• Elément de l’algèbre de Boole => circuits combinatoires
– circuits de base des ordinateurs
• Théorie des automates => circuits séquentiels
– modèle de base pour le fonctionnement des circuits
• Signaux logiques et Analogiques
– Traitement de l’information
» traiter
» mémoriser des signaux électriques
» transférer
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
65
Fonction logique
A B C D
Transformation
S• Une fonction logique exprime une transformation des entrées d’un circuit pour donner une ou plusieurs sorties.
• Table de vérité pour la conception de fonction logique complexe.
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
66
Circuits combinatoires
Système combinatoire =>
un ensemble fini d ’entrée E un ensemble fini de sortie S Exemple :
– portes ET/OU
– Aiguillage d’info (multiplexeur demultiplexeur) Algèbre de Boole
E f S
E2
=
SE1 E1 /E2 0 1
0 1 0
1 0 1
Sortie = f(Entrée)
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
67
Tables de vérité
Entrées Sortie
A B C S
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 0
• 3 entrées =>2
3= 8 combinaisons possibles
• Ecriture dans l’ordre des entiers naturels
• Fonction logique :
Quand la fonction vaut-elle 1 ?
S = A.B.C + A.B.C + A.B.C + A.B.C
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
68
Tables de vérité à plusieurs sorties
Entrées Sorties
A B C S1 S2
0 0 0 0 1
0 0 1 0 0
0 1 0 0 0
0 1 1 1 0
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 0 1
• Fonctions logiques :
S1 = A.B.C + A.B.C S2 = A.B.C + A.B.C
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
69
Tables de vérité de ET , OU et NOT
X Y X.Y
0 0
1 0 1
0 0 0 1 0
1 1
X Y X+Y
0 0
1 0 1
0 1 1 1 0
1 1
ET (AND) OU (OR) NON(NOT)
1 0 0 1
X X
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
70
Tables de vérité de
NON ET, NON OU et OU Exclusif
NON ET (NAND) NON OU (NOR) OU Exclusif (XOR)
1 1 1 0 1
1 0
0 0
1 0 1
X.Y X Y
1 0 0 0 1
1 0
0 0
1 0 1
X+Y X Y
0 1 1 0 1
1 0
0 0
1 0 1
X Y X Y
X Y = X.Y + X.Y OU Exclusif détecte la différence de deux variables.
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
71
Simplification des fonctions logiques
• Exemple : Deux voyants A et B. On veut
déclencher une alarme quand au moins un des deux est allumé
• 1ère Solution : Alarme = A.B + A.B + A.B
• 2ème Solution : Alarme = A + B 2ème Solution plus simple
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
72
Simplification des fonctions logiques
• Trois techniques de simplification :
– Le raisonnement comme précédemment
– L’algèbre de Boole : Algèbre des variables binaires et booléennes.
– La méthode graphique par les tableaux de Karnaugh.
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
73
Algèbre de Boole
• Commutativité : X.Y = Y.X X+Y = Y+X
• Associativité : X.(Y.Z) = (X.Y).Z X+(Y+Z)=(X+Y)+Z
• Distributivité : X.(Y+Z) = X.Y+X.Z X+Y.Z=(X+Y).(X+Z)
• Identité : 1.X = X 0+X = X
• Nullité : 0.X = 0 1+X = 1
• Idempotence X.X = X X+X = X
• Inversion X.X = 0 X+X = 1
X+X.Y=X+Y à démontrer X+X.Y=X+Y à démontrer
• Simplifications très utiles :
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
74
Algèbre de Boole
• Loi de De Morgan :
X.Y = X+Y X+Y = X.Y
• Algèbre du OU Exclusif : X Y = X.Y + X.Y X Y = X Y = X Y
= X.Y + X.Y à démontrer
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
75
Tableau de Karnaugh
• Obtenir l’expression logique la plus simple d’une fonction F
• Trouver des termes communs pour un système afin de limiter le nombre de circuits
• De tenir compte de combinaisons de variables d’entrées jamais utilisées en mettant 0 ou 1 en sortie.
• Pratique pour 4 variables d’entrées, possible pour 5 et 6
Principe : Simplification par adjacence A.B.C + A.B.C = A.B(C+C) =A.B
• En choisissant un code de Gray* pour coder les entrées on retrouve les adjacences sur des cases côte à côte.
*Distance de 1 entre deux mots de code consécutifs
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
76
Tableau de Karnaugh
• Tableau à deux variables d’entrées
1 0
1
1 0
0
1 B 0
A
• Tableau à trois variables d’entrées
S = CA+B S = B
S = A.B+AB
1 1 1
1 1
0
0 1 0
B 0 A
C 1
1
1 0 1
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
77
Tableau de Karnaugh
• Tableau à quatre variables d’entrées
01 1
1 1
00
0 1 0
C 0 A B
D 1
1
1 0
1 1
1
11 10
S = C.A+D.C.B
• Etats non utilisés : états qui existent en théorie mais qui en pratique ne peuvent jamais apparaître pour des raisons physiques ou mécaniques.
01 - -
1 00
0 1 0
C 0 A B
D 1
1
1 0
1
- 1 11
10
1 1
S = A.D+B.C
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
78
Circuits logiques de base
• Circuits standards :
– Matérialisent les opérateurs de bases – 2 3 4 ou même d’avantage d’entrées – Fonctionnent sur des signaux électriques – Egalement appelés Portes logiques
ET/ AND A
B
A . B
Non ET/ NAND A
B A . B
Non OU/ NOR A
B
A + B OU/ OR A
B
A + B
A A
NOT
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
79
Circuits logiques de base
• Circuits NAND ou NOR sont plus rapides et moins
encombrants qu’un ET ou OU. On utilise dans ce cas De Morgan pour transformer les circuits :
• S=AB+CDE+F S=AB.CDE.F
A B
S C
D EF 1
A B
S C
D EF 1
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
80
Circuits logiques
• Sorties 3 états : 0 ou 1 (Si E =1) ou ouvert (Si E =0)
• Le signal E est le signal de validation de la sortie S
• Les sorties des circuits logiques nommés mémoires sont toutes de type 3 états
• Par l’intermédiaire de circuits nommés BUS le
Microprocesseur peut accéder aux contenus de chaque circuit mémoire
A S
E
S = A.E
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
81
Exemple de circuits combinatoires
• Codeurs décodeurs n vers 2
n:
– Commander un organe différent parmi 2nau moyen de n bits.
– Les lignes Csi permettent de valider le circuit. Ici pour que le circuit fonctionne ces lignes doivent être à vrai cad à 100.
– Ces lignes permettent des montage plus complexes à plusieurs décodeurs.
Y0 Y1
Y7 Décodeur
3/8 C
B A
CS0 CS1 CS2
Y0= C.B.A Y1= C.B.A
…
Y7= C.B.A
Y0= C.B.A .CS0.CS1.CS2
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
82
Exemple de circuits combinatoires
• Multiplexeur 4 voies
e3 e1
1
e2 e0
0
1 B 0
A
S=e0.B.A+e1.B.A+e2.B.A+e3.B.A
Multiplexeur 4 voies e3
e2 e1 e0
S
B A
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
83
Plan
• Introduction
– Décomposition fonctionnelle/matérielle d ’un ordinateur
– Evolution et performance des machines
• Représentation de l’information
• Algèbre de Boole
• Circuits séquentiels/Automates
• Architecture type Von Neumann – Structure d’interconnexion – La mémoire
– l’unité centrale
• Exemple d ’un processeur Intel Pentium
• Couche d’assemblage – langage
– Modes d ’adressage – Procédures
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
84
Circuits séquentiels
Exemple :
– Bascule SR
– Fonction de décalage – Fonction de comptage...
Théorie des automates
Reset Bascule SR S
Set
Sortie = f(entrée; état interne) Système séquentiel =>
un ensemble fini d’entrées E un ensemble fini d’états Q
une fonction de transitions G :Q x E -> Q un ensemble fini de sorties S
un état initial Q0
une fonction de sortie Mealy F : Q x E -> S Moore F ’: Q -> S
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
85
Circuits Séquentiels
• Fonctionnement :
Les circuits séquentiels sont conçus à partir de : circuits combinatoires (algèbre de Boole) + Etat interne
• Utilisation :
– mémorisation de l’information – structure de contrôle
– unité de commande
– support théorique pour le développement (algo, langages, techniques de compilation)
– modèle d’expression des systèmes d’état.
– …
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
86
Exemple de circuit séquentiel
• Bascule RS :
– 2 entrées : Set et Reset – 2 variables en sortie
– La sortie d’une bascule dépend de ses entrées et de son état interne (la valeur antérieure de la sortie).
et Q Q
R S Qt Qt+1
0 0 X X
0 1 X 1
1 0 X 0
1 1 Interdit Interdit
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
87
Exemple de circuit séquentiel
• Bascule JK
• Idem bascule RS
• Indéterminisme levé
J K Qt Qt+1
0 0 X X
0 1 X 1
1 0 X 0
1 1 X X
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
88
Utilisation de ces bascules
• Compteur modulo
• Mémoires
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
89
Circuits séquentiels
• Modèles pour la représentation de ces circuits
– Machine de MOORE
» q =G (q,e)
» s = F (q)
» la sortie est liée à l ’état. La durée de la sortie est égale au temps resté dans l ’état
– Machine de MEALY
» q=G(q,e)
» s=F(q,e)
» la sortie est liée à la transition. La durée de la sortie est égale au temps que dure l ’entrée.
• Modèles asynchrones :
– le temps n’intervient pas explicitement,
– problèmes de comportement (stabilité des entrées )
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
90
Circuits séquentiels Synchrones
• Ajout d’une horloge => Circuit séquentiel synchrone
– déclenchement des signaux – chronologie des actions – Exemple : séquenceur.
• Automate d’état fini synchrone
Sortie = f(entrée; état interne; horloge)
E f S
h
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
91
Circuit séquentiels synchrones
– Stimulus : entrée E à l’instant t E(t) – Instant d’observation : t, t+1, t+2, ...
– Fonction de transition :
» Machine de MEALY
q à l’instant t+1 q(t+1) = G[ q(t), e(t) ] s à l’instant t+1 s(t+1) = F[ q(t), e(t) ]
» Machine de MOORE
q à l’instant t+1 q(t+1) = G[ q(t), e(t)]
s à l’instant t+1 s(t+1) = F[ q(t)]
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
92
Description d ’un circuit séquentiel
• Mémoire d’une position binaire – une entrée e 0/1 – deux états q 0/1 – une sortie s 0/1
• l’état de l’automate q(t+1) dépend de e(t) e(t) = 0 => q(t+1) = 0
e(t) = 1 => q(t+1) = 1
• la
sortiede l’automate s(t+1) dépend de q(t)
q(t) = 0 => s(t+1) = 0 q(t) = 1 => s(t+1) = 1
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
93
Description d’un circuit séquentiel
•
Graphe: Exemple de machine de Mealy
•
Table :•
Textuel (équations booléennes):– si (Etat0 et 0) alors (0,Etat0) – si (Etat0 et 1) alors (0,Etat1) – Si (Etat1 et 0) alors (1,Etat0) – si (Etat1 et 1) alors (1,Etat1)
1/0
0/1
Etat 0 Etat 1 1/1
0/0
0 1
Etat 0 Etat 1
Etat0/0 Etat1/0
Etat0/1 Etat1/1 Ligne : état courant
Colonne : entrée
Cellule : état suivant / Sortie Rond : état
Arc : transition entre état Label : entrée / Sortie
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
94
Mise en œuvre d ’un automate en C
int Etat ;
void Sortie0_0() {printf("0\n");}
void Sortie1_1() {printf( »1\n");}
…..
void main() { char Entree;
Etat=0 ; // état initial do {
printf(" Etat=%d\n",Etat);
printf(" Commande==>");
Commande=getche();
switch(Etat) { case 0 :
switch (Entree) {
case '0':Sortie0_0(); Etat=0; break;
case '1':Sortie0_1(); Etat=1; break;
}break;
case 1 :
switch (Entree) {
case '0':Sortie1_0(); Etat=0; break;
case '1':Sortie1_1(); Etat=1; break;
} }
}while (1);
}/* end main */
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
95
Mise en œuvre d ’un automate en C
int Etat;
void Sortie0_0(){printf("0\n");}
void Sortie1_1(){printf( »1\n");}
…..
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
96
Mise en œuvre d ’un automate en C
int Etat ;
void Sortie0_0() {printf("0\n");}
void Sortie1_1() {printf( »1\n");}
…..
void main() { char Entree;
Etat=0 ; // état initial do {
…
}while (Etat !=3|| Etat !=4 );
}/* end main */
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
97
Mise en œuvre d ’un automate en C
int Etat ;
void Sortie0_0() {printf("0\n");}
void Sortie1_1() {printf( »1\n");}
…..
void main() { char Entree;
Etat=0 ; // état initial do {
printf(" Etat=%d\n",Etat);
printf(" Commande==>");
Entree=getche();
}while (1);
}/* end main */
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
98
Mise en œuvre d ’un automate en C
int Etat ;
void Sortie0_0() {printf("0\n");}
void Sortie1_1() {printf( »1\n");}
…..
void main() { char Entree;
Etat=0 ; // état initial do {
printf(" Etat=%d\n",Etat);
printf(" Commande==>");
Commande=getche();
switch(Etat) { case 0 :
case 1 :
} }while (1);
}/* end main */
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
99
Mise en œuvre d ’un automate en C
int Etat ;
void Sortie0_0() {printf("0\n");}
void Sortie1_1() {printf( »1\n");}
…..
void main() { char Entree;
Etat=0 ; // état initial do {
printf(" Etat=%d\n",Etat);
printf(" Commande==>");
Commande=getche();
switch(Etat) { case 0 :
switch (Entree) {
case '0':Sortie0_0(); Etat=0; break;
case '1':Sortie0_1(); Etat=1; break;
}break;
case 1 :
switch (Entree) {
case '0':Sortie1_0(); Etat=0; break;
case '1':Sortie1_1(); Etat=1; break;
} }
}while (1);
}/* end main */
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
100
Plan
• Introduction
– Décomposition fonctionnelle/matérielle d ’un ordinateur
– Evolution et performance des machines
• Représentation de l’information
• Algèbre de Boole
• Circuits séquentiels/Automates
• Architecture type Von Neumann – Structure d’interconnexion
– La mémoire – l’unité centrale
• Exemple d ’un processeur Intel Pentium
• Couche d’assemblage – langage
– Modes d ’adressage – Procédures
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
101
Les Bus
Mémoire
Unité Centrale Unité de commande UAL
Registres IP, SP, CS, RI ...
UE UE UE
Bus
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
102
Le bus
• Ensemble de “fils” connectant des unités fonctionnelles au sein d’un ordinateur
• Bus interne CPU ⇔ cache
[300 bits - Pentium pro]• Bus interne à une machine
[lignes dédiées]– lignes adresses [16, 32, 48 bits]
– lignes données [8, 16, 32 ou 64 bits]
– lignes pour signaux de contrôle + logique
• Bus externe
[lignes multiplexées]– nappe + logique
– Arbitrage : centralisé/décentralisé ; Synchrone/non
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
103
Schéma de fonctionnement du bus
• Connexion entre le processeur et la mémoire – exemple : lecture d’un mot de la mémoire
Processeur lignes adresses Mémoire lignes données
Memory Read
Transfert ACK
Memory Read : le processeur signale qu’il a placé l’adresse sur la ligne Transfert ACK : la mémoire répond que les données sont disponibles
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
104
Terminologie des bus d’un PC
• Bus local : ISA et/ou PCI
– Industry Standard Architecture, adressage 16 bits (64 ko), 8 MHz – Peripheral Component Interconnect (plus récent), 33 MHz
» Vitesses “carte mère” : 66, 75, 83, 100 (133, 200) MHz
• Bus externe
– IDE : Integrated Drive Electronics
» connexion carte mère ⇔contrôleur disque – SCSI : Small Computer System Interface
» 7/14 périphériques, 8/16 bits, 10 Mb/s.
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
105
Carte mère et Bus PC
• Format standard
– Classique (AT), ATX
• Supporte :
– processeur (ou carte fille Slot1) – mémoire (RAM, cache, BIOS)
» SIMM, DIMM
– “chipset” (gestion logique bus) – bus ISA et/ou PCI
– peut inclure un contrôleur SCSI – cartes d’extention
– connecteurs divers
périphériques, alimentation
Ex : carte Pentium
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
106
Carte mère Pentium Pro
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
107
Structure d’un bus
• Voies de communication entre 2 ou plusieurs équipements
• Médium de communication partagé
– signal émis par un équipement disponible en reception par équipements connectés
– Une seule émission à la fois – transmissions en //
• Structure de bus – 50 à 100 lignes – lignes de données – lignes d’adresse – lignes de contrôle
• Protocole d’échange – Envoi d’une donnée
– Récupération d’une donnée
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
108
Caractéristiques d’un bus
• Type de bus – dédié – multiplexé
• Méthode d’arbitrage
– Solution centralisée par arbitre de bus
– Chaque module contient sa logique d’accès : Solution distribuée
• Caractéristiques temporelles – Synchrone
– Asynchrone
• Largeur de bus
– largeur du bus de données => impact sur performances
– Largeur du bus d’adresse => capacité d’adressage
• Types de transfert de données – multiplexée
– non multiplexée
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
109
Bus du processeur Pentium III
• Bus de données
– 64 bits (8 chemins de 8 bits)
– Taux de transfert de 1Go/s à 133 Mhz – Espace mémoire accessible de 64 Go
• Bus d’Adresse
– adresse 32 bits
– Broche d’adresse haute A31 à A3 et broches de sélection d’octets BE7-BE0
• Vérification de la parité
– valable sur les bus d’adresse et de donnée. broche DP7 à DP0
• Bus de contrôle
– Signaux qui déterminent et imposent le cycle du bus du microprocesseur
– HIT, HITM, HLDA ...
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
110
Hiérarchie de bus
• Problème :
– nombre d’équipements augmente => performance diminuent – le bus est un goulet d’étranglement
• Solution :
– hiérarchie de bus
• Architecture traditionnelle
– Bus localde la mémoire cache vers le processeur – Contrôleur de cache connecte bus local/bus système – l’extension de busrelié au bus système par une interface
d’extension.
• Architecture haute performance
– Bus haute performanceintégré dans le système
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
111
Architecture bus traditionnelle
Mémoire principale
Processeur Cache
Contrôleur d’E/S Locales Bus local
Bus Système
Extension de bus Réseau
SCSI Interface d’extension
de bus Modem
série
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
112
Processeur
Contrôleur
PCI Mémoire
Slot PCI Contrôleur
ISA
Disque USB IDE
Clavier Souris
Imprimante Carte
son
Slot ISA
PCI
ISA Bus mémoire (système)
Accélérateur AGP Rapide
Lent
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
113
Architecture haute performance
Mémoire principale Processeur Cache/Pont
Bus local
Bus Système
Extension de bus FAX
SCSI
Interface d’extension
de bus Modem
Série Bus Grande Vitesse
Vidéo LAN Graphique
SCSI
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
114
Organisation d’un PC
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
115
La mémoire
Mémoire 0110111...
Processeur
• Unité de traitement
• Unité de commande
• Registres Unité
d'Echange UE UE
Bus 010111...
•Clavier
•Souris
•Micro
•CD-Rom
•Disquette
•Modem
•Disque
•Ecran
•Imprimante
Partie active Partie
passive
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
116
La mémoire
•
Stockedes informations utilisées par le processeur
•
Juxtapositionde cellules (la plus petite quantité de mémoire adressable).
• Chaque cellule est numérotée (adresse)
• Généralement les mémoires sont adressables par octets
•
Tailled'une cellule – octet : 8 bits (byte)
– word : 16 bits, Double word : 32 bits, Quad word 64 bits : en fonction de machines (16 ou 32 bits)
•
Notation:
– Si M désigne une cellule mémoire – [M] représente son contenu
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
117
Organisation d’une mémoire
• Mémoire de 12 octets soit 96 bits :
– Organisation en cellules élémentaires (8bits), 12 bits ou 16 bits :
Adresses 0 1 2 3 4 5 6 7 8 9 10 11
12 bits 16 bits
8 bits Adresses
0:0 0:1 0:2 0:3 0:4 0:5 1:0 1:1 1:2 1:3 1:4 1:5
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
118
Caractéristiques des mémoires
• Capacité : quantité d'informations qu'elle peut stocker
– kilo-octet -> Ko = 1024 octets – méga-octet -> Mo = 1024 Ko – giga-octet -> Go = 1024 Mo – téra-octet -> To = 1024 Go
• Exemple: Une mémoire centrale de 1 Méga mots de 16 bits
– 1 x 1024 K-mots – 1 x 1024 x1024 mots – 1 x 1024 x1024 x 2 octets – 1 x 1024 x1024 x 2 x8 bits
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
119
Caractéristiques des mémoires
• Volatilité
– laps de temps durant lequel elle maintient les informations – Alimentation de ces mémoires
– mémoire de travail de l'ordinateur, mémoire sur support magnétique
• Temps d'accès
– temps pour accéder à l'information
– de l'ordre de la nano-seconde ( 70 10-9) pour les mémoires actuelles
– de l'ordre de la milli-seconde pour les supports magnétiques
• Type d'accès
– accès direct à l'information, accès aux mots-mémoire par leur adresse.
– accès séquentiel
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique
120
Caractéristique des mémoires
• mémoire vive: RAM
– Mémoire volatile
– Cycle de lecture/écriture (@ bus d'adresse, V bus de donnée, CS, R/W)
– Mémoire vive statique -> SRAM – Mémoire vive dynamique -> DRAM – Mémoire vive dynamique Synchrone -> SDRAM
• mémoire morte: ROM, PROM, EPROM, EEPROM
– A lecture seule, – Conserve l'information
– ROM : information stockée de manière définitive, – PROM : Programmable par l'utilisateur
– EPROM -EEPROM : Programmable + effacement par UV ou électriquement
M.-A. Peraldi-Frati- IUT de Nice Dép. Informatique