# IBM 1130 et 1800

Les modèles IBM 1130 et 1800 d'International Business Machines Corporation sont des ordinateurs datant de la fin des années 1960 et du début des années 1970. Le 1130 était destiné aux laboratoires, universités, bureaux d'études et écoles d'ingénieurs, et remplaçait le 1620 ; le 1800 était sa variante industrielle. Ils étaient tous deux équipés de mémoires à tores de ferrite.

## L'IBM 1130

L'IBM 1130 était un ordinateur scientifique de 16 bits occupant la place d'un simple bureau. Il se présentait comme le successeur naturel (troisième génération à circuits intégrés) du 1620 de deuxième génération à circuits imprimés et transistors.
Il disposait d'une mémoire de 4K à 32K mots de 16 bits, ayant un cycle mémoire de 2,2 µs ou 3,6 µs selon les modèles, et était muni d'une unité de stockage sur cartouche de disque interchangeable (2315) de 512 K mots. Son moniteur résident occupait 1/2 K mot. Le système comportait une console à boule Selectric, un lecteur de cartes (1442) et une imprimante (lente 1132 ou rapide 1403 - cette dernière via un multiplexeur 1133 assurant l'accès direct à la mémoire sans passer par la CPU). On pouvait leur adjoindre un traceur de courbes et même un écran graphique 2250.
Le 1130 devait être au départ une machine 18 bits, mais fut revu rapidement pour être mis à 16 quand il devint clair que l'octet serait l'unité de travail qui s'imposerait dans la profession. Ce choix eut trois conséquences:
* Physique : Des adresses de 16 bits devaient dès lors être des adresses de mots et non plus d'octets. Cela condamnait le 1130 à ne jamais traiter très efficacement les chaînes de caractères, puisqu'il fallait alors séparer chaque mot en son octet haut et son octet bas... même pour une simple copie de sous-chaîne si celle-ci était alignée sur un autre demi-mot.
* Logique : Les identificateurs, de 6 lettres sur le reste de la gamme scientifique IBM ainsi qu'autorisés par le FORTRAN IV de l'époque, furent réduit à 5 (un identificateur tenait alors sur un mot en 5 x 6 bits, plus deux pour usages divers par le compilateur, le gestionnaire de fichiers, etc.
* Historique : Un langage qui sera développé bien plus tard sur IBM 1130 et aurait dû se nommer FOURTH fut donc baptisé simplement Forth.

### Aspect physique
#### Panneau

Le panneau vertical du 1130 comportait
* Le nom de la machine, dans la langue du pays
* Une zone à trois sections
** Bouton rouge d'arrêt d'urgence (!)
** Affichage binaire des registres 16 bits
** Sélecteur de mode d'exécution (normal, pas à pas, etc.)

#### Pupitre

Le pupitre se compose
* d'une imprimante à boule Selectric à tête interchangeable (par exemple pour y mettre les caractères APL ou OCR
* 16 clés à bascule de pupitre pouvant être testées au vol par programme y compris en FORTRAN (sous-programme DATSW)
* Une réglette graduée indiquant par transparence la position de la tête d'impression
* Un clavier à 88 touches.

### Code d'instructions

Le 1130 disposait de trois registres d'index dont deux seulement utilisables par le programmeur, le troisième servant de base d'adresse pour les programmes d'interruptions. Ces registres étaient également accessibles comme adresses mémoires 0001 à 0003, 0000 étant l'accumulateur.
Les instructions sur 16 bits avaient conduit au choix de ne pas avoir d'instructions avec opérande inclus. Si on avait besoin d'un opérande à valeur constante, cette constante devait être placée dans les données. La machine ne possédant pas de protection mémoire, il était facile de modifier une "constante" par un petit programme, ce qui évitait de refrapper toutes les cartes d'écriture d'un programme FORTRAN si on changeait d'imprimante (3=1132; 5=1403). Des effets pittoresques étaient garantis si par malchance cette constante était utilisée ailleurs dans le programme.
Pour rendre plus compacts les programmes, il existait un adressage relatif court (adresse présente +127 à -128) et un adressage absolu "long" sur 16 bits. Rappelons qu'il s'agissait d'adresse de mots.
Les entiers négatifs étaient représentés en complément à deux (0000 = 0; FFFF = -1). Le flottant était émulé par sous-programmes (LIBF).
L'assembleur 1130 était considéré comme très agréable à utiliser en comparaison de celui, bien plus complexe, du 360, si l'on en juge par les contributions sur le site ibm1130.org.

### Les logiciels

Les logiciels étaient à l'époque fournis gratuitement par IBM (avec source sur demande) : système d'exploitation, compilateurs RPG (GAP), FORTRAN et même COBOL et Algol 60. Un peu plus tard (1971) vint un interpréteur du révolutionnaire langage APL.
Son originalité résidait pourtant ailleurs :
* d'une part dans une importante bibliothèque de sous-programmes scientifiques (SSP, Scientific Subroutine Package), comportant la plupart des outils utiles aux ingénieurs, statisticiens ou physiciens : fonctions de Bessel, méthode d'intégration de Runge-Kutta, inversions matricielles et calculs de déterminants, transformée de Fourier rapide, générateurs de nombres aléatoires, etc. ;
* d'autre part dans la mise à disposition par IBM d'une plaque tournante de logiciels gratuits auxquels tous les établissements possesseurs de 1130 pouvaient contribuer (en fournissant le binaire, avec ou sans son code source) et dans lesquelles ils pouvaient librement se servir.
Cette politique fit rapidement du 1130 l'ordinateur ayant la bibliothèque d'applications scientifiques la plus riche de son époque, et un succès dans les écoles d'ingénieurs et universités de toute la planète. Dans les années 1970, le DEC PDP/11, qui était son concurrent direct moins cher et plus rapide, se heurta à cette avance logicielle.
Parmi les logiciels contributifs, on comptait notamment un compilateur ALGOL, un compilateur SL/1 (sous-ensemble de PL/I) et un simulateur graphique de processus continus, le CSMP (Continuous System Modelling Program).
Lorsque la fourniture gratuite de logiciels fut considérée par la justice américaine comme une concurrence anormale aux sociétés de service, IBM dut se désengager de cette politique, et la gestion de cette bibliothèque fut confiée à un groupe d'utilisateurs, nommé COMMON. On peut y voir un lointain ancêtre du logiciel libre.
Le code d'instructions du 1130 avait été pensé dès le départ pour faciliter la multiprogrammation, mais celle-ci ne devint effective que vers 1972, près de la fin de vie du matériel, avec l'attachement MTCA (Multiple Terminal Control Attachment) qui permettait d'y connecter 4 ou 8 terminaux à boule APL simultanés (en plus de la console du système), ou de plus archaïques télétypes ASR33 pour le BASIC.

### Coût

La stratégie d'IBM était encore, lors du lancement du 1130, de louer ses machines plutôt que de les vendre. À titre indicatif, une configuration comme celle-ci :
* Processeur 1131 avec son unité de disque amovible et sa console
* 8 K mots de 16 bits à 2,2 µs (une version moins chère à 3,6 µs existait aussi)
* Lecteur-perforateur de cartes 1442
* Imprimante 1403 (340 lignes par minute) connectée via un multiplexeur 1133
était louée environ 200 000 FRF par an en 1968. Tous les logiciels étaient gratuits (seul le COBOL fera, quand il sera développé quelques années plus tard pour cette machine, l'objet d'une facturation unique à la commande), ainsi que les mises à jour matérielles et logicielles et deux heures de maintenance préventive par semaine.

## L'IBM 1800

Le 1800 était la version « temps réel » du 1130, destiné à contrôler des processus industriels, et à ce titre remplaçant du 1710. Il pouvait exécuter les programmes du 1130, légèrement plus rapidement car ses trois registres étaient câblés au lieu d'être simulés par les trois premiers mots de la mémoire vive, mais ses programmes n'étaient utilisables sur le 1130 qu'à condition de ne pas contenir les instructions supplémentaires de protection mémoire propres au 1800 (CMP et DCM). Il fut beaucoup utilisé en sidérurgie et en pétrochimie.
Des simulateurs du 1130 sont aujourd'hui disponibles sur PC et des groupes d'amateurs passionnés reconstituent au fil de leurs recherches une partie de sa collection de logiciels (l'APL entre autres est intégralement disponible).

## IBM 1500

Lancé le 31 mars 1966 et motorisé par un IBM 1130 ou un IBM 1800 au choix, ce système éducatif supportait 32 terminaux d'enseignement équipés de "light pens" et offrant quelques possibilités multimédia limitées par la technologie de l'époque. Le premier système fut livré à l'université de Stanford. Il ne fut pas proposé en France (ni en Europe ?).
IBM reprendra par la suite cette idée de cannibalisation d'un système par un autre : le traitement de textes 3730 s'articulera sur un contrôleur 3790 recyclé, et les canaux ("directeurs") du 3033 seront tout simplement des unités centrales de 370/158.
Le dernier IBM 1500 fut abandonné en 1980. Il assurait alors 27 000 heures x élèves de cours par an.

## Abandon de cette ligne par IBM

Le marché potentiel des ordinateurs scientifiques se chiffrait en millions (de dollars), celui des ordinateurs de gestion en milliards. Comme par ailleurs la vente d'ordinateurs scientifiques exigeait une technicité élevée et coûteuse (en mathématiques, statistiques, analyse numérique et autres) et que l'IBM 360 était censé être universel (le modèle 360/44 étant d'ailleurs officiellement « orienté scientifique » et acceptant les cartouches de disques du 1130), IBM abandonna presque sans contrepartie son avance dans ce créneau, laissant profiter deux de ses concurrents de cet abandon : DEC et HP.
Par ailleurs, General Automation diffusa peu après une version améliorée de l'IBM 1130. Le Philips P880 avait de nombreuses similarités physiques et logiques avec le 1130 et visait le même créneau de l'ingénierie ; il était cependant en 1972 trois fois plus rapide en calcul que le 1130 et légèrement moins cher.