Arithmétique des ordinateurs
Apprenez l'arithmétique des ordinateurs avec des QCM : virgule fixe, virgule flottante IEEE 754 (normalisation, nombres sous-normaux, arrondi, valeurs spéciales), erreur d'arrondi et cancellation, bfloat16 et INT8, multiplieurs et additionneurs à retenue anticipée.
Arithmétique des ordinateurs : points clés
Les ordinateurs représentent les nombres sur un nombre fini de bits, si bien que l'étendue comme la précision sont limitées. Alors que la virgule fixe place la virgule binaire à une position fixe, la virgule flottante IEEE 754 décompose un nombre en signe, exposant et mantisse pour couvrir des valeurs minuscules comme gigantesques. Il est important de comprendre la normalisation, les nombres sous-normaux, les modes d'arrondi et les valeurs spéciales comme l'infini et NaN.
Les calculs en virgule flottante entraînent des erreurs d'arrondi, et la soustraction de nombres presque égaux provoque une cancellation qui fait perdre des chiffres significatifs. L'IA utilise des formats courts comme bfloat16, FP16, FP8 et INT8. Outre les formats de nombres, ce thème couvre les circuits qui réalisent l'arithmétique en matériel, comme les multiplieurs, les diviseurs et les additionneurs à retenue anticipée.
Toutes les questions sur Arithmétique des ordinateurs (50)
- En virgule fixe non signée sur 8 bits dont les 4 bits de poids faible forment la partie fractionnaire, quelle valeur représente la suite de bits 0011 1000 ?
- Quelle combinaison donne correctement les trois parties d'un nombre à virgule flottante IEEE 754 ?
- En simple précision IEEE 754 (32 bits), quelle combinaison donne le nombre de bits attribués au signe, à l'exposant et à la mantisse ?
- En double précision IEEE 754 (64 bits), quelle combinaison du nombre de bits d'exposant et de mantisse est correcte ?
- En simple précision IEEE 754, si la valeur enregistrée dans le champ d'exposant vaut 130, quel est l'exposant réel (puissance de 2) ?
- Pour les nombres normalisés IEEE 754, quel est l'effet de ne pas enregistrer le 1 de tête de la mantisse (bit implicite) ?
- Quelle est, en hexadécimal, la suite de bits représentant le décimal 1.0 en simple précision IEEE 754 ?
- Lors de la conversion de −6.25 en simple précision, quelle est en hexadécimal la suite de bits formée du signe, de l'exposant et de la mantisse ?
- Quelle description de la représentation du décimal 0.1 en virgule flottante binaire est correcte ?
- Dans de nombreux langages, pourquoi la comparaison en double précision 0.1 + 0.2 == 0.3 est-elle fausse ?
- Quel est l'epsilon machine de la simple précision IEEE 754 (différence entre 1 et le plus petit nombre représentable supérieur à 1) ?
- Quelle combinaison donne correctement le nombre approximatif de chiffres décimaux significatifs fiables en simple et double précision ?
- Quel est le rôle des nombres dénormalisés (sous-normaux) d'IEEE 754 ?
- Sur certains processeurs, les calculs comportant beaucoup de nombres dénormalisés peuvent être fortement ralentis. Quel réglage est utilisé lorsque la performance prime ?
- En arithmétique flottante IEEE 754, quel résultat la norme prévoit-elle pour la division d'un nombre positif par 0 ?
- Lorsque x est NaN, quel est le résultat de l'évaluation de x == x dans la plupart des langages de programmation ?
- En simple précision IEEE 754, quelle description de ce que représente une suite de bits dont l'exposant est entièrement à 1 (255) est correcte ?
- Quelle description de +0 et −0 en virgule flottante IEEE 754 est correcte ?
- Quel mode d'arrondi IEEE 754 définit-elle comme mode par défaut ?
- Avec l'arrondi au plus proche pair vers un entier, que deviennent respectivement 2.5 et 3.5 ?
- Comment appelle-t-on le phénomène par lequel la soustraction de deux nombres flottants presque égaux fait perdre une grande partie des chiffres significatifs ?
- Pour x très grand, le calcul de √(x + 1) − √x en virgule flottante subit une annulation catastrophique. Quelle réécriture permet d'obtenir un résultat précis ?
- En simple précision, ajouter 1 à cent millions (10⁸) laisse le résultat inchangé. Quelle explication de ce phénomène est correcte ?
- Quel est l'objectif de la sommation de Kahan (sommation compensée), utilisée pour additionner un grand nombre de flottants ?
- Quel est l'avantage du calcul de a × b + c par une instruction FMA (multiplication-addition fusionnée) ?
- Quelle est la principale raison de l'emploi de bfloat16 pour l'entraînement en IA ?
- Lors de l'entraînement d'un réseau de neurones en FP16 (demi-précision : 1 bit de signe, 5 d'exposant, 10 de mantisse), quel problème survient fréquemment et se traite en multipliant la perte par un facteur (loss scaling) ?
- Quelle est la plus grande valeur finie représentable en FP16 (1 bit de signe, 5 bits d'exposant (biais 15), 10 bits de mantisse) ?
- Quelle répartition des deux formats FP8, E4M3 (4 bits d'exposant, 3 de mantisse) et E5M2 (5 bits d'exposant, 2 de mantisse), est courante ?
- En inférence d'IA, quel est le principal avantage de la conversion (quantification) des poids de FP32 en INT8 ?
- Des données comprises entre −6.35 et 6.35 sont quantifiées en INT8 symétrique centré sur 0 (−127 à 127). Si l'échelle vaut « valeur absolue maximale ÷ 127 », par quel entier 1.0 est-il représenté ?
- Quelle est la principale raison pour laquelle les petits microcontrôleurs et DSP utilisent souvent l'arithmétique en virgule fixe plutôt qu'en virgule flottante ?
- Quelle combinaison du pas (résolution) et de la plage du format Q15 (virgule fixe signée sur 16 bits, 15 bits fractionnaires) est correcte ?
- Lorsque deux nombres en virgule fixe à 8 bits fractionnaires sont multipliés par un multiplieur entier, comment le résultat doit-il être traité ?
- Quelle description de l'arithmétique saturée utilisée en traitement du signal est correcte ?
- Dans un additionneur à anticipation de retenue, quelle combinaison des définitions du signal de génération g et du signal de propagation p de chaque rang (a, b étant les entrées du rang) et de l'expression de la retenue vers le rang supérieur c(i+1) est correcte ?
- Quelle est la principale raison de l'emploi d'additionneurs à retenue conservée pour additionner les nombreux produits partiels d'un multiplieur ?
- Quelle caractéristique de l'arbre de Wallace utilisé dans les multiplieurs rapides est correcte ?
- Quel est le principal effet de l'algorithme de Booth en base 4 (codage de Booth) dans un multiplieur ?
- Lors de la multiplication de deux nombres non signés de 8 bits, combien de bits faut-il pour représenter le résultat sans débordement ?
- Quelle expression calcule correctement la multiplication d'un entier x par 10 au moyen de décalages et d'additions, sans instruction de multiplication ?
- Pourquoi un diviseur entier classique (à restauration ou sans restauration, calculant le quotient bit par bit) est-il généralement plus lent qu'un multiplieur ?
- Quel est le résultat du décalage arithmétique d'un bit vers la droite de −8 (1111 1000) en entier signé sur 8 bits ?
- En langage C, quelle combinaison des résultats de −7 / 2 et de −7 >> 1 (décalage arithmétique à droite) en type int est correcte ?
- En langage C, quel est le résultat de la soustraction de 1 à 0 pour un entier non signé de 32 bits (unsigned int) ?
- Pour l'addition de deux entiers non signés, quelle méthode détermine correctement que le résultat a dépassé la plage représentable (débordement) ?
- Quelle description de l'écart entre valeurs représentables voisines en virgule flottante est correcte ?
- En simple précision IEEE 754, jusqu'à quelle limite tous les entiers à partir de 0 sont-ils représentables exactement ?
- Pour les calculs monétaires, quelle est la principale raison de travailler souvent avec des entiers dont l'unité est la plus petite unité monétaire (1 yen ou 1 cent) plutôt qu'en virgule flottante binaire ?
- Dans l'entraînement en précision mixte en IA, pourquoi conserve-t-on la valeur originale des poids (poids maîtres) en FP32 tout en effectuant la plupart des calculs en FP16 ou bfloat16 ?
Autres thèmes de Systèmes informatiques
- ISA et assembleur RISC-V, modes d'adressage, conventions d'appel
- Compilateurs Analyse syntaxique, SSA, optimisation, registres
- Éditeurs de liens, chargeurs et exécutables ELF, symboles, relocalisation, liaison dynamique
- Système d'exploitation et matériel Interruptions, appels système, défauts de page
- Hiérarchie mémoire Cache, remplacement, trois types de défauts
- Multicœur et synchronisation MESI, instructions atomiques, barrières mémoire
- Programmation GPU Warps, mémoire partagée, coalescence, occupation
- Pile matérielle et logicielle de l'IA Inférence/entraînement, quantification, roofline
- Systèmes embarqués et firmware GPIO, UART/SPI/I2C, RTOS
- HDL et vérification Verilog, latches, machines à états, testbenches
- Interfaces d'E/S et bus PCIe, USB, SerDes, CXL
- Analyse des performances Loi d'Amdahl, CPI, goulots d'étranglement
- Sécurité matérielle Canaux auxiliaires, secure boot, TEE, PUF
- Gestion de l'énergie DVFS, power gating, états de veille