POŁĄCZ - LINC

LINC
Mary Allen Wilkes - LINC w domu - 1965.jpg
Komputer domowy LINC z projektantem oprogramowania, Mary Allen Wilkes , 1965
Deweloper MIT „s Lincoln Laboratory
Producent Digital Equipment Corporation i Spear Inc.
Rodzaj Minikomputer
Data wydania marzec 1962 ; 59 lat temu ( 1962-03 )
Cena wprowadzająca 43 600 USD
Sprzedane jednostki 21 (do grudnia)
Jednostki wysłane 50
Pokaz 2 wyświetlacze oscyloskopu
Wejście Pokrętła, klawiatura
Platforma DEC 12-bitowy
Następca PDP-5

LINC ( Laboratory Instrument Komputer ) jest 12-bitowy , 2048 word tranzystorowe komputer . LINC jest uważany przez niektórych za pierwszy minikomputer i prekursor komputerów osobistych . Pierwotnie nazwany „Linc”, co sugeruje genezę projektu na MIT „s Lincoln Laboratory , został przemianowany LINC po projekcie przeniesiony z Lincoln Laboratory. LINC został zaprojektowany przez Wesleya A. Clarka i Charlesa Molnara .

LINC i inne maszyny „MIT Group” zostały zaprojektowane w MIT i ostatecznie zbudowane przez Digital Equipment Corporation (DEC) i Spear Inc. z Waltham, Massachusetts (później oddział Becton, Dickinson and Company ). LINC sprzedawano wówczas za ponad 40 000 dolarów. Typowa konfiguracja obejmowała zamkniętą szafę typu rack 6'X20" , cztery pudełka zawierające (1) dwa napędy taśmowe, (2) wyświetlacz i pokrętła wejściowe, (3) konsolę kontrolną i (4) interfejs terminala danych oraz klawiaturę.

LINC dobrze współpracował z eksperymentami laboratoryjnymi. Wejścia i wyjścia analogowe były częścią podstawowego projektu. Został zaprojektowany w 1962 roku przez Charlesa Molnara i Wesleya Clarka z Lincoln Laboratory w stanie Massachusetts dla badaczy z NIH . Projekt LINC był dosłownie w domenie publicznej, być może czyniąc go wyjątkowym w historii komputerów. Podczas letnich warsztatów w MIT w 1963 roku ich ostateczni badacze biomedyczni zmontowali kilkanaście komputerów LINC. Digital Equipment Corporation (od 1964) i Spear Inc. z Waltham, MA. produkowała je komercyjnie.

Pionier DEC, C. Gordon Bell, twierdzi, że projekt LINC rozpoczął się w 1961 r., a pierwsza dostawa miała miejsce w marcu 1962 r., a maszyna została formalnie wycofana dopiero w grudniu 1969 r. W sumie zbudowano 50 (wszystkie przy użyciu bloków i szafek systemu DEC), większość w Lincoln Labs, mieszcząca instrumenty biurkowe w czterech drewnianych stojakach. Pierwszy LINC zawierał dwa wyświetlacze oscyloskopowe. Dwadzieścia jeden egzemplarzy zostało sprzedanych przez DEC za 43 600 USD (równowartość 373 000 USD w 2020 r.), dostarczonych w projekcie modelu produkcyjnego. W nich wysoka szafka za białym stołem pokrytym materiałem Formica zawierała dwa nieco mniejsze metalowe pudełka zawierające to samo oprzyrządowanie, oscyloskop z wyświetlaczem Tektronix nad „panelem przednim” po lewej stronie użytkownika, wnękę na interfejsy dwóch napędów taśm LINC. po prawej stronie użytkownika, a między nimi gruba klawiatura. Standardowe oprogramowanie do tworzenia programów (asembler/edytor) zostało zaprojektowane przez Mary Allen Wilkes ; ostatnia wersja nosiła nazwę LAP6 (LINC Assembly Program 6).

Architektura

LINC miał 2048 12-bitowych słów pamięci w dwóch sekcjach. Tylko pierwsze 1024 słowa nadawały się do wykonania programu. Druga część pamięci mogła być używana tylko do danych.

