1
TD architecture ordinateur 2016 TD 1 Représentation et encodage de l'information
Représentation des entiers (http://www.binaryconvert.com/)
Question 1
Quelles valeurs numériques décimales faites-vous correspondre à la valeur binaire 11111111 contenue dans un mot mémoire de 8 bits, en :
(a) représentation normale (Unsigned char) (b) valeur absolue signée
(c) complément à 1
(d) complément à 2 (Signed char) Question 2
Une manière plus pratique de représenter les nombres binaires est d'utiliser des bases qui sont des puissances de 2. Ainsi, on utilise souvent la base 16 (hexadécimal) qui comporte les chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
(a) Combien de chiffres en hexadécimal faut-il pour coder un octet ?
(b) Quels nombres décimal et binaire le nombre hexadécimal 7FFF FFFA représente-t-il ? (c) Quel nombre hexadécimal représente le nombre binaire suivant ?
1100 1010 1111 1110 1111 1010 1100 1110 Question 3
Donner sur 8 bits les représentations des nombres -32, -127 et -128 dans les systèmes de représentation suivants : valeur absolue signée, complément à 1, complément à 2.
Question 4
Représenter les nombres décimaux 512, -1023 et -25000 en binaire en utilisant la représentation en complément à 2 sur 16 bits (Signed short).
Question 5 (Signed short)
Quels nombres décimaux représentent les nombres binaires en complément à 2 suivants ? (a) 1111 1110 0000 1100
(b) 1111 1111 1111 1111 (c) 0000 1111 1111 1111
Représentation des nombres réels :
Float (IEEE754 Single précision 32-bit) Question 6Donner en binaire et en hexadécimal la représentation en virgule fixe (8 bits de partie entière + 4 bits de partie décimale "binaire") des nombres décimaux suivants :
(a) 0.3125 (b) 32.625 (c) 128.2 Question 7
Quel nombre décimal est représenté par la chaîne de bits suivante, codée en représentation flottante IEEE 754 en simple précision (i.e., 1 bit de signe, 8 bits d'exposant, 23 bits de Mantisse) :
1100 0001 1011 0001 0000 0000 0000 0000 Question 8
Donnez la représentation flottante IEEE 754 en simple précision des nombres rationnels Suivants : 10, 10.5 et 0.1
Opérations arithmétiques en binaire
Question 9
Effectuer les opérations arithmétiques suivantes en supposant que les nombres sont représentés en codage normal (entier positif) :
(a) 128 + 15 (b) 234 + 65 (c) 70 - 20
2 (d) 13 * 5
(e) 356/4 (f) 234/13 Question 10
Effectuer les opérations arithmétiques suivantes en supposant que les nombres sont représentés en complément à 2 sur 8 bits : (vérifier résultat en décimal)
(a) 70 - 20 (b) 20 - 70 (c) -20 – 70 Question 11
Effectuer les opérations arithmétiques en supposant que les nombres sont
codés selon la norme IEEE 754 simple précision et représentés en hexadécimal
: (vérifier résultat en décimal)(a)
41200000 * 3DCCCCCD
(b)41200000 +3DCCCCCD
Encodage
Question 11
Compléter en utilisant le contrôle de parité paire les octets suivants : 1 0 1 0 0 0 1
0 1 1 1 1 1 1 Question 12
Nous utilisons le codage suivant pour transférer des messages formés de caractères : _ Codage ASCII sur 7 bits pour les caractères.
_ Contrôle de double parité paire avec 1 bit contrôle transversal sur le bit de poids fort.
_ Contrôle longitudinal après 6 mots (y compris bit de poids fort).
Vous venez de recevoir le message suivant :
3
Détecter et corriger, si nécessaire, les erreurs de transferts et décoder le message.
Indication : l'espace se représente 0100000 en ASCII.
TD 2 : Circuits logiques
Algèbre de Boole
Question 1
Dans une brasserie vous commandez ‘un sandwich au pâté OU un sandwich au jambon ET un verre de bière’. Quelles interprétations de cette phrase sont possibles d'un point de vue logique ? Comment réduire le nombre de ces interprétations ?
1. un sandwich au pâté 2. un sandwich au jambon 3. un verre de bière
4. un sandwich au pâté et un verre de bière 5. un sandwich au jambon et un verre de bière 6. un sandwich au pâté et un sandwich au jambon
7. un sandwich au pâté, un sandwich au jambon, un verre de bière Question 2
Établir la table de toutes les fonctions logiques à 2 variables (a et b) possibles. Identifier celles que vous connaissez.
Question 3
Écrire la table de vérité de la fonction logique suivante :𝑓(𝑎, 𝑏) = 𝑎𝑏 + 𝑎𝑏̅ . Vérifier alors les théorèmes de l'idempotence et de la distributivité.
4 Question 4
Simplifier l'expression suivante grâce à la méthode algébrique :
𝑓(𝑎, 𝑏, 𝑐) = (𝑎 + 𝑏 + 𝑐)(𝑎 + 𝑏 + 𝑐̅ )(𝑎 + 𝑏̅ + 𝑐̅)(𝑎̅ + 𝑏 + 𝑐)(𝑎̅ + 𝑏̅ + 𝑐) Question 5
En fonction de la table de vérité suivante, donnez l'expression la plus simple de f(a, b, c) à l'aide :
a B C f(a,b,c)
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
(a) de la méthode des minterms (b) des tables de Karnaugh
Question 6 (facultatif vérifier avec logisim)
Montrer comment construire les portes ET et OU avec uniquement des portes NAND ou uniquement des portes NOR. (Indice : utiliser le théorème de Morgan)
Circuits combinatoires
Question 7
Nous allons réaliser la synthèse du circuit combinatoire correspondant à la fonction logique décrite par la table de vérité suivante :
(a) Utiliser la méthode des maxterms pour obtenir un premier circuit utilisant des portes ET, NON, OU;
(b) Dessiner le logigramme correspondant à l'aide des opérateurs NON, ET, OU;
(c) Utiliser une table de Karnaugh pour obtenir une autre expression algébrique sous forme de somme de minterms ;
(d) Dessiner le logigramme correspondant à l'aide des opérateurs NON, ET, OU.
Question 8 (facultatif vérifier avec logisim)
Trouver un circuit logique à 8 entrées qui réalise un contrôle de parité paire (i.e., dont la sortie vaut 1 seulement quand il y a un nombre impair d'entrées égales à 1.).
Question 9 (facultatif vérifier avec logisim) Utilisation des circuits logiques.
(a) Nous souhaitons utiliser un circuit pour "convertir" un nombre décimal (de 0 à 3) en nombre binaire. Pour cela, nous utiliserons 4 entrées, actives de façon exclusive, pour
5
symboliser la valeur du nombre décimal à convertir. Faire la synthèse de ce circuit. Quel est son nom ?
(b) Faire la synthèse du circuit logique d'un décodeur nécessaire pour adresser une mémoire de 8 mots.
Question 10 (facultatif vérifier avec logisim)
Réaliser l'analyse du circuit suivant. Quelles sont les rôles des fonctions S1 et S2 ?
Question 11 (facultatif vérifier avec logisim)
Trouver la fonction F correspondant au logigramme suivant et simplifier-la :
TD 3 : Assembleur x86
(facultatif faire avec SASM langage nasm) Exercice 1. Etat de la mémoire nasmTracer l'état de la mémoire lorsque les instructions suivantes sont exécutées.(vérifier avec gdb)
instruction Eax Ebx edx Esp [esp] ZF CF OF SF
MOV eax, 0 MOV ebx , 0 MOV ax, 255 MOV bx, 0xff PUSH ax ADD ax,bx MOV ax, [esp]
ADD al, bl MOV ax, 127 MOV bx, 127 ADD al, bl MOV eax, esp MOV bx, [esp]
PUSH WORD 1 PUSH WORD 2 MOV bx, [esp+4]
POP bx MOV ax,0xffff
6 MOV edx,0
MUL bx
Exercice 2. Code nasm (facultatif faire avec SASM langage nasm) Traduire les bouts de code suivants en Assembleur :
si (eax=0 ou ebx=0) alors ecx0
finsi
eax 5
tantque eax>0 faire eax eax-1 fintantque
Exercice 3. Programmation avec nasm (facultatif faire avec SASM langage nasm) Manipulation 1. Premier programme
Ecrire un programme qui demande sa date de naissance à l'utilisateur et lui répond en lui Donnant son âge.
Indice : écrire les dates sous la forme : aaaammjj et calculer (aujourd'hui - naissance)/10000.
Manipulation 2. Ecrire un programme qui ...
1. calcule et affiche le maximum de 2 entiers entrés au clavier.
2. lit 2 entiers au clavier et qui affiche "OUI" si le premier divise le second et "NON" sinon.
3. lit un entier n au clavier et affiche n fois "Bonjour ".
4. qui demande le prénom à l'utilisateur et lui répond "Bonjour prénom".