IBM-a 1401

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

[ Zobacz galerię ]


Zdjęcie: Podręcznik referencyjny systemu przetwarzania danych IBM 1401 A24-1403- x .

IBM 1401 Data Processing System , komputer tranzystorowo-logiczny z zapisanym programem, wprowadzony na rynek w październiku 1959 r. Przy minimalnej konfiguracji wynoszącej 2500 dolarów miesięcznie był to pierwszy niedrogi komputer ogólnego przeznaczenia IBM, który miał zastąpić wszystkie maszyny księgowe i kalkulatory , które nadal stanowiły tańszą alternatywę dla komputerów IBM 650 i 70 x . Sprzedano lub wypożyczono tysiące egzemplarzy 1401; w rzeczywistości był to pierwszy komputer, w którym wdrożono 10000 jednostek. Model 1401 był komputerem dziesiętnym (nie binarnym), w którym słowa o zmiennej długości składały się z 8-bitowych bajtów zawierających 6-bitowy kod BCD ( kod dziesiętny kodowany binarnie).) znaków (plus bity parzystości i znaku słownego) i był przeznaczony głównie do zastosowań biznesowych (jego naukowym odpowiednikiem był 1620 ) . Model 1401 był pierwszym komputerem z serii komputerów IBM 1400, która później obejmowała modele 1410 , 1440 i 1460. Pierwotnie programowany wyłącznie w języku maszynowym lub asemblerze lub (nieco później) Autokoderem , co dla wielu osób okazało się trudne, model 1401 wkrótce został gospodarz jednego z najwcześniejszych języków programowania wysokiego poziomu zorientowanych na biznes, RPG (Generator programów raportów), co zwiększyło jego użyteczność i popularność [ 4 ]. Później do programowania naukowego dodano FORTRAN.

Według Hugh T. Hoskinsa, przed pojawieniem się Autokodera istniał asembler o nazwie SOPAT, dostarczony przez IBM. Miało to miejsce w 1962 roku w Szkole Biznesu Uniwersytetu Południowej Kalifornii. Zobacz także późniejsze komentarze Keitha Williamsa poniżej .

Model 1401 był tak popularny, że (według legendy) aplikacje 1401 nadal działały w 2000 r. na symulatorach 1401 (które same w sobie mogły być aplikacjami 70x0, a zatem działały na własnych symulatorach), co stanowiło szczególne wyzwanie przy konwersji na rok 2000 . Można się założyć, że programiści z lat 60., dysponujący zaledwie kilkoma tysiącami bajtów pamięci, nie „marnowali rdzenia” na lata czterocyfrowe!.

Na zdjęciu (od lewej do prawej; skorzystaj z linków do większych zdjęć):

Drukarka 1403 mogła wydrukować do 1400 132-kolumnowych linii na minutę, czasem więcej. Czytnik/dziurkacz 1402 mógł pomieścić 1000 kart (pół pudełka) w swoim zasobniku, odczytywał 800 kart na minutę i dziurkował 250 kart na minutę. Loren Wilton (z Burroughs/Unisys, który pracował z 1401 podczas studiów) zauważył (31 grudnia 2003 r.), że:

... jeśli wpuścisz garść kart do podajnika do odczytu (co zwykle miało miejsce podczas ładowania tacy, a i tak miało miejsce zaraz po uruchomieniu czytnika), taca wraz z podajnikiem do odczytu pomieściłaby całe pudełko kart karty z łatwością lub ponad 2000 kart.

Było to całkiem przydatne, ponieważ skracało czas potrzebny na ładowanie kart do czytnika i można było poświęcić go na zarządzanie dziurkaczem, który miał znacznie mniejszy zasobnik, oraz układarkami odczytu/dziurkowania, które tylko w każdym układaczu mieściło się maksymalnie około 800 do 1000 kart. Zwykle do czytnika używany był tylko prawy układarka, a lewy do dziurkowania, więc wielokrotne układacze niewiele pomagały.

Jeśli wykonywałeś zadanie polegające na drukowaniu danych na wstępnie zadrukowanych formularzach (zwłaszcza na papierze wielowarstwowym lub sztywnym), musiałbyś także poświęcić sporo czasu na monitorowanie układarki 1403, aby upewnić się, że nie skończyły się formularze rozsypując się po całej podłodze, zamiast układać je starannie w stosie. Grube formularze zwykle nie układały się dobrze, zwłaszcza jeśli drukarka wykonywała wiele wydruków z dużą szybkością, co jest typowe w przypadku formularzy.

Nie pokazano: jednostka pamięci 1406 zawierająca pamięć rdzeniową . Model 1401 był wyposażony w pamięć rdzeniową o rozdzielczości do 4K 8-bitowych znaków; model 1406 zwiększył pojemność pamięci do 8K, 12K lub 16K (stąd pokazany powyżej model 1401 ma 4K).

