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.
Un ordinateur est fabriqué autour de composants centraux, d'éléments de support et de périphériques facultatifs.
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.
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.
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.
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).
Il sert à poser le processeur. Depuis 2011, le processeur contient directement la logique de connexion aux périphériques rapides (ancien northbridge).
On y insère les barettes de mémoire
Ici on branche l'alimentation électrique de la carte-mère.
Pour placer des cartes-filles ; ici des connecteurs SATA, SPDIF, USB, et un contrôleur de ventilateur
La chaleur évacuée doit sortir ! Ce dissipateur cache le chipset B560, qui contient la logique de la carte-mère
Ils permettent de brancher des périphériques amovibles
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)
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.
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 :
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.
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 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 |
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 |
|---|---|---|---|
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 |
|---|---|
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 : .
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.
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.
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.
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 |
|---|---|
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).
Voir les exercices 1 à 4.
Le processeur est l'élément qui permet le calcul à l'intérieur de l'ordinateur.
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 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.
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).
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.
| IF | ID | EX | MEM | WB | ||||||||||
| IF | ID | EX | MEM | WB | ||||||||||
| IF | ID | EX | MEM | WB | ||||||||||
| Temps → | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
On a \(\mathrm{IPC} = 1\), chaque cycle prend \(1/f\) s (par exemple 1 ns), donc :$$\mathrm{IPS}=f\times \mathrm{IPC}=f$$
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.
| IF | ID | EX | MEM | WB | ||||||||||
| IF | ID | EX | MEM | WB | ||||||||||
| IF | ID | EX | MEM | WB | ||||||||||
| 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$$
On n'attend pas la fin d'une instruction avant la suivante !
| IF | ID | EX | MEM | WB | ||||||||||
| IF | ID | EX | MEM | WB | ||||||||||
| IF | ID | EX | MEM | WB | ||||||||||
| IF | ID | EX | MEM | WB | ||||||||||
| IF | ID | EX | MEM | WB | ||||||||||
| IF | ID | EX | MEM | WB | ||||||||||
| IF | ID | EX | MEM | WB | ||||||||||
| IF | ID | EX | MEM | WB | ||||||||||
| IF | ID | EX | MEM | WB | ||||||||||
| IF | ID | EX | MEM | WB | ||||||||||
| IF | ID | EX | MEM | WB | ||||||||||
| 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 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.
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 vive permet de stocker les éléments nécessaires aux calculs.
Pour aller plus vite, on va pouvoir combiner plusieurs techniques :
Avec ce chapitre, vous devriez avoir acquis :
Use a spacebar or arrow keys to navigate.
Press 'P' to launch speaker console.