L'IBM 1401

Source: http://www.columbia.edu/cu/computinghistory/1401.html

[ Voir la galerie ]


Photo : Manuel de référence du système de traitement de données IBM 1401 A24-1403- x .

L' IBM 1401 Data Processing System , un ordinateur logique à transistors à programme stocké, annoncé en octobre 1959. À 2 500 $ par mois avec une configuration minimale, il s'agissait du premier ordinateur abordable d'IBM à usage général, et il était destiné à remplacer toutes les machines comptables et des calculatrices qui offraient toujours une alternative moins chère aux ordinateurs IBM 650 et 70 x . Des milliers de 1401 ont été vendus ou loués ; en fait, c'était le premier ordinateur à déployer 10 000 unités. Le 1401 était un ordinateur décimal (et non binaire), avec des mots de longueur variable composés d'octets de 8 bits contenant un BCD de 6 bits ( décimal codé binaire) caractères (plus les bits de parité et de mot-symbole), et était principalement destiné aux applications commerciales (son homologue scientifique était le 1620 ). Le 1401 fut le premier de la série d'ordinateurs IBM 1400, qui comprenait plus tard les 1410 , 1440 et 1460. Programmé à l'origine uniquement en langage machine ou assembleur ou (un peu plus tard) en Autocoder , ce qui s'est avéré difficile pour de nombreuses personnes, le 1401 fut bientôt héberge l'un des premiers langages de programmation de haut niveau orientés métier, RPG (Report Program Generator), qui a accru sa convivialité et sa popularité [ 4 ]. Plus tard, FORTRAN a été ajouté pour la programmation scientifique.

Selon Hugh T. Hoskins, il existait un assembleur appelé SOPAT, livré par IBM, avant l'apparition d'Autocoder. C'était à la School of Business de l'Université de Californie du Sud en 1962. Voir également les commentaires ultérieurs de Keith Williams ci-dessous .

Le 1401 était si populaire que (selon la légende) 1401 applications fonctionnaient encore en 2000 sur des simulateurs 1401 (qui pouvaient eux-mêmes être des applications 70x0, fonctionnant donc sur leurs propres simulateurs), ce qui représentait un défi particulier lors de la conversion à l'an 2000. . Vous pouvez parier que les programmeurs des années 1960, disposant de seulement quelques milliers d'octets de mémoire, n'ont pas "gaspillé de cœur" sur des années à 4 chiffres !

Sur la photo (de gauche à droite ; suivez les liens pour des images plus grandes) :

L'imprimante 1403 pouvait imprimer jusqu'à 1 400 lignes de 132 colonnes par minute, parfois plus. Le lecteur/perforateur 1402 pouvait accueillir 1 000 cartes (une demi-boîte) dans sa trémie, lire 800 cartes par minute et perforer 250 cartes par minute. Loren Wilton (de Burroughs/Unisys, qui a travaillé avec le 1401 pendant ses études universitaires) a souligné (31 décembre 2003) que :

... si vous laissez tomber une poignée de cartes dans le chargeur de lecture (ce qui se fait normalement lors du chargement du plateau, et cela se produirait de toute façon dès que vous démarrez le lecteur), le plateau et le chargeur de lecture contiendraient une boîte entière de cartes. cartes facilement, ou plus de 2000 cartes.

C'était très pratique, car cela réduisait le temps que vous deviez passer à charger les cartes dans le lecteur et vous pouviez consacrer votre temps à la gestion de la perforatrice, qui avait une trémie beaucoup plus petite, et des empileurs de lecture/perforation, qui ne faisaient que contenait environ 800 à 1 000 cartes au maximum dans chaque empileur. En règle générale, seul l'empileur de droite était utilisé pour le lecteur et l'empileur de gauche pour le perforateur, donc plusieurs empileurs n'aidaient pas beaucoup.

Si vous exécutiez un travail qui imprimait des données sur des formulaires préimprimés (en particulier avec du papier en plusieurs parties ou du papier rigide), vous devrez également consacrer beaucoup de temps à surveiller le récepteur 1403 pour vous assurer que vous ne vous retrouvez pas avec des formulaires. se répandre sur le sol plutôt que de s'empiler proprement dans l'empileur. Les formulaires épais avaient tendance à ne pas s'empiler correctement, surtout si l'imprimante effectuait de nombreux mouvements à grande vitesse, comme c'était généralement le cas pour les travaux de formulaires.

Non représenté : l' unité de stockage 1406 contenant la mémoire principale . Le 1401 était équipé de jusqu'à 4K caractères 8 bits de mémoire principale ; le 1406 a augmenté sa capacité de mémoire à 8K, 12K ou 16K (ainsi le 1401 présenté ci-dessus a 4K).

