La série incluait des architectures de processeurs différentes et incompatibles. Les 700s qui utilisaient des composantes électroniques basées sur des tubes électroniques ont été remplacés par les 7000s qui utilisaient des transistors.
Les 7000s, à leur tour, ont été remplacés par les IBM System/360 qui furent annoncés en 1964. Le 360/65, le premier System 360 assez puissant pour remplacer les IBM 7000, est devenu disponible en . Des difficultés rencontrées avec le système d’exploitationOS/360 et les coûts élevés de conversion des programmes ont amené les IBM 7000 à rester en service plusieurs années après l’introduction de la série 360.
Architectures en bref
Les ordinateurs de la série 700/7000 utilisaient six façons différentes de coder les instructions et les données :
la première architecture (IBM 701) utilisait des mots de 18 et de 36 bits ;
La série 700 utilisait des tubes électroniques alors que la série 7000 utilisait des transistors. Toutes les machines (comme les autres ordinateurs du temps) utilisaient des mémoires à tores magnétiques sauf les 701 et 702 qui utilisaient des tubes de Williams. Bien que les architectures diffèrent, les différents modèles partageaient certaines composantes électroniques et partageaient les mêmes périphériques. Les premiers périphériques étaient basés sur les appareils de mécanographie d’IBM. Les périphériques des derniers modèles provenaient de la série IBM 1400.
Les premiers ordinateurs étaient vendus sans logiciels. Lorsque les systèmes d’exploitation sont apparus, le maintien de quatre architectures différentes pour les ordinateurs centraux en plus de la série 1400 d’ordinateurs moyens est devenu un réel casse-tête pour IBM qui devait maintenir cinq ensembles de logiciels différents.
Les IBM System/360 ont combiné les meilleurs éléments des architectures des 7000s et des 1400s. Certains des modèles 360 offraient en option l’émulation en microcode des instructions des 7000s et des 1400 (qui fut d'ailleurs reconduite sur les 370!). Les IBM System/370 ont amélioré le processus d’émulation en le plaçant sous le contrôle du système d’exploitation, ce qui permettait d’utiliser l’émulation sans avoir à arrêter puis redémarrer l’ordinateur comme c’était le cas avec les 360.
La première architecture (IBM 701)
Connue sous le nom de Defense Calculator (‘’calculateur de la Défense’’) alors qu’elle était en développement au laboratoire d’IBM à Poughkeepsie, cette machine a été dévoilée le sous le nom de IBM 701 Electronic Data Processing Machine, nom qui sera par la suite abrégé à IBM 701.
Format des données
Seuls les nombres entiers étaient traités dans cette architecture. Les nombres étaient enregistrés sur 36 ou 18 bits :
le premier bit servait à coder le signe ;
les bits suivants servaient à coder la valeur absolue du nombre en format binaire.
Cette représentation possédait l'inconvénient d'une double représentation possible d'un même nombre : le zéro qui pouvait être codé +0 ou -0. Le comparateur de valeurs devait donc tenir compte de ce cas particulier, et reconnaître leur égalité.
Format des instructions
Les instructions étaient enregistrées sur 18 bits et ne contenaient qu'une adresse d'opérande :
le premier bit indiquait si l'opérande occupait un demi-mot ou un mot ;
Cette machine disposait d'une mémoire électrostatique de 72 tubes de Williams. Chaque tube avait une capacité de 1024 bits, ce qui donnait une capacité totale de 2048 mots de 36 bits chacun. Chaque tube avait un diamètre de 8 cm. La mémoire pouvait être augmentée à un maximum de 4096 mots de 36 bits par l'addition d'un autre groupe de 72 tubes de Williams ou en remplaçant les tubes de Williams par une mémoire à tores magnétiques.
Les mots de 36 bits pouvaient contenir 6 caractères de 6 bits chacun.
Les tubes de Williams ainsi que les tores magnétiques avaient un cycle de mémoire de 12 millisecondes. Les tubes de Williams devaient être refroidis, ce qui nécessitait l'introduction de cycle de refroidissement dans le fonctionnement de l'IBM 701. Une addition nécessitait 5 cycles de 12 millisecondes, incluant deux cycles de refroidissement. Une multiplication ou une division nécessitait 38 cycles (456 millisecondes).
Les nombres en virgule flottante en double précision étaient représentés par un bit de signe, un exposant de 17 bits et une valeur de 54 bits. Ces nombres ont été introduits avec l’IBM 7094.
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.
Formats des instructions
Il existait deux formats d'instruction appelés type A et type B[1]. La plupart des instructions étaient de type B.
Les instructions de type A possédaient, en séquence :
un décrément de 15 bits (le décrément contenait souvent un opérande immédiat qui servait à modifier le résultat de l’opération ; il pouvait aussi définir plus précisément le code d’opération) ;
trois bits tag (7 bits tag pour le 7094) ; les bits tag, lorsqu’ils étaient activés, désignaient des registres d’index dont les contenus étaient soustraits de l’adresse pour former une adresse effective ;
une adresse de 15 bits (ce champ pouvait contenir l’adresse de l’opérande ou un opérande immédiat).
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) ;
trois ou sept 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é ; plusieurs registres de diminution pouvaient participer à une même instruction : les 3 (ou 7) bits tag de l'instruction indiquaient lesquels des registres de diminution devaient participer à l'instruction ; lorsque plusieurs registres participaient à l’instruction, une opération OU était appliquée aux contenus des registres pour former une valeur qui était par la suite soustraite à l’adresse de base) ;
un indicateur ‘’sense’’ qui permettait une interaction avec l’opérateur à travers les commutateurs et les lumières de la console de l’opérateur.
Mémoire
704
4 096, 8 192 ou 32 768 mots de 36 bits
709, 7090, 7094, 7094 II
32 768 mots de 36 bits
L’architecture commerciale (IBM 702/705/7080)
L’IBM 702 et l’ IBM 705 étaient semblables et le 705 pouvait exécuter plusieurs programmes du 702 sans modifications, mais les deux ordinateurs n’étaient pas complètement compatibles.
L’IBM 7080 était une version transistorisée du 705, avec diverses améliorations. Pour assurer la compatibilité avec le 705, il pouvait fonctionner en mode de compatibilité 705 I, 705 II, 705 III ou en mode de complète compatibilité.
Format des données
Les données étaient représentées par des chaînes de caractères de longueur variable terminées par des marques d’enregistrement.
Format des instructions
Une instruction occupait 5 caractères :
un caractère pour le code de l’opération ;
quatre caractères pour l’adresse.
Registres
702
Deux accumulateurs (A & B) de 512 caractères chacun
705
Un accumulateur de 256 caractères
Quatorze unités de stockage auxiliaire de 16 caractères
Une unité de stockage auxiliaire de 32 caractères
7080
Un accumulateur de 256 caractères
30 unités de stockage auxiliaire de 512 caractères
32 unités de stockage de communications de 8 caractères
Mémoire
702
2 000 à 10 000 caractères dans des tubes de Williams (en incréments de 2 000 caractères)
Cycle mémoire d’un caractère : 23 microsecondes
705 (modèles I, II, or III)
20 000, 40 000 ou 80 000 caractères
Cycle mémoire d’un caractère : 17 ou 9,8 microsecondes
Le lancement comporta de nouveaux périphériques rapides comme l'imprimante 1403 (1959 - 600 lignes par minute pour son modèle 2, puis plus tard 1 100 lignes par minute pour son modèle 3) ou le lecteur-perforateur de cartes 1442 (400 cartes par minute).
Format des données
Les données étaient représentées par des chaînes de caractères de longueur variable terminées par un wordmark (une marque de mot).
Format des instructions
Les instructions étaient de longueur variable : 1, 2, 6, 7, 11, ou 12 caractères.
Registres
Aucun registre pour les calculs, toutes les instructions opéraient directement sur la mémoire.
Les IBM 7070, IBM 7072 et IBM 7074 étaient des ordinateurs décimaux avec des mots de longueur fixe. Ils utilisaient des mots de dix chiffres comme l’ancien et plus petit IBM 650. Cependant, leur jeu d’instructions était différent de celui du 650.
Format des données
Longueur d’un mot : 10 chiffres décimaux plus un signe.
IBM 7040, ordinateur scientifique, introduit en 1963
IBM 7044, ordinateur scientifique, introduit en 1963
IBM 7070, ordinateur décimal, introduit en 1960
IBM 7072, ordinateur décimal, introduit en 1962
IBM 7074, ordinateur décimal, introduit en 1961 (utilisé par le Internal Revenue Service américain en 1962)[3]
IBM 7080, ordinateur commercial, introduit en 1961
IBM 7090, ordinateur scientifique, introduit en 1959
IBM 7094, ordinateur scientifique, introduit en 1962
IBM 7094 II, ordinateur scientifique, introduit en 1964
C’est à l’aide d'un IBM 7090 qu’en 1962, Dan Shanks et John Wrench[4] calculèrent (en l’espace de 8 h 43 min) les 100 000 premières décimales du nombre pi, avec un algorithme exploitant l’identité :
↑Cf. leur communication Daniel Shanks et John W. Wrench, « Calculation of pi to 100,000 decimals », Mathematics of Computation, AMS, vol. 16, (lire en ligne)