Introduction
Le IBM 1620 Data Processing System est un ordinateur scientifique développé et commercialisé par International Business Machines Corporation (IBM) à partir de 1959. Conçu pour proposer une solution de calcul scientifique relativement économique par rapport aux grands ordinateurs IBM de l'époque, il était principalement destiné aux universités, laboratoires, établissements d'enseignement, centres de recherche, entreprises d'ingénierie et petites organisations scientifiques ayant besoin d'effectuer des calculs complexes sans disposer des moyens nécessaires pour acquérir une installation informatique beaucoup plus importante.
Le IBM 1620 fut annoncé le 21 octobre 1959. Il occupait une position particulière dans le catalogue IBM : plutôt que de viser prioritairement le traitement administratif et commercial, comme le IBM 1401 apparu à la même période, le 1620 était surtout orienté vers le calcul scientifique, mathématique et technique.
L'une des caractéristiques les plus remarquables du IBM 1620 est son architecture. Il ne repose pas sur un microprocesseur, puisque les microprocesseurs intégrés sur une seule puce n'existaient pas encore commercialement en 1959. Son unité centrale est construite à partir de circuits transistorisés, notamment des modules électroniques IBM de type SMS (Standard Modular System).
Le 1620 n'est pas non plus un ordinateur binaire conventionnel utilisant des mots d'une longueur fixe. Son architecture travaille directement sur des chiffres décimaux codés en binaire et permet de manipuler des champs numériques de longueur variable. Cette conception était particulièrement intéressante pour les calculs scientifiques nécessitant des nombres possédant différentes précisions.
La mémoire principale utilise des tores magnétiques, une technologie courante dans les ordinateurs des années 1950 et 1960. Dans sa configuration de base, le IBM 1620 Model I possède 20 000 positions décimales. Cette capacité pouvait être portée à 40 000 ou 60 000 positions grâce à l'ajout d'une unité d'entreposage IBM 1623.
Il faut donc éviter de traduire directement cette capacité en « 20 Ko de RAM ». La mémoire du 1620 n'est pas organisée en octets de huit bits comme celle d'un ordinateur moderne. Chaque position représente essentiellement un chiffre décimal accompagné de bits supplémentaires, notamment pour le marquage et le contrôle de parité. La documentation IBM parle ainsi de *core storage positions* ou de positions de mémoire.
Le Model I possède un cycle de mémoire de 20 microsecondes. Les données sont accessibles directement dans la mémoire à tores, et les opérations du processeur travaillent largement de mémoire à mémoire. Contrairement aux microprocesseurs modernes, le programmeur ne dispose pas d'un ensemble conventionnel de registres généraux dans lesquels charger les opérandes avant de réaliser les calculs.
L'une des particularités les plus célèbres du premier IBM 1620 concerne la manière dont certaines opérations arithmétiques sont effectuées. Sur le Model I, l'addition et la multiplication utilisent notamment des tables de consultation placées en mémoire plutôt que de dépendre entièrement de circuits arithmétiques spécialisés.
Cette technique permit de simplifier une partie de l'électronique nécessaire à la construction de la machine. Elle contribua également à l'apparition du surnom humoristique CADET, parfois développé comme Can't Add, Doesn't Even Try, faisant référence à l'utilisation de tables en mémoire pour effectuer certaines opérations arithmétiques. Cette expression est toutefois un surnom historique et non une désignation officielle d'IBM.
Le système possède une architecture à deux adresses. Une instruction complète occupe normalement 12 positions décimales : deux positions pour le code de l'opération, cinq pour l'adresse P et cinq pour l'adresse Q. L'adresse P désigne généralement une destination et l'adresse Q une source ou une autre valeur utilisée par l'instruction.
L'organisation décimale du 1620 présente un autre avantage : les nombres ne sont pas nécessairement limités à une taille fixe de 8, 16, 32 ou 64 bits. Les champs numériques peuvent avoir une longueur variable, ce qui permet au programmeur d'adapter la précision des calculs à ses besoins.
Le IBM 1620 était également proposé avec différentes fonctions optionnelles. Selon la configuration, il pouvait notamment recevoir des fonctions d'adressage indirect, de division automatique et de calcul en virgule flottante. Ces possibilités augmentaient considérablement son intérêt pour les applications scientifiques.
Les entrées et sorties pouvaient être effectuées au moyen de plusieurs périphériques. L'un des éléments caractéristiques de la configuration de base était une machine à écrire de console, permettant à l'opérateur d'interagir avec le système. Le IBM 1620 pouvait également être associé à des lecteurs et perforateurs de bandes de papier, à des lecteurs/perforateurs de cartes, à des imprimantes, à des unités de disques et même à un traceur graphique.
Le IBM 1621 Paper Tape Unit permettait par exemple de lire et de perforer des bandes de papier à huit pistes. Le IBM 1622 Card Read-Punch permettait quant à lui d'utiliser les traditionnelles cartes perforées IBM à 80 colonnes. Ces supports pouvaient contenir des programmes et des données.
Pour l'impression, le système pouvait notamment être associé à l'IBM 1443 Printer, offrant suivant sa configuration des lignes de 120 ou 144 caractères. Pour les applications graphiques et scientifiques, le IBM 1627 Plotter permettait de tracer graphiquement les résultats numériques produits par les programmes.
L'utilisation d'un traceur était particulièrement intéressante dans un environnement scientifique ou d'ingénierie. Les résultats de calculs pouvaient ainsi être transformés en courbes et graphiques sans que l'utilisateur ait à reporter manuellement de longues séries de valeurs numériques.
Des systèmes d'entreposage sur disque furent également disponibles. Les configurations plus évoluées pouvaient notamment exploiter des unités de disques telles que le IBM 1311, donnant au système un accès direct à des quantités de données beaucoup plus importantes que celles pouvant être conservées dans la mémoire principale.
Le IBM 1620 joua également un rôle important dans l'enseignement de la programmation. Son coût relativement accessible à l'échelle des ordinateurs scientifiques de son époque permit à de nombreuses universités d'acquérir une machine et de donner aux étudiants un accès direct à un véritable ordinateur.
Plusieurs environnements de programmation furent proposés. L'un des principaux était le 1620 Symbolic Programming System (SPS), permettant de programmer la machine à l'aide d'un langage symbolique plutôt que de devoir écrire directement les codes numériques des instructions.
Le FORTRAN occupa également une place très importante dans l'écosystème du 1620. Ce langage était particulièrement adapté aux calculs scientifiques et techniques. IBM développa plusieurs systèmes FORTRAN pour la machine, dont 1620 FORTRAN II. La documentation IBM montre notamment que certaines versions du compilateur nécessitaient une configuration comportant 40 000 positions de mémoire, ainsi qu'un lecteur/perforateur de cartes et certaines fonctions matérielles.
Cette association avec FORTRAN renforça considérablement l'intérêt du 1620 dans les universités. Les étudiants, ingénieurs et scientifiques pouvaient écrire leurs formules et algorithmes dans un langage beaucoup plus proche de la notation mathématique que le langage machine.
IBM développa par la suite une seconde version importante de l'ordinateur, le IBM 1620 Model II, introduit en 1962. Bien qu'il reste compatible avec les programmes du premier modèle, son architecture interne fut sensiblement améliorée.
Le Model II possède notamment une mémoire plus rapide, avec un cycle de 10 microsecondes, soit la moitié des 20 microsecondes du Model I. Certaines opérations arithmétiques furent également améliorées matériellement. En particulier, l'addition et la soustraction bénéficient de circuits arithmétiques dédiés plutôt que de dépendre de la table d'addition utilisée par le premier modèle.
La multiplication continue néanmoins à employer une table de consultation en mémoire. Le Model II intègre également certaines fonctions qui étaient optionnelles sur le premier modèle, ce qui en fait une version plus performante et plus complète du système original.
Les variantes du 1620 furent aussi utilisées dans des systèmes spécialisés. Des versions modifiées de l'architecture servirent notamment au IBM 1710 Process Control System, destiné au contrôle et à la surveillance de procédés industriels. Cette utilisation montre que l'architecture ne se limita pas aux universités et aux laboratoires.
Le IBM 1620 connut ainsi une carrière relativement longue pour une machine introduite à la fin des années 1950. Environ 2 000 systèmes furent produits avant le retrait de la gamme en 1970. Son successeur dans le domaine des petits ordinateurs scientifiques IBM fut notamment le IBM 1130, introduit au milieu des années 1960.
Le IBM 1620 occupe aujourd'hui une place particulière dans l'histoire de l'informatique. Son architecture décimale inhabituelle, son utilisation de mémoire à tores magnétiques, son recours aux tables arithmétiques sur le premier modèle et sa forte présence dans les établissements d'enseignement en font l'une des machines scientifiques les plus reconnaissables du début des années 1960.
Fiche technique
Voici les caractéristiques du «1620» de «IBM» :
| Spécification | Description |
|---|---|
| Fabricant | IBM |
| Modèle | IBM 1620 Data Processing System |
| Date d'annonce | 21 octobre 1959 |
| Introduction du Model II | 1962 |
| Type | Ordinateur scientifique et de traitement de données |
| Pays d'origine | États-Unis |
| Technologie | Ordinateur transistorisé |
| Microprocesseur | Aucun ; la machine précède l'apparition des microprocesseurs |
| Technologie logique | Circuits transistorisés utilisant notamment les modules IBM SMS (Standard Modular System) |
| Architecture numérique | Décimale, codée en binaire |
| Organisation des données | Champs numériques de longueur variable |
| Architecture des instructions | Architecture principalement à deux adresses |
| Longueur normale d'une instruction | 12 chiffres : code opération de 2 chiffres + adresse P de 5 chiffres + adresse Q de 5 chiffres |
| Registres généraux accessibles au programmeur | Pas de registres généraux conventionnels ; opérations principalement mémoire à mémoire |
| Mémoire principale | Mémoire à tores magnétiques |
| Mémoire de base | 20 000 positions décimales |
| Extension mémoire | 40 000 ou 60 000 positions décimales selon configuration |
| Cycle mémoire du Model I | 20 μs |
| Cycle mémoire du Model II | 10 μs |
| Arithmétique du Model I | Certaines opérations, notamment addition et multiplication, utilisent des tables de consultation en mémoire |
| Arithmétique du Model II | Addition et soustraction réalisées matériellement ; multiplication conservant une table de consultation |
| Virgule flottante | Disponible comme fonction matérielle optionnelle |
| Division | Option sur certaines configurations du Model I ; intégrée au Model II |
| Entrée/sortie de console | Machine à écrire de console |
| Bande de papier | IBM 1621 Paper Tape Unit |
| Cartes perforées | IBM 1622 Card Read-Punch, cartes de 80 colonnes |
| Imprimante | Notamment IBM 1443 Printer |
| Traceur graphique | IBM 1627 Plotter |
| Extension de mémoire Model I | IBM 1623 Core Storage Unit |
| Mémoire du Model II | IBM 1625 Core Storage Unit |
| Entreposage sur disque | Disponible avec certaines configurations, notamment autour du IBM 1311 |
| Langage symbolique | SPS - 1620 Symbolic Programming System |
| Langages de haut niveau | Notamment FORTRAN et FORTRAN II |
| Utilisation principale | Calcul scientifique, mathématiques, ingénierie, recherche et enseignement |
| Production totale | Environ 2 000 systèmes |
| Fin de commercialisation | 1970 |
| Successeur notable | IBM 1130 |