Architecture des ordinateurs par Christophe TOMBELLE Télécom LILLE Tous droits

Architecture des ordinateurs par Christophe TOMBELLE Télécom LILLE Tous droits de traduction, de reproduction et d'adaptation réservés pour tous pays. © ENIC, Telecom Lille1, Telecom Lille, 2000 La loi du 11 mars 1957 n'autorisant, aux termes des alinéas 2 et 3 de l'article 41, d'une part, que les "copies ou reproductions strictement réservées à l'usage du copiste et non destinées à une utilisation collective" et d'autre part, que les analyses et que les courtes citations dans un but d'exemple et d'illustration, "toute représentation intégrale ou partielle, faite sans le consentement de l'auteur ou de ses ayants droits, ou ayants cause est illicite" (alinéa 1er de l'article 40). Cette représentation ou reproduction, par quelque procédé que ce soit, constituerait donc une contrefaçon sanctionnée par les articles 425 et suivants du code pénal. Télécom Lille - Cité Scientifique Rue G. Marconi – BP20145 59653 Villeneuve d'Ascq Cedex Tél. : 03.20.33.55.77 http ://www.telecom-lille1.eu Tuttelnet 2 Architecture des ordinateurs Le matériel Support de cours Janvier 2013 3 Table des matières 1. Le matériel ................................................................................................................................. 7 1.1. Système à microprocesseur ............................................................................................................. 7 1.2. Les bus ............................................................................................................................................. 8 1.3. Constitution interne du microprocesseur ......................................................................................13 1.4. Constitution interne de la mémoire ................................................................................................14 1.5. Entrées - sorties ..............................................................................................................................15 1.6. Fonction décodage ..........................................................................................................................18 1.7. Actions du microprocesseur ...........................................................................................................18 1.8. Le port série ....................................................................................................................................18 1.9. Constitution ....................................................................................................................................19 1.10. Brochage .......................................................................................................................................20 1.11. Microcontrôleur ............................................................................................................................20 2. Le matériel : travail dirigé ........................................................................................................ 23 2.1. Déroulement d'une séquence d'instructions ..................................................................................23 2.2. Chronogramme de lecture ..............................................................................................................24 2.3. Performances des processeurs ........................................................................................................24 3. Le logiciel : modèle de programmation .................................................................................... 27 3.1. Organisation de la mémoire ...........................................................................................................27 3.2. Le modèle de programmation ........................................................................................................28 3.3. Segmentation du 8086 .....................................................................................................................30 3.4. Représentation à la Turbo-Debugger.............................................................................................32 3.5. Association par défaut des registres de segment ............................................................................34 3.6. Méthodologie ..................................................................................................................................35 4. Représentation des données...................................................................................................... 37 4.1. Les modes d'adressage....................................................................................................................37 4.2. L'adressage immédiat .....................................................................................................................37 4.3. L'adressage direct ...........................................................................................................................37 4.4. L'adressage indirect .......................................................................................................................38 4.5. L'accès aux variables ......................................................................................................................42 4.6. Plate-forme Turbo-C 8086 (taille des types de base) .....................................................................45 4.7. Schémas de mémoire ......................................................................................................................45 4.8. Sujet du TP2 ...................................................................................................................................46 Tuttelnet 4 Architecture des ordinateurs 5. Structuration des données ........................................................................................................ 47 5.1. Les pointeurs...................................................................................................................................47 5.2. Les enregistrements ........................................................................................................................49 5.3. Tableau d'octets ..............................................................................................................................50 5.4. Tableaux d'entiers ..........................................................................................................................50 5.5. Tableau d'enregistrements .............................................................................................................50 5.6. Tableaux à 2 dimensions ................................................................................................................51 5.7. Tableau de pointeurs ......................................................................................................................51 5.8. Fin du TP2 ......................................................................................................................................52 6. Structuration du code ............................................................................................................... 53 6.1. Les instructions de saut ..................................................................................................................53 6.2. Les structures de contrôle ..............................................................................................................55 6.3. Sujet du TP3 ...................................................................................................................................57 7. Structuration du code : les sous-programmes .......................................................................... 61 7.1. Fonctionnement d’une pile .............................................................................................................61 7.2. Représentation de la pile ................................................................................................................61 7.3. L'appel de sous-programme ...........................................................................................................61 7.4. Retour de sous-programme ............................................................................................................62 7.5. Imbrication des sous-programmes .................................................................................................63 7.6. Fonctions .........................................................................................................................................63 8. Passage des arguments ............................................................................................................. 65 8.1. Le passage des arguments en langage C ........................................................................................65 8.2. Passage des arguments par la pile ..................................................................................................65 8.3. Point de vue de l'appelant ..............................................................................................................66 8.4. Point de vue de l'appelé ..................................................................................................................66 8.5. Exploitation du résultat de la fonction ...........................................................................................67 8.6. Récursivité ......................................................................................................................................68 8.7. Paramètres en nombre variable .....................................................................................................68 9. Gestion des entrées-sorties ....................................................................................................... 69 9.1. Introduction ....................................................................................................................................69 9.2. Le polling ........................................................................................................................................69 9.3. Le mécanisme d'interruption .........................................................................................................69 9.4. Le contrôleur d'interruptions.........................................................................................................70 9.5. Vectorisation des interruptions ......................................................................................................70 9.6. Les interruptions logicielles ............................................................................................................71 9.7. Mécanisme d'accès direct à la mémoire .........................................................................................71 Le matériel Support de cours Janvier 2013 5 10. Les logiciels d’exploitation ..................................................................................................... 73 10.1. Rôle d'un système d'exploitation ..................................................................................................73 10.2. La gestion de la mémoire ..............................................................................................................74 10.3. Le parallélisme d'exécution ..........................................................................................................81 10.4. La notion de protection ................................................................................................................83 11. Système d’exploitation : approfondissement........................................................................... 87 11.1. Implantation du pseudo-parallélisme...........................................................................................87 12. Evolution des performances ................................................................................................... 91 12.1. Introduction ..................................................................................................................................91 12.2. Structure d'un ordinateur ............................................................................................................91 12.3. Progrès technologiques .................................................................................................................91 12.4. Amélioration des performances ...................................................................................................91 12.5. L'architecture RISC .....................................................................................................................93 12.6. Architectures, super-pipeline et super-scalaire ...........................................................................94 12.7. Processeurs CISC .........................................................................................................................94 12.8. L'architecture VLIW ....................................................................................................................95 12.9. Applications ..................................................................................................................................95 13. Bibliographie .......................................................................................................................... 97 Tuttelnet 6 Architecture des ordinateurs Le matériel Support de cours Janvier 2013 7 1. Le matériel 1.1. Système à microprocesseur Ax Dx µP RDWR M/IO dage Déco Mém RD WR CS Ax Dx WR E/S RD CS Ax Dx Bus d'adresses Signaux de contrôle Bus de données WR Le microprocesseur est capable d'exécuter des instructions qui agissent sur des opérandes. Les opérandes sont constitués d'une part des registres situés au cœur du processeur et d'autre part des variables situés dans la mémoire. Les instructions que le microprocesseur doit exécuter sont des informations codées qui résident également en mémoire. Le codage employé pour les instructions est propre au modèle de microprocesseur employé. Ce codage obéit à une certaine logique, logique que le microprocesseur emploie pour le décodage. L'ensemble des instructions qu'un microprocesseur est capable d'exécuter forme son jeu d'instructions. Le processeur désigne les cases mémoires auxquelles il veut accéder en présentant leurs adresses sur le bus d'adresses. L'ensemble des signaux d'adresses d'un système s'appelle un bus d'adresses. Le nombre de signaux d'adresses détermine la capacité d'adressage. Avec 1 signal d'adresse supplémentaire, on peut désigner 2 fois plus de cases mémoire. Autrement dit, on double la capacité d'adressage. Ainsi, avec 1 seul signal d'adresses un processeur serait capable d'adresser 2 octets, avec 2 signaux d'adresses, il pourrait en adresser 4. Avec 16 signaux, le 8085 peut en adresser 216 soit 64 ko, avec 20 signaux d'adresses, le 8086 peut en adresser 220 soit 1 Mo, avec ses 32 signaux le 386 peut en adresser 232, soit 4 Go. La mémoire échange des informations avec le processeur par le bus de données qui est bidirectionnel. Le processeur précise également l'instant et le sens du transfert grâce aux signaux de contrôle que sont les signaux de lecture et d'écriture. Il existe de la mémoire accessible en lecture et en écriture (RAM=Random Access Memory ou mémoire vive) et de la mémoire accessible uniquement en lecture (ROM=Read Only Memory ou mémoire morte). Le processeur comporte des registres non seulement pour les opérandes des opérations qu'il exécute mais aussi pour des usages plus techniques. Par exemple, l'adresse de la prochaine instruction à exécuter est contenue dans un registre du microprocesseur : le pointeur d'instructions (IP = Instruction Pointer), plus généralement appelé compteur de programme (PC = Program Counter). Le microprocesseur commence chacun de ses cycles de fonctionnement par un cycle de lecture en mémoire. Il va ainsi chercher le code de l'instruction à exécuter. Ce code transite sur le bus de données jusqu'au microprocesseur. Celui-ci décode l'instruction et décide de la suite à donner à l'instruction. Eventuellement, des compléments d'instructions sont nécessaires pour que l'instruction soit complète. En effet, une instruction nécessite généralement un ou plusieurs opérandes; elle peut donc faire l'objet de plusieurs cycles de lecture en mémoire pour être complète. La lecture des codes machine relève d'un comportement spontané du microprocesseur (que dois-je faire ?) l'exécution des codes machines définit le comportement programmé du microprocesseur : faire ceci, faire cela. Le fonctionnement d'un microprocesseur alterne entre comportement spontané et comportement programmé. Spontanément, le microprocesseur acquiert un code machine sous forme d'un ou plusieurs mots mémoire. Lorsque l'instruction est complète, il l'exécute. Cette exécution peut comporter une lecture ou une écriture en mémoire. Ensuite, le processeur Tuttelnet 8 Architecture des ordinateurs recommence avec l'instruction suivante. Dès qu'un processeur est sous tension, il acquiert spontanément des codes machine et les exécute. Les premiers codes machine proviennent d'une ROM car à la mise sous tension, le contenu d'une RAM est indéterminé tandis que celui d'une ROM, déterminé par le constructeur de l'ordinateur est maintenu en l'absence d'énergie. 1.2. Les bus Les architectures à microprocesseur font appel à des voies de circulation des informations appelées bus. Un bus relie plusieurs dispositifs ensemble. Un câblage en bus est plus économique et plus évolutif qu'un câblage en réseau complètement maillé. Sur un bus, les informations ne proviennent pas toujours du même émetteur et n'ont pas toujours le même destinataire. Ainsi, une broche d'un dispositif peut :  soit émettre un signal,  soit ne pas émettre de signal mais au contraire écouter un signal émis par un autre dispositif,  soit ne pas émettre de signal et ignorer un éventuel signal émis par un autre dispositif La logique à 3 états autorise ce type de connexion. 1.2.1. Logique à 3 états 1.2.1.1. Le problème En logique classique à 2 états, les règles de conception interdisent de connecter deux sorties ensemble : un signal ne peut être émis que par une source unique, il ne peut en aucun cas venir "soit d'une porte, soit d'une autre". 1.2.1.2. Structure interne Dans une porte classique à 2 états, l'un au moins des deux transistors de l'étage de sortie est passant. Si on relie deux sorties ensemble et que ces sorties cherchent à imposer des états logiques différents sur leur sortie respective, un transistor de l'un et un transistor de l'autre étant passants (Q1 et Q4 passants ou Q3 et Q2 passants), un court-circuit est établi entre l'alimentation et la masse, générant un courant destructeur pour les deux portes. En pratique, une résistance en série avec le collecteur de Q1 ou Q3 limite le courant de sortie de la porte pour éviter uploads/Management/ a23-cours-ttn.pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jan 14, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 20.1711MB