La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

CHAPITRE 8 Les booléens et les chaines de bits 1.

Présentations similaires


Présentation au sujet: "CHAPITRE 8 Les booléens et les chaines de bits 1."— Transcription de la présentation:

1 CHAPITRE 8 Les booléens et les chaines de bits 1

2 Les booléens Le booléen est le type le plus élémentaire Peut prendre la valeur vrai (1) Peut prendre la valeur faux (0) On peut définir plusieurs opérations sur les booléens ET logique OU logique OU exclusif L’implication L’équivalence Le complément 2

3 Les booléens On définit les opérations par des tables de vérité 3 Y 01 X 000 101 Y 01 X 001 111 Y 01 X 001 110 Y 01 X 011 101 Y 01 X 010 101 X 01 10

4 Les chaines de bits Les processeurs ne sont pas faits pour atteindre directement 1 seul bit La mémoire comporte un ensemble d’octets Soit on met un booléen par octet (perte d’espace) Soit on utilise plusieurs instructions pour accéder à un bit Sur le SPARC, on ne peut accéder à un seul bit à la fois On fait les opérations sur une chaine de bits Finalement, toute valeur dans un ordinateur est une chaine de bits! 4

5 Instructions 5 and%r1, {%r2 | imm 13 }, %rd andcc%r1, {%r2 | imm 13 }, %rd andn%r1, {%r2 | imm 13 }, %rd andncc%r1, {%r2 | imm 13 }, %rd Y 01 X 011 101 Y 10 X 000 110

6 Instructions 6 or%r1, {%r2 | imm 13 }, %rd orcc%r1, {%r2 | imm 13 }, %rd orn%r1, {%r2 | imm 13 }, %rd orncc%r1, {%r2 | imm 13 }, %rd Y 01 X 011 101 Y 10 X 010 111

7 Instructions 7 xor%r1, {%r2 | imm 13 }, %rd xorcc%r1, {%r2 | imm 13 }, %rd xorn%r1, {%r2 | imm 13 }, %rd xorncc%r1, {%r2 | imm 13 }, %rd Y 01 X 010 101 Y 10 X 010 101

8 Application 8 110010011001 10000100 ANDANDN = = 0110

9 Application 9 110010011001 11011110 ORORN = = 0110

10 Application 10 110010011001 01011010 XORXORN = = 0110

11 Instructions synthétiques 11 tst %l0  orcc%g0, %l0, %g0 not %l0  xnor%l0, %g0, %l0 btst %l0, %l1, %l0  andd%l0, %l1, %l0 bset %l0, %l1, %l0  or%l0, %l1, %l0 bclr %l0, %l1, %l0  andn%l0, %l1, %l0 btog %l0, %l1, %l0  xor%l0, %l1, %l0 Le dernier opérande des quatre dernières instructions est appelé un masque.

12 Instructions synthétiques 12

13 Les décalages Permet de décaler les bits d’une chaine de bits Autant vers la gauche que vers la droite Permet d’isoler, ou d’insérer un ou plusieurs bits Un décalage peut être Logique Arithmétique Circulaire 13

14 Les décalages Décalage logique à droite srl %l0, 3, %l0 srlx %l0, %l4, %l0 La valeur du décalage est représentée par les 5 bits de poids faible De l’immédiat Du registre 14 10011010 00010011

15 Les décalages Décalage logique à gauche sll %l0, 3, %l0 sllx %l0, %l4, %l0 La valeur du décalage est représentée par les 5 bits de poids faible De l’immédiat Du registre 15 10011010 11010000

16 Les décalages Décalage arithmétique à droite sra %l0, 3, %l0 srax %l0, %l4, %l0 La valeur du décalage est représentée par les 5 bits de poids faible De l’immédiat Du registre 16 10011010 11110011 Le bit de signe est inséré

17 Les décalages Décalage arithmétique à gauche Dès qu’un bit perdu diffère du bit de signe Le bit V (overflow) du registre CC est levé. N’existe pas sur le SPARC 17 10011010 11010000 Le bit de signe ne bouge pas

18 Les décalages Décalage circulaire C’est un décalage nécessairement logique N’existe pas sur le SPARC 18 10011010 11010100

19 Autres instructions Il existe d’autres instructions pour manipuler les chaines de bits 19 signxreg! Étend un entier signé de 32 bits sur 64 bits clruwreg! Réduit un entier signé de 64 bits sur 32 bits setuwcst, reg! Met un entier non signé de 32 bits dans un registre setswcst, reg! Met un entier signé de 32 bits dans un registre popcreg, rd! Compte le nombre de bits à 1 dans le reg

20 Circuits logiques Un ordinateur fonctionne à l’électricité 1  Il y a du courant 0  Il n’y a pas de courant Il est possible d’utiliser les opérations booléennes pour former des circuits logiques Au chapitre 5, on a vu que la multiplication pouvait être effectuée grâce à des décalages On peut utiliser les opérations booléennes pour faire des additions 20

21 Additionneur 111 0101 +0011 =1000 21 0101 +0011 =0110 Y 01 X 001 110 c0001 0101 +0011 = Y 01 X 000 101

22 Additionneur Pour une addition 1 bit, on a besoin D’un XOR pour la somme D’un AND pour la retenue Ça ne donne qu’un demi-additionneur! 22 A B Somme Report

23 Additionneur Pour une addition sur 1 bit, en prenant en considération une potentielle retenue déjà calculée On doit mettre deux demi-additionneurs en série Suivi d’un OU pour le calcul de la retenue finale 23 A B Somme Report R

24 Additionneur 111 0101 +0011 =1000 24 ABR Entrée SR Sortie 00000 00110 01010 01101 10010 10101 11001 11111 xor A, B, T xor T, C, S and A, B, C1 and T, C, C2 or C1, C2, C


Télécharger ppt "CHAPITRE 8 Les booléens et les chaines de bits 1."

Présentations similaires


Annonces Google