Archives mensuelles : mai 2016

Ordinateurs sans microprocesseurs

microproAvant l’apparition des microprocesseurs, les ordinateurs étaient réalisés uniquement à partir de deux sortes de “briques de construction”, les portes logiques et les bistables (eux-mêmes constitués de portes logiques). Les premiers microprocesseurs, apparus dans les années 1970, comportaient des milliers de portes logiques et de bistables rassemblés sur une même puce qui valait tout de même près de 200 dollars de l’époque, ce qui représente (compte tenu de l’inflation) de l’ordre de 1000 dollars actuels.

Depuis cette époque, tous les ordinateurs commercialisés comportent des microprocesseurs. Mais il existe quelques passionnés qui construisent eux-mêmes des ordinateurs “à l’ancienne”, sans microprocesseur. Pourquoi se lancent-ils dans un tel projet ? Par défit intellectuel, par passion, pour comprendre et faire comprendre le fonctionnement d’un ordinateur en s’appuyant sur un système à dimension humaine, pour revisiter un pan entier de l’histoire de l’informatique… Fabriquer un ordinateur de toute pièce est une démarche d’ingénierie dans laquelle il faut faire preuve d’une grande exigence intellectuelle pour décomposer de manière simple et efficace un système complexe en parties plus simples dont les rôles sont clairement spécifiés. Et une fois que la partie physique est terminée, il reste à l’exploiter en réalisant des programmes, qui ne sont rien d’autre que des systèmes complexes constitués de “briques logicielles” plus simples. Quiconque parvient à ce stade a les idées parfaitement claires sur tous les concepts sous-jacents.

Si tous les ordinateurs “faits mains” dont j’ai trouvé des descriptions sur le WEB m’ont impressionnés, j’ai été vraiment bluffé par certaines réalisations particulièrement élégantes, telle que “The Anitra Computer”, un ordinateur 8 bits pouvant adresser 32K octets de mémoire réalisé par un thésard du MIT à titre de loisir ! Cet ordinateur a été conçu de manière à simplifier au maximum son circuit électronique et à minimiser le nombre de composants utilisés. Le langage machine de cet ordinateur ne comporte que deux instructions placées dans 16 blocs de 8 instructions consécutives. L’une permet de transférer une valeur d’une adresse A vers une adresse B, et l’autre additionne une valeur située à une adresse A et une autre située à une adresse B, place le résultat à l’adresse B, et réalise un saut en avant jusqu’au début du bloc suivant s’il y a un débordement arithmétique (retenue). L’ensemble du programme est constitué d’une séquence de 16 blocs d’instructions qui est répétée indéfiniment. A première vue, la taille du programme est très limitée, mais elle est suffisante pour réaliser un interpréteur capable d’exécuter un programme plus long – et écrit dans un langage de plus haut niveau – situé dans le reste de la mémoire.

Dans le même esprit, Jack Eisenmann a conçu et réalisé un ordinateur 8 bits adressant 64K de mémoire appelé “DUO COMPACT” dont le langage machine ne comporte qu’une seule instruction : NOR A B C D, où A, B, C et D sont des adresses mémoire, qui effectue une opération logique OU / NON entre les valeurs pointées par A et B, place le résultat dans B, puis branche en C si le résultat est 0 ou en D sinon. Cette seule instruction permet de simuler toutes les instructions d’un microprocesseur classique. L’auteur a réalisé un programme calculant une racine carrée et même un petit jeu vidéo de plateforme s’exécutant en mode texte sur un écran à cristaux liquides acheté dans le commerce.

Dans une autre optique, un ingénieur électronicien nommé Dennis Kuschel a réalisé un ordinateur 8 bits complètement câblé avec des circuits logiques TTL (technologie datant des années 1960) nommé “MyCPU”. Il supporte le jeu d’instructions du microprocesseur 6502 qui équipait l’Apple II. Dennis a également réalisé un contrôleur vidéo permettant à cet ordinateur de réaliser des affichages graphiques sur écran, une carte lui permettant d’utiliser une mémoire de masse, et une carte réseau lui permettant de se connecter à Internet. C’est un travail absolument énorme qui relève de l’exploit.

Pour découvrir d’autres exemple de réalisations extraordinaires, vous pouvez consulter le site Home build computers web ring.