IBM 704

Système informatique à tube à vide
Ceci est une version archivée de cette page, en date du 11 février 2019 à 15:43 et modifiée en dernier par Eratosthène (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

L’IBM 704, premier ordinateur de série doté de capacité d’arithmétique en virgule flottante, fut introduit par IBM en 1954[1].

IBM 704
Fabricant
Famille
Présentation
Date de sortie
1954
Date de retrait
1960
Fonctions
Type
ordinateur à tubes à vide
Média
Imprimante alphabétique IBM 716
Unités vendues
123 unités
Entrées
Lecteur de cartes perforées IBM 711
Écran
Caractéristiques
Processeur
carte avec tubes à vide
Mémoire
tores magnétiques IBM 737 (18 432 octets)
Stockage
tambour magnétique IBM 733 (3,75 Mo), perforateur IBM 721
Système d'exploitation
Mesures
Dimensions
20 m3

Historique

Sur le marché du calcul scientifique, l’IBM 704 succédait à l'IBM 701, dont il améliorait significativement l’architecture et l’implémentation. Du fait de ces améliorations significatives, le 704 n'était pas compatible avec son prédécesseur.

Les améliorations par rapport au 701 incluaient le remplacement des tubes de Williams par une mémoire à tores magnétiques et l’ajout de trois registres d'index. Pour supporter ces améliorations, la longueur de l’instruction-machine était augmentée de 18 à 36 bits. Le jeu d'instructions du 704 deviendra la base de la série d’ordinateurs scientifiques de la série IBM 700/7000.

IBM indiquait que l'ordinateur pouvait exécuter 40 000 instructions par seconde. IBM a vendu 123 exemplaires de l'ordinateur entre 1955 et 1960.

Deux des utilisateurs de l’IBM 704, General Motors et North American Aviation, ont développé un système d'exploitation rudimentaire pour l’ordinateur, le GM-NAA I/O (General Motors and North American Aviation Input/Output system)[2]. Il est à noter que ce système d’exploitation n’a pas été créé par IBM, mais bien par des clients d’IBM qui voulaient maximiser l’utilisation de leurs ordinateurs. Les fabricants d'ordinateurs ne réalisaient pas encore la manne de revenus que pouvait représenter le développement de logiciels pour les ordinateurs. Ce sont plutôt les utilisateurs qui développaient des logiciels utilitaires et qui les distribuaient selon une pratique proche de ce qui se passe aujourd'hui pour les logiciels libres. Le système d'exploitation GM-NAA I/O a ainsi été utilisé par une quarantaine de clients d'IBM.

Les langages de programmation Fortran et LISP ont été initialement développés pour l'IBM 704. Le premier programme de traitement de musique a aussi été développé sur cet ordinateur par Max Mathews.

Edward O. Thorp a aussi utilisé l’IBM 704 et le langage Fortran dans le développement de sa théorie des jeux sur la probabilité de gagner au blackjack[3],[4].

Registres

L'IBM 704 avait un registre accumulateur de 38 bits (incluant deux bits de débordement), un registre multiplicateur-quotient de 36 bits et trois registres de diminution de 15 bits. Le registre de diminution était une sorte de registre d'index dont le contenu était soustrait de l'adresse de base au lieu d'y être ajouté. Les trois registres de diminution pouvaient participer à une même instruction : les 3 bits tag de l'instruction indiquaient lesquels des registres devaient participer à l'instruction.

Formats des instructions

Il existait deux formats d'instruction appelés type A et type B[5]. La plupart des instructions étaient de type B.

Les instructions de type A possédaient, en séquence :

  • un code d'opération de 3 bits ;
  • un décrément de 15 bits ;
  • trois bits tag ;
  • une adresse de 15 bits.

Les instructions de type A incluaient des sauts conditionnels en fonction des valeurs des registres de diminution spécifiés par les bits tag. Certaines instructions soustrayaient le décrément de l'instruction du contenu des registres de diminution. L'implémentation des instructions nécessitait que l'un des bits 2 ou 3 du code d'opération soit 1 pour distinguer les instructions de type A et B. Cette contrainte réduisait à 6 le nombre possible d'instructions de type A. L'une des instructions (l'instruction STR, code d'opération 101) n'a pas été implantée avant l'IBM 709.

Les instructions de type B possédaient, en séquence ;

  • un code d'opération de 12 bits (le deuxième et le troisième bits devaient être 0 pour les distinguer des instructions de type A) ;
  • un flag de 2 bits ;
  • quatre bits inutilisés ;
  • trois bits tag ;
  • une adresse de 15 bits.

Format des données

Les nombres entiers étaient représentés par un bit de signe suivi de la valeur absolue de l'entier en format binaire.

Les nombres en virgule flottante en simple précision étaient représentés par un bit de signe, un exposant de 8 bits et une mantisse de 27 bits.

Les caractères alphanumériques étaient représentés par un code de 6 bits (le code BCD). On pouvait donc placer 6 caractères dans un mot de 36 bits.

Références

  1. 704 photos from IBM
  2. (en) « Timeline of Computer History: 1956: Software », Computer History Museum (consulté le )
  3. Discovery channel documentary with interviews by Ed and Vivian Thorp
  4. The Tech (MIT) "Thorpe, 704 Beat Blackjack" Vol. 81 No. I Cambridge, Mass., Friday, February 10, 1961
  5. « From the IBM 704 to the IBM 7094 », John Savard (site personnel) (consulté le )

Article connexe

Liste des ordinateurs à tubes à vide