Programy mogą używać 12-bitowego akumulatora i jednobitowego rejestru linków. Pierwsze szesnaście miejsc w pamięci programu miało specjalne funkcje. Lokalizacja 0 obsługiwała jednopoziomowe wywołanie podprogramu, automatycznie aktualizowane adresem zwrotnym przy każdej instrukcji skoku. Kolejnych piętnaście lokalizacji może być wykorzystanych jako rejestry indeksowe w jednym z trybów adresowania. Programowalny, sześciobitowy rejestr przekaźnikowy był przeznaczony do użytku przez instrumenty zewnętrzne.

Późniejsza modyfikacja LINC dodała 12-bitowy rejestr Z, aby ułatwić arytmetykę o rozszerzonej precyzji, i zapewniono przerwanie wymuszające wykonanie do lokalizacji 21 (ósemkowe).

Alfanumeryczne urządzenia wejścia/wyjścia zawierały dedykowaną klawiaturę i możliwość wyświetlania tekstu na dołączonym CRT z mapą bitową. Teledrukarka może być podłączona do wydruku.

Arytmetyka była dopełnieniem jedynek , co oznaczało, że istniały reprezentacje „plus zero” i „minus zero”.

Oryginalny LINC wymagał 8 mikrosekund dla każdej instrukcji.

Zestaw instrukcji

Notacja naturalna użyta dla LINC była ósemkowa . W tej sekcji wszystkie liczby są podane jako podstawa dziesięć, chyba że są określane jako ósemkowe. Zestaw instrukcji LINC został zaprojektowany z myślą o łatwości użytkowania z instrumentami naukowymi lub niestandardowym aparatem doświadczalnym.

  • Różne klasa, brak adresu - Halt, wyczyść akumulator, włącz bramkę zapisu znacznika taśmy, przenieś akumulator do rejestru przekaźnikowego, odczytaj rejestr przekaźnika do akumulatora, brak działania, uzupełniaj akumulator
  • Klasa Shift, bez adresu (wszystkie działają na akumulatorze i opcjonalnie bit linku) - obróć w lewo, obróć w prawo, skaluj w prawo (replikuje bit znaku),
  • Pełna klasa adresu, instrukcje dwuwyrazowe. adres natychmiastowy podany w drugim 12-bitowym słowie opkodu - dodaj, zapisz i wyczyść akumulator, przeskocz. Tylko pierwsze 1024 słowa pamięci są dostępne.
  • Pomiń klasę, pomija następną instrukcję, może testować pod kątem ustawienia lub wyczyszczenia. Warunki to: zewnętrzna linia logiczna (można przetestować 14 linii wejściowych), uderzenie klawisza, jeden z pięciu przełączników wykrywających, dodatni akumulator, bit zerowy łącza lub aktywna jednostka taśmowa w strefie międzyblokowej. Późniejsze modele dodały pominięcie na bicie 0 rejestru Z, pominięcie przy przepełnieniu i pominięcie przy wstrzymanym przerwaniu.
  • Klasa indeksu - te instrukcje mogą mieć albo drugie słowo, które jest bezpośrednim operandem, lub które określa adres operandu, lub które określa jeden z rejestrów od 01 do 15 (dziesiętnie) jako przechowujący adres operandu. Adres został zwiększony. Instrukcje te obejmowały ładowanie lub dodawanie do akumulatora, dodawanie akumulatora do pamięci, dodawanie akumulatora z przeniesieniem do pamięci, mnożenie (tworzenie produktu ze znakiem 22-bitowym), pomijanie, jeśli jest równe, pomijanie i obracanie, czyszczenie bitów, zestaw bitów i uzupełnianie bitów. Inną instrukcją w tej grupie było wyświetlanie mapy bitowej, reprezentującej znak lub inne dane, na wbudowanym ekranie wyświetlacza CRT.
  • Klasa półsłowa - instrukcje operujące na dolnych lub górnych sześciu bitach słowa. Obejmowały one połowę ładunku, połowę magazynu, pomiń, jeśli połówki są różne,
  • Ustaw — przenosi dane z dowolnej lokalizacji pamięci do jednej z lokalizacji od 1 do 15.
  • Sample - odczytuje jeden z szesnastu 8-bitowych przetworników analogowo-cyfrowych i umieszcza podpisaną wartość w akumulatorze. Pierwszych osiem kanałów A/D zostało przeznaczonych do pokręteł panelu sterowania, aby umożliwić użytkownikowi interakcję z uruchomionym programem. Instrukcja może albo trzymać komputer do czasu, aż wynik konwersji będzie gotowy, albo pozwolić na wykonanie większej liczby instrukcji, pod warunkiem, że nie będą one opierać się na zawartości akumulatora, który zostanie nadpisany przez wartość konwersji A/D.
  • Wyświetlacz - rysuje piksel na jednym z wyświetlaczy CRT w określonej lokalizacji, opcjonalnie indeksując rejestr.
  • Index and skip - dodaje jeden do jednej z lokalizacji pamięci od 1 do 15 i pomija, jeśli wystąpi 10-bitowe przepełnienie.
  • Klasa Operate, używana do operacji wejścia/wyjścia. Obejmowały one ustawienie bitu na jednej z 14 linii wyjściowych, odczyt klawiatury lub odczyt lewego lub prawego banku przełączników.
  • Klasa taśmy z kodami operacyjnymi do pozycjonowania taśmy, odczytu lub zapisu na taśmie oraz sprawdzania zawartości taśmy w pamięci.

