IBM 1620 - IBM 1620
IBM 1620 bylo oznámeno IBM dne 21. října 1959, a na trh jako levný „vědecké počítače“. Po celkové produkci asi dvou tisíc strojů byl stažen 19. listopadu 1970. Upravené verze 1620 byly použity jako CPU systémů IBM 1710 a IBM 1720 Industrial Process Control Systems (což z něj činí první digitální počítač považovaný za dostatečně spolehlivý pro řízení procesů továrního zařízení v reálném čase ).
Díky tomu, že byl desítkový s proměnnou délkou slova , na rozdíl od čistého binárního souboru s pevnou délkou slova, byl obzvláště atraktivním prvním počítačem, na kterém se dalo učit-a stovky tisíc studentů mělo první zkušenosti s počítačem na IBM 1620.
Doby cyklu základní paměti byly 20 mikrosekund pro (dříve) Model I , 10 mikrosekund pro Model II (asi tisíckrát pomalejší než typická hlavní paměť počítače v roce 2006). Model II byl představen v roce 1962.
Architektura
Paměť
IBM 1620 byl počítač s desítkovou deskou ( BCD ) s proměnnou délkou „ slova “ s pamětí magnetického jádra, do které se vešlo:
- 20 000 desetinných míst
- 40 000 desetinných míst (základní paměť plus úložná jednotka IBM 1623, model 1)
- 60 000 desetinných míst (základní paměť plus úložná jednotka IBM 1623, model 2).
Výše uvedené bylo v modelu I. Model II nasadil paměťovou jednotku s jádrovou pamětí IBM 1625, jejíž doba paměťového cyklu byla zkrácena na polovinu použitím rychlejších jader ve srovnání s modelem I (interní nebo 1623 paměťová jednotka): na 10 µs (tj. , rychlost cyklu byla zvýšena na 100 kHz).
Zatímco 5místné adresy obou modelů mohly oslovit 100 000 desetinných míst, žádný stroj větší než 60 000 desetinných číslic nebyl nikdy uveden na trh.
Přístup do paměti
Do paměti se přistupovalo současně se dvěma desetinnými číslicemi (pár párů lichých číslic pro číselná data nebo jeden alfamerický znak pro textová data). Každá desetinná číslice byla 6 bitů, složená z lichého paritního C heck bitu, F lag bitu a čtyř BCD bitů pro hodnotu číslice v následujícím formátu:
C F 8 4 2 1
F lag bit měl několik použití:
- Nejméně významná číslice byla nastavena tak, aby označovala záporné číslo ( znaménková velikost ).
- Bylo nastaveno k označení nejvýznamnější číslice čísla ( slovní značka ).
- V nejméně významné číslici 5místných adres byla nastavena pro nepřímé adresování (možnost u modelu I , standard u modelu 1620 model II). Dalo by se použít víceúrovňové směrování (dokonce byste mohli stroj umístit do nekonečné smyčky nepřímého adresování).
- Uprostřed byly nastaveny tři číslice 5místných adres (na 1620 II ), aby vybrali jeden ze sedmi indexových registrů .
Kromě platných číselných hodnot BCD existovaly ještě tři speciální číselné hodnoty (tyto NELZE použít při výpočtech):
C F 8 4 2 1 1 0 1 0 – Record Mark (right most end of record, prints as a double dagger symbol, ‡) 1 1 0 0 – Numeric Blank (blank for punched card output formatting) 1 1 1 1 – Group Mark (right most end of a group of records for disk I/O)
Pokyny měly pevnou délku (12 desetinných míst), skládající se z 2místného „ operačního kódu “, 5místného „P adresy“ (obvykle cílové adresy) a 5místného „Q adresy“ (obvykle zdrojové adresy) nebo okamžitá hodnota zdroje ). Některé instrukce, jako například instrukce B (větev), používaly pouze adresu P a pozdější inteligentní assemblery obsahovaly instrukci „B7“, která generovala 7místnou instrukci větve (operační kód, adresa P a jednu další číslici, protože další instrukce musela začínat na sudém čísle).
Data „slova“ s pevným bodem mohou mít libovolnou velikost od dvou desetinných číslic až po veškerou paměť, která není použita pro jiné účely.
Plovoucí čárkou data „slova“ (pomocí hardware bod plovoucí možnost) může být libovolné velikosti od 4 desetinná místa až do 102 desítkové číslice (2 až 100 číslic pro mantisy a 2 místa pro exponent ).
Kompilátor Fortran II nabízel omezený přístup k této flexibilitě prostřednictvím „karty řízení zdrojového programu“, která předchází zdroji fortran v pevném formátu:
*ffkks
Znak * v prvním sloupci, ff je počet číslic na mantisy s plovoucí desetinnou čárkou čísel (umožňujících 02 až 28), kk počet číslic pro čísla s pevnou řádovou čárkou (umožňující 04 až 10), a to je k nastavení velikosti paměti počítače, aby spustil kód, pokud ne aktuální počítač: 2, 4 nebo 6 pro paměti s 20 000 nebo 40 000 nebo 60 000 číslicemi.
Stroj neměl programátor přístupné registry: všechny operace byly paměti do paměti (včetně indexových registrů v roce 1620 II ).
- Viz část Architektonické potíže
Znakové a operační kódy
V následující tabulce jsou uvedeny znaky (a operační kódy) režimu Alphameric.
BCD charakter | Psací stroj | Tiskárna | Páska | Kartu | Jádro | MNEMONIC a provoz | Definice a poznámky | ||||
---|---|---|---|---|---|---|---|---|---|---|---|
v | Ven | Ven | v | Ven | v | Ven | Dokonce | Zvláštní | |||
Prázdný | C | C | |||||||||
neplatný | Ж ❚ | 1 | FADD Floating Add | Volitelná speciální funkce. | |||||||
neplatný | Ж ❚ | 2 | FSUB Floating Subtract | Volitelná speciální funkce. | |||||||
. | . | . | . | X0 8 21 | X0 8 21 | 12-3-8 12-1-2-8 |
12-3-8 | 21 | FMUL Floating Multiply | Volitelná speciální funkce. | |
) | ) | ) | ) | X0C84 | X0C84 | 12-4-8 | 12-4-8 | 4 | |||
neplatný | Ж ❚ | 4 1 | FSL Plovoucí posuv vlevo | Volitelná speciální funkce. | |||||||
neplatný | Ж ❚ | 42 | TFL Transmit Floating | Volitelná speciální funkce. | |||||||
neplatný | Ж ❚ | 421 | Pobočka a přenos BTFL plovoucí | Volitelná speciální funkce. | |||||||
neplatný | Ж ❚ | 8 | Plovoucí řazení FSR vpravo | Volitelná speciální funkce. | |||||||
neplatný | Ж ❚ | 81 | Plovoucí předěl FDIV | Volitelná speciální funkce. | |||||||
+ | + | + | + | X0C | X0C | 12 | 12 | 1 | Pobočka BTAM a adresa přenosu okamžitě | (Model II) | |
neplatný | Ж ❚ | 1 | 1 | AM Přidat okamžitě | |||||||
neplatný | Ж ❚ | 1 | 2 | Okamžitě odečtěte SM | |||||||
$ | $ | $ | $ | X C8 21 | X C8 21 | 11-3-8 11-1-2-8 |
11-3-8 | 1 | 21 | Okamžité znásobení MM | |
* | * | * | * | X84 | X84 | 11-4-8 | 11-4-8 | 1 | 4 | Okamžitě porovnat CM | |
neplatný | Ж ❚ | 1 | 4 1 | Okamžitě vysílaná číslice TDM | |||||||
neplatný | Ж ❚ | 1 | 42 | Okamžité přenosové pole TFM | |||||||
neplatný | Ж ❚ | 1 | 421 | Pobočka BTM a okamžitý přenos | |||||||
neplatný | Ж ❚ | 1 | 8 | Dividenda načtení LDM okamžitá | Volitelná speciální funkce (model I). Standard (model II). |
||||||
neplatný | Ж ❚ | 1 | 81 | DM Divide Okamžitě | Volitelná speciální funkce (model I). Standard (model II). |
||||||
- | - | - | - | X | X | 11 | 11 | 2 | Pobočka a adresa přenosu BTA | (Model II) | |
/ | / | / | / | 0C1 | 0C1 | 0-1 | 0-1 | 2 | 1 | A Přidat | |
neplatný | Ж ❚ | 2 | 2 | S Odečíst | |||||||
, | , | , | , | 0C8 21 | 0C8 21 | 0-3-8 0-1-2-8 |
0-3-8 | 2 | 21 | M Násobit | |
( | ( | ( | ( | 0 84 | 0 84 | 0-4-8 | 0-4-8 | 2 | 4 | C Porovnat | |
neplatný | Ж ❚ | 2 | 4 1 | Vysílací číslice TD | |||||||
neplatný | Ж ❚ | 2 | 42 | Vysílací pole TF | |||||||
neplatný | Ж ❚ | 2 | 421 | Pobočka a přenos BT | |||||||
neplatný | Ж ❚ | 2 | 8 | Dividenda zatížení LD | Volitelná speciální funkce (model I). Standard (model II). |
||||||
neplatný | Ж ❚ | 2 | 81 | D Rozdělit | Volitelná speciální funkce (model I). Standard (model II). |
||||||
neplatný | Ж ❚ | 21 | TRNM Transmit Record No RM | (Model II) | |||||||
neplatný | Ж ❚ | 21 | 1 | TR Transmit Record | |||||||
neplatný | Ж ❚ | 21 | 2 | SF Set Flag | |||||||
= | = | = | = | 8 21 | 8 21 | 3-8 1-2-8 |
3-8 | 21 | 21 | CF Clear Flag | |
@ | @ | @ | @ | C84 | C84 | 4-8 | 4-8 | 21 | 4 | K Control (I/O zařízení) | |
neplatný | Ж ❚ | 21 | 4 1 | Výpis DN Číselný | |||||||
neplatný | Ж ❚ | 21 | 42 | RN Číst numericky | |||||||
neplatný | Ж ❚ | 21 | 421 | RA Přečtěte si alphameric | |||||||
neplatný | Ж ❚ | 21 | 8 | WN Zápis číselný | |||||||
neplatný | Ж ❚ | 21 | 81 | WA Napište alphameric | |||||||
A | A | A | A | X01 | X01 | 12-1 | 12-1 | 4 | 1 | NOP Žádná operace | |
B | B | B | B | X02 | X02 | 12-2 | 12-2 | 4 | 2 | Větev BB zpět | |
C | C | C | C | X0C21 | X0C21 | 12-3 12-1-2 |
12-3 | 4 | 21 | Větev BD na číslici | |
D | D | D | D | X04 | X04 | 12-4 | 12-4 | 4 | 4 | Pobočka BNF bez vlajky | |
E | E | E | E | X0C 4 1 | X0C 4 1 | 12-5 12-1-4 |
12-5 | 4 | 4 1 | Pobočka BNR No Record Mark | |
F | F | F | F | X0C 42 | X0C 42 | 12-6 12-2-4 |
12-6 | 4 | 42 | Indikátor pobočky BI | |
UMK Odmaskovat masku MK |
Funkce přerušení 1710. Modifikátory v poli Q. | ||||||||||
G | G | G | G | X0421 | X0421 | 12-7 12-1-2-4 |
12-7 | 4 | 421 | Pobočka BNI Žádný indikátor | |
BO Rozvětvujte BOLD Odvětvujte a načítejte |
Funkce přerušení 1710. Modifikátory v poli Q. | ||||||||||
H | H | H | H | X0 8 | X0 8 | 12-8 | 12-8 | 4 | 8 | H Zastav | |
Já | Já | Já | Já | X0C81 | X0C81 | 12-9 12-1-8 |
12-9 | 4 | 81 | Větev B. | |
-0 | N/A | - | - | N/A | X | 11-0 | 11-0 | 4 1 | |||
J -1 |
J. | J. | J. | X C1 | X C1 | 11-1 | 11-1 | 4 1 | 1 | ||
K -2 |
K | K | K | X C2 | X C2 | 11-2 | 11-2 | 4 1 | 2 | ||
L -3 |
L | L | L | X21 | X21 | 11-3 11-1-2 |
11-3 | 4 1 | 21 | ||
M -4 |
M | M | M | X C 4 | X C 4 | 11-4 | 11-4 | 4 1 | 4 | ||
N -5 |
N. | N. | N. | X4 1 | X4 1 | 11-5 11-1-4 |
11-5 | 4 1 | 4 1 | Pobočka BNG Bez označení skupiny | Volitelná speciální funkce. |
O -6 |
Ó | Ó | Ó | X42 | X42 | 11-6 11-2-4 |
11-6 | 4 1 | 42 | ||
P -7 |
P | P | P | X C 421 | X C 421 | 11-7 11-1-2-4 |
11-7 | 4 1 | 421 | ||
Q -8 |
Otázka | Otázka | Otázka | X C8 | X C8 | 11-8 | 11-8 | 4 1 | 8 | ČEKEJTE, počkejte na přerušení | Funkce přerušení 1710. |
R -9 |
R. | R. | R. | X81 | X81 | 11-9 11-1-8 |
11-9 | 4 1 | 81 | ||
neplatný | Ж ❚ | 42 | Pobočka a výběr BS | (Model II) | |||||||
neplatný | Ж ❚ | 42 | 1 | BX Branch and Modify Register Register | Volitelná speciální funkce (model II). | ||||||
S | S | S | S | 0C2 | 0C2 | 0-2 | 0-2 | 42 | 2 | Pobočka BXM |
Volitelná speciální funkce (model II). |
T | T | T | T | 021 | 021 | 0-3 0-1-2 |
0-3 | 42 | 21 | Pobočka BCX podmíněně |
Volitelná speciální funkce (model II). |
U | U | U | U | 0C 4 | 0C 4 | 0-4 | 0-4 | 42 | 4 | Pobočka BCXM podmíněně |
Volitelná speciální funkce (model II). |
PROTI | PROTI | PROTI | PROTI | 04 1 | 04 1 | 0-5 0-1-4 |
0-5 | 42 | 4 1 | Index rejstříku BLX a větve | Volitelná speciální funkce (model II). |
W | W | W | W | 042 | 042 | 0-6 0-2-4 |
0-6 | 42 | 42 | Index poboček |
Volitelná speciální funkce (model II). |
X | X | X | X | 0C 421 | 0C 421 | 0-7 0-1-2-4 |
0-7 | 42 | 421 | Index rejstříku poboček a obchodů BSX | Volitelná speciální funkce (model II). |
Y | Y | Y | Y | 0C8 | 0C8 | 0-8 | 0-8 | 42 | 8 | ||
Z | Z | Z | Z | 0 81 | 0 81 | 0-9 0-1-8 |
0-9 | 42 | 81 | ||
0 | 0 | 0 | 0 | 0 | 0 | 0 12-0 |
0 | 421 | MA Přesunout adresu | Volitelná speciální funkce (model II). | |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 421 | 1 | MF Move Flag | Volitelná speciální funkce (model I). Standard (model II). |
2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 421 | 2 | TNS přenáší číselný pás | Volitelná speciální funkce (model I). Standard (model II). |
3 | 3 | 3 | 3 | C21 | C21 | 3 | 3 | 421 | 21 | TNF Transmit Numeric Fill | Volitelná speciální funkce (model I). Standard (model II). |
4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 421 | 4 | ||
5 | 5 | 5 | 5 | C 4 1 | C 4 1 | 5 | 5 | 421 | 4 1 | ||
6 | 6 | 6 | 6 | C 42 | C 42 | 6 | 6 | 421 | 42 | ||
7 | 7 | 7 | 7 | 421 | 421 | 7 | 7 | 421 | 421 | ||
8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 421 | 8 | ||
9 | 9 | 9 | 9 | C81 | C81 | 9 | 9 | 421 | 81 | ||
neplatný | Ж ❚ | 8 | 4 | SA Select Address SACO Select Address, Contact Operate SAOS Select Analog Output Signal |
Funkce 1710. Modifikátory v poli Q | ||||||
neplatný | Ж ❚ | 8 | 42 | SLTA Select TAS SLAR Select ADC Register SLTC Select Real-Time Clock SLIC Select Input Channel SLCB Select Contact Block SLME Select Manual Entry |
Funkce 1710. Modifikátory v poli Q | ||||||
neplatný | Ж ❚ | 8 | F 42 | RNIC Numerický vstupní kanál pro čtení | Funkce 1710. Modifikátory v poli Q | ||||||
neplatný | Ж ❚ | 8 | F 421 | RAIC Přečtěte si alfanumerický vstupní kanál | Funkce 1710. Modifikátory v poli Q | ||||||
neplatný | Ж ❚ | 8 | 8 | WNOC Zapisovat číselný výstupní kanál | Funkce 1710. Modifikátory v poli Q | ||||||
neplatný | Ж ❚ | 8 | 81 | WAOC Zápis alfamerického výstupního kanálu | Funkce 1710. Modifikátory v poli Q | ||||||
neplatný | Ж ❚ | 81 | Pobočka BBT na bitu | Volitelná speciální funkce (model II). | |||||||
neplatný | Ж ❚ | 81 | 1 | Větev BMK na masce | Volitelná speciální funkce (model II). | ||||||
neplatný | Ж ❚ | 81 | 2 | ORF NEBO do pole | Volitelná speciální funkce (model II). | ||||||
neplatný | Ж ❚ | 81 | 21 | ANDF A do pole | Volitelná speciální funkce (model II). | ||||||
neplatný | Ж ❚ | 81 | 4 | Osmičkové pole komplementu CPLF | Volitelná speciální funkce (model II). | ||||||
neplatný | Ж ❚ | 81 | 4 1 | EORF Exkluzivní NEBO do pole | Volitelná speciální funkce (model II). | ||||||
neplatný | Ж ❚ | 81 | 42 | Převod OTD z osmičky na desetinný | Volitelná speciální funkce (model II). | ||||||
neplatný | Ж ❚ | 81 | 421 | DTO desetinný převod na osmičkový | Volitelná speciální funkce (model II). | ||||||
RM | ‡ | (Stop) | (Stop) | 0 8 2 |
E (Zastavit) |
0-2-8 | 0-2-8 | 8 2 | Záznam Mark | ||
GM | (Stop) | (Stop) | 0 8421 |
E (Zastavit) |
0-7-8 | 1-2-4-8 | 8421 | Skupinová značka |
V následující tabulce jsou uvedeny znaky numerického režimu.
Charakter | Psací stroj | Tiskárna | Páska | Kartu | Jádro | Definice a poznámky | ||||
---|---|---|---|---|---|---|---|---|---|---|
v | Ven | Ven | Skládka | v | Ven | v | Ven | |||
Prázdný | 0 | 0 | 0 | C | 0 | 0 | C | |||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 12-0 12 |
0 | C | |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 12-1 |
1 | 1 | |
2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 12-1 |
2 | 2 | |
3 | 3 | 3 | 3 | 3 | C21 | C21 | 3 12-3 1-2 12-1-2 |
3 | C21 | |
4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 12-4 |
4 | 4 | |
5 | 5 | 5 | 5 | 5 | C 4 1 | C 4 1 | 5 12-5 1-4 12-1-4 |
5 | C4 1 | |
6 | 6 | 6 | 6 | 6 | C 42 | C 42 | 6 12-6 2-4 12-2-4 |
6 | C42 | |
7 | 7 | 7 | 7 | 7 | 421 | 421 | 7 12-7 1-2-4 12-1-2-4 |
7 | 421 | |
8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 12-8 |
8 | 8 | |
9 | 9 | 9 | 9 | 9 | C81 | C81 | 9 12-9 1-8 12-1-8 |
9 | C 81 | |
-0 | 0 | 0 | - | - |
X X0C |
X | 11-0 | 11-0 | F | |
-1 | 1 | 1 | J. | J. | X C1 | X C1 | 11-1 | 11-1 | CF1 | |
-2 | 2 | 2 | K | K | X C2 | X C2 | 11-2 | 11-2 | CF2 | |
-3 | 3 | 3 | L | L | X21 | X21 | 11-3 11-1-2 |
11-3 | F21 | |
-4 | 4 | 4 | M | M | X C 4 | X C 4 | 11-4 | 11-4 | CF 4 | |
-5 | 5 | 5 | N. | N. | X4 1 | X4 1 | 11-5 11-1-4 |
11-5 | F 4 1 | |
-6 | 6 | 6 | Ó | Ó | X42 | X42 | 11-6 11-2-4 |
11-6 | F 42 | |
-7 | 7 | 7 | P | P | X C 421 | X C 421 | 11-7 11-1-2-4 |
11-7 | CF 421 | |
-8 | 8 | 8 | Otázka | Otázka | X C8 | X C8 | 11-8 | 11-8 | CF8 | |
-9 | 9 | 9 | R. | R. | X81 | X81 | 11-9 11-1-8 |
11-9 | F81 | |
RM | ‡ | (Stop, WN) ‡ (DN) |
(Stop) | ‡ | 0 8 2 |
E (Stop, WN) 0 8 2 (DN) |
0-2-8 | 0-2-8 | C 8 2 |
Nahrajte značku na pásku a WN místo toho udeří EOL! |
vlajka RM | ‡ | (Stop, WN) ‡ (DN) |
(Stop) | W | X8 2 |
E (Stop, WN) X8 2 (DN) |
11-2-8 12-2-8 |
11-2-8 | F8 2 |
Označená značka záznamu Na pásku WN místo toho udeří EOL! |
EOL | ‡ | (Stop, WN) ‡ (DN) |
(Stop) | ‡ | E |
E (WN) 0 8 2 (DN) |
0-2-8 | 0-2-8 | C 8 2 |
Pouze páska na konci řádku . Poznámka: V paměti je značka záznamu! |
GM | (Stop, WN) (DN)
|
(Stop) | G | 0 8421 | 0 8421 | 0-7-8 | 0-7-8 | C 8421 | Skupinová značka | |
vlajka GM | (Stop, WN) (DN)
|
(Stop) | X | X8421 | X8421 | 12-7-8 | 12-7-8 | F8421 | Označená značka skupiny | |
Pozn | @ | @ | @ | C84 | C84 | 4-8 | C 84 | Numerický prázdný | ||
vlajka Pozn | @ | @ | * | X84 | X84 | 11-4-8 | F84 | Označené číselné prázdné místo |
Neplatný znak
Model jsem použil cyrilice Ж (výraznější zh) na psacím stroji jako obecný neplatný znak s správné parity (neplatné parita je označen s Overstrike „-“). V některých 1620 instalacích se tomu říkalo SMERSH, jak se používalo v románech Jamese Bonda, které se staly populární na konci 60. let. Model II používá novou postavu ❚ (nazvaný „polštář“) jako obecný účel neplatný znak s správné parity.
Architektonické potíže
Ačkoli architektura IBM 1620 byla ve vědecké a technické komunitě velmi populární, počítačový vědec Edsger Dijkstra poukázal na několik nedostatků v jejím návrhu v EWD37, „Přehled systému zpracování dat IBM 1620“. Mezi ně patří to, že instrukce Branch and Transmit stroje spolu s Branch Back umožňují celkem jednu úroveň vnořeného volání podprogramu, což nutí programátora jakéhokoli kódu s více než jednou úrovní rozhodnout, kde bude použití této „funkce“ nejvíce efektivní. Ukázal také, jak podpora čtení papírové pásky na stroji neumí správně číst pásky obsahující záznamové značky, protože záznamové značky se používají k ukončení znaků čtených v úložišti. Jedním z důsledků toho je, že 1620 nemůže duplikovat pásku se záznamovými značkami přímočaře: když dojde na značku záznamu, instrukce děrování místo toho udeří znak EOL a skončí. Nebyl to však ochromující problém:
- data lze zkopírovat na konec paměti a doslovně děrovat instrukcí DN místo WN
- kazety byly obvykle duplikovány offline .
Většina 1620 instalací používala pohodlnější vstup/výstup děrných karet než papírovou pásku.
Nástupce 1620, IBM 1130 , byl založen na úplně jiné, 16bitové binární architektuře. (Linka 1130 si zachovala jednu periferii 1620, bubnový plotter IBM 1627. )
Software
IBM dodala pro 1620 následující software:
- 1620 Symbolic Programming System (SPS) ( montážní jazyk )
- FORTRAN
- FORTRAN II - požadováno 40 000 číslic nebo více paměti
- GOTRAN - zjednodušená, interpretovaná verze FORTRAN pro provoz „načíst a jít“
- Monitor I a Monitor II - diskové operační systémy .
Monitory poskytovaly diskové verze 1620 SPS IId, FORTRAN IId a také DUP (Disk Utility Program). Oba systémy Monitor vyžadovaly 20 000 nebo více číslic paměti a jednu nebo více 1311 diskových jednotek .
Na bitsavers existuje sbírka příruček souvisejících s IBM 1620 ve formátu PDF.
1620 bez desítkové aritmetiky
Od modelu, který jsem použil pro sčítání/odčítání v paměti vyhledávacích tabulek, bylo možné provést omezenou základnu (5 až 9) aritmetiky bez znaménka změnou obsahu těchto tabulek, ale s tím, že hardware obsahoval desaterní komplementář pro odčítání (a sčítání) opačně podepsaných čísel).
Plně podepsané sčítání a odčítání v základech 2 až 4 vyžadovalo podrobné porozumění hardwaru, aby se vytvořila „skládaná“ sčítací tabulka, která by předstírala logiku komplementu a přenosu.
Také tabulku sčítání by bylo nutné znovu načíst pro normální provoz základny 10 pokaždé, když byly v programu požadovány výpočty adres, a poté znovu načteny pro alternativní základnu. Díky tomu byl „trik“ poněkud méně užitečný pro jakoukoli praktickou aplikaci.
Protože model II měl sčítání a odčítání plně implementované v hardwaru, změna tabulky v paměti nemohla být použita jako „trik“ ke změně aritmetických základen. K dispozici však byla volitelná speciální funkce v hardwaru pro osmičkový vstup/výstup, logické operace a základní převod na/z desítkové soustavy.
Ačkoli nebyly podporovány jiné základny než 8 a 10, byl model II velmi praktický pro aplikace, které potřebovaly manipulovat s daty formátovanými v osmičkách jinými počítači (např. IBM 7090).
Model I.
Původní byl model IBM 1620 Model I (běžně nazývaný „1620“ od roku 1959 do zavedení modelu II v roce 1962 ). Byl vyroben co nejlevněji, aby udržel nízkou cenu .
- Postrádal konvenční ALU hardware: aritmetika byla prováděna vyhledáváním v paměťových tabulkách . Sčítání a odčítání používalo 100místnou tabulku (na adrese 00300..00399). Násobení použilo 200místnou tabulku (na adrese 00100..00299). Základní stroj používal pro dělení softwarové podprogramy, ačkoli mohl být nainstalován volitelný dělící hardware, který používal algoritmus opakovaného odčítání. Aritmetické pokyny s pohyblivou řádovou čárkou byly k dispozici (pokud byla nainstalována možnost dělení).
- Prvních 20 000 desetinných číslic paměti s magnetickým jádrem bylo interních pro samotný CPU (což snížilo požadavky na základní prostor základního systému). Rozšíření na 40 000 nebo 60 000 desetinných míst vyžadovalo přidání paměťové jednotky IBM 1623. Doba cyklu paměti byla 20 μs (to znamená, že rychlost paměti byla 50 kHz = 1/20 a MHz). Operace MARS (Memory Address Register Register) operace čtení, vymazání nebo zápisu základní paměti trvala 2 μs a každé operaci zápisu automaticky (ale ne nutně bezprostředně) předcházela operace čtení nebo vymazání stejného „registru“ během 20 μs paměťový cyklus.
- Taktovací frekvence centrálního procesoru byla 1 MHz , což bylo děleno 20 čítačem prstenů s 10 pozicemi, který zajišťoval časování systému a řídicí signály. Načtení instrukcí trvalo osm paměťových cyklů (160 μs) a spuštění různého počtu paměťových cyklů. Nepřímé adresování přidalo čtyři paměťové cykly (80 μs) pro každou úroveň přesměrování.
- Vážil asi 1210 liber (550 kg).
Model II
Ve srovnání s původním modelem I byl IBM 1620 Model II (běžně nazývaný jednoduše Model II) výrazně vylepšenou implementací . Model II byl představen v roce 1962.
- Měl základní ALU hardware pro sčítání a odčítání, ale násobení stále probíhalo pomocí vyhledávání v tabulce v paměti pomocí 200místné tabulky (na adrese 00100..00299). Paměťové adresy na adrese 00300..00399 byly uvolněny výměnou přídavné tabulky za hardware, což mělo za následek uložení dvou volitelných „pásem“ sedmi 5místných indexových registrů .
- Spíše než jako dostupná možnost, jako u modelu I, byl zabudován dělící hardware využívající algoritmus opakovaného odčítání. Aritmetika s pohyblivou řádovou čárkou byla k dispozici, stejně jako osmičkový vstup/výstup, logické operace a převod základny na/z desítkové pokyny.
- Celá základní paměť byla v paměťové jednotce IBM 1625. Doba cyklu paměti byla snížena na polovinu ve srovnání s modelem I (interní nebo 1623 paměťová jednotka) na 10 µs (tj. Rychlost cyklu byla zvýšena na 100 kHz ) použitím rychlejších jader. Operace čtení, vymazání nebo zápisu paměti MARS (Memory Address Register Storage) trvala 1,5 µs a každé operaci zápisu automaticky (ale ne nutně bezprostředně) předcházela operace čtení nebo vymazání stejného „registru“ během Paměťový cyklus 10 µs.
- Taktovací frekvence procesoru byla také zdvojnásobena na 2 MHz , což bylo stále děleno 20 desetipólovým prstencovým čítačem, který poskytoval časovací/řídicí signály systému. Mechanismus načítání/spouštění byl zcela přepracován, optimalizoval načasování a umožnil částečné načtení, když pole P nebo Q nebyla potřeba. Načtení instrukcí trvalo 1, 4 nebo 6 paměťových cyklů (10 µs, 40 µs nebo 60 µs) a provedení proměnného počtu paměťových cyklů. Nepřímé adresování přidalo tři paměťové cykly (30 µs) pro každou úroveň přesměrování . Indexované adresování přidalo pět paměťových cyklů (50 µs) pro každou úroveň indexování. Nepřímé a indexované adresování lze kombinovat na jakékoli úrovni přesměrování nebo indexování.
Konzoly modelů I a II
Zatímco spodní konzola pro systémy Model 1 a Model 2 IBM 1620 měla stejné žárovky a spínače, horní konzola dvojice se částečně lišila.
Horní konzola
Model I (horní konzola) | #Lampy | Model II (horní konzola) | #Lampy | |
---|---|---|---|---|
Cyklus instrukcí a provedení | 60 | Ovládací brány | 60 | |
Ovládací brány | 35 | Vstup výstup | 35 | |
Vstup výstup | 15 | Cyklus Inst & Exec | 15 | - |
Vyvážení horní konzoly bylo u obou modelů stejné:
- Provozní registr - 25 lamp
- Register vyrovnávací paměti - 30 lamp
- Register adres paměti - 25 kontrolek
- Volič zobrazení registru adresy paměti - otočný přepínač, 12 poloh
Spodní konzola
- Nouzové vypnutí - Vytáhněte spínač
- Zkontrolujte stavové kontrolky/spínače - 15 světel a 5 přepínacích spínačů
- Programové přepínače - 4 přepínače
- Osvětlení/spínače ovládacího panelu konzoly - 13 světel, 1 vypínač a 12 tlačítek
Konzolový psací stroj
Model I konzola psací stroj byl upravený model B1 , propojen souborem relé, a to napsaný na pouhých 10 znaků za sekundu.
Existovala sada pokynů, které psaly na psací stroj, nebo z něj četly. Obecné instrukce RN (číst numerické) a WN (zapisovat numerické) měly mnemotechnické pomůcky pro montážní jazyk, které dodávaly kód „zařízení“ do druhého pole adresy, a řídicí kód do číslice nižšího řádu druhého adresního pole.
- WNTY : W rite N umeric TY pewriter: každé paměťové místo obsahovalo 6bitový znak v rozsahu 000000 až 001001; s touto instrukcí bylo každé paměťové místo vykresleno jako jeden ze znaků „0“ až „9“.
- WATY : W rite A lfanumerický TY pewriter: každý pár paměťových míst obsahoval dvě 6bitové číslice, které se na psacím stroji objevily jako jeden ze 64 znaků, které se mohly objevit.
- RNTY : R EAD N umeric TY pewriter: čtení číselnou hodnotu z psacího stroje klávesnice
- Raty : R ead lphanumeric TY pewriter: přečíst znak z klávesnice a obchodu jako 2-místný alfanumerický znak
- TBTY : T a B TY pewriter. Záložky musely být nastaveny ručně, takže tato instrukce byla používána jen zřídka.
- RCTY : R eturn C arriage TY pewriter: Donutil psací stroj dělat to, čemu nyní říkáme sekvence CR/LF.
Ke zjednodušení vstupu a výstupu existovaly dva pokyny:
- TNS : T ransmit N umeric S trip: Převede dvouciferné alfanumerické vyjádření „0“ na „9“ na jednociferné zobrazení
- TNF : T ransmit N umeric F ill: Převede jednocifernou reprezentaci číslic na sekvenci na dvoucifernou alfanumerickou sekvenci, která představovala „0“ až „9“
Model II používá modifikovaný Selectric psací stroj, který by mohl zadat 15,5 Pa.s - zvýšení 55%.
Periferní zařízení
Dostupné periferie byly:
- IBM 1621 - čtečka papírových pásek
- IBM 1622 - Čtečka karet/děrovačka
- IBM 1624 - Děrovačka papírové pásky (seděla uvnitř 1621 na poličce)
- IBM 1626 - řadič plotru
- IBM 1627 - plotter
- IBM 1311 - Disková jednotka: Hlavní jednotka Model 3 ovládající až 3 podřízené jednotky Model 2.
- IBM 1443 - tiskárna , lišta létajícího typu
- IBM 1405 - Disk Drive dostupný jako RPQ (vyžádejte si cenovou nabídku)
Standardním „výstupním“ mechanismem programu bylo děrování karet, což bylo rychlejší než pomocí psacího stroje. Tyto děrné štítky byly poté vedeny přes mechanickou kalkulačku IBM 407, kterou bylo možné naprogramovat tak, aby tiskla dvě karty, takže bylo možné použít další tiskové sloupce dostupné na 407. Veškerý výstup byl synchronní a procesor se pozastavil, zatímco I/O zařízení produkoval výstup, takže výstup z psacího stroje mohl zcela dominovat době běhu programu.
Možnost rychlejšího výstupu, tiskárna IBM 1443, byla představena 6. května 1963 a její kapacita 150–600 řádků za minutu byla k dispozici pro oba modely 1620.
Mohlo by to tisknout 120 nebo 144 sloupců. Šířka znaku byla pevná, změnila se tedy velikost papíru; tiskárna vytiskla 10 znaků na palec, takže tiskárna mohla vytisknout maximálně 12 palců nebo 14,4 palců textu. Tiskárna měla navíc vyrovnávací paměť, takže se zkrátilo zpoždění I/O pro procesor. Pokud by se řádek nedokončil, tisková instrukce by se zablokovala.
Provozní postupy
„Operační systém“ pro počítač představoval lidský operátor, který používal ovládací prvky na počítačové konzole , která se skládala z předního panelu a psacího stroje, k načítání programů z dostupných hromadných paměťových médií, jako jsou balíčky děrných karet nebo role papíru páska, která byla uložena ve skříních poblíž. Později umožnilo zařízení pro ukládání disků modelu 1311 připojené k počítači omezení načítání a přenášení balíčků karet nebo rolí papírových pásek a mohl být načten jednoduchý operační systém „Monitor“, který by pomohl při výběru toho, co se má z disku načíst.
Standardním úkolem bylo vymazat paměť počítače od zbytků předchozího uživatele - jako magnetická jádra, si paměť zachovala svůj poslední stav, i když bylo vypnuto napájení. Toho bylo dosaženo použitím zařízení konzoly k načtení jednoduchého počítačového programu zadáním jeho strojového kódu do psacího stroje konzoly, spuštěním a zastavením. To nebylo náročné, protože byla zapotřebí pouze jedna instrukce, například 160001000000, načtená na adrese nula a následující. To znamenalo okamžité odeslání pole (16: dvoumístné operační kódy) na adresu 00010 okamžité konstantní pole s hodnotou 00000 (pětimístná pole operandů, druhé z adresy 11 zpět na 7), snížení zdrojové a cílové adresy dokud nebyla zkopírována číslice s „vlajkou“. To byl normální způsob strojového kódu pro kopírování konstanty až do pěti číslic. Řetězec číslic byl adresován na konci nižšího řádu a rozšířen přes nižší adresy, dokud jeho konec neoznačila číslice s příznakem. Ale pro tuto instrukci by nikdy nebyl nalezen žádný příznak, protože zdrojové číslice byly krátce předtím přepsány číslicemi bez vlajky. Operace by tedy válcovala paměť (dokonce i přepisovala) a zaplňovala ji všemi nulami, dokud by operátora neunavilo sledovat rolování kontrolek a nestiskl tlačítko Instant Stop - Single Cycle Execute . Vymazání každého 20 000místného modulu paměti trvalo necelou jednu sekundu. Na 1620 II tato instrukce NEBUDE fungovat (kvůli určitým optimalizacím v implementaci). Místo toho bylo na konzole tlačítko s názvem Upravit, které po stisknutí společně s tlačítkem Zkontrolovat reset , když byl počítač v ručním režimu, nastaví počítač do režimu, který by vymazal veškerou paměť za desetinu sekundy bez ohledu na to, jak máte spoustu paměti; když jste stiskli Start . Také se automaticky zastavil, když byla paměť vymazána, místo aby to operátor vyžadoval.
Kromě psaní strojového kódu na konzolu lze program načíst buď pomocí čtečky papírových pásek, čtečky karet nebo jakékoli diskové jednotky. Načítání z pásky nebo disku vyžaduje nejprve zadání rutiny „ bootstrap “ do psacího stroje konzoly.
Čtečka karet to usnadnila, protože měla speciální tlačítko Načíst , které znamenalo, že první karta měla být načtena do paměti počítače (počínaje adresou 00000) a spuštěna (na rozdíl od pouhého spuštění čtečky karet, která poté čeká na příkazy od počítač ke čtení karet) - jedná se o proces „bootstrap“, který do počítače dostane dostatek kódu, který přečte zbytek kódu (ze čtečky karet, disku nebo ...), což představuje zavaděč, který bude načtěte a spusťte požadovaný program.
Programy byly připraveny s předstihem, offline, na papíře nebo děrných kartách. Ale obvykle programátorům bylo povoleno spouštět programy osobně, osobně, místo aby je předkládali operátorům, jak tomu bylo v té době u sálových počítačů. A konzolový psací stroj umožňoval zadávat data a získávat výstup interaktivním způsobem, místo aby jen získal normální tištěný výstup ze slepého dávkového běhu na předem zabalené sadě dat. Na konzole byly také čtyři programové přepínače, jejichž stav spuštěný program mohl testovat, a tak jeho chování řídit jeho uživatel. Operátor počítače mohl také zastavit běžící program (nebo může dojít k záměrně naprogramovanému zastavení) a poté prozkoumat nebo upravit obsah paměti: vzhledem k tomu, že je to založeno na desítkové soustavě, bylo to docela snadné; i čísla s plovoucí desetinnou čárkou byla čitelná na první pohled. Popravu pak bylo možné obnovit z libovolného požadovaného bodu. Kromě ladění je vědecké programování obvykle průzkumné, na rozdíl od komerčního zpracování dat, kde se stejná práce opakuje v pravidelném plánu.
Řídicí panel
Nejdůležitějšími položkami na konzole 1620 byla dvojice tlačítek označených Insert & Release a konzolový psací stroj.
- Vložit - Stisknutím této klávesy na počítači v ručním režimu vynulujete počitadlo programů (v základní paměti MARS) na nulu, přepnete počítač do automatického a vkládacího režimu a simulujete spuštění čtecího čísla z psacího stroje na adresu nula (odemkne se klávesnice psacího stroje, přesunul psací stroj do numerického režimu). Poznámka: na rozdíl od skutečného čtení čísel z psacího stroje by režim vkládání vynutil vydání po zadání 100 číslic, aby se zabránilo přepsání aritmetických tabulek.
- Uvolnit - Stisknutím této klávesy při čtení ze psacího stroje se čtení ukončí, počítač se přepne do manuálního režimu a zamkne se klávesnice psacího stroje.
Psací stroj se používá pro vstup/výstup operátora, a to jak jako hlavní ovládací konzola počítače, tak pro programově řízený vstup/výstup. Pozdější modely psacího stroje měly speciální klávesu označenou RS, která kombinovala funkce tlačítek Release & Start na konzole (to by bylo považováno za ekvivalent klávesy Enter na moderní klávesnici). Poznámka: několik kláves na psacím stroji nevygenerovalo vstupní znaky, mezi ně patří Tab a Return (v alfanumerických a numerických znakových sadách BCD z roku 1620 chyběly pro tyto klíče znakové kódy).
Dalšími nejdůležitějšími položkami na konzole byla tlačítka s označením Start , Stop-SIE a Instant Stop-SCE .
- Start - Stisknutím této klávesy s počítačem v ručním režimu přepnete počítač do automatického režimu (což způsobí, že se počítač začne vykonávat na adrese v čítači programů).
- Stop-SIE-Stisknutím této klávesy s počítačem v automatickém režimu přepnete počítač do manuálního režimu, když se aktuálně provádějící instrukce dokončí. Stisknutím této klávesy s počítačem v ručním režimu přepnete počítač do automatického režimu pro jednu instrukci.
- Instant Stop-SCE-Stisknutím této klávesy s počítačem v automatickém režimu přepnete počítač do automatického/manuálního režimu na konci aktuálního cyklu paměti. Stisknutím této klávesy s počítačem v ručním nebo automatickém/manuálním režimu přepnete počítač do automatického/manuálního režimu a provedete jeden paměťový cyklus.
Pro ladění programu byla tlačítka označená Uložit a zobrazit MAR .
- Uložit - Stisknutím této klávesy s počítačem v ručním režimu byl čítač programu uložen do jiného registru v základní paměti MARS a aktivován režim Uložit .
Když byla instrukce Branch Back spuštěna v režimu Save , zkopírovala uloženou hodnotu zpět do čítače programu (namísto kopírování registru zpáteční adresy jako obvykle) a deaktivovala režim Save .
To bylo použito během ladění k zapamatování, kde byl program zastaven, aby bylo možné jej obnovit po dokončení pokynů pro ladění, které operátor zadal na psacím stroji. Poznámka: registr MARS použitý k uložení čítače programu byl také použit instrukcí Multiply , takže tato instrukce a režim Save byly nekompatibilní! Při ladění kódu však nebylo nutné používat násobení, takže to nebylo považováno za problém.
- Zobrazit MAR - Stisknutím této klávesy na počítači v ručním režimu se na kontrolkách konzoly zobrazí vybraný registr MARS a obsah paměti na dané adrese.
Postup „Breakpoint“ | Poznámky |
---|---|
Stiskněte Stop-SIE | Na konci aktuální instrukce zastavte počítač. |
Stiskněte Uložit | Uložte adresu a pokračujte v provádění na. |
Stiskněte Vložit | Odemkne klávesnici psacího stroje a přepne do numerického režimu. |
Zadejte 35xxxxx0010036xxxxx0010042 |
xxxxx je adresa, na které chcete nastavit zarážku. |
Tisková zpráva | Zamkne klávesnici psacího stroje. |
Stiskněte Start | Zahájit popravu. Nechte vytisknout 12místný pokyn. |
Tisková zpráva | Zastaví číselný výpis. |
Stiskněte Start | Zahájit popravu. |
Typ 48 | Nahraďte operační kód instrukce, na které se chcete „rozbít“, za kód Halt. |
Tisková zpráva | Zamkne klávesnici psacího stroje. |
Stiskněte Start | Pokračujte v provádění. Počkejte, až se počítač zastaví na „zarážce“. |
Stiskněte Vložit | Odemkne klávesnici psacího stroje a přepne do numerického režimu. |
Zadejte 36xxxxx0010049xxxxx |
xxxxx je adresa, na které jste dříve nastavili zarážku, nyní ji vymažete. |
Tisková zpráva | Zamkne klávesnici psacího stroje. |
Stiskněte Start | Zahájit popravu. |
Napište oo | oo je 2místný operační kód původní 12místné instrukce, která byla dříve vytištěna. |
Tisková zpráva | Zamkne klávesnici psacího stroje. |
Stiskněte Stop-SIE | Stroj je nyní připraven pokračovat v provádění z umístění (nyní vymazaného) "zarážky". Než budete pokračovat, můžete nyní provést všechny požadované akce ladění. |
Veškerá hlavní paměť by mohla být vymazána z konzoly zadáním a provedením instrukce přenosu z adresy na adresu +1, to by přepsalo jakoukoli slovní značku, která by normálně zastavila instrukci přenosu, a zabalila by se na konci paměti. Po chvíli stisknutím Stop zastavíte instrukci přenosu a paměť bude vymazána.
Čtečka/děrovačka papírových pásek IBM 1621/1624
IBM 1621 Paper Tape Reader mohl číst maximálně 150 znaků za sekundu; IBM 1624 Tape Paper Punch mohl výstup maximálně 15 znaků / sekundu.
Obě jednotky:
- zvládl osmikanálovou papírovou pásku
- provedl samokontrolu, aby byla zajištěna přesnost
- pojaly číselné i abecední informace v jednoznakovém kódování.
1621 Tape Reader a 1624 Tape Punch zahrnuty ovládací prvky pro:
- Vypínač - Pokud je „zapnuto“, čtečka jednotek se zapne, když je zapnutý procesor.
- Přepínač Reel-Strip-Tento přepínač určuje, zda se použijí cívky nebo proužky papírové pásky.
- Klíč napájení cívky - přivádí energii na napájecí a odběrné cívky, aby umístil pásku pro čtení a uvedl čtečku do připraveného stavu.
- Klíč nespracování házení-přivádí pásku, dokud není čtečka prázdná a nevyvede čtečku z připraveného stavu.
Procedura bootstrapu | Poznámky |
---|---|
Stiskněte Vložit | Odemkne klávesnici psacího stroje a přepne do numerického režimu. |
Zadejte 36xxxxx0030049yyyyyy |
xxxxx je adresa, na kterou se má páska načíst. yyyyy je adresa pro zahájení provádění. |
Tisková zpráva | Zamkne klávesnici psacího stroje. |
Stiskněte Start | Zahájit popravu. |
Čtečka/úderník karet IBM 1622
IBM 1622 Čtečka / punch by mohla:
- přečtěte maximálně 250 karet za minutu
- vyražte maximálně 125 karet za minutu.
Ovládací prvky 1622 byly rozděleny do tří skupin: 3 kolébkové přepínače pro ovládání úderu, 6 tlačítek a 2 kolébkové přepínače pro ovládání čtečky.
Přepínače Punch Rocker:
- Punch Off/Punch On - Tato kolébka vypínala nebo zapínala děrovací mechanismus.
- Select No-Stop/Select Stop-Tato kolébka vybraná při chybně duněných kartách (uložených v zásobníku pro výběr chyb při děrování místo normálního zásobníku pro děrování) nechá děrování pokračovat nebo způsobí kontrolní zastavení.
- Neprovozní házení-tato kolébka s prázdnou násypkou, "vyběhlé" zbývající karty z děrovacího mechanismu.
Tlačítka:
- Zahájit úder - Stisknutím této klávesy při nečinnosti punče a zapnutém spustíte úder. Počítač nyní mohl vysekávat karty.
- Zastavit úder - Stisknutím této klávesy s aktivním punčem se punč zastavil.
- Zkontrolovat reset - Stisknutím tohoto tlačítka resetujete všechny podmínky „kontroly chyb“ ve čtečce a děrovačce.
- Načíst - stisknutím této klávesy při nečinnosti a zapnuté čtečce a počítači v ručním režimu se čtečka spustí, resetuje čítač programu (v základní paměti MARS) na nulu, načte jednu kartu do vyrovnávací paměti čtečky a zkontroluje, zda karta neobsahuje chyby, a simuloval spuštění čtecího čísla z čtečky karet na adresu nula (načtení 80 znaků vyrovnávací paměti čtečky na adresy paměti 00000 až 00079), poté přepnul počítač do automatického režimu (zahájení provádění na adrese v čítači programu).
- Zastavit čtečku - Stisknutím této klávesy při aktivní čtečce se čtečka zastavila.
- Spustit čtečku - Stisknutím této klávesy při nečinnosti a zapnutí čtečky spustíte čtečku a načtete jednu kartu do vyrovnávací paměti čtečky a zkontrolujete, zda karta neobsahuje chyby. Počítač nyní uměl číst karty.
Kolébkové spínače čtečky:
- Neprovozní házení-tento kolébkový stroj s prázdnou násypkou na čtení, „vyběhlé“ zbývající karty ze čtecího mechanismu.
- Reader Off/Reader On - Tento kolébkový vypínač vypnul nebo zapnul čtecí mechanismus.
Procedura bootstrapu | Poznámky |
---|---|
Stiskněte Načíst |
Diskové jednotky
Ovládání diskové jednotky 1311 .
- Kontrolka modulu - Tato kontrolka ukazuje číslo disku. Když se rozsvítí, disk je připraven k přístupu.
- Přepnout klíčový přepínač Porovnat a deaktivovat-Když je tento přepínač (pouze Master) v poloze ON a je stisknuto tlačítko pro zápis adresy, může být proveden zápis celé stopy bez porovnávání adres. Používá se k formátování diskových balíčků.
- Vyberte kontrolku zámku - Když tato kontrolka (pouze hlavní) rozsvítí jeden nebo více disků nefunguje správně. Nelze provést přístup na disk.
- Tlačítko/kontrolka zápisu adresy - Toto (pouze hlavní) tlačítko ovládá zápis sektorových adres. Stisknutím tohoto tlačítka tuto možnost zapnete a vypnete/zapnete její světlo.
- Přepínač Enable-Disable-Tento přepínač povoluje nebo zakazuje přístup k jednotce. Pokud je tento přepínač deaktivován na Master, všechny disky jsou deaktivovány bez ohledu na stav jejich vlastních přepínačů. Také ovládá měřič času využití disku.
- Tlačítko Start Stop - Stisknutím této klávesy spustíte nebo zastavíte motor disku. K otevření víka a výměně diskových sad je nutné zastavit motor.
Procedura bootstrapu | Poznámky |
---|---|
Stiskněte Vložit | Odemkne klávesnici psacího stroje a přepne do numerického režimu. |
Zadejte 3400032007013600032007024902402 x y1963611300102 |
x - Určuje zdroj kontrolních karet monitoru: 1 = psací stroj, 3 = papírová páska, 5 = karty y - určuje diskovou jednotku, na které se nachází monitor: 1, 3, 5, 7 02402 je adresa vstupního bodu programu Monitor . |
Tisková zpráva | Zamkne klávesnici psacího stroje. |
Stiskněte Start | Zahájit popravu. |
Restartujte postup | Poznámky |
---|---|
Stiskněte Vložit | Odemkne klávesnici psacího stroje a přepne do numerického režimu. |
Zadejte 490225 FLG 6 |
02256̅ je adresa umístění obsahující adresu bodu restartu programu Monitor. Poznámka: tento postup předpokládá, že je monitor již načten v paměti |
Tisková zpráva | Zamkne klávesnici psacího stroje. |
Stiskněte Start | Zahájit popravu. |
Všeobecné
Kompilátor FORTRAN II a assembler SPS byly moderními standardy poněkud těžkopádné, ale s opakováním se postup brzy stal automatickým a už jste nepřemýšleli o zahrnutých detailech.
Postup kompilace FORTRAN II | Poznámky |
---|---|
Přepínače programu nastavte takto:
|
Pass I options |
Nastavte přepínač Kontrola přetečení na Program a všechny ostatní na Zastavit | |
Stiskněte Reset | |
Vložte prázdné karty (lícovou stranou dolů nejprve 12 okrajů) do zásobníku Punch a poté stiskněte Punch Start | |
Vložte Pass I kompilátoru (lícovou stranou dolů nejprve 9 hran) do zásobníku pro čtení a poté stiskněte Načíst | Počkejte, až se Pass I načte a vytiskne na psacím stroji „ZADEJTE ZDROJOVÝ PROGRAM, STISKNĚTE START“ |
Odeberte Pass I kompilátoru ze zásobníku pro čtení | |
Vložte zdrojový balíček programu (lícem dolů nejprve 9-hranou) do zásobníku pro čtení a poté stiskněte Start | Počkejte, až se dokončí průchod I, a vytiskněte na psacím stroji „ZAPNĚTE SW 1 PRO SYMBOLOVOU TABULKU, STISKNĚTE START“ |
Otočte programu Přepínač 1 OFF a stiskněte tlačítko Spustit | Je-li seznam symbol tabulka požadovaná pro ladění, otočit Program spínač 1 ON místo. Seznam tabulek symbolů bude vytištěn na psacím stroji. Počkejte, až se průkaz I vytiskne na psacím stroji „KONEC PASU 1“ |
Přepínače programu nastavte takto:
|
Možnosti Pass II |
Nastavte přepínač Kontrola přetečení na Program a všechny ostatní na Zastavit | |
Stiskněte Reset | |
Vložte prázdné karty (lícovou stranou dolů nejprve 12 okrajů) do zásobníku Punch a poté stiskněte Punch Start | |
Vložte Pass II kompilátoru (lícovou stranou dolů nejprve 9 hran) do zásobníku pro čtení a poté stiskněte Načíst | Počkejte, až se načte Pass II |
Odeberte Pass II kompilátoru ze zásobníku pro čtení | |
Odeberte mezilehlý výstup Pass I ze stohovače Punch, poté jej vložte (lícem dolů nejprve 9 hran) do zásobníku pro čtení a stiskněte Start Reader, poté Start | Počkejte, až se Pass II dokončí, a vytiskněte na psacím stroji „SW 1 ON PRO DĚROVÁNÍ PODPROGRAMŮ, STISKNĚTE START“ |
Odeberte mezilehlý výstup ze stohovače čtečky | |
Přepněte přepínač programů 1 do polohy ON , vložte podprogram (nejprve lícem dolů 9 hran) do zásobníku pro čtení, poté stiskněte Start čtečky a poté Start | Počkejte, až se Pass II vytiskne na psacím stroji „END OF PASS II“ |
Vyjměte balíček podprogramů ze stohovače Reader a dokončený balíček objektů ze stohovače Punch |
GOTRAN se používal mnohem jednodušeji, protože přímo vytvářel spustitelný soubor v paměti. Nebyla to však úplná implementace FORTRAN.
Aby to bylo možné zlepšit, byly vyvinuty různé kompilátory FORTRAN třetích stran. Jeden z nich vyvinul Bob Richardson, programátor na Rice University , kompilátor FLAG (FORTRAN Load-and-Go). Jakmile byl balíček FLAG načten, vše, co bylo potřeba, bylo načíst zdrojový balíček, aby se dostal přímo na výstupní balíček; FLAG zůstal v paměti, takže byl okamžitě připraven přijmout další zdrojový balíček. To bylo zvláště výhodné pro řešení mnoha malých zakázek. Například na univerzitě v Aucklandu prošel dávkový procesor úloh studentských úkolů (obvykle mnoho malých programů nevyžadujících mnoho paměti) třídou mnohem rychleji než pozdější IBM 1130 s diskovým systémem. Kompilátor zůstal v paměti a studentský program měl ve zbývající paměti šanci uspět nebo selhat, ačkoli špatný neúspěch může narušit rezidentního překladače.
Později byla zavedena zařízení pro ukládání disků, což odstranilo potřebu pracovního úložiště na balících karet. Různé balíčky karet tvořících kompilátor a zavaděč již nemusí být vytahovány z jejich skříní, ale mohou být ukládány na disk a načítány pod kontrolou jednoduchého diskového operačního systému: mnoho aktivit se stává méně viditelnými, ale stále pokračuje .
Vzhledem k tomu, že děrná strana čtečky karet neotiskla znaky přes horní část karet, bylo nutné všechny výstupní balíčky převést na samostatný stroj , typicky IBM 557 Alphabetic Interpreter, který přečetl každou kartu a vytiskl jeho obsah nahoře. Výpisy byly obvykle generovány děrováním balíčku záznamů a použitím účetního stroje IBM 407 k vytištění balíčku.
Hardwarová implementace
Většina logických obvodů 1620 byla typem logiky odpor - tranzistor (RTL) využívající pro svoji rychlost tranzistory „drift“ (typ tranzistoru vynalezený Herbertem Kroemerem v roce 1953), který IBM označovala jako Saturated Drift Transistor Resistor Logic (SDTRL). Jiné použité obvody IBM byly označovány jako: Alloy (některé logické, ale většinou různé nelogické funkce, pojmenované podle druhu použitých tranzistorů), CTRL (jiný typ RTL, ale pomalejší než SDTRL ), CTDL (typ diodově -tranzistorová logika (DTL)) a DL (jiný typ RTL, pojmenovaný podle typu použitého tranzistoru, „driftové“ tranzistory). Typické logické úrovně všech těchto obvodů ( úroveň S ) byly vysoké: 0 V až -0,5 V, nízké: -6 V až -12 V. Logické úrovně přenosových linek obvodů SDTRL ( úroveň C ) byly vysoké: 1 V, nízké: -1 V. Reléové obvody používají jednu ze dvou logických úrovní ( úroveň T ) vysoká: 51 V až 46 V, nízká: 16 V až 0 V nebo ( úroveň W ) vysoká: 24 V, nízká: 0 V.
Tyto obvody byly konstruovány z jednotlivých diskrétních komponent namontovaných na jednostranných deskách s tištěnými obvody z epoxidového papíru 2,5 x 4,5 palce (64 x 114 milimetrů) se 16pólovým pozlaceným okrajovým konektorem , který IBM označovala jako SMS karty ( Standard Modular System ). Množství logiky na jedné kartě bylo podobné jako v jednom SSI nebo jednodušším balíčku MSI řady 7400 (např. 3 až 5 logických bran nebo pár žabek).
Tyto desky byly vloženy do zásuvek namontovaných ve dveřních regálech, které IBM označovala jako brány . Stroj měl v základní konfiguraci následující „brány“:
- „Brána A“ - sklopná brána vpřed, která se po „bráně B“ otáčí na zadní straně.
- „Brána B“ - zadní výklopná brána, která se pro přístup otáčí zezadu.
- „Brána C“ - vysune se zpět pro přístup. Rozhraní konzoly Psací stroj. Převážně reléová logika.
- „Brána D“ - vysouvá se zpět pro přístup. Standardní I/O rozhraní.
V roce 1620 byly použity dva různé typy základní paměti :
- Hlavní paměť
- Coincident Aktuální adresování XY linky
- 20 000, 40 000 nebo 60 000 číslic
- 12bitový pární číslicový pár
- 12 jednobitových rovin v každém modulu, 1 až 3 moduly
- 10 000 jader na letadlo
- Coincident Aktuální adresování XY linky
- Paměť MARS (Memory Address Register Storage)
- Adresace řádku Word
- 16 slov, minimálně osm použitých v základní konfiguraci
- Čtení jednoho slova, více slov vymazání/zápis
- 24bitová, 5místná desetinná adresa paměti (ne 8-deset tisíc uložených bitů)
- 1 letadlo
- 384 jader
- Adresace řádku Word
Logika dekódování adres v hlavní paměti také používala dvě roviny po 100 pulzních transformátorových jádrech na modul pro generování polovodičových pulzů řady XY.
Existovaly dva modely 1620, z nichž každý měl zcela odlišné hardwarové implementace:
Historie vývoje
Počítač pro „malý vědecký trh“
V roce 1958 IBM shromáždilo tým ve vývojové laboratoři Poughkeepsie v New Yorku, aby studoval „malý vědecký trh“. Zpočátku tým tvořili Wayne Winger (manažer), Robert C. Jackson a William H. Rhodes.
Požadavky a design
Konkurenčními počítači na tomto trhu byly Librascope LGP-30 a Bendix G-15 ; oba byly bicí paměťové stroje. Nejmenším počítačem IBM v té době byl populární IBM 650 , desítkový stroj s pevnou délkou slova, který také používal paměť bubnu. Všechny tři použité vakuové trubice . Došlo se k závěru, že IBM nemůže v této oblasti nabídnout nic opravdu nového. Účinná konkurence by vyžadovala použití technologií, které IBM vyvinula pro větší počítače, přesto by stroj musel být vyroben za co nejnižší náklady.
Pro splnění tohoto cíle tým stanovil následující požadavky:
- Základní paměť
- Omezená sada instrukcí
- Žádné pokyny pro dělení nebo pohyblivou řádovou čárku, použijte podprogramy v "obecném balíčku programu"
- Kdykoli je to možné, vyměňte hardware za stávající funkce logického stroje
- Žádné aritmetické obvody, použijte tabulky v základní paměti
- Nejlevnější možný vstup/výstup
- Žádné děrovací karty, použijte papírovou pásku
- Žádná tiskárna, použijte psací stroj konzoly operátora
Prototyp
Tým se rozšířil o Anne Deckman, Kelly B. Day, William Florac a James Brenza. Dokončili (kódové označení) prototyp CADET na jaře 1959.
Zařízení v San Jose v Kalifornii mezitím pracovalo na vlastním návrhu. IBM dokázala postavit pouze jeden ze dvou a návrh Poughkeepsie vyhrál, protože „verze San Jose je na prvním místě a není rozšiřitelná, zatímco váš návrh má všechny druhy možností rozšíření - nikdy nenabízejte stroj, který nelze rozšířit“.
IBM 1620 Model I Level A (prototyp), jak se zdálo v oznámení stroje IBM. |
Vedení nebylo zcela přesvědčeno, že by základní paměť mohla fungovat na malých strojích, a tak byl Gerry Ottaway zapůjčen týmu, aby navrhl paměť bubnu jako zálohu. Během přejímacího testování Product Test Lab došlo k opakovaným selháním jádra paměti a vypadalo to pravděpodobné, že se předpovědi vedení splní. Na poslední chvíli se však zjistilo, že ventilátor na muffiny, který vháněl horký vzduch skrz komín jádra, nefunguje správně, což způsobilo, že jádro zachytávalo hlukové impulsy a nedokázalo správně číst. Poté, co byl problém s ventilátorem vyřešen, nebyly s jádrovou pamětí žádné další problémy a úsilí o návrh paměti bubnu bylo přerušeno jako zbytečné.
Převezen do San Jose pro výrobu
Po oznámení IBM 1620 21. října 1959 bylo z důvodu vnitřní reorganizace IBM rozhodnuto převést počítač z divize zpracování dat v Poughkeepsie (pouze velkoformátové sálové počítače) do divize General Products v San Jose ( pouze malé počítače a podpůrné produkty) pro výrobu.
Po přestupu do San Jose tam někdo žertem naznačil, že kódové jméno CADET ve skutečnosti znamená „ C an't A dd, D oesn't E ven T ry“, odkazující na použití sčítacích tabulek v paměti spíše než vyhrazených obvodů sčítání (a SDTRL ve skutečnosti stálo za „ S old D own T he R iver L ogic“ se stalo běžným vtipem mezi CE). To se zaseklo a stalo se velmi dobře známým mezi uživatelskou komunitou.
Implementační „úrovně“
-
Model I.
- Úroveň A; prototyp.
- Všechny žabky v návrhu byly tranzistorové verze původního spouštěcího obvodu Eccles-Jordan . Zatímco tento stroj byl plně funkční, bylo zjištěno, že kondenzátorová vazba použitá v těchto zařízeních se ukázala jako problematická v hlučném signálním prostředí relé a spínačů poháněných časovací vačkou používaných k pohonu konzolového psacího stroje. To si vyžádalo kompletní přepracování stroje, aby místo toho používal žabky SR (kromě dvou spouštěcích zařízení používaných ke generování hodin pro žabky SR ). Nicméně použití termínu Trigger bylo zachováno v celé dokumentaci, když se odkazovalo na klopný obvod, protože to byl konvenční termín IBM (protože alphamerics byl jejich termín pro alfanumeriku).
- Toto je jediná úroveň využívající jednodílný vertikální ovládací panel, když byl design přenesen z Poughkeepsie do San Jose, byl přepracován na dvoudílný úhlový ovládací panel používaný u všech produkčních modelů.
- Úroveň B; první výroba.
- Toto je jediná úroveň používající spodní ovládací panel z leštěného hliníku, pozdější úrovně dokončily tento panel bílou barvou.
- Úroveň C; představení 1622 čtečky karet/razníku.
- Úroveň D; zavedení 1311 diskových jednotek a přidání volitelného „Gate J“ obsahujícího logiku ovládání disku.
- Úroveň E; zavedení možnosti Floating Point.
- Úroveň F
- Úroveň G; zavedení možnosti Přerušení (nutné pro IBM 1710 ).
- Nepodporovalo podprogramy BT & BB v kódu přerušení!
- Logika ovládání disku na logice „Gate J“ sloučena do „Gate A“ a „Gate B“.
- Bylo to možné, protože velká část logiky byla zkomprimována pomocí karet určených pro Model II.
- Úroveň H; vylepšená možnost Přerušení, která podporovala podprogramy BT a BB v kódu přerušení.
- Konečná verze modelu I.
- Úroveň A; prototyp.
- Model II (v tuto chvíli nejsou k dispozici žádné informace o „úrovních“)
- 1620 Model II představil základní ALU hardware pro sčítání a odčítání (takže „ C an't A dd, D oesn't E ven T ry“ již není použitelný) a rejstříkové rejstříky .
- Model III
- Práce byly zahájeny na 1620 Model III, ale projekt byl rychle zrušen, protože IBM chtěla podpořit prodej svého nového System/360 a zrušit staré linky.
Patenty
|
|
Pozoruhodná použití
Vearl N.Huff, NASA Headquarters (FOB 10B, Washington DC), použil IBM 1620 model II k programování trojrozměrné simulace ve Fortranu upoutaného Gemini kapsle-problém dvou těles raketového modulu Agena v době, kdy to bylo nebylo zcela pochopeno, zda bylo bezpečné připoutat dva objekty k sobě v prostoru kvůli možným kolizím vyvolaným elastickým popruhem. Stejný počítač byl také použit k simulaci drah letů Gemini, které vytvářely grafy tiskařského umění pro každou oběžnou dráhu. Tyto simulace byly spuštěny přes noc a data byla zkontrolována další den.
V roce 1963 byl na IIT Kanpur nainstalován IBM 1620, který poskytoval nakopnutí pro indickou softwarovou zdatnost.
V roce 1964 na australské národní univerzitě Martin Ward použil model IBM 1620 I k výpočtu pořadí Jankovy skupiny J 1 .
V roce 1966 ITU produkoval vysvětlující filmu na systému 1963 pro sazbu pomocí počítače na Washington Večernice , pomocí IBM 1620 a Linofilm fotosázecím .
Použití ve filmu a televizi
- Rozhlasový program vyvinul DJ Rege Cordic pro KDKA Pittsburgh na základě baseballového simulátoru vyvinutého Johnem Burgesonem z IBM a jeho bratrem Paulem, tehdy praporčíkem amerického námořnictva. Tento program byl použit v řadě demonstračních akcí v letech 1960 až 1963 jako příklad síly počítačů k provádění simulačních cvičení.
- Fiktivní počítačový kolos Colossus: The Forbin Project používá asi tucet sešrotován 1620 čelní panely zakoupené na přebytku trhu v různých směrech.
- Podobné uspořádání bylo použito v pozdní televizní epizodě a filmu Muž z UNCLE k vykreslení superpočítače THRUSH .
První setkání studentů
- Dr. James Oliver, profesor chemie na University of Southwestern Louisiana, získal grant a koupil 1620 v roce 1959 a v tomto roce učil první počítačový kurz univerzity.
- Oklahoma State University měla v šedesátých letech IBM 1620 pro studenty inženýrství.
- Newyorská střední škola vědy v Bronxu zpřístupnila svůj IBM 1620 těm studentům v pokročilých technických kurzech.
Anekdoty
KADET
Mnozí v uživatelské komunitě vzpomínají, že 1620 je označován jako CADET , což v žertu znamená „ C an't A dd, D oesn't E ven T ry“, odkazující na použití sčítacích tabulek v paměti spíše než vyhrazené obvody sčítání.
Vysvětlení všech tří známých interpretací kódového jména počítače najdete v historii vývoje .
Pro stroj byl vybrán interní kódový název CADET . Jeden z vývojářů říká, že tento kandidoval na „ C omputer s AD rozšířených E conomic T echnology“, ale jiní to jako prostě být jedna polovina vyvolat „SPACE - CADET“ , kde SPACE byl interní název kód IBM 1401 stroj, také pak ve vývoji.
Reference
externí odkazy
- Projekt obnovy IBM 1620
- 1620 Systém zpracování dat
- Dokumenty IBM 1620 z webu bitsavers.org
- System Reference Manual for the IBM 1620 Central Processing Unit, Model 1 (PDF)
- System Reference Manual for the IBM 1620 Central Processing Unit, Model 2 (PDF)
- IBM 1620 Model II v Thessaloniki Science Center & Technology Museum (archivní odkaz)
- Applet IBM 1620 Simulator (součást projektu obnovy IBM 1620)