Small-Scale Experimental Machine - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Programmation

Jeu d'instructions

Le jeu d'instructions à 3 bits de la SSEM permettait un maximum de 8 (23) instructions distinctes. Au contraire des conventions modernes, la mémoire de la machine était disposée avec les bits de poids forts à gauche ; le nombre 1 était donc représenté par « 100 », au lieu de « 001 », qui serait plus habituel.

Jeu d'instructions de la SSEM
Code binaire Notation originale Mnémonique moderne Opération
000 S, Cl JMP S Branchement vers l'instruction à l'adresse obtenue à l'adresse S indiquée (saut inconditionnel absolu)
100 Add S, Cl JRP S Branchement vers l'instruction à l'adresse correspondant au compteur programme plus (+) la valeur relative obtenue à l'adresse S indiquée (saut relatif inconditionnel)
010 -S, C LDN S Prendre le nombre à l'adresse S indiquée, calculer son opposé, et enregistrer le résultat dans l'accumulateur
110 c, S STO S Enregistrer le nombre dans l'accumulateur à l'adresse S indiquée
001 ou
101.
SUB S SUB S Soustraire le nombre à l'adresse S indiquée de la valeur de l'accumulateur et enregistrer le résultat dans l'accumulateur
011 Test CMP Sauter l'instruction suivante si l'accumulateur contient une valeur négative
111 STOP STP Arrêt
  1. Comme le compteur programme était incrémenté au cours du processus de décodage, l'adresse enregistrée en mémoire devait correspondre à l'adresse visée - 1.
  2. Comme le compteur programme était incrémenté au cours du processus de décodage, la valeur enregistrée en mémoire devait correspondre à l'adresse visée - PC - 1.
  3. Les bits représentant l'instruction n'étaient que partiellement décodés, pour économiser des éléments logiques

La présence d'opposé dans certaines opérations était une conséquence du manque de matériel dans la SSEM pour effectuer toute autre opération que la soustraction et l'opposé. La construction d'un additionneur ne fut pas considérée comme nécessaire avant le début des essais, car l'addition peut facilement être réalisée par la soustraction. Par exemple, x+y peut se calculer par −(−xy). L'addition de deux nombres nécessitait donc quatre instructions. Le code suivant réalise ce calcul.

      LDN X // charge −X dans l'accumulateur      SUB Y // retranche Y de la valeur de l'accumulateur      STO S // enregistre le résultat dans S      LDN S // charge −S dans l'accumulateur      

Les programmes étaient chargés sous forme binaire en parcourant tous les mots de la mémoire en séquence et en utilisant un ensemble de 32 interrupteurs, qui servaient de périphérique d'entrée, pour positionner la valeur de chaque bit de chaque mot à 0 ou 1. La SSEM n'avait pas de lecteur de carte ou ruban perforé.

Premiers programmes

Un petit écran cathodique dans un cadre jaune-marron rouillé qui montre un écran rectangulaire vert sur lequel sont affichés des traits et des points. Dessous, il y a une série de 40 interrupteurs rouges disposés en 8 colonnes de 5.
L'écran de sortie

Trois programmes furent écrits pour l'ordinateur. Le premier, qui consistait en 17 instructions, fut écrit par Kilburn et fonctionna le 21 juin 1948. Il était conçu pour trouver le plus grand facteur propre de 218 (262 144) en essayant tous les entiers à partir de 218−1 dans l'ordre décroissant. Les divisions étaient réalisées par des soustractions itérées du diviseur. La SSEM prit 3,5 millions d'opérations et 52 minutes pour trouver la solution (131 072). Le programme utilitait 8 mots de mémoire vive en plus de ses 17 mots d'instructions, ce qui donne une taille de programme de 25 mots.

Geoff Tootill écrivit une version modifiée du programme le mois suivant, et à la mi-juillet, Alan Turing, qui avait été nommé reader au département de mathématiques de l'université de Manchester en septembre 1948, écrivit le troisième programme, qui effectuait la division longue. Turing avait, à cette époque, été nommé directeur assistant du laboratoire de machines à calculer de l'université, poste symbolique car le laboratoire ne devint une réalité physique qu'en 1951.

Page générée en 0.105 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise