150 likes | 376 Views
Etienne Tremblay. GIF-16116. Introduction et Cours 1, Formats de données. Ordinateurs, Structure et Applications. Université Laval, Hiver 2009. Contenu du cours. Matériel et fonctionnement général d’un ordinateur Avec données et formats de données
E N D
Etienne Tremblay GIF-16116 Introduction et Cours 1, Formats de données. Ordinateurs, Structure et Applications Université Laval, Hiver 2009
Contenu du cours • Matériel et fonctionnement général d’un ordinateur • Avec données et formats de données • Avec intro à l’architecture interne d’un microprocesseur • Assembleur • Systèmes d’exploitations en général • Ports externes • Architectures parallèles
Matériel du cours et Ressources • Notes de cours (Acétates) • Livres (Irv Englander ou William Stallings) • Notes de cours additionnelles • Autres livres • Internet!!! • Disponibilités: au bureau PLT-1114o mercredi de 15h30 à 16h30, toujours disponible par email trembl17@gel.ulaval.ca, sauf 24h avant les examens • Dépanneurs
Examens et Laboratoires • 2 Examens (35% + 40%) • Mercredi, le 11 mars 2007 • Mercredi, le 29 avril 2007 • Laboratoires et séminaire (25%) • Laboratoire sur les microprocesseurs et la mémoire • Laboratoires d’assembleur • Séminaires et laboratoire de fin de session
Historique des ordis • L’abaque (500 b.c.), Grecques et romains, pour des calculs « simples » • Prototype de calculatrice (1642), Blaise Pascal, invention jamais réalisée • Cartes perforées (1801), Joseph Marie Jacquard, industrie du textile • Analytical engine (1833+), Charles Babbage, contiens tous les éléments d’un ordi • ABC (1939), Atanasoff-Berry, totalement électronique et digital (tubes sous vide), recherches en physique. • Mark I (1944), Howard H. Aiken, avec des relais • ENIAC (1946), Electronic Numerical Integrator And Computer, Mauchly et Eckert, premier ordinateur reconnu, calcul de balistique. • 1945: Architecture Von Neumann (Structure générale d’un ordinateur valide encore aujourd’hui). • EDVAC et IAS (1951, 1952), Ordinateurs avec tubes sous vides basés sur l’architecture de Von Neumann • 1958-1971 Plusieurs ordinateurs avec des circuits à transistors (sans tubes sous vides) voient le jour. • 1962: Une sonde de la Nasa, Mariner I, s’écrase en raison d’une erreur de programmation, 10.000.000$ (U.S.) à l’eau. • 1971: premier microprocesseur (4004 d’Intel) • 1973: Micral en France avec 8008 d’Intel, premier ordinateur avec microprocesseur. • 1974: Le 8080 est le premier microprocesseur tout usage apparaît. • 1971-Aujourd’hui. Le nombre d’ordinateurs apparus est trop grand pour être listé ici. L’évolution des ordinateurs a suivi la loi de Moore.
La loi de Moore • Gordon Moore, co-fondateur d’Intel, a établi, en 1965, que le nombre de transistors par pouce carré double à tous les 18 mois. • L’énoncé de la loi de Moore peut être interprété de diverses façons. Toutefois, il est certain que la puissance des ordinateurs évolue sur une échelle logarithmique en fonction du temps. • Certaines composantes comme les disques durs ont suivi des lois analogues à la loi de Moore pendant un temps. • Selon IBM et selon les développement technologiques récents, la loi de Moore durera encore quelques années (au moins jusqu’à 2012!) Figure tirée de Wikipedia
Les formats de données • Toutes les données d’un ordinateur sont exprimées par des bits valant 0 ou 1. • 8 bits forment un byte (octet ou char) pouvant représenter 2^8 = 256 valeurs. 1 Kilobyte (1 ko) est 1024 bytes ou, encore, 8192 bits. 1 MegaByte est 1024 Ko… • Les mots « short, integer et long » expriment une valeur entière contenue sur un nombre croissant de bytes (1,2,4 ou 2,4,8 ou …). • Comment sont exprimés les entiers, les entiers signés et les fractions?
Nombres entiers positifs et bases • Un « unsigned char » est un byte valant de 0 à 255d. • En binaire 255d vaut 11111111b et FFh • Pour obtenir la représentation d’un nombre dans une base précise, il faut diviser par la valeur de la base. • La multiplication peut être utilisée pour convertir en base 10. • Exemple: convertir 23147d en base 16. Le résultat est 5A6B.
Nombre entiers négatifs • Représentation signe et magnitude: • Le premier bit est le signe (0 pour positif), le reste est la magnitude (ex: 11011101b vaut -93) • Représentation complément 2 • Le premier bit vaut –(2^nombre de bits), le reste est additionné comme une valeur positive (ex: 11011101b vaut -128+64+16+8+4+1 = -35). • Autre façon de le voir: pour changer le signe d’un nombre, il faut en faire le compléement (inverser tous ses bits) et ajouter 1 (d’où le nom complément 2). (ex: 35 est 00100011b, si on fait le complément + 1, on obtient 11011100 + 1 = 11011101b, ce qui est bien -35)
Add, Sub, Carry et Overflow • La soustraction d’un nombre positif est similaire à l’addition d’un nombre négatif. • L’addition avec la représentation signe et magnitude est complexe, car l’opération à effectuer dépend du signe. • L’addition en complément 2 s’effectue toujours de la même manière: comme une addition traditionnelle. Il s’agit de la même chose pour les soustractions. • La condition Carry est rencontrée lorsqu’une retenue (carry) existe à la fin de l’opération d’addition. Ce drapeau indique également un emprunt (borrow) lors d’une soustraction. • La condition Overflow est rencontrée lorsque l’addition de deux nombres produit un nombre trop grand pour être représenté. En complément 2, cela se produit lorsque l’addition de 2 nombres de même signe donnent un nombre de signe opposé.
Fractions (1/2) • La norme IEEE 754 a été adoptée universellement pour les fractions sur 32bits (4 bytes) et 64 bits. • Chaque fraction est représentée, en binaire par un signe, un exposant et une mantisse. • Un bit dit si le nombre est positif ou négatif • Quelques bits donnent l’exposant du nombre. Ils disent sont ordre de grandeur. • Les autres bits, la mantisse, détaillent le nombre. La mantisse détermine la précision de la valeur représentée. • Sur 32 bits, la plupart des nombres sont représentés ainsi: • Valeur = (-1)signe *2exposant - 127*0.mantisse • Exposant est sur 8 bits, non-signé (donc de 0 à 255) • Mantisse est sur 23 bits. Le premier bit vaut 2-1, le deuxième bit vaut2-2 et le dernier bit vaut2-23. • On peut comparer la représentation binaire des fractions à la notation exponentielle en décimal. • En décimal, le nombre -0.349E3 (-349d) à un signe de -1, un exposant de 3 et une mantisse de 349. * Tiré de http://www.psc.edu/general/software/packages/ieee/ieee.html
Fractions (2/2) • Résumé de la norme sur 32 bits: • Quelques valeurs spéciales (-0, NaN, infini) peuvent être représentées en binaire d’après la norme. * Tiré de http://www.psc.edu/general/software/packages/ieee/ieee.html
ASCII, UNICODE et Chaîne de char • ASCII = American Standard Code for Information Interchange • L’ASCII est une table reliant un caractère d’imprimerie à une valeur de 0 à FF. • L’Unicode est une table reliant un caractère d’imprimerie à une valeur entre 0 et FFFF • La table ASCII a été créée par un américain • La chaîne de caractère la plus élémentaire est un tableau de bytes.
BIG/LITTLE ENDIAN • La taille minimum d’une donnée stockée sur un disque est habituellement 1 byte. • Les données ayant plusieurs bytes (integer, long, float) peuvent être emmagasinée de 2 façons: • Little endian: le byte le moins significatif est placé à la plus petite adresse dans la mémoire • Big endian: le byte le moins significatif est placé à la plus haute adresse dans la mémoire
Références et exercices • Références • Irv Englander: Histoire des ordinateurs (Section 1.5), Bases de nombres (Chap. 2), Chaîne de char (Section 3.2), Entiers négatifs (Chap. 4), Fractions (5.2 et 5.6) • William Stallings: Chapitre 9 • Exercices • Irv Englander: 2.3, 2.7, 2.9, 2.16, 3.3, 4.2, 4.9, 5.5 et 5.7