Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

La composition matérielle d'un ordinateur

Un ordinateur est fabriqué autour de composants centraux, d'éléments de support et de périphériques facultatifs.

La composition d'un ordinateur

Un ordinateur doit comporter un certain nombre d'éléments:

Un ordinateur peut prendre plusieurs formes : on demande en général que ce soit une machine, capable de faire de l'arithmétique, programmable à partir d'une source externe et électronique. Cela laisse de la marge entre les premiers ordinateurs géants (Colossus : 30m de long de tubes à vide) et des micro-ordinateurs type Raspberry.

Les composants centraux

Les éléments de support

Les périphériques

Le rôle des périphériques est d'assurer des rôles variés qui dépendent de chaque élément. Les périphériques sont souvent amovibles ou permutables. On distingue essentiellement quatre catégories :

De nos jours, les frontières sont plus floues entre entrée et sortie ; on va aussi distinguer les périphériques selon leur débit d'information.

Les connectiques

Beaucoup d'éléments ne sont pas fixés à l'intérieur de l'ordinateur, et peuvent être amovibles. Du coup, l'installation des périphériques amovibles se fait à l'aide de connectiques.

Chacune de ces connectiques s'appelle un port. Les principaux types de ports à connaître sont :

Rappel : la propagation des informations dans les câbles électriques atteint au mieux 2/3 de la vitesse de la lumière, soit 20cm par nanoseconde.

La carte mère

C'est essentiellement un rôle de connection électrique entre les composants. Sa structure en résine suit un format standardisé (souvent ATX: 305x224mm). Dessus on trouve beaucoup de composants, essentiellement des bus de communication internes, contrôleurs électroniques pour des bus externes, ports des bus externes, connecteurs pour la mémoire, connecteur pour le processeur (Socket), horloge RTC, divers dispositifs de contrôle du courant (condensateurs).

Une carte-mère vue du dessus(lien vers la photographie)

Socket

Il sert à poser le processeur. Depuis 2011, le processeur contient directement la logique de connexion aux périphériques rapides (ancien northbridge).

Connecteurs mémoire DIMM

On y insère les barettes de mémoire

Alimentation

Ici on branche l'alimentation électrique de la carte-mère.

Ports d'extension interne

Pour placer des cartes-filles ; ici des connecteurs SATA, SPDIF, USB, et un contrôleur de ventilateur

Dissipateur de chaleur

La chaleur évacuée doit sortir ! Ce dissipateur cache le chipset B560, qui contient la logique de la carte-mère

Les connecteurs externes

Ils permettent de brancher des périphériques amovibles

Le circuit d'alimentation

La plupart des composantes fonctionnent à l'électricité, et à cause de loi d'Ohm et de la définition de la puissance, tout circuit électrique a besoin d'électricité et produit de la chaleur. Le transformateur est là pour convertir le courant alternatif en courant continu nécessaire au fonctionnement (12V et 5V). Le rendement est souvent certifié 80+.

Le courant est changé de fréquence avant d'être mis en courant continu. La chaleur produite par la transformation doit être évacuée comme toute chaleur (ventilateur, souvent, mais il existe des alimentations fanless).

Exercice (alim 550W, utilisée à 50% : quelle est la perte de puissance maximale due au transformateur certifié Gold)

Le chassis

La protection physique est importante. On utilise souvent du métal (acier ou aluminium plus léger), du plastique ou pour raison esthétiques du plexiglas ou autres. Il doit permettre un flux d'air pour l'évacuation de la chaleur, donc les tours sont rarement étanches, mais les portables (ordinateurs/smartphones) sont plus exposés à la poussière et aux liquides occasionels, donc sont conçus plus étanches.

Il est souvent asymétrique pour avec la carte-mère proche d'un côté, et l'autre côté qui s'ouvre facilement pour la maintenance.

Il sert de support aux ventilateurs, souvent avec systèmes anti-vibrations, et au flux d'air. L'isolation phonique est un autre aspect important.

Le circuit de refroidissement (1)

On en dispose sur tous les éléments qui produisent de la chaleur de façon excessive. On a deux principes qui peuvent se superposer :

Dissipateur en cuivre
Dissipateur en cuivre (image: Amazon)

Le circuit de refroidissement (2)

Ventirad en aluminium+plastique
Ventirad en aluminium+plastique (image: Amazon)

Le circuit de refroidissement (3)

On a aussi :

Dans les data-center, c'est un enjeu à la fois écologique et économique. Toutefois, la concentration d'équipement n'est pas un handicap, car il est possible d'avoir une chaîne de refroidissement pensée globalement, et même de faire de la cogénération.

