Un cap pour ce chapitre
Ce que vous saurez faire
- Distinguer les rôles des constituants d’une machine
- Relier instructions données mémoire et processeur
- Comparer les principes mono et multiprocesseur sans promettre un gain automatique
Les bases utiles pour commencer
Instructions et données sont représentées en mémoire
Le modèle de von Neumann repose notamment sur un programme enregistré en mémoire, où les instructions et les données ont une représentation exploitable par la machine. Le processeur lit les instructions, les interprète selon son jeu d’instructions et effectue les opérations correspondantes. Une adresse permet de repérer un emplacement mémoire. L’information stockée ne porte pas spontanément son rôle : son interprétation dépend de l’usage qu’en fait le programme. Ce modèle est volontairement simplifié ; les machines réelles possèdent des caches, plusieurs niveaux de mémoire et d’autres mécanismes que l’on peut évoquer sans les confondre avec le principe général.
Une adresse désigne une position, tandis que le contenu désigne ce qui est stocké à cette position. Lire une adresse et lire une valeur ne sont donc pas la même opération. La trace machine du chapitre suivant rendra ce déplacement des informations explicite.
Le processeur exécute des opérations élémentaires
On distingue classiquement une unité de commande, qui organise l’exécution, et une unité arithmétique et logique, qui réalise calculs et comparaisons. Des registres conservent de petites quantités d’information directement utiles au traitement. Le compteur ordinal indique l’adresse de la prochaine instruction dans notre modèle séquentiel. Une instruction peut charger une donnée, effectuer une addition, stocker un résultat ou modifier le déroulement par un branchement. Une fonction Python entière ne correspond donc pas généralement à une seule instruction machine ; les outils d’exécution la traduisent ou l’interprètent à travers de nombreuses opérations.
Les registres ne remplacent pas la mémoire générale : ils conservent un petit nombre de valeurs utilisées immédiatement par le processeur. Une donnée peut être copiée dans un registre, transformée, puis réécrite en mémoire. La copie initiale ne modifie pas encore la donnée source.
Mémoire de travail et stockage durable ont des rôles distincts
La mémoire vive sert notamment aux programmes et données en cours d’utilisation ; elle est généralement volatile. Un SSD ou un disque conserve des fichiers au-delà de l’arrêt de la machine. Ouvrir un fichier implique donc des échanges entre stockage et mémoire de travail, puis des traitements par le processeur. Un clavier, un écran ou une interface réseau assurent des entrées ou des sorties, sous le contrôle des programmes et du système d’exploitation. Une panne de réseau n’a pas le même effet qu’un manque de mémoire : identifier le composant concerné oriente l’explication.
Enregistrer un document et l’ouvrir sont des transferts de sens différents entre mémoire de travail et stockage. Fermer une application sans enregistrer peut perdre ses modifications non conservées. Le fichier durable et l’état actuellement modifié en mémoire peuvent donc différer.
Plusieurs unités de calcul ne multiplient pas tous les gains
Une architecture monoprocesseur possède une unité de traitement principale dans le modèle étudié ; une architecture multiprocesseur permet des traitements en parallèle. Les processeurs modernes peuvent aussi contenir plusieurs cœurs. Pourtant, une tâche dont chaque étape dépend de la précédente ne se répartit pas librement. Les communications et l’accès aux données peuvent limiter le gain. Pour comparer, il faut donc connaître les travaux indépendants et leurs dépendances. Le nombre d’unités de calcul n’est pas à lui seul une mesure de la rapidité de toutes les applications.
Le parallélisme idéal de l’atelier suppose deux tâches indivisibles, des données disponibles et aucun coût de coordination. Une durée réelle peut être plus élevée. Le modèle sert à isoler l’effet des dépendances et de l’équilibre des durées avant de considérer les détails matériels.
Suivre une photo du fichier à l’écran
Une photo conservée sur un SSD est chargée en mémoire quand un logiciel doit la traiter. Le processeur exécute les opérations nécessaires, par exemple calculer de nouvelles valeurs de pixels. Le résultat peut être affiché par les dispositifs de sortie, puis enregistré de nouveau sur un support durable.
Changer l’affichage ne garantit pas que le fichier a été modifié ; enregistrer est une opération distincte. Cette chaîne fait coopérer stockage, mémoire, traitement et sortie. Identifier les transferts permet d’expliquer pourquoi un manque de place sur le disque, un manque de mémoire vive et une erreur de calcul n’ont pas le même effet.
Lire une dépendance dans un petit calendrier
La tâche A dure quatre unités et B sept. Si elles sont indépendantes, elles commencent toutes deux à zéro ; A termine à quatre et B à sept. Le temps total est sept, et l’unité exécutant A reste inutilisée pendant les trois dernières unités. Si B utilise le résultat de A, elle ne peut commencer qu’à quatre et termine à onze.
Le rapport entre durée série et durée parallèle vaut onze divisé par sept dans le premier cas, et un dans le second. Deux unités de calcul ne garantissent donc pas un doublement de vitesse. Un équilibre des tâches et leur indépendance sont nécessaires pour atteindre ce gain dans le modèle.
À vous de faire varier les choses
Deux unités de calcul suffisent-elles à aller deux fois plus vite ?
Changez les durées et la dépendance. Comparez une exécution série à un modèle parallèle idéal, sans coût de communication.
Lire le résultat de l’expérience initiale
Durée avec deux unités : 7
A et B sont indépendantes. Elles peuvent commencer ensemble, mais la plus longue fixe la fin.
| Tâche | Début | Fin | Unité |
|---|---|---|---|
| A | 0 | 4 | 1 |
| B | 0 | 7 | 2 |
La capacité de calcul et la structure du problème agissent ensemble. Le matériel ne supprime pas les dépendances de l’algorithme.
De la compréhension à l’autonomie
À vous de résoudre
Cherchez d’abord par vous-même. Vérifiez les résultats demandés, utilisez les indices si nécessaire, puis comparez votre méthode à la correction.
Associer les rôles
Associez à un composant : conserver une photo après extinction ; additionner deux valeurs ; garder temporairement les données d’un programme ; saisir un caractère.
Indice 1
Distinguez stockage, traitement, mémoire de travail et entrée.
Indice 2
La durée de conservation permet de séparer deux types de mémoire.
Comprendre la correction
La photo durable est conservée sur un support de stockage. L’addition relève du processeur, notamment de son unité arithmétique et logique. Les données en cours d’utilisation peuvent être en mémoire vive. La saisie passe par un périphérique d’entrée comme le clavier. Ces rôles coopèrent mais ne sont pas interchangeables.
Le programme enregistré
Pourquoi le fait de stocker les instructions en mémoire facilite-t-il le changement de programme sur une même machine ?
Indice 1
Le traitement dépend des instructions lues, pas d’un câblage refait pour chaque tâche.
Indice 2
Les données et le programme possèdent des représentations chargées et interprétées.
Comprendre la correction
La machine peut charger une autre suite d’instructions puis l’exécuter avec les mêmes composants généraux. Elle n’a pas besoin d’être matériellement recâblée pour chaque algorithme. Cette souplesse ne signifie pas qu’elle exécute toute tâche instantanément : le nouveau programme reste composé d’opérations et limité par les ressources disponibles.
Deux tâches indépendantes
Deux calculs indépendants demandent respectivement 4 et 7 unités de temps. Comparez une exécution l’un après l’autre et une exécution idéale simultanée sur deux unités.
Indice 1
En série, les durées s’additionnent.
Indice 2
En parallèle idéal, on attend le calcul le plus long.
Comprendre la correction
L’exécution en série dure 4 + 7 = 11 unités. En parallèle idéal, les deux démarrent ensemble et l’ensemble finit après 7 unités. Le gain n’est pas un facteur deux, car les durées sont différentes. Ce modèle néglige les coûts de coordination et suppose que les données nécessaires sont déjà disponibles.
Une dépendance qui empêche le parallélisme
Un second calcul de 7 unités utilise obligatoirement le résultat d’un premier calcul de 4 unités. Pourquoi deux processeurs ne suffisent-ils pas à réduire la durée à 7 ?
Indice 1
Le second ne peut pas commencer avant la fin du premier.
Indice 2
La dépendance impose un ordre, même avec des ressources libres.
Comprendre la correction
Il faut d’abord terminer les 4 unités du premier calcul, puis exécuter les 7 unités du second : la durée reste 11 dans ce modèle. Le processeur supplémentaire ne supprime pas la dépendance entre les données. On ne peut obtenir un gain qu’en trouvant un travail réellement indépendant ou en modifiant l’algorithme de façon justifiée.
Un document modifié mais non enregistré
Un fichier est ouvert, son contenu est modifié dans une application, puis la machine s’éteint avant l’enregistrement. Distinguez le fichier durable, l’état de travail et le calcul effectué. Quelle information peut manquer au redémarrage et pourquoi ?
Indice 1
La mémoire vive est généralement volatile.
Indice 2
Le fichier enregistré et l’état de travail peuvent être différents.
Comprendre la correction
Le support durable conserve la dernière version enregistrée. Les modifications sont présentes dans l’état de travail en mémoire tant qu’aucune sauvegarde ne les a conservées. L’extinction peut donc perdre ces modifications. Le processeur a exécuté les changements, mais exécuter un calcul ne garantit pas qu’un fichier durable ait été mis à jour.
Deux tâches très déséquilibrées
Deux tâches indépendantes durent 2 et 9 unités. Calculez la durée série, la durée parallèle idéale sur deux unités et le temps gagné. Pendant combien de temps l’unité exécutant la tâche courte est-elle inactive avant la fin globale ?
Indice 1
Les deux tâches commencent à zéro.
Indice 2
La fin globale dépend de la plus longue.
Comprendre la correction
La durée série vaut onze et la durée parallèle neuf : le gain est de deux unités. La tâche courte se termine à deux ; son unité reste inactive pendant sept unités. Le déséquilibre explique pourquoi deux unités ne divisent pas la durée totale par deux, même sans coût de coordination.
Une dépendance après deux calculs
A dure 4, B dure 6, et ces deux tâches sont indépendantes. C dure 3 et attend les deux résultats. Avec deux unités, proposez un calendrier idéal et calculez la fin globale. Comparez avec une exécution entièrement série.
Indice 1
A et B peuvent commencer ensemble.
Indice 2
C attend la plus tardive de leurs deux fins.
Comprendre la correction
A et B commencent à zéro et finissent à quatre et six. C commence à six et termine à neuf. L’exécution série aurait duré treize. Le gain vaut quatre unités. La tâche C ne peut pas être avancée à quatre, car le résultat de B n’est pas encore disponible.
Les erreurs qui méritent un détour
- Confondre mémoire vive et stockage durable
- Demandez si les données doivent survivre à l’arrêt et à quel moment elles sont utilisées.
- Déduire la vitesse du seul nombre de processeurs
- Les dépendances, les durées et les échanges limitent les possibilités de parallélisme.
La fiche à garder
L’essentiel à retenir
- Le modèle relie processeur, mémoire et entrées-sorties.
- Les instructions enregistrées décrivent le traitement à exécuter.
- Le parallélisme dépend des travaux indépendants disponibles.
Cette notion au bac
Retrouvez ces idées dans un sujet complet, avec des indices, une correction expliquée et des ateliers.
Le prochain pas
Retrouver le catalogue de Première
Ce chapitre s’appuie sur le programme officiel de Première (PDF, nouvel onglet). Les explications et exercices sont proposés pour l’apprentissage.
