Éducation nationale françaiseSpécialité NSIPremière générale19 min de lecture

Architectures matérielles

Une version article du chapitre pour comprendre l'essentiel rapidement, vérifier si le niveau correspond, puis basculer vers Wilo pour la pratique guidée et le suivi.

Lecture

5 chapitres

Un parcours éditorialisé et navigable.

Pratique

12 questions

Quiz et cartes mémoire à ouvrir après la lecture.

Objectif

Première générale

Format rapide pour vérifier si le chapitre correspond.

Chapitre 1

Introduction aux Systèmes Informatiques

Qu'est-ce qu'un système informatique ?

Un système informatique est un ensemble organisé de composants matériels (hardware) et logiciels (software) qui interagissent pour stocker, traiter et communiquer des informations. Il est conçu pour exécuter des tâches spécifiques et répondre aux besoins des utilisateurs.

Composants matériels et logiciels :

  • Matériel (Hardware) : Ce sont les éléments physiques et tangibles de l'ordinateur. On peut les toucher. Exemples : le processeur, la mémoire, le disque dur, l'écran, le clavier, etc.
  • Logiciel (Software) : Ce sont les programmes, les instructions et les données numériques qui permettent au matériel de fonctionner et d'exécuter des tâches. On ne peut pas les toucher. Exemples : le système d'exploitation (Windows, macOS, Linux), les applications (traitement de texte, navigateur web, jeux), les pilotes.

Interaction homme-machine : L'interaction homme-machine (IHM) désigne la manière dont les humains communiquent avec les systèmes informatiques. Elle implique des périphériques d'entrée (clavier, souris, écran tactile) pour donner des instructions et des périphériques de sortie (écran, imprimante, haut-parleur) pour recevoir des informations du système. L'objectif est de rendre cette interaction la plus intuitive et efficace possible.

Historique et évolution des architectures

L'histoire des ordinateurs est marquée par une évolution rapide, souvent divisée en "générations" basées sur les technologies dominantes.

  • Premiers ordinateurs (années 1940-1950) :

    • Utilisation de tubes à vide (très volumineux, consommant beaucoup d'énergie et peu fiables).
    • Exemple : l'ENIAC (1946), pesant 30 tonnes et occupant une pièce entière.
    • Programmation par câblage manuel.
  • Évolution des composants :

    • Transistors (années 1950-1960) : Remplacent les tubes à vide. Plus petits, plus rapides, plus fiables et moins chers. Permettent la miniaturisation.
    • Circuits intégrés (années 1960-1970) : Regroupent plusieurs transistors sur une seule puce de silicium. C'est l'ère des mini-ordinateurs.
    • Microprocesseurs (années 1970 à aujourd'hui) : Intègrent l'intégralité du processeur sur une seule puce. C'est l'avènement des ordinateurs personnels (PC). Leur puissance n'a cessé de croître.
  • Loi de Moore :

    • Formulée par Gordon Moore (cofondateur d'Intel) en 1965.
    • Elle stipule que le nombre de transistors sur une puce de microprocesseur double approximativement tous les deux ans, pour un coût donné.
    • Cette "loi" n'est pas une loi physique, mais une observation empirique qui a guidé l'industrie des semi-conducteurs pendant des décennies, menant à une croissance exponentielle de la puissance de calcul et à une réduction des coûts. Bien que son rythme ralentisse aujourd'hui, elle a eu un impact colossal.

Représentation de l'information

Les ordinateurs fonctionnent avec un langage fondamental très simple : le binaire.

  • Codage binaire :

    • Toute information (texte, image, son, instruction) est représentée par une séquence de chiffres binaires : 0 et 1.
    • Un bit (binary digit) est la plus petite unité d'information, représentant soit 0, soit 1.
    • Pourquoi le binaire ? C'est le plus simple à implémenter physiquement : un interrupteur ouvert ou fermé, un signal électrique bas ou haut, un état magnétique.
  • Octets et multiples :

    • Un octet (byte) est un regroupement de 8 bits. C'est l'unité de base pour adresser la mémoire et mesurer la taille des fichiers. Avec 8 bits, on peut représenter 28=2562^8 = 256 valeurs différentes (de 0 à 255).
    • Les multiples de l'octet sont utilisés pour exprimer de grandes quantités de données :
      • 1 Ko (Kilooctet) = 10241024 octets (2102^{10})
      • 1 Mo (Mégaoctet) = 10241024 Ko = 2202^{20} octets
      • 1 Go (Gigaoctet) = 10241024 Mo = 2302^{30} octets
      • 1 To (Téraoctet) = 10241024 Go = 2402^{40} octets (Note : dans le commerce, 1 Ko est parfois 1000 octets, mais en informatique, c'est 2102^{10}).
  • Représentation des nombres et caractères :

    • Nombres entiers : Sont convertis en binaire. Par exemple, le nombre décimal 5 s'écrit 101 en binaire. Les nombres négatifs sont souvent représentés en complément à deux.
    • Nombres flottants (décimaux) : Sont représentés selon la norme IEEE 754, qui sépare le nombre en une mantisse et un exposant, les deux étant en binaire.
    • Caractères : Chaque caractère (lettre, chiffre, symbole) est associé à un code numérique unique, lui-même converti en binaire.
      • ASCII (American Standard Code for Information Interchange) : code sur 7 bits (128 caractères). Suffisant pour l'anglais.
      • Unicode / UTF-8 : norme moderne qui permet de représenter quasiment tous les caractères de toutes les langues du monde. UTF-8 est une implémentation variable d'Unicode, utilisant de 1 à 4 octets par caractère, ce qui le rend très efficace.

Chapitre 2

L'Architecture de von Neumann

Principes fondamentaux

L'architecture de von Neumann, conceptualisée par John von Neumann en 1945, est le modèle sur lequel sont basés la quasi-totalité des ordinateurs modernes. Ses principes clés sont :

  • Mémoire unique pour données et instructions : C'est le principe central. Contrairement aux architectures antérieures, les programmes (instructions) et les données sur lesquelles ils opèrent sont stockés dans la même mémoire. Cela simplifie la conception et permet au programme de modifier ses propres données ou même ses instructions (bien que cela soit rare aujourd'hui).
  • Unité Centrale de Traitement (CPU) : Le "cerveau" de l'ordinateur, responsable de l'exécution des instructions et des calculs.
  • Bus de communication : Ce sont des canaux de communication qui permettent aux différents composants de l'ordinateur (CPU, mémoire, périphériques) d'échanger des informations. Il y a généralement un bus de données, un bus d'adresses et un bus de contrôle.

Composants clés

L'Unité Centrale de Traitement (CPU) est composée de plusieurs sous-unités :

  • Unité Arithmétique et Logique (UAL ou ALU) : C'est le cœur de calcul du CPU. Elle effectue :
    • Opérations arithmétiques : additions, soustractions, multiplications, divisions.
    • Opérations logiques : ET (AND), OU (OR), NON (NOT), OU exclusif (XOR), comparaisons (égal à, inférieur à, etc.).
  • Unité de Commande (UC ou Control Unit) : C'est le chef d'orchestre du CPU. Elle :
    • Interprète les instructions des programmes.
    • Génère les signaux de contrôle nécessaires pour synchroniser et diriger les opérations des autres composants (UAL, registres, mémoire).
    • Gère le flux d'exécution des instructions.
  • Registres : Ce sont de très petites mémoires intégrées directement dans le CPU. Elles sont extrêmement rapides et sont utilisées pour stocker temporairement des données ou des adresses pendant le traitement d'une instruction. Le CPU accède aux registres beaucoup plus rapidement qu'à la mémoire vive.
    • Exemples de registres :
      • Compteur ordinal (PC - Program Counter) : Contient l'adresse de la prochaine instruction à exécuter.
      • Registre d'instruction (IR - Instruction Register) : Contient l'instruction en cours d'exécution.
      • Registres de données : Stockent les opérandes des calculs.

Cycle d'exécution d'une instruction

Le CPU exécute les instructions une par une en suivant un cycle répétitif appelé le cycle Fetch-Decode-Execute-Store.

  1. Fetch (recherche) :

    • Le CPU utilise l'adresse contenue dans le compteur ordinal (PC) pour aller chercher la prochaine instruction à exécuter en mémoire.
    • L'instruction est copiée de la mémoire vers le registre d'instruction (IR) du CPU.
    • Le PC est incrémenté pour pointer vers l'instruction suivante.
  2. Decode (décodage) :

    • L'Unité de Commande (UC) analyse l'instruction qui se trouve dans le registre d'instruction (IR).
    • Elle détermine l'opération à effectuer (ex: addition, lecture en mémoire) et les opérandes (les données sur lesquelles l'opération doit agir).
  3. Execute (exécution) :

    • L'Unité de Commande active les composants nécessaires (UAL, registres, etc.) pour réaliser l'opération décodée.
    • Si c'est un calcul, l'UAL effectue l'opération sur les données stockées dans les registres.
    • Si c'est une lecture/écriture mémoire, l'accès est effectué.
  4. Store (stockage) :

    • Le résultat de l'exécution est stocké. Cela peut être dans un registre du CPU ou dans la mémoire vive, selon l'instruction.
    • Le cycle recommence avec l'instruction suivante pointée par le PC.

Ce cycle se répète des millions, voire des milliards de fois par seconde, permettant à l'ordinateur d'exécuter des programmes complexes.

Chapitre 3

Les Composants Matériels d'un Ordinateur

Le Processeur (CPU)

Le Processeur (Central Processing Unit ou CPU) est le "cerveau" de l'ordinateur. C'est lui qui exécute les instructions des programmes, effectue les calculs et coordonne l'ensemble des opérations.

  • Rôle et fonctions :
    • Exécuter les instructions (cycle Fetch-Decode-Execute-Store).
    • Effectuer les opérations arithmétiques et logiques.
    • Gérer les flux de données entre les différents composants (mémoire, périphériques).
  • Fréquence d'horloge : Mesurée en Gigahertz (GHz), elle indique le nombre de cycles d'instructions que le processeur peut effectuer par seconde. Une fréquence plus élevée signifie généralement plus d'opérations par seconde. Par exemple, un CPU à 3 GHz peut effectuer 3 milliards de cycles par seconde.
  • Nombre de cœurs : Un cœur est une unité de traitement complète au sein du CPU. Un processeur multi-cœurs contient plusieurs de ces unités, ce qui lui permet d'exécuter plusieurs instructions ou plusieurs parties d'un programme simultanément (traitement parallèle). Un CPU quad-core (quatre cœurs) peut gérer quatre tâches en parallèle, ce qui améliore considérablement les performances pour les applications qui peuvent tirer parti de ce parallélisme.

La Mémoire Vive (RAM)

La Mémoire Vive (Random Access Memory ou RAM) est une mémoire de travail essentielle pour l'ordinateur.

  • Rôle et caractéristiques :
    • Elle stocke temporairement les programmes en cours d'exécution et les données qu'ils utilisent.
    • C'est une mémoire à accès direct et très rapide, ce qui permet au CPU d'accéder rapidement aux informations dont il a besoin.
    • Plus la quantité de RAM est importante, plus l'ordinateur peut exécuter de programmes simultanément ou gérer des fichiers volumineux sans ralentir.
  • Volatilité : La RAM est une mémoire volatile, ce qui signifie qu'elle perd toutes les données qu'elle contient dès que l'ordinateur est éteint ou redémarré. C'est pourquoi il est crucial de sauvegarder régulièrement son travail sur une mémoire de masse.
  • Types de RAM (DDR) : Les RAM modernes sont principalement des types DDR (Double Data Rate) comme DDR4 ou DDR5. Chaque nouvelle génération offre des vitesses plus élevées et une consommation d'énergie réduite.

Les Mémoires de Masse

Les mémoires de masse sont utilisées pour le stockage permanent des données. Elles sont non-volatiles.

  • Disques durs (HDD - Hard Disk Drive) :
    • Technologie plus ancienne, basée sur des plateaux magnétiques rotatifs. Une tête de lecture/écriture se déplace pour lire ou écrire les données.
    • Avantages : Grande capacité de stockage pour un coût relativement faible.
    • Inconvénients : Plus lents, plus fragiles (pièces mécaniques en mouvement), plus bruyants et consomment plus d'énergie que les SSD.
  • Disques SSD (Solid State Drive) :
    • Technologie plus récente, basée sur de la mémoire flash (similaire aux clés USB). Aucune pièce mécanique.
    • Avantages : Extrêmement rapides (temps de démarrage du système et chargement des applications réduits), silencieux, résistants aux chocs, consomment moins d'énergie.
    • Inconvénients : Plus chers par gigaoctet que les HDD, capacité maximale généralement inférieure (bien que cela évolue).
  • Clés USB et cartes mémoire :
    • Utilisent également la mémoire flash.
    • Utilisées principalement pour le stockage portable, le transfert de données et l'extension de stockage.
    • Capacités variées, de quelques gigaoctets à plusieurs téraoctets.

Les Périphériques d'Entrée/Sortie

Les périphériques permettent à l'utilisateur d'interagir avec l'ordinateur et à l'ordinateur de communiquer avec le monde extérieur.

  • Périphériques d'entrée : Permettent d'envoyer des informations à l'ordinateur.
    • Clavier : Saisie de texte et de commandes.
    • Souris : Pointage et sélection d'éléments graphiques.
    • Écran tactile : Entrée directe par le toucher.
    • Microphone : Saisie audio.
    • Scanner : Numérisation de documents physiques en fichiers numériques.
    • Webcam : Capture vidéo.
  • Périphériques de sortie : Permettent à l'ordinateur d'afficher ou de présenter des informations.
    • Écran : Affichage visuel des informations.
    • Imprimante : Production de copies physiques de documents.
    • Haut-parleurs / Casque : Sortie audio.
  • Périphériques d'entrée/sortie (mixtes) : Peuvent à la fois envoyer et recevoir des informations.
    • Écran tactile : À la fois entrée (toucher) et sortie (affichage).
    • Modem / Carte réseau : Échange de données sur un réseau.
    • Clé USB : Lecture et écriture de données.
  • Interfaces (USB, HDMI, Ethernet) : Ce sont les connecteurs et les protocoles qui permettent de brancher et de faire communiquer les périphériques avec l'ordinateur.
    • USB (Universal Serial Bus) : Interface polyvalente pour de nombreux types de périphériques (clavier, souris, imprimante, clé USB, disque externe).
    • HDMI (High-Definition Multimedia Interface) : Pour la transmission audio et vidéo numérique haute définition (écrans, téléviseurs).
    • Ethernet : Pour la connexion réseau filaire (internet, réseau local).
    • Wi-Fi / Bluetooth : Interfaces de communication sans fil.

Chapitre 4

Interconnexion des Composants

La Carte Mère

La carte mère (motherboard) est le composant central d'un ordinateur. C'est un circuit imprimé complexe sur lequel tous les autres composants matériels sont connectés et communiquent entre eux.

  • Rôle central : Elle assure la connexion électrique et logique de tous les éléments essentiels : le processeur, la mémoire vive, les cartes d'extension (carte graphique, carte son), les disques de stockage, et les périphériques externes via les ports d'entrée/sortie.
  • Chipset : C'est un ensemble de puces intégrées à la carte mère qui gère et coordonne les flux de données entre le CPU, la mémoire, les périphériques de stockage et les autres composants. Il agit comme un "chef d'orchestre" pour les communications internes. Il est généralement divisé en deux parties : le Northbridge (gérant les communications rapides comme CPU-RAM-GPU) et le Southbridge (gérant les communications plus lentes comme les ports USB, SATA, etc.), bien que cette distinction s'estompe avec l'intégration croissante de fonctions directement dans le processeur.
  • Connecteurs et slots :
    • Socket CPU : Emplacement où le processeur est inséré.
    • Slots RAM (DIMM) : Emplacements pour les barrettes de mémoire vive.
    • Slots d'extension (PCI Express) : Pour les cartes graphiques, cartes son, cartes réseau, etc.
    • Connecteurs de stockage (SATA, M.2) : Pour les disques durs et les SSD.
    • Ports d'entrée/sortie (USB, HDMI, Ethernet) : Pour les périphériques externes.

Les Bus de Communication

Les bus sont des "autoroutes" de communication qui transportent les informations entre les différents composants de l'ordinateur. Il existe trois types principaux de bus :

  • Bus de données : Transporte les données elles-mêmes (instructions, résultats de calculs, contenu de fichiers) entre le CPU, la mémoire et les périphériques. Sa largeur (nombre de bits qu'il peut transporter simultanément) détermine la quantité de données transférées à chaque cycle. Ex: un bus de données de 64 bits peut transporter 64 bits à la fois.
  • Bus d'adresses : Transporte les adresses mémoire où se trouvent les données ou les instructions que le CPU souhaite lire ou écrire. Le CPU place une adresse sur ce bus, et le composant mémoire correspondant répondra. Sa largeur détermine la quantité maximale de mémoire que le système peut adresser. Ex: un bus d'adresses de 32 bits peut adresser 2322^{32} octets (4 Go) de mémoire.
  • Bus de contrôle : Transporte les signaux de commande et de synchronisation entre les composants. Il indique le type d'opération à effectuer (lecture, écriture), la validation des données, les interruptions, etc. Il assure la bonne coordination des opérations.

Hiérarchie des Mémoires

Les ordinateurs utilisent une hiérarchie des mémoires pour optimiser les performances. L'idée est d'avoir de petites mémoires très rapides et coûteuses près du CPU, et de grandes mémoires plus lentes et moins chères plus éloignées.

  • Vitesse et coût :

    • Plus une mémoire est proche du CPU, plus elle est rapide et chère.
    • Plus une mémoire est éloignée du CPU, plus elle est lente et bon marché.
    • L'objectif est de minimiser le temps d'attente du CPU pour les données.
  • Mémoire cache (L1, L2, L3) :

    • Ce sont de très petites mémoires très rapides situées directement sur le processeur (L1, L2) ou très proches (L3).
    • Elles stockent temporairement les données et instructions que le CPU est susceptible d'utiliser prochainement.
    • L1 Cache : La plus petite et la plus rapide, intégrée directement à chaque cœur du CPU.
    • L2 Cache : Plus grande que L1, également sur le CPU, parfois partagée entre quelques cœurs.
    • L3 Cache : La plus grande des caches, partagée par tous les cœurs du CPU.
    • Quand le CPU a besoin d'une donnée, il cherche d'abord en L1, puis L2, puis L3. Si la donnée n'est pas trouvée (cache miss), il va la chercher en RAM.
  • Principe de localité :

    • Ce principe est la raison d'être de la mémoire cache. Il repose sur l'observation que les programmes ont tendance à accéder à des données et des instructions qui sont :
      • Spatialement proches : Si une donnée est accédée, il est probable que les données adjacentes le soient aussi (ex: éléments d'un tableau).
      • Temporellement proches : Si une donnée est accédée, il est probable qu'elle soit ré-accédée dans un futur proche (ex: variables de boucles).
    • La mémoire cache exploite ce principe en stockant des blocs de données autour de l'information demandée, anticipant ainsi les futurs besoins du CPU et réduisant les accès lents à la RAM.

Chapitre 5

Systèmes d'Exploitation et Interaction Matériel/Logiciel

Rôle du Système d'Exploitation

Le Système d'Exploitation (SE ou OS) est le logiciel le plus important d'un ordinateur. Il agit comme une interface entre le matériel de l'ordinateur et les logiciels applicatifs (et l'utilisateur).

  • Gestion des ressources matérielles : C'est une fonction clé. Le SE alloue et gère l'utilisation des ressources matérielles (processeur, mémoire vive, espace de stockage, périphériques) entre les différents programmes et utilisateurs.
    • Gestion du processeur : Ordonnance les tâches (processus) et leur alloue du temps CPU.
    • Gestion de la mémoire : Alloue de l'espace mémoire aux programmes et les protège les uns des autres.
    • Gestion des périphériques : Gère les communications avec le clavier, la souris, l'imprimante, etc.
    • Gestion des fichiers : Organise le stockage des données sur les disques (système de fichiers).
  • Interface utilisateur : Le SE fournit une interface pour que l'utilisateur puisse interagir avec l'ordinateur.
    • Interface graphique (GUI - Graphical User Interface) : Fenêtres, icônes, menus, curseur (Windows, macOS, environnements de bureau Linux).
    • Interface en ligne de commande (CLI - Command Line Interface) : L'utilisateur tape des commandes textuelles (Bash, PowerShell).
  • Gestion des processus : Un processus est une instance d'un programme en cours d'exécution. Le SE est responsable de :
    • La création et la suppression des processus.
    • La planification de leur exécution sur le CPU.
    • La communication entre processus.
    • La synchronisation des processus pour éviter les conflits.

Pilotes (Drivers)

Les pilotes (drivers) sont des logiciels essentiels qui permettent au système d'exploitation de communiquer avec un périphérique matériel spécifique.

  • Définition et rôle : Chaque périphérique (carte graphique, imprimante, carte réseau, webcam) a besoin d'un pilote pour fonctionner correctement. Le pilote est une sorte de "traducteur" qui convertit les commandes génériques du système d'exploitation en instructions spécifiques que le matériel peut comprendre et exécuter.
  • Communication OS-matériel : Sans le bon pilote, le système d'exploitation ne sait pas comment interagir avec le matériel et celui-ci ne fonctionnera pas ou mal. Par exemple, une imprimante sans son pilote ne pourra pas imprimer les documents envoyés par le SE.
  • Mise à jour des pilotes : Les pilotes sont régulièrement mis à jour par les fabricants pour corriger des bugs, améliorer les performances ou ajouter de nouvelles fonctionnalités. Il est important de les maintenir à jour, surtout pour des composants critiques comme la carte graphique.

Interaction entre matériel et logiciel

L'interaction entre le matériel et le logiciel est fondamentale et se fait à plusieurs niveaux.

  • Appels système (System Calls) : C'est la principale façon pour un programme applicatif de demander des services au système d'exploitation. Par exemple, si un programme veut lire un fichier, il ne va pas accéder directement au disque dur. Il va faire un "appel système" au SE, qui lui, va gérer l'accès au matériel (via les pilotes) et renvoyer le résultat au programme. Cela assure la sécurité et la stabilité du système.
  • Interruptions : Ce sont des signaux envoyés par le matériel au CPU pour l'informer qu'un événement important s'est produit et qu'il doit arrêter ce qu'il fait pour traiter cet événement.
    • Exemples : appui sur une touche du clavier, mouvement de la souris, fin d'une opération de lecture/écriture sur disque, erreur matérielle.
    • Quand une interruption se produit, le CPU suspend sa tâche actuelle, sauvegarde son contexte, et exécute une routine spécifique (gestionnaire d'interruption) pour traiter l'événement, avant de reprendre sa tâche initiale.
  • Langage machine et assembleur (notions) :
    • Langage machine : C'est le seul langage que le processeur peut comprendre et exécuter directement. Il est composé d'une séquence de 0 et de 1 (code binaire). Chaque instruction correspond à une opération élémentaire pour le CPU (ex: additionner deux registres, lire en mémoire).
    • Langage assembleur : C'est une représentation symbolique et mnémotechnique du langage machine. Au lieu de séquences de 0 et 1, on utilise des codes plus lisibles (ex: ADD pour additionner, MOV pour déplacer). Un programme appelé "assembleur" traduit le code assembleur en langage machine. Les pilotes et certaines parties critiques des systèmes d'exploitation sont parfois écrits en assembleur pour optimiser les performances ou interagir très finement avec le matériel. La plupart des applications sont écrites dans des langages de plus haut niveau (Python, Java, C++) qui sont ensuite compilés ou interprétés en langage machine.

Après la lecture

Passe à la pratique avec deux blocs bien visibles

Une fois le cours lu, ouvre soit le quiz pour vérifier la compréhension, soit les flashcards pour mémoriser les idées importantes. Les deux s'ouvrent dans une fenêtre dédiée.

Quiz + Flashcards

Suite naturelle

Tu veux aller plus loin que l'article ?

Retrouve le même chapitre dans Wilo avec la suite des questions, la répétition espacée, les corrigés complets et une progression suivie dans le temps.