Posztjaim

2019. február 2., szombat

Első 40 évem a szakmában - egyetemi alapképzésem utolsó évei

Arra gondoltam, hogy az egyetemi éveimmel fogom kezdeni a szakmai beszámolómat. Az én időmben még nem létezett bolognai rendszer, de a Villamosmérnöki Kar kísérletképpen bevezette a 4+2-es rendszert: Az arra vállalkozók  négy év alatt megszerezhették a villamosmérnöki diplomát (úgynevezett B-tagozat), amihez egyébként öt év kellett volna, és lehetőség volt két év szakmérnöki képzésre is (C-tagozat), vagyis hat év alatt két diplomát is szerezhetett az ember.
Engem erősáramú szakra vettek fel, amihez nem nagyon fűlt a fogam, ezért az első félév után a "műszaki fizika" nevet viselő B-tagozatra jelentkeztem. Ezen azonban olyan kevés volt az induló, hogy nem indították el, ezért erősáramú B-tagozaton folytattam tanulmányaimat. Míg sok évfolyamtársam hobbiból erősítőt épített vagy éppen hegesztőtranszformátort tekercselt, engem kizárólag a számítástechnika érdekelt.
Az egyetemi számítástechnika-oktatás keretében ALGOL-60 nyelvet tanultunk, de az oktatás körülménye mai szemmel még meglehetősen kőkorszakinak számítottak. Az ember megkapta a feladatot, ez alapján leírta papírra a helyesnek vélt programot. Ezután sorba állt, hogy hozzáférjen valamelyik szalaglyukasztó berendezéshez, ahol begépelte a programot, eredményül kapott egy lyukszalagot, melyet leadott az operátoroknak futtatni az ODRA típusú számítógépen. Ha a program hibás volt, lehetett újra meg újra próbálkozni.
A körülmények ellenére nagyon érdekelt, hogyan lehet nem matematikai problémákat algoritmizálni, ezért ALGOL-60-ban írtam egy kétlépéses sakkfeladvány-megoldó programot, megfelelően lekódolva a sötét és világos figurák értékét, lépéseit és ütéseit. És még működött is a program!
A Természet Világa című folyóiratban olvastam egy matematikai problémáról: A 12 félhangból álló úgynevezett dodekafon hangsorokat előszeretettel használják a modern zeneszerzők. De vajon hányféle olyan dodekafon hangsor létezik, melyben sem a hangok, sem a köztük lévő hangközök nem ismétlődnek meg. Zárt képlet nem létezik rá, annyit lehet tudni mindössze, hogy a hangsorok száma néggyel biztosan osztható, mert ha megtaláltunk egy megfelelő hangsor, akkor az visszafelé játszva is teljesíti a kritériumokat (ezt rák-hangsornak nevezzük), valamint tükrözhető is a hangsor, ha minden emelkedő hangközt süllyedőre, minden süllyedőt pedig emelkedőre változtatunk (megfordított hangsor). létezik továbbá a rák-hangsor megfordítása is.
(Vegyük példaként dó-ré-mi egész hangközökből álló hangsort: a dó-mi-ré megfelel a kritériumoknak, hiszen az emelkedő két egész hangtávolságot egy süllyedő hangtávolság követ. A dó-mi-ré rákja a ré-mi-dó, megfordítása a mi-dó-ré, rákmegfordítása pedig ré-dó-mi. Ezzel pedig elő is állítottuk az összes olyan hangsort, ami megfelel a kritériumoknak).
Egy tankörtársammal szintén ALGOL-ban előállítottuk az összes hangsort. A program egy nagyon szép rekurzív algoritmus volt, amely először két hangra oldotta meg a feladatot, ehhez vett hozzá egy harmadikat, egy negyediket és így tovább. Azon kívül, hogy jól elszórakoztunk, megtanultuk, hogy a zárt matematikai alakban meg nem fogalmazható problémákat is remekül meg lehet oldani számítógéppel. Ráadásul tankörtársam a Fazekasba járt matematika tagozatra. A gimnáziumnak volt egy TPA-11-es számítógépe (A KFKI gyártotta az amerikai PDP-11-ről lekoppintva), és a diákok tanulták programozni. Mivel az egyetemen is volt TPA, tankörtársam a számítógéppel lejátszatta az összes hangsort, amit felvettünk magnóra. Talán neki még megvan a felvétel.
És ha már szóba került a PDP-11, a Folyamatszabályozási Tanszéken volt egy ilyen számítógép. Ezen a gépen úgynevezett RSTS rendszer futott, vagyis vagy egy tucat számítógépes terminál előtt ülő hallgató ciklikusan megkapta a gépidő rá eső szeletét, így úgy érezhette, hogy egy személyi számítógép előtt ül, övé az egész gép. Ezeken a terminálokon BASIC nyelven lehetett programozni, hirdettek BASIC-tanfolyamot, amelyre többen jelentkeztünk, így sok feladatot már nem ALGOL-ban, hanem BASIC-ben programoztunk le, és sokkal európaibb körülmények között dolgozhattunk.
Harmadév felé azért már kicsit az irányítástechnika irányába is érdeklődni kezdtem. Keviczky László akadémikus az Automatizálási Tanszéken oktatott, őt kerestem fel, hogy mivel foglalkozhatnék. Ő azt javasolja, hogy foglalkozzak folyamatszimulációval, ismerkedjek meg a TAPSO és INTAP folyamatszimulációs programokkal. Ezek a programok FORTRAN-ban voltak megírva, lyukkártyán voltak rögzítve, és a Folyamatszabályozási Tanszék R-20-as számítógépén lehetett futtatni. Ehhez meg kellett tanulni FORTRAN-ul, a változatosság kedvéért most nem lyukszalagot, hanem lyukkártyákat kellett készíteni. Az utóbbi 10 évben foglalkoztam ismét folyamatszimulációval, a Matlab Simulink programcsomagjával, generátorok gerjesztésszabályozóját modelleztük vele.
Végül a mikroprocesszorok világánál kötöttem ki. Az Automatizálási Tanszéknek volt egy Intel MDS mikroprocesszoros fejlesztő rendszere, amin az Intel cég nagy sikerű i8080 processzorára lehetett programot fejleszteni.
Intel MDS (Microprocessor Developement System)

