110101010000101101010101010101010101010100000100010100001010010101111101010101101010110000101 STRUCTURE MACHINE 110101010000101101010101010101010101010100000100010100001010010101111101010101101010110000101 Module : structure machine Volume : 1 cours + 1 TD Email : mchemsedine@yahoo.fr Site : www.lmdmi.sitew.com Facebook : structure machine Objectifs du module : 1. Connaître les différents systèmes de numération et leurs conversions (2, 8, 16) 2. Connaître les différentes techniques de représentation des données dans la machine 3. Etudier l algèbre de Boole pour l analyse et la synthèse des circuits combinatoires Plan du cours : Chap0 : Généralités Chap1 : Les systèmes de numérations Chap2 : La Représentation interne des données Chap3 : Algèbre de Boole Chap4 : Les circuits combinatoires 1 Semchedine Moussa 2016
Chapitre 0 : généralités Un ordinateur? C est une machine électronique capable de traiter toute sorte d information (texte, image.) Pourquoi utiliser un ordinateur? Pour accélérer le traitement et avoir des résultats de calcul corrects (rapidité +précision) Système informatique? C est l ensemble des programmes (software) et matériels (hardware) nécessaires pour satisfaire les besoins informatiques d un utilisateur Architecture d un ordinateur? L architecture des ordinateurs suit la décomposition proposée par Von Neumann 1945 Mémoire centrale Unité contrôle Unité arith/log Unité d entrée Unité de sortie Figure1 : L architecture de Von Neumann Processeur (CPU, Central Processing Unit) : est un circuit électronique qui interprète les instructions et traite les données d un programme. Sa fréquence s exprime en GHz/s (milliards de cycles par secondes). Le CPU est divisé en deux parties : 1. UC :(unité de contrôle) : responsable de la lecture en mémoire principale et de l interprétation des instructions 2. UAL (unité arithmétique et logique) : ensemble de circuits chargés d exécuter les opérations arithmétiques (add, sous, div, multipl) et logiques (and, or, not) Mémoire centrale (RAM/ ROM) : permet de stocker de l information (programmes et données) Unité d entrée Unité de sortie Remarque : les différents composants sont reliés par des bus de communication 2 Semchedine Moussa 2016
Chapitre 0 : généralités Représenter les données à l intérieur de la machine? Le bit (binary digit) est la plus petite unité de stockage d information (0 ou 1) Le matériel informatique fonctionne sur la base des impulsions électriques, le courant passe (valeur 1) ou il ne passe pas (0) Le langage machine est la suite de bits (0 ou 1) compréhensible par la machine Les 1 et 0 sont des signes symboliques, réellement dans la machine il n y a plus de 1 et 0 Unités de mesure en informatique? 1 octet = 8 bits 1 Ko (kilo octets) = 2 10 octets=1 024 1 Mo (Mega octets) = 2 20 octets 1 Go (Giga octets) = 2 30 octets 1 To (Tera octets) = 2 40 octets 1 Po (Peta octets) = 2 50 octets 1 Eo (Exa octets) = 2 60 octets 1 Zo (Zetta octets) = 2 70 octets 1 Yo (Yotta octets) = 2 80 octets 3 Semchedine Moussa 2016
Définition: Un système de numération désigne le mode de représentation des nombres à l aide des symboles appelés chiffres. Le nombre de chiffres utilisés pour représenter les valeurs est appelé une base b. 1. Système de base b La représentation d un nombre dans un système de numération de base b, où les chiffres utilisés { c 0, c 1, c 2.., c i } et (0 c i < b) est comme suit (c n c n-1 c 1 c 0 ) b c 0 est le chiffre de poids faible c n est le chiffre de poids fort Pour convertir un nombre de base b en décimal, il suffit d utiliser l écriture polynomiale suivante : c n xb n + c n-1 xb n-1 +.+ c 1 xb 1 + c 0 xb 0 2. Système décimal (base 10) C est le système de numérotation le plus utilisé par l Homme (choix naturel). La base b=10 et les chiffres {0,1,2,3,4,5,6,7,8,9}, ainsi l écriture polynomiale d un nombre décimal est sous la forme : c n x10 n + c n-1 x10 n-1 +.+ c 1 x10 1 + c 0 x10 0 Exemple : 6375= 6x10 3 +3 x10 2 + 7 x10 1 +5x10 0 3. Système binaire (base 2) C est le système de numération utilisé en informatique. La base b=2 et les chiffres {0,1} Exemple : (1011001) 2 est un nombre binaire 4. Système octal (base 8) Utilisé il y a un certain temps en Informatique (système UNIX) La base b=8 et les chiffres {0, 1, 2, 3, 4, 5, 6,7} Exemple :(461) 8 est un nombre octal 5. Système hexadécimal (base 16) C est un système très utilisé en informatique, notamment avec la programmation de bas niveau tel que l assembleur. La base b=16 et les chiffres {0, 1, 2, 3, 4, 5, 6,7, 8, 9} + symboles{ A, B, C, D, E, F} Exemple :(1F4) 16 est un nombre hexadécimal 4 Semchedine Moussa 2016
6. Conversion (décimal base b) : Appliquer la méthode des divisions successives : - On divise le nombre par la base b - Puis le quotient par la base b - On répète jusqu à l obtention d un quotient nul - La suite des restes correspond aux symboles de la base visée. - Le premier reste correspond au chiffre de poids faible et le dernier au chiffre de poids fort Exemples : (décimal binaire) 20=(10100) 2 31=(11111) 2 (décimal octal) 25=(31) 8 98=(142) 2 (décimal hexa) 29=(1D) 16 20=(14) 16 7. Conversion (base b décimal) On utilise l écriture polynomiale c n xb n + c n-1 xb n-1 +.+ c 1 xb 1 + c 0 xb 0 - Multiplier chaque chiffre c i par la puissance de b correspondant à son poids - Additionner les résultats Exemples : (binaire décimal) (111101) 2 =61 (10001) 2 =17 (octal décimal) (hexa décimal) (25) 8 =21 ( 133) 8 =91 (2E) 16 =46 ( 15) 16 =21 8. Conversion (p q) (p, q 2, 8,16) (octal binaire) - soit on utilise la base intermédiaire 10 - Ou, écrire chaque chiffre octal en son équivalent en base 2 sur 3 bits Exemple : (56) 8 = (101110) 2 5 Semchedine Moussa 2016
(binaire octal) - soit on utilise la base intermédiaire 10 - Ou, regrouper chaque 3 chiffres de la base 2 en base 8 en commençant par la droite. Si le dernier groupe ne contient pas trois chiffres, ajouter des zéros à gauche Exemple : (100101) 2 = (45) 8 (10110) 2 = (26) 8 (hexa binaire) De la même façon (octal binaire), mais on écrit le chiffre hexadécimal sur 4 bits Exemple : (E6) 16 = (11100110) 2 (1E) 16 = (00011110) 2 (binaire hexa) De la même façon (binaire octal), mais on regroupe les 4 chiffres de la base 2 Exemple : (1000101) 2 = (95) 16 (101110) 2 = (2E) 16 (octal hexa) / (hexa octal) Soit on utilise la base intermédiaire 10 ou la base intermédiaire 2 (la plus rapide) Exemple : (54) 8 = (2C) 16 (3A) 16 = (72) 8 décimal octal hexa binaire Figure1 : Schéma général de conversion 9. Conversion des nombres fractionnaires Un nombre fractionnaire est un nombre composé de deux parties : la partie entière et partie fractionnaire : (c n c n-1 c 1 c 0, c -1 c -2 c -m ) b Exemple : 18.125 (1011,101) 2 (35,14) 8 (1B,7) 16 9.1 Conversion décimal (2,8,16) Convertir la partie entière par divisions successives Multiplier la partie fractionnaire par la base b. itérer La multiplication sur la partie fractionnaire du résultat obtenu et prendre les parties entières de chacun des résultats obtenus 6 Semchedine Moussa 2016
Exemple : 9.125 =(1001,001) 2 15,25=(17,2) 8 26.75=(1A,C) 16 Remarque : La conversion d un nombre fractionnaire décimal n est pas toujours effectuée avec précision Exemple : 17.8 = (10001,11001100..) 2 9.2 Conversion (2,8,16) décimal Utiliser l écriture polynomiale suivante : c n xb n + c n-1 xb n-1 +.+ c 1 xb 1 + c 0 xb 0+ c 1 xb -1 + c 2 xb -2 +.+ c m xb -m Exemple : (1011,01) 2 = 11 + 0.25 = 11.25 (76,4) 8 = 62 + 0.5 = 62.5 (2E,C) 8 = 46 + 0.75 = 46.75 10. Opérations arithmétiques Les opérations arithmétiques (+ - * /) s effectuent en base b avec les mêmes méthodes qu en base 10. Une retenue apparait lorsque le résultat dépasse la valeur b Exemple : calculer les opérations suivantes (100110) 2 + (101111) 2 (110) 2 -(11) 2 (110) 2 x (11) 2 (10010) 2 /(11) 2 (10110) 2 /(110) 2 7 Semchedine Moussa 2016