Vous êtes sur la page 1sur 45

Approche RTL

(Processeur à usage spécifique)

1 ENP/ELN/MSCL
. Taghi. M.
Introduction

2 ENP/ELN/MSCL Taghi. M.
Chemin de données

Le chemin de données :
• Les composants qui traitent les données
– Registres
– Mémoires
– Unités de calcul
– Bus
• La façon dont ces composants sont interconnectés

3 ENP/ELN/MSCL Taghi. M.
Exemples

4 ENP/ELN/MSCL Taghi. M.
Exercice

Chemin de données pour réaliser A=A+3 et A=B+C

5 ENP/ELN/MSCL Taghi. M.
Solution

- Proposer un Datapath utilisant un seul additionneur


6 ENP/ELN/MSCL Taghi. M.
Solution

7 ENP/ELN/MSCL Taghi. M.
Utilisation

 Les chemins de données sont en


général partie intégrante dans
les circuits de traitement des
données : Processeurs

8 ENP/ELN/MSCL Taghi. M.
Processeur .

 C’est un Circuit numérique spécial qui traite les données par une succession
d’étapes simples, pouvant résulter en un traitement global complexe.
 Le Processeur réalise un Algorithme,
 il possède des ressources (éléments de stockage et de traitement) pour
exécuter cet Algorithme.
Exemple :

Les signaux de contrôle des


ressources (en rouge dans la figure)
sont générés par l’unité chargée
9 d’exécuter l’algorithme ENP/ELN/MSCL Taghi. M.
Types de Processeurs

Deux types principaux de processeurs :


Les processeurs à usage général (microprocesseur) peuvent être
programmés. Le programme exécuté par le processeur est gardé
en mémoire sous la forme d’une liste d’instructions.

Un processeur spécialisé est un processeur à usage général


auquel on a ajouté des instructions spéciales.

Les processeurs à usage spécifique sont des processeurs non


programmables qui sont conçus dans le but de répondre à un
besoin unique.
Ils sont plus simples et plus efficaces que les processeurs à
usage général.

10 ENP/ELN/MSCL Taghi. M.
Parties d’un Processeur
Un processeur est composé de deux parties:
Le chemin des données (datapath) traite les données. Il inclut:
 des registres;
 des unités fonctionnelles (comme une unité arithmétique et logique)
un mécanisme de commutation pour transférer et manipuler les données.
L’unité de contrôle (control unit) est responsable du séquençage des opérations
à exécuter par le chemin de données selon des entrées externes et le résultat des
opérations.

11 ENP/ELN/MSCL
. Taghi. M.
Architecture Datapah
- Un chemin des données a deux parties principales:
 un bloc de registres qui conserve les données à traiter et des résultats
précédents, de façon à pouvoir combiner toutes ces valeurs dans de
nouveaux calculs.
 des unités fonctionnelles pour effectuer des opérations sur les données
conservées dans les registres.
- Des modules combinatoires permettent de choisir, router et contrôler le flot
d’information entre les registres et les unités fonctionnelles.

12 ENP/ELN/MSCL Taghi. M.
Éléments à mémoire pour chemins des données
Registres à chargement parallèle

13 ENP/ELN/MSCL Taghi. M.
Registre à décalage
Utilisé pour faire une conversion entre les formats série et parallèle
Effectue la multiplication par un puissance de deux, qui correspond à un
décalage de bits vers la gauche;
Effectue la division par une puissance de deux, qui correspond à un
décalage vers la droite.

14 ENP/ELN/MSCL
. Taghi. M.
Registre à décalage

15 ENP/ELN/MSCL Taghi. M.
Modules combinatoires utiles
Multiplexeur général en VHDL Décodeur 3:8 en VHDL

16 ENP/ELN/MSCL Taghi. M.
Unités fonctionnelles: Unité Arithmétique
et Logique

Une unité arithmétique effectue des opérations arithmétiques entre des


Opérandes sous le contrôle d’un signal externe.

Les synthétiseurs de VHDL sur le marché reconnaissent les opérations


arithmétiques d’addition, soustraction et multiplication et infèrent
correctement des structures matérielles pour les implémenter.

Les opérations de division, reste et modulo sont supportées uniquement


lorsque le deuxième opérande est une constante égale à une puissance de
deux.

Les unités logiques effectuent une opération logique sur des opérandes sous le
contrôle d’un signal externe.
.

17 ENP/ELN/MSCL Taghi. M.
Code Vhdl Unité Arithmétique

18 .
ENP/ELN/MSCL Taghi. M.
Code VHDL Unité logique

19 ENP/ELN/MSCL Taghi. M.
Comparateurs

20 ENP/ELN/MSCL Taghi. M.
Compteurs

21 ENP/ELN/MSCL Taghi. M.
Mémoires vives (RAM)
Une mémoire vive peut être vue comme un bloc de registres de très grande
taille. Elle a en général un port de sortie, un port d’entrée, un port d’adresse
et un port de contrôle de l’opération

22 ENP/ELN/MSCL Taghi. M.
RAM Code Vhdl

23 ENP/ELN/MSCL Taghi. M.
ROM

24 ENP/ELN/MSCL Taghi. M.
Unité de contrôle
C’est en général une machine d’état

25 ENP/ELN/MSCL Taghi. M.
Exemple processeur à usage spécifique:
multiplicateur série

26 ENP/ELN/MSCL Taghi. M.
Multiplication Série 1

27 ENP/ELN/MSCL
. Taghi. M.
Ebauche de chemin de données
Algorithme du multiplieur

28 ENP/ELN/MSCL Taghi. M.
Multiplication Série 2

29 ENP/ELN/MSCL
. Taghi. M.
Multiplication Série 3

30 ENP/ELN/MSCL Taghi. M.
Multiplication Série 4

31 ENP/ELN/MSCL Taghi. M.
Multiplieur Série

32 .
ENP/ELN/MSCL Taghi. M.
Multiplieur Série 2

33 ENP/ELN/MSCL Taghi. M.
Multiplieur Série 3

34 ENP/ELN/MSCL
. Taghi. M.
Multiplieur Série 4

35 ENP/ELN/MSCL
. Taghi. M.
Multiplieur Série 5

36 ENP/ELN/MSCL
. Taghi. M.
Multiplieur Série 6

.
.
.

37 ENP/ELN/MSCL
. Taghi. M.
Entité
multiplicateur série :

38 ENP/ELN/MSCL Taghi. M.
Datapath

39 ENP/ELN/MSCL Taghi. M.
Datapath code

40 ENP/ELN/MSCL Taghi. M.
Unité de contrôle : machine à états

41 ENP/ELN/MSCL
. Taghi. M.
Code unité contrôle

42 ENP/ELN/MSCL
. Taghi. M.
2ème (version) Code Vhdl

43 ENP/ELN/MSCL Taghi. M.
Exercice Processeur dédié à la division
non signée
En se basant sur l’opération de division décrite ci après, faire la synthèse
du processeur qui réalise cette opération.

44 ENP/ELN/MSCL Taghi. M.
Description du processeur

Algorithme
Lire(Dvd,Dvs) ;
R=0 ;Q=0 ;
N=8 ;
While(N>0)
{ ShiftLeft(R ,Msb(Dvd)) ;
ShiftLeft(Dvd );
D=R-Dvd;
ShiftLeft(Q ,Not(Msb(D)) ;
If Msb(D)=0
R=D;
N=N-1;{
Output(R,Q) ;
45 ENP/ELN/MSCL Taghi. M.