Az i8080-as nyolcbites processzor a világ első nyolcbites processzorának, az i8008-nak egy kibővített, tökéletesített változata volt. Képzeljétek el, épp a napokban, irodánk költözése kapcsán találtam a fiókomban egy i8008-ast, egy 40 éves processzormatuzsálemet:
i8008-as processzor
A tanszék oktatója, Gál Tibor tartott oktatást a 8080-asról, megismertük az utasításkészletét, tudtuk mind a 40 lábáról, hogy mire való. A programfejlesztés körülményei itt sem voltak túl egyszerűek: Assembly-ben programoztunk, ami a gépi kód szöveges rövidítésekkel (mnemonikokkal) helyettesített változata. Az ember először betöltötte lyukszalagról a szövegszerkesztőt (szó sem volt még full-screen-es szerkesztőkről, sohasem láttuk egybe a szerkesztendő szöveget), bepötyögtük a programot (egy Videoton terminálról), utána lyukszalagról betöltöttük az Assembly-fordítót, lefordítottuk a programot, és már lehetett is futtatni. Mágneslemezes adattárolónk nem volt.
Emlékszem, első jelentősebb fejlesztésem az STD (Substitute-Trace-Disassembler) programcsomag megalkotásában való közreműködés volt. A programcsomaggal közvetlenül Assembly-ben (szövegszerkesztő és fordító közbeiktatása nélkül) lehetett programot bevinni, a futó programot lépésről-lépésre követni lehetett, és egy működő programot a gépi kód alapján vissza lehetett fordítani Assembly-be. Mindhárom funkciónak később nagy hasznát vettük.
1978 nyarát a tanszéken töltöttem. A tanszék elvállalta a Hejőcsabai Cementművek nyersmalmának számítógépes irányítását. Ehhez a projekthez folyt a hardver és szoftver fejlesztés. Számítógépes folyamatcsatolókat is fejlesztettünk, relés kimeneteket, repülőkondenzátoros analóg leválasztókat (akkoriban még nem voltak mágneses vagy optikai potenciálleválasztók, ezért az eltérő potenciálú áramkörökben való mérést pofonegyszerűen oldottuk meg: egy kondenzátort a mérendő áramkörre kapcsolva feltöltöttük a mérendő feszültséggel, majd egy relé a kondenzátor mindkét pólusát átkapcsolta a mérő áramkörre). Nyár végén aztán több napra levonultunk Hejőcsabára, egy lakást béreltünk, de leggyakrabban éjszakai méréseken vettünk részt. Én 1978-tól számítom magamat irányítástechnikusnak.
Az 1978-79-es tanévre Népköztársasági Ösztöndíjat nyertem el, ami akkor havi 1000 forint ösztöndíjnak felelt, meg, ez mai árszinten talán 100.000 forint lehet.
A diplomatervemet szintén az MDS-en fejlesztettem ki: hárombájtos lebegőpontos aritmetikai programcsomag 8080-as processzorra. Ez egy kellően gyors és folyamatirányításhoz elegendően pontos aritmetikát biztosított, a négy alapműveleten kívül hatványozni és trigonometrikus függvényeket kiszámolni is lehetett vele. A programcsomag 1979-re készült el, és sikerére jellemző, hogy egészen 2017-ig működött a Paksi Atomerőműben egy intelligens mérőkártyában. 38 év egy program pályafutásában elég hosszú idő.
Jelesre államvizsgáztam, és kitüntetéses (úgynevezett vörös) diplomát kaptam. Kevicky László javaslatára jelentkeztem a VEIKI (Villamosenergiai Kutató Intézet) elektronikus osztályára, ahol nemrég indultak meg a mikroprocesszoros folyamatirányítással megvalósított fejlesztések. Tanulmányi szerződést kötöttem velük két éves szakmérnöki tanulmányaimra, de ez már egy új fejezet.

Nincsenek megjegyzések:

Megjegyzés küldése