• Aucun résultat trouvé

IFT-17583 Structure interne des ordinateurs I

N/A
N/A
Protected

Academic year: 2022

Partager "IFT-17583 Structure interne des ordinateurs I"

Copied!
4
0
0

Texte intégral

(1)

IFT-17583

Structure interne des ordinateurs I

Corrigé de l'examen du 14 novembre 1998.

1. Convertissez :

a. 280.4459 en base 10 (précision 3 chiffres après le point décimal). (10 pts) b. 219.142910 en base 7 (précision 2 chiffres après le point). (10 pts) a. Partie entière 2809 = 2 × 92 + 8 × 91 + 0 × 90 = 23410.

Partie fractionnaire : 0.4459 = 4 × 9-1 + 4 × 9-2 + 5 × 9-3 = 0.500 b. Partie entière 21910

219 / 7 = 31, reste 2 31 / 7 = 4 reste 3

4 / 7 = 0, reste 4 Résultat : 4327 Partie fractionnaire :

0. 1429 × 7 1 .0003 × 7 0 .002 × 7 0. .014 × 7

0. 1 Résultat : 0.1000

Résultat : 432.10007

2. Soit le contenu hexadécimal de deux cellules de 32 bits : BFC00000 et C0900000

a. Si ces deux cellules représentent des nombres de virgule flottante sous forme IEEE 754 et qu'oon les envoie à un co-processeur de virgule flottante pour en faire l'addition, quel sera le résultat décimal en signe

et en valeur absolue ? (15 pts)

b. Si, par erreur, le contenu de ces deux cellules était envoyé à l'UAL comme des nombres entiers signés (complément à 2), quel serait le

résultat en signe et en valeur absolue ? (15 pts)

a. En virgule flottante IEEE, BFC00000 vaut : 1 01111111 100 0000 0000 0000 0000 0000 Le bit de signe est 1, donc le nombre est négatif.

L'exposant biaisé est 01111111 = 127, donc l'exposant vaut 0.

La mantisse normalisée est 1.10000000000000000000000 .

(2)

Le premier nombre vaut donc -1,12 × 20 = -1,510. Pour le second nombre C0900000, on a :

1 10000001 001 0000 0000 0000 0000 0000 Le bit de signe est 1, donc le nombre est négatif.

L'exposant biaisé est 10000001 = 129, donc l'exposant vaut 2.

La mantisse normalisée est 1.00100000000000000000000 Le second nombre vaut donc -1,0012× 22 = −4,510

La somme des deux peut s'effectuer en binaire ou en décimal.

En binaire, on a

- 1,001 × 22 - 0,011 × 22 _______________

- 1.10 × 22 = −6,010

b. La somme des deux nombres BFC00000 + C0900000, considérés comme des nomres entiers signées en complément à 2, est (1) 80500000. Si on ne prend que les 32 derniers bits du résultat, sa valeur décimale est -2,152,726,528. Sauf que ce résultat est incorrect car on a laissé tomber la retenue.

En effet, les deux nombres valent :

-1,077,936,128 et le second -1,064,304,640. Leur somme devrait donner : -2,142,240,768.

Ceci est dû au fait que la représentation sur 32 bits en complément à 2 s'étend de -2,147,483,648 à +2,147,483,647.

3. Le code excédent-3 est un code binaire parfois utilisé au lieu du BCD parce qu’il simplifie certaines opérations arithmétiques. Sur quatre bits, on a:

BCD Excédent-3 B3B2B1B0 E3E2E1E0

BCD Excédent-3 B3B2B1B0 E3E2E1E0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 1 0 0

Concevez un traducteur combinatoire pour convertir un nombre BCD de quatre bits (B0 à B3) au code excédent-3 correspondant (E0 à E3): (30 pts)

0 0 0 0 0 1 1 1 x x x x 1 1 x x 00

01 11 10

00 01 11 10 B3B2

B1B0

E3 = B3 + B2B0 + B2B1

(3)

0 1 1 1 1 0 0 0 x x x x 0 1 x x 00

01 11 10

00 01 11 10 B3B2

B1B0

0 1 1 1 1 0 0 0 x x x x 0 1 x x 00

01 11 10

00 01 11 10 B3B2

B1B0

E2 = B2B1B0 + B2B0 + B2B1 E2 = B2(B1 + B0) + B2(B1 + B0) E2= B2 ⊕ (B1 + B0)

Pour E0, il n'est pas nécessaire de faire de table, puisqu'on voit que dans tous les cas E0 = B0.

On a finalement le circuit suivant :

B1 B0 B1 B0 B2 B2 B3 B1 B0

E1 E2 E3

E0 B0

4. Quel est le comportement du circuit suivant en supposant qu'initialement Q1Q2= 00, c'est-à-dire quelle est la séquence des états Q1Q2? Justifiez

votre réponse. (20 pts)

1 0 1 0 1 0 1 0 x x x x 1 0 x x 00

01 11 10

00 01 11 10 B3B2

B1B0

E1 = B1B0 + B1B0 E1 = (B1 ⊕ B0)

(4)

D2Q2 D1Q1

Ck

Q2 Q1

Suggestion : faites un tableau avec comme en-tête Q2Q1 D2D1 Q2+Q1+. On voit sur le circuit que D2 = Q2 ⊕ Q1 et que D1 = Q1 . On peut donc écrire la table suivante :

Q2Q1 D2D1 Q2+

Q1+

0 0 0 1 0 1

0 1 1 0 1 0

1 0 1 1 1 1

1 1 0 0 0 0

Il s'agit donc d'un compteur modulo-4 ascendant. La suite des états Q2Q1 est 00-01- 10-11-00 ou la suite des états Q1Q2 est 00-10-01-11-00 :

00 01 10 11

Références

Documents relatifs

2 : La représentation d’un nombre réel est la même que précédemment sauf que le premier bit de la mantisse normalisée n’est pas représentée dans la machine.. Donnez sous

On suppose dans cette section que les nombres flottants sont codés en 64 bits (on dit parfois double précision) selon la norme IEEE-754, ce qui est le cas de Python 3 ou de

Dans la partie II de ce manuscrit, nous allons plus particuli`erement borner les erreurs d’arrondi de m´ethodes de Runge-Kutta explicites.. Ordre d’une m´ ethode

On dit que les éléments de cet ensemble sont à virgule ottante car en xant un signiant m entier, on peut obtenir plusieurs nombres avec le même signiant, mais pour lesquels la

Si ces deux cellules représentent des nombres de virgule flottante sous forme IEEE 754 et qu'oon les envoie à un co-processeur de virgule flottante pour en faire l'addition, quel

Président Rapporteur Examinateur Examinateur République Algérienne Démocratique et Populaire. Ministère de l’Enseignement Supérieur et de la

C’est bien en faire un objet d’études, et même si l’on énonce que l’on porte son attention sur le Sujet, tant qu’il s’agit de l’autre, il s’agit d’un

L’objet de la thèse est donc de concevoir une algorithmique robuste en virgule flottante sur les polyèdres convexes, utilisable pour la conception et la vérification de logiciels et