L'unité de stockage sur disque 1405 modèle 1 avait une capacité de « 10 millions de caractères alphanumériques stockés sur 25 disques » (plateaux). Le modèle 2 contenait 20 millions de personnages sur 50 plateaux. Chaque plateau est accessible par son propre bras d'accès (tête de lecture/écriture). Il s'agit de l'un des premiers lecteurs de disque de production, le descendant direct du fichier disque IBM 305 original introduit avec son ordinateur RAMAC (RANdoM ACcess) en 1956. "La méthode de traitement des données en ligne conserve en permanence les enregistrements d'une entreprise dans -état à jour. Toute transaction affectant une entreprise peut être traitée lorsqu'elle se produit, et tous les enregistrements et comptes concernés sont mis à jour immédiatement. Les dirigeants d'une organisation disposent, à tout moment, d'informations représentant l'état de n'importe quel compte à ce moment-là. moment."

Département des anecdotes

De Bob Resnikoff, peut-être la seule personne dans l'équipe ici depuis plus longtemps que moi* :

Il me semble me souvenir (même si je ne peux pas en être certain) que nous avons utilisé le 1401 pour traiter les bandes d'impression du 7090 (ou 7094). Étant donné que le 7090 était « si rapide », son utilisation pour imprimer des résultats était considérée comme un gaspillage de ressources. Ainsi, les sorties d'impression et de perforation étaient écrites sur bande (parité paire pour le texte, impaire pour le binaire) qui était ensuite traitée sur le 1401. J'ai toujours aimé le 1401 ; Je m'en souviens comme étant plutôt élégant et économique dans son utilisation du stockage (les mots n'étaient que aussi longs que vous en aviez besoin).

Celui-ci est de moi ...

Lorsque j'étais dans l'armée en Allemagne au milieu des années 1960 , au quartier général de la 7e armée à Stuttgart, Patch Barracks, nous avions un mobile 1401. Il se trouvait dans une GROSSE remorque de camion. Quand nous partions en manœuvres, il nous accompagnait. La remorque était attelée à deux et demi , et un gigantesque générateur à essence était attelé à la remorque. Une fois que nous étions déployés dans les bois ou ailleurs, les côtés de la remorque se télescopaient et vous aviez une salle des machines assez grande pleine de poinçons, de vérificateurs , de 1401, de lecteurs de bande, de bureaux, etc. Peut-être que les poinçons et les vérificateurs étaient là. une bande-annonce séparée, tout est nuageux maintenant. Je n'étais pas assez exalté pour avoir quelque chose directement à voir avec l'ordinateur, je faisais les frappes et les EAM ( 407 ,trieur , etc). Je n'avais aucune idée à quoi tout cela servait, sauf qu'on l'appelait un système d'information de commandement et de contrôle (CCIS). Quoi qu'il en soit, il a fait son travail, quel qu'il soit, pendant des semaines entières dans les profondeurs de la Forêt Noire, quelle que soit la quantité de boue que nous retrouvions.

En juillet 2006, Wade Harper, qui travaillait au CCIS à la même époque, m'a dit :

Il est difficile de croire que nous avions 12 E6 et 12 E7, 3 Lt et 2 ou 3 WO pour programmer un ordinateur avec SEULEMENT 8 Ko de mémoire.

Ouais. Btw, E6 et E7 sont des niveaux de rémunération enrôlés. LT est lieutenant. L'adj est adjudant, qui se situe entre enrôlé et officier. Les adjudants sont généralement des pilotes d’hélicoptère. Les hommes enrôlés (c'étaient en effet tous des hommes), à une exception près, étaient des spécialistes et non des sous-officiers (sous-officiers, c'est-à-dire des sergents), ce qui signifie qu'ils avaient la même solde que les sergents sans avoir à diriger les gens. C'est une bonne idée, je pense : promouvoir les gens en fonction de leurs compétences et de leurs performances, en leur permettant de continuer à faire ce pour quoi ils sont bons sans les forcer à accéder à la direction. (Apparemment, l’armée a abandonné cette pratique il y a quelques années.) Plus tard, Wade a expliqué ce que faisait réellement le 1401 au CCIS :

Le 1041 a été programmé pour le MRS (Military Report System) sur le terrain. Il s’agissait d’une simple base de données séquentielle sur bande. 1 bloc pour chaque rapport. Chaque bureau du siège soumettait des informations sous forme de carte qui étaient enregistrées sur bande comme entrée dans MRS. Nous ne pouvions pratiquement rien programmer avec seulement 8 Ko de RAM. Chaque rapport devait avoir le même format. Pas de calculs individuels. Un jour, nous étions en pleine tempête et Jodie Powers s'est demandé si nous pouvions d'une manière ou d'une autre mettre 1 ou 2 Ko de code sur la bande avec chaque bloc de données. Nous pourrions alors individualiser chaque rapport. Donc je l'ai finalement programmé et ça marche très bien. Nous avons également programmé des éléments pour le travail en garnison. J'avais toutes les munitions conventionnelles en Europe. Spurling (parce qu'il parlait allemand) et je pense que Jerry Cook avaient le programme d'ordres de marche (en cas de guerre). Je ne me souviens pas des autres projets. Nous sommes allés dans de nombreux quartiers généraux de bataillon pour mendier du travail. Je suis resté dans l'armée pendant 20 ans. J'ai ensuite travaillé comme programmeur système sur IBM 360/370 et autres jusqu'à ma retraite définitive en 1996. J'ai eu la chance d'apprendre la programmation informatique dans l'armée.

