Année Universitaire : 2020-2021 Architecture des ordinateurs Niveau d’études :

Année Universitaire : 2020-2021 Architecture des ordinateurs Niveau d’études : Licence Première Année en Informatique Table des matières CHAPITRE 1 : STRUCTURE GENERALE ET FONCTIONNEMENT D’UN ORDINATEUR................4 A. INTRODUCTION.....................................................................................................................4 B. STRUCTURE ET FONCTIONNEMENT D’UN ORDINATEUR...........................................................6 CHAPITRE 2 : CODAGE DES INFORMATIONS......................................................................18 A UNITES D'INFORMATIONS.......................................................................................................18 B REPRESENTATION DES NOMBRES............................................................................................18 C ARITHMETIQUE BINAIRE..........................................................................................................26 D ARITHMETIQUE OCTALE..........................................................................................................27 E ARITHMETIQUE HEXADECIMALE..............................................................................................28 F ARITHMETIQUE EN BCD...........................................................................................................28 G REPRESENTATION DES CARACTERES........................................................................................30 H PROTECTION CONTRE LES ERREURS.........................................................................................32 CHAPITRE 3 LES MICROPROCESSEURS...............................................................................36 A ARCHITECTURE INTERNE D’UN PROCESSEUR...........................................................................36 B CARACTERISTIQUES D’UN MICROPROCESSEUR........................................................................43 C TECHNOLOGIE DES MICROPROCESSEURS.................................................................................44 D EXEMPLE DE MICROPROCESSEURS..........................................................................................45 Cycle normale...................................................................................................................45 Cycle rafale.......................................................................................................................45 E TABLEAU RÉCAPITULATIF SUR L’ARCHITECTURE INTEL.............................................................49 CHAPITRE 4 LES MEMOIRES...............................................................................................53 A. Les Caractéristiques principales..............................................................................................53 B. Les mémoires vives dynamiques et la mémoire centrale........................................................54 C. Les mémoires vives statiques et la mémoire cache.................................................................56 D. Les mémoires mortes et le BIOS..............................................................................................58 E. Les cartes mémoire à partir des mémoires flash......................................................................59 CHAPITRE 5 LES INTERFACES D’ENTREE/SORTIE................................................................62 A. INTERFACE SERIE....................................................................................................................62 B. Interface parallèle..................................................................................................................66 C. INTERFACES DES DISQUES.......................................................................................................67 D. LES BUS D’EXTENSION............................................................................................................73 CHAPITRE 6 LES INTERRUPTIONS......................................................................................86 A. DEFINITIONS ET GENERALITES................................................................................................86 B. INTERRUPTIONS VECTORISEES................................................................................................89 C. LES INTERRUPTIONS MATERIELLES : exemple du Intel 80386 et de ses successeurs.................89 D. ACTIVATION D'INTERRUPTIONS A PARTIR D'UN PROGRAMME C...........................................93 EXERCICES.........................................................................................................................95 CORRIGE...........................................................................................................................98 Bibliographie...................................................................................................................116 2 3 CHAPITRE 1 : STRUCTURE GENERALE ET FONCTIONNEMENT D’UN ORDINATEUR A. INTRODUCTION Le rôle de l’informatique est de résoudre des problèmes à l’aide d’un ordinateur. Un problème s’exprime sous forme d’un énoncé qui spécifie les fonctions que l’on souhaite réaliser. Par exemple définir toutes les fonctions d’un traitement de texte. Pour résoudre un problème les informaticiens utilisent la notion d’algorithme. Pour illustrer cette notion, prenons l’exemple du problème suivant : confectionner une omelette avec 6 œufs. Trouver une solution à ce problème repose sur l’existence d’un processeur sachant exécuter une instruction (confectionner). En général un adulte saura exécuter l’instruction confectionner, c’est-à-dire connaîtra le sens du mot, et sera capable de faire toutes les actions nécessaires permettant de résoudre le problème. On dira alors que l’adulte est un bon processeur au sens où il saura exécuter l’instruction confectionner portant sur la donnée œufs. Par contre un enfant pourra ne pas connaître le mot confectionner : il ne saura pas faire les opérations nécessaires et ne pourra donc pas résoudre le problème posé (faire une omelette). L’enfant connaît d’autres instructions, sait exécuter d’autres actions que confectionner, et pour qu’il puisse résoudre le problème il faudra l’exprimer autrement, sur la base des actions, instructions, qu’il est capable d’exécuter. Pour que l’enfant puisse résoudre le problème on pourra l’exprimer sous forme d’une séquence d’instructions appartenant au langage de l’enfant. Par exemple on pourra exprimer le problème, la solution, sous la forme de la séquence des instructions suivantes : 1. casser 6 œufs dans un bol; 2. battre les œufs avec un fouet; 3. saler, poivrer; 4. placer la poêle sur le gaz; 5. allumer le gaz; 6. cuisiner les œufs; 7. éteindre le gaz. Dans cet exemple, le processeur enfant sait exécuter des instructions (casser, battre, saler, poivrer, allumer, cuisiner…). De plus il connaît les objets à manipuler (œufs, gaz, poêle…). On dit alors que le processeur enfant est un bon processeur pour exécuter l’algorithme représenté par la séquence précédente puisque l’enfant est capable d’exécuter cette séquence 4 d’instructions. Cette séquence d’instructions exécutables par le processeur enfant est une solution du problème posé pour ce processeur. Un algorithme peut donc se définir comme une séquence d’instructions exécutables par un processeur déterminé. Cette séquence d’instructions, cet algorithme, est une solution au problème posé. De ce petit exemple nous pouvons tirer quelques conclusions : – un algorithme est une solution à un problème posé; – un algorithme est une séquence d’instructions exécutables par un processeur; – un algorithme est un programme exécutable par un processeur déterminé; – un algorithme n’a de sens que pour un processeur déterminé. Les instructions expriment les actions que peut exécuter un processeur, elles sont codées à partir d’un alphabet (dans notre cas l’alphabet habituel). Les instructions manipulent des données (œufs, sel, poivre, gaz, poêle…). Un processeur (ou machine virtuelle) est une entité capable d’exécuter des instructions portant sur des données. L’ensemble des instructions que le processeur (la machine virtuelle) peut manipuler, constitue son langage de programmation. Ainsi le langage de programmation du processeur définit complètement ce processeur. Il y a équivalence totale entre la machine virtuelle et son langage de programmation. Aussi, connaître le langage de programmation d’une machine virtuelle équivaut à connaître les capacités d’exécution de cette machine. En résumé résoudre un problème avec une machine virtuelle consiste à construire une séquence d’instructions pour cette machine (à partir de son langage de programmation) telle que l’exécution de cette séquence soit une solution à ce problème. En informatique la machine cible, celle avec laquelle nous devons résoudre les problèmes, est l’ordinateur. Nous devons donc connaître les caractéristiques de cette machine, tout particulièrement son langage de programmation (les instructions qu’elle est capable d’exécuter), l’alphabet permettant de coder les instructions ainsi que les données et les outils permettant d’exécuter ces instructions. Les instructions d’un ordinateur sont les instructions machines, elles constituent le langage de programmation de l’ordinateur : le langage machine. Résoudre un problème avec un ordinateur consiste donc à exprimer ce problème sous forme d’une séquence d’instructions machines que nous devrons soumettre aux outils permettant l’exécution de cette séquence. Cette séquence d’instructions machine exécutables par l’ordinateur s’appelle le programme machine. 5 B. STRUCTURE ET FONCTIONNEMENT D’UN ORDINATEUR Après ce bref rappel sur la manière algorithmique de résoudre un problème nous allons nous intéresser à la résolution d’un problème avec comme machine cible un ordinateur. Pour cela nous donnons tout d’abord une présentation de la structure matérielle d’un ordinateur, de son fonctionnement, pour ainsi en déduire comment on peut à l’aide d’un ordinateur, résoudre un problème. L’ordinateur cible nous servant de support descriptif est un ordinateur de type Von Neumann qui caractérise bien la quasi-totalité des ordinateurs actuels. Il est composé des éléments suivants : – une mémoire centrale pour le stockage des informations (programme et données); – un microprocesseur ou processeur central pour le traitement des informations logées dans la mémoire centrale; – des unités de contrôle des périphériques et des périphériques; – un bus de communication entre ces différents modules. B.1 Structure générale d’un ordinateur La figure 1.1 présente l’organisation générale d’un ordinateur. On y trouve deux parties principales :  le processeur comprenant les modules mémoire centrale, processeur central (microprocesseur), les unités d’échange et le bus de communication entre ces différents modules ;  les périphériques avec lesquels dialogue le processeur au travers des unités d’échange (ou contrôleurs). On distingue en général :  les périphériques d’entrée tels que le clavier ou la souris;  les périphériques de sortie tels que les imprimantes et les écrans de visualisation;  les périphériques d’entrée et de sortie tels que les disques magnétiques ou les modems pour accéder aux réseaux de communication. 6 B.2 Mémoire centrale La mémoire centrale assure la fonction de stockage de l’information qui peut être manipulée par le microprocesseur (processeur central), c’est-à-dire le programme machine accompagné de ses données. En effet, le microprocesseur n’est capable d’exécuter une instruction que si elle est placée dans la mémoire centrale. Cette mémoire est constituée de circuits élémentaires nommés bits (binary digit). Il s’agit de circuits électroniques qui présentent deux états stables codés sous forme d’un 0 ou d’un 1. De par sa structure la mémoire centrale permet donc de coder les informations sur la base d’un alphabet binaire et toute information stockée en mémoire centrale est représentée sous la forme d’une suite de digits binaires. La figure 1.2 présente l’organisation générale d’une mémoire centrale. 7 Pour stocker l’information, la mémoire est découpée en cellules mémoires : les mots mémoires. Chaque mot est constitué par un certain nombre de bits qui définissent sa taille. On peut ainsi trouver des mots de 1 bit, 4 bits (quartet) ou encore 8 bits (octet ou byte), 16 bits voire 32 ou 64 bits. Chaque mot est repéré dans la mémoire par une adresse, un numéro qui identifie le mot mémoire. Ainsi un mot est un contenant accessible par son adresse et la suite de digits binaires composant le mot représente le contenu ou valeur de l’information. La mémoire centrale est un module de stockage de l’information dont la valeur est codée sur des mots. L’information est accessible par mot. La capacité de stockage de la mémoire est définie comme étant le nombre de mots constituant celle-ci. Dans l’exemple de la figure 1.2, notre mémoire a une capacité de 8 mots de 16 bits chacun. On exprime également cette capacité en nombre d’octets ou de bits. Notre mémoire a donc une capacité de 16 octets ou de 128 bits. L’information que l’on trouve en mémoire centrale est donc codée sur un alphabet binaire. La figure 1.3 rappelle le nombre de combinaisons que l’on peut réaliser à partir d’une suite d’éléments binaires. Coder l’information en mémoire centrale c’est donc associer à chaque suite de bits un sens particulier. 8 La figure 1.4 présente succinctement les différentes informations que l’on trouve uploads/Industriel/ architecture-des-ordinateurs.pdf

  • 43
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager