Organisation des Ordinateurs

Dimension: px
Commencer à balayer dès la page:

Download "Organisation des Ordinateurs"

Transcription

1 Organisation des Ordinateurs Bernard Boigelot [email protected] URL : 1

2 Chapitre 1 Les circuits digitaux 2

3 Les ordinateurs Définition: Un ordinateur est une machine capable de résoudre des problèmes et de traiter des données en effectuant des opérations préétablies. But du cours: Etudier le fonctionnement interne des ordinateurs. 3

4 L information (I) Question: Quand peut-on dire qu un objet A possède de l information? A B 42??? Réponse: Lorsque A connaît une donnée (p.ex., la valeur d une variable) et cette donnée peut être communiquée à un autre objet B qui ne la connaît pas. 4

5 L information (II) Remarque: Communiquer une donnée de A à B s effectue via des signaux transmis via un canal de communication. Définition: L information est une donnée pouvant être transmise par un signal (ou par une combinaison de signaux). Exemple: Compact Disc. 5

6 Les signaux continus Les signaux véhiculant de l information peuvent prendre plusieurs formes. Définition: Un signal continu est un signal qui peut prendre un nombre infini de valeurs dans un intervalle donné. min max Inconvénient: L information n est pas transmise fiablement, car la valeur de chaque signal est entachée d imprécisions. 6

7 Le bruit L ensemble des imprécisions affectant un signal peut être regroupé en un signal de bruit. Lorsque A transmet un signal à B, on a donc: signal reçu par B = signal émis par A + signal de bruit Remarques: Le bruit ne peut jamais être entièrement éliminé d un signal continu. Le bruit limite la quantité de données pouvant être transmises par un signal 7

8 Les signaux discrets Définition: Un signal discret est un signal possédant un nombre fini de valeurs nominales. Avantage: La transmission fiable de données est possible malgré la présence de bruit. En effet, si l amplitude du signal de bruit est suffisamment petite, les valeurs transmises peuvent toujours être correctement identifiées à leur réception. Dans les ordinateurs, l information est transmise, traitée et mémorisée au moyen de signaux discrets. 8

9 Exemple de signaux discrets Tonalités de signalisation d un téléphone à touches: 1209 Hz 1336 Hz 1477 Hz 687 Hz Hz Hz 941 Hz # 9

10 La quantité d information (I) Question: Comment peut-on quantifier la quantité d information transportée par un signal discret? Desiderata: Plus la probabilité de recevoir une valeur est faible, plus la quantité d information est élevée. inf > inf Lorsque l on combine des signaux indépendants, l information doit s additionner. inf = 3 inf 10

11 La quantité d information (II) Définition: La quantité d information transmise par une valeur discrète reconnaissable de façon fiable est égale à log 2 1 p, où p dénote la probabilité que cette valeur soit reçue. Cette quantité d information s exprime en bits (binary digits). Par conséquent, la quantité d information contenue dans un signal pouvant prendre N valeurs équiprobables (reconnaissables de façon fiable) vaut log 2 N. Un bit représente donc la quantité d information permettant de distinguer fiablement deux valeurs équiprobables. 11

12 Exemples On transmet une lettre de l alphabet au moyen d un signal de tension: A = 0 V, B = 0,04 V, C = 0,08 V,..., Y = 0,96 V, Z = 1 V. Situation 1: Les 26 valeurs peuvent être fiablement reconnues. Si les probabilités de recevoir un E et un Z sont (resp.) égales à 0,18 et 0,0007, la quantité d information transmise par les signaux correspondants vaut (resp.) et log 2 1 0,18 log 2 1 0,0007 2,47 bits 10,48 bits. 12

13 Si les 26 lettres ont la même probabilité d être reçues, la quantité d information contenue dans un signal vaut log ,7 bits. Situation 2: On ne peut distinguer que les tensions supérieures ou inférieures à 0,5 V. Si les 2 valeurs sont équiprobables, la quantité d information véhiculée par un signal vaut log 2 2 = 1 bit. 13

14 L abstraction digitale Dans les circuits d un ordinateur, l information est représentée par une grandeur physique discrète: la tension électrique (le plus souvent), mais parfois aussi le courant, la fréquence, l intensité lumineuse,.... Pour décrire les circuits de l ordinateur, il est plus commode de faire référence aux valeurs représentées par les signaux plutôt qu aux grandeurs physiques utilisées. La correspondance entre un signal discret et la valeur représentée par celui-ci porte le nom d abstraction digitale. L abstraction digitale va nous permettre de décrire des circuits élémentaires et de les combiner de manière à obtenir des circuits complexes, en faisant abstraction des aspects électriques et électroniques du problème. 14

15 L algèbre booléenne Pour des raisons de simplicité et d immunité maximale au bruit, les signaux discrets utilisés dans les ordinateurs sont binaires. Rappel: La quantité d information contenue dans un signal binaire équiprobable vaut log 2 2 = 1 bit. L algèbre booléenne est la théorie des opérations impliquant des variables binaires. Par convention, les deux valeurs que peut prendre une variable booléenne sont appelées vrai et faux. Ces deux valeurs peuvent aussi être dénotées par des nombres: vrai = 1, faux = 0. 15

16 Les tables de vérité Définition: Une fonction booléenne d arité n est une fonction de n variables booléennes d entrée vers une variable booléenne de sortie (n 0). Pour définir une fonction booléenne, il suffit de donner sa valeur de sortie pour toutes les combinaisons possibles de valeurs de ses arguments. La table associant ces valeurs de sortie aux combinaisons de valeurs d entrée est appelée table de vérité. La table de vérité d une fonction d arité n possède 2 n lignes. 16

17 Exemple Table de vérité de la fonction f à trois arguments qui est vraie si et seulement si exactement deux de ses arguments sont vrais: x 1 x 2 x 3 f(x 1, x 2, x 3 )

18 Les fonctions booléennes de base Question: Combien y a-t-il de fonctions booléennes distinctes d arité n? Réponse: La table de vérité d une fonction d arité n possède 2 n lignes, et Chaque ligne d une table de vérité peut prendre la valeur 0 ou la valeur 1. Il y a 2 2n tables de vérité distinctes. Il existe donc 2 22 = 16 fonctions booléennes d arité 2. Certaines de ces fonctions présentent un intérêt particulier. 18

19 La fonction AND Cette fonction possède la table de vérité suivante: x 1 x 2 AND(x 1, x 2 ) Elle se dénote par l opérateur binaire : AND(x 1, x 2 ) = x 1 x 2 La valeur x 1 x 2 est vraie si et seulement si x 1 et x 2 sont vrais. 19

20 La fonction OR Cette fonction possède la table de vérité suivante: x 1 x 2 OR(x 1, x 2 ) Elle se dénote par l opérateur binaire + : OR(x 1, x 2 ) = x 1 + x 2 La valeur x 1 + x 2 est vraie si et seulement si x 1 ou x 2 sont vrais. 20

21 La fonction XOR Cette fonction (aussi appelée ou exclusif) possède la table de vérité suivante: x 1 x 2 XOR(x 1, x 2 ) Elle se dénote par l opérateur binaire : XOR(x 1, x 2 ) = x 1 x 2 La valeur x 1 x 2 est vraie si et seulement si x 1 ou bien x 2 est vrai. 21

22 La fonction NAND Cette fonction possède la table de vérité suivante: x 1 x 2 NAND(x 1, x 2 ) Remarque: Pour les mêmes valeurs d arguments, cette fonction renvoie toujours une valeur opposée à celle de la fonction AND. On a donc NAND(x 1, x 2 ) = NOT (AND(x 1, x 2 )), où NOT est une fonction unaire renvoyant une valeur différente de celle de son argument. 22

23 La fonction NOT La table de vérité de cette fonction est par conséquent la suivante: x 1 NOT (x 1 ) Elle se dénote par une barre horizontale au dessus de son argument, ou bien par l opérateur unaire : NOT (x 1 ) = x 1 = x 1. On a donc NAND(x 1, x 2 ) = x 1 x 2. 23

24 La fonction NOR Cette fonction possède la table de vérité suivante: x 1 x 2 NOR(x 1, x 2 ) Remarque: Pour les mêmes valeurs d arguments, cette fonction renvoie toujours une valeur opposée à celle de la fonction OR. On a donc NOR(x 1, x 2 ) = x 1 + x 2. 24

25 Les expressions booléennes Les opérateurs, +, et permettent de construire des expressions. Par convention, l opérateur a une priorité plus élevée que + et : x 1 + x 2 x 3 est équivalent à x 1 + (x 2 x 3 ). De même, x 1 x 2 x 3 est équivalent à x 1 (x 2 x 3 ). Nous allons étudier quelques propriétés des expressions booléennes. 25

26 La commutativité Les opérateurs, + et sont commutatifs: x 1 x 2 = x 2 x 1, x 1 + x 2 = x 2 + x 1, x 1 x 2 = x 2 x 1. L associativité Les opérateurs, + et sont associatifs: x 1 (x 2 x 3 ) = (x 1 x 2 ) x 3, x 1 + (x 2 + x 3 ) = (x 1 + x 2 ) + x 3, x 1 (x 2 x 3 ) = (x 1 x 2 ) x 3. Remarque: L associativité permet d éliminer les parenthèses des expressions précédentes. 26

27 La distributivité L opérateur est distributif sur les opérateurs + et : x 1 (x 2 + x 3 ) = (x 1 x 2 ) + (x 1 x 3 ), x 1 (x 2 x 3 ) = (x 1 x 2 ) (x 1 x 3 ). L opérateur + est distributif sur l opérateur : x 1 + (x 2 x 3 ) = (x 1 + x 2 ) (x 1 + x 3 ). Remarque: Cette dernière propriété n est pas valide en arithmétique! 27

28 Les règles de DeMorgan Ces règles permettent d exprimer chacun des opérateurs + et en fonction de l autre et du complément : x 1 + x x n = x 1 x 2 x n, x 1 x 2 x n = x 1 + x x n. Il est aussi possible d exprimer l opérateur en fonction des autres opérateurs: x 1 x 2 = x 1 x 2 + x 1 x 2. 28

29 Les règles d absorption Ces règles permettent de simplifier certaines expressions: x 1 + (x 1 x 2 ) = x 1 x 1 (x 1 + x 2 ) = x 1 x 1 + (x 1 x 2 ) = x 1 + x 2 x 1 (x 1 + x 2 ) = x 1 x 2 x 1 (x 1 x 2 ) = x 1 x 2 x 1 (x 1 x 2 ) = x 1 x 2 Autres règles x = 1 x 1 0 = 0 x 1 0 = x 1 x = x 1 x 1 1 = x 1 x 1 1 = x 1 x 1 + x 1 = x 1 x 1 x 1 = x 1 x 1 x 1 = 0 x 1 + x 1 = 1 x 1 x 1 = 0 x 1 x 1 = 1 29

30 Exercice On souhaite construire une expression booléenne dénotant la fonction possédant la table de vérité x 1 x 2 x 3 f(x 1, x 2, x 3 ) Cette fonction n est vraie que pour trois valeurs de ses arguments: (0, 1, 1), (1, 0, 1), (1, 1, 0). 30

31 Pour chaque valeur des arguments, on peut écrire une expression qui est vraie pour cette valeur, et fausse pour toutes les autres: f (0,1,1) (x 1, x 2, x 3 ) = x 1 x 2 x 3 f (1,0,1) (x 1, x 2, x 3 ) = x 1 x 2 x 3 f (1,1,0) (x 1, x 2, x 3 ) = x 1 x 2 x 3. La fonction f est vraie si au moins une des trois fonctions précédentes est vraie pour les mêmes valeurs des arguments: f(x 1, x 2, x 3 ) = f (0,1,1) (x 1, x 2, x 3 ) + f (1,0,1) (x 1, x 2, x 3 ) + f (1,1,0) (x 1, x 2, x 3 ) = x 1 x 2 x 3 + x 1 x 2 x 3 + x 1 x 2 x 3. En appliquant les règles de l algèbre booléenne: f(x 1, x 2, x 3 ) = (x 1 x 2 + x 1 x 2 ) x 3 + x 1 x 2 x 3 = (x 1 x 2 ) x 3 + x 1 x 2 x 3. 31