_____________________________

*

Écrit avant 2011, date à laquelle j'ai été licencié. Quelques années plus tard, Bob aussi, après à peine 50 ans. Fini l’ancien et place au nouveau !

Leçons de la jungle

par Gary H. Anthes

Gary Anthes a rédigé ce qui suit le 30 mars 2005 : « Ma petite contribution à la 1401 Appreciation Society et à l'Association des anciens programmeurs d'Autocoder est la pièce jointe, une chronique que j'ai écrite pour Computerworld il y a quelques années. Profitez-en. » [ Computerworld , 20 août 1990, Manager's Journal, p.60. BYLINE : Par Gary H. Anthes. Anthes, correspondant de Computerworld à Washington, DC, est un ancien lieutenant de vaisseau de la marine américaine et a été directeur adjoint du traitement des données au dépôt d'approvisionnement de la marine à Da Nang, au Vietnam.]

Les roquettes ennemies arrivaient toujours de nuit, mais elles n'étaient pas bien ciblées et causaient rarement beaucoup de dégâts. Et quand un copain a été mordu par un serpent venimeux alors qu’il se cachait dans un bunker pendant une alerte rouge, j’ai décidé de rester au lit chaque fois que les roquettes arrivaient.

Mais juste avant l’aube du 24 février 1970, le Viet Cong a eu de la chance et j’ai appris ce qu’était la reprise après sinistre.

Une roquette lancée depuis quelque part dans la jungle vietnamienne a touché le dépôt d'approvisionnement de la marine américaine près de Da Nang, atterrissant miraculeusement sur une pile de 6 000 mines antichar. Les mines qui ont explosé ont envoyé des ondes de choc à travers le dépôt, détruisant le centre de traitement de données où je travaillais. Les explosions secondaires se sont poursuivies pendant 13 heures.

Lorsque j'ai entendu la gigantesque explosion dans mon camp à plusieurs kilomètres de là, j'ai immédiatement pensé au boîtier gris contenant les cinq bandes qui étaient mises à jour chaque jour et emportées hors site au cas où le traitement informatique devrait un jour être transféré vers les installations d'urgence de la Marine aux États-Unis. Philippines. Mais la mallette contenant les fichiers de données de sauvegarde n'était pas à son endroit familier près de mon lit ; J'avais oublié de l'emporter avec moi la veille au soir. Avec des visions de cours martiales dansant dans ma tête, je me suis rendu au dépôt d'approvisionnement pour participer aux efforts de nettoyage et de récupération.

Bien que le bâtiment abritant le centre informatique se soit effondré, l'ordinateur IBM 1401 et sa coterie de machines électromécaniques à cartes perforées semblaient plus ou moins intacts, bien que recouverts de tonnes de poussière et de débris. Et l'étui contenant les cassettes magnétiques était là où je l'avais laissé, apparemment indemne.

Deux ingénieurs civils d'IBM sont rapidement arrivés sur les lieux, et s'ils ont dormi un peu au cours des jours suivants, cela n'était pas visible. L'ordinateur a été transporté vers un entrepôt intact à proximité, où Navy Sea Bees a travaillé 24 heures sur 24 pour installer un plancher surélevé et la climatisation. Grâce à ces efforts héroïques et aux aspirateurs de puissance industrielle d'IBM, l'équipement a été nettoyé et fonctionnel en une semaine.

L'IBM 1401 - un prédécesseur du System 360 - possédait toute la puissance de traitement et la mémoire des jeux d'arcade d'aujourd'hui, mais il fonctionnait trois équipes par jour, sept jours sur sept, gardant la trace d'un inventaire de 105 000 articles prenant en charge des réquisitions d'une valeur de 32 millions de dollars. un mois. Bien que l'ordinateur et ses applications de contrôle des stocks aient été essentiels à la mission de la Marine consistant à fournir des troupes de combat, la reprise après sinistre a été exécutée si rapidement que les hauts gradés de la Marine ont choisi de ne pas m'envoyer aux Philippines avec les bandes de sauvegarde. Ainsi, j'ai échappé à une cour martiale et je n'ai jamais su si les explosions avaient transformé les morceaux de bandes en soupe à l'alphabet.

