Halt and Catch Fire
Halt and Catch Fire (« arrêter et prendre feu »), de mnémonique HCF, était à l'origine une instruction du langage assembleur d'un ordinateur, prétendument en développement chez IBM pour leurs ordinateurs System/360.
Pour série télévisée, voir Halt and Catch Fire (série télévisée).
Pour les articles homonymes, voir HCF.
De nos jours, HCF dénote une instruction non documentée à effets secondaires inhabituels, incluse dans le processeur à des fins de test. Les utilisateurs qui découvrent ces instructions se sont approprié l'ancienne instruction Halt and Catch Fire et son mnémonique HCF pour exprimer de manière humoristique que l'exécution par inadvertance de ce genre d'instructions conduit le système à cesser de fonctionner de manière normale. L'expression catch Fire (« prendre feu ») est strictement métaphorique.
Selon un récit apocryphe remontant aux années 1960, époque à laquelle les ordinateurs utilisaient des mémoires à tores magnétiques : afin de rendre l'accès à la mémoire plus rapide sur leurs modèles d'ordinateurs suivants, les ingénieurs augmentèrent les courants de lecture/écriture circulant dans les fils très fins de ces mémoires. Cela fonctionnait très bien lorsque l'ordinateur exécutait un programme normal, puisque les accès étaient répartis sur l'ensemble de la mémoire. Par contre, si une instruction HALT était exécutée : elle faisait faire des sauts « sur place. » Par conséquent, le même emplacement en mémoire était lu en boucle et les fils très fins devenaient si chauds qu'ils se mettaient à fumer, d'où l'expression « halt and catch fire. »
Processeurs munis d'une instruction HCF
- Hitachi-Sharp SC61860[1]
- Motorola 6800[2]
- Motorola 6809
- MIPS-X : processeur pris en charge par le Defense Advanced Research Projects Agency, le manuel du programmeur décrit une instruction nommée HSC (Halt and Spontaneously Combust soit « arrêter et entrer en combustion spontanée ») pour la version -NSA du processeur
Référence
- https://github.com/utz82/SC61860-Instruction-Set
- (en) Gerry Wheeler, « Undocumented M6800 Instructions », BYTE, vol. 2, no 12, , p. 46–47
Voir aussi
Articles connexes
- HLT, une instruction en langage assembleur qui arrête l'unité centrale de traitement (CPU) jusqu'à la prochaine interruption externe
- Instruction nulle, une instruction particulière, qui dicte à l'ordinateur de n'effectuer aucune action
- Pentium F00F bug (en), bug du processeur Intel Pentium