NSI Première • Programme français, lycées de Montréal

Fiche de révision : architectures, systèmes et réseaux en NSI

Le chapitre d'architecture est celui où toutes les réponses sont vérifiables et où l'on perd pourtant des points par convention oubliée : sur combien de bits, signé ou non, quel masque, quel répertoire courant. Rien n'est ambigu une fois la convention écrite, tout l'est tant qu'elle ne l'est pas.

Cette fiche liste les neuf erreurs qui reviennent dans les copies, avec la phrase exacte à écrire à la place et ce que chacune coûte au barème.

Le fil du chapitre

Un motif de bits ne vaut rien tant qu'on n'a pas dit sur combien de bits et avec quelle convention on le lit : c'est vrai du complément à deux, du masque de sous-réseau et des permissions.

Ce chapitre fait partie de NSI en Première

Avant ce chapitre

Cette fiche suppose ces notions acquises. Si une méthode ci-dessous reste opaque, c'est presque toujours l'une d'elles qui manque, pas la fiche.

Remonter plus loin : la chaîne complète (4 chapitres) ↓

Le chemin de remédiation, du plus ancien au plus proche. Un élève qui reprend ce chapitre de zéro le reprend dans cet ordre.

  1. 1Algorithmique et PythonSeconde, Mathématiques
  2. 2Python : types, contrôle, fonctions et tableaux
  3. 3Représentation des données : réels et texte
  4. 4Algorithmique et ScratchTroisième, Mathématiques

L'essentiel

Un motif de bits n'a de valeur qu'avec sa convention

  • Conversion décimal vers binaire : divisions successives par 2, et les restes se lisent du DERNIER au premier.
  • Binaire vers hexadécimal : regrouper les bits par quatre EN PARTANT DE LA DROITE, en complétant à gauche par des zéros.
  • Complément à deux sur nn bits : inverser tous les bits, puis ajouter 1. L'intervalle va de 2n1-2^{n-1} à 2n112^{n-1}-1, il est donc ASYMÉTRIQUE.
  • Raccourci de lecture : si le bit de poids fort vaut 1, la valeur signée est la valeur non signée moins 2n2^{n}.
10000001motifnon signé sur 8 bits : 129complément à deux sur 8 bits : -127hexadécimal : 81
Un seul motif, trois lectures : la même suite de huit bits vaut 129, ou moins 127, ou 81 en hexadécimal, selon la seule convention annoncée.

Écrire « sur 8 bits, en complément à deux » avant de convertir vaut souvent un demi-point à lui seul, et évite la moitié des erreurs du chapitre.

Portes logiques et addition

  • Demi-additionneur : la somme est un OU EXCLUSIF, la retenue est un ET.
  • Un additionneur complet ajoute la retenue entrante : deux demi-additionneurs et un OU.
  • Le OU exclusif vaut 1 quand les deux entrées DIFFÈRENT. Le OU ordinaire vaut 1 dès qu'une entrée vaut 1, donc aussi quand les deux valent 1.
  • Additionner sur nn bits, c'est chaîner nn additionneurs : la retenue sortante du dernier n'a nulle part où aller.

Von Neumann et le cycle d'instruction

  • Cinq organes : mémoire, unité de commande, unité de calcul, entrées-sorties, reliés par un bus.
  • Le programme est rangé en mémoire COMME une donnée : c'est ce qui rend possible le compilateur, le système d'exploitation et le virus.
  • Cycle : lire l'instruction, la décoder, l'exécuter. Le compteur ordinal s'incrémente seul à la lecture.
  • Un saut REMPLACE le compteur ordinal au lieu de l'incrémenter : c'est la seule instruction qui rompt l'ordre.

Chemins et permissions

  • Un chemin absolu commence à la racine. Un chemin relatif part du répertoire COURANT : le point le désigne, le point-point désigne son parent.
  • Permissions rwx par groupes de trois : propriétaire, groupe, autres. Chaque groupe se code sur un chiffre octal, r=4r = 4, w=2w = 2, x=1x = 1.
  • Sur un fichier, x veut dire exécuter. Sur un RÉPERTOIRE, x veut dire TRAVERSER : sans x, on ne peut pas entrer, même avec r.
  • Sur un répertoire, r permet de lister les noms, w permet de créer ou de supprimer une entrée, y compris un fichier qu'on ne possède pas.

