Jak nazywał się pierwszy komputer osobisty? Odpowiedź na to pytanie zależy od odpowiadającego. Według mieszczącego się w dolinie krzemowej Computer History Museum był to Kenbak-1.

Urządzenie opracowane zostało przez Johna Blankenbakera w 1970 roku, a pierwsze sztuki sprzedano rok później. W przeciwieństwie do współczesnych konstrukcji komputer pozbawiony był jakiegokolwiek procesora i bazował w całości na elementach logicznych. Cena sprzętu wynosiła 750$, ale przez fakt, że była to rynkowa nowość, wolumeny sprzedaży nie były zbyt wysokie. Sprzedano tylko 44 maszyny z wyprodukowanych 50 lub 54 sztuk, w tej kwestii źródła nie są jednoznaczne.

Może się wydawać, że Kenbak-1 powstał nieco za wcześnie, wszakże już w 1975 roku zaprezentowano światu Altari 8800, które sprzedało się w ponad 25000 egzemplarzy. Nie jest to jednak do końca prawda. Urządzenie zaprojektowane przez Blankenbakera obarczone było wieloma wadami już na etapie pomysłu.
Komputer miał ograniczony zestaw instrukcji wynikający z budowy opartej o logiczne układy scalone. RCA Engineer Magazine określił ją jako niezgodną z zasadami projektowania systemów cyfrowych. Sprzęt pozbawiono jakiegokolwiek gniazda rozszerzeń, czy też wyjścia, do którego można by podpiąć zewnętrzne urządzenia. Jedynym sposobem odczytu danych były umieszczone na panelu przednim żarówki. Poza tym Kenbak-1 nie był reklamowany, a jego docelowym rynkiem były tylko szkolne pracownie.

Mimo że dzisiaj konstrukcja Kenbak-1 jest już nieco zapomniana, to przywołałem ją nie bez powodu. W komputerze tym zastosowano dość ciekawe rozwiązanie, w którym rolę pamięci pełniły dwa rejestry przesuwające Intela. Każdy z nich przechowywał 1024 bity, co w całości owocowało 256 bajtami pojemności.
Wykorzystanymi w komputerze chipami były układy 1404A, dzisiaj już nieprodukowane i dość trudno dostępne, ale tak się składa, że jakiś czas temu otrzymałem dwa egzemplarze od Pana Marka, co było inspiracją do napisania tego artykułu.
Czym jest Intel 1404A?

Jak już wspomniałem, chipy o oznaczeniu 1404A są rejestrami przesuwającymi o dość sporej pojemności 1024 bitów. Element ten mógł pracować z częstotliwością do 5MHz przy napięciu zasilania -5V/5V. Co ciekawe jest to już na tyle wiekowa konstrukcja, że w dokumentacji wspomina się o kompatybilności z technologią DTL (Diode-Transistor Logic).

Układ zamknięto w standardowej jak na tamte czasy metalowej puszce z ośmioma wyprowadzeniami, z czego dwa z nich są niewykorzystywane. Pozostałe pełnią rolę doprowadzenia zasilania, wejścia i wyjścia danych oraz sygnałów zegarowych. Te są dość ciekawe, bo nie tylko są one dwa, ale wymagają też specyficznego typu przebiegów, w których znaczący jest synchroniczny impuls zerowy pojawiający się naprzemiennie raz na jednym, raz na drugim z wejść. Dość dobrze obrazuje to fragment dokumentacji umieszczony powyżej.
Uruchomienie rejestru

Mając do dyspozycji tą, dość wiekową już konstrukcję postanowiłem ją uruchomić. Obwód testowy był dość prosty, skorzystałem tutaj z Arduino pełniącego rolę zasilacza, co nie było w pełni zgodne z książkowym zasilaniem -5V/5V, ale układ działał. Poza tym płytka dostarczała też sygnały zegarowe oraz losowo generowane stany podawane na wejścia rejestru. Do wyjścia pamiętającego elementu podłączyłem dodatkowo czerwoną diodę LED. Poza tym do układu podpięty został analizator stanów logicznych.
Na filmie możecie zobaczyć przebiegi z analizatora stanów logicznych. Channel 0 i Channel 1 to sygnały zegarowe, Channel 2 wejście danych, Channel 3 wyjście rejestru. Po uruchomieniu, przez pierwsze kilka sekund nie dzieje się nic i było to celowe opóźnienie dodane w programie uruchamianym przez Arduino. Po tym czasie moduł zaczyna generować sygnał zegarowy oraz zmieniać stan na wejściu rejestru w sposób losowy. Po około 30 sekundach na wyjściu zaczynają pojawiać się dane dokładnie takie same jak podane chwilę po uruchamianiu. Oznacza to, że sygnał zegarowy zmienił się już ponad 1024 razy.
Co kryje wnętrze?

Nie byłbym sobą, gdybym nie zajrzał do wnętrza tego rejestru. Po jego otwarciu oczom naszym ukazuje się dość sporej wielkości rdzeń umieszczony na metalowym podłożu z podłączonymi miniaturowymi drucikami łączącymi go z wyprowadzeniami obudowy.

Znaczną część rdzenia zajmuje moduł rejestru, czy też dokładniej komórek pamięci, w której rejestr zapisuje wprowadzane dane. Pozostała logika umieszczona została przy krawędziach krzemowej konstrukcji.

Co ciekawe na rdzeniu możemy znaleźć też ówczesne logo Intela wraz z oznaczeniem chipa 1404.
Źródła:
- https://www.bbc.com/news/business-34639183
- https://www.kenbak.com
- https://www.thefirstpc.com
- https://www.kenbak.com/design
- https://www.cryptomuseum.com/crypto/gretag/101/files/1404A.pdf