EMG 666

A Wikipédiából, a szabad enciklopédiából
EMG 666

Az EMG 666 programozható asztali számológépet (programmable desktop calculator) az EMG (Elektronikus Mérőkészülékek Gyára, Sashalom) a BME Folyamatszabályozási Tanszék közreműködésével fejlesztette ki az 1972–1974-es időszakban, elsőként az akkori KGST országok között. A gép szerkezete az amerikai Wang Laboratories Ltd. egyik készülékén alapult, de szolgáltatásaiban messze meghaladta azt.[1]

A gép programozása „nyomógomb nyelven” történt, hagyományos programozási nyelv ismerete nélkül (keystroke programmable). A gép a műszaki-tudományos számításokon túl, az univerzális I/O csatorna segítségével, lehetővé tette automatikus rendszerekbe való kapcsolását, online adatgyűjtési feladatok ellátását. A néhány évvel később készült, azzal 100%-ban kompatibilis EMG 666/B-vel együtt, a gépből több mint 2200 példányt adtak el, darabonként mintegy öt személygépkocsi árán.

A HP 9825 megjelenéséig ez volt az egyetlen hardver megszakítású asztali számítógép.[2]

Műszaki adatok[szerkesztés]

A gép egy 254 mm magas, 465 mm széles, 590 mm mély műanyag házban kapott helyet, a kijelzővel, klaviatúrával és kazettás egységgel egybeépítve, tömege 22 kg volt. Hálózatról és akkumulátorról is üzemelt, fogyasztása 130 W volt.[3]

Az EMG 666 TTL és MOS LSI áramkörökből épült fel (nem mikroprocesszor alapú, ami csak később terjedt el hazánkban), mikroprogramozott architektúrával, a firmware 2048×32 bites „fűzött ROM”-ban helyezkedett el.

Az operatív tár alapkiépítésben 112 adatregiszter vagy 832 program utasítás (1 Kbyte), az opcionális maximális memóriakiterjesztéssel, 1008 adatregiszter vagy 8000 (8 Kbyte) programutasítás tárolására volt alkalmas (az első nyolc adatregiszter nem tartalmazhatott programlépéseket). A gép memóriaszervezése megfelelt a Neumann-elveknek.

A 90×120 mm katódsugárcsöves alfanumerikus képernyő négy sorban, soronként 16 ASCII karakter megjelenítését tette lehetővé. A kijelzett X, Y, Z regiszteren túl a 4. sorban az utasításszámláló (PC, Program Counter), a következő utasítás kódja és egyéb kiegészítő (hiba, billentyűzési) jelzések voltak láthatóak.

A programok, adatok bevitelére többmezős billentyűzet (88 nyomógomb + 4 üzemmód kapcsoló) szolgált. Érdekesség, hogy a billentyűzeten a betűk ABC-sorrendben szerepelnek (nem pedig QWERTY vagy más ergonomikus elrendezésben).

A géphez opcionális alfanumerikus keskeny mozaiknyomtató volt csatlakoztatható.

Számábrázolás[szerkesztés]

Az adatokat a gép 12 számjegy pontossággal az 1,0×10-100 – 9,99999999999×10+98 tartományban BCD kódban lebegőpontos, előjeles abszolút értékes formában tárolta.

Alapműveletek[szerkesztés]

A gép három kitüntetett (X, Y, Z) valamint két index regiszterrel rendelkezett. A számológép az alap és adatmozgató műveleteket nem csak a kijelzett regiszterek, hanem az operatív memória tetszőleges megcímzett adatregiszterével is (direkt, indexelt, indirekt, láncolt indirekt címzést is beleértve) képes volt elvégezni, elősegítve kis tárigényű programok készítését. A gép képes volt byte-ok, ezen keresztül karakterfüzérek, stringek feldolgozására is, ami a programozható asztali számológépeknél nem szokványos.

Programozás[szerkesztés]

A beépített trigonometrikus és logaritmus, valamint adattranszformációs függvényeken túl lehetőség volt húsz, a felhasználó által definiált művelet használatára is. A vezérlésátadó utasítások, a programmemóriában való cím függetlenségének a biztosítása érdekében (utólagos programlépések beszúrása), vagy relatív ugrással, vagy a „MARK” címkékkel megjelölt pontokra való kereséssel működtek. A szubrutinok nyolcas mélységig voltak egymásba hívhatók (akár rekurzív módon is). Számos feltételes ugró és ciklusszervező utasítás (SKIP…) szolgált a hatékony programszervezésre. Mivel az operatív tár (RAM) a gép kikapcsolása után elveszti a tartalmát, a programokat és adatregisztereket el lehetett menteni a beépített programvezérelt kazettás mágnesszalagos tárolóra (szokásos hangkazetta, Compact Cassette). A kapcsolódó utasítások lehetővé tették nagyméretű overlay-technikát alkalmazó programok fejlesztését is. Az EMG 666 több mint 220 utasítást értelmezett.

Műveleti idők[szerkesztés]

A gép ciklusideje 2,6 µs,[4] ami közel 384,6 kHz-es órajelnek felel meg. A (12-jegyű, lebegőpontos számokkal végrehajtott) műveletekre jellemző végrehajtási idők:

  • összeadás, kivonás: 0,3–0,5 ms
  • szorzás, osztás, négyzetreemelés: 2–6 ms
  • négyzetgyökvonás: kb. 30 ms
  • exponenciális függvények: kb. 40 ms
  • logaritmusok: kb. 120 ms
  • trigonometrikus függvények, xy: 100–300 ms
  • kazettás magnó: 60 byte/s

Az EMG 666 csatornarendszere[szerkesztés]

Az EMG gyár méréstechnikai profiljával és a nemzetközi tendenciák szellemében (IEEE-488, IEC-625, HP-IB) a számológép fejlett, az akkor még csak definíciós fázisban lévő IEC szabványtervezettel összhangban lévő, input-output csatornával rendelkezett, amely különféle periferiális egységek (elsősorban mérőrendszerek) csatlakozását tette lehetővé. A buszrendszer kétirányú információátvitelt tett lehetővé kézfogásos, byte-soros/bit parallel rendszerben, max 15 adó/vevő 25 méteren belüli kezelésével. Az I/O utasítások, a formázott adatcserén túl, prioritásos programmegszakítási rendszert is biztosítottak a valós idejű adatgyűjtés/vezérlés érdekében.

Lásd még[szerkesztés]

Jegyzetek[szerkesztés]

  1. http://www.emg.hu/tortenet/tortenelem.html#BudapestiGyaregyseg
  2. EMG Hiradó 1983 október
  3. http://picasaweb.google.com/101157756783596268153/MafilmSzamitastechnikaBazisGep#5499569457453290338 Fontosabb műszaki adatok
  4. Boglár Gyula: EMG-71666 (magyar nyelven) (pdf) pp. 141. EMG, 1974. május 4. (Hozzáférés: 2012. szeptember 30.)

Források[szerkesztés]

  • EMG 71666 adatlap, EMG 1975
  • Kőrösi István szerk.: EMG 666 felhasználói kézikönyv, EMG, 1975
  • Kőrösi I., Nagy P., Várhely F.: Az EMG 666 kalkulátor mikroprogramtárjának tervezése és szimulálása. Számítógéptechnika'74, Esztergom, 103–113. oldal
  • Körösi: Main Aspects of the Design of Programmable Calculators Oriented to On-line Applications. Periodica Politechnica. Vol. 200, No. 3. 1976, pp 355–336

Külső hivatkozások[szerkesztés]

Kapcsolódó szócikkek[szerkesztés]