Réseau et temps d'accès

  • Deux machines sont sur le même sous-réseau si le ET bit à bit avec le masque donne la MÊME adresse de réseau.
  • Un préfixe /n/n laisse 232n2^{32-n} adresses, dont deux réservées : l'adresse de réseau et l'adresse de diffusion.
  • Ordres de grandeur : registre 0,30{,}3 ns, cache 1 ns, mémoire vive 80 ns, mémoire flash 50 µs, disque 8 ms.
  • Le temps moyen d'un accès est dominé par les ÉCHECS de cache : un échec sur vingt suffit à multiplier la moyenne par cinq.

Les pièges qui coûtent des points

Les erreurs ci-dessous sont celles que je corrige le plus souvent en séance. Chacune coûte des points sur une copie, même quand le raisonnement est juste.

1. Oublier le plus un du complément à deux

1 point, et toute addition qui utilise ensuite ce codage

Ce qu'il ne faut pas écrire

« Pour coder 47-47 sur 8 bits, j'écris 47 en binaire, 0010 1111, puis j'inverse : 1101 0000. »

Ce qu'il faut écrire

« J'inverse PUIS j'ajoute 1 : 1101 0000 plus 1 donne 1101 0001. Contrôle : 209256=47209 - 256 = -47. »

Pourquoi : Sans le plus un, on obtient le complément à UN, où le zéro a deux écritures et où l'addition ordinaire ne fonctionne plus. Le plus un est ce qui rend la soustraction gratuite.

2. Croire l'intervalle du complément à deux symétrique

1 point, et la détection de débordement devient fausse au bord

Ce qu'il ne faut pas écrire

« Sur 8 bits en complément à deux, on va de 127-127 à 127127. »

Ce qu'il faut écrire

« On va de 128-128 à 127127 : il y a une valeur négative de plus, parce que le zéro occupe une place du côté positif. »

Pourquoi : Les 28=2562^{8} = 256 motifs se répartissent en 128 négatifs, le zéro, et 127 positifs. C'est aussi pourquoi l'opposé de 128-128 n'existe pas sur 8 bits.

3. Prendre la retenue sortante pour le signe d'un débordement

2 points, et c'est la question de raisonnement du chapitre

Ce qu'il ne faut pas écrire

« Il n'y a pas de retenue en sortie, donc l'addition sur 8 bits est correcte. »

Ce qu'il faut écrire

« En complément à deux, le débordement se voit sur les SIGNES : deux opérandes de même signe et un résultat de signe opposé. La retenue sortante ne dit rien. »

Pourquoi : La retenue sortante détecte le débordement des entiers NON signés. En signé, le cas 92+4792 + 47 déborde sans retenue, et le cas 9247-92 - 47 déborde AVEC retenue : les deux indicateurs sont indépendants.

4. Convertir l'hexadécimal chiffre par chiffre en décimal

1 point, mais l'erreur se propage à toute la question

Ce qu'il ne faut pas écrire

« 2F2F vaut 2 puis 15, donc 215. »

Ce qu'il faut écrire

« Chaque chiffre hexadécimal vaut quatre bits : 2F2F donne 0010 1111, soit 2×16+15=472 \times 16 + 15 = 47. »

Pourquoi : Une base est un système de POIDS, pas une juxtaposition. Passer par les quatre bits est plus sûr que multiplier de tête, et c'est le chemin attendu par le sujet.

5. Confondre le OU exclusif et le OU dans le demi-additionneur

1 point, et la table de vérité entière est fausse

Ce qu'il ne faut pas écrire

« La somme est un OU : 1+11 + 1 donne 1 en sortie de somme et 1 de retenue. »

Ce qu'il faut écrire