32 Les niveaux de tension Les circuits de l ordinateur manipulent les valeurs booléennes en associant un niveau de tension nominal à chacune d elles. Il est important de pouvoir distinguer fiablement les deux valeurs, même en présence de bruit. On choisit donc deux niveaux de tension les plus éloignés possible l un de l autre: La tension nulle pour la valeur 0; La tension d alimentation pour la valeur 1. Il est cependant impossible de construire des circuits qui produisent exactement ces tensions. On définit donc des intervalles de validité plutôt que des niveaux de tension ponctuels. Les circuits sont construits de façon à ne générer que des signaux valides. 32

33 Les marges d erreur Bien que les signaux soient valides à la sortie des composants qui les génèrent, ils sont corrompus par une certaine quantité de bruit avant d arriver à l entrée d autres composants. On tient compte de ce bruit en dotant chaque intervalle de validité d une marge d erreur qui lui est adjacente. Les signaux situés dans les marges d erreur peuvent être fiablement décodés en valeurs booléennes. 33

34 Exemple 5 V Intervalle de validité (valeur 1) Marge d erreur (1) 4 V 3, 5 V Plage interdite Marge d erreur (0) 1, 5 V 1 V Intervalle de validité (valeur 0) 0 V 34

35 La discipline statique Un circuit ne peut être connecté à d autres circuits que s il satisfait aux règles suivantes: Si on fournit des signaux valides constants aux entrées du circuit, alors ce dernier finira par générer des signaux de sortie valides après un certain délai de propagation. Un signal d entrée est considéré valide si sa tension se situe dans un des deux intervalles de validité ou dans la marge d erreur correspondante (mais pas dans la plage interdite). Un signal de sortie est considéré valide si sa tension appartient à un des deux intervalles de validité (mais pas à une marge d erreur ni à la plage interdite). L ensemble de ces règles constitue une discipline statique. Celle-ci garantit l absence de signaux invalides en dehors des périodes de propagation et de transition des valeurs. 35

36 Les familles logiques Il existe plusieurs types de circuits capables de traiter des signaux digitaux. Une famille logique est une norme définissant des niveaux de tension (intervalles de validité, marges d erreur); des circuits de base; un ensemble de contraintes à respecter (sur la forme des connexions permises, les temps de propagation,... ); un procédé de fabrication des composants;... Les principales familles actuellement utilisées sont CMOS et TTL. 36

37 Les portes logiques Les portes logiques sont des circuits digitaux élémentaires réalisant les fonctions booléennes de base. Les symboles conventionnels attribués aux portes sont les suivants: x 1 x 2 x 1 x 2 x 1 x 2 x 1 x 2 x 1 x 1 x 1 x 2 x 1 + x 2 x 1 x 2 x 1 + x 2 x 1 x 2 x 1 x 2 x 1 x 1 Remarques: Ces symboles peuvent aussi décrire des portes possédant plus de deux entrées; Bien sûr, les portes respectent la discipline statique! 37

38 L interconnexion des portes L interconnexion de plusieurs portes logiques permet de construire des circuits plus complexes. Les règles d interconnexion sont les suivantes: On ne peut pas connecter entre elles les sorties de plusieurs portes, ou différentes entrées d un même circuit; Il est permis de connecter la sortie d une porte aux entrées d autres portes. Exemple: Porte AND à trois entrées construite à partir de deux portes à deux entrées: x 1 x 2 x 3 x 1 x 2 x 3 38

39 Les circuits combinatoires Un chemin est un parcours d un circuit, à partir d un de ses points, effectué en suivant les connexions et en franchissant les portes d une entrée vers la sortie. Un cycle est un chemin dont le point d origine et le point de destination sont identiques, et qui franchit au moins une porte. Définition: Un circuit combinatoire est un circuit digital dont aucun chemin n est un cycle. Propriété: Les valeurs booléennes générées aux sorties d un circuit combinatoire dépendent uniquement des valeurs fournies aux entrées de celui-ci. En d autres termes, un circuit combinatoire à n entrées et m sorties peut être défini par m fonctions booléennes d arité n. 39

40 Remarque: Sous l hypothèse où toutes les portes possèdent le même délai de propagation, le délai de propagation maximal d un circuit combinatoire correspond au chemin le plus long d une entrée vers une sortie. 40

41 Exemple 1 Circuit combinatoire réalisant la fonction d arité 3 vraie si et seulement si deux de ses entrées sont vraies: x 1 x 2 x 3 x 1 x 2 x 3 (x 1 x 2 ) x 3 f x 1 x 2 x 3 x 1 x 2 x 3 Temps de propagation maximal: 3τ, où τ est le temps de propagation maximal d une porte. 41

42 Exemple 2 Circuit à deux entrées contrôlant un affichage à sept segments. Le chiffre affiché totalise le nombre d entrées vraies. Un segment est allumé lorsque la sortie correspondante est vraie: x 1 x 2 a 1 b a c f g b d e d c e f g Temps de propagation maximal: 2τ. 42

43 L instabilité Il est facile de construire des circuits qui ne sont pas combinatoires: Ce circuit possède une particularité: Il est impossible d affecter une valeur booléenne fixe à sa seule connexion! Ce circuit est instable. Définition: Un circuit est stable s il est possible d affecter une valeur booléenne persistante à chacune de ses connexions. 43

44 Les circuits instables sont à proscrire! En pratique, de tels circuits génèrent des signaux invalides, ou des oscillations. 44

45 Les circuits non combinatoires stables Tous les circuits non combinatoires ne sont pas instables: x 1 x 2 L attribution des valeurs x 1 = 0 et x 2 = 1 est persistante, et donc le circuit est stable. Le choix des valeurs x 1 = 1 et x 2 = 0 est également persistant. Remarque: La stabilité d un circuit ne garantit pas l absence de signaux invalides ou d oscillations dans une réalisation pratique de ce circuit! 45

46 Les verrous Le circuit précédent possède deux points de stabilité, et peut donc se trouver dans deux états distincts. Il est donc capable de mémoriser un bit d information. Ce circuit ne permet cependant pas de choisir la valeur booléenne mémorisée. Pour pallier cet inconvénient, on lui ajoute des entrées permettant de contrôler la valeur circulant dans le cycle: s q r Le circuit obtenu porte le nom de verrou. 46

47 Le fonctionnement d un verrou Si s = 0 et r = 0: Le circuit est équivalent à deux inverseurs en boucle, et mémorise donc un bit d information. La valeur mémorisée peut être vue comme celle présente à la sortie q. Si s = 1 et r = 0: La valeur mémorisée devient égale à 1 (set). Si s = 0 et r = 1: La valeur mémorisée devient égale à 0 (reset). Le verrou est donc capable de retenir laquelle des entrées s ou r a été activée en dernier lieu. Si s = 1 et r = 1: La valeur de mémorisée devient égale à 0, mais peut ensuite basculer vers n importe quelle valeur lorsque s et r reprennent la valeur 0. Une telle condition de course est à éviter! 47

48 Le signal d horloge L utilisation des verrous pose plusieurs problèmes: Le verrou charge une nouvelle valeur dès le moment où une de ses entrées prend la valeur 1. Ce moment peut dépendre des délais de propagation d autres portes. Il faut garantir l absence de conditions de course. On souhaite que les données mémorisées par un circuit ne soient modifiées qu à des instants ponctuels, bien déterminés. La solution consiste à fournir au circuit un signal d horloge. Ce signal est généré par un composant spécial, et est constitué d une alternance périodique de valeurs 0 et 1. φ : 48

49 Les valeurs mémorisées par ce circuit ne sont alors modifiées qu aux instants où l horloge effectue une transition de la valeur 0 à la valeur 1 (c est-à-dire lors de ses flancs montants). Note: Une autre convention consiste à considérer les transitions de la valeur 1 à la valeur 0 (flancs descendants). 49

50 Le flip-flop Le composant de mémorisation élémentaire présent dans les circuits basés sur une horloge est le flip-flop. Symbole: d d q q φ Fonctionnement: Un flip-flop est capable de retenir un bit. La valeur retenue est disponible à la sortie q; Lors d un flanc montant de l horloge, le flip-flop charge la valeur présente à l entrée d. (On dit que le flip-flop est déclenché par le flanc.) 50

51 Les délais d un flip-flop Le fonctionnement d un flip-flop n est pas instantané: La valeur mémorisée n est disponible à la sortie qu un certain temps après avoir été chargée. Ce délai est le délai de propagation τ p du flip-flop; Pour qu une valeur d entrée puisse être chargée, il faut qu elle reste constante un certain laps temps avant le coup d horloge. Ce délai est le délai de stabilisation τ s du flip-flop. Exemple: τ s τ p τ s τ p τ s τ p d q φ 51

52 Les registres En général, un circuit mémorise plus d un bit d information. Un registre est un composant obtenu en regroupant plusieurs flip-flops partageant la même horloge. Circuit équivalent: Symbole: d 1 d 2 d d q q q 1 q 2 d 1 d 2. d n n d q n q 1 q 2. q n... φ d n d q q n φ 52

53 Les circuits séquentiels Dans un circuit digital, on peut séparer les composants mémorisant les données de ceux dédiés à leur traitement. Un circuit séquentiel est un circuit possédant la forme générale suivante: Sorties o 1, o 2,... Circuit Entrées i 1, i 2,... combinatoire n n n d q n φ Les valeurs retenues par le registre déterminent l état du circuit. La capacité du registre étant de n bits, le circuit peut potentiellement se trouver dans 2 n états. 53

54 Fonctionnement d un circuit séquentiel Soient T la période de l horloge; τ c le temps de propagation du circuit combinatoire; τ p le temps de propagation du registre; τ s le temps de stabilisation du registre. Si T > τ c + τ p + τ s, le circuit change d état à chaque coup d horloge. Lors d un changement d état, le nouvel état s t+1 est déterminé par le circuit combinatoire à partir de l état précédent s t, et la valeur i t des entrées du circuit. On a donc s t+1 = f(s t, i t ), où f est une fonction de transition réalisée par le circuit combinatoire. 54

55 La discipline dynamique Pour que le changement d état s effectue correctement, les entrées du circuit doivent rester stables pendant une durée au moins égale à τ c + τ s avant chaque coup d horloge. Un circuit séquentiel respectant cette condition obéit à la règle de discipline dynamique. Un circuit séquentiel peut également posséder des sorties. Leur valeur o t est déterminée par le circuit combinatoire à partir de l état courant s t, et la valeur i t des entrées du circuit. On a donc o t = f (s t, i t ), où f est une fonction de sortie réalisée par le circuit combinatoire. Remarque: La stabilité des sorties n est garantie que pendant un certain intervalle précédant chaque coup d horloge. 55

56 Illustration Entrées i Etat s Sorties o Horloge φ 56

57 Exemple Circuit séquentiel d un compteur pilotant un affichage à sept segments: f e a g d b c 1 a b c d e d 1 q 1 d 2 q 2 f g i φ 57

58 Fonction de transition: Etat courant Entrée Etat suivant q 1 q 2 i q 1 q Fonction de sortie: Etat Sorties q 1 q 2 a b c d e f g

59 Chapitre 2 La représentation des données 59

60 La représentation des nombres entiers positifs Problème: On souhaite représenter des nombres naturels à l aide de n bits. Solution: Il suffit d encoder les nombres en base 2: On attribue à chaque bit une position de 0 à n 1. Par convention, on procède de droite à gauche; On affecte au bit de position k le poids 2 k. Le nombre représenté par la suite de bits b n 1 b n 2... b 1 b 0 est donc égal à n 1 i=0 b i 2 i. Ce procédé porte le nom de représentation binaire non signée des nombres. 60

61 Exemple: la représentation binaire non signée dénote le nombre 181: Position : Poids : On a en effet 7 i=0 b i 2 i = = = 181. Note: Les bits situés aux positions 0 et n 1 sont respectivement appelés bit de poids faible et bit de poids fort. 61

62 Calcul de la représentation d un nombre La représentation d un nombre v peut se calculer grâce aux deux propriétés suivantes: Le bit de poids faible est égal à 0 si v est pair, et à 1 si v est impair; En retirant le bit de poids faible d une représentation de v, on obtient une représentation de v/2. On a donc l algorithme suivant: 1. Si v est pair, écrire 0. Sinon, écrire 1; 2. Remplacer v par v/2 ; 3. Répéter les deux opérations précédentes tant que v 0. 62