Il y a quelques leçons dans tout cela pour le gestionnaire de centre de données d'aujourd'hui, aucune d'elles n'ayant à voir avec les roquettes Viet Cong, les mines antichar ou les serpents venimeux. Tout d’abord, attendez-vous à l’inattendu. Deuxièmement, disposez d’un contrat de service en or soutenu par des personnes dévouées et compétentes. Enfin, si c'est vous qui êtes chargé du dossier des bandes de sauvegarde, ne quittez pas votre travail sans cela.

Département des services correctionnels

Ce qui suit a été reçu de Bill Nugent en mars 2005 :

Lorsqu'on parle de capacité de mémoire, la plupart des gens comprennent 4K, 12K, 16K comme signifiant 4096, 12288 et 16384. L'IBM 1401 avait des capacités de mémoire de 4000, 8000, 12000 et 16000 mots. Je voudrais peut-être expliquer la différence. De plus, chaque emplacement mémoire était un mot et non des caractères de 8 bits. L'un des bits n'était pas accessible car il s'agissait d'un bit de parité et un autre bit était le Word Mark (WM) qui marquait le début d'une instruction (lecture) et la fin d'un champ de données (lecture en mémoire).

Les 1 402 cinq trémies de sortie (empileurs) étaient une fonctionnalité très utile. Par défaut, le perforateur dépose la carte dans l'empileur de gauche et éventuellement dans le deuxième en partant de la gauche ou dans l'empileur du milieu. Le lecteur est tombé par défaut dans l'empileur de droite et éventuellement dans le deuxième à partir de la droite ou de l'empileur du milieu. J'ai utilisé de nombreux programmes et j'ai écrit un programme ou deux qui liraient les cartes de données dans l'empileur central par défaut, à moins que la carte ne soit remplacée, auquel cas elle tomberait dans la seconde à partir de l'empileur de droite et le perforateur de carte percerait un remplacement. et déposez-le dans l'empileur central.

La seule chose bizarre à propos du 1401 était que le lecteur de carte lisait les adresses 001 à 080. Lorsque le bouton Charger était enfoncé, le lecteur de carte lisait la première carte, le registre I-Addr était réglé sur 001, donc l'exécution commençait à l'adresse 001. et ainsi le chargeur de démarrage commencerait (faites-moi savoir si vous souhaitez une explication plus approfondie sur le chargeur de démarrage). Le perforateur de carte perforait de l'adresse 101 à 180 et l'imprimante imprimait de 201 à 132, l'adresse 200 étant utilisée pour le contrôle des canaux (expression de droite).

Étant donné que l'ordinateur était doté de mots de longueur variable, il était facile d'écrire un programme en utilisant l'arithmétique de longueur variable. Un 1401 avec l'option facultative d'instruction multiplier/diviser pourrait multiplier deux nombres décimaux de 80 en environ 15 minutes avec une seule instruction.

De Keith Williams, 1er mai 2006 :

Je viens de trouver vos pages sur le 1401 à http://www.columbia.edu/cu/computinghistory/1401.html

Cela m'a fait grand plaisir car j'ai rejoint IBM en octobre 1959, à peu près au moment de l'annonce de cette machine. Le 1401 a été le premier ordinateur que j'ai connu et probablement le seul que j'ai compris en profondeur. J'ai appris à programmer la machine en 1960 et, en 1961, je l'enseignais à d'autres employés d'IBM et à des programmeurs clients.

Je me sens obligé de corriger un petit fait contenu sur votre page. Autocoder n'était pas le premier langage de programmation du 1401. Le répertoire d'instructions et le système d'adressage de la mémoire étaient suffisamment simples pour vous permettre de coder des routines simples en langage machine, mais le premier programme assembleur était connu sous le nom de SPS (Symbolic Programming System). Ce système de programmation a été annoncé par IBM avec la machine.

La plupart des premiers 1401 (qui ont remplacé les systèmes de comptabilité par cartes perforées) se composaient simplement de l'unité de traitement 1401, d'un lecteur/poinçon de carte 1402 et d'une imprimante 1403. Ils n'avaient pas d'unités de bandes ou de disques, et en fait ces unités ne figuraient pas dans la première annonce. Autocoder nécessitait une unité de bande ou de disque pour traiter votre programme symbolique afin de produire le code objet. L'Autocoder a été mis à disposition pour la première fois sur le 1410, et une version 1401 n'est apparue qu'à la fin de 1961.

