ARCHITECTURE DES ORDINATEURS - Suptema-T1
Transcription
ARCHITECTURE DES ORDINATEURS - Suptema-T1
Page 1 sur 14 ARCHITECTURE DES ORDINATEURS Concepteur de l'ordinateur IBM En association avec INTEL pour le micro processeur Et Microsoft pour le MS DOS (Operating System) Les machines actuelles démarrent toujours comme les PC/AT de 1981 c est à dire en mode réel : 16 bits Même si une machine a des BUS plus importants (16,32 ou 64 bits) les machines actuelles ne démarreront qu'en mode 16 bits, c est à dire que les machines ou le processeur et la mémoire ROM ne liront que les bits les plus à droite, et qui seront nommés AX, BX, CX etc.. (je crois qu'on appelle cela l'espace adressable) C'est le chargement de l'OS (Operating System) qui fait que la machine passe en 32 ou 64 bits (mode PROTEGE) LE PROCESSEUR Caractéristiques essentielles 1. taille de ses registres 2. jeux d'instructions (opérations mathématiques et logiques) 3. fréquence (rythme les opérations du micro processeur) Le processeur est fixé sur une carte mère (sur laquelle il y a des CHIPSETS intégrés (ou jeu de composants) pour un micro ordinateur et sur une CPU (Central Processing Unit) pour un mini ordinateur (ou gros système) Le Rôle du Processeur 1. exécuter un programme qui se trouve en mémoire centrale (qui est une suite d'instructions en langage machine) selon le concept de VON NEUMANN 2. traiter les données informatiques (en exécutant les instructions) Le processeur ne connaît pas les périphériques mais seulement les interfaces et les registres de ces interfaces. LA MÉMOIRE CENTRALE Tout d'abord, il faut préciser que les barrettes de mémoire sont TRES sensibles à l'électricité statique La mémoire centrale sert à stocker les informations à TRES court terme La mémoire se calcule sur le mode de 2 puissance 10 soit 1024 = 1 kilo octet, donc, 512K de mémoire = 512*1024 et non 512*1000 Pour le reste on reste en système décimal normal ou 1K = 103, 1M = 106 etc… Page 2 sur 14 La mémoire centrale est composée de ROM : (Read Only Memory) qui est une mémoire non volatile et qui contient tous les programmes POST (Power On Self Test) et IPL (Initial Porgram Loading équivalent de Boot et qui sert au démarrage de l'OS) nécessaires au démarrage de l'ordinateur La ROM donne les premières instructions nécessaires au démarrage de la machine et à la lecture du disque dur. RAM : Dynamic Random Access Memory : contient le système d'exploitation (du moins ce qui est nécessaire) et dans la place qui reste, les applications vont être chargées (depuis le stockage de masse (disques dur, lecteurs optiques, etc..) Plus on a de mémoire mieux c est parce que les systèmes actuels ont tendance à mettre le plus d'informations possibles dans la RAM La RAM contient les programmes en cours d'exécution et les données en cours de traitement. LES INTERFACES D ENTREE ET SORTIE VERS LES PERIPHERIQUES Ce sont les moyens électroniques (composants) de communication entre l'ordinateur et les périphériques. Ces interfaces sont en général intégrées dans la carte mère. Chaque interface possède plusieurs registres programmables qui permettent de gérer et commander les périphériques raccordés. Le programme en charge de ces registres est le Device driver ou pilote de l'interface qui est directement rattaché à l'Operating System Ces registres sont tous au format 16 bits et sont volatiles, c est à dire qu ils se vident lors de l'arrêt de la machine, et se rechargent lors de la mise en marche de l ordinateur Les registres des interfaces sont d un accès plus rapide que les registres de la RAM Dans une interface, il existe des registres classiques et des registres à décalage (Shift Register) Schéma : LE BUS Ensemble de fils sur lesquels on effectue la transmission de signaux en parallèle; Le BUS permet les échanges entre le processeur, la mémoire et les interfaces. Il y a des BUS unidirectionnel et bi directionnels (relation maître(processeur) esclave (mémoire centrale)) Types de communications : Adresses Données Commandes Propriétés des BUS Le principe est de transmettre des données (plusieurs bits) sur une ligne de communication Chaque BUS a ses caractéristiques propres : 1. sa taille 2. sa fréquence Page 3 sur 14 NOTION DE PROGRAMME C est une suite d instructions qui s'exécutent dans l'ordre où elles ont été prévues (exécution séquentielle) Il existe des instructions de saut (sorte de séquence pour aller plus loin) Il existe des instructions de branchements (pour revenir en arrière) Pour être exécutés, les programmes doivent être dans la RAM FONCTIONNEMENT DU PROCESSEUR Pour fonctionner, le processeur possède plusieurs organes : 1. un séquenceur, qui exécute les instructions 2. L'UAL (Unité Arithmétique et Logique ou ALU) chargé d'exécuter les opérations élémentaires permettant les traitements effectués par l'ordinateur. L'UAL reçoit des instructions de l'unité de commande et peut lire et écrire en mémoire 3. Des registres généraux qui stockent les opérandes (données) (qui sont appelés : AEX, EBA, ECX, EFX quand on est en 32 bit et AX, BX, CX et DX quand on est en 16 bits, le E signifie : Extended) 4. le compteur ordinal (ou PC : program Counter ou EIP chez Intel et AMD, c'est sous cette appellation que nous l'utiliserons). Le EIP stocke l'adresse mémoire de la prochaine instruction à exécuter (sous le contrôle de l'OS) 5. Le registre d'instruction (IR : Instruction register) qui contient l'instruction en cours d'exécution par le séquenceur 6. Le registre d'état du processeur (FR : Flag Register) dans lequel viennent : le signe , si la donnée est nulle, la retenue, l'overflow, l'incohérence. Les flags servent à modifier l'ordre d'exécution d'un programme. Page 4 sur 14 LA CARTE MERE CF PAGE 10 DU SUPPORT DE COURS C'est bien expliqué et le dessin avec les annotations page 11 (format ATX) La pile sert à alimenter en permanence la SRAM-CMOS, pour conserver en permanence les paramètres spécifiques de la configuration de la machine Quelques annotations En mode réel, la première instruction vient de la ROM BIOS En mode protégé, la première instruction vient de l'OS Prise en compte d'une instruction : 1. La chercher dans la Ram (avec son adresse) et la ramener dans IR 2. Décodage de l'instruction pour trouver l'opération à effectuer (dans la ROM) 3. Exécution de l'instruction. Sur un BUS, il ne peut se faire qu'un seul transfert à la fois, ce qui implique la gestion d'une file d'attente. A un instant T, il n'y a qu'un seul maître du BUS : c'est le processeur Page 5 sur 14 LE MICRO-PORCESSEUR Le micro processeur est un circuit intégré qui rassemble sur une même puce ou composant toutes les fonctions de contrôle et de calcul. Un processeur est un automate capable d'exécuter séquentiellement une suite d'instruction (c'est à dire un programme) qui réside en mémoire centrale (Von Neumann) Caractéristique d'un processeur : 1. le nombre et la taille de ses registres 2. Son jeu d'instruction (séquenceur) 3. Sa fréquence d'horloge 4. Son brochage (socket) 5. Sa tension d'alimentation Il existe au moins 2 ALU dans un processeur Floating point Unit : c est ce qui sert à calculer les nombres avec virgule. Il agit comme un coprocesseur Registres : Registres généraux, le PC le MMU (Memory Manager Unit) Excecution Unit : c'est la conjonction de l'ALU et du Séquenceur Core : cœur du processeur Primary Cache : c est le cache L1 (code (instructions) cache) et cache L2 (données ou datas). Le cache est une série de registres qui sert de tampon entre le processeur et la RAM. Les instructions sont décodées dans le cache, ce qui fait que les instructions vont s'exécuter plus vite par la suite. Branch Predictor : Détermine quelles seront les instructions suivantes qu'on va aller chercher dans le cache L1 Bus interface : o 64 bits pour les données o 32 bits pour les adresses Page 6 sur 14 Les processeurs 8086 et 8088 ont tous la même architecture interne : 1+2 = registre PC en mode réel Les principaux registres du 8086-8088 Octets de poids forts AH BH CH DH SI DI BP SP CS DS SS ES IP FR Les registres généraux 4X16 BITS Octets de poids faibles AL Accumulateur AX = AH+AL BL Accumulateur BX = BH+BL CL Accumulateur CX = CH+CL DL Accumulateur DX = DH+DL Les registres Offset 4X16 BITS Index de source Index de destination Pointeur de base Pointeur de Pile (Stack Pointer) Les registres Segment 4X16 BITS Code Segment Data Segment Stack Segment Extra data segment Les registres particuliers 2x16 BITS Instruction pointer (registre PC si avec CS) Flag Register Page 7 sur 14 SP : Stack Pointer : ou pointeur de Pile : est associé à SS (stack Segment) (SS:SP) pour former l'adresse du sommet de la pile. Celle-ci est une Mémoire LIFO (Last In First Out) utilisée lors d'interruptions de programmes IP : Instruction Pointer : ce registre contient l'adresse de la prochaine instruction à effectuer dans le programme Note : Lorsqu'on parle de segment en mode réel, on fait référence à un espace de 64 Ko dans la mémoire, et on a affaire à des fichiers en .com UTILITE DU STACK POINTER Adresse 1 Adresse 2 rts Sous programme Call sous programme PROGRAMME Dans le programme il y a un sous programme qui est appelé avec l instruction call sous programme. A ce moment là, l'adresse de l instruction est enregistrée dans la pile (adresse2). A la fin du sous programme, il y a l instruction RTS qui renvoie à l'adresse 2 et qui va dire: il me faut l’adresse suivante soit l'adresse 1 Page 8 sur 14 LA SEGMENTATION La segmentation fournit le mécanisme permettant d'adresser un espace mémoire de 1Mo (2 puissance 20) à partir de 2 registres de 16 bits Le processeur travaille uniquement avec des adresses logiques Une adresse logique est composée de 2 registres internes du processeur : un registre segment et un registre offset ou un registre index et 1 opérande. Ce calcul est réalisé par une seconde ALU sur 20 bits Il existe 4 segments o Un segment code ou programme : CS (code segment) o Deux segments de données : DS et ES o Un segment pile : SS Calcul d'une adresse physique à partir d une adresse logique : C800:005 1. on est en base 16 2. on multiplie C800 base 16 par 10 base 16 = C8000 3. on ajoute 005 (base 16) 4. on a donc l'opération suivante +C8000 +00005 =C8005 qui est bien une adresse sur 20 bits (une fois transposée en base 2) Quelques valeurs à connaître pour l'adressage : 16 bits donnent 64 Ko adressables (2 16/2 10 = 2 6) 17 bits donnent 128 Ko 18 bits donnent 256 Ko 19 bits donnent 512 Ko 20 bits donnent 1024 Ko soit 1 Mo 32 bits donnent 4 Go Note : on s'aperçoit que, lorsqu'on ajoute 1 bit, on multiplie par 2 la quantité adressable Le fonctionnement du mode protégé 386 Le mode protégé possède 4 états de fonctionnement : RING 0 à RING 3 1. Ring 0: on a le droit de tout faire : lire et écrire (les programmes disposent de toutes les ressources matérielles) 2. Ring 1 : réservé 3. Ring 2 : non utilisé 4. Ring 3 : pas de ressources matérielles : c est le mode d'utilisation de l'utilisateur final (on a le droit de rien faire) Page 9 sur 14 LE PROCESSEUR – suite SIMD : Single Instruction Multiple Data C'étaient les processeurs de départ (inventeur : Mr. Seymour CRAY) Penthium 4 : instruction minimum à l'intérieur : 144, maintenant on arrive à plus de 1000 avec la technologie SSE2 LE MMX ET SSE2 (intel) Multi Media eXtended : utilisé pour le multi média et son compressés SSE2 : Extension Streaming SIMD 2 Le MMX : a rajouté 57 instructions aux processeurs Le SSE2 a rajouté 70 instructions aux processeurs Le 3Dnow Ca a rajouté 21 nouvelles instructions dans les processeurs de AMD CONFIGURATION DES PROCESSEURS Réglage des tensions : Le CPU voltage : tension à laquelle travaille le processeur. Les tensions à l'heure actuelle sont de l'ordre de 1.2v à 3.5v (et cela continue à se réduire) Le RATIO : c est la fréquence du BUS processeur (FSB) multiplié par un coefficient qui donne la fréquence du processeur LE PROCESSEUR RISC Risc = Reduced Instruction Set Computer Ces processeurs sont surtout utilisés par les gros modèles d'ordinateurs Par opposition au CISC Complex Instruction Set Computer : surtout utilisé par les machines d'aujourd'hui (intel) S'il ne fallait retenir qu'une caractéristique du processeur RISC, ce serait la présence d'une structure "pipe line" : l'exécution d'une instruction commence lors même que la précédente n'a pas atteint son terme Techniques SUPERSCALAIRES : intègre plusieurs unités fonctionnelles, qui sont chacune composées de d une unité arithmétique et logique (UAL) et de registres ce qui permet d'exécuter plusieurs instructions à la fois. PERFORMANCES DE PROCESSEURS ACTUELS On a plusieurs mesures pour comparer les processeurs, toutefois il faut comparer ce qui est comparable. (fréquence identique+ compilateurs) SPEC : System Performance Evaluation Council SPEC Int 2004 :: benchmark (programme d'essai) qui permet de classer des processeurs de même famille (similaires) en fonction du temps que ce programme met à "tourner" On peut leur opposer les MIPS (millions instructions par seconde) ou Mflops Page 10 sur 14 Les DSP : Digital Signal Processor : utilisé dans le traitement numérique des signaux analogiques. On les trouve essentiellement sur les cartes son et modem LA MÉMOIRE ON A VU QU'IL Y EN AVAIT DE 2 SORTES : la RAM et la ROM RAM : mémoire volatile (random access memory) Il existe : DRAM : dynamic RAM rafraichissement : 15 nano seconde (ns) wait state : cycle d attente d horloge jusqu'à ce que la mémoire délivre un autre donnée au processeur élément mémoire : le condensateur composant par bit : 1 condensateur et un transistor MOS utilisation : mémoire principale / mémoire vidéo SRAM Static RAM Élément mémoire : la bascule RS Synchrone par rapport au processeur SRAM-CMOS Faible consommation électrique Utilisation : o RTC (qui est dans le chip set) o paramètres de configuration de la carte mère SRAM Bipolaires Accès rapide mais gourmande en courant Utilisation : mémoire cache LE CONTRÔLE D ERREUR BIT DE PARITE : cf cours semaine précédente (techniques digitales) ECC : Error Code Correction : basé sur les principes de Hamming Meilleure détection Surtout pour les serveurs 8 bits supplémentaires pour un mot de 64 bits LES BARRETTES MEMOIRE (nombre de broches qui est déterminant) Les principales mémoires qu'on va trouver sont des mémoires DIMM (SO DIMM pour les portables) DDR : Utilise les fronts montants et descendants d une horloge de 133 MHz Offre les meilleures performances à un coût réduit Performances : o PC2100 SDRAM DDR à 266 MHz : 2.1 Go/s o PC2700 SDRAM DDR à 333 MHz : 2.664 GO/s 333 MHz par 8 octets DDR2 À fréquence identique, le débit est 2 fois plus élevé que la DDR 240 broches Barrettes non compatibles avec la DDR Page 11 sur 14 Les MEMOIRES ROM ROM=Read Only Memory Il existe les technologies suivantes : ROM ROM BIOS : qui va servir à initialiser la RAM (BIOS = Basic Input Output System) PROM = programmable ROM EPROM = Erasable PROM EPROM PROM = EPROM One Time Programmable EEPROM : Electrically EPROM Les mémoires FLASH sont de type EPROM La mémoire FLASH est une mémoire non volatile, mais réinscriptible comme un DRAM Introduction en 1983 Clés USB Applications : o Rom bios et boot lock o Firmware (il en existe un certain nombre dans les interfaces (où sont localisés les drivers) o Clés USB o Cartes PCMCIA de type II ou III LE PROCESSUS DE DEMARRAGE D UN ORDINATEUR 1. MISE SOUS TENSION; Il existe un laps de temps de 20 nanosecondes entre le moment où le courant est lancé et le moment où on considère que les tensions à l'intérieur de ma machine sont stables (on appelle cela la Boucle de Reste) 2. Il y a ensuite un signal provenant de l'alimentation qui dit que tout est bon : c est le POWER OK 3. Ce signal va forcer le contrôleur du processeur dans le registre CS avec une valeur de FFFF base 16, et les valeurs dans les autres registres seront toutes à 0. On a donc l'adresse du registre PC qui va être la suivante : PC=CS+IP = FFFF 4. Cette valeur FFFF est le point d'entrée dans la ROM BIOS 5. Cette adresse correspond à une instruction de saut (JUMP) qui va faire aller au début du programme POST (Power On Self Test). Le programme POST démarre 6. Le POST va aller dans la SRAM CMOS et va aller recopier les valeurs trouvées dans la mémoire centrale (DRAM) (ce sont les paramètres de configuration) à partir de l'adresse 400(base16) ainsi que les vecteurs d'interruption entre les adresse 0 (base 16) et 3FF (base 16) (ce sont les pointeurs vers les pilotes des périphériques) 7. Si la SRAM CMOS est vide, alors le POST va aller dans la ROM BIOS, prendre les adresses basses et les recopier dans la SRAM CMOS, et une fois que c est fait, le POST reprend au point d'avant. 8. Si le POST va jusqu'au bout, c est le programme IPL qui prend le relais. 9. l'IPM va aller dans la ROM BIOS chercher une adresse de périphérique amorçable qui va lancer l OS, et une fois que l'OS se lance, la machine passe alors en mode protégé, et l'OS va installer les drivers des périphériques. REMARQUES : 1. Le programme POST teste de façon élémentaire les divers éléments de la carte mère (clavier, souris, vidéo etc.). En cas d'erreur, le POST envoie une série de BIP et s'interrompt. Et là commencent les problèmes…..lol 2. pendant que le POST tourne, il va aller chercher le programme SET UP pour modification et vérification. Page 12 sur 14 L'espace adressable en mode réel est de 1 MO, dont on a la représentation ci-dessus. LES ROM D EXTENSION DES CARTES D INTERFACES Les interfaces graphiques possèdent et SCSI possèdent toutes du FIRMWARE sur une ROM qui leur est propre, et qui contiennent les drivers de celles-ci écrit en mode 8086 (mode réel) Les Interfaces Ethernet (réseaux locaux) possèdent un support pour une PROM de BOOT Les rom de l'interface graphiques et de l interface SCSI sont des rom d extension de la rom bios Ces trois ROM servent au démarrage du PC : POST et IPL et ce quel que soit le système d'exploitation Page 13 sur 14 LA MEMOIRE CACHE OU ANTE MÉMOIRE Ces mémoires cache sont localisées entre le processeur et la DRAM. Elles sont intégrées dans le processeur et servent à accélérer les échanges entre le processeur et la mémoire DRAM Elles limitent le nombre de Wait State (cycles d'attente des infos transmises par la DRAM) Le processeur travaille en nano seconde La DRAM travaille en 10nano secondes (rapport de 1 à 10) ADRESSAGE DES ENTREES SORTIES Pour les PC c'est le I/O MAPPING I/O Pour les Mac c est le IO MAPPING Différence : Le IO Mapping utilise un seul espace adressable qui est partagé par la mémoire centrale et les Entrées-Sorties Le IO Mapping IO utilise un espace adressable exclusivement réservé aux Entrées-sorties MAC interfaces ram (user ring 3) PC Interfaces (ring 0) RAM (user) RAM ESPACES RESERVES AUX CARTES PnP (plug and play) Page 14 sur 14 LES DIFFERENTS CO PROCESSEURS Définition : ce sont des processeurs spécialisés : FPU, MMU, contrôleur de Bus, processeurs graphiques, etc. Avantages : o réalisent leurs tâches plus rapidement o Libèrent le processeur central pour d'autres tâches On trouve : LE FLOATING POINT UNIT Processeur mathématique Capables de gérer des valeurs sur 32,64 et 80 bits Calcul arithmétiques, trigonométrie, etc. sur des nombres entiers et réels (avec virgule donc) Il est intégré dans le processeur depuis le 80486 LE MEMORY MANAGEMENT UNIT Permet de gérer la mémoire virtuelle Convertit une adresse virtuelle en une adresse physique Intégré au processeur depuis le 80286 LE PROCESSEUR GRAPHIQUE Le processeur graphique est intégré maintenant au chip set LE RTC (REAL TIME CLOCK) Existe depuis le PC/AT Fournit date et heure Contient les paramètres set up dans sa SRAM CMOS Pour fonctionner a besoin d'une pile et d un quartz Intégré maintenant dans le chip set de la carte mère Reset par cavalier ou retrait de la pile LES INTERRUPTIONS C'est un évènement (hardware ou software) qui vient interrompre le programme en cours pour permettre l'exécution d'un programme spécifique (exemple : imprimante) Les différents types d’interruption RESET Les interruptions hardware masquables : IRQ (Interrupt ReQuest) Les interruptions hardware non masquables : NMI (No Masquable Interrupt) Les interruptions software INT : utilisé surtout pur les appels aux "system call"(API) de DOS Les TRAPs : erreur interne du processeur