Architecture des Ordinateurs Introduction Licence Informatique - USTL David Simplot |
À propos du cours Site web du cours : Les TD commencent la semaine du 15/10 Les TP commencent la semaine du 22/10 Évaluation : Trois DS en Travaux Dirigés Un projet en Travaux Pratiques (en Assembleur) • contrôle individuel sur machine Un examen en janvier2 D. SIMPLOT - Architecture des Ordinateurs |
Plan du cours Introduction Objectifs, Plan, Historique Partie I : Concepts de Base Qu’est-ce qu’un ordinateur ? Partie II : Le microprocesseur Partie III : Liens avec le système d ’exploitation Partie IV : Gestion de la mémoire et E/S 5 D. SIMPLOT - Architecture des Ordinateurs |
Historique (1/7) Préhistoire -500 Apparition des premiers outils pour calculer • bouliers, abaque 1632 invention de la règle à calcul 1642 Pascal invente la « Pascaline » 1833 Machine de Babbage 1854 Boole publie un ouvrage sur la logique 1904 invention du tube à vide 1937 Alan Turing publie des articles sur les fontions calculables 1943 Création du ASCC Mark I (Harvard - IBM) • Automatic Sequence-Controlled Calculator 1945 naissance du bug !Bogue ! 6 |
Historique (2/7) Les premiers ordinateurs 1946 Création de l ’ENIAC • Electronic Numerical Integrator and Computer • architecture Von Neuman 1947 invention du transistor 1956 premier ordinateur à transistors le : TRADIC (Bell) 1958 premier circuit intégré créé par Texas Instrument 1960 premier jeu sur ordinateur : SpaceWar! 1964 langage de programmation BASIC 1968 invention de la souris (Stanford) 1969 Systèmes d ’exploitation • MULTICS puis UNIX (Bell) 7 D. SIMPLOT - Architecture des Ordinateurs |
Historique (3/7) L ’informatique dans un garage 1971 ARPANET (ancêtre de l ’internet) 1971 Intel commercialise le premier microprocesseur • le 4004 (4 bits, 108 KHz, 2300 transistors en 10 microns)… 1972 Intel sort le 8008 (8 bits, 200 KHz, 3500 transistors) 1972 Bill Gates et Paul Allen fondent Traff-of-Data 1973 Gary Kildall écrit le système d ’exploitation CP/M 1973 Invention du C pour le développement d’UNIX 1974 le français François Moreno invente la carte à puce 1974 Motorolla commercialise son 1er processeur • le 6800 (8 bits) 1974 Intel sort le 8080 (8 bits, ) 8 D. SIMPLOT - Architecture des Ordinateurs |
Historique (4/7) L ’informatique dans un garage (suite) 1975 Traf-of-Data devient Micro-Soft 1976 Steve Jobs et Steve Wozniak commercialisent l ’Apple Computer (à base de MOS Tech. 6502) 1976 Zilog sort le Z80 • 8bits, 2.5MHz Micro-informatique 1978 Intel lance son 8086 • (16bits, 4.7 MHz, 29000 transistors à 3 microns) 1979 Taito sort le jeu Space Invaders… 1979 Motorolla commercialise le 68000 • 16/32 bits, 68000 transistors 1980 Sinclair sort le ZX80 à base de Z80... |
Historique (5/7) Micro-Informatique (suite) 1980 IBM sous-traite le système d ’exploitation de sa future machine (à base de 8086) à Microsoft… • QDOS ? 86-DOS ? MS-DOS 1982 Intel commercialise le 80286 • 16 bits, 6 MHz, 134000 transistors 1982 Microsoft édite une version MS-DOS pour compatibles ! Sony et Phillips inventent le CD-ROM 1984 Apple sort le Macintosh avec une interface graphique conviviale… ... 10 D. SIMPLOT - Architecture des Ordinateurs |
Architecture des Ordinateurs Partie I : Concepts de Base 1. Qu’est-ce qu’un ordinateur ? David Simplot |
Au sommaire... Modèle de Von Neuman /architecture réelle Représentation de l’information Algèbre de Boole et fonctions booléennes Conclusion 14 D. SIMPLOT - Architecture des Ordinateurs |
Instruction ou information ? Qu ’est-ce qui fait la différence entre une instruction ou une information ? Qu ’est-ce qu ’une information ? Dans un ordinateur, il n ’y a que des 0 ou des 1 courant ? 1 pas de courant ? 0 on parle de bit pour binary digit En mémoire, on a des mots binaires d ’une taille fixée par le microprocesseur (ex. 8 bits, 16 bits,...) 17 D. SIMPLOT - Architecture des Ordinateurs |
Système de numération (1/7) Exemple Base 4 En base 10 (décimale), on utilise les chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 En base 4, on utilise les chiffres : 0, 1, 2, 3 18 |
Système de numération (3/7) Base B Système par position: dn-1 dn-2 … d1 d0, d-1 … d-m • ex : base 4 : 301,23 (n=3, m=4) (N)B = dn-1Bn-1+dn-2Bn-2+...+d1B1+d0B0 + d-1B-1+...+d-mB-m Partie entière Partie fractionnaire • ex : (301,23)4=3.42 + 0.41 + 1.40 + 2.4-1 + 3.4-2 3.16 + 0.4 + 1.1 + 2.0,25 + 3.0,0625 = 49,3125 B = base di = valeur du i+1ième chiffre à la gauche de virgule d-j = valeur du jième chiffre à la droite de la virgule n = nombre de chiffres entiers dans N m = nombre de chiffres fractionnaires dans N 20 D. SIMPLOT - Architecture des Ordinateurs |
Système de numération (4/7) Systèmes les plus utiles B = 10 (Décimal) • chiffres : (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) B = 2 (Binaire) • chiffres : (0, 1) B = 8 (Octal) • chiffres : (0, 1, 2, 3, 4, 5, 6, 7) B = 16 (Hexadécimal) • chiffres : (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) 21 |
Système de numération (5/7) Conversions Comment passer d’un système de numération à l’autre (changement de base)? Algorithme 1: Définition favorable pour les conversions vers le système décimal (N1)A ? (N2)10 Algorithme 2: Divisions et multiplications successives favorable pour les conversions à partir du système décimal (N1)10 ? (N2)B (34,625)10 ? (?)2 22 D. SIMPLOT - Architecture des Ordinateurs |
Système de numération (7/7) Binaire ? Hexadécimal Binaire ? Hexadécimal Chaque groupe de 4 bits représente directement un chiffre hexadécimal. Hexadécimal ? Binaire Il faut convertir chaque chiffre hexadécimal à son équivalent binaire (4 bits). ex : 0000 ? 0 0101 ? 5 1010 ? A 24 |
Nombres binaires (1/8) non-signés à virgule fixe C ’est la base 2 avec un nombre de chiffres avant la virgule fixé et un nombre de chiffres après la virgule fixé dn-1dn-2dn-3 ... d2d1d0d-1…d-m avec n et m fixé on « oublie » la virgule puisque l ’on sait sa position… cas particulier : m=0, ce sont les entiers naturels ! N = (00011010110)2(7,4) = (?)10 Mot de 11 chiffres Représentation en virgule fixe, avec 4 chiffres pour la partie fractionnaire Rappel :en base 2, un chiffre = un bit (BInary digIT) 25 D. SIMPLOT - Architecture des Ordinateurs | |||||||||||||||||||||||||||||||||||||||||||||||
Nombres binaires (2/8) Exemple mots de 3 bits
D. SIMPLOT - Architecture des Ordinateurs | 26 | ||||||||||||||||||||||||||||||||||||||||||||||
Nombres binaires (3/8) Comparaison Comment savoir si a<b où a et b sont des nombres binaires ? On compare bit à bit en commençant par la gauche. Le premier qui a un 0 alors que l ’autre est à 1 est le plus petit… 01001 est plus petit que 01011 (9<11) | 000 001 010 011 100 101 110 111 | 27 | |||||||||||||||||||||||||||||||||||||||||||||
Nombres binaires (4/8) Addition Pour n et m fixés (par exemple n=4 et m=0)
1 0 1 1 0 6 + 0 1 0 1 5 Quels que soient n et m, c ’est toujours la même technique… Attention au débordement : avec n=4 et m=0, on ne peut pas faire 6+11 (0110+1011=1 0001). 28 D. SIMPLOT - Architecture des Ordinateurs | ||||||||||||||||||||||||||||||||||||
Nombres binaires (5/8) Nombres signés 3 façons de représenter +/- N avec n bits: Module et signe (noté M&S) • on utilise le bit le plus à gauche pour représenter le signe • ex : (n=4, m=0) 0011 ? 3 1011 ? -3 Complément à 1 (noté Cà1) • pour un nombre négatif, on prend la représentation de la partie entière et on inverse tous les bits • ex : (n=4, m=0) 0100 ? 4 1011 ? -4 Complément à 2 (noté Cà2) • idem, mais avant d ’inverser, on soustrait 1 • ex : (n=4, m=0) 29 D. SIMPLOT - Architecture des Ordinateurs | ||||||||||||||||||||||||||||||||||||
Nombres binaires (6/8) Exemples de nombres signés n=3, m=0
30 |
Nombres binaires (7/8) Addition binaire (par complément) Le bit signe est traité comme tous les autres bits (on les additionne!) La soustraction est un cas particulier de l'addition; les nombres négatifs sont traités comme des nombres à additionner. Addition par Cà1 (Retenue? +1) 0110 + 1110 = 1 0100 ? +1 ? 0101 6 + (-1) = 5 0001 + 1101 = 1110 ? 1110 1 + (-2) = -1 Addition par Cà2 (Directe) 0110 + 1111 = 1 0101 6 + (-1) = 5 0001 + 1110 = 1111 1 + (-2) = -1 31 D. SIMPLOT - Architecture des Ordinateurs | |
Nombres binaires (8/8) Dépassement de capacité +7 0 111 +3 0011 (-5) 1 010 Nom anglais : overflow 32 D. SIMPLOT - Architecture des Ordinateurs | |
Algèbre de Boole Pour les preuves, voir sur le site Pour pouvoir manipuler des 0 et des 1, on n ’a besoin que de trois opérations : Fonction négation (complémentation) « NON » (« NOT ») • noté avec une barre a a • 0 = 1 et 1 = 0 Fonction conjonction « ET » (« AND ») • noté « . » a.b • 0.0 = 0.1 = 1.0 = 0 1.1 = 1 Fonction disjonction « OU » (« OR ») • noté « + »a+b • 0+0 = 0 0+1 = 1+0 = 1+1 = 1 33 D. SIMPLOT - Architecture des Ordinateurs | |
Propriétés (2/2) Idempotence : a.a = a a + a = a Involution : a= a Théorème de De Morgan : a.b = a + b a +b = a.b Exercice : montrer ces propriétés à partir des axiomes... 39 |
Additionneur élémentaire (1/2) La table de vérité d ’un additionneur élémentaire est
le nombre de 1 (en entrée) est impair ? Si=1 Si = Ai ? Bi ? Ci-1 le nombre de 1 est supérieur (strictement) à 1 ? Ci=1 Ci = AiBi + AiCi-1 + BiCi-1 41 D. SIMPLOT - Architecture des Ordinateurs |
Code de Gray ou code réfléchi : Pour passer d ’une val qu ’un bit... 0 000 1 001 3 010 4 110 5 111 6 101 7 100 | Autre codages des entiers (3/3) eur à la suivante, on ne change 0 000 1 001 2 011 3 010 4 110 5 111 6 101 7 100 | 45 |
En conclusion En TD : arithmétique et logique binaire Les TP ne commencent pas cette semaine ! 46 D. SIMPLOT - Architecture des Ordinateurs |
48
Architecture des Ordinateurs Partie I : Concepts de Base 2. Composants élémentaires David Simplot |
Au sommaire... Circuits arithmétiques additionneurs, comparateurs Circuits combinatoires codeurs, décodeurs, sélecteurs, multiplexeurs, démultiplexeurs Bascules, registres & mémoires Conclusion 51 |
Comparateurs (1/4) Comparateur 1 bit :
p = « a plus petit que b » = a.b e = « a égal b » = a ? b (le XNOR/coïncidence/équivalence) g = « a plus grand que b » = a.b 59 D. SIMPLOT - Architecture des Ordinateurs |
Codeurs (2/2) Codeur 3 vers 2 : N=2, M=1
64 D. SIMPLOT - Architecture des Ordinateurs |
Multiplexeurs (1/2) Le multiplexeur (MUX) sélectionne, à l'aide de N entrées de commande (c0..n-1), une des 2N entrées d'information (e0..2N-1)et la dirige à la sortie. La sortie est égale à 1 ssi l ’entrée (c0c1…cN-1)2 est vraie.
Exemple: Multiplexeur 4 à 1. On utilise un décodeur et un sélecteur... 71 D. SIMPLOT - Architecture des Ordinateurs S | Bascules, registres et mémoires (1/3) Bascule (bistable/flip-flop) = moyen de mémoriser de l ’information Différents type de bascules RS=0, RS=0, RST, D, JK, JKT, RSME, JKME... Ex. Bascule RS=0
75 D. SIMPLOT - Architecture des Ordinateurs |
Bascules, registres et mémoires (3/3) Mémoires persistantes ROM, EEPROM, Flash Read-Only Memory Mémoires volatiles RAM (Random Acces Memory) Deux types statique ou dynamique • SRAM et DRAM 77 D. SIMPLOT - Architecture des Ordinateurs |
Architecture des Ordinateurs Partie II : Microprocesseur 1. Mémoire et Entrées/Sorties David Simplot |
Au sommaire... Machine à base de µP Mémoire Entrées/Sorties D. SIMPLOT - Architecture des Ordinateurs | 81 |
Machine à µP (2/2) 1 – Lire l’instruction 2 – Décoder l’instruction 3 – Exécuter l’instruction 4 – Préparer l’instruction suivante Performance du µP dépend Nombre de cycle d’horloge moyen pour faire 1 à 4 Vitesse de l’horloge Compacité du code Deux approches : CISC ou RISC 83 D. SIMPLOT - Architecture des Ordinateurs |
Mémoire (4/7) Assemblage de mémoire Espace d’adressage du µP Déterminé par la taille du bus d’adresses • 10 bits ? 210 mots = 1024 mots = 1 Kilomot • 16 bits ? 216 mots = 65536 mots = 64 Kilomot • 20 bits ? 220 mots = 1024x1Kmot = 1 Mégamot • 30 bits ? 230 mots = 1024x1Mmot = 1 Gigamot • 32 bits ? 232 mots = 4x1Gmot = 4 Gigamot On découpe l’espace d’adressage en « plages mémoire ». 87 |
Mémoire (5/7) Assemblages de mémoire (suite)
93
108
132
|