inf ormatica 1

YU ISSN 0350 5596 INTERAKTIVNI f GENERATOR PROGRAMOV 'I

.'/•• HsJsiiljiAn -.'.<"., .1' -:.' ••• 'i'n

SIRUP omogoča programiranje brez poznavanja prog- ramskih jezikov. SIRUP je niz interaktivnih programov za splošno uporabo. Njegov osnovni cilj je, da pospeši in olajša pripravo in vzdrževanje uporabniških podatkov. SIRUP zmanjšuje čas, potreben za izdelavo aplikacij, an- gažiranja računalnikov in programerjev, za 30-90%. SIRUP deluje interaktivno s pomočjo parametrov, katere uporabnik sam določa in izbira. SIRUP omogoča hitre spremembe in dopolnitve programov.

Iskra Delta proizvodnja računalniških sistemov in inženiring, p.o. 61000 Ljubljana, Parmova 41 telefon: (061) 312-988 IskraDelta telex: 31366 YU DELTA tormatica CASOPIS ZA TEHNOLOGIJO RAČUNALNlSTVA IN PROBLEME INFORMATIKE CASOPIS ZA RAČUNARSKU TEHNOLOGIJU I Časopis izdaja Slovensko druStvo INFORMATIKA, PROBLEME INFORMATIKE 61000 Ljubljana, Parmova 41, Jugoslavija SPISANIE ZA TEHNOLOGIJA NA SMETANJETO UREDNIŠKI ODBOR:' I PROBLEMI OD OBLASTA NA INFORMATIKATA

T. Aleksid, Beograd; D. Bitrakov, Skopje; P. Dragojlovič, Rijekaj S. Hodžar, Ljubljanaj B. Horvat, Mariborj A. Mandžid^ Sarajevoj S. YU ISSN 0350-5596 Mihalič, Varaždin; S. Turk, Zagreb

GLAVNI IN ODGOVORNI UREDNIK: Anton P. Železnikar

TEHNIČNI ODBOR: LETNIK8,1984-St. 1

V. Batagelj, D.Vitas — programiranje I. Bratko — umetna inteligenca D. dečez-Kecmanovid — informacijski slstemi M. Exel — operacijski siatemi B. Džonova-Jerman-Blažič — srečanja L. Lenart — procesha informatika D. Novak — mikroračunalniki Neda Papi<5 — pomočnik glavnega urednika L. Pipan — terminologija V S E B I N A V. Rajkovič — vzgoja in lzobraževanje M. Špegel, M. VukobratovieS — robotika P. Tančig — računalništvo v humanističnih in R. Faleskini 3 Razvoj informacijske industrije družbenih vedah Jugoslavije do leta 2000 Š. Turk — materialna oprema A. Gorup — urednik v SOZD Gorenje A .P.Železnikar 10 Proizvodnja mikroračunalniškega sistema Partner TEHNIČNI UREDNIK: Rudolf Murn M. Gerkeš 14 Metodologija snovanja izvršilne- ZALOŽNIŠKI SVET: ga procesorja za 32-bitni raču- nalniški sistem T. Banovec, Zavcjd SR Slovenije za statistiko, Vožarski pot 12, Ljubljana M. Gams in 22 Programski jezik Pascal I A. Jerman-Blažič, DO Iskra Delta, Parmova 41, Ljubijana drugi . B. Klemenčič, Iskra Telematika> Kranj A .P.Železnikar 27 Algol 60 za sistem CP/M II S. Saksida, Institut za sociologijo Univerze Edvarda Kardelja, Ljubljana M .B. Jockovič 41 Estimation of the Average Trans- J. Virant, Fakulteta za elektrotehniko, Trža- fef Time of Randomly Chosen 1 ka 25, Ljubijana Blocks from a Disc Cylinder UREDNIŠTVO IN UPRAVA: Informatica, Parmova 41, M. Jenko 46 Mikroračunalniški sistem za nad- 61000 Ljubljana; telefon (061) 312-988; teleks zor in vodenje dnevnih kopov 31366 YU Delta B. Delak J.V. Knop 48 Future Developments in Compu- LETNA NAROČNINA za delovne organizacije znaša 1900 din, za redne člane 490 din, za študente K. Szymanski ter Architecture 190 dinj posamežna številke. 590 din. N. Trinajstic ŽIRO RAČUN: 50101-678-51841 I. Stojmenovic 57 O implementaciji prevodioca Pri financiranju časoplsa sodeluje Raziskovalna V. Stojkovic Lipskit LlSP-jezika na jezik SECP skupnost Slovenlje. L. Jerinič mašine izvršenoj na J. Mirčevski jeziku Na podlagi mnenja Republiškega sekretariata za prosveto. in kulturo št. 4210-44/79, z dne Z. Bekic 65 Analiza multiprocesorskih sis- 1.2.1979, je časopis oprošfien temeljnega davka tema s lokalnom cache memori- od prometa proizvodov jom TISK: Tiskarna Kresija, Ljubljana 71 Uporabni programi GRAFIČNA OPREHA.: RastO Kirn 76 Novice in zanimivosti info-rmatica

VOURNAL OF COMPUTING AND INFORMATICS

Published by INFORMATIKA, Slovene Society for Informatics, Parmova 41, 61000 Ljubljana, Yugoslavia

EDITORIAL BOARD: YU ISSN 0350-5596 T. Aleksič, Beograd; D. Bitrakov, Skopje; P. Dragojlovid, Rljeka; S. Hodžar, Ljubljana; B. Horvat, Maribor; A. Mandžič, Sarajevoj S. Mihalič, Varaždin; S. Turk, Zagreb

EDITOR-IN-CHTEF: Anton P. Železnikar

TECHNICAL DEPARTMENTS EDITORS:

V, Batagelj, D. Vltas — Prograiraning VOLUME 8,1984 - No 1 I. Bratko — Artificial Intelligence D. dedez-Kecmanovlč — Information Systems M. Exel — Operating Systems B. Džonova-Jerman-Blažifi -- Meetings L. Lenart — Prpcess Informatics D. Novak — Microcomputers CONTENTS Neda Papi<5— Editor's Assistant L. Pipan — Terminology V. RajkoviS — Education R. Faleskini 3 Development of rugoslav Infor- M. Špegel, M. Vukobratovid — Robotics mation Industry to the Year 2000 P. Tancig — Computing in Humanities and Social Sciences A .P.Železnikar 10 Production of Microcompiiter S. Turk — Computer Hardware System Partner A. Gorup — Edi.tor in SOZD Gorenje M. Gerkeš 14 Design Metodology for a 32-Bit Execution Processor for a 32^Bit EXECUTIVE EDITOR: Rudolf. Murn Computer System PUBLISHING COUNCIL: M. Gams et AU 22 Pascal I T. Banovec, Zavod SR Slovenije za statistiko, Vožarski pot 12, Ljubljana A .P.Železnikar 27 A CP/M Algol 60 Language II A. Jerman-Blažič, DO Iskra Delta, Parmova 41, Ljubljana M .R .Jockovic 41 Estimation of the Average Trans- ,B. Klemenčič, Iskra Telematika, Kranj fer Time of Randomly Ghoosen S. Saksida, Institut za sociologijo Univerze Blocks from a Disc Cylinder Edvarda Kardelja, Ljubljana J. Vlrant, Fakulteta za elektrotehniko, Trža- M. Jenko 46 A Microcomputer System for ška 25, Ljubljana B. Delak Surface Mining Supervteion HEADQUARTERS: Informatica, Parmova 41, 61000 J.V. Knop 48 Future Developments of Compu- Ljubljana, Yugoslavia K. Szymanski ter Architecture Phone: 61-312-988; Telex: 31366 YU DELTA N. Trinajstič ANNUAL SUBSCRIPTION RATE: USJ! 22 for companies, I. Stojmenovic 57 An Implementation of LISPKIT and US^ 10 for individuals et All Lisp Translator Opinions expressed in the contributions are not Z. Bekič 65 Analysis of Multiprocessors necessarily shared by the Editorial Board with Private Cache Memories PRINTED BY: Tiskarna Kresija, Ljubljana 71 Programming CJuickies DESIGN: Rasto Kirn 76 News INFORMATICA 1/1984

RAZVOJ INFORMACIJSKE INDUSTRIJE JUGOSLAVIJE DO LETA 2000

R. FALESKINI UDK: 681.3(497.1) DO ISKRA DELTA, LJUBUANA;

Clanek opisuje nekatere aspekte prlhodnjega razvoja jugoslovareke informacljske jndustrtje. Vsaka razvojna strategi)a mora upoštevati svetovni računalniški trg In njegovo rast. V procesih planiranja je potrebno študirati možnost uporabe novih lastnosti tehnologije in produktov in možnost premikov v področje z vlsoko rastjo. Opisan (e popust model razvojne strateglje, kl naj pomaga tehničnim strokovn|akom prl opredeljevanju tehnične In tržne konkurenčne pozicije pro- . duktov informacljske industrl|e.

Development of Yugoslav Information Ihdustry to.the Year 2000

This article deals with sptne aspects of fiiture development of Yugoslav information industry. Ahy strategy of developtnent must conslder. the world computer market and it's growth. In the planning procesšes the possibllity to exploit new technology and product opportunltles and to move Into new hlgh grovvth areas has to be studied. A simple model of development strategy is descrlbed to help technlcal experb! in deflnlng the technologlcel and merket competltlve posltlonlng of the products of [nformatlon Industry.

1. UVOD da nismo prisotni na vseh segmentih prolzvodhje in ppnudbe računalnlških sistemov, ter da smo prisotni Uspešnost razvoja inforraaoijske industrije v SFRJ je na nižjih nivojih sair.o tam, kjer lmamo kakšne kompa- pogojena z realnostjo ocene atanja in sposobnosti rativne prednosti. Ob taki politiki si med drugimi naše družbe, "kakor tudi s pravilnlm opredeljevanjem lahko postavimo naslednje strateške oilje: polltike, strategije in posameznih razvojnih usme- rltev. Delavoi Iskra Delte sb si postavili določene ' 1. Na osnovi koncentraoije kadrov, znanja, družbenega razvojne oilje, ki jlh s tem olankom žellmo pred- kapitala in ustrezne organiziranosti razviti novo staviti strokovni javnosti. Ne glede na zanlmivost industrijsko panogo v SFRJ - lnfonnaoijsko indus- v članku niso podane opredelitve do čišto tehnične . trijo problematike, kot je npr. peta generaoija raounalni- 2. Zadovoljevati leta 1990 ln kasneje veoji del po- kov, zveza med telekomunikaoijami in računalniki, treb jugoslovanskega trga po računalnišklh siste- temveč je dan poudarek nekaterim za inženirje mar- mlh in inženiringu v industriji, velikih tehniono- ginalnlm temam, ki pa v realni praksi lahko posta- tehnoloških sistemlh in družbenih infonnaoijskih nejo centralne, zlasti ko .analiziramo, zakaj dolo- sistemih čen projekt ni uspel. 3. Ustvarjati leta 1990 in kasneje veoji del dohod- ka na tujih trgih, ob ne samd kompletnem pokri- 2. STRATEŠKI CILJI BIFORMACIJSKE INDUSTRIJE vanju potrebnega uvoza opreme, repromaterialov in znanja z izvozom, ampak tudi ob ustvarjanju znat- V jugoslovansklh razmerah se informacljska industri- nih deviznih presežkov. ja lahko razvije samo kot odprt sistem, ki je tako na vhodni kot na izhodnl strani povezan s svfetovnim trgom. Infonracijska industrija mora bitl sposobna proiz- vajati računalniške sisteme in izvajatt ustrezen 3. BUGO IN STORITVE INFORMACIJSKE INDUSTRIJE inženiring. Raounalniški sistem opredeljujera kot 3.1. Opredelitev trga in njegove dinamike materialno oprerao, sistemsko programsko opremo in aplikativno programsko opretno, ki skupaj predstav- Pri izboru tehnološke, strategi je je nedvomno prlmamo ljajo računalniški sistem; ta sistem ga je podsistem poznavanje trgov, na katere želimo priti s svojimi nekega širšega tehničnega ali tehnoloskega sistema. produkti. Informacijska induštrija ponuja na svetov- Inženiring opredeljujem kot spreminjanje okolja, v nem trgu raounalniške sisteme, kot snra jih opredelili katerega se vgrajuje rašunalniški sistem, zaradi med- v naslednji točki, kakor1tudiopremo, sklope in mo- sebojne prilagojenosti (ti dve opredelitvi imata zgolj dule, ki predstavljajo produkte nižjih stopenj v ver- delovni znaoaj). tikalni tehnološki verigi. . Tržno in tehnološko nujni pa so seveda tudi nižji 2a produkte uporabljamo naslednjo segmentacljo trga nivoji kompleksnosti - nlvo opreme, nivo posameznih lnformaoijske industrije: materialnih in programskih modulov ter nivo storitev. Tržni in tehnološki razlogi pa nas sllijo tudi v to, Iz tabele 2. je razvidno, da gre na vseh segmentih TABELA 1. sretovnega trga za zelo vlsoko letno rast, kar lahko A. Računalnikl: prenesano tudi v doraače razmere. - splošno riamenski računalniki Ocenjujemo, da je vrednost trga SFRJ za vseh pet na- - super računalniki za posebne namene štetih segmentov za leto 1983 15.000.000.000 din ali - "plug compatible" raounalniki izraženo zaradi primerjave s tabelo v USA 8 blizu - mali poslovni siateml 200 railijonov USA 8 (tečaj z dne 1.5.1983). - namizni raounalniki - komponentni sistera Jugoslovanska računalniška induatrija je prisotna na vseh segmentlh (A, B, ,D,E), vendar v vaakem segmen- B. Termlnali: tu pokriva samo nekaj podsegmentov, podanih v aAine- - teleprinterji In neinteligentni zaslonski ah. Ni potrebno posebej ražlagatl, da v SFRJ nimamo terminali proizvodnje npr. super računalnikov ali dlskovriih enot. - inteligentni terminali - multifunkcijske delovne po3taje S

Zaradi orientaclje podajamo tabelarieni pregled 3.2. Prekrivanje ali dopolnjevanje v SFRJ vrednosti trgov, vzet iz gradlva VJbrld Markets for 3.2.1. Prolzvodnja računalniških sistemov, terniinalov, Information Proeeasing Products to 1992 (1) perifernih naprav in software

TABEU 2. VREDNOST SVETOVNIH TRGOV INFORMACIJSKIH PRODUKTOV (BREZ STORITEV) V MILIJARDAH USA 8 (konstantnih za 1. 1982)

Raounal- Tertni- Perlfer. Program. SKIJPAJ nikl nali naprave oprema 19 8 2

ZDA 17,6 7,6 15,3 1,1 14,6 Zah.Evropa 10,9 2,8 9,9 1,6 25,2 Japonska t,5 2,0 3,2 0,7 10,4 Ostali avet brez SEV 2,1 0,6 l.ž' 0,3 1,9 SKUPAJ 35,1 13,0 30,3 6,7 85,1 19 8 7 ZDA 28-31 9-11 22-25 11-13 68-78 Zab. Evropa 17-19 3-5 11-17 6-8 42-48 Japonska 7-9 3-5 5-7 1,5-2,5 18-22 Ostali avet brez SEV 3,5-1,5 1-1,1 3-1 1-1,5 9-11 SKUPAJ 56-62 17-22 15-52 20-25 140-155 19 9 2 ZDA 37-13 13-16 31-36 21-28 110-120 Zah.Evropa 22-25 1-7- 20-24 15-18 64-72 Japonaka 10-13 1-6 10-12 1-6 29-35 Oatali avet brez SEV 4-6 1,1-2 1-5 2-3 12-15 SKUPAJ 75-85 23-30 68-75 16-51 220-240

V tabell ni zaobsežen trg storitev, ker ae le-ta šele razvija.

(1) A.D. Little Service: IMPACT: January 1983 Zaradi standardizacije in doseganja velikih serij Ponudba domaoih storitev je prisotna na vseh našte- je nujno, da se jugoslovanski proizvajaici specializi- tih štirih področjih v točki E (tabela 1), na seg- rajo 'Za programe, ki so med seboj kpmplementarni. Vsa- raentu vzdrževanje in prekrivanje. Tu gre za tnonopol ko prekrivanje je potrebno analizirati z dveh aspek- proizvajalca oziroma zastopnika tuje TNC. Na vseh tov: prvič, kateri produkt je ekonomsko bolj opravičen ostalih segraentih konkurenca eksistira in jo iiriamo in druglč, kakšno zvezo ima določen produkt s tujlmi za pozitivno. Eksistenca koniairence. lahko tudi pri^ transnacionalnimi družbami (TNC) ter kako to vpllva pomore k temu, d.a se bodo razvili standardl, tehnlč- na dolgoročni jugoslovanski razvoj z vidika standardl- ni pogoji, pravna regulativa in nontalno gospodar- zacije, dolgoročnih ekonomskih efektov ter družbenih jenje s terni storitvanii, seveda pa- je to samo po- ekonomskih efektov, ki se kažejo v tistih delovnih .treben pogoj, ne pa še zadosten. V tem segmentu je zavest o državnem intervencionizmu kl jub nekaj za- . procesih, kjer se infonnaeijska tehnologija pojavlja : kot infrastruktura. • • • • • konomše zelo nizka. • .•

Sedanje atanje je za zunanjega opazovalca bolj ka- 3.3. Primerjava 3 svetom , rakteristlčno po tem, da na posameznih podsegmen- tih fcrga sploh ni ponudbe in po prekrivanju progra- 3.3-1. Ekonotnska moč • mov ( ptevilni 16 bltni mini raounalniki, terrainali). Prihodek 1 milijardo (novih) dinarjev sta v letu. t.er po majhnih serijah, ki so tehnološko gledano ne- 1982 presegla satno dva prolzvajalca v SFRJ, Iskra opravičene za osvajanje delovnih procesov v globino, Delta in El. Računari. Ce upoštevamo povprečen- kot. po dpolnjujočih se programih; Razen na - saraih teeaj US dolarja v 1. 1982, preračunamo to v do- kotičnih produktih se kaže neurejenost tudi: larje, bi pri povprečnem tečaju za 1, 1982 - - v sistemu odnosov do TNC oziroma v povsem neodvis- 1 USA S = 50 dinj-znesla 1 milijarda dln 20 mi- nem in zato neenakopravnem odnosu posamezne naše lijonov US8. Za primerjavo.kaj ta prihodek pred- DO, ••'•..' . ... stavljav svetovnih merilih, podajamo v tabeli 3- . - v sistemu financiranja proizvpdnje, prihodke dvajsetih največjih TNC. - v predimenzioniranem razvojno raziskovalnem sektor-. ju tega področja glede na znane zakonitosti: Vseh firtn, ki so naštete v tabeli 3, ne moremo .1:10:100 (laboratorljski prototip, industrijski šteti riitt za tehnološko nlti za tržno vodilne. prototip, serijska prolzvodnja), Samo za ameriške in japonske proizvajalce lahko - v, neenakopravnem položaju v priraeru s tujimi TNC,. rečemo, da so tehnološko vodilni in obenera povsera ki nudijo produkte v zakup, ki so postavile norroe dominantni na naoionalnem trgu. Za zahodnoevropske obriašanja in norme kvalitete in ki povsem domini- proizvajalce to ne velja. : • , rajo po vo}umnu potreb, ki jih zadovoljujejo v SFRJ. ' ' . '•• V deželah SEV je raounalništvo in informatika na nivo- ju SEV koordinirana skupna panoga proizvodnje, ki po- Večina odnosov jugoslovanskih proizvajalcev TNC je krivs dominanten del (95 %) potreb po kplioinah, raedtem neustaljena. V primeru izvozno sposobnih projektov, ko so zaradi tehnološkega zaostanka kvalitativne možno- kl bodo tehnološko optimalne serlje plasirali pred- sti pokrivanja potreb manjše in se čuti zaostanek v kva- vsem na avetovtii trgi, je možno, da se v Jugoslaviji liteti strojev in sisteraov, ki jih proizvajajo. razvije dvoje ali veo prbizvajalcev na nivoju raču- nalniških sistemov, kar pa ne govori proti unlflka- Industrija SEV zaposluje v produkciji približno 200.000 olji na nižjih nivojih v vertikalni tehnološki verigi. delavcev in njen.prihodek oz. vrednost ,produkcije po ave- tovnih cenah, ocenjujemo na ooa 5 milijard USA 8.

3.2.2. Storitve 3.3.2. Državni intervencionizem Ponudba storltev jugoslovanšklh DO je namenjena iz- kl juono doinačemu trgii. Danes praktlčno še ni upošte- Vse dežele z razvito računalniško produkcijo razen ZDA vanja vrednega plasmana tujih storitev pri nas. Ta uporabljajo vse instrumente državnega intervenoionizma fcuj plasman je omejen na koriščerije različnih sve- za zašoito in razvoj nacionalnih industrij. Ti inatru- tovnih bank podatkov In na podporo organlzacljam, menti segajo od planirarjja preko budžetskega finanolra- ki servisirajo raounalnike. nja do zakonodaje in organiziranja.

TABELA 3. DVAJSET NAJVEČJIH PROIZVAJALCEV (BREZ PROIZVAJALCEV DEŽEL SEV)

1980 1981 1982 Prihodki za koledarsko leto v milijardah USA S Rang Rang Rang 1980 1981 : 1982

1 1 •1 - IBM 21,4 23,8 28,5 2 2 Dlgital Equipment 2,7 3,4 1,1 . 6 . 4- 3 Burrpughs . 2,5 3,0 3,8 3 3 4 Controi Data 2,8 3,1 3,3 2 5 - 5- NCR ' 2,8 2,9 3,2 5 . 6 6 Sperry Computers 2,6 . 2,8 2,8 7' 7 7 ft Fujitsu 1,7 2,0 9 .. 8 • . .1 ,0 Heulett-Packard 1,6 1,9 2,2 8 9 9 1,6 1,8. 1,9 12 10,11 10 Nippon Electric 1,2 . 1,4 1,5 13 13 11 Hitechi 1,1 -1,3 1,4 14 • 14 Olivetti ••.••• 1,2 1,3 1,3 15 17 12 ,13,14 Siemena 0,8 0,9 1,3 18 15 teng 0,7 ' 1,0 . 1,3 10 10,11 1.5 .. ICL l,t 1,1 1,2 11 . 12 1 (Z i >7 CII-HB 1,2 1,3 1,1 19 19 i " , i 1 Storage Technology 0,6 . 0,9 1,1 16 .. 16 lO i n Nixdorf 0,8 0,9 0,9 17 18 io, iy. Xerox 0,8 0,9 0,9 20 20. 20 Data General 0,6 0,7 • 0,8 Poaebej moramo opozoriti, da delujejo na področju raču- 4.2. Možnoati programa za vključitev v tržiače SFRJ nalništva in informatike tudi nadnacionalni mehanizmi in aveta (COCOM), ki imajo za oilj zagotoviti dominacijo ZDA in razvitega zahoda na tera področju. 4.2.1. Komparativne prednoati enotnega računalniškega siatema v SRS V primerjavi s avetom je'jugoalovanaki intervencionizem na podrooju računalništva biatveno pomanjkljiv v sferi V primerjavi z drugimi projektl v SFRJ ima proizvodno zakonakega urejanja odnoaov domaoih finn a tujirai TNC, poalovni kompleks enotnega računalnišega aiatenp v SRS, v aferi financiranja dejavnosti, v stopnji koropleksno- ki ga danee predstavljajo v organizaoijakem aml-aiu sti zagotavljanja pogojev za razvoj, pa tudi v sferi predvaem Iakra Delta, TGO Gorenje, SE in Llko, fRS urejanja okolja, kamor računalniška tehnologija ppi- Zagreb ln ERA Novi Sad, v tehnološkem amlalu pa apek- haja. Razdrobljenoat velikih aiatemov po republikah, ter produktov od nivoja terminalov preko mikropaounal- regijah itd., ki je nastala v obdobju, ko še ni bilo nikov, mlnijev, srednjih raounalnikov, do kompletnih domaoe industrije, ae nadaljuje, ker ae velik del nas- aiatemov, kl ao val medaebojno komgatibllni, btistveno tajajočih jugoslovanskih proizvodenj naslanja na tuje prednoat zaradi velikoati, tehnoloake (komponente in TNC v pogledu produktov, tehnologije, repromaterialov, postopkovne)baze| kadrovake baze, celovitega pristopa finane itd. In odprt03ti za V8e naoine povezovanja z drugiml po- tenciall v SFRJ. 4. PROGRAMI - RAZVOJ DO LETA 2000 Pristop, katerega biatvo je v nevezanoati na enega aamega tujega partnerja na nivoju kononih produktov, 4.1. Dominantno področje sklopov ali komponent, omogoča flekoibilno povezovanje a tujoi zaradi neobhodnega uvoza, kakor tudi povezo- Glede na to, da v SFRJ ne bomo razvljali kompletnega vanje z vaemi jugoalovanakiml potenoiali brez vpliva spektra raounalništva, bomo aktivni predvsem na dveh dolooene tuje TNC. podorojih: - kompletna infonnatizacija industrijakih prooesov Povezovanje potenoialov v SFRJ okrog enotnega pmgraraa (CAD/CAM aiatemi) bo trajno zagotovilo prltisk v popolno odprtoat trga - razvoj klaaičnih informacijskih aisteraov. na področju informatike. Medtem pa ne bomo razv.ijali kot prioritetnlh vej, tem- več aamo veje, ki naj oraogočijo večkraten lzkoriatek . 4.2.2. Možne biatvene poraanjkljivoatl dominantnih - domačlh raeunalnikov Odaotnoat komplekane atrategije tehnoloakega raz- - infonnatične opreme za globalne aiateme. voja v okviru atrategije družbenega razvoja, odaot- noat družbene verifikacije oiljev in družbene pod- pore za njihovo realizacijo je prvi faktor,ki lahko program zavre v razvojnih ambicijah. Dolooeni proizvodi za ta podrooja bodo dopolnili ob- atoječo ponudbo, npr. home computer kot dopolnitev Pomanjkljlva zaveat o tem, da ima razviti avet teh- opreme za dom, povečini pa jlh v SFfiJ nihče ne bo nološko politiko celo na nadnaclonalni ravnl, in da produciral-. jo stalno razvija v smialu podpore svojlh ekonofflžkih in vojaško politionih Intereaov, lahko privede do tega, V zvezi 3 kompleksno informatizacijo induatrijskih da bo inforraatika v avojem razvoju zapadla v totalno proceaov moramo opozoriti, da ne razpolagamo a pno-- materialno in tudi moralno-mentalno odvisnoat od TNC jekcijami razvoja jugoalovanskih proizvajaloev atroj- ob sprotni uporabi mehanizraov CoCom NATO pakta, OECD, ne in proceane opreme. bančnih mehanizraov, pa tudl pritiakov obvešSevali^lih Nedvomno bo ta razvoj v akladu a svetovnimi atandardi alužb itd. Poleg nevarnoati, kl jo predatavlja zftod, in naša izvozna uameritev bo vailjevala avetovne atan- obataja tudi nevarnoat zaradi ambiclj vzhoda. Seveda darde tudl v SFRJ k proizvajalcem strojne in proceane pa predstavlja največjo nevamoat naše nepoznavan|jB opretne. problematike in naša neorganiziranost za korapleksho pariranje pritiakom iz tujine. Uidl omenjeni dominantni področji ae ne boata razvi- jali avtarktično, temveč ob apecializaciji za poaamez- Naalednja možnoat - biatvena pomanjkljivost je goapo- ne njune komponente, ki bodo z izvozom v oeloti pok- darska kriza, ki bi potnetiila zmaojšano apoaobnoat rlvale komplementaren uvoz. 1U omenimo zlaati storitve finanoiranja produkcije in porabe, zmanjšanje povpra- in programako opremo. ševanja v SFRJ ter povečan obaeg naturalnlh oblik go- spodarjenja (trampa). V tem primeru bi dolooen del kadrov preael k TNC, ki ao priaotne v SFRJ, del pa bi odšel v tujino, tudi k TNC (nekaterl bi vztrajall tudi v kriznlh razmerjih, nekateri pa bl ae prekvali- fioirali).

SHEMA 1. VSEBINA RAZVOJNE STRATEGIJE

DINAMIKA KONKURENČNI TRGA TRENDI

PODROČJE, NA KATEREM KONKURIRAMO PERFORMANCE PRODUKTOV EKONOMIKA PROIZVODNJE

) KLJUČNE BAZIČNE PROIZVODNE TEHNOLOGIJE TEHNOLOGIJE DIAGRAM i. KONKURENCA NA RAZLIČNIH TEHNOLOSKIH PODROČJIH

število asembliranje v>»elikih konkurentc r serijah^^'1^ A proizvodnja lntegrirarp-fi^

/* CRT termlnali f tastature 400 tiskalnikl z mehanskim odtlsom aplikacijaki SW,kompl. ^/ in?enlring / ^8-bitni m»ra6unalnlkl • . . siatemskl prograrai^" S bitni mikroprocesorji •'laksimile P razpoznavanje. glasov • video dt3k #^raiunalnik 5,generacije

^l—. ———!- A if&fc vložen čas v razvoj •

S tem pi prišlo do družbeno negativnega izkoriščanja kurence, pa moramo vaekakor razviti kljuone proiz- kadrovskih potenoialov v smialu poveoanega odliva ka- vodne tehnologije, kl bodo omogooile ekonomlono pro-. pitala v tujino, ob tehnološki podpori naših delavcev izvodnjo. v zastopniških OZD, ter v amislu koriščenja investicij če pogledamo atopnjo razvitoati posameznih tehhološ- na univerzah, inatitutih itd., za zagotavljanje cenene kih področij, glede na število firm, kj. delujejo na delovne aile tiijira TNC. tem področju ter gleae na oaa, ki je bil na pošatnez- nem področju že uporabljen, vidlmo, da je pri raz- 1.3. Izbor laatne tehnološke atrategije lionih tehnoloških podroojih konkurencazelo razliona.

Za izbor laatne tehnbloške atrateglje je pomembno po- Izbor tehnološke atrateglje vedno diktira dva znavanje kotnplekane atrategije SOZD iti DO, kakor tudi pogoja: • - . . atrategije konkurence oz. okolja.' - tehnološka pozicija Najprej je potrebno opredeliti nekatere faktorje pri - konkurenona pozicija. . izboru laatne tehnološke 3trategije. Vsebina razvojne atrateglje je podana na diagramu t. V informaoijaki induatriji ao tipični predatav- niki tipa 1 IBM (računalniki za aplošne namene), Ekonoraika proizvodnje produktov z določeno perfor- . DEC (miniračunalniki), APPLE (mikroračunalniki), ' manso nam v bistvu dolooa podrooje, na katerem bomo tipični predstavniki tlpa 2 30 Pujitau (aledi konkurirali. Bazione tehnologije, ki bodo.determl- IBM), Robotron (sledi IBM), tipičnl predstavniki nirale razvoj, ao gotovo priaotne prinajvečjih tipa 3 npr. MDS (naprave za zbiranje podatkov za avetovnih proizvajalclh in v najveojlh razlskoval- IBM). Jugoslovanske industrije do 1. 1983 ao.vse nih institutih prl nas gre za njihovo aplikaoijo. apadale v tip t. . . Da bi aledlli dinamiki trga in trendom razvoja kon- ;

SHEMA 2. TIPIČNE STRATEGIJE

N. Tehnološka pozioija

Tip razvoja Kompleten Selektiven

Inovaeijski . 1. tehnološki 3.-komplementaren voditelj razvoj poudarjen na področjih, ki jih ne pokriva voditelj nčn a pozicij

reakcijaki 2. žasledovalno - l). tehnološki konkurenčen razvoj racionalizator .'določenim zaoatan- kom v času . I konkur e SHEMA 3. MOŽNE SPREMEMBE STRATEŠKIH POZICIJ

TEHNOLOŠKA POZICIJA

ugodna

tehnološko in dobra tehnolo- zastarela tehnolo- tržno vodstvo gija in močna gija (zasledovanje) tržna pozioija in močna tržna poz.

tehnološko vod- zaatarela kon- povečan obaeg raoi- atvo in ugodna kurenčna tehno- onalizacije, ugod- tržna pozicija logija, zasle- nejsa tržna pozic. dovanje komplementarna tehnologija

komplementaraa mešana družba tehnološke racio- tehnologija in (Joint venture) nalizaoije znosna tržna pozieija

Spremembe tehnoloških in tržnih pozicij so možne del lahko šel na OEM trg. Probletn združevanja ima po- tako glede na komplementarnl pristop - razvoj leg tehnološkega tudi finančni in pravni aapekt, ki nečeaa, kar tehnološko in tržno vodilne dopol- ata znana tudi iz drugih panog. njuje kot tudi na zasledovalni - konkurenčnl pri- Ni res, da induatrija ne želi angažirati znanatveno. stop - razvoj nečeaa, kar pri konkurenci že ob- razvojnih potencialov na univerzah in inatitutih. stoji. Problera v računalništvu je podoben kot drugo. Za fi- nanciranje tega dela ao potrebna dolooena sredstva, recimo 1 tnilijarda din letno. Da bi inpvacije iz labo- 5. POGOJI AMBICIOZNEGA RAZVOJA ratorija preneali na nivo industrijakih prototipov, 5.1. Sodelovanje z druglmi v SFRJ in v svetu prilagojenih na zaradi tehnoloških ali ekonom- • akihrazlogov razpoložljive materiale, delovne prl- 5.1.1. Sodelovanje v SFRJ prave, atroje in postopke, jih prilagodill interni ln eksterni atandardizaciji, potrebujemo za to vsaj Prolzvodno poslovni kompleka ERS vzpostavlja aode- 10 mllijard din. Da pa bi nato vzpoatavili ekonomlo- lovanje y SFRJ v aamem proizvodnem amislu: no proizvodnjo, je potrebno angažlrati dodatne vire - upoštevanje vseh proizvajalcev komponent, sklopov za osnovna in obratna aredstva, reoimo 100 railijard- in podaiatemov ter namen o aovlaganjih v te pro- din. Teh pa aeveda ni. Seveda ae ne zavzemam za uva- izvodnje janje tujega znanja v naše produkte - najveokrat da - atandardizacija tujeo poleg tehnološke dokumentaoije na razpolago - združevanja dela v akupen proizvod (na načelu tudi ustrezne vire aredatev za zagon take nove ppo- akupnega prihodka in skupnega dohodka) izvodnje - teraveč za angažiranje dodatnih domaoih Stiki z vaerai potenclalnlmi kooperanti ao najraanj virov, ki bodo omogočili bolj koristno zapoalitev kvartalni. raziskovalno razvojnih kapaoitet. V širaem amlalu 3e v SFRJ Iakra Delta povezuje Delovno me3to v inforraatiki ni pooeni, zelo dragp je. vaemi potenoiali na fakultetah, inatitutih, apeci- Fbtrebno je angažirati velika aredatva na delavca. V aliziranih zavodih v SFRJ z ambicijo, da ae čitnveč avetu velja, da je potrebno angažirati na enega de- kadrov angažira na enotnem programu. lavca v informacijaki induatriji povpreono: - osnovna aredatva 10.000 USS V področju financiranja poakuaamo angažiratl sred- - obratna 3red3tva 50.000 US8. atva v celi SFRJ za financiranje katerekoli faze celotnega cikluaa reprodukcije. Od obratnih aredatev jih mora imetl velik del denar- no obliko in pri naa morajo biti tudi v določenl tne- fenoga se zaenkrat še ni uapela identificirati in ri v obliki deviz. Angažirana aredatva ae obračajo zato je pri povezovanju v SFRJ potrebno odpraviti relativno počaai, obreatne mere oz. .dobički pa ao nekaj iluzij, kot so: zelo velikl. Tlidi infonnaoijski produkti ne bodo - "potrebno je opraviti delitev dela" mogli na svetovni trg brez ustreznega finančnega ln- - "industrija ne žali angažirati znanatveno razvoj- ženirlnga, kot se je to že pokazalo pri nekaterih nih poteneialov" drugih dobrinah (ladje). Nepoznavanje in nepplzna- - "infonnatiko je možno razvijati na majhnih oanovah vanje avetovnih prooeaov tia tem področju naa lahko in obratnlh sredsfcvih". pega samo v objem tujlh TNC. Najprej moranio povedati, da v SFRJ ni problem deli- tey dela, ker je obseg produkcije zelo skromen, apek- 5.1.2. Sodelovanje v svetu ter potrebnih komponent izgradnje informacijske indua- Odsotnost proizvodnje določenih komponent, zagotav- trije zelo šlrok in nam danes matijka še mnogo seata- ljanje svetovnih atandardov v HW in SW, povezanoat vln celovitega aiateina ter ker ni praktično tudi nik- z drugimi industrljami, naa ailijo na pennanentno jer podvajanja tehnoloških postopkov razen na 16 bit- povezanost z drugimi proizvajalcl v svetu. Način nih računalnikih. Problem je združevanje tiatega, kar povezovanja, ki ga želimo doaeči, naj bi bil oimbolj imarno, atandardizacija, ki bi oraogočala kompat-.ibilnost podoben uačinom, ki vladajo v razvitem zahodnem in povečanje aerij tega, kar delamo tako, da bi en avetu. V računalništvu je zelo razvit OEM trg, kar ;pomeni, da je možno kupovati poljubne aklope, kompo- šujejo energetako odvianoat ter zagotavljajo biatveno Inente ali podsisteme in jih vgrajevati v lastne pro- veoje možnoati zapoalovanja strokovnih kadrov. Ta al- 'dukte. Tega tipa odnosov se nameravamo posluževati ternativa se bo razreševala v odvianoati od osebnega ' tudi v prihodnpsti. , -.•... angažiranja prizadetih delavcev atrokovnjakov in ne morda za njihovim hrbtom. Prav zato ao dane v pris- Kooperacije in protidobave v smislu jugoslovanske pevku dolooene uameritve, ki naj bralce polarizirajo, zakonodaje bomo poskušali razvijati povsod tatn, kjer da bi bila rezultanta njihovih naporov uamerjena in da bomo morali začeti na npvo uvajati določene tehnolo- bo tudl njihov vpliv veoji kot če bi ae problemi raz- reševali v nepolarizirani obllki, kjer je rezultanta Do leta 2000 še ne-predvidevamo, da bi lahko prišlo haporov poaamežnikov pogoato zelo majhna all nična. do aodelovanja na bazi licenčnih pogodb na takem nivoju, kot je običajen na zahodu ali do resničnih sovlaganj, ki imajo za cilj akupen razvoj nove teh- nologije ln nove produkoije. Pri nas so TNC doslej šle v lioenčni odno3 ali sovlaganja predvaetn kot v vlaganje za zagotovitev ustreznega deleža na jugo- alovanskem trgu. • . • • .

5.2. Odvisnost od tujega zhanja . Odvisnoat od tujega znanja je komplekaen pojera, ki bi ga lahko razdelilt na nekaj nivojev.1 Poznamp nas- • lednje oblike tujega znanja, kr pomenijo odvisnoat: - tuje znatije vsebovano v izdelkih in zaščiteno s patenti ter avtorakimi pravioami -.-• • - tuje znanje q prdizvodnih ppstopkih (know-how) - tuje znanje v svetovnih bankah podatkov, informa- cijakih sistemih itd.. . . •.••.'.['••• • - Temu tujerau znanju lahko1 postavimo naaproti kot " antipod domače znanje. Vendar to ni povsetn opravičeno zaradi aame vaebine pojma znanja. tomače znanje, ki nima zveze s tujim

znanjem, ne ekaiatira. • ' • • ;. ..' •' Vprašanje pa,je odno3. Pogojeza računalniškp pro- . izvodnjo zjasnlmi izvoznirai oilji je poznavanje : in uporaba tujega.znanja, ki pa raora bitt moatri-. • ficirano predvsem pfeko: . " . . - šolanja v tujini . . , - dela v bujini . • •. . • - uporabe podatkov opatentih, raziskovalnlh in raz- ' vojnih doaežkih, olankih, knjigah, revijah, urad- • . Obvestilo avtorjem : nih iiatih itd. .. " • . " ' • ... ; - proueevanju in upoštevanju avetovnih (ISO) in tu- . ! jih naoionalnih atandardov. Prosimo vse avtorje člankov, da narn s člankl po- šljejo še tele podatke: številko žiro računa, točen : Na tak riačin moatrificirano tuje znanje, ki mora :. biti z laatnim. uvar jalnira naporom' aplicirano v pro- naslov avtorja in ime krajevne skupnostl in občine. izvodnjo, je pogoj za nepmejevan lasten razvoj in • . 1 za izvoz. .. •.' -•'•:..• . • . Uredništvo Mostrifikaoija tujega znanja preko nakupa licenc, preko vzpoatavitve kooperacij in .preko akupnih vla- ganj, kar obsega pojem "Višje oblike gošpodarakega '. aodelovanja a tujinp'.', bo aeveda tudi prisotna na • Obaveštenje autorima nivoju komponent,.-sklopov in pbdsiatemov. Vendar bo '• povaod priaotna naaa težnja, daimamo čiravečjo pro- Molirrio sve autore da nam uz radove pošalju još atost: v razvoju in v prodorih na tuje trge. . sledece podatke: broj žiro računa, ime opštine i .Viaja oblika spdelovanja a tujino (lioenca, koope- mesne zajednice i tačnu adresu autora. • raoija, joint veriture).se bo. morda pojavila tudi na i nivoju račutialniških sisteraov, vendar smatranio, da .. Urednlštvo • bi haa tak tip odnosa y današrijem čaau bistveno zavrl v razvoju, ker raounalniška indiiatrija kot celota danea še nirna izoblikovane avoje fiztog- nomije in ni sposobna-uatrezno kreativno indruž- . beno optimalno izkoristiti. takega tipa odnoaov. . .' ' Danes je naša naloga predvsem v premagovanju letar-.' gionih doniačih. kreativnih potericialov, ki'bodo-saimo a tem, da bodo uštvarili določene izvozno. sposobne izdelke In storitve, pridobili uštrezno komponentr- noat in spoaobnoat za kreativno uporabo tujega znanja.

6. ZAKUUCEK. • - ': ... ..'-.. '• • •• .'••':•' Namen.tega pisanja je vzppdbuditl pri bralcih Infpr- matike razmišljanje iri dtakusije o nekaterih zanje morda drobnih prpblemih, ki pa postajajo v določenem trenutku uaodni. V Jugpslaviji.se danes postavlja al- ternativa, ali viagati še naprej pretežni del akiimu- laoije v "voerajšrije proizvodne panoge"', ki potrebu- . je jo ogpomno'kapitala, energije in'aurovin:, ali pa . začeti -pogumheje razvijat.i današnje in jutrišnje pro- . grame proizvodov., storitev in procesov, ki iiam lahko zagotavljajo trajnejši in. konkurencne.iši izvoz, zmanj- INFORMATICA 1/1984

PROIZVODNJA M«KRORACUNALNIŠKEGA SISTEMA PARTNER

ANTON P. 2ELEZNIKAR

UDK: 681.3 ISKRA DELTA, LJUBUANA

Ta pi-ispevek opiBuje v obliki slikovnega poročila proizvodrijo mikvoračuital- niskega sistema Partner, ki ss pt-oizvaja v Laborah. pri Kranju. Sistem PaVtner se v proizvodnji približuje masovni reprodukciji, saj je v Mjegovam življeti- skern ciklu predvideria proizvodnja koli&ina 10000. To število je z« nas novo po svoji velikosti in predstavlja nov pristop v proizvodni in tržni organizi- ranosti. Pai»ti"ier je osebni računalnik, rnali poslovmi sistern, sistem za razvoj programske opreme in v mrežo povezana delovna postaja.

Produetion of Micr-ocornputer System This article. deals in a form of picture re^port with production of Pai"tner» Mici~ocomputer Systern being fabricated iri the Labore Fa'cto»-y near Kranj. This product is approaching the so called mass pt»oduct ion and will reach a quanti- ty of IBHddSl iVi its life cicle. This production quaritity i-epreserits a new organizational and rnarketing exper*iance in Yugoslavia. Partner is a personal computei", a small bussiness systern, a system for software deVeloprnent, and a work station in the Delta Computer Neti

IridustrijBka proizvodnja r-ačunalniških sistemov ceB proizvodnje je mogoce or-ga«izir-at i le z inr v Jugoslaviji -tudi v primeru mikrosiBtemov- je teniivnirn prenosom znanja iz razvoja in z upo- povežana z znariimi problemi industrializma na rabo izkuserij iz pi»ejšnjih, podobnih proizvo- področju visoke tehnologije. Ti probletni zaje- denj. majo prizvodno zapletemoet (kornpleksnost), h kateri prispevajo veliko šts-vilo osnovnih ele- Slikovno poročilo daje splošen vpogled v delo- mentov (nskaj desettisoč v vsakern izdelku), me- vni proces proizvodnje mikVosistema Partner. W haničino in električno za^pleteni in zmogljivi tem zahtevnem procesu sodelujejo inževiiv-ji, podsistemi (peviferne naprave, njihovi • elek- tehniki in drugi delavci pi-oizvodne enote Iskra tronski vmesniki in krmilmki), zahtevne rnetode Delta v Ki-anju. To poročilo prikazuje v slikah pr-oizvodnega pr-eizkusanja elernentbv, podsiste- delo in napore teh delavcev. tnov in končnih sistemov (izdelkov). Takšen pr-o—

Slika 1. Nada Mrgole je montažm rnehanik. V ko- sitrni kopel i (pbdelane tiskane plošče, ki jih vidimo na sliki, morajo biti še spremenjene, tj. modificirane. Plošča do— bi določene preveze, ki so posledica razkoraka med načrtom, napako iri dokončnb zahtevo. Delo je natantno, terja pa tudi ročno spretnost iri ost-edot očeriost. 11

Slika £. Gorasd Vidic je elektrotehriik, je kon- trolni iriženir, odogvo- reri za pvavilno delova- . nje modulov rta tiskard plošči. Modul je zaple- teno vezje, ki ima več sto elementov (velikih, srednjih in malih inte— griranih vezij, diod, uporbv, koriderizatorjev, tranzistorjev itd.). Kontrola signalov na o- sciloskopBkem zaslonu zahteva znanje in osre- dotočenost.

tisknne oloste 5i5te'na oa^triGi" je vec" - i'< reio vidimo rpio nontdJfi I mmehamkov Kartine nik, flntoinijB Nade

Slika 3. Marija Bajželj in Marta Brohar sta nion— tažna rnehanika. Mikro- računalnik Partner upo- rablja tudi sodoben pre— klopniškii . napajalnik , ki je nai-e- jen preteino iz domačiih sestavriih delov (izjema 5O polprevodniški ele- nent i). —

12

Slika 5. Del razvojne skupine projekta Part- nei», ki- je opravila tudi prenos znarga in tehno- logije v proizvodnjo. Od leve proti desni: Lučka Rinkwitz (tajnica), Mai— ko Kovačevič, dipl.ing., rngr. Božo Blatnik, avtoi- tega prispevka in rngt-. Drago Novak (vodja raz- vojnega projekta). Manj- kajo: Saš Hadži, dipl. ing., DuSan šalehar, dipl. ing. , flridr-ej Le- skovar, dipl.ing. (raz- voj preklopniškega r>a- pajalnika) in Bojan Dro- bež, dipl. i.ng..

Slika 6. Zbirna. roontaža plcšč, diskov, tiskali-ii- kov, ohišij, kablov j.td. Sistern partner* je sesta— vljen iz g diska (10M zlogov), upo- gljivega diska (S00k zlogov), matvičriega tis- kalnika, zaslonskŠga video dela, tiškanih plošč itd.

Slika 7. Tiidi Tomaž Pi- bei-nik, elektrotehnik pr-ispeva k kor>eni kon- troli tiskanih modulov. 13

Slika 8. Razvoj preklopniškega napajalnika in prenos ustreznega. znanja v proizvodnjo je bilo delo Pndveja Leskovarja, dipl.ing. (i-iajbižje osciloskopu). • Reprodukcija napajalnika je zah- tevala vrsto popravkov in pri lagajanje dornačirn elementorn, seveda pa tudi posebno znarije na po- dčju zapleteriega vezja napajaldika.

Sl.ika 9. Iiiclelovarije kablov ozii^orna njihovo spajanje s konektorji inora biti opi-avljeno ria- tartčrio in zanesljivo: Bovis Oblak, elektroteh- tt^ niU ma delovnern rnestu.

^%,^JU'* -

Slika 10. Mgr. Milan Mekinda, dipl.ing., vodja Dbmo&ne enote Kranj (obrat Labore), kjer- se proizvajajo miki"ora£unalniški sistemi Pai-bner. INFORMATICA 1/1984

METODOLOGIJA SNOVANJA IZVRŠILNEGA PROCESORJA ZA 32-BITNI RACUNALNIŠKI SISTEM

MAKSIMILJANGERKEŠ

UDK: 681.326 VISOKA TEHNIŠKA ŠOLA, VTO ELEKTROTEHNIKA, MARIBOR

Članek podaja pregled postopkov snovanja, uporabljenih pri izdelavi prototipa 32-bitnega izvršilnega procesorja. ki je ses- tavni del 32°-bitnega računalniškega sistema, ki podpira kompleksno instrukcijsko množico. Izvršilni procesor je po predlaganem postopku v začetku definiran kot univerzalni trioperandni operator, ki ga postopoma razgrajujemo vvedno večje detalje. Vrednosti parametrov hrani posebna pomnilna struktura, ki je dopolnjena z delovno pomnilno strukturo in omogoča hranjenje vmesnih rezultatov zaradi interpretacije operacij, definiranih z instrukcijsko množico. Zaradi interpretacije operacij je vpeljana mikroprogramirana krmilna struktura, ki je definirana na podlagi ka- rakterističnih lastnosti mikroprogtamov.

DESIGN METHODOLOGY FOR A 32-BIT EXECUTION PROCESSOR FOR A 32-BIT GOMPUTER SYSTEM: Article describes design methods used for a 32-bit execution processor prototype design. 32-bit execution proccessor is relatively high speed uni- versal operator support for a 32-bit computer system based on a complex instruction set. At the beginhing we definfe execution processor as a universal three operand operator. With stepwise refinement it is then decomposed into lower level parts. In and outcomming parameter values are written into I/O register set which is oom- pleted with working register set for holding partial results, generated with interpreted operations, defined by complex instruction set. Because of operations interpretation microprogrammed control structure is defined based qn the cliarac- teristic features of microprogramms.

UVOD: 1. IZHODIŠČA ZA DEFINIRANJE ORGANIZACIJE IZVRŠILNEGA PROCESORJA Pofazdelitev operacij, pri implementaciji neke računalniš- ke arhitekture, na primerno organizirane sisteme je os- Organizacija izvršUnega procesorja je podrejena pospe- novna naloga vsakega snovanja. V preprostejših primerih' šenetnu izvajanju operacij, ki so določene s kompleksno so sheme, ki definirajo povezavo takih sistemov v celoto instrukcijsko množico. S stališča instrukcijskega proce- enostavne, organlzacija sistemov pa je preprosta. Kadar sorja, je izvršilni procesor samo razmeroma zmogljiv pa je potrebno za implementacijo izdelati modele kom- operator, ki mu instrukcijski procesor posreduje kodo pleksnih arhitektur, pa je takšna naloga znatno težavnej- zahtevane operacije in vrednosti parametrov (operande). ša. Pogosto imajo dominanten vpliv na organizacijo' take- izvršilni procesor pa vrne rezultat zahtevane operacije. ga modela zahteve po performansah. Analiza instrukcijske množice pokaže, da mora biti izvr- . V našem primeru smo izdelali model organizacije izvr^- šilni procesor univerzalnega tipa, da prevladujejo trl ope- šilnega procesorja, ki izvaja operacije določene s kom- randne operacije in da je potrebna interpretacija večine pleksno instrukcijsko množico VAX arhitekture. Global- operacij, ki so specificirane s kompleksno instrukcijsko ni tnodel sistema je namreč takšen, da predvideva delitev množico. operacij na instrukcijski in izvršilni del. Pri tem ima in- Na podlagi opisanih lastnosti lahko definiramo začetne strukcijski del sistema nalogo strežbe izvršilnemu proce- približke k organizaciji izvršilnega procesorja. Tako lah- sorju, ki izvaja zahtevane operacije. Osnovna naloga in- ko prvi zahtevi po univerzalnosti priredimo operator uni- strukcijskega procesorja (strežba) definira lastnost in- verzalnega tipa, trioperandni tip operacij pa ponazprimo strukcijskega dela, ki je vhodno-izhodno intenziven. Med- po sliki 1.1. tem pa je izvršilni del (izvajanje operacij) operacijsko Oznake na sllki 1.1 pomenijo: (ntenziven. src 1 - prvi operand V nadaljevanju podajamo potek snovanja organlzacije iz- src 2 - drugi operand vršilnega procesorja. Op - univerzalni operator dst - tretji operand (rezultat). 16

elementl množice E, poskrbeti za selekcijo ustreznlh operacij iz E. Če takšno sekvenco ponazorimo kot niz (e.) moramo v vsaketn koraku iz množice E izbrati rav- no tisto operacljo, ki jo zahteva pripadajoči elemenf ope- . dst — srcl.0p.src2 racijskega niza. .. :

Začetni približek za takšnp operacijo selekcije podaja

slika 1.3.

Slika 1.1: Začetni približek k organizaciji izvršilnega procesorja

Shema na sliki 1.1 izpolnjuje samp prvi dve zahtevi iz naše specifikacije. Zahteva po interpretaciji operacij Op = {.Op. |i = 1, 2,' ..., n} namreč predpostavlja, da lahko poljubno operacijo Op iz instrukcijske množice in- terpretiramo deloma ali v celoti z operacijami iz mno- žice elementarnlh operacij E = { e. |j = 1, 2,1..., m] . Slika 1.3: Začetni približek k selekciji operacij iz E Sedaj lahko shemo na sliki 1.1 dopolnimo tako, kot to Če posameznim elementom množlce E priredlmo selek- podaja sllka 1.2. cijske kode sel i=l ,2,... ,m latiko zapišemo tudi začetno krmilno enačbo selekcijske operacije

izbrana operacija = sell Ae.VseLAeA/ ... sel Ae . 1 2 2 m m kjer velja: i £ {l, 2,... ,m J , jfc^l,2,...,m},

(ViVj) — sel Asel. .

Za izpplnjevanje performančnih zahtev takega operatorja, je potrebno grupiranje operacij iz E v tri osnovne skupi- ne: osnpvne aritmetične in logične pperacijej pperacije ppmika, rptacije, maskiranja in ekstrakcije; operaclje množenja. Šele tako lahko izpplnimp časovne zahteve, Slika 1.2: Dopolnjen mpdel, ki omogoča interpretacijo saj zahteva vsaka skupina operacij speclfično prganizaci- operacij jo pripadajpčega pperatorja. Sedaj velja: Oznake na šliki 1.2 pomenijo: . E = rpt U mul U alu sel - selektorska operacija, ki izbere za pperacijo ope- rand iz src k ali tmp kjer je: tmp - nabor parametrov, ki omogočajo interpretacijo rot - skupina operacij pomika, rotacije ... ' operacij iz Op. tmp ={tmp j e=l ,2,..'. ,qj mul - skupina operacij mnpženja S tem, dasmo operacije iz 6p hadomestili z operacija- alu - skupina psnovnih aritmetičnih in logičnih operacij. mi iz E smo seveda predpostavili hek krmilni mehanizem, Ker se lahko v sistemski časovni enptl izvede naenkrat : ki poskrbi, da seoperačijeiz Op interpretirajo z opera- samo ena operacija iz izbrane skupine operacij lahko cijami iz E. Po predpostavki lahko tedaj operacijo Op. po- tnodel krmiljenja že nekoliko dopolnimo po sliki 1.4. nazorimo z eno ali več alternatlvnimi sekvencami, ki ses- tojijo iz operacij {e.} . . Sekvencioniranje ope- Oznake na slikl poinenijo: . r racij iz E, tako da bodo ponazorile operacije iz Op, pa {Tj |i= I, 2,...,-o\ = rot je naloga krmilnega mehanizma; ki ga bomo clelinirnli kasneje. • ' (in^l k = l,2,...,qj = tnul

{a I 1= 1,2 P} =alu. Pri takšnem konceptu moramo tedaj za vsako o[X)racijo t Opj, kl jo speciflcira ustrezna sekvenca sestavljena z 16

• SHka 1.4: Podrobnejša krmilna shema za izbiro operacije

Glede nasliko 1.4 lahko prilagodimo tudi krmilno enačbo, v + t saj smo vpeljali dva nivoja selekcije. mul

Izbrana skupina operacij = sel 1. sk.ArotV alu Vsel 2. sk. AmulVsel. 3. sk.Aalu 4 — rot [ m ikroins trukci j a sel - sel i. sk. - izbira skupine operacij Slika 1.5: Zgradba polja mikroinstrukcije izbrana operacija 1. sk. = sel 1 Ar V sel 2Ar V .... osnovne karakteristike snovanja univerzalnega operator- ... Vsel oAr o ja že zajeli. rn se izbrana operacija 2. sk. = sel lA 1V l 2Am V ... 2. DEFINICIJA INTERNE POMNILNE STRUKTURE ... Vsel IZVRŠILNEGA PROCESORJA izbrana operacija 3. sk. = sel 1 Aa^V/ sel 2Aa V ... Za izpeljavo interne pomnilne strukture izvršilnega pro-

... Vsel pAa cesorja vzamemo model izvršilnega procesorja, kt ga pbdaja slika 2.1. V celoti pa velja: Pomen oznak je: izbrana operacija = sel 1. sk. A(sellAr V ... M, R - pomnilna struktura v katero vpisuje operande ... VseloAr ) o instrukcijski procesor sel 2.sk.A(sell m V---Vsel qAm ) W - pomnilna struktura v katero vpisuje rezultate izvršilni procesor sel 3.sk.A(sellAa V...VselpAa ) 1 p Čeprav je shema pomnilne strukture na vldez nepregled- Omenimo, da lahko takšno enačbo realiziramo z bralni- na, laliko krmilni sistem zelo jasno definiramo. Triope- mi potnnilniki. Tako definirana krmilna enačba ima tudi randni tip operacij namreč zahteva v enem strojnem ci- zanimivo lastnost s stališča mikroprogramske realizaci- klu tri adrese operandov ln sicer v začetku strojnega je. V mikroinstrukcijo lahko namreč vpeljemo vertikalno cikla čitanje do dveh lzvornih operandov in ob koncu funkcionalnost polj po sliki 1.5. strojnega cikla destinacijsko adreso rezultata. Tako lah- S tem smo tudi utemeljili enakost selekcijskih kod sel ko pomnilni strukturi priredimo trladresnl pomnilnlk iz v operacijskih skupinah alu, mul, rot. katerega lahko hkrati beremo do clva operanda, vanj pa

Čeprav razgradnja modela s tem še rii zaključena, smo vpišemo en operand. Operacije pomnilne strukture defi- 17

shemo interne pomnilne strukture. Krmilni enačbi A in B strani se glasita:

Operacija A = sel 1AR Vsel 2ARAV ...Vsel nAR. A A A = R A (sel lVsel 2V ...Vsel n) A

Operacija B = sei 1 A(RnVW )v sel 2A(RDV W )V ...

...Vsel nA(RBV«B)

= (RoVWn)A(sel lVsel 2V...Vseln). Ker imamo opravka s tremi strukturami M, R, tmp, W definiramo nad vsako strukturo naslednje operacije:

W-WQ. ...

Da preprečimo hkraten vpis in čitanje postavimo: WE - odobreno čitanje, WE - odobren vpis.

Sedaj lahko krmilni enačbi zapišemo določneje:

operacija A = WEA sel M,R A(sellVsel2V ... Vsel p)

VWEAsel tmpAA(sellVsel2V... Vsel q)

operacija B = VEAsel M, R A(sellVsel2V ...Vsel p) Slika 2.1: Organizacija izvršilnega procesorja

VVEAsel tmpDA(sellVsel2V... Vsel q) niramo takole: sel tmpn A(sellVsel2V...Vsel q) D read"A, read B = R AB - VWEAsel WriA(sellVael2V ... Vsel r) read A B Slika 2.3 podaja tako definirano krmilno štrukturo pom- read B = RR D write B = nilnika izvršilnega procesorja. B Organizacijo interne pomnilne strukture podaja slika 2.4, Ker se čitanje in vpis časovno ne prekrivata, lahkp pre- tako kot jo vidi izvršilni procesor. ko adresne strukture B krmilimo čitanje in vpis opera- clj. kar nekoliko poenostavi strukturo pomnllnika. Po- Razgradnja interne pomnilne strukture izvršilnega proce- mnilno strukturo lahko tedaj ponazorimo kot n zapored- sorja s tem še ni žaključena, vendar pa že dosedanji po- nih lokacij. določenih z adresami. Nad vsako lokacijo stopek dovolj dobro ilustrira potek snovanja.

lahko izvedemo operacijo čitanja ali vpisa. Zgoraj defiT 3. ORGANIZACIJA KRMILNE ENOTE IZVRŠILNEGA riiramo množico operacij nad lokacijami .pomnilnika oz- PfiOCESORJA načimo s Pp. Slika 2.2 podaja tedaj predlagano krmilno Organizacijo krmllne enote izvršilnega procesorja dolo- čimo s pomočjo analize lastnosti diagramov poteka, ki opisujejo operacije, speciftcirane z instrukcijsko množi- co. Diagrami poteka predstavljajo mikroprograme zapl- sane na registerskem nivoju v meta jezlku. Osnovna zna- čilnost mikroprogramov je velika razvejanost. Zaradl ča- sovnih zahtev je potrebno vejitve na eno izmed več mož- nih paralelnih vej izvesti v enetn strojnem ciklu.

Naslednja značilnost je, da se identične skupine'mikro- operacij pogosto ponavljajo v mikroprogramih sicer raz- licnlh instrukcij, kar omogoča definiranje prifnernih ma- kroukazov ali podprogramov. Operacije v zankah so si-

Slika 2.2: Krmilna struktura pomnUnika cer v našem primeru rnanj pogoste, vendar se zaradi ča- 18

WE WE

WE

Slika 2.3: Krmilna struktura pomnilnika izvršilnega procesorja

vhod B nje mikrolnstrukcije v splošnem ni enollčno določena. Zato si prizadevamo mikroprogramskt pomnllnik otganl- zirati tako, da bi bilo možno vnaprej prebrati vse mikro- instrukcije, ki so možne naslednice mikroinstrukcije v izvajanju.

Prvidel naloge torej zahteva, da vsaki mlkroinstrukciji v izvajanju določimo množlco možnih naslednjih mikro- instrukcij. Drugi del naloge pa zahteva. da na podlagl statusov, ki se postavljo med izvajanjem tekože mlkro- instrukcije, izvedemo selekcijo izbrane mlkroinstrukci- izhod A izhod B je iz prebrane množice mikroinstrukcij. Takšno nalogo Slika 2.4: Organizacija interne pomnilne strukture je možno rešiti s prtmernim asoclativnim pomnilnlkom. izvršilnega procesorja V našem primeru smo ugotovili, da imajo vejitve na do sovnih zahtev izkaže smotrna realizacija zančnega meha- štiri možne veje mnogo višjo frekvenco, kot vejitvo na nlzma, ki omogoča tudi vgnezditev zanke. več kot štiri možne veje. Zato se odločimo, da vejitve Zaradi razvejanosti mikroprogramov tedaj adresa nasled- na do štiri možne veje realiziramo s paralelnim branjem 19

štirih mlkroinstrukcij, vejitve na več kot štiri veje pa izbira m = sel lAm.V sel 2 A m2V • • • '• klasično z modificiranjem naslednje adrese mikroinstruk- sel i Am.V .. .V sel t Am . . cije z ALI funkcljo, vendar samo do štiri mikroinstruk- Doslej razvit krmilni model mikroprogramske krmilne cije natančno. Dokončna selekcija se opravi enako kot v enote podaja slika 3.3. primeru vejitve na eno izmed štirih možnih vej. Za izbiro m ikroinstrukcij znotraj mikroprograma izbere- Izhodiščno krmilno shemp mikroprogramirane krmilne mo princlp "next" polja v mikroinstrukclji. Iz slike 3.3 enote podaja sllka 3.1. lahko razberemo zanimivo lastnost takega načina izblre naslednje mikroinstrukcije. Z izbiro mikroprograma M omejimo gibanje kazalca, ki izbira mikroinstrukcije na razmeroma omejeno področje lokacij mikroprogramske- ga pomnilnika. Iz tega pa sledi, da je lahko velikost "next" polja znatno krajša od dolžine celotnega adresnega prostora mikroprogramskega pomnilnika. Pri tem je zna- čilna naslednja lastnost takega pristopa: za izbiro mikro- programa lahko updrabimo identični rnehanizem, kot ve- lja za vejitvfeni krmilnik na nižjem abstraktnem nivoju (nivo mikroinstrukcij v izbranem mikroprogramu). Slika 3.1: Izhodiščni model rnikroprogramirahe krmilne enote Mehanizem razvijemo v poslošeni obliki. Adreso ponazorimo kot binarni vektor: Začetna predpostavka je, da je mikroprogramov toliko, kot je operacij v množici operacij Op. Na podlagi slike A=

A = 1BA1 1PA, kjer je . operacija konkatenacije nlzov

lBA=

iPA-* Glede na izhodlščne predpostavke tega razdelka opisani . postopek tvorbe adrese za vejitveni krmilnik v našem pri- meru nekoliko dopolnimo. Bazna adresa ima v našem pri- meru naslednjo obliko: Slika 3.2: Izbira mikrolnstrukcij v mikroprogramu BA= . Pravila, po katerih se izbirajo mikroinstrukcije, določi- Izbiro mikroinstrukcije, do štiri mikroinstrukcije natan- mo sami. * čno podaja prvi pomik: Krmilna enačba za sliko 3.2 se glasi: 1PA =<0, 0, ..., 0, a5, a4, a^, a^, 0, 0> , 20

Slika 3.3: Model mlkroprogramske krmilne enote izvršilnega procesorja dokončno izbiro mlkroinstrukctje pa določa drugi pomik OU - AU funkcija (izbira ene izmed štirih pomnilnih niatrik) : M - mikroprogramski pomiiHniki sel - operacija selekcije 2PA= <0, 0 0, Bj, aQ> . I5 - prekrivalni register Izvedbo tako zasnovane mikroprogramske krmilne enote Op - univorzalni operator podaja slika 3.4. V - krmilnik vejitev

Kazgrarinja mikroprogramske krinilne enote s tem še ni zaključena, podane pa so osnovne karakteristike xa naš primer.

4. SEUJKTORSKA OPEHACUA

Healizacija selekcijske operactje: sel (sel . koda): sel 1 —- operacija 1 (mikroprogram 1, mlkroinstriik- cija 1, ... ) sol2 —- operacija 2 ( )

selri —- operacija n ( )

izvedemo s |x>rnočjo izraza:

. izbira = sel I Am y sel2 Ani^v ... yseln Am

V ssgornjein izrazu je:

mi-

binarni voktor, kjor je:

Uj6 {0, 1} . Slika 3.4: Organizacija mlkroprogramske krrnilne enote lzvršilnega procesorja sel. kada je preslikava dofinirana takole: sel. koda: sel. —• Oznake na sliki 3.4 pomenijo: S - sekvencer adres mlkroinstrukclj 21

sel.koda: Zaradi interpretacije teh operacij z bolj elementarnimi. operacijami, smo blli prisiljeni definirati lokalne para- kjer je: metre, katerih vrednosti hrani delovni pomnilnik. Posle- in dica interpretacije je tudi mikroprogramska krmilna eno-

Selekcijsko kodo pdgosto zapišemo kot logični produkt ele- ta, ki je za programerja na nivoju kompleksne instr.ukcij- mentov s pb zahtevi, da je lahko pravilen en sam produkt skemnožice nevidna. v selektorski operaciji. ' • .« Ilustriran postopek snovanja je bil uporabljen pri izdelavl

: Zgled: ; • ... • -. . • ; ''; '/ •,. .'• -. /' ' modela za celotni 32-bitni računalniški sistetn, ki izvaja Izbiro mikroinstrukcije rn. v rnikroprogramu M. izveileino kompleksno instrukcijsko množico.

takole: •. • \ ••.-, ': . . . . Osnovna prednost predlaganega postopka snovanja so mno- sel. koda = 1 za mtkroinstrukcijo m.. go krajši časi snovanja, pregledna struktura sistema in vecja zanesljivost realizacije, saj je nevamost neodkritih Za vse ostale mikroinstrukcije iz M. - { m } ima selek- napak mnogo manjša kbt pri klasičnih postopkih snovanja. cijska koda vrednost 0. Tedaj lahko zapišemo:

izbraria m. = 0 Am. V 0Am;v • • • V 1A m.v • • • VOAm 6. LITEKATURA "

izbrana m. - \/\m. '••-'. '". '. ' 1. M. Gerkeš, M. Družovec, M. Pernek: Aplikacija bipolarnega mikroprocesorja, poročilo o delu za le- izbrana m. = m. : . • ' l i • . . . • • • • to 1983, raziskovalna naloga št. 03-2570/796r83, Izbranaml" ^a-Vl'•>;'-Ul'Uo>i'" ',' Visoka tehniška šola, VTO Elektrotehnika, Maribor

1983. •. ; 5. ZAKLJUČEK . . . •

2. S. P. Kartashev, S. I. Kartashev, eds.: Designing Postopek navzdolnjega snovanja je ilustriran na primeru and Programming Moderri Computers and Systems, implementacije izvršilnega procesorja, ki izvaja opera- Vol. 1 LSI Modular Computer Systems, Prentice- cije določene s koinpleksno instrukcijsko množico. Za po- -Hall, Inc, Englewood Cliffs, N. J., 1982 nazorltev rezultatov so upoi-abljeni usmerjeni grafi in matematična logika. . i • ' .3. J.K.Iliffe: Advanced Computer Design, Prentice-Hall International, Inc., London, 1982 Izhodiščni približek je bil, da lahko model procesorja specificiramo s-selektorsko operacijo, ki ma toliko vej, kot je instrukcij. Vsaka veja takp realizira eno izrned operacij specificiranili s kompleksno inštrukcijsko mno- žico. • . . . . INFORMATICA 1/1984

PROGRAMSKI JEZIK PASCAL I MATJAŽGAMS(I), IVAN BRATKO (2,1), VLADIMIR BATAGELJ (3), ROBERTREINHARDK1), MARKMARTINEC(I), MARJANŠPEGEL(I), UDK: 519.682.8 PETERTANCIG (1)

(1) INSTITUT,,JOŽEFSTEFAN"f UUBLJANA (2) FAKULTETA ZA ELEKTROTEHNIKO, UNIVERZA EDVARDA KARDELJA, LJUBLJANA (3) FAKULTETAZANAROSLOVJEINTEHNOLOGIJO, UNIVERZA EDVARDA KARDEUA, LJUBLJANA

V flanku je ODisano mesto nrogPamskega jezika Pascnla ilede ns ostale višje progpamske jezike. Opisani so značilni predstavniki najholi Domembnih skupin nrooramskih iezikov in polebej alqoritmični jeziki* kamor uvrščamo tudi (-ascal. Sledi kratek onis zgoriovine Pascnla in zaključna r>ri"

ppogpanming L»nguaqe Pascal I- (eompari si on with other progpaiiming languages). Tne ppogpamming Isnguage Pascal is eomoaPed to othep Mgh Level npogpnmming langunoss. Ppoqpam»if>a language« are rtevided Into most important grouos and on# PepresentntIve ot eaeh group is wery shortly riescpihed. Special eaPe is devoted to "algopithmic" languages. Finally some conc lusions ape dpa«n. Thpoughout the piner the emphasis 1s on the human engineeping side.

1. Uvod 2.1. Skupine visokih progpamskiH

Ppoqpan

Tud1 drugi razlogi «o botrovaU nastanku teqa objektrH j. SM4LLTALK ilanka. npp. zirotne trditve v Htepaturi/ da )* Pascal ppimapen predvs#m za učenje^ ali Slika 1. Skupine Droqran»kih iezikov. »apsikatera neutemslierta kritika v stpokovni litepaturi. Po dpugi ttpani pa « nekatepih (*)' Tudi r>onor» izvedenka* »trannot/ okoliih prevladuje pretirano navdušenje ilede "black hole". Pascala. Pomembno je dtjttvo, da Pascat (upravičeno) orevladuje v sloven. osnovno merilo zn pazdelitev je fezikov v skupine. StiH programir«njs *o naiin izraianfa oz. oblikovanja ideje v opisani hkrati z opisoir »kupin. Skunine so v delufoto kodo. veliki mtri ppivzete po /4/. Prf vsaki 23

skupinf 1e oeenjen na)boij značHen lezik in PROLOG primerjava s P»scalom. Veli« naslednje: cone ( ], X,X). -Vsaka skupina jezikov je za določeno Dodročje conc ([XllaU],r, [XIZ]> :- concdail, boti prinerna kot druqa skupina. -V Pascalu lahko z nekaterfmi SDremembami Pascal (naičešče s spremenbo stila proqramirania orocedure Conc(x,y: tipSeznnn; var(itipSainaii) in naboron podorogramov v knjižnjiCBh) dokaj 8EGIN uspešno konkuriramo nekatePim jezikom. IF x * pil THEN z :• y ELSE 2.2. Opis najbolj značHnih nealgoHtmiinih BEG1N , jezi kov Corie(xf.next/ y, z); Oodn)VSeznam(xt.vsebinx, z> APL temelji na END • ' konverzaeiiski interakciji preko posebpega ENO;<*Conc*) terminala. Mastal j* okoU šestdpsetih let. Je funkcijski jezik z obsežrcim naborom PROLOG uporabhih podprograno«/. APL ima goreče mewbep(X,Z) :- cone (L1, Jx |L2 ],Z) . nasprotnike in zaoovopnike. Zagovorniki trdiio, da so bistveno boli produktivni/ kadar Pa*cal uoorabliajo ta jezik /5/. Nasnrotriiki trdiio' FUNCTION Member(x: 11pE lement; z: tioSeznam) s -i» je jezik popolnoma neprealerien. Po mnenju boolean; nekaterih 9trokovnjakov )e mogoče podoupo produktivnost doseči v večini 0Lqoritmičnih IF z = nil THtN Membep := fntse jezikov^ če uoorabljamo knjiznjice z ustreznim ELSE IF 1 > zf.v»ebina 1HE.N Kemhep := tpus n^borom podprogramov. APL na i>ry1 pogled ELSE-hemher :« Mpmber FM-^-FUN MIU Element "X" je član seznana "Z", kadar lnhko zrlpuzimo nuk sp.znam "L1" in seznat«, ki )e sestavlien 1z elementa "X" in.seznama "L

poripira funkciisko ppogrami ranj e /?'• SNOBOL (StPino Opiented Symboli,c LHnqu»(ji») ie ki pa qa po nažern mnenjulahko v velik^i merf vzopčni iezik/12/. Nnstajal ie koncem unorabljai"O tudi v Pascalu. Funkeijsko Sestdesetih iet. Noupjie vapinnte SNOROLa so oroarami ran je je stil oz. nač in . pronrarni ran j a SPUHOI , Sirnoi. in FAS80L. Sfi'0'IOL omoaoča tako kut npr. strukturirano aM ooiektno asociativno in vtorcno • nroaraniranje, oroaraciranie. Zelo preprosto novedflnb je Poqleimo si prineip vzorčneo« nroqra»iranja « funkcijs1"5 proqran>1 ranie tako, da prevladujeio SNOHOLn: funkcije/ oziroma vrpdnotenje in ne U 'l' JPtAK('+,-') » "FIRST* : S(SEM) FCTJA) nrireditveni stavH kot v običajnem Zqopn1i stavek nrebareno tckole i te ie post opkovnern nrogrami ran j u. Ponlpjmo s1 na v sppemenl j i vk i "ti" (tipn niz) pojfivi vzorec, prenrostem .ppimeru stil funke1jskeoe ki se začnp s drko "Z" in mu sle'H ncliuhno orogramiranj a: itevilo znakov do znaka "•" aU "-", eeloten vzopec zameniano.z ni/om "FIHSf" 1n izvaianie oadaljuiemo n» oznani "SKM". fe viorca v IF HaRobnDospoa(letalo) spretentiivki "U" nc najrtemo, ie izvajanj'? THEN Sopozionozorilo(letalo) prenese nn "rjA". FLSE IF 7notPBjnoseoa(tpta lo) THfH IT Uenajavljeno(letalo) S PascalsMm iipevaialnikom, ki 'i o n u š f ^ THEIi Sproz 1 A larm( letalo) sppeoenljivo ^oliino polj 1fna polja), ELSe iF Neznanol pteceVozi lo< lr»talo) npr. kot v novem 1S0 stlu/22/* lanko THEM SproziPoizvefibo(stab) dokai uso«»Sno konkupiramo SllOHOLu. ELSE cont inue;

SMALLTALK je objektni jezik aU holie peieno Na tak nečin lahko nrogpamfrairn npecpj nodobno sistem. SMALLrAL" je del sistPma, ki je kot M funkcijsHh Jezikih, kaP p» Pi»scal ni. nastal kbt roziskovslni ppoiekt osehnih Ppav tako Pascal nimfl mnbžice uqodnih tastnosH LlSPa* npp. ndobneoa procesipanja raiunalnikov (Dyn«book» /13/. Te pnziskava seznaroov. imajo vclik vnl.1v na rnzvnj n4Jmoclepn«i$ih osebnih računalniko«. Za VSP t<» sistenp je znafilno, da so moino povezani s celotnim proqra»skim okollt«/ k1 jp v Pascalu PR0L06 1e novejši iezik umetne h sernamov.ln za upotavl Jani« Pazlfčnih tipov). ilporabnik pn^lje obiektu vsebovanosti elementa v »eznainu: spopočilo in objekt izvrii oppauHlo sem ali 24

tako/ ria rtpugim ohjektom pošlle sporoiila. 8ASIC (Meqinner's ALL-purpose Svmoolic PoleT aktiunosti in komunikacije je Domembna Instruction Code) so razvHi iPta 1965 kot tastncst dedovanie o*. daljivost. NH primsp, enostauen iezik za udenje proarami ran i.i ln kot zemlia 1n po»>aranča sta okrnijli in imata stopnUko do FOMTHANa \n AlfioLn. MASIC 1*8 skupni vs« lastnosti, ki pMpadajo lastnosH klj"b svoji rclativni skromposti pomembno "ok roqlost". vloqo v računalništv/u kot Ipzik za poqovorno delo (intppok t i vnost) in v zaiinjih letih Stil objektneqa ppooramiranja 1* la Paecal zapadi svoje majhnostl 1n preprostostt kot orecei nepri mi>ren* čepra« imn vpUka veiina tezik za domnčp računaInike. lezikov vsaj nekai obiektne")a. Po /14/ je proqramiranje objektno usmprjena matematika in PL/1 (ppoqpamning Lannuaqe One) jp na«tajal v nateroatika vrednostno usraerjeno programiranje. letih 1V6U - 1965. Prvi pppvaintnik je postal Pascalski zapis (record) ima nekai iBstnosti dostopon po letu 66. V t'L/1 »o upoštevane objektov, vpndar ne podRira ob.jektnega izkuinje FORTRANa, AlbOLa/ COMOLa, itd., torei proora*!ranja. Okviri (frame) v LISPu 90 je jezik s Sirokim podroijen upopabp ip tudi v/eliko hližje pojmu objekta. primerno močnimi konstrukti. V PL/1 ie vse/ kar SP 6n razumeti/ tud1 dovoH*nOs zato 2.3. Onis značilnih alqor i tn) £n i h jezikov poskušn razuireti turii napske. PL/1 podpiP« FOM in to ie uerjetpo todi eriep ori virokov za sf razvoj algor1tmičnih jezikov: precejSnjo razsirjepnst teqa lezikn.

ALGOL-60 ALG0L-A8

PASCAL

ADA

55-60

SUka i. Razvoj alqori tmični h jezikov.

Ha sliki razvoj alnoritmičnih L je nastil« kot iez1kov. SUka je prevzet« pr«težno po /15/. Kmato )o je oadompstUa nrecei noli rtOOULA-i /16,17/. KDCUl. A-»! i " . «»t nann« k i FO«TRAM 1 k i h . orewaian1p matemntiČMh postopkov v Jezik je aefiniral N. wipth/ imnlementirap j« radunaln.<ške programe. Prvotno zelo enostavni bi l Letn 1Vdft. verziji so se kmalu pridruiite izpeljanku: FOSTRAM II, III in IV. FOKTRAN je *e okoli AOA (Ada Aunusta l.ov/elar.p - leta 1V60 postal zelo pazširlen (ezik. Leta poiunalništva) ie jezik, katereo« iziielavo je 1VAA sta bil« sprei«ta rtva standarda za naroHl DOK (Pepartmpnt of 0<>tPnsp># to i« FUHTRAN, ki pr-ibHino odoouarjata FOKTKAMu II ameriško obratrhno ministPStvo. AI>1 nai hi bil in FOMTRANu IV. V zaoniih letih so se "jezik vspn iezikou torei n>ti ni h i l z»lo oo(awHi še FORrRAH V, FOHTUAN 77 in cela šipoko uiioralj l j an» vspm pri nump r i čn i h vrsta "strukturiranih" FOHTRANov. FOKIRAN se nalon^h, sistfsken iiroaraniranjij

so ga iZDoririvaH Ieziki, zg tater za numerične natogp la znanstvenp raziskaue. bolj "naravffn" - portoben naraunemu jeziku COHOl se uporablia prertvsem za noilovne >. Ta lastnost naj bi omoqoJ«la apLikacije/ nASIf p=i za učenje in enostnvne J »amodokumentiranost ppoopsmov 1n noslovnc aplikaeije. ln vse tri lezike je tudi pr«v*pljivost s »tPani nepponramep)ew, značilno/ da se Pojavljoio Cednljp iioveis« npr. vodstvenih delavcev. Co»»L in FOHTRAN izpeljante teh jezikov/ ki v veliKi meri sts ie vedno naibolj uporabljana Rpo.iramska jo konttpukte/ ki podpiraio iez i ka. st ruktur i rano nrocjrami ranje kot v Pasc-lu. Ti jezlka> vendar brez kon£ni>'ga"~ rezut tata /22/. ieziki so prpcej enakovredni Pascalu/ čeprov Naiteiiro nekaj dobrih lastnosti Psscala večina proqran>pri e»< ki so tiali časa /15/23/: proaramirali v katerei" koli ompnjpnih treh -majnen in prenoslii« pre«aja lnik» zato se iezikov 1n Pascatu/ raisi proqraii1ra v lahko uporablja na mini 1n imoolii«e14ih Pascalu. Pascal nitia tako obsežnega nabora mtkro rašunalnikih stapdardnih podproiranov kot FOMTHAM* vendar -dobra/ enostavna in razumljiva literatura. o ie v standardu določena možnost klicania Pascalu podDroqramov V FORTRANu. CORul ina pred -majhen in udoben jezik t malo rezeruiraniiM Pascalom to prednost/ da Ima datoteke z besedami, malim številom sintaktičnih in direktnim d09eoon>/ indeksno sekvencialn« semant ifnih pravil in z malo izjernanii/ dat.oteke in tepe možnosti f ormat i rani a zapisov zatorpj čista in učinkovita knnilna (1/0). Glavna prednost BAŠICA ie njepova struktura/ k 1 H«i«» občutek zanes l i i vos 11 » ooenostavljenost in interakt1vna usmerjenost. upor»bnik se lahko nauči in obdrži v spomiriu 7.ato nav/erienih noroank l ji vos 11 1e Paacal brez vse znaiilnosti jeziki) rtodatkov qlede ha omenjpne jezike manj -dotare metoae ••» t rnktup 1 ran j a portatkov orimeren za nekatore poslovne aplikadie in ta -dovoli nočni kontrolni in podatkovni •nanj vešže uporahnike. kon9trukti» da owogočaio udobno in nitro qi Prvi jezik/ ki je bil narejen kot Tiočnejši -onionoča dobro nrpqtednost in razne stile brat sorodneqa • jezik8/ pa je doživel rtoknj proqramirania (hpr. s strukturiraniem ali žalostno usodo/ ie bil ALGOI.-68. Danes se brez/ i td.) talo uporanli«/ čeprav se poiavlinjo znaM ojivlianja. la jezik je nastal kot izpelinnka Nameni pačrtovalcev Pascala /15/23/: AlGOLa-6l> tako/ dn je bil bistveno snnsobnejši -vetika učinkouitost nai bi bila dosezena 8 in 6wobodnej51 viiraianju. To na je vodHo v iimveč kontrola"! v dasu prevajanja in s^mo zeto obseine in počasne orevaialnike/ v nujoo potrebnimi v času izv/ajanii>pr1jetno proqran>1 ra t i »z i. Zgodovina in kratek opis Pascala tph lastnoBti. Primprjajmo rccimo udobnost PROLOGovpna debuqqprja ali I. ISPovo proor«m9ko Pascal ie algoritmični proqramski j*zik okolje » l i HASICovo interak 11 vno9 t in uirleli slgolskeqa tipa. Med neposrerine orpdhodnike bon^o/ da ima tu Pascal ie veliko Pascala lahko Jtejemo Alpol AU in A tqo l w. nei Jkor i Sčenih mojnosti. »aljrta bodočnost pa Psscal j* v celoti razvil prof. u. Wjrth/ bo vorjptno prinesl« kai nov<"ia/ veriftno tako id*jno kot Hmplementaci1sko. PrvV nekaj izupn »kurine a Iqor1 tmi t. i\i h jezikov. prevajalnik je nastal Leta 1V69 / ?1 /. IzSlo •ooojf bo ta jezik w marsičem podobe" 1e že nekaj oredlooov za standarizaciio t eme l inetno ipziku lanonske pete račiinalnikov. 26

12.l».u.Maurer : Tie Proortminer' s (nt roituctfon 5. Literatura to SMOHOL/ American Elsevier Puolish. Como.* 1976 1. A.I.w»sserman/S.Gutz : The Future of Pro- 13.8.J.MacLennnn : values and Ohjects \n qrammlnq/ CACM, Vol. 25/ Nom. 3/ ttr. Programnino Lan. 9* septerober 1962 seotpmber 1982 5. On APL and Producti \M ty/ CACM Forum/ CACM, 17.R.Cai l liau • A Lett«>r to Efiitor/ Ac*" SIGPLA<\I Vol. 24/ Num. 7/ str. 478 - 479/ juUj Notices, Vol. 17, Num. 12/ stp. 10 - 11/ 19B1 decemher 1982 6. J.McCarthy, etc: LISP 1.5 Proqrammep'» 1".A.P.2el«znikaP : Proqramirani* v AOI 1/ Manual/ |he 1.1.T. Press/ 19A2 Informatiea •(, str. 10 - Zi, 194 2 7. H.Herifan : The Function of Faster 19. A .H. že l ezn i k sr : Proora"i ran je v Ai)T 11/ Proqrarp»1nq, New Sdfntist 25/ str. 512 Informatica 4/ stp. 19 - M), 1982 - S1S/ nover>her 1982 20.H. F.l.edH»rn, A .Si nmr : Scalin-i l80 ZI.N.kMrth : The Oesign of a 1'ascal Coimiter( 9. R.Kowalskl : Alqorithu = Loqic' + Control« Sottwape Ppactice aod Expppii»nce/ 1/ stp. C»CM/ yol. 22/ Nu». 7/ str. 572 - >9S/ 179? 3IIV - 3.M, 1971 10.o.A.waterman/F.Hayes-Roth : An 0werv1ew o( 22.Second nraft npoposal ISD/DP 7185 Patt«rn-0irscted Inference Sy»tem»» SDec i 11 cnt ion fop tne Computep PrO'irB*»in^ Academic Press/ 1V78 Lanpuane - "sical/ Pascal HewS/ nu». 2J/ 11.i1.Gams : Pomen 1n vloq« znanja v sistemU dece»h«r 1980 za fnterdlfc-i jo z uporabnikom/ naqi8terskc 2i.K. Jensen/iJ.Wi pth : Pascal,nser Hnnu^l an-i delo/ iunij 19U2 Heoort, Sppingep Veplnq/ 1978 24.Penchirark test ns Ouicksortii/ Snecial Softuope Limited/ Infopfiatica i, str. 77, I9o2

nee/M.Speijel/P.Taneio : PPnoraiisH iez< II (noorobneHa inalita nomank l { t vos t < Hascala)/ v pMnpavi INFORMATICA 1/1984

ALGOL 60 ZA SISTEM CP/M II

A. P. 2ELEZNIKAR

UDK: 681.06 Algoi 60: 519.682 ISKRA DELTA, LJUBLJANA

Članek opisuje vhodne/izhodne procedure, izbiro vhoda/izhoda, zapi- ranje in brisanje zbirk, vhodne/izhodne podporne rutine, neposreden vhod/izhod v pomnilnik in iz pomnilnika, naključni zbirčni dostop, knjižnične procedure in vključevanje zunanjih algolskih (knjižnič- nih) zbirk v algolski tekst (program). Kot programirni primeri so opisani programi za kvadraturno ihtegriranje in izračunavanje vre- dnosti hermitskih, Čebiševskih, laguerrskih in legendrskih poli- nomov.

A CP/M System Algol 60 Language II . This article deals with input/output procedures, input/output se- lection, closing and deleting flles, lnput/output support routines, input/output directly to or from memory, random access files, li- brary procedures and library lnserts. Several programming examples are preserited for quadrature integration and value calculaiion of Hermitian, Chebishevian, Laguerrian, and Legendrian polynomials.

3.25. Vhodne/izhodne procedure REAL PROCEDURE read(dev); REAL PROCEDURE read(dev,label); Bere se število.s plavajočo vejico ali celo Za jezik Algol 60 ni bila strogo določena vho- število iz naprave dev. število ima prost dna/izhodna oblika; ta je prepuščena proizva- format in se konfia z znakom> ki ni del šte- jalcu prevajalnika, bila pa naj bi dovolj vse- vila. Decimalni eksponent začenja s firko E. stranska in zmogljiva. Vhodne/izhodne funkoije Ne upoštevajo se znaka SPACE, TAB in prazrie so zastopane z vrsto procedur, vgrajeriih v si- vrstice pred številom, drugi zhaki pa pov- stem časa izvajanja. Vhod/izhod mora biti peri- zročijo napako. Presledek končuje število z ferno neodvisen in povezan s številkaml podat- izjemo med E in eksponentnim poljem. Cela kovnih tokov oziroma naprav. V primerih nezbir-. števila se berejo brez zaokraževalnih napak, čno strukturiranih naprav (konzola, tiskalnik) brez decimalne pike ali eksponehtnega dela. je vhodna/izhodna operacija določena z ustreznp Pri branju zbirke z nežnano dolŽino se lahko številko podatkovnega toka. Te številke so po- uporabi druga (spodnja) oblika: na koncu jasnjene v Dodatku 5. V primeru diskovne zbirke zbirke se krmiljenje prenese na označitev je potreben določen dialog, s katerim odpremo 'label'. Prevajalnik ve, da je drugi parame- ali oblikujemo imenovano zbirko. Tu se ustrezne ter označitev ali označitveni izraz. Na kon- tokovrie številke priredijo dinamifino s siste- cu zbirke je navaden omejevalnik in skok se mom. Vhodne/izhodne procedure bomo opisali v ne izvrši, dokler branje ni opravljeno. Če nadaljnih odstavkih, zbrane pa so v Dodatku 2 ožnačitev ni dana v programu,- se v čašu tega članka ((12)). V diskovne zbirke bomo lah- izvajanja pojavi napaka, ko je dosežen konec ko dostopali zaporedno in naključno. zbirke. Primeri veljavnih številskih forma- tov so V vseh preddeklariranih V/I procedurah je prvi parameter tokovna številka, oznafieria z 'dev'. 0.123 +1.23E -3 -123 Irae 'val' označuje realno spremenljivko in 'ival' celoštevilsko. Ker je formalne parametre Bralna ruttna sprejme tudi formate, ki se mogoče klicati z vrednostjo, so dejanski para- nikdar ne pojavijo v izhodnih rutinah: metri lahko tudi izrazU Pretvorba med realno E -3 .123 -123. in celoštevllsko tvrednoštjo je avtomatična. Imamo: Lahko se pojavi potreba za branje izvirnlh PROCEDURE skip(dev); podatkov, ki vsebujejo komentarsko besedilo. Izdata se znaka CR in LF v napravo dev. Bralna rutina je lahko obveščena, da ne upo- števa znaka pred številom. Tu se uporabi INTEGER PROCEDURE chin(dev); poziv Bere se naslednji znak iz naprave dev. Re- zultat te procedure je vrednost zhaka. Pri ioc(18); diskovnem vhodu imamo na koncu zbirke znak CTRL-z. Posledica tega poziva je, da se števili 28

E -6 in .45 ioc(9) j Ta poziv postavi "manjkajoči znak presledka" bereta kot -6 in 45 (brez predhodnih zna- na ničlo (ASCII 0). Vodeče ničle se zaduši- kov). Stanje, v katerem komentarji nlso do- jo, število je levo poravnano. (Ničelni znak voljeni, dosežemo s pozivom je le past za rutino in se ne pošlje v izho^- dni tok.) ioc(l9) } Tretja skupina ioc pozivov ureja predstavitev (to je prvotno stanje). pozitivnih števil:

PROCEDU RE text(dev,"ni z"); ioc(ll); Ta procedura izda niz na napravo dev. Tu se Oporabi se trenutnl manjkajofii znak presled- lahko uporabi vrsta krmilnih znakov (glej ka (glej prejšnjo skupino ioc pozivov), ko odstavek 3.9). Niz je lahko tudi nizni para- se pričakuje pozitivni predznak. V zaŠetku meter procedure, ko imamo npr. je manjkajofii znak presledka presledek. Če se iocdUj uporabi za pozivom ioc(lO);, je PROCEDURE sporoeilo(s); STRING s; rezultat zadušitev znakovne sledi, ki je BEGIN text(l,s)> ... bila rezervirana za označitev pozitlvnega rezultata. PROCEDURE chout(dev,ival); Pošlje se en sam znak v napravo dev. Da bi ioc(12)i se poslal znak, mora biti uporabljena njego- Za označitev pozitivnega števila se natisne va ASCII vrednost. Pri tem se lahko uporabi znak '+'. tudi Opomba: Poziva rwrite in write se konfiata s ti- chout(1,&X)f skanjem "manjkajočega znaka presledka" (glej prejšnjo skupino 2 ioc pozivov) . Ta z-nak je ko se znak 'X ' odtisne na terminalu. v začetku postavljen kot presledek in rabi kot terminator za ločevanje izhoda, tako da PROCEDURE write(dev,ival)> ga je mogoče ponovno brati z bralno rutino. PROCEDURE write(dev,ival,osnova); Natlsne se ival kot celo število na napravi dev. Manjkajoče osnova je decimalna. Nebist- 3.26. Vhodna/lzhodna izblra veni znaki ae ne natisnejo. Za formatirano tiskanje se lahko uporabi funkcija rwrite. Tiskanje v oktalni in heksadecimalni obliki RML Algol omogoča uporabniku izbiro vhodnih/iz- je mogpče z uporabo tretjega parametra: hodnih zbirk in naprav iz programov ali s kon- zole tastature. Obstaja vmesnlk, v katerega se osnova := 0 decimalno vstavi V/I izbira z uporabo tokovne številke 7 osnova := 1 oktalno ali z ioc pozivi. Zaporedje dogodkov je takole osnova := 2 heksadecimalno sestavljeno:

Druge vrednosti osnove povzročijo napako v 1. Vstavi niz V/I izbire v vmesnik. času izvajanja. 2. Pokliči interpret ukaznega nlza za branje vsebine vmesnika in kopiraj niz ustrezno PROCEDURE rwrite(dev,val,a,b)( v "vhodno listo" in/ali v "izhodno li- PROCEDURE rwrite('dev,val) f sto". Na izhod dev se izda vrednost val v plavajo- 3. Pozlv preddeklarirane procedure "vhod" či vejici v tem formatui "a' je celotno šte- ali "izhod" prebere naslednji vstop v vilo znakov s predznakom in decimalno veji- "vhodno listo" ali "izhodno listo" in vr- co, 'b* pa je številp znakov za decimalno ne programu ustrezno tokovnp števllko, ko vejico. Pri a = 0 ae uporabi ekponenčni for- je odprl ali oblikoval potrebne zbirke. mat z b decimalnlmi številkami. Če je b =0, imamo formatirani celoštevilski izhod. Če Vhod iz toka 7 se shrani v vmesnik in je za sta a = 0 in b = 0, ali če sta izpuščena, program dosegljlv, ko se je pojavil znak pomika imamo navadni 6-mestni eksponenčni format. valja. Nepravilni znaki se lahko zbrišejo z u- porabo posebne tipke (rubout). S tokom 7 sta Vobfie lmamo tri skupine ioc pozivov. Prva sku- povezana dva kazalca, eden za vhod in drugi za pina povzroči operacije pri prevelikih vredno- izhod. Pri vmesniškem branju ali pisanju znakov stih lzhoda. Imamo tole: se vrednost uatreznega kazalca povečuje za 1. Ta kazalca se lahko zbrišeta (resetirata) z ioc(6) > uporabo teh pozivov: Ta rutina poskuša prilagoditi Stevilo tako, da pomika decimalno vejico. Če to nl mogoče, ioc(0)( uporabi eksponenčni format, ko dolžlna polja Zbriše se vsebina vhodnega kazalca. Poziv to dopušča, sicer pa izda vrstico zvezdic chin(7) bo sedaj vrnil vrednost prvega znaka "****", ki označuje preseganje območja Ste- v vmesniku. vila. ioc (1) } ioc(7) f Zbriše se vsebina izhodnega kazalca in vpiše Formatne spreraembe niso dovoljene. Če števi- se nizni terminator na prvo pozicijo vmesni- la ni mogoče prilagoditi, se natisne vrstica ka. Poziv chout(7,znak); bo postavil vred- zvezdic. nost znaka na prvo pozlcijo vmesnika tn po- maknil nizni terminator za eno mesto naprej. ioc(8); Pri uporabi naslednjih pozivov ioc(2)> Tiskanje napake ni dovoljeno. Pri izvajanju ioc(3); ioc{4)j in ioc(5)j naj bl programer tega poziva se vrstica zvezdic nikdar ne na- pred branjem iz toka 7 uporabil ioc(0); in tisne. Formatne spremembe so dovoljene; če ioc(l); za brisanje vsebin kazalcev. je potrebno, se uporabi eksponenčni format neglede na obseg polja. Naslednjl ioc pozivi omogočajo vstop vhodnlh in izhgdnih list: Druga skupina ioc pozivov je povezana 9 pred- stavitvijo presledkov v okviru izhodnega forraa- ioc(2) i ta: Ta poziv povzroči na konzoli sporočilo OOT = 29

IN? Opprabnik vstavi uicazni niz splošne Prvotno stanje (nenavajanje razširitve) doseže- oblike mo s pozivom outputlist =:inputlist(cr) ioc(21)} Ko se pojavi znak 'cr', ki končuje ukazno vrstico, se pokliče interpret ukaznega niza. Za DISK: lahko uporabimo A:, B:, C:, D: ali pa Vsak znak do enačaja (ali do znaka 'cr', £e diskovne enote ne navedemo (trenutno aktivna enačaja ni) se kopira in shrani kot trenutna enota). "izhodna lista", vse za enačajem pa kot tenutna "vhodna lista". Po en kazalec imamo Uporabijo se lahko tudi stikalne opcije za V/I za vsako od teh list in ko še pojavi nova naprave in zblrke; te opcije so zaporedje do 12 vhodna ali izhodna lista, se kazalec postavi znakov v oglatih oklepajih. Npr. pri vhodni na začetek liste. zbirki DATA.DATfB] povzroči stikalo £B ] odpr- tje zbirke za naključni dostop. Vrsta stikal se ioc<3); lahko uporabi tudi v programih, saj obstaja mo- Ta poziv je podoben ioc(2)j, le da se bese- žnost branja stikalne liste iz programa. dilo vzame kot vsebina iz vmesnika brez spo- ročila uporabniku. Značilno pozivno zapore- Pojav dveh zaporednih vejic v V/I listi pomeni dje za oblikovanje vhodne/izhodne liste je specifikacijo "ničte" V/I naprave NL: (tok 0). lahko Z opisanimi ioc pozivi se oblikujejo V/I liste, ioc(l)jtext(7,"outputlist=inputlist");ioc(3)} ki jih lahko uporabimo za prirejanje zbirk ali naprav skozi vhode in izhode preddeklariranih ioc(4); procedur:

Ta poziv sporoči na konzolo dev:=input} S tem stavkom se prebere naslednji vstop iz INPUT = vhodne liste. Ko je vstop najden in je na- prava, se napravi priredi vrednost, ki us- Uporabriik vstavi ukazni niz splošne. oblike treza imenu naprave. Če je bilo specificira- no ime diskovne zbirke, se ta zbirka odpre , inputlist(cr) in dodeli se vniesniško območje za zbirčni Ta niz postane tako trenutna "vhodna lista", krmilni blok in za sektorski vmesnik (pri izhod pa je ostal nespremenjen. .. zaporednem dostopu). Vrnjena tokovna števil- ka je od 64 navzgor in označuje dejansko ioc(5) ; vrednost vmesnika, dodeljenega zbirki. Ta poziv je podoben.ioc(4);, le da se bese- dilo vzame kot vsebina iz vmesnika brez spo- Negativna vrednost za 'dev' oznaCuje napako, ročila na konzolo. Znafiilno pozivno zapore- tj. ali napačno sintakso ali manjkanje vsto- dje je lahko pa v vhodni listi ali manjkanje navedenega zbirčnega imena. ioc(l)j text(7,"inputliat") ; ioo(5)j dev:=output> Opombas Poziv ioc(3); ali ioc(5)j pusti všebinp Podobno kot za vhodne velja tudi za izhodne vmesnika nespremenjeno. Isti niz se tako lahko zbirke in naprave. Imamo vrsto opcij glede analizira dvakrat pri enakih imenih vhodnlh in na akcije, ki se izbirajo z.ioc pozivi. izhodnih zbirk. To operacijo opravi prevajalnik pri lzbiranju vhoda in izhoda. ioc(13); Ni preizkušanja, Druge zbirke z enakim Splošna oblika vhodnih in izhodnih list je se- imenom se oblikujejo. stavljena iz zaporedja ene ali več naprav ali zbirčnih specifikacij, ločenih z vejicami. Npr. ioc(14)j Obstoječa zbirka z navedenim imenom se zbri- ' CON:,'AtOUTl, , LST:=DATA B , RDR: še pred oblikovanjem nove zbirke.

V tem primeru smo specificirali 4 izhodne kana- ioc(15); le in 2 vhodna kanala. Poziv vhoda ali izhoda če se najde zbirčno ime, ki že obstaja, bo preddeklariranih procedur bo poiskal ustrezno ta poziv vrnil tokovno številko -100. Nova llsto od trenutnega položaja do naslednje poja- zbirka se ne oblikuje. vitve vejice ali.konca listej vrnjena bo šte- vilka toka, ki ustreza najdenemu vstopu. 3.27. Zapiranje ln brisanje zbirk Seznam mnemonike naprav s pripadajočimi števil- kami tokov je dan v Dodatku 5. Ko je uporaba zbirke končana, jo moramo zapre- Spiošna oblika specifikacije CP/M zbirke je ti s pozivom preddeklarirane procedure:

DISK: IMEZBIRKE.RAZŠIRITEV close(dev); , Ta poziv zapre zbirko toka 'dev* predhodnim V lmenu zbirke so lahko firke, številke, znaka vhodnim ali izhodnim pozivom. Če 'dev' ni '$' in '?'} vprašaj naj bi bil rezerviran za zbirčno ime, se ničesar ne zgodi. specifikaoijo dvouinnih zbirčnlh imen. Male črke se pretvorijo v velike in vsi zanki, manjši od Opomba: Če izhodne zbirke ne zapremo, se presledka, se v V/I listah ne upoštevajo. njena vsebina zgubi. . Tudi vhodne zbirke naj se zapirajo, ker se z zapiranjem sprošča IMEZBIRKE je sestavljeno iz enega do osem zna- vmesnik in zbirčni krmilni blok. kov. Zbirčna RAZŠIRITEV inia 1 do 3 znake. Kadar se razširitev ne navede, se upošteva njena delete (dev); raanjkajoča vrednost (npr. pri iraenu quad se Ta poziv zbriše zbirko 'dev' s predhodnim vzame quad.alg); na začetku ima razširitev 3 vhodnim ali izhodnim pozivom in sprostl vme- presledke. Lahko pa zahtevamo obvezno navajanje snik in zbirčni krmilni blok. manjkajoče razširitve z uporabo poziva

ioc(20) ; 30

j := findinput("PETRA.VRT"); 3.28. Vhodne/izhodne podporne rutine i := newext(j,"DOM");

preimenuje zbirko PETRA.VRT v PETRA.DOM. Pri V času izvajanja programa razpozna sistem še tera ni preizkusa, ali taka zbirka že obsta- dodatne procedure; prevajalnik vključuje z do- ja. Negativna vrednost v .'i ' pomeni napako, datnimi procedurami besedila iz knjižnice 255 pa je pričakovani odgovor. ALIB.ALG . Imamo: a:=bios(n,bc); rewind (dev) ; Ta procedura povzroči neposreden poziv skozi Zaporedna vhodna ali izhodna zbirka, poveza- skočni vektor BlOSa (sistem CP/M), ko je n = na z 'dev', se (najprej v primeru izhodne vstop v skočni tabeli (0 do 14), bc = vsebi- zbirke zapre in) previje za branje od zafiet- na registra BC ob vstopu in a= vsebina v re- ka. gistru A ob izstopu (poglej v priročnik CP/M System Alternation Guide). dev:=findinput("niz")j Ta poziv odpre zbirko ali napravo, oprede- a:=cpm(c,de); ljeno z "niz" za vhod na tok 'dev'. Če je Ta procedura povzroči neposreden poziv v si- prvi znak v "niz" vprašaj '?', se zgodi to- stem CP/M, ko je le: ostanek niza se tiska na konzolo kot sporočilo uporabniku, da vstavi želeno ime c = vsebina registra C ob vstopu (0 do 27) vhodne zbirke ali naprave. Npr.: de = vsebina registra DE ob vstopu a = rezultat v registru A ob izstopu dev:=findinput("?Izvirna zbirka =")f Podrobnosti so navedene v prirofiniku CP/M izda na konzolo sporočllo Interface Guide.

Izvirna zbirka = i:=fcblock(dev); V "i' se vrne naslov zbirčnega krmilnega in uporabnik vstavi želeno ime. Prireditev bloka, povezanega z zbirčnim tokom 'dev'. To je lahko uporabljivo prl neposredni manipu- devs=findinputCDATA.DAT") ; laciji CP/M lastnosti.

odpre zbirko DATA.DAT na trenutno aktivni i:=exflt(a,t); diskovni enoti. Razširi se lista zbirčnega krmilnega bloka. Sistem RML Algol dovoljuje v začetku odprtje Vhodna specifikacija je lahko sestavljena iz in dostop v 4 zaporedne in v 2 naključni "vhodne liste" in njen prvi vstop se uporabi zbirki. Če uporabnik potrebuje večje Stevilo za prireditev 'dev'. Uporaba te procedure zbirk, se s to proceduro razširi lista zbir- izniči prejšnje vhodne Bpecifikacije, ki £a- čnih krmilnih blokov. Vsak poziv razširi kajo v vhodni listi. dolžino liste za 1. Negativna vrednost v 'i' pomeni, da je bila presežena makslmalna dol- dev:=findoutput("niz")> žina 16 vstopov. Parametri rutine exflt so: Ta prireditev je podobna prireditvi findin- put. Izhodna specifikacija je lahko posplo- a = naslov uporabljenega vmesnika šena na popolno vhodno/izhodno listo, kot je t = zbirčni tip bilo •opisano za 100(2);^ in loc(3)}. Če je t = 0, imamo zbirko z zaporednim, si- ii=rename) cer z naključnim dostopom. Uporabljeni vme- S tem pozivom se zbirka preimenuje. Staro sniki so uporabnjiško deklarirana polja, ime zbirke in enote se vzame kot naslednji njihove naslove pa dobimo z uporabo vstop v "vhodno listo". Novo zbirčno ime se vzame iz naslednjega vstopa v "izhodni li- BEGIN DYTE ARRAY buf[0:160j; sti". Npr. zaporedje i := exflt(location(buf[0]),0);

ioc(l)( Potrebni obsegl vmesnikov za serijske zbirke text(7,"PETRA.MUC=B:MICIKA.MIS"); so 1.61 zlogov (33 za zbirfini krmilni blok in ioc(3); 128 za sektorski vmesnik), za naključne pa i:=rename; 33 zlogov. Polje mora biti dovolj obsežno, da vsebuje vmesnike in da se ti medseboj ne bo preimenovalo zbirko MICIKA.MIS na enoti prekrivajo. B: v PETRA.MOC. Pri izstopu bo

i=-l pomenilo napako, ko zbirka ni bila 3.29. Neposreden V/I iz ali v pomnilnik najdena ali zaradi slabe sintakse; i=255 bo pomenilo odgovor sistema CP/M ne- glede na uspeh ali napako Branje in pisanje je mogoče tudi neposredno iz pomnilnika in v pomnilnik. Takšen V/I je pove- Kadar zbirfina.razširitev ni navedena, se upora- zan s tokovno številko 10. Pri tem je potrebna blja manjkajoča, £e pa je ioc(20); aktivno, je nastavitev kazalcev, ki se ustrezno povečujejo razširitev treba navesti. Kadar imeni nove in (inkrementirajo). Procedure, ki manipulirajo s stare zbirke sovpadata, velja tole: temi kazalci, so v zbirki ALIB.ALG .

ioc(13); ni preizkušanja seti (a) ; ioc(14); zbriSe se prejšnja (stara) zbirka Vhodni kazalec se nastavi na naslov a. ioc(15)} vrne se vrednost; -100 (v i) seto(a); i:=newext(j,"XYZ"); Izhodni kazalec se nastavi na naslov a. Zbirka, ki je povezana s tokom j prek prej- šnjega vhodnega ali izhodnega poziva, se i:=ipoint; zapre, njena zbirčna razširitev pa se spre- V 'i.' se vrne trenutni naslov vhodnega ka- meni v triznakovni niz, dan z drugim parame- zalca. trom. Ta niz postane manjkajoča zbirčna raz- Siritev. Npr. zaporedje i: =opoint; V 'i ' se vrne trenutni naslov izhodnega ka- 31

zalca. Pri izstopu bomo imeli za 'i' tele vredno- Tipično zaporedje je: sti: i=0 uspešno branje BEGIN BYTE ARRAY buf[0:1000]j i=l branje po koncu zbirke seto(location(buf[0]) ; 1=2 branje nenapisanih podatkov seti(location(buftO])j • 1=3 aparaturna napaka rwrite(10,x,0,6)j ... Deklarirano polje mora biti dovolj vellko za 1 := opointi ... sprejetje prenosa. Prenos za konec zbirke bo x := read(10) > . ' lzničen.

Takšen V/I mora ostati v mejah deklariranega l:=wblock(dev,a,b,n)> polja. Zapiše se 'n' blokov na disk. Parametri so enaki kot pri rblock. ' Pri izstopu ima 'i' i!=swlist; tele vrednosti: V 'i' se vrne naslov preklopniške (switch) 1=0 uspešen zapis liste. Uporabnik lahko preveri, ali je bila 1=1 napaka v razšlritvi zbirke specificirana preklopnlška opcija za vhodnim 1=2 konec diskovne zbirke ali izhodnim pozivom, tako da prebere vsebi- 1=3 aparaturna hapaka . no preklopniške liste. Ti preklopniki (naj- 1=255 imeniškl prostor je lzčrpan več 12 znakov) se lahko preberejo z uporabo vhodnega toka 10. Značilno zaporedje je 3.3.1. Knjižnične procedure. seti(swlist); i:=chin(10)} Opisane procedure so vgrajene v slstem časa iz- Prvo stikalo je 'i'. Lista je zaključena z vajanja in so znane prevajalniku ob prisotnosti . ničto vrednostjo. Preklopniška lista vsebuje zbirke AI.IB.ALG . Imamo: vselej informacijo o najbolj pogostnem pozi- vu V/I procedur. . li=locatlon(x)) Ta rutina vrne v 'i' naslov spremenljivke x. Manjkajoča razširitev se shrani v 3 zloge, x je lahko realno, celoštevllsko ali indeks- ki sledljo preklopniškl listi. Trije znaki no tlpa realno, celoštevilsko all zlogovno. se vpišejo v ustrezni vmesnik z uporabo iz- V primeru realnega ali celoštevllskega argu- hoda toka 10, in sicer« menta se vrne naslov prostora, predvidenega . za to spremenljivko v času izvajanja. Vsak seto(swlist+13)» tak prostor obsega 4 zloge In je v prlmeru text(10,"XYZ")t celoštevllske spremenljivke enak le zgornji polovici. Prl elementih polja kot argumentih To zaporedje postavi manjkajočo razšlritev se vselej vrne pravilen naslov. Procedura na vrednost XYZ. Ob vstopu Be manjkajoča izda vselej lzračunani naslov spremenljivke; razširitev postavi na ničlo, tj. na tri pre- spremenljlvka je klicana z vrednostjo in : sledke. prevajalnlk sprejme tudi lzrarz- kbt dejanski parameter. Podobno lahko zgradimo tudi pro- Ta metoda se lahko uporabi tudi kot načln ceduro za lociranje boolovske spremenljivke, branja majhnih količin podatkovj ta način je le da pri enakem telesu kličerao parameter tako ' podoben • DATA stavku v jeziku BASIC. boolovskega tipa z vrednostjo. Npr. ii=fspacei seti(sloc("1.32 99.6 ..."))» Procedura vrne število prostih zlogov (npr. FOR i:=l STEP 1 UNTIL 20 DO pri kontroli sklada). Na vellkih sistemih je x[il :=read(10)( rezultat lahko večji od 32k zlogov in se tako pojavi nagativna vrednost (dvojlški Procedura sloc je opisana v okviru knjižni- komplement). finlh procedur. blmove(a,f,len); Opravi se poraik bloka dolžine 'len' zlogov pri naalovu 's' na naslov *f'. Procedura lo- 3.30. Zbirke z naključnim dostopom cation se lahko uporabi za ugotovitev naslo- va, npr.

Zbirko lahko odpremo za branje prej z naključ- blmovedocation (a[o]> , location(b[0] ) ,100) > nim kot z zaporednim dostopom. Zbirka se odpre kot vhodna zbirka s stikalom IB]. če se zbirka Uporabnik sam odgovarja za pomikanje blokov popravlja, imamo štlkalo [BM], kjer M oznafiuje v okvlru mej deklariranih polj. Ta procedura modifikacijo. Na ta način lahko odpremo obsto- dopušča tudl prekrlvanje dveh blokov. jeCe zbirke za naključni dostop. Priraer vhodne specifikacije je i:=peek(a) ; Procedura vrne vrednost zloga na naslovu 'a' DATAl.DAT[B], DATA2.DAT[BM] poke(a,i); Prva zbirka se odpre za branje z naključnim do- Procedura nastavi vsebino naslova 'a" na stopom, druga pa za branje/pisanje. vrednost '1', upoštevaje 8 najvišjlh bitov v 'i'. i:=rblock(dev,a,b,n)f Prebere se 'n' blokov z diskovne zblrke, po- ai=in(c)j vezane s tokom 'dev', začenšl pri bločnl To je vhpd lz vrat} ta prooedura izvrši ukaz številki 'b', ko se vsebina vpiše v pomnil- IN A, (C) . • nik pri naslovu 'a'. Dolžina prenosa je 128*n zlogov. Prvi blok zbirke ima številko out(c,a)} 0. Naslov je vobfie odvisen od de)a polja, To je izliod na vrata; ta procedura izvršl obllkovanega s pomočjo procedure location: ukaz OUT (C),A.

ii=rblock(dev,location(bufto3,c,JO); b:=parlty(i); Ta boolovska procedura vrne TRUE, če je vre- 32

dnost parnosti znaka za 'i' (8 najvišjih bi- Lahko nastopi tudi več ujemanj, če se pove- tov) soda (parna) , s.icer pa vrednost FALSE. čuje naslov od trenutnega ujemanja.

Pomiki in zasuki 3.32. Knjižnične vključitve

V naslednjih procedurah bo 'v' vrednost (tipa Obstaja mehanizem, s katerim je mogoče vključi- INTEGER) in 'n' število mest za pomik ali za- ti "knjižnične" izvirne zbirke v programsko suk. Vselej se uporabijo samo 4 zgornji biti za telo, in sicer v času prevajanja. Npr. 'n', tako da je vrednost v območju (0,15). Imamo: • LIBRARY "B:ALIB.ALG";

i:=shl(v,n); pomik v levo UCinek tega poziva je, da prevajalnik poišfie zbirko, navedeno v narekovajih. Ta zbirka se i:=lsr(v,n)f logični pomik v desno odpre in njena vsebina se vključi v izVirni program v točki poziva. V našem primera se i:=asr(v,n); aritmetični pomik v desno zbirka ALIB.ALG na enoti B: prebere v program- sko besedilo. Ta poziv omogoča uporabo proce- i:=rotr(v,n)} zasuk v desno durnih knjižnic brez večkratnega pisanja pro- cedur v programska telesa. Če zbirčne razširit- Aritmetlčnl poraik v desno razSiri bit pred- ve ne navedemo, se vzame razširitev '.ALG' . znaka, logičnl pomik v desno pa vstavi ni- eie. Oglejmo si primer:

x:=random; BEGIN INTEGER i,j,kf Procedura vrne pcjvdonaključno število v in- LIBRARY "ALIB"; tervalu (0,1) . LIBRARY "IOLIB"; LIBRARY "STATLIB"} clarr(a,len); PROCEDURE abc; ... Zbriši območje polja dolžine 'len* zlogov, začenši pri naslovu 'a'. V tem primeru se v tekst vključijo vsebine treh knjižničnih zbirk v času prevajanja. Tudi te dpb(u,t,s,a); zbirke lahko vsebujejo LIBRARV pozive. Omejite Nastavi diskovne parametre. 'u' je številka je postavljena s številom vhodnih in izhodnih enote (0 do 3), 't' je steza, *s * sektor in zbirk, ki so lahko istočasno odprte. V RML 'a ' DMA naslov. prevajalniku je ta omejitev 5.

i:=rdisk; Prebere disk neposredno z uporabo pred tem Slovstvo k drugemu delu nastavljenih parametrov v 'dpb'. Rezultat CP/M poziva bo v 'i'. ((12)) A.P.Železnikar: Algol 60' za slstem CP/M i:=wdisk; I. Informatica 7(1983), št.4, str. 41 - Vpiše na disk neposredno z uporabo pred tem 54. nastavljenih parametrov v 'dpb'. Rezultat CP/M poziva bo v 1', ((13)) A.P.ErSov, S.S.Lavrova, M.R.Šura-Bura: Algoritmičeskij jazyk ALGOL-60. Mir, i:=sloc("niz"); Moskva 1965. V 'i' se vrne naslov začetka niza. Dejanski parameter je lahko tudi nizni parameter pro- ((14)) Ja.S.Dymarskij, N.N.Lozinskij, A.T.Maku- cedure, Npr.: škin, V.Ja.Rozenberg, V.R.Erglis: Spra- vočnik programista. Tom pervyj. Gos. PROCEDURE X(s)( STRING Sf sojuz.izd.sudostr.prom., Leningrad 1963 BEGIN INTEGER i; (str. 107 - 117). ii=sloc (a); i:=sloc("XYZ') ; ((15)) L.A.Ljusternik, O.A.Červonenkis, A.R. Janpol'skij: Matematičeskij analiz: Vy- Nizi so sestavljeni iz zaporedja znakov, čislenie elementarnih funkcij. Pizmat- shranjenih kot zaporedje zlogov In zaklju- giz, Moskva 1963. čenih z ničlo. ((16)) E.D.But: Čislennye metody. Fizmatgiz, atext (dev,s) ; Moskva 1959. Ta poziv je podoben preddefinirani proceduri text, toda drugi parameter je naslov niza. ((17)) S.M.Nikol'skij: Kvadraturnye formuly. Npr. : Fizmatgiz, Moskva 1958.

text(dev,"XYZ")> je ekvlvalentno ((18)) V.L.Zaguskin: Spravočnik po čislennym atext(dev,sloo("XYZ")); metodara rešenija uravnenij. Fizmatgiz, Moskva 1960. i:=tlen(s); Vrne se dolžina niza, katerega naslov je 's'. Npr. s

i:=tien(sloc("XYZ")); vrne vrednost 3. i:=smatch(long,short); Ta procedura primerja dva niza in lšče prvo ujemanje kratkega niza short v dolgem nizu long. Parametra sta naslova obeh nizov. Če se pojavl ujemanje, se 'i' nastavi na naslov v dolgem nizu, kjer se ujemanje začne. Če u- jemanja ni, se 'i' nastavi na vrednost 0. ,33

DODATEK 4. PRIMERI KVADRATURNEGA INTEGRIRANJA IN IZRAČUNA VREDNOSTI ORTOGONALNIH POLINOMOV

V tem dodatku bomo obravnavali nekaj priraerov s zolo (CON:). področij kvadrature integralov in izračuna vre- dnosti polinomov. Lista 4/2 kaže rezultate izvajanja programa iz liste 4/1. Za tri" integrale bi dobili idealne vrednosti 4/1. Kvadraturno integriranje z Gaussovo metodo x2dx = 39, f x(l+x2)dx = 162,75, Težišče našega preizkusnega programa na listi 2 2 4/1 bo procedura

quad(a,b,m,n,p,c,u,f,sum); dx = 3 ki je primerna zlasti za istočasno integriranje več funkcij v enakih območjlh (integracijskih mejah) in pri enakih vozliščnih točkah. Inte- V listi 4/2 imamo.tudi seštete eleraente polja gracijski interval (a,b) bo razdeljen na m ena- c, ki so bili v programu zaokroženi. Idealna kih podintervalov za n-točkovno kvadraturno in- vrednost vsakokratne vsote je enaka 1.00. V tegriranje. Prameter p procedure quad bo pred- zvezi z Gaussovo kvadraturno formulo so namreč stavljal število funkcij, ki jih nameravamo in- izpolnjeni tile pogoji: tegrirati. Nadalje bomo imeli vnaprej dani po- lji konstant c in u, kjer bo c[k} normiranje u[n+l-k] := l-u[k] (1) uteži in u[k] normiranje abscis pri k = 1, 2, 3, ... , n. Procedura f(t,j) bo dana programsko ko so abscise u[k} simetrično razporejene glede in bo izračunavala j-to funkcijo argumenta t. V na točko u = 1/2. polju sum bomo shranjevali rezultate integraci- je, in sicer v sum[j] rezultat integracije c[n+l-k] := c[k] (2) funkcije f(t,j). kjer so simetrični koeficienti enaki in Procedura quad je v listi 4/1 prva in je blla sestavljena z upoštevanjem Gaussove formule (3)

m-1 n S = 21 2E c. f (a+h(i+u. )) Elementi polj c in u v listi 4/1 očitno izpol- i^O k=l njujejo te tri pogoje.

c. f (a+h(i-l+u. )) K K

n Vsota vseh clil kjer je h = (b-a)/m, koeficienti c^ in u^ pa so dani v listi 4/1 za 3-, 8- in 12—točkovno 3 9.99999E-01 kvadraturno integriranje, sicer pa' v literaturi 8 9.99399E-01 ((14)) z večjo natančnosto i,n za 1- do 48-rtoč- 12 9.99000E-81 kovno integriranje. n Integral 1 Integral 2 Integral 3 V listi 4/1 je f(t,j) v prOceduri quad j-ta podintegralska funkcija, j pa je v intervalu 3 3.89998E 01 1.62749E 02 2.99999E 00 (l,p)> tako lahko integriramo v enem izvajanju 8 3. B9998E 01 1.62749E 02 2.99999E 00 procedure quad p različnih podiritegralskih 12 3.B9G08E 01 1.6£586E 02 2.99699E 00 funkcij. Prooedura func(x,j) v listi 4/1 vsebu- je 3 funkcije, in sicer x*x, x*(l+x*x) .in 1, ki jih bomo integrirali v intervalu (2.0, 5.0). Lista 4/2. Ta lista kaže izvajanje programa z VALUE specifikacija v procedurah omogoča, da liste 4/1. Najprej se kontrolirajo vrednosti pokličeirio proceduro tudi z vrednostnim (števil- koefioientov s pogojera (3), nato pa so izraču- skim) dejanskim parametrom, npr. nane vrednosti treh doloSenih integralov, in sicer za 3-, 8- in 12-tofikovno integriranje. quad(2.0,5.0,m,8,p,c8, ...)}

kjer so 2.0, 5.0 in 8 številski parametri. Na- dalje si velja zapomniti, da moramo v enopre- hodnem prevajalniku za RML Algol procedurni de- janski parameter navesti z

REAL PROCEDURE func

pri pozivu quad, kot je razvidno iz liste 4/1 v treh primerih. Llsta 4/1. Prograra na naslednji strani izraču- nava vredhosti integralov, uporabljajoč Gausso- Nadalje smo v listi 4/1 parametrizirali vse vo metodo za kvadraturno integriranje. Osrednja procedure za izpis s spremenljivko dev, ki smo procedura tega programa je 'quad', ostali del jo fiksirali z programa. je namenjen le preizkusu te procedure. Elementi polj u in c so določeni le z natančno- dev := 6; stjo jezika RML Algol in so zaokroženi. Pomen ostalih procedur v programu je neposredno raz- tako da se izpisi pošiljajo na tiskalnik viden iz programske liste. (LSTs)? pri dev := 1; bi dobili izpis na kon- 34

BEGIN PROCEDURE glava(dev,p)i COMMENT Poskusrio kvadraturno iritegriranje z VftLUE dev.p; INTEGER dev,p; Gaussovo rnetodo BEGIN INTEGER i; skip(dev); text(dev," n "); Naslednja procedura je predmet nase pozornosti FOR i:=l STEP 1 UNTIL p DO BEGIN text(dev," Integral PROCEDURE quad (a, b, m, rt, p, c, u, f, suro) ; wi-ite(dev, i) ENDi VALUE a,b,n; REflL PROCEDURE f; text (dev, "*N—") ; fiRRP»Y surn, u, c; FOR i:=l STEP 1 UNTIL p DO REflL a,bi INTEBER m, n, pj text END k u3CU !>=. 113702; u3C£3 i=.Si END i ; u3C33 s=l-u3Cl]i surnCj] i=h»sumCj3 c3C13 :=.277778; END j END quad :=.198S51e-01; U8C23 :=.101667; i=.237238; u8C43 s=.408283; U8C53 :=l-u8[43; u8C63 s=l-u8C33; REflL PRDCEDURE func

text (dev, "*N r, Vsota vseh cCi3">; PROCEDURE vred(dev,sura,p)j text (dev, "*N ") ; VfiLUE dev,pi csurn(dev, 3, c3) ; tsurn(dev, 8, c8) ; , fiRRflV sufdj INTEGER dev, pj csum(dey,1£,cl£>; skip(dev); BEGIN INTEGER kj COMMENT Izracuri vrednosti iritegralov; FOR k:=l STEP 1 UNTIL p DO BEGIN glava (dev, p) ; i~write

arci ; BEGIN INTEGER ij REOL a5 arg(dev,12); as=0i quad (£. 0, 5. 8, m, 12, p, cia, ul£, FOR is = l BTEP 1 UNTIL r, DD at=a+cCi3; REflL PROCEDURE func,vsota); Bkip (dev); vred

L (x)=-x+l 4/2. Izračun vrednostl ortogonalnih 2 polinompv L2(x)=x -4x+2 3 2 L3(x)=-x +9x -l8x+6 4 3 2 V tem poglavju bomo obravnavali algoritme in L4(x)-x -16x +72x -96x+24 algolske programe za izračun hermitskih, čebl- L (x)=-x5+25x4-200x3+600x2-600x+120 ševskih, laguerrskih in legendrskih poiinimov. 5 Te pollnome je mogofie izraziti tudi z rekiirziv- L,(x)=x6-36x5+450x4-2400x3+5400x2-4320x+720 nimi formulami, kar pmogoča njihovo izračunava- L-(x)=-x7+49x6-882x5+7350x4-29 400x3+52920x2- nje brea uporabe nekaterih standardnih (vgraje- nih, preddefiniranih) prevajalniških proceduf -35280x+5040 (izjema so le aritmetične operacije). Izračuna- ne vrednosti bomo primerjali tako, da bomo iz- račune opravili z različnimi formulami. Nepo^ P (x) =1 sredna kontrola je mogoča tudi z uporabo nepo- 0 sredne polinomske izražave in seveda z uporabo (x)=x tabel. Tako imamo npr. za polinome Hermita, P2(x)=l/2(3x'-l) Čebiševa, Laguerra in Legendra tele neposredne 3 izražave: P3(x)=l/2(5x -3x) 4 2 P4(x)=l/8(35x -3Ox +3) 5 3 H0(x)=l P5(x)=1/8(63x -70x +15x) P,(x)=l/16(231x6-315x4+l05x2-5) 2 7 5 3 H2(x)=4x -2 P7(x)=l/16(429x -693x +315x -35x) 3 H3(x)=8x -12x H. (x)=16x4-48x2+12 5 3 H5(x)=32x -160x +120x 6 4 2 Hg (x)=64x -480x +720x -120 7 5 4/2.1. Hermitski polinomi H7(x)=128x -1344x +3.360x?-1680x

T (x)=l Procedura herm(n,x) v listi 4/3 izračunava vre- Q dnosti hermitskega polinoma

2 T2(x)=2x -1 T (x)=4x3-3x T. (x)=8x4-8x2+l

5 3 T5(x)=16x -2Ox +5x za poljuben realen argument x in za poljubnb 6 4 2 (celoštevilsko) stopnjo n.z rekurzivno formulo Tg(x)=32x -48x +18x -l 7 5 3 T?(x)=64x -112x +56x -7x herm(0,x) = lj herm(l,x) = 2*x; herm(n+l,x) = 2*x*herm(n,x) - 2*n*hern\(n-l,x)

LO(X). Procedura herm2(n,x) v listi 4/3 izračunava vrednosti hermitskega polinoma

K n = 1 r, = 3 n = 4 r. = 6

1.00000E-01 2.00000E-01 -1.19200E 00 1. 15216E 01 -1.12848E 02 S.00000E-01 4.00000E-01 -£.33600E 00 1.0105BE 01 -9. 19&39E 01 3.00000E-01 6.00000E-01 -3.3S400E 00 7. 80960E 00 . -5.90414E 01 4.00000E-01 a.00000E-01 -4.SBB00E 00 4.7£960E 00 -1.68259E 01 5.00000E-01 1.00000E 00 -5.00000E 00 1.00000E 00 3. 09999E 01

X 1-1=1 n - 3 Ci = 4 ri = 6

1.00000E-01 1.00000E-01 -2.99000E-01 2.94010E 00 -1.45515E 01 2.00008E-01 2.00000E-01 -5.92000E-01 £.7616SE 00 -1.32239E.01 3.00000E-01 3.00000E-01 -8.73000E-01 2.46810E 00 -1.18708E 01 4.00000E-01 4.00000E-01 -1.13&00E 00 2.0656OE 00 -8.17991E 00 5.00000E-01 . 5.00000E-01 -1.37500E 00 1.56250E 00 -4.67188E 00

X n = 1 n = 3 n = 4 n = 6

1.00000E-01 1.00000E-01 -2.99000E-01 2.94010E 00 -1.45515E 01 2.00000E-81 2.00000E-01 -5.91999E-01 2.76160E 00 -1.32239E 01 3.00000E-01 3.00000E-01 -8.72998E-01 S.46610E 00 -1.10708E 01 4.00000E-01 4.00000E-01 -1.13600E 00 2.06560E 00 -8.17990E 00 5. 00000E-01 5.00000E-01 -1.37500E 00 1.56250E 00 -4.67188E 00

Lista 4/4. Ta lista prikazuje rezultate izvajanja programa na listi 4/3; tu so izračunane vredno- sti hertnitskega polinoma, in sicer za H(n,x) (prva tretjina razpredelnlce) in za h(n,x) (druga in tretja tretjina razpredelnice). Druga tretjina razpredelnice je izračun h(n,x) iz H(n,x), tretja tretjina razpredelnice pa izračun h(n,x) z rekurzijo. Razlike med drugo in tretjo tretjino razpre- delriice so minlmalne; te vrednosti se dobro ujemajo s tabelo v priroSniku ((15)). ' 36

BEGIN a:=b) b:=c COMMENT Poskusni izracun vrednosti Hermitovega END; polinorna herrn£i=Ci END herm2 Naslednja procedura je predmet nase pozornosti #«*»•••*••#•***•#•#**•*•**•**»***•****••*****•!

. REflL PROCEDURE herrnfr., x) ; PRDCEDURE t iskaj (dev, xl, r.l, her-m) i VflLUE n, x; VfiLUE dev; REOL PROCEDURE hervn; REflL x; INTEGER n; . INTEGER flRRPlY nlj flRRflY xl; BEGIN INTEGER dev; REflL a,b, c; INTEGER ij BEGIN a: = l; b:=2»x; INTEGER i,j; IF n=0 THEN glava(dev); c:=a FOR i:=l STEP 1 UNTIL 5 DO ELSE BEGIN IF n=l THEN skip(dev); c • ^b rwrite(dev,xlCi3); ELBE FDR js=l STEP 1 UNTIL A DO FOR i:=l STEP 1 UNTIL n-1 DO BEGIN BEGIN text (dev, " ") ; c:=£*x*b-2*i*a; rwrite(dev, herrn(ril Cj3,xlCi3)>5 as=bj b:=c END END; END hei"rn:=c skip(dev); skip(dev); END herrn END tiskaj ***************** •*•***«»********##••*«*****•**• — 5 Tudi ta procedura je predmet nasa pozornosti PROCEDURE glava(dev)j **#***********************************»#***+++) VGLUE devi INTEGER dev; BEGIN REflL PROCEDURE herrnl (r., x) } text (dev, "*N x n » 1 VflLUE n, x i n = 3 n = 4 REflL xj INTE6ER nj r, *• 6") ; BEGIN REflL a, b;

a: = l/S^(ri/S) j )5 b:=x/sqrt(2); END glava herrnl :=a#herra(n, b) END herrnl

Se ta procedura bo predrnet nase pozornostj INTEGER fiRRRV nlCls43 j REfiL ORRflY xlCl:53 i INTEGER dev; REfiL PROCEDURE herrn2

Lista 4/3. Program na tej listi aestavljajo med druglra tri bistvene procedu- re, in sicer herm(n,x), herml(n,x) in herm2(n,x), zaprte med zvezdične vrst- ce. Proceduri herm(n,x) in herm2(n,x) izračunavata dva tipa hermitskih poli- nomov z uporabo rekurzivnih formul

H(n+l,x) = 2xH(n,x) - 2nH(n-l,x) h(n+l,x) = xh(n,x) - nh(n-l,x)

tako da je med njima določena odvisnost, in sicer

h(n,x) = 2**-(n/2) * H(n,x/V2")

kjer je '**' operator potenciranja, in '*' operator množenja. Procedura herml(n,x) izračunava vrednost h(n,x) z uporabo te formule, tako da je mogoča primerjava Izračunov v listi 4/4.

Proceduri glava(dev) in tiskaj(dev,xl,nl,herm) sta namenjeni izpisovanju izračunanih podatkov. Procedura tiskaj pokliče proceduro glava iz zunanjega bloka, dočim pokliče proceduro herm parametrično. V glavnem programu se po- javljajo trije klici procedure tiskaj (na koncu programa) z razllčniroi pro- cedurnimi parametri (herm, herm2, herml). Za izpis na vrstični tiskalnik ima- mo prireditev dev := 6, pri dev := 1 pa bi dobili izpis na konzolo. 37

Procedura chebc(n,x) izračunava vrednost čebi- ševskega polinoma skladno s forraulo

hn(x) = (-1)' dx' C(n,x) = 2*cos(n*arccos x/2)

izračunane vrednosti pa so zbrane v tretji pod- za poljuben realen argument x in za poljubno razpredelnici liste 4/6. Procedura chebl(n,x) (celoštevilsko) stopnjo n z rekurzivno formulo upošteva odvisnost herra2(0,x) = 1; herm2(l,x) = x; C(n,x) = 2*T(n,x/2) herm2(n+l,x) = x*herm2(n,x) - n*herm2(n-1,x) tako da je četrto podrazpredelnico liste 4/6 Med obema tipoma hermitskih polinomov obstaja mogoče primerjati s tretjo podrazpredelnico. odvisnost Procedura tisk(dev,x),cheb) natisne posamezne h (x) podtabele liste 4/6, pri tem pokliče še proce- n duro glava(dev) neparametrično. V stavku -,2 FOR j:=2,4,5,7 DO in ta odvisnost je upoštevana s proceduro BEGIN ... herml(n,x) v listi 4/3. V listi 4/4 je mogoča primerjava dbbljenih rezultatov. so vrednosti za 'n' fiksirane ž 2, 4, 5, 7, kot je razvldno tudi iz tabele na listi 4/6. Podat- kovni tok 'dev' je fiksiran s številko 6, tako da imamo izpis na tlskalnik, vse izpisne rutlne 4/2.2. Čebiševski polinomi pa so parametrizirane z 'dev'. Pozivi procedur cheb, chebco,- chebc in chebl V listi 4/7 imamo štiri procedure za izračuna- kot procedurnih parametrov v proceduri tisk vanje vrednosti čebiševskih polinomov, kot je imajo obliko opisano v besedilu liste 4/7. frocedura cheb(n,x) izrafiunava vrednost čebiševskega po- REAL PROCEDORE cheb llnoma skladno s formulo itd. zaradi zahteve enoprehodnega prevajalnika. T(n,x) = cos(n*arccos x)

ki je realizirana tudi s proceduro chebco(n,x), ki pa uporablja standardne algolske funkcije sqrt(t), arctan(t) in cos(t). V listi 4/6 so vrednosti za obe proceduri zbrane v prvih dveh podrazpredelnicah.

n = 2 n = 4 n = 5 r, = 7

l.<2i000tfE-01 -9.B0000E-01 9.£0B00E-01 4.B0160E-01 -£.45113E-01 2. ®

X r, = £ . n = 4 ri = 5 r, = 7

i.0000tfE-eu -9.60000E-01 9. 2079BE-01 4.80163E-01 -6.45116f-01 s. 0eiia0OE-iai . -9.1939BE-01 6.92799E-01 B.451S0E-01 -9.87OaiE-01 • 3.00000E-O1 -8.19999E-01 3. 44799E-01 9. 9aa8i3E-01 -6.4616SE-01 6.68000E-01 -1.2Ba00E-01 -9.66820E-01 -4.461B7E-01 9.44953E-01 B.aiZi0i2i0E-i2il 5. 4Bflia0E-01 -3.97636E-01 -7.85730E-01 -9.46303E-01

M n = £ r, = 4 ri = 5 I-I = 7

1.0fZl000E-lZll -1.99000E 00 1.96010E 00 4.95i?10E-01 -6.B6070E-01 S.00000E-01 -1.9&000E 00 1.B41&0E 00 9.60320E-01 -l.£9023E 00 3. jaaiaiaiaE-«ii -1.91000E 00 1.64810E 00 1.3&743E m -1.73879E 00 6.60000E-01 -1.56AA0E 00 4.4734BE-01 l. 9B775E 00 -1.41714E 00 B.B0008E-01 -1. £E5£0E 00 -4.97903E-01 1. 52037E 130 9.51569E-0E

X n = Z n = 4 fi = 5 r, = 7

1.00lZl0lZlE-01 -1.99000E 00 1.96O10E 00 4.95010E-01 -6.B6070E-01 E.00000E-01 -1. 9fc00eiE 0» 1.B4160E 00 9.603E0E-O1 -1.29023E 00 3. 00121?i?£-eil -1.91000E 80 1.64B10E 00 1. 36743E 00 -1.73879E 00 6.60iaia»e-iai -1.56440E 00 4.4734BE-01 1.98775E m -1.41714E 00 B. B000I2E-01 -1.S2560E 00 -4.97903E-01 1.S2037E 0« 9.S15&9E-02

orocedure ^h^n J (razpredelnica) je rezultat štlrih izračunov vrednosti in sicer za čebiševske procedure cheb(n,x) chebco(n x), chebc(n,x) in chebi(n,x). kiS o zapisane v programski listi 4/5. Prvi dve podrazpredelnici vsebu]eta rezultate izračuna vrednosti čebiševskega polinoroa tipa T ln «L^,P "'H1 ^ °S^aU dve P°d«zP^delnic.i vsebujeta rezultate izražuna vrednosti čebišev- skega polinoma tipa C in sta medseboj primerljivi. 38

BE6IN Tudi ta proeedui-a jje predrnet riase pozornost i COMMENT Poskusni izracun vrednosti Cebisevovega •*#•##*•*•#**#*#*•***•#•***********••••*•**•»•**! polinoma REflL PROCEDURE chDbl(r,,x); Nasledrija procedura je predrnet nase pozornosti • VflLUE r,, x 5 INTEGER n; REOL x; REflL PROCEDURE chebtn, x); BEGIN VfiLUE n, x; x:=x/£; INTEGER r.; REflL x; chebl :=£»cheb(ri, x) j BEGIN END chebl J REflL a, b,Ci IIMTEGER i ; ¥rit.±.ii.t::t.x***#*-** im* *********•********-**••*******•*•*** a:=l; b:=x; JTrT yri—1 o0j TLJCh1 HfcLllM c:=a PROCEDURE glava(dev); ELSE VOLUE dev; INTEGERdBVj IF n=l THEN BEGIN c:=b teMt (dev, "#N x n = S ELSE n = 4 n = 5 FOR is=2 STEP 1 UNTIL fi DO n = 7"); nrn f 1.1 tEHt (Q5V, -H-IVI cs=2*x#b-aj ft s= b; b s—c EIMD; END glava cheb:=c

END cbeb ====.-_======--======: == = c======:=== j PRDCEDURE tisk(dev,xl,cheb)j VflLUE dev; REflL PROCEDURE cheb; Tudi ta procedura je predmet riase pozornosti flRROV xl; INTEGER dev; BEGIN INTEGER i,j; REAL PROCEDIJRE chebc(n, x)j glava(dev); VfiLUE n,x ; FDR i:=l STEP 1 UNTIL 5 DO INTEGER i-ij REOL x; BEGIN BEGIN skip(dev); REflL a, b,c; INTEBER is >"write (dev, xl Ci3 ) ; a:=£; bs=x; FDR j:=£, 4, 5, 7 DO IF n=8 THEN BEGIN cs=a text(dev," ") ; ELSE rwt-ite(dev, cheb(j,MlCiD))5 IF r.= i THEN END c:=b END ELSE skip(dev); skip(dev); FOR i:=S STEP 1 UNTIL n DO END tisk BEBIN ======-======•======•===«=»==

a:=bi bi=c ======Zacetek preizkusnega prograrna ==»••>==; ENDj chebc:=c REfiL flRROY MlCli53| END chebc INTEGER devs *»#***#»***»»»##*#»#«

Lista 4/7. Ta programska llsta vsebuje štlri bistvene procedure za izračun vrednosti fiebiševskih polinomov, in sicer cheb(n,x), chebc(n,x), chebco(n,x) in chebl(n,x). Procedura cheb(n,x) izraCuna- va vrednoat polinoma s klasično formulo (tip T) oblike

cheb(0,x) cheb(l,x) = x; cheb(n+l,x) = 2*x*cheb(n,x) - cheb(n-l,x)

Procedura cheboo(n,x) (s katero opravlmo primerjalni izraSun s cheb(n,x)) uporablia klasifino formulo (tip T)

chebco(n,x) = cos (n*arctg C^ l - x**2 /x)) Procedura chebc(n,x) vzame za osnovo čebisevsko formulo (tip C)

chebc(0,x) = 2; chebc(l,x) = x; chebc(n+l,x) = x*chebc(n,x) - chebc (n-l,x)

Procedura chebl(n,x) upošteva odvisnost med tipoma C in T, ko velja enakoat

cheb.l(n,x) = 2*cheb (n,x/2) 39

za poljuben realen argurrient x in za poljubno 4/2.3. Laguerrski polinomi celoštevilsko stopnjo 'n' z rekurzivno formulo

lag(0,x) = 1; lag(l,x) = 1 - x; Procedura lag(n,x) v listi 4/8 izračunava vred- lag(n+l,x) = (2n+l-x)*lag(n,x) -n*n*lag(n-1,x); nosti laguerrskega polinoma Procedura lagn(n,x) izračunava normirane vred- nosti (deljene. z n!) laguerrskih polinomov, ki jih lahko primerjamo tabelarično ((15)).

dxn

Lista 4/8. Ta lista vsebuje tri bistvene proce- dure, in sicer lag(n,x), lagn(n,x) in fact(n); pomen programa je razumljiv iz liste same.

BEGIN COMMENT Poskusni izracun vrednosti Laguerrovega END glava pol i rtomSL Nasledrija procedui-a je predmet nase. pozornost i PROCEDURE tiskfdev, xl,ril, lag) ; #•##»**•#**•##***###**•*******#**#•***••*******; VflLUE dev; RF.fiL PROCEDURE lag; REAL PROČEDURE lag(n,x>j ORRAV Kl; INTEGER ORRflV r,l; INTEGER dev; VALUE n, K; BEGIN REP.L x; INTEGER r.; INTEGER i,j5 BEGIN glava (clev) ; REftL a, b,c; INTEGER i; FDR i: = l STEP 1 IJNTIL 5 DO a:=l; b:=l~x; BEGIN IF n=0 THEN C!=a rwrite.} ELSE FOR j:=l STEP 1-UNTIL 4 DO IF n=l THEN BEGIN cs=b teMt(dev," ") ; ELBE rwt~ite(dev, lag (ril CjD , xl Ci] ) > ; END FOR i: = l STEP 1 UNTIL i-v-1 DO 1 BEGIN END Eikip(dev); skip(dev) a:=b; bt=c END tisk ' .

END5 . END lag ======Zacetek preizkusnega programa ======; ••«--»#****##**•»*»**#*«***•*•« INTEGER fiRRRY r.lCliAJ; REflL PRDCEDURE lagr.(r., x) ; REOL flRRflV xlClJ53J VflLUE n, x; INTEGER r.-, REflL K; INTE6ER dev; lagn: = lag (ri, H>/f act (fi) J dev:=6; REOL PROCEDURE fact(n); VftLUE n; INTEGER n; COMMENT Inicial izaci ja pclj nl.in.xl; facts = IF n=0 THEN 1 ELSE r,*f act (r.-l) i r.tClD i= 2; nlCSD := 3; r.l C33 := 4; r,.t C43 i= 6; PROCEDURE glava(dev)j KlCl] != 2.5; «1C£] := 3.6; xl[33 != 4.7; VfiLUE dev; INTEGER dev; xi L43 := 5. B; xlC53 J= 6.9; BEGIN te«t(dev,"*N H n = £ tisk(dev,xl,nl,REOL PRDCEDURE lag)j n = 3 i"i = 4 tisk(dev,xl,nl,REflL PROCEDURE lagn); n = 6")i text

y ri = £ n = 3 >l = 4 n = 6

£. 500IZII2IE m -1.75000E 00 1. 62500E 00 £.38625E 01 4. 76641E 0£ 3. 6tZi0i2i3E m 5.5999aE-01 1. 11840E 01 3. £9856E 01 -6. 307E0E 0£ 4.70IZI0I2E CIIZI 5.£8999E 00 1. 63870E 01 -9. 91983E 00 -1. 67S54E 03 5. 80000E 00 1. 24400E 01 9. £4fl0£E 00 -1.0086SE 02 7. 377£9E 01 6. 9«i2liaeiE 00 £.£0100E 01 -1. fl£169E 01 -1.9991£E Cl£ 4. 47171E 03 Lista 4/9. Tabela vrednostl z laguerr- X n = £ n = 3 r, = 4 r, = 6 ske pollnome: prva podrazoi-edelnica ka- £. 50I38CIE 00 -8.-75000E-01 £. 70633E-01 9.60937E-01 6. 6S001E-01 že nenormirane vred- 3. 600I20E 00 £.79999E-01 1. 864iZi0E 00 . 1.37440E 00 -1. 15378E 00 nosti, druga podraz- 4. 70(Ziia0E 00 £.64500E 00 £. 73117E 00 -4. 133£6,E-01 —£• 3££97E 00 predelnica pa normi- 5. SiZI0ei0E 00 6.££000E 00 1. 54134E 00 -4.£02S9E 00 1. 0246£E-01 rane vrednosti (de- 6. 9lZi00CiE «0 1.10050E 01 03646E 00 -8. 3£96SE 00 .6. £1071E 00 1jene z n!). 40

4/2.4. Legendrski polinomi BEGIN COMMENT Poskusrii izracuvi vredriosti Legendrovega po 1 i i-iorna Procedura leg(n,x) v listi 4/10 izračunava le- gendrski polinom Nasledrga procedura je predmet nase pozoi-nost i **********************************************^ (x2-l)n REOL PROCEDURE leg ; VfiLLJE n, x; REfiL x; INTEGER r,; BEGIN za poljuben realen argument x in za poljubno REflL a, b, c; INTEGER ii stopnjo 'n ' z uporabo rekurzivne formule. a:=l; b:=x; IF n=0 THEN c:=a ELSE DODATEK 5 IF r.= l THEN c:=b ELBE Naslednji razpredelnici opredeljujeta tok ali FOR i: = l STEP 1 UNTIL i-r-1 D0 Stevilko naprave, prirejene V/I kanalu. Te šte- BEGIN vilke kažejo na vstop v liste V/I naprav, kjer c:=b*x+(i/j VOLUE dev; INTEGER dev; BEGIN VHODNI TOKOVI text (dev, "*N x r> = 2 n = 3 n — 4 TOK IME NAPRAVA n = 6"); text; 1 (4) VT: Zaslon rwrite (dev, xl C i3 ) ; 2* (5) TTY: Teleprinter FDR j:=l BTEP 1 UNTIL 4 DO 3* (6) LP: Linijski tiskalnik BEGIIM 4 CON: CP/M konzola text (dev, " " ) 5 5 PUN: CP/M luknjalnik rwrite(dev,leg(nlCj 6 LST: CP/M naprava za listanje END 7 Izhod v V/I zbirčni ukazni vme- END snik END 10 Izhod v pomnilnik (glej seti/ FINISH seto knjižnični proceduri) 11* (0) Izhod na grafičen zaslon Lista 4/10. Ta lista kaže med drugim proceduro leg(n,x) za izračun vrednosti1legendrskega po- * : velja za posebno implementacijo linoma z uporabo rekurzije: Razpoznani diski so: A:, B:, C: in D: leg(0,x) = 1; leg(l,x) = x; Preklopne možnosti so tele: leg(n+l,x) = leg(n,x)*x + CB3 Bločnl V/I (naključni dostop) )*(leg(n,x)*x - leg(n-l,x))j l Modificiran dostop (pisanje pri naklju- čnem dostopu)

X Vi = £ r< = 3 n = 4 i-, = 6 0. 00000E 00 -5.00000E-01 0. 00000E 00 3. 75000E-01 -3.1£50«E-01 Lista 4/11. Tabela 3. 50000E-01 -3.16£50E-01 -4.17S1£E-01 -1. S7££3E-02 2.22510E-01 kaže vrednosti izra- 6.90000E-01 £.14158E-81 -£.13728E-01 -4. 186B8E-01 -9.26139E-0£ čune legendrskih po- 7.00000E-01 £.35000E-01 -1.92500E-01 -4. 1£06£E-®1 -1.S5286E-B1 linomov s programom 9.9B000E-01 9.70149E-01 9. 40746E-01 9.0ES3OE-O1 8.00287E-01 na listi 4/10. INFORMATICA 1/1984 ESTIMATION OF THE AVERAGE TRANSFER TIME OF RANDOMLV CHOSEN BLOCKS FROM A DISC CVLINDER MIROSLAV B. JOCKOVIČ

UDK: 681.327.63 INSTITUT FOR NUCLEAR SCIENCES - VINČA The paper deals with a part of the research of efficlent use of magnetic discs and contains the ana- lysis of the transfer time of a group of blocks on a single disc cylinder. The optimum strategy of accessing sectors was oonsidered in order to minimize the transfer time of selected blocks. The pro- -bability distribution fiinction has been definec" which describes the distribution of blocks, 1 seotor in length, on a magnetic disc cylinder and a mathematical model for data transfer time has been given. The model has been proven on a computer system. The naper also deals with aspects of the model ap- plication. Rad pretstavlja deo istraživanja efikasnog koriSdenja magnetnih diskova i sadrži analizu vremena pre-- nosa grupe blokova sa disk cilindra. Razmatrana je optimalna strategija pristupa sektorima sa ciljem da se minimizira vreme prenosa izabranih blokova. Definisana je funkcija distribucije verovatnoda ko- ja opisuje distribucije blokova dužine 1 sektora na magnetnom dlsk cilindru i dat je matematički mo- del vremena prenosa. Model je potvrdjen na računarskoin sistemu. Rad takodje razmatra aspekte primene modela.' ' • 1. INTRODUCTION •• . • The main restrietion in online processing is oolumns is 1224310 0. This means that one the time it takes to transfer records between block ls in sector column 1, two blocks in sec- store and discs. The delays which result from tor column. 2, etc. The minimum tiransfer time can these transfers can be a very critical factor be realised if we flrst access a -sector column in system performance as a whole. A number of with the maximum number of blocks. So, if we ac- software and hardviare parameters can affect the cess seetor column 4 first,we shall traverse 48 disc transfer time. This paper is only a part sectors in order to transfer 13 blocks. General- of the total problem and contains the analysis ly, we wlsh to investigate the timing aspect of of the transfer time of blocks distributed on the data transfer and to produce an anatLytical a single diso cylinder. expression for estimating the average transfer time of a group of randoraly distributed blocks Suppose that K blocks are requested from the held on a disc cylinder. cylinder with I tracks and N sectors per track. Each block ig one sector in lenght. Let the Little work has been published in the above pro- distribution ef requested blocks, shovm in blem area (for example, see the references 1,2, Fig. 1, be one of the possible distributions of 3,4), although a great deal of related work" has K = 13 blocks on the cylinder, with N = 15 and beeh published on the analysls of disc perfor- I = 20. mance for different file structures. VJeingarten /1/ first discussed the techniques of sector scheduling. He simplififed the drum model, using l\ 1 2 3 4 5 6 7 ... 15 conservative approximations, to the extent neces- 1 . 1 2 3 5 sary for the application of well-known results 2 17 18 20 from the theory of gueues applied to analogous 3 •34v 35 3« queueing models. Denning /2/ extended VJeingart- • en's results and studied the signifioant incre- ~ ases ln the performance of both disd and drum systems brought about by scheduling thelr usage. 2Q 3y scheduling is meant the sequeiicing of exis- 1 tlng demands on the systen according to the sta- Fig. 1. Disc cylinder te pf the system and characteristics of input/ Htunber 1,2,3,4,5,17,18,19,20,34,35,36,49 repre- output devlces. Theory and Pinkerton /3/ impro- sent the block sequence nvunbers on the oylin- ved fatherthe scheduling technics. Fuller /4/ der. If we define a seotor column (denoted by suggested certain considerations in reducing the the shaded area) as a set of I sectors locatec" rotatlonal time. Further investigation in this at the same angle w±th respect to the reference area are.aimed at dlscovering new aspects for raark, the distribution of blocks per sector effecient disc utillsation. 42

2. MATHEMATICAL MODEL tion fcfm fs which have the value 4). Summlng c c' c all different populations, the expression for l 2 J '1 becomes: Let d = (N^ , N2 ,...,Nj ) represents a dis- tribution of requested blocks on a disc cylin- K K-m. K-m,-m, 0 Z der with C, sector columns each including N. = )( » bjocks, Cj sector columns with N^ blocks etc, and finally C_ sector columns, each with Nj (6) mN-l blooks, whereby n I >_ N, > > . .. > N. >_ 1 (1) where u is the total number of populations and which differ one another by the value at least NlCl+N2C2+-*'+NJCJ = K of one element of m. (i = 1,....,N).

According to distribution d we can say Eq. (6) can be easily reduced to:

T(N,I,K) = (3) K!N! U = t (7) * »1lm2l...mNl „ In order to read (or write) and transfer the first block, l+N/2 sectors must be traversed in The number of ways in which K requested blocks average. L, is the rvumber of sectors traversect can be distributed among C^+C^*--.+Cj sector fiuring the transfer of the K-l blocks upon the columns represents the favourable cases in the first block has already been transferred from sense of the distribution d. Let denote this one of the sector colurans from group C,. P- is nvunber by V. In order to calculate the proba- the probability distribution function for dif- lity distribution functlon P^, given by P = ferent distributions of K blocks in N sector d = V/D, we must find V. The evaluation of V is columns. Here, we shall derive a probability as follovs. distrlbution function which gives correct re- sults in the interval 1 <. K <_ N x I. N K There are (_ ) („ .. (8) First we define the total number of possible methods of selecting K blocks from N sector columns, i.e.,U. different selection methods of C\ seotor co- lumns with the maxiraum number of N, blocks per Let n-, , -in~ be lntegers such that sector colvunn, where

1 m m,+mnl+m21H+ +111^ = K, I >2. Ii, —> 00 (4) („ ) = different selections of C, sector colu- 1 mns from a total of N sector columns, The number of ways in which a population of K K )=different selections of C^N^ blocks eletnents can be divided into N ordered parts from a total of K blocks, (partitloned into N subpopulations and orde- red by sector columns;) of which the flrst con- ,) I tains m. elements, the second m- elements, (N 1)^—=permutatlo1 n with repeating C^N^ blocks etc., is 1 stored in sector columns, whereby the sequence within each sector column K-m. K-rru-m, K-m, -m_. . . -m.. _ is unimportant from the aspects of ( > < > the distribution d. N-C, ! Note that the order of subpopulations is ea- There are ( ) ( ) (9) sential in the sense that, for example (m, = =3, m^^S/...) and (m^=5,m,=3,...) represent different methods of selecting C~ sector co- different partitlonsj however, the order with- lumns with N. blocks per sector column, etc, in m^ is not relevant. If we want to introduce and flnally, for the J-th group of C, seotor the order of the subpopulations, we must mul- columns with N. blocks per sector column there tlply the amount (5) by are I Nl/ n a ! -•••-»j-iCj-i,. l=o l ( NJCJ («j is the number of elements in the distribu- (N C J J>' (10) 43

dlfferent methods of selectiori. ""here is an tnsignificant reduction in the transfer time when adjacent sector columns con- As the events (i = 1,2,...,J) are simultaneour tain the maximum number of blocks. the number of favourable cases V is obtained from the product 3. VERIFICATION OF THE MODEL

N K N c K N c ,C,| ! V = ( )(. ) W, - iw - i i tri order to verlfy the model an experiment was (N 1)C2 2 conducted on an ICL 2903 computer system ope- rating under a manual executive. Processing vas carried out on PERI level (ICL's Assembler) NJCJ without the use of Housekeeping package (sets

N C of subroutines which enable the to < J J>' (11) access data in direct accešs files at the rec- ord level). The system consisted of a main program In FORTRAN wlth a PLAN subroutine. The Eq. (11) can be readily reduced to: subroutine measured the access and transfer ti- K!N(S) mes of the contents of a group of blocks into (12) the operating store for each individual distri- (N .c, i bution. The main program identified subsets of blocks in sector columns for each distribution, starting and ending blocks, etc. where N(S)=N(N-1) (N-2)...(N-S+l) (13)

To provide the handling of experimental data, and S = E c. (14) 1=1 J It is necessary to establish the relation bet- ween the measured quantity t._(K) and the para-

Finally, the expressiori for the probability meters of the experiment N, I and K (t.c~(K) ls distrlbution function becoraes the time required to transfer K blocks from S sector columns in 1-th distributlon). Firstiy, N(S) we must determlne the number of ways in which (15) K blocks are dlstributed over S' sector columns Nl( n N,I 1=1 * I for an arbltrary distribution 1, D.q. Suppose l n c now that. we have n. = K, where 1 = 0 means the nuinber of blocks to be transferred Now we need to explain the procedure for gettinq frotn the j-th sector column in i-th distributi- Ld. Addltional N.^-1 revolutlons, or N(N.-l) nn. The nuraber of n^.^s different from zero sector times (one sector time is the fime for must be equal to S. It comes out that exactly readlng or writing 1 block) are reguired in or- N-S of rij .'s must have zero value. The number der to transfer N^-l blocks from each of the of dlstributions of n.. blocks over I tracks sector. columns from group C, . During this pe- 1 I 'of j-th sector column is ( ). Accordingly, riod all blocks from groups of sector columns n D. is given by C2,C3,...,Cj wlll. have been read as they have fewer blocks per sector column. However, we "II- "12 iN need to add N(l- —) sector times for transfer- Multlplying D^. , by t (K) glves the time to rlng the last blocRs from the remaining 0,-1 ic transfer a.1.1 D. comblnationa of K blocks from seotor columns. Thls increment in tlme due to S sector columns in a glven distributlon i, T^,, last blocks in group C^ ls calculated using the The number of distributions i ls the number of mathematlcal theorem given and proven In distinguishable distributions in which none of APPENDIX . if we denote thls lncrement by M(C), ^ sector columns remains empty and amounts to i'ts value Is readily obtained by substltutlng /ref. 5/. C = Cx-1 in M(C). The total time for this dls- SK tributlon, together wlth the addltional l+N/2 ^vldentl^, T.,, must be sutnmed over all R- dis- sector times for reading the first block, tributions tol bobtai n T_. It should be noteo d amounts to N that Tg is obtalned only for one. of (g) possible

I,d=N(N - (16) comblnations of sector columns. To include all („) combinntions of sector colunina in our sta- tistical comoutat.ions it is necessary to 44

^s it can be seen from Flg.2, the results of imiltiply Tg by (g) to obtain TNfg. Now, TN^S should be sununed over all values vrtiich S can the analytical and experimental approach are FK "ery close. Slight deviations in the results take. Evidently, the lower value ots is Sp-\ji while the upper value is S = N for K/N >_ 1 and nre due to insufficlent statiatics when timing input operatlons in relation to the timer re- S q = K for K/N < 1. Thus, we obtain s solution and the operating system overhead. q T_ _ = l T. „. The experimental mean trans- Because the effect of the channel queuelng has s s N Ts P' g sp ' not been considered the experiment was carried fer time,t (N,I,K), is evaluated by dividing e out in monoprogramming condltions. * T _ by the total number of all distributlons Sp'Sq Technical characteristics of ICL exchangeable of K blocks over N sector columns with I tracks, dlsc store, model 2815, whlch are relevant ln N . .. The normalized experimental mean number this paper, are: N=15, 1=20 and T =25 msec of traversed sectors durlng the transfer of K r (time for one revolutlon). blocks, fe(N,I,K), is obtained by dividing t (N,I,K) by the time required to transfer one 4. APPLICATION ESPECTS OF THE MODEL block, t.. Finally, our relatlon for statisti- cal computation looks like: In general case, a cylinder may contain multi- hlock records,many flles or thelr segments, v>lth competing access by many users. The time Z TN,S aspects of the magnetic dlsc use could be sig- fcb*Ntotal nlflcantly improved by further development of

S=S R the operatlng system in the llght of model SK N I T )t; (K) described. The would there- Č) l („)(„) n lS S n iN fore have to support the queueing lists in S=Sp 1=1 "il 12 (17) front of each sector column of the cylinder, to establish the correspondance between records S=S 1=1 i2 iN and the associated blocks and to control the transfer between the system and user buffers. The input to the experiment are N,I and K. All h modificatlon of the SATF (St;ortest Access other values, intermediate results and neces- Time Flrst) strategy would be used for acces- sary comblnations are calculated in the main slng the data on a cylinder. program. Usincj this approach, we exclude a great amount of computer processing tlrae, but not re- The results presented can also be used when ducing the quality pf the experiment. implementing a slmulation package for model- llng certain situations which can occur during The results shown ln Flg. 2 are obtained from: processing of diso files. a) the model, Eq.3,(T), b) the Eq. 17, (T^), and c) the approximation uslng the 5. CONCL0SION

fitting polynomlal P4(x)=a4.x +a3x +a2x ^a^^+a^ (T ). The coefflclents found through fitting are f The paper demonstrated that the minimum data a =~9.69x1 (T8,a =5.0xl0~5,a =-7.82xl0~3,8^=1,4 4 3 2 transfer tlme Erom a magnetic disc cylinder is and a =20.47. Q ?ichieved if the sector column with the maxlmum 360 number of blocks to be transferred is accessed flrst. It Is assumed that the devlce remains 'iusy untll the end of transfer of the group of '' blocks, irrespective from block positions on the cylinder. A correct probability distribution functlon defining the probability of each random selection of a group of K blocks from a set of "xl sectors is derived. Although the paper con- siders only the physical data organisation, a suggestlon is made to include the model descri- bač into the operating system in order to improve 0 30 60 90 120 150 180 210 240 270 300 K /BLOCK/ t:he system performance. Fig.2. Results; '-'model, 'V'experiment, •"o'approxlmat Jon 45

APPENDIX REFERENCES

Theorem: /1/ Weingarten A., The Eschenbach drum cheme, Conun. AGM 9,7 (July 1966) If C of different integers are Belected ran- /2/ Dennlng P., Effects of scheduling on the dpmly (with no replacement) from a group of file memory operations, Proc. AFIPS SrfCC, integers 1,2,...,N, the expected value of the Vol. 30.AFIPS Press, Montvale N.Y.,1967 maximum integer ainohg C numbers selected is /3/ Theory T.J. and Pinkerton T.B., A compara- tive analysis of disc schedullng pollciea, M(C) = (1 - -J^Č>N CACM, Vol. 15, No 3, 1972. /4/ Fuller S., Analysis of Drum and Disc Storage Let us give one of the possible prodfs for Units, Sprlnger-Verlag, Berlin-Heidelberg- this theorem. - New York, 1975 In taking C numbers out of N posslble numbers, /5/ Feller W., An Introduction to Probability the maximum numbers can be, C, C+l, C+2,..., Theory and its Appllcations, Vol. 1, John N-1,N. The reraaining C-l numbers can be drown Wiley & Sons, New York, 1968 in the following number of ways /6/ Coffman E. and Denning P., Operating Systems Theory, Prentice Hall, New Jersey, 1973 .C+l, ,N-2, ,C-1. . C -1. (18) /7/ ICL (1974), Direct Access, Technical Publi- C""l ' CC——l C—l i ' -1 catlon 4385 The total number of possible combinations in /a/ ICL (1972) , Plan Reference Manual, Technical drawing C numbers amounts to (?). Therefore, Publicatlon 4322 the mathematical expectation of the maximum value of the integer among C selected is:

M(C)

i-1 £ II ) (19) i=C _C_ " .1. (?) ' i=C C

For the calculation of the sum Z (Z.) the fol- i=C C lowing mathematical relation will be used:

m Z (20) k=o From Eq. (20) and (19) follows that:

N . N-C t (C^k) (21) i=C k=o L

By substitution Eq.(21) into Eq.(19) one obtains

_• C ,N+1, M(C) N+1 ČTT« > (22) and for a large N (N >> 1)

M(C) = (1 - T+č)N (23) INFORMATICA 1/1984

Ml KROR ACUN ALN IŠKI SISTEM ZA NADZOR IN VODENJE DNEVNIH KOPOV MILOŠJENKO, BOŠTJAN DELAK

UDK: 681.519.7 ISKRA DO AVTOMATIKA, TOZO PROJEKTIRANJE IN GRADNJA SISTEMOV

Članek podaja multimikroračunalniški sistem zasnovan na serijskih vodilih in možnosti njegove uporabe v nadzoru in vodenju segmentov in dnevnega kopa v celoti.

Sistem je aestavljen iz aparaturne opreme družine TI-30 in programske opreme, katere centralni del je programski paket MOSPIK (mikrooperaoijski sistem protokoliranja in krmlljenja).

Prikazana je modularnost celotnega aiatema in povdarjena je njegova uporabnost v aplikacijah razliSnega namena in obaega.

Programski paket MOSPIK omogoča zajem do 240 signalizacij z ločljivostjo 10 ms in 55 analognih meri- tev v 5asu ene eekunde. Vsebuje vse standardne obdelave nad vhodnimi informacijami in nudi možnost prikaza informacij na aifanumerlžnem zaslonu ali pisalniku.

V Slanku je podrobneje obdelana aplikaoija paketa na projektu REK Bitola, kjer je izpeljan nadzor delovanja štirih bagrov, dveh odlagalcev, drobilnice, transformatorake postaje in sedemnajstih tran- aporterjev.

The article deacribea the microcomputer aystem, baaed on aerial buses and possibility to be applied for aupervision and control of aegmenta and surface mining on the vhole.

The aystem conaista of hardware from family ?I-30 and software the central part of which is the pro- gramming paohage MOSPIK (microdperational aystem for regi8tering and control).

The article repreaents the modularity of the entire system and points out its usage in applicationa of variona purposea and acopea.

Programming pachage HOSPIK encompaasea up to 240 aignallinga with resolution 10 ma and 55 analoge meaauringa in -time of one aecond. It deals with 8tandard prooeases of input information and indi- catea it on alfanumerical diaplay or printer.

The artiole ahova itiall detaila the application of package on the project REK Bitola where the sys- tem superviaes four dredgera, two unloadera, cruahing unita, tranaformer stations and 17 conveyers.

Procesiranje informacij v projektu REK Bitola Naloga prpgramskega paketa MOSPIK pri zajemu se sestoji iz treh delov: je, da določi apremembe digitalnega vhoda. - zajem informacij Pod to adreso je vaebovana skupina osmih eno- - obdelava informacij bitnih digitalnih aignalizaclj, ki vsebujejo - izdaja informaoij tudi na8talo spremembo enega ali ve5 digital- nih vhodov. Informacija, ki vaebuje naslednje podatke:

ZAJEM INPORMACIJ - byte, ki oznažuje akupino digitalnih informacij, kjer je naatala sprememba,

V projektu REK Bitola zajemamo 574 enobitnih - adreaa akupiri, kjer so naatale apremembe, digitalnih informacij z loSljivoatjo ene ae- kunde. Dobimo jih preko telemehanskega siate- se shrani v krožni pomnilnik, ki predatavlja ma TM-15 in digitalnega aparaturnega modula vhodni vmeanik za nadaljno obdelavo vhodnih DIV-D. informacij. 47

Modul, ki ima nižjo prioriteto Izvede, iz prej Celotni izpia pri projektu REK BITOLA 8e vrši omenjenega vhodnega ymesnika naalednje opera- na enem vhodnera kanalu - na printerju. Kljub cije: ' zuhtevi po izpiau spontanega protokola se lahko clkliSni protokol neprekinjemo izpiSe. -. iz byta, ki označuje skupino spremernb, Ta ae v tem primeru izpiše po zaključku ugotovi število blokov, ki jlh bo treba cikliSnega protokola. formirati za vpis v naalednjl vhodni vmesnik modula, ki bo iavedel nadaljne Seatavljena vrstica v obliki A3II kode se s obdelave, pomočjo modula za izpis preneae v izhodni vmeanik. Vrstica 8e na izhodno ehoto - vsak formirani blok VBebuje podatke: (printer) izpiauje žnak po znak a pomoSjo mon- - dolžina bloka; itorakega dela programakega paketa HOSPIK. - adreaa akupine vhodov, kjer je nastala aprememba; Hodul za apontani izpia vzame iz pripadajofiega ~ digitalno stanje na vhodih in vhodnega vmeanika podatke. Po vkljufienem al- realni 5aa naatanka spremembe gorltmu a pomoftjo statižnih list doloSi kodo (ura, ralnuta, sekunda in sto- digitalnega vhoda in pripadajofie delne tekate. tinka sekunde) Vratioo apontanega protokola aeatavljajo: - koda digitalnega vhoda, - tek8t z opisom digitalnega vhoda, - atanje vhoda in realni 6aa naatppa apremembe na digl- talnera vhodu.

Modul za olkliSni lzpis s poroočjo dinamiSnih OBDELAVA INPORHACIJ in atatižnih liat aeBtavi 25 vretio teksta za 25 objektov. Te vratice preneae v izhodni vmeanik za izpla na printer. Vratica cikližnega izpiaa vsobuje kodo objekta, tekst- S pomočjo statičnih listin vhodnih podatkov ni opis objekta in Žaa delovanja za cikel poišže v ranžirni listi (programaka preslikava zadnjih oamih ur. enobitnih digitalnih fizičnih vhodov) uatrezno podlisto, ki vsebuje zadnje stanje vseh digi- talnih vhodov v eni skiipini in pripadajoSe tehnolonke adreae. S, primerjanjora vhodnega byta atanj in byta atarjj v ranžirni podliati, poiSče apremembe atarij digitalnih vhodov v skupini." S porao^jo tehnoloSke adreBe vpiše novo atanje v banko digitalnih aignalizacij.

Pri izraSunu 5aaa delovanja po8ameznega objek- ta se pripravi vhodni vmesnik za modul za izračun oasa. Ta VBebuje podatke: - dol^ina bloka, - tehnološka adresa digitalnih aignalizaoij, - realni fiaa naatanka apremembe.

Ko je apreraemba obdelana, modul pripravi blok podatkov za izpls obratovalnega atanja infor- macije. Ta blok vsebuje: - dolžino, - številko izhodne enote (CRT, printer), - podatke o realnem čaau spreraerabe, - pripadajoče tehnoloSke adreae, ~ atanje digitalne informaolje.

VplSe se v vhodni vmoBnik modula za izpia obratovalnega protokola.

Modul ?,a lzračun Saaa delavanja objektov doloži 5a*3 delovanja a pomočjo vhodnega vmea- nika in atatižnih liat. Ta fiaa delovanja v zadnjem lntervalu ae priSteje k okupnem casu delovanja objekta.

IZDAJA.

. Izdaj inforioacij je sestavljena iz dveh delov:

- spontani izpis inforraaoije - cikližni izpis inforraaclje INFORMATICA 1/1984

FUTURE DEVELOPMENTS IN COMPUTER ARCHITECTURE

J. V. KNOP, K. SZVMANSKI, N. TRINAJSTIC UDK: 681.324 COMPUTER CENTRE, UNIVERSITV OF DUSSELDORF 4000 DUSSELDORF, FEDERAL REPUBLIC OF GERMANV

Abstract and Integrated circuits. This progress has historically gone from circuits containing An overview is given of the development of gates, to MSI (Medium Scale Integration) cotnputer architecture. If is shown which chips for byte-sliced processors, meniQry an<3 approaches provide more computational input-output functions. The current plateau power without changing the well-known hard- of microrairiiaturizatidn, namely Very-Large- ware technology of silicon-based chips by Scale-Integration (VLSI), is enabling the developing new computer architectures. Multi- introduction o£ integrated circuits (ICs) processors, dispersed networks,, local net- with cost performance characteristics works, data-flow systeras and highly parallel (Figure 2) that are orders of magnitude systems are discussed. Their impact on superior to circuits available only a few matheraatics and natural sciences is years ago. By the mid-8Os, million-bit memory expected to be-enormous, especially in the components should be in production. By 199 0 area of non-numerical aspects of computing, single-chip microcomputers and custora ICs can be expected to contain a million active far surpassing the present achievements. devices (e.g. transistor elements) (2). •Povzetek_ Pddan |je pregled poti razvoda računalniškje ar- hitekture.Obravnavani so večprocesorski siste- throughput mijporazdeljene in lokalne mreže in sodobni pa- ralelni sistemi.Povdarjen je vpliv tega razvoja asymptotic area na naravoslovne vede v okviru-nenumeričnega ra- čunanja. domain of Grosch- Rule

1. Introduction

Considering ttie development of.digital "com- puters one finds that the speed of computa- tion was increasing by a factor of 10 every 3 years throughout the siitties and seventies. This tendency was described by the "Grosch- Rule" (Figure 1) which states that the com- costs putationai power is a function of the souace (with one central processor) of the costs (effort) (1); if one pays twice Figure 1: Grosch-Rule the price of its predecessor, one obtains a coniputer which has four times the computa- tional power. And this computer had the But this progress in microminiaturlzation advantage of being compatible with the has to come to an end as physical boundaries predecessor. The reason of this development are reached. We only point to limitations has to be seen in the rapidly evolving present in the fabrication of the chips technology of microelectronic components (wave length of light), the probleras of 49

What we can see at this point is that the Figure 2 validity of the Grosch-Rule is bounded so efficiency/costs far as computers of the normal "von Neuraann" -type are concerned. The. Grosch function will lead to an asymptotic behaviour. By a von microprocessors (2OO:1/decade) Neumann architecture we understand a coraputer _ . ,sečondary memory consistlng of a memory, a control unit and . (100:1/decade) —-main-fraine cpu an arithmetic/logic unit. Instructions and (1O:1/decade) data are stored in the memory and are processed in a "natural" sequence of instruc- tions and addresses (Figure 3).

1960 I97O 1980 year

several physlcal effects on the chip such as - powec dissipation - usable area of silicon, - cosmic-radiation faults, Input - thermal and electrical noise, etc.

Of course extensive cesearch and development Figure 3: von Neumann computer in the £pllowing areas will extend these boundaries - process and material technologies A new appcoach to get more computational power (especlally in regard to improved materlal has- to be made. This approach uses well-known purity), hardware and trles to ftnd a way to get.raore - lithography techniques (improvements In computational power by corabining many com- photolithography, UV, x-ray and electron- puters into a network of computers, into a beam llthography), raulticomputer system. Several types of multi- - design and simulation techniques, computec systems have been developed: - packaging (for example, effective heat dlssipation, reliabtlity and pln-out 1. multiprocessors, limitations), . 2. dispersed networks, - testing (adequate fault detections, cost 3. local networks and distrlbuted systems, efficencies, selftesting, etc.) 4. data-flow systems, 5. hlghly parallel and internally concurrent In this area the combined efforts of systeras. molecular biologists, chemists, physicists and mathematiclans may introduce quite a new We will consider these five types of multi- technology based on the idea ofthe molecular computer systetns and discuss some o'f the switch. Thefore, the research ln the area advantages and disadvantaqes of these types of bioelectroni.es should be viewed with of architecture. optimism and hope that new kinds of chips (biochips) will emerge with superior properties in comparison with the chips presently in use. 2. Multiprocessors

One of the £irst ideas of getting tnore GO computational power was the simple multipli- cation of the structure which led to multi- SCHEME I processor structures. In 1971 Minskv made the conjecture that you can only exoect

throughput maxlmum=p

The limlted local complexity of multi- computer systems

ld p

So while constructing multiprocessors one has to reduce the global complexity, for instance by connecting one processor not with all the other processors but only wlth his (number of processors) p four neighbours. Hereby you can assuce that Figure 4: Minsky's Conjecture the local complexity will be constant and the glohal complexity grows only linearily.

SCHEME II

This conjecture is nowadays assumed to have been hindering the research on the field of multiprocessors, because of the conditions for Minsky's statement was that only one job is processed. One finds other conditions iE one processes more than one program or pro- grams which have the ability to be processect n = 7 in pacallel. One of the greatest difficulties in constructing multiprocessors is the "degree of complexity" resulting from the necessity of combining all processors with each other, while the local complexity (that is the number of processors which are Unked Global Coraplexity 21 to one processor) is only growinq linearly. In the graphs in scheme I and II the proces- Local Complexity k = n-1 = 6 sors are denoted by the vertices and the connections hetween them by the edqes. It is easily seen that the local complexity - the degree of the vertex - is equal to n-1 If each processor is connected with each In the times of expensive hardware a con- other processor (n is the nuraher of proces- siderable effott was spent on the construc- sors), and the glohal complexity is eonal tion of systems which made sure that the to the numher of connections, i.e. edges of: processor at any time finds a proqram which the graph, k = n(n-1)/2. can be processed. 61

This led to the principle of time sharing. 3. Dispersed Networks , Now in the times of diminishing hardware costs one finds a tendency that a program 3.1 Logical Structure (or better,;task) will stay in a processor for a longer time, processes data and moves As communication reliabilitv continues to data to the next processor which is then increase and lohg distance communlcation responsible for further processing of this costs continue to diminish, it becoraes in- data. One gets a flow of data through a field creasingly feasible to develop computer- of processors working in parallel. To orga- coramunication netv/orks spanning wide geo- nize the data flow through the processors gcaphical aceas. The demand for reliable, and distribute the tasks to the processbrs controllable communications in distributed the operating system may be in a special systems, and to some extent, the desire for processor or special layer of processors (if veriEiable protocols has led to the defini- the operating system is divided in parallel tion and standardization of various levels working tasks, too). The architectuce o£ this of intercommunication abstractions in such multiprocessor will look like a pyramid of networks. The current decomposition is the processors linked. horizontally and v.erticallv 7-Layer-Model (4) (Figure 7) such as together (Figure 5). At this point we have to mention that all processors are of the Layer Examples von Neumann-type. 1. Physlcal ISO 25^3 (International Standardization Organisa- tion) 2. Link HDLC (High-Level Data Link Control), SDLC (Synchronous Data Link Control) Network X.2S Transport TCP (Transport x;ontrol Protocol) Session SNA (System Netw'ork Archi- tecture) Presentation VT (Virtual Terminal) Application IPC (Interprocess Comuni- cation Prptocol), FTP (File Transport Protocol)

Flgure 5: Multiprocessor architecture with cOnstant local complexity intermediate node

It is useful to construct prograras beinq processed on such a multiprocesšor in a way that segments o£ the program which are pro- cessed concurrently are formulated in special tasks. We give as an exarnple of thi.s way of processing the "Many-Body-Problem" in auantura Data Link mechanics (Figure f). Another example which can be solved easily in this v/ay is ab initio Physical coraputations in quantum chemistry (1). physical media for . interconnection

Figure 7: Layers of the reference-model 52

/'start ~\

start module processor set counter i=1

compute compute compu te compute new iew new new location increment location loc. location body i 1 i n

change old change of location by new coordinates

put results put results

Figures 61 Many-Body-Problem (seguentlal) Figure 6: Many-Body-Problem (parallel)

Standardization of the lower fout levels in this hierarchy provides the basis for fle- xible interconnectability. The physical level is concerned with the actual sequence of hits being transmitted on a communication channel 3. 2 Exampl.es between systems. The link level is concerned with the establishment amd maintenance of A good example for a dispersed network is internode links. The network level is concer- the ARPANET, although its protocols should ned with maintenance of the network and pro- be considered as prototypes rather than as tocols for sy8tem intercommunicatlon, inclu- standards, A new network has just heen esta- ding routing. The tranaport level is concer- blished in the U.S. as a project of the Na- ned with the transmisslon of packets, par- tional Science Foundation: CSNET (The Com- ticularly end-to-end control of their rell- puter Sctence Resea.rch Netuork) (5). It is able delivery. a logical network (Fiqute 8) utilizing the The upper three levels are more applicatlon services of several physical networks, namely dependent and consequently less rlefined. It ARPANET, Phone Net, Telenet. There are three is hoped by the standardlzafcion qtroups that service-functions implemented ln CSNET the establiahment o£ such standardB will have a stabillzing influence on computer proli- - netwotk mail (avallable to all users) feration, i.e. by increasing the abllitv ot - ftle transfer, to copy files from one computers to be linked together. Thls stan- host to another, remote login, v/hich is dardization is also important to permit the the ahility to log into one's local CSNET construction of multicomputer structures of host and use the network to qet to another different hardv;are-components. CSNET host and log in there. 63

mation services, libraries, patents infor- mation, dat networks.and electronic mail services. These should be accessible from the user's desk. For example, automated office systems generally based on interac- tive connected to a communica- tion network. In conclusion .one-can say each has some degree of functionality: text pro- cessing, communica.tion and personal appli- cations, whlch include in many cases graphic functions (7) .

Workstations are typically single user (hut multi-tasking) computers with local proces- sing power, a keyboard, a visual display screen (which can eventually be replaced by Figure 8: Logical Structure of CSNET (5) a TV), local magnetic storage (floppy or Winchester drives) and a quality printer. The keyboard should be suitable for text 3.4 Workstations handling. In many cases good support of program and data input is also useful. The In close connection with the development of keyboard may be replaced or supplemented by dispersed networks we have to see the devel- a raouse or another easy input system. The opment of workstations. Due to the sinking high rresolution šcreen may have graphic faci- costs of hardware, personal computers are lities, for both line art graphics display gaining more iraportance. They may be used and for the^ display of fabšimile transmis- in offices (public and business administra- sions and other digitised iraages. For tion), schools, universities (6), research graphics a non-impact image prihter is requi- laboratpries (6), computing centers,.etc. red; For economic reasons this will probably Portable workstations help t.o allow one to need to be a shared central facility, but becorae independent of a certain worklng in the longer term it may be possible for place. • this to be provided in the workstation. In contrast to the use of terminals of main- Ergonomic considerations are important not frames, single-user-computers guarantee inde- only frora the point of view of convenlence, pendence and are always available. The user comfort and safety 6t the operators, but also profile may be designed to the knowledge and for the need to minimize errors by bad human the special interest of the user. interfaces. As workstatons come into use in However, in many cases workstations alone offices and other normal working places will not be aufficient. A user may need faci- thlngs like visual screen, keyboard, etc. , lities which are expensive to buy or which have to be designed to ergonomic aspects. any user does not use continously. A high- Environmental factors as heat and noise, speed printer, a good quality printer, high- etc., have to be considered (8). Other gene- speed disk storage, archiving .Cacili.ties and ral important points o£ v/orkstatiohs are service progcams are examples for such-faci- reliability, siraplicitv, flexibility and lities. In addition, there are problems which adaptibility. cannot he solved on a small personal comnu- ter, but must be done on latge or very large In almošt any case text processing facili- computers. ties are required. Taylored'to the different roles of workstation there may exist diffe- Second, the normal office worker or soientist cent software modules: decision support sys- or any other person using wnrkstaklon.s does tems, computer aided graphics and design not work in a vacuum and neecls to coramunicate tools, compilers, et.c. . in various ways with the ontside world. To ailow the comraun icat ion functions, wo'rk- To do this there is a need Eor accoss to stations niust have access facilities to Local specialised services and databases, inflor- Area Netvjorks and to Public Networks. 64

The following should be available, for can he up to 500 meters in length. The cur- example: rent design is limited to a maximum distance of 2.5 kilometers. One hundered terminals - electronic ntessage syBtems for person-to- can he supported per segment, and overall person communication maximum is at present 1000. - teleconferencing systems The Ethernet, as it is raost often used, acts - Teletex merely as a communication rnedium. Computa- - Facsimile: electronic transmission oC tional resources of a particular maschine iraages which typically are not text, such are not made available to any other maschine as pictures, drawings, annotated documents, in the local network. etc. Xerox has been pursuing a very interestinq - remote data access: file transfer, aceess expeciment in which programs can span to remote (distributed) data bases maschine boundaries. Such programs are called - remote access to central computing worm programs. A worm is comoosed of program facilities segments, each of vtiich is capable of running - terminal access to other computers on any other raaschine. The worm mechanism - remote job entry. finds free machines as needed.

4. Local Metworks and Distributed Svstems 5. Highly-ParaXlel and Internally Concurrent Systems The technology developed' for distributed net- works has also influenced the deslgn of? local The computer architecture introduced with networks (4,9). From a functional point of - dispered networks and view, a lpcal computer network may be thought - local networks of as inhabiting a region between multipro- should increase the computational power in cessing systems and dispersed networks for the sense ot gettinq more throuqhput for a purpose of resource sharing. Characteriatic community of users, to get additional func- of a local network is the existence of a tions on remote hosts or to find adeauate high-speed transmission medium (up to 10 computational power toc solving special kinds MBits/s) for data transmission over a "limi- of problems. These architectures do not help ted" (i.e. 0.1 -10 km) distance. The natnre one to get high speed for extensive cotnputa- of the transraission medium and the topology tion for solving a single problem. For these of the network are left unspecified. Several cornputations for instance on the field of network adapters attached to this transmis- computer tomography, pattern recognition, sion medium serve as line interfaces for or ouantum chemistry, one needs the so called computing equipment. The adapters transmit supersystems (10,13). By a supersystem we data on the transmission medium. Computing understand systems with throughput in excess system coraponents can he attached to the .of one billion instructions per second and adapter. Much effort has been devoted in v;ith general purpose computational flexl- recent years to develpping technologies for bilty. These systeras, of course, do not exist local networks. Two oE the basic networklng today). technologies that have been developed are At this polnt of discussion we have to men- the ring and bus network. One of today's most tion highly parallel and intetnally concur- widoly emulated local netwock technologies rent systems such as ILMAC IV and vector- is that of the Ethernet (2). Digital Eauip- machines as CDC Star, Crav 1 and CDC Cyher ment Corporation, Intel Corpnration, an^ 205. The systems are often thought of as Xerox Corporation ace jointly doveloping a multicomputers hut they can be thouqht oE local acea network hased on Xerox Ethetnet. at a verv hiqh level of abstractlon as This network consists of a eoaxial cahle as systems that logicallv have only a sinq.le transmission meciium and transceivers tr> link processor and a sinqle instruction stteam different kinds of computers, peripherals which Is able to operate on a field of! data. and data terminals. The netv;ork is desianed These architect-.ures do not lead to a super- to operate at 10 million bits per second. system hecause of lack of qeneral purpose' A typicaJ. cont: iquration consists of onc or computational flexibility. more segments af. coaxial cable each of which 55

typing time, preparing addresses in some way, • postage, tirae spent while information travels 6. Data-Flov) Architecture Eroin sender to receiver,etc.) . A reduction in cost is expected hečause the network com- One of the most exciting new directions in munication becotnes a one-man opecatlon. Besi- multicomputer acchitecture is uncniestionablv des, in science it becomes a scientist-to- the data-flow concept (2). In traditional scientist communication without going through computing systems (von Neumann machines), any structure in between them. In addition, a processor addresses a piece of data hy its it is a 24-hour a day, every day of the week, location. An instruction is executed with open system. This becomes even more important whatever data happen to be in that location in connection with the prediction of many and the processor then goes to the next in- that a great number of the scientific jour- struction. Thus the data come to the proces- nals will gradually change their mode of sor in a sequentially preprogrammed way. In printing and distribution. It is exspected data-flow architecture there is no expllcit that they will be electronically prepared concept of a program counter or of control and distributed through the network communi- flow. An instrucfcion is ready to be executed cating units. whenever all its operants are in place. Thus execution of many instructions may happen concurrently, in an order that need not be 7.3 Knowledge Centers determined in advance. As a oonseouence this architecture offers a great potential for Many computations in natural sciences, espe- the futuce of very large computations, es- cially in physics and chemistrv are routine pecially those that permit extensive instrin- work. However, the results are not available sic concurrency. The only disadvantage of for all concerned. This is so because raanv such a system is that it is not developed do not possess eithet the computing devices until now. The data-flow architecture is an or the necessary soft-ware or the time for . architecture which is far away from the von doing the desired computations. The lack of Neumann architecture. the first two factors may be avoides by establishing the national and internatlonal knowledge centers for eacb faculty o£ science which would provide the necessary to know-how, 7. Some Application to Natural Sciences computations, and even the interpretations. The time factor is related to the predicti- 7.1 Portahle Soft-ware vity power of the given theory and the rela- ted soft-ware, because in this ever competi- In order to increase the usefulness of per- tive wocld the standard theoretical calcula- sonal computers, the exchanqeability of pro- tions should not last longer i-.han the telated graras is a necessary contition. Therefore, experimental work (14) • one may expect the growth of the availabi- Finally, the justificatipn for establishing lity of portahle programs in the future. the knowledqe centers is also the Eact that we cannot expect that the time will ever come 7.2 Network Communicatlon when everybody would possess the time and the necessatv specialised hard-ware and soft- For many results observed In natural sciences and matheraatics, the essential quality is the speed and the cost of one dissemination In order to sunimarize this šectton we point of information. Under the speed of dlssemi- out that tho use of compnters in natucal scien- nation of information we consider, for ces and mathematics will be influenced by example, tcansraltting slmultaneously the two major factors. Tlie flrst one is of the information to sav 200 plaoes in less than organisational nature and the other one is 30 minutes. The transtnitted information mav of technical nature. Only improvements and be a new experimental data, or a correction new developments in both asoects may bring of some previously puhlished data, etc. The forth the rational use of computers in cost of trahsmitting information in thls wav chem.istrv. is expected to be roduced in comparison v/ith the cost of classical svstems lsecretarv's se

4. Carl Troppe, Local Computer Network Technoloqies, 8. Concluslons (Academic Press, New York, 1981).

In the future we see the development of 5. CSHET Project Status Report 7/8/8?. microcomputers to such an extent that they will overshadov/ the traditional main-fcame 6. Deutsches Forschungsnet7: - DFN, hard-ware. We see black days for mainframes, Bericht der Arbeitsgruppen, Karlsruhe, because they falled to produce the techniques 1982 for computer-computer communications, like local network and is not yet possible to 7. M. H. Olson and H. C. Lucas Jr,, carry out the automatic decomposition of Coram. ACM, 2?L>s - fi38 (1982) large numerical and non-numerical prohlems to loosely coupled part-problems. Therefore, 8. S. G. Price, the Amdahl- Cray-Cyber line is prbbably a Introducing the Electronic Office, dead end line because it does not permit the (NCC Publications, Manchester, 1979). development of the novel concepts in computer technology. 9. K. C. E. Gee, Local Area Networks, (NCC Publications, Manchester,

10. R. G. Arnold, R. O. Berg and W. Thomas, Blbliography IEEE Trans. Comput., C 33, 3R5, (1982).

1. G. Regenspurg (Ed.), 11. E. E. Swartzlander, B. K. Gilbert, GMD - Rechnerstruktur - Workshop, IEEE Trans. Comp., C 31, 399 (1982). Beficht Nr. 128, (R. Oldenburg Verlag, Munchen-Wien, l°80). .12. J. P, Iqnazio, D. F. PalmeT, and C. M. Murphy, 2. P. G. Neumann, D. H. Brandin, IEEE Ttans. Comput. C 31, 410 (J982). J.-A. Goguen, J. Goldberg, and M. A. Placko, Directions for Future 13. K. B. Irani and N. G, Khabba?., Research and Development in Multicom- IEEE Trans. Comp. C 3), 419 (1982). puter Systems, SRI Project 1f)?fi. 14. M. J. S. Dewar, Science 1QQ, 531 3. R. Seege, J. Comput. Chem. ?., 168 0 975) . INFORMATICA 1/1984

O I MPLEM ENTACIJI PREVODIOCA LIPSKIT LISP - JEZIKA NA JEZIK SECD -MASINE IZVRŠENOJ NA IVANSTOJMENOVIC, FORTRAN - JEZIKU VOJIS LAV STOJ KOVIC, LJUBOMIR JERINIC, JULIJANAMIRCEVSKI UDK: 681.3.068 INSTITUT ZA MATEMATIKU, NOVI SAD

Programski jezik LISPKIT LISP je jedan dijalekat programskog jezika LISP. U radu je detaljno opisana implementacija prevodioca LISPKIT LlSP-jezika na jezik SECD-mašine. Implementacija je izvršena na FORTRAN-jeziku i pro- sle&ena je na raSunaru DELTA 11/34-0 Instituta za matematiku Prirodnomate- matičkog fakulteta u Novom Sadu. Navedeni prevodilac je sastavni deo interpretatora LISPKIT LlSP-jezika. Koliko je autorima poznato, ovo je prva implementacija LISPKIT LlSP-inter- pretatora izvrsena u našoj zemlji.

An implementation of LISPKIT LlSP-translator, The programming language LISPKIT LISP is the one dialekt of the programming language LISP. In this paper was desoribed the one implementation of the translator of LISPKIT LlSP-language to SECD-machine language. The implementation is completed in FORTRAN-language and is tested on the DELTA 11/3^ computer system of the Institue of mathematios Universitjr of Novi Sad. The translator is the part of LISPKIT LlSP-language interpreter. The authors don'tknow any similar implementation of LISPKIT LlSP-interpreter in Yugoslavia.

1. Uvod U ovom radu je detaljno opisana implemehta- cija prevodiooa LISPKIO? LlSP-jezika na jezik Programski jezik LISP (McCarthy [3]) je naj- SECD-mašine. Implementacioa je izvršena na poznatiji jezik veštačke inteligencije. Kori- FORTRAN-jeziku i prosledena je na računaru sti se za implementaoiju sistema i visokih DELTA 11/3^?. programskih jezika veštažke inteligencije. Navedeni prevodilao je jedan od tri sasta- Od 1958. godine do današnjih dana izvršeno vna dela interpretatora USPKIT LlSP-jezika je niz programskih i mašinskih implementaoija napisanih na višem programskom jeziku: LlSP-jezika i njegovih dijalekata. Najpozna- 1) IiISP-prevodilac.PORTRAN, tije su sledece implementacide(Boley [l])s 2) LISP-prevodilac.LISP (Hedderson [2]), Godina Verzija Autor Hesto-Ustanova 3) Simulator SECD-mašine.FOR0?RAN(Stojkovi6 58 LISP 1 McCarty MIT [6]). 62 LISP 1.5 McCarty MIT (Videti sliku 1) 68 LISP A Sandewall Uppsala Za izvršavanje (rad) LlSP-interpretatora 7o Moon MIT neophodan je jedan od sledeca dva para pro- 73 LISP70 Tesler Stanford grama: 73 MLISP2 Smith StanfoixL A.l. LlSP-prevodilac.računar 73 QLISP Wilber SRI A.2. Simulator SECD-mašine.računar ili 74 LISP MACHINELISP Weinreb MIT ' B.l. LISP-prevodilac.SECD-mašina 75 MAGMA LISP Montangero Pisa A.2. Simulator SECD-mašine.raounar. 76 VLISP Greussay Paris Programi A.l i B.l su semantički ekvivale- 79 CONCURHENT LISP Sugimoto Kyoto ntni. Medutim: 80 LDGLISP Robinson Syracuse a) program B.l. dobija se automatakim prevo- 82 COMMON LISP Stule C-MV denjem programa LISP-prevodilac.LISP pomocu 82 GLISP Novak Stanford programa A.l. ili ručnim prevodenjem programa —

FORTRAN -prevodilac. računar

simulator SECD-ma5ina.FORTRAN LlSP-prevodllac•FORTRAN

siraulator SEGD-mašine.računar LlSP-prevodilac.računar

LTSP-orevori i lac • LTfiP

LlSP-prevodilac. SECD-maSina.

X.Y označava program X napisan na jeziku y

S L I K A 1.

rezultat

LISP-prevodilac.LISP ato se inače zbog grešaka cionalni programski jezik i predstavlja jedan ne preporučuje. dijalektCvarziju) programakog j)eziJta.LISP. b) izvršavanje programa B.l. simulira se pomo- Atributi čist i funkcionalni imaju sledode ču programa A.2., što nije slučaj sa izvršava- znaženje: njem programa A.l. - ne poatoje booni efekti, o) program B.l. se sporije izvršava od progra- - LISPKIT LlSP-programi au funkcionalnog obli- ma A.l. ka. d) zapis programa B.l. je krači i čitljiviji SlmboliSki ili akračeno 8-izrazi su osnovna od zapiaa programa A.l. struktura podataka i funkcija LlSP-jezik* i e) program B.l. se jednostavnije modifikuje od njegovih dijalekata. programa A.l. Sintaksa S-izraza se može pomo6u proštrane f) jednostavno ae dokazuje korektnost programa Backuaove notacsije definisati na alede6i na- B.I., što nije alučaj za program A.l. SinC Stojkovič [7] ): Programi A.l. i B.l. izvršavaju prevodenje ::-[(tazdvoj)] <5lar$ [:: = : :» •-. |tabj ) računaru simulaciju proceaa izvršavanja datog ^član> ::» (atom> | programa napiaanog na mašinskom Jeziku SECD- : : = (aimbol) | -mašine za date ulazne podatke na SECD-mašini } tat. ::= A|B|CI...|X|Y|Zj_ ::= 0 |l I2I3KI 5|6|7| 8l 9 2. LISPKIT :: = [(znak)] : := +1 - Programski jezik LISPKIT LISP je čiat funk- : : = {> : :=(.[] a) logiSkih funkcija (predikata) -(ATOM X) -vrednost funkoije jje. T ako je vre- | dnoati argumenata X i.Y meduaobno [^| <&eo broj bez znaka> različiti atomi. • • , ^3-izraz oeo broj) | [] jednaka vrednosti numeričkog atomaT. -tGE X Y) -vrednoat funkcije je T ako je vre- | dnost numeričkog atoma X ve6a ili r^razdvoj^*] -(LT X Y) -vrednost funkcije je T ako je vred- (S-izraz moleku]) | £, nost atoma X manja od vrednosti Y. :: = tz d) uslovne (if) funkcije (ualovnog izraza) "LIŠPl " "(1) -(IP X Y Z) -ako je vrednost argumenta X jed- -2 (2) naka T vrednost uslovne funkcije je- ((DR I DJ 4)(21000 NOVI SAD)) (3) dnaka je vrednosti S-izraza Y, u su- ((DH.(I.(DJ.(4)))).((21000.(NOVI.(SAD))))) M protnom vrednost ualovrie funkcije au primeri S-izraza. Prema članu kojeg sadrže, jednaka je vrednoati S-izraza Z. S-izraze možemo podeliti na (aimboličke i hu- e) A^-izraza (iii definicionog izraza funkcije) -(LAMBDA (X ... X ) Y) -X ...,X su simboli- nieričke) atome i molekule. (1) je primer si- x m lt m mboličkog, a (2) numeričkog atoma. Po konven- čki atomi i predstavljaju promenlji- ciji o izostavljanju tačke(.) izrazi (3) i. Ct-) ve od kojih zavi8i funkcija koja se predstavljaju isti molekul. definiše. Y je S-izraz.obrazovan od Prazan molekul () se označava sa NIL. Po de- navedenih promenljivih i služi za finiciji' je NIL aimbolioki atom. izračunavanje vrednosti funkcije, Simbolički atomi I i J pznačavaju redom is- nakon što se izvrši povezivanje pro- tinitu i lažnu logičku vrednost. menljivih sa odgovarajučim vredno- LISPKIT LISP jezik se sastoji i2 slededih .stima. klasa funkcija: . f) poziva funkcije a) primitivnih funkcija -(F X, ... Xm) - ? je aimbolički atom i pred-

-(CAR X) -vredhost funkoije je prvi element stavlja naziv funkoije. X^,...,Xm au vrednosti molekula X. argumenti funkcije. -(CDR X) - vrednoat funkoije je molekul( može g) blok nerekurzivnih, odnosno rekurzivnih i prazan) dobijen izostavljanjem prvog lokalnih definicija elementa.molakula X ili drugi element -(LET Y (I^.r^)...^^^.^^)) , para X=(A.B). -(LETREC Y (X,,Y,)...(X .Y )) -X,,...,X au -(CONS X Y) -vrednost funkcije je par (X.Y). aimbolički atomi i predatavljaju lo- -(QUO!PE X) -vrednost funkcije je jednaka X. kalno definisane promenljive. Y^,..

b) aritmetičkih funkcija ...Ym su S-izrazi i redom definišu -(ADD X Y) -vxednost Je X+Y (tj. zbir vredno- lokalne promenljive. (X-^.Y^),...,

sti argumenata X i Y). (Xm.Y ) au lokalne definioije i oz- -(SUB X Y) -vrednoat je X-Y. načavaju pridodeljivanje atomima.X., -(MUL X Y) -vrednoat je X#Y (proizvod vredno- . ...,X vrednostl S-izraza Y,,...,Y . sti X i Y). (LETREC APPEND , -(DIV X Y) -vrednost ,je celobro jni kolicnik (APPEND LAMBDA ( X Y ) X div Y. (IF (EQ X (QUOTE NIL)) Y -(REM X Y) -vrednost je ostatak X mod Y oelo- (CONS(CAR X)(APPEND(ODR brojnog deljenja X aa Y. -(EXPT X Y) -vrednost je XYY (Y>0). 60 je primer LISPKIT LlSP-programa. Navedeni pro- Na poSetku rada SECD-mašina se nalazi u po- gram definiše funkciju append. Vrednost funk- četnom stanju. PoSetno atanje SECD-mašine je: cije je molekul jednak konkatenaciji molekula s=(arga), e=NIt, c=fn, d=NIL . koji redom odgovaraju prvom i drugom argumentu Za vreme rada, SECD-mašina prelazi iz jednog funkcije. atanja u drugo atanje. Prelazak iz jednog ata- Za argumente (1 2 3) i (1 (2)3) koji se za- nja u drugo stanje je definiaano naredbom pro- daju kao ulazni podatak ((12 3)(1 (2)3)) do- grama, koji ae trenutno izvršava. bija se rezultat (1 2 3 1(2)3). Po završetku rada,SECD-mašina se nalazi u Može se formalno pisati: završnom atanju. Prvi element molekula, čiji lisp(append,((l 2 3)(1(2)3)))=(1 2 3 1(2)3) je pokazivač sadržaj s-registra završnog 6ta- ili u opštem slučaju nja SECD-mašine je rezultat izvršavanja pro- lisp(fn,args)=result, grama. što znači da lisp-interpretator za funkciju fn Haredbe mašinakog jezika SECD-mašine defini- i ulazni podatak arga daje za rezultat result. Su se navodenjem stanja SEOD-mašine pre i po- ale izvršavanja naredbe, što se simbolički 3. Opis SECD-mašine piše: naredba a e -> a' e' d' i naziva prelaz SECD-mašine. SECD-mašina semože formalno definisati kao dekadni binarna funkcija execute(fn,args). i mnemo Prvi argument funkcije execute fn je program Jcod ope- napisan na mašinskom- jeziku SECD-raašine. Drugi racije prelaz SECD-mašine argument funkcije execute- args je ulazni po- 1 LD s e (LD i.c) d —e> (x.s) e c d ; datak programa. x=locate(i,e) Vrednost funkoije execute- result je rezul- 2 LDC s e (LDC x.c) d —s>(x.s) e c d tat dobijen izvršavanjem programa fn za ulazni 3 LDF s e (LDP c'.o) d —»> ((o'.e) .a) e o d podatak arga na SECD-mašini. * AP ((o'.e') v.s) e (AP.o) d—» Program fn, ulazni podatak arga i rezultat NIL (v.e') c' (a e c.d) reeult su S-lzrazi. 5 RTN (x) e' (RTN) (a e o.d) -*(x.s) e c d SEGD-mašina se saatoji iz 4 glavna, više po- 6 DUM B e (DUM.o) d —*• s (NlfL.e) c d mocnih regiatara i memorije. Glavni registri 7 RAP ((o'.e') v.s) (NIL.e) (RAP.c) d —*• su: NIL rplaca(e',v) c' (a e c.d) s(STACK)- koriati se za čuvanje medurezultata 8 SEL (x.a) e (SEL cT Cp.c) d —e»

dobijenih u procesu izraSunavanja s e cx (c.d) ; x=T ili x=F vrednosti funkcija- izvrSavanja pro- 9 JOIN s e (JOIN) (o.d) —*• B e o d grama, 10 CAR ((a.b).s) a (CAR.c) d —i»(a.a) e c d e(ENVIRONMENT)- koristi se za Čuvanje tekucih 11 CDR ((a.b).a) e (CDR.c) d -#(b.s) e c d vrednosti promehljivih, 12 ATOM (a.s) e (ATOM.c) d -*(t.a) e o d ; c(CONTROL)- koristi se za ouvanje programa ili t=T ako je a atom, t=P u suprotnom dela programa koji se trenutno izvr- 13 CONS (a b.s) e (CONS.c) d —* šava, ((a.b).a) e c d d(DUMP)- koriati ae za privTemeno čuvanje vre- 14 EQ (a b.s) e (EQ.c) d —*(b=a.s) e c d dnosti registara s, e i c za vreme 15 ADD (a b.a) e (ADD.c) d —*>(b+a.a) e o d izvršavanja neke funkcije. 16 SUB (a b.a) e (SUB.c) d —s>(b-a.a) e o d Imenovani pomočni registri su NIL, T i P ko- 17 MUL (a b.a) e (MUL.c) d —s>(b*a.s) e o d j± se redom koriste za Suvanje vrednosti ato- 18 DIV (a b.a) e (DIV.c) d —^Cb/a.e) a o d ma: NIL, T i F. 19 REM (a b.a) e (REM.c) d —«• Memorija je liata(molekul) slobodnih eleme- (b mod a.a) e c d 20 LE nata. (a b.s) e (LE.c) d —*»(b(b .e) e o d Sadržaj avakog od navedenih registara je 22 NE (a b.a) e (NE.o) d — »(b/a.s) e o d S-izraz ili pri implementaciji pokazivač na 23 GE (a b.a) e (GE.c) d — •(bža.a) e c d atrukturu podataka koja predstavlja S-izraz. 24 LT (a b.a) e (LT.c) d — »(ba.s) e c d navodenjem sadržaja 4 glavna registra- otud i 26 STOP a e (STOP) d —*» s e (STOP) d naziv SEGD. locate( (a.b),e) je član aa rednim brojem b Rad SECD-maŠine je definiaan programom fn i u podraolekulu aa rednim brojem a molekula e. ulaznim podatkom arga. Podmolekuli datog molekula, kao i njihovi čla- 61

novi su numerisani brojevima 0,1,2... - (LET e (I^.e^) (Xk.ek)>n =(LDC NIL)|ek*n rplaca(e',v) je S-izraz e'u kome je izvršena ' • |(CONS)|...|e1*n|(CONS) | zamena (CAH e')=v. .''.'. (LDF e*m|(RTN)AP) ; Funkcija STOP štampa (CAR s)- rezultat rada m^C&^ ... Xk).n). SECD-mašine. - (LETREC e (^.e^,) ... (Xk.ek))*n =. (DUM LDC Sledi primer rada SECD-mašine. NIl) | e.*m| (CONS) I .•.. I 6^*1111 S e(LDC 1 LDC 2 LDO 3 MUL SUB LDC-4 EQ STOP) d (CONS)T(LDF exmj(RTN) RAP): (l.s) e (LDC 2 LDC 3 MUL SUB LDC 4 EQ STOP) d ; m ^(a^ ... Xk).n) (2 l.s) e (LDO 3 MUL SUB LDC H EQ STOP) d - (e e^ ... ek)*n = (LDC NIL)|(ek*n|(CONS)|..., (3 2 l.s) e (MUL SUB LDC 4- EQ STOP) d jl^Il) (6 l.s) e (SUB LDC 4 EQ STOP) d U poslednjem pravilu e je poživ funkoije. (-5.s) e (LDC.4 EQ STOP) d Označimo sa comp(e,n,c) funkciju comp(e,n,o) (4 -5.s) e (EQ STOP) d ••=e»n|o. Prevod funkcije LISPKIT LlSP-jezika na (F.s) e (STOP) d jezik SECD-mašine može se napisati u obliku: Rezultat rada SECD-mašine je P. U primeru je fn*=compile(fn)=fn*NIL|(AP STOP) = • proverena taSnost relacije 4=1-3*2. =comp(fn,NIL,(AP STOP)) . Prevedimo, na primer, funkoiju 4. Prevodilac LISPKIT LlSP-jezika na Jezik f=(LAMBDA(X Y)(ADD(MUL X(CAR Y))(QUOTE 1))) i SECD-mašine . koja izračunava proizvod vrednoati X i prvog eleinenta Y uvecan za 1. Označimo sa oompile prevodilac LISPKIT LISP- f*=(LAMBDA(X Y)(ADD(MUL X(CAR Y))(QUOTE1)))* -jezika na jezik SECD-mašine, sa fh prbgram NIL|(AP STOP)= (LDF(ADD(MUL X(CAR Y))(QUOTE na LISPKIT. LlSP-jeziku i sa fn1* odgovarajuči 1))^((X Y).NIL)|(RTN))|(AP STOP)= (LDF(MUL program na mašinskom jeziku SECD-mašino. 05i- X(CAR Y))*((X Y))|(QUOTE 1)*((X Y.))|(ADD)I gledno je. da važi: (RTN))|(AP STOP)= (LDF X#((X Y))|(CAR Y)*: [. ((X Y))|(M0L)|(LDC l)|(ADD)|(RTN))|(AP STOP Ako se.na program fn i ulazni podatak args )= (LDF(LD(O.O))| Y*((X Y)) | (CAR) |.(MUL) | (LDO primeni funkcija execute dobija se kao rezul- 1)|(ADD)|(RTN))|(AP S0»P)= (LDF(LD(O.O))| tat reault. To dalje znaSi da yaži: (LD(O.1))|(CAR)|(MUL)|(LDC lj|(ADD)|(RTN)| lisp(rn,args)=execute(i"n*,args)=reault . ' (AP STOP)= (LDF(LD(O.O)LD(O.DCAR MUL LDC Za avaku funkciju (program) LISPKIT LlSP-je- 1 ADD RTN) AP STOP) . • zika postoji pravilo na osnovu kojeg ee vrši Prevod zapiaan pomoču dekadnog koda operaoi- prevodenje u odgovarajuču funkciju jezika ja glaai: . • • SECD-mašine. Prevod S-izraza e u odnoau na mo- /=(3(1(0.0)1(0.1)10 1? 2 1 15 5)1 26) . lekul promenljivih n označimo aa ewn. Za ulazni podatak (2(3 *•)) LISP-interpreta-r Važe sledeča pravila prevodenja: tor daje rezultat - x*n=(LD i) ; i=location(x,n) lisp(f,(2(3 4-))=execute(f*,(2(3 4))=2*3+l=7. Ovo pravilo se primenjuje ako je x atoni. ; Promenljivoj X je dodeljena vrednost 2, a i=(a.b)=location(x,n) označava da Je x b-ti promenljivoj Y vrednost (3 t-). • • element u a-to[i) podmolekulu molekula n. Na Koristeči navedena pravila svaka funkcija primer, ae može ručno prevesti sa LISPKIT LlSP-jezika ( na jezik SECD-mašine. Da bi se prevodenje iz- lopation(APPEND,((A B)(D E 3)(APPEND 1))=( vrailo automatski potrebno je programski im^. - (QUO0?E a>n = (LDC s) plementirati funkciju compile, odnosno comp. - (ADD e, eO^n^evanlegimJ^ADD) . Obrada S-izraza u FORTRAN-jeziku je detaljno - (CONS e, e~')»n = e^unl e,inl (CONS) opisana u [5]. Najvedi problem je neppatojanje - (IF e-, e e )«n = e *n|(SEL e nn|(J0IN) o z n 2 rekurzije u FORTRAN-jeziku i rešen je upotre-». e »»n|(JOIN)) 3 bom steka ([4]).' • • • . - (LAMBDA (X, (LDF e*((X, S-izrazi se u FORTRAN-jeziku obrazuju od slogova. Slog se sastoji iz sledeča 4 polja: a|b=appendCa,b) označava konkatenaciju. IS, VALUE, CAR, CDR, koja su članovi odgovara- Za 8ve aritmetičke funkcije i binarne logi- jučih hizova. Po prirodi problema polje IS je čke funkcije pravila prevodenja au analogna logičkog tipa, a poija VALUE, CAR i CDR celo- pravilu prevodenja za Ai)D. Zato se može pisati brojnog tipa.

- (BIN e^ e2)#n.= e^nle^nl (BIN) ;BIN€{ADD," Polje IS odreduje da li je u pitanju molekul, SUB,MUL,DIV,REM,EXPT,EQ,NE,IJS,GE,LT,GT} aimbolički ili numerički atom( odgovarajuče - (UN e)#n = etm|(UN) ;. UN€{CAR,CDR,A0?OM}. vrednosti au 'C, 'S', 'N'). Vrednoat polja IS 62 se postavlja pozivom konatruktorakih funkeija U preoatalim delovima odgovarajuči prevodi CONS, SYMBOL ili NUMBER zavisno od tipa S-iz- koriate rekurziju. Zbog toga je uveden atek u raza. Utvrdivanje tipa S-izraza se vrši pomoču obliku celobrojne raatrice STACK(I,L) funkcija ISCONS, ISSYMBOL i ISNUMBER. Upia vrednosti u stek vrši podprogram .Ako je S-izraz numerički atom, njegova vre- UPISUSTEK: dnost se upisuje u polje VALUE. Ako je S-izraz SUBROUTINE UPISUSTEK(K) simbolički atom, u polje VALUE upiauje se re- L=L+1 dni broj reda tablice aimboličkih atoma koji STACK 1,1 »E sadrži dati simbolički atom. STACK 2,L =N STACK 3L =C Ako je S-izraz molekul oblika sl.s2,u polje CAR STACK upisuje se vrednost pokazivača strukture po- RETORN END dataka koja reprezentuje S-izraz sl (tj. redni L-ta kolona atoka sadrži informacije o trenu- broj odgovarajučeg člana niza), a u polje CDR tnom atanju S-izraza E,N,C pre početka prevo- upisuje se vrednost pokazivača strukture poda- denja nekog dela početne funkoije, i informa- taka koja reprezentuje drugi S-izraz a2. ciju o tome kako nastaviti rad programa po Polja VALUE i CAR mogu se zaraeniti jednim završetku prevoda poamatranog dela. STACK(l,L) poljem. STACK(2,L) i STACK(3,L) imaju redom vrednoat Zbog kaanijeg dinamičkog upravljanja memori- E,N,G, a STACK(*,L) ima vrednoat koja-odreduje jom ( [4-] ) , podesno je aav dodeljeni-memorijaki obeležje naredbe od koje program naatavlja rad prostor organizovati u obliku liate(molekula) Po završetku prevoda nekog dela funkcije iz slogova nedefiniaanog tipa, tj. liate alobod- ateka ae uzima poalednja (L-ta) kolona i iz nog memorijskog prostora. Obrazovanje i inici- nje vrednoati E, N, C i informacija o obeležju jalizaciju tokve liste vrši podprogram naredba kojom ae naatavlja rad programa. Uzi» INITSTORE^ manjem L-te kolone iz ateka ona se briše iz Punkcija COMPILE može ae definiaati na sle- Bteka Bmanjenjem L za jedan. Odgovarajuoi deo deci način: u programu izgleda ovako: FUNCTION COMPILE(E) « 100 IF(L.EQ.O) RETURN E=STACK(1,L) APST0P=C0NSN(26,NIL) K=STA0K(2,.L) APS0X)P=CONSN (4, APSOKJP ) C=STACK(3,L) COMPILE=GOMP(E,NIL,APSTOP) L=L-1 RETUHH GOaX)(ll,10O.33,99,55,69,77,88,99,88,ii9, END 129,11) STACK(4,L+1) Promenljiva A.PS0XDP u funkciji dobija vrednost Prograra završava rad kad ae iz ateka ne mogu (4 26). Punkcija CONSN(I,J) na prvo raesto mo- uzeti odgovarajuče vrednoati, tj. kada je etek lekula J ubacuje numerički atom I. prazan (L=0). FUNOTION COWSN(I,J) Treči deo programa je prevod aritmetiSkih • i logičkih funkcija i primitivnih funkoija CAR, CONSN=CONS() CAR(CONSN)=NUMBER() CDR, CONS. Dekadni kod funkcije koja ae prevo- VALUE(CAR(CONSN))=I di je označen sa KOLIKO. U alučaju funkcije CDR(COBSN)=J RETURN ADD rezultat rada je: END comp((CAR(CDR E)),N,comp((CAR(CDR(CDR E))), 0 zavianosti od vrednoati e i (GAR e) funk- N,(CONS(QUOTE 15) C))) . cija COMP(E,N,G) je podeljena na 7 delova. Slično vredi za sve binarne aritmetičke i Prvi deo je prevod ako je e atom i može ae logičke funkcije. zapiaati u obliku: Prevod funkcije CONS ae jedino razlikuje u 70 IF(IS(E).EQ.SLOVOC) GO0?O 1 tome što u gornjem izrazu prvi argumenti fu- COMP=CONS() CAR(COMP)=LOCATION(E,N) nkcija COHP zamenjuju me8ta. ' CDR(OOMP)=G U alučaju funkcija OAB GDR i ATOM rezultat COMP=CONSN(1,COMP) T GO0X) 100 rada prevodioca je: Pofcprograifti S0?ORE i LOAD redom vrše upis i comp((CAR(CDR E)),N,(CONS(QUOTE X)0)), oitanje simboličkog atoma iz tablice afcoma. X^ [10,11,12] .

Drugi deo je prevod funkcije (QUOTE E) i 0dgovaratiu6i program je: može se zapisati u obliku: 3 CALL UPISUSTEK(l) 2 COMP=CONS() IFfK01IK0.LE.12) STAGKf4,L)=2 CAR(COMP)=CARCCDR(E)) IF(K0LIK0.EQ.13) STA0Kf>,L)=13 GDR(COMP)=C IP(K0LIK0.LE.13)E=GAR(CDR(E)) G0MP=C0N8N(2,COMP) IP(K0LIK0.GT.13)E=0AR(CDR(CDR(E))) GOTO 100 C=CONSN(KOLIKO,C) GOTO ?0 11 K=STACK(4,L+1) CALL UPISUSTEK(2) (CONS(CAR(CDR E))N) ,(CONS(QUO0!E 5)NIL)))6)) i. IF(K.EQ.13) E=CAR(CDR(CDR(E))) : IF(K.NE.13) E=CAH(CDR(E)) Šeati deo programa je prevod funkcij.a LET £ C=COMP •' • . LETREC. U slučaju funkcije LET program treba GOTO 70 da izvrš£: •• . ' • 70 je obeležje naredbe kojom počinje izvrša- complis(expra((CAR(CDR(CDR E)))),N,(CONS. vanjje rada funkcije COMp(E,N,C). (QUOTE 3)(CONS comp((CAR(GDR E)),(CONS Četvrti deo programa je prevod funkcije IF. vars(CDR(GDR E)),N),(CONS(QUOTE 5)NIL)) e: Rezultat rada 5 (CONS(QUOTE 4) G)))) compl.(CAR(CDR E)),N,(CONS(QUOTE 8)(C0N3(oomp U slučaju funkcije LETREC program treba da (CAR(CDR(CDR E))),N,(CONS(QUOTE 9)NIL)) izvrši: (CONS(comp(CAR(CDR(CDR(CDR.E)))),N, (CX)NS(QUOTE 6) complia(exprB(CDR(CDR E)), (CONS(QUOTE 9)NIL)) C)))) . (CONS vara(CDR(CDR E)) N),(CONS(QOOTE 3) Odgovarajuči deo programa može ae napiaati u (OONS comp((CAR(CDR E)),(GONS vars(CDR(CDR E)) obliku: N),(CONS(QUOTE 5)NIL))(COHS(QUOTE 7)C))))) . 7 CALL UPISUSTEK(12) E=CAR(CDR(CDR(CDR(E)))) Funkoije vars i exprB izdvajaju promenljive C=CONSN(9,NIL) i izraze iz definicija, tj. vara((X^.e^)... GOTO 70 129 ELSEPT=COMP (^t.e^))^^^, ... X,), exprs((X,.e,)...(X, ,e. ))• OALL UPISUSTEK(6) =(e, ... ev) . Obe funkcije au realizovane po-- E=CAR(CDR(CDRCi))) X K ' • . C=GONSN(9,NIL) GOTO 70 moču podprograma VARS(S,EXPRS) za koj£ važi: J CC=CONS() vars(S)=VARS(S,.FALSE.) i exprs(S)=VARS(S, CAR CC)=COMP . CDR CC)=CONS() .TRUE.) . CAR CDRfCC))=ELSEPT Program koji realizuje navedene prevode možo CDR CDR(CC))=C CALL UPISUSTEK(2) • ae napiaati u obliku: E=CAR(CDR(E)) 5 M=GONS() C=C0NSN(8,CC) CAR(M)=VARS(CBR(CDR(E)),.FALSE.) GOTO 70 CDR(M)=N IF(LET) CAIi UPISUSTEK(8) U preostalim delovima programa koristi ae IF(LETREC) CALL UPISUSTEK(IO) pomočna funkcija . E=CAR(CDR(E)) N=M . oomplia(e,n,c)=(LDG NIL)|e *n|(CONS)|... k C=CONSN(5,NIL) GOTO 70 koja je realizovana u okviru funkcije comp bez 88 CALL UPISUSTEK(STACK(4,L+1)+1) CC=C0NSN(4,0) poaebnog potprograma. complis j'e realizovan na; IF(STAGK(4,L).EQ.ll) CC=C0NSN(7,C) eledeči način: . O=CONS() CAR(C)=COMP 71 IF(E.NE.NIL) GO0» 10 CDR(C)=OC • COMPLIS=GONS() C=C0NSN(3,G) CAR(COMPLIS)=NIL IF(STACK(4.L).EQ.11)N=M ČDR(COHPLIS)=C E=VARS(CDR(CDR(E)),.TRUE.) COHPLIS=CONSN(2.COMPLIS) GOTO ?1 GOTO 100 • . 99 COMP^GOMMS 10 CALL UPISUSTEK(5) GOTO 100 E=CAR(E) 119 C0MP=C0NSN(6,G0MPLIS) C=C0NSN(13,C) GOTO 100 ; GOTO 70 U aedmom delu programa ae obraduje poziv fu- 55 CALL UPISUSTEK(2) E=GDR(E) nkoije. Program treba da izvrši: C=COMP : GO0X) 71 . obmpli3((CDR E),N, comp((CAR E),N,(CONS Peti deo programa je prevod funkcije LAMBDA, (QUOTE 4) 0))) . i može ae realizovati na aledeoi način! Slodeoi deo programa to izvrSava: t- CC=CONS() 40 CALL UPISUSTEK(3) GAR(CG)=CAR(GDR(E)) E=CAR(E) CDR(CC)=N ' C=C0NSN(4,0) CALL UPISUSTEK(7) GOTO 70 E=GAR(CDR(CDR(E;)) 33 GALL UPISUSTEK(4) ; N=CC • E=CDR(E). : . C=C0NSW(5,NIL) C=COMP GOTO 70 GOTO 71 5» Pomočni podprograjni koje prevodilac koriati 77 • OC=CONS() . . . • .-.••__• : ~CAH(CC)=COMP " . '" Opiširao podprograme koji niau doaad pominja- ODR(CG)=C • C0MP=C0NSN(3,CG) n£. GOTO 100 Potprogram GETEXP(X) obrazuje strukturu po- Rezultat rada ovog dela programa je prevod dataka- S-izraz koji odgovara datom programu funkcije LAMBDA: napisanom na mašinakom Jeziku SECD-mašine, od- (GONS(QUOTE 3)(C0NS(comp(CAR(CDR(CDR E)) , noano datim ulaznim podacima. X je pokazivač 64

na obrazovani S-izraz. Poefprogram GETEXP kori- 13 3 ( 1 ( 0 . 0 5 J 7 4 21 INPUT I'1LE NAW£ = sti, pored nekih več pomenutih podprograma, podprograme GETCHAR( čita tekuči karakter iz O0TPU5 PILE NA teke), GETTOKEN (obrazuje atom,.,(,) ili kraj (12 3 1(2)3)- teke), TOSTRING i TOINTEGER (transforraiše bro- Poruke programera LlSP-interpretatoru su jevne podatke u azbuone i obratno), CONC (do- podvučene. pisuje znak u atom koji se forraira), ASS (od- reduje ulaznu i izlaznu jedinicu programa i 7. Zaključak ulaznog podatka), ISLETTEfi, ISDIGIT, ISCHAHA- CTER, ISDELIMITER koji utvrduju tip datog zna- Programski komplet se saatoji iz glavnog ka. programa i 35 pomo6nih podprograma- ave skupa Podprogram PUTEXP(Y) izdaje na terminalu oko 1000 naredbi FORTRAN-jezika. i/ili mekoj drugoj izlaznoj jedinici S-izraz Zahvaljujuči raašinakoj orjentaciji FORTRAN- na osnovu njegove unutrašnje reprezentacije, -jezika izvršna(task) verzija programa efika- Pored nekih več navedenih podprograma, PUTEXP sno koriati tehnioke mogučnosti računara. koriati i podprograme PUTTOKEN (upisuje atom, Zbog široke raaproetranjenosti FORTRAN-jezi- .,(,) ili kraj teke u izlazni red), PUTCHAR ka programski komplet je dostupan velikom bro- (upisuje znak u izlazni red) i PUTLINE (izdaje ju korisnika. poslednji- nepotpunu red S-izraza). Prevodenje programa sa LISPKIT LlSP-jezika Podprogrami COLGAR, GOLLECT i MARK vrše sku- na jezik SECD-mašine pomoču prevodioca impla- pljanje otpadaka, tj.' obrazovanje liate slobo- mentiranog na FORTRAN-jeziku 8e izvršava brže dnog memorijskog prostora od slogova koji su nego pomoču prevodioca na jeziku SECD-mašine. slobodni za ponovno koriščenje. Skupljanje ot- padaka ae vrši tokom rada poriprograma COMPILE Literatura i EXECUTE, kada je lista slobodnog memorijalcog prostora iacrpljena ( [VJ). U toku rada pocipro- [l] Boley H., Artificial Intelligence, Langua- grama GETEXP skupljanje otpadaka nije dozvo- ge and Machine, Bericht Nr. 9^, Universi- ljeno. tlit Hamburg, 1982. Po^program LOOATION koristi potprogram [2J Henderaon P., Functional Programming; MEMBER(X,S) (iapituje da li je X član molekula Application and Implementatipn, Prentioe- S i ako ge član odreduje mu pozioiju). -Hall, London, 1980. [3] McCarthy J., Recursive Functions of Sym- 6. Primer interpretacije bolic Expressions and Their Computation by Machine, Comm. ACM, 3CO, 1960,184-195. Glavni program LlSP-prevodiooa može se napi-n sati u obliku: I.4J Stojkovič V., Stojmenovič I., Jerinič Lj. , PROGRAM LISP Mirčevski J., Kulaš M., Dinamičko upra- • vljanje meraorijom aa gledišta koriScenja OAiL INITSTORE i irnplementacije programskih oezika, V Meclunarodni simpozij "Kompjuter na aveuči- CALL G£TEXP(ARGS) lištu", Cavtat, 1983, atr 135-142. PN=COMPILE(ARGS) [5J Stojkovič V., Jerinič Lj., Stodmenovič I., CALL PUTEXP(FN) Mirčevski J., Kulaš M., Implementacija CALL INITSTORE NP-tehnike obrade S-izraza u FORTRAN-je- • ziku, V Medunarodni eimpozij "Kompjuter na sveučiliSt;u",Cavtat, 1983, atr 379-386. CALL GETEXP(FN) 1.6.1 Stojkovič V., Stojmenovio I., Mirčevski J., CALL GETEXP(ARGS) Jerinio Lj., Kulaš M., Programska itnpleme- CALL EXECUTE(FN,ARGS,RESOLT) ntacija sirnulatora SECD-mašine, XXVII CALL PUTEXP(RESULT) Konferencija ETAN-a, Struga, 1983. END Neka se funkcija append nalazi u datoteci [7] Sfcojkovic V., Jerinio Lj., Mirčevski J., APPEND.LSP. Program se izvršava na sledeči Stojmenovio I., Budimac Z., Putnik Z., naoin: 0 proGromskom jeziku za obradu liata >RUN LISP JSLl • LISPKIl- LISP i njegovoj primeni, )Z NIL. 14 8 ( 1 ( 0 INPUT FILE NAI^E = AM?ENI Bilten Pokrajinskog saveta za informa- ( 6 2 NIL 3(1(0.0 . 1 ) 9 ) ( 2 NIL 1(0.1) 13 1(0.0) tiku, Novi Sad (u pripremi). 11 13 1 ( .1 . 0 ) 4 1 ( 0 . 0 ) 10 13 9 ) 5 ) INFORMATICA 1/1984

ANALIZA MULTIPROCESORSKIH SISTEMA S LOKALNOM CACHE M EMOR I JOM

BEKIČZORAN UDK: 681.324:681.327.67 SVEUČILIŠNi RAČUNSKI CENTAR, ZAGREB

U radu se govori o osnovnim parametrima arhitekture i organlzacije multiprocesorskih sistema s lokalnom cache memorijom. Ukazuje se na neke važne probleme koji postoje u analizl takvih računarskih sistema. Posebno se govori o utjecaju pona- šanja programa na efektivne performanse takvih računarsklh sistema i o mogužnostima modeliranja ponašanja programa. Uka- zuje se i na problem koherentnosti informacija u multlprocesorakim sištemima s lokalnom oache raemorljom.

AMALKSIS OF MULTIPROCESSORS WITH PRIVATE CACHE MEMORIES. Major parameters. of architecture of multiprocessor sjrstem with private cache memories are considered. Some problems of such multiprocessor architecture analysi3 are discussed. Prog- ram behavior influence on effective performances of such coraputer 3ystems and possibilltles of its modeling are espe- cially considered. Cache ooherency problem in multiprocessor systems with prlvate cache memories is also mentioned.

UVOD Paralelan rad nekolicine proeesorskih Jedinioa osnovna teraima. Memorija se dijeli na nezavisrie module, što omo- je, dakako, karakteristika multiprocesorskih sistema. gučava da kao cjelina istovremeno odgovara na nekoliko Uvodenjem veoeg broja prooesorskih Jedinica povecava se zahtjeva za dohvat iz memorije (dakako pod uslovom da nominalna procesorska moc raounarskog sistema. Efektiv- • ti zahtjevi budu upuoeni razlioitim modulima metnorije). ne performanse multiprocesorskog sisteaa najčešde se, Realizira se i ideja raslojavanja.memorije na.nivoe, medutlm, razlikuju od nomlnalnih, pošto ne zavise samo . koji se razlikuju srednjom brzinom odgovora na zahtjev od broja procesorskih jedinioa u sistemu, nego i od dru'- procesora i najčešde svojim kapacitetom. gih.arhitekturnih osobina a takoder i od tipa programa Uvodenje cache memorije u multiprocesorske sisteme mogu- koji se rješavaju na sistemu. Tako se brzina rasta efek- ee je na dva prinoipijelno različita načina. tivnih performansi mljenja od logaritamske zavisnosti od broja precesorskih jedinica (odnosno od nominalnih performansi) pa do rijetkih pojedinačnih slučajeva kada su efektivne perforraanse veče 6d nominalnih. P proeesorl pl , P2 ap Jedan od osnovnih uzroka degradaeije efektivnih perfor- mansi multiprooesorskih-sistema Je neadekvatna arhltek- 1 nn komunikac. tura memorije. Naime, poveoanje procesorske moci siste- np z mreža raa dovodi do poveoanih zahtjeva na raeraoriju i njene ka- 1 rakteristike.- . . . cadhe Osira poveoanja apsolutnog broja dohvata iz memorije memorije (što i nije glavni problem, a pOgotovo nije speoifičan I I • problem samo za multiprooesorsku arhitekturu memorije) pojavljuju se i posebni problemi, kao na primjer, mno- moduli . . . glavne gobrojna istovremena obraoanja u raemoriju, izazvana —«2— -v- Bomorije sinhronizacijom rada procešora Ui postojanjem zajed- ničkog podruoja podataka. Istovremeno obraoanje u memo- riju večeg broja prooesora obično izaziva zaustavljanje Sllka 1* Knnfiguraeija sa zaJednlSkim eaehe meaorij. nekolicine njih, što ooigledno dovodi do degradaoije efektivnih performansi sistema. Vezivanjem cache memorije za oSredenu oblast glavne me- morije, tj. najčešče za pojedini modul glavne memorije, Da bi se poboljšale karakteristike arhitekture memorije nastaju sistemi sa zajedničkim caohe memorijama.. U tak- u multiprocesorskira sisteraima realiziraju.se mnoge ide- voj konfiguraciji cache memorija iina uglavnom istu ulo- je, koje se primjenjuju i u klasionim računarskim sis- gu kao u klasičnim jednoprocesorskim sistemima i •6

praktički se može razmatrati kao primarni ili nulti nivo potrebne podatke u svojoj cache memoriji i znači ne biva memorijske hijerarhije. blokiran zbog situaoija istovremenog obračanja u glavnu raeraoriju. Koliko če se rad realnog multiprooesorskog sis- Alternativna mogučnost uvodenja cache memorije sastoji teira 3 lokalnora cache raemorijom približiti toj teoretski se u pridruživanju cache memorije svakom procesoru sis- idealnoj situaciji zavisi prije svega od algoritraa prob- teraa, čime nastaju multiprocesorski sistemi s lokalnom lema koji se na njemu riješava, ali i od odredenih para- cache memorijom. U ovora slučaju, neki autori nisu metara arhitekture i organizaoije računarskog sisteraa. skloni razmatranju cache memorije kao običnog nivoa me-, morijske hijerarhije. Izmedu oatalog, objašnjavaju to ' •' i tirae, što se pretpostavlja da Je dinaraika izmjene porcija informacije u caohe memorijl u takvoj konfigu- PARAMETTRI ARHITEKTURE MULTIPROCESORSKIH SISTEMA S LOKAL- NOM CACHE MEMORIJOM raoiji znatno veče nego u ostalim nivoima memorijske hijerarhije. Takoder se pretpostavlja da Je količina in- Blokom meraorije zvat čemo porciju inforraaoije (količinu formacije koja se predaje u toku jedne izmjene medu mašinskih rije6i) koja se predaje u toku jedne izmjene glavnom i caohe memorijom znatno manja nego što Je to izmedu glavne i cache memorije. obično raedu aussjednim nivoima memorijske hijerahije. Potpuna analiza utjecaja lokalne cache memorije na efek- tivne performanse multiprocesorskog sistema treba osim osnovnih parametara multiprocesorskih sistema (broj pro- oesora, broj, veličlna i raslojavanje modula glavne tne- P ' prooeaorl np morije) razmatrati i takve specifične parametre arhitek- ture i organizacije kao što su:

caohe 1. Organlzacija maplranja, odnoano algoritaro prealikava- mamorlj« c2__. V nja glavne meroorije u caehe memoriju. Problem mgpiranja pojavljuje se uvijek kad Je potreban prenoa informaoije komunikso. izmedu dva memorijska prostranatva (fizička ili virtual- np z nm mreža na) različitih kapaciteta. Postoji nekoliko atandardnih 1 1 1 algoritama prealikavanja glavne memorije u cache meraori- modull jUi glavne W2 meraorij« a) asocijativni, koji dozvoljava da svaki btok glavne memorije bude amješten u proizvoljnom bloku caohe memorije. Slika 9.. Konflguracija a lokalnim eaohe neraorijama b) direktni, kojl odredenom podskupu blo- kova glavne memorije pridružuje odrede- U svakora slueaju uvodenje lokalne cache memorije osira ni blok cache memorije i predvida da u funkcije buferizacije toka informacije medu procesorima tom bloku oache memorije može biti isto- i modulima glavne memorije iraa cilj iskorištavanja ten- vreraeno aamo jedan blok pridruženog pod- denoije lokalizma u sekvencijalnom nizu obračanja poje- akupa glavne memorije. dinog prooesora u.memoriju. Ta Je tendencija u veooj c) akupno-asocijativni, koji podakupu blo- ili manjoj mjeri uvijek pri3utna u svakom programskom kova glavne memorije pridružuje podskup kodu, a proizlazi iz alijedeoih činjenica: blokova caohe memorije, s tira da avaki blok iz podakupa glavne memorije može 1. Dio obraeanja u memoriju Je oitanje instrukcija prog- zauzeti bilo koji blok pridruženog pod- ramskog koda, koje su sekvencijalno razmještene u akupa blokova oache memorije. glavnoj raeraopiji.N a taj način obradanje u memoriju zbog oitanja instrukoija Je u toku nekog vremenskog d) sektorski, koji predvida organizaciju intervala lokalizirano na ograničeno potprostrans- tranafera izraedu glavne 1 cache memorije tvo adre3a glavne memorije. sektoriraa (grupama blokova) s tim da 2. Kod mnogih grupa algoritama procea obrade Je unutar raspored blokova unutar aektora bude nekog vremenskog intervala konoentrlran na ograniče- unaprijed fikairan. nu grupu podataka. Ako Je ta grupa podataka smješte- Asocijativno pre3likavanje daje najveou slobodu izbora na unutar nekog zatvorenog potprostranstva adresa, mjesta u cache memoriji za novi blok glavne memorije, a tada če i niz obraoanja u raemoriju pokazivati znako- time smanjuje broj povratnih transfera blokova iz caohe ve lokalizma. memorije u glavnu memoriju. Medutim, takva organizacija Najveoi efekt od uvodenja caohe memorije u multiproce- zahtljeva kod svakog obračanja u memoriju asocijativno sorski sistem postiže se u teoretski idealnoj situaoiji (istovremeno) pretraživanje cache memorije, što, zavis- kad u svakom trenutku svaki od procesora ima trenutaono no od njene velioine, može oduzeti mnogo vremena, a 67

svakako poveeava cijenu njene sklopovake izvedbe. utjecaj uglavnora neznatan. To se može objasniti relativ- no malora predvidenom veličinom caohe memorije, pa sam izbor bloka ne daje veci broj raoguonoati. a/ aeooijativno b/ (ilrektno gl.mem. (rl.mem. 3. Organlzaclja bbnavljanja sadržaja glavne memorije, . cache cacho kojpra se odreduje u kojim ae aluoajevima sadržaj bloka glavne tnemorije korlgira sadržajem odgovarajučeg bloka u cache raeraoriji. Poatoje dva prinoipijelno različita priatupa: a) direktno piaanje (WT-write-trough), koje predvida da se iatovremeno s pisanjem u blok u caohe memoriji, korigira i aadržaj iatog .. c/ skupno-asocljativno d/ sektorsko bloka u glavnoj memoriji. gl.mem. gl.mem. . b) Razmjena blokova (FS-flag-swaping), koja caohe caohe predvida da se.aadržaj bloka u glavnoj merno- riji korigira tek ppšto blok u cache tnemori- Ji bude izabran za zamjenJivanje, odnoano vraoanje u glavnu memoriju.

-—-- Iako FS organizaclja djeluje povoljnije, pošto u prin- r oipu manje optereouje glavnu memoriju, optimalnoat prve ili druge atrategije potrebno Je ooijeniti u cjelini a Sl. 3. Načlni preslikavanja glavne msnorije u oache oatalim parametrima izabrane arhitekture. Naime, FS or- ganizaoija prldonosi kompliclranju ionako teškog prob- lema koherentnoati u multiprooeaorakim.aistemima s lo- Suprotno asocijativnom, direktno preslikavanje ralnirai- kalnom cache memorijom. S druge atrane, oinjenioa da zira vrijerae provjere prisutnpsti bloka u caohe meraori- operacije piaanja čine tek 10-30% svih dohvata iz menio- ji, poato-je fiksno predodredeno mjesto gdje se blok rije donekle objašnjava neka opažanja da u odredenim može nalaziti. Nedostatak je o^)g algoritma što pred- situacijama WT organizaoija pokazuje bolje rezultate od odredeno vezivanje blokova glavne memorije za blokove FS organizaoija obnavljanja aadržaja glavne memorije. cache memorije može dovesti do neracionalnog iakoriata- Tako Yen i Fu (7) analitički pokazuju da FS organizaci- vanja pojedinih dijelova cache meraorije. ja daje znatno bolje rezultate ako Je vjerojatnoat U3- Skupno-asocijativni algoritam preslikavanja ujedinjuje pjeha kod obračanja u oache raeraoriju (hit ratio) veda prednoati prvih dvaju algoritama, dajuči relativnu slo- od 0.85, dok kod vjerojatnoati manje od 0.5 nešto bolje bodu izbora mjesta u oaohe memoriji, istovremeno ogra- rezultate pokazuje WT organizacija (autori su dakako u ničavajuči vrijeme pretraživanja. Sektorako prealikava- svojoj analizi imali i neka druga ogrardčenja-pretpoa- nje takoder teži iatora cilju kao i akupno-asoeijativno, tavke o ponašanju programa). omogučavajuči izbor smještaja aektora u oaohe memoriji, ali iatovremeno ograničavajuei moguoi broj varljanti K Organlzacija dohvata bloka iz glavne memorije u oaohe fikairanim raaporedom blokova unutar sektora. memoriju, koja odreduje kada i kakva informacija ae prenoai iz glavne u cache memoriju. 2. Organlzaclja zamjenjlvanja. odnoano algorltam izbora bloka u oaohe memoriji koji treba biti izbaoen lz nje Strategija direktnog punjenja oaohe memorije (load- (eventualno vraoen u glavnu roemoriju) u trenutku kad through), predvida da ae u cache memoriju prije svega prooeaor zahtijeva tranafer novog bloka iz glavne u transportira onaj dio bloka, koji aadrži rijeo, zbog oache memoriju. Najčešče ae upotrebljavaju alijede6e koje Je i došlo do obraoanja u glavnu memoriju. Na taj strategije: se način omogučuje da proceaor nastavi rad paralelno a tranaferom oatatka bloka iz glavne u oache raemoriju. a) LRU (laat-reoently used) - iz oache meraorije se izbacuje blok, koji najduže nlje bio koriaten, Ako se koristi WT organizacija obnavljanja aadržaja b) FIFO (firat-in-firat-out) - iz cache memorije se glavne memorije, moguce Je koriatiti atrategiju dohvata izbaouje blok, koji ae najduže u njoj nalazl, koja ignorira operaeije piaanja, tj. ne inicijalizira c) alučajni izbor bloka, koji treba bitl izbaoen iz tranafer iz glavne u .oache meraoriju, ako je neuspješno . cache memorije. obraoanje u raemoriju izazvala operacija piaanja. Iraple- mentiranje takve atrategije u WT organizaciji obnavlja- UtjecaJ izbora algoritma zamjenjivanja na efektivne per- nja doprinoai anianjenju ukupnog prometa medu glavnom i formanse raounarakog siatema zavisi od izbora organiza- oaohe memorijom. oije raapiranja. Medutim, analize su pokazale da Je taj 68

5. Homogenost cache memorije. Moguče je uvodenje funkci- koja se može istovremeno alati kroz jednu liniju. Pobolj- onalne specijalizacije područja unutar cache memorije. šanje navedenih karakteristika memorijskog aisteroa roože Tako se može uvesti podjela caohe meraorije na prostran- bitno utjeoati na efektivne performanae računarakog stvo programskog koda i prostranstvo podataka ili na aistema, ali i na njegovu cijenu, što znaei da kod pro- prostranstvo siatemskog koda i prostranstvo korisničkog jektiranja arhitekture treba tražiti optimalni kompromia. koda. Podjela na prostranstvo koda i prostranstvo poda- taka osigurava da blokovi s programskim kodom ne budu prerano izbacivani iz cache memorije zbog vrlo dinamič- PONAŠANJE PROGRAMA I NJEGOVO MODELIRANJE kog korištenja podataka. Takva podjela medutim može uz- Velik broj autora (2, 5, 6, 7, 8) naglašava prvostepeni rokovati i neracionalno iskoriatavanje oache memorije. utjecaj ponašanja programa na efektivne performanse ra- Kaplan i Winder (3) su pokazali da podjela na prostran- ounarskog siatema s lokalnom cache memorijoni. U analizi stva sistemskog i korisničkog koda ima veliko značenje takvih raounarskih sistema pod termlnora "ponašanje prog- kod izvršavanja korisničkih programa organiziranih kao rama" podrazumjeva se (kao i kod analiziranja atranične nlz kratkih Jednostavnih aktivnosti, kad oesto dolazi segmentske organizaoije memorije) karakteriatika niza do preključivanja prooesora s jedne aktivnosti na drugu. zahtjeva za dohvat iz memorije u dinamici izvršavanja programskog koda. To ponašanje ima tri slijedeoa aspekta: 6. Vellčina cache memorije svakako Je Jedan od osnovnih 1. vremenaki, tj. vreraenaku uoestaloat zahtjeva za doh- parametara analize multiprocesorskih sisterna s lokalnom vat iz raemorije, cache memorijom. Obiono se veličina cache memorije kre- 2. redoaljedni, tj. redoalijed kojim se pojedine lokaoi- če od 1-16 K. NJenu veličinu potrebno Je u svakom kon- je (blokovi, moduli) glavne memorije koriate, kretnom alučaju pažljivo odrediti kao kompromis medu 3. logički, tj. logičku zavisnost medu pojedinim zahtje- obiono visokom cijenom oache memorije i težnjom da se vlma za dohvat iz memorije. minirnizira srednje vrijeme dohvata iz memorije. Jasno jo da ponašanje realnih programa zaviai od ranogo- brojnih faktora: počevši od algoritma problema, koji se 7. Veličina bloka memorije. Kako pokazuju mnoge analize rjeaava tim programora, pa do osobina upotrijebljenih (3, 7, 8) Ireličina bloka memorije jedan Je od najvažni- korapajlera ili čak iskustva programera. jih parametara arhitekture multiprocesorskih 3istema 3 lokalnom oache raeraorijora. Izbor veličine bloka memorije Vremen3ki aspekt ponašanja programa u računarakom siate- (kod fiksirane izabrane veličine cache memorije) mora mu a režitnom multiprogramiranja može ae raijenjati od Jed- biti izvršen pažljivim balansiranjem suprotnih tendenoi- nog izvršavanja do drugog u zavisnosti od stanja i opte- Ja izmjene efektivnih perfortnansi sistema u zavisnosti rečenja aisteraa. U multiprocesorskira sistemima optereoe- od velicine bloka. Nairae, povečanje veličine bloka u noat i stanje sistema utječe, osim na vremenski, i na početku može znatno poboljšati performanse sistema, poš- logički aspekt ponašanja svakog programa. to se povedava količina informacije koja se prenosi iz Sve navedeno govori da je ponašanje programa ne samo Je- glavne u cache memoriju u toku Jednog transfera. Medu- dan od najvažnijih objekata analize raultiprocesorskih tim, nakon neke kritične točke povedanje velioine bloka aiatema s lokalnom eache memorijom, nego 1 objekt koji ili ne doprinosi poboljšanju performansi ili utječe na je nemoguče formalno parametrizirati u opoera slučaju. njih negativno. To se može objasniti miiogim razlozima: Pošto, medutim, nije moguda nikakva analiza efektivnih opadanjem korisnosti informacije u bloku s rastom njego- performansl bez nekih oanovnih pretpostavki o ponašanju ve velioine, rastom količine informacije koja se istis- programa, a to znači i o atupnju lokalizna u dohvatima kuje iz oache memorije kod zamjene blokova, rastom vre- memorije, razradeni au neki modeli, koji (ovlsno o cilju) mena potrebnog za transfer bloka iz glavne u cache tnemo- analiziranja) viae ili raanje uspješno aimullraju pona- riju, što dovodi do povečanog opterečenja glavne memo- sanje realnih programa. rije i komunikacionih veza medu glavnom i caohe mernori- Jama. Pravilan izbor veličine bloka zbog toga je vrlo Kod modeliranja frekventnoati zahtjeva za dohvat lz me- važan za konačnu veličinu efektivnih perforraansi. Ana- rnorije oblčno se koristi jedna od dvije moguoe varijante: lize (7) pokazuju da Je optimalna veličina bloka obično a) procesor u toku jediničnog vremenskog intervala izmedu 16 i 256 bytaea. inicijalizira novi dohvat iz memorije s nekora za- danom vjerojatnošou ili po nekorn zadanotn statis- 8. Karakteristika linija povezivan.ja glavne 1 cache rne- tičkom zakonu. morije. Očigledno Je da brzina transfera blokova medu b) procesor inicijalizira novi dohvat, avaki put glavnom i caehe memorijom znatno utječe na performanse kad nije blokiran nekom drugom, prethodno započe- memorijskog aistema u ojelini. Ta brzina osim od moguo- tora, aktivnošču. nosti same glavne memorije zavi3i i od sklopovskih per- Redoslijed dohvata iz memorije najintereaantniji Je as- formansi linija povezivanja, konfiguraoije tih linija, pekt ponašanja programa, pošto direktno iakazuje lokali- kao i od njihove širine, odnoano količine informacije, zam u programrikom kodu. Jasno je da je zbog toga baš za taj aspekt ponašanja programa razraden veči broj modela, raztnatrati taj problem. koji mogu imitirati redoslijed dohvata u realnim progra- miraa. Medu njiraa su i slijedeoi: a) IRM (independent reference model) koji predvida PROBLEM KOHERENTNOSTI U MULTILROCESORSKIM SISTEMIMA S da svaki blok meraorije ima fiksiranu (možda ne LOKALNOM CACHE MEMORIJOM uniformnu) vjerojatnoat dohvata. U nekim sluča- Govoreci o analizi multiproceaorskih aiatema a lokalnora Jevima koristi se oak i RIRM (randora IRM) model, caohe memorijom nemoguče je ne apomenuti jedan važan koji predvida jednaku vjerojatnost dohvata iz problem, specifičan za arhitekturu a lokalnim roemorija- svakog bloka. raa. Radi ae o problemu koherentnoati, odnosno jednoznač- b) WSM (vrorking set model) koji predvida poatojanje nosti informacije. U multiprocesorakim aiatemima taj ae diakretne vjerojatnostne funkcije vremena f(I), problem pojavljuje zbog alijededih razloga: gdje je f{I) - dio vec izvršenih instrukcija, za a) postojanje zajedničkih područja podataka za neko- koje Je dohvat iste memorijske lokacije (u našera licinu procesora, odnosno različitih kopija tog alučaju bloka) bio prije I jediniea vremena. Dru- podruoja u cache memorijama različitih proceaora, gim riječima, ako je zadnji dohvat lz nekog bloka b) migracije prooesa s jednog prooesora na drugi, bio u vrernenu t. tada Je vjerojatnost dohvata iz dakle mogučnoati da kod aktivizacije nekog proce- tog bloka u vremenu t jednaka fCt^-t^). ? sa 'aadržaj pripadajude cache memorije ne odgova- c) LRUSM (last recently used stack model) je osnovan ra atanju u trenutku blokiranja tog proceaa. na ideji da se blokovi nalaze u stogu, s tim da se na vrhu atoga nalazi zadnji upotrebljeni blok, Moguoa su dva priatupa u rješavanju problema koherent- ana dnu blok koji najduže nije bio korišten. noati informacije. Svaki put kad ae vrši dohvat iz nekog bloka, taj Statičko rješenje predlaže diferencijaciju blokova me- blok dolazi na vrh stoga. LRUSM model pretpostav- morije na one koji mogu biti tranaportirani u lokalne lja da je vjerojatnost dohvata iz nekog bloka caehe memorije i one koji to ne mogu biti. Medu poaljed- jednaka p(I), gdje.Je I-trenutačno mjesto bloka nje odnose ae i blokovi sa zajedniokitn podacima. Na taj u stogu. VJerojatnostna funkcija p(I) nezaviana naoin statičko rješenje onemoguoava poatojanje različi- je od svih oatallh faktora osim pozioije bloka tih kopija kritičnih blokova. Ako Je, medutim, broj kri- u stogu. . tičnih blokova velik ili se oni eesto-koriste tada glav- no optereoenje opet prelazi s caohe na glavnu memoriju. Osirn navedenih modela ponekad se koriste i drugi, koji se medusobno razlikuju, uostalora kao i navedena tri mo- Dinaraički pristup predvida meduaobno apajanje cache me- dela, kako stupnjera apstraktnosti, detaljizacije i toč- morije 1 primjenu direktnog piaanja (WT) u organizaciji nosti imitiranja ponašanja realnih programa, tako 1 pot- obnavljanja aadržaja glavne memorije. Oaim glavne memo- . rebnim vremenom i statističkim podaoima za njihovo im- rije obnavlja se i aadržaj izmjenjenog bloka u avim cao- plementiranje. he memorijama, u kojima je-on u tom trenutku prisutan. Glavni nedoatatak takvog priatupa je u kompliciranosti Logieka zavisnoat raedu pojedinim zahtjevima za dohvat njegove sklopovske izvedbe, koja je ili prespora (spoj iz memorije postaje predmetom razmafranja u analizama preko zajedničkog kanala) ili preglomazna (medusobno multiprocesorskih slatema, koje dopuštaju da proceaorl spajanje svih caolie memorija Jednosrajernira kanalima). iraaju iatovremeno nekoliko nedovraenih zahtjeva za doh- Osim toga, procesor završava operaciju pisanja tek nakon vafc iz meraorije. što dobije povratni aignal od avih oatalih procesora Raznovranoat ali istovremeno i nepotpunost i parcijal- (oache metnorije) da je korekcija bloka izvraena. noat pojedinih metoda modeliranja ponašanja programa potvrduju da Još ne poatoji zadovoljavajuči priatup tom Količina nepotrebnih razmjena aignaia izmedu cache me- važnom aapektu analize multiproceaorskih siatema a lo- morija može se bitno amanjiti uvodenjem tablice blokova kalnom oache memorijom. Svaki od postojeoih modela je glavne memorije i lokalhih tablica stanja oache memori- zaanovan na odredenim pretpoatavkama koje olakšavaju Ja. Takav pristup rješavanju problema koherentnoati oini analizu performanai siatema, ali koje ae ponekad i zriat- se zaaad najrazumnijim, iako je jasno da i on itna odre- no udaljuju od realnih situacija (kao ato Je, na primjer, denih nedostataka (2): slučaj a RIRM modelom (6)). 1. iako znatno amanjen, oataje problem povišenog inten- S druge strane, praktički ave analize koje bar donekle ziteta komunikaoija izmedu procesora (odnoano njiho- ukljuouju i utjecaj ponaaanja programa, pokazuju da po- vih caohe memorija), . • • našanje pt-ograma ima presudan utjeoaj na efektivne per- 2. tablica stanja blokova glavne memorije postaju kri- • formanae računarskog siatema. Sve to govori da bi kod tičnim resursom sistema, koji se neprekidno inten- analize efektivnlh performansi računarakih sistenui s lo- . zivno koristi, pa kao takva može postati znaoajnim kalnom cache memorijom bilo potrebno puno' pažljlvije "uškim grlom" aistema. Zbog toga bi bilo nužno amjea- titi ih u posebno brzu tnemoriju ili pokušati riješiti 70

5. G. S. Rao, "Performance Analysis of Cache Memorles", taj problem kako to predlažu Dubois i Briggs: ras- Journal of the ACM, Vol. 25, Ko 3, PP. 378-5^5, Jtay, poredivanjem tablice stanja blokova po modulima 1978. 6. B. Ramakrishna Rau, "Program Behavior and tj& Perfor- glavne meraorije, tako da se podaoi koji se odnose na mance of Interleaved Meraories',' IEEE Trans. Comput., blokove nekog modula nalaze u dijelu tablice smješ- Vol. C-28, pp. 191-199, March, 79. 7. W. C. Yen, K. S. Fu, "Analysi3 of Multiprocgssor cao- tenom u tom istom modulu. he Organization with Alternative Main Meraory Update 3. broj radnji potrebnih za izvršenje operacije dohva- Policies", IEEE report, 1981. ta iz memorije postaje vrlo velik (sl. 4) i znači 8. 3. BSHMH, "AnaJina nyjibTMnpoueccopHbix cncTeM c HOkinnMflThlO", MOCKOBCMHM l~OCy,HapCTBBHHtJM y feahtijeva iznimne mogučnosti kontrolne jedinice sis- CdopHMH CTaTbBH, 1983 (u gtaitpi). teraa i kontrolnih jedinica rneraorijskih sklopova.

Analizirajuoi utjecaj probleraa koherentnosti na efektiv- ne performanse multiprocesorskog sistema s lokalnom cac- he memorijom Dibois i Briggs dolaze do zaključka da je kod izvršavanja procesa, od kojih svaki iraa bar 10% doh- Proc«aor P vata iz zajedničkog područja podataka, problem koheren- plž« u blok I tnoati glavni razlog degradacije efektivnih performansi sistema. Iako su autori u svojoj analizi krenuli od ne_ kih restriktivnih pretpostavki, što oduzima značaj opoe blok I zakonomjernosti dobivenira rezultatima, ta apaliza potvr- Jo u cache P duje da problemu koherentnosti treba posvetiti meksimal- nu pažnju.

ma li najnovija mjeata u cache koplja bloka I ja ZAKLJUČAK P a proc.R

Objekt analize multiprooesorskih sistema 8 lokalnom oao- he meraorijom vrlo je složen 1 kompleksan. Uvodenje lo- izaberi blok koji kalne cache memorije povečava broj organizaoionih i ar- treba izbacitl - K hitekturnih mogučnosti kod projektiranja računarskog sistema. To, jasno, dovodi do povečanja broja parametara koji se razmatraju, što nerainovno komplicira analizu predložene arhitekture i efektivnih performansi sisteraa.

Pošto su mjerenja realnih aistema danaa Još praktički nernpguoa, Jedini moguči pristup analizi 1 evaluaoiji

efektivnih performansi je modeliranje računarskih siste- piši blok K u gl.m ma s lokalnom cache memorijom. Bez obzira radi 11 se o analitičkim ili simulaeionim modelima, u takve analize

potrebno je uključiti sve speoifične parametre. Posebnu Jnovlj pažnju potrebno je kod modeliranja i analize poavetiti kopija bloka I ije u gl.m problemu koherentnosti lnformaoija i utjecaju ponašanja programa (kao i moguonostima njegovog točnog modelira- nja) na efektivne performanse sistema. Nema razloga sum- njati u korisnoat uvodenja lokalnih caohe memorija u Jitaj najnoviju kopiju tnultiprooesorske sisteme, a zadatak je analize njihove bloka I iz oache-a prooesor« R moguoe arhitekture i organizacije da sugerira optimalne u glavnu memoriju vrijednosti parametara te arhitekture, pri kojima če se postiči najpovoljnije efektivne performanse. čitaj blok I iz glavno oemorije u cache proceaora P LITERATURA: 1. D. P. Bhandarkar, "Analysis of Memory Interference in Multiprocessors"; IEEE Trans. Comput., Vol. C-24, pp. 897-908, Sept., 1975. 2. M. Dubois, A. Briggs, "Effecta of Cache Coherenoy in Multiprocesaors", IEEE Trans. Comput., Vol. C-31, piSl u cache /u blok 1/ pp. 1083-1099, ttovember, 1982. 3. K. R. Kaplan, R. 0. Winder, "Cache-Based Computer Systems", IEEE Computer, Vol. 6, March, 1973. H. J. H. Patel, "Analysis of Multiprocessors with Priva- Slika 4. Jedna moguča varijanta operacije pioanja te Cache Memories" IEEE Trans. Comput., Vol. C-31, pp. 296-30'!, April, 1982. UPORABNI PROGRAMI

Spremeroba programa PIP (CP/M 2.2) Ko imamo tako obe heksadeoimalni zbirki (PA- za večkratno zbirčno kopiranje PIP1.HEX za 8080 in RPIP1.HEX za Z80), lahko izvedemo modifikacijo programa PIP.COM, £n si- cer tekole:

*********************************** A> ddt pip.com (or) ;Pokliče se DDT, ki naloži * Informatica UP 11 * 5 PIP.COM v pomnilnik * PIP for Multiple File Transfers * DDT VERS 2.2 ;DDT izda sporočilo * septeinber 1983 * NEXT PC * modificiral A. P. Železnikar * 1E00 0100 (PIP.COM upprablja . 29 * sistem CP/M 2.2 * j strani pomnilnika ***********************************, -ipaplpl.hex (cr) ;Priprava za včitanje mo- f difikacijske zbirke -r (cr) jVčitanje PAPIP.HEX, ki 1. Področje uporabe ; prekrije dele zbirke ; PIP.COM NEXT PC PIP (Peripheral Intercharige Program) je prehod- 1E00 0000 ni ukaz (program) sistema CP/M 2.2 za kopiranje •S CTRL-C izstopimo iz DDT ene ali več zbirk iz enega diska nadrugega ali na periferne naprave. PIP ne dovoljuje s;pre- A>save 29 rpip.com (cr) prostim ukazom kppiranja zbirk na več diskov: jlz' 29 strani v pomnilniku vselej zahteva po kopiranju izstop iz PlPa, j oblikujemo novo zbirko vstavAtev novega diska in ponoven klic programa ' ; RPIP.COM PIP. To je seveda zamuden postopek pri 'kopira- nju zbirk na več diskov. Podoben ' postopek imamo tudi za zbirko RPIP1.HEX, ki smo jo imeli za procesor Z80. Se- Postavimo si tole nalogo: modiflcirajmo PIP ta- daj nam preostane samo še preizkus dobljenih ko, da bomo z ukazom v eni vrstici lahko tega COM zbirk rpip.com (8080) in zipip.com (Z80) . ponovili poljubno mnogokrat brež ponovnega pi- sanja ukaza pri poljubni izmenjavi diskov ozi- roma disket in seveda brez izstopanja iz PIP in 3. Izvajanje dobljenih programov toplega zagona.

Prikazali bpmo dve identični modifikaciji PlPa, Večkratno kopiranje zbirk brez vračanja v CP/M in stcer z uporabo zbirnika ASM (8080) in uka- lahko preizkusimo z ukazoma rpip in zipip, in zov DDT in SAVE ter z uporabo zbirnika ZASM sicer predvsem oba nova ukaza R (resetiranje (Z80),' povezovalnika LINK in ukazov DDT in diskete v stanje R/W) in H (hitra ponovitev ko- SAVE. Tako bomo hkrati spoznali še nekatere me- pirnega ukaza z vstavitvijo nove diskete). Pri hanizme programlranja v zbirnih jezikih. tem ostanejo v veljavi seveda vsi dosedanji u- kazi programa PIP. Naš primer pa izgleda tako, kot je prikazano na listi 5. 2. Kratek opis obeh programov Tako smo si pripravili novo, privlačno orodje Za modifikacijo programa PIP moramo poznati do- za množično kopiranje disket na sistemu z ope- ločena raesta modifikacije. Modifikacija progra- racijskim sištemom CP/M 2.2. Nov sistem CP/M ma,ne bo naslovno strnjena: imeli bomo tri lo- Plus ima te možnosti že vgrajene v osnovni si- čehe segmente. Z zbirnikom ASM (8080) bo ta stem, tako da jih ni potrebno posebej dodajati. problem segmentiranja rešljiv enostavno, ker ta zbirnik generira prevedeno' heksadecimalno zbir- ko, ki natanko upošteva psevdoukaze ORG in tako že natariko segraentira celotno modifikacijo. O- :03010000C30A012E glejmo si najprej ta modifikacijski program na :10010A003A8000B7117A01CC7401C3CE04 21CB1E08 listi.l. :10011A003680EBOEOACD05003ACC1EFE01C26D01F7 :10012A003ACD1EE65FFE48C256012AF30122CC1ED2 Iz liste 2 je razvidno, da je heksadeciraalni :10013A0011DB01CD740121CC1E4E060023093624A1 prevod natanko to, kar smo želeli. Trije seg- :10014A0011CDlECD74010E0DCD0500C9FE52C26D32 menti so določeni s psevdoukazi ORG 100H, ORG :10015A000111B401CD74010EODCD0500CD2E08E1BB 10AH in ORG 96FH v listi 1 (in seveda z psevdo- :10016A00C33C052ACClE22F301C90E09CD0500C9DC ukazom END na koncu programa). Program je doku- :10017AOOODOA50495020312E35207A207265736 558 mentiran, tako da dodatna pojasnila niso po- :10018A00746972616E6A656D2028522920696E2031 trebna. :10019A007320686974726F20706F6E6F76697476F7 :1001AA00696A6F202848290D0A240D0A5265736569 V listi 3 je enak program napisan v zbirnem :1001BA00746972616E6A6520767365682064697312 "jeziku procesorja Z80, in sicer v treh absolut- :1001CA006B6F762076 207374616E6A6520522F57A2 nih modulih, ker je ZASM premeščevalni zbirnik :1001DA00240D0A506F6E6F7669746 576206B6F70A6 (ne absolutni kot ASM). Te trije moduli se po- :OB01EA006972616E6A613A2024 000017 vežejo v en sam heksadecimalni kos s povezoval- :03096FOOC31701AA nikom LINK, ko imamo npr. operacijo :0000000000

LINK rpiplfrplp2,rpip3 Lista 2. Heksadecimalni kod (Intelov format) za Posledica te operacije je heksadecimalna zbirka program z liste 1 ima tri ločene naslovne seg- rpipl.hex, ki jo vidimo na listi 4. Tu jc raž- mente (100H, 10AH in 96FH); to pa smo tudi že- vidno, da je ta zbirka natanko to, kar smo že- leli. S tako strukturiranim kodom smemo nepo- l,eli. Tako bo nadaljna modifikacija programa sredno prekriti obstoječi kod (PIP.COM) v pom- PIP enostavno izvedljiva z uporabo . prehodnega nilnlku (z naložitvijo v okviru ukaza DDT). ukaza DDT za oba naša primera. A>C:PIP 014A 11CD1E LXI D,KOVMES* ;TISKA;JJE SPORO^ILA *CO»:*B:PAPIPI 0140 CD7401 CALL TISKAJ 0150 OEOD MVI C.REDISK JIZVAJA;JJE FUJKCIJE RESE- 0152 CO0500 CALL BDOS ; TIRAIJJA DISKA PRILAGODITEV PROGRAMA PIP ZA UPORABO PRI VEC- 0155 C9 RET KRATiJEM PREMOSU ZBIRK: FUJKCIJI R CRESETI- RAJJJE DISKOV) I.M H CHITRA PCMOVITEV) * 0156 FE52 RESET: CPI *fi* iRESETIRANJE DISKA? DISKETE LAHKO ZA;1E.iJJUJEllO BREZ UPORABE TOPLE- 0158 C26D01 JNZ RESI ; *E Alt SHRArtl ITD. GA ZAGOiiA I.J IZSTOPA.JJA 12 PROGRAMA PIP 01SB 11B4 0 1 LXI D/SP0R2 JTISKAJ R/U SPORO*ILO 015E CD7401 CALL TISKAJ 0005 S BDOS EQU 0 5H ;VSTOPi-JA TOCKA ZA BDOS 0161 OEOP MVI CREDISK »•IZVAJAMJE FLTJKCIJE RESE- ' 0080 1= VdES EQU 0S0H ;DISKO\MI/UKAZMI VMESiJIK. 0163 CD0500 CALL BDOS ; TIRANJA DISKA CP/M FtMKCIJE: i 0166 CD2E08 CALL CRLF ;TISKAJ CRLF 0009 = TISPOR EQU 9 ;FIMKCIJA TISK. SPOROCILA 0169 El POP H ;0CI5TI SKLAD O00A s BRAKOiJ EQU 10 ;FIMKCIJA BRAWJA KO^ZOLE 016A C33C05 JMP AMALIZ 000D REDI5K £QU 13 RESETIRA.WA DISKA ilZDAJ ZiilAK '*' = i i 016D 2ACC1E RESI: LHLD KOVMES+1 04CE = ZAPIP EQU 04CEH ;£JORHAL.JI 2ACETEK PIPA 0170 22F301 SHLD STEVZN iSTEUILO ZilAKOV • ZtfAK 1ECB = KOVMES EQli 1ECBH • ;IJTERVI KtMZOLiJl VilES:JIK 0173 C9 RET s CRLF £QU 062EH ;I;JTER;IA CR/LF RUTIIJA oesE i 053C s A.MALIZ EQU 0 53CH ;VSTOP.IJASL- A.JALI2AT0RJA 0174 0E09 TISKAJ:MVI CTISPOR JFUJKCIJA TISKAiJJA SPOR. 0'96F =: VSTAVI EQU 096FH ;VSTAVITVE>JI IJASLOV 0176 CD0500 CALL BDOS 0179 C9 RET - i 000A LF EQU 0AH IPOlUK VRSTICE 000D CR EQU 0DH ;P0rlIK VALJA 0I7A 0D0A504950SPOR1 DB CR,LF, 'PIP 1.5 Z RESETIRA.JJB1 CR) • 0197 696E207320 DB *IN S HITRO PONOVITVIJO CH> %CR*L 0100 ORG 100H ;2ACETEK SPRErfEilBE PIPA * 01B4 0P0A526573SPOR2 DB CR>LF, 'RESETIRA.JJE VSEH DISKOV V 0100 C30A01 J^P ZACETK SSKOK PREK V/I VEKTORJEV 01D0 7374616E6A DB 'STAlJJE R/tfS '

010A ORG 10AH 01DB 0D0A506F6ESPOR3 DB CR/LF. •POiJOVITEV KOPIRA.MJA: S' i ; 010A 3A6 00 0 ZACETK :LDA VMES ;1ME ZBIRKE SPECIFICIRA.JO? 01F3 0000 STEVZN DW 0 ;STEVILO ZMAKOV V KO^ Vi-1 010D B7 ORA A ; =0. CE ill I.-1E.JA ; 010E 117A01 LXI D..SPOR1 ;ZACET:JO SPOROCILO ORG VSTAVI ;VSTAVITEV SPREHE4BE 5E 01 11 CC7401 CZ TISKAJ JNATISNI SPORO"ILO '" SE ZACiJE TUKAJ ;SKOCI ;JA ZACETEK PIPA 0114 C3CE04 J.-IP ZAPIP 096F C31701 JMP DODANO iDODAiJA UKAZA II III H ; 0117 21CBIE DODAMO :LXI H,KOVrtES ;KA2ALEC WA KCUZOL.JI VrfES 01 1A 3 68 0 MVI ii-128 ; Z DOLZl.JO 126 ZLOGOV 0972 END 01 1C EB XCHG ;KAZALEC ZA CP/M JE v DE 01 1D 0E0A MUI C>BRAXO.J ;PREBERI KOi\IZOL:JI VMES.JIK 01 1F CD0500 CALL. SDOS ; z UPORABO CP/H Lista 1. Ta lista prikazuje program v Ebirnepi jeziku procesor- 0122 3ACCIE LDA KOVVl£S*'l iSTEVlLO VTIPKAiJIH ZrJAKOV ja 8080, s katerim bomo prekrili obstoječi kod programa 0125 FE01 CPI 1 ; ALI JE SAMO EDEW? PIP.COM; to operacijo bomo imenovali modifikacija programa 0127 C26D01 JNZ RESI J CE Wl# GA RESI ITD. PIP.COM (angleško patching). Program v zbirnem jeziku je bil 012A 3ACD1E LDA KOU^ES+2 iVZEi-11 E-JOZMAKOViJI UKAZ preveden s standardnim CP/M zbirnikom ASM.COM, ki generira ab- 012D E65F A.JI 0 5FH ; KOT VELIKO CRKO solutni računalniški kod. V prvem segmentu programa (100H) 012F FE46 CPI •H' ;ALI JE HITRO PO.JAVLJA.JJE spremenimo začetni skok, tako da PIP začne najprej izvajati 50131 C25601 J;JZ •RESET ; ;JI! RESETIRAiJJE? programski segment, ki začenja pri naslovu 10AH. Ta drugi seg- L0I34 2AF3 01 LHLD STEVZiJ ; JE! -STEVILO Z.JAKOV: ment natisne ustrezna sporočila na konzolo, s katerimi pouči 0137 22CC1E SHLD KOV.lES+1 uporabnika, kako lahko dodatno uporablja modificirani PIP (do- 013A 11DB01 LX1 D^ SPOR3 »•SPOROCILO 0 PO.JOVITVI dana sta dva nova ukaza R - resetiranje v stanje R/W in H 01 30 CD740I CALL TISKAJ ; POSTOPKA hitra ponovitev prejšnje operacije pri novovstavljeni disketl 0140 21CC1E LX1 H.KOVdES-i-1 ;KA2ALEC K ZAD.JJ&1U UKAZU v diskovno enoto). Uporabniški ukaz za določeno sestavljeno PIP operacijo se vstavi v poseben vmesnlk, tako da je mogoče 0143 4E MOV ;DOLZI;JA UKAZA ta ukaz ponoviti poljubno mnogokrat pri novih disketah z upo- 0144 0600 MVI B'0 ;IZRACIW OMIKA rabo ukaza H. Tretji segment je skok na lokaciji 96FH na na- 0146 23 liiA H slov DODANO. Sporočili S in L o napaki (lista) nista bistveni! 0147 09 DAD B 0148 3624 MVI ;KOMEC SPOROCILA •COW:=C:RPIP1.PHJ 0129 3ACD1E 0039 LD A*CKOVMES+2) :\!Z.Eiil EWOZiJAKOViJI UKAZ SD SYSTEMS Z80 ASSEM3LER PAGE 012C CEAF 0040 RES 5>A ; KOT UELIKO CRKO ADDR CODE STHT SOURCE STATEMEiJT 012E FE48 0041 CP *H' .JALI JE HITRO PO.MAVLJAMJE 0130 2022 0042 JR MZ..RDISK-I ; WI ! RESETIRA.JJE? - 0001 PF.Vl MODUL. PROGRAMA RPIP S POJASIJITVIJO VMO- 0132 2AF0 01 0043 LD HL# CSTZiM) ; JE! STEVILO ZUAKOV: 0002 DULU RP1.P2.A5M 0135 22CC1E 0044 LD (KOVMES + 1 >.»Hi. 0003 0138 11DS01 0045 LD DE*SP0R3 iSPOROCILO O PONOVITVI 0004 .PSECT ABS 013B CD7101 0046 CALL TISKAJ ; POSTOPKA . • 0005 GLOBAL ZACETK • 013E 21CC1E 0047 LD HL,KOVHES+1 iKAZALEC K ZADIVJEIIU UKAZU >0100 0006 . ORG 10 0H 0141 4E 0048 LD 0,CHL) ;DOLZI;JA UKAZA 0100 C3FFFF 0007 JP ZACETK iSKOK V BISTVEiJI DEL 0142 0600 0049 LD B> 0 ;IZRACISJ ODMIKA 0 0 08 SID • ; DRUGEGA UODULA 0144 23 0050 INC HL 0145 09 0051 ADD HL*BC ERRORS« 0000 0146 3624 0 0 52 LD (HL)» '$' ;KOiJEC SPOROCILA 0148 11CD1E . 0053 LD DE,KOVMES+2 ;TISKAIJJE SPORO'ILA 014B CD7101 0 0 54 CALL TISKAJ 014E 0E0D 0055 LD CJREDISK ilZVAJAiJJE FU.-JKCIJE RESE- 0150 . CD0500 0 0 56 CALL BDOS ; TIRA;JJA DISKA •COiJ:=C:Rf IP2.PRM 0153 C9 0 0 57 RET SD SYSTE:IS Z8D ASSE13LER PAGE 0058 ; ADDR . CODE STMT SOURCE STATEHE.JT 0154 FE52 0 0 59 RDISK: CP *R' ;RESETIRAIJJE DISKA? 01 56 2012 0060 JR NZ.RESI-S : "E ai. SHRA;JI ITD. 0001 PRILAGODITEV PROGRArlA PIP ZA UPORA3O PRI UEC- 0158 11B101 0061 LD DE,SP0R2 JTISKAJ R/V SPORO*ILO 0002 KRAMEM PREnIOSU ZBIRK: FUJKCUI R (REŠETI- 01 5B CD7101 0062 CALL TISKAJ 0003 RAiJJE DISKOV) IiJ H (HITRA POJOVITEV) 0l'5E 0E0D 0063 LD C^REDISK ;IZVAJA.JJE FUiKCIJE RESE- 0004 DISKETE LAHK.O ZAMEMJUJEMO BREZ UPORABE TOPLE- 0160 CD0500 0 0 64 CALL BDOS J TIRA:JJA DISKA 0005 GA ZAGCUA IN IZŠTOPAiJJA IZ PROGRArfA PIP 0163 CD2E08 0065 CALL CRLF ;TISKAJ CRLF 0006 0166 El 0 0 66 .POP .HL JOCISTI SKLAD 0007 PSECT ABS 0 167 C33C05 0067 JP ANALIZ ;IZDAJ ZiJAK •'• *• 0006 GLO3AL ZACETK 0068 ; 0009 GLOBAL DODAMO 016A 2ACC1E 0 0 69 RESI: LD HL^ C-KOVi1ES+l );STEV1LO ZiJAKOU + ZrJAK 0010 016D 22F001 0070 LD CSTZi\l>»HL >0005 001 1 3D0S EQU 0 5H ;VS.TOP:JA TOCKA ZA BDOS 0170 C9 0071 RET >0080 00 12 VMES EQU. 8 0H ^DISKOVJfl/lKAZUI VrlESMIK 0072 i 0013 CP/M FU.JKCIJE: 0171 0E09 0073 TISKAJ :LD C^TISPOR. JFUiJKCIJA TISKAi-IJA SPOR. >0009• 0014 TISPOR E3U 9 ;FUJKCIJA TISK. SPOROCILA. 0173 CD0500 0074 CALL BDOS >O00A 0015 3RAKO.J EGIU 1 0 ;FU;IKCIJA 3,RA;JJA KO.JZOLE 0176 C9 0 07 5 RET >000D 0016 REDISK.EOU 13 ;FU;JK. RESETIRA.UA DISKA 0076 ; 0017 * 0177 0DOA 0077 SPORl DEFW OA0DH >04CE 0018 ZAPIP Eflli . 4CEH > ZACETEK PIPA 0179 50495020 0078 DEFM 'PIP 1-5 Z RESETIRAiJtJEii CR) 0019 >1 EC3 KOVVIES EQU 1EC3H iliJTERiJI KOiJZOl-JI VI1ES.JIK 312E3520 0020 >082E CRLF EdU 82EH JIWTERiJA CR/LF RUTIWA 7A207265 0021 >053C A.JALIZ. EQU 53CH ; VSTOP.iIASL- AiJALIŽATORJA 73657469 0 0 22 72616E6A 0 0 23 >010A ORG 10AH 656D2028 0 0 24 i 522920 0025 ZACETK:LD A,.CVMES> ; IME ZBIRrCE SPECI FICIRAiJO? 0194 696E2073 0079 DEFH 'IM S HITRO POiJOVITVIJO CE Ml IHEiJA 20686974 010D B7 0027 JZACETJO SPOROCILO 726F2070 0 10E 117701 0 0 28 LD DE,SPOR1 ;NATIS^I SPORO*ILO 6F6E6F76 0111 CC7101 0029 CALL Z..TISKAJ J5K0CI iJA ZACETEK PIPA 69747669 01 14 C3CE04 0030 JP ZAPIP 6A6F2028 0031 4829 0117 21C31E 0032 DODAiJO:LD HL.KOVMES JKAZALEC iJA kOMZOLMI ViiES 01AE 0D0A 0080 DEFW OA0DH 01 1A 3680 0033 LD CHL>»128 ; z DOLZIJJO 128 ZLOGOV 01B0 24 0081 DEFH '$ ' 01 1C EB 0034 EX DE..HL ;KAZALEC ZA CPA-1 JE U DE 0082 ; 01 1D 0E0A 0035 LD C^BRAKOiJ ;PREBERI KOaZOUJI VHESrfl« 01B1 0D0A- SP0R2 01 1F CD0500 0036 CALL BDOS ; .Z UPORABO CP/H 0083 DEFW 0A0DH 0133 52657365 0 0 84 0122 3ACC1E 0037 LD A> CKOVMES+1) ;STEVILO VTIPKAIJIH ZiJAKOV DEFd 'RESETIRA;>IJE VSEH' DISKOV 'V ' 74697261 0125 FE01 0038 CP 1 ; ALI JE SAMO EDEiJ? 0127 2041 JR iJZ>RESI-S ;. CE ai* GA RESI ITD. 6E6A6S20 74

10 • -H I >ln-l »I I I 110 •n 6Q)>0 J5-P>ra^dic3E 9 C <4 >H iH g ll-HO h (I>U II (I N fd M 3 T"l 4)(A^34-> g rt)O)tl i ID (0 ^"O HflJ^OOCfll-H-HOflJ O > a •H O4 ^4 E 01 C *H jH •—^ CU QJ 0 01 ^ (i) OJ (Dnj^uiO 61 O 4-* *O m * C0)O+J>(001 0 M o s • (U-H MNCOOM CO RJ,£ •H "O ^JTI Pi OJ >n O -r4GOOC<0 3EJ3 NW r-\ • • -< * tfl 0) <1) 0) M ro .C J 0. * HOl^lDNH a: * •r-iQ)>01-H01H>E(d . Id 0. I- J * MflrH- N H llf_ _l II_I «(1)OC') 0 H O tn s> * o * •1-1 I« >JB0>J1TI4 C O^- k o » 0 0 N •H > ^H |J 0 •—I O^ D M m ^ Pi N Q) '<-J !> "H E ^ C C>0>C -H -1-1 N ' -H •z * o-waio o 3o d • *3j Q Ut« <( J3 0. J • M> I- g C 01 U U -M -r~, • G -rf -r-iO TiH ra t- >H(8 co 0)"—• Q Q Q Q U) W * P.ONOT l- » 4JCHC (0<0NNE^(, 0 C(0'H43 6J u C D4OO 0 D4+J+JU3 QJ4J^ro 3a i0-p >ui a) S o a * > (8 o * t J3 Ell CHU-nHII O ] o * f- D. t- N g 0) U <1) •<% t/J •«» o M-H vO C*- tO O> CD -, 0J »^HmuilBo 0C0n!ra to a> oo to o^ o* o* O (=> O O OOOOODOO C3 O C3 O E^ltt (0 Hfl 0) 0 ON 0-rf n) ai 0,-H M-u 0 ia M x • B o> -nc u u OT) o< «r ui i-i a> o< 4-> oo n 1». in iv, -. I4J 6 0 CU u. (^•HN-f-lEJt* >^H 01 10 C 0) O (fl a ui IO -H w IJ M M J3 Oi ^ ^O t^ C3 ^3 %O C^ ^3 v0 OJ 0. O u. ^o ro ^C fi> £j c^ ^o ^^^ ^^ (JJ c3 •n -n -H 03 h- h- \Q Ol o i/) ^. (s f. ^o O| c: o ~ (1) u II o t/1 II u. u. •n 4J 0) & X K u Q Q Q O\ (jv O Ul r4'H N N o 01 0 -H -H -H rH cc o O o a o» o o A A C3 •H M JH 4J J3 C P M -H (U a *

:03010000C30A0l2E :20010A003A8000B711770lCC7101C3CEO4 21CBlS36 80EB0E0ACD05O03ACClEFE0l2041?AB5 :20012AOOCD1ECBAFFE4820222AF00122CC1E11D801CD710121CCIE4E06002309 36241ICDJ35 t20014A00lECD71010E0DCD0S00C9FE5220l211B101CD71010E0DCD0500CO2E08E]f. J3C05Z9 :20016A002ACC1E22F001C90E09CD0500C90DOA50495020312E35207A207265736574637267 :20018A0O616E6A656D2O28522920696E2073206869^^^^SF^O^OeFeEeF^eeg^^^ee^eAG^DO :2001AA00202848290D0A240D0A526573657 46 97 2616E6A652076736 56820646973636F76 28 :2001CA002076207374 616E6A652052 2F57 240DOA506F6E6F7669746 576206B6F7069726I37 :080lEA006E6A613A2024000056 t03096FOOC31701AA S00010001FE

Lista 4. Zilogov heksadecimalni format na tej listi se razlikuje od Intelo- vega formata na listi 2. Tu je maksimalno števiio zlogov v vrstici enako 32 (20H) za razliko od 16 (10H) pri Intelovem formatu. Nekatere vrstice so se- veda lahko tudi krajše (npr. prva, deveta, deseta in enajsta). Prikazani format oCitno zadovoljuje našo zahtevo po prekrivanju programa PIP.COM v pomnllniku, ko uporabljamo interne ukaze prehodnega prograraa DDT.COM, Raz- lika med Zllogovim in Intelovira heksadecimalnim formatom je tudi v zadnji vrstici. Intelova zadnja vrstica je sestavljena iz samih niSel (glej listo 2), v Zilogovi zadnji vrstici pa se oblikuje med drugim tudi vsota parno- sti (zadnji zlog = zadnja dva znaka = FEH). Izkaže se, da ta razlika v za- dnji vrstici ne povzroča stranskih učinkov in da smemo Zilogove heksadeci- malne zbirke brez nadaljnega uporabljati v okviru ukaza DDT. Še pojasnilo: v drugi vrstici pomeni ':' zafietek nove naslovne vrstice z dolžino 20H zlo- gov pri naslovu 010AH, ko imamo tip zapisa 00 (zadnja vrstica ima tip 01); nato sledi 32 zlogov. Na koncu vrstice je vselej zlog vsote parnosti. Ta format je nastal v razdobju uporabe ASCII teleprinterjev in zadnji zlog se je uporabljal za verifikacijo pri čitanju z luknjanega papirnega traku. 76

A>C:ZIP1P Pokličemo modificiran program ZIPIP.COM, ki se nahaja na diskovni enoti C: PIP 1.5 L RESETIRAUJEil l.J S HITnu f-O.-iOVITVlJO Pirogram se javi s sporočilom •R = Uporabimo nov ukaz R, ki povzroči reseti- RESETIRANJE VSEII DISHOV V STA.JJE ii/W ranje zbirk v stanje R/W •D:=C:»-?SC : — Vtipkamo PIP ukaz, s katerira se bodo vse zbirke, ki končujejo v razširitvl s COPVING - • podnizom 'SC* kopirale z diskete enote AAAA-ASC C: na disketo enote :D BBBB.ASC CCCCASC DDDD.BSC *H "——— —~~. . __—™~ . —.. Vstavlmo novo disketo v enoto :D in pono- POMOVITEV KOPIRANJA: Di=Čs*.?SC vinio postopek kopiranja COPYING - AAAA.ASC BBBB.ASC CCCC.ASC DDDD-BSC Vstavimo novo disketo v enoto :D in pono- PONOVITEV KOPIUAUJA: D:=C:».?SC vimo postopek kopiranja

COPYIUG - AAAA.ASC BBBB.ASC CCCCASC DDDD.BSC Po trikratnem kopiranju izstopimo iz pro- graina ZIPIP.COM v operacijski sistem A> CP/M na začetno diskovno anoto :A

Lista 5. Primer na tej llsti kaže, kako je mogoče z modificiranim programom PIP večkrat kopirati zbirke iz ene diskete na drugo brez vmesnega vračanja v slstem CP/M. Pri tem smemo diskete v di- skovnih enotah poljubno zamenjevati z novimi ih uporabljati vse ukaze programa PIP vključno z novima dvema ukazoma R in H. Podobno listo bi dobili z uporabo programa RPIP, ki je bil napisan za procesor 8080.

*************************** * Modula-2 za CP/M sistem * * Mikrovojna filmska zanimlvost ***************************

Prevajalnik za jezik Modula-2 na CP/M sistemu V novem filmu podjetja MGM/OA, ki ima naslov zahteva 60k zlogov pomnilnika. Modula-2 je na- "Vojne lgre", uporablja 100 vojaSkih strategov preden programirni jezik (o njenu srao pisali dva mikrosistema podjetja CompuPro. Dva sistema tudi v časopisu Informatica), ki se je razvil poganjata vrato zaslonskih računalnikov z zani- iz jeztka Pascal. Njegov poudarek temelji na mlviml barvnimi ufiinki} programe za te efekte konceptu modula, kar omogoča razvoj obsežnih je izdelal filmski ra&unalniški konzul.tant programovj ki so sestavljeni iz modulovj ti se Steve Grumette. shranjujejo v prbgramski knjižnici. Ker je vsak modul razdeljen v tkim. definicijski in imple- Za veliko vojno dvorano je Grumette sprogrami- mentacijski del, je mogoče vsak modul modifici- ral 120 monitorjev, ki oddajajo na stotine raz- rati brez vpliva na njegovo povezavo z ostalim ličnih bojnih planov z bliskovito hitrostjo delom programa. Razen tega ima Modula-2 last- vse z upocabo slstemov CompuPro. Pri tem je nost tipskega preizkušanja med ločeno prevede- odločilna hitrost za realno dogajanje na sceni. nimi programskimi segmenti. Glavna prednost je namreč v tkim. mikromodulu M-Drive, ki slmulira winchestrski disk z veliko Sintaksa Module-2 je podobna pascalaki sinta- hitrostjo. Druga zahteva je blla zanesljivost . ksi, je pa bolj sistematična in lažje priučlji- mikrosistema. va. Modula-2 ima tudi nizkoravninske pripomoč- A.P.Železnikar ke, ki omogočijo neposreden dostop v računal- niško opremo in dovoljujejo strogo tipsko pre- izkušanje. Ta relativno nov jezik inia tud.l mul- tiprogramirne možnosti, kot so signali, moni- torji in procesno oblikovanje. Koncept proco- durnih spremenljivk prinaša nove možnosti za programsko krmiljenje.

Modulo-2 je deflniral N. Wirth, ki je obl.lkova.1 jezik Pascal v letu 1970. Cena paketa je $ 100. Naslov proizvajalca: JRTSystems, 45 Cam.ino Alto, Mill Valley, CA 94941, USA. A.P.Železnlkar NOVICE I N ZANIMIVOSTI

*************************************** — WDl010 vlnčestrski krmilnik, ki obllkuje * Novice iz podjetja Digital Research * krmilno vezje za standardne vinčestrske *************************************** diskovne enote (ST500/SA1000 itd.), je po- vezljiv z večino 8- in 16-bitnih mikropro- cesorskih vodil in dosega hltrost prenosa Podjetje Digital Research je objavllo nov cenik podatkov do 5Mbit/s svojih programskih izdelkov, in sicer: — WD1011 je ustrezni separator dlgitalnih podatkov, ki se uporablja pri branju po- Opis izdelka Format Format datkov iz vinčestrskega diska 3740 3740 disk 8" disk 8" — WD1O12 rabi za pisalno prekompenzacijo 8-bitni 8086 — WD1014 je krmilnlk za popravljanje napak Operacijski sistemi in pripomočki — WD1015 je vmesniSki upravljalnik CP/M $165 $275 CP/M Plus $385 — WD1510 je LIFO/FIFO, ki se lahko uporabi MP/M $495 $715 kot zunanji sektorski vmesnik in CP/Net $220 . Despool $ 55 — WD279X je pripadajoči krmilnik za Tex $110 upogljivi disk (disketa) Jeziki in programirni pripomočki Naslov proizvajalca: Western Digital, Components Group, 2445 McCabe Way, Irvine, CA CBASIC $165 ' $358 92714, USA. CBASIC Compiler $550 $660 A.P.Železnlkar Personal BASIC $165 C $660 Pascal/MT+ $385 $660 ******************************** Speed Programming $220 $275 * Araeriškojaponski raikrosistem * Package ******************************** Pascal/MT+ with Speed $550 $880 Progranuning Package PL/1 $605 $825 Na evropskem tržišču se je pojavil mikroraču- CIS Cobol $935 $935 nalnik Seiko Series 8600, ki Ima šest (beri 6) Level II Cobol $1760 različnih operacijskih sistemov In sedem viso- Animator $880 kih programirnih jezikov. Ta sistem se pVoizva- Forms II $220 ja v skupnem ameriškojaponskera podjetju Sci- Native Code Generator $880 -Com. Ta računalnik je večuporabniški mali po- Run Time System $440 slovni sistem, ki uporablja procesor &086 (5 DR-Logo $ 99,95 $149,95 MHz), 5l2k RAM, 10M vinecstrski disk in do dva upogljiva diska (5 in 1/4"). Za komunikaoijo je Programirn« storitve predviden dupleksni RS232C port (50 do 19,2k baud), 8-bitni paralelni V/I za Centrogics" in Utilities $220 $220 dodatni CCITT-X.21 standardni HDLC vmesnik ter BT-80 $220 do štiri prikazovalnopisalne enote s procešorji XTL86 $165 8085. SID $110 $165 Access Manager $330 $440 Operacijski sistemi za Seikov mikroračunalnik Display Manager $440 $550 SO MS-DOS, CP/M-86, MBOS, OASIS-16, UNIDOL in MP/M-86. MBOS (Science Management Corp) je mul- Grafika tioperacijski sistem, ki je podprt z Basic Four poslovnim jezikom. UNIDOL (isti proizvajalec) GSX $ 82,50 $ 99 je eno- in večuporabniški primerek sistema DR-Kernel $550 III. Dodatni jeziki so še Fortran, Cobol, Pa- DR-Plot $550 scal, C, MBasic in CBasic. DR-Graph $440 DR-Draw $440 Osrednji procesor ima pri 5MHz taktu 4 DMA kanale, tri intervalne časovnike, uro realnega fiasa in 8 vektorskih prekinitev. Osnovni sistem Cene v tej t&beli veljajo za en sam kos. Seveda ima 128k 200ns RAM, razširljiv do 512k. Inicia- prodaja Digital Research še druge izdelke za lizacijske rutine so samodiagnostične. Cena IBMov PC, Apple II, Rainbow (DEC) in za TI PC. minimalne večuporabniške konfiguraclje z enim Cena CP/M-86 za IBMov PC znaša le $66. 640k pogonom za upogljivi disk in z 10M vinče- A.P.Železnikai strskim diskom, z enim terminalom in večuporab- niškim operacijskim sistemom znaša v Veliki Britaniji približno 7000 funtov. ************************************ A.P.železnikar * Vinčestrski krmilnik za amaterje * ************************************ **************************************** * Unlx System 5 naj bi postal standajrd * Z novimi integriranimi vezji si lahko žgradite **************************************** krmilnik za uporabo vinčestrskega di£ka tudi sami. Podjetje VJestern Digital proizvaja vrsto združljivih integriranih vezij za te namene, in Kako naj bi dosegli zadovoljivo standarlzacijo sicer: operacijskega sistema Unix, ki se pr(Ddaja v 77

različnih lzvedbah? Bell Laboratorieš, ki je vgnezden.imi novimi ukazi v zbirki; pri tem se oblikoval sistem Unix, je prodal licence štirim ne upoštevajo ukazi s piko na začetku vrstic, vodilnira proizvajalcem integriranth vezij, in ki pripadajo WordStaru. Normalno pa delujejo u- sicer podjetjem Intel, Motorola, National Semi- kazi VJordStara za polkrepko, podčrtano in dru- conductors in Zilog, pod pogojem, da zgradljo gače poudarjeno besedilo. Magic Print pa uvaja splošen (generičen) operacijski sistem Unix 5 tudi druge lastnosti, kot je avtomatično pisa- za njihove sedanje in prihodnje 16-bitne mikro- nje ppomb (footnoting), večvrstične glave in procesorje. Cilj takega dela naj bi bila skupna podnožja besedil in še druge lastnosti. Ko je aplikativna programska oprema, ki je portabilna zbirka dokončno urejena, se uporabi MagicPrint (prenosljiva) iz enega računalniškega sistema ža njeno tiskanje in normalne rutine VtordStara na drugega brez spreminjanja koda ali drugih se pri tem ne uporabljajo. popravkov. Krmilhi znaki MagicPrinta so zbrani v tabeli Generični primerek operacijskega sistema bo 1. Ti znaki so vgnezdeni (vnešeni) v besedilo pripravljen za prodajo v začetku leta 1984, in in izginejo (se zbrišejo) na koncu odstavka. sicer za procesorje iAPX 286, 68000, 16032 in Z8000. Nestern Electric bo dobavil tem proizva- jalcera Unix System 5 v izvirnem kodu za VAX CTRL-An Spremenljivi razmak med črkami 11/750 in proizvajalci- bodo na osnovi tega raz- (pitch), kjer je n = 0, ... ,9 vili prbcesorskb odvisne dele sistema. Po izde- CTRL-B Polkrepko tiskanje lavi teh delov bodo ti vrnjeni Western Electric CTRL-C Ustavitev, ki omogoča zamenjavo ti- in bodo ocenjeni, ali res izpolnjujejo pogoje skalne glave sistema 5. ' • CTRL-D Razprto tiskanje A.P.Železnikar CTRL-E Začetek in konec opombe /komentarja CTRL-F Natisne znak centa CTRL-G Natisne tkim. "neznak" CTRL-H Akcentiranje * Potrditev prevajalnikov jezika Ada * CTRL-L Nova stran ************************************** CTRL-N Okaz resetiranja CTRL-0 Neprekinitveni razmak CTRL-R Poravnava ene same vrstice DOD (Department of Defense) je doslej potrdil CTRL-S Podčrtavanje dve izvedbi prevajalnika-za Ado, in sicer pod- CTRL-T - Tiskanje potence (superscript) jetij Rolm Corp (Santa Clara, CA) iri univerzi v CTRL-V Tiskanje indeksa (subscript) New Yorku za Ada/Ed prevajalnlk. Tretjo potrdi- CTRL-X Prečrtavanje tev je dobilo podjetje Western Digital. Verifi- CTRL-Y Sprememba barve traku kacija je sestavljena iz 1800 poskusov s 100000 CTRL- Mehka delilna črtica vrsticami koda. Ta preizkus je bil npr. oprav- ljen na računalniku Eclipse MV/8000 (Data Gehe- ral) za prevajalnik'podjetja Rolm; preizkus je Tabela 1. Vgnezdeni ukaziza MagicPrint trajal 36 ur. Iz tega je razvidno, kako strog In zapleten je tak preizkus. IBM si zelp priza- deva, da bi dobil ta prevajalnik za uporabo na MagicPrint pozna dva načlna podfiirtavan ja: pod- svojlh sistemih. ' • • črtavanje znakov (in ne presledkov) in strnjeno . A.P.Železnikar podčrtav.anje. Wordstar dovoljuje le dva načina vnaprej opredeljenega razmikahja (pitch); Magic Print itna deset inkrementov, ki se uporabljajo za tkim. lokalno tipografsko nameščanje (ker- * Intelov Multibus za 32-bitne procesprje * ning). Popolnoma nov ukaz je CTRL-R, s katerim se poravnavajo posamezne vrstice in CTRL-L, ki se uporablja namesto ukaza s piko '.pa' v Word Staru (brezpogojni konec strani) ter seveda u- Na projektu razvoja 32-bitnega vodila .podjetja kaz CTRL-E za pisanje opomb (komentarjev). Iritel dela 13 podjetij, med njimi tudi nemški Siemens in Nixdorf. Zgradba tega vodila (Multi- MagicPrint uporablja vejične ukaze (ukazi, ki bua ii) bo omogočala podobno delovanje proce- začenjajo z vejico v nasprotju z onimi, ki za- sorjev, kot je omogočeno pri dosedanjem 16-bit- čenjajo s piko v WordStaru), ki so zbrani v ta- nem multibusu (to vodilo je sprejelo 150 naj- beli 2. pomembnejših podjetij). Modularna in procesno neodvlsna zgradba vodila naj bi povečala si- stemsko zmogljivost, zanesijivost in multipro- Podobno kot pri WordStaru se morajo vejični u- cesiranje. Na 32-bitnem vodilu bi lahko obra- kazi postaviti^začeti v prvem stolpcu levo. Ma- tovali tudi. prejšnji 8- in 16-bitni moduli, ki gicPrint pozna dva razreda vejlčnih ukazov, in upoštevajo standard multibusa. Novo vodilo naj sicer stabilne ukaze, na katere ne vpliva pomik bi imelo poseben protokol, ki oraogoča realiza- valja (navadni ukazi) in prehodne ukaze, ki se cijo večvodilnosti (večkratno vodilo), višje s pomikom valja resetirajo. Iz tabele 2 je raz- arhitekturne ravnine; vse to naj bi omogočilo vidna raznovrstnost ukazov pa tudi, kaj je v načrtovanje zmogljivih multiprocesorskili siste- bistvu k WordStaru dodanega". mov. '. A.P.Železnikar MagicPrint deluje zanesljivo in natanko tako, kot je opredeljeno. Sporočila o napakah se po- javljajo v zvezi s problemi v zbirkah. Tiskanje teksta jo neprimerno bolj kvalitetno kot pri * MagicPrint * WordStaru, seveda z uporabo proporcionalnega tiskalnika. Slabost MagicPrinta je v slabosti vsakega tipičnega procesorja besedila, kjer obllkovanega besedlla ne vidimo prej ria zaslo- MagicPrint je dodatek k procesorju in urejeval- nuj zato je včasih potrebno ponovno tiskanje niku besedil z imenom WordStar in je predviden besediia, če •želimo doseči natanko zamišljeno za uporabo tiskalnikov Diablo, Qume in-NECj ti obliko besedila. tiskalniki zmorejo tkim. proporcionalno tiska- nje znakov, ki je po videzu lcpše od enakomer- Cena MatiicPrinta znaša >!195. Znakovne glave nega tiskanja (navadni tiskalniki). MagicPrint (marjetice) za proporcionalnl tisk so kovinske je samostojen tiskalni program. BesedilnG zbir- (ne plastlčne) in za sl.ovanske jezike še niso ke se pripravijo kot navadno z WordStatroni z na voljo. Kljub tem pomanjkljivostim pa pomeni 78

B Pomik za vrstieo nazaj ****************************************** C Centriraj vrstice * Kako je z upravljavskim informacijsklm * C Centriraj eno vrstico * siateraom danes ? * C+ Vključi centriranje ****************************************** C- Izključi centriranje CO Enako kot C- Cx Centriraj x vrstic Pred nekako desetimi leti se je pojavila strez- D Začetne vrednosti ponovno veljajo nitev o možnostih upravljanskega informaeijske- E Pravilna poravnava poaamezne ga sistema (MIS), ko ni bilo več pričakovati vrstice rešitev s praktično vrednostjo. Mikr oelektro- E- na straneh s sodo številko nika in razvoj programskih sistemov pa sta v E+ na straneh z liho številko tem razdobju doživela popolnoina nov razmah in F Krmiljenje ustavitve na koncu tako se je ponovno pojavilo staro vprašanje: strani ali je v današnjem času ob pomoči mikroelektro- FO Tiskanje brez ustavitve nlke, telekomunikacij in programske metodologi- Fl Ostavitev na koncu strani je mogoče zgraditi MIS in to še posebej v maj- G Nastavitev dolžine strani s števi- hnih in srednjevelikih podjetjih? KakSen je te- lom vrstic daj odgovor na to vprašanje danes? GG Nastavitev trajne dolžine strani s številom vrstic Pred desetimi leti je bilo znanih več zaprek za H Sprememba gostote znakov postavitev MIS, ki jih je mogoče strniti v tele I Umaknitev vrstice na levi strani predpostavke: J Poravnava vrstic na desnem robu JO prava proporcionalna neporavnava Jl prava proporcionalna poravnava Predpostavka 1. Centralizirana kontrola in ln- J2 stara proporcionalna neporavnava tegracija vseh informacijskih sistemov p©djetja J3 stara proporcionalna poravnava je nesmiselna ln učinkuje kvečjemu zaviralno. L Nastavitev dolžine vrstiče M Nastavitev levega roba NO Enako kot CTRL-L V tistem času je bilo treba upoštevati težave, N+x Pomaknitev na novo stran, če je kl so se pojavile pri velikih računalniklh po- v trenutnem odstavku vefi kot znih 60-ih let: vrsta programskih prolagoditev x vrstic z ročnimi metodami, pomanjkanje prljažnejših N-X Pomaknitev na novo stran, če je programirnih pripoinočkov, pomanjkanje primerne v trenutnem odstavku manj kot obdelave besedil in obstoj tehnokracije, ki je x vrstic prisegala na velike sisteme in na centralizira- 0 Izmaknitev prve vrstice pdatavka ne rešltve. P Nastavitev števila stranl Px Začetek oštevilčevanja strani z x Danes je mogoče z uporabo internih podafekovnih PO Prestavitev oštevilčevanja stranl mrež, programirnih terminalov in pisaBniških na naslednjo stran računalnikov rešiti določene probleme optimal- P0x Začetek oštevilčevanja strani na no z uporabo centralnih in necentralnih elemen- naslednji strani tov, kar zagotavlja ustrezno koordinacijo ln P- Izključi oštevilčevanje strani integracijo vseh informacijskih sistertiov, z P+ Vključi oštevilčevanje strani ohranitvijo njihove gibljivosti in lokalne sa- R Pravilna poravnava vrstice mostojnosti. Ti sisterai nudljo računalno moč na S Na6tavitev vrstičnega razmaka delovnem mestu a prednostmi visoko zmogljivih Znak '+' doda polovični razmak centralnih naprav. u Prekinjeho ali neprekinjeno pod- črtavanje 00 prekinjeno podčrtavanje (pre- Predpostavka 2. Maaivna uporaba rafiunalnikov ne sledki prispeva bistveno k izboljšanju informacijske Ul neprekinjeno podčrtavanje kakovosti. V Nastavitev razdalje med vrsticami w Razdalja pri skrajšani vrstici na desni (desna umaknitev) Masivna uporaba računalnikov je v tistih fiasih RETURN Ustavitev tiskanja pomenila masovno obdelavo, slabo strukturiran Siinbol formata številke strani output brez komentarjev in nezadostno frilago- T Številka strani na vrhu strani ditev uporabniškim potrebam. B Številka strani na dnu strani TO ali Odloži oštevilčevanje strani na Danes se že približujemo integraciji podatkov, BO naslednjo stran besedil in slik v enem ststemuj ta integracija ) Konec formatnega bloka oštevilče- je podprta z uporabniško prijaznostjo, dlalogi- vanja strani čnostjo in visokimi programirnimi jeziki in ge- * Formatni simbol naslova strani neratorji. Informacijo je tako mogoče pjredsta- »T Naslov strani na njenem vrhu viti v obliki, ki je skladna z uporabniškimi *B Naslov strani na njenem dnu potrebami glede na njeno koncentracijo ln ob- *T0 ali Začetek naslavljanja na naslednji liko, podprto z dialogom na zaslonu all popol- *B0 strani noma komentirano in optimalno grafično obliko- ) Konec formatnega bloka naslavlja- vano. strani

Predpostavka 3. Spoaoben in strokovno kompen- Tabela 2. Vejični ukazi MagicPrinta tenten lzvedenec, kl bi lahko zgradil MIS, ae doslej še ni rodil. MagicPrint kvaliteten dodatek na področju ti- skanja besedil, še posebej, 6e bi ga bilo mo£ uporabiti z visokotočkovnim mozaičnim propror- Zaradi naraščajoše sistemske združljlvoati in cionalnim tiskalnikom, kjer bi odpadel problem povezovalnih zmogljivosti in z obatojem zraog- kovinskih marjetic. Prodajalec MagicPrinta je ljivih mrež za podatke in beaedila je povezava Lifeboat Associates, 1651 Third Avenuo, New informacijskih sistemov danes bistveno lažja in York, NY 10028, USA. ne predstavlja več nerešljivih problemov. A.P.Železnikar 79

let. Predpostavka 4. Zaradi razumevanja (znanja) in ekzagtnosti, ki bi bila potrebna za obvladova- nje MIS, bi bila večina direktorjev, upravljav- Predpostavka 10. Inforraacijska baza za smiselno cev in njihovih sodelavcev preveč obremenjenih. uporabo v.MIS je v večini podjetij prerevna in premalo zaščitena. Eredvsem.manjkajo uporabni prognostični podatki, brez katerih bi bil MIS Danes je uporabnik voden z dialogom ali z upo- le draga tehnična igrača. rabo menujev, tako.da lahko v celoti obvlada določen problem na sistemu; komunikacija s si- steraom je lahkotna, prijetna in poučna in nje- S to predpostavko so težave žal tudi danes. na težavnost dejansko ne presega težavnosti te- Vendar so se ovire bistveno zmanjšale pri zaje- lefonskega razgovora. manju operativnih.podatkov z uporabo žmogljivih statističnih programov.

Predpostavka' 5. Visoko učinkovite znanstvene metode, ki so.potrebne za visoko zmogljivost Predpostavka 11. Praktični problemi totalne re- MIS, kot so kibernetika, hevristika, odločitve- organizacije, velikega števila strokovnjakov in ni modeli, izvedenski sistemi itd., v svoji da- investicijskih finančnih zahtev bi lahko večino našnji obliki še niso praktično dozoreli za po- podjetij preveč obremenjevali. dročje podatkovne obdelave. Od takratnega prepričanja, da se raorata človek Pripomočki za vodenje, upravljanje; poslovanje in organizacija prilagoditi računalniku, ni o- itd. so danes realizirani v programskih paketih stalo ničesar več. Uporabniška prijaznost na- že za namizne irv osebne računalriike, podprti so prav in programov je ta problem izničila, cene z grafiko, izvedenskimi sistemi in s kompleksno pa so pri tem skokovito padale. komunikacijsko povezavo in z neposrednimi pri-

pomočki za uporabnike. . Iz napisanega izhaja, ; da so danes tehnične in gospodarske predpostavke za •• realizacijo upravljavskega informacijskega •sistema (MIS) Predpostavka 6. MIS je mogoče realizirati teo- neprimerno boljše kot pred desetimi leti in da retično, ni pa mogoče predvideti dela, naporov, je tako praktično izničen nekrolog enajstih stiroškov in. fiasa za njegpvo prektično realiza- predpostavk, ki je veljal- za MIS pred desetimi cljo. leti. Teorija vodenja podjetij je doživela v posled- Izhodišča so danes bistveno drugačna - izbolj- njih desetih letih bistvene sprernembe: metodi- šana. Teoretične osnove MIS, izdelane v začetku čno usmerjeno mišljenje je bilo nadomeščeno z 70-ih let, so zaradi novih tehnoloških možnosti mišljenjem o nalogah;- pri tem niso več toliko še vedno uporabne. Medtem se je tudi zmoglji- bistvene naprave in sistemi kot je bistvena vost materialne opreme pri padajočih cenah po- informacljska potreba upravljavske štrukture. večala za več kot velikostni razredj tudi pro- Pri tem je bistveno vprašanje, kako je mogoče z graraska oprema nudi bistveno nove možnosti. uporabo MIS zadostiti tem potrebam. Informacljska potreba na področju poslovanja je izrazito nalogovno usmerjena in jo je glede na Predpostavka 7. Programirna tehnika, standari-i njeno podrobno opredelitev, težišče, priročnost zacija in sistemska tehnika še niso dovolj zre- in zgradbo le težko predvideti ali jo celo pro- le za premagovanje težav, povezanih z MIS. gramirati. Z veliko količino števil se tu ne more kaj bistvenega doseči. • Direktor uporabi v tem težavnem odločitvenem postopku svoje izku- Na treh omenjenih področjih je bil dosežen zria- šnje, svoj smisel za bistveno in določeno intu- ten napredek tako v njihovi teoretični zgradbi icijo. Seveda pa mora pri tem stati na tleh in kot v praktični uporabi. še vedno pa se razvi- potrebni so tnu zanesljivi podatki o likvidno- ja in je viden tudi napredek v integraciji po- sti, kapttalni strukturi, produktivnosti itd. datkov, besedil in slik in v njihovi obdelavi, in o stanju gospodarskih in tržnih perspektiv, shranjevanju in komunikaciji. o novostih in temu podobno. Razen tega pa se raora direktor kratkoročno ukvarjati tudi s po- drobnostmi, kot so gospodarske posledice usta- Predpostavka 8. Možnosti enostavnih In cenenih vitve določenega produkta, raej cenovnih popu- delnih informacijskih sistemov in razvoj majh- stov, poznati mora konkretne možnosti financi- nih 'in najmanjših računalnikov z veliko zmog- ranja določene racionalizacije ali učinek na- ljivostjo in možnosti decentralizacije so močno predovanja pomembne štranke na likvidnost itd. znižali interes za uvedbo MIS. Pvi. vsem tem ne gre.za množico podatkov, *po- trebna pa je kvalitetna in natančno usmerjena informacija. Praktično ' izgleda to takole: 'fa težnja je v vrsti primerov povzročila medse- bojno izolirane rešitve in tehnično .delitev . — dlrektor mora dobiti hitro in neposredno podatkovnih in besedilnih obdelav. Kot naspro- prave in potrebne inforrnacije tna usmeritev,.. se kaže v poslednjih letih inte- grabija, ki - kaže v snieri MIS, čeprav je pove- —- posredovane informacije morajo opisovati zana z decentralizirano računalniško zinogljivo- najnovejše stanje stjo na delovnem mestu. .-"• — inforinacije riiorajo bitl zgoščene, pregle- dne-in razumljive — v težavnih položajih mora biti dana mož- Predpostavka 9. Tehnične zmogljivosti računal- nost povratnega vpraševanja in zbiranja nih in pomnilnih enot današnje računalniške ge- podrobnosti neracije so za MIS nezadostne. -•- Tudi računalniško podprt sistem bo le težko u- stregel vsern tera zahtevam. Kahtevam, kot so ne- posreden dostop, dnevna veljavnost podatkov, V tom času so se računalne in pomnllne zmoglji- nalogovno usmerjeno posredovahje in hitro pro- vosti ob.padajočlh stroških povečale za več ve- ducitranje podrobnosti, bo niožno ugoditi le s likostnih razredov. Danes so namiznl računalni- pomočjo računalnikov na delovnih mestih, tako ki . zmogljivejši od veliklh računalnikov 70-i-h pri vodilnih delavcili kot v okolicl teh. K vse- 80

mu temu pa je potrebna še tista integracija Velika povprečna rast je bila do3ezena fcudi na podatkov, besedil in slik, ki jo lahko nudi le področju pisarniških sistemov, kot je razvidno smotrno organiziran MIS. iz tabele 2. Seje in zasedanja so največji požiralci časa, če niso vodeni učinkovito. Ta učlnkovitost se Podjetje P. dohodek P. dohodek Rast bistveno zmanjšuje takrat, ko udeleženci sej 1982 1981 % govoričijo o svojlh pridržklh namesto o sklep- (* milij.) (Jf roilij.) nih argumentih ali ko je potrebno predlaganl sklep odložiti zaradi pomanjkanja informacij. 1. IBM 1800,0 1600,0 12,5 Če je v sejni dvorani namešien terminal z barv- 2. Wang Labs 584,8 456,3 28,1 no grafiko, se lahko razprava seje usmeri na 3. Motorola 274,9 232,0 18,4 konkretne in veljavne lnformacije, kot so 4. Lanier 241,2 228,0 5,7 brutoprodukt, rentabilnost, likvidnost itd. 5. Burrough8 200,0 50,0 300,0 tako da teh podatkov ni potrebno iskati v aktih 6. Xerox 200,0 132,0 51,5 ln v sejnem materialu. 12 . DEC 100,0 n.p. n.p.

Pogosto se dlrektor sooča z banalnimi ln fiasov- (n.p. = ni podatkov) no zahtevnimi informacijskimi problemi. Oglejmo Tabela 2. Povprečna rast 52,1% si nekaj primerovs

- oblikovanje dokumenta o trenutno ne prevefi Na področju proižvodnje velikih sistemov (main- razjasnjenem problerau frames) je bil dosežen vrstni reds IBM, Sperry, - pozaba terminov, povezanih z dolofienim dnev- Burroughs, NCR, CDC, Honeywell, Amdahl itd. s nim redom povprečno rastjo borih 6,84%. - časovno zahtevijo iskanje po določenem postpku v arhivu all v registraturi Miniračunalniško področje kaže dolofiene spre- - zadrega zaradi neznatnih, vendar v. tem trenu- merabe v primerjavi s prejšnjim letom. IBM se je tku pomembnih takojSnjlh informacij tu pojavil na prvem mestu in odvzel prvenstvo - poprava besedila pod hudim časovnim pritiskom DECu, ki je celo nazadoval, kot je razvidno iz - nezadovoljiva inforntaci ja kljub goram papirja tabele 3. - nepopolna inforroacijska učinkovitost zaradi prekomerno centrallziranih naprav, kot so npr. tipkarske storitve in kopiranje Podjetje Mi dohodek Mi dohodek Rast 1982 1981 % Pred desetimi leti bi pri teh problemih odpove- (0 milij.) {$ milij.) dal tudi zaslon MIS. Današnje naprave pa omogo- čajo oblikovanje ln obdelavo besedil, . podatkov 1. IBM 3000,0 n.p. in grafik na delovnem mestu, zaradi njihove lo- 2 . DEC 1680,0 2068,1 -18,7 kalne intel.tgence jih je raoč uporabiti za oseb- 3 . Burroughs 800,0 575,0 39,1 ne storitve, vključene pa so tudi v komunika- 4 . Data General 603,8 573,2 5,3 cijske mreže informacijskih bank, druglh delov- 5 . Hew.-Packard 588,0 429,4 36,9 nih mest in visoko zmogljivih naprav za obdela- 6 . Wang Labs 584,7 456,4 28,1 vo podatkov. 7 . Prlme Compu. 351,0 309,0 13,5 8 . Honeywell 330,0 300,0 10,0 Čeprav je ideja o izgradnji MIS pred desetimi leti zararla pa obstajajo danes vse možnosti, da se upravljavski informacijski sistem realizira Tabela 3. Povprečna rast 14,18% na zadovoljivi ravni - še zlasti v manjših po- djetjih. Tudi domači mikrosistemi (npr. Partner) lahko v tej smeri prispevajo bletveni Nazadnje si oglejmo še vrstni red, kl upošteva delež. podatke o totalnem dohodku in dohodku na podro- A.P.Železnikar čju inforraatike in njihovo rast. Tako dobimo tabelo 4. *************************************** * Najmočnejši v obračunskem letu 1982 * *************************************** Podjetje To dohodek In dohodek Rast 1982 1982 % (3 milij.) (j! tnillj.) Dohodek 100 amerišklh podjetij računalniške ln- 31500,0 19,5 dustrije je znašal v letu 1982 $ 79,4 milijar- 1. IBM 34364,0 de. Najbolj so napredovala v primerjavi s prej- 2 . DEC 4018,8 4018,8 12,0 šnjim letom nekatera manjša podjetja, kot so 3. Burroughs 4186,3 3848,0 24,0 npr. Tandon (151%), Commodore (99,4%), Apple 4 . CDC 4292,0 3301,0 5,8 (65,5%) in Tandy (57,6%). Vsa ta podjetja pro- 5. NCR 3526,2 3173,4 3,3 izvajajo za področje mikroradunalnikov. Osebni 6 . Sperry 5242,7 2800,5 0,7 računalniki sp se končno tržno uveljavili, kar 7 . Hew.-Packard 4335,0 2164,8 17,8 kaže tudi tabela 1. 8 . Honeywell 5490,4 1684,7 -5,0 9 . Wang Labs 1321,5 1321,5 31,0 0 . Xerox 8455,6 1300,0 18,1 Podjetje PC dohodek PC dohodek Rast 1982 % 1981 Tabela 4. Deset najmofinejših v ZDA

mikroračunalnik je nastal v Evropi, in sicer v je pri svojih 42 letih dosegel akademsko stop- letu 1973 (Micral francoskega podjetja R2E), njo na Cambridgu in je predsednik britanske danes pa se Evropa bori za svoj delež na samih Mense - kluba ljudi z visokim IQ (inteligenčnim evropskih tleh. količnikom).

•Veliki evropski proizvajalci so se relativno Njegovo podjetje Sinclair Research je prodalo pozno vključili v mikroračunalniško. proizvod- več kot milijon cenenih domačih računalnikov. njo. Siemens je šele letos (1983) na Hannover- Že pred tem uspehom je izdeloval kalkulatorj'e skem sejmu najavil mikroračunalniške proizvode. in propadel z digitalnimi urami, želi pa prolz- Thomson (Francija) prodaja lastne in cenene vajati električne avtomobile in miniaturne te- mikroračunalnike (T07 in Fortune 32), ICL (V. levizorjei Njegov uspeh temelji na tehnološkem Britanija) pa svoj Rair Black Box (osebni raču- realizmu, čeprav je hkrati tudi družbeni sa- nalnik) . Nizozeniski Philips prodaja večtermi- njač, ki vidi prihodnost brez potrebe po sindi- nalski sistem P3500, Olivetti (Italija) pa svo- katih, ko bodo ljudje svobodno razpolagali s jo družino Linea Uno. Iskra (Jugoslavija) je svojlm delovnim časom. Njegovo delovno načelo začela z "masovno" proizvodnjo poslovnega, je, da lahko za 10 penijev naredi to, kar zmo- razvojnega, osebnega in večterminalskega mi- rejo nesposobni narediti za en funt. Denar mu kroračunalnika Partner šele v letu 1983. je le sredstvo za dosega končnega cilja, ne sredstvo moči; denar omogoča izdelavo uporab- Mikroračunalniško prodajno projekcijo imamo v nih izdelkov, pb katerih . 1judje uživajo. Razen tabeli 1; ta kaže na možnosti vzpona evropske svojih $ 18 milijonov ima Sinclair v svojem po-r mikroračunalniške' . industrije. Na evropsko djetju še 85% delež, vrednost podjetja pa je tržišče pa pročlira tudi japonska in ameriška ocenjena na prek $ 200 milijonov. mikroračunalniška industrija; obe se zavedata hitrega vzpona evropskega tržišča. Svoje prvo podjetje Sinclair Radionics je usta- novil že pri 22 letih, pred tem pa je bii novi- nar časopisa Practical Wireless. To podjetje je Prodajna projekcija mikroračunalnikpv s ceno izdelovalo radijske sprejeninike in sestavljan- pod $12000 (1982 - 1990) ke, ki so se pošiljale po pošti; tu je spozna- Gospodarstvo Dom Skupaj val metodologijo marketlnga, ki je bila pomemb- Vzgoja na za njegov kasnejši poslovnl uspeh. V začetku sedemdesetih let je Sinclair vstopil na tržišče Francija potrošniške elektronike, ko je začel proizvaja- 1982/85 494 920 359 960 854 880 ti nezanesljive kalkulatorje in digitalne ure. 1985/90 1 860 100 1 193 690 3 053 790 Tu se je naučil, kaj pomeni prolzvodnja in pod Skupaj 2 ' 355 020 1 553 650 3 908 670 kakšnimi pogoji jo lahko zaupa drugemu podjet- ju. Problemi dobave in kvalitiete, upravljavske Zapadna Nemčija pomanjkljivosti in japonska konkurenca.so pov- zročili krizo njegovega podjetja. Tu mu je po- 1982/85 914 320 522 980 1 4 37 300 1985/90 2 730 300 1 719 900 4 450 200 magala britanska vlada z denarno injekcijo,- Skupaj • 3 644 620 2 242 880 5 887 500 tako da je Sinclair lahko prišel na tržišče z žepnimi televizorji. • Vendar je Sinclair leta Italija 1979 izstopil iz podjetja, ki ga je vodil odbor 1982/85 303 950 205 360 509 310 za upravljanje vladne investicije in ustanovil 1985/90 1 244 500 642 390 1 886 890 novo podjetje Sinclair Research, ki je začelo proizvajati prvi domači računalnik ZX80 za ceno Skupaj 1 548 450 847 750 2 396 200 pod £160. Združeno kraljestvo 1982/85 882 685 1 394 325 2 277 010 Ta računalnik je bll za Sinclairja le vraesni 1985/90 2 255 200 948 890 3 204 090 začasni model v razvojnem ciklu, vendar je s Skupaj 3 137 885 2 34 3 215 5 481 ,100 hitrostjo prihoda na tržišče prehitel inozemsko konkurenco. V letu 1981 je že prodal 100000 ra- SFRJ. čunalnikov ZX80, pripravil pa je tudi že močne- 1982/85 20 000 75 000 95 000 jšega naslednika ZX8l, katerega cena je bila le 1985/90 200 000 150 000 350 000 še ^75. Temu je sledil še ZX Spectrum, ki se je Skupaj 220 000 225 000 445 000 lahko uspešno kosal z računalnikom Commodore VIC 20. Sinclair je oddal proizvodnjo svojih računalnikov multinacionalnemu podjetju Timex, Tabela 1. Število mikroračunalnikov ki je kupilo tudi licenco za prodajo Sinclairo- vih računalnikov na ameriškem tržišču. V Zdru- ,ženem kraljestvu se je tako oblikovalo množično Jugoslovansko tržišče bo pri omejenem uvozu do- tržišče za domače računalnike, ki je močno dvi- kaj ugodno za domačo mikroračunalnlško indu- gnilo računalniško pismenost britanske popula- strijo, vendar bo zaostanek v primerjavi z cije (na prvo mesto na svetu). Ob podjetju Sin- državami EGS še vedno očiten. clair Research je zrasla še vrsta drugih podje- A.P.Železnikar tij, ki so jih s pomočjo Sinclaira ustanavljali njegovi uslužbenci in novinci. Tako je Sinclair sprožil pravo poslovno in tehnološko inovacij- sko verigo za proizvodnjo domačih računalnikov v Veliki Britaniji. , . Britanski uspešnež * Tudi Sinclair je imel in ima vrsto zavistnih nasprotnikov v Veliki Britaniji. Ti so npr. poskušali izločiti njegov ZX Spectrum iz tkim. Z osebnim računom prek # 18 milijonov je niikro- šolskega prograina. Sinclair je takoj reagirai računalniški inovator Clive Sinclair eden naju- in znižiil.ceno za šole na 50%. Tako se je ta spejšnejših. novlh multiinilijonarjev. Sinclair njegov daleč najcenejši domači sistem pojavil spreminja zloge (bytes) dobesedno v milijone todi na prlporočilni listi vlade (za šolske ra- dolarjev na množičnem tržišču tnikroračunalniške čunalnike). Medtem je Sinclair ,že začel inve- revolucije. Sinclair je osebnost nasprotij z stirati svoj zasebni kapital v razvoj elektri- izbrušenim poslovnim ukusom, ki uživa v poez.i- čnega a\/tomobila in v razvoj novega, visokoin- ji, klasični glazbi in y radlkalnih novelah. tegriranega mikroračunalniškega sistema, v ka- Šoli je obrnil hrbet že pri sedeinnajstlh letih, . terem .naj bi našel uporabo tudi njegov minia- ogibal se je vsake akademske Izobrazbe in ;je turui televizijski sistem. cenil predvsein življenje na. svoj način. Vendar A.P.Železnikar 82

M. Waite, R. Lafore: Soul of CP/M, H. W. Sams & ************************ Co., Inc, 4300 West 62nd St., Indianopolis, IN * Nekatere nove knjige * 46268, 1983, 391 strani, $ 18,95. ************************ Knjiga je namenjena programerjem v jeziku Basic in v drugih visokih jezikih, ki potrebujejo pozivanje zbirniških subrutin. Te subrutine so L. Hancock, M. Krieger: The C Primer, Osborne/ namenjene obdelavi diskovnih zapisov na način, McGraw-Hill, 1982, 235 strani, £ 14.95. ki ni dostopen visokim programirnim jezikom; tako se lahko poveča tudi hitrost določenih Ta knjiga je namenjena začetnikom v programira- programov. Primeri so predvidžni za uvrstitev v nju, ki tudi nič ne vedo o jeziku C. Ta jezik rutinsko knjižnico. Knjiga je dobro napišana in predpostavlja okolje operacijskega sistema privlačna, ima vrsto diagramov, slik in pro- Unix, vendar je knjiga bogata na primerih in gramskih shem. pojasnilih, tako da je mogoča uporaba reducira- nega jezika C v okolju Unix na računalniku VAX. Posamezna poglavja obravnavajo polja, strukture K. Barbier: CP/M Programming, in kazalce in problematiko, ki je za začetnika Prentice Hall Inc, Englewood Cllffs, NJ 07632, nova. Pojasnjuje se rekurzija z uporabo pre- 1983, 226 strani, $ 19,95. glednih primerov. Poglavje o vhodu/izhodu in knjižničnih funkcijah pokaže obliovanje nizov Ta knjiga ne zahteva predhodnih izkušenj iz in števil. uporabe CP/M in zbirnega jezika. Avtor poučuje osnove programiranja v zbirnem jeziku CP/M okolja z uporabo zbirnlka ASM. T. Plum: Learning to Program in C, Plum Hall, 1 Spruce Ave, Cardiff, NJ 08232; 1983, 372 stra- ni, $ 25. W. Lowen: Dichtomies of the Mind, John Wiley & Sons, 1982, 314 strani. Podjetje Plum Hall Inc. je specializirano za poučetanje in konzultacijo uporabe jezika C in Ta knjiga obravnava avtorjeve zamisli mišlje- operacijskega sistema Unix. Knjiga je ufibenik nja, kot jlh je mogoče razpoznati s stališča za tečaje o jeziku C. Nekaj znanja z računalni- možganov, podobno kot materialna računalniška škega' področja je potrebno, vendar ne s podro- oprema razpoznava programsko (lnformacijsko) čja programirnih jezikov. Poudarek knjige je na opremo. Avtor sicer razpravlja o računalnikih pTenosljivosti programov v jeziku C in na pri- in o oblikovanju sistemov, vendar to ni njegova mernosti tega jezika za sisteme realnega .časa. izhodiščna težnja. Avtorjev pristop, v kolikor Knjiga prinaša vrsto primerov in problemov za sploh zadeva računalnike, je namenjen naravi študenta in napotke za oblikovanje programske oblikovanja konceptualnih procesov. Avtor uvaja opreme. Odgovori na vprašanja se nahajajo v do- 16-polni osebnostni model miselnih akčijskih datku. Knjiga temelji na večletnih lzkušnjah procesov, s pomočjo katerih filovek misli, ukre- poučevanja uporabe programirnih jezikov. pa, sodeluje in inventira (domišlja). Vrsta bralcev bo pri branju knjige ugotovila: "To sem jaz. Želitn, da bi jaz to izpovedal." Drugi pa J. Purdum: C Prograiraning Guide, Que Corpora- bodo ugotavljali: "Sem zelo zapletena osebnost tion, 7960 Castleway Drive, Indianopolis, IN in se ne roorem uvrščati v avtorjeve premofirtne 46250, 1983, 250 strani, $ 17,95. modele." Vendar je mogoče v delu najti tudi lastno domišljanje, del osebne resnice skozi Ta knjiga je namžnjena bralcu, ki ima nekaj avtorjevo gledan.je, ogledalo mišljenja samega. znanja iz programirnih jezikov (iz Basica). Z nadaljevanjem računalniške prispodobe pravl Funkcije se programirajo za priroerjavo v jezi- avtor: "Računalnik mora biti vodilo (ključ) do ku Basic in v C. Primeri so pisani za ceneni načina delovanja mišljenja, ne zato, ker je Small C prevajalnik (cena $- 19,95) in za dražji računalnik podoben mišljenju, marveč ker miš- jezik C (Software Toolworks, cena $ 50). V do- ljenje gleda v svojo lastno strukturo, ko kon- datku je navedenih 13 C prevajalnikov za CP/M ceptualizira." Knjiga je zapleteno delo o in za IBM PC. Ta knjiga obravnava tudi vefi snovi, o kateri smo včasih sposobni razmišlja- primerov z operacijami nad diskovnimi zbirkami, ti, ki pa jo tudi večkrat odlagamo, ker je pre- še posebej v CP/M okolju. več zapletena. Avtor poskuša z vso resnostjo izravnavati skrivnosti nas samih.

D. E. Cortesi: Inside CP/M, with CP/M-86 and MP/M2, Rhinehart & Winston, 1982, 371 strani, $ H. M. Deitel: An Intrpduction to Operating Sy- 25,95. stems, Addison-Wesley P.C., 1983, 673 strani.

To je eno najboljših del in priročnikov o si- Knjiga je koristen prirofinik in berilo za štu- stemu CP/M doslej. Med vrsto storitev sistema denta in praktika s področja operacijskih si- CP/M obravanava tudi makrozbirnik MAC (Digital stemov. Je dobro organizirana, podrobna in so- Research), oblikovanje in uporabo makrojev, dobna, tako konceptualno kot lmplemetacijsko. njihovo vstavljanje v makrojsko knjižnico. Posamezna poglavja obravnavajo procesno uprav- Knjiga ima tudi natančno in podrobno informa- ljanje, pomnilniško upravljanje, procesorsko cijo o diskovnih V/I operacljah in onačinu upravljanje, pomožno pomnilniško upravljanje in shranjevanja podatkov na diskih. Ima seznam zmogljivost. Avtor ponazarja posamezne koncepte funkcijskih pozivov ln njihovo pojasnitev za s podrobnimi študijami primerov skozi CP/M, sistema CP/M in MP/M. Unix, Vax, MVS in VM. A.P.Železnikar „A. X.R. Miller: Mastering CP/M, Sybex,Inc., 2344 Sixth Street, Berkeley, CA 94710, 1983, 398 strani, $ 16,95.

To je še eden, izčrpen programerski priročnik za CP/M. Oporablja se zbirni jezlk in makroji pri predstavitvi različnih CP/M operacij in pri _graditvi uporabne makrojske kniižnice. Potrebno pa je določeno znanje iz zbirnega jezika. Miro Germ, dipl. ing. Sektor aplikacij Tehnična informatika ISKRA DELTA I sistemi delta GLASILO UPORABNIKOV IN PROIZVAJALCEV

ŠTEVILKA: 2, LETO: 1 LJUBLJANA, 15. OKTOBER 1982

IAČUNALNIŠKO PROJEKTIRANJE

Povzetek: Nadaljnjih sto let je bil študij omejen na sisteme enodimenzional- nih paličnih in grednih elementov. Sredi petdesetih let našega Članek vsebuje kratek zgodovinski pregled razvoja metode stoletja so razvili dvodimenzionalne elemente za uporabo v le- končnih elementov, opis najbolj znanih programov za analizo talski industriji, da bi tako izboljšali modeliranje tenkih membrans- modela s končnimi elementi in grafičnih paketov v CAD/CAM ter kih elementov, ki so povezovali tradicionalne enodimenzionalne spisek proizvajalcev in tipov grafične opreme. elemente. Leta 1960 je Clbugh prvi uvedel terminologijo te meto- de v članku »The Finite Element Method in Plane Stress Anally- 1. Metoda končnih elementov sis«. Posplošil je metodo strukturne analize na reševanje proble- V zadnjih letih je metoda končnih elementov postala zelo razširje- mov v mehaniki kontinuumov. na pri računalniških obdelavah kompleksnih problemov v inže- Že prej, leta 1909, je Ritz razvil zelo močno metodo aproksimacij nirstvu. Metoda je posplošitev že prej uporabljenih tehnik analize, polj v mehaniki kontinuuma. Aproksimiral jefunkcional potenciala kjer so konstrukcijo predstavljali diskretni palični in gredni ele- s testnimi funkcijami neznanih velikosti. Minimum funkcionala menti. Uporabljeni so isti postopki za izračun elementov, le da glede na vsako neznanko je sistem enačb neznanih velikosti. Ve- namesto paličnih in grednih elementov uporabimo končne ele- lika omejitev metode je, da sp funkcije morale zadoščati robnim mente za opis ravninskih stanj napetosti in deformacij, obnašanja pogojem problema. Courant je leta 1943 izboljšal Ritzovo metodo plošč, lupin in kontinuuma. tako, da je uvedel ločene linearne funkcije na trikotnih območjih. V začetku razvoja metode je bil poudarek na razvoju učinkovitih Metodo je uporabil pri reševanju problema torzije. elementov za reševanje konkretnih problemov iz prakse. Z razvo- Neznanke so bile vrednosti funkcij v stičiščih trikotnih območij. jem digitalnih računalnikov se je kmalu pokazala uporabnost me- Tako je odpravil omejitev Ritzovih globalnih funkcij pri zadošča- tode. Reševali so vedno večje ter kompleksnejše probleme. To je nju robnega pogoja, saj je tu potrebno zadostiti pogoju le v konč- spodbudilo iskanje še uspešnejših numeričnih algoritmov za re- nem številu točk na robu. Ritzova metoda, kot jo je uporabil Cou- ševanje ravnotežnih enačb. Rezultat je kompleten sistem algorit- rant, je ekvivalentna metodi, ki jo je kasneje neodvisno razvil mov, ki jih uporabljajo računalniki pri metodi končnih elementov. Clough. Seveda pa je razlog takojšnjega uspeha metode raču- Numerični proces obsega tvorbo matrik, numerično integracijo za nalnik, saj je lahko opravil veliko število operacij, kar pa Courantu izračun matrik elementov, združitev matrik elementov v matriko leta 1943 ni bilo dano. konstrukcije in numerično reševanje sistema algebraičnih enačb. Metodo so kmalu posplošili na tri dimenzije, na probleme neline- Raziskave tako na področju mehanike kot v matematiki so mno- arnosti tako materiala kot geometrije ter na dinamiko. Razvoj je go prispevale k razvoju in uporabi metode končnih elementov. šel tudi preko meja strukturne analize na mehaniko fluidov, pre- Med leti 1850 in 1860 so bile zaokrožene teorije o torziji in upogi- nos toplote in na analizo magnetnih polj. bu gredi. Postavljeni so bili temelji področju strukturne analize. Danes je metoda polno uveljavljena v inženirski praksi. čunalnike IBM. GTSTRUDL (GT pomeni Geogia Tech) je bil predelan v letih 1975-77 iz originalne IBM verzije kot del GTCES (Georgia Tec Integrated Computer Engineering System). Leta 1977 so ga začeli uporabljati na sistemih CDC CYBER, od 1981 pa je dostopen na sistemih VAX. Vsebuje preko 30 elementov, uporabljajo ga predvsem v gradbeništvu. V svetu obstajajo tudi številni drugi programi. V našem prostoru sta najbolj znana SAP 4 in STRESS ter BERSAFE, kot del pake- ta za računalniško konstruiranje in projektiranje CETES-a (Cen- "ter za tehnični softvvare na Visoki tehnični šoli v Mariboru).

2 Programi za analizo modela s končnimi elementi Do nedavnega so le največji računalniki omogočali strukturno analizo, kinematični design, reševanje problemov polj, geome- trijsko modeliranje, programiranje NC, mehanično testiranje in ostale obsežne operacije v CAD/CAM (Computer Aided Design/ Computer Aided Manufacturing). Miniračunalniki sredi 70 let so lahko opravljali le določene specia- lizirane inženirske izračune. 16-bitna beseda, omejen spomin in majhna hitrost računanja niso zadoščali množici podatkov v inže- nirski analizi. Pojava takoimenovanih supermini računalnikov, njihova 32-bitna arhitektura, velik spomin in hitrosti procesorja enake največjim si- stemom, je omogočila uporabo te metode tudi na manjših raču- nalnikih. Ti sistemi imajo poleg občutno nižje cene in manjšega števila vzdrževalcev tudi druge prednosti. Omogočajo dečentrali- zacijo računalniških zmogljivosti, tako da ni nevarnosti prekinitve dela zaradi okvare enega samega sistema. Hitrost analize se po- veča, ker jo lahko izvajamo vzporedno na več sistemih; na enem teče priprava ali korekcija podatkov, na drugih pa računanje. Danes uporabljajo za največje probleme mrežo superminijev, ki si delijo isto bazo podatkov. Vsak od njih pa obdeluje del proble- ma iz področja designa, proizvodnje ali testiranja. Zaradi zgornjih razlogov raste število superminijev v CAD/CAM. Oglejmo si nekaj v svetu najbolj uporabljenih programov, ki dela- jo na sistemih VAX in tudi na Delta 4780. Najobsežnejši program s tega področja je NASTRAN. Razvit je bil pod sponzorstvom NASA za potrebe letalske in vesoljske in- dustrije. Program uporabljajo za reševanje raznih problemov sta- tične in dinamične analize, prenosa toplote, aerodinamike, aku- stike, elektromagnetizma, hidroelastičnosti ter ostalih polj. Vse- buje poseben macro jezik za nadziranje izvajanja. V komercialni uporabi je od začetka 70-tih let. Leta 1978 ga je firma MacNeal- Schvvendler Corp. predelala za uporabo na računalnikih VAX. Drugi znani program s tega področja je ANSYS (Svvanson Analy- sis Systems). To je splošni program za inženirsko analizo in je komercialno zelo razširjen. Obsega okrog 60 končnih elementov za analizo problemov strukturne analize, za linearne in nelinear- ne probleme statike in dinamike, prenos toplote, termoelektrič- nost, itd. Dopolnili so ga za reševanje posebnih nalog pri kon- struiranju naftnih vrtalnih ploščadi. Izšla bo nova verzija progra- ma na sistemih VAX z upoštevanjem vseh njegovih možnosti; obljubljajo 70 % hitrejše izvajanje. Eden najbolj znanih in razširjenih programov je STRUDL (Struc- tural Design Language). Razvit je bil v letih 1960-70 v MIT za ra- Dva najbolj znana sistema na računalnikih DEC sta PATRAN-G (Prototype Development Associates, PDA) in GRAPHICS SY- STEM (Structural Dynamics Research Corporation, SDRC).

4. Projektiranje in priprava proizvodnje modela (CAM - Computer Aided Manufacturing) Drugo veliko področje, kjer se uporablja grafika, je projektiranje, dokumentiranje in proizvodnja raznih strojnih in drugih delov. Programska oprema omogoča modeliranje, kotiranje, kreiranje ostale tehnične dokumentacije, arhiviranje, generiranje kode za stroje NC. Model, ki ga kreiramo na grafičnem zaslonu, lahko nu- merično vodeni stroji takoj začno proizvajati. Paketi nam po po- trebi lahko izračunajo volumne, površine, momente, težišče mo- delov.itd. Zaenkrat v svetu ne obstaja paket, ki bi enako dobro omogočal oboje, CAD in CAM; to je pripravo podatkov za analizo modela (CAD) in tudi kotiranje, izris presekov, pripravo ostale dokumen- tacije ter generiranje kode NC (CAM). Na sistemih VAX uporabljajo pakete kot so EUCLID (Matra Data- vision), ANVIL-4000 (Manufacturing and Consulting Services), SYSTRID (Baltele Research Centres), PALETTE (McLean Com- puter Consultants Pty, Ltd),itd.

5. Grafična oprema Najvažnejši del grafične opreme so terminali. Poglejmo si glavne proizvajalce in tipe barvnih terminalov: — RAMTEK serija 6000 (6200 A najbolj razširjen terminal) serija 9000 3. Priprava podatkov in prikaz rezultatov analize modela — MEGATEK serija 7000 (CAD - Computer Aided Design) serija 7200 — AED 512 Pri analizi modelov so ugotovili, da največ časa porabimo za pri- — LEXIDATA 3400 pravo podatkov, včasih tudi do 75 % časa celotne analize. Tu je — DIGITAL VS11 tudi glavni vir napak. Uporaba grafične opreme in ustrezne pro- — TEKTRONIX 4027 gramske opreme omogoča enostavno in hitro pripravo podatkov, — EVANS & SUTHERLAND PS-2 barvni vizualni prikaz rezultatov ter tako zmanjša možnost napak, PS-300 projektantu pa omogoči ustvarjalnejše delo. Poglejmo si korake in možnosti, ki jih nudijo ti grafični procesorji pri modeliranju: Terminai so vsi izdelani v tehnologiji »raster scan«, ki je znana že — Programska oprema omogoča enostavno komunikacijo med vrsto let, saj so jo uporabljali pri televizijskih sprejenrfnikih. Šele človekom in računalnikom preko izbirnega prikaza programov razvoj v tehnologiji chipov je omogočil uporabo te tehnologije tudi (menu). Uporabnik lahko poveča vsak del modela, lahko ga v računalniški grafiki. zavrti okoli poljubne osi modela ali zaslona, ki je lahko razde- Tovrsten grafični terminal vsebuje precejšen lasten spomin, kjer Ijen na več samostojnih področij. Vsako področje je neodvis- shrani informacije o sliki v točkasti matrični obliki. Elektronski ža- no in lahko prikazuje model iz različnih smeri, različrio orien- rek potem riše to sliko vrstico za vrstico v enakomernih intervalih tiran in različno povečan. 50-krat/s, ravno tako kot pri televizijskem sprejemniku. — Enostavno oblikovanje geometrije z grafičnimi ukazi ali preko digitalizatorja. Opisati telo je tako enostavno, kot opisati pre- mico. Npr. z rotacijo točke dobimo krivuljo; z rotacijo krivulje definiramo ploskev; z rotacijo ploskve dobimo telo. Enako enostavno dobimo preseke med telesi, definiramo obtežbo in lastnosti materiala ter porazdelitev temperature po telesu. SDRC - »GRAPHICS SYSTEM« (zgoraj) — Poleg standardnih materialov lahko definiramo območja, kjer PDA - »PATRAN-G« (spodaj) se lastnosti spreminjajo, podamo lahko sestavljene materiale, itd. — Modele lahko spravimo v bazo podatkov za kasnejšo uporabo ali izboljšavo. — Predprocesorji omogočajo avtomatično generiranje enako- mernih in neenakomernih mrež z različnimi tipi elementov. Pri spreminjanju gostote mrež ni potrebno ponovno podati last- nosti materiala in obtežbe. — Predprocesorji transformirajo te podatke v kartične slike raz- nih programov strukturne analize. — Predprocesorji nudijo možnost raznih optimizacij numeričnih postopkov. — Poprocesorji omogočajo prikaz različnih rezultatov; lahko si pogledamo deformacijo konstrukcije, napetosti, itd. Če upora- bimo dinamične terminale, si lahko pogledamo tudi časovni potek deformacije. Barve uporabimo za prikaz določenih aspektov rezultatov. Programi uporabljajo barvni spekter za prikaz vrednosti rezultatov, lahko pa tudi sami izberemo bar- ve za prikaz določenih vrednosti, itd. Druga tehnologija je tehnologija »stroke« (črnobeli terminali TEK- TRONIX), kjer so grafični ukazi shranjeni v spominu računalnika in se zaporedno zapišejo v krmilnik terminala (Direct Memory Ac- cess). Tam se pretvorijo v analogne napetosti. Te se potem upor- abijo v katodni cevi za kontrolo elektronskega žarka, ki riše sliko. Ta tehnologija ima več pomanjkljivosti, kot so npr.: počasni odziv, slaba kvaliteta slike, obremenitve komunikacijskega kanala, itd. Naštejmo še nekaj proizvajalcev risalnikov. To so CALCOMP, VER.SATEC, TEKTRONIX in tiskalnik/risalnik TRILOG ter PRIN- TRONIX.

6. Zaključek To je bil kratek pregled možnosti, ki jih nudijo programski paketi in grafična oprema. Pri reševanju čedalje obsežnejših in vse bolj zapletenih problemov potrebuje konstrukter sodobno grafično opremo in ustrezne programske pakete. Naša družba bo morala, če hočemo postati konkurenčni tujini, projektantom tako računal- niško opremo tudi zagotoviti. Neizdelan projekt, ki je danes predvsem posledica pomanjkljive strojne in programske opreme, ne more dati dobrega izdelka.

Literatura: 1. R. H. Gallagher: Finite Element Analysis, Prentice-Hall, 1975. 2. K. J. Bathe, E. L. VVilson: Numerical Methods in Finite Ele- ment Analysis, Prentice-Hall, 1976. 3. J. Cokonis: Tackle CAD/CAM, Machine Design, 1981. 4. H. Hamilton, L M. Crain, E. L. Stanton: PDA/PATRAN-G, PDA, 1981. 5. Digital: Vax and Patran-G Engineering Tools for the 80's, 1981. 6. Digital: SDRC CAE on Vax, 1981. 7. Matra Datavision: Euclid, 1981. 8. Digital: MSC/NASTRAN, ANSYS, GTSTRUDL, PATRAN- G, AD-2000, PALETTE, SYSTRID, EUCLID, Engineering Systems bulletin. 9. Digital: Sales Update. IZDAJATEU: ISKRA DELTA 10. Svvenson Analysis Systems Inc: ANSYS Analytic Capa- Služba tržnega komuniciranja bilities, 1981. Parmova 41, 61000 Ljubljana infonnatka CASOPIS ZA TEHNOLOGIJO RACUNALNIŠTVA IN PROBLEME INFORMATIKE CASOPIS ZA RAČUNARSKU TEHNOLOGIJU I

Časopis izdaja Slovensko društvo INFORMATIKA, PROBLEME INFORMATIKE 61000 Ljubljana, Parmova 41, Jugoslavija SPISANIE ZATEHNOLOGIJA NA SMETANJETO UREDNIŠKI ODBOR: I PROBLEMI OD OBLASTA NA INFORMATIKATA

T. Aleksid, Beograd) D. Bitrakov, Skopje) P. Dragojlovid, Rljeka; S. Hodžar, Ljubljanaj B. Horvat, Mariborj A. Mandžid, Sarajevoj S, YU ISSN 0350-5596 M3.hali<5, Varaždinj S. Turk, Zagreb

GLAVNl IN ODGOVORNI UREDNIKs Anton P. železnikar LETIMI.K7, 1983 - St. 4 TEHNIČNI ODBOR:

V. Batagelj, D.Vitas — programiranje I. Bratko — umetna inteligenca D, Čečez-Kecmanovid — informacijski slstemi V S 2 B I il A M. Exel — operacijski sistemi B. Džonova-Jerman-Blažič — srefianja .D.VelaSevič 3 An Analysis of Arittmetic Expres3icn3 Baserl cn L. Lenart — procesna informatika D. Novak — mikroračunalniki • Vectorv-Ceneratrice Cancept Neda Papid T- pomočnik glavnega urednika - M.JelavLč • 10 Jezgr?i vi£eprocesarskqg operaciortng sistarta L. Pipan — terminologija V. Rajkovič — vzgoja in izobraževanje realizii^ana na ststenu s mikroprocesorlma DB100 M. Špegel, M. Vukobratovič — robotika V.Žirier 21 ObjektraarhHektura na osnovi' senantične zg^ad- P. Tancig — računalništvo v humanističnih in . družbenlh vedah P.Kokol be informacije S. Turk — materialna oprema J.3rzeziiisld 24 ESojsrimontal Local Area tetvjork A. Gorup — urednik v SOZD Gorenje J.;\reglewsl

GRAFIČNA OPREMA.: Rasto Kirn 86 Avtorsto kazalo letnite SISTEMI ZA ENERGETIKO Ljubljana, Tržaška c.2

DALJINSKO IN LOKALNO PROCESNO VODENJE Z RAČUNALNIKI MINIRAČUNALNIKI IN MIKRORAČUNALNIKI V NAŠIH DOMAČIH

SISTEMIH DIPS-ll IN DIPS-85

RAZISKAVE, RAZVOJ, PROIZVODNJA, INSTALACIJA.VZDRŽEVANJE SPECIALISTIČNO ŠOLANJE KUPČEVIH STROKOVNJAKO.V ELEKTROENERGETIKA, PLINOVODI, NAFTOVODI, VODOVODI, INDUSTRIJA

SODOBNA TEHNOLOGIJA - NAŠ TEMELJ PRI RAZVOJNEM DELU J Jt RAČUNALNIKI - NAŠI SOPOTNIKI NA POTI NAPREDKA ** & w -i , ~f OBIŠČITE NAS IN SE PREPRIČAJTE *•"*««*« »

£ ?* * "'-j *"

Že veliko let se ukvarjamo z raziskavami, razvojera in proizvodnjo sistemov za daljinsko in lokalno procesno vodenje. Temeljno vodilo našega delovanja na tem področju je slediti napredku v svetu in-ga presajati na naša domača tla.. Vedno smo zavračali nosilno licenčno povezovanje s tujimi firrnarai povsod tam, kjer smo jasno videli, da vodi v dolgoročno odvisnost in tehnično nazadovanje. Ver- jeli pa smo v moč lastnegaraarljivega del a in v ustvarjalnost naših delavcev ter z vstrajnim delom dosegli uspehe, katere nam lahko zavidajo neprimerno več- ji in bogatejši tekmeci. Prav zaradi lastne poti in lastnega znanja srao s svojim razvojnim delom ves čas uspeli slediti najnovejšira tehnološkira dosežkom v svetu. V praktiČno življenje (računalniški nadzor v elektroenergetiki) smo vpeljali najsodobnejše mikroraču- nalnike. Tako smo od prvih računalniških korakov pred več kctt petnajstimi leti dospeli do sedanjih kompleksnih sistemov za procesno vodenje. .