Jednostka pamięci dyskowej 1405 Model 1 miała pojemność „10 milionów znaków alfanumerycznych przechowywanych na 25 dyskach” (talerzach). Model 2 mieścił 20 milionów znaków na 50 talerzach. Dostęp do każdego talerza zapewnia własne ramię dostępowe (głowica odczytu/zapisu). Jest to jeden z najwcześniej produkowanych dysków twardych, będący bezpośrednim następcą oryginalnego IBM 305 Disk File wprowadzonego wraz z komputerem RAMAC (RANdoM Access) w 1956 roku. „In-line metoda przetwarzania danych pozwala na ciągłe utrzymywanie dokumentacji biznesowej w górę -aktualny status. Każda transakcja mająca wpływ na firmę może zostać przetworzona w momencie jej wystąpienia, a wszystkie dane i konta, których to dotyczy, są natychmiast aktualizowane. Kierownictwo organizacji ma w każdej chwili dostęp do informacji przedstawiających stan dowolnego konta w danym momencie za chwilę."

Dział Anegdot

Od Boba Resnikoffa, być może jedynej osoby zatrudnionej tutaj dłużej ode mnie*:

Wydaje mi się, że (choć nie jestem pewien), że do obróbki taśm drukowych z 7090 (lub 7094) używaliśmy 1401. Ponieważ model 7090 był „tak szybki”, używanie go do drukowania uznano za stratę zasobów. Zatem wydruk i dziurkowanie były zapisywane na taśmie (parzystość dla tekstu, nieparzysta dla plików binarnych), która była następnie przetwarzana na modelu 1401. Zawsze lubiłem model 1401; Pamiętam, że był elegancki i ekonomiczny w przechowywaniu (słowa były tylko tak długie, jak tego potrzebowałeś).

Ten jest u mnie ...

Kiedy w połowie lat sześćdziesiątych służyłem w armii w Niemczech , w kwaterze głównej 7. Armii w Stuttgarcie, w Patch Barracks, mieliśmy mobilny model 1401. Znajdował się w DUŻEJ przyczepie ciężarówki. Kiedy wychodziliśmy na manewry, towarzyszył nam. Do przyczepy doczepiono dwuipółtorową , a do przyczepy podłączono gigantyczny generator na gaz. Kiedy wysłano nas do lasu lub gdziekolwiek indziej, boki przyczepy wysuwały się teleskopowo i powstała dość duża maszynownia pełna stempli, weryfikatorów , 1401, napędów taśmowych, biurek itp. Może stemple i weryfikatory były w środku osobny zwiastun, teraz jest pochmurno. Nie byłem na tyle podekscytowany, aby mieć cokolwiek wspólnego bezpośrednio z komputerem, wykonywałem uderzenia klawiszy i EAM ( 407 ,sortownik itp.). Nie miałem pojęcia, do czego to wszystko służyło, poza tym, że nazywało się to System Informacji Dowództwa i Kontroli (CCIS). W każdym razie spełniał swoje zadanie, czymkolwiek był, przez wiele tygodni w głębi Schwarzwaldu, bez względu na to, w jak dużej ilości błota natrafiliśmy na ślad.

W lipcu 2006 roku usłyszałem od Wade’a Harpera, który był w tym samym czasie w CCIS, co rozmyślał:

Trudno uwierzyć, że mieliśmy 12 E6 i 12 E7, 3 Lt i 2 lub 3 WO, aby zaprogramować komputer z TYLKO 8K pamięci.

Tak. Btw, E6 i E7 to stopnie płacowe. LT jest porucznikiem. WO to chorąży, który znajduje się pomiędzy szeregowym a oficerem. Chorążowie to zazwyczaj piloci helikopterów. Werbownicy (w rzeczywistości byli to wszyscy mężczyźni), z jednym wyjątkiem, byli specjalistami, a nie podoficerami (podoficerami, czyli sierżantami), co oznaczało, że otrzymywali taką samą płacę jak sierżanci, bez konieczności kierowania ludźmi. Myślę, że to dobry pomysł: promować ludzi w oparciu o ich umiejętności i wyniki, pozwalając im robić to, w czym są dobrzy, bez zmuszania ich do objęcia stanowiska kierowniczego. (Najwyraźniej armia porzuciła tę praktykę kilka lat temu). Później Wade wyjaśnił, co właściwie 1401 robił w CCIS:

Model 1041 został zaprogramowany dla MRS (Military Report System) w terenie. Która była prostą, sekwencyjną bazą danych na taśmie. 1 blok na każdy raport. Każde biuro centrali przesyłało informacje w formacie karty, które były nagrywane na taśmę jako dane wejściowe dla pani poseł. Ledwo moglibyśmy cokolwiek zaprogramować mając tylko 8K RAM. Każdy raport musiał mieć ten sam format. Żadnych indywidualnych obliczeń. Któregoś dnia urządzaliśmy burzę stodołową i Jodie Powers zastanawiała się, czy moglibyśmy w jakiś sposób umieścić na taśmie 1 lub 2 kilobajty kodu z każdym blokiem danych. Wtedy moglibyśmy zindywidualizować każdy raport. W końcu udało mi się to zaprogramować i działa bardzo dobrze. Zaprogramowaliśmy także sprzęt do pracy garnizonowej. Miałem całą amunicję konwencjonalną w Europie. Spurling (ponieważ mówił po niemiecku) i, jak sądzę, Jerry Cook, mieli program rozkazów wymarszu (na wypadek wojny). Innych projektów nie pamiętam. Chodziliśmy do wielu dowództw batalionów, prosząc o pracę. Służyłem w wojsku przez 20 lat. Następnie pracował jako programista systemów na IBM 360/370 i innych, aż do przejścia na emeryturę w 1996 roku. Miałem szczęście uczyć się programowania komputerowego w wojsku.

