Spécifications de l'ALU

3. Spécifications de l'ALU

 

3.1. Généralités

 

  • L'unité arithmétique et logique "ALU" d'un microprocesseur contient les opérateurs nécessaires au traitement des données. Les opérations peuvent être arithmétiques, logiques ou porter sur les bits (par ex. décalage d'un bit vers la gauche).
  • Dans le cadre de ce TP:
  • l'ALU de base reçoit deux nombres entiers non signés sur 4 bits : A[3..0] et B[3..0],
  • Le type d'opération à effectuer est indiqué dans l'instruction en cours d'exécution, par l'intermédiaire d'un code d'opération CODE de 3bits.

 

 

3.2. Les entrées/sorties

 

  • Le tableau suivant définit l'interface externe de l'ALU:

Nom

Type

Utilisation

A[3:0]

entrée

Premier opérande de l'ALU. Entier non signé codé sur 4 bits

B[3:0]

entrée

Deuxième opérande de l'ALU. Entier non signé codé sur 4 bits

CODE[2:0]

entrée

Code déterminant l'opération à effectuer, sur 3 bits

CIN

entrée

Retenue entrante, utilisée suivant l'opération demandée

S[3:0]

sortie

Résultat sortant de l'ALU. Entier non signé codé sur 4 bits

COUT

sortie

Eventuelle retenue sortante dont l'interprétation dépend de l'opération effectuée

 

Remarques sur la notation vectorielle des données

 

  • X[i:0] permet de représenter une donnée X codée sur (i+1) bits.
  • X[i] est le bit de poids fort
  • X[0] est le bit de poids faible
  • X[j] est le bit de rang j (i >= j >= 0)
  • X[k:l] est une tranche de (k-l+1) bits du vecteur X

 

 

3.3. Codage des opérations

 

Le tableau suivant représente les opérations à effectuer en fonction de CODE.

 

  • Attention : certains codes ne sont pas utilisés.

CODE

Nom

Équation

Description

000

AND

A and B

ET logique bit à bit

001

OR

A or B

OU logique bit à bit

010

XOR

A xor B

XOR logique bit à bit

110

ADD

A + B + CIN

Addition sur 4 bits (avec propagation de retenue)

111

SUB

A - B - CIN

Soustraction sur 4 bits (avec propagation de retenue)