« La somme est un OU EXCLUSIF : 1+11 + 1 donne 0 en somme et 1 de retenue, ce qui est exactement l'addition binaire. »

Pourquoi : Le OU ordinaire vaut 1 quand les deux entrées valent 1, ce qui contredit l'addition. Le OU exclusif vaut 1 seulement quand elles diffèrent, donc il donne le chiffre des unités.

6. Croire que le compteur ordinal s'incrémente aussi lors d'un saut

2 points sur la question de trace, où l'erreur décale toute la suite

Ce qu'il ne faut pas écrire

« Après le saut vers l'adresse 12, le compteur ordinal vaut 13. »

Ce qu'il faut écrire

« Un saut REMPLACE le compteur ordinal : après le saut vers 12, il vaut 12, et c'est l'instruction rangée en 12 qui est lue au cycle suivant. »

Pourquoi : L'incrémentation a lieu à la lecture de l'instruction ; le saut écrit ensuite sa propre valeur dans le compteur. Croire aux deux effets fait sauter une instruction sur deux.

7. Lire un chemin relatif comme un chemin absolu

1 point, et toute la question sur les commandes qui suit

Ce qu'il ne faut pas écrire

« Le chemin donnees/releve.csv désigne le fichier rangé dans le répertoire donnees de la racine. »

Ce qu'il faut écrire

« Sans barre oblique initiale, le chemin part du répertoire COURANT : depuis /home/lina/projet, il désigne /home/lina/projet/donnees/releve.csv. »

Pourquoi : La barre oblique initiale est le seul signe qui distingue les deux. Écrire le répertoire courant en tête de sa réponse rend la suite mécanique.

8. Lire le x d'un répertoire comme la permission d'exécuter

2 points sur la question de permissions, très souvent posée

Ce qu'il ne faut pas écrire

« Le répertoire a les droits r sans x, donc on peut voir ce qu'il contient et l'ouvrir. »

Ce qu'il faut écrire

« Sur un répertoire, x veut dire TRAVERSER : sans x, aucun fichier de ce répertoire n'est accessible, même avec r, qui ne permet que de lister les noms. »

Pourquoi : Un répertoire n'est pas un programme : le bit x n'y désigne pas l'exécution mais le droit d'entrer. Le couple r sans x donne la liste des noms sans le droit d'ouvrir, et x sans r donne l'inverse.

9. Décider d'un sous-réseau à l'oeil, sur la proximité des adresses

2 points, et la question de routage qui suit devient incohérente

Ce qu'il ne faut pas écrire

« 192.168.1.130192.168.1.130 et 192.168.1.200192.168.1.200 commencent pareil, elles sont donc sur le même réseau. »

Ce qu'il faut écrire

« Avec un masque /26/26, je fais le ET : 130130 donne 128128 et 200200 donne 192192. Les deux adresses de réseau diffèrent, les machines ne se voient pas directement. »

dernier octetET masqueréseauA = .1301000 00101100 0000.128B = .2001100 10001100 0000.192même /26 ? non : .128 et .192 sont deux réseaux
Le même masque appliqué à deux adresses voisines : le ET bit à bit donne .128 pour l'une et .192 pour l'autre, donc deux sous-réseaux distincts.

Pourquoi : Le masque, et lui seul, décide où s'arrête la partie réseau. Avec /24/24 les deux machines seraient voisines, avec /26/26 elles ne le sont pas : l'adresse seule ne permet jamais de conclure.

10. Croire que le cache rend le programme aussi rapide que lui

2 points sur la question de hiérarchie mémoire

Ce qu'il ne faut pas écrire

« Le cache répond en 1 ns contre 80 pour la mémoire vive, donc le programme va 80 fois plus vite. »

Ce qu'il faut écrire

« Le temps moyen se calcule avec le taux d'échec : avec 5 pour cent d'échecs, il vaut 0,95×1+0,05×80=4,950{,}95 \times 1 + 0{,}05 \times 80 = 4{,}95 ns, donc cinq fois plus que le cache seul. »