Panel sterowania

Panel sterowania LINC był używany do wykonywania pojedynczych kroków przez programy oraz do debugowania programów . Wykonywanie mogło zostać zatrzymane, gdy licznik programu pasował do zestawu przełączników. Inna funkcja umożliwiała zatrzymanie wykonywania, gdy uzyskano dostęp do określonego adresu. Funkcje jednoetapowe i wznowienia mogą być automatycznie powtarzane. Częstotliwość powtarzania można było zmieniać w czterech rzędach wielkości za pomocą analogowego pokrętła i czteropozycyjnego przełącznika dekadowego, od około jednego kroku na sekundę do około połowy pełnej prędkości. Uruchamianie programu z prędkością jednego kroku na sekundę i stopniowe przyspieszanie go do pełnej szybkości zapewniało niezwykle dramatyczny sposób na doświadczenie i docenienie szybkości komputera.

LINCtaśma

Godną uwagi cechą LINC była taśma LINCtape. Była to podstawowa część projektu maszyny, a nie opcjonalne urządzenie peryferyjne, na której opierał się system operacyjny maszyny. LINCtape można porównać do liniowej dyskietki z wolnym czasem wyszukiwania. Napędy taśm magnetycznych w dużych ówczesnych maszynach przechowywały duże ilości danych, ich buforowanie trwało kilka minut, ale nie były w stanie niezawodnie aktualizować istniejących bloków danych. Natomiast taśma LINCtape była małym, zwinnym urządzeniem, które przechowywało około 400 KB, miało stałą ścieżkę formatowania, umożliwiającą wielokrotne odczytywanie i ponowne zapisywanie danych w tych samych lokalizacjach, a przewijanie z jednego końca na drugi zajęło mniej niż minutę . Taśma została sformatowana w bloki o stałej wielkości i była używana do przechowywania katalogu i systemu plików. Pojedyncza instrukcja sprzętowa może wyszukiwać, a następnie odczytywać lub zapisywać wiele bloków taśm w jednej operacji.

Nazwy plików miały sześć znaków. System plików pozwalał na przechowywanie pod tą samą nazwą dwóch plików — pliku źródłowego i wykonywalnego pliku binarnego. W efekcie była to nazwa pliku 6.1, w której rozszerzenie było ograniczone do „S” lub „B”. Ponieważ podstawowy LINC miał tylko 1024 12-bitowych słów pamięci rdzenia (RAM) — a duży, rozszerzony LINC miał tylko 2048 — normalne operacje w dużym stopniu zależały od zamiany na i z LINCtape. (Digital później opatentował i sprzedał podobny projekt pod nazwą DECtape ; patenty Digitala dotyczące taśmy DECtape zostały ostatecznie przetestowane w sądzie i uznane za nieważne).