63 Remarques: Cet algorithme génère les bits de la représentation de v en commençant par le bit de poids faible (c est-à-dire de la droite vers la gauche); La suite de bits obtenue constitue la représentation la plus courte du nombre v. Des représentations plus longues s obtiennent en préfixant le résultat d un nombre quelconque de zéros. Exemple: Représentation du nombre 109: v = 109 impair 1 v = 54 pair 0 v = 27 impair 1 v = 13 impair 1 v = 6 pair 0 v = 3 impair 1 v = 1 impair 1 v = 0. La représentation obtenue est donc Il est permis d ajouter un nombre arbitraire de zéros en tête de cette représentation. 63

64 Les valeurs représentables A l aide de n bits, il n est pas possible de représenter plus de 2 n valeurs distinctes. L algorithme de calcul de la représentation d un nombre v s arrête après avoir produit n bits ou moins si et seulement si v < 2 n. Les nombres possédant une représentation binaire non signée sur n bits sont donc les éléments de l intervalle [0,..., 2 n 1]. 64

65 L arithmétique binaire non signée Les opérations d addition et de multiplication de nombres entiers non signés peuvent s effectuer selon les règles du calcul écrit. Les tables d addition binaire sont les suivantes (les reports sont dénotés par un rectangle): L opération d addition s effectue bit par bit, en commençant par le bit de poids faible. 65

66 Exemple: Calcul de la somme = 579:

67 La multiplication de nombres binaires non signés Le calcul d un produit s effectue selon des règles analogues à celles du calcul décimal: 1. Des produits partiels sont successivement calculés pour chaque bit du multiplicateur, et convenablement alignés; 2. Ces produits partiels sont ensuite additionnés. La table de multiplication binaire est la suivante:

68 Exemple: Calcul du produit = 408:

69 La représentation hexadécimale La représentation binaire utilisée par les ordinateurs est mal adaptée aux opérations manuelles. Dans certains cas, il est cependant indispensable de pouvoir raisonner sur la représentation interne des données. On utilise alors la représentation hexadécimale (c est-à-dire en base 16), qui présente deux avantages: Elle est concise; Les conversions de l hexadécimal vers le binaire et vice-versa sont immédiates. Un chiffre hexadécimal peut prendre 16 valeurs: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Un tel chiffre représente donc exactement 4 bits d information. Pour convertir un nombre hexadécimal en binaire, il suffit de remplacer chaque chiffre par la séquence de 4 bits qui lui correspond. La conversion réciproque est similaire. 69

70 Table de conversion: Hexadécimal Binaire Hexadécimal Binaire A B C D E F 1111 Note: Lorsque le contexte ne permet pas de déterminer la base choisie pour représenter les nombres, on ajoute le suffixe h ou le préfixe 0x aux représentations hexadécimales, et le suffixe b ou le préfixe 0b aux représentations binaires. Exemple: On a 0xCAFE007 = b =

71 La représentation des nombres entiers signés Il existe plusieurs procédés permettant de représenter des nombres entiers positifs et négatifs: La représentation par valeur signée; La représentation par complément à un; La représentation par complément à deux. Ces trois méthodes possèdent des points communs: Le signe d un nombre est représenté par le bit de poids fort (ici appelé bit de signe). Celui-ci est égal à 0 pour les nombres positifs; 1 pour les nombres négatifs. La représentation d un nombre positif est toujours identique à sa représentation binaire non signée de même taille. 71

72 La représentation par valeur signée Principe: A la suite du bit de signe, on place la représentation binaire non signée de la valeur absolue du nombre représenté. Exemple: La représentation sur 8 bits du nombre 42 est égale à En effet Ce nombre est négatif, donc le bit de signe est égal à 1; La représentation binaire non signée sur 7 bits de 42 = 42 est Selon ce procédé, le nombre v représenté par le groupe de bits b n 1 b n 2... b 1 b 0 est égal à v = (1 2b n 1 ) n 2 i=0 b i 2 i. 72

73 Les valeurs représentables A l aide de n bits, la représentation par valeur signée permet d encoder tous les éléments de l intervalle [0,..., 2 n 1 1] (bit de signe égal à 0), et tous les éléments de l intervalle [ 2 n 1 + 1,..., 0] (bit de signe égal à 1). L ensemble des valeurs représentables est donc l intervalle [ 2 n 1 + 1,..., 2 n 1 1]. Remarques: Le nombre 0 possède deux représentations distinctes; Ce procédé rend difficile le calcul des opérations arithmétiques. 73

74 La représentation par complément à un Principe: La représentation d un nombre est similaire à sa représentation par valeur signée, mais les bits qui suivent le bit de signe sont complémentés (0 est remplacé par 1, et vice-versa). Exemple: La représentation sur 8 bits du nombre 42 est égale à En effet Ce nombre est négatif, donc le bit de signe est égal à 1; La représentation binaire non signée sur 7 bits de 42 = 42 est , dont le complément est L ensemble des nombres représentables à l aide de n bits est identique à celui obtenu pour la représentation par valeur signée, soit l intervalle [ 2 n 1 + 1,..., 2 n 1 1]. 74

75 Selon ce procédé, le nombre v représenté par le groupe de bits b n 1 b n 2... b 1 b 0 est égal à En effet, (1 2 n 1 )b n 1 + n 2 i=0 b i 2 i. Si v > 0, on a b n 1 = 0 et v = n 2 i=0 b i 2 i ; Si v < 0, on a b n 1 = 1. La suite de bits b n 2 b 1 b 0 forme la représentation binaire non signée du nombre On a donc bien 2 n 1 1 n 2 i=0 v = v = 1 2 n 1 + b i 2 i. n 2 i=0 b i 2 i. 75

76 L arithmétique des nombres représentés par complément à un Les algorithmes de calcul arithmétique sur les nombres non signés peuvent facilement être adaptés à la représentation par complément à un. L addition de deux nombres signés représentés à l aide de n bits s effectue de la façon suivante: 1. On additionne les deux nombres comme s il s agissait de représentations non signées; 2. Si l opération conduit à un report à la position n, on supprime ce report et on ajoute 1 à la somme calculée. 76

77 Exemples: Calcul de la somme 12 + ( 34) = 22: Calcul de la somme 12 + ( 34) = 46:

78 La représentation par complément à deux Principes: La représentation d un nombre v sur n bits est égale 1. au bit de signe 0 suivi de la représentation entière non signée de v sur n 1 bits si v 0; 2. à la représentation par complément à un de v + 1 sur n bits si v < 0. On dit alors que les n bits ainsi obtenus forment le complément à deux des n bits encodant le nombre positif v. Exemples: La représentation sur 8 bits du nombre 42 est égale à ; La représentation sur n bits du nombre 1 est composée de n bits égaux à 1. 78

79 Propriétés: Le nombre v représenté par le groupe de bits b n 1 b n 2... b 1 b 0 est égal à 2 n 1 b n 1 + n 2 i=0 b i 2 i ; La représentation d un nombre à l aide d un nombre de bits donné est unique. En particulier, le nombre 0 possède une seule représentation; L ensemble des nombres représentables à l aide de n bits forme l intervalle [ 2 n 1,..., 2 n 1 1]. 79

80 L arithmétique binaire signée Les opérations arithmétiques sont faciles à effectuer sur des nombres représentés par la méthode du complément à deux: L addition de deux nombres de n bits s effectue par le même algorithme que celui employé dans le cas des nombres non signés. Les reports apparaissant à la position n sont simplement ignorés; La soustraction de deux nombres s effectue en ajoutant au premier l opposé du deuxième. La représentation du nombre v est égale au complément à deux de la représentation de v; La multiplication de deux nombres d effectue de façon similaire au cas des entiers non signés. La seule différence est que les nombres de bits choisis pour représenter les opérandes et le produit calculé doivent ici coïncider. 80

81 Exemples Calcul de la somme 12 + ( 34) = 22: Calcul de la somme 12 + ( 34) = 46:

82 Calcul du produit = 408:

83 Récapitulatif Le tableau suivant reprend les différentes représentations des nombres entiers à l aide de 4 bits: Bits Non signée Valeur signée Compl. à 1 Compl. à

84 La représentation des nombres réels A l aide d un nombre de bits donné, il n est bien sûr pas possible de représenter les nombres réels avec une précision illimitée. Une première solution consiste à ne tenir compte que d un nombre fixé de chiffres après la virgule, et à négliger la valeur des chiffres suivants. Ce procédé porte le nom de représentation en virgule fixe. En pratique, il est cependant indispensable de pouvoir représenter des nombres très grands (p.ex., des distances astronomiques) comme très petits (p.ex., des mesures à l échelle atomique), avec une précision semblable. On représente alors les nombres en virgule flottante, ce qui permet de dissocier la grandeur d un nombre de la précision avec laquelle il est représenté. 84

85 La représentation en virgule flottante Selon cette méthode, un nombre réel r s exprime sous la forme r = f b e, où b est une base fixée; f est un nombre réel appelé mantisse; e est un nombre entier appelé exposant. La base est égale à 10 pour la notation scientifique utilisée pour les calculs manuels, et à 2 pour les représentations informatiques. La mantisse et l exposant sont représentés à l aide d un nombre de bits fixé. La mantisse est représentée en virgule fixe. 85

86 Propriétés: Les valeurs de l exposant déterminent l intervalle des valeurs représentables; Le nombre de bits choisi pour représenter la mantisse caractérise la précision avec laquelle les nombres sont représentés; En général, la représentation d un nombre réel ne contient pas suffisamment d information pour connaître la valeur exacte de ce nombre. Il faut tenir compte de cette erreur d arrondi lors de l interprétation de résultats. 86

87 Le standard IEEE 754 Ce standard, très utilisé, définit trois procédés de représentation: La simple précision: bits S Exposant Mantisse La double précision: bits S Exposant Mantisse La précision étendue: Cette représentation encode un nombre à l aide de 80 bits. Elle n est pratiquement utilisée que pour des opérations internes aux composants. Nous ne l étudions pas dans le cadre de ce cours. Le champ S est un bit de signe. Comme dans le cas des entiers, il vaut 0 pour les nombres positifs et 1 pour les nombres négatifs. 87

88 L encodage de l exposant L exposant d un nombre est représenté de la façon suivante: Simple précision: Un exposant e est encodé par la représentation entière non signée sur 8 bits du nombre e L intervalle des exposants représentables est donc [ 127,..., 128]. Double précision: Un exposant e est encodé par la représentation entière non signée sur 11 bits du nombre e L intervalle des exposants représentables est donc [ 1023,..., 1024]. 88

89 L encodage de la mantisse Le procédé d encodage de la mantisse diffère suivant la valeur de l exposant. Premier cas: L exposant n est pas égal à une valeur extrême ( 127 ou 128 pour la simple précision, 1023 ou 1024 pour la double précision). On dit alors que la mantisse est normalisée. Dans ce cas, la valeur absolue de la mantisse f représentée par le groupe de bits b 1 b 2... b m (avec m = 23 pour la simple précision et m = 52 pour la double précision) vaut f = 1 + m i=1 b i 2 i. Cela implique 1 f < 2 pour toute mantisse normalisée f. 89

90 Exemple Calcul de la représentation en simple précision du nombre 7,5: Ce nombre est négatif, donc le bit de signe est égal à 1 ; Afin d obtenir une mantisse normalisée, il faut choisir un exposant égal à 2. On obtient alors f = 7,5 2 2 = 1,875, qui satisfait bien 1 f < 2; La représentation de l exposant est égale à la représentation entière non signée sur 8 bits du nombre = 129, soit On a 1,875 = La mantisse est donc représentée par la suite de bits

91 Les mantisses dénormalisées Deuxième cas: L exposant est égal à sa valeur minimale ( 127 pour la simple précision et 1023 pour la double précision). On dit alors que la mantisse est dénormalisée. Dans ce cas, la valeur absolue de la mantisse f représentée par le groupe de bits b 1 b 2... b m est égale à f = m i=1 b i 2 i+1. On a donc pour toute mantisse dénormalisée f. 0 f < 2 91

92 Exemple Calcul de la représentation en simple précision du nombre : Le bit de signe est égal à 0 ; Il n y a pas d exposant représentable conduisant à une mantisse normalisée. On choisit donc un exposant égal à 127, dont la représentation est ; On a f = = 2 13, qui satisfait bien 0 f < 2; La mantisse est représentée par la suite de bits

