APEXC - APEXC

APE (X) C , lub All Purpose elektroniczny (X) Komputer serii został zaprojektowany przez Andrew Donald Booth w Birkbeck College , London na początku 1950 roku. Jego praca nad serią APE (X) C była sponsorowana przez British Rayon Research Association . Chociaż konwencje nazewnictwa są nieco niejasne, wydaje się, że pierwszy model należał do BRRA. Według Bootha, X oznaczał X-Company.

Jedna z serii była również znana jako APE (X) C lub All Purpose Electronic X-Ray Computer i znajdowała się w Birkbeck.

tło

Od 1943 roku Booth rozpoczął pracę nad określeniem struktur krystalicznych na podstawie danych z dyfrakcji rentgenowskiej . Obliczenia były niezwykle żmudne i istniała wystarczająca zachęta do automatyzacji procesu, dlatego opracował komputer analogowy do obliczania odwrotnych odstępów wzoru dyfrakcyjnego.

W 1947 roku, wraz ze swoją współpracowniczką i przyszłą małżonką Kathleen Britten , spędził kilka miesięcy z zespołem von Neumanna , który w tamtym czasie był liderem w dziedzinie badań komputerowych.

ARC i SEC

Booth zaprojektował komputer elektromechaniczny ARC (Automatic Relay Computer) w późnych latach czterdziestych (1947-1948). Później zbudowali eksperymentalny komputer elektroniczny o nazwie SEC ( Simple Electronic Computer , zaprojektowany w latach 1948-1949) - i wreszcie serię APE (X) C (All-Purpose Electronic Computer).

Komputery zostały zaprogramowane przez Kathleen.

Seria APE (X) C.

Seria APE (X) C obejmowała następujące maszyny:

Zbudowano tylko jedną z tych maszyn, z wyjątkiem HEC (i być może MAC), które były maszynami komercyjnymi produkowanymi w dość dużych ilościach w tamtym czasie, około 150. Były podobne pod względem konstrukcji, z różnymi małymi różnicami, głównie w I / O sprzęt. APEHC była maszyną do kart perforowanych , podczas gdy APEXC, APERC i APENC były teletyperami ( klawiatura i drukarka oraz czytnik i dziurkacz taśmy papierowej ). Ponadto UCC miał pamięć 8k słów, zamiast 1k słów dla innych maszyn, a MAC używał diod germanowych w miejsce wielu zaworów.

Maszyny brytyjskiej firmy Tabulating Machine Company

Prototyp BTM Hollerith Electronic Computer 1

W marcu 1951 roku brytyjska firma Tabulating Machine Company (BTM) wysłała zespół do warsztatu Andrew Bootha. Następnie wykorzystali jego projekt do stworzenia Hollerith Electronic Computer 1 (HEC 1) przed końcem 1951 roku. Komputer był bezpośrednią kopią obwodów Andrew Bootha z dodatkowymi interfejsami wejścia / wyjścia. HEC 2 był HEC 1 z inteligentniejszymi metalowymi obudowami i został zbudowany na Wystawę Efektywności Biznesowej w 1953 roku. Nieznacznie zmodyfikowana wersja HEC 2 była wtedy sprzedawana jako HEC2M i 8 była sprzedawana. HEC2M został zastąpiony przez HEC4. Pod koniec lat pięćdziesiątych sprzedano około 100 egzemplarzy HEC4.

HEC używał standardowych kart perforowanych ; HEC 4 miał również drukarkę i zawierał kilka instrukcji (takich jak dzielenie ) i rejestry, których nie znaleziono w APEXC.

Opis techniczny

Emulator dla serii APEXC został opracowany przez firmę MESS . Opisują jego działanie następująco:

APEXC to niesamowicie prosta maszyna.


