0% ont trouvé ce document utile (0 vote)
30 vues7 pages

Inbound 8836206933160657505

Transféré par

Nedra Hammami
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
30 vues7 pages

Inbound 8836206933160657505

Transféré par

Nedra Hammami
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

1.1.

Objectifs
Les objectifs de ce chapitre :
 Présenter les démarches de conception d’une manière générale
 Présenter des rappels sur les circuits combinatoires et séquentiels
 Définir quelques architectures des calculateurs et les jeux d’instructions
 Présenter la méthodologie de conception des processeurs
1.2. Introduction

D’une manière générale, l’organisation d’un ordinateur est donné par un


microprocesseur, une mémoire centrale et des périphériques entrées/ sorties (figure 1)

CHAPITRE I.

Introduction à la méthodologie de
conception des architectures.
Figure 1. Architecture des Ordinateurs

Nous décomposons le µP en un chemin pour véhiculer les données et une unité de


contrôle pour donner des commandes afin de satisfaire le fonctionnement du système
complet. (Figure 1)

1.3. Démarche de conception

Il s’agit de deux démarches de conception différentes :

 Démarche Descendante : connue par le nom « Top-Down Design » qui consiste à


un raffinement de chaque constituant depuis la spécification des besoins jusqu’à
couche silicium

 Démarche Ascendante : connue par le nom « Bottom-up Design » c’est uns


abstraction sur l’ensemble des constituants comme le montre la figure 2

7 8
Type Eléments de base Conception

Composants Conception électrique


discrets

SSI Conception logique

MSI Conception numérique

LSI Conception architecturale

Figure 2. Démarche de Conception


VLSI Conception fonctionnelle
Les niveaux d’abstraction lors d’une conception matérielle sont donnés par la table 1,
Nous désignons par :
 Conception électrique : L’optimisation des caractéristiques électriques ULSI Conception système
 Conception logique : L’optimisation des équations logiques
 Conception numérique : L’optimisation des traitements
 Conception architecturale : Le choix des fonctionnalités Table 1 Niveaux d’abstraction pour une conception matérielle
 Conception fonctionnelle : l’optimisation des implémentations matérielles et
1.4. Rappels sur la logique combinatoire
logicielles
 Conception système : L’optimisation conjointe des implémentations matérielles et 1.4.1. Fonctions Logiques
logicielles
Nous rappelons que :
 Les variables d’entrées sont des variables logiques indépendantes
 Les variables de sorties sont des variables contenant l’état de la fonction après
évaluation des opérateurs logiques sur les variables d’entrées.
 Les Opérateurs logiques de base sont :
ET : z = u1.u2=u1u2, z est vrai si u1 est vraie et u2 est vrai
OU : z = u1+u2, z est vrai lorsque u1 est vrai ou u2 est vrai, ou les deux.
NON : z = u, z est vrai si u est fausse.
 Les portes logiques associées à ces opérateurs sont représentées comme suit :

9 10
Figure 3. Symboles des fonctions logiques de base 1.4.4. Les démultiplexeurs
 Ces fonctions peuvent être réalisées par des opérateurs universels NAND e NOR,
Un démultiplexeur distribue l’information d’entrée D vers l’une des 2n sorties (S0,S1…),
leurs symboles sont :
la sélection de la sortie concernée étant effectuée par n variables d’adresse. Il est
schématisé ainsi :

Figure 4. Symboles des fonctions universelles

1.4.2. Les décodeurs : (n entrées, 2n sorties)

Nous rappelons qu’un décodeur est un dispositif qui pour chaque combinaison des
variables d’entrée, active la sortie correspondante.

Figure 7. Symbole logique d’un Démultiplexeur 1 vers 8

1.4.5. Les réseaux logiques combinatoires

Toute fonction logique de n variables peut se mettre sous une forme de somme de
produits ou de produit de sommes. On peut donc utiliser une structure comportant
Figure 5. Symbole d’un décodeur 3 vers 8 deux ensembles fonctionnels :
1.4.3. Les multiplexeurs  Un ensemble d’opérateurs ET organisé sous forme d’une matrice qui génère
les produits des variables d’entrée, éventuellement complémentées.
Un multiplexeur est un circuit à 2n entrées d’information (D0, D1…), n entrées  Un ensemble d’opérateur OU, appelé matrice OU, qui somme les produits.
d’adresse A, B… et une sortie S. Les entrées d’adresse permettent la sélection d’une La figure 8 illustre un exemple de réseau logique programmable
entrée d’information pour transmettre son état à la sortie S.