93 Le cas du nombre zéro Une représentation du nombre 0 doit nécessairement posséder une mantisse dénormalisée. La valeur de l exposant est donc fixée. On a cependant la possibilité de choisir un bit de signe égal à 1 ou à 0. Cela conduit donc à deux représentations distinctes du nombre 0: Une représentation entièrement composée de bits égaux à 0 (zéro positif); Une représentation composée d un bit égal à 1 suivi de bits égaux à 0 (zéro négatif). Cette propriété peut être exploitée pour retenir le signe de quantités infinitésimales. 93

94 Les valeurs exceptionnelles Troisième cas: L exposant est égal à sa valeur maximale (128 pour la simple précision et 1024 pour la double précision). Cette situation sert à encoder des valeurs exceptionnelles, qui ne représentent pas des nombres réels: Si tous les bits de la mantisse sont égaux à 0: La représentation correspond à un dépassement vers les valeurs positives si le bit de signe est 0; vers les valeurs négatives si le bit de signe est 1. Ces deux valeurs sont souvent (improprement) appelées infini positif et infini négatif. 94

95 Si au moins un bit de la mantisse est égal à 1: La représentation correspond à une valeur indéfinie. Cette valeur se note NaN (Not a Number). 95

96 Les nombres représentables L ensemble des réels représentables à l aide d un nombre de bits donné ne constitue pas un intervalle. En effet, nous savons que les réels ne sont représentés qu avec une précision limitée, et donc que l ensemble des réels représentables ne forme pas un continuum. Il est cependant utile de connaître les bornes des intervalles contenant les réels représentables. La situation est la suivante: valeurs trop petites valeurs trop grandes intervalles contenant les valeurs représentables 0 valeurs trop petites en valeur absolue 96

97 Plus grande valeur absolue représentable: Simple précision: L exposant est égal à 127 et la mantisse à On a donc l intervalle [ 3, ,..., 3, ]. Double précision: L exposant est égal à 1023 et la mantisse à On a donc l intervalle [ 1, ,..., 1, ]. Plus petite valeur strictement positive représentable: Simple précision: L exposant est égal à 127 et la mantisse à On a donc l intervalle de valeurs non représentables [ 10 45,..., ]. 97

98 Double précision: L exposant est égal à 1023 et la mantisse à On a donc l intervalle [ ,..., ]. 98

99 L addition de nombres en virgule flottante L addition de deux nombres r 1 = f 1 2 e 1 et r 2 = f 2 2 e 2 s effectue de la façon suivante (on suppose r 1 r 2 ): 1. On remplace e 1 par e 1 = e 2, et f 1 par f 1 = f 12 e 1 e 2. Note: Cela peut conduire à perdre un certain nombre de bits de la représentation de f On remplace chaque mantisse négative par son complément à deux; 3. On calcule la somme f = f 1 + f 2; 4. Si le résultat est négatif, on le remplace par son complément à deux; 5. On normalise f2 e 1 de façon à obtenir une mantisse normalisée ou dénormalisée. 99

100 La multiplication de nombres en virgule flottante La multiplication de deux nombres r 1 = f 1 2 e 1 et r 2 = f 2 2 e 2 s effectue grâce à l algorithme suivant: 1. On détermine le signe du produit; 2. On calcule la somme e 1 + e 2 à l aide de l arithmétique entière; 3. On effectue le produit f = f 1 f 2 en virgule fixe; 4. On normalise éventuellement le résultat f2 e de façon à obtenir une mantisse normalisée ou dénormalisée. 100

101 La représentation des caractères Il existe plusieurs standards de codification des caractères alphanumériques. Le code ASCII Ce standard est à la base d une grande majorité des encodages actuellement utilisés. Principes: Un caractère est encodé à l aide de 7 bits d information. On peut donc attribuer à chaque symbole un code dans l intervalle [0,..., 127]; Les codes de 0x00 à 0x1F représentent des caractères de contrôle. L interprétation de ces caractères peut dépendre du système utilisé; 101

102 Les codes de 0x20 à 0x3F correspondent aux symboles mathématiques, à la ponctuation et aux chiffres. Le code du chiffre n est égal à 0x3n; Remarque: La valeur d un chiffre est donc égale aux quatre bits de poids faible de son encodage ASCII. Les codes de 0x40 à 0x5F contiennent les lettres majuscules et quelques symboles spéciaux. Les lettres sont classées par ordre alphabétique et possèdent des codes consécutifs, ce qui facilite les opérations de comparaison entre chaînes de caractères; Les codes de 0x60 à 0x7F contiennent les lettres minuscules, un caractère de contrôle (0x7F) et quelques symboles spéciaux. Note: Les codes d une lettre majuscule et minuscule partagent les mêmes 5 bits de poids faible. 102

103 Table des caractères imprimables ASCII: P p 21! A 51 Q 61 a 71 q B 52 R 62 b 72 r 23 # C 53 S 63 c 73 s 24 $ D 54 T 64 d 74 t 25 % E 55 U 65 e 75 u 26 & F 56 V 66 f 76 v G 57 W 67 g 77 w 28 ( H 58 X 68 h 78 x 29 ) I 59 Y 69 i 79 y 2A * 3A : 4A J 5A Z 6A j 7A z 2B + 3B ; 4B K 5B [ 6B k 7B { 2C, 3C < 4C L 5C \ 6C l 7C 2D - 3D = 4D M 5D ] 6D m 7D } 2E. 3E > 4E N 5E ˆ 6E n 7E 2F / 3F? 4F O 5F 6F o 103

104 La norme ISO Latin-1 Ce standard représente un caractère à l aide de 8 bits. Il est basé sur le code ASCII dont il reprend les 128 premiers caractères. Les 128 codes supplémentaires (possédant un bit de poids fort égal à 1) permettent de représenter les caractères accentués les plus utilisés par les langues européennes. Le standard ISO Latin-1 est celui utilisé par défaut pour l interprétation des pages du World-Wide Web. 104

105 Le standard Unicode Certaines langues (principalement orientales) nécessitent un jeu de plus de 256 caractères. Le standard Unicode a été introduit afin d unifier la représentation de tous les symboles nécessaires à la plupart des langues écrites courantes et historiques. Principes: Dans la version actuelle, les caractères sont numérotés de 0 à 0x10ffff (anciennement, de 0 à 0xffff). Environ caractères sont définis (fin 2012). 105

106 Le standard incorpore les jeux de caractères de plusieurs autres standards de représentation. Notamment, ses 256 premiers caractères sont identiques à ceux de la norme ISO Latin-1. La superposition de certains caractères est possible. Plusieurs procédés d encodage permettent de représenter les chaînes de caractères sous la forme de flux de données de 8, 16 ou 32 bits. 106

107 Chapitre 3 Les éléments de base d un ordinateur 107

108 La mémoire vive Le terme mémoire désigne un composant destiné à contenir une certaine quantité de données, et à en permettre la consultation. Il existe plusieurs types de mémoires. La mémoire vive, où RAM (Random Access Memory), possède les caractéristiques suivantes: L écriture et la lecture de données peuvent être effectuées à volonté. Les données mémorisées sont préservées tant que le composant mémoire reste sous tension. La mémoire vive sert à mémoriser des programmes, des données à traiter, les résultats de ces traitements, ainsi que des données temporaires. 108

109 Les caractéristiques de la mémoire Un composant mémoire est caractérisé par deux grandeurs: La taille de cellule, exprimée en bits. Il s agit de la quantité élémentaire d information pouvant faire l objet d une opération de la mémoire. La capacité, exprimée en cellules. Cette capacité représente le nombre de cellules que la mémoire est capable de contenir. Notes: La taille de cellule est habituellement un multiple de 8. La capacité s exprime souvent en fonction des multiples K (kilo, 2 10 ), M (mega, 2 20 ) et G (giga, 2 30 ). 109

110 L organisation de la mémoire Une mémoire vive m n, c est-à-dire de capacité m et de taille de cellule n, possède la forme suivante: a 0 a 1. a p 1 p a 2 p n d n d 0 d 1. d n 1 φ contrôle φ est l entrée d horloge. d 0, d 1,..., d n 1 sont des lignes d entrée/sortie. Celles-ci servent à recevoir des valeurs destinées à être mémorisées, et à produire des valeurs lues en mémoire. Le nombre n de lignes d entrée/sortie est égal à la taille de cellule de la mémoire. 110

111 a 0, a 1,..., a p 1 sont des lignes d adressage. Celles-ci reçoivent une valeur destinée à identifier la cellule visée par une opération de lecture ou d écriture. Le nombre p de lignes d adressage et la capacité m de la mémoire satisfont la contrainte 2 p = m. Les lignes de contrôle servent à spécifier l opération devant être effectuée par la mémoire: lecture, écriture, pas d opération,

112 Les opérations de la mémoire vive Les deux opérations élémentaires sont: La lecture d une cellule: L adresse de la cellule à lire est placée sur les lignes d adressage, et une opération de lecture est demandée via les lignes de contrôle. Au coup d horloge suivant, la mémoire place la valeur de la cellule lue sur les lignes d entrée/sortie. L écriture d une cellule: L adresse de la cellule à modifier est placée sur les lignes d adressage, la valeur à charger dans cette cellule est placée sur les lignes d entrée/sortie, et une opération d écriture est demandée via les lignes de contrôle. Au coup d horloge suivant, la mémoire modifie la valeur de la cellule spécifiée. 112

113 Remarques: Le fonctionnement de la mémoire n est pas instantané: Pour qu une opération s effectue correctement, il est nécessaire que les valeurs booléennes fournies au composant restent stables un certain laps de temps avant le coup d horloge. L opération n est effectivement réalisée qu un certain temps après le coup d horloge. En pratique, on caractérise la vitesse d une mémoire par le plus petit délai permis entre deux coups d horloge successifs. Ce délai est appelé temps d accès à la mémoire. 113

114 La combinaison de composants mémoire Il y a plusieurs manières de combiner des composants mémoire en vue de constituer une mémoire capable de retenir une plus grande quantité d informations. Le premier type de combinaison a pour but d augmenter la taille de cellule de la mémoire. Principes: On connecte ensemble les lignes d adressage et (séparément) les entrées d horloge des différents composants. On juxtapose les lignes d entrée/sortie des composants. 114

115 Exemple: Mémoire construite à partir de trois mémoires 256 4: a d 4 a 0 a 1. a a d 4 d 0 d 1. d a d 4 φ contrôle 115

116 Le deuxième type de combinaison vise à accroître la capacité de la mémoire. Principes: On connecte ensemble (séparément) les lignes d entrée/sortie, les lignes d adressage et les entrées d horloge des différents composants. On crée un certain nombre de lignes d adressage supplémentaires, destinées à permettre l identification d un composant individuel. En d autres termes, s il y a q composants, on crée au moins log 2 q lignes. On construit un circuit combinatoire capable de décoder les valeurs présentes sur les lignes d adressage supplémentaires, et de piloter le composant identifié par ces valeurs. Les autres composants n effectuent alors aucune opération. 116

117 256 4 Exemple: Mémoire 1K 4 construite à partir de quatre mémoires 256 4: 8 a d 4 a 0 a 1. a 8 a Circuit a d 4 d 0 d 1 d 2 d 3 de contrôle contrôle a d a d 4 φ 117

118 Exemple de contrôleur: On suppose que chaque composant possède Une ligne CS (Chip Select) qui spécifie si le composant doit effectuer une opération (valeur 0), ou bien rester inactif (valeur 1). Une ligne WE (Write Enable) qui précise le type d opération souhaitée (écriture: 0, lecture: 1). CS 0 WE 0 a 8 CS 1 WE 1 a 9 CS 2 WE 2 CS CS 3 WE 3 WE 118

119 Le stockage de données sur plus d une cellule Quelle que soit la taille de cellule de la mémoire centrale d un ordinateur, on est parfois amené à devoir retenir des données de plus grande taille. Une solution naturelle à ce problème consiste à stocker la valeur dans plusieurs cellules situées à des adresses consécutives. Il y a cependant deux possibilités: Placer le groupe de bits possédant le plus petit poids à la plus petite adresse (représentation petit-boutiste). Placer le groupe de bits possédant le plus grand poids à la plus petite adresse (représentation gros-boutiste). 119

