Une des grandes avantages que nous accorde la technologie actuelle est que nous avons la possibilité de reproduire le fonctionnement de vieux systèmes avec un haut niveau de précision. Deux exemples classiques et récurrents sont la machine Enigma et le module de navigation Apollo, mais aujourd'hui nous allons mentionner un cas encore plus extrême. David Given, mieux connu sous le nom de Hjalfi sur YouTube et Twitter, a décidé de créer le simulateur d'un ordinateur des années 60 utilisé dans plusieurs projets spatiaux, et le plus impressionnant est qu'il a partagé son travail dans une vidéo de huit heures et demie...
Le OBP, sigle pour On-Board Processor, a été conçu à l'origine en 1968, et utilisé dans différents projets spatiaux. L'un des plus importants fut le télescope OAO-3 Copernicus, le plus réussi de toute la série OAO (Orbiting Astronomical Observatory), avec une mission qui s'étendit d'août 1972 à février 1981.
David Given, également connu sous le nom de Hjalfi, a partagé des détails techniques très intéressants sur l'OBP sur sa page officielle : 18 bits, architecture von Neumann, données et code partageant le même espace d'adressage, protection mémoire, DMA... en résumé, un système très agréable à travailler. Maintenant, avec une fréquence de 250 kHz, l'OBP a de sérieuses limitations en ce qui concerne la vitesse, mais David ne s'est pas contenté d'une analyse superficielle, et a décidé de créer un simulateur... de bout en bout :
Simulateur de l'OBP, un ordinateur des années 60
Vos yeux ne vous trompent pas : la vidéo dure huit heures et demie, et elle équivaut à trois jours de travail. L'introduction dure cinq minutes, mais l'assembleur couvre plus d'une heure, et le reste est axé sur le simulateur. Un des détails les plus intéressants de l'assembleur est que, selon la documentation originale, il devait être programmé en utilisant le langage naturel. En réalité, l'assembleur ne « comprend » pas les mots pour ainsi dire, mais certaines phrases clés sont associées à des instructions spécifiques.
Cela prouve que programmer en langage naturel est quelque chose que nous explorons depuis des décennies, et qui n'a jamais fini de gagner du terrain. David explique que la langue anglaise est fondamentalement ambiguë et dépendante de son contexte, alors que les langages de programmation sont l'opposé exact. Peut-être que le langage est facile à lire et à interpréter pour nous, mais il est aussi facile que l'assembleur finisse par s'embrouiller. Face à la possibilité d'erreurs, il est plus confortable pour le programmeur d'éliminer toute source d'ambiguïté et d'écrire les instructions directement.
Envie d'en savoir plus ? Lien ci-dessous !
Sitio officiel : Cliquez ici
Source : Hackaday