• Aucun résultat trouvé

Robin Pourtaud. UAL - Unité arithmétique et logique

N/A
N/A
Protected

Academic year: 2022

Partager "Robin Pourtaud. UAL - Unité arithmétique et logique"

Copied!
6
0
0

Texte intégral

(1)

Robin

Pourt

aud

Une unité arithmétique et logique (UAL) ou ALU en anglais est un composant essentiel au fonctionnement de nos ordinateurs actuels. Souvent intégrée au

processeur pour effectuer de nombreuses opérations arithmétiques, cet article en présente un exemple simple, conçu avec le logiciel Logisim.

Table des matières

Caractéristiques de l’UAL : . . . 2

Entrées : . . . 2

Sorties : . . . 2

Opérations : . . . 2

Flags : . . . 3

Carry Flag (CF) : . . . 3

Zéro Flag (ZF) : . . . 4

Sign Flag (SF) : . . . 4

Overflow Flag (OF) : . . . 5

Mention : . . . 6

Robin Pourtaud - Devmath - 2020-12-27

(2)

Robin

Pourt

aud

Caractéristiques de l’UAL :

Notre UAL nous permet d’effectuer 7 opérations sur des entiers signés de 8 bits.

Entrées :

Notre UAL prend 3 entrées :

1. Un nombre sur 8 bits “A” utilisé en entrée des opérations.

2. Un nombre sur 8 bits “B” utilisé en entrée des opérations.

3. Un nombre sur 3 bits “ctr” utilisé pour sélectionner l’opération désirée.

Sorties :

Notre UAL possède 2 sorties :

1. Un nombre sur 8 bits étant le résultat de l’opération choisie.

2. Un nombre sur 4 bits présentant chaque flag.

Opérations :

Notre UAL peut nous autoriser à effectuer 8 opérations. Nous nous servirons uniquement de 7 d’entre elles :

0. ctr = 000 : Addition 1. ctr = 001 : Soustraction 2. ctr = 010 : OU bit à bit 3. ctr = 011 : Et bit à bit 4. ctr = 100 : Non bit à bit

5. ctr = 101 : Décalage à gauche logique 6. ctr = 110 : Décalage à droite logique

(3)

Robin

Pourt

Figure 1:Opérations - UAL

aud

Les opérations “non” et les 2 décalages se servent uniquement du premier nombre “A”. C+ et C- sont les carrys de l’addition et de la soustraction.

Flags :

Figure 2:4 bits Flags

Notre sortie flags est représentée par un 4 bit correspondant respectivement à CF, ZF, SF et OF.

Carry Flag (CF) :

Commentaire :Dans le cadre d’additions et de soustractions sur des nombres signés, le carry flag ne pourrajamaisêtre égal à 1. Vous pouvez donc relier le bit CF à “0”.

Cependant, dans le cadre de ce tutoriel, le circuit restera explicité :

• c+ est le carry de l’opération 000 (addition)

• c- est le carry de l’opération 001 (soustraction)

(4)

Robin

Pourt

aud

Figure 3:Carry Flag

• Si ctr = 000, alors CF = c+

• Si ctr = 001, alors CF = c-

• Sinon CF = 0

Zéro Flag (ZF) :

Le zéro flag est égal à 1 si et seulement si tous les bits de S sont égaux à 0 :

Figure 4:Zero Flag

Autrement dit :ZF =S0+S1+S2+S3+S4+S5+S6+S7

Sign Flag (SF) :

SF correspond au signe de S. Si S négatif, alors S = 1, sinon S=0.

(5)

Robin

Pourt

aud

Autrement dit :SF =S7

Figure 5:Sign Flag

Overflow Flag (OF) :

L’overflow flag est égal à 1 dans 4 cas différent:

1. Pour une addition : Si un positif + un positif = un négatif 2. Pour une addition : Si un négatif + un négatif = un positif 3. Pour une soustraction : Si un négatif - un positif = un positif 4. Pour une soustraction : Si un positif - un négatif = un négatif Dans les autres cas : OF = 0.

• S A est le signe de A

• S B est le signe de B

• SF est le signe de S

Figure 6:Overflow Flag

(6)

Robin

Pourt

aud

Autrement dit :

OF+ =SA.SB.SF +SA.SB.SF

OF−=SA.SB.SF +SA.SB.SF

• OF = OF+ si ctr = 000, OF- si ctr = 001, 0 sinon.

Mention :

Cette unité arithmétique et logique a été conçu dans le cadre d’un projet d’informatique en collabora- tion avec Mr Lucas Lelièvre que je remercie.

Références

Documents relatifs

A DDITIONS ET SOUSTRACTIONS DE

4) Si je possédais 7 € de plus, j’achèterais ce livre à 24 €. Il mesure 18 cm de moins que sa mère et 15 cm de plus que son frère. Calcule la taille de la mère de Denis puis

Mongin dépose sa voiture chez son garagiste pour que celui-ci fasse une révision générale du véhicule.. Il fait faire une vidange 64 €, changer le filtre à air 25 €, un pneu

On sait seulement que la première personne doit avoir 200 €, la deuxième reçoit autant que la première et la troisième; la troisième reçoit autant que la première et la

[r]

Avant d’effectuer un calcul (mental, à la main ou à la machine), il est toujours intéressant de connaître un ordre

nous avons maintenant deux types d’informations qui aboutissent à notre circuit, les entrées C1 et C0 qui introduisent ou non des inverseurs et les entrées A et B qui vont recevoir

Pour pouvoir additionner et soustraire des matrices, il est indispensable qu’elles soient de même taille (même nombre de lignes, même nombre