Jusque là nous programmions le 1401 en SPS (Symbolic Programming System). Le programme assembleur SPS était conservé dans une pile de cartes perforées. Le programme symbolique du programmeur était également inséré dans des cartes et placé derrière l'assembleur SPS dans la pile de lecture du 1402. En appuyant sur le bouton "Load", l'assembleur SPS était chargé dans la mémoire centrale du 1401 et lisait et traitait immédiatement le programme symbolique de l'utilisateur. programme. La traduction était un processus en deux étapes : d'abord, un jeu partiellement traduit était découpé du côté perforation du 1402. Ce programme partiellement traduit était ensuite réinjecté dans le côté lecture du 1402 et, au cours de cette deuxième passe, un programme objet entièrement traduit. a été frappé du côté du poinçon.

Le 1401 était fourni avec un choix de 5 tailles de mémoire centrale différentes. Pour un calcul pratique « autonome », la taille minimale de la mémoire était de 4 Ko caractères, mais vous pouviez avoir des configurations de mémoire de 8, 12 ou 16 Ko. Il était également fourni avec une configuration de mémoire minimale de 1,4 Ko pour les systèmes destinés à être utilisés comme système d'impression hors ligne pour la série IBM 700/7000, beaucoup plus puissante.

Pour clarifier un point soulevé par Bill Nugent, la plus petite unité de mémoire adressable de la série 1400 était connue sous le nom de « caractère » et se composait de huit bits binaires (physiquement, huit noyaux de ferrite). C'était l'équivalent de ce que nous appelons aujourd'hui un « octet », mais ce terme n'est entré en usage qu'avec l'annonce des machines de troisième génération (System /360). Comme l'explique Bill, six des bits ont été utilisés pour le codage des caractères, en utilisant un système connu sous le nom de BCD basé sur le code utilisé dans les cartes perforées IBM. Le septième bit était utilisé comme bit de parité et le huitième comme « marque de mot ». Un « Mot » sur la série 1400 consistait en un nombre variable de positions de caractères consécutives, la dernière portant le bit « Word Mark ». On l'appelait donc une machine à longueur de mots variable, contrairement à la longueur de mot fixe des 709 et 650 qui l'avaient précédé. Chaque instruction en langage machine constituait un « mot » et pouvait varier en longueur entre 1, 4, 7 et 8 caractères, le dernier portant une marque verbale. Les mots de données étaient, bien entendu, de longueur totalement variable et étaient traités caractère par caractère dans l'ordre jusqu'à ce que la marque verbale soit rencontrée.

Plus d'histoires...

De Karen B. McLaughlin, 24 août 2006 :