Słowa instrukcji i danych mają zawsze długość 32 bitów. Procesor wykorzystuje arytmetykę liczb całkowitych z uzupełnieniem do 2. Adresy mają długość 10 bitów. APEXC nie ma pamięci RAM , z wyjątkiem 32-bitowego akumulatora i 32-bitowego rejestru danych (używanego wraz z akumulatorem 32-bitowym do implementacji 64-bitowych instrukcji przesunięcia i przechowywania 64-bitowego wyniku mnożenia ). Instrukcje i dane są przechowywane w dwóch bębnach magnetycznych , co daje łącznie 32 okrągłe ścieżki magnetyczne po 32 słowa. Ponieważ prędkość obrotowa wynosi 3750 obr / min (62,5 obrotów na sekundę), prędkość wykonywania programu może wzrosnąć od tak wysokiego, jak teoretyczne maksimum 1 kIPS do mniej niż 100 IPS, jeśli instrukcje programu i dane nie są ciągłe. W dzisiejszych czasach wielu twierdzi, że kalkulator kieszonkowy jest szybszy.
Osobliwością jest to, że nie ma licznika programu : każda instrukcja maszyny zawiera adres następnej instrukcji. Ten projekt może wydawać się dziwny, ale jest to jedyny sposób na osiągnięcie optymalnej wydajności dzięki pamięci opartej na cylindrze.
Kod maszynowy składa się tylko z 15 instrukcji, a mianowicie dodawanie , odejmowanie , mnożenie, ładowanie (3 warianty), przechowywanie (2 warianty), rozgałęzienie warunkowe , arytmetyczne przesunięcie bitów w prawo, obrót bitów w prawo, wejście na kartę perforowaną, wyjście na kartę , zatrzymanie maszyny i przełączanie banków (które nigdy nie jest używane w APEXC, ponieważ ma tylko 1024 słowa pamięci, a adresy mają długość 10 bitów). Tak zwany tryb wektorowy pozwala na powtórzenie tej samej operacji 32 razy z 32 kolejnymi komórkami pamięci. Zwróć uwagę na brak bitów i / lub / xor oraz dzielenia. Należy również zwrócić uwagę na brak trybów adresowania pośredniego: dynamiczna modyfikacja rozkazów jest jedynym sposobem, w jaki można to zasymulować.
Kolejną dziwnością jest to, że magistrala pamięci i jednostka ALU mają szerokość 1-bitową. Jest zegar bitowy 64 kHz i zegar słów 2 kHz, a każda pamięć słów i operacja arytmetyczna jest rozkładana na 32 1-bitową pamięć i operacje arytmetyczne: zajmuje to 32-bitowe cykle, co daje w sumie 1 cykl słowa.
Procesor jest dość wydajny: większość instrukcji zajmuje tylko 2 cykle słów (1 do pobierania, 1 do odczytu i wykonania), z wyjątkiem zapamiętywania, przesunięć i mnożenia. Procesor APEXC kwalifikuje się jako RISC ; nie ma innego odpowiedniego słowa.
Zauważ, że nie ma pamięci tylko do odczytu (ROM), a zatem nie ma żadnego programu ładującego ani domyślnego programu startowego. Uważa się, że żaden system wykonawczy ani
operacyjny nie został nigdy napisany dla APEXC, chociaż istniały pewnego rodzaju biblioteki podprogramów do typowych zadań arytmetycznych, we / wy i debugowania. Obsługa maszyny jest zwykle wykonywana za pośrednictwem panelu sterowania, który umożliwia użytkownikowi uruchamianie, zatrzymywanie i wznawianie pracy jednostki centralnej oraz zmianę rejestrów i pamięci, gdy procesor jest zatrzymany. Podczas uruchamiania maszyny w panelu sterowania należy wpisać adres pierwszej instrukcji programu do wykonania, a następnie nacisnąć przycisk uruchamiania. Większość programów kończy się instrukcją zatrzymania, która umożliwia operatorowi sprawdzenie stanu maszyny, ewentualnie uruchomienie niektórych procedur debugowania post-mortem (procedura zrzutu pamięci jest opisana w książce programowania APEXC), a następnie wprowadzenie adresu innego programu i Uruchom.

Obsługiwane były dwa urządzenia we / wy: czytnik taśmy papierowej i dziurkacz taśmy papierowej. W razie potrzeby wydruk z dziurkacza może być podawany do drukarki („teletypera”). Wydruk jest emulowany i wyświetlany na ekranie. Wejście na taśmę było albo generowane przez komputer przez APEXC, albo ręcznie wpisywane za pomocą specjalnej 32-klawiszowej klawiatury (każdy rząd taśmy miał 5 otworów na dane (<-> bitów), co daje 32 różne wartości).

Dalsza lektura

Bibliografia