Périphériques et connectiques

Pourquoi des périphériques d'E/S

Les débits d'information des périphériques d'entrée sont souvent faibles (sauf acquisition vidéo).

Les débits pour la sortie peuvent être faibles (leds, vibreurs, moteurs) ou élevés (en particulier la sortie vidéo).

Une partie des périphériques de nos jours sont déportés dans des réseaux de proximité : Bluetooth notamment, mais aussi Ethernet (filaire).

Ils n'ont pas alors de ports physiques puisque ce sont des réseaux sans fils.

Les entrées/sorties

Les périphériques d'entrée/sortie servent à apporter des flux d'information. L'USB a remplacé beaucoup de ports spécifiques.

Les périphériques d'E/S fonctionnent souvent en communication avec un contrôleur de la carte-mère spécialisé (anciennement southbridge).

Le débit autorisé sur les ports USB varie de 12 Mb/s (USB 1.0) à 40 Gb/s (USB 4.0).

Il existe au moins 15 formes de ports USB, mais les principales sont les types A, B et C : seul le type C permet l'USB 4.0.

Ports USB Anciens ports
USB A USB B USB C PS/2 Série
USB type A USB type B USB type C Port PS/2 Port série

Les sorties graphiques

La sortie graphique a toujours nécessité les ports les plus rapides de chaque époque.

Les premiers terminaux recevaient des instructions d'affichage de texte (par exemple ASCII) à bas-débit, mais maintenant un circuit ultra-spécialisé reçoit des directives graphiques et calcule très rapidement des images 2D/3D pour les envoyer à l'écran pour affichage : la carte graphique ou GPU.

Les quatre ports de sortie écran encore utilisés sont VGA, DVI, DisplayPort, HDMI. Le premier est analogique.

VGA DVI DisplayPort HDMI
port VGA port DVI (schématisé) port Displayport port HDMI

Les sorties audio

Les sorties audio se font par l'intermédiaire d'une carte son qui comporte un circuit de conversion DAC (digital analog converter).

Les cartes son étaient auparavant des cartes-filles. La faible demande fait que c'est mainteant souvent des contrôleurs intégrés à la carte-mère.

Jack CINCH
port VGA port DVI (schématisé)

Les périphériques de communication

Les périphériques de communication permettent de faire communiquer deux systèmes entre eux. Ces systèmes peuvent être d'autres ordinateurs ou bien des éléments de réseau (routeurs, switchs) ou des systèmes embarqués (volets roulants). Chaque périphérique permet d'utiliser un canal matériel et un ou plusieurs protocoles de communication.

Les principaux protocoles utilisés sont Ethernet (réseau filaire avec prises RJ45), 802.11 (appelé aussi Wi-Fi) et Bluetooth. Les deux derniers sont des réseaux sans fil, donc nécessitent une antenne mais pas un port classique.

La prise RJ45 ressemble à celles du téléphone moderne (RJ11) avec 8 fils actifs au lieu de 4 : port VGA.

Les périphériques de stockage

Il existe plusieurs variétés de périphériques de stockage. Le but est de répondre aux besoins avec éventuellement des caractériques différentes de volatilité, de mutabilité, d'accessibilité et d'adressabilité.

Volatilité: capacité à garder le contenu hors alimentation électrique (non-volatile) ; mutabilité : capacité à pouvoir être effacée et réécrite (mutable) ; accessibilité : lien entre le temps d'accès à deux données situées à des endroits différents (accès aléatoire/séquentiel) ; adressabilité : capacité à référer à un contenu par son adresse, par son chemin ou par son contenu (les mémoires bas-niveau des ordinateurs sont toutes adressables par adresse).

Selon la technologie utilisée, on aura des valeurs ou d'autres.

Caractéristiques selon le matériau : the Fast

Les périphériques de stockage à base de transistors CMOS/NMOS/PMOS n'utilisent que du courant. Ce sont des mémoires volatiles, mutables, accessibles aléatoirement, adressables, rapides, et chères. C'est le cœur de la mémoire vive et des registres.

Les périphériques de stockage à base de transistors FGMOS n'utilisent que le magnétisme de courant stocké. Ce sont des mémoires non-volatiles, mutables (avec des limites), accessibles aléatoirement, adressables, assez rapides, et moyennement chères. C'est le fondement des clés USB/disques SSD.

Caractéristiques selon le matériau : the Furious