J'ai été l'un des premiers programmeurs SPS, débutant au Lawrence Radiation Laboratory (LRL) en 1961, fraîchement sorti de l'UC Berkeley. Keith Williams a clarifié de nombreux détails que je ne pouvais pas reconnaître dans les autres souvenirs précédant sa contribution. Ses descriptions nous ont rappelé ce que nous, les programmeurs, avons dû traverser pour tester et déboguer, notamment charger/décharger des cartes perforées et s'assurer que le papier s'empilait correctement. Personne n'a mentionné la frappe au clavier, mais c'était une autre compétence que nous devions tous acquérir parce que le personnel de frappe était occupé à perforer les cartes de données puisque nous n'avions pas de lecteurs de bande. Une caractéristique importante du 1401 (et d'autres de son époque) était que, comme il n'y avait pas de système d'exploitation, toute erreur pouvait être attribuée au programme principal, faisant du débogage un cas de résolution de problème relativement simple.

Un autre point à propos du 1401 : la console avait des commutateurs de bits qui permettaient à un programmeur de changer de noyau de manière dynamique, ce qui permettait le débogage à la volée - à condition que vous connaissiez Hollerith. Étant donné que l’équipe de programmation ne effectuait des tests pratiques qu’une heure par jour, c’était une fonctionnalité utile.

La conception du programme devait être élégante et frugale, utilisant des superpositions et une structure avant que le terme ne soit inventé. Aujourd'hui, de nombreuses personnes possèdent un PDA et un téléphone portable, chacun doté de plus de mémoire que le premier ordinateur que nous avons utilisé pour créer le traitement de la paie de plus de 5 000 employés chez LRL Berkeley et Livermore en 1968.

Je suis resté dans le domaine informatique, rencontrant de nombreuses machines, langages, projets et titres de poste différents, et j'ai finalement pris ma retraite en 1999 après 25 ans au Jet Propulsion Laboratory. Avec un joyeux sentiment d'excès, peut-être engendré par mes premières expériences sur le 1401, je viens de terminer la construction d'un ordinateur personnel contenant près de 500 Go de stockage, bien plus que ce que je pourrai jamais utiliser.

J'ai vécu une aventure merveilleuse et stimulante au fil des années, mais j'ai toujours pensé que programmer et faire fonctionner le 1401 était ce qui était le plus amusant.

Robert N. Sammer, 21 mai 2007 :

Après avoir lu les articles sur votre site Web, j'aimerais ajouter ce qui suit.

En 1962, j'ai rejoint le département des opérations informatiques du bâtiment IBM New York Time/Life en tant qu'opérateur informatique 1401.

Mes responsabilités consistaient notamment à mettre sur bande tous les travaux informatiques entrants que les programmeurs soumettaient au centre à l'aide du satellite 1401. Cela permettait aux cadres principaux actuels (7090, 7040/44) de traiter les travaux sans les fonctions d'entrée/sortie fastidieuses.

Le centre informatique de New York était un satellite du centre informatique principal de Poughkeepsie NY, donc la deuxième équipe, à New York, enverrait à Poughkeepsie, via des lignes téléphoniques appelées télétraitement, le trop-plein de tâches qui ne pouvaient pas être traitées à New York.

Comme nous avions une date limite à respecter et qu'il y avait de nombreux travaux à télétraiter à Poughkeepsie, j'ai empilé la multitude de travaux sur le plateau d'alimentation de lecture de cartes qui pouvait contenir jusqu'à 3 000 cartes, j'ai appuyé sur Démarrer sur l'ordinateur et le processus de transfert de carte a commencé. . Lorsqu'il y avait une vérification du lecteur (le lecteur détectait une erreur entre les brosses de lecture et de vérification), l'opérateur devait retirer soigneusement les cartes dans la trémie de lecture des cartes afin que l'intégrité de la séquence des cartes soit préservée ; retirez les cartes du haut du plateau d'alimentation de lecture afin que les cartes restantes sur le plateau puissent être poussées vers le haut afin que l'opérateur puisse rincer les cartes à l'intérieur du lecteur. Désormais, l'opérateur vérifierait la carte par erreur pour voir s'il y avait une raison valable pour la vérification du lecteur. Si aucune n'était visible, l'opérateur remplaçait toutes les cartes dans le bon ordre et démarrait le lecteur. Si rien ne se passait, le traitement de la carte à la bande continuerait. Si la même carte était vérifiée par un autre lecteur, le travail serait éliminé du flux de travaux et le programmeur en serait informé.

Une nuit, le lecteur chargé de cette tâche n'arrêtait pas de donner de faux contrôles. Il lisait cinq ou six cartes et le lecteur vérifiait la suivante. Après avoir effectué la procédure décrite ci-dessus, le lecteur lit neuf ou dix cartes et vérifie la carte suivante.

J'ai demandé à mon superviseur d'avoir les CE (Customer Engineer) pour vérifier le lecteur. On m'a dit que les CE avaient effectué plusieurs contrôles au cours du premier quart de travail, mais qu'ils n'avaient trouvé aucune raison pour les contrôles des lecteurs. Après environ la vingtième vérification du lecteur, alors que le temps presse, j'ai fait ce que ferait tout bon réparateur américain de bricolage.

(Pour atténuer le stress d'un quart de travail de huit heures sur mes pieds, j'ai acheté une paire de chaussures à semelles en caoutchouc. Le design de la semelle m'a rappelé un champ nouvellement labouré avec de petites vallées et des pics acérés qui allaient d'un côté à l'autre sur chaque chaussure.)

Si cela ne fonctionne pas après l'avoir vérifié et n'avoir rien trouvé d'anormal, donnez un coup de pied ! C'est exactement ce que j'ai fait. L'empreinte de mes chaussures a été laissée sur la porte du 1401 à cause de la poussière normale trouvée sur les sols surélevés en carrelage blanc de la salle des opérations.

Le lecteur n'a pas mal fonctionné pendant le reste de mon travail, lisant parfaitement. Il a fonctionné pendant la troisième équipe, la première équipe et lorsque je suis retourné au travail, l'empreinte de ma chaussure était toujours là et j'ai reçu de nombreux remerciements de la part de mes collègues opérateurs pour avoir réparé le lecteur.

Les CE ont même été surpris de ma solution. L'empreinte est restée quelques jours mais a été retirée avant que le responsable CE et ses invités ne visitent le service des opérations. En raison des articles de votre site Web et en me demandant ce qui sera fait, le cas échéant, pour le 50e anniversaire de l'avènement du 1401, je me suis recyclé pour programmer le 1401 et j'ai écrit un petit programme utilitaire pour celui-ci et je suis sûr à 95 % qu'il le fera. fonctionne s'il est entré dans le 1401. Oui, j'ai joué à l'ordinateur 1401 pour tester le programme, et oui, il était difficile de traduire le codage SPS en un jeu d'objets comme nous l'appelions en 1962, mais je me suis AMUSÉ. Et cela après 38 ans de carrière dans la conception de systèmes informatiques IBM Main Frame, la rédaction de spécifications, le codage, le débogage, les tests, etc.

Commentaire...

4 juillet 2007 :

Edward G. Nilges

13A 6F 1F Wang Long Village

Yung Shue Wan

Île de Lamma

HONG KONG

Cher Franck :

En tant qu'ancien programmeur IBM 1401, qui a débogué un compilateur de code objet uniquement pour Fortran après qu'IBM ait supprimé le support du 1401 en janvier 1971, et qui a découvert par moi-même des mathématiques de précision supplémentaire et de nouvelles formes d'arithmétique « d'adresse modifiée », je suis en fait assez Je suis en colère de lire que l'armée avait les ressources nécessaires pour installer inutilement un « centre de données 1401 » dans les bois d'Allemagne, tandis que mon université mendiait des ressources pour enseigner à ses étudiants.

En effet, le centre de données 1401 n’a probablement pas fait grand-chose et était un gâchis.

J'admire le travail acharné et l'héroïsme des techniciens en informatique qui ont récupéré le 1401 à Da Nang après une attaque à la roquette du Viet Cong. Cependant, en même temps que j'apprenais le 1401, je marchais contre cette guerre folle, aussi folle que la guerre en Irak d'aujourd'hui, où, sans aucun doute, l'héroïsme, l'abnégation et le travail acharné de militaires modestes et peu glamour - les spécifications sont gaspillées pour que les officiers au grade de drapeau puissent être promus, et le pire président de l'histoire américaine peut prétendre qu'il est un homme.

Mon expérience directe en tant que professionnel du traitement des données au cours des trente années suivantes a été qu'en Amérique, le secteur civil était systématiquement privé de temps et de ressources pour développer des systèmes efficaces et fiables pour les besoins humains afin que notre établissement militaro-industriel puisse gaspiller de l'argent dans des entreprises idiotes. du transport d'un ordinateur central dans un camion à "Star Wars".

J'ai découvert en janvier 1972 la conséquence des discours machistes des ingénieurs clients d'IBM qui avaient appris en tant que recrues leurs grands discours machistes, parce que l'un d'eux avait fait payer mon université, une université privée de fonds parce que l'Université Roosevelt avait le mauvais goût d'éduquer les travailleurs. des gens de classe et des gens de couleur, pour avoir « réparé » le compilateur IBM 1401 Fortran pour qu'il fonctionne sur la configuration de mémoire minimale de Roosevelt... en utilisant la mémoire indisponible pour passer à un sous-programme qui recouvrait l'interpréteur d'exécution.

Cette « solution » n’avait jamais été testée, mais lancée avec mépris à mon professeur de mathématiques, qui essayait simplement de donner aux étudiants de la classe ouvrière et aux étudiants de couleur leur première éducation en informatique afin qu’ils puissent rivaliser avec les enfants riches de l’Université de Chicago.

L'ingénieur client ne savait même pas, et n'était apparemment pas curieux de découvrir, que l'Université Roosevelt payait et disposait du matériel supplémentaire pour effectuer des multiplications et des divisions en mémoire. J'ai supprimé son "correctif" et inséré l'instruction de multiplication correcte, et le compilateur a fonctionné et a ensuite été utilisé dans les classes.

L'incuriosité intellectuelle et les propos sexistes des ingénieurs clients (qui aimaient travailler chez Roosevelt, disaient-ils, parce que c'était déjà démodé, avec une fenêtre en verre sur Michigan Avenue propice à l'observation des filles) faisaient partie intégrante d'une quasi-politique militaire et corporative. - une élite qui, hier et aujourd'hui, insiste pour « conduire » l'Amérique dans une guerre permanente en Irak (qui résultait d'un manque de curiosité intellectuelle quant à savoir si Saddam Hussein possédait des armes de destruction massive) et un nombre croissant d'Américains tourmentés au travail et en dehors par des systèmes de données construits par des hommes ignorants, qui ne leur fournissent pas d'assurance maladie, qui ne parviennent pas à fournir aux anciens combattants les avantages qu'ils ont gagnés, et qui ne parviennent pas à enregistrer leurs antécédents de crédit avec précision et font de leur dossier de crédit une proie pour la classe criminelle.

La « Grande Société » de Lyndon Baines Johnson et sa lueur d'espoir avaient déjà disparu en 1972, et en conséquence l'Université Roosevelt et ses étudiants étaient encore de plus en plus incapables d'accéder aux fonds pour l'éducation ou pour répondre aux véritables besoins humains, car en 1972, le bombardement insensé de Nixon La campagne et la déstabilisation du gouvernement du Chili ont eu la priorité.

C'est pour cette raison que j'ai participé, travaillant 12 heures par jour, à maintenir en vie le système IBM 1401 de l'Université Roosevelt jusqu'à ce qu'il puisse être mis à niveau. J'ai développé un ensemble de logiciels et de procédures informatiques fiables qui ont permis au registraire de noter avec précision les étudiants et à l'économe de payer les employés, à une époque où cela signifiait pour la plupart coder en langage assembleur SPS, avec le compilateur Fortran disponible pour les rapports.

Pour cette raison, je suis consterné de voir le complexe militaro-industriel et les hommes vieillissants rejetés par ce complexe célébrer l’utilisation du 1401 pour tuer quatre millions de personnes au Vietnam. Je suis également officiellement (sur comp.risks) en train de remettre en question la prise de contrôle du Computer Museum de Mountain View par des types de matériel (et des conservateurs politiques qui, de manière inappropriée, insèrent des diatribes pro-Bush dans les communications techniques) qui reconstruisent le 1401 en matériel, gaspillant ainsi des ressources rares et, éventuellement, reconstruisant des technologies toxiques, alors que le Musée de l'informatique pourrait présenter bien plus de technologies « profondes » du passé en matière de simulation logicielle.

Vous pouvez lire plus de détails sur mes premières aventures avec une compilation sur le 1401 dans mon livre sur une technologie moderne. Il s'agit de « Construisez votre propre langage et compilateur Net » (Apress 2004). Je reste convaincu que la plupart des efforts en matière de logiciels et de matériel en Amérique, hier et aujourd'hui, ne sont pas des entreprises techniques et intellectuelles sérieuses, mais des gâchis privés et publics destinés à montrer que "tout est sous contrôle"... lorsque les incidents de Manhattan en septembre 2001, et à Glasgow la semaine dernière, montrent que ce n'est pas du tout le cas et que détourner la technologie pour des démonstrations de force (voire un meurtre pur et simple, comme lorsque les systèmes de données sont utilisés pour suivre notre destruction de cibles depuis les airs) a créé l'anti -L'américanisme qui est aujourd'hui la norme dans d'autres pays.

Très Cordialement

Edward G.Nilges

Votre éditeur répond, tardivement (2015) :

L’armée américaine en Allemagne dans les années 1960 était relativement inoffensive. Un grand gaspillage d'argent et de ressources, certes, tout comme la guerre froide elle-même, mais cela n'a pas fait beaucoup plus de mal que d'écraser occasionnellement un poulet. Comme je l’ai répondu à Edward en 2007 (nous avons eu une longue correspondance), en 1965 « l’invasion américaine de la République dominicaine a été une véritable révélation pour moi (encore adolescent mais déjà dans l’armée), et elle s’est produite juste au moment où Johnson commençait à appeler 50 000 enfants par mois pour le Viet Nam. Je me suis demandé : dans quelle armée suis-je ? J'ai demandé à être libéré en tant qu'objecteur de conscience et j'ai passé ma dernière année dans l'armée à attendre qu'ils sachent quoi faire de ma demande.

Aujourd'hui, nous voyons le résultat des priorités américaines d'après-guerre : une grande partie du Moyen-Orient est en plein effondrement, le Mexique et l'Amérique centrale sont transformés en champs de bataille ; l’économie américaine en ruines, sauf pour ceux qui se trouvent tout en haut ; notre système politique déterminé à défaire tout ce qui a été accompli depuis l’arrivée au pouvoir de FDR ; la planète elle-même devient rapidement une décharge de déchets toxiques s’enfonçant dans une mer morte. Et c'est la courte liste. Je suis donc du côté d'Edward, mais c'est un site de nostalgie informatique :-) Néanmoins, c'est toujours bien de remettre les choses en perspective. (Ajout 2021 : si vous voulez savoir tout ce qu’il y a à savoir sur ma glorieuse carrière militaire, vous pouvez le lire ici .)

Encore d'autres histoires...

De Dave Brown, 6 août 2015 :

J'ai aimé lire votre page sur l'ordinateur IBM 1401. Cela m'a rappelé des souvenirs. Une chose dont je me souviens est que l'instruction de l'Autocoder "Store B-register", codée comme "SBR", a provoqué l'émission par le CPU d'un très court sursaut radio qui pouvait être capté par une radio à transistor FM placée au-dessus du boîtier du CPU. Il y avait donc des programmes qui jouaient des chants de Noël en émettant des SBR à la fréquence par seconde pour chaque note. L'imprimeur 1403 avait ses lettres sur une chaîne d'entraînement en forme de vélo avec 132 marteaux qui frappaient les caractères lors de leur passage. Un programme destiné à tester l'intégrité de la chaîne s'appelait « Chain Breaker ». Il imprimerait une ligne de chartes qui ferait tirer les 132 marteaux en même temps, ce qui exercerait une pression considérable sur la chaîne. Je me souviens qu'il y avait un bouton sur l'imprimante pour avancer ou retarder le timing du marteau, en fonction du nombre de copies carbone en cours d'impression, sinon le côté gauche ou droit de chaque lettre serait manquant. Et comme l'instruction SBR, il existait des programmes qui utilisaient le tir des marteaux pour prendre des notes afin de jouer des chants de Noël. Mon préféré était le "Little Drummer Boy".