120 Exemple: Représentation du nombre 0x sur 32 bits: Représentation petit-boutiste: Adresse : x78 0x56 0x34 0x12 Représentation gros-boutiste: Adresse : x12 0x34 0x56 0x78 120

121 Les types de mémoire vive On rencontre plusieurs variantes de mémoire vive: La mémoire statique: Cette mémoire est constituée de circuits analogues aux flip-flops. Elle est très rapide, mais coûteuse et gourmande en énergie. La mémoire dynamique: Cette mémoire retient des informations sous la forme de charges électrostatiques devant être régulièrement rafraîchies. Ses avantages résident dans un coût modéré et une faible consommation d énergie. La mémoire non volatile: Cette mémoire est capable de préserver les données qu elle contient même lorsqu elle n est pas alimentée. 121

122 La mémoire morte Ce type de mémoire, aussi appelé ROM (Read-Only Memory), possède les caractéristiques suivantes: La lecture de données présentes en mémoire peut être effectuée à volonté. L écriture de données n est pas possible au cours de l utilisation normale du composant. Les données mémorisées sont préservées même lorsque le composant est hors-tension. La mémoire morte sert à retenir des programmes et des données. 122

123 L organisation de la mémoire morte La principale différence entre la structure d une mémoire morte et celle d une mémoire vive est que le circuit de la première est combinatoire, alors que celui de la seconde est séquentiel. Une mémoire morte m n possède la forme suivante: a 0 a 1. a p 1 p a 2 p n d n d 0 d 1. d n 1 contrôle a 0, a 1,..., a p 1 sont des lignes d adressage permettant d identifier la cellule à lire. d 0, d 1,..., d n 1 sont des lignes de sortie sur lesquelles la mémoire place la valeur lue à l adresse spécifiée. 123

124 La ligne de contrôle permet de préciser l opération devant être effectuée: lecture ou absence d opération. Le fonctionnement de la mémoire morte est simple: Si l entrée de contrôle est activée, le composant place sur les lignes de sortie la valeur lue à l adresse présente sur les lignes d adressage, après un certain délai de propagation des valeurs. Si l entrée de contrôle n est pas activée, les lignes de sortie sont à haute impédance. 124

125 La combinaison de mémoires mortes La combinaison de plusieurs mémoires mortes s effectue de façon similaire à la combinaison de mémoires vives. Il est également possible de combiner des mémoires mortes et des mémoires vives au sein d un même circuit. Exemple: Mémoire 1K 4 construite à partir d une mémoire morte et de trois mémoires vives 256 4: Un quart des cellules de cette mémoire composite appartiennent à la mémoire morte (les adresses de ces cellules dépendent du circuit de contrôle). Les autres cellules sont situées en mémoire vive. 125

126 a d 4 a 0 a 1. a 8 a Circuit de a d 4 ( d0 d 1 d 2 d 3 ) contrôle contrôle a d a d 4. φ. 126

127 Les types de mémoire morte Il existe plusieurs variantes de mémoire morte: La mémoire non programmable: Le contenu de cette mémoire est fixé lors de la fabrication du composant. La mémoire PROM (Programmable ROM): Le contenu de chaque cellule peut être choisi par l utilisateur (une seule fois!) avant la mise en service du composant. La mémoire EPROM (Erasable PROM): Cette mémoire est similaire à une PROM, mais son contenu peut être effacé en exposant le composant à une lumière ultraviolette intense. 127

128 La mémoire EEPROM (Electrically Erasable PROM): Il s agit d une PROM dont le contenu peut être effacé électriquement. La mémoire Flash: Cette mémoire est similaire à l EEPROM, mais impose des restrictions sur les modalités d effacement des cellules. 128

129 La mémoire de masse Les données mémorisées en mémoire vive doivent pouvoir être consultées et modifiées très rapidement. Le coût des mémoires vives rapides est toutefois relativement important. Pour cette raison, on dote également les ordinateurs d une mémoire de masse, de capacité supérieure à celle de la mémoire vive, mais de vitesse d accès nettement inférieure. Dans la majorité des ordinateurs modernes, la mémoire de masse est constituée de disques durs. Un disque dur est un empilement de plateaux magnétiques fixés sur un même axe. Des têtes de lecture/écriture placées en regard de chaque face de plateau assurent le transfert des informations vers et depuis le disque. Toutes les têtes se déplacent solidairement au gré du mouvement d un bras de lecture/écriture. 129

130 La structure d un disque dur Les données mémorisées sur un disque dur sont structurées de la façon suivante: Chaque face de plateau possède un certain nombre de pistes concentriques sur lesquelles sont enregistrées les données. L ensemble des pistes pouvant être atteintes par une position donnée du bras forme un cylindre. Chaque piste se décompose en secteurs angulaires dont le contenu constitue l unité d information élémentaire du disque. Pour accéder à une donnée du disque, il suffit donc d en préciser les numéros de cylindre, de tête et de secteur. 130

131 Illustration: Plateau Secteur Piste Tête de lecture/écriture Bras 131

132 Les bus de communication Un bus est un ensemble de lignes de communication reliant plusieurs circuits de l ordinateur. Les bus sont présents à plusieurs niveaux d abstraction: Des bus internes relient les différentes unités fonctionnelles d un processeur. Des bus externes relient le processeur, la mémoire (principale et de masse) et les composants auxiliaires. Des bus peuvent également relier plusieurs ordinateurs, ou un ordinateur à ses périphériques. 132

133 Les caractéristiques d un bus Considérons le bus reliant le processeur à la mémoire centrale et à d autres composants. Ce bus prend la forme de câbles souples connectés aux différents circuits, ou bien d un fond de panier rigide: Par rapport aux circuits digitaux que nous avons étudiés, les bus possèdent les particularités suivantes: Ils peuvent connecter un nombre élevé de circuits. Les distances entre les circuits peuvent être importantes. 133

134 La transmission de signaux via un bus L envoi de signaux vers une ligne de bus s effectue via un composant particulier, la porte à trois états: c d q Si c = 1, la valeur d entrée d est transmise à la sortie q. Si c = 0, la sortie est mise à haute impédance. De même, la réception de signaux depuis une ligne de bus s effectue via un composant spécial, le tampon d entrée (bus buffer). Une porte à trois états et un tampon d entrée peuvent être regroupés en un émetteur-récepteur de bus (bus transceiver). 134

135 La forme générale de connexion d un circuit à un bus est la suivante: Bus... i 1 q 1 c 1 i 2 q 2 c 2 i 3 q 3 c 3 Circuit 135

136 La discipline de bus Les distances entre les circuits reliés par un bus peuvent être importantes. Par conséquent, il est nécessaire de tenir compte de la vitesse de propagation finie des signaux transmis. Afin que les valeurs booléennes transmises sur une ligne de bus soient toujours correctement décodées, on place un signal d horloge sur une ligne du bus (celui-ci est alors dit synchrone), et on impose la discipline suivante: Les valeurs placées sur le bus doivent être stables avant un des deux flancs de l horloge (flanc d assertion), et ne peuvent pas changer de valeur jusqu au flanc suivant (flanc d échantillonnage). Les valeurs présentes sur le bus ne sont lues qu au moment du flanc d échantillonnage. 136

137 Illustration de la discipline de bus: Assertion Echantillonnage Horloge φ Sorties de circuit q 137

138 Les transactions Une transaction est une opération élémentaire de transfert de données entre deux circuits connectés à un bus. A un instant donné, il ne peut y avoir qu au plus une transaction en cours sur un bus. Exemple: Une façon simple de coordonner les transactions consiste à utiliser deux lignes de bus comme marqueurs: Une ligne start est activée par le circuit initiant la transaction (le maître), et désactivée au coup d horloge suivant. Une ligne stop est activée par l autre circuit (l esclave) dès qu il détecte la fin de la transaction, et désactivée au coup d horloge suivant. Remarque: La distinction entre maître et esclave n est pas liée au sens de transfert des données, et peut différer d une transaction à une autre. 138

139 Déroulement d une transaction: φ start stop Données Transaction 139

140 L arbitration Il est important de garantir que deux circuits ne puissent pas initier simultanément une transaction sur un même bus. Dans des configurations simples, une solution immédiate consiste à ne connecter au bus qu un seul circuit capable de jouer le rôle d un maître. S il est nécessaire de connecter plusieurs maîtres potentiels, il faut alors disposer d un arbitre chargé de coordonner les accès au bus. L arbitre peut être centralisé, c est-à-dire constitué d un seul circuit connecté à tous les composants, ou bien distribué, c est-à-dire composé de plusieurs modules associés chacun à un composant. 140

141 Exemple: Circuits avec arbitre centralisé: Bus... i 1 q 1 c 1 r 1 c 1 c 2 c 3 i 2 q 2 c 2 r 2 Arbitre Circuits i 3 q 3 c 3 r 3 141

142 Le processeur Le processeur, ou unité centrale (Central Processing Unit, CPU), est au cœur de tout système informatique. Son rôle consiste à exécuter des programmes présents en mémoire vive ou morte. Ces programmes sont exprimés sous la forme de code machine, formé d une suite d instructions placées à des adresses données, et codées grâce à un schéma particulier. L exécution d une instruction se déroule en trois phases: L instruction est chargée depuis la mémoire, puis décodée en une opération à effectuer, et enfin cette opération est exécutée. L ensemble des instructions disponibles et leur schéma de traduction en code machine sont des caractéristiques propres à chaque famille de processeurs. 142

143 La structure d un processeur De façon générale, un processeur est un circuit séquentiel et possède donc la structure suivante: Sorties o 1, o 2,... Circuit Entrées i 1, i 2,... n combinatoire n n d q n φ Les registres de ce circuit appartiennent à deux catégories: Les registres de données sont destinés à retenir les valeurs manipulées lors de l exécution des instructions, et le résultat des opérations. Les registres de contrôle servent à organiser le chargement, le décodage et l exécution des instructions. 143

144 Parmi les registres de contrôle, on distingue Un compteur de programme (Program Counter, PC) contenant l adresse de la prochaine instruction à charger. Un registre d instruction contenant le code machine de l instruction en cours d exécution (ou sur le point de s exécuter). La forme exacte des registres et leur nombre diffèrent d une architecture à une autre. 144

145 La séparation entre contrôle et données La distinction entre contrôle et données peut être étendue à l ensemble du processeur. Celui-ci prend alors la forme suivante: Lignes de contrôle Lignes d état Traitement du contrôle Sorties Traitement des données Entrées Registre(s) Registre(s) de contrôle de données φ 145

146 La communication entre les deux parties est assurée par Des lignes de contrôle pilotant le circuit de données en spécifiant la nature des opérations à effectuer. Des lignes d état permettant aux valeurs calculées par le circuit de données d influencer le déroulement des programmes. 146

147 Le circuit de données (exemple) c c φ A φ B c ALU Lignes d état φ c Banque de registres c Bus interne... φ c Gestionnaire de bus Bus externe 147

148 Le bus interne: Il assure la communication entre les différentes unités du circuit. L unité arithmétique et logique (Arithmetic and Logic Unit, ALU): Cette unité est capable d effectuer une variété d opérations, spécifiées par des lignes de contrôle. Le résultat d une opération peut être placé sur le bus interne. Des valeurs sont également générées sur des lignes d état. Les opérandes utilisées par l ALU sont retenues dans deux registres A et B pouvant être chargés depuis le bus interne. La banque de registres: Elle peut être vue comme une mémoire vive de faible capacité, à grande vitesse d accès. Les données lues et écrites dans cette mémoire, ainsi que leurs adresses, transitent par le bus interne. Les opérations de la banque de registres sont pilotées par des lignes de contrôle. 148

149 Le gestionnaire de bus: Il assure la liaison entre le bus interne du processeur et le ou les bus externes servant à relier celui-ci aux autres composants de l ordinateur. Ses opérations sont pilotées par des lignes de contrôle. 149

150 Le circuit de contrôle Exemple de circuit de contrôle simple: Bus interne... c c c Lignes d état φ PC φ RI φ interruptions Logique de contrôle c Autres registres de contrôle φ 150

