• Aucun résultat trouvé

Introduction et Cours 1, Formats de

N/A
N/A
Protected

Academic year: 2022

Partager "Introduction et Cours 1, Formats de "

Copied!
15
0
0

Texte intégral

(1)

Etienne Tremblay

Ordinateurs, Structure et Applications

GIF-1001

Université Laval, Hiver 2012

Introduction et Cours 1, Formats de

données.

(2)

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

(3)

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: sur rendez-vous avant ou après le cours, toujours disponible par email

[email protected], sauf 24h avant les examens

• Auxiliaires d’enseignement

(4)

Examens et Laboratoires

• 2 Examens (40% + 40%)

– Mardi, le 28 février 2012, 14h30 – Mardi, le 24 avril 2012, 14h30

• Laboratoires (20%)

– Laboratoire sur les microprocesseurs et la mémoire

– Laboratoires d’assembleur

– Laboratoire de fin de session

(5)

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.

(6)

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 2 ans (18 mois selon

certaines sources).

• 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 les développements technologiques récents, la loi de Moore durera encore

quelques années (au moins jusqu’à 2015!). À compter de cette date cependant, on estime que des effets

quantiques devraient rendre la loi caduque.

Figure tirée de Wikipedia

(7)

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?

(8)

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.

23147 16

-23136 1446 16

11 -1440 90 16

6 -80 5 16

10 0 0

5

(9)

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ément (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)

(10)

Add, Sub, Carry et Overflow

• 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 (débordement) 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 donne un nombre de signe opposé.

(11)

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*1.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 vaut 2-2 et le dernier bit vaut 2-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.

(12)

Fractions (2/2)

• Résumé de la norme sur 32 bits:

S EEEEEEEE FFFFFFFFFFFFFFFFFFFFFFF 0 1 8 9 31

The value V represented by the word may be determined as follows:

If E=255 and F is nonzero, then V=NaN ("Not a number")

If E=255 and F is zero and S is 1, then V=-Infinity

If E=255 and F is zero and S is 0, then V=Infinity

If 0<E<255 then V=(-1)**S * 2 ** (E-127) * (1.F) where "1.F" is intended to represent the binary number created by prefixing F with an implicit leading 1 and a binary point.

If E=0 and F is nonzero, then V=(-1)**S * 2 ** (-126) * (0.F) These are

"unnormalized" values.

If E=0 and F is zero and S is 1, then V=-0

If E=0 and F is zero and S is 0, then V=0 Exemples:

0 10000000 00000000000000000000000 = +1 * 2**(128-127) * 1.0 = 2 0 10000001 10100000000000000000000 = +1 * 2**(129-127) * 1.101 = 6.5 1 10000001 10100000000000000000000 = -1 * 2**(129-127) * 1.101 = -6.5

• Quelques valeurs spéciales (-0, NaN, infini) peuvent être représentées en binaire d’après la norme.

(13)

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.

(14)

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

(15)

Références et exercices

• Références

– Irv Englander: Histoire des ordinateurs

(Section 1.6), Formats de données (Chap.3 et 4.2)

– William Stallings: Chapitre 9

• Exercices

– Irv Englander: Chapitre 3

Références

Documents relatifs

Ce matin, j’avais 28 billes dans

collection de bandes- dessinées sur

pendant 24 minutes, puis marcher

Pour son anniversaire, mon cousin a découpé ses deux gâteaux : il a fait 8 parts dans le. premier, et 13 parts dans

- le même chiffre commence et termine les deux entiers, - les k premiers chiffres de leur produit sont identiques, - les k derniers chiffres de leur produit sont

c) le même chiffre commence et termine les deux entiers, d) les k premiers chiffres de leur produit sont identiques, e) les k derniers chiffres de leur produit sont

[r]

[r]