_____________________________

*

Napisane przed 2011 rokiem, kiedy zostałem zwolniony. W ciągu kilku kolejnych lat Bob także, po około 50 latach. Wyjdź ze starym i wejdź z nowym!

Lekcje z dżungli

przez Gary'ego H. Anthesa

W dniu 30 marca 2005 r. Gary Anthes napisał co następuje: „Mój własny, niewielki wkład na rzecz 1401 Appreciation Society i Stowarzyszenia Absolwentów Programistów Autokodera znajduje się w załączniku, kolumna, którą napisałem dla Computerworld kilka lat temu. Miłego oglądania”. [ Computerworld , 20 sierpnia 1990, Manager's Journal, s. 60. BYLINE: Gary H. Anthes. Anthes, korespondent Computerworld w Waszyngtonie, jest byłym porucznikiem marynarki wojennej Stanów Zjednoczonych i był zastępcą dyrektora ds. przetwarzania danych w magazynie zaopatrzenia marynarki wojennej w Da Nang w Wietnamie.]

Rakiety wroga zawsze nadlatywały w nocy, ale nie były dobrze wycelowane i rzadko wyrządzały duże szkody. A kiedy kumpel został ukąszony przez jadowitego węża, gdy ukrywał się w bunkrze podczas czerwonego alarmu, zdecydowałem się pozostać w łóżku, ilekroć nadejdą rakiety.

Ale tuż przed świtem 24 lutego 1970 roku Viet Cong miał szczęście i dowiedziałem się o usuwaniu skutków awarii.

Rakieta wystrzelona gdzieś z wietnamskiej dżungli uderzyła w skład zaopatrzenia Marynarki Wojennej Stanów Zjednoczonych w pobliżu Da Nang, w cudowny sposób lądując na stosie 6000 min przeciwpancernych. Wybuchające miny wywołały falę uderzeniową w całym magazynie, spłaszczając centrum przetwarzania danych, w którym pracowałem. Wtórne eksplozje trwały 13 godzin.

Kiedy usłyszałem gigantyczną eksplozję w moim obozie kilka mil dalej, od razu pomyślałem o szarej walizce, w której znajdowało się pięć taśm, które były codziennie aktualizowane i zabierane poza teren budowy, na wypadek konieczności przeniesienia przetwarzania komputerowego do ośrodka ratunkowego Marynarki Wojennej w Filipiny. Jednak walizka zawierająca pliki kopii zapasowych nie znajdowała się w znajomym miejscu przy moim łóżku; Poprzedniego wieczoru zapomniałem go zabrać ze sobą. Z wizjami sądów wojskowych tańczących w mojej głowie, pojechałem do magazynu zaopatrzenia, aby pomóc w sprzątaniu i rekonwalescencji.

Chociaż budynek, w którym znajdowało się centrum komputerowe, zawalił się, komputer IBM 1401 i cała grupa elektromechanicznych maszyn do kart dziurkowanych wydawały się mniej więcej nienaruszone, choć pokryte tonami kurzu i gruzu. A etui z taśmami magnetycznymi leżało tam, gdzie je zostawiłem, najwyraźniej nieuszkodzone.

Wkrótce na miejscu zdarzenia pojawiło się dwóch cywilnych inżynierów IBM i jeśli w ogóle spali przez kilka następnych dni, nie było tego widać. Komputer przewieziono do pobliskiego nienaruszonego magazynu, gdzie firma Navy Sea Bees przez całą dobę pracowała przy montażu podłogi podniesionej i klimatyzacji. Dzięki tym bohaterskim wysiłkom i mocnym odkurzaczom IBM sprzęt został wyczyszczony i w ciągu tygodnia ponownie zaczął działać.

IBM 1401 — poprzednik Systemu 360 — miał całą moc obliczeniową i pamięć współczesnych gier arkadowych, ale działał na trzy zmiany dziennie, siedem dni w tygodniu i śledził zapasy obejmujące 105 000 pozycji obsługujących zamówienia o wartości 32 milionów dolarów miesiąc. Chociaż komputer i jego aplikacje do kontroli zapasów miały kluczowe znaczenie dla misji Marynarki Wojennej polegającej na zaopatrywaniu oddziałów bojowych, przywracanie danych po awarii zostało przeprowadzone tak szybko, że dowództwo Marynarki Wojennej zdecydowało się nie wysyłać mnie na Filipiny z taśmami zapasowymi. W ten sposób uniknąłem sądu wojskowego i nigdy nie dowiedziałem się, czy eksplozje zamieniły kawałki taśm w zupę alfabetyczną.

Z tego wszystkiego wynika kilka lekcji dla dzisiejszego menedżera centrum danych, a żadna z nich nie ma nic wspólnego z rakietami Viet Congu, minami przeciwpancernymi czy jadowitymi wężami. Po pierwsze, spodziewaj się nieoczekiwanego. Po drugie, miej pozłacaną umowę serwisową popartą oddanymi, kompetentnymi ludźmi. Na koniec, jeśli to Tobie powierzono sprawę taśm do tworzenia kopii zapasowych, nie wychodź bez niej z pracy.

Departament Więziennictwa

W marcu 2005 r. otrzymano od Billa Nugenta następującą treść:

Mówiąc o pojemności pamięci, większość ludzi rozumie 4K, 12K, 16K jako oznaczające 4096, 12288 i 16384. IBM 1401 miał pojemność pamięci 4000, 8000, 12000 i 16000 słów. Może warto wyjaśnić różnicę. Również każda lokalizacja pamięci była słowem, a nie 8-bitowymi znakami. Jeden z bitów nie był dostępny, ponieważ był to bit parzystości, a drugi był znakiem słownym (WM), który oznaczał początek instrukcji (odczyt w górę) i koniec pola danych (odczyt w dół z pamięci).

Bardzo przydatną funkcją było 1402 pięć lejów wyjściowych (układarek). Domyślnie dziurkacz upuszcza kartę w lewym układaczu i opcjonalnie w drugim od lewej lub środkowym układaczu. Czytnik domyślnie wpadał do prawego układarki i opcjonalnie do drugiego od prawej lub środkowego układarki. Korzystałem z wielu programów i napisałem jeden lub dwa programy, które domyślnie wczytywały karty danych do środkowej tacy, chyba że karta miała zostać wymieniona, w takim przypadku spadłaby do drugiej od prawej układarki, a dziurkacz karty wbiłby nową i wrzuć go do środkowej tacy.

Jedyną dziwną rzeczą w 1401 było to, że czytnik kart wczytywał adresy od 001 do 080. Po naciśnięciu przycisku Load czytnik kart wczytywał pierwszą kartę, rejestr I-Addr był ustawiony na 001, więc wykonywanie rozpoczynało się pod adresem 001 i tak rozpocznie się program ładujący (daj mi znać, jeśli chcesz uzyskać bardziej szczegółowe wyjaśnienia na temat modułu ładującego). Dziurkacz karty będzie uderzał z adresów 101 do 180, a drukarka drukowała od 201 do 132, przy czym adres 200 był używany do sterowania kanałem (prawa fraza).

Ponieważ komputer miał zmienną długość słowa, łatwo było napisać program przy użyciu arytmetyki zmiennej długości. Model 1401 z opcjonalną opcją instrukcji mnożenia/dzielenia może pomnożyć dwie liczby dziesiętne 80 w ciągu około 15 minut za pomocą jednej instrukcji.

Od Keitha Williamsa, 1 maja 2006 r.:

Właśnie znalazłem Twoje strony dotyczące 1401 pod adresem http://www.columbia.edu/cu/computinghistory/1401.html

Sprawiło mi to ogromną przyjemność, ponieważ dołączyłem do IBM w październiku 1959 roku, mniej więcej w czasie ogłoszenia tej maszyny. 1401 był pierwszym komputerem, jaki znałem i prawdopodobnie jedynym, który rozumiałem dogłębnie. Nauczyłem się programować maszynę w 1960 roku, a do 1961 roku uczyłem jej innych pracowników IBM i programistów klientów.

Czuję się w obowiązku sprostować jeden drobny fakt zawarty na Waszej stronie. Autokoder nie był pierwszym językiem programowania 1401. Repertuar instrukcji i system adresowania pamięci były na tyle proste, że pozwalały na kodowanie prostych procedur w języku maszynowym, ale pierwszy program w asemblerze był znany jako SPS (Symbolic Programming System). Ten system programowania został ogłoszony przez IBM wraz z maszyną.

Wiele wczesnych modeli 1401 (które zastąpiły systemy księgowania kart dziurkowanych) składało się po prostu z jednostki przetwarzającej 1401, czytnika/dziurkacza kart 1402 i drukarki 1403. Nie mieli jednostek taśm ani dysków i faktycznie jednostki te nie figurowały w pierwszym ogłoszeniu. Autokoder potrzebował jednostki taśmowej lub dyskowej do przetworzenia programu symbolicznego w celu wygenerowania kodu wynikowego. Autokoder został udostępniony po raz pierwszy w modelu 1410, a wersja 1401 pojawiła się dopiero pod koniec 1961 roku.

Do tego czasu programowaliśmy 1401 w SPS (Symboliczny System Programowania). Program asemblera SPS znajdował się na stosie kart perforowanych. Symboliczny program programisty został również wydrukowany na kartach i umieszczony za asemblerem SPS na stosie odczytu 1402. Po naciśnięciu przycisku „Załaduj” asembler SPS został załadowany do pamięci rdzeniowej 1401 i natychmiast odczytał i przetworzył symbolikę użytkownika program. Tłumaczenie było procesem dwuetapowym - najpierw po stronie dziurkowanej 1402 wycięto częściowo przetłumaczoną talię. Ten częściowo przetłumaczony program został następnie wprowadzony z powrotem na stronę odczytu 1402 i podczas drugiego przebiegu w pełni przetłumaczony program obiektowy został uderzony od strony ciosu.

Model 1401 był dostarczany z 5 różnymi rozmiarami pamięci rdzeniowej. Do praktycznych obliczeń „samodzielnych” minimalny rozmiar pamięci wynosił 4 KB znaków, ale można było mieć konfiguracje pamięci 8, 12 lub 16 KB. Został również dostarczony z minimalną konfiguracją pamięci 1,4 KB dla systemów, które miały być używane jako system drukarek offline dla znacznie wydajniejszych serii IBM 700/7000.

Aby wyjaśnić uwagę Billa Nugenta, najmniejsza adresowalna jednostka pamięci w serii 1400 była znana jako „znak” i składała się z ośmiu bitów binarnych (fizycznie ośmiu rdzeni ferrytowych). Był to odpowiednik tego, co obecnie nazywamy „bajtem”, ale termin ten wszedł do użytku dopiero po ogłoszeniu maszyn trzeciej generacji (System /360). Jak wyjaśnia Bill, sześć z tych bitów wykorzystano do kodowania znaków przy użyciu systemu znanego jako BCD, opartego na kodzie używanym w kartach dziurkowanych IBM. Siódmy bit został użyty jako bit parzystości, a ósmy jako „znak słowny”. „Słowo” w serii 1400 składało się ze zmiennej liczby kolejnych pozycji znaków, przy czym ostatnia pozycja miała włączony bit „Znak słowa”. Dlatego też nazywano ją maszyną o zmiennej długości słów, w przeciwieństwie do stałej długości słowa w modelach 709 i 650, które je poprzedzały. Każda instrukcja języka maszynowego stanowiła „słowo” i mogła mieć różną długość od 1, 4, 7 do 8 znaków, przy czym ostatni znak był opatrzony znakiem słownym. Słowa danych miały oczywiście całkowicie zmienną długość i były przetwarzane znak po znaku, aż do napotkania znaku słownego.

Więcej opowieści...

Od Karen B. McLaughlin, 24 sierpnia 2006:

Byłem wczesnym programistą SPS, zaczynając od Lawrence Radiation Laboratory (LRL) w 1961 roku, świeżo po ukończeniu studiów na Uniwersytecie Kalifornijskim w Berkeley. Keith Williams wyjaśnił wiele szczegółów, których nie mogłem rozpoznać w innych wspomnieniach poprzedzających jego wkład. Jego opisy przywołały wspomnienia tego, przez co my, programiści, musieliśmy przejść, aby testować i debugować, włączając w to ładowanie/rozładowywanie kart dziurkowanych i sprawdzanie, czy papier jest prawidłowo ułożony. Nikt nie wspomniał o dziurkowaniu klawiszy, ale była to kolejna umiejętność, którą wszyscy musieliśmy nabyć, ponieważ personel zajmujący się dziurkowaniem klawiszy był zajęty dziurkowaniem kart danych, ponieważ nie mieliśmy napędów taśmowych. Istotną cechą 1401 (i innych z jego epoki) było to, że ponieważ nie było systemu operacyjnego, każdy błąd można było przypisać programowi w rdzeniu, co sprawiało, że debugowanie było stosunkowo prostym przypadkiem rozwiązywania problemów.

Kolejna kwestia dotycząca 1401: konsola posiadała przełączniki bitów, które umożliwiały programiście dynamiczną zmianę rdzenia, co umożliwiało debugowanie w locie – pod warunkiem, że znało się Holleritha. Ponieważ programiści mieli praktyczne testy tylko przez godzinę dziennie, była to przydatna funkcja.

Projekt programu musiał być elegancki i oszczędny, wykorzystując nakładki i strukturę, zanim wynaleziono ten termin. Obecnie wiele osób nosi przy sobie palmtopy i telefony komórkowe, każdy z większą ilością pamięci niż pierwszy komputer, którego użyliśmy do przetwarzania list płac dla ponad 5000 pracowników LRL Berkeley i Livermore w 1968 roku.

Pozostałem w branży komputerowej, zetknąłem się z wieloma różnymi maszynami, językami, projektami i stanowiskami pracy, aż w końcu w 1999 r., po 25 latach pracy w Laboratorium Napędów Odrzutowych, przeszedłem na emeryturę. Z radosnym poczuciem nadmiaru, prawdopodobnie wywołanym moim wczesnym doświadczeniem z 1401, właśnie skończyłem budować komputer osobisty zawierający prawie 500 GB pamięci, czyli znacznie więcej, niż kiedykolwiek będę w stanie wykorzystać.

Przez te wszystkie lata przeżyłem wspaniałą i pełną wyzwań jazdę, ale zawsze uważałem, że programowanie i obsługa 1401 sprawia mi najwięcej frajdy.

Robert N. Sammer, 21 maja 2007:

Po przeczytaniu artykułów na Państwa stronie internetowej chciałbym dodać co następuje.

W 1962 roku dołączyłem do działu operacyjnego IBM New York Time/Life, budując dział operacji komputerowych jako operator komputera 1401.

Do moich obowiązków należało nagrywanie wszystkich przychodzących zadań programistów przesłanych do centrum na taśmę przy użyciu satelity 1401. Umożliwiło to obecnym ramom głównym (7090, 7040/44) przetwarzanie zadań bez czasochłonnych funkcji wejścia/wyjścia.

Centrum komputerowe w Nowym Jorku było satelitą głównego centrum obliczeniowego w Poughkeepsie w stanie Nowy Jork, więc druga zmiana w Nowym Jorku wysyłała do Poughkeepsie, za pośrednictwem linii telefonicznych zwanych teleprzetwarzaniem, nadmiar zadań, których nie można było wykonać w Nowym Jorku.

Ponieważ mieliśmy termin dotrzymania i było wiele zadań do teleprzetworzenia do Poughkeepsie, ułożyłem wiele zadań na tacy podajnika odczytu kart, która mogła pomieścić do 3000 kart, naciśnij przycisk Start na komputerze i rozpoczął się proces z karty na taśmę . W przypadku kontroli czytnika (czytnik wykrył błąd pomiędzy szczotkami wczytującymi i weryfikującymi) operator musiał ostrożnie wyjąć karty ze zbiornika wczytującego karty, aby zachować integralność sekwencji kart; usuń karty z górnej części tacy podajnika do odczytu, tak aby pozostałe karty na tacy mogły zostać wypchnięte do góry, aby operator mógł przepłukać karty wewnątrz czytnika. Teraz operator sprawdzałby błędną kartę, aby sprawdzić, czy istniał ważny powód sprawdzenia czytnika. Jeżeli żadnej nie było widać, operator wymieniał wszystkie karty w odpowiedniej kolejności i uruchamiał czytnik. Jeśli nic się nie stanie, przetwarzanie z karty na taśmę będzie kontynuowane. Jeżeli ta sama karta zostałaby poddana kontroli innego czytnika, zadanie zostałoby wyeliminowane ze strumienia zadań, a programista zostałby powiadomiony.

Pewnej nocy czytelnik przydzielony do tego zadania ciągle sprawdzał fałszywe czytniki. Czyta pięć lub sześć kart, a czytnik sprawdza następną. Po wykonaniu opisanej powyżej procedury czytnik odczytywał dziewięć lub dziesięć kart i sprawdzał następną kartę.

Poprosiłem mojego przełożonego, aby CE (inżynier klienta) sprawdził czytnik. Powiedziano mi, że CE sprawdzali je kilka razy podczas pierwszej zmiany, ale nie mogli znaleźć żadnego powodu sprawdzania czytników. Po około dwudziestym sprawdzeniu przez czytelnika, w miarę upływu czasu, zrobiłem to, co zrobiłby każdy dobry amerykański fachowiec zajmujący się naprawami typu „zrób to sam”.

(Aby złagodzić stres związany z ośmiogodzinną zmianą na nogach, kupiłem parę butów z gumową podeszwą. Konstrukcja podeszwy przypominała mi świeżo zaorane pole z małymi dolinkami i ostrymi szczytami, które rozciągały się na boki każdego buta.)

Jeśli po sprawdzeniu i stwierdzeniu, że nie ma żadnych nieprawidłowości, to nie zadziała. Kopnij! To jest dokładnie to, co zrobiłem. Odcisk mojego buta został na drzwiach 1401 z powodu zwykłego kurzu znajdującego się na podniesionych białych kafelkach podłóg w sali operacyjnej.

Czytnik nie działał nieprawidłowo przez pozostałą część mojej zmiany, czytając doskonale. Działało na trzeciej zmianie, na pierwszej zmianie i kiedy wróciłem do pracy, odcisk buta nadal tam był i otrzymałem wiele podziękowań od kolegów operatorów za naprawę czytnika.

CE nawet byli zaskoczeni moim rozwiązaniem. Wydruk pozostał przez kilka dni, ale został usunięty, zanim kierownik CE i goście udali się na wycieczkę po dziale operacyjnym. W związku z artykułami na Twojej stronie internetowej i zastanawianiem się, co, jeśli w ogóle, zostanie zrobione z okazji 50. rocznicy pojawienia się 1401, przeszkoliłem się w zakresie programowania 1401 i napisałem dla niego mały program narzędziowy i jestem na 95% pewien, że tak się stanie zadziała, jeśli zostanie wpisany do 1401. Tak, grałem na komputerze 1401, aby przetestować program, i tak, trudno było przetłumaczyć kod SPS na talię obiektową, jak to nazywaliśmy w 1962 r., ale bawiłem się dobrze. I to po 38 latach kariery w projektowaniu systemów komputerowych IBM Main Frame, pisaniu specyfikacji, kodowaniu, debugowaniu, testowaniu itp.

Komentarz...

4 lipca 2007:

Edward G. Nilges

13A 6F 1F Wang Long Village

Yung Shue Wan

Lamma Island

HONG KONG

Drogi Franku:

Jako były programista IBM 1401, który debugował kompilator języka Fortran wyłącznie w kodzie obiektowym po tym, jak IBM wycofał obsługę 1401 w styczniu 1971 r., i który samodzielnie odkrył matematykę o dodatkowej precyzji i nowe formy arytmetyki „zmodyfikowanego adresu”, jestem całkiem całkiem zły, gdy przeczytałem, że armia dysponowała środkami, aby bezsensownie założyć „centrum danych 1401” w niemieckich lasach, podczas gdy mój uniwersytet błagał o środki na nauczanie swoich studentów.

Dzieje się tak dlatego, że centrum danych 1401 prawdopodobnie nie robiło zbyt wiele i było marnotrawstwem.

Podziwiam ciężką pracę i bohaterstwo techników przetwarzania danych, którzy odzyskali 1401 w Da Nang po ataku rakietowym Viet Congu. Jednakże w tym samym czasie, gdy uczyłem się 1401, maszerowałem przeciwko tej szalonej wojnie, równie szalonej jak dzisiejsza wojna w Iraku, gdzie bez wątpienia bohaterstwo, poświęcenie i ciężka praca niskiego i nieestetycznego pokolenia Specyfikacje są marnowane, aby oficerowie na poziomie flagowym mogli awansować, a najgorszy prezydent w historii Ameryki mógł udawać mężczyznę.

Moje bezpośrednie doświadczenie jako specjalisty ds. przetwarzania danych przez następne trzydzieści lat było takie, że w Ameryce sektor cywilny był systematycznie pozbawiony czasu i zasobów na opracowanie skutecznych i niezawodnych systemów odpowiadających potrzebom ludzi, tak aby nasz establishment wojskowo-przemysłowy mógł marnować pieniądze na idiotyczne przedsięwzięcia od wożenia komputera typu mainframe w ciężarówce po „Gwiezdne Wojny”.

W styczniu 1972 roku odkryłem konsekwencje macho gadań inżynierów klientów IBM, którzy jako projektanci nauczyli się tego macho gadania, ponieważ jeden z nich obciążył mój uniwersytet, uniwersytet pozbawiony funduszy, ponieważ Uniwersytet Roosevelta miał zły gust, jeśli chodzi o kształcenie pracowników klasowych i kolorowych, za „naprawienie” kompilatora IBM 1401 Fortran do pracy z minimalną konfiguracją pamięci Roosevelta… poprzez wykorzystanie niedostępnej pamięci do rozgałęzienia się do podprogramu, który nałożył się na interpreter środowiska wykonawczego.

Ta „poprawka” nigdy nie była testowana, ale została rzucona z pogardą na mojego profesora matematyki, który po prostu próbował zapewnić studentom z klasy robotniczej i studentom kolorowym pierwszą edukację w zakresie informatyki, aby mogli konkurować z zamożnymi dziećmi na Uniwersytecie w Chicago.

Inżynier klienta nawet nie wiedział i najwyraźniej nie był zainteresowany odkryciem, że Uniwersytet Roosevelta za to płacił i miał dodatkowy sprzęt do mnożenia i dzielenia pamięci. Usunąłem jego „poprawkę” i wstawiłem poprawną instrukcję mnożenia, a kompilator zadziałał i był następnie używany na zajęciach.

Intelektualna nieciekawość i seksistowskie gadaniny inżynierów klientów (którzy lubili pracować u Roosevelta, jak mówili, ponieważ była to już wtedy staromodna, ze szklanym oknem na Michigan Avenue odpowiednim do podglądania dziewcząt) były częścią wojskowego i korporacyjnego quasi -elita, która wówczas i obecnie nalega na „wprowadzenie” Ameryki w permanentną wojnę w Iraku (wynikającą z niepowodzenia intelektualnej ciekawości, czy Saddam Husajn miał broń masowego rażenia) i rosnącą liczbę Amerykanów dręczonych w pracy i poza nią przez skonstruowane systemy danych przez ignorantów, którzy nie zapewniają im ubezpieczenia zdrowotnego, którzy nie zapewniają weteranom zarobionych przez nich świadczeń i którzy nie rejestrują dokładnie swojej historii kredytowej, przez co stają się łupem klasy przestępców.

„Wielkie społeczeństwo” Lyndona Bainesa Johnsona i jego promyk nadziei zniknęły już w 1972 r., w wyniku czego Uniwersytet Roosevelta i jego studenci już wtedy w coraz większym stopniu nie mieli dostępu do funduszy na edukację ani jakichkolwiek prawdziwych potrzeb ludzkich, ponieważ w 1972 r. szalony zamach bombowy Nixona pierwszeństwo miała kampania i destabilizacja rządu Chile.

Z tego powodu włączyłem się, pracując 12 godzin dziennie, utrzymując przy życiu system IBM 1401 Uniwersytetu Roosevelta do czasu jego modernizacji. Opracowałem zestaw oprogramowania i procedur zapewniających niezawodne obliczenia, które umożliwiły rejestratorowi dokładne ocenianie studentów, a kwestorowi płacenie pracownikom, w czasach, gdy oznaczało to głównie kodowanie w języku asemblera SPS, z kompilatorem Fortran dostępnym dla raportów.

Z tego powodu jestem zbulwersowany widokiem wojskowego kompleksu przemysłowego i starzejących się mężczyzn odrzuconych przez ten kompleks, świętujących użycie modelu 1401 do zabicia czterech milionów ludzi w Wietnamie. Jestem również zarejestrowany (w sprawie Comp.risks), że kwestionuję przejęcie Muzeum Komputerów w Mountain View przez specjalistów od sprzętu komputerowego (oraz konserwatystów politycznych, którzy w niewłaściwy sposób umieszczają pro-Bushowskie tyrady w komunikacji technicznej), którzy rekonstruują sprzętowo model 1401, marnując w ten sposób ograniczone zasoby i być może odbudowując toksyczne technologie, podczas gdy Muzeum Komputerowe mogłoby zaprezentować znacznie więcej „głębokiej” technologii z przeszłości w symulacji oprogramowania.

Więcej szczegółów moich wczesnych przygód z kompilacją na 1401 możesz przeczytać w mojej książce o nowoczesnej technologii. To „ Zbuduj swój własny język sieciowy i kompilator ” (Apress 2004). Jestem przekonany, że WIĘKSZOŚĆ wysiłków w zakresie oprogramowania i sprzętu komputerowego w Ameryce wtedy i obecnie nie była poważnymi przedsięwzięciami technicznymi i intelektualnymi, ale marnotrawstwem prywatnym i publicznym, mającym na celu pokazanie, że „wszystko jest pod kontrolą”… kiedy wydarzenia na Manhattanie we wrześniu 2001 r. w Glasgow w zeszłym tygodniu pokazały, że wcale tak nie jest i że wypaczająca technologia pokazów siły (jeśli nie wręcz morderstwa, jak wtedy, gdy systemy danych są wykorzystywane do śledzenia niszczenia celów przez nas z powietrza) stworzyła mechanizm przeciwdziałający -Amerykanizm, który dziś jest normą w innych krajach.

Bardzo szczerze

Edwarda G. Nilgesa

Twój redaktor odpowiada z opóźnieniem (2015):

Armia amerykańska w Niemczech w latach 60. była stosunkowo nieszkodliwa. Z pewnością była to wielka strata pieniędzy i zasobów, podobnie jak sama zimna wojna, ale nie wyrządziła dużo większej szkody niż okazjonalne przejechanie kurczaka. Jak odpowiedziałem Edwardowi w 2007 r. (mieliśmy długą korespondencję), w 1965 r. „amerykańska inwazja na Dominikanę naprawdę otworzyła mi oczy (wciąż byłem nastolatkiem, ale już w armii) i nastąpiło to właśnie wtedy, gdy Johnson zaczął wzywać co miesiąc 50 000 dzieci do Wietnamu. Zastanawiałem się, w jakiej armii jestem?” Złożyłem wniosek o zwolnienie ze służby ze względu na odmowę służby wojskowej i spędziłem ostatni rok w wojsku, czekając, aż dowiedzą się, co zrobić z wnioskiem.

Dziś widzimy rezultat powojennych priorytetów Ameryki: znaczna część Bliskiego Wschodu ulega całkowitemu upadkowi, Meksyk i Ameryka Środkowa zamieniły się w pola śmierci; gospodarka amerykańska w ruinie, z wyjątkiem tej na samej górze; nasz system polityczny nastawiony na zniweczenie wszystkiego, co dobre zostało osiągnięte od czasu objęcia urzędu przez FDR; sama planeta szybko staje się wysypiskiem toksycznych odpadów tonącym w martwym morzu. I to jest krótka lista. Więc jestem po stronie Edwarda, ale to jest strona poświęcona nostalgii komputerowej :-) Niemniej jednak zawsze dobrze jest spojrzeć na wszystko z odpowiedniej perspektywy. (Dodatek z 2021 r.: Jeśli chcesz dowiedzieć się wszystkiego o mojej wspaniałej karierze w armii, możesz przeczytać to tutaj .)