151 L exécution d un programme s effectue en répétant les opérations suivantes: 1. Le circuit place sur les lignes de contrôle des valeurs correspondant à une lecture en mémoire centrale à l adresse PC, et à un chargement de la valeur lue dans le registre d instruction. 2. Le circuit décode l instruction dont le code machine se trouve dans le registre d instruction, et met à jour la valeur de PC. 3. Pendant un certain nombre de cycles d horloge, le circuit génère sur les lignes de contrôle des valeurs pilotant le circuit de données, afin d exécuter les opérations requises par l instruction courante. 151

152 Les interruptions Le séquencement des instructions exécutées par le processeur ne doit pas être uniquement déterminé par le code machine présent en mémoire. En effet, dans certaines circonstances, l exécution d un programme doit parfois être interrompue afin de permettre au processeur d effectuer des opérations urgentes. Dans ce but, le circuit de contrôle est doté d une ou de plusieurs entrées d interruption. L activation de ces entrées interrompt le flux normal des instructions, et transfère le contrôle à un segment de programme particulier (la routine d interruption). Lors d une interruption, l état du processeur doit être sauvegardé afin de permettre au programme interrompu de reprendre son exécution à la fin de l interruption. Selon l architecture du processeur, cette sauvegarde est soit automatique, soit réalisée par la routine d interruption. 152

153 Les différentes architectures L architecture des processeurs modernes s inspire du processeur simple que nous venons de décrire, mais y ajoute souvent un certain nombre de caractéristiques supplémentaires: Les processeur RISC (Reduced Instruction-Set Computer): Le jeu d instructions est réduit, mais toutes les instructions possèdent un code machine de même longueur. Cela permet de simplifier le circuit de contrôle, et de rendre le processeur plus rapide. Les processeurs vectoriels: Ceux-ci possèdent plusieurs circuits de données ou plusieurs unités arithmétiques, capables d effectuer des opérations simultanément. Les processeurs multicœur (multicore): Ils sont dotés de plusieurs circuits de contrôle leur permettant d exécuter simultanément différentes séquences d instructions. 153

154 Chapitre 4 Les instructions et les programmes 154

155 L architecture 80x86 La famille 80x86 regroupe une gamme étendue de processeurs: 8088, 8086, 80186, 80286, 80386, 80486, Pentium, Pentium III, Pentium IV, Xeon, Core 2, Atom, i3, i5, i7,.... Il existe une forte compatibilité ascendante entre ceux-ci: la plupart des programmes écrits pour un de ces processeurs peuvent être correctement exécutés par n importe quel processeur plus récent. Dans le cadre de ce cours, nous étudierons seulement une fraction essentielle de la structure et du jeu d instructions des processeurs 80x86, et nous nous limiterons aux éléments communs à tous les membres de cette famille. 155

156 Le modèle mémoire Les processeurs 80x86 sont capables d adresser directement la mémoire principale. Cet adressage est effectué de façon segmentée: Un segment est un ensemble de cellules contiguës utilisées dans le même but. Chaque programme définit plusieurs segments: Un segment de code contenant les instructions du programme; Un segment de pile contenant certaines données temporaires. L application principale de ce segment consiste à retenir l adresse de retour lors d un appel de sous-routine; Un ou plusieurs segments de données contenant les valeurs d entrée et de sortie du programme, ainsi que des résultats intermédiaires. 156

157 Pour accéder à une cellule de la mémoire principale, il est nécessaire de fournir Un identificateur de segment, c est-à-dire une valeur numérique spécifiant à quel segment appartient la cellule; Un déplacement, ou offset, qui représente la différence d adresses entre la cellule et la base du segment qui la contient. Mémoire Seg.1 id. offset Seg.2 157

158 L alignement La taille de cellule de la mémoire adressée par un processeur 80x86 est fixée à 8 bits. Cela ne signifie pas qu il est impossible de transférer plus de 8 bits en une seule opération de la mémoire: Le bus externe possède souvent 32 ou 64 lignes de données. Cependant, un transfert efficace n est possible qu à condition que les données soient convenablement alignées: Une valeur stockée sur N octets (avec N = 2, 4 ou 8) ne peut être transférée en une seule opération que si son adresse est un multiple de N. Remarque: Certaines architectures (par exemple, la famille MIPS R4000) ne permettent pas le transfert de données non alignées. 158

159 Les registres Les registres d un processeur 80x86 peuvent être classés en trois catégories. Les registres généraux Il peuvent être utilisés comme opérandes de la plupart des instructions du processeur. Ils sont 8, et possèdent chacun une capacité de 16 bits: AX, BX, CX, DX, SI, DI, SP, BP. Les deux octets constituant chacun des registres AX, BX, CX et DX peuvent aussi être utilisés séparément; ces sous-registres de 8 bits sont dénotés AH, AL, BH, BL, CH, CL, DH et DL. Le suffixe H correspond au poids fort (High), le suffixe L au poids faible (Low). Certains registres généraux sont également utilisés par des opérations spécifiques. 159

160 Les registres de segment Ceux-ci contiennent les identificateurs des différents segments utilisés par le programme exécuté. Ils sont 4, et possèdent chacun une capacité de 16 bits: CS, DS, SS, ES. Leur contenu est interprété de la façon suivante: CS : Segment de code; SS : Segment de pile; DS, ES : Segments de données. Les registres de statut et de contrôle Il sont deux, et contiennent chacun 16 bits: Le registre IP (Instruction Pointer) contient l offset dans le segment de code de la prochaine instruction à exécuter; Le registre FLAGS contient des drapeaux fournissant des informations sur le résultat d une opération précédemment exécutée. 160

161 Les drapeaux les plus utiles sont situés aux positions suivantes du registre FLAGS: 0 : CF Indique un report survenu au cours d une opération arithmétique; 2 : PF Est positionné si l octet de poids faible d un résultat possède un nombre pair de bits égaux à 1; 6 : ZF Indique un résultat nul; 7 : SF Indique un résultat négatif (en utilisant la représentation par complément à 2 des nombres signés); 11 : OF Signale un dépassement arithmétique. 161

162 Les instructions Une instruction d un programme est caractérisée par trois informations: Son adresse. Elle peut être donnée par un offset dans le segment de code, ou implicitement si l instruction suit immédiatement l instruction précédente; Son code d opération, ou opcode. Celui-ci est le plus souvent donné par une courte dénomination conventionnelle, la mnémonique; Ses opérandes: Celles-ci précisent quels sont les paramètres de l opération. L architecture 80x86 permet une grande variété de formes d opérandes. Pour une opération possédant deux opérandes et exprimant un transfert de données, la deuxième opérande correspond à l origine et la première à la destination des données. 162

163 Les modes d adressage Un mode d adressage correspond à une forme d opérande admise par l architecture du processeur. Toutes les instructions ne sont pas capables d exploiter l ensemble des modes d adressage disponibles. Pour chaque mode que nous allons décrire, nous donnerons la syntaxe associée à l emploi de ce mode, et un code destiné à identifier ce mode d adressage. Lors de la présentation des différentes instructions, nous utiliserons ce code pour associer à chaque instruction l ensemble des modes d adressage permis pour ses opérandes. 163

164 L adressage registre Définition: L opérande est contenue dans un des registres généraux. Notation et exemples: L instruction mov al, ah dénote une opération de transfert d un octet depuis le registre AH vers le registre AL. L instruction mov ax, dx dénote une opération de transfert de deux octets depuis le registre DX vers le registre AX. Code conventionnel: r8 ou r16, selon la taille de l opérande. 164

165 L adressage immédiat Définition: L opérande est constante et sa valeur accompagne l instruction. Notation et exemple: L instruction mov ax, 1234h dénote une affectation de la valeur constante 0x1234 au registre AX. Code conventionnel: i8 ou i16, selon la taille de l opérande. 165

166 L adressage direct Définition: L opérande est placée en mémoire principale, dans le segment de données, à un offset spécifié. Notation et exemple: L instruction mov al, [100h] dénote une opération de transfert de données depuis l octet situé à l offset 0x100 du segment de données principal (identifié par le contenu de DS) vers le registre AL. Note: Le nombre (8 ou 16) de bits adressés peut être spécifié par un qualificateur byte ou word. Exemple: mov word [100h], 0 Code conventionnel: m8 ou m16, selon la taille de l opérande. 166

167 L adressage indirect Définition: L opérande est placée en mémoire principale, dans le segment de données, à un offset égal au contenu d un des registres BX, BP, SI, ou DI. Il est également possible de spécifier un décalage constant à ajouter à la valeur du registre utilisé pour l adressage indirect. Notation et exemples: L instruction mov al, [bx] dénote le transfert d un octet depuis l offset du segment de données égal à la valeur du registre BX vers le registre AL. L instruction mov cx, [bx + 6] dénote le transfert de deux octets depuis l offset (BX + 6) du segment de données vers le registre CX. Code conventionnel: p8 ou p16, selon la taille de l opérande. 167

168 L adressage indirect indexé Définition: L opérande est placée en mémoire principale, dans le segment de données, à un offset égal à la somme d un des registres BX ou BP et d un des registres SI ou DI. Il est également permis de spécifier un décalage constant s ajoutant à cette somme. Notation et exemples: L instruction mov cx, [bx + si] dénote le transfert de deux octets depuis l offset (BX + SI) du segment de données vers le registre CX. 168

169 L instruction mov ah, [bx + di - 4] dénote le transfert d un octet depuis l offset (BX + DI 4) du segment de données vers le registre AH. Code conventionnel: p8 ou p16 (on fusionne ce mode avec l adressage indirect). 169

170 Les instructions de transfert L instruction MOV: Effectue un transfert de sa deuxième opérande vers sa première. Les drapeaux ne sont pas modifiés. Les modes d adressage autorisés sont: Op.1 Op.2 Op.1 Op.2 rα rα rα pα mα rα rα iα rα mα pα iα pα rα mα iα (Le code α indique que les tailles 8 et 16 sont toutes deux permises.) Exemple: L instruction mov [BX + SI], 1234h affecte la valeur 0x1234 au groupe de deux octets situés à l offset (BX + SI) du segment de données. 170

171 L instruction XCHG: Echange la valeur de ses deux opérandes. Les drapeaux ne sont pas modifiés. Les modes d adressage autorisés sont: Op.1 rα mα pα rα rα Op.2 rα rα rα mα pα 171

172 Les instructions d accès à la pile Principes: La pile est stockée dans le segment de pile (registre SS); La pile croît dans la direction des adresses décroissantes; L offset de l élément situé au sommet de la pile est égal au contenu du registre SP. Segment de pile SP Pile 172

173 L instruction PUSH: Prend une opérande de 16 bits et place la valeur de celle-ci sur la pile. Cette opération s effectue en deux étapes: 1. La valeur du registre SP est décrémentée de deux unités afin de réserver une place en mémoire pour le nouvel élément. 2. La valeur de l opérande est transférée dans le segment de pile, à l offset donné par la nouvelle valeur de SP. Les drapeaux ne sont pas modifiés. Les modes d adressage autorisés sont: Op.1 r16 m16 i16 173

174 L instruction POP: Extrait de la pile une valeur de 16 bits et la transfère dans son opérande. Cette opération s effectue en deux étapes: 1. La valeur située dans le segment de pile à l offset donné par la valeur de SP est transférée dans l opérande; 2. Le registre SP est incrémenté de deux unités afin de le faire pointer vers le nouveau sommet de la pile. Les drapeaux ne sont pas modifiés. Les modes d adressage autorisés sont: Op.1 r16 m16 174

175 Les instructions arithmétiques L instruction ADD: Calcule la somme de ses deux opérandes et place le résultat dans la première. Les drapeaux CF, PF, ZF, SF et OF sont mis à jour à l aide du résultat de l opération. Les modes d adressage autorisés sont: Op.1 Op.2 Op.1 Op.2 rα rα rα pα mα rα rα iα rα mα pα iα pα rα mα iα r16 i8 p16 i8 m16 i8 175

176 L instruction SUB: Retranche la valeur de la deuxième opérande de la valeur de la première, et place le résultat dans la première opérande. Les drapeaux CF, PF, ZF, SF et OF sont mis à jour à l aide du résultat de l opération. Les modes d adressage permis sont identiques à ceux de l instruction ADD. L instruction CMP: Effectue la même opération de soustraction que l instruction SUB, mais ne place pas le résultat dans la première opérande. L effet de l opération est donc uniquement reflété par la valeur des drapeaux. Cette instruction permet donc de comparer deux valeurs, dans le but de prendre ensuite une décision basée sur la valeur des drapeaux. 176