Les périphériques de stockage à base magnétique utilisent le magnétisme et des parties mobiles (disques qui tournent, bandes qui défilent) ; éventuellement avec une partie du support amovible. Ce sont des mémoires non-volatiles, mutables, accessibles séquentiellement (ou hybride pour les disques), adressables par blocs, lentes et peu chères. C'est le cœur des disques durs (dits HDD) d'une part, des bandes magnétiques/cassettes d'autre part.

Les périphériques de stockage à base optique utilisent la réflexion d'un laser sur une surface plastique (éventuellement remodelable). Ce sont des mémoires non-volatiles, mutables (avec limites), accessibles de façon hybride, adressables par blocs, très lentes et peu chères. C'est le cœur des CD/DVD/BluRay.

Les ports de stockage

On peut retrouver quatre types de ports de stockage internes et essentiellement deux externes. Ils se différencient par leur débit et leur prix : SAS et Fibre Channel sont d'usage professionnel, SATA et ATA/IDE sont plutôt pour les particuliers.

En externe, on utilise maintenant de l'USB, quand ce ne sont pas des cartouches (appareils photos, consoles, smartphones).

IDE SATA
Connecteur IDE/PATA Connecteur SATA

Les ports de communication polyvalents

Bien que l'USB-C ait atteint les débits suffisants pour faire passer des informations graphiques pour un écran de résolution assez élevée ou des informations nombreuses venant par exemple d'un périphérique de stockage, il reste des alternatives : par exemple DisplayPort pour la partie écran ou FireWire (IEEE1394) pour la partie stockage. Toutefois, ces alternatives sont en voie d'extinction.

Au niveau interne, les ports PCI et PCIe permettent des débits élevés (pour la variante PCIe x16) et servent à fixer les cartes-filles sur la carte-mère. Le PCIe comporte plus de connexions que le PCI, standard plus ancien. Les autres ports (ISA) sont tombés en désuétude. Il existe aussi des connecteurs différents (SATA par exemple) pour les connexions purement internes (souvent uniquement sous formes de broches qui dépassent).

Exercices

Voir les exercices 1 à 4.

Le processeur

Le processeur est l'élément qui permet le calcul à l'intérieur de l'ordinateur.

La composition du processeur

C’est un composant électronique très complexe : plus de 50 milliards de transistors. Cet élément permet de faire des calculs à partir des données extraites de la mémoire vive.

Sur le processeur on a plusieurs sous-éléments dont il faut connaître l'existence et le rôle :

La loi de Moore

La complexité des processeurs est en constante augmentation. Après deux ans de COVID, tout le monde sait ce qu'est une exponentielle. La prédiction initiale de 1965 par Gordon Moore (un fondateur d'Intel) était un doublement du nombre de transistors tous les 2 ans.

Loi de Moore
Loi de Moore
Densité de chaleur
Densité de chaleur

L'évolution du processeur

Les transistors sont plus nombreux, mais aussi plus fins (petits). Il existe deux familles : CISC (complex instruction set computer) et RISC (reduced instruction set computer) : design plus simple, plus économique, mais instructions plus élémentaires. Intel est connu pour sa famille de processeurs RISC x86 (puis Pentium, etc.), cloné par AMD. ARM est connu pour ses processeurs RISC (dont le dernier processeur Apple).

Processeur ARM1 (1985)
ARM1 (1985)
Processeur Apple M1 Max (2021)
Apple M1 Max (2021)
Comparaison entre les processeurs
Comparaison

Le fonctionnement du processeur

Le fonctionnement du processeur est basé sur des instructions à exécuter (en langage machine) et des cycles d'instruction, par exemple :

La mesure de vitesse la plus intéressante est le nombre d'instructions par secondes, IPS.

Le modèle classique

IFIDEXMEMWB
IFIDEXMEMWB
IFIDEXMEMWB
Temps →

On a \(\mathrm{IPC} = 1\), chaque cycle prend \(1/f\) s (par exemple 1 ns), donc :$$\mathrm{IPS}=f\times \mathrm{IPC}=f$$

Le modèle segmenté

On ajoute une barrière devant chaque composant principal du CPU qui enregistre le résultat du composant précédent, et permet d'introduire une temporisation. Les cycles sont plus courts (moins de transistors à traverser), mais on a plusieurs cycles par instruction.

IFIDEXMEMWB
IFIDEXMEMWB
IFIDEXMEMWB
Temps →

On a \(\mathrm{IPC} = 1/5\), chaque cycle prend \(\frac1{5\times f}\) s (par exemple 0,2 ns), donc :$$\mathrm{IPS}=5\times f\times \mathrm{IPC}=f$$

Le modèle pipeline

