Révision : Structure d’un ordinateur Qu’est-ce qu’un système informatique ? Un système informatique est un ensemble composé d’un ou plusieurs dispositif programmable. Chacun de ces dispositifs peut communiquer avec les autres via un mécanisme dit de réseau et chacun de ces dispositifs effectue une ou plusieurs tâches par le déroulement d’instructions constituants le programme qu’il doit exécuter. CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 1 Révision : Structure d’un ordinateur Plusieurs types de systèmes informatiques : • Les systèmes informatiques généraux • Ce sont les machines habituelles : PC, Station Unix, Mini-ordinateurs, MainFrame. • Ces systèmes sont adaptables par le logiciel qu’ils exécutent et donc leurs tâches peuvent être variées. • Les systèmes informatiques dédiés • Ce sont des machines dédiées à un type de tâches particulières, par exemple les consoles de jeux vidéo, les machines de tri du courrier. • Les systèmes informatiques embarqués ou enfouis • Ce sont des systèmes informatiques mis dans d’autres machines, par exemple les appareils photo numériques, les téléphones, l’informatique des véhicules de transport. CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 2 Révision : Structure d’un ordinateur Eléments matériels d’un ordinateur • Les bus • La mémoire • Les disques durs • Les cd/dvd • Le dma • Les cartes périphériques, notamment la carte vidéo 3D • La carte mère • Le ou les processeurs CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 3 Révision : Structure d’un ordinateur Les bus C’est le cœur d’un ordinateur car il véhicule les informations d’un composant à l’autre. Sa composition : - Un ensemble de fil. - Un protocole de communication. - Un ensemble de règle régie la communication par un composant : le maître du bus. Bus Adresse, Bus data CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 4 Révision : Structure d’un ordinateur Les mémoires Elles permettent de stocker de l’information et sont réparties en plusieurs niveaux, on parle de mémoire cache : Mémoire de dernier niveau : mémoire centrale Mémoire de niveau n +1 Mémoire de niveau n Bus Adresse, Bus data CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 5 Révision : Structure d’un ordinateur La hiérarchie de mémoire PROCESSEUR NIVEAU 1 (INTEGREE) NIVEAU 2 … NIVEAU N DERNIER NIVEAU : MEMOIRE CENTRALE Ö Le niveau n est plus petit (en taille) que le niveau n - 1. Ö Une donnée présente dans le niveau n-1 est présente dans le niveau n. Ö Chaque niveau n fait correspondre une grande quantité d’adresses (en nombre) vers une quantité plus petite situé au niveau n-1. CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 6 Révision : Structure d’un ordinateur Ou mettre le bloc Cache totalement associatif : Le bloc mémoire peut aller n’importe où dans le cache : 0 1 2 3 4 5 6 7 Le bloc 12 peut aller n’importe où dans le cache Numéro bloc 0 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 mémoire CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 7 2 9 Révision : Structure d’un ordinateur Ou mettre le bloc Cache à correspondance direct : Le bloc mémoire a une seule place disponible dans le cache : (numéro bloc) mod (nombre de bloc dans le cache) 0 1 2 3 4 5 6 7 Le bloc 12 peut aller seulement dans le bloc 12 mod 8 Numéro bloc 0 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 mémoire CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 8 2 9 Révision : Structure d’un ordinateur Ou mettre le bloc Cache associatif par ensemble de blocs : Le bloc mémoire peut être placé dans un ensemble de blocs : (numéro bloc) mod (nombre d’ensemble dans le cache) Un ensemble est un groupe de blocs, s’il y a n blocs dans un ensemble, la correspondance est appelée associative par ensemble de n blocs. E0 E1 E2 E3 0 1 2 3 4 5 6 7 Associatif par ensemble : le bloc 12 peut aller n’importe où dans le un des blocs de l’ensemble 0 : bloc 0 et bloc 1. Numéro bloc 0 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 mémoire CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 9 2 9 Révision : Structure d’un ordinateur Comment trouver le bloc Pour chaque bloc des caches, il existe une étiquette qui donne le numéro du bloc présent : Ö Cette étiquette est examinée pour voir si elle correspond au numéro de bloc provenant de l’UC. Pour chaque bloc des caches, il existe un bit qui indique la validité du bloc. Si le bit n’est pas positionné, il ne peut y avoir d’accès à une adresse du bloc (non représenté). Numéro de bloc Etiquette Index Déplacement dans le bloc Relation entre l’adresse et le cache L’adresse est séparée en deux : le numéro de bloc et le déplacement dans ce bloc : Ö Le numéro de bloc peut être divisé en un champ étiquette et un champ index. L’augmentation du nombre d’ensemble diminue le champ étiquette et augmente le champ index. CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 10 Révision : Structure d’un ordinateur Remplacement d’un bloc en cas de défaut de cache Correspondance directe : Ö Pas le choix, seul le bloc testé est remplacé. Associativité totale ou par ensemble : Ö Le hasard : génération d’un numéro de bloc aléatoire. Ö Le plus ancien : LRU, le bloc remplacé est celui qui n’a pas été utilisé depuis le plus longtemps. Le hasard est le plus facile à implémenter par matériel. Le coût du LRU croit avec le nombre de blocs à observer. CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 11 Révision : Structure d’un ordinateur Les écritures Les lectures dominent les accès au cache : ÖLes accès aux instructions et à leurs opérandes s’effectuent en lecture. Ö 9% des instructions font des rangements en mémoire. Deux politiques d’écriture existent : ÖL’écriture ou rangement simultané dans lequel l’information est écrite dans le cache et dans le niveau inférieur. Ö La réécriture ou recopie ou encore rangement dans lequel l’information est écrite uniquement dans le bloc du cache. Le cache modifié est recopié en mémoire principale uniquement lorsqu’il est remplacé. CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 12 Révision : Structure d’un ordinateur Les disques magnétiques Deux types de disques cohabitent aujourd’hui : les IDE, SATA et les SCSI. Disque N Mémoire de Nième Niveau CDROM Mémoire de 2ième Disque 0 Disque 0 Contrôleur IDE/SATA Contrôleur SCSI Niveau Mémoire de 1er Niveau Bus Adresse, Bus data CNAM 2009 - 2010 Bus spécialisé universel série Bus spécialisé vidéo Patrick Arlaud - Jérome Dupire 13 Révision : Structure d’un ordinateur Les disques magnétiques CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 14 Révision : Structure d’un ordinateur Le DMA Ö Les entrées – sorties gérées par interruptions libèrent le processeur, mais : Le processeur passe beaucoup de temps à effectuer des instructions de transfert de données. Ö Beaucoup d’événements d’entrées – sorties nécessitent des transferts de blocs La plupart des ordinateurs possèdent un processeur spécialisé qui gère le dispositif d’accès à la mémoire : LE DMA (Direct Memory Access : accès direct à la mémoire). CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 15 Révision : Structure d’un ordinateur Le DMA n Le processeur initialise les registres du DMA en lui envoyant une adresse mémoire et le nombre d’octets à transférer. DMA (@, nb) UC CNAM 2009 - 2010 Disque Patrick Arlaud - Jérome Dupire MEMOIRE 16 Révision : Structure d’un ordinateur Le DMA DMA UC CNAM 2009 - 2010 Disque o Le DMA transfert les données entre un disque et la mémoire, pendant ce temps, l’UC travaille a une autre tache. Le DMA doit être maître du bus. MEMOIRE Patrick Arlaud - Jérome Dupire 17 Révision : Structure d’un ordinateur Le DMA p Une fois le transfert terminé, il y a génération d’une interruption. UC CNAM 2009 - 2010 DMA Disque Patrick Arlaud - Jérome Dupire MEMOIRE 18 Révision : Structure d’un ordinateur Le DMA Ö Il peut y avoir plusieurs DMA dans un même ordinateur : Il faut dans ce cas avoir un arbitre pour accéder au bus. Ö Les DMA peuvent être plus ou moins intelligents, ils forment alors des processeurs d’entrées – sorties : Ces processeurs opèrent à partir de programmes fixes, ou de programmes chargés par le système d’exploitation. Par exemple : l’imprimante LP11 provoqueraient 4800 interruptions pour imprimer une page de 60 lignes de 80 caractères, un processeur d’entrées – sorties pourraient éviter 4799 interruptions. Ö Puisque nous parlons de processeurs d’entrées – sorties capables d’exécuter des instructions, nous sommes presque en train de parler de multiprocesseurs. Toutefois ces processeurs n’ont pas pour vocation d’effectuer que des transferts de données et non des instructions générales. CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 19 Révision : Structure d’un ordinateur Les bus C’est par eux que s’acheminent les informations au travers des machines. Une machine peut en posséder plusieurs dont certains peuvent être spécialisés. Disque N Mémoire de Nième Niveau CDROM Mémoire de 2ième Disque 0 Disque 0 Contrôleur IDE/SATA Contrôleur SCSI Niveau Mémoire de 1er Niveau Bus Adresse, Bus data Scanner Souris Carte vidéo Modem ADSL CNAM 2009 - 2010 Bus spécialisé universel série Bus spécialisé vidéo Patrick Arlaud - Jérome Dupire 20 Révision : Structure d’un ordinateur Les cartes vidéo Les cartes vidéo d’aujourd’hui incorporent des composants intelligents et des processeurs pour la 3D. Disque N Mémoire de Nième Niveau CDROM Mémoire de 2ième Disque 0 Disque 0 Contrôleur IDE Contrôleur SCSI Niveau Mémoire de 1er Niveau Bus Adresse, Bus data Carte vidéo Processeur Vidéo 3D Scanner Souris Mémoire vidéo en Mo Modem ADSL Processeur Graphique Bus spécialisé universel série CNAM 2009 - 2010 Bus spécialisé vidéo Patrick Arlaud - Jérome Dupire 21 Révision : Structure d’un ordinateur Le processeur Disque N Mémoire de Nième Niveau CDROM Mémoire de 2ième Disque 0 Disque 0 Contrôleur IDE Contrôleur SCSI Niveau Mémoire de 1er Niveau Bus Adresse, Bus data Carte vidéo Processeur Vidéo 3D Scanner Souris Mémoire vidéo en Mo UC Modem ADSL Processeur Graphique Bus spécialisé universel série Bus spécialisé vidéo CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 22 Révision : Structure d’un ordinateur Alimentation D0 D1 Dn Adresses A0 A1 Données (Data) Le processeur Read Write Entrée Horloge An CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 23 Révision : Structure d’un ordinateur Le processeur Bus d’adresse Reg @ R1 SP R2 CO R3 … E1 Rx E2 S Z NZ C OF … Registre d’état Décodeur Circuit commande Bus interne Reg Data Read / Write CNAM 2009 - 2010 R3 ← R1 + R2 01 R1-Lec 02 UalE1-Ecr 03 UalE1-Dec 04 R1-Dec BusInt ← R1 UalE1 ← BusInt Déconnexion UalE1 Déconnexion R1 05 R2-Lec 06 UalE2-Ecr 07 UalE2-Dec 08 R2-Dec BusInt ← R2 UalE2 ← BusInt Déconnexion UalE2 Déconnexion R2 09 Add Commande Ual ADD 10 UalS-Lec 11 R3-Ecr 12 R3-Dec 13 UalS-Dec BusInt ← UalS R3 ← BusInt Déconnexion R3 Déconnexion UalS Fetch Reg Inst Horloge Add R1, R2, R3 Bus data 14 Co-Lec 15 Reg @-Ecr 16 Reg @-Syn-Lec 17 Read Mémoire 18 Reg @-Dec 19 Co-Dec 20 Co++ BusInt ← CO Reg @ ← BusInt Synchronisation Bus adresse machine - Reg @ Bus data machine ← [Mémoire] Déconnexion Reg @ Déconnexion Co INC CO (pointe sur instruction suivante) 21 Reg-Data-syn-Ecr 22 Reg-Data-Lec 23 RI-Ecr 24 RI-Dec 25 Reg-Data-Dec 26 Reg-Data-NSyn 27 Reg @-NSyn Synchronisation Bus Data machine – Reg Data BusInt ← RegData RI ← BusInt Déconnexion RI Déconnexion RegData Déconnexion Reg Data – Bus data machine Déconnexion Reg @ - Bus adresse machine Patrick Arlaud - Jérome Dupire 24 Révision : Structure d’un ordinateur Révision numérique Les ordinateurs utilisent des états électriques que nous représentons par des 0 et 1. ⇒ Tout est représenté par du binaire, les entiers sont en binaire : 0000 1010 représente le nombre décimale 10. Habituellement, nous regroupons les bits par 8 pour former un octet. Cela permet de stocker un caractère car 8 bits permettent 256 combinaisons différentes ce qui est assez pour les jeux de caractères. CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 25 Révision : Structure d’un ordinateur Révision numérique Les bits sont numérotés de droite à gauche. On commence la numérotation par la valeur 0 Pour passer du binaire au décimal, on multiplie la valeur du bit (0 ou 1) par la puissance de 2 donnée par son numéro. Le bit le plus à droite (bit 0) a pour poids : 20 Le bit 1 a pour poids : 21 Le bit 2 a pour poids : 22 Et ainsi de suite… Nous avons donc successivement les valeurs suivantes : 2X 2x-1 … 28 27 26 25 24 23 22 21 20 CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 26 Révision : Structure d’un ordinateur Révision numérique Pour obtenir la valeur décimale d’une représentation binaire, il suffit de faire l’addition des différents bits multipliés par leurs poids (puissance de 2). Exemple : 1011 0110 1100 1010 = 0*20+1*21+0*22+1*23+0*24+0*25+1*26+1*27+ 0*28+1*29+1*210+0*211+1*212+1*213+0*214+1*215 = 1*0+1*2+0*4+1*8+0*16+0*32+1*64+1*128+0*256+ 1*512+1*1024+0*2048+1*4096+1*8192+0*16384+1*32768 = 46794 CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 27 Révision : Structure d’un ordinateur Révision numérique En principe, vous êtes supposés savoir faire les conversions des valeurs en puissance de 2 de tête : 20 = 1 21 = 2 22 =4 23 =8 24 =16 25 =32 26 = 64 27 = 128 CNAM 2009 - 2010 28 = 256 29 =512 210 = 1024 211 = 2048 212 = 4096 213 = 8192 214 = 16384 215 = 32768 210 +/-= 1 000 220 +/-= 1 000 000 230 +/-= 1 000 000 000 240 +/-= 1 000 000 000 000 Patrick Arlaud - Jérome Dupire 28 Révision : Structure d’un ordinateur Révision numérique Utilisation de la base hexadécimale : => Utilisation de 16 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A ou a, B ou b, C ou c, D ou d, E ou e, F ou f Les valeurs sont les suivantes : H D H D H D 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 9 A B C D 7 8 9 10 11 12 13 E F 14 15 CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 29 Révision : Structure d’un ordinateur Révision numérique La notation hexadécimal est intéressante car un seul caractère représente un quartet de bit : B H D B H D 0000 0001 0010 0011 0100 0101 0110 0111 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 1000 1001 1010 1011 1100 1101 1110 1111 8 9 A B C D E F 8 9 10 11 12 13 14 15 CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 30 Révision : Structure d’un ordinateur Révision numérique Le passage d’un nombre binaire en hexadécimal doit être inné pour les informaticiens. Vous devez être capable de changer de base numéraire facilement du : • décimal vers le binaire • décimal vers hexadécimal • binaire vers décimal • binaire vers hexadécimal • hexadécimal vers binaire • hexadécimal vers décimal Le tout de TETE !!! CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 31 Révision : Structure d’un ordinateur Révision numérique Addition binaire : 0+0=0 0+1=1 1+0=1 1 + 1 = 0 retenue de 1 Application des règles habituelles de l’addition : 111111110 100110110 + 111011111 = - 2010 1100010101 CNAM 2009 Patrick Arlaud - Jérome Dupire 32 Révision : Structure d’un ordinateur Révision numérique La représentation d’un entier négatif s’effectue en utilisant la technique du complément à 2 : 1100110000110011 Inversion des bits : 0011001111001100 Addition de 1 : 0011001111001101 Le complément à 2 de 1100110000110011 est 0011001111001101 CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 33 Révision : Structure d’un ordinateur Révision numérique Grâce à cette technique, on peut dans un nombre de bits donnés représenter des nombres positifs et négatifs. Le bit de gauche indique alors le signe du nombre, 1 le nombre est négatif, 0 le nombre est positif. Par exemple sur 8 bits : Nombre positif de 0 à 127 (0000 0000 à 0111 1111). Nombre Négatif de -128 à -1 (1000 0000 à 1111 1111). Addition de deux nombres de signe opposés : + = -1 1 0 CNAM 2009 - 2010 1111 1111 0000 0001 0000 0000, retenue de dépassement du format 1 (non utilisée). Patrick Arlaud - Jérome Dupire 34 Révision : Structure d’un ordinateur Révision numérique On procède comme en décimal pour effectuer une multiplication binaire : * = + + = CNAM 2009 - 2010 10101 101 10101 00000. 10101.. 1101001 Patrick Arlaud - Jérome Dupire 35 Révision : Structure d’un ordinateur Révision numérique Pour mieux comprendre, en décimal : Soit la multiplication de 42 * 2586 => Je divise par 2 le plus petit et multiplie par 2 le plus grand : 42 21 10,5 5 2,5 1 2586 5172 10344 20688 41375 82752 Je ne garde que les chiffres de la colonne de multiplication par 2 dont la correspondance dans la colonne de division par 2 est impair. Le résultat est l’addition de ces valeurs : 42*2586=5172 + 20688 + 82752 = 108612 CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 36 Révision : Structure d’un ordinateur Révision numérique Algorithme de division : 7628 / 25 : = = = = - 7682 6400 1282 800 482 400 82 50 32 25 = 7 25 50 100 200 400 800 1600 3200 6400 12800 1 1 0 0 1 1 0 0 1 . On multiplie par 2 le diviseur jusqu’à obtenir un nombre supérieur au nombre a diviser (12800=512*25=29*25>7682). On prend le nombre immédiatement inférieur et on le soustrait au nombre a diviser. On marque ce nombre par un 1. On recommence avec le reste de la soustraction jusqu’à obtenir un nombre inférieur au diviseur. Les valeurs non marquées par des 1 sont marquées par 0. Sens de la lecture Résultat : 100110011 reste 7. Soit 7682 / 25 = 307, reste 7. CNAM 2009 - 2010 Patrick Arlaud - Jérome Dupire 37