Jeszcze więcej historii...

Od Dave’a Browna, 6 sierpnia 2015 r.:

Z przyjemnością przeczytałem Twoją stronę o komputerze IBM 1401. Przywołało wspomnienia. Pamiętam jedną rzecz, że instrukcja Autocodera „Store B-register”, zakodowana jako „SBR”, spowodowała, że ​​procesor wyemitował bardzo krótki impuls radiowy, który mógł zostać odebrany przez radio tranzystorowe FM ustawione na górze obudowy procesora. Istniały więc programy, które odtwarzały kolędy, emitując SBR z częstotliwością na sekundę dla każdej nuty. Drukarka 1403 miała swoje litery na podobnym do roweru napędzie łańcuchowym ze 132 młotkami, które uderzały w przelatujące postacie. Jeden program do testowania integralności łańcucha nazwano „Chain Breaker”. Wydrukowałoby linię czarterów, która spowodowała jednoczesne wystrzelenie wszystkich 132 młotów, co spowodowało znaczne obciążenie łańcucha. Pamiętam, że na drukarce znajdowało się pokrętło służące do przyspieszania lub opóźniania taktowania młotka, w zależności od liczby drukowanych kopii kalki, w przeciwnym razie brakowałoby lewej lub prawej strony każdej litery. I podobnie jak instrukcja SBR, istniały programy, które wykorzystywały uderzenia młotków do robienia notatek do grania kolęd. Moim ulubionym był „Mały perkusista”.