Chapitre 1
Chapitre 1
Chapitre 1
Introduction à la méthodologie de
conception des architectures.
7
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
8
Figure 2. Démarche de Conception
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
L’optimisation des caractéristiques électriques
• Conception logique : L’optimisation des équations logiques
• Conception numérique : L’optimisation des traitements
• Conception architecturale : Le choix des fonctionnalités
• Conception fonctionnelle : l’optimisation des
es implémentations matérielles et
logicielles
• Conception système : L’optimisation conjointe des implémentations matérielles et
logicielles
9
Type Eléments de base Conception
10
Figure 3. Symboles des fonctions logiques de base
• Ces fonctions peuvent être réalisées par des opérateurs universels NAND e NOR,
leurs symboles sont :
Nous rappelons qu’un décodeur est un dispositif qui pour chaque combinaison des
variables d’entrée, active la sortie correspondante.
11
1.4.4. Les démultiplexeurs
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
deux ensembles fonctionnels :
• 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 ensemble d’opérateur OU, appelé matrice OU, qui somme les produits.
La figure 8 illustre un exemple de réseau logique programmable
12
Figure 8. Réseau logique programmable avec matrices ET et OU programmables
1.5.1. Horloges
13
Figure 10. Circuit logique d’une bistable D
14
La description détaillée du banc de registres met en évidence un décodeur, un
ensemble de registres à chargement parallèle, des multiplexeurs et des signaux de
contrôle (Figure 13)
15
1.6.1.1. Architecture de VON NEUMANN
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).
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.
16
1.6.1.3. Architectures de HARVARD modifié
Cette architecture de HARVARD a été améliorée dans le but d’avoir plus de performance
par ajout d’un DMA pour augmenter le taux de transfert de données vers la mémoire
sans passer par le microprocesseur dans le cas de son déconnexion et aussi par l’ajout
d’une mémoire cache dont le but est stocker les informations les plus fréquemment
utilisées par les logiciels et les applications lorsqu'ils sont actifs, cette architecture est
appelée HAVAARD MODIFIE (Figure…) souvent utilisée par les microcontrôleurs.
Les performances des microprocesseurs sont définies par trois facteurs clés :
• le nombre d’instructions I
• le temps de cycles d’horloge T
• 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
l’architecture des jeux d’instruction, nous distinguons trois types
• CISC (Complex Instruction Set Computer) : I faible, C grand
• RISC (Reduce Instruction Set Computer) : I élevé, C faible
• VLIW (Very Large Instruction Word) : I réduit car macro-instruction RISC, C faible
Cette dernière est une Famille d’ordinateurs dotés d’un Processeur à mot d’instruction
très long (> 128 bits) dont une instruction est équivalente à plusieurs instructions
indépendantes et les compilateurs génèrent un code en fonction des ressources
disponibles
17
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
tâches complexes par instruction unique. Pour une tâche donnée, une machine CISC
exécute ainsi un petit nombre d’instructions mais chacune nécessite un plus grand
nombre de cycles d’horloge (Exemple:8086,68000…). Par le passé la conception de
machines CISC était la seule envisageable. En effet, vue que la mémoire travaillait très
lentement par rapport au processeur, on pensait qu’il était plus intéressant de
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).
Comme synthèse, la différence entre ces deux architectures est présentée par le tableau
suivant
Architecture RISC Architecture CISC
18
La figure 18 illustre un exemple comparatif entre les deux architectures
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