LINCtape jest również pamiętany ze swojej niezawodności, która była wyższa niż dyskietek, które go wyparły. W LINCtape zastosowano bardzo prostą formę nadmiarowości — wszystkie dane zostały zduplikowane w dwóch miejscach na taśmie. Użytkownicy LINC wykazali to, wybijając otwory w taśmie zwykłym biurowym dziurkaczem do papieru. Uszkodzona w ten sposób taśma była doskonale czytelna. Formatowanie ścieżki sprawiało, że działanie było niemal niezależne od prędkości taśmy, która w rzeczywistości była dość zmienna. Nie było kabestanu ; ruch taśmy podczas odczytu i zapisu był bezpośrednio sterowany przez silniki szpul. Nie było przewijania do przodu ani do tyłu — czytanie i pisanie odbywało się z szybkością przewijania do przodu i do tyłu. W niektórych trybach pracy transfery danych były słyszalne przez wbudowany głośnik i generowały bardzo charakterystyczną serię ostrych ptasich skrzeków o różnym tonie.

Klawiatura

Klawiatura LINC, wyprodukowana przez firmę Soroban Engineering, miała unikalny elektromagnes blokujący. Wewnętrzny mechanizm każdego klawisza miał szczelinę, która współpracowała z zestawem prętów do kodowania postaci i inną szczelinę, która chwytała pręt blokujący, który blokował wszystkie klawisze jednym mechanicznym ruchem elektromagnesu blokującego.

Gdy użytkownik nacisnął klawisz, wciśnięty klawisz był blokowany w pozycji dolnej, a wszystkie inne klawisze były blokowane w pozycji górnej. Kiedy uruchomiony program odczytał klawiaturę, blokada została zwolniona, a naciśnięty klawisz wyskoczył z powrotem. Może to spowolnić pisanie i zapobiec nawet najechaniu dwoma klawiszami . Ta egzotyczna klawiatura została porzucona na rzecz klawiatur Teletype, takich jak Model 35 KSR i Model 37 KSR, w komputerach następczych LINC-8 i PDP-12.

Gałki

Pokrętła na przednim panelu mogą być używane jako pole wybierania . (Zdjęcie LINC-8)

LINC zawierał zestaw ośmiu trójobrotowych potencjometrów (o numerach 0-7), z których każdy mógł być odczytany za pomocą instrukcji komputerowej. Pole wybierania było wygodnym urządzeniem wejściowym użytkownika w czasach przed powszechnym przyjęciem myszy . Na przykład jedno pokrętło może sterować skalowaniem wyświetlanego wykresu, a drugie może służyć jako kursor do wyświetlania rzeczywistej wartości danych w danym punkcie.

Wyświetlacz tekstowy

Wielka litera M wyświetlana w komórce 4 na 6 znaków na ekranie LINC

Sprzęt LINC umożliwił szybkie i automatyczne wyświetlanie 12-bitowego słowa na ekranie w postaci matrycy pikseli o szerokości od 4 do 6, co umożliwia wyświetlanie pełnych ekranów tekstu bez migotania przy użyciu minimum dedykowanego sprzętu. Standardowe procedury wyświetlania generowały 4 na 6 komórek znakowych, dając LINC jeden z najgorszych zestawów znaków, jakie kiedykolwiek zaprojektowano.

Ekran wyświetlacza był CRT o powierzchni około 5 cali kwadratowych, który w rzeczywistości był standardowym oscyloskopem Tektronix ze specjalnymi wzmacniaczami wtykowymi. Specjalne wtyczki mogą być zastąpione standardowymi wtyczkami oscyloskopu do wykorzystania w konserwacji diagnostycznej komputera. Wiele LINCs zostało dostarczonych jako zestawy do montażu przez użytkownika końcowego, więc oscyloskop się przydał.

CRT używał bardzo trwałego białego lub żółtego luminoforu, dzięki czemu linie i krzywe rysowane punkt po punkcie ze stosunkowo małą prędkością były widoczne w zaprogramowanych pętlach rysowania, które często trwały pół sekundy lub dłużej. Oś y wyświetlała zarówno plus, jak i minus zero jako różne wartości, niepotrzebnie odzwierciedlając fakt, że LINC używał arytmetyki dopełnienia jedynek . Programiści szybko nauczyli się przesuwać wszelkie negatywne wyświetlane dane o jeden punkt w górę, aby ukryć artefakt, który w przeciwnym razie pojawiał się zwykle przy y=0.