Figure 6. Symbole logique d’un Multiplexeur 8 vers 1

11 12
Figure 10. Circuit logique d’une bistable D

Lorsque l’Horloge C = 1  nouvelle valeur de D remplace l’ancienne valeur


 La bascule synchrone est caractérisée par un état n’est modifié que sur un
front d’impulsion de l’horloge)
Figure 8. Réseau logique programmable avec matrices ET et OU programmables

1.5. Rappel sur la logique séquentielle

1.5.1. Horloges

La Synchronisation par horloge permet de spécifier à quel moment un élément qui


contient un état doit être mis à jour. Les instants de stabilités des valeurs d’un circuit Figure 11. Circuit logique d’une Bascule D
peuvent être un front ou un niveau comme le montre la figure 9

1.5.3. Banc de registres

Pour la construction du chemin de données, il est primordial d’utiliser un BANC DE


REGISTRES comportant au moins un décodeur pour chaque port de lecture ou écriture
Figure 9. Instants de stabilité d’un circuit
et un ensemble de registres construits avec des bascules D. le schéma bloc de ce banc de
Il existe deux types de synchronisation avec horloge :
registres est donné par la figure 12.
 Synchronisation par niveau (haut ou bas)

 Synchronisation par front (montant ou descendent)

1.5.2. Bascule – bistable (synchrone)

La différence entre bistable et bascule est au moment où l’horloge provoque le


changement d’état actif, en effet pour :
 La bistable synchrone est caractérisée par un état modifié à chaque fois que
les entrées changent et que l’horloge est à 1) Figure 12. Symbole de banc de registres

13 14
La description détaillée du banc de registres met en évidence un décodeur, un 1.6.1.1. Architecture de VON NEUMANN
ensemble de registres à chargement parallèle, des multiplexeurs et des signaux de
contrôle (Figure 13) Cette architecture inclut un seul système de stockage unique (mémoire) pour stocker
des données ainsi que le programme à exécuter. Le processeur a besoin au moins de
trois cycles d'horloge pour compléter une instruction. Dans le premier cycle d'horloge, le
processeur reçoit l'instruction de la mémoire et la décode. Dans le second cycle, les
données requises sont extraites de la mémoire. Et dans le troisième cycle, le processus
est achevé par une phase d’exécution. C'est une architecture relativement plus ancienne
et elle a été remplacée par l'architecture de Harvard (Figure 15).

Figure 13. Description détaillée du banc de registres Figure 15. Architecture de VON NEUMANN

Chaque registre $ est constitué d’un ensemble de bascules D précédés par


multiplexeur à une entrée de commande C et le changement d’état est cadencé par le 1.6.1.2. Architecture de HARVARD

front montant de l’horloge CLK


L’ordinateur a deux mémoires séparées pour stocker des données et un programme d’où
existence de deux bus de données DMD et PMD (Figure …) Le processeur peut terminer
la recherche de l’instruction et de la donnée dans un cycle si des stratégies de pipeline
appropriées sont mises en œuvre (Figure 2). La plupart des architectures informatiques
modernes sont basées sur l'architecture de Harvard.

Figure 14. Registre $ intégré dans le µP MIPS

1.6. Théorie des architectures

1.6.1. Architectures des calculateurs

Il existe essentiellement deux types d'architectures de calculateur. Le premier s'appelle Figure 16. Architecture de HARVARD

l'architecture de Von Neumann et plus tard l'architecture de Harvard a été adoptée pour
concevoir des ordinateurs numériques.

15 16
1.6.1.3. Architectures de HARVARD modifié 1.6.2.1. Architectures de jeu d’instructions Complexes CISC
C’est une architecture avec une grande variété d’instructions où le µP doit exécuter des

Cette architecture de HARVARD a été améliorée dans le but d’avoir plus de performance tâches complexes par instruction unique. Pour une tâche donnée, une machine CISC

par ajout d’un DMA pour augmenter le taux de transfert de données vers la mémoire exécute ainsi un petit nombre d’instructions mais chacune nécessite un plus grand

sans passer par le microprocesseur dans le cas de son déconnexion et aussi par l’ajout nombre de cycles d’horloge (Exemple:8086,68000…). Par le passé la conception de

d’une mémoire cache dont le but est stocker les informations les plus fréquemment machines CISC était la seule envisageable. En effet, vue que la mémoire travaillait très

utilisées par les logiciels et les applications lorsqu'ils sont actifs, cette architecture est lentement par rapport au processeur, on pensait qu’il était plus intéressant de
appelée HAVAARD MODIFIE (Figure…) souvent utilisée par les microcontrôleurs. soumettre au microprocesseur des instructions complexes, plutôt que de coder une
opération complexe par plusieurs instructions plus petites (qui demanderaient autant
d’accès mémoire).

1.6.2.2. Architectures de jeu d’instructions réduites RISC


Des études statistiques menées au cours des années 70 ont montré que les programmes
générés par les compilateurs se contentaient le plus souvent d'affectations, d'additions
et de multiplications par des constantes. Les instructions complexes doivent être
réalisées à partir de séquences basées sur les instructions élémentaires, ce qui
Figure 17. Architecture de HARVARD modifié nécessite un compilateur très évolué dans le cas de programmation en langage de haut
niveau (Exemple : MIPS,SPARC…).
1.6.2. Architectures de jeux d’instructions ISA
1.6.2.3. Synthèse entre RISC et CISC

Les performances des microprocesseurs sont définies par trois facteurs clés :
Comme synthèse, la différence entre ces deux architectures est présentée par le tableau
 le nombre d’instructions I
suivant
 le temps de cycles d’horloge T
Architecture RISC Architecture CISC
 le nombre de cycles d’horloge par instruction. C
Cette performance se calcule par : I * C* T, Les valeurs de I et C se distinguent suivant  instructions simples ne prenant  instructions complexes prenant
l’architecture des jeux d’instruction, nous distinguons trois types qu’un seul cycle plusieurs cycles
 instructions au format fixe  instructions au format variable
 CISC (Complex Instruction Set Computer) : I faible, C grand
 décodeur simple (câblé)  décodeur complexe
 RISC (Reduce Instruction Set Computer) : I élevé, C faible  beaucoup de registres (microcode)
 VLIW (Very Large Instruction Word) : I réduit car macro-instruction RISC, C faible  seules les instructions LOAD et  peu de registres
STORE ont accès à la mémoire  toutes les instructions sont
Cette dernière est une Famille d’ordinateurs dotés d’un Processeur à mot d’instruction  peu de modes d’adressage susceptibles d’accéder à la
très long (> 128 bits) dont une instruction est équivalente à plusieurs instructions  compilateur complexe mémoire
 beaucoup de modes d’adressage
indépendantes et les compilateurs génèrent un code en fonction des ressources  compilateur simple
disponibles Tableau 2 : Différence entre RISC et CISC

17 18
La figure 18 illustre un exemple comparatif entre les deux architectures

Figure 18. Exemple de différence entre RISC et CISC

Dans ce que se suit, nous intéressons à l’ensemble de jeu d’instruction MIPS.

1.7. Processus de conception des processeurs pour jeu d’instructions


MIPS

Pour créer un chemin de données qui nous permet d’exécuter l’ensemble des
instructions MIPS. Nous devons respecter les étapes suivantes : Chaque instruction est
donnée en fonction des transferts des registres.
 Le chemin de données doit permettre le transfert des informations
entre les registres.
 Le chemin de données inclut la mémoire programme.
 Le Choix d’un ensemble de composants nécessaires (UAL MUX,
Banc de Registre…) pour le chemin de données et établissement de
la méthodologie horloge.
 L’assemblage des différents composants pour la satisfaction des
besoins.
 La détermination les points de contrôles nécessaires pour
effectuer le transfert des registres.
 L’assemblage de la logique de contrôle. (séquenceur)

19

Vous aimerez peut-être aussi