GEC 2050 - GEC 2050
![]() | tento článek ne uvést žádný Zdroje.Červen 2009) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
The GEC 2050 byl 8-bit minipočítač vyrobené v 70. letech, původně Marconi Elliott Computer Systems of the Spojené království, než se společnost přejmenovala GEC Computers Limited. První modely byly označeny MECS 2050, než bude přejmenován GEC 2050.
GEC 2050 se běžně používal jako Vzdálené zadávání úloh stanice, podporující a děrný štítek čtenář, řádková tiskárna, konzole systému a datové spojení na dálkové ovládání sálový počítač system a GEC Computers prodali kompletní balíček RJE včetně systému, periferií a softwaru RJE. Další na klíč aplikací byl systém jízdenek, jehož zákazníci byli součástí Fotbalový klub Arsenal. Systém se také běžně používal pro řízení silničního provozu a automatizaci průmyslových procesů.
GEC 2050 podporoval až 64 kB paměť magnetického jádra v modulech 4KiB, 8KiB a 16KiB. Systém měl jediný Ovladač kanálu pro provádění autonomní I / O a používaly stejné periferní řadiče I / O jako Řada GEC 4000 minipočítač.
Sada instrukcí
Ačkoli CISC, instrukční sada je dostatečně jednoduchý na to, aby mohl být uveden v tabulce jako celek:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | PREP G, v | PREP X1, v | PREP X2, v | PREP X3, v | IN G, v | V X1, v | V X2, v | V X3, v | OUT G, v | OUT X1, v | OUT X2, v | OUT X3, v | ||||
1 | LD X1, G, v | LD X1, X1, v | LD X1, X2, v | LD X1, X3, v | ST X1, G, v | ST X1, X1, v | ST X1, X2, v | ST X1, X3, v | AD X1, G, v | AD X1, X1, v | AD X1, X2, v | AD X1, X3, v | CP X1, G, v | CP X1, X1, v | CP X1, X2, v | CP X1, X3, v |
2 | LD X2, G, v | LD X2, X1, v | LD X2, X2, v | LD X2, X3, v | ST X2, G, v | ST X2, X1, v | ST X2, X2, v | ST X2, X3, v | AD X2, G, v | AD X2, X1, v | AD X2, X2, v | AD X2, X3, v | CP X2, G, v | CP X2, X1, v | CP X2, X2, v | CP X2, X3, v |
3 | LD X3, G, v | LD X3, X1, v | LD X3, X2, v | LD X3, X3, v | ST X3, G, v | ST X3, X1, v | ST X3, X2, v | ST X3, X3, v | AD X3, G, v | AD X3, X1, v | AD X3, X2, v | AD X3, X3, v | CP X3, G, v | CP X3, X1, v | CP X3, X2, v | CP X3, X3, v |
4 | LD A, G, v | LD A, X1, v | LD A, X2, v | LD A, X3, v | ST A, G, v | ST A, X1, v | ST A, X2, v | ST A, X3, v | AD A, G, v | AD A, X1, v | AD A, X2, v | AD A, X3, v | CP A, G, v | CP A, X1, v | CP A, X2, v | CP A, X3, v |
5 | A A, G, v | AND A, X1, v | AND A, X2, v | AND A, X3, v | XOR A, G, v | XOR A, X1, v | XOR A, X2, v | XOR A, X3, v | LCP A, G, v | LCP A, X1, v | LCP A, X2, v | LCP A, X3, v | SB A, G, v | SB A, X1, v | SB A, X2, v | SB A, X3, v |
6 | JI G, v | JI X1, v | JI X2, v | JI X3, v | JIL G, v | JIL X1, v | JIL X2, v | JIL X3, v | CLRS G, v | CLRS X1, v | CLRS X2, v | CLRS X3, v | DECS G, v | DECS X1, v | DECS X2, v | DECS X3, v |
7 | ||||||||||||||||
8 | SL | SR | SLB | SRB | NOOP | OBDOBÍ | DIV | VÍCE | SETL 1 | SETL 2 | SETL 3 | SETL 4 | CLA | NEGA | KÓMA | TSTA |
9 | J | J | JL | JL | JN | JN | JNN | JNN | JZ | JZ | JNZ | JNZ | JCA | JCA | JNCA | JNCA |
A | SNCE | SNPI | SNSK | SNPF | SNXT | SNTF | ||||||||||
B | STŮJ | INH | POVOLENO | PINTA | ČAS | CLSG | STSG | |||||||||
C | LD P, X1 | LD P, X2 | LD IP, X1 | LD IP, X2 | ST P, X1 | ST P, X2 | ST IP, X1 | ST IP, X2 | AD P, X1 | AD P, X2 | AD IP, X1 | AD IP, X2 | CP P, X1 | CP P, X2 | CP IP, X1 | CP IP, X2 |
D | A P, X1 | A P, X2 | A IP, X1 | A IP, X2 | XOR P, X1 | XOR P, X2 | XOR IP, X1 | XOR IP, X2 | LCP P, X1 | LCP P, X2 | LCP IP, X1 | LCP IP, X2 | SB P, X1 | SB P, X2 | SB IP, X1 | SB IP, X2 |
E | LDR X1, AL | LDR AL, X1 | LDR X2, AL | LDR AL, X2 | LDR AM, AL | LDR AL, AM | LDR X2, S. | LDR S, X2 | LDR X2, X3 | LDR X3, X2 | LDR X2, C. | LDR C, X2 | LDR X1, X2 | LDR X2, X1 | LDR X1, AM | LDR AM, X1 |
F | ADR S, X1 | ADR X1, AL | ADR X2, AL | ADR AL, X1 | SBR AM, X1 | SBR X1, AL | SBR X2, AL | SBR AL, X1 | ADR X1, L | ADR X2, L | SBR X1, L | SBR X2, L | CPR AL, AM | CPR AL, X1 | CPR AL, X2 | CPR X1, X2 |
Používáme-li operační kód 29 jako ilustraci, kód assembleru (AD X2, X1, offset) způsobí přidání obsahu paměťového místa „offset (X1)“ do registrace X2. Registr X1 se tedy používá jako rejstřík rejstříku, a offset, v, je určen ve druhém bajtu instrukce. G je fiktivní indexový registr, jehož hodnota je vždy nulová, a proto způsobí, že se s posuny zachází jako s absolutními adresami v nulovém (globálním) segmentu. (Mimochodem, protože X3 je standardní indexový registr, program assembleru umožňuje zkratku „, X3, address“ na „, address“.)
Pokyny podmíněného skoku jsou uvedeny v párech, první operační kód je pro skok vpřed a druhý pro skok dozadu. Opět je posun skoku získán z druhého bajtu instrukce. Všechny instrukce v řádcích 0 až 7 a řádku 9 se tedy skládají ze dvou bytů (operační kód a datový bajt), zatímco všechny ostatní instrukce se skládají pouze z jediného operačního kódu.
Hlavní akumulátor register, A, lze nastavit na délku 1, 2, 3 nebo 4 bajty pomocí instrukcí SETL. Toto řídí, kolik bytů je načteno (nebo uloženo) v instrukci pro přístup do paměti. Instrukce JIL provede skok nepřímo, jako instrukce JI, ale uloží hodnotu do počítadlo programů, S, do registru odkazů, L. To umožňuje dosáhnout velmi jednoduchých nerekurzivních volání podprogramů. Složitější volání podprogramů zahrnují použití instrukce PREP, která uloží návratové informace do prvních bajtů aktuálního segmentu paměti. Taková volání také nemohou být rekurzivní.
Uživatelská zkušenost
Tato část popisuje pracovní relaci na tomto počítači při jedné typické instalaci v roce 1975. The programátor může dorazit, pracovat na Fortran -II program, který už začal psát na předchozím zasedání, nesoucí a dálnopis papírový seznam tohoto programu, který byl anotován novými změnami, které mají být provedeny, a děrovací páska který obsahuje strojově čitelný zdrojový kód programu. Nejprve by musel zapnout počítač vypínačem na běžné síťové zásuvce na zdi a potom vypínačem na předním panelu. Protože paměť magnetického jádra, který je energeticky nezávislá paměť, by obecně stále obsahoval program předchozího uživatele, programátor možná bude muset načíst volanou děrnou pásku Minisystém (obsahující kód objektu malé paměti monitorovací program ). Na tuto pásku, která byla uložena v malé lepenkové krabici na poličce poblíž počítače, se vstupovalo zleva od čtečky pásek. Čtečka pásek byla nedílnou součástí předního panelu počítače a na pravou stranu by vysypala přečtenou pásku na podlahu. Po přečtení lze minisystém spustit spuštěním Běh na předním panelu.
PŘÍKAZ> LL 049AA 0522D 063ELINK 0691EDIT 1090MAIN 155E28A2 3FFF>
The textový editor Program, EDIT, lze poté vyvolat z dálnopisné klávesnice na výzvu Minisystému '>'. Programátor by poté načetl zdrojovou pásku do čtečky, a zatímco se také čtelo a rozlévalo se po celé podlaze, programátor mohl mít plné ruce práce s navíjením pásky Minisystem na uklizený kotouč pomocí ručně otočený naviják.
Nakonec, jakmile dokončí čtení zdrojové pásky, program textového editoru vyzve k zadání nového příkazu, kterým byla výzva k úpravě programu. I když se v průběhu desetiletí změnily jen málo, úpravy se změnily enormně v pocitu: najednou se „zobrazil“ pouze jeden řádek programu (fyzický tisk na papír); vložený text byl vytištěn pod bodem na řádku, kde byl vložen, a klíč rubout pouze přeškrtl text, který měl být odstraněn; zařízení pro nalezení řetězce a náhradu řetězce byly velmi primitivní; a dálnopis pracoval na 110 baud (jak to udělalo obrovskou hukotovou a vrčící raketu).
Na konci editační relace bude vydána nová verze zdrojového programu: buď jako vypsaný seznam, nebo jako nová děrná páska. Zatímco to děrovačka papírové pásky dělala a znovu vysypala svůj produkt (i když ne tak rychle jako čtečka a nalevo od stroje) z upevnění na přední panel, programátor mohl natahovat starou verzi zdrojová páska, aby byla uchována jako záložní verze. Volný konec nové pásky, která se stále děrovala, mohl být označen tužkou s názvem programu, číslem verze a datem děrování.
Bohužel s pouze 16 KiByty jádrového úložiště, Minisystem a Fortran překladač oba by se nevejdou do paměti dohromady, takže další fází by bylo načtení pásky kompilátoru Fortran (která byla uložena v jiné lepenkové krabici na polici v počítačové místnosti). Zatímco se to čtelo a rozlévalo se na druhou stranu, mohla se nově děrovaná zdrojová páska odtrhnout od volného konce, který vyčníval z razníku, a navinout se pomocí ručního navijáku. Po načtení kompilátoru by se to nahrálo do čtečky pásek a páska kompilátoru by se stočila zpět do uklizeného kotouče.
První průchod zdrojové pásky páskovou čtečkou se obecně používal jen pro kontrolu syntaktické chyby v programu, takže generování objektová páska z děrovače pásky by bylo potlačena. Pokud by byly zjištěny jakékoli chyby nebo varování, bylo by nutné znovu načíst pásku Minisystem a spustit editorský program, aby provedl opravy a vygeneroval novou verzi zdrojové pásky. V opačném případě by mohla být zdrojová páska znovu navinuta a načtena zpět do čtečky pásek pro druhý průchod. Tentokrát by to bylo načteno, zastaveno, zatímco děrovačka papírové pásky pracovala naplocho, aby vytvořila odpovídající pásku objektu (obvykle dvakrát nebo třikrát delší než zdrojová páska Fortran).
Na konci, se dvěma páskami po celé podlaze, bude nutné znovu přečíst minisystém, zatímco se pásky s objektem a zdrojem natahují. Program linking-loader, LINK, mohl být poté vyvolán z klávesnice, na výzvu Minisystemu, a páska objektu vedena čtečkou. Linking-loader také vyžadoval, aby byla do čtečky načtena páska knihovny obsahující funkce knihovny Fortran. Obě pásky by nakonec musely být svinuty, ale to se nedělo okamžitě, kvůli programátorské dychtivosti konečně být v pozici spustit program. Program uživatele (nazvaný MAIN) lze vyvolat na výzvu Minisystému.
V závislosti na tom, co se stalo během provádění programu, bude možná nutné, aby programátor přečetl nejnovější zdrojovou pásku zpět do editorského programu, opět připraven obejít vývojový cyklus softwaru ještě jednou.
Viz také
externí odkazy
- Computing ve společnosti Chilton, GEC 2050 Remote Job Entry Station
- Procesor GEC 2050