Structure générale de la machine physique • Les principaux composants de la machine physique • Le langage de la machine physique Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 1 Structure générale de la machine physique ª Les principaux composants de la machine physique • Le langage de la machine physique Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 2 Structure générale de la machine physique Horloge Processeur Central Mémoire Cache Mémoire Centrale Architecture des machines et systèmes Informatiques A0, 2001/2002 Bus Réseau d' échange Unité d’échange Joëlle Delacroix 3 Structure générale de la machine physique • Le processeur est chargé d'exécuter les instructions des programmes placés en mémoire centrale. Le processeur est cadencé par une horloge. • La mémoire centrale contient les instructions et données des programmes à exécuter. Avec le disque, la mémoire cache, elle constitue un système de hiérarchie de mémoire qui permet de rapprocher la vitesse de la mémoire centrale de celle du processeur. • Les unités d'échanges (UE) périphériques et le processeur. • Tous les composants l'intermédiaire du bus. de Architecture des machines et systèmes Informatiques A0, 2001/2002 la réalisent machine Joëlle Delacroix l'interface entre les communiquent par 4 Processeur (Unité Centrale) Y1 Z PSW Unité Arithmétique et Logique Opération Y2 Bus Interne Données Registres Commandes horloge Unité de Commande Séquenceur Décodeur RI CO RAD RDO Bus Processeur /Mémoire Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix Commandes Lecture/Ecriture Adresses Données 5 Processeur (Unité Centrale) horloge Unité de Commande Séquenceur Décodeur RI CO RAD RDO Commandes Lecture/Ecriture Adresses Données Bus Processeur /Mémoire L'unité de commande est chargée de la reconnaissance des instructions et de leur exécution par le processeur au rythme de l'horloge Les registres : - RI (registre instruction) : contient l'instruction en cours d'exécution - CO (compteur ordinal ) : contient l'adresse en MC de la prochaine instruction - RAD (registre adresse) et RDO (registre de données) : registres d'interfaçage avec la mémoire centrale Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 6 Processeur (Unité Centrale) R11 R0 RSP RB RIX Registres : - les registres généraux R0 à R11 - le registre de pile RSP - les registres d'adressage : RB (regsitre de base) et RIX (registre d'index) Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 7 Processeur (Unité Centrale) Y1 Z PSW Unité Arithmétique et Logique Opération Y2 L'unité Arithmétique et Logique (UAL) constitue l'unité d'exécution du processeur. Elle est composée : - de l'ensemble des circuits permettant de réaliser les opérations arithmétiques (addition, multiplication, division,…) et les opérations logiques (complément à 2, inverse, OU, ET, …) sur les opérandes Y1 et Y2 - d'un registre d'état PSW qui contient des indicateurs positionnés par le résultat Z des opérations effectuées : S O C Z Architecture des machines et systèmes Informatiques A0, 2001/2002 - O : positionné à 1 si Overflow, 0 sinon - Z : positionné à 1 si résultat opération nul, 0 sinon - C : positionné à 1 si carry, 0 sinon - S : positionné à 0 si résultat opération positif, 1 sinon Joëlle Delacroix 8 La mémoire centrale • • • • • Architecture des machines et systèmes Informatiques A0, 2001/2002 La mémoire centrale est constituée par un ensemble de mots mémoire. Un mot est constitué par un ensemble d'octets. Chaque mot est repéré de manière unique par une adresse. Elle s'interface avec le cpu via les registres RAD et RDO Une zone particulière de la mémoire est gérée comme une structure de pile repérée par le registre Rsp Joëlle Delacroix 9 La mémoire centrale Bus d'adresses Fonctions : m Bits programme et données Adresse Lecture Ecriture Bus de commandes Bus de Données Mémoire Unités de stockage : Bit, Octet, Mot. Mots m 2 Mots de p bits Adressage : Mot ou octet Temps d’accès. Technologies. Données Coûts. p Bits Architecture des machines et systèmes Informatiques A0, 2001/2002 stockage Joëlle Delacroix 10 La mémoire centrale 0 1 2 3 mot1 mot2 mot3 mot4 mot5 4 • Adressage par mot • seuls les mots sont adressables et donc répérés par une adresse Mot de 4 octets • 0 4 8 12 0 1 2 16 3 mot1 mot2 mot3 mot4 mot5 Mot de 4 octets Architecture des machines et systèmes Informatiques A0, 2001/2002 Adressage par octets • chacun des octets composant un un mot est adressable et est donc repéré par une adresse • l'adresse d'un mot est alors celle de son premier octet. Joëlle Delacroix 11 Hiérarchie Mémoire vitesse 6-35 ns 70 - 120 ns 10000000-20000000 ns cout Le plus élevé Le moins élevé capacité La plus petite La plus grande Processeur Registres Mémoire Cache Mémoire centrale Mémoire d'appui Disque Magnétique Bus Local DRAM SRAM Bus Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 12 Le bus processeur / mémoire Il existe aussi au sein du processeur un bus dit bu interne qui relie les différents composants du processeur Proceseur Bus Interne RAD RDO Commandes Lecture/Ecriture Adresses Données Bus Processeur /Mémoire Le bus processeur/mémoire permet la comunication entre le processeur et la mémoire centrale. Au niveau du processeur cet interfaçage est mis en œuvre via les registre RAD et RDO. Le bus est composé : - de lignes d'adresses qui transportent l'adresse à laquelle le processeur s'intéresse - de lignes de données qui transportent les mots mémoires - de lignes de commandes qui spécifient le type d'opérations en cours sur le bus On appelle largeur du bus le nombre de bits que le bus peut transporter en parallèle. Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 13 Architecture générale Mots : 32 bits Mémoire capacité 1 Gmots de 32 bits 230 mots de 32 bits 232 octets Processeur Registres 32 bits Registres Adresse RAD : 32 bits Mot RDO : 12 registres généraux : 2 registres spécialisés : 1 registre pointeur de pile : 1 registre instruction : 1 compteur ordinal : 1 registre d’état : Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 32 bits R0-R11 RB, RIX Rsp RI CO PSW 14 Boitier (Carte mère) Mémoire RAM Processeur Unités d'échanges Bus Périphériques Entrées Sorties Entrées et Sorties Matériels Ordinateur Logiciels Ordinateur : Exploitation (Système) Utilitaires Ensemble de composants matériels (hardware) permettant l’exécution de logiciels (software). Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 15 Structure générale de la machine physique • Les principaux composants de la machine physique ª Le langage de la machine physique Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 16 Le codage d'un problème ... Programme en langage de haut niveau instructions de haut niveau fonction perimetre (a, b : in integer) return integer is begin perimetre := (2 * a) + (2 * b); end; Compilateur Niveau utilisateur Système d'exploitation Gérer et partager le matériel processeur 01101110111110011 01111010001011100 10111101110111111 00111011110111011 00111111000111101 Bus Mémoire centrale Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix Machine physique "matérielle" Programme à exécuter : instructions machine et valeurs en binaire traduction 17 La représentation des instructions sur la machine physique 32 bits Code opération Désignation des opérandes 85 bits : 28 instructions différentes 00000000 : chargement de registre 00000101 : addition, etc... Ier opérande 2ème opérande Registre Le mode d'adressage et le champ X permettent de code le type du deuxième opérande Architecture des machines et systèmes Informatiques A0, 2001/2002 registre valeur immédiate opérande en mémoire Mode d'adressage registre X Joëlle Delacroix 18 Les modes d'adressages Immédiat Direct Indirect le deuxième opérande est la valeur X le deuxième opérande est un opérande mémoire. X est une adresse Basé Indexé Relatif le deuxième opérande est un opérande mémoire. X est un déplacement à ajouter à la valeur contenue dans un registre du processeur (RB ou RIX ou CO) Registre/Registre Le deuxième opérande est un registre banalisé du processeur Registre Il n'y a pas de deuxième opérande Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 19 La représentation des instructions sur la machine physique 32 bits adresse Code opération 8 bits Mode d'adressage 4 bits registre 4 bits X 16 bits • Une instruction machine est une chaine binaire repérée par une adresse. Pour faciliter la manipulation du langage machine par l'humain, on substitue à la chaine binaire une représentation "alphanumérique" équivalente pour chaque instruction : c'est le langage d'assemblage qui remplace les chaines binaires par des mnémoniques équivalents 00001000 00000101 0000 0001 00000000000000000000 addition : ADD Im R1 0 etiquette : codeop mode adressage registre X Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 20 Les modes d'adressages : mnémoniques dans le langage d'assemblage le deuxième opérande est la valeur X Immédiat Im le deuxième opérande est un opérande mémoire. X est une adresse Direct D Indirect I Basé B Indexé Ix Relatif Rel le deuxième opérande est un opérande mémoire. X est un déplacement à ajouter à la valeur contenue dans un registre du processeur (RB ou RIX ou CO) Le deuxième opérande est un registre banalisé du processeur Registre/Registre Rg2 Registre Rg1 Il n'y a pas de deuxième opérande Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 21 Instructions : adressage Immédiat Load Im R5 2 Représente une Valeur c'est l'opérande (R5) = 2 Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 22 Instructions : adressage Direct 32 bit Load D R3 X Représente une Adresse c'est l'adresse de l'opérande Adresse Instructions/données Load I, R7, X X Load D R3 X 5 C (R3) = (X) (R3) = 5 Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 23 Instructions : adressage Indirect Load I R7 X Représente l’adresse d’un mot dont le contenu est l’adresse de l’opérande Adresse X Y Y C3 (R7) = ((X)) Architecture des machines et systèmes Informatiques A0, 2001/2002 Instructions/données Load I, R7, XX Load I R7 3 Registre R7 Joëlle Delacroix 24 Instructions : adressage Basé Load B R3 X Load B R3 X Registre de Base Rb Représente un déplacement Y par rapport au registre de base Rb 4 Registre R3 X Z (R3) = ((Rb) + X) Architecture des machines et systèmes Informatiques A0, 2001/2002 Y Joëlle Delacroix 4 25 Adressage: Résumé Code Opération Mode Registre ChampOpérande Load D R1 X Adressage Valeur de l ’opérande • Immédiat Champ opérande • Direct ( Champ opérande ) • Indirect ( ( Champ opérande ) ) • Basé (( Base) + Champ opérande) Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 26 Les différents types d'instructions Chargement / Stockage de registre LOAD Im R1 5 ; STORE D R2 25 Opérations arithmétiques et logiques mettant en jeu l'UAL : ADD, MUL, OR, XOR, AND, ... Les opérations de sauts : JMP et JMPO, JMPS, JMPZ, …. A : DC 2 LOAD D R1 A LOAD Im R2 -1 moinsun : ADD rg2 R1 R2 JMPZ fin JMP moinsun fin : STOP Architecture des machines et systèmes Informatiques A0, 2001/2002 Programme qui à chaque pas décrémente R1 de 1 unité et s'arrête dès que R1 = 0 Joëlle Delacroix 27 Instructions : manipulation de la pile Push Registre Push Opérande Pop Registre Pop Opérande Rsp Pile Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 28 Instructions : manipulation de la pile Rsp 40 10 2 Push R0 R0 123 Rsp Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 123 40 10 2 29 Instructions : manipulation de la pile Rsp 123 40 10 2 Pop R1 R1 123 Rsp Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 40 10 2 30 Résumé • Les principaux éléments de la machine physique sont : • le processeur composé de l'unité de commande, de registres et de l'Unité Arithmétique et Logique • la mémoire centrale composée de mots repérés par une adresse unique • le bus externe qui assure la communication entre le processeur et la mémoire centrale • les unités d'échanges qui interfacent le processeur avec les périphériques • Le langage de la machine est composé d'instructions en binaire. • Une instruction est composée d'un champ code opération, et de champs permettant de désigner les opérandes. Le mode d'adressage permet de spécifier un type d'opérandes donné si plusieurs sont possibles. • Le Langage d'assemblage est un langage composées d'instructions équivalentes aux instructions machine pour lequel les chaînes binaires sont remplacées par des mnémoniques. Architecture des machines et systèmes Informatiques A0, 2001/2002 Joëlle Delacroix 31