INFOR 101 Chapitre 5 Marianne Morris
Discussion du devoir 1 La solution du devoir 1 est à la page Web du cours! Voir la section des devoirs…
Résumé du chapitre 4 L’architecture de matériel Représentation des données dans l’ordinateur Utilisation de logique symbolique pour construire des circuits Performer des opérations comme l’addition, la comparaison de chiffres et le « fetching » d’instructions
Système binaire Les techniques de stockage interne de l’ordinateur sont bien différentes que celles que nous utilisons quotidiennement 1101 = 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 L’information est stockée en forme de données binaires à l’ordinateur
Booléennes logiques et « gates » Booléennes = valeurs vrai ou faux Valeurs vrai/faux sont facilement convertis en système bistable Les opérations de booléennes logiques en signaux électroniques peuvent être construites de transistors et d’autres appareils électroniques
Booléennes logiques Opérations booléennes a AND b a OR b NOT a Vrai seulement si a est vrai et b est vrai a OR b Vrai si a est vrai, b est vrai, ou les deux le sont NOT a Vrai si a est faux et vice versa
Multiplexor C’est un circuit de contrôle Fait de « gates » logiques Lignes d’entrées 2N Des lignes « selector » qui correspondent aux lignes d’entrées Exemple: selector 1 et 0 décimal 2 Nous aide à construire des ordinateurs qui exécutent les instructions correctement en utilisant les bonnes données (page 181)
A Two-Input Multiplexor Circuit Figure 4.28 A Two-Input Multiplexor Circuit
Decoder L’opposé du Multiplexor Lignes d’entrées N et lignes de sorties 2N Les N valeurs sont interprétées comme une seule valeur binaire entre 0 et 2N – 1
Decoder Déterminer la valeur sur les N lignes et envoyer un signal sur une seule ligne de sortie qui a ce numéro d’identification Toutes autres lignes de sortie sont 0 Exemple: 3 lignes d’entrées, 23 lignes de sorties Lignes de sortie 000 à 111 (0 à 7 décimal) Valeur d’entrée 101 correspond à la ligne de sortie 5 Usage: Assurer que l’ordinateur performe les bonnes instructions Exemple: Utiliser un décodeur pour 00 (addition), 01 (soustraction), 10 (multiplication) et 11 (division) Voir page 181
Figure 4.29 A 2-to-4 Decoder Circuit
Chapitre 5 Architecture et système Différentes parties d’architecture de l’ordinateur Von Neumann Non Von Neumann
Introduction L’ordinateur est une collection d’unités qui fonctionnent ensemble Ces unités sont construites de circuits (voir chapitre 4) L’abstraction de niveau plus élevé aide à mieux comprendre l’architecture des ordinateurs tout en réduisant le niveau de complexité
Figure 5.1 The Concept of Abstraction
Les parties du système de l’ordinateur L’architecture Von Neumann a 4 unités fonctionnelles Mémoire Entrée/Sortie Unité arithmétique et logique Unité de contrôle
Components of the Von Neumann Architecture Figure 5.2 Components of the Von Neumann Architecture
Mémoire et Cache L’information est stockée et cherchée du sous système de la mémoire La mémoire vive (Random Access Memory) fait la correspondance entre les adresses et la position dans la mémoire Le Cache garde les valeurs qui sont présentement utilisées pour accélérer l’accès à ces valeurs
Mémoire vive (RAM) Faite de cellules avec des adresses 8 bits par cellule Accès en temps égal à toutes les cellules de la mémoire Adresses dans la mémoire Nombre binaire non signé N L’espace des adresses est 2N cellules
Structure of Random Access Memory Figure 5.3 Structure of Random Access Memory
Mémoire et Cache Parties de la mémoire Contrôleur Fetch/Store Fetch: Accéder une valeur dans la mémoire Store: stocker une valeur dans la mémoire Registre d’adresse (Memory Address Register) Registre de données (Memory Data Register) Décodeurs pour sélectionner les cellules individuelles de la mémoire
Mémoire et Cache Opération « Fetch » L’adresse de la cellule est placée dans le MAR Le contrôleur Fetch/Store signale un « fetch » pour accéder à cette cellule de la mémoire La valeur qui se trouve dans la position de MAR est transférée au MDR
Mémoire et Cache Opération « Store » L’adresse de la cellule où on veut stocker la valeur est placée dans le MAR La nouvelle valeur est placée dans le MDR Le contrôleur Fetch/Store signale un « store » pour copier la valeur qui se trouve dans le MDR à la cellule de mémoire où on veut stocker cette nouvelle valeur
Mémoire et Cache Registre de mémoire Localisation rapide On ne travaille pas avec les adresses Les ordinateurs modernes peuvent avoir des centaines de ces registres
Figure 5.7 Overall RAM Organization
La mémoire Cache L’accès à la mémoire est plus lent que le temps de traitement de données Mémoire plus rapide est trop coûteuse Principe de localité Si une valeur a été utilisée une fois, ça se peut qu’elle soit utilisée encore Petite mémoire rapide juste pour les valeurs qui sont présentement utilisées pour accélérer l’accès des données!
Les parties du système de l’ordinateur L’architecture Von Neumann a 4 unités fonctionnelles Mémoire Entrée/Sortie Unité arithmétique et logique Unité de contrôle
Entrée/Sortie et stockage massif Communication avec le monde extérieur Interfaces: moniteur, clavier et souris Stockage archives: ne dépend pas de courant électrique constant Stockage volatile: les données n’existent plus s’il n’y a plus de courant (RAM) Stockage non volatile: disques durs, CD, DVD, bande de stockage, etc.
Overall Organization of a Typical Disk Figure 5.8 Overall Organization of a Typical Disk
Entrée/Sortie et stockage massif Contrôleur E/S Intermédiaire entre le processeur central et les parties E/S Le processeur envoie les requêtes et les données Le contrôleur interrompt le processeur quand une requête est complète
Organization of an I/O Controller Figure 5.9 Organization of an I/O Controller
Les parties du système de l’ordinateur L’architecture Von Neumann a 4 unités fonctionnelles Mémoire Entrée/Sortie Unité arithmétique et logique Unité de contrôle
Unité arithmétique et logique Des calculs sont performés Circuits d’opérations simples Arithmétique (ADD) Comparaison (CE) Logique (AND) Données stockées dans les registres Multiplexeur sélecte la sortie
Using a Multiplexor Circuit to Select the Proper ALU Result Figure 5.12 Using a Multiplexor Circuit to Select the Proper ALU Result
Les parties du système de l’ordinateur L’architecture Von Neumann a 4 unités fonctionnelles Mémoire Entrée/Sortie Unité arithmétique et logique Unité de contrôle
Unité de contrôle Gérer l’exécution du programme « Fetch » de la mémoire la prochaine instruction à exécuter Décoder l’instruction: déterminer la tâche Exécuter l’instruction: commandes à L’ALU, à la mémoire et aux contrôleurs E/S
Instructions de langage machine Décodées et exécutées par l’unité de contrôle Parties d’une instruction Operation code (op code) Code fait d’un nombre entier unique non signé assigné à chaque opération Domaines d’adresse Adresses de mémoire des valeurs qu’on utilise pour compléter cette opération
Typical Machine Language Instruction Format Figure 5.14 Typical Machine Language Instruction Format
Instructions de langage machine Opérations de langage machine Opérations de transfère de données Déplacer les valeurs entre mémoire et registres Opérations arithmétiques et logiques Opérations produisant des valeurs numériques Opérations de comparaison Comparer deux valeurs; set les bits du registre Opérations de branchement Sauter à une nouvelle adresse dans la mémoire
Registres et circuits de l’unité de contrôle Circuit décodeur d’instructions Program Counter (PC) Stocke l’adresse de mémoire de la prochaine instruction à exécuter Instruction Register (IR) Stocke le code de l’instruction courante
Organization of the Control Unit Registers and Circuits Figure 5.16 Organization of the Control Unit Registers and Circuits
Figure 5.18 The Organization of a Von Neumann Computer
Architecture Von Neumann Sous systèmes connectés par un bus Bus: fils pour permettre le transfère des données On ignore les détails des circuits qui performent ces opérations: Abstraction! L’ordinateur répète indéfiniment le cycle fetch-decode-execute
Architecture Non Von Neumann Limitations physiques de la vitesse des ordinateurs Von Neumann Les architectures Non Von Neumann dépassent ces limitations Architectures de calculs parallèles peuvent aider à améliorer les architectures courantes: opérations multiples en même temps
A SIMD Parallel Processing System Figure 5.21 A SIMD Parallel Processing System
Model of MIMD Parallel Processing Figure 5.22 Model of MIMD Parallel Processing