Notorycznie, ciasna pętla wyświetlająca punkty w sposób powtarzalny w jednym miejscu na ekranie wypalałaby trwałą ciemną dziurę w delikatnym luminoforze w niecałą minutę; programiści musieli być gotowi do szybkiego wciśnięcia dźwigni Stop, gdyby nagle pojawiła się bardzo jasna plama z powodu błędu w programowaniu.

Wyjście dalekopisu

Wydruki na Teletype modelu 33 ASR była kontrolowana przez jednego przekaźnika biegunowego. Podprogram będzie konwertować kody znaków ASCII Linc w pętle i wykorzystanie czasu, aby przełączyć przekaźnik włączania i wyłączania, generując poprawne 8-bitowe wyjście do sterowania drukarki dalekopis.

Interfejs laboratoryjny

Moduł złącza LINC zawierał wnęki na dwie obudowy wtykowe, co umożliwia niestandardowe połączenie z eksperymentalnymi konfiguracjami. W komputer wbudowano konwertery analogowo-cyfrowe i cyfrowo-analogowe, do których dostęp można było uzyskać za pomocą pojedynczej instrukcji maszynowej. Dostępnych było również sześć przekaźników.

Warianty

Oprócz oryginalnego „klasycznego” LINCa, pojawiły się niewielkie różnice w programowaniu podczas korzystania z micro-LINC (μ-LINC) (1965), micro-LINC 300 (μ-LINC 300) (1968) ( wersje z układem scalonym [ MECL ]) i LINC-8 . Były różnice w wyposażeniu wejścia/wyjścia, dostęp do pamięci. Późniejsze modele miały szybsze taktowanie.

Komputery LINC-8 i PDP-12

Komputer PDP-12 na I Vintage Computer Festival East

Podczas gdy Bell w swojej książce mówi, że zaprojektowanie LINC dostarczyło pomysłów na drugą i trzecią maszynę DEC, PDP-4 i PDP-5 . Firma Digital Equipment Corporation wprowadziła na rynek niezwykle udany PDP-8, zanim wyprodukowała pierwszy komputer zgodny z LINC nowej generacji, LINC-8 oraz kombinację PDP-8/I i LINC, połączonych jako PDP-12 . Ostatnia 12-bitowa maszyna laboratoryjna firmy DEC, Lab-8/E, zawierała zestaw instrukcji LINC. Pierwsza następna, LINC-8, uruchomiła się (powoli) do programu PDP-8 o nazwie PROGOFOP (PROGRAM OF OPeration), który łączył się z oddzielnym sprzętem LINC. PDP-12 był ostatnim i najpopularniejszym następcą LINC. Była to wydajna i ulepszona maszyna i była bardziej stabilna niż LINC-8, ale architektonicznie wciąż była niedoskonałą hybrydą LINC i PDP-8, pełną wielu drobnych technicznych usterek. (Na przykład, LINC miał bit przepełnienia, który był małą, ale ważną częścią stanu maszyny LINC; PDP-12 nie miał możliwości zapisywania i przywracania stanu tego bitu przez przerwania PDP-8.)

Komputer MINC-11

Firma Digital wyprodukowała wersję PDP-11/03 o nazwie MINC-11 , mieszczącą się w przenośnym wózku i wyposażoną w zaprojektowane przez firmę Digital laboratoryjne moduły I/O, obsługujące takie funkcje, jak wejścia i wyjścia analogowe. Język programowania MINC BASIC , zawierał zintegrowane wsparcie dla laboratoryjnych modułów I/O. MINC to skrót od „Modular Instrument Computer”. Nazwa niewątpliwie miała przywoływać wspomnienia LINC, ale 16-bitowa maszyna nie miała żadnego podobieństwa architektonicznego ani kompatybilności z LINC.

Zobacz też

Bibliografia

Linki zewnętrzne