Structure des ordinateurs cours complet
Structure des ordinateurs
Aymeric Vincent – cours du 14 janvier 2008
Interruptions
? Le processeur exécute les instructions séquentiellement
? Il faut parfois déclencher des traitements non prévus dans la séquence de code originale
? Raison asynchone (périphérique, horloge, ...)
? interruption
? Raison synchrone (division par zéro, appel système …) ? exception
Interruptions (2)
? Le signalement d'une interruption déclenche :
– Sauvegarde du registre PC sur la pile superviseur
– Basculement en mode superviseur
– Exécution d'une routine dont l'adresse a été préalablement communiquée au processeur
? A la fin du traitement, retour grâce à une instruction qui ramène au mode précédant l'interruption
Interruptions (3)
? Une interruption peut se produire pendant le traitement d'une autre
? Les processeurs utilisent souvent un niveau de priorité courant
? Si l'interruption est de priorité supérieure, l'interruption est servie
? Sinon elle sera servie dès que le niveau d'interruption redescendra au sien
Eloignons-nous du processeur Constituants d'un ordinateur
? Processeur
? Mémoire
? Disques
? Cartes d'extension
? … reliés par des bus
Schéma simplifié
La réalité est plus compliquée, parce que :
? La DRAM nécessite une interaction complexe
(RAS, CAS, …)
? Les différents périphériques ne nécessitent pas la même vitesse de bus
? La plupart des périphériques sont sur des bus standards qui ne correspondent pas au bus natif du processeur
? Déf.: un pont (bridge) se charge de faire communiquer des bus différents
Architecture PC classique
? North bridge :
– Très rapide
– CPU, mémoire, carte graphique AGP ? South bridge :
– North bridge, bus PCI, USB, …
– Fonctionnalités annexes (horloge, mémoire du BIOS)
Architecture de l'Apple Xserve Intel
Image Apple
Architecture de l'Apple Xserve G5
Image Apple
Les processeurs AMD Athlon intègrent un north bridge
Image AMD
Caractéristiques d'un bus de communication
? Débit (bandwidth, “bande passante”) :
– Quantité d'information transmise par unité de temps
– Exprimé en bits par secondes
? Latence
– Délai entre le moment où une donnée est envoyée et le moment où elle est reçue
Série/Parallèle
? Série
– Un seul fil est utilisé pour envoyer les données
– Nécessité de synchronisation des pairs ? fil d'horloge et bits de contrôle
? Parallèle
– Plusieurs fils sont utilisés pour faire transiter les données
– Problèmes de synchronisation des données envoyées sur les différents fils
Port série
? Norme classique : RS-232
? Bits stop
? Bit de parité
? Horloge jusqu'à 115200 bps
? Utilisé pour relier modems, terminaux, GPS, ...
Port parallèle
? Norme IEEE 1284
? Utilisé pour les imprimantes principalement
? Très pratique pour relier des montages électroniques simples
Quelques bus classiques Bus USB
? Universal Serial Bus
? Peut être branché/débranché à chaud ? Taux de transfert :
– USB 1.1 : 1,5Mbps
– USB 2.0 : 480Mbps
– USB 3.0 : 5Gbps
? A remplacé les ports série et parallèle pour la plupart des périphériques courants
Bus USB (2)
? Un “maître” (ou hôte) et plusieurs périphériques “esclaves”
? Le bus alimente les périphériques
? Des hubs permettent de répliquer les ports
Bus PCI
? Peripheral Component Interconnect
? Famille de bus PCI, AGP, PCI Express
? Norme gérée par le PCI Special Interest
Group
? Les bus PCI standards sont half duplex
Bus PCI (2)
? PCI 32 bits à 33MHz ? 133Mo/s
? PCI 64 bits à 66MHz ? 528Mo/s
? PCI-X 64 bits à 133MHz ? 1066Mo/s
? PCI-X 2.0 64 bits à 266MHz ? 2133Mo/s
? AGP 32 bits, de 1x ? 266Mo/s à 8x ?
2133Mo/s, relié directement au north bridge
PCI Express
? Il s'agit en fait d'un bus série
? Chaque ligne peut offrir un débit de 250Mo/s
? Les connecteurs et cartes peuvent utiliser plusieurs lignes :
? x1, x2, x4, x8, x16
? Remplace anciens PCI et AGP
Disques durs Disque magnétique
? Données stockées sur surface magnétique
? Lecture/écriture par des têtes
? Déplacement des têtes lent
? Vitesse de rotation des disques ? débit assez rapide
? Un disque dur est souvent composé de plusieurs plateaux
Schéma de disque dur
bras
Communication avec le disque
? Les données sont échangées par blocs
? Un bloc fait classiquement 512 octets
? Chaque bloc peut être adressé de façon différente :
– Cylindre/Tête/Secteur (CHS)
– Linéairement (Linear Block Address)
? CHS a moins de sens maintenant car les pistes extérieures contiennent plus de
données
Connexion du disque
? Le disque est connecté à un bus
? Ce bus est géré par un contrôleur de disques
? Chaque contrôleur peut en général gérer plusieurs disques
? Bande passante du bus répartie entre les disques gérés par un même contrôleur
Bus SCSI
? Small Computer Subset Interface
? Permet de connecter des disques durs, lecteurs de CDROM, scanners, … à un ordinateur
? Evolution vers SAS (Serial Attached SCSI)
Bus IDE
? Integrated Drive Electronics, renommé
Advanced Technology Attachment
? Une grande partie du contrôleur disque est intégrée avec le disque
? P-ATA (Parallel ATA) ? max 133Mo/s
? ATAPI (ATA Packet Interface) ? commandes
SCSI sur ATA pour lecteurs de CDROM
? SATA (Serial ATA) ? débit jusqu'à 3Gbps
Ethernet
? Relie des machines jusqu'à ~100 mètres
? 10Mbps, 100Mbps, 1Gbps, 10Gbps
? Trames envoyées de 1500 octets ou 9500 octets pour Gbps
? Détecte les collisions et retransmet au bout d'un temps aléatoire
? Chaque hôte ethernet dispose d'une adresse ethernet sur 48 bits unique
Connectique ethernet
? Câble coaxial ou twisted pair (enlacés)
? Hub répète toutes les données à tous les câbles connectés
? Switch connaît les machines connectées et dirige les trames vers le bon destinataire ? performances nettement accrues
Le démarrage d'un ordinateur Logiciel de démarrage
? Au démarrage le processeur exécute le code à une adresse fixée
? A cette adresse est configurée une mémoire morte appelée BIOS, PROM, Firmware, …
? Ce firmware est chargé d'initialiser la machine, de charger d'un disque un autre bout de code et de l'exécuter
? Enfin le système d'exploitation est chargé et prend la main
Bloc d'amorce
? Le petit bloc de disque qui est chargé par le firmware s'appelle le boot block ? Dans le cas du BIOS sur PC
– Bloc 0, contient code d'amorce et table des partitions
– Est appelé Master Boot Record
? En s'aidant du BIOS, le code d'amorce doit charger un deuxième bout de code plus gros qui lui-même chargera le noyau du système d'exploitation
Partitionnement d'un disque
? D'un point de vue abstrait, un disque est un tableau de blocs
? Il est classique de partitionner un disque en plusieurs partitions (terminologie douteuse mais classique)
– Permet de cloisonner les informations
– Permet d'installer plusieurs systèmes d'exploitation indépendants