IBM 701
Au début des années 50, Thomas J. Watson Sr. donna son accord à la proposition de James Birkenstock pour créer une machine de calcul novatrice. Cette dernière utiliserait une mémoire à tubes cathodiques d'environ 20 000 chiffres et disposerait d'un cycle d'horloge capable de multiplier deux nombres en une milliseconde. Baptisée d'abord « Defense Calculator », la machine vit le jour pendant la guerre de Corée à la demande du Département de la Défense américain. Une équipe dirigée par J. A. Haddad et Nathan Rochester fut chargée de son développement.
Le monde ne comptait qu'une vingtaine d'ordinateurs numériques fonctionnels. Birkenstock pensait qu'une trentaine de ces machines trouveraient preneur dans l'industrie de la défense. La création du Defense Calculator fut relativement rapide grâce à l'expérience d'IBM dans ses produits antérieurs. L'équipe adopta une philosophie minimaliste : des équipements simples, un schéma logique épuré et l'absence de dispositifs superflus.
La question de la longueur des mots suscita de nombreux débats chez IBM. Werner Buchholz souligna l'importance de ce choix technique, car une longueur insuffisante obligerait à utiliser plusieurs mots pour un seul nombre. À l'inverse, une longueur excessive ralentirait les opérations et augmenterait les coûts. Après une étude des machines existantes, IBM détermina qu'une longueur entre 10 et 12 chiffres (35 à 41 bits) serait idéale. La technologie des bandes magnétiques suggérait que 6 canaux parallèles représentaient un optimum pour le stockage. IBM fixa donc la taille de mot à 36 bits pour son 701.
Le 29 avril 1952, Thomas J. Watson annonça officiellement l'IBM 701 Electronic Data Processing System lors d'une réunion annuelle. L'appellation « Data Processing » soulignait sa capacité à traiter différents types de données dans des contextes variés. Le premier modèle arriva au siège d'IBM à New York en décembre 1952. Installé dans l'ancienne salle du SSEC, il devint une attraction pour les passants. Cette machine servit aux opérations de conseil technique pour divers clients, avec une équipe de scientifiques IBM dédiée à la résolution de leurs problèmes.
La deuxième machine (numéro de série 1) fut livrée au Los Alamos Scientific Laboratory le 1er avril 1953. Trois jours suffirent pour la rendre opérationnelle. Elle fonctionna jusqu'à l'automne 1956, avant qu'une seconde machine ne soit installée en 1954. Sa mémoire électrostatique, malgré son manque de fiabilité, contenait 2048 mots de 36 bits. Le système comprenait l'unité centrale, un lecteur de cartes, une imprimante, une unité de stockage sur tambour magnétique, deux lecteurs de bandes magnétiques et une perforatrice de cartes.
Le 701 fut la première machine produite en quantité suffisante pour répondre aux besoins d'une clientèle en expansion. Sa conception modulaire, avec ses composants détachables, marqua le début d'une nouvelle philosophie chez IBM : construire des machines évolutives plutôt que des systèmes monolithiques à remplacer intégralement. La configuration standard comportait onze éléments : deux unités de bande magnétique (chacune avec deux lecteurs), une unité de mémoire sur tambour magnétique, une unité de stockage électrostatique à tube cathodique, une unité arithmétique et de contrôle en forme de L avec panneau opérateur, un lecteur de cartes, une imprimante, une perforatrice de cartes et trois unités d'alimentation.
L'IBM 701 affichait une compacité remarquable. Sa logique tenait dans des modules à 64 broches, chacun portant une rangée de 8 tubes à vide sur la façade. Les opérations logiques s'exécutaient via des diodes au germanium situées à la base des modules. Ces derniers s'intégraient dans un fond de panier conçu pour permettre leur remplacement sans éteindre le système. IBM fut l'un des premiers à utiliser les fonds de panier comme moyen d'accueillir différents types de modules fonctionnels.
L'unité de contrôle analytique (ACU) regroupait dans une grande armoire les composants arithmétiques, les circuits de contrôle d'entrée-sortie et les circuits de contrôle du programme stocké. Une armoire distincte abritait la console opérateur. L'ACU fonctionnait avec une cadence de répétition d'impulsions de 1 mégahertz. Un anneau de 12 étages générait douze impulsions de 1 microseconde formant le cycle machine de base. Cette vitesse répondait principalement aux exigences de régénération de l'unité de stockage électrostatique. Cette dernière contenait 72 tubes cathodiques stockant 10 240 chiffres, soit 2 048 mots de 36 bits, avec un temps d'accès d'environ 12 microsecondes. Les données y étaient accessibles de façon aléatoire. Le coût par bit avoisinait un dollar, bien moins que le stockage à tubes à vide. La location mensuelle de cette unité s'élevait à environ 2 600 dollars.
Le système d'entrées-sorties du 701 assurait cinq fonctions : sélection d'une unité pour lecture, écriture ou contrôle ; verrouillage de l'opération avec l'exécution d'un programme ; copie des données entre l'unité de stockage électrostatique et les unités d'E/S ; synchronisation des signaux entre l'unité choisie et le CPU ; déconnexion de l'unité d'E/S une fois son travail achevé.
En 1956, l'IBM 737 Magnetic Core Storage Unit vint remplacer l'unité de stockage électrostatique. Dotée d'une capacité de 4 096 mots de 36 bits, elle réduisit le temps d'addition, accès compris, de 60 à 36 microsecondes. Sa location mensuelle atteignait environ 6 100 dollars.
Comme un ordinateur scientifique binaire à adresse unique, l'IBM 701 disposait d'une taille de mot de 36 bits et d'un jeu de 33 instructions. Le CPU du 701 restait vide à 25% pour faciliter la correction d'erreurs ou l'ajout de fonctionnalités. Sa location mensuelle s'élevait à environ 16 000 dollars. Fin 1954, 18 machines étaient installées et pleinement fonctionnelles.
Son successeur, le 704, combla cet espace avec des fonctions supplémentaires. S'ensuivit une lignée de machines toujours plus puissantes et rapides, conservant une compatibilité ascendante et intégrant de nouvelles fonctionnalités. Cette évolution culmina avec le 7094 II et ses versions simplifiées, les 7040 et 7044.