177 L instruction INC: Ajoute 1 à son opérande, en mettant à jour les drapeaux OF, PF, SF et ZF (mais pas CF). Les modes d adressage autorisés sont: L instruction DEC: Op.1 rα mα pα Soustrait 1 à son opérande. Les modes d adressage permis et les drapeaux mis à jours sont identiques à ceux de l instruction INC. 177

178 L instruction MUL: Multiplie deux nombres non signés. Cette instruction possède une seule opérande, dont la taille détermine l opération effectuée: Opérande de 8 bits. L opérande est multipliée par AL et le résultat est placé dans AX. Les drapeaux CF et OF sont mis à 0 si la nouvelle valeur de AH est nulle, et à 1 sinon; Opérande de 16 bits. L opérande est multipliée par AX, et le résultat est placé dans les deux registres DX (poids fort) et AX (poids faible). Les drapeaux CF et OF sont mis à 0 si la nouvelle valeur de DX est nulle, et à 1 sinon. Les modes d adressage permis sont identiques à ceux des instructions INC et DEC. 178

179 Les instructions logiques Les instructions AND, OR et XOR: Appliquent les opérations booléennes correspondantes bit par bit à leurs deux opérandes, et placent le résultat dans la première. Les drapeaux PF, ZF et SF sont mis à jour. Les modes d adressage autorisés sont identiques à ceux d une instruction ADD ou SUB. L instruction NOT: Inverse la valeur de chaque bit de son opérande, sans modifier les drapeaux. Les modes d adressage permis sont identiques à ceux de l instruction MUL. 179

180 Les instructions de contrôle Ces instructions permettent de modifier le séquencement normal d un programme, en transférant le contrôle à un point donné ou calculé de celui-ci. Lorsque le contrôle est transféré en mémorisant une adresse de retour, on parle d un appel de sous-routine. Sinon, il s agit d un saut. L instruction JMP: Provoque un saut inconditionnel vers un offset du segment de code donné par son opérande. Les drapeaux ne sont pas modifiés. Les modes d adressage permis sont: Op.1 i16 r16 m16 p16 180

181 Les instructions de saut conditionnel: Elles sont similaires à l instruction JMP, mais n effectuent un saut que si une condition particulière est satisfaite. Dans le cas contraire, l exécution du programme se poursuit à l instruction suivante. La condition s exprime en fonction des drapeaux, ou bien des opérandes d une instruction CMP précédemment exécutée. Instr. Condition de saut JC CF = 1 JNC CF = 0 JZ ZF = 1 JNZ ZF = 0 JO OF = 1 JNO OF = 0 JE Op1 = Op2 JNE Op1 Op2 JG Op1 > Op2 (valeurs signées) JGE Op1 Op2 (valeurs signées) JL Op1 < Op2 (valeurs signées) JLE Op1 Op2 (valeurs signées) JA Op1 > Op2 (valeurs non signées) JAE Op1 Op2 (valeurs non signées) JB Op1 < Op2 (valeurs non signées) JBE Op1 Op2 (valeurs non signées) 181

182 Exemple: Les deux instructions cmp jge ax, bx 1234h provoquent un saut à l offset 0x1234 du segment de code à la condition que la valeur de AX soit au moins égale à la valeur de BX, les deux nombres étant considérés signés. 182

183 L instruction LOOP: Possède une opérande dont le mode d adressage est identique à celle d une instruction JMP. Cette instruction décrémente d une unité la valeur du registre CX, sans affecter la valeur des drapeaux. Si la nouvelle valeur de CX est non nulle, alors l instruction effectue un saut vers l offset spécifié par son opérande. La principale application de l instruction LOOP est d implémenter l itération d opérations. Pour répéter n fois une partie de code, il suffit en effet: De placer l instruction LOOP à la fin de ce code, et de la doter d une opérande pointant vers le début de celui-ci; De charger n dans le registre CX et d effectuer un saut vers le début du code. 183

184 L instruction CALL: Effectue un appel de sous-routine. Ses modalités d utilisation et ses modes d adressage sont identiques à ceux de l instruction JMP. A la différence de cette dernière, l instruction CALL mémorise sur la pile l offset (dans le segment de code) de l instruction qui la suit. Cette adresse de retour permettra de reprendre l exécution du programme une fois l appel de la sous-routine terminé. L instruction RET: Marque la fin de l exécution d une sous-routine. Elle a pour effet de récupérer une valeur de retour sur la pile (préalablement placée par une instruction CALL), et d effectuer un saut vers cet offset. 184

185 Le langage d assemblage Dans la mémoire de l ordinateur, les programmes sont présents sous forme de code machine. Le langage d assemblage (ou assembleur) constitue une forme lisible de code machine. Un programme exprimé dans ce langage peut être directement traduit en code machine (par un programme d assemblage). Les mnémoniques et la syntaxe des modes d adressage qui ont été introduits dans ce chapitre étaient déjà exprimées en langage d assemblage. Ce langage offre également des facilités au programmeur: définitions de segments, de valeurs symboliques,

186 La structure d un programme Un programme assembleur peut être composé de plusieurs sections définissant chacune le contenu d un segment. Principes: La définition du segment de données principal (associé à DS), est précédée de SECTION.data La définition du segment de code (contenant les instructions), est précédée de SECTION.text Les segments sont alors placés en mémoire et des valeurs sont attribuées aux registres de segments par le programme d assemblage. 186

187 Les étiquettes Lors de la définition d une instruction de saut ou d appel de sous-routine, il est peu commode d obliger le programmeur à spécifier explicitement l offset dans le segment de code du code invoqué. Le langage d asemblage permet de spécifier cet offset symboliquement, en désignant la destination du branchement par une étiquette. Lors de l assemblage, les étiquettes présentes dans le programme sont automatiquement remplacées par l offset des instructions auxquelles elles sont associées. Exemple et notation: mov cx, 0Ah boucle : mov ah, [bx + si]... inc si loop boucle 187

188 La réservation de mémoire En général, les registres du processeur ne suffisent pas à retenir les données temporaires devant être manipulées par les programmes. On est alors amené à reserver des cellules dans le segment de données, destinées à retenir ces données. Ces réservations peuvent être effectuées par les directives db (8 bits) et dw (16 bits). Ces directives peuvent être précédées d une étiquette permettant d y faire référence symboliquement. Exemple: SECTION.data premier db 3 deuxieme db 2 SECTION.text... mov al, [premier] cmp al, [deuxieme]

189 Remarque: Les directives db et dw garantissent un bon alignement des données pour l ensemble des opérations de transfert de données. 189

190 La définition de constantes Il est souvent pratique de spécifier symboliquement la valeur de constantes utilisées à de nombreux endroits d un programme. Une telle définition de constante ne nécessite pas de réservation de mémoire dans le segment de données. La directive equ permet de définir des symboles dont la valeur sera substituée au moment de la traduction du programme en code machine. Exemple et notation: nombre equ mov cx, nombre boucle :... loop boucle

Logiciel de Base. I. Représentation des nombres

Logiciel de Base. I. Représentation des nombres Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) [email protected] I. Représentation des nombres Codage et représentation de l'information Information externe formats

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

Conversion d un entier. Méthode par soustraction

Conversion d un entier. Méthode par soustraction Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com [email protected]

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie 1 Professeur : Haouati Abdelali CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com [email protected] Partie I : Généralités et algorithmique de base 1. Environnement matériel et logiciel

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) [email protected] Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

IFT1215 Introduction aux systèmes informatiques

IFT1215 Introduction aux systèmes informatiques Introduction aux circuits logiques de base IFT25 Architecture en couches Niveau 5 Niveau 4 Niveau 3 Niveau 2 Niveau Niveau Couche des langages d application Traduction (compilateur) Couche du langage d

Plus en détail

Chapitre 10 Arithmétique réelle

Chapitre 10 Arithmétique réelle Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Codage d information. Codage d information : -Définition-

Codage d information. Codage d information : -Définition- Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale

Plus en détail

Leçon 1 : Les principaux composants d un ordinateur

Leçon 1 : Les principaux composants d un ordinateur Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques

Plus en détail

VIII- Circuits séquentiels. Mémoires

VIII- Circuits séquentiels. Mémoires 1 VIII- Circuits séquentiels. Mémoires Maintenant le temps va intervenir. Nous avions déjà indiqué que la traversée d une porte ne se faisait pas instantanément et qu il fallait en tenir compte, notamment

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

Architecture matérielle des systèmes informatiques

Architecture matérielle des systèmes informatiques Architecture matérielle des systèmes informatiques IDEC, Renens. Version novembre 2003. Avertissement : ce support de cours n est pas destiné à l autoformation et doit impérativement être complété par

Plus en détail

GPA770 Microélectronique appliquée Exercices série A

GPA770 Microélectronique appliquée Exercices série A GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

IFT2880 Organisation des ordinateurs et systèmes

IFT2880 Organisation des ordinateurs et systèmes Représentation des nombres flottants Notation exponentielle Représentations équivalentes dans la base 10 de 1,234 1 2 3, 4 0 0. 0 x 1 0-2 1 2, 3 4 0. 0 x 1 0-1 1, 2 3 4. 0 x 1 0 1 2 3. 4 x 1 0 1 2. 3 4

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Table des matières. Introduction....3 Mesures et incertitudes en sciences physiques

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot et Sébastien Viardot Année universitaire 2011-2012 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 Codage des

Plus en détail

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne) Mémoire - espace destiné a recevoir, conserver et restituer des informations à traiter - tout composant électronique capable de stocker temporairement des données On distingue deux grandes catégories de

Plus en détail

Système binaire. Algèbre booléenne

Système binaire. Algèbre booléenne Algèbre booléenne Système binaire Système digital qui emploie des signaux à deux valeurs uniques En général, les digits employés sont 0 et 1, qu'on appelle bits (binary digits) Avantages: on peut utiliser

Plus en détail

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques. Logique binaire I. L'algèbre de Boole L'algèbre de Boole est la partie des mathématiques, de la logique et de l'électronique qui s'intéresse aux opérations et aux fonctions sur les variables logiques.

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

ELP 304 : Électronique Numérique. Cours 1 Introduction

ELP 304 : Électronique Numérique. Cours 1 Introduction ELP 304 : Électronique Numérique Cours 1 Introduction Catherine Douillard Dépt Électronique Les systèmes numériques : généralités (I) En électronique numérique, le codage des informations utilise deux

Plus en détail

Une version javascript sera disponible directement dans le cours prochainement.

Une version javascript sera disponible directement dans le cours prochainement. Author : Cédric Vanconingsloo Ce cours est principalement axé sur la compréhension du fonctionnement d'un ordinateur et l'étude du seul langage qu'il connaisse, le binaire. De ce fait, le cours est relativement

Plus en détail

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007 Introduction à l architecture des ordinateurs Adrien Lebre Décembre 2007 Plan - partie 1 Vue d ensemble La carte mère Le processeur La mémoire principal Notion de bus Introduction à l architecture des

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

Chapitre 4 : Les mémoires

Chapitre 4 : Les mémoires 1. Introduction: Chapitre 4 : Les mémoires Nous savons que dans un ordinateur toutes les informations : valeur numérique, instruction, adresse, symbole (chiffre, lettre,... etc.) sont manipulées sous une

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11) 1/ Généralités : Un ordinateur est un ensemble non exhaustif d éléments qui sert à traiter des informations (documents de bureautique, méls, sons, vidéos, programmes ) sous forme numérique. Il est en général

Plus en détail

1 Introduction au codage

1 Introduction au codage CélestineOscarDésiréAnatoleGastonEugène 1 Introduction au codage 1.1 Les ensembles L ensemble de tout les ensembles est Dieu lui-même. Kantor Ensemble des parties d un ensemble désigne l ensemble des sous-ensembles

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

ASR1 TD7 : Un microprocesseur RISC 16 bits

ASR1 TD7 : Un microprocesseur RISC 16 bits {Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit

Plus en détail

Cours 3 : L'ordinateur

Cours 3 : L'ordinateur Cours 3 : L'ordinateur Abdelkrim Zehioua 2éme année Licence Gestion Faculté des sciences Économiques et sciences de Gestion Université A, Mehri - Constantine 2 Plan du cours 1.Définitions de l'ordinateur

Plus en détail

Structure de base d un ordinateur

Structure de base d un ordinateur Structure de base d un ordinateur 1-Définition de l ordinateur L ordinateur est un appareil électronique programmable qui traite automatiquement les informations. Il est constitué de l unité centrale et

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique Architecture d ordinateur : introduction Dimitri Galayko Introduction à l informatique, cours 1 partie 2 Septembre 2014 Association d interrupteurs: fonctions arithmétiques élémentaires Elément «NON» Elément

Plus en détail

Le multiplexage. Sommaire

Le multiplexage. Sommaire Sommaire Table des matières 1- GENERALITES... 2 1-1 Introduction... 2 1-2 Multiplexage... 4 1-3 Transmission numérique... 5 2- LA NUMERATION HEXADECIMALE Base 16... 8 3- ARCHITECTURE ET PROTOCOLE DES RESEAUX...

Plus en détail

MPI Activité.10 : Logique binaire Portes logiques

MPI Activité.10 : Logique binaire Portes logiques MPI Activité.10 : Logique binaire Portes logiques I. Introduction De nombreux domaines font appel aux circuits logiques de commutation : non seulement l'informatique, mais aussi les technologies de l'asservissement

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Les opérations binaires

Les opérations binaires Les opérations binaires Compétences associées A2 : Analyser et interpréter une information numérique Objectifs Etre capable: - De coder les nombres entiers en code complément à 2. - De résoudre les opérations

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd UE 503 L3 MIAGE Initiation Réseau et Programmation Web La couche physique A. Belaïd [email protected] http://www.loria.fr/~abelaid/ Année Universitaire 2011/2012 2 Le Modèle OSI La couche physique ou le

Plus en détail

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté Compétences travaillées : Mettre en œuvre un protocole expérimental Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique

Plus en détail

Concevoir son microprocesseur

Concevoir son microprocesseur Concevoir son microprocesseur structure des systèmes logiques Jean-Christophe Buisson Collection Technosup Ellipses Avant-propos Ce livre s adresse aux étudiants en informatique de licence et maîtrise,

Plus en détail

Architecture de l ordinateur

Architecture de l ordinateur Architecture de l ordinateur Emmanuel Lazard Université Paris-Dauphine mars 2011 Computers are my forte! BRAZIL (Terry Gilliam, 1985) Ce document a initialement été publié sous forme de livre : Emmanuel

Plus en détail

Chapitre 13 Numérisation de l information

Chapitre 13 Numérisation de l information DERNIÈRE IMPRESSION LE 2 septembre 2013 à 17:33 Chapitre 13 Numérisation de l information Table des matières 1 Transmission des informations 2 2 La numérisation 2 2.1 L échantillonage..............................

Plus en détail

Précision d un résultat et calculs d incertitudes

Précision d un résultat et calculs d incertitudes Précision d un résultat et calculs d incertitudes PSI* 2012-2013 Lycée Chaptal 3 Table des matières Table des matières 1. Présentation d un résultat numérique................................ 4 1.1 Notations.........................................................

Plus en détail

Acquisition et conditionnement de l information Les capteurs

Acquisition et conditionnement de l information Les capteurs Acquisition et conditionnement de l information Les capteurs COURS 1. Exemple d une chaîne d acquisition d une information L'acquisition de la grandeur physique est réalisée par un capteur qui traduit

Plus en détail

Un ordinateur, c est quoi?

Un ordinateur, c est quoi? B-A.BA Un ordinateur, c est quoi? Un ordinateur, c est quoi? Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits

Plus en détail

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des

Plus en détail

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs Architecture Matérielle des Systèmes Informatiques. S1 BTS Informatique de Gestion 1 ère année THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT Dossier 1 L environnement informatique. Objectifs Enumérer et

Plus en détail

Transmission de données. A) Principaux éléments intervenant dans la transmission

Transmission de données. A) Principaux éléments intervenant dans la transmission Page 1 / 7 A) Principaux éléments intervenant dans la transmission A.1 Equipement voisins Ordinateur ou terminal Ordinateur ou terminal Canal de transmission ETTD ETTD ETTD : Equipement Terminal de Traitement

Plus en détail

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation

Plus en détail

DM 1 : Montre Autoquartz ETA

DM 1 : Montre Autoquartz ETA Lycée Masséna DM 1 : Montre Autoquartz ETA 1 Présentation de la montre L essor de l électronique nomade s accompagne d un besoin accru de sources d énergies miniaturisées. Les contraintes imposées à ces

Plus en détail

Algèbre binaire et Circuits logiques (2007-2008)

Algèbre binaire et Circuits logiques (2007-2008) Université Mohammed V Faculté des Sciences Département de Mathématiques et Informatique Filière : SMI Algèbre binaire et Circuits logiques (27-28) Prof. Abdelhakim El Imrani Plan. Algèbre de Boole 2. Circuits

Plus en détail

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

J LOGOSCREEN nt Enregistreur sans papier avec écran TFT et carte CompactFlash. B 70.6580.0 Notice de mise en service 08.

J LOGOSCREEN nt Enregistreur sans papier avec écran TFT et carte CompactFlash. B 70.6580.0 Notice de mise en service 08. J LOGOSCREEN nt Enregistreur sans papier avec écran TFT et carte CompactFlash B 70.6580.0 Notice de mise en service 08.06/00453814 Structure des menus de l enregistreur sans papier v Chapitre 8 «Exploitation

Plus en détail

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre Assembleur Faculté I&C, André Maurer, Claude Petitpierre INTRODUCTION Logiciel utilisé Faculté I&C, André Maurer, Claude Petitpierre MEMOIRE Mémoire Faculté I&C, André Maurer, Claude Petitpierre Mémoire

Plus en détail

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à la Programmation en Logique avec SISCtus Prolog Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées

Plus en détail

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de

Plus en détail

ISO/CEI 11172-3 NORME INTERNATIONALE

ISO/CEI 11172-3 NORME INTERNATIONALE NORME INTERNATIONALE ISO/CEI 11172-3 Première édition 1993-08-01 Technologies de l information - Codage de l image animée et du son associé pour les supports de stockage numérique jusqu à environ Ii5 Mbit/s

Plus en détail

Les nombres entiers. Durée suggérée: 3 semaines

Les nombres entiers. Durée suggérée: 3 semaines Les nombres entiers Durée suggérée: 3 semaines Aperçu du module Orientation et contexte Pourquoi est-ce important? Dans le présent module, les élèves multiplieront et diviseront des nombres entiers concrètement,

Plus en détail

Numérisation du signal

Numérisation du signal Chapitre 12 Sciences Physiques - BTS Numérisation du signal 1 Analogique - Numérique. 1.1 Définitions. Signal analogique : un signal analogique s a (t)est un signal continu dont la valeur varie en fonction

Plus en détail

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Base de l'informatique Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Généralité Comment fonctionne un ordinateur? Nous définirons 3 couches Le matériel

Plus en détail

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION 145 NOTION DE PROGRAMMATION 1/ Complétons notre microprocesseur Nous avons, dans les leçons précédentes décrit un microprocesseur théorique, cependant il s inspire du 6800, premier microprocesseur conçu

Plus en détail

Le chiffre est le signe, le nombre est la valeur.

Le chiffre est le signe, le nombre est la valeur. Extrait de cours de maths de 6e Chapitre 1 : Les nombres et les opérations I) Chiffre et nombre 1.1 La numération décimale En mathématique, un chiffre est un signe utilisé pour l'écriture des nombres.

Plus en détail

Université de La Rochelle. Réseaux TD n 6

Université de La Rochelle. Réseaux TD n 6 Réseaux TD n 6 Rappels : Théorème de Nyquist (ligne non bruitée) : Dmax = 2H log 2 V Théorème de Shannon (ligne bruitée) : C = H log 2 (1+ S/B) Relation entre débit binaire et rapidité de modulation :

Plus en détail

Modélisation et Simulation

Modélisation et Simulation Cours de modélisation et simulation p. 1/64 Modélisation et Simulation G. Bontempi Département d Informatique Boulevard de Triomphe - CP 212 http://www.ulb.ac.be/di Cours de modélisation et simulation

Plus en détail

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

TP 2 Réseaux. Adresses IP, routage et sous-réseaux TP 2 Réseaux Adresses IP, routage et sous-réseaux C. Pain-Barre INFO - IUT Aix-en-Provence version du 24/2/2 Adressage IP. Limites du nombre d adresses IP.. Adresses de réseaux valides Les adresses IP

Plus en détail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

Architecture des Ordinateurs. Partie II:

Architecture des Ordinateurs. Partie II: Architecture des Ordinateurs Partie II: Le port Floppy permet le raccordement du lecteur de disquette àla carte mère. Remarque: Le lecteur de disquette a disparu il y a plus de 6 ans, son port suivra.

Plus en détail

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est: Travaux Pratiques 3. IFT 1002/IFT 1005. Structure Interne des Ordinateurs. Département d'informatique et de génie logiciel. Université Laval. Hiver 2012. Prof : Bui Minh Duc. Tous les exercices sont indépendants.

Plus en détail

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur

Plus en détail

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France Théorie et Codage de l Information (IF01) exercices 2013-2014 Paul Honeine Université de technologie de Troyes France TD-1 Rappels de calculs de probabilités Exercice 1. On dispose d un jeu de 52 cartes

Plus en détail

T500 DUAlTACH. JAQUET T500 DualTach Instrument de mesure et de surveillance équipé de 2 entrées fréquence TACHYMETRE 2 CANAUX

T500 DUAlTACH. JAQUET T500 DualTach Instrument de mesure et de surveillance équipé de 2 entrées fréquence TACHYMETRE 2 CANAUX 02-09 T500 DUAlTACH JAQUET T500 DualTach Instrument de mesure et de surveillance équipé de 2 entrées fréquence JAQUET T500 DualTach Instrument multi canal de mesure et de surveillance pour applications

Plus en détail

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT Les portes logiques Nous avons jusqu ici utilisé des boutons poussoirs et une lampe pour illustrer le fonctionnement des opérateurs logiques. En électronique digitale, les opérations logiques sont effectuées

Plus en détail

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA) La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA) I. L'intérêt de la conversion de données, problèmes et définitions associés. I.1. Définitions:

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Numbers sur ipad. Atelier Formation Numbers sur ipad. [Notes extraitres de l'aide en ligne]

Numbers sur ipad. Atelier Formation Numbers sur ipad. [Notes extraitres de l'aide en ligne] Numbers sur ipad [Notes extraitres de l'aide en ligne] Table des matières Atelier Formation Numbers sur ipad Introduction à Numbers 4 Créer ou ouvrir une feuille de calcul 4 Créer ou ouvrir une feuille

Plus en détail

Métriques de performance pour les algorithmes et programmes parallèles

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

Fiche technique CPU 314SC/DPM (314-6CG13)

Fiche technique CPU 314SC/DPM (314-6CG13) Fiche technique CPU 314SC/DPM (3146CG13) Données techniques N de commande 3146CG13 Type CPU 314SC/DPM Information générale Note Caractéristiques SPEEDBus Technologie SPEED7 24 x DI, 16 x DO, 8 x DIO, 4

Plus en détail

Compter à Babylone. L écriture des nombres

Compter à Babylone. L écriture des nombres Compter à Babylone d après l article de Christine Proust «Le calcul sexagésimal en Mésopotamie : enseignement dans les écoles de scribes» disponible sur http://www.dma.ens.fr/culturemath/ Les mathématiciens

Plus en détail

Chapitre 2. Eléments pour comprendre un énoncé

Chapitre 2. Eléments pour comprendre un énoncé Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données

Plus en détail

Transmission d informations sur le réseau électrique

Transmission d informations sur le réseau électrique Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en

Plus en détail

I- Définitions des signaux.

I- Définitions des signaux. 101011011100 010110101010 101110101101 100101010101 Du compact-disc, au DVD, en passant par l appareil photo numérique, le scanner, et télévision numérique, le numérique a fait une entrée progressive mais

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas [email protected] Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel Activité 1 Compter les points Écriture binaire des nombres Résumé Les données de l ordinateur sont stockées et transmises sous la forme d une série de 0 et de 1. Comment peut-on représenter des mots et

Plus en détail