On n'attend pas la fin d'une instruction avant la suivante !

IFIDEXMEMWB
IFIDEXMEMWB
IFIDEXMEMWB
IFIDEXMEMWB
IFIDEXMEMWB
IFIDEXMEMWB
IFIDEXMEMWB
IFIDEXMEMWB
IFIDEXMEMWB
IFIDEXMEMWB
IFIDEXMEMWB
Temps →

On a \(\mathrm{IPC} = 1\) (après amorçage), chaque cycle prend \(\frac1{5\times f}\) s (par exemple 0,2 ns), donc :$$\mathrm{IPS}=5\times f\times \mathrm{IPC}=5f$$

Les limites du pipelining

Les processeurs modernes peuvent avoir jusqu'à 31 étapes (Intel Prescott) pour augmenter la granularité.

Une instruction peut avoir besoin de consulter un registre qui aurait dû être modifié par une instruction pas encore finie. Ce sont les dépendances de données.

Première solution : attendre (on insère une instruction NOP dans le flot).

Une instruction peut modifier le flot d'instructions nécessitant de recommencer à une autre adresse. Ce sont les dépendances de contrôle.

Deuxième solution : on vide le pipeline (perte d'efficacité si trop fréquent) ; on anticipe la bonne option des tests.

Voir les exercices 5 et 6.

Processeur superscalaire

Le processeur superscalaire multiplie les circuits de traitement de chacune des étapes. Ainsi, il est possible d'avoir deux étapes (longues) traitées simultanément.

Toutefois, l'allongement de la file d'instructions en cours dans le processeur à un moment donné augmente le nombre de dépendances de données et de contrôle. Pour ces raisons, seuls certains codes bénéficient d'une grande accélération.

L'aboutissement ultime est la machine SIMD, qui opère simultanément la même instruction sur un grand nombre de données similaires. C'est notamment ce que l'on rencontre dans les GPU (cartes graphiques) qui font des calculs de rendu graphiques sur plusieurs pixels simultanément.

La mémoire

La mémoire vive permet de stocker les éléments nécessaires aux calculs.

## Fonctionnement de la mémoire La mémoire vive est volatile, mutable, accessible aléatoirement, adressable et rapide. Il existe plusieurs niveaux de vitesse de mémoire vive. Plus c'est rapide, plus c'est coûteux. Les vitesses maximales sont de l'ordre de quelques milliards de transferts par seconde. Pour aller plus vite, on dédouble l'électronique de consultation pour transférer un mot-mémoire à chaque fois (en général la même taille que le mot-machine). Il est possible de lire, ou d'écrire à une adresse donnée. Chaque adresse contient un octet, et demander une adresse récupère tout le mot-mémoire correspondant, puis isole la partie intéressante par un masque binaire.
## Mémoire cache Pour plus d'efficacité, on utilise des mémoires plus ou moins rapides et plus ou moins grosses. Entre deux niveaux successifs, on transfère uniquement des blocs entiers de mémoire appelés *pages*. Une mémoire-cache (le niveau plus rapide) peut accueillir un nombre limité de pages en provenance du niveau supérieur. Une table d'index (lookup table) permet de transformer le début d'une adresse en une position dans la mémoire-cache. Lorsqu'il n'y a pas de copie dans la mémoire-cache de l'adresse demandée, on a un défaut de page : il faut alors en faire venir une copie, ce qui est long (1 ordre de grandeur à chaque niveau environ, multiplié par la taille de la page). Il faut aussi recopier la page dont on prend la place dans le niveau supérieur.
## Pourquoi la mémoire cache fonctionne ? La mémoire cache fonctionne bien à cause de deux principes : * Localité spatiale : quand on a utilisé un emplacement mémoire, il est fort probable qu'on utilise les emplacements voisins peu de temps après. Par exemple, les variables d'une fonction sont rangées les unes à côté des autres dans la mémoire. * Localité temporelle : quand on a utilisé un emplacement mémoire, il est fort probable qu'on utilise à nouveau le même emplacement. Par exemple, les variables dans une boucle sont utilisées plusieurs fois de suite. Lorsque ces principes sont violés, alors le nombre de défauts de page augmente. La stratégie de gestion du cache affecte la performance globale : page la plus ancienne, page modifiée le moins récemment, page non modifiée, etc.

Calculer encore plus vite

Pour aller plus vite, on va pouvoir combiner plusieurs techniques :

D'autres techniques

Conclusion

Avec ce chapitre, vous devriez avoir acquis :

Use a spacebar or arrow keys to navigate.
Press 'P' to launch speaker console.