cache1 ns1 % échecs1,79 ns5 % échecs4,95 ns20 % échecs16,8 ns051015temps moyen d'un accès
Quatre taux d'échec, un seul cache : la moyenne quitte le régime du cache dès le premier pour cent d'échecs, et c'est le taux d'échec qui commande, pas la vitesse du cache.

Pourquoi : Un échec coûte si cher que quelques pour cent suffisent à dominer la moyenne. C'est pourquoi l'optimisation consiste à réduire le taux d'échec plutôt qu'à accélérer le cache.

Quelle méthode choisir

Convertir : la méthode se lit sur la base de départ

La base de départ, la base d'arrivée, et le nombre de bits annoncé.

  • Si décimal vers binaire divisions successives par 2, restes lus du DERNIER au premier

    Exemple : 47=0010111147 = 0010\,1111

  • Si binaire vers hexadécimal groupes de quatre bits depuis la DROITE

    Exemple : 001011110010\,1111 donne 2F2F

    compléter à gauche par des zéros si le dernier groupe est incomplet

  • Si hexadécimal vers binaire chaque chiffre devient quatre bits, sans exception

    Exemple : 8181 donne 100000011000\,0001

  • Si binaire signé vers décimal si le bit de poids fort vaut 1, retrancher 2n2^{n}

    Exemple : 100000011000\,0001 vaut 129256=127129 - 256 = -127

  • Si décimal négatif vers binaire coder l'opposé, inverser, ajouter 1

    Exemple : 47-47 donne 110100011101\,0001

Si aucun nombre de bits n'est donné, l'écrire soi-même : « je code sur 8 bits ». Une conversion sans largeur annoncée est incomplète.

Le mot de l'énoncé décide de l'outil, côté réseau

Le verbe de la question, pas les adresses elles-mêmes.

  • Si « sont-elles sur le même réseau » ET avec le masque, puis comparer les deux adresses de réseau

    Exemple : /26/26 sépare .130.130 de .200.200

  • Si « combien de machines » 232n22^{32-n} - 2

    Exemple : /26/26 donne 642=6264 - 2 = 62 machines

    les deux réservées sont l'adresse de réseau et celle de diffusion

  • Si « par où passe le paquet » table de routage du routeur courant, ligne la plus spécifique

    Exemple : la prochaine étape, et elle seule

  • Si « la machine ne joint pas l'extérieur » vérifier la passerelle par défaut avant le masque

    Exemple : un masque juste et une passerelle hors du sous-réseau

Une table de routage donne la PROCHAINE étape, jamais le chemin complet : une réponse qui décrit tout le trajet répond à côté.

La rédaction attendue

Le correcteur coche des étapes. Les voici dans l'ordre, avec la phrase de conclusion qu'il attend mot pour mot.

Justifier que deux machines sont, ou non, sur le même sous-réseau

Quand l'utiliser : L'énoncé donne deux adresses et un masque, et demande si les machines communiquent directement.

  1. 1 Écrire le masque en binaire, ou au moins l'octet où il s'arrête : un /26/26 donne 110000001100\,0000 sur le dernier octet.
  2. 2 Écrire l'octet variable de chaque adresse en binaire.
  3. 3 Faire le ET bit à bit pour chaque adresse, et reconvertir en décimal.
  4. 4 Comparer les deux adresses de réseau obtenues, puis conclure sur la communication directe.

Phrase de conclusion

« Avec le masque /26/26, l'adresse de réseau de 192.168.1.130192.168.1.130 est 192.168.1.128192.168.1.128 et celle de 192.168.1.200192.168.1.200 est 192.168.1.192192.168.1.192. Les deux adresses de réseau étant différentes, les machines ne communiquent pas directement et le trafic doit passer par un routeur. »

Le piège : Répondre sans écrire le ET : le résultat est peut-être juste, la justification vaut la moitié des points.

Barème : 1 point pour le masque en binaire, 2 points pour les deux adresses de réseau, 1 point pour la conclusion.

Dérouler un cycle d'instruction

Quand l'utiliser : L'énoncé donne un petit programme en langage machine et demande l'état après quelques cycles.

  1. 1 Dresser un tableau avec une colonne par registre suivi, et une ligne par cycle.
  2. 2 Pour chaque cycle, écrire les trois phases : lecture de l'instruction pointée par le compteur ordinal, décodage, exécution.
  3. 3 Incrémenter le compteur ordinal à la LECTURE, avant l'exécution.
  4. 4 Si l'instruction est un saut, écrire que le compteur ordinal est REMPLACÉ, et donner sa nouvelle valeur.
  5. 5 Arrêter au nombre de cycles demandé, et donner l'état final des registres.

Phrase de conclusion

« Au cycle 4, le compteur ordinal vaut 12 : l'instruction de saut lue en 7 a remplacé sa valeur au lieu de l'incrémenter, et c'est donc l'instruction rangée à l'adresse 12 qui sera lue au cycle suivant. »

Le piège : Incrémenter le compteur ordinal APRÈS un saut : toute la trace se décale et aucune ligne suivante n'est juste.

Barème : 1 point par ligne de trace correcte, 2 points pour le traitement du saut.

Vérifier avant de rendre

Cinq minutes de vérification récupèrent plus de points qu'un exercice de plus commencé à la hâte.

L'exercice type décortiqué

Deux additions sur 8 bits, et pourquoi la retenue ne dit rien

Sur 8 bits en complément à deux, calculer 92+4792 + 47, puis 9247-92 - 47.

Pour chacune, donner le motif obtenu, sa valeur signée, la retenue sortante, et dire s'il y a débordement.

Étape 1

92=0101110092 = 0101\,1100 et 47=0010111147 = 0010\,1111. La somme binaire vaut 100010111000\,1011, sans retenue sortante.

Pourquoi

Écrire les deux opérandes en binaire avant d'additionner est ce qui rend la retenue visible. La somme 139139 est inférieure à 256256, donc rien ne sort du huitième bit.

Étape 2

Lecture signée : le bit de poids fort vaut 1, donc la valeur est 139256=117139 - 256 = -117.

Pourquoi

C'est ici que le débordement devient visible : deux nombres positifs ont donné un résultat négatif. Le raccourci « moins 282^{8} » évite de refaire une inversion complète.

Étape 3

Deux opérandes positifs, résultat négatif : il y a DÉBORDEMENT, alors que la retenue sortante vaut 0.

Pourquoi

Première moitié de la démonstration : elle montre qu'une retenue nulle ne garantit rien. La vraie valeur, 139139, sort de l'intervalle [128;127][-128\,;127].

Étape 4

92=10100100-92 = 1010\,0100 et 47=11010001-47 = 1101\,0001. La somme vaut 373373, soit 1011101011\,0111\,0101 : le motif sur 8 bits est 011101010111\,0101 et la retenue sortante vaut 1.

Pourquoi

Les codages se retrouvent par 25692256 - 92 et 25647256 - 47, plus rapide que d'inverser à la main. La somme dépasse 255255, donc il sort une retenue.

Étape 5

Lecture signée : le bit de poids fort vaut 0, donc la valeur est +117+117.

Pourquoi

Deuxième moitié de la démonstration : deux nombres négatifs ont donné un résultat positif, ce qui est impossible et signe le débordement.

Étape 6

Vérification : la vraie somme vaut 139-139, hors de [128;127][-128\,;127], et la première somme vaut 139139, elle aussi hors de l'intervalle.

Pourquoi

Le contrôle final ne refait pas le calcul binaire : il compare la somme mathématique à l'intervalle représentable, ce qui confirme les deux débordements en une ligne.

Conclusion rédigée

« Les deux additions débordent : la première donne le motif 100010111000\,1011, soit 117-117 au lieu de 139139, sans retenue sortante ; la seconde donne 011101010111\,0101, soit +117+117 au lieu de 139-139, avec une retenue sortante. Le débordement se lit sur les signes, jamais sur la retenue. »

L'erreur classique sur cet exercice : Conclure « pas de retenue, donc pas de débordement » sur la première addition, et « retenue, donc débordement » sur la seconde : les deux réponses seraient justes par accident sur la seconde et fausses sur la première.

À savoir par cœur

  • Toujours annoncer la largeur et la convention : « sur 8 bits, en complément à deux ».
  • Complément à deux : inverser PUIS ajouter 1. Intervalle [2n1;2n11][-2^{n-1}\,;2^{n-1}-1], asymétrique.
  • Lecture rapide d'un motif signé : bit de poids fort à 1, retrancher 2n2^{n}.
  • Débordement signé : deux opérandes de même signe, résultat de signe opposé. La retenue sortante ne le dit pas.
  • Demi-additionneur : somme = OU EXCLUSIF, retenue = ET.
  • Un saut REMPLACE le compteur ordinal, il ne l'incrémente pas.
  • Sur un répertoire, x veut dire TRAVERSER, pas exécuter.
  • Même sous-réseau : ET avec le masque, puis comparer. /n/n donne 232n22^{32-n} - 2 machines.
  • Le temps moyen d'accès est commandé par le taux d'ÉCHEC du cache, pas par sa vitesse.

Questions fréquentes

Comment savoir s'il y a débordement en complément à deux ?

On regarde les signes, jamais la retenue sortante. Il y a débordement quand les deux opérandes ont le même signe et que le résultat porte le signe opposé : deux positifs qui donnent un négatif, ou deux négatifs qui donnent un positif. Additionner deux nombres de signes contraires ne peut jamais déborder.

Pourquoi va-t-on de moins 128 à 127 sur 8 bits et pas de moins 127 à 127 ?

Parce que les 256 motifs disponibles se répartissent en 128 valeurs négatives, le zéro, et 127 valeurs positives : le zéro occupe une place du côté positif, ce qui laisse une valeur négative de plus. C'est aussi la raison pour laquelle l'opposé de moins 128 n'est pas représentable sur 8 bits.

Que signifie le droit x sur un répertoire en NSI ?

Il signifie traverser, pas exécuter. Sans x, on ne peut ouvrir aucun fichier situé dans ce répertoire, même en connaissant son nom et même si le droit r est accordé. Le droit r seul permet de lister les noms sans pouvoir y accéder ; le droit x seul permet l'inverse, accéder à un fichier dont on connaît déjà le nom.

Comment vérifier que deux adresses sont dans le même sous-réseau ?

On applique le ET bit à bit entre chaque adresse et le masque, puis on compare les deux résultats. S'ils sont égaux, les machines sont sur le même sous-réseau et communiquent directement ; sinon le trafic passe par un routeur. Regarder si les adresses se ressemblent ne prouve rien : c'est le masque qui décide où s'arrête la partie réseau.

Pourquoi un cache très rapide n'accélère-t-il pas autant qu'on croit ?

Parce que le temps moyen dépend surtout du taux d'échec. Avec un cache à 1 nanoseconde et une mémoire vive à 80, cinq pour cent d'échecs suffisent à porter la moyenne à 4,95 nanosecondes, soit cinq fois le temps du cache. Réduire le taux d'échec en améliorant la localité des accès rapporte donc plus que d'accélérer le cache.

Passer à la pratique

Exercices corrigés : Architectures matérielles, systèmes et réseaux

Une méthode se prouve sur une copie, pas sur une fiche. La série du même chapitre reprend chacun de ces pièges dans un exercice, avec le corrigé rédigé étape par étape.

  • 15 exercices corrigés
  • 150 points
  • 225 minutes
Faire les exercices
Fiche précédente Interactions homme-machine sur le Web

Ce chapitre resservira dans

Les chapitres qui le réclament en amont, plus tard dans l'année ou dans les années suivantes.

Voir aussi

Vous cherchez un tuteur en NSI à Montréal ?

Contactez-moi pour une première séance. On reprend les points de méthode qui font perdre des points en évaluation, puis on les met à l'épreuve sur des exercices du niveau réel de l'examen.

Site par Studio Squalli