VI I II intormatica '«ì: informatica Published by INFORMATIKA , Slovene Society tor Informatics, 61000 Ljubljana, Parmoya 41, Yugoslavia EDITORIAL BOARD: T. Aleksić, Beograd, D. Bitrakov, Skopje, P. Dra-gojlović, Rijeka, S. Hodžar, Ljubljana, B. Horvat, Maribor, A . Mandžič, Sarajevo, S. Mihalić, Varaždin, S. Turk, Zagreb. EDITOR-IN-CHIEF: Anton P. Železnikar TECHNICAL DEPARTMENTS EDITORS : v. Batagelj, D. Vitas - Programming I. Bratko - Artificial Intelligence D. Ćećez-Kecmanović - Information Systems M . Exel - Operating Systems A . Jerman-Blažič - Publishers News B. Džonova-Jerman-Blažič - Literature and Meetings L. Lenart - Process Informatics D. Novak - Microcomputers Neda Papić - Editor's Assistant L. Pipan - Terminology B. Popovič - News V. Raj kovic - Education M. Špegel, M. Vukobratović - Robotics P. Tancig - Computing in Humanities and Social Sciences S. Turk - Hardware A . Gorup - Editor in SOZD Gorenje EXECUTIVE EDITOR: Rudi Muni PUBLISHING cot) NCI L T. Banovec, Zavod SR Slovenije za družbeno planiranje, Ljubljana A . Jerman-Blažič , Republiški komite za družbeno planiranje in informacijski sistem, Ljubljana B. Kldmenčič, ISKRA, Elektromehanika, Kranj . S. Saksida, Insitut za sociologijo pri Univerzi v Ljubljani J. Virant, Fakulteta za elektrotehniko. Univerza v Ljubljani Héadguarters: Informatica, Parmova 41, 61000 Ljubljana, Phone: (061) 312-988, Telex: 31366 . Delta Annual subscription rate for abroad is US 3 22 for" companies, and US ^^ 7,5 for individuals , Opinions expressed in the contributions are not necessarily shared by the Editorial Board. Printed by: Tiskarna KRES1.IA, Ljubljana DESIGN: Rasto Kirn JOURNAL OF COMPUTING AND INFORMATICS YU ISSN 0350-5596 VOLUME 6. 1982 - No. 2 p. M.Lavorel CONTENTS 3 Steps Towards Natural Computation A.P.Zeleznikar 13 J.Weiss l.Hratko l.Kononenko 1. Mozetič M.M.Miletić A.M.Jenkins S.Brajović--Bralai|ović B.Džonova--Jerman-BInžič S.K.Kburml C.B. Besani H.A.Pak 16 21 27 30 34 38 J.J.Dujmović 45 D. Peče k B.Kastelic R.Murn V.Smolej T.Erjavec, B.Sosič A. Hudobi vnik 55 61 63 69 74 78 80 Informatization as the World Challenge Computergraphics and CAD Activities.in Austria An Efficient Implementation of Advice Language 2 Electronic Computers Techiiolooy Meeting the Challenge for Information Systems in the 80's Standards and Standardisation Policy in the Field of Informalii s and Computer llie Design and Development ol a Microcomputer Based CAD/CAM System for 2 1/2 Milling Operations Compiler Performance Measurement and Analysis Transparent Multiprocessing -(Micro) Computer Systems of Tomorrow PILOTA" - A Preprocessor for CAI Language Simulator of the 8051 Microcomputer Structured Assembler for Microproi-essor 68000 Programming Quickies News ' Meetings informatica časopis izdaja Slovensko društvo INFORMATIKA, 61000 Ljubljana, Parmova 41, Jugoslavija UREDNIŠKI ODBOR: Člani : T. Aleksić, Beograd, D. Bitrakov, Skopje, P. Dr.i-gojlović. Rijeka, S. Hodžar, Ljubljana, B. Horvat, Maribor, A. Mandžić, Sarajevo, S. Mihalić, Varaždin, S. Turk, Zagreb. Glavni in odgovorni urednik: Anton P. Železnikar TEHNIČNI ODBOR: Uredniki področij: V. Bal.Kielj, D. Vitas - programiranje I. Bralko - umetna inteligenca D. Ć(!('oz-Kecmanović - Informacijski sistemi M. Exol - operacijski sistemi A . Jerman-Blažič - novice založništva B'. Džonova-Jerman-Blažič - literatura in srečanja L. Lenart - procesna informatika D. Novak - mikro računalniki Neda Papié - pomočnik glavnega urednika L. Pipan - terminologija B. Popovič - novice in zanimivosti V. Rajkovič - vzgoja in izobraževanje M..\Š|ie ilin, za redne člane 200,00 din, za študente 100,00/r)0,()() din, posamezne številke 100,00 din Žiro račun šf.: SOlOl-678-51841 Stališče urerraii1.ite somo noural moilols of Isngiiatio processing anH pncoùraqe p190. , INGLE D, (1976) Spa'tlaV vision In anurans. In ; K.T. Fits (Ed.), The amphibian Visual system: ■ a multidisplinary~approach. New-York ; Academic Press; JONES E.G. and POWELL T.P.S. (1970) An anatomical study of converging sensory pathways within the cerebral cortex of the monkey. Brain, 93, 793-820. KHOĐOROV R.I.- (1974) The problem of excitability. New-York : Plenum Press. . ^ : LASSEN M.A.. INGVAR O.H. and SKINHOJ ,E. (1978) Brain function and blood flow. Scientific American. 239. 4. 50-59. LAVOREL P.M. (1980) Sept formes de jargon. GraiTimatlca, 1. 61-100. Numero spéclal : Etudes Weuroiingulstlques. Presses Univérslté de Toulouse. LAVOREL P.M. (1981) Quand la langue fourche. In J. Oudot and A. Morgon (Eds.), L'erreur. iColloque Patch de Lyon. Presses Univérslté de de Lyon, 1982. LAVOREL P.M. (1982) Production strategies: a Systems approach to Wernicke's aphasia. In M.A. Arblb. 0. Caplan and J.Marshall (Eds.), Neural models .of language processes. New-Tòrk: Academic Press, IJb-164.- LAVOREL P.M. (1982 b) The sensible brain. In 0. Selfrldge, E. Rissman and M.A. Arblb (Eds.), Adaptive control of 111-defined systems. New-York : ^ Plenum Press (forthcoming). LAVOREL P.M. (1983) The distributed processing of knowledge and belief In the human brain. He>) prospects In Natural and Artificial_Intelligence, NATO Symposium;. tnthorn. Sclvjhk and Banerjl (Eds.). Cambridge U.P. »forthcoming). LAVOREL P.M. (1983 b) Le cerveau se représénte-t-n des arbres syntaxiques? In J.P. Desclés (Ed.), Les arbres en linguisti - ?ue. Colloque AFCLT-ATALA Paris: Hermann forthcoming). LAVOREL P.M. (forthcoming) An artlfical simulation of deep dyslexia. International Neuropsychology Society European Conference; Deauvllle. France, June 1982. LAVOREL P.M. and ARBIB M.A. (1981) Towards a theory of language performance. Theoretical Linguistics, 8, 1. Berlin: Walter de Gruyter. LAVOREL P.M. and- GIGLEY H.M. (1982) How we name or misname objects. The simulation of cooperative computation in the human brain. In TRAPPL (Ed.). Sixth European Meeting on Cybernetics and Systems. Die Hague: Houton. ^ . . . ^ ~ LESSER V.R. et al. (1981) A high-level simulation test-bed for cooperative distributed problem-solving. Computer and Information Science, ^ University of Massachusetts. Technical Report. 81-16. LETTVIN J.Y..' NATURANA- H.. MC CÜLLOCH N.S. and PITTS W.H. (1959) What the frog's eye tells the frog's brain. Proceedings of the Institute of Radio Engineers. 47. 1940-19S1. MAC GREGOR R.J. and LEWIS E.R. (1977) Neural modelling. New-York : Plenum Press. MARCUS M. (1978) A theory of syntactic recognition ftr Natural Language. PR Đ7 Dissertation, Cambridge : MIT. MARCUS M. (1982) Consequences of functional deficits In a parsing model : implications for Broca's aphasia. In M.A. Arblb, D, Caplan and J. Marshall (Eds. ). Neural model s of language processes. New-York : Academic Press. . .■■- • 'MERZENICH M.M. and KAAS J.H. (1980) Principles of organization of sensory-perceptual systems. In mammals. Progress In Psychoblology and Physiological Psycholo-9. 1-42. New-York: Academic Press. MINSKY M. (1961) Steps towards Artlfical Intelligence. Proceedings of the IRE. 49. 8: 29. ■ . ~~—;-- MINSKY M. (1980) K-Lines : a theory of memory. Cognitive Science. 4. 117-133. MORREL F. (1972) Integrative properties df parastrlate neurons-. In Karczmar and ECcles (Eds. ), Braln_ and human behavior. Berlin ': Springer, Z59-Z88. MOUNTCASTLE V.B; (1976) The World around us : neural comnand functions for selective attention. Neurosclences Research Program. Bun., 14, suppl, 1, 1-47. -^---- NEWELL A. (1978) HARPY, production systems, and human cognition. CMU Technical Report : Carnègle-Mellon University. NILSSON N.J. (1965) Learhlng. machines. New-York : Mc Graw-HIll; PAVLOV I.P. (1949) Lectures on the functioning of the two hemispheres of the brain (cited In K. Zaimov) Moscow Acadeimy of Sciences. Soviet Unfort Publishing House. PAVLOV I.P. (1951) Twenty year experience of objective research In the higher nervous activity of animals (cited In K. Zalmov) Moscow : Medglz. PRIBRAM K.H. (1967) The limbic systems, efferent control and neural Inhibition and behavior. In Adey and Toklzane (Eds.), Progress in Brain Research, vol. 27, Amsterdam : Elsevier, 318-336.- REISS R. (1962) A theory and simulation of rhythmic behavior due to reciprocal inhibition in small nerve nets. Proceedings AFIPS, Spring Conf., 171-194. RIEGER C. (1975) Conceptual memory and Inference. Conceptual Information Processing. In R.C. Schank (Ed.), San Francisco: North-Holland, 157-288. RIESBECK C. (1975) Conceptual analysis. Information Processing. In R.C. San Francisco: North-Holland, Conceptual Schank 83-156. ttjnr In M. OUILLIAN M.R. (1968) Semantic Memory. Processing. Cambridge: nil press, zz/-z/u. SCHANK R.C. (1973) Identification of conceptionallzations underlying natural language. In R.C. Schank and K.M. Colby (Eds.), Computer models of thought and language. San Francisco: Freeman and C'", 18724«: SCHANK R.C. (1975) Using knowledge to understand. Theoretical issues in natural language ;proce5S-lng. Cambridge; Mass., 131-13o» ■ SCOTT A.C. (1977) Mi ley Interscienee. Neurophysics. New-York: SCOTT A.C. (1978) Brain theory from a hierarchical perspective. Brain Theory Newletters, 3, 3-4, 66-69. SIMMONS R.F. (1973) Semantic networks; Their computation and use for understanding English sentences. In R.C. Schank and K.M. Colby (Eds.), Computer models of thought and language, New-York: Freeman and c*, b3-ll3. SMALL S. (1980) Word expert parsing: a theory of distributed word-based natural language" understanding. Ph u. uissertation, university of Maryland, College ParK; SPRINGER S.P. and DEUTSCH G. (1981) Left brain, right brain. San Francisco: Freeman and C*.- SZENTAGOTHAl J. and ARBIB M.A. (1974) Conceptual models of neural organization. Cambridge, Mass.: MIT Press. 1975 (also NRP Bulletin, 1974). THORNE J., BRATLEY P. and DEWAR H. (1968) The syntactic analysis of English by machine. In Mitchle (Ed.), Machine intelligence, Edinburgh Univ. Press, 281-309." -- UCHTOMSKY A.A. (1966) The dominant (cited in K. Zalmov). Moscow: Nauka Publishing House. WEDENSKY N.E. (1901) On the reciprocal relation between the psychomotor centres. In K.M. Bikov (Ed.), Physiology of the nervous ystem, vol. 3. Moscow: Medglz, 195Z, 181- sys« TB?r WILLIAMS P.L. and WARWICK R. (1975) Functional neuroanatomy of man. Philadelphia: maunders C*. WINOGRAD J. and COWAN J.O. (1961) Reliable computation in the presence of noise. (Cambridge: MIT Press, 1953:- WINOGRAD J. (1972) Understanding natural language. New-York: Academic Press. WOOD C.C. (1982) Implications of simulated lesion experiments for the Interpretation of lesions In real nervous systems. In M.A. Arbib, D. Caplan and J. Marshall (Eds.), Neural models of language processes. New-Vork: Academic Press. WOODS W.A. (1970) Transition network granmars for natural language analysis. Communications of the ACM, 13, 10. W.A. et al. (1976) HWIM,^ Speech WOODS understanding systems. BBN ReporT ZAIMOV K. (1981) Associative processes in semantic Jargon and In schizophrenic language. In J.W. Brown (Ed.), Jargonaphasia. New-York : Academic Press. 151-167." INFORMATIZACIJA KOT SVETOVNI IZZIV UDK: 681.3:007 ANTON P. 2ELEZNIKAR DO ISKRA-DELTA, LJUBLJANA Informatization as the world challenee. Informatization la a notion which can be deduced in the full sense from Information, Informatics, intelligence, technological, and social progress in the last two or three deicades. Informatization includes computer usage, robotics, new education, intelligent environment, new management information, information home; it transfonua the human behaviour into informatic one and enables the existence of subcultures and super-cultures. An information is a process of interpretation, representation, evaluation, execution of a message (linguistic, sensual, data, signal) in the central nervous system or also a reaction of a living cell to the changes of its environment. A technological information is convergent (single meaning) in the contrary to the human information which is normally divergent (pragmatic). Informatics Is a working, research, technological sphere using computer as a concentration of algorithmic Intelligence (determinist.ic knowledge). Informatics is amplifying the human information environment, it develops ita Ideology, style of life and of work; here, tlie silent transition Into informatization as an organizing strategy of life is taking place. In the transition phase of informatization the intelligence as a specific Information process in brains and machines is getting more and more important creating the so called Intelligent environment. This kind of environment evoluates tlie use of human brain substentlaUy, raising the intensity of Intellectual work. Informatization connects systems into planetary net, information into sceletoo world information, production parts into distributed production, so, the integration of resources Is getting a complete form whicli could not be aciiicwed In the wave of industrialism. In tills way. Informatization is becoming a challenge for developed and undeveloped countries giving tlicm an encouraging vision of the future. Informatizacija je pojem, kl ga Je mnč smiselno izpeljati Iz pojmov Informacije, informatike, inteligence ter iz tehnološkega in družbenega napredka v zadnjih dveh aH treh desetletjih. Informatizacija vključuje uporabo računalnikov, robotiko, novo presveto, inteligentno okolje, novo upravljalsko Informacijo, informatizirani dom; Informatizacija transformira človekovo obnašanje v informatično in omogoči enakopraven obstoj sub in super civilizacij. Informacija je proces interpretacije, predstavitve, vrednntenja in izvršitve sporočila (jezikovnega, čutnega, podatkovnega, signalnega) v centralnem živčnem sistemu In Je tudi reakcija žive celice na spremembe njenega okolja. Tehnološka informacija Je konvergentna (enoumno pomenska) v primerjavi s čluveSko informacijo, ki je normalno divergentna (pragmatična). Informatika Je delovno, raziskovalno in tehnološko področje, ki uporablja računalnik kot nakopičeno al orltmlčno Inteligenco (determinirano znanje). Inlurmatika ojačuje človekovo informacijsko okolje, razvija pa tudi svojo ideologijo, stil življenja In delaj tu r,e začenja tihi prehod v Informatizacijo kot organizacijsko strategijo življenja. V prehodnem obdobju Informatizacije postaja inteligenca kot posebna oblika informacijskega procesa v možganih In strojih vse bolj pomembna, saj oblikuje tklm. Inteligentno (pametno) okolje. To okolje bistveno evoluira (razvija) uporabo človekovih možganov, ko pospešuje Intenzivnost umskega dela. Informatizacija poveže sisteme v planetarno mrežo, Informacijo v skeletno svetovno informacijo, proizvodne dele v porazdeljeno proizvodnjo; tako dobi integracija virov (človeSklh, materialnih) tisto popolno obliko, ki je nI bilo moč doseči v dobi Indu-strlallzma. Informatizacija postane Izziv za razvite in nerazvite, saj jim daje vzpodbudno sliko prihodnosti. Uvod Informatizacija, je pojem, ki ae pojavlja med drugim v delih J.-J. Servan-Schraiberja (1) in A. Tofflarja (3) in ga je moS sm^aelno izpeljati iz pojmov informacije, informatike in inteligence. Informatizacija je novi val (tehnološki, družbeni), ki se razvija po Induatrlalizmu in ta val ae zaEenja v ZDA v razdobju 195S do 1965, nekaj kasneje zajame Japonsko z vso svojo moSjo, v laSji obliki pa tudi zapadno Evropo in druge predele zemeljske oble. Informatizacija obaega uporabo računalnikov na vseh ravninah, robotizacijo proizvodnje s pomoSjo inteligentnih informatiSnih pripomoSkov, novo prosveto, oblikuje pa tudi pametno (inteligentno) okolje, upravljaleko informacijo v druZbeni in zasebni infosferi, informacijski , dom (Toffler imenuje ta pojav elektronski dom), Sloveka preoblikuje v informacijsko intenzivno bitje, ki iz skeletne informacije ustvarja (ustvarjalno oblikuje) svojo polno informacijo, omogoSa pojav, razvijanje in ohranjanje lokalnih in globalnih kultur (subkulture in super-kulture), ki ao s planetarnim Informacijskim sistemom povezane v mrežo. Informatizacija spremeni naün življenja iz industrijskega v informatiSnega. Toffler predvideva, da bi zaradi informatizacije in robotizacije proizvodnje v prihodnje kar 75 % delavcev opravljalo svoje delo iz svojega elektronskega doma, ki Je seveda ustrezno informatiCno opremljen in povezan npr. s tovarno, pisarno oziroma z delovno funkcijo. To pa pomeni, da tovarna kot industrijska katedrala ne predstavlja veS dnevnega romanja delavcev na delovno mesto, delavci pa so z delovnim procesom povezani iz svojih domov, ko krmilijo, nadzorujejo in usmerjajo proizvodne tokove skladno s svoja delovno funkcijo. To je morda vizija prihodnosti, ki pa se uresničuje 2e danes z uporabo lokalnih-informacijskih mrež in Se ne v polnem obsegu. Informacija, informatika, informatizacija Kratko: informacija je proces interpretacije, predstavitve, vrednotenja, izvrSevanja sporoSila (jezikovnega, čutnega, podatkovnega, signalnega) v centralnem živčnem sistemu. Človek sprejema in oddaja sporočila oziroma ukrepa. Öe Je informacija reakcija na spremembo ali stanje okolja, potem Jo Je moč smiselno posploSiti tudi na procese v živi celici (prilagajanje) in na tehnoloSke procese (avtomatsko krmiljenje z viSjo ali nižjo stopnjo t.i. umetne inteligence). Sporočilo kot dražljaj sproži npr. interpretivni proces v možganih z vsemi pragmatičnimi možnostmi, zato Je informacija kot mednevronski proces (nevron Je živčna celica) oziroma proces v nevronski mreži različna pri enakem sporočilu (ponovljenem, v različnih možganih, pri različnih stanjih spomina, pri različnem kemizmu, električni prevodnosti oz. bioloSkemu stanju nevronske substance) . TehnoloSka informacija Je predvsem enopomenska (npr. strojno prevajanje jezikov), da bi bili procesi predvidljivi ter v tehnoloBkih mejah. TehnoloBka informacija Je proces ugotavljanja "pomena" (semantike) brez pragmatičnih ekskurzij, je torej konvergentna za razliko od divergentne, razvijajoče informacije v možganih. Informatika Je delovno, žtvljensko, tehnoloBko področje, uporablja računalnik, ki ima nakopičeno algorlt-mično inteligénco (determinirano znanje) v obliki programov za haJrazličnejSei uporabe. Informatika kot tehno-loSki pojav ojačuje človekovo informacijsko okolje z znanjem (programi) in sredstvi (računalniki, informacijski sistemi, telekomunikacije), DanaBnJa informatika se tako lahko utemelji na računalniku z njegovo nakopičeno inteligenco in v obliki informacijskih sistemov seže na vsa bistvena področja dela in bivanja. Informatika razvije svojo tehnologijo in metodplogljo ter tudi svojo ideologijo, stil življenja in dela. Tu pa se pravzaprav že začenja tihi prehod v informatizacijo kot organizacijsko strategijo družbe. Informatika je kot raziskovalno in delovno področje utemeljena z znanostjo o informaciji, raziskavami centralnega živčnega sistema, umetno inteligenco, z računalniškimi znanostmi (raziskovalno in izobraževalno področje), z znanostjo in uporabo informacijskih sistemov, z uporabo računalnikov, z uvajanjem inteligence v robotiko pa tudi z njeno teorijo in prakso, s sistemi za iskanje podatkov in naposled tudi s sredstvi in metodami masovnega in drugega obveBčanJa. Na prehodu v informatizacijo dobi Inteligenca kot specifičen informacijski proces v možganih In strojih svoj poseben, poudarjen pomen. Prehod iz informatike v Informatizacijo Je bistveno pogojen z Inteligenco, in sicer s povečano strojno pametjo ter z oblikovanjem t.l. inteligentnega (vse bolj pametnega) okolja. Stroj, ki ojačuje znanje človeka in razpolaganje z znanjem, evoluira tudi človekove možgane, sili ga v konstruktivno mišljenje, v delo, ki zahteva obvladanje (odkrivanje in reBevanJe) problemov ter ima svojo praktično, obstojno utemeljeno upodobitev oziroma realno projekcijo. Tako se človek z informatizacijo realizira na drugačen, času in prostoru ustreznejši način, ko izstopa iz dobe indüstria-lizma novemu upanju naproti. Informatizacija se tako glede na informatiko razBlri, v svoje okrilje vključi in poveže različne infrastrukture, kot so avtomatizacija (regulacijski sistemi), informatika (porazdeljena obdelava podatkov), telekomunikacije (sateliti, mreže), inteligenca (v sistemu, okolju), robotika (robotizacija proizvodnje in storitvenih dejavnosti), raziskovanje {informacijski procesi, nove tehnologije) in izobraževanje. Informatizacija pomeni tako med drugim tudi realizacijo telelnformatlke in njenih posledic, kot sta porazdeljena proizvodnja (delo Iz Informatiziranoga doma) In porazdeljena administracija (Informatizirani urad). Informatizacija omogoči dostop do željenih podatkov, ki so zbrani v posebnih bazah podatkov za Javno uporabo - tudi posameznikom iz njihovih domov - omogoči kakršnokoli od doma ali od drugje naročeno obdelavo podatkov za različne namene: podatki in njihove obdelave postanejo tako porazdeljeni po Informacijski mreži, ki zajame in poveže celoten planet pa tudi izvenplanetarne podatkovne postojanke. Tako niso porazdeljeni samo podatki , porazdeljena Je tudi obdelovalna moč in v Informacijskem pomenu postane svetovna mreža podobna velikemu možganskemu Informacijskemu sistemu. Pametno okolje Dvom o tem, da je Informatizacija na pohodu, nima več realnih temeljev. Japonska hiti v robotizacijo In se dviga na vlSje ravnine vsakodnevnega delavčevega izobraževanja iz strahu pred prihodnostjo, v kateri bo moč zadovoljivo reBevatl probleme njenega In svetovnega obstoja le s pomočjo Informatizacije. Z njeno močjo bodo Japonci racionalno uravnavali svojo potroBnjo (surovinsko, energetsko, prehrambeno) in dovolj hitro odpirali možnosti za nove poti proizvodnje, ki bodo postale nujnost (bloloBka, akvakulturna, vesoljska, elektronska industrija). Izgleda, da bo informatizacija povzročila intenziv-neJBe izkorlBčanJe In uporabo človekovih možganov, s tem da bo zavestni del drugače napolnjen oziroma informacijsko bolj intenziven, saj se bo naposled tudi £lovek prilagajal informacijskemu okolju. ZnaSilnost informatizacije kot družbenega procesa Je tedaj tudi v intenzivacijl Slovekovega intelektualnega dela, v prestrukturiranju Sloveka kot vSeraJSnJega roSnega, fizlSnega, plsarnlSkòga in upravljalskega delavca v danaSnJega in novega delavca, ki bistveno dru-gaSe uresniSuJe svoje delovne naloge v nastaJaJoSem in; formacijskem okolju, ki Je bolj pametno. V Sem se ta vilja oblika pameti odraZa? ZnaSilnost Informatlzaolje Je možnost in nujnost stalnega delavBevega izobraževanja (v Soli in na delovnem mestu) zaradi hitrih sprememb informacijske (in druge) tehnologije. Presveta dobi v informatizaciji novo obllkoi intenzivno Je podprta z informatiSnlml pripomoSkl za uSenJe, dopolnilno in delovno izobraževanje, za reSevanJe in odpiranje problemov, za doseganje vsakrBnih podatkov (strokovnih, upraviJalskih, statističnih, poslovnih) iz specializiranih podatkovnih baz ter v prebavljivi, interaktivni , dialogni, menujskl obliki. Uporaba te informa-tične podpore ne zahteva od človeka posebnega znanja; sistemi vodijo Šipveka prek uporabnih možnosti, prikazujejo mu možne alternative in pripomočke za iskanje podatkov, učenje, dopolnjevanje znanja. Seveda se ta infor-matična Infrastruktura vzdržuje s človekom: dopolnjuje se ne samo kot uporabnlBki marveč tudi kot delovni sistem v proizvodnji. Vedno več ljudi je udeleženih v proizvodnji informatičnih sredstev, tehnologije, programov, uporabniških in delovnih sistemov. Človek tako povečuje ne samo svojo tehnoloSko pamet, povečuje tudi svojo konstruktivno informacijo in iz informacijskih skeletov oblikuje sebi ustrezno, novo informacijo, s sebi primerne jSo vsebino. TakSen način informatizacije bivanja povečuje človekovo neodvisnost, njegovo varnost, saj mu daje možnosti predvidevanja dogodkov z uporabo dovolj kvalitetnih podatkov. I Ker Je informatizacija izrazito integrativen pojav, ki poveže sisteme v svetovni sistem, informacijo v skeletno svetovno informacijo, dele proizvodnje v združeno proizvodnjo, dobi integracija v informatlzacijski dobi : tisto polno obliko, ki Je nikoli ni mogla doseči v dobi industrlallzma. Vlogo industrializacijskih integratorjev in elit prevzamejo enostavno inforitiatlzacljske možnosti, informatizacijska moč in povezanost in tako ée začenjajo zmanjševati razlike v položajih človeka, v stopnjah njegove obveäBenosti, povečuje se človekova delovna primernost, njegova motivacija in zadovoljstvo. Človek zaživi svojim hotenjem in svoji motivaciji primerno, izbolJSa svoje zdravje in počutje, svojo vključenost v svetovno informacijo, postane dejemsko pametneJBi (bolj razvit, bolje obveSčen), preudarneJBi, sposoljnejBi za polno življenje. ^ ' .. : ^ VpraBanJe Inteligence (pameti) postane naposled na-kako obrobnoi inteligenca Je vaslaj relativna, specializirana, prilagojena prostoru in časui' Inteligenca Je. le posebna oblika trenutno aktualne informacije, ta pa se pretaka (v obliki procesov) v živi in tehnoloBki. informacijski mreži. Inteligenca postane tako le dovolj bistveni del informacije in njena statistična prisotnost zagotavlja smotrno delovanje sistema: intellgencap»stane bolj regularnost kot izjemnost,^čeprav se povečuje njena raznolikost in količina (kopičenje znanja). Sklep Informatizacija postaja izziv za razvite in razvi- ' jajoče, saj kot možnost in nekje tudi kot dejansko sta- ; nje daje vzpodbudno vizijo prihodnosti: ukinja klasičen ; Industrlallzem in njegova tipična nasprotja, spremeni nastajanje in strukturo upravljalske informacije in z njo povezanih institucij (demokratičen stroj, upravljalske elite), utrdi družino in manjše delovne skupnosti v . neposrednosti preko dela Iz informatiziranih domov, raz-reSi s spremenjenim načinom bivanja in dela energetske, transportne, prehrambene in druge ključne človekove probleme. Informatizacija se pojavi kot počasi naraSčajočl val, ki prekrije planet z novo žlvljensko vsebino. Slovstvo ^ (1) J.-J.,Servan-Schrelber: Svetovni izziv. Globus, Zagreb (1981). ,(2) A. Toffler: The Third Wave. Bantam Book, New York (1981). COMPUTERGRAPHICS AND CAD ACTIVITIES IN AUSTRIA JOHANN WEISS UDK: 519.688 INSTITUT FOR DATENVERARBEITUNG TU WIEN, AUSTRIA SYSGRAPH GESMBH, WIEN, AUSTRIA Abstract : Coniputergraphlcs (CG) and CAD have had a quick development in Austria during the last 5 years. Of course, Austria has no companies producing graphic equipment in large quantities nor do we have big companies dealing with graphic software. But there is big need for such software and hardware and some progress has been made in the development. This paper is giving a survey about the Austrian activities research and application in this field. 1. Computergrapliic : Research and Development Basic research has been made on Computer-graphics at the Technical University of Vienna (TU Wien). There are several institutes involved in CG-research. In 1977 a Coraputergraphic Research Group was founded at the "Institut für Datenverarbeitung" (Dataprocessing) (Prof.Dr.Eier, J.Weiß). First a three years program was started including hardware and software development. Several papers of this work have been published, including "circle clipping", decentralization of graphic systems, standardization, development of a colour raster display, development of a graphic workstation etc. This project was followed by some others, mostly oriented to CG-appli-cation and CG-standardization. e. g.: A program for input of city maps together with statistical information is now being developed. Beside these above mentioned activities the "Institut für Datenverarbeitung" offers also an educational program for computer graphic. For interested students exists the possibility of a lecture including practicum (3 less, per week/ one semester). This lecture shows an interesting development in the number of students: In 1978 there were 18 students, in 1982 there are now 175 (I) students. Further there exists the possibility of practices and diploma works. Another Institute working (mostly) on graphic languages is the "Institut für praktische Informatik" (practical informatics, Prof. Barth). Prof. Barth and his crew designed a graphic extension* to Pascal. This Pascal/ Graph was presented 1981 at Eurographics and was elected as 3rd paper. This institute, too, offers possibilities working with grahpics for the students. The work of the "Institut fur Informationsverarbeitung" of the "österreichische Akademit-der Wissenschaften" (ÖAW) - Austrian Academy of Sciences - (Dr.Firneis, DI Herzner) concentrates to several University appiication projects. Since 1979, the Institute is also working in the fields of graphic standardization. Some examples of this graphic application are: Drawings of cinematic functions, contours of complex differential equation systems, 3-dimensional representation of parameterized surfaces using arbitrary sets of curves. Furthermore the institute is supporting many applications with graphical software in the area of University of Vienna and Academy of Sciences. In the future It Is planned to adapt existing software and to base new application on the Graphical Kernel System (GKS). There is not only the university area, but also companies developing cpmputergrahpic software' in Austria. ! . The bigger companies as Siemens, CDC, IBM etc. provide their packages and develop user-specific adaptions. There are companies developing graphic software. Fa. Technodat provides a Calcomp based package named "Dipp"; which was extended by segment- and colour-sfunctions, and can handle a big variety of dev ices. Another company, "Sysgraph", is consulting and developing in computergraphic applications. Several user-specific programs have been installed. A standard graphic package and a business gra()hic package are announced for this year. The "Forschungszentrum Seibersdorf" also has a crew (Dr.Schoitsch) working on process-control and computer-graphic. They wrote graphic software whichs runs on Digital computers. 2. CAD -■Development 2.1) TU Wien " ' ' 'In the department of mechanical engineers the "Institut für Maschinenelemente" (Prof. Kazda, Doz,Reinauer) has bullt up a CADCenter. They use PROREN and.have already made several pilote studies. Therefore the PRORENSystem was extended several times. The applications are not restricted to drafting purposes. Beside these there are modelling functions, dimensioning, selecting of machine parts supported by-computer. Application which have been done are crank shaft drives, gear boxes, clutches etc. With CAD-kernel package DINAS a roller bearing catalogue system was installed. A surface design program originally made by the Institut für Datenverarbeitung was extended to a 3Ü surface ^modelling system including hidden Vine removal. Since 1979 a CALMA system has veen installed at TU Wien (Prozeßrechnerzentrum). This system is mostly used with CALMA software-for applications, now there is also development ' done on i t. . 2.2) Industry In the industrial field CAD-deve]opment is done at various places. A Viennese company dealing with prefabricated buildings (FTB) has designed their own CAD and drafting system. VOEST developed a CAM-system; which is also marked outside the company. Support for technical computation (Finite elements etc) is given by Technodat. 3. Applications: 3.1) Computer Animation Since 1980 a company exists in Vienna which only deals with computer animation. A 2^2 dimensional animation system was designed which is now used in production. 2^/2 dimension means, that it is a system based on surfaces which can be moved in 3-d without restrictions. You can even have perspective views from this system. Generally the ANIMA-System is organized like an ordinary eel 1-production animation. There are of course no limitations in numbers of cells, which you can define and move simultaneously. The system takes care about what is visible or not. There are, more possibilities like on Walt Disney's multiplane camera, but with less costs. The artist (animator) has an excellent user aid and a great variety of effects on controls. Just to define effects and controls : E.g . : moving a character (figure) from left to right is an effect. The definition of the velocity -how fast the character has to be moved - is a control. The pictures are made out of lines, areas with, or without borders, areas with partially exi- , sting borders, curves, texts (freely define-able) etc. There is a variable text defineable which ca.n also be controlled by the effects. The system is capable to make "in-betweens" between defined keyframes. The whole system consists of 3 subsystems 1. Input of the graphic , 2. Definition of effects and controls 3. Film production. Output is done on colour raster displays ranging in resolution from 48o x 64o to lo24 x lo24. Direct filming from screen wouldn't give good resolution and stable colour. It Is done via a video-camera. Even In use the system Is expanded with new functions. There are many possibilities using coraputergraphic for animation. This system was mainly developed at the Institut fUr Datenverarbeitung, TU Wien. ' of diagram. The system then gives the picture, which Is updated every miniite or 5 minutes. The control system not only shows the data which are already available. There is an extrapolation done for a1.1 important data. 3.2) ComputercarthographiCS : The Municipal Council of Vienna, Department for Oataprocessing, (01 Koloseus, DI Wilmersdorf) developed a rather big system, which Is capable of stor.lmg the whole city map of Vienna In a very detailed manner. It is possible to connect geometric-oriented data bases to the graphical objects.In the last years nearly the whole city was digitized. This department also takes care of statistical Information needed by the municipal authority. It Is produced in form of business graphic charts. Another Institution Is the "Amt für Vermessungswesen" (Dr.Zimmermann). It is digitizing the territory of Austria. Its aim is to get the 1 atid-regl ster informations into this database. Out of this information the offIclal.maps are produced. 3.3) Business graphics: Besides the foreign business-graphic systems in use, an Interesting development is going on in business and representation graphics. In the university area the Institute for . Statistics (Prof.Vlertl, DI Guttmann) is developing graphical output methods for time series and other statistical data. It is a similar approach like business graphic. A new system is announced by the company "Sysgraph". Due to this activities«ACGA (see chapter 4) offers one day courses in this field starting In autumn 82. 3.4) ground .glass Joint design program: As an example of an Industrial order a ground glass Joint design program was developed. An example is shown In the figures. 3.S Process control for power supply In the power supply companies In Austria there is a movement to use more full graphic output Instead of semigraphic displays In process control. An Installation in Linz, OKA, made 1979, gives the managing person' all consuming and producing data in a graphic representation. The user decides on the type 4. Standardization of Computer Graphic Systems The Austrian Standard Institute "österreichisches Normungsinstitut") has: an active group which Is working on computer graphics. Due to the reason that Austria Is not big enough for Its own graphic standard, this group supports International activities, e.g. the graphical kernel system (GKS) which Is now ISO draft standard Is supported within ISO, but also discussed and published in Austria, GKS was originally a German draft. There was some Austrian-German cooperation on GKS. The Austrian relation to GKS exists since this time. The future plans for standards are not detailed. But it looks like, if the work will continue on a graphical metafile and a device driver interface. 5. Organisations supporting CG and CAD 5.1) The Austrian Computer Society (OCG) The OCG (Österreichische Computer Gesellschaft] Is an organisation supporting all activities 1n the area of computing (President: Dr.N.Rozsenich). The OCG Is based upon personal and institutional members. OCG is supporting several special Interest groups (working groups). There is also one for Computergraphics and CAD. This working group (Arbeitskreis) Is organizing lectures, tutorials and conferences. The last greater one was "Graphische Datenverarbeltung 79" (Computergraphics 79) which was organized together with TU Wien (Institut für Datenverarbeitung) 1979. OCG is also a liaison member of Eurographics. 5.2) Austrian Computer Graphic Association (ACGA) The Austrian Computer Graphic Association was founded in Vienna in December 198o. This association's purpose Is to foster the research and the practical use of this fast proceeding computer science in Austria. The association Is a member of the World Computer Graphics Association. The ACGA coordinates its activity with the Austrian Computer Association. The major evidence Of the ACGA's:attlylty i^ publishing of a bymonthly publication, the , CAD, and.the organization of iseminars and • conferences. ■ 6. Conclusion , Coraputergraphic and CAÖ' arevfast-growing . ^ branches in Austria. This paper could not cover all the projects going on now. The activities which' have been mentioned concern subjects which are compietely-or at 1 east to ; :a great extent designed and programmed in , ; Austria . ' '. T Of course, there is a lot of software -especially in CAD - coming from abroad. It is ; my opinion there should be a balanced relation between development and buying. This depends, very much on the particular application. E.g.: It needs a lot of good ideas and reason to start a new (3-D) model l ing system for CAD. It is here similar situation like for programming languages some years ago. But the daily use computer graphics offers many possibilities for "home brewn" Systems which are not covered by already existing! systems- on the market. This seems to me the:area for : . . i national activities. Last but not least, doing so, a very important knowledge 1s;bùi 11 up step by step. To get the 1nformation, exr changed among these people Is the task of ACGA and OCG. If.they are working well - like ; they did - it will be fine to see you sòme day in'Austria at a graphic conference, tutorial or seminar. The author's address: DI Johann Weiss Castellezgasse 4/13 A - 1020 Wien, Austria 7. References (1) H. Guttroann, J, Weiss: Clipping the View of decentralization in computer graphics. Interactive techniques in Computer Aided Design, Bologna 1978 Conference proceedings, p 235-p 240. (2) N. Nagler, J. Weiss: Dezentrale Be-, y nutzerfUhrung bei graphischen Systemen, OCG Schriftenreilie Band 4. p 45-p 59. (3) J. Weiss: Device Driver Interface for, Decentral Device Drivers, Eurographics 79, 25.,10.-27.10. Bologna, p 252-p 263. (4) J. Weiss: Decentrai Graphic Systems (Decentralization of Workstations) ..... Computer Graphics 80, Conferencepro.. ceedlngs p 471-p 485. (5) H. .Hillebrand, J. Weiss: Considerations .; of Extensions of Inputfunctions based on a Graphical Kernel System, Euro: . graphics 80 Conference Proceedings 7p ■21-p31.; ■ ' /s: . ■ (6) G. Reinauer: Der Aufbau von anwendergerechten CAD-Systemen, OCG-Schriftenréihe, : 1981, ISBN .3-7029-0169-8 (230 pages) (7) G. Reinauer: Darstellung von Gebilden, unter Verwendung räumlicher Elemente, CAD Heft 15, P 10-p, 16. (8) G.. Reinauer: Variantenkonstr. von Maschinenelementen.Der Kurbel trieb, CAD Heft 9 P 2-p 9. (9) ! E.Buttar,, G. Reinauer: Anwendererfahrungen mit der B-Spline Approximation, : CAD-Heft 13 p 2- p 9. (10) G, Reinauer, K. Sträßler: Konstruktion, Auslegung und Auswahl von Lamellenkupplungen ml ttel s XAD . CAD Heft 13, p 16-p 22. (11) Graphische Datenverarbeitung 79, book OCG Schriftenreihe ISBN 3-85403-004-5, 197.9 (344 pages) 8. Pictures figure 1. Surface representation using general parameter lines (ÖAW) figure 2; Surface representation using general parameter lines (DAW) figure 3: Example of ground glass design layout (TU Wien) figure 4; Surface modelling for technical applications (TU Wien) figure 5: Mechanical Engineering: crank shaft drive (TU Wien) AN EFFICIENT IMPLEMENTATION OF ADVICE LANGUAGE 2 UDK: 519.682.7 IVAN BRATKO1'2, IGOR KONONENKO^, IGOR MOZETIČ^ FACULTY OF ELECTRICAL ENGINEERING. E: KARDELJ UNIVERSITY, TRŽAŠKA 25, LJUBLJANA 2 JOŽEF STEFAN INSTITUTE, JAMOVA 39 LJUBLJANA Advioe Lanojuages were developed to facilitate the implementation of know I edge-based solutions to that are oombinator i at in nature. This paper reports on an efficient implementation of AL 2 problems (in Fortran)i and eiperiments with its application to chess endgames. In particular» a difficult ending with king and knight vs. king and rook was implemented in AL2 following the structure of an older advice program which was previously written in ALI. The new implementation of this endingt in AL2i is about two orders of magnitude faster than the previous ALI program. UÖ1NK0VITA IMPLEMENTACIJA JEZIKA NASVETOV AL2. Jeziki nasvetov olajäujejo reSevanje kombinator i fin i h problemov s pomoSjo aktivne baze znanja. V Članku je opisana utiinkovita implementacija AL2 in eksperimenti z njegovo uporabo v Šahovskih konCnicah. Na podlagi prejšnjega programa napisanega v ALI) je bila v AL2 implementIrana teüka konfinica kralja in skakaOa proti kralju In trdnjavi. Implementacija v AL2 je od prvotnei programirane v ALli hItrejSa za dva reda velikosti. 1. XNTHOÜUCriüN Une useful way of looking at problems Is: given an Initial problem situation, ä, find a sequence of actions which transforms S Into a final situation, F, such that F satisfies a given goal condition G. The actions can be Chosen from a predefined repertoire of permissible operations on problem situations. This general concept Is reflected In various formalisms for representing problems, widely used in artificial intelligence, such as state-space, ANU/üR graphs, or game-trees (e.g. Nlisson 198Ü). Examples of practical problems whlcn naturally fit these formalisms are: combinatorial optimization, computer-aided design, automatic programiuingj failure detection and diagnosis, game-playing, etc. Mhen solving problems within this paradigm, the domain-specific knowledge has to be used for practical reasons in order to reduce the combinatorial cpinplexlty of the search process. One way of expressing knowledge for streamlining the problem-solving process is to specify subgoals which are relevant to the given goal. This can be done in the framework of production rules in the form popularly used in artificial intelligence (e.q . waterman and riayes-Hoth 197u). A series of rule-based systems, called Advice Languages, has been based on this idea (ALI: Sratko and Hlchie 1980a; 19B0bf AL2: Mozetlc 1900; al3: bratko 1982a; 19820). In this paper we describe an Implementation, in Fortran, of AL2. ali and AL3 were irapleinented (elswhere) in Al languages POP-2 and Prolog respectively. In experiments with the Advice Languages, the game of chess has been mainly used as an experimental aomaln. The adversary nature ot games introduces complications, but the idea of breaking the whole problem Into subgoals is still viable and rather straightforward. Consider, for example, the ending with king and rook vs. king (KRK tor short). A useful piece of advice for this, ending would be: in order to mate, first squeeze the opponent's king against the edge, and then try to mate. The whole problem ot mating nas oeen reuucea into the (easier) subgoals: force the opponent's king to the edge, and, when on the edge, carry out the final phase for mate. Tnls is, basically, the form in wnlch ^he knowledge about problems Is couimunicdted lu the proulem-solver via Advice Language 2. Two nontrivial endgames have been implemented in ALI and AL3: king and knight vs. king and rook (KNKR) in ALI (Bratko and Mlchie 1980b), and king and pawn vs. king and pawn in AL3 (Bratko 1982a; 1982b). as shown by Kopec and Nlblett (1980), the difficulty of perfect play in KNkk Is beyond the capabilities ot chess masters. Tne performance of an advice program in ALI tor KNKK was, it not perfect, at least comparable to that of human masters. One trouDle with ALI was its slowness, due to an inefficient Implementation In PUP-2. To play a move in a nontrivlal KNKK position. It took the system typically a tew minutes of CPU on a Ui::C Kl-lO processor, we translated the ALI program tor KNKK into AL2 and used it as a benchmark for testing our present Implementation ot AL2. The present implementation typically uses between a second and a few seconds to play a move iii a difficult KNKK position on a Ul::c KL-10 processor. The pace of play of a tew seconds per move is attained bv AL2 when searching about lOuO positions In the game-tree. Under regular chess tournament conditions, the player is alloweu about three minutes per move. So under tournament conditions, the program would be allowed to search correspondingly larger portions ot the game-tree. With, say, ÜO times more time per oiove, the system would be able search some äO thousand ot positions per nove actually played across the board. This figure Is comparable to tne speed ot some (not fastest i) tournament cness programs. The rest of the paper describes the details ot AL2 and Its implementation, and some' experimental results. 2. 'AI.2 DESIGN The overall structure of the Ab2 tyiteo It depleted In Fig. i. The main modulei ot the system are > (U the Icnowledge base Knowledge Is represented in advice-tables and pleces-of-advlce. each advice-table Is specialised as to deal with certain problem-subdonaln. According to the current problem-situation It chooses an aproprlate advlce-llst. Advlce-llst Is an ordered list of pleces-o£-advlce. A plece-of-advlce suggests what goal should be achieved next while preserving some other condition. If this goal can be achieved In a given problem-situation then we say that the plece-of-advlce Is satlsflable. (2) (3) the search module The search module talcès an advlce-llst from the knowledge base and tries to satisfy a Plece-of-advlce In the list, sequentially attempting the pieces one after another, until It succeeds. To satisfy a plece-of-advlce Is to find a specific subtree of the game-tree called forcing-tree. Forcing-tree may be interpreted as a strategy that guarantees us the achievement of the goals prescribed In the first satlsflable plece-of-advlce from the advice-list. the interactive interface The interface facilitates the communication between the user-player and the system. It accepts a forcing-tree from search module and interprets it as our strategy for playing our moves, besides this It can show useful statistics and enable trace during the search for a forcing-tree. KNOWliCDGE chess endgame äASE knowledge position pleces-of-advlce 1 SEARCH MÜDULE position strategy INTERACTIVE moves IHTERFACE statistics / "ser \expert J \player J Fig. li The basic structure of the AL2 systen. It should be noted that the basic structure of AL2 as described above Is almost Identical to that of the ALi system (Implemented in POP-2 at the university of Illinois, outlined also in Bratico and Michie 1980). In the following paragraphs we describe the modules of AL3 in inoi;e details. 2.1. The icnowledge base Advice-tabU If a set of rules of the form If precondition then advlce-llst If more then one precondition Is satisfied then simply the first rule Is chosen. A plece-of-advlce Is a flve-tuple (HG, BG, UHC, THC, MAXD) Where HG and BG are predicates on positions called holding-goal and better-goal respectively, UHC and XNC are predicates on moves, called move-constraints for us and for them respectively and haxd Is a depth-bound of a forcing-tree. By "us" we mean the side to move In a given position, either white or blacK, and by "them" the opponent of "us". Move-constraints can besides a mere selection of a subset of legal moves prescribe an ordering on the moves that are selected. we say that a plece-of-advlce is satlsflable In a given position If and only If ( (1) the "us" side can force the achievement of the better-goal in less then maXO plies. While (2) during the play toward tne better-goal, the holding-goal Is never violated, and (3) the "us" side always chooses Its moves only from the set of moves that satisfy UHC, and (4) the "them" side's choice of moves is limited only to the moves that satisfy THC. Goals may also be expressed by the satisfiability of some other plece-of-advlce, as follows I Better-goal (or holding-goal) is achieved In a position if the other plece-of-advlce Is satlsflable in the same position, k Talee, as an example, the king and pawn vs. king ending, A plece-of-advlce for the stronger side that suggests simply "push the pawn to tne queening square" can be defined as t (pawn.safe, pawn.queened, pawn.nioves, klng_fflacro.move.to.queening.square, 9.plles) If we take tor example the position In Fig. 2, It Is obvious that this plece-of-advlce falls, because the black king can capture the white pawn. 8 1 I I I I Iff I I I 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I 1 1 1 1 1 1 1 1 1 1 1 1 ) •Ä 1 1 1 1 1 1 1 1 1 1 1 t 1 ( 1 1 1 white Fig. 2t An example of nontrlvial position for white to move and win. After the natural move K d2 black can draw by K e7. The only correct move Is K c2'l. 2.2. The learct) nòdule Control structure chooses whlcn place-of>advlce from advice-list to apply next. Then It tries to satisfy It by simple depth-first search. If and only if a plece-of-advlce is satlsflable 'in a given position there exists a forcing-tree and the search module finds It. forcing-tree Is a subtree of the game-tree rooted In a given position, such that i (1) every node, except the root-node, satisfies HG, C2) every nonterminal node satisfies not BG, (3) every terminal node satisfies BG, (4) there Is exactly one move from every nontenolnal us-to-move node» that move must satisfy UMC, (5) there are all legal moves from every them-to-move nonterminal node that satisfy TMC, (6) the lenght of the longest path must not exceed the depth-bound maxo; the root-node Is supposed to be at depth 0. Me say that In a position, from which there Is no legal "us* move tnat satisfies UHC, the better-goal can not be achieved. But If there Is no legal "them" move that satisfies TMC, the position Is a terminal node ot a forcing-tree. In Fig. i there is an example of forcing-tree generated tor tne position in Fig. 2. Here, a piece-o£-advlce tor \iihite that suggests hon to get the King in tronc o£ the pawn Is Satlstied. WK c2 bK el WK bi BK dć WK b4 BK C6 / BK d5 / BK e6 WK C4 BK d6 / BK d7 WK b4 BK d6 / BK C6 / BK f7 WK d3 BK e7 WK C4 BK d6 / BK eó WK C4 BK d6 / BK e8 IVK b3 BK el KK C4 BK 06 / BK d7 WK b4 BK db / . BK C6 / Fig. 3j The forcing-tree for white for the position in Fig. 2. On any black's move white has an answer that brings his king in front of the pawm so that black cannot eventually prevent the queening. AÜV1CE UOOES 1 2 3 4 5 t 7 8 1 19 1 5 1 b i 4 1 1 2 bb 3 9 Ó 15 10 15 Ü 0 NODES = 77 B I I I I I 71 I I II ifVl Ig ••——----t—♦ 6 1 I I > I I I S I I I I I I I I —-t—t---t---«"—- 4 1 +3 I 2 I + " 1 I f • I I I I I » , I I I I i 1 I I I I b c d e f I ADVICE NODES 1 2 3 4 5 6 mmmwmmm^mm w mm mmmm 1 6 6 0 0 0 0 0 15 828 6 65 18 100 71 568 14 828 6 65 18 100 71 568 13 696 6 105 33 113 71 568 12 93 1 18 7 67 0 0 NODES a 2651 Up to this point both the program and the master played optimally. This is the first mlstaKe In this game which considerably shortens the resistance of the wealcer side. Correct was K f6t. 9. R h6t, K eS (0.90 sec, 464 nodes) Play was stopped nere as the white's win is clear byi 10. K d7, N a7 11. H a6, N bS 12. R as etc. Example 2i In the following game against another chess naster the program again defended a lost position. This time, after a master's mistake the program saved the game. e I ♦ 7 I + 6 I ♦ 5 t 4 I 3 I ♦ 2 I t 1 I I I I I 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 • 1 1 1 1 1 1 1 1 1 1 r 1 1 1 I I I t I ♦ I +• I + I ♦ I is; abcdefgh 1. R h4t, N f6Tl (2.32 see) WHITE ADVICE NODES 1 2 3 4 5 6 mmmmm - - - mmmm» 1 39 9 6 24 0 0 0- 15 980 1 17 13 186 91 673 NODES 1019 The move N f6 was good, but not optlaal. Best was N eS. 2. K d2 , 3. R d4? K b2 (1.00 sec, 417 nodes) After this uistaKe the position is theoretically drawn. Correct was K d3. 3. • 4 > • • K b3 (1.06 sec. 434 nodes) 4. K d3 # N e8 (0.74 sec. 287 node^) 5. R d7 t K b4 (0.88 •ec. 388 nodes) 6. K d4 > K b5 (1.02 448 nodes) 7. R e7 N d6 (1.66 ■ ec. 717 nodes) 8. K dS H 08 (0.64 ■ ec. 241 node^) At this point draw was agreed. Position is . obviously drawn. BLACK Example 3i + 8 I ♦ 7 I t 6 I ♦ 5 I ♦ 4 I ♦ 3 I ♦ 2 I t 1 I 1 I • 1 1 I I 1 1 I I 1 1 1 1 1 rgi i 1 j 1 1 II 1 1 1 III 1 1 1 1 1 1 1 1 1 1 1 .1 1 1 1 1 i I I { c d BLACK Example S» 6 1 iff I I I I I l i ♦------ 7 1 I I ißl II I I 6 1 I I I I I I 1 I ♦—t—t—t—*—t—t 5 1 I I III I I t t—t— 4 1 I I I III 3 11 i I I I III 2 1 I I I I I I I I II III I I I I I t—t—t— a b c d a t 9 h BLACK Program playsi K h4 (3.60 sec) Tne program plays the only drawing novel ADVICE NODES 1 2 3 4 5 6 K Ct. (2 ,24 sec) 1 11 11 0 0 0 0 0 ADVICE NODES t 2 3 A 5 6 15 196 11 20 15 38 16 96 --------- ------- . ----- ------- ---- —_— 14 349 il 42 28 84 21 163 1 10 10 0 0 0 0 0 13 956 5 62 36 201 48 604 15 B97 5 32 18 152 SB 632 NODES s 1512 NODES » 907 The move played by the program K h4 Is the only, study-liKe drawing move. Ine natural ;iiiove K g4 would lose atter R c6, N dB, R e6. Example 4s ♦ e I ♦ 7 I + 6 I 5 I t 4 I t 3 Ì + 2 I t 1 I , + gxaro£le_6j 8 I I I 1 1 1 I I 1 1 1 7 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 6 1 1 1 1 ' 1 1 1 1 1 1 1 1 1 5 1 1 laj 1 1 1 1 1 1 ' 'S I I 1 1 1 4 1 1 1 H Ipl 1 1 1 1 1 l^'l ll^l 1 1 1 3 1 1 l ì 1 1 1 —♦ 1 1 1 I I 1 1 1= 2 1 1 1 1 1 1 » 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 a D C d e t « h BLACK Program plays: K b7 ADVlCe NUDt:S (2.0t> sec) 1 15 NODES 13 706 719 1 2 3 4 5 6 11 4 2 37 0 29 0 142 0 49 0 445 BLACK the prograa tlnas the pretty and only correct! K b6 (0.86 see) ADVICE NODES 1 2 3 4 5 6 1 15 NODES 13 271 2B4 11 3 2 19 0 27 0 34 0 0 26 162 The move K b7 Is again surprizing, but only correct. The Intuitive move K b6 loses after R d4 forcing the Knight tar from its own king. S. CONCLUSION The ImpleiiientaClon of AL2, presented In tnis paper« Is by about two orders of magnitude faster than the previous Implementation of ALI. AbZ is also currently the only impienientatlon of Advice Languages whose legal move generator Is complete, others are limited to certain subgames only. al2 as a language Is very similar to ali« it only Introduces small but useful improvements. The major improvement over ali thus lies in al2's efficiency. On the other hand, al3 ib> compered to ali and al2« as a nonprocedural programming language, much more flexible and general. However, its present inefficiency maKes it a rather Impractical tool for solving realistic problems. One attractive possibility is to combine the al3's linguistic power and al2's efficiency. Thus the high level reasoning would be done in the domain of al3. The result of this would be 'plans', or pieces-of-advice, which would be passed to al2 for concrete checicing by search. REFEREMCES 1. BratKo, I. (l9B2a) Knowledge-based problemsolving in al3. Machine intelligence 10 (eds. O.Nichie, J.H.Paoj Ellis Norwood and Wiley. 2. BratKo, I. (1982b) Advice and planning in Chess endgames. NATO Symposium on Artificial and Huoan Intelligence, Lyon, Oct. 19U1. To appear in Artificial and Human Thlnicing (eds. a.Ellthorn, R.Banerjl, in preparation). 3. BratKo, I., Michie, 0. (1980a) A representation for pattern-Knowledge In chess end-games. Advances in Computer Chess 2 (ed. M.R.B.ClarKe) Edinburgh University Press. 4. BratKo, I., Michie, 0. (1980b) An advice program for a complex chess programming tasK. The Computer Journal, Vol. 23, pp. 353-359. 5. Kopec, 0., Niblett, T. (1980) How difficult is the play in the KNKR ending? Advances in Computer Chess 2 (ed. M.R.B.ClarKe) Edinburgh University Press, 6. Nilsson, N.J. (1960) Principles of Artificial intelligence, Tioga Publishing Co. 7. Nozetic, I. (1980) User's aanual for the AL2 systeo. An AL2 strategy for King and pawn vs. King. Research Memorandum HlP-R-130, Machine Intelligence Research Unit, University of Edinburgh. 8. Waterman, D.A., Hayes-Roth, F. (1978) Pattern-directed Inference Systems. New YorKt Academic Press. TEHNOLOGIJA ELEKTRONSKIH RAČUNARSKIH SISTEMA UDK: 681.3.02 MARIJAN M. MILETie DO ISKRA - DELTA ELECTRONIC COMPUTERS TECHNOLOGY This article briefly describes seven levels of computer techuologlea from manufacturers point of view. These are: semiconductors, tnodules, peripherals, systems hardware Integration, ba-sic software,' applications software and services. Manufacturing process in DELTA is presented. Članak opisuje tehnološke nivoje računura opSte namene sa aspekta proizvođača. To su: poluprovodnicl, moduli, periferne jedinice, integracije sistema, osnovna programtika oprema, aplikacioni programi i servisi. Prikazan je proizvodni proces u RO DELTA. 1. UVOD U ovom članku dafemo kratak prikaz osnovnih tehnologija elektronskih raf^unarskih sistema opšte namene sa aspekta proizvođača računara. Nastojačemo da koliko je moguče izostavimo numeričke podatke'l različito dijagrame. Na slici 1. je dat prikaz poteka proizvodnje računara u RO DELTA. Pojava jeftinih mikroprocesora daje snažan impuls reSavanju apllkaciono usmerenlh računarskih sistema. Proizvođači Integrisanlh kola su preuzeli i deo pripreme osnovne programske opreme te značajno olakäall široko uvođenje ovih najkompleksnijlh poluprovodničklh komponenti. Veliki broj programskih timova i samostalnih kuča lansira programske pakete opSte namene 1 osvaja mlkrora-čunarlma sve veči deo kolača namenjenog sistemima opSte namene. To je rezultiralo u konačnom "Priznanju" mikro-računara kao nove klase računara od strane IBM-a, DEC-a 1 ostalih. Značajno je joä uočiti sve tesnlju Integraciju računara 1 telekomunikacija, kako u digitalizaciji komunikacija tako 1 u kompleksnim mrežama računara sa raznovrsnim bazama podataka. I pored ova dva značajna trenda u kompjuterskoj tehnici, principi proizvodnje računarskih sistema se nisu bltnije menjali skoro dvadeset godina i ne očekuje se drastičnija promena ni u sledečih deset. 2. TEHNOLOgKI NIVOJI Sa aspekta proizvođača elektronskih računara moguče je izlučiti pojedine faze pri kompletnoj proizvod- nji sistema. To su sledeči specifični tehnološki nivoi: 1. poluprovodnici, 2. moduli, 3. periferne jedinice, 4. integracija mašinske opreme, 5. osnovna programska oprema, 6. aplikativna programska oprema, 7. servisi. Ovih sedam vertikalnih nivoa čine zaokruženu celimi u proizvodnom ciklusu, mada se pojedini proizvođači specijalizuju samo za pojedine horizontalne nivoje. Ove nivoje treba posmatratl dinamički sa migracijom na niže, Tipični primeri su VLSI kola koja preuzimaju ranije funkcije više modula, implementacija operativnog sistema 1 prevodioca u BOM-u, koriščenje daljinske diagnostike u servisiranju itd. Karakteristična Je velika primena računara u eumoj proizvodnji računara. 3, POLUPROVODNIČKA TEHNOLOGIJA Performanse poluprovodničklh elemenata u j)ajvečoj meri određuju 1 performanse kompletnih elektronskih računara . Danas svi veči.proizvođači računara poseduju sop-stvene kapaciteta za razvoj 1 proizvodnju integrisanih kola. Interesantno je, da su mogučnostl nekih od njih (IBM, FUJITSU) bolje od mogučnostl primarnih proizvođača komponenti (TI, INTEL). Osnovna svrha sopstvene poluprovodničko tehnologije proizvođača računara nije se bitno promenila od IBM-ovog poteza 60-ih godina pri uvođenju Serije 360. Na silikonskoj ploSici lakSs Je sakriti specifiSna organizaciona reSenJa kompleksnih arhitektura 61me se postiže ve6a vremenska distanca od "kopiraJuBih" konkurenata. Dominante poluprovođniSke tehnologije visokog nivoa integracije su nizovi logiSkih vrata u bipolamoj tehnici za logiSke funkcije 1 NMOS za memorijska kola. Trendovi ou ka koriBSenJu galljum - arsanida za veSe brzine i submikronsklh rezolucija za veSe guatine. ■ Kao Jednu od visoko zahtevnih tehnologija, karakto-rlSe Je brz razvoj 1 velika kapitalna ulaganja. Izražena Je vodeSa uloga Amerike i Japana sa grSe-vitlm nastojanjima zapadne Evrope da održi korak pomoSu infuzija državnog kapitala. 4. TEHNOLOGIJA MODULA , Modul baziran na Štampanim kolima Je osnovni oblik integracije razllBitih elektronskih i elektrlEnlh elementa sa odgovaraJu51m priklJuScima za međusobna povezivanja Kao i kod polupi-ovođnlka, uoSlJlv Je trend ka primeni veSih štampanih ploSa sa velikom gustinom komponenti radi smanjenja manje pouzdanih, eksternih konta-kata i veza. Dvoslojna Stampa sa metallzlranlm rupama Je minimalni zahtev, a sve vlSe se koristi Setvoroslojna sa velikim, unutraSnJlm l^ovrSinama srednja dva sloja namenjena napajanju. Skupa sa poluprovodnlSkom 1 magnetskom tehnologijom, tehnOloSki postupci u proizvodnji Štampanih pločica su veoma "prljavi" zbog korlSčenJa Jako otrovnih kemikalija. Radi smanjenja proizvodnih troSkova teži se ka što višem Btepenu automatizacije u projektovanju, testiranju i ulaganju komponenata. Deo ljudskog rada na modulima je veBl nego kod poluprovodnlka Sto se odražava u sporijem padu cena. 5. TEHNOLOGIJA PERIFERNIH JEDINICA Ovđe možemo diferencirati đve dodatne tehnologije: magnetnu i finu mehaniku. Magnetna tehnologija je neophodna za izradu flka-v-iih disk jedinica koju su glavna ekstèrna memorija raSu-nara. Nedefinlsana je sudbina memorija sa mehurovlma, dok feritne memorije sve viSe gube tržiSte. Kod magnetnih traka se oSekuje znatno veSe gusti-lis pakovanja informacija Jer su mehaniSki limiti brzina ,veS dostignuti. Time če se magnetna traka 1 dalje održati kao najjeftiniji medij za arhiviranje i razmenu podataka. Tehnologija fine mehanike je sve znafiajnija u eri minijaturizacije, a odlufiujuSa kod StampaSa. Ekranski terrainall su najsllfiniji proizvodima Široke potroSnje (televizorima) sa klasičnim zahtevima po plastici 1 vakumskoj tehnici katodnih cevi. Karakteristična Je sve Sira prlmena mikroprocesora u kontrolnoj elektronici perifernih Jedinica. Apetiti korisnika su u stalnom porastu, posebno za diskovima, te Je proizvodnja perifernih jedinica značajan Izvor prihoda proizvođača računara. Pored klasičnih kompjuterskih perifernih Jedinica, ne treba zaboraviti Široki spektar komunikacionih Jedinica 1 industrijske periferije, no ovi su najčaiče na nivoju modula. 6. INTEGRACIJA MASINSKE OPREME Tehnologija ovog nivo* ■■•tojl u nizu procedura u elektrlBno, elektroniko I progrwnzKo ttitlranj« raBunarakog sistema. Integracija maBlnske opreme Je prva faca u kojoj se pojavljuju fizlEke konture buduBeg raBunarskog sistema. Ova faza Je neophodna zbog kompleksnosti sastavnih podaklopova maSlnske opreme: centralnog procesora, glavne memorije^kontrolnih 1 perifernih Jedlnica^ta niza razllBitih kombinacija istih u finalnom sistemu. Svaki od ovih podsklopova mogiiBe Je vellkosarlj-skl proizvoditi u nekoliko standardnih verzija. Ovde su najizraženiji problemi mehanlBkih reié-nja podsklopova, napajanja, hlađenja 1 povezivanja. Da bi se obezbedlla pouzdanost celog sistema vrSl se integracija najosnovnije konfiguracije za svakog po-JedinaBnog korisnika sa obimnim testiranjima radi otklanjanja eventualnih međusobnih smetnji u skupnom radu. Kako ova faza stvara dodatne troSkove u proizvodnji, kod manjih računarskih sistema rizikuje se "integracija pri otpremi", te se ceo sistem prvi put "oživljava" u instalaciji kod korisnika. Kod mlkroraSunarskih sistema ostavljena Je moguč-nost samom korisniku da IzvrSi integraciju najrazllčnl-Je maSlnske opreme. 7. OSNOVNA PROGRAMSKA OPREMA Optimalan rad maSlnske opreme kontrolisan je operativnim sistemom. Proizvođači računara često nude više operativnih sistema koji su prilagođeni različitim režimima koriščenja raBunara. Operativni sistem doživljava česte promene pre svega zbog novih komponenata maSlnske opreme, no uvek se nastoji da se održi kompatibilnost na nivoju korisničkih programa u maSlnskom jeziku. U osnovnu programsku opremu JoS spadaju prevodioci različitih računarskih jezika, programi za rad sa bazama podataka, programi za računarsko komunikacije i niz pomočnlh, često koriSčenih programa. Dosta se očekuje od noylh jezika za strukturalno programiranje (ADA),te relacionlh baza podataka. Svi proizvođači računara se trude da ponude Sto Siri spektar osnovne programske opreme radi veče unifikacije obrade podataka na jednoj familiji računara. 8. APLIKACIONA PROGRAMSKA OPREMA Aplikaclonu programsku opremu vefiinom razvija korisnik sam, dok proizvođači naJčeSče nude programske pakete prethodno razvijene kod nekog korisnika ili za interne potrebe. Sve večom prlmenom računara u najrazllčitljim oblastima, prevazidena Je podela aplikacija samo na poslovna 1 tehničke, pojavom značajnih programskih segmenata u proizvodnji, transportu, obrazovanju, obradi tekstova, automatizaciji kancelarijskog poslovanja i komunikacijama u Birem smislu. Kod apllkacionih programa je veona Izražen nizak stepen unifikacije i standardizacije sa več posloviSno niskom produktlvnoB8u programera. Sto rezultira u porastu cena programske opreme 1 anullranju pada cena ma-Sinske opreme. Upravo na podruSJu aplikaclone programske opreme neophodan Je tehnoloSki proboj, da bi se omoguSlla naj-masovnija prImena mikroprocesora. Pomo8 kod uvođenja sistema ide paralelno sa prodajnim aktivnostima i ogleda se planiranju računarskih resursa, prostornim, klimatskim 1 energetskim zahtevima raSunara 1 instalaciji raSunara. Korisniku se naJSeSSé nude kompleksne InSenJerirB usluge koje obuhvataju i znaiajan deo programski pomoči. 10, zakuuCak 9, SERVISI Računarski sistemi zbog svoje kompleksnosti zah-tevaju dosta servisnih usluga od strane proizvođača.. To su pre svega održavanje maSinske opreme, programi Školovanja, te pomoč kod uvođenja sistema. Ovde ' možemo svrstati i prodajne aktivnosti koje traže jedan . viSi nivo znanja komercijalista. Održavanje maSinske opreme'se pospeSuje ugrađiva-: J njem dijagnostičkih funkcija Jo5 u fazi projektovanja si , sistema, daljinskom dija^iostikom kvarova te poboljšanjima operativnog sistema za rad sa dellmično Ispravnom maSinskom opremom. Servisna.organizacija obično uključuje i obimnu logistiku rezervnih delova, programskih produkata i pot-troSnog materijala. Školovanje treba da zadovolji internevpotrebe po permanentnom obrazovanju, te mnogostruke zahteve korisnika. , v" Dinamička industrija elektronskih računara ima Jedno od glavnih mesta u buduSem, ihformaclonom druStvu Petu generaciju elektronskih računara 90-lh godina baziranu ria principima veStaCke inteligencije biće moguče reallzovati tehnoloSkim napredkom na svih sedam nivoa u cilju permanentnog poboljSanja odnosa cena I performansi sistema. Ovaj sažet prikaz tehnologija elektronskih računara dat Je sa željom da omogučl potencijalnim,, jugoslovanskim "proizvođačima" računara da sagledaju svoje odgovarajuče mesto u jednoj specifičnoj industriji, koja kod nas preživljava bezbroj porođajnih muka. Literatura:, e.G. Bell et al. COMPUTER ENGINEERING, Digital Press 1978 ELEKlRa KOMPONE(. 3 4> S S o J-jp- Is ll ll it 1 51 p 0 li 33 g'5 ä.. g Bd hi — § s .C n G —1 ss ■a s & ji H V. ^ ___^ Fig.5 Macro nowchart of the MCPDRS package The geometry of the workpiece ia decoded from the compact data base format and displayed In any desired view. Conventionally, the desired views are the plan, elevation, side elevation, and isometric views. Thus, by displaying the above-mentioned four views a quick and accurate graphical visualisation of geometrical errors or illegal cutter path movements can be detected and corrected. The blank size and geometrical parameters are input while tools and the mac^iining parameters are selected from tooling and machining data libraries. The' libraries contain the commonly used tools (cutters)."materials and their corresponding machining speeds and feeds. From this information the blank, rou^cut and finecut offsets are displayed. Fig. 6. The spindle speeds and the feed rates are computed using the following formulae: Spindle speed = cutting speed of the milling cutter (cutter's diameter) Feed rate = Number of teeth in the cutter : X recommended feed per tinii1yKlä Is to shou the range of possible performance levels corresponding to various language processors. The paper pn-simi» two simple formulas for computing (1) the memory requirements and (2) the compilation time of a source prop.ram written In a high-level language. Various examples verifying these formulas are also presented. A part of tlie paper Is devoted to a statistical analysis of the memory consumption per source Instruction, Finally, various, compilers are corapN, 62 SWAP. IF A(J) l and t denotai, the average compilation time tor the first executable instruction in the jprogram, while each additional instruction has an Increased compilation time. ' The above analysis shows that the average compilation time can be computed using the following compilation time formula! Tc ■ '^o « a » 1 In commercial literature the performance of a compiler is frequently expressed using a unique indicator called "the number of translated source statements per minute".; This seems to be an Incorrect Indicator since It la meaningful only if t =0 and a"l. However, the measurements of compiler performance show that regularly t^ > 0 and very frequently a>l. Two examples of the compilation of FORTRAN programs are presented In Fig. 6. These are typical examples of the nonlinear compilation process. The compilation process of ALGOL programs reported in [ DUJ73 J also showed the nonlinear characteristic. The compilation time formula for the IBM 1130 ALGOL is it T = 18.7 + 0.11 N seconds, ca a This formula is to be compared with the compilation time formula of the IBM 1130 FORTRAN compiler: 1.61 T^j = 4.8 + 0.01 Nj seconds. For example, if N =N,=100 then the corresponding average compilation times^are T (100)=62.5 seconds and T ,(100)= =21.A seconds. . The examples shown in Fig. 7 illustrate a linear compilation process. Tlie Burroughs 1714 COBOL compiler was analyzed using two Independent and different program samples. The first sample consists of 32 small programs (N^ i 42) used as programming exercises. The second sample consists of 41 medium commercial programs (N ^498) developed and used by professional programmers. Figure 6 shows separately the results for small programs, the results for medium programs, and the results for the merged sample containing both small and medium programs. It is important to emphasize the consistency of results both for the memory consumption (10.2 im^i 10.7) and for , the compilation time (l$t.^l.5). The parameter m. has an excellent value which can be explained by an extremely efficient organization of machine Instruction coding (see LwIL72 3). However, the range of the parameter t U72 $ t^ 278 sec) represents a surprisingly poor ° result. COMPILATION TIME FORMUIA ' The compilation process Includes two basic steps: (1) fetch and initialization of a selected compiler, and (2) the translation of the source program. The first step needs (approximately) a constant time and,represents the fixed part of the compilation time. The time necessary for the second step is a function of the number of executable source instructions (N), and consequently it represents a variable part of the compilation time. Generally, the translation of the source program can be a nonlinear process, i.e. the variable part of the compilation time can be a nonlinear function of the number of source instructions. Let T (N ) and T (N.) denote the compilation times of two relaSed programs containing respectively N and N^ executable source instructions. Suppose that these programs can be merged yielding the compound compilation time T (N +N,). The nonllnearity of the compilation process can be expressed by the following inequality: T^{Nj+N,) + T^(N2) . This inequality can be explained by the extra time needed for searching various tables.genèrated by the compiler (the tables which correspond to the compound program are greater than the equivalent tables of the constituent programs). Therefore, the variable part of the compilation time can be expressed using the. simple power, func- AN ANALYSIS OF THE AVERAGE NUMBER OF BYTES PER SOURCE INSTRUCTION In cases where a compiler can generate an assembly language listing of the translated source program it is possible to analyze various details of the compilation process. In particulai;, it is.easy to count both the number of bytes and the number of machine instructions per source instruction. Such an analysis yields the corresponding frequency distributions which enable a detailed analysis of the parameter m,. Examples of these analises are presented In Figures 8,9,10, and 11. Figures 8 and 9 illustrate a comparison of FORTRAN and Pascal compilers. The analyzed Pascal compiler generates more machine Instructions and needs more memory space for a source Instruction than the FORTRAN compiler. However, the machine instructions generated by the Pascal compiler are shorter than those generated by the FORTRAN compiler. A comparison of the Honeywell System 6 FORTRAN and COBOL compilers (for equivalent sample programs)'is shown in Fig. 10. The COBOL compiler needs more memory space and generates more machine instructions than the FORTRAN compiler, but the machine instructions generated by COBOL are shorter than those generated by FORTRAN. The obtained parameter m 'S 22 bytes for the Honeywell System 6 COBOL A is substantially greater than the minimum value m^ S 10 bytes which corresponds to the 50 525f M BURROUGHS 1714 COBOL, 32 StlALL PROGRAMS 234+T. SOURCE INSTRUCTIONS "e H-1-1-1-1-1-1—ttJ BURROUGHS 1714 a COBOL, 32 SMALL PROGRAMS V «C ^ SOURCE INSTRUCTIONS Nc _l-(-1-(-(-1-1-1-(. 42 958 T BURROUGHS 1714 cc COBOL, 41 PROGRAMS 1.2 N, + 278 cc C SOURCE INSTRUCTIONS H-h ■4-1-1-1-1-H 7610 + M^ BURROUGHS 1714 COBOL, 73 PROGRAMS 958 T^j. BURROUGHS 1714 COBOL. 73 PROGRAMS H-1- SOURCE ^INSTIjUCTiyNS ■f > Figure 7. Memory consumption and compilation time for two samples of COBOL programs number of source instructions » average * of bytes PER src. in. standard deviation » is.18 149 21.69 0 0 2 6 19 26 14 7 7 17 7 0 4 6 3 4 4 6 A 0 1 2 0 2 0 0 0 10 20 0 ----+---- 2 1 4 1 6 I»# 8 i»««««« 10 I«*»««*«*»«*«««««««« 12 I«»»**««*«»«»«»«*««««««««»« 14 I************** 16 I******* 16 I******* 20 I*»:*****$*il!*#**$$* 22 I***»«*» 24 i 26 X**** 28 1**$*** 30 i»«» 32 i*««* 34 I**** 36 I**m** 38 I**** 40 I 42 I* 44 I«* 46 I 48 I»» . 50 I 52 I 54 J BYTES 30 —+ aiteraoe * of machine in. per src. in.» 5.77 standard deviation" 4.56 average » of bytes per machine in." 3,79 0 31 31 17 22 3 6 9 6 . s. 6 0 4 1 0 10 20 30 40 ----^----+--------+----+----+.----+-—.-+ II I«««»««»»«««««*««««*»*«»«««««»«* I«»«»*«»«««««««««« i*«* It***** e i»**««»*»» 9 i**#*«# 10 i**#*« I*»»»«» 1 13 i»»»« ,■ 14 i# 2 3 4 5 6 7 11 12 1 56 i» 0 ez i 1 15 i« 2 50 i»« 1 s4 i« 0 16 i 0 60 i 0 86 i 2 17 i»# 1 62 i» 0 88 i 1 18 i» 1 64 i« 0 90 i 0 19 i 1 66 i* 0 92 i 2 20 X** 0 68 i 0 94 i 0 21 T 0 70 i 0 96 i 0 22 X 0 72 i 0 98 i 0 23 X 0 74 i 0 100 i 0 24 X 0 76 i 0 102 i 0 25 i 0 78 i 1 104 i« 2 26 i«« 0 80 i 26 l## machine instructions Figure 8. An analysis of the parameter nij for PDP 11/3^1 and FORTRAN IV V02.04 NUMBER OF SOURCE INSTRUCTIONS = 515 AVERAGE ♦ CIF BYTES PER SRC. IN.= 23.65 STANDARD DEVIATION = 20.51 0 ----+--------+----+--------+-----+ !#*■* I**************************************** I«««««««**«««*« l**********i( 1*********************** AVERAGE * OF MACHINE IN. PER SRC. IN.= 6.013 STANDARD DEVIATION= 6.43 AVERAGE ♦ OF BYTES PER MACHINE IN.= 3.44 5 2 75 4 27 6 20 8 43 10 37 12 25 14 31 16 8 18 42 20 4 22 5 24 8 26 17 28 4 30 23 32 15 34 e 36 2 38 15 40 4 42 5 44 58 46 2 48 4 50 2 52 2 54 3 56 0 58 1 60 0 62 1 64 0 66 0 68 0 70 1 72 i» 1***************** 1 74 i« i**** 3 76 i** X ********************** 1 78 i« X** 2 80 i« X*** 1 82 i« X**** 1 84 i* 2 86 i« X** 0 88 i X************ 1 90 X* I******** 0 92 i I**** 0 94 i X* 0 96 i UK******* 0 98 i X** 0 100 i X*** for 0 102 i x***********************t******* 0 104 i X* 1 106 i« X** 0 108 i X* 0 110 i X* 0 112 i I** 0 114 i X 0 116 i X* 0 118 i X 2 120 i» i* , 0 122 i i 0 124 i \ bytes 2 126 i» i 1 128 i# 104 38 53 61 36 17 14 20 10 35 19 6 52 15 6 5 0 3 1 1 0 2 0 3 5 0 3 i 0 0 0 0 0 0 0 0 1 1**************************************** 2 I*************** 3 I******************** 4 X*********************** 5 X************** 6 X******* 7 I*»«** 8 X******** 9 X**** 10 X************* 11 I****«»* 12 I** 13 1******************** FOR 14 X****** 15 i*# 16 i»* 17 i 18 i* 19 20 21 22 X* 23 1 24 I* 25 X** 26 i 27 i* 0 36 i 0 37 i 0 38 i 0 39 i 4 40 X** 0 41 X 1 42 i 28 29 30 31 32 33 34 35 machine instrücti0ns Figure 9. An analysis of Che parameter nij for PDF 11/34 and OHSI Pascal VI.2 fi NUMBER OF SOURCE INSTRUCTIONS = 137, rtVERrtGE ♦ OF BYTES PER SRC. IN.= . 17.72 STANDARD DEVIATION = . 22.31 AVERAGE « OF MACHINE IN. PER SRC. IN,= 3.54 STANDARD ĐEVIATION= 4.22 AVERAGE # OF BYTES PER MACHINE IN.= 5.01 1 43 10 12 11 13 7 3 2 3 5 1 1 0 2 4 6 5 10 12 14 16 13 20 22 24 26 28 0 -+----+- I« I«««»««««»«»«««««««»««»«»»*«««)»)««««««*««« I********** I************ I*»****» 0 30 Ì3 32 1 34 2 36 0 38 0 40 I*** I#« T*.** I«**«« I» I* I I I««««« I>|! liC* I I 2 0 0 2 2 2 ■■ 0 2 0 0 0 0 42 , ii|t# 44 46- 48 I«« 50 I»» 52.I#» .54 L 56.I»» 58 60 62 64 0 0 0 0 0 0 0 0 Ó 0 4 0 0 1 0 66 I 68 I 70 I 72 I 74 I 76 78 80 82 84 96 I 98 I 100 I 1Ö2 I I 86 I*##» 88 90 92 I* 94 I Ö 0 0 0 0 104 , 0 106 t 108 I« 0 110 I ■112 I 114 I 116 i 118 I 120 I 122 I 124: I* 44 33 18 15 8 10 0 0 0 0 0 0 2 0 0 0 2 2 2 0 I««»««««««*«««*«« I«««««»«»««««!)!« 3 4 5 . 6 7 8 9 10 11 12. I»««««»« T********* - I I I I I I 13 I*« 14 I 15 I ■ 16 I 17 I#» 18 I** 19 I»* 20 J 0 ;0 0 0 0 0 1 21 22 23 24 25 26 27 I I I I I I I* BYTES MACHINE IHSTRUCTIONS Honeywell .System".6 , FORTRAN 3,0 NUMBER OF SOURCE INSTRUCTIONS = . 146. ' AVERAGE ♦ OF BYTES PER SRC. IN.= 2i;.-99 STANDARD DEVIATION = , ,16.67 AVERAGE ♦ OF MACHINE IN. PER SRC. IN,:= 6.73 STANDARD DEVIATION^ 5.04 AVERAGE * OF BYTES PER MACHINE IN.= 3.27 0 10 __ X __ 20 1___ 30 0 2 - —. ——^—.J.. I I — 0 4 I 8 6 I«««««««« 1 8 1« 18 10 I««««««««*»««««««««: ;. 21 12 I«*«#«*«#««««*##«»##«* 26 14 1«*««««««««««««««»««««««««« 10 16 I«««««««««« Q 18 I«*«««**« 7 20 I««««««« 1 48 , i« 5 22 I««*«« 4; 50 .1«««« 2 76 I«« 3 24 I*** 0 "52 i 0 78 1 5 26 I««««« 1 54 I« . 0 80 I 4 28 I»«#» 0 56' I 0 82 I 4 30 I«»«« 0 58 I 0 84 I 0 32 I 1 60 I« 0 86 I 1 34 I* 2 62 I** ' 0 88 I 1 36 1« 1 64 I« 0 90 I , 3 38 I««» 0 66 I 0 92- I 4 40 I«««« 0 68' I 0 94 I 2 42 I«« 2 70 I«« ■ 0 96 i; 0 44 I 0 72 I 0 98 I 0 46 I 0 74 I 1 100 I» BYTES 30 0 10 20 ---+----+----+----^---- 0 1.1 9 2 I********* 31 3 I«««*«»«»««*»»«»««»«»«**»*«««*»« 17. : 4'..I»»»**«*#*#**»*»»* 30 ■ 5 I»»#»*»#****»»**»»#D(###«*#»»#*» 12 6 1«*«««»«««*»« 10 ■■7.1«»««*«««*« 3 8 I««« 7 9 I«*««««« 40 6 Ì0 1«««««« 2 u I«« 0 12 I 0 13 I 0 14 I 4 15 I«««« 0 24 I 3 16 J*** 0 25 I 5 17 I««««« 0 26 I ,2 18 I«« 0 27 I 1 19 I« Ó 28 I 1 .20 I« 0 29 I 1 21 I« 0 30 I 1 . 22 I« . 0 31 I 0 23 I 1 32 I« MACHINE INSTRUCTIONS Honeywell System 6 , COBOL A Figure ID. A comparative analysis o{ the parameter nij for Honeywell System 6 FORTRAN 3.0 and COBOL A Burroughs 1714 COBOL. However, the consumption of memory per source instruction, can vary depending on the complexity of program. As opposed to rather complex programs : used for generating the Histograms presented in Fig. 10, Figure 11 shows the histogram for a typical simple commercial program. Now m - .15 bytes and the histogram enables the identification of lines which correspond to various Individual source Instructions. the parameters m^ and ^,do not depend exclusively on compiler performance. Tney can be substantially affected by the processor architecture including the available ■ machine instruction set, addressing modes, and' processor registers. However, if li^, and m^ are determined using . the same hardware but different compilers, then the resulting performance levels can be considered a direct consequence of the properties of the analyzed compilers. A COMPARATIVE ANALYSIS OF FORTRAN, PASCAL AND PL/l COMPILERS BASI» ON l'UE RON TIME RESOURCE CONSUMPTION OF A BENCHMARK PROGRAM The comparative analyses of compiler performance that appear in the literature are usually restricted to the comparison of various compilers for a given language (e.g. see tWOR761 for PL/1 and [WICVSQfor ALGOL). However,the computer users are generally Interested in NUMBER OF SOURCE INSTRUCTIONS » 354 AVERAGE » OF BYTES PER SRC. IN.= 14.90 STANDARD DEVIATION = 7.23 TABLE 1. A SURVEY OF FORTRAN, Pascal AND PL/1 COMPILERS USED ON AMDAHL 470-V6 (August 1980) ABSOLUTE FREQUENCY 0 2 I . 52 4 GO TO 1 6 1 0 8 I MOVE , ADD 87 10 0 12 I- 55 14 8 16 I«»*# . 32 18 I«««!):««««**»««»« 60 20 PERFORM 16 22 I»*«*»** 10 24 0 26 I 12 20 !#»*#♦» 3 30 I» 0 32 I 10 34 I**#«# BYTES PER SOURCE INSTRUCTION NUMBER OF SOURCE INSTRUCTIONS = 354 AVERAGE »OF MACHINE IN. PER SRC. IN.= 4.23 STANIiARn DEVIATION» 2.10 AVERAGE »OF BYTES PER MACHINE IN.= 3.52 52 ■ 1 67 60 76 33 20 11 4 io Ö ABSOLUTE FREQUENCY 1 GO TO ^ 2 I MOVE . ADD 3 A I**###»*»*##)|!***)|t*»#j([*»#)K)|()|(!)ii|[ IF 5 .I««##*#*«***#»»*»)|I*»*»»#*#»»»!|Cl|(»*»i»# 6 I*»*#»##**»»##«)|t . . PERFORM 7 I*»***«*«* 8 I*##i|t# - J 9 I** . • 10 I!«!«««« MACHINB INSTRUCTIONS PER SOURCE INSTRUCTION Figure II. An example of the m,-analysis for a simple commercial program (Honeywell System 6, COBOL I) 0 1 2 0 . 1 2 Ò 1 2 3 OPTIMIZATIO N , LEVEL Figure 12. Execution time as the function of the level of optimization COMPILER LANGUAGE FORTG FORTRAN FORTH FORTRAN FORTX FORTRAN FORTQ FORTRAN WATFIV FORTRAN WATPAS* Pascal P-8000 Pascal PASCAL VS* Pascal PLC PL/1 PLIF PL/1 PLIX PL/1 PRECISION LEVEL OF OPTIMIZATION iì26àlo.22«ii + + + + . + + + + + , + ■ + - + + + + + + + ■ + + + - + ■ + + + - + + , :+ + + _ _ + - _ ■ -+ _ _ + _ - _ + - - - . + + - * August 1981 TABLE 2. A COMPARISON OF RESOURCE CONSUMPTION FOR COMPILERS USED ON AMDAHL 470-V6 (AuRust 1980) COMPILER OPTIMIZATION TOTAL RELATIVE CONSUMPTIOb FORTQ 3 1.00 FORTQ 2 1.03 FORTH 2 1.3 FORTX 2 1.3 FORTX 1 1.4 FORTQ 1 1.4 FORTH I 1.6 FORTG 0 2.0 ■ FORTH 0 2.1 FORTQ 0 2.1 FORTX 0 2.2 PLIX (no test) I 2.2 , PLIX (no test) 0 2.3 PLIF 0 2.8 PASCAL 8000 0 3.1 PASCAL VS* 1 3.1 PLC 0 8.8 PLIX (all tests) 0 17.1 WATFIV 0 18.4 WATPAS*(all tests);0 162.8 * August 1981 FFlgure 13. The results of the optimization process reducing the cost of computing and this Implies a.comparison of different languages available In a computing center. In this section we present a comparative analysis of eleven compilers for FORTRAN, Pascal, and PL/1 running on the Amdahl A70-V6. 'n\e analysis is aimed at showing how the proper selection of compiler reduces both the computer workload and the cost of computing for the user. A standard matrix-inversion-based benchmark program (see CdUJSO 3 ) was usu' for comparing various FORTRAN, PL/1 and Pascal compilers. The FORTRAN, PL/1 and Pascal versions of the pro^5,ram were equivalent, used the same hardware (Amdahl 470-V6) and the same operating system (MVS), and generated equivalent results. The only difference was in the code generated by the compilers. The analyzed compilers are described In Table 1. Optimization level 0 denotes no optimization. Since three of the available compilers default to double precision, only the results for double precision are presented. Tliese resultls for total resources consumption (according to the accounting routine) are shown In Table 2. From this Table the following conclusions can be derived: (1) It is rather easy to spend 100% more computer resources than necessary for solving a problem. Conversely, by careful selection of the compiler It la frequently possible to halve the workload and the user's cost of computing. (2) For numerical problems, FORTRAN compilers are still substantially more efficient than PL/1 and Pascal compilers (of course, this is not proved generally, but It holds on Amdahl 470-V6, IBM 30XX and similar machines), (3) It lo very Important to know how to use the optimization features of the compilers because this Is the key to reducing workload and costs. (4) The development compilers like PLC, WATFIV and WATPAS must be used with extreme care since they can consume substantial amounts of computer resources (during execution of program). (5) "Tests" in the PLIX compiler are dangerous consumers of computer resources (this also frequently holds for various run-time checking implemented in other compilers). The reduction of computing cost using the optimization procedures caii be substantial, as shown in Figures 12 and 13.(The optimization procedures are described in tsCA80] and t RUS72 3 . ) According to Fig. 13 the optimization pcoceduree Increase the compilation time. However, the compilation time is regularly much shorter than the execution time. Consequently, the reduction of resource consumption Is almost as efficient as the reduction of the execution time shown In Fig. 13. ACKNOWLEDOiENT The author la grateful to Mr. Laslo Kraus for his contributions to this paper. REFERENCES CDUJ733 Dujmovic J.J. and Klem M. A COMPARISON OF FORTRAN AND ALGOL COMPILERS. (In Serbo-Croatian) Informatica 1973. [DUJSOl Dujmovic JJJ. WORKLOAD CHARACTERIZATION, BENCHMARKING, AND THE CONCEPT OF TOTAL RESOURCES CONSUMPTION. Proceedings of the Second International Conference on Computer Capacity Management. San Francisco 1980, ppl51-163. [IBM703 IBMiSystem /360 Scientific Subroutine Package. Version III, Fifth Edition, 1970. Form No. GH20-0205-4. [SCASO] Scarborough, R.G. and H.G. Kolsky. IMPROVED OPTIMIZATION OF FORTRAN OBJECT PROGRAMS. IBM J. Res. Develop. Vol. 24, No.6, Nov. 1980. [WIC73] Wlchmann, B.A. ALGOL 60 COMPILATION AND AS- SESMENT. Academic Press, London 1973. [RUS720 Rustln, R. (Ed.). DESIGN AND OPTIMIZATION OF COMPILERS. Prentice-Hall, 1972. [WIL723 Wilner, W.T. BURROUGHS B1700 MEMORY UTILIZATION. Proc. AFIPS FJCC Vol. 41 , 1972. CWIR76] Wlrth, N. ALGORITHMS+DATA STRUCTURES - PROGRAMS. Prentice-Hall 1976. [WOR76] Wortman, D.B., Khalat, P.J. and D.M. Lasker. SIX PL/1 COMPILERS. Software- Practice and Experience Vol. 6, 411-422 (1976). TRANSPARENTNO MULTIPROCESIRANJE -(MIKRO) RAČUNALNIŠKI SISTEMI JUTRIŠNJEGA DNE DUŠAN PEČEK, BORUT KASTEUC, RUDOLF MURN UDK: 681.3.012 INSTITUT JOŽEF STEFAN. LJUBLJANA Hamen Hanka je aeananiti bvaloa a novim prta topom v arhitekturi mikroprooeaorjev, S pria cot'om, ki. pomeni revolucijo in bo imel v bodoSnoati daljnoaeSne poalediae aa anovanje kataroga koli (mCKroJ računalniškega aiatema. TRAiJSPAHEUT MULTI}'HOCi:sSXlia - (MICRO) COMPUTh'K SySTLUS OF TOMORROV. The purpoae of the artiale ia to acquaint tke reader with a new approach in mioroproaeaaor architecture, t/ith the approauh tnat meana a revolution and that will have far-reaohing conaequenoea for projecting any (niaro) aomput-ar ayatem in future. 1. UVOD Beaeda bo tekla o novi 3a bitni proceooroki družini. Ki ao jo, razvili in iadelali v tvrdki IN'i'EL, Le-ta je a tem poatala neaporni noailea raavoja hodoSih mikroraäunalniäkih druSin, Uovo druSino predatavljajo tri integrirana veaja a oanakami: ÌAVXÌ1201, ÌAPX43202, ÌAPX4Ì203, Veaji ÌAPX 43201 in ÌAPX43202 noaita akupno ime General Data Proceaaor (GÜP), veaje iAPX 43203 pa ae imenuje Interface Proceaaor (IP), Poveaava va^h treh veaij v celoto pa ee imenuje Sia tem 4 32. Namen dlanka ni opiaovati agradbe, funkcij in medaebojnega delovanja teh treh elementov, pa! pa prikaaati moSnoa ti, ki ao dane na oanovi nove arhitekture, Pri vaaki novoati ae vedno vpraiamo aakaj? Odgovor je na dlani: Nova arhitektura aato in tako, da bo biat- veno amanjSala ceno programake opreme. Arhitektura 432 Je programsko usmerjena. Za ilua traaijo pa tudi morda aa povedanje aanima-nja, navedimo nekaj najbolj aploSnih laatnoati; - OmogoSena je gradnja raalidnih aiatemov a raaliSnimi laatnoatmi, ne da bi bilo potrebno apreminjati programsko opremo. Programi piaani aa 43a delujejo na aiatemih a enim, dvema ali ved proceaorji. Vaak aiatem 432 lahko iabolj-Samo taKo, da mu dodamo nov GDP, na da bi bilo potrebno, raaen mehanakega poaega, 3e karkoli apreminjati, Proceano moJ aiatema VAX-PDP Je moHno enoatavno doaedi a paralelnim delovanjem tridesetih GDP-Jev. - V eia temu 4 32 so vse aia temake funkcija s tandardiairane in ker so raaliairane v materialni opremi. Je izvrševanje le-teh iaredno hitro. Tipiöne sistemske funkcije ao npr,: dodeljevanje apomina, raavrBSanje poaameanih opravil (multiprogramiranje), dodeljevanje proatih procesorjev (multiptaceoiranje), -V aia temu 4 32 Je nemogoče aagraSiti naslednje programake napake, ki amo Jih lahko delali do sedaj. program ne mora niK.dar poaeJi v apomCnako področje, ki mu ni dodeljeno ; ne more čitati ia apominakih lokacij, ki ao mu dodeljene samo aa vpiaovanje in obratno; nad poljubno podatkovno strukturo Je moSno narediti aamo tiste operacije, ki ao Ji predpisane (npr.: nemogoče je iavr^eoali podatek kot instrukcijo). i^e na kratko strnemo primerjavo med dosedanjimi uR aia temi in aia temom 4 32, lahko redamo, da Je potrebno funkcije, ki ao t> a.isttfmih 432 reali-airane v materialni opreme enkrat an vedno, v doaedanjin aiatemih realiairati a programuko opremo na nivoju operaci jakih sistemov in prevajalnikov, HaaVika v zanesljivosti delovanja in hitrosti iavajanja funkcij Je milo rečeno, ogromna, članek Je raadeljen v dva dela, V prvem delu oe bomo arečali a novo terminologijo in raalago nekaterih bistvenih pojmov. Drugi del pa govori o reäitvi problema sočasnega iaväjanja programov Kot uvod v transparentno multiprooesira-nje. POJt^M OH ,1L V aiutemu 4 32 sta diifinirana dva tipa pouatkov-nih struktur: - podatkovna atruktura primitiv - podatKOVna atruktura objekt a) liistem 432 pouna oaen vrst primitivov; - CiiHRACi't:ii (8 bitov) tìhùtiì' Iii'l'LOdR ( Itì bitov) - SHORT ORDIiiAL, (16 bitov) - I NT l Gì: H (32 bitov) - ORDI.iAL (32 oitov) - CliURT Ri:Ab (32 bitOV) - ulAL (64 oitov) - r^v/pü/MAT m: A u ( so bitov) Primitivi imajo tri hiatveno ana3ilnoati: - ao podatkovna a truktura, ki na ure jen naSin vaebujejo neko informacijo: - na'd mnoSiao primitivov ,ja definirana mnoSioa operatorjev - primitive naslavljamo kot oeloto. b) Pojem objekt bomo pojaanili a nomodjo poenostavljenega ' prikaaa raavoja mikroproaaaorjev. Prvi prooeaorji ao vsebovali zelo enoatavno materialno opremo aa izvajanje operacij (npr. s MOVE aU'l'E, ADD Iii'i'EüHR, ipd.) in niao bili apo-aohni izvajati operacij aritmetike v plavajoSi vejici. To je bilo potrebno realizirati a pro-gramako opremo. Haavoj tehnologije je pripomogel K materialni realizaciji komplekanejSin operatorjev kot npr.: ADD, MVLTIPL^i, DEVIDE, itd. kar je biatveno olajSalo implementacijo aritmetike v plavajoSi vejici. Pri razvoju aia tema 4 32 pa je bil a torjen Se en bistven korak naprej. Kot amo Se omenili, ao v 422 a materialno opremo realiairane tudi ai-atemake funkcije (operacije), - Implementacija aritmetike v plavajoSi vejici z materialno opremo pomeni, da mora materialna oprema operirati a podatkovnimi atrukturami, ki predatavijajo števila zapiaana u obliki plava-joSe vejice, - Implementacija aia temakih funkoij v materialni opremi pomeni, diX mora materialna oprema operirati a podavkovnimi atrukturami, ki ao operandi naalednjih operacij (funkcij): - dodeljevanje apomina - dodeljevanje procesov - medproceana komuniKacija ie podatkovne strukture (operande) imenujemo objekte (objekt). Slika 2 prikazuje aiatemake opreacije in pripadajoče objekte. - Objekt naslavljamo kot oeloto - ObjeKt ima značko, ki določa njegov tip. V nadaljevanju Slanka bomo objekte grafiSno predatavljali a pomoSjo simbolov. Slika S, ua-radi anoatavnoati vsebuje samo tiate objekte, ki jih potrebujemo za razumevanje aoSaanega izvajanja programov in tranaparentnega mulcipro-ceairanja. fizični procesor objekt komunikaaiJakih vrat podatkovni objekt slika 3. OPERACIJA OBJEK'Ì dodeljevanje procesov objek procesa objekt prooeaorja objekt dodeljevalnih vrat dinamično dodeljevanje objekt izvora spominskega spomina prostora medproceana komunikacija objekt komunikadskih vrat Slika 2. Imena objektov predatavijajo novo terminologijo, ki jo bo nadaljnje spoznavanje in delo a siatemi 4 32 udomaSilo in dopolnilo. Strnimo laatnoati objekta: - Objekt je podatkovna struktura, a katero lahko manipuliramo na toSno doloSen naSin. Tako a pomočjo vgrajene materialne opreme, kot a pomočjo programske opreme. Zn določeno vrsto objekta Je moSen aamo eden od treh načinov manipuliranja: ' - z materialno opremo - z materialno in/ali programa ko opremo - a programako opremo HnoSica puSčic na aliki 3. Je posebnoa t aiate-ma 432. Le-ta pozna aamo objektno orientirano adreairanje, To Je metoda, ki omogoča objektu, da naslovi drug objekt aamo v primeru, če vae-buje kazalec nanj. Med aamim izvajanjem programov ae a tanje kazalcev dinamično spreminja. Slika 3. predstavlja obenem tudi otrukturo kakSnega programa pisanega aa aia tem 432. 3. MEDPROCESitlA KOMUNIKACIJA Na kratko bomo bralca seznanili kako ao v ai-stemih 432 reSeni problemi medprocesne komunikacije pri paralelnem izvajanju procesov. Haj je to proces? Proces je enota programake opreme, ki je lahko dodeljena prooeaorju aa iavrSevanje. Kaj je to program? Program je enota programake opreme, ki izvrSuja neko nalogo. (Program. Je največkrat abirka proceaov), Medproceana komunikacija zahteva vpeljavo novega objekta - objekt komunikacijskih vrat. Komunikacijska vrata predstavljajo vmesnik med dvema asinhronima sočasnima procesoma, preko katerega procesa izmenjuje t" «voročila. kaj. je to aporoSilo? Sporočilo je lahko katerikoli objekt. Sporoči la in operatorji ■Sietem 432 vaebuje dva osnovna operatorja, ki lahko delujeta nad eporodilit SHIID in HHCiilVE. Operator . SEHÜ ima dva operanda: eporoSilo in naslov komunikacijskih vrat. Pred ievrSitvijo operatorja (inatrukoije) SHHD vaebuje prooes aporodilo ki naj bo odpoa lano. Po isvrHtvi ae sporočilo nahaja v objektu komunikaoijakih vrat. Operator RECklVK ima en operandi naalov komuni-kaoijakih vrat^ Po izvrBitvi operatorja RECEIVE se sporočilo prenese v prooas. öe sporočila ni v trenutku, ko je prooes pričel a izvrševanjem operatorja RECEIVE, prooes čaka v komunikaoi Jakih vratih, prooeaor pa preide na izvrševanje kakSnega drugega prooeaa. V sistemu 422 obstajajo tudi izvedenke osnovnih operatorjev kot npr. : COUDITIOUAL SEUl), CONDITIONAL RECEIVE ipd. Pri iavrSevanju operatorjev SEND in RECEIVE seveda ne gre za dejansko kopiranje (prenaSanje) sporočil, pač pa se dinamično pre-naSajo samo kazaloi na oporočila: dinamično ae apreminja mnoiioa kazalcev med objekti. 4é fRAHSPARENTUO HULTIPROCESIRAUJE Arhitektura aiatema ,4S2 je zaanovana tako, da podpira paralelno izvajanje programov na aio temin z enim, dvema ali več procesorji. Izvajanje iatih programov na različnih sistemih z različnim Številom procesorjev ne zahteva spremembe v programski opremi. Ta način imenujemo transparentno multiprooeciranje. Sistem 422 je zaanovan tako, da naloga vodenja multiprooeaor-akih sistemov razpade v tri. dele: - kreiranje razvrSčevalnega pravila: določevanje kriterija v kakšnem vrstnem redu si bodo prooeai delili procesorje, Obstajajo različni načini: EIFO, R0UND-R03IN, PRIORITY, DEADLINE, ■JEIUUTED ROüNü-ROaiU, ipd. -.; razvrščanje glede na razvrSčevalno pravilo: r.azvrSčanje čakajočih proaeaov, ki ao pripra-v:ljeni za izvajanje glede na rasvrSčevalno pravi lo'. - dodeljevanje; dodeljevanje razvrSčenih proaeaov procesorjem v izvrševanje, In kdo opravlja nalogo vodenja multiprooeaor-akih aistemov? Morda nadzorni procesor? Né. Sposobnost vodenja je dana vaem procesorjem v eis temu. Kateri od njih pa v nekem trenutku opravij a funkcijo vodenja, je odvisno od stanja aia tema (razjasnitev te problematike do sledila iz zgleda). Kreiranje razvrSčevalnega pravila Funkcija kreiranja razvrSčevalnega pravila je prepuščena programski opremi -programerju. Zelo pomembno je, pač glede na različne alikaci-je, da je moSno definirati različne razvrSče-valne kriterije. Rezultat kreacije razvrSčevalnega pravila Je posredovan materialni opremi za razvrščanje in dodeljevanje preko raavrSče-valnih parametrov, slika 5. 'prikazuje zgled razvrSčevalnih parametrov. Ko je razvrSčevalno- pravilo določeno, je procea pripravljen za razvrSčanje, ki ga bo opravila materialna oprema. Priče tek operacija razvrščanje Je aproiien z operacijo SEJU v dodeljeval-na vrata. Dodeljavalna vrata ao obJeKt, ki Je canova za- reali zaci jo multiprooeaoraakin aistemov, So prostor, meato ali del spomina, kjer se "srečujejo" procesi in prooeaorji. objekt procesa !-77 dodeljevalni parametri pogostost dodeljevanja trajanje časovne rezine Število pretočenih časovnih rezin do naslednja spremembe dodeljevalnih paranetrov Slika S, Dode Ijevanje Kot smo omenili so dodeljevalna vrata mesto, kjer se "srečujejo" prooeai in procesorji. Procesi čakajo v vrati (glede na rasvrSčevalno pravilo) procesor pa "gre" k razvrSčevalnim vratom, ko je pripravljen izvrJiti nov proces, Je so dodeljevalna vrata prazna, procesor čaka,' da ae pojavi kak procea. Zgled za transparentno multiprooeairanje Na zgledu si bomo ogledali dinamičen potek mul-tiproceairanja. Za primer bomo vzeli program z imanom REPORTER, ki Je aeatavljen iz treh pro-ceaov. Proces SAäü, ki piSe poročila o prometnih nezgodah in prooeaa DRAGU in MARKO, ki tipkata poročila in jih dajeta proceau SAlO v pregled. Na voljo nam bo naslednja struktura: - trije prooeai: SAŠO, DRAGO, MARKO - dva proceaorja: 1 in 2 - ena dodeljevalna vrata - ena komunikacijska vrata Trenutek 1 (slika 10.1.) O 'TiViT^JRXtKtWdMl ggcEr^ Slika 10,1. V trenutku ' 1 ae izvajata dva procesa. SAJO piSe poročilo na procesorju 1, MARKO tipka poročilo na procesorju 2. DRAGO je brez dela, ker ni na voljo nobenega poročila za tipkanje, Zato čaka v komunikacijskih vratih'na aporočiloi. 58 llarko je o tipkanjem končal in pričel izvajati ine.trukoijo HKCcllVB, ki naj mu dodeli oporoHlo iz komunikaoijakih vrat. Trenutek -2 (glika 10.2. J Slika 10,2. MA/iKO-va inatrukaija RHCflVl; je bila aamo delnò izvrSena, ker v komunikaoijakih vratih ni apo-roSila. Zato mora v Sakalno vrato za DRAGO-m v komunikaoijakih vratih. V tem trenutku je seveda prooeaor 2 končal prooea MARKO (MARKO čaka in &e ne. iavrSuje), Prooeaor 2 oe napoti k do-deljevalnim vratom po nov prooea. Trenutek 3 (alika 10, Z.) mika 10.3. Proaeaor 2 je pregledal dodeljevalnä vrata Tri ugotovxl, da ao prazna. Zato va topi vanje in čaka na nov prooea. ì'rooea 1 He vedno izvaja prooea SAJO, " © .r-iir-WlITHSÄL/Sil I lil ii' m ii^^Mi I iii II mu I ci iiiid END^BCWESAf^TmiCEyn slika 10,4, SASO ja končal piaanje poročila 1 in ga s in-atrukoijo SENü noSlje v komunikaoijaka vrata, kjer čakata MARKO in DRAGO, da bi ga natipkala, Prooeaor 2 če vedno raka. Trenutek 5 (alika O JL. fBBJEKT . .. , ■ V 'V^/mimtsmisna nTnramrQffifiiWiirao Slika 10.i. Inatrukaija SKUJ prooeaa SA:10 je iavrSena eamo delno. Sporočilo 1 je dodeljeno prooeau DRAGO, ki je aedaj pripravljen aa izvajanje, i'roaesop 1 ga aedaj dodeli dodeljavalnim vratom, kjer pa najde prooeaor n, ki čaka. frooeaor 1 "ukaSa" prooaaorju 2 naj pridne a izvajanjem proaaaa pRAGO, aam pa ao vrne na izvajanje proaeaa SA~ io. •trenutek 6 (alika 10,6.) Trenutek 4 (olika 10.4,} Sedaj delujeta oba prooea orja in izvajata proaeaa SA^O in uKAGO, i'rooaa MARKO Se vedno čaka na aporočilo (poročilo za tipkanje). 0 Slika 20,ti. Htika 10.3, Trenutak 7 (alika 10,?.} Urenutak 13 (elika 10.i).) t;iieBan). Proaea SA30 je ii ouloti iekoiUatil iaactvno ruttino, ki I1U je bila dodeljena (lìAi}0 ee i avrluje na proottaorju 3, pra-oitia SAäC in ilAfiiiü Jahata na iavrüevanje. Prooeaor .1 je proat, nato vaa-'jtj is dodo Ijevalnih vrat pì'oaea tlARrio in ga ps^ióne iavajati. Una od informacij v objektu procesorja je kazalao na uatreana dodeljevalna vrata. tudi hcmU^KACIJSKA VHATAI V IPOPOČrVo I| Slika 10.10. Trenutek 11 (elika 10.11.) ErkoJ IPHoČEŽim-^ -'iDRAr.nl mm IfOHCCTLO III ncinii Slika 10.11, Izvajata ae prooaoa DRAGO in MAHKO. SASO je pri fidavi j en, vendar mora àakati. (če hi bil na' voljo 3e en- prooeaor, bi ae tudi SA30 pričal iavrSevati). la prikazanega ugleda lahKo izluSSimo pomemben raalog kdaj in aakaj prooeaor preide ia iavrSe-vanja enega prooeaa na drug proaea: - kadar ae Jaaovna rezina izte3e - prooe- »or, ki izvaja proaea, izvrSi inatrukoijo SECE-IVi' nad praznimi komunikaoijakimi vrati Ob konou navedimo Se odgovore na nekatera oa-novna vpraSanja, ki bo ae morda porodila pozornemu ùralau. Kako prooeaor ve, iz katerih dodeljevalnih vrat bo odvzemal prooeae v obdelavo? Kako prooeaor ve, v katera dodeljevalna vrata nora va tavi ti prooea, ki je pripravljen za raz-vrSSanje in čaka v komunikacijskih vratih? Ena od informacij v objektu proceaa je tudi kazalec na ua tre zna dodeljevalna vrata. Koliko dodeljevalnih vrat lanko vsebuje nek sistem? V principu jih. je lahko več. Vendar ao eamo ena centralna dodeljevalna vrata, v katera vatopajo vsi proceai, ki ao pripravljeni za izvajanje in v katera poaegajo proaeaorji, ki iS-dejo novo opravilo. Pravimo v principu, dejan-ako a tanje pa je naalednje: za vsak tip proce-aorja oba tajajo aamo ena dodeljevalna vrata. Arhitektura 432 je namreč takSna, da dopuSča tudi aočaano delovanje več različnih proceaor-jev. Različni prooeaorji imajo različne nabore inatrukoij in zato različne tipe proceaov. Had-vae vaHno je, da izvrSujemo nek tip prooeaa na pripadajočem proceaorju. Zato morajo oba tajati najmanj ena dodeljevalna vrata za vaak tip pro-ceaorja. V eni od naalednjih Številk bodo objavljen opia moSnoati eiatema 432 dopolnili Se z opisom načina gradnje komplekanih programakih paketov ter prikazali način priključevanja I/O enot. Ob koncu navedimo Se nekaj zanimivoati o aia temu 432, Kot amo Se poudarili je le-ta tak, da v popolnoati podpira multiproceairanje v realnem čaau. nekateri oanovni algoritmi ao povzetek jeder operacijskih aiatemov KMX 80, R!tX 88 in 3e. poaebaj RMX 86. Za preli t je programake opreme v materialno je bilo potrebno reSiti vrato tehnoloških problemov. Eden od njih je uvedba Stiri vrednoatne logike. Celoten razvoj druSine 4 32 (tri integrirana vezja) je zante-val za naSe razmere nepredatavljivo velike napore. Harno za I/O prooeaor (iAPX 4320 3), ki ga aeotavlja 100.00 transiatorjev, je bilo potrebno napisati 30 ti hyt-ov programov za simulacijo in diagnostiko, računalniški Sas aa izvajanje. teh programov pa je znaSal 1,3 leta. In kot zadnja zanimivost; ko so izdelali in pre testirali prvi primer I/O proceaorja, je ta deloval brez napake. ZAKLJUČEK V članku smo prikazali aamo nekatere detalje in ugodnosti, ki nam jih nudi nova arhitektura. Ui potrebno biti jaanovidec, da ugotoviS, da ae bo anovanje novih (mikro) računalniških aiatemov popolnoma podredilo novi arnitekturi. Če pogledamo aamo, svet aplikacij mikro računalnikov, lahko vidimo, da bo moino graditi aplikacije in aia teme, ki ao bili do danea izključno domena velikih firm, ali pa ao bili nroceai, ki •bi jih lahko avtomatizirali za poljubnega naročnika, predragi. Operacijski aia temi aa delo v realnem čaau ao preliti v materialno opremo. To bo biatveno znižalo ceno aiatemov "po naročilu", obenem pa bo pripomoglo k veliko večji zanesljivosti delovanja materialne. Se poaebaj pa .programake oprarne. .Va tiaoče firm po vsem avetu bo gradilo katerekoli računalniške aplikacije za ceno, ki bo povaem aprejemljiva. Ali lahko Bledimo temu razvoju? To ni odviano aamo od pripravljenoati vodilnih firm 'v. avetu, pač pa predvaem od naa samih. PILOT/F - PREPROCESOR ZA RAČUNALNIŠKO PODPRTO PROGRAMIRANO UČENJE VITOMIR dr. SMOLEJ UDK: 681.39:371 VISOKA ŠOLA ZÄ ORGANIZACIJO DELA, KRANJ UNIVERZA V MARIBORU Članek opisuje dialekt Jezika za pronraralranje udTnlh sekvenc za računalniško podprto pronramirano uCcnje, Na enostavnem primeru je potem prikazano delovanje prenrocesorja. Članek zakljuKuJe ocena opravljenega dela In napotki za nadaljnje delo. PILOT/F - A PREPROCESSOR FOR A CAI LANGUAP.E - A dialect of PILOT Is described and its Implementation shown. Practical hints for future enhancements and possible additional elements is qiven at the end. UVOD Uvajanje raSunalnlka v proces Izobraževanja predstavlja eno od možnosti, ki s prodorom tehnologije postaja vse realnejSa. Osnovni predpoqoj - to je ratunalnlk z ustrezno opremo - Je tudi v naSIh razmerah precej bi life uresnl-Kitvi, kot je bilo to pred nekaj leti. Kljub temu pa nekateri elementi celotneqa sklopa manjkajo. Predvsem je - in bo 5e vnaprej -.problem ustrezen kader, ki naj bi uino snov oblikoval na naČin, ki ustreza novemu mediju. Rcizkornk med pedjijoSko usposobljenostjo in pa tehnološkim znanjem, ki je potrebno za delo z raffunalnikom, skuSa predloženi preprocesor prebroditi; z njefjovo pomoijo namreč lahko pedaqoSko usposobljen poznavalec učne snovi izdela utne enote in sekvence, ne da bi moral posebej poznati vse trike in podrobnosti računalnika. PILOT/F PILOT (akronim za Proqrammed Inquiry, Learninq and Teachinq) predstavlja eneqa od jezikov, ki so namenjeni računalniško podprtemu pouku. Izbrani dialekt Jezika, ki sem ga imenoval PILOT/F (zaradi uporabe fortrana), opisujejo naslednji sintaksni qrafi: PROfiRAH; ----1--* vrsta f vrsta: STAVEK: -r y --- --(znamka)- ♦ N -- stavek niz 'T----i} - (spremeni J I vka)-&'----' —f.-------- niz —---------------- niz -\ —' X:-----(loqicni izraz)-------------------- --> R: —................... niz ............> -■a» C: -----(fortranski stavek)---------------- J: -------------------------(znamka)-------^ Terminalni simboli, ki so v oklepajih, predstavljajo sicer za PILOT/F nize znakov, ki qa ne zanimajo, vendar nxi-rajo odqovarjati pravilom fortrana, ker nam PILOT/F, kot vsak preprocesor, izvorni proqram ne prevaja neposredno v strojno kodo, paČ pa v iiljnl jezik, ki Je v tem primeru fortran. Celotno zaporedje od izvorneqa prorjrama v PILOT/F do programa, ki qa izvajamo, je uko poduiio z naslednjo sekvenco operacij- izvorni___ proqram v __ __^revedehi________^izvodljiv proqram ^ fortranu -i pronram "i- proqraiii preprocesor prevajalnik povezovalnik (PlLOT/F) (FitP) (TKB) Čeprav, kot rečeno, preprocesor pravilnosti simbolov v oklepaju ne preverja, morajo odqovarjati pravilom fortrana, v kolikor noSeino imeti težav s prevajalnikom, ki pre-procesorju sledi. Pri povezovanju moramo dodati prevedenemu izvornemu pro-qramu (poleq druqeqa) tudi kodo subrutine HATCH, ki skrbi za primerjanje nizov (ql. dalje), Ostali simboli v sinlaksnih grafih imajo naslednji pomen: pomen fi mbo1 y izvedi ukaz, ce FLAG = .true. (FLAG je rezervirana loqicna spremenljivka). Primer: Y T: v redu, lahko nadaljujem? izvedi ukaz, če FLAG = .false. Primer: N T: flaq ni .true. Čitaj stavek s terminala in priredi vsebino nizu ANS (rezerviran niz - ANS kot ANSvjur) Primerjaj ANS z nizom, ki sledi, in ustrezno priredi FLAG. Primer: H: v redu\ V REDu\wREDu\ Oa\ja\§ V kolikor |e ANS enak (znak po znak, vključno (S) enemu od nÌ2ov za dvopil^jem (prvi brez vodenih b ali katerikoli med dvema \ ), je FLAG .true., sicer oa .false. Za najpoqostejSe odgovore - kot recimo da - je na raziK>laqo meta znak § (ki odgovarja tipki return oz. CR/LF) priredi spremeni j Ivki FLAG logično vrednost izraza, ' ki sledi. Primer : X: SPOL.EQ.-Z- Izpljfl ostanek vrst ice In spremenljivke. Primer; T: v redui sIhES. iremo dalje , komentar. Primer : R;-'"..........................- R: u £ n. a enota 1.23/A skoil na znamko, ki Je navedena v 8,tavku. Primeri N Ji 999 «tavek za dvopIŽJem preprocesor neipremenljen . prenese v ciljni Jezik. Primeri Ci FLAG - FLAG.AND.NAPAK.LT.3 PRIMER , Spodnji programv PILOT/F n^'služi za primer. Namen ufne enote Je preverjanje poznavanja pojma glaqol. testni program T - O PoiSfi glagol v naslednjem stavku "Pek Peter peŽe preste oo pet nara'' T - T 1 r.GT.It dovolili bomo do iti ri poizkuse peče\ PEČe\ pečl\PE£l pravilno! 9- ali Je bil odgovor samostalnik? pek PEK\preste\PRESTE\para\PARA ta beseda Je samostalnik 1 ali Je bil odgovor po? po PO ta beseda Je predlog 1 peter\PETER Že Je odnovorll s Petrom, Je verjetno neresen; naj bo tudi odgovor neresen: Petri ti znajo to zameriti 1 samo Se oet ostane pet\PET pet Je število (S) 1 verjetno Je bila tipkarska napaka napainol poizkusiva znova ( pazi, ko tipka! I) 1 konec enote glagol.Je bil "peSe" hvala lepa feprav Je program okoren, lahko setsvaljalec u2ne enote svoje misli zelo hitro Izrazi. Primer: v kolikor u2encu nI uspelo pravilno prepisati niti ene od besed v stavku. Je verjetno zaEetnIk. Zato bi še spodobilo, da delamo z pjim v rokavicah, bolj, kot pa smo sprva hoteli. Predvsem Je pametno, da mu vpraSanJe znova postavimo, da mu pe bo treba Iskati po ekranu. Zato vrstico, kjer prvl& ^zpiSemo tekst, takole spremenimo: Za tekstom " (pazi, ko tIpkaS 1) " dodamo se dve vrsti, tako da se na tem mestu kon£na verzija programa v PILOT/ F glasi: Ti napaJnol poizkusiva znova T: ( pazi, ko tipkaS I) Ti da ponoviva vprašanje Ji99 Tako pripravljen program v PILOT/F z naslednjim zaporedjem ukazov (na sistemu PDP W/'iU z prevajalnikom FltP In RSX operacijskim sistemom) sprav.lmo v obliko, ki Je i' I zrela za izvajanje: >run pilot pl'|;> glag-glag pit>-z >fl(p glag-glag >tl glag-glag,match Sedaj si lahko prIvoSČImo naslednji preizkus nalega poznavanje pojma glagol. (s črkami elite Je vpisan tek^c^ ki ga izpisuje raéunalnik): ^run g lag' PoiSäi «Xapol v naslednjem stavku "Pek Peter pe6e preste po pet para" PEK ta beseda je samostalnik peti napažnol poizkusiva znova ( pazi, ko tipkaš! ) da ponoviva vprašanje Poišči glagol v naslednjem stavku "Pek Peter pe6e preste po pet para" peži pravilno! glagol je bil "peče" ^hvala lepa ZAKLJUČEK Za konec dve kritični ralsll; PripraviJalec snovi bi mcfebiti imel lažje delo, ko bi pri rokah imel konstrukte kot so CASE, REPEAT In podobno. Razlog, da tega nI, je najprej PILOT/F sam; dodaten razlog Je fortran kot cIlJnI Jezik; ko bi uporabili PASCAL, bi zlahka razllrlll zalogo ukazov (vprašanje Je le, ce bi prenrocesor bil tako kratek, kot Je sedaj - obsega vsega skupaj okoli 300 vrstic fortranske kode, od tega predstavlja subrutina MATCH eno tretjino). Drug razlog se skriva v naravi samega uienja;grafl z enim samim vhodom in Izhodom predstavljajo le del struktur, s katerimi skuSamo slediti procesu u£enja in ga posnemati. Druga krltl£na misel se tlce koncepta preprocesorja: v primeru sistema za ve& uporabnikov bi bil verjetno tolmaS bolj primeren, kar se Izrabe sistema tl£e. ZAHVALA Omenjeno delo Je bilo opravljeno v Času, ko je bil avtor gost Max-Planck Instituta, Institut für Werkstoffwissenschaften, Stuttgart, Zvezna republika NemcIJa. ?9 T: PolSEl glagol v naslednjem stavku: (vpeljemo novo labelo 99) SIMULATOR MIKRORAČUNALNIKA 8051 TOMAŽ ERJAVEC UDK: 519.685.8:681.3 MAJARONOVA 5, 61000 LJUBLJANA Sestavek opisuje programski simulator za družino zaključenih mikroračunalnikov MCa-51. Najprej sta predstavljeni arhitektura družine MG3-51 in organizacija pomnilnikov. Nato se bralec seznani s skupino programov,ki sestavljajo simulator in z opisom enega inatrukcij-skega cikla, SIMULATOH of tue 8051 michocomputeh. 'i'he article describes a'software simulator for the MCS-51 family of single chip microcomputers. First the architecture of the MCS-51 and the organisation of the memories is presented. The reader is then informed with the set of prograuis that form the simulator and with the description of one instruction cycle. 1, UVÜÜ Uaključeni mikroračunalniki so zaradi svo-•Jih lastnosti primerni za procesno vodenje, V enem samem ohišju ( navadno s 40 priključki ) združujejo mikroračunaln^J^ško strukturo,ki Je samozadostna za delovanje, ü prihajajočimi zaključenimi mikroračunalniki postaja ta struktura vse bogatejša, Primerna metoda uvajanja v tehnologijo zaključenih mikroračunalnikov Jo simulacija, saj laliko na simulacijskeo računalniku programsko ponazorimo njihovo delovanje in opazujemo obnašanje. Pri taki simulaciji Je seveda težko doseči izvajanje funkcij v realnem času, pač pa Je mogoče s primernim vpogledom v notranjost simulatorja nazorno zasledovati dogajanja ot» izvajanju instruk-cij. Intel,HOU-51 Je med najsodobnejšimi družinami ; zaključenih mikroračunalnikov. Opisani simulaciJaki programski paket izvaja večino iunkcij družine MÒi3-31, modularna zgradoa pa omogoča enostavno dograditev ostalih oziroma izklapljanje že vgrajenih funkcio in s tem prirejanje obsea;« in hitrosti simulacije uporabniku. V nadaljnem besedilu se spoznamo z arhitekturo družine MGa-51, modulai-no zgrudDo programskega paketa in opisom poteKa simulacije. OPla DHUŽINK MCÜ-51 uružina MUd-^l obsega tri zaključene mikroračunalnike, ki se med seboj razlikujejo le . po obsegu in vrsti programskega pomnilnika. ÜU31 je najpreprostejši in nima vgrajenega programskega pomnilnika. bO^l vsebuje 4k HOM, B7^>1 pa 4k EPKUH pomnilnik. Pri vseh treh Je nasluvljivi prostor programskega pomnilnika omejen a b4ic lokacijami, v vseh ostalih lastnostih se člani družine MUo-^1 ne razlikujejo, zato ae od tu dalje nanje obračamo kar z imenom BO^l, 64 2,i. Arhitektura 8O51 aelo vißOlca stopnja integracije s 60.ÜÜU transistorji na isti silicijevi ploščici je omogočila naslednjo arhitekturo: - centralna procesna enota - X Ö programski pomnilnik - laa X 8 podatkovni pomnilnik - vhodno/izhodnih linij - dva 16-Ditna ćasovnika/števoa dogodkov - 5-izvorna vgnezdena prekinitvena struktura z dvema prednostnima nivojema - serijska vhodno/izhodna linija - taktirna ura . Blokovna sheina je podana na sliki 1. Centralna procesna enota lahko obdeluje podatke iz obeh 64k obsegov programskega in podatkovnega pomnilnika, pri čemer se del obsegov nanaša na vgrajena dela pomnilnikov. Družina je opredeljena kot 8-bitna, izvaja pa nekatere funkcije tudi na 16 bitih, M- bitih, odlikuje jo še poseben bit-procesor za obdelavo Boolovih spremenljivk. Aritmetični del procesorja izvaja vrsto aritmetičnih in logičnih operacij, posebnost pa sta celošte-vilsko množenje in deljenje, ki sicer pri zaključenih mikroračunalnikih nista bila doslej pogosti operaciji. 2,2, Organizacija pomnilnikov Programski števnik ( 16-bitni ) dopušča klice in vejitve pò vsem 64k prostoru programskega pomnilnika, nikakor pa ne mora pokazati na lokacije podatkovnega pomnilnika, kamor se ne da prenesti izvajanja programa. Ko vrednost v programskem števniku preseže W!;>, ae naslednja instrukcijska koda preneso preko vhodno/izhodnih vrat iz zunanjega pomnilnika avtomatsko. Določene lokacije programskega pomnilnika so rezervirane za inicializacijo in prekinitvene programe. rmcitumrrurtiit^AjpuK m Slika 2,: Vgrajeni podatkovni pomnilnik CPE I___ "TTT ^ruiaihe 6hk nadzor ^regramtrwH VhodifùKocli 3 ^rtlüniW« HFTT M® ? ? teJitirittL ura. iik «OAt PtiMr«UK&lu fio%nilntk 126 besta. tV>d«tkowr>» pomniLhik 46- bit««, itevcou serij sica. Itomuniinc^ 32 linij »»lod iskotl Slika l.j Arhitektura 8O5I Vgrajeni podatkovni pomnilnik obsega 12Ö lokacij. Prvih 52 je zaobseženih v t- bankah podatkov s po 8 registri. Izbira banke se izvaja s postavljanjem zaznamkov v statusni besedi, izbira registra pa je zajeta že v kodi instrukcije. Na lokacijah od 32 do se nahaja i;:;ü bitov, ki jih je moč naslavljati neposredno in služijo kot pomnilni prostor za bit-procesor. Po 8 bitov skupaj je sevftda uio't naslavljati tudi besedno kot katerokoli di-ugo besedo v pomnilniku. Od lokacije 'i? naprej so nenamenske lokacije za hranjenje poljubnih podatkov. yaw IPC M iz: S tO- TtO . Tf1»> A »ho 3a<« 20» išt 1?« 16» 460 453 m M M iil «? 15* 134 ISO jlika 3.: Razporeditev posebnih registrov Poleg tega Je mogoče podatke hraniti tudi v posebnih registrih, ki obsegajo 20 lokacij. Tu so akumulator in pomožni akumulator,ki sodeluje pri mnoSenju in deljenju, sicer pa je navaden register, statusna beseda vsebuje štiri aritmetične zaznamke, zaznamka za izbiro banke podatkov in prosti uporabnikov zaznamek. V skupino kazalcev sodijo kazalec sklada in 16-bitni podatkovni kazalec. Poleg štirih 8-bitnih vrat in in dveh 16-bitnih Števcev so tu Se registri, ki omogočajo programiranje in nadzor delovanja števcev, serijske komunikacije in prekinitvene strukture. V dinamični del, katerega spremenljivke se spreminjajo v skladu z izvajanimi instrukci-jami, pa sodijo: - simulacija podatkovnega pomnilnika - prepoznavanje operacijskih kod - klicanje instrukcijskih subrutin - izvajanje funkcij posameznih instrukoij - postavljanje zaznamkov - vlaganje naslova naslednje operacijske kode v programski števnik - izpisovanje vsebine registrov . Blokovna shema programskega paketa MCa-51 je prikazana na sliki 4. funkcijski opis plokov 3. ZASNOVA PROGRAMSKEGA PAKEa?A MCS-51 Programski paket MCS-51 omogoča izvajanje, preizkušanje in nadziranje dogajanja ob izvajanju programov, ki so pisani v strojni kodi 8051, na simulacijskem računalniku.Napisan je v zbirnem jeziku 80Ö0. Naloge, ki jih opravlja, lahko značajno razdelimo v dve skupini. V statični del sodijo: - simulacija programskega pomnilnika - tabeliranje operacijskih kod in naslovov njihovih subrutin - tabeliranje kod in naslovov izpisnih subrutin. Simulirani progx-amski (HOW) in podatkovni (.HAM) pomnilnik ata organizirana prav tako, kot je bilo opisano v poglavju 2.i?. Fred izvajanjem simulacije v za programski pomnilnik rezervirano področje pomnilnika aimu-lacijskega računalnika vpišemo program v strojni kodi 8051. PC5I je simulirani programski števnik in v njem se nahaja naslov v programskem pomnilniku, na katerem je koda instrukcije, ki se bo naslednja izvedla. 'j;ABl,TAiJü,'i'AJi5 so taoele, v katerih se natia-jajo podatki v öoliki: koda sti-an lokacija . Slika : Shema programskega paketa MUS-5I OtMCT Moon- »m OiMCT «OOMMMB Slika 5: Od vgrajenega RAM pomnilnika program IZPIS doseže le posebne registre. Operacijski kodi instrukcije sledita stran in lokacija, na kateri se začenja subrutina, ki izvede operacijo instrukcije.Operacijske kode 8O5I je moč po njihovih karakterističnih lastnostih razdeliti v štiri skupine: - aaakOOOl - kkkklrrr - kkkkklli - kkkkkkkk kjer pomeni "a" naslov, "r" register v določeni banki podatkov, "i" register v banki podatkov pri indirektnem naslavljanju in "k" samo operacijsko kodo. Kodi prvega tipa sta samo dve in ju prepoznava glavni program ne- \ posredno, ostale pa ao razdeljene v tri tabele zaradi krajšega iskanja in razpoznavanja. ■ FILTAB pred začetkom izvajanja simulacije vpiše v pomnilnik simulacijskega računalnika tabele TAB1,TAB2 in TAB3. FILL5 pred začetkom simulacije zapiše v pomnilnik simulacijskega računalnika tabelo (I)AB3, ki služi prepoznavanju imen posebnih registrov, katerih vsebine želimo izpisati v podprogramu IZPIS. Tabelo vpisuje v obliki: znak znak znak znak stran lokacija. Če ima imo registra mail j kot 't znake, je namesto njih vpisana O. Stran in lokacija se nanašata na naslov subrutine, ki izpiše vsebino željenega registra. ~ NIČLE pred začetkom izvajanja simulacije zapiše v pomnilnik simulacijskega računalnika . ničle na področje tabele a?AB5. FILNIČ,pred začetkom izvajanja simulacijo na področje simuliranega podatkovnega pomnilnika zapiše ničle. Dinamični del pa tvorijo« MC3-51 je glavni program in nadzira delovanje vseh ostalih. Pri zagonu nastavi programski števnik PC5I na začetek programske- ga pomnilnika ter vpraša po načinu izpisovanja vrednosti registrov med izvajanjem. Hate se izvajanje ponavlja v zanki instrukcij-skega cikla, dokler ni razpoznana koda 560 ( dodatno vstavljena koda za prenehanje simuliranja ). Podrobnejši ópia delovanja jo v poglavju NASLOV : Ko MC3-51 razpozna operacijsko kodo v eni od tabel, vloži naslov inatrukcijske subrutine v NASLOV, ki jo pokliče takoj za tem, ko jo naslov vrnitve v glavni program zložil na sklad. IZPIS si zapomni način izpisovanja, ki je bil vstavljen ob zagonu glavnega programa. Pozna tri načine delovanja. Način O : Želimo izpisovanje poljubnih posebnih registrov. Najprej so izpiše vrednost programskegia števnika PC5I in koda izvedene instrukcije. Nato IZPIS čaka, da vtipkamo ime registra. Prebrani podatek primerja z vrednostmi v tabeli TAUS in po uspešni primerjavi pokliče izpis vsebine željenega registra, sicer javi napako operaterja. Po opravljenem izpisu vsebine registra čaka na novo ime registra. Izpisovalno sekvenco prekinemo z 'return' Način 1 : Želimo izpisovanje vsebin osmih pomembnejših registrov ( A, B, PSW, SP, ÜPH, DPL, PO, PI ) po vsaki izvedeni instrukciji. Hkrati se izpisuje tudi stanje programskega števnika in koda izvedene instrukcije. Na vsakih 20 vrstic številčnih izpisov C na vsaKih 20 instrukcij ) se ponovi vrstica z imeni registrov, ki jim pripada številčni stolpec pod njimi. Način 2 : Ne želimo izpisa na terminal. To pospeši simulacijo, a prepreči vpogled v dogajanje v mikroračunalniku. IZPISNJS SUBKUTINK imajo nalogo izpisati vsebino registra, ki ga prepozna IZPIS. INSTKUKOlOSKÜ SUBriUTlNJi : obsegajo 10y sub-rutin, ki opravljajo funkcije 10y operacijskih kod. Instrukcije se delijo v štiri funkcijske skupine : aritmetične, logično, za prenos podatkov in za prenos nadzora. Dodana jim je še funkcija KONKC. KüNfiü v pravem 80^1 ne obstaja, tu pa je uporabljen za zaključitev simulacije. Ko glavni program pokliče KONEO, ta zahteva način končnega izpisa vsebin registrov in po njem zapiše, da .je izvajanje simulacije končano. XOKEO se odziva na kodo 360 C oktalnp Instrukoidske subrutine pri evpjea delovanju lahko pokličejo 10 podprogramov, ki jih po'?, trebujejo za določitev izvornih in ponornih operandov, ki sodelujejo v instrukciji, za računanje zaznamkov v stacusni besedi in za ustrezno inkrementiranje programskega štev- : nika PC51. ' BANK kličejo instrukcijske subrutine, katerih operandi so registri v eni izmed étirih bank podatkov. flANK prebere vsebino tretjega in četrtega bita v statusni besedi, ki določujeta, v kateri od bank podatkov se nahaja operand. Nato nastavi kazalec na eno od štirih bank podatkov. kEG dopolnjuje BANK, saj iz vrednosti prostih bitov v kodi instrukcije razbere, kateri register v pokazani banki podatkov je operand instrukcijo. . OVI kličejo instrukcijske subrutine za seštevanje. Njegova funkcija je ugotoviti, če je pri seštevanju dveh operandov prišlo do prenosa iz šestega in sedmega bita rezultata. Nato postavi tretji bit statusne besede ( zaznamek 'preliv') na 1, če je vsota po modulu 2 prenosov iz šestega in sedmega bita rezultata enaka 1, sicer postane 'preliv ' enak O. 0V2 opravlja podobno funkcijo kot OVl, le da ga kličejo instrukcijske subrutine za odštevanje s sposojanjem, CZ kličejo vse aritmetične instrukcijske subrutine. Njegova funkcija je ugotoviti, 6e je pri izvrSeni aritmetični operaciji prišlo do prenosa iz tretjega'in sedmega bita. V skladu z ugotovljenim postavi zaznamek 'pomožni prenos'oziroma 'prenos'na 6. oziroma 7. mea- : tu statusne besede na 1, če je prišlo do prenosa, sicer na O. BIT služi za določanje naslovov operandov pri delovanju instrukcij bit-procesorja.Ha -slavijanje operandov bit-procesorja je direktno, torej je naslovljen bit neposredno brez imenovanja besede, v kateri se nahaja. Z uporabo rotacij, prištevanja konstant in maskiranja besed omogoča BIT simulacijo takšnega naslavljanja bitnih operandov. TONI opravlja inverzno funkcijo Bia?-a, Bit- no spremenljivko, ki smo jo dobili kot rezultat bitnih operacij, vrne na ponorno mesto v podatkovnem piomnilniku. Bit zarotira na pravo mesto v besedi, nato maskira besedo v pomnilniku in zbriše bitno lokacijo, na katero pride ponorni operand. Besedo z zarotiranim bitom nato prišteje besedi v pomnilniku. ( V priStevani besedi so vsi biti razen ponor-nega enaki O ). Bm, BYT2, äraj služijo nastavljanju programskega števnika PC51 na naslov naslednje operacijske kode. Kličejo jih instrukcijske subrutine v skladu s številom besed, ki jih obsegajo njihove operacijske kode ( ena, dve ' ali tri ). PABITY izračunava pariteto podatka v akumulatorju. Kliče ga glavni program MCS-51 po vsaki opravljeni instrukciji in pred izpisom rezultatov le-te. Njegova funkcija je seštevanje po mödulu 2 vseh bitov v akumulatorju.Če Je vsota 1, postane zaznamek 'pariteta'v statusni besedi enak 1, sicer O. 4. OPIS INSTRUKCIJSKEGA.CIKLA- PC51 kaže na lokacijo v programskem pomnilniku, na kateri se nahaja koda instrukcije. MGS-51 prebere kodo, ugotovi njeno karakteristično lastnost ter izbere eno od treh tabel, iz katere bo črpal podatke za primerjavo. Ko je koda prepoznana, se naslov njene instrukcijske subrutine vloži v NASLOV, ki pokliče subrutino. Ta v skladu s številom besed svoje operacijske kode pokliče BYTI, BlfT2 aH ByT3,ki inkrementira programski števnik P051, da kaže na lokacijo naslednje operacijske kode. Če operandi izvajane operacijske kode niso takojšnji ali direktno naslovljeni, instrukoijska subrutina pokliče BANK in HBG in z njuno pomočjo določa registre iz bank podatkov ali pa indirektno naslovljene operande. Ce je instrukcija aritmetična, lahko pokliče OVI, 0V2 in cr ter z njihovo pomočjo izračuna zaznamke 'preliv'in 'prenos'. Ca sodi instrukcija v bit-procesor, izračuna naslov operandov s kliuom podprograma BIT, ko pa izračuna rezultat, ga vrne kot ponorni operand s klicem ViiNI na njegovo mesto v podatkovnem pomnilniku. Ob zaključku instrukcijske subrutine se izvajanje vrne v MUS-^l. Ob tem času so spremdmbe, ki jih je povzročila instrukcija že vpisane v po-datkovDem ponnilniku. Glavni program jpokliče PARITY, ki izračuna pariteto podatka, ki se nahaja v akumulatorju in vnese ustrezni zaznamek v statueno beseéo. Zadnji klic v glavnem programu je klic izpisnega podprograma lüPia, ki v skladu s predhodno vloženim podatkom o načinu izpisovanja vsebin registrov izpiše željene vrednosti. S tem je cikel ene instrukcije končan, v PC51 pa 2e čaka naslov naslednje operacijske kode. Čeprav vse funkcije ÖOßl še niso vgrajene v simulator, je oilo dograjevanje predvideno in ga modularna zgradba omogoča. a'o velja predvsem v primeru dograjevanja v emulator, ki ga sestavlja simulacijski programski paket in digitalne vhodno/izhodne enote, priključene na simulacijski računalnik. Ua tak način je mogoče prikazati celotno delovanje zaključenega mikroračunalnika vključno s priključnimi sponkami, seveda ne v realnem času. 5. SKLEP Simulacijski programski paket je zanimiv kot učni pripomoček. Z njim lahko podrobno sledimo dogajanju v mikroračunalniku. V kombinaciji s prevajalnikom za zbirni jezik 8O5I lahko predstavlja učinkovit učni pripomoček za učenje uporabe zbirnega jezika, ker. lahko zasledujemo neposredni učinek izvajanja ins-trukcij. Pri simulaciji posebnih nalog,kjer ne uporabljamo cölotnega naoora ukazov, lahko poljuben obseg instrukcij povsem izklopimo, s tem skrajšamo čas dekodiranja in pospešimo delovanje simulatorja. LITü£AXUHA 1. Intel Corporation, MGÖ-51 family of Single Chip Microcomputers - user's Manual, Intel Corporation, Santa Clara California, 19B1 2. Adam Osborne, An Introduction to Microcomputers, volume 1, Osborne & Associates, Inc., Berkeley, California, 19/0 3. Intel Software Subroutines,fotokopije, last IJS/El STRUKTURIRANI ZBIRNIK ZA MIKROPROCESOR 68000 UDK: 681.3.068 ROK SOSIČ, ALOJZ HODOBIVNIK RUČIGAJEVA 14, 64000 KRANJ SUHA l/a, 64000 KRANJ Članek opisuje zbirnik za mikroprocesor 68000 (M68000) in predprocesor, ki omorjoča .strukturirano pisanje zhii niških programov. Zbirnik je bil napisan kot pripomoček za ra;-,voj računalnika na osnovi M 68ÜOÜ v ISKHI l()/.l.i Kačunainiki Krajij. ' Structured assembler for microprocessor 68000: Tliis describes assembler {or microproiju-s-ior 68000 , razširitev: BEQ. .00001 ADD ^fe.Dl - ^ ADD D1,D2 .00001 NOP 3. OPIS PROGRAMA - ZBRINIK ZA M68000 ' Program je napisan po priročniku /3/, tako da je kompa-Ubilen z originalnim zbirnikom. Delno spremenjeno jele pogojno in makro zbiranje. Pri pogojnem zbiranju so dodani še 4 pogoji - poleg IFEQ in IFNE - še IFGT,IFLT,IFGE in IFLE. Pri makro zbiranju pa je število možnih parametrov razširjeno z 9 na 99 in število lokalnih oznak z 1 na 26, globina gnezdenja pa povečana na 25. Zanimiva je tudi organizacija progranr.à.Za razliko od večine zbirnikov, kjer je vsa teža na drugem prehodu, večino dela opravi prvi prehod. Tak pristopje bilo potrebno uporabiti zaradi nefleksibilnosti dela z datotekami na računalniku ID-19. Tako prvi prdöd že generira listing in vanj vpisuje oznake za drugi prehod. Ker ta pregleduje le tiste vrstice, kjer je oznaka, je tudi zelo hiter - približno 50 krat hitrejši od prvega prehoda, kate -rega hitrost znaša 500 -. 2000 vrstic na minuto. Program generira na koncu listinga še listo napak z diagnozo in refe^čno tabelo. B.PREDPROCESOR ZA STRUKTURIRANI ZBIRNIK 1. UVOD Da bi izboljšali pregfednoätin hitrost pisanja učinkovitih programov v zbirniku, je bil kot implementacija zbirnika za M68000 izdelan križni predprocesor za strukturirani zbirnik, ki se imenuje SASS (Structuréd Assembler ). SASS ima za vhod program v strukturiraiem zbii niku v editorski datoteki, za izhod pa dobimo navadni zbirnik. SASS je trenutno šie ločen od zbirnika, vendar sta strogo kompatibilna. 2.5 Makro zbiranje: Makro definiramo z ukazom MACRO in končamo z ukazom ENDM. . . Kličemo ga po imenu in za njim navedemo listo para-■ metrov. Zamenjavo parametra označimo z znakom © (©) in za njim številko parametà- (O - 99). Lokalno labelo zahtevamo z znakom B in za njim črko,, ki označuje eno izmed lokalnih labd (A - Z). Globina makro klicev je omejena na 25 (zaradi sklada lokalnih label). Parametri so ločeni z vejicami, če pa parameter \sebuje vejico, ga lahko damo v oglati okle^ paj . Primeri definicije: ZAM MACRO BEQ BA ADD BI ^ 2.0 PREGLED KONTROLNIH STAVKOV STRUKTURIRANEGA ZBIRNIKA Za predstavitev bomo uporabili BNF-zapis. <ÌF STA VEK>: : = IF [^size code^] ^stavek^^ ^WHILE-ŠTAVEK)>: : = WàlLEf.^^ize cod^j^olean exp^ . DÓ J^.^xteh^j^tavek S : : s= REPEAT j .^xten ^tótavek^ UI^Tlbj^^ize codei^olean exp> : : = FOliUize cod^l^ re<Ì>|4:) rec4>)=» ^ , . op. : z BY definiramo korak zanke, če ga izpustimo - STAVEK> : = CALl4me> ^ESTAVLJEN STAVEl^: := BEGIN^tavel^ND Definicija PROCEDUR^: :=PROCEDURE^m^^e stavljen stavel^ 2.1 Opis izrazov, ki pojasnujejo definicije : : =4;bir. direktlva> I ^68000 - instrukcij^lej.-opis v zbirniku ^OPERANI^ : = operand združuje vse adresne načine ■ in mora ustrezati instrukciji, kateri pripada: operand Iz^mp ex^pripada instrukciji CMP operand iz^or-stavk^pripada CMP in MOVE ^BS EX]^ : = vsl načini, ki se lahko pojavijo na mestu XXX v zbirnišklh stavkih : • SUB XXX,Rn ADD XXX,Rn to je lahko dolg sestavljen aritmetični izraz Program zaključuje END stavek. Programiramo,|ako, da napišemo mešanico strukturiranih kontrolnih stavkov in zbirnlške stavke. Strogo rezervirane besede, ki se ne smejo pojaviti nitt v navadnem zbimiku , M68000 so: IF, ELS, REPEAT, UNTli., WHILE,FOR, düGIjm , END, CikLL., PROCEDURE 3.0 ÒPI^ KOMENTARJEV Za uporabnika, kl bo naletel na program v strukturiranem zbirniku, bodo verjetno zanimvs pojavne oblike komentarjev: 1. Komentar, ki se prične v 1. koloni vrstice se razteza preko celotne vrstice 72 znakov (ekviyälentno komentarju v FORTRAN-u : C.....) Ta komentar se prepiše tudi v prevod. 2. Zbirniški stavek ima v vrstici sledečo strukturo: ^aslo-^^perato^^perand-^^omentai)»} V tolikor se pojavi naslov stavka, se mora priče; ti y prvi koloni, kar velja tudi za kontrolne stav' ke. Komentar je celotno polje od operanda do znaka; ali konca vrstice (72 kolone). Komentar ni napovedan z nobenim posebnim znakom in se prepiše v prevod. 3. komentar, ki se pojavi med meta besedami in deli kontrolnih stavkoy, mora biti napovedan z! in se razteza do konca vrstice. Ta komentar je viden samo v listingu. ^PROCEDURE! definiramo podprogram _BRISI I to je ime podprograma « slediti mora sestavljen stavek _.BH31N jCLR D1 brišemo register Dl; CLR D2 ■K v nadaljevanju se pojavi drug stavek X sledi zaključek podprograma - END 4.0 LASTNOSTI PREDPROCESORJA SASS Oglèjmo si nekaj lastnosti in omejitev, ki so značilni za strukturirani zbirnik M68000 in procesor SASS: - prevajanje strukturiranega zbirnika se izvede d) enem samem prehodu - pravilnost zbirniških stavkov testira zbirnik, medtem ko SASS kontrolira samo sintakso in semantiko kontrolnih stavkov -več stavkov je lahko zapisano v eno vrstico, če so med seboj ločeni z znakom; .Sicer so zbirniški stavki omejeni na eno vrstico in zaključeni s koncem vrstice. Elementi kontrolnega stavka se lahko raztezajo preko več vrstic ob pogoju, da ne delimo besed ali izrazov. - procedura je lahko definirana kjerkoli v programu na osnovnem nivoju t.j. ne sme biti vgnezdena. Vse spremenljivke so globalne, parametrov nimamo. Programer lahko sprogramira lokalnost, če uporablja kompleksne instrukcije za delo z mikroproprocesorje-vim skladom. - naslovljivi so vsi stavki na nevgnezdenem nivoju ter stavki v REPEAT-bloku in sestavljenem stavku. - globina gnezdenja je omejena na 50. Omejitev izhaja iz globine skladov, s katerimi dela program in marajo bi-.ti v FORTRAN-u vnaprej določene. FOR-stavkov lahko vgnezdimo največ 16, ker nimamo več indeknsih registrov pri mikroprocesorju. - skočne naslove generiramo umetno. - vsi stavki, ki so izpeljani iz določenega kontrolnega stavka imajo v polju 72-80 kolone indeks vrstice kontrolnega stavka, ki mu pripadajo. To omogoča hifo primerjavo med izvornim in prevedenim programom. - če program odkrije manjšo napako, izpiše v listing sporočilo o vrsti in lokaciji napake, če pa je napaka groba, se prevajanje prekine in vsa^obdelana vsebina se shrani.Nato se brez obdelave prepiše še ostanek izvornega programa.Napake, ki so v zvezi z operacijskim sistemom (delo z datotekami ) povzročijo izpis sporočila na uporabnikov terminal in prekinejo izvajanje. - vgrajen je sistemski interapt, ki ob pritisku na tipko prekine prevajanje in shrani vso prevedeno vsebino, ki jo kasneje uporabnik lahko pregleda. - maksimalna dolžina izvornega programa je 13000 vrstic. - dolžina obeh 03 THEN CALL GREATER ♦EXECUTION 2 ♦TEST THE GREATEST VALUE ♦NUHBER OF 0*S IS IN 04 ♦NUHBER OF 1«S IS IN 05 REPEAT AOD.B (1.00 00 IS USED AS A POINTER BIST.L D3t00 IF THEN ADO.B «li04 UNTIL.B ♦ 03 - THE GREATEST VALUE ♦ 04 - NUHBER OF O'S THE GREATEST VALUE ♦ D5 - NUHBER OF I'S THE GREATEST VALUE ♦ 05 - NUHBEk OF l*S THE GREATEST VALUE ♦ AO - ADDRESS OF THE GREATEST VALUE END . UPOR A B N I I' K O (. K \ VI 1 Avtomatiöna začetna naložitev uporabniškega programa v sistemu CP/M Modificirali bomo zbirko DOS64P.CUM, ki oe nahaja po naložitvi z ukazom DDT na lokacijah hitrega pomnilnika (PC, NEXT-l), kot kažo zgornji primer. Z uporabo direktive 'D' in naslova začetka CCP v UDOS, dobimo tole, nekoliko okrašeno sliko: t******************************* * Informatica UP 6 * CP/M Autoload Feature * maj 1982 * Anton P. Železnikar * sistem CP/M, operacijski s. ******************************** 1. Področje uporabe Opisani primer je modifikacija operacijskega sistema, točneje modifikacija njegovega modula CCP (konzolnega ukaznega procesorja sistema CP/M). Ta modifikacija povzroči, da se ob začetnem zagonu sistema začne brez dodatnega posega uporabnika takoj izvajati določen uporabniški program. Takšen zagon sistema onemogoči uporabniku doseganje CP/M operacijskega sistema in.izvaja se lahko le določen program za določene namene. Ta lastnost sistema je tako zlasti priporočljiva pri sistemih na ključ, tako da se uporabniku nI potrebno seznanjati z ukazi operacijskega sistema. Podoben primer bi se lahko pojavil tudi tedaj, ko imamo računalnik doma In se otroci med drugim večkrat poigrajo z ukazom ERA *,*, ki zbriše celotno disketo. 2."Kratek opis modifikacije CP/M sistem ima pravzaprav že vgrajeno lastnost avtomatičnega začetnega nalaganja, le da ta lastnost nI objavljena v dokumentaciji proizvajalca Digital Research. Ta informacija se praviloma daje samo OEM proizvajalcem in distributerjem programske opreme. Pokažimo sedaj, kako je mogoče ta mehanizem realizirati na vsakem CP/M sistemu. Vzemimo program za izračunavanje biorltma z 1-menom BI02, ki je bil razvit v jeziku CBASTC2 In se Izvaja po prevodu v okviru modula za izvajanje BASIC programov z Imenom CRUN2 (glej primer UP 3, Informatica 5(1981), št.3, str. 79). Program BI02 naj se začne izvajati avtomatično ob začetnem zagonu pod kontrolo programa CRUN2, Ker Imamo celoten operacijski sistem (CP/M = INIT + BDOS + BIOS) shranjen v zbirki DOS64P, pokličemo to zbirko v hitri pomnilnik s prohodnim programom DDT in jo modificiramo. Najprej imamo tole: B>DDT D0S64-C0M DDT VERS 2.2 NEXT PC 2300 O IDO -D980 --- modificiramo DOS64.COM --- število zlogov zbirke --- izpis z začetkom 98ÜH d tu O M uj )N O rH « C lO 10 N +1 > ca o o o. O 4J m > ■ri C >u o M U) (U H to Ai 3 tO N O -a o o co o o> o > tu «1 t Si •H C N Id M 3 C Qi E M 4J Ü X -t . « 13 CS . • 1« Q • >• X • IV. % U • o » « • o r- f c^ u) • • • >j UJ • o • • < « • H fr- • o cu o» o < CM ^T o < o t^ C» ( CSI <7 ^ o < 0 o O o 01 o» 0 U. O« Oi oj o in . o o r- — < 01 ij o «T « o o« tn < ' o <0 < U, o r) I C- oj C) m « o o m ui O) oj a> o ch CM • m oj Ol lil • r) o r> o " L) Ol OJ t- o ----- ASCII znak "I" 099 0 20 4*- --- ASCII znak "0" 0991 20 32 ASCII znak "2" 0992 20 • --- konec modifikacije S ponovno uporab direktive 'D' se pokaže tole! w M • a (9 (9 • 3. Preizkus lastnosti avtomatične naložitve in izvajanja programa BI02 •H O J! H u -I-I m h 10 > t •H ^ C t) N e N ,S t! g 'S N N » OO 0> O O O ( « « a o o < M h- t> o o o < «f « « o o , o < .o o« Ot o o o I M 9 o L> ro o o < m u> 01 « o o < O) h, o. 01 o o < u> ^ n in o o < fo n t^ o o « •«t ^ o .' (■• o n o o ( t- 01 (0 m o o I S prehodnim ukazom SYSGEN smo na sistemski stezi zapisali modificirani sistem CP/M, .ki naloži najprej modul CRUN2, nato modul BI02 ter začne izvajati modul BI02 pod kontrolo modula CRUN2. To pa je natanko lastnost, ki smo jo zahtevali in ob tem sistem CP/M za uporabnika ostane v celoti zakrit. Lista 1 pokaže, da se to zgodi ; tudi v praktičnem primeru. S tem je korektnost naSih predpostavk praktično dokazana, uporabnik CP/M sistema pa si lahko v celoti zgradi modifikacijo za svoj poseben primer. CRUN VER 2.07P POCAKAJi DA SE IZRAČUNAJO TABELE I VSTAVI IME 7 PETRICA VSTAVI DATUM ROJSTVA! DAN« MES< LETOi 27-6>l981 VSTAVI ZAČETNI M Eis EC IN LETO BI OKOLEDARJAI ? 6«1982 VSTAVI ŠTEVILO MESECEV BIOKOLEDARJAl ' 7 1 BIO INDEKS M M 01 o o o o OOOOVOIOOOO I/) 01 01 m o o o o oooooooo uoinoi. 0> o» ON <» 0< CT' (» C Ioooooooo 60259 62460 64650 66662 68307 69387 69709 69109 67465 64714 60868 56014 50322 44038 r F Modifikacij.a je s tem opravljena in to kar se sedaj nahaja v hitrem pomnilniku, mpramo rešiti z vgrajenim ukazom SAVE na disketo, npr. takole: K opisanemu primeru dodajmo še tele'bistvene opombe: pri navajanju zaporedje zbirk, ki bodo po vrsti izvršene, nikakor nismo omejeni samo na imena posameznih zbirk, temveč lahko uporabimo tudi SUBMIT,zbirke (vključno z ukaznimi zaporedji). Pri tem smemo v celoti prekriti licenčno sporočilo podjetja Digital Research vse do lokacije 9FFH. Tako imamo dovolj prostora za vstavitev vrste imen,' torej za izvedbo zelo zapletene funkcije. j Končajmo sedaj naš primeri Najprej izskočimo iz ukaza (stanja) DDT z uporabo 'CTL c' ali z GO. Takoj nato uporabimo ukaz SAVE, in sicer: B>SAVE 34 BIORIT.COM 1 JUN 1902 E I 1 TOR E I 2 SHE 1 IE 3 CET s I E 4 PET t I E 5 SOB F: t I E 6 NED F l E 7 PON tir E 8 TÜR I t F E 9 SRE I « E F 10 CET J E 'i F 11 P ET E F 12 SOB El F 13 NED 1 F 14 pa4 Ta rezultatna lista kaže, kako se pri Lista 1. mrzlem ali toplem zagonu javi sistem. Ker imam-mo kot prvi, modul CRUN2, se ta modul javi s svojo verzijo 2.07P, nakar preide kontrola že na modul BI02. Po običajni vstavitvi vhodnih podatkov se začne izpisovati bioritemski diagram, kot kaže zgornja lista. 4. Opombe k danemu primeru Da bi bila slika popolnejša, navedimo še, katere zbirke morajo biti v našem primeru zapisane na disketi. Te zbirke so: S tem ukazom smo rfeSili modificirano zbirko, sedaj pa moramo to zbirko še zapisati na sistemski stezi z uporabo prehodnega ukaza SYSGEN. Ob začetnem zagonu se tako najprej naloži CRÙN2, nato še BI02, nakar se začne BI02 izvajati pod kontrolo programa CRUN2. To pa je prav tisto, kar smo želeli. Otroci tako nimajo več dostopa do vgrajenih in drugih prehodnih Ukazov sistema CP/M. CRUN2.COM, BI02.INT CRUN204P.COM, CRUN237.COM in Na sistemskih stezah te diskete se nahaja modificirani CP/M sistem, ki smo ga poimenovali z imenom BIORIT.COM (glej SAVE ukaz). Ta sistem smo shranili v posebno zbirko zaradi možnosti dodatne modifikacije kdaj pozneje pa tudi zaradi možnosti opazovanja zgradbe te žbirke. Program, ki pomakne samega sebe tik pod obstoječi operacijski aistem CP/M ******************************** * Informatica ÜP 7 * CP/M Relocating User Program * junij 1982 * Anton P. Železnikar * sistem CP/M, Delta 323/M ******************************** 1. Področje uporabe Uporabnik želi večkrat imeti program, ki bi se naložil sam pod operacijski sistem v pomnilniku v odvisnosti od danega obsega pomnilnika, na katerega je CP/M sistem prilagojen. Takäen uporabniški program deluje navadno Se nad ' kakšno drugo zbirko in ima tako določene "sistemske" lastnosti. Primer takega uporabniškega programa je npr. inverzni zbirnik, ki smo ga napisali sami in ga želimo uporabljati nad ukaznimi zbirkami tipa COM. Pojasnimo še, zakaj želimo, da se ta uporabniški program samodejno premesti pod sam opera-? cij ski sistem CP/M. Z znanimi lastnostmi CP/M sistema bomo lahko brez posebnih težav dosegli naložitev COM zbirke na naslov lOOH in navzgor. Ker bodo te COM zbirke, ki jih želimo npr. prevajati nazaj v.zbirni jezik, različnih obsegov, želimo imeti na razpolago čim večji del tkim. TPA (Transient Program Area) območja. Zaradi te lastnosti želimo imeti naš uporabniški program pod samim operacijskim sistemom. Namen naše naloge je tako pojasnjen. 2. Kratek'opis začetnega (premestitvenega) dela prograria Modifikacijska aditivna tabela začenja takoj za koncem uporabniškega programa in je določena s spremenljivko MODTAB. V tej tabeli so pravzaprav shranjeni vsi naslovi uporabniškega programa, ki jih je potrebno modificirati v odvisnosti od obsega CP/M sistema. V vsakem zlogu te tabele je shranjena le razlika do predhodnega naslova, ki smo ga modificirali, torttj aditivni pomik. Vrednost OFFH je določena kot markacija za konec tabele ter je izražena s spremenljivko ENDMK. Ostale spremenljivke liste 1 (v začetnem segmentu) so poljubne in v našem primeru smo le pokazali, kako lahko predvidimo določen prostor v uporabniškemu programu za kopiranje delov iz BDOS in BIOS. To Sta spremenljivki BDLEN in BIOLEN. Na lokacijo POS smo v našem primeru shranili za potrebe uporabniškega programa naslov na naslovu BDOSAD (vrstica 27 liste I). Prvotna lokacija s tem podatkom bo namreč dobila naslov začetka premeščenega uporabniškega programa (vrstica 47). V našem primeru se bo nerelocirani uporabniški program začel pri lokaciji '200H in se bo razprostiral do lokacije 16FFH. Na lokaciji 1700H se bo začela modifikacijska tabela, ki jo bomo ustrezno napisali k uporabniškemu programu. Program za avtorelokacijo v listi 1 pojasnjuje samega sebe, tako da nadaljni komentar ni več potreben. 3. Izvajanje programa Podprogram z liste 1, uporabniški program in modifikacijska tabela so shranjeni kot zbirka na disketi. Ko pokličemo to zbirko v izvajanje, se najprej uporabniški program modificira in relocira pod BDOS, nakar se začne Se izvajati. S tem je naSa naloga opravljena. Opisali bomo samo začetni del programa, saj bo nadaljevanje odvisno od konkretnega namena tega programa. Ta program bo premestil (relociral) samega sebe v odvisnosti od instaliranega CP/M sistema. Kot vemo, lahko CP/M sistem verzije 2.2 instaliramo v obsegih po ik-zložnih stopnjah v intervalu (20k, ... , 64k). Premestitev bo tedaj odvisna od dejanske vrednosti obsega iz gornjega intervala. Začetni del našega.programa je prikazan na listi 1. V tej listi se pojavljata med drugimi spremenljivki BDOSAD in WBOOTE, ki sta odvisni od trenutno instaliranega CP/M sistema oziroma od njegovega obsega. WBOOTE določa začetek podsistema BIOS v CP/M, BDOSAD pa začetek podsistema BDOS v CP/M. S tema spremenljivkama se tako uravna premestitev uporabniškega programa v odvisnosti od obsega CP/M sistema. Naslednji dve spremenljivki PRBEG in PRLEN se nanašata na začetek in dolžino uporabniškega programa. V naši shemi smo predvideli prostor med naslovoma lOOH in vključno IFFH za preme-stitveni podprogram, ki bo del celotnega programa, ki ga bomo naložili v obliki zbirke iz diskete. Ta premostitveni del je tudi prikazan v listi 1. lOOH 200H 1700H Modifikacijski in premestitveni podprogram Nepremeščeni uporabniški program Modifikacijska aditivna tabela [ Svobodni pomnilnik tipa RAM ■ I I 9700H ACOOH BAOOH BFFFH Premeščeni uporabniški program BDOS (CP/M) BIOS (CP/M) PRIMER ZA 48k CP/M addr code "" stmt source statement 0001 .'>0008 0002 RELOAD! ; ZAČETEK ĐEJAiJSKEGA XJPORABNlSKEGA 0003 S programa: >oaoo 0004 prbeg equ 20oh 0005 ; naslov naslova vstopa v bdos: >0006 0 0 06 bdosad equ 6 0007 S naslov naslova vstopa v bios: >0001 0008 uboote equ 1 0009 ; dolžina kopiranja zlogov iz bdos >0012 0010 bdlen ebu 12h 0011 ; dolžina dejanskega up0rabi41skega 0012 programa: 0013 ; kopija dela skocne tabele iz 0014 ; bios-a: >0027 0015 biolen eou 27h >1500 0016 prlem eou 150 oh 0017 ; začetek modifikacijske tabele: >1700 0018 modtab equ prbeg♦prlen 0019 S znak konca v modifikaci jski tab« >00ff 0020 eì4cmk eau offh 0021 t lokacija za shranitev cbdosad): >0239 0022 pos equ prbeg+bdlen»biole;j 0023 >0100 0024 org 10 oh '0100 31ff01 0025 ld spen(Mik pa postavljal temelje taki industriji, ki bi bila kos razmeram na evropskem in svetovnoin trziSòu. Bleiweisovim odklonilnim stališčem do prevzema Koertinga v šibke slovenske roke, pa je tudi že izoblikovana misel o progresivni vlogi doktorja Janeza Bleiweisa na polju slovenskega nacodiKHja gospodarstva. A.P.Železnlkar JANEZ ÜLEIWEIS IN KOERTING V sestavku Bojana Stiha: Blelwels 1982, Z nedavnega simpozija o "očetu slovenskega naroda" CP/M-86 v integriranem vezju Ameriško podjetje Intel je najavilo IzJelavo operacijskega sistema CP/M-86 (za 16-bltnl procesor 18086 in njegove naslednike) v enei.i samem integriranem vezju (tipa ROM). Ta slsteju deluje tudi na 8-bitnem procesorje 18088, ki ga uporablja osebni računalnik podjetja IBM (Personal Computer)■ Takšna izvedba operacijskega sistema omogoča brezdlskovno obratovanje daljinskih postaj v porazdeljenih lokalnih mrežah, kjer ae večje diskovne enote nahajajo na centralnih mestih. Vezje je ROM obsega 16k zlogov ter vsebuje še časovnike in drugo logikoj oznaka t:t-cja vezja je 8086-E3, vezje pa bodo začeli prodajati še to poletje (1982). Podjetje Intel je tudi objavilo, da je podpiralo sporazum za OEM distribucijo s poiijeLjem ni-gital Research, ki bo oskrbovalo Intelove plošče (tiskana vezja) z naročnikovimi verzijami sistemov CP/M in MP/H. A. P. Železnlkar *****************************************<* Novice uporabniških skupin SIG/M In CPMUu ******************************************* SIG/M skupina ja najavila dvanajst nadaljnlh zvezkov CP/M programske opreme, tako da ima sedaj skupaj 55 zvezkov (disket). SIG/M skupina je izdala tudi l2-stranski katalog svoje programske opreme, ki navaja programsko knjižnico in listo distribucijskih pogojev. Cena tega kataloga je it 2,00 za zračno pošto (Evropa) , naslov pošiljatelja pa je: SIG/M, Box 97, laellii, NJ 08830. Tudi CPMUG skupina je najavila in že realizirala izdajo 15 novih programskih zvezkov, tako da jih ima sedaj že preko 80. Pri tem velja omeniti, da so zvezki STS do 35 ponatisi starih SIG/M zvezkov 1 do 20. Na upogljivih diskih obeh uporabniških skupin je tako več deset milijonov zlogov uporabnišltih in sistemskih programov. Cena diskete je $ 12,00 (za Evropo) pri CPMUG. Uporabnik lahko dobi na ta način ceneno sistčmsko in aplikativno programsko opremo, A. P. železnlkar *«*****************«******»*******. 68000 produkti podjetja Cromeraco ************* *_* ******************** Podjetje Cromeraco Iz Mountain Vlewa, Ca je začelo dobavljati produkte, temelječe na procesorski tehnologiji 68000. Ti produkti so bili najavljeni že v septembru/oktobru leta X981 v časopisu Microsystems, Novi sistem je sestavljen iz treh S-100 piošči DPU (Dual Processor Unit) plošče z dvema procesorjema (68000 In Z80) (cena $ 995), MCU pomnilniškega krmilnika (cena $ 495) in 256MSU pomnilnika s 256k zlogi (cena J! 1995) . Dobavljiva je tudi ploSča s 512k zlogi. . DPU lahko Izvršuje izmenoma ukaze procesorjev Z80 in 68000 in med tem, ko na tržišču še ni izdatne programske opreme za 68000, se uporablja programska oprema za procesor Z80. Vsaka MCU enota se lahko uporabi za krmiljenje osnih 256MSU plošč. Uporabljena pomnllniška vezja so dinamična in plošča ima mehanizem za razpoznavanje napak in njihovo poravljanje. Napake se tudi beležijo in so za uporabnika razvidne. Tako lahko uporabnik sistema sam ugotovi, katero integrirano pomnilno vezje povzroča napake in to vezje sam zamenja. A. P. Železnlkar ******************************* podatki o prevajalniku pascal/z ******************************* Pascalski prevajalnik z oznako Pascal/Z deluje na CP/M sistemih s procesorjem Z80, imeti pa mora 56k zlogov "čistega" pomnilnika za svojo uporabo. Podatki b napakah prevajalnika se objavljajo dvomesečno, prav tako pa se preizkušajo poslani pascalski programi, ki pridejo v po^ štev za prodajo in distribucijo. Tisti, ki že imate programe, napisane v Pascal/Z, jih lahko pošljete na naslov: Charlie Foster, Director, Z-User Group, 7962 Center Pkwy, Sacramento, Ca 95823. A. P. Železnlkar disket pri dani aplikaciji. Cache/Q je za uporabnika in za sistemske programe transparenten. Ta novi produkt ima svoj Instalacijski program, ki je ihteràktiyen,' nadalje rekonflguracijaki (modifikacijski) program, s pomočjo katerega uporabnik lahko določi, katere zbirke ali razred zbirk bodo dostopljene ali pisane skozi vmesnike. Paket vsebuje tiidi prikazovalni program, ki pokaže operacijsko statistiko za Caohò/Q. A.P.Železnlkar ************************************** Pascalski prevajalnik za procesor 6809 ************************************** Pascalski prevajalnik podjetja Omegasoft deluje na operacijskih sistemih MDOS, XPOS, Flex, DOS69 ali OS-9. Enoprehodni prevajalnik prevaja hitro pascalske programe v optimizirani zbirni jezik procesorja 6809. Ta prevajalnik dopušča dolga cela števila, tako da je moč komercialne podatke obravnavati hitro brez Izgube hitrosti pri dvojni natančnosti realnih ali BCD števil. Prevajalnik ima v celoti dinamično dodeljevanje pomnilnika spremenljivkam z uporabo procedur NEW, DISPOSE, MARK in RELEASE. Prevajalnik podpira zbirke z naključnim dostopom. Druge lastnosti prevajalnika so še simbolično odpravljanje napak, izvajalna knjižnica z izvirnim kodom in storitveni programi za pomoč in oblikovanje verižne zbirke, ki povezuje uporabniški program z knjižnico izvajalnega časa. Prevajalnik za Pascal je napisan v strojnem kodu procesorja 6809 in potrebuje sistem z 48k zlogi. Razen prevajalnika sta na voljo tudi premestltveni zbirnik in povezovalnik. K prevajalniku je dodan jezikovni priročnik in konfi-guracljskl priročnik, ki določa oziroma opisuje spremenljivost sistema. Cena prevajalnika znaša $ 425, zbirnik in prevajalnik pa imata ceno $ 75. Naslov proizvajalca je:. Omegasoft Industrial Products Group, P.O.Box 70265, Sunnyvale, Ca 94086. A. P. Železnlkar ************ CP/M katalog ************ V februarju letos je izšla že druga knjiga tkim. kataloga programske opreme za javno uporabo. Ta katalog je izdal New York Computer Club Inc., P.O.Box 106, New York, NY 10008. Natančen naslov publikacije je: The Catalog of Public Domain Software for ĆP/M. Ta katalog vsebuje pregled objavljenih disket iz prve knjige (49 disket) ter zaporedne številke CP/M disket 50 do 53 in SIG/M disket od 1 do 42. Posamezni programi iz teh disket só podprti s primeri in v tej knjigi najdemo vrsto zanimivih in uporabnih informacij. Seveda je ta druga knjiga namenjena "pravim" uporabnikom CP/M programske opreme. A.^ P. Železnlkar ************************* Pohitritev CP/M sistema ************************* ************************************ Priročnik za operacijski sistem UNIX ************************************ Uporabniški , priročnik za sistem UNIX sta napisala Jean Yates in Rebecca Thomas ter predstavlja uvod v zgradbo, programsko opremo in lastnosti tega znanega operacijskega sistema. Knjiga je pisana za začetnika in opisuje začetne korake na sistemu, kot so vstop v lupino, obdelava zbirk, pošiljanje pošte in oblikovanje imenikov. Opisani so tudi storitveni programi sistema UNIX in njihove lastnosti. Dana je informacija o programski opremi za sistem UNIX in za sorodne proizvode, naslovi univerz, uporabniških skupin in časopisov, ki se ukvarjajo s problematiko tega operacijskega sistema. Cena te knjige (broširane) je fS 15,99, izdajatelj pa je Osborne/McGraw-Hill, 630 Bancroft Way, Berkeley, Ca 94710. A. P. Železnlkar Cache/Q proizvajalca Queue Computer Corporation povečuje hitrost izvajanja CP/M sistema za faktor 35. Cache/Q zahteva CP/M 2.2 sistem s 64k zlogi pomnilnika ali tudi manj. Pri tem je moč uporabiti tudi mehanizem pomnilnlških bank. Prenosi podatkov na in iz disket se opravljajo preko vmesnikov, tako da se znižuje aktivnost SREČANJA a-13 avguBt, Montreal , Canada 20th IMACS World Congress on Spatem Simulation and Soienttfia Computation Informaoi,ie: n'ACS Secretariat, Departement of Computer Soienoe, Rutgers tiniveraity. New dnmsuiak, NJ 08903 18 -il avguBt, St. Call, Sw'oa 7th Symposium on Operation Reaearah Organisator: Society for Hathematias, Eoonomioa •tmd Operation Research Informacije! H.Loeffel and P.Stahly, Institut fur IMtemehmensforsohung, Hochachule St.Gallen, Bodanetraase 6, CH-dOOO St,Gallen, SiHtaerland 24-87 avgust, Bordeaux, Francija First Working Conference on Advances in Production Management By s tema - AP»S 32 Organizator: IFIP WG S. 7 Informaoije; IFIP Secretariat, 3, rterationa Organisator:National Centre for Scientific and Technological Information Informa llu.' proposed format but in that c.ise please do not draw the format limits on the papei . He accurate in your typui<) and through in your proof leading. i'his manuscript will lie pliotographicaliy reductnl for reprixiuction without any proof reading or corrections hc--fore printing. INFORMATICA, Journal Ileadguarters I'armova 41, 610ÜÜ [Jubljana, Yugoslavia rieast! enter niy subsc:ri[ition to I NFDliM A I'lC A and send me I ho bill. Annual subscription price; companies US JJ 22, individuals US 3 7,5. Send journal to niyQ lionie address Q company's address. Surname.................................. Name..................................... Home afldross Street.................................... Postal ccHle __(Mty................ C'liiiip.iiiy address C'ompany.................................. Street.................................... Postal code_City................ .......................... Signature Use a goixl typewriter. If the text allows it, use single spac ijig. Use a black ribbon only. Keep your copy within the blue margin lines on the rxiiun', typing to the lines, but not beyond them. Double space between jiai agraphs. I'Mrst pagr. Use bluck letters for the title. The lenght of the abstrac t should not be ijn-ater than 10 lines. e) Drop 2 cm and Ijegin the text of the |)a|X-'r in the left column. Second and succeeding pages of the manuscript: As it is markeil on the iMpei; begin the text ol, the soiconrl and succeeding jiages in the left uiiper coiner. format of the subject headings : Headings are separated fi om text by double spacing. If some cliaracteis are not available cm your lypwi'iter write them legibly in black ink or with a pencil. Do not use blue ink, because it sliows poorly. Illusi rations must be black and white, sliaij) anil clear. If you incorporate your illustrations into llie text keep the proposed format. Illustration can also be placed at the onci of all text material provided, however, that they are kept within the margin lines of tho full size two-colunui format. All illustrations must be placwl into a()propriate positons in the text by the authoi'. Typing errors may be corrected by using white cori eclion paint or by retyping Ihe wor