IBM 704

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
IBM 704
Un ordinateur IBM 704
Un ordinateur IBM 704
Fabricant International Business Machines
Famille série IBM 700/7000
Type ordinateur à tubes à vide
Date de sortie 1954
Fin de production 1960
Média Imprimante alphabétique IBM 716
Unités vendues 123 unités
Système d'exploitation GM-NAA I/O
Processeur carte avec tubes à vide
Stockage tambour magnétique IBM 733 (3,75 Mo), perforateur IBM 721
Mémoire tores magnétiques IBM 737 (18 432 octets)
Écran Tube cathodique IBM 740
Entrées Lecteur de cartes perforées IBM 711
Dimensions 20 m3
Prédécesseur IBM 701
Successeur IBM 709
Produits connexes UNIVAC 1103

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

Historique[modifier | modifier le code]

Sur le marché du calcul scientifique, l’IBM 704 succédait au 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 été utilisé pour une quarantaine d'utilisateurs de l'IBM 704.

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[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

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 valeur 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[modifier | modifier le code]

  1. 704 photos from IBM
  2. (en) « Timeline of Computer History: 1956: Software », Computer History Museum (consulté le 4 septembre 2007)
  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 15 novembre 2009)

Voir aussi[modifier | modifier le code]

Article connexe[modifier | modifier le code]