s -. i?.- mm gorenje informatika '83 Industrija prosto programirani sisterrii procesni mikroračunalniški s/sfem/ Komunikacije s prenosom podatkov teletekst videotekst Informacijski sistemi Obrambni in varnostni sistemi Medicinska elektronika in informatika Mali poslovni sistemi sodelovanje z Birostrojem Potrošna elektronika Terminali Paka 2000 Mikroračunalniške enote in moduli informatica časopis .izdaja Slovensko društvo INFORHATIKJ., 61000 Ljubljana, Parmova 41, Jugoslavija UREDNIŠKI ODBOR: T, Aleksid, Beograd; D. Bitrakov, Skopje? P. Dragojlović, Rijeka» S. Hodžar, Ljubljana? B, Horvat, Maribori A. Manđžltf, Sarajevo; 3, Hjhalid, Varaždin i S. Turk, Zagreb GLAVNI IN ODGOVORNI UREDNIK: Anton P. Železnikar TEHNIČNI ODBOR: V. Batagelj, D.Vitas — programiranje I. Bratko — umetna inteligenca D. Ćečez-Kecmanovič — informacijski sistemi M. Exsl — operacijski sistemi B. Džonova-Jerman-BlažiC — srečanja L. Lenart ~ proccsna informatika D. Novak — mikroračunalniki Neda Papiö :— pomočnik glavnega urednika L. Pipan — terminologija V, Rajkovič — vzgoja in Izobraževanje M. äpegel, M. Vukobratovié — robotika P. Tancig — računalništvo v humanistiänih d.n družbenih vedah S. Turk — materialna oprema A. Gorup — urednik v S02D Gorenje TEHNIČNI UREDNIK; Rudolf Hum ZRUOŽNIŠKI SVET: T. Banovec, Zavod SE Slovenije za statistiko, Vožarski pot 12, Ljubljana A, Jerman-Blažič, DO Iskra Delta, Parmova 41, Ljubljana B. KlemenčiC, Iskra Telemattka, Kranj S. Saksida, Institut za sociologijo Univerze Edvarda Kardelja, Ljubljana J. virant. Fakulteta za elektrotehniko, Trža- ka. 25, Ljubljana UREDNIŠTVO IN UPRAVA: Informatica, Parmova 41, 61000 Ljubljana} telefon (061) 312-988} teleks 31366 YU Delta LETNA NAROČNINA za delovne organizacije znaša 1900 din, za redne člane 490 din, za študente 190 din; posamezna Stevilks 590 din. ŽIRO RAČON: 50101-678-51841 Pri financiranju Časopisa sodeluje Raziskovalna skupnost Slovenije. Na . podlagi mnenja Republiškega sekretariata za prosveto in kulturo St. 4210-44/79, z dne 1.2.1979, je časopis oproščen temeljnega davka od prometa proizvodov TISK: Tiskarna Kresija, Ljubljana GRAFIČNA OPREMA.: Rasto Kirn ČASOPIS ZA TEHNOLOGIJO RAČUNALNIŠTVA IN PROBLEME INFORMATIKE ČASOPIS ZA RAČUNARSKU TEHNOLOGIJU I PROBLEME INFORMATIKE SPISAN IE ZA TEHNOLOGIJA NA SMETAN JETO I PROBLEMI OD OBLASTA NA INFORMATIKATA YU ISSN 0350-5596 LETNIK 7, 1983-St. 2/3 A.P.Železnikar J.J.Dujmovlö I.MeSko R.Sabo A.P.Železnikar J.J.Dujraovid P.Knežević M.Lapaine M.V.Jefič D.B.Popovski M.Gams H.S.Milidevid VSEBINA 3 operacijski sistem CP/M Plus 11 An Approach to the Compa-rision of Machine Instruction Format 14 Production Planning by LOMP 20 Prikaz sinhronizacije paralelnih procesov na pro-bl.emu proizvajalcev in potrošnikov 28 Programiranje v Adi III 3 8 Jedan kvantitativni postupak za vrednovanje organizacije mikroprocesorskih registara 50 Modeliranje rada jedinica memorije sa direktnim dostupom (DASD) 58 Prošireno upravljanje memorijom za računar Delta 340 61 A Two-step Method for Finding Roots 63 Algoritmi za iskanje rezerviranih besed 67 Automatsko upravljanje letećom testerom uvodje-njem jednosmernog motora i mikroračunala 77 Uporabni programi 79 Novice in zanimivosti informatii JOURNAL OF COMPUTING AND INFORMATICS Published by INFORMATIKA, Slovene Society for Informatics, Parmova 41, 61000 Ljubljana, Yugoslavia editorial BOARD! T. Aleksid, Beograd; D. BJtrakov, Skopje; P. Dragojlovid, Rijeka; S. Hođiar, Ljubljana; B. Horvat, Maribor; A. Mandžiđ, Sarajevo; S. Mihalid, Varaždin; S. Turk, Zagreb EDITOR-IN-CHIEF: Anton P. Železtiikar TECHNICAL DEPARTMENTS EDITORS: V. Batagelj, d. Vd.tas — Programming I. Bratko — Artificial Intelligence O. Cedez-Kecmanovid ~ Information Systems M. Ejrel — Operating Systems B. Džonova-Jerman-Blažič — Meetings L. Lenart — Process informatics D. Novak — Microcomputers Neda Papid -- Editor's Assistant L. Pipan — Terminology V. RajScovič — Education m. špegel, m, Vukobratovid — Robotics P. Tancig — Computing in Humanities and Social Sciences S, Turk — Computer Hardware A. Gorup — Editor in SOZD Gorenje EXECUTIVE EDITOR: Rudolf Hum PUBLISHING COUNCIL: T. Banovec, Zavod SR Slovenije za statistiko. Voćarski pot 12, Ljubljana A. Jerman-BlaäiS, DO Iskra Delta, Parmova 41, Ljubljana B. Klemenfiiö, Iskra Telematika, Kranj S. Saksida, Institut za sociologijo Univerze Edvarda Kardelja, Ljubljana J. Vlrant, Fakulteta ra elektrotehniko, Trža- Ska 25, Ljubljana HEADQUARTERS: Informatica, Parmova 41, 61000 Ljubljana, Yugoslavia Phone: 61-312-988; Telex: 31366 YU DELTA ANNUAL SUBSCRIPTION RATE! US? 22 for companies, and USS! 10 for individuals Opinions expressed in the contributions are not necessarily shared by the Editorial Board PRINTED BY: Tiskarna Kresija, Ljubljana DESIGN: HaSto Kirn YU ISSN 0350-5596 VOLUME?, 1983-No 2/3 A.P.Seleznikar J.J.Dujmovid l.Meäko R.Sabo A.P.Železnikar J.J.Dujmovid P. Kneževi«; M.Lapaine M.V.Jefid D.B.Popovski M.Gams M-S.Hilidevid CONTENTS 3 CP/H Plus System Operating 11 An Approach to the Compa-rision of Machine Istruc-tion Format 14 Production Planning by LOHP 20 A Demonstration of Parallel Process Synchronization in the Proiàticer-Consumer Problem 28 Programming in Ada ITI 38 A Quantitative Technique for the Evaluation Of Microprocessor Register Organization 50 Modelling of Direct Access Storage Device (DASD) Activities 58 Extended Kemory Management in Delta 340 Computer 61 A Two-step Method Finding Roots for 63 Algorithms for Reserved Word Searching 67 Automatic Control for the Flying Cut-off Device by the Introduction of the Direct-Current Motor and Microcomputer 7 7 Programming Quickies 79 News OPERAClJSKt SISTEM CP/M PLUS ANTON P. ŽELEZNI KAR UDK: 681.3.06 CP/M PLUS;181.4 ISKRA DELTA, LJUBLJANA Ta Slanek pteglečlno opisuje lastnosti novega oparaoljakega sistema CP/M Plus (Cp/m versija 3.0) ja uporabnike slatema CP/M 2.2, tako da prlka-Euja nove lastnosti sistema CP/M Plus,. In sicer vgrajene ukaze, nove prehodne programe tega sistema, nove BDOS-funkcija, nove BIOS funkcije, slatemskl krmilni blok, diskovne podatkovne strukture, vmesnika In se-kljalne tabele, aahteve ea nebanönl In banßnl operacijski sletem in postopek modifikacije s pomočjo sistema CP/M 2.2. Splošno je opisan maha-nlzem pomhllniškega upravljanja, organizacija banfinega pomnilnika, bančna posebnosti BlOSa in prednosti banfinega sistema s tabelami Ih vmee-nikl. . • CP/MP.luB Operating System. This article Is a survey of the new CP/M Plus Operating System features for the CP/M 2,2 users showing new abilities of the CP/M Plus Systemi built-in commands, new transient programa of the system, new BOOS functions, new BIOS functions, system control block, disk đ«ta structures, buffering and.hash tables, nónbanked and banked aystems requirements and updating from CP/M 2.2, In a general way memory inanagement, banked memory, banking of BIOS, benefits of a banked syateni with tabi,es and buffers are described. 1.Uvod Sistem CP/H je bil v časopisu Informatica že 'dokaj izčrpno opisan (glej navedbe v slovstvu : pod "Itevilkami ((i)), ( (2) ) In ( (3 > ) , kjer je : navedena Se druga literatura). CP/M Plus je nova Izvedenka aisteina CP/H 2.2, ki se je letos pojavila na tržiSču In pomeni nove, vpodbudne Ijnoinoatl za uporaba B-bltnlh mikroprocesorjev. Novi osebni mikroračunalnik Partner, ki ga proizvaja DO Iskra Delta, uporablja nov operacijski sistem CP/M Plus (ali CP/M 3.0) za 8-bltne mikroprocesorje. Nova različica je Se vedno dovolj podobna Btarejtiu CP/M 2.2, je enouporabnl-Ska In livaja zbirke tipa .COM, Ima tudi neka; tere prejänie ukase, kot so DIH, REM, T)rp£ itd. Čas, ki je potreben za prlučltev na novo različico operacijakega sistema, je neznaten (spo->znavanje operacij na ukazni ravni). Vendar je a temi pičlimi ugotovitvami tudi koneo podobnosti med novo In ataro različico sistema CP/M, CP/M Plus je bistveno različen od avojega predhodnika, saj predstavlja novo (tehnološko) generacijo. Imeniki tega aiatema so aekljanl (ha-'shed). Tklm. LRU (Least Recently Used) vmesnlS-kl prenos (uporaba pomnilnih vmesnikov za sektorje s strategijo, da ae uporabi vselej, ko zmanjka pomnllnläklh vmesnikov, tisti vmesnik, ki jo bil v poslednjem čaau najmanj uporabljan) ae oprivi ja v BDOSu (v osnovnem diskovnem operacijskem aiatemu), Obseg diskovne enote je povečan na 512M zlogov (npr. uporaba 600M zložnega vlnfiestrškega diska) in največji obseg zbirke je 32M slogov.' CP/M Plua lahko uporablja pomnilnik z bankami (npr. bančni pomnilnik z 2Sek zlogi dinamičnega RAMa), ki prlnaSa vrato prednoati, kot sd'razäirjeno vrstično urejanje, dostop z geslom (podoben' dostopu v zbirke sistema MP/M) In razširitev vmesniSkih (perlfet:-nlh) funkcij. Vrsta lastnosti je resda ostala nespremenjenih, vrata pa se jih je bistveno epromenlla. CCP (u-kaznl konzolnl proceaor) je lahko prehoden program. Operacijski aletem ima svoje bivališče v regularni diskovni zbirki (ne na posebnih sistemskih stezah dlaka) in se naloÜl z uporabo enostavnega nalagalnikaj ta se nahaja na si-eteniakih stezah zadevnega dlaka oziroma dleker te. Tudi SAVE ukaz (glej slovstvo p CP/M sistemu na koncu članka) je prehodni ukaz (v stari različici vgrajen ukaz), ki sam sebe premesti na vrh TPA (Transient Program Area oziroma območje prehodnih programov). CP/M Plus slst«» se generira iz množice premestijlvih zbirk zu-, porabo ganerlrnega programa GSNCPM na način, ki je podoben načinu generiranja v MP/M sistemu, BIOS (Basic I/O System osslroma osnovni V/I sistem, ki je poseben modul operacijskega elsta-ma) je razdeljen na enostavnejSe modula, tako da je modifikacija (In graditev dodatnega del«) lažja in hi trej Sa In da se lahko uporabi (in postopno razvija) tudi modificirani BIOS sistema CP/M 2.2. V/I se lahko preusmerja (krmili) Z enostavnim storitvenim programom. Nov operacijski sistem ima dodanih tudi več sistemskih programov, kot je npr. dokaj obseien HSLP ukaz. Celota je skupaj z BDOBom tako izpopolnjena, da zagotavlja visoko stopnjo prijaznosti, prltoč-nosti In seveda zanesljivosti. 2. Hove lastnosti sistema CP/M PluB 2.1, Dokumentacija Dokumentacija za CP/M Plus je v primerjavi i dokumentacijo za stari sistem (CP/H 2«2) izdelana vzorno in profesionalno. Sestavljena je iz Štirih priročnikov i uporabni äkega« sisteinskega, programlrnega in storitvenega. Vsi priročniki so vsebinsko tako zaokroženi, da vsak xase omogočajo razumevanje sistema CP/M Plus In njegovo modifikacijo iz sistema CP/M 2.2. 2.2, vgrajeni ukazi Dodanih je veC novih ukazov, In sicer vgrajenih In prehodnih, iz prejSnje razllCice so ostali ukazi ĐI Rectory, ERAse, REMame, TIfPE In USER, dodan pa je bil ukaz DiBSys, kl prikaìe sistemske zbirke (prej prlKazljive s prehodnim ukazom STAT). Vendar so vel ti ukazi razäirjeni (izpopolnjeni) , tako da avtomatično nalagajo zadevne prehodne programe. Vgrajeni ukazi so tiles DIR To je storitev z razälrjenim prikazom imenika, DIR vsebuje vefi kot 16 raallfi-nih možnosti ukaznih vrstic, prikaìe lahko obseg zbirk (prej STAT ukaz), preostali prostoi" na disku in vstope, pridevke, datum, diskovne enote, uporabniška obmofija itd. DIRSVS Prikaže vse sistemske zbirke v trenutnem uporabniškem območju. ERASE Ta ukaz je podoben ukazu 2.2 ERA, vendar omogoča potrditev (soglasje uporabnika) pred izbrisom, RENAME Omogoča preimenovanje zbirk, lahko zbriSe dvojna imena (s potrditvijo), omogoča vključitev delov v specificirana abirčna imena. TYPE Ima enako funkcijo kot prej, vendar omogoča stranenje (listanje po straneh) In zahteva ime zbirke, če to ni bilo posredovano v ukazni vrstici. USER' Ima enako funkcijo kot prej, vendar zahteva številko uporabnika, če mu ta ni bila posredovana v ukazni vrstici. 2.3. Prehodni ukazi (programi) Novi' prehodni programi sistema CP/M Pius pa so tiles COPVSVS To je storitev za kopiranje nalagalni-ka (podobno kot SVSGEN). CP/M Plus se nahaja v diskovni zbirki In COPVSVS vpiše nalagalnik na sistemske steze. DATE DEVICE Nastavi In prikaže datum in čas. Se uporablja za prireditev logičnih CP/M naprav eni ali več fizičnim CP/M napravam. Omogoča uporabniku spremembo vmesnlških (perifernih) protokolov, hitrosti prenosa (baud rate) in modifikacijo viälne in Širine zaslona. DUMP ED Je podoben DUMP programu za zbirke v HEX in ASCII formatu. prikaz ED je tu vrstično usmerjen, ima pa vsa prejSnje ukaze. HELP KEXCOM INITDIR LIB LINK MAC PATCH PIP PUT RMAC SAVE SET SETDEF SHOW SID SUBMIT XREF vhod iz diskovne zbirke namesto s tastature, To je storitveni program, ki s pomočjo 7fiX-zloine podatkovne zbirke pojasnjuje uporabo ukazov. Podobno kot LOAD v CP/M 2.2 ae ta program uporablja za pretvorbo ,HEX zbirk v .COM zbirke. Inlclallzlra diskovni Imenik In omaigo-čl odtis časa in datiuma v bančnem Ć&/M Plus sistemu. Knjižnični storitveni program, standardni povezovalnlk za proizvodnjo programskih zbirk Iz .REL zbirk, nastalih z uporabo RHACa. Ta makrozblrnlk generira .HSX zbirke. Sistemska storitev za zblrčno popravljanje sistema. Je enak staremu PIPu, vendar omogoča prestavitev zbirk v druga uporabniSka območja in lahko zahteva potrditev za vsako proceduro} Ima tudi ARCHIVE lastnost. Omogoča, da se zapis za tiskalnik ali konzolo prenese v diskovno'zbirko. To je premeščevalni makrozblrnlk, generira .REL zbirke. ki Je storitev, ki sama sebe instalira na vrh TPA, se vrne, prestreže izstop NEXT programa, da tako omogoči reiitev TPA vsebine, (SAVE ukaz ni vgrajen v CP/M Plus). Omogoča nastavitev zblrčnlh pridevkov. Pridevki so diskovne označitve, tip časovnega in datumskega odtisa, začčl-ta z geslom in drugi sistemski pridevki, ki so se uporabljali v STAT. Omogoča nastavitev različnih sistemskih možnosti, kot so veriga iskanja enot (diskovnih), začasna enota in vrstni ređ iskanja zbirčnlh tipov. Krmili tudi sistemska načina DISPLAV in PAGE: DISPLAY način povzroči prikaz 1-men in programskih lokacij ali naloženih zbirk tipa .SUB; PAGE funk■ Rezidentni BIOS Rezidentni BDOS BIOS tabele Bančni BIOS Bančni BDOS Imenigkl vmesniki Sekljalne tabele Dodeljevalne tabele TPA CCP (pri izvajaL.....ItL.... SSbssäs ■ ---1 _; _ = ^. Podatkovni vmesniki CCP (v rezervi) Podatkovni vmesniki = E;sssia kNebančni pomnilnik l- 64K ^ Bančni pomnilnik Slika A. Tipični Štirlbančni model sistema CP/H Plus (ki pa ni maksimalen) Ijeno banKo St. ü. To je dogovor. V reisldóntnem ■ delu BlOSa se pahdjata rutini za diakovno branja In piaanje, potreben.pa bo Se poislv rutine pomnllniäkega upravljanja, da Be bo vkljuölla ustrezna banka za podatkovni prenos. Po branju ali pisanju v doloèen sektor ee mora ponovno vkljuöiti banka Bt, O pred vrnitvijo v UDOS. banCna številka, ki mora biti uporabljena za diskovno branje in pisanje ee posreduje z novo moa rutino z imenom Set Bank (nastavitev banka), ki posreduje vselej bančno Številko med u in 15. 'i'a Številka ae shrani skupaj s Številkami ateüa in sektorja in z DMA naslovom, da bi bila lahko uporabljena pri diskovnem branju in Ijì.siìjiju. Zato bo potrebna izdelava rutine za U.bUo pomnilnika (Solecf Memory), ki se poh.lifiü z banöiio številko in mora opraviti mater leilno odviano opravilo preklopitve na ustre-f:no poninilnläko banko, Nazadnje bo potrebno iz-adititi še rutini MOvp in XMOVK, ki kopirata poiisiiilnlški blok v okviru dane banke (MOVE) ali iiitid dvtìma bankama (XMOVE). Procesor Z80 Ima na vuljo ustrezne ukaze za blobni prenos. 3.4. Prednosti bančnega sistema Prva prednost bančnega sistema je v tem, da Je aa uporabniške programe na raapolago veČ pomnilnika. Večina operacijskega sistema biva v. poaabni pomnilniški banki in tako ne obremenjuje TPA prostora kot sistem CP/M 2.2. Tudi bančni BDOS ima nove lastnosti, ki ao za uporabnika prijaznejše In bolj raznovrstne. Obstaja za-aIonsko usmerjen urejevalnik, ki je vgrajen . v ukaz branja konzolnega vmesnika in se uporablja pri vstopu ukaaov pri CCP, PIP in drugih storitvah. Tčt editor omogoča ponoven vpoklic zadnje vratice konzolnega vhoda, omogoča pomikanje kur zor j a z nioinostmi vstavljanja in brisanja, Modificirana ukazna vrstica ae potem po-noviio obdela. To pa skrajšuje tipkanje pri podobnih ukažih, popraviti pa je mogoče tudi napaki-, kl.ae je pojavila, na začetku dolge vrstice. Tudi sporočila o napakah so daljéa in bolj iaiuzita, pokaie ae Številka BDOS funkcije in ime zbirke, kjer se je napaka pojavila,.Naslednja bistvena lastnost bančnega BDOSa je zaščita zbirk z gesli, S tem je zaščitena zasebnost a.birh pri upoialjl. sistema z več uporabniki. Prav tako je moč zbirke zašČitit-i. pred izbrisom, . plaanjem ali branjem pred nepoklicanimi I osebami. 3.5. Tabele in vmesniki K opisanim vidnim zuiiaiijini lastnostim sistema CP/H Plus je treba dodati še prednosti vrsta notranjih izboljšav v BDOSu. Te izboljšave bistveno prispevajo k hitrosti večine diskovnih operacij. 'I'e izboljšave se pokažejo tudi pri nebančnem sistemu, vendar je pri bančnem sistemu omogočena njihova polna uporaba, ki ne gre na račun dragocenega TPA prostora. Na poseben način se .lahko üENCPM določi obseg in mesto vseh teh tabel. Ove vrsti tabel, ki ju lahko pomaknemo-v banke in sta znüni iz s iste/na CP/M 2.2, sta vektorja prelKkuanth vsot in dodeljevanja. Vektor preizkusnih vsot jè. tabela, ki vsebuje enOzlo4na preizkusne vsote za vsak sektor v diskovnem imeniku. Med imeniŠkiiiii operacijami uporablja CP/M te preizkusne vsote za razpoznavanje različnih disket, ki so bile vstavljene v enoto, Hazlika pri sistemu CP/M Plus je v tem, da je moč vektorje preizkusnih vsot pouiaknltl v banko àt. O In tako razbremeniti fPA prostor. Dr Ulja znana tabela je dodaljovalni vektor. Ta tabela sé uporablja za evidenco zasedenih blokov (dodoi jevalii tti Skupin) na dlaku, V sistotiiu CP/M 2.2 In v nebaiičrieni sistemu CP/M Plus se u-poraLilJa en bit za evidenco vsakega diskovnega bloka. Ta bit ee popravlja vsakokrat, ko je nov blok uporabljen in celotna tabela se. rekonstruira pri toplem zagonu'oziroma pri Vstavitvi nove diskete. : - V bančnem sistemu cp/m Plus se uporabljata dva bita za vsak blok. Prvi bit kaže uporabijenost bloka za zbirko, ki Se ni bila zaprtai drugi bit pove, da je bila zbirka, povezana s tem blokom zaprta in tako potrjuje permanentno dodelitev, Ta dvobitna shema omogoča sproSčanJe blokov, ki so bili dodeljeni izvajanju trenutnega programa, ko se enota resetira ali ko. Je program izstopil brez zapiranja svojih zbirk., Tako ni več potrebno preiskovanje .Imenika (kot' v sistemu cp/m 2.2) za prestrukturiranje' dodeljevalnega vektorja med toplim zagonom. TŠ. pristop povzroči izdaten čaao.vnl prihranek pri toplem zagonu. V primeru, da se CCP prenese iz sosednje banke, postane tklm. topli zagon navidezno odvečen. i Imeniéko sekljanje (hashing) je nova lastnost sistema CP/M Plus. V rutini GENCPM je s pomočjo dialoga moč izbrati sekljanje na nekaterih ali na vseh diskovnih enotah. To povzroči nastanek dodatne tabele s štirimi zlogi za vsak imeniSkl vstop, ki ee dodelijo z rutino GENCPM In .se oblikujejo, ko se posamezna disketa vpiše. To tabelo uporablja BOOS za direkten izračun lokacije zbirke v imeniku, tako da ni več potrebno zaporedno preiskovanje imenika kot v prejSnjem. BDOSu. Povečanje hitrosti je tu znatno pri odpiranju, zapiranju, preimenovanju in brisanju zbirk, saj nastopi vselej operacija nad enim samim sektorjem. Nadaljna notranja izboljšava BDOSa je uporaba^ domiselne sheme hitrih vmesnikov (cache) pri diskovnem, dostopu. Med izvajanjem rutine GENCPM se lahko vsaki enoti v sistemu dodeli množica (bazen) -vmesnikov. Ločeni bazeni se vdräujejo za imeniäke in podatkovne sektorje. Vsak bazen se lahko dodeli eni sami enoti ali pa je skupen za več. diskovnih enot po prosti izbiri. Vsak bazen lahko vsebuje do 255 vmesnikov in celotno število vmesnikov bo omejeno le z razpoložljivim pomnilnim prostorom. Imeniški vmesniki ae namestijo v banko št. O (kot kaže slika 4) tako da 30 lahko dostopni za imeniške BDOS funkcije. Podatkovni vmesniki se lahko predvidijo v bankah St. 2 do 15. Hitri vmesniki (cache) se uporabljajo z namenom, da se preprečijo ponovna branja Se prebra-'nlh diskovnih sektorjev. Ko je bil sektor enkrat prebran ali vpisan, ostane v pomnilniku. Ponovno branje istega sektorja bo uporabilo obstoječo pomnllnlSko kopijo in tako .na bo po-. trebno ponovno branje z diska. Ko sistem uporabi vse razpoložljive vmesnike, sprosti najmanj uporabljenega v zadnjem razdobju. Obstaja poseben BDOS poziv (rutina) za sproščanje vmesnikov, Programi, kot so PIP z verlElkacijsko mo-änoatjo, pa morajo opravljati vsakokraten diskovni dostop. Učinek te vmasnlSke sheme na prevajalnike, tekstovne procesorje, pakete podatkovnih baz in .dcuge programe, ki uporabljajo ponovne dostope k latizu podatkom, je izredno zanimiv. Ko je bil enkrat opravljen prehod skozi zbirko, se na disk praktično ne dostopa, če ni vpisa v zapis. Programi s plastmi se Izvajajo hitreje, ker lahko plast ostane v pomnilniku Še od svoje prejšnje uporabe. Sistem hitrih vmesnikov daje videz, kot da se program lüvaja v velikem pomnilnem prostoru. 4.Sklep Sistem CP/M Plus je veliko bolj zmogljiv kot alsteiii CP/M 2,2 in brikone dosega mejno zmogljivost za ä-bitne mikroprocesorje. S tem pa se podaljšuje tudi jtivljenska doba uporabe tì-blt- nih procesorjev v prihodnosti. Te njegove ia-jemne zmogljivosti pa je potrebno v celoti prenesti tudi na aplikativno programsko opremo, Aplikativni programi se vobče lahko izvajajo na novem sistemu, ne morejo pa se izvajati nekateri diskovni storitveni programi. Ena glavnih prednosti sistema CP/M Plus je poveCana hitrost diskovnega dostopanja, ki je pogojena z dodatnim (banönlm) pomnilnikom. Implementacija pomnilniSkega upravljanja je tako priporošljiva. Pohltritev diskovnega dostopa pa je zlasti pomembna pri velikih (vin-čeotrsklh) diskih. Bistveno je tudi poveSanje TPA prostora, kar omogofia priročnej Be izvajanje daljSlh uporabniških programov brez plaste-nja. • Slovstvo ((1)) A.P.želeanlkarr Uvod v CP/H I. Informatica 5 (1981), St. 3, str. 63-76. ((2)) A.P.Železnikars Uvod v CP/M II. Informatica S (1961), St. 4, atr. 9-23. {(3)) A.P.Železnikars Uvod v CP/M III. Informatica 6 (1902), St. 1, str. 33-42. ((4)) CP/M Plus (CP/M version 3) Operating System; User's Guide (1982), Digital Research. ((5)) CP/H Plus (CP/M Version 3) Operating system! System Guide (1982), Digital Research, ((6)) CP/M Plus (CP/M Version 3) Operating System: Programmer's Guide (19S2), Digital Research. ((7)) CP/M Plus (CP/M Version 3) Operating System:. Programmer's Utilities Guide for the CP/M Family of Operating. Systems (1962), Digital Research. ((8)) 0.Hardy, K.Jacksoni CP/M Plus» An Overview for CP/M 2.2 Users. Microsystems 4 (1963) , No. 2, pp. 20-25. ((9)) B.R.Ratoffi Implementing the Advanced Features of CP/M Plus. Microsystems 4 (1983), No. 2, pp. 26-29. * CP/H Plus in CP/M sta zaščitna znaka podjetja Digital Research, P.O.BOX 579, 160 Central Avenue, Pacific Grove, CA 93950, U.S.A. *********************** LISA je nov dosežek ik********************** Podjetje Apple je dalo v prodajo svoj nov eno-uporabnlškl osebni računalnik z Imenom Lisa. Ta grafično usmerjena in z miSko vodena delovna postaja je namenjena predvsem pisarniškemu delu (po naše administrativnemu delu), njena cena pa je 9 9995. Lisa Je podobna sistemu Star podjetja Xerox, je pa cenejša. Njena znaCllnost je tklm, lokalno Integrirana programska arhitektura, ki omogoča njeno uporabnost z minimalnim vtlpkavanjem prek tastature. Podobno kot sistem Star je tudi Lisa močno grafično usmerjena, z menujskim načinom komunikacije In z uporabo mlSke (ta miška se giblje prosto po mizi) za manipulacijo kurzorja (zaslonskega kazalca). K miško se kurzor pomakne k določeni besedi ali sliki (Xerox Imenuje tak objekt podoba) na za- slonu in s pritiskom na miškin gumb se potarci nekaj zgodi, npr t prikaie se ukazni sez^Ant, odpre ali zapre se zbirka, pomakne se beiftđa ali cel odstavek, generira se določen stolpec podatkov ali pa se oblikuje preglednica. Osebni računalniki so se doslej ie udomaCll| na določenih poslovnih področjih, pri poslovi«ju na veliko In na malo, v. vladnih In uprav lovskih pisarnah, v Šolah in v raziskovalnih Ifbo-ratorijih) cilj novega plasmaja osebnih računalnikov je sedaj poslovna eksekutiva in strokovnjaki (ekonomisti, Inienlrjl, komercialisti, svetovalne strokovne sluibe). Lisa uporablja mikroprocesor 6B000, 12-coA.Skl firnobell zaslon, 5MB vlnčestrskl disk in dve petinčetrtcolski enoti za upogljlviva disk« z obsegom 670KB, selektrlčno tastaturo z nu^ri-čnlm dodatkom in miSko. V to materialno opiremo je integriranih šest programskih paketov t - LisaLlst omogoča oblikovanje in vzdrževanje seznamov poljubnega tipa za osebno podatkovno bazo - LlsaCalc je modelirni pripomoček za razpre-delnične pole In finance, kjer se pola lahko razprostira do 255 vrstic in do 255 stolpcev - LlsaProject je vidni pripomoček za projektno upravljanje, ki omogoča uporabniku vitlanje kritičnih poti, medsebojnih odvisnosti in postavljanje vprašanj tipa "kaj - če" - LisaHrite "je besedni (tekstni) procesor - LlsaGraph je namenjen poslovni grafiki - LisaDraw je bistven del Integrirane programske opreme in nudi menu črt, krogov, likov, za oblikovanje skic, shem, tehničnih diagramov in temu podobno Lisa je rezultat dela 200 Človek-let, od tega velik del za izdelavo programske opreme. Investicija v ta projekt je znašala 40 do 50 milijonov dolarjev, projekt pa se je začel v letu 1979. Na osnovi tega projekta je podj etjé Apple ustanovilo poseben oddelek za osebne pisarniSke elsteme s 100 inženirji v letu 1980. Kljub temu se pričakuje, da bo 90% programske oprema za Liso narejene izven podjetja Apple (neodvisni programski proizvajalci). Podjetje Digital Research bo Imelo CP/M za Liso, podjetje Microsoft pa operacijski sistem Zenlx (veraija Unlxa). Na vidiku so tudi visoki programlrni jeziki Cobol, Basic, Pascal in Fortran. Iz drugih virov se bodo pojavili tudi aplikativni programi. Predviden je tudi paket AppleNet za lokalne mreäe, s širino i Mbit in s podporo za 126 naprav. Ta paket naj bi omogočil povezavo z drugimi mrežami, kot so Ethernet in širokopasovne mreže vključno s storitvami podatkovnih baz In elektronske poŠte, Lisa je namenjena pisarniškemu tržišču, strokovnjakom, direktorjem in administrativnim pomočnikom. Namenjena je pa tudi manjšim ip srednje velikim podjetjem z manj kot 200 milijoni dolarjev brutoprodlkta na leto. Podjetje Apple je v letu 1982 doseglo psodukt 583 milijonov dolarjev, s cenami svojih sistemov med 500 in 6000 dolarji. Leto ppej je Imelo Še 2 3% tržišča v ZDA, lani pa sa^o še 19% zaradi vstopa IBHa na to trilšče, an approach to the comparison of machine i nstruc t ion f0rmats UDK: esi.aoz , jozo jl dujmovic DEPARTMENT OF ELECTRICAL ENGINEERING UNIVERSITY OF BELGRADE, YUGOSLAVIA A quantitativ« modpl for evaluation and comparlflon of ««««h^»® poaed. The suitability of Instruction formate for assembly programing U ^^ various eKipirtcal studies of major high level languages an indicator of the average ^ aaelgtunent statement la derived. Thia indicator la then applied for organlaing a formal criterion for evaluation and oompariaon of. machine Instruction formata, JBÓAN prilaz KOMPABACtJI FORMATA MASIBSKIH IMSTRUKCIJA. U radu se predlaie Jef^o^tavan model aa vrednovanje 1 komparaciju formata maäinskih inatrukclja. gođnosti raznih formata thetruhclja za programiranje na aindjouekom maälnskom Ji?! ImpirljBklh studija glavnih vlSlh programskih- Jezika izveden je pokazatelj prosefine đuSlne in«ruk cl Ja dodele vrednosti, Ovaj pokazatelj ee zatim primenjuje za realizaciju formalnog krlterljuma aa vrednovanja 1 koraparaoIju formata maSlnskih instrukcija. INSTRUCTION t-ORMATS ■ . Traditional organization of a machine in-atruotion assumes an opcode field and up to three address ft Ida referencing memory lo- . catione (denoted M) or explicitly addressable procesaor regiatera. (denoted RK. Let m denote the nuiftber of memory addresses per Instruction, and r denote the number of general purpose register addressea per instruction. For zero-, one-, two-, and three-address"instructions the ten possible instruction formats can be defined aa shown in Table I, .. ^ .Table I. I'en Instruction Formata loBtructioo fo Milit» 0 9 H Ktt RR» » MA HH M«K - 0 2 MM, MMA HMK - i 3 MHM _ _ 1 ** 2 3 1 f 'l'ha format li> danotea stack machlnea. In the /.case , r=0 we aasunie a coinputej: with an accumulator A that holds one operand and receives the computed reault (thla explains tike aytnbol ma), In the case ni=2, r = ü. Loth the veralou with an accumulator (mmaj and the ver-alon without the accuiiiulator (HMJ are possible. The formata h, RH, and RBH ciui be conaidered AUKUlary formats etnee they are uaed either aa apeelal caaea derived from instruction formate having iii>0, or the regiatera contain the addresses of memory locati ona to be tetarenced and conaequantly auch R-forma ta are equivalent to the corresponding H-formats. Of pourea, the availability of general purpose registers enables the efficient handling of intermediate results of arithmetic operations, but the M-.■ -fields are crucial since they enable fetching of operands from memory. Bdme machines have only one Instruction format, e.g. the only instruction format of the IBM 1130 is MA. Modern computers, however, more frequently have multiple Instruction formats I'6).' For example, the instruction formats of the DEC PDP-11 are MM, MR, and BR. Similarly, the Instruction formats of the IBH/370 are MM, MR, BR, and MRR. Since the aaaembly language programming is easier in the cases With more various logical instruction formats the number of available formats can be used as one of criteria for comparison of competitive processors. average length OF an assignhbnt statement Various Instruction formate yluld various levels of ooinplexlty of aaeeiiOily language pro-grajBS. Of course, from a progranuuer's standpoint short programs are more convenient than longer ones. Consequently, the length of the program can be used (or comparison of various instruction formats. This Immedlatelly rises the iseoe of ' selecting a representative ("typical") program. In the area of high level languages the studies of typical real-life programs included programu written in Algol (11 , Fortran [2,3] Cobol 1:4,5,6:1 , and PL/1 [7,8 J . These analya.ea showed that the alinpleat progranuiiiiig'patterns are the most frequent In practical programming. Consequently, the majority of executed state-menta are aaalgiimenta. According to Knuth [2] the dynamic frequency of assignment statements la Static frequencies of asaignnienta ahow a rather consistent pattern« KnutU U I U'ortran) 41« - 51« Hobinaon 1 Torsun 13] (Fortran) 36.14- 36.1» AlrJarrah i Torsun tSJ (Cobol) 37.64- 46.3« Strebendt (Kuck) fć] (Cobol) 49.6« Elshoff f?] (PI./0 TUeuefOL-e, we believe that the risk of qvse-aiiiiplificatlon is sufficiently low if the 12 Table II. AsBembly language programs for an assignment statement 1 m=0 (format 0) 1 n=l (format HA) m=2 nTTrmrrmv ■sMflTHMliXtJ 1 push Mj A = = »1 1 A == T == push H^ A A := A*M3 T A A A*M3 A T push H^ It A A := A*Mj T T*Hj push H^., * • ' ... A A A T T*«, pop M,; «k := A ;= A «k == 2k-2 k k-1 1 Table III, The average length of aa assignment statement k Pk p,t,(2) V3) 2 0.43 2 0.66 2 0.86 1 0.43 1 0.43. 3 0.30 1.20 3 0.90 2 0.60 1 . 0.30 4 0.12 6 0,72 0.48 3 0.36 2 0.24 5 0.05 e 0.40 0.25 4 0.20 3 0.15 6 0.05 10 0.50 0.30 5 0.25 4 0.20 7 0.05 12 0.60 0.35 6 0.30 5 0.25 LCO) = 4.28 1(1) = 3.14 L(2> = 2.14 L(3) =1.57 coniijarison of Instruction formats Is based on the assembly language programs which realize assignments. Let Mi, Mj,..., Mj^ denote a sequence of memory addresses. The general assignment statement can be defined as follows! W,. k>l, where * denotes an arbitrary associative binary operation. Of course, ali sizes of assignment statements are not equally frequent. The analysis of Robinson and Torsun [3] showed the following relative frequencies for large application programs: k=2 k=3 k=4 P2"0.43 P3=0.3 p^=0.12 p^+p^t...=0,15 . This distribution is consistent with Knuth'a measurement 12] showing for various samples 45 , 0.49 , and even 0.68. Since pj, p,:, .. wSre not provided by the original measurement [3] we will adopt the values P5=pfi"p-)a0.05 since they yield ° ' k = 2p2)-3p3+4p^+5p^+6p^+7p^ » 3.14 which is consistent with the average length of assignment statement, k=3.2 , measured by Wichinann Cl) . . The general assignment statement le programmed In assembly language in the way shown in Table II. The bottom line in this table shows the total number of assembly language instructions. I.e., the length of the program Lj^ (m) . The average length of the assembly language program realizing an average aBslgnment statement is 7 L(m) := £ p. L. (m) k=2 and can be computed according to Table III. Therefore, in the best case of the thr&e--addresa format an average assignment can be realized wltli 1.57 assembly language instrnctlcns. In the worst case corresponding to a stack machine the necessary number of assembly language instructions is 4.2B. EVALUATION AND COMPARISON OF INSTRUCTION FORMATS Evaluation and comparison of instruction formats represents a step in the computer evaluation and selection process. Using the LSP method for system evaluation |9,lül a criterion for system evaluation is organized aa a logical aggregation of a number of elementary criteria. One among the elementary criteria is the elementary criterion for the evaluation of instruction formats. An elementary, criterion, is defined aa a mapping of a value of a performance variable into the:.corresponding value of elementary preference. The performance variable represents a relevant system performance Indicator influencing the. system capability to satisfy some given re- ' quireinents. In the case of instruction format the performance variable is m and the requirement is to achieve the shortest possible assembly . language pro.gr am i Thè length of an assembly language program is approximated by the average length of an assignment statementiUm) , and . therefore L(m) can be used for evaluation and comparison of various instruction formats. The corresponding elementary preference E^ is. rigorously. Interpreted as the degree of truth in the statement asserting that "the value of m (or Lfm)) completely fulfills all given requirements" (thus OsE^sl). Approximately, the elementary preference can be interpreted as a percentage of fulfilled requirements. Consequently, the elementary criterion for instruct tion format evaluation is a function m Em . ■ A rational way to assign preferences E2, and E3) to various instruction formats is to assign the maximum preference (i.e. 1) to the three-address format, and to assign the minimun« preference E^i^ to the zero-address format. This reasoning yields the following elementary criterion: ._ L{0) - L(m) + Ej^^^CKm) - L(0) - L(3) ■ ^ m =i. 0, 1, 2, 3. The minimum preference E reflects the evaluator's. standpoint, i.eH'^?he requirements of some specific environment. One way to select ^miii . to take into account that some real stack machines are restricted only to high-level languages [11]. Of course, in that case the inconvenience of assembly language is not the only reason for not allowing general programmers to use the assembly language. That allows us, however, to conclude that in an extreme (but not unrealistic) case one can adopt.E^in^O yielding the results E =0.42, £2=0.79, E3=1 Several alternative criteria for instruction format evaluation are shown in Fig. 1. f CONCLUSION From 40% to 50» of statements in programs written in high-level languages are assignments. The assignments also dominate in assembly language programa. The average number of operands per an assignment statement is approximately K = 3,14. The length of an assembly language program depends on the number of addresses per machine instruction, m, and can be approximated by the length of the assembly language program realizing an average assignment statement, L(m). For the single-address machine format the an average assignment statement is I>(1) -k, i.e. it is nesessary to write one assenibly language Instruction per each operand. For other instruction formats we have L'(0) = 1.36 k - I L(l) L(2) = 0.68 k = I L(l) .L(3) = O.SÜ E ^ i L(i) (and L<1) i Therefore, the machine Instruction formats can be compared approximately as follows t (1) The two-address format Is two times more efficient than the zero-address format, and the three-address format is two times more efficient than the single-address format, and (2) the Bingle-addresa format yields 27« shorter programs than the zero-address format, the tuo--address■format yields 32% shorter programs than the single-address format, and the three-address format yields 27» shorter progres than the two-address format. These relations can he useful both for assessing various assembly language programming efforts, and for comparing different processor architectures. Figure 1. Criteria for instruction format evaluation REFERENCES tl] B.A. Wichmann, "Algol 60 Compilation and Assessment." Academic Press, 197 3, t21 D.E. Knuth, "An Empirical Study of Fortran Programs." Software - Practice and Experience, 1, pp. 105-133, 1971. [3] S.K. Robinson and I.s, Torsun, "An Empirical Study of Fortran Programs." The Computer Journal, 19, 1, pp. 56-62, 1975. 14] A. Salvadorl et al,"Static Profile of Cobol Programs," Slgplan N. 10,pp.20-23, Aug.1975. L5] M.M. Al-Jarrah and I.S. Torsun, "An Empiric cal Analysis od Cobol Programs." Software-Practice and Experience 9,pp.341-359,1979, 16] D.J. Kuck, "The Structure of Computers and Computations." vol. 1. John Wiley, 197fl. r7") J.L. Elshoff, "A Numerical Profile of Commercial PL/1 Programs." Software,6, 1976, [Ö.1 J,L. Elshoff, "An Analysis of some Commercial PL/1 programs."lEEETSE, June 1976,: I'9] J.J. Dujmovid, "The Preference Scoring Method for Decision Making - a Survey, Classification and an Annotated Bibliography." informatica. No.2, pp. 26-34, 1977. LIO] J.J. Dujmovid, "Computer selection and Criteria for Computer Performance Evaluation." International J. of Computer and Information Sciences, 9, No.6,pp.459-482, 1960, [JIJ W,M, McKeeman, "Stack Computers." Chapter 7 in H. Stone (Ed.) "Introduction to Computet Architecture" Second Edition, SrtA, 1980. informatica 1/1983 PRODUCTION PLANNING BY LOMP udk: 681.3.06;338 IVAN MESKO, BOJAN PEViC VEKŠ MARIBOR MESNA INDUSTRIJA MURSKA SOBO^TA PfiODüOq^XOH HANXNO BY UMP. Tba pvoduotlon procsaa oan b« olsarly llluatratad by tho thla reaeoa the prooeee auat b« broken down into several production unita* By uaiog tb« grapb on* oan construct the matbenaticol nodal for optimisation, for vbiob it la aaauned to b« linear« be« oauaa for otberwiae it would not bo applicable to large ayatema. Optimleine the production ayatä« by ita subaystems , is disadvantageous beoeuaa of the sinergetlo effeota* That is to aa?« i» genial, one cannot conatruct the optimum of the aystem by putting together the optimuma of ite aubayatniB« la the proceaaing induatry, from which en example la takan, the method LOHF is uaed. IThla la th« method of Linear Optimisation of the Multlphaae Production. OPSXHIliAHJE FROIZVOSNJB 2 HüTTODO lOMF. Proizvodni proces Je mogoSa natomo pritcaaatl'fi grafom, Se ga razčlenimo na posamezna tehnološka postopke oelroma naSlne proisvodnje, B.pomočjo grafa nato konstruiramo matejnatlčnl. model aa optimiranje, kl mora biti linearen, aioer ni uporaben sa velik« alateme. Optlmlranjft proizvodnje alatema zaradi sinergljaklh uSlnkov ni primemo Izveatl s pomo«Jo podsistemov• V aplošnem namreč ne moremo dobiti optimuma öalotnega sistema à sastavljanjem optlmu> mov podalatemov. V predelovalni industriji, od koder Je vzet primer, uporabljamo metodo llnea^ega optimiranja multifazne proizvodnja, to Je metodo LOHP, 1* Hu.theaatlcal model Me break down the production process Into several eleaentary prooeasea. Far the raqtii-raments of the optimization^ we diatlnKutah the elementary prooaases only according to the quantity of tha.elements ooneumed or produced per unit of production, where the elementa Include production elementa and producta. Denote by Nj^ the Index set of the elementary procaaaea at wtiich the i-th element ia consumed, by P^ the index set of the elementary proceaaea at which the l-th element la px-odiH oed and by Xj the level of production for the J-th elauieuUary prooeaa, Oeoieiun variables Xj then aatiufy the following oüJiditlom IZ «JlVU "iđ^'j+V^i^ ® jePi where «j^ represents tha ^Ubntity purchaaed and e^ the Quantity sold of the i-th element, a^^^ the input coefficient and the output ooerficieut of the J-t)i eluuiautary procesa. If the production of the i-th element (flrat sum In (1)) la greater than the quantity of the element consumed (second sum in (D), then it follows! 0 ''iJ^J aj^ - 0 If Z - Z JCPi jeNj holds, then it follows 0 e'j - 0 (2) (5) Both requirements are automatically fulfilled if the objective function is suitably formulated. If there are mor« or lass favourable sources and alnka of the l-th element instead of (1) we get the Inaqualltyi / JÉP^ JÉN. kJÉB. kes. •ik^ (4) where B^^ means th» inde* set of sources, S^ the index s«t of sinks for the i-th element, ej^jj tneahB the quantity of the l^tb element supplied by the k-th source and the quantity of the i-tli element, supplied to the k-th sink. When the available oapaoity of the k-th source is bounded by b^^j^ and when the need of the kj-th sink is bounded by b^j^, we nuat consider also the following constraintsi b^j^ k 6 Bi 'ik- k e (5) (6) Denote by c^j^ tlie price of the i-th element at the k-th sink reduced for tlie merginel cost of the Stile. Denote by c^j^ the price of i-th element of the k-th source increased for the marginal cost of purchase. Let us set for the objective the profit, defined as i kćs. keB. i Ti (7) whero the third sum contains those variable costs which are not included in the second sum. The objective function (7) eufluraa that we will utiliae first of all the most favourable sources and that we will satisfy the moat favourable sinica, V/hen we find this una a ti s factory, because we want to favour some sources or sinks we can achieve that by introducing additional conetraints In the form of equalities Or inequalities. We can alao use the methods of multiob.iective programmine. The variables e^j^ and Bj^j^ appear only in (7), in Ct) end possibly in (5) or (6). Because of the marginal cost of sale and that of purchese, for the coefficients in (7) holds, froa where it follows (2) or (5). If the coefficients a^j or a'j^ depend on the production level of the J-th elementary production process and if they may not be opproxi-mated by the constant then we must take them piecewise constant and linearize the left side of equations (1) or (4), The same holds for Wj. 2. Healization of optimiaation Because of the development of technology production eyatems become more complicated and mutually dependent. For this reason we break them down and present them on a graph. In this graph each eleiaent E^ has en allocation node which is represented by the circle• To the elementary process Xj the tvar^sformation noda X^ is arranged vhiob is represented by the Square. The value of the aro (E^, Xj) i0 a^j and the value of the aro (X^, E^) is a^^. The technological data which in the graph ere presented by the values of the arcs, are used for the formulation of the constraints (1) or (4). Furthermore we also need the source and the sink data, so that variables e^^j^, e'i^ and the constrolnte (5), (6) can be defined and that the coefficients of the objective function can be determined, . The constraint C'^) is general, but for special cases it can be simplified. For instance, if the i-th element cannot be produced, the first and the fourth sum disappear, So we get the constraintt kÉB, "if (8) Additional simplification is possible if there is only one soiirce, so that the second sum in (8) consists of only one term. Vrom the analogy of (1) we get (9) dĆN. The inequation (9) can be simplified, if the coefficient of the variable e^ in the objective function equals 0. This happens when the i-th element represents the appliance with given capacity b^ which could not be hired. In this case there is no need to use the variable e^ and instead of (9) we get So the model is simplified and the oomputing is shortened and this would be of great importance for large models. The constraint (9) can be also written in tìie form (10) althou^ the coefficient in the objective function belonging to E^ is not equal to 0, In that case the consumption of l^th element in the objective function must be considered in the raarginal costs nij of all those elementary processes at which this element is consumed and the variable e^ is not defined. In this way the model is simplified and computer time is shox'tened, although the coefficients m. are harder to compute. We can » avoid that problem so that for all elements which are sold or bought the variables e^ or ^ik included in the model« In this case mj-0 for all elementary production proceaaes. In this way the optimal solution is more con»-plete. However, more work is left to the oom-puter, especially if large models are consi^ dered. If the graph contains around 1000 transformation and 1000 allocation nodes, which happens when optimizing the production of an averagesized company, the computing time will be of the order of about 10 hours. The constraint (4) is simplified in some other cases too. If the i-th element is a seni-pro-duct which cannot be sold, bought or stored, the following constraint arisest - n «^ij-i^o I With lart^e models, inequations are not written down at all, for this is almost impossible to do. ilhose data which can be read from the graph are entered directly into the computer. The control of the data and check of the reality of the results is done by means of the graph aa well. Using the computer and the representation of the production process Iby the graph makes it possible for the loodal to be successfully used at some production enterprises. At the "Mesna industrija Murska Sobota" two years ago, a graph with 693 allocation and 516 transformation nodes was constructed. The graph was drawn on several pages of format AO, In order to get a useful result the modal had bean improved several times and further nodes were added. When tha graph is constructed, it ia possible to work out in two days the production, purchase and selling plan of the cotapany producing 200 different final products [3]. If the planned financial result is not realised, it ia now possible to find the reasons and to quantify their couaequenoes. 3, li^ample Let us consider a aiwplified example from the milk Industry, Ihe data can be seen from the tables. For the input elementa the following data are stated for each sourest the variable representing the purchase quantity searched for, the minimal and the maximal purchase quantity and finally the purchase price increased for an eventual marginal cost of purchase. For the products the following is stated for each sink; the variable representing the que» tity of sale searched for, the minimal and tha maximal quantity of sale and the sale prie« decreased for an eventual marginal cost of sale, For the capacities of the machinery, the capacities and marginal operating costs a^e stated. For the technological procedures the following is stated! the normatives of the input and autput elements and those marginal costs which ere not included in the input elements and machinery capacities. The data for the semi-products are seen from the graphical representation of the production. Survey of input elements Element Variable Hin t t trim m.u./t Ej^ Milk 15 000 20 000 SD Eg Cream ®21 1 000 1.500 1^(0 ■ ®22 0 1 ooo 150 EJ Herbs "5 0 200 Survey of equipment capacities Element Capacity Cost K]^ Evaporator Kg Spray drying tower K^ Dutter machinery l'I- 000 m^ H2O 5 000 t 2 500 t Jm.u./m' 410. u./t 0 Survey of final products Element Variable Hin t Hax t Vibice P, Condensed milk Pg Fresh butter P12 H 0 0 0 00 500 OO' 100 120 380 PJ Spray dried milk P3 500 1500 220 Spray dried skimmed milk 3G0 0 aO 500 150 160 P^ Sweet oreaD P5 0 00 150 Pg Herb butter H 0 500 450 P^ Buttermilk P7 0 «0 6 18 Survey of technological p«oeduraa Tehnological Input 1 Output { Cost procedure Element JSlement m.u./t X- Typification ^ of Bilk Xn Skimming of ^ milk % 1 1 k 9a b,02 o;o9 1 2- x. Condensation ' of milk 1 0,72 l'i 0,28 0 x^ Condensation of 8, ^ skimmed milk 1 0,79 0,21 0 xc Typification of cream h ag 0,75 0,25 1 0 x^ Production ° of butter 1 1 0,47 0,53 20 Xo I>rying of milk -J 1 1 0,46 1 Xg Drying of skimmed milk i 0,46 1 Xq Production of " herb butter E3 0,96 0,01 0,03 i ^6 0,99 15 On the basis of the data which can be eeen from the tables, the graph is ootiatruated and that ie followed by the mathematical model. Vhe model ie expreeaed in the form of the maximum of the functionJ t- where the variables are nonnegative and they satisfy the constraintsi -Xj^-Xg+e^^ 0 15000 ss 6^-.:=-. 20000 1000 ^021^^500 11000 -0,03xg4e^ === 0 0,72x j+0,14000 x^+xgsr 5000 0, SlXg-Xj^-0,25Xj^ 2= 0 Pj^g 500 0,47xg-0,96xg-p2~-i:0 500 p J -C1500 EIG (12) E1L,.E1G2 (13) ^ 0 E2G1 (lil-) E2)L1,E2G3 (X5) isaa (16) E3 (17) K1 (18) K2 (19) K3 (20) SI (21) 82 (22) S3 (23) PIG (24) Pll (25) P2 (26) P3G1 (27) PSL.PSOa (28) 0,46X0-0 PiU ^ 500 Pi^grS 500 Xj-PjSrO PgS500 0,53xg-p^S:0 P4G1 (29) P4G2 (50) P4L (31) P5 (32) P6Q (33) pei. (34) P7 (35) Inequations (12) - (17) oorraspond to input elements, iaequetionn (18) - (20) correspond to working means, inequations (21) - (23) oorrespond to semi-produote and inequations (24) - (35) correspond to produota. The voria-blea kj^ end kg slakes in (18) and (1^). The optimal solution was obtained by the computer program ALINO performed on the e^npu^ tar ISKRA DATA. The first table of resullis presents for each variable its optimal value and the interval of the coefficient of the objective function on which the solution is not sensitive for changes. The second table of results presents for every constraint the mexginal profit of the constraint and also the interval of the constant term on which this profit is not sensitive for changes of the constant term. The constraints are ordered in the following wayt firstly the conatrataifes of the form less or equal, and then those of .the form greater or equal. Z(MAX) 553465 ITU QT A HT SOLUTION FOR PRICE ^UO£D VAHIAblih ACTlVm FROM TO FROPIT XI 1540? -2,641 38,264 0 X2 4593 -41,284 0,359 0 X5 15099 -1,675 40,086 0 X4 3106 -426,087 1,851 0 X5 4295 -9,187 1?,582 0 X6 0 — 00 -12,523 X7 108? — 2,800 0 X8 652 -2029,986 7,813 0 X9 0 -59,103 10,579 0 El 20000 -26,830 00 0 E21 1500 -195,898 00 0 £22 1000 -195,898 »0 0 E3 0 - ifO 0 -200 Pll 2641 96,200 120 0 Pig 500 100,000 00 0 P2 0 - ho 425,946 -45,946 P5 500 - «0 228,261 0 P41 300 _ 00 179,159 0 P42 0 — 00 179,159 -19,159 P5 4295 1«),813 167,582 0 P6 0 385,446 455,837 0 P7 0 0,000 29,628 0 From the first table of results we can see with the help of the graph, that we should typify 15 407t of the freoh milk 15 40?). In this way we produce 15 099t of typified milk which we condense (x^ » 15 099). 2 641t Of ooDdeosed milk w« Bell at the.price of 100 mondter; unite per one ton (pj^j^ = 2 641) uid 50Pt with price of ISO m.u./t; (p^^g - 500). , CONSTRAINT BEDUOED FOR BOUND PROPIT PROM TO EU, 6,830 15000 20964 E2L1 55,898 1000 . 27099 E2L2 45,898 0 26599 Kl 0 13524 ao K2 0 1739 oo K5 0 0 oo PU. ao 0 3141 P5L 0 500 oo P4L 0 0 oo PGL 0 0 «0 ElGl -26,850 -964 9697 E1G2 0 -oa 20000 E2G1 -195,898 -25599 2646 E2G2 0 -oo 1500 E5 0 -00 0 SI -24,400 -938 9431 S2 -12,507 -77,413 . -849 . 8533 33 -652 1792 P1Q -100,000 - tM 2641 P2' -425,946 0 0 P3G1 -228,261 -500 1215 P5G2 -8,261 0 1500 P4G1 -179,159 -300 824 P4G2 -29,159 0 1124 -150 -OÖ 4295 P6G -430 -500 0 P7 -6 -ce 0 1 088t of condensed milk ia used for drying (x^ - 1 08Ö) and 500t o{ dried milk is sold. Similarly the other results from the first table can be explained. The second table presents the niarginal profit of the constraints. If we were to increase the available quantity of fresh nilk for It, the profit would inorease for 6,830 rn.u. (marginal profit of the constraint ElLiie 6,8?0). Hoii^ ever, this inoreaae holds only till 20 964t. By increasing the oapaoity of the evaporator the profit cannot be inoreased (the marginal profit of the constraint K1 is 0). If the capacity were to decrease below 13 324t HgO, the prófit would start deoreasing. She marginal price of the first half-product, that is typified milk, is m.u./t (marginal profit of the constraint S^ is -34,4). Similarly other results from the second table can be explained. Literature 1. MeSko I., Optimiranje in obračun večfazne proizvodnje. Naše gospodarstvo, 1979, St. 5-6, 2. Heško I., Optimiranje poslovanja I, VEICŠ Maribor 1982, 3. Meäko I., B. Pevec, Optimiranje poslovanja fcod viSefazne proizvodnje, I^oizvodnja, april 1982. INFORMATICA 1/1983 prikaz sinhronizacije procesov na problemu in potrosnikòv paralelnih proizvajalo e v UOK: 681.3.013/014 rajko sabo INSTITUT JOŽEF STEFAN, LJUBLJANA lanlMlv In pnutlan primmc uporabi vi»di.l?rooeei fio «ed seboj povezani, po povezavah al poDilJaJo aporoOila ( 2. etika. 1 v iiravnalnike ( 3. alika ). Za graf povezav zahtevama naslednje oaejitve i biti «ora brez tank ( zanka je povezava voillSUa s sani« seboj >, neuaeerjen < vse povaiave so nausmerjene > in «ed dvema vozllitseaa Je lahko najveti ena povezava. ProBB» lahko vpisuje sporočilo le v izravnal* nik tistega procesa, do kateratja petje fovezava od nJega, bere pa lahko le iz «stnega izravnalnika. Za aktiviranje in ustavljanja procesov skrbi sistemski razvrlOe-valnlk C eoneduler >. Ko aa pi*aoe« aktivira, najprej preveri, ali je njegov Izravnalnik prazen, üe ni prazen, pote« kot "potrošnik" jaalje sporodila ven. Obstojdji) tri aüünatiti i a> da Ja naslovnik s^orofiild ar« sa«. TudaJ sprodilo "prebera" ( sprOoosir« > in ga nato zavrta: b) da Je naslovnik kdo druy, Pruoe« tedaj pollde pot do nJega In de ja najde, poBlje ■porodilo prvemu prooesu na poti do naslovni-kai o) da do naslovnika ne najde poti. V te» prlneru sporodllo zavru«. prooea iii'avn«lttik .O)'......- (( 1. z izravnalnikl, iOv prvi prazen predal prvi poln predal 2. «likal laaisel izravnalnika. po«iljaielj preJe«nik naslednik vsebina 3. alikai oris sporoOila. Ce je izravnalnik prazen, ««fine kot "proizvajalec" < naklJuOno > ustvarjati sporolilla za druge pruoese In JI« Jih poikuia poslati. Ce lahko dolodeno atevilo sporodll odda drugi« prooaso«, se ustavi, vendar ostane v stanju "pripravljen" in ga lahko raivri'Qevatnlk kadarkoli spst aktivira. Ce pa aa igodi, da (eli proces poslati «poroctllo v nek izravnalnik, ki Je te poln, ga ainhroniiaolJsk« lunkoije siste«a blokirajo. Tak prooes se neha Izvajati. 81ate« bo spraeanll stanje tega prooeaa iz "blokiran" v "pripravljen", ko bo odpravljen vzrok, ki je povzrodil njegovo blokado ( torej, ko tisti izravnalnik ne bo ved poln >. Probien, ki ya Je potrebno tu reciti, Je -Binhronliaclja procesov v primerih i - poskusa vlaganja v poln Izravnalnlk in - poskusa jemanja ii praznega. V literaturi C C13, C2], C43, C53, C63, C73 ) sea zasledil rešitve, pri katerih «e v obeh priaerih procesi zaustavijo. V vrsti problemov "proizvajalec - potroSnik", kjer bo procesi razliani i eni so proizvajalci, drufli Dotroeniki - Je ta rsÄitev izvedljiva. Ce se nasreC zaustavijo vsi prcizvajaloi -zaradi polnih izravnalnikav, ee aktivirajo pctroäniki in jih izpraznijo in obratna - de so izravnalniki ppazni, se. zaustavijo potrošniki in Čakajo, da se spet napolnijo^ W natii inadioi, ko ninamo take dvopolne delitve procesov, temved eno samo univerzalno obliko, tako da .lahko vsak proces deluje enkrat kot proizvajalec, drugld kot potrcönik in tretjid kot posrednik,ta reSitsv ni bila sprejemljiva, zato sem se odloČil za drugadno rešitev. Zaustavitev ( blokiranje ) sem dovolil le, Ue je proces hotel violiti sporodilo v poln izravnalnik. Ce pa je hotel jenati iz praznega, nu nisem dovolil, da bi se zaustavil in dakal na sporoCila, tenved sen zahteval, da nadaljuje svojo dejavnost C te Je - ustvarjanje novih sporodil ). ZAPIS PROCESA "PROIZVAJALCA IN POTROSNIKA" oonsl nspcrmax < Število eporcöil , kt jih naj ustvari v enem krogu >i n < Število procesov >; ver prazen i Boolean i indikator prazoosti I) nspor t integer i Števec ustvarjenih SpOPüäil >1 sporcdilo t record; proces i : begin' nspor Oj while nspor < nspormax do begin vzeiaK 1, sporaüilo, prazen while praien = false do { prazni avaj isravnalnik > begin K i = naslovnik then "iitpiSi-sporoeilü"', else begin "poiSOi-naslednika"! il "naslednik ju najden" then vluül( nasledniku, sporoliilo > else "izpiSi-sporoöilo" end j vzaàil 1, sporuüilo, praien ) end( < ustvari novo sporoCilo > tvorK i, sporodilo )} nspor 1= nspor + i) "poiääi-naslednika-'i il "naslednik je najden" then vlcitiC nasledniku, sporočilo ) else "izpiSi-sporoOilo" end end I , Bleep I { prostovoljni odstop procesorja > go to proces i end| 4. slikal program procesa "proizvajaloa in potroSnlka" Pri procedurah, ki niso pomembne za to temo, Ba ne bono ustavljali ( "tvori-sporoBilo . "poiflÖi-niBlednika", "IzpiBii- »poroflilo ), ogledali pa si bomo proceduri "vloKi m "vieni" tar Binhronizaoljeke operacij«. RESITEV Z hONITORJEH Vsi izravnalniki so zdruüeni v P"®^"^ strukturi - flonltorju < C83, Cm, Cm, C1S3, S. slika). B8 DP SS Kl PI oiz v le*i , vzeoi "iteveččl) sig(l) Števci Bporodil signali "ppräz(l>"käzäl0i"na prvo prazno «esto ppoln(i) kazalci na prvo polno mesto —,—. ... ... BS . ekskluzivni binarni semafor za zaSdito monitorja, DP dcsétnl proceduri, SS einhronizaoijske spremenljivke, KI kazalci v posameznih izravnalnikih, PI polje Izravnalnikov (fit. procesov h doUina izravnalnika ) 5. Slikat oris oionitorja. IzklJuCno pravico dostopa do Izcavnalnikov inata monitorski proceduri "vloSi" in "vzemi < 6. slika const N < velikost izravnalnikov >( var culi init< i ) { binarni semafor za flditenje kritiönih delov >( etevec arrayCi..n3 of integer initC N, N,...,N i < Števec sporoflil v izravnalnikih >1 sig arrayC1..n3 o( integer Initt O, O.....O ) < signali >| procedure vietici, sporoUilo)) var i < identiteta >, sporoäiloi begin Ptfmiz) < Sfiltenje kritiOnega dela >| do while ateveod) >» N begin onenogoöi prekinitve) wait(sig| Pt(miz) I cmcgodi prekinitve! snd| "vlom sporoOilo v izravnalnik") Étteveo(i) I- aiBvao + 1) Vk(«iz) end) Vèr prazen t Boolean < indikator praznasti tzrsvnđlnik« > procedura vzemi(i, eporofliloi prazen)| var 1 < identiteta >t sparotilloi b«gln IVniz) < «Oitenje kritiäneqa dela >i it etevBoti) = O then begin prazen x" true| «iLttniz) i returnj end I else begin prazen i= false) "vzemi eparoüilo iz izravnalnika") «toveoCi) 1= ateveod) - It 6end prazen i Boolean | P'(sp) t prazen falsei sp(i) 1= epti) - 1) K sp{i) < O then begin prazen i» tcuei ap(l> 1= sp(i) + 1| return < iz prooedur« >| end| V (sp(i)> I spd) I» spCl) * 1| S. slikal Operaaiji p' in senatorjem. reöitev 3 semaforji Z navedenimi sinhronizaoi Jskidii operaoijami iaata monitorski proceduri violi in vzemi naslednjo obliko t V Jedru operacijskega sistema CV;] imamo implementiran binarni senator z Dijhstrovima operacijama P«, in S^ Còl, zato ga razSirimo do splošnega na obidajni nadin C133. var pr I arrayC1..n3 al Integer lnit< N, N,...,M ) t sploani semaforji, ki tttejejo prazna mesta v izravnalnik Ih >| nepo I arrayC1..n3 at integer initC O, O,...,O ) { binarni semaforji za sinhronizacijo poln - nepoln } | miz inlt( 1 ) < binarni semafor za Söitanje krititinih delov >) P■= pr i end) V"t V t«p(i))» vti(aìz) end) procedure vzemi( i, sporoäilo, prazen)i var i I integer { identiteta >| sporoäilo I raoordi begin Pk(mtz)| P'(ap(i))t "vzemi sporočilo iz izravnalnikaCi)" V(pr» Vk izvaja se lahko samo en krltiUni del hkrati in b) Oe ni noben od pc-ooeGov v svojem kritiCneoi delu, ne more biti zaustavljen ( blokiran ) noben proces. ( 1 ) Pts)-, kritiäni delts)! V(s> t 10. slikal izvajanje kritiünih delov. Ali sme proces, ki iivräi P, nadaljevati sli ne, je odvisna od tega, kolikokrat sta bili P in V izvrSeni prej. Stanje usklajevanja med prooesl ' lahko opiSemo z naslednjimi kolitiina-mi ) Cfs) - nenegativna celoStevi I ska konstanta, podana ab inicial i zaciji ; NU(s) - Število izvreenih (klicanih) PCs)) NS(s) - Število izvršenih V(s) in NP(s> - Število v calati izvrSenih P > C, C(s) NS (1.3) Je invarianta la operaciji P(g> in V(e>. Dokazal bom, da ta trditev (1.3') in trditvi da) in (1b) veljajo tudi za P' in V. Zaäetne vrednosti naj bodo i C(b> >= O , NU(6) NP(s) => NS» NS N3(e) ne more nastopiti. Ce sedaj primerjamo dobljene relacije z uClnkom operacije P'(s) (1.4), vidimo, da Je vrednost spremenljivke prazen pravilno doloäena. (il) Z indukcijo bomo dokazali, da je izraz (1.3) invarianten za operaciji P' in V. Relacija (1.3) na zaöetku velja, ker je HP(8) = NH(s) = O in C= Q. (ili) Reaimo, da relacija (1.3) velja in da se bo izvrSila operacija P'(s) ( Ce Je NP= NS NM NMC«) , ne «ora nastopiti. lato Je izraz (1.3) invarianten tudi za izvrfiitev operacije V (a) in po indukoiJskeai ekiepu velja vedno. (v) Predpostaviaci, da Je Izraz (1.3) invarianten , KakSen je poten udinek operaoij P' in V 7 Najprej ei oglejmo P'<«> ! V (i) smo ugotovili, da Izravnalnik ni prazen natanko tedaj, ko Je NP(s) < NS(s) . Tedaj se vzetje lahko zattne NW(ii> t» NU(s) + 1 , Iz relaoij (1.7) in (l.ft) sledi po eni »tranii NP(pr(l)) •< N + MSCpr(l>> =< N ♦ NPtaptin , torej HP(pr(l)) - NP(sp(i)) -< N ( drugi del naenaäbe (1.6)). Po drugi etranl pa iz M.7) in £1.8) sledi tud It NPfspCi)) B< NS(BpCi)} -< NP(p['(l)), torej O -< NP(prCi)) - NP(Bp(i)) ( prvi del neenatibe (1.6>>. Ker Je i poljuben, velja (1.6) za vbb iirav-nalnike. fl.E.O., pa tudi konäa NP(s) t" NP(6) + 1 , prazen false . ta pa je Izravnalnik prazen, NPts) = NS(s) , nI ne vtetja ne Üakanja, torej nobena spremembe razen prazen t» true. Vidimo, da je uOinek tak, kot Je zapisan v (vi) Predpostavimo, da Je izraz (1.3) invarianten, ka'kfien «lora biti potem utiinek V T Iz uöinka P' smo ugotovili, da vedno velja zato Je NP= NP , to poiaeni, da je število vstopov v kritiCni del(e) lahko kveSjemu za 1 veäje od BNvila izstopov, kar 2e pomeni, da v kritiCnen delu(e) nI vet) kot en proces. b) Iz (1.3) sledi v primeru, ko inaino tlakaJotSe prooBBe ( ko Je NP(s) < NU(s) ) i NP(e) ° 1 + NS(fi) . To pa ne more hiti res, ko je NP(s) = N8£b), kar opisuje polciaj, ko ni noben prao«« v kritienem dslu(s). Vidino, da se lahke izvaja samo en hritidni del hkrati in da ne more priti do zaustavitve procesa, tie so vsi procesi zunaj svojih krititinih delov. Ker je naäa reäitev izvedena s semaforji, ti pa so implementirani tako, da uvréeajo öakajotie procese po naäelu - prvi noter, prvi ven -, ni mogoße, da bi kateri proces prehitel drugega, ki Je v isti vrsti pr?d nJim. S tem je onemogočena, da bi nek prooes Qakal neomejeno dolgo . MRTVA TOCKA Za nastop oirtve todke 6o potrebni trije pogoji t - medsebojno izključevanje, - neeproStìanJe ( "nonpreemption" ) in - kroVno Čakanje na vire C33. Ce hofieaio dcseCi, da do nrtve totike ne bo priBIo, maramo onemogoGitl enega teh pogojev. Medsebojnega izključevanja ne moremo opustiti, saj ga uporabljamo za Mtiitenja kritiänih delov ( operiranje nad izravnalnikom ) in je nujno za pravilen potek izvajanja procesov. Ravno tako ni ustrezno popolno sprcttQanje virov, kajti be npr. prooes, ki ima neko sporofillo za drugega, ne bo Čakal, dokler ga ne bo vlclil, bo to «poročilo izgubil ( "povozil" ), ko tao vzel naslednje spqraäilo. Vendar pa to vseeno izkorlstino, kot bomo pokazali pozneje. Na voljo nam ostane, «e tretji pogoj, pogoj kroünega öakanja. V krgino Bakanje sta v □rlnerU) ko procesi ne norejo üakatl na lastne vire, vedno vkljuBena vsaj dva procesa., C Lahko Jih je veB, vendar Število nI bistveno la sam pojav. ) KroKno Čakanje pomeni v ten primeru, da nek proces zahteva nesproSCen vir nekega drugega procesa pri nesproSBenem svojem viru, drugi proces zahteva nesproSBen vir tretjega procesa itd., zadnji v tej zanki pa iahteva pri nesproäöenem svojem viru vir prvega procesa. Privzeli smo Se, da ima vsak proces samo en vir, ki je izfcljuBni in ga bere samo on sam. .1, trditev. fi-i predpostavkah! dai 1. ima vsak proces samo én vir in 2. proces ne more Čakati na svoj vir, je potreben pogoj za nastop krcifnega öakanja na vire ta, da nek proces zahteva nesproStìen vir drugega procesa pri nesproSCenem svojem viru. Dokaz. Oglejmo si vse aoüne situacije, v katerih je lahko proces Cs svoji« virom ) glede na drug proces ( 01. vir >! Za boljSa preglednost jih zapi^imo v obliki tabele ( 11. slika >. poloKaJ lastni vir odnos procesa tuj vir ( 1 > SproSCen ne zahteva sproSKen ( 2 ) sproSfien ne zahteva nesproščen < i ) aproSCen zahteva sproSBen ) sproSBen zahteva nesproSCen < S ) nesproSBen ne zahteva sproSBen 6 ) nesproäBen ne zahteva nesproSCen ( 7 ) nesproSCen zahteva sproSCen < 6 ) nesproBBen zahteva neeproSBen 11 1 . slikat tabela 4 moünih poloììajev procesa T«ko B«o pokarali, da v Polo*öjih (1) - (7) krolna öakanje na vira ni »"«o''® • nogofie 1b v poloKaju (8), ta pa opisuje ravno pogoj 1. trditve. Q.e.D, Pojdifto sedaj korak dalje in poiSOino Se kakSen zadosten pogoj la kroino Cakanjei 2. trditev. Üe velja pogoj 1. trditve vsaj la dva Procesa v sUte«u! ki sta povezana z dvosmerno je to zadosten pogoj za nastop povezava, je to kroJtnega öakanja na vire. glede na vire. Dokaz. Oinaäimo procesa, za katera velja pogoj iz 2. trditve, z a in c, njuna vira pa 7 ft in C! Torej lahko proces a pri nesproBBenem viru A zahteva nek vir B nekega procesa b, prooes o lahko pri nesproščenem viru C zahteva vir D poljubnega procesa d. Toda nobene ovire ni, da ne bi smeli za o vzeti kar b, za d pa a in imamo naslednji poloüaj s - proces a zahteva vir procesa b, - proces b pa zahteva vir procesa a in ker sta oba vira nespraSäena, »^a procesa ustavita, CakajoB drug drugega, da bo sprostil svoj vir. q.E.D. Toda pogoj 2. trditve, za katerega s.»o pravkar pokazali, da je zadosten, je zgrajen s potrebnim pogojem < 1... trditev ). Ta nas navede na misel, da je mcgoBe tudi sam potreben. Recimo, da ni izpolnjen! To pomeni a) ali, da za noben proces ne velja pogoj 1.trditve - to pa je Se tudi .^^nikanje 2. trditve. Ki Je potreben pogoj, lorej v tem primeru kroünega Čakanja ne mere bitÌ5 b) ali, da velja 1. trditev za natanko en proces. Ker pa sflio te ugotovili, da sta v kroSno Čakanje vkljuCena vedno vsaj ava procesa, to pomeni, da tudi v tem primeru ne more biti krožnega Sakanja. Tako smo dokazali Proces je v odnosu do nekega tujega vira gotovo v enem od položajev (1> - (B) Privzemimo, da je v stanju kroÄnega Sakanja na tuj vir, in poglejmo, v katerem poloSaju se tedaj lahko nahaja! V polo^tajih (1>, (2), ali <6) se ne more nahajati, saj tu vira'sploh ne zahteva. V poloifajih (3) in (7) bi bila njegova zahteva za tuji vir odobrena, ker je ta sproäBen, in prooea se ne bi zaustavil in eakal. Kot edina položaja, v katerih lahko pride v poStev krojno Čakanje, ostaneta polaüaja in (S). Pohabimo, da tudi v položaju kroünega Čakanja na more bitil V poloüaju je prvi proces svoj vir sprostil in zahteva tuj nesproäüen vir. Zaradi svoje zahteve se sicer zaustavi, toda nobena Bakalna zanka, kot Je opisana na prejänji strani, ni mogoöa oziroma zakljuöena, kajti zaustavitev in Bakanje na vir prvega procesa ni mogoöe, ker je ta vir sproSBen ( 12. slika ). prvi proces 12. slikat kroitna Bakalna zanka, ki ni zaključena. 3. trditev. 2. trditev predstavlja potrebni in zadostni pogoj za nastop mrtve toöke v obliki krojnega tiakanja na vire. Naöa prva ugotovitev v boju proti mrtvi toBki je ta; sistem procesov je varen C pred pojavom krožnega Čakanja Be 1. trditev ne velja za noben par procesov, ki je povezan z dvosmerno povezavo. Posledica Je, da sme biti v sistemu, v katerem so vse povezave dvosmerne, pogoj 1. trditve izpolnjen samo za en proces. Vir Je sproBCen, kadar je na razpolago, torej kadar ga nihBe ne zahteva. Ce proces zahteva vir < izravnalnik ), pomeni, da bo ali iz nJega jemal ali vanj vlagal. Za samo jemanje ni taiav, saj ima to pravico za vsak iiravnalnik samo njegov "lastnik". Jemanja je organizirano kot kritiflni' del, SCtenJe kritičnih delov pa je urejeno z binarnim semaforjem ( miz ) za medsebjno izkljufievanje. Varnost pri SBitenju kritiCnih delov, da ne pride do mrtve toöke, ker bi vsi procesi Bflkali na i z k 1juöitveni semafor, smo dosegli z izključitvijo drugega potrebnega pogoja za nastop mrtve toBke - to je nesproSBanja, saj prooes vedno, ko je vstopil v krititìni del < z operacijo P(miz) ) in zahteval dostop do izravnalnika, pa ga ni dobil. Izstopi ii kritičnega dela C z operacijo Vtmiz) ) tec se äele nato ustavi. S podobnim postopkom je "'-I^T;-.- ZD zagotovljena varnost s sproSCanjem Izkljuüit-venegđ senaforja pri vlaganju. V tem primeru proces, ki Je Kelel vlüüiti sporoCilo v iiravnalnik, ki pa je bil poln, najprej izvrši operacijo V(iiiz) ter se Sele nato postavi v äakalno vrsto za tisti izravnalnik. Problem je torej l zahtevati nek vir t izravnainik ) za vlaganje. Ne sprostiti svojega vira in zahtevati tujega poneni za nek proces v naSi inaäioi, da na vlaganje v njegov izravnainik Se Čakajo procesi, ta proces pa zahteva vlaganje v nek drug izravnainik. To pa je mogoCe v dveh pcimerih. 1} Proces je svoj izravrtalnlk popolnoma izpraznil in nato zaCel pošiljati svoja fiporaälla | pri tem pa na njegov izravnainik Be Čakajo procesi. Kdaj pa je to nogotie? Ker fiO na njegov izravnainik Čakali procesi, pomeni, da Je ta bil poln. Recimo, da je velikost izravnalnlka N mestt Prooes je izravnainik izpraznil in prt vsakem vzetju Je lahko z operacijo V poslal signal enemu äakajodemu procesu, torej najveti N signalov. Po izpraznitvi zaCne ustvarjati in poSllJati svoja spcroCiila in ker na njegov izravnainik po privzetku äe Čakajo procesi, pomeni, da jih Je pred zaCetkooi praznenja Čakalo veČ kot N. OznaCino z n. V tem primeru se lahko zgodi, da je poslal manj signalov, kot pa je CakaJoCih procesov, v najslabšem primeru samo enega ( (Je je ife prvo sporoCilo prehodno ne glede na velikost izranalnika niti na Število CakajoCih prooesov. Skratka, v drugem primeru lahko zaključimo, da obstoja proces,ki sprejema prehodna sporoCila, (3) Potrebni in zadostni pogoj za varnost opisane inaCice problema "proizvajalcev in potrcSni-kov" je posledica 1. in 2. trditve ter (2) in <3> in se glasi i l>. trditev. Pri inaaioi problema "proizvajalcev in potrofinikcv", kot je opisana v tem Članku, so varni natanko vsi tisti sistemi procesov, pri katerih ne obstajata dva taka procesa, ki sta povezana z dvosmerno potjo in ki imata premajhen izravnainik ali prehodna sporoBila drug za drugega. Si«t«« procvBOv, ppl katere« obstoja mq tah "kritiCni" proccB ( kot je omenjen trditvi >, Je zvezdast ( 13. slika ). tMte« procesov t^r^t taksga proocsa ji tik, j« povezan vsak proces z vsaki« C 14. slika i. 13. slikal zvezdasti «odel - vsebuj« eno "kritično" vozliace. 1*. slikal aodel "vsak z vsakim" - je brez "kritičnih" vozliSÖ. zakljuCek 1. V Članku sta obravnavana dva naCina sinhronizaolje soCasnih procesovi z «onitorjem In s semaforji. Na opisanem konkretnem «odelu se je pokazal drug natSin botJ«l, s Cimer pa ne trdim, da je to na splcäno res. Na upfjfabnost monitorjev kaZe dejstvo, da jih uporablja precej novejttih operacijskih sietenov. Monitor je vet kot samo konstrukt - lahko je tuđi naSin programiranja. Prograner im« veCJo izbiro in veCji vpliv C lahko tudi negativen ) na sinhronijaoiJo, na primer z izbiro sinhronizaoljsklh spremenljivk, logiCnih testov ob vstopanju v monitor. Za slnhrcftizaoljo lahko upoäteva tudi izvennonitcrsks pogoje, vpliva lahko na razvrščanje procesov v čakalna vrste. Zato pa je dokazljivost pravilnosti oteSena aH celo nemogoCa, ali pa se Jt treba nasloniti na druge dodatne lastnosti, na primer hitrost - "poCesnost" perifernih enot glede na osrednjo procesno enoto ipd. 2. Dobra stran preprosti in naOin sinhrcniz dostopen. To Ia ki v nekaterih Operaciji P kcmutativni, za ni valfen. To ualt(s) ne velj senatorjev jo v tem, da so zato pregledni. ToCno dolottajo aoije, ki procesom sfniidi ni a za posledico doloCeno togost, primerih programerje ovira. In V nad semaforji sta to vrstni red njune IzvrSitv« pa za operaoijl senđ<6) in tt 3, Ppi soKasnen programiranju ne dril veC, da fle bodo procesi soCasno izvajali pravilno, Be se izvajajo pravilno vsak sao Na varnost sistena mocejo vplivati dejavniki, ki jih .ilahka preicemo. Na primer v «Istemu, ki teäe pravilna in varno, dodamo enak proces, kot so ostali, pa se bo sistea zabloklral. Vloüiti je treba veö äasa v analiza programov in njihov aedsebojni vpliv pa tudi v njihovo testiranje. Vlotteni trud pa se izplafia z veSjo 'uäinkovitostjo. SLOVSTVO C1] 8. Andler i Synohroniiation Priaitives and the Verlfioatlon of Concurrent Prograniìi Carnegie-MeUou University] Bystene Theory, Clills, N.J. Prentloe Ha EngUewQod C31 E.G. Coflman, fl.J. Elphiok, A. Shasani i Syste« Deadlocks, Computing Surveys, 3 (1971), St. 3) R. Devlllers, LoOohard i Improvements of parallelism in a finite buffer sharing policy. The Computer Journal, 19 (1976), et, 3) [5] E.u. Oijkstra i Co'-operating Sequential Processes, Programming Languages, Ed. F. Genuys, Aoademio Pres», 19681 C&a E. U. Dijkstra i Hierarchical ordering of stjtiueniial Processes, Operating Systems Techniques, Aoad. press, 1972} C73 H. Exel i Komunikacija ned sekvenflnimi procesi - pregled, 1. in 2. del, Informatioa 1 (1977), St. 1 in 2| Ca] H. Exel I Honltorjl, IJ9 Ljubljana, novanbar 19&Q| C91 0. Novak, M. Kovaflevl», B. Kastelle i Ann operacijski sistem, US Ljubljana, Junij 19fl0i CIO] A. N. 'Habermann i Synchronization of Conmunloatlng ProĐOseefl. CACN. 1.15 (1972),. «t. 3) C113 C.A. Hoare t Monitorst An operating Syateo Struoturing Concept, CACM, 17 (1974)■ at. 1Q( C123 R. Sebo I HödelIranJe namieijens telefonske centrale e eoäasnlni prooesi, dipl. delo, PNT, Ljubljana, 19fiOt Cl,33 A. C. Shav I The Logical Design of Operating Systems,Prentloe-Hall, Englauood Cliffs, N.J. 197'tt C1*3 N. Mirth I The Use of Hodula, Boftware-Practloe and EKperlence, 7 t1977)| ' CIS] N. Mirth 1 Toward a Discipline of Realtime Programming i CACM 1.20 C1977), «t. a. informatica 1/1983 PROGRAMI RAN JE V ADI III UDK: 6B1.aOGADA;61ft682 ANTON P. 2ELE2NIKAR ISKRA DELTA, LJUBLJANA Tcatji del «lanka opiauja najprej lofieno pravajanj« v jesllcu Ada, In aloer prevajalne enote (paketna epeolfIkactija In paketno telo), WITH ölen« vretnl red prevajanja In delovanje povezovalnl-ka. V Adi je V/I zgrajen na konoeptu zbirke. Obstaja vrsta zblr-finlti procedur, kot ao create, open, close, delete, read, write, and of file, ifl open In name. Kblrke so binarne In tekstovne. Obstala ~äe vrata~drutjih V/I funkcij, kot ao get, put, new_llne, Bklp_l.lne Itd. Ada oiuogoöa uporabnl&ko definiranje knjižničnih procedur. Obstajajo procedure dispose (sproščanje pomnilnika), memavall (vrnitev obsegov), maxavall (proste lokacije) in procedure za manlpulaoijo bitov in zlogov, kot eo hI, lo, setblt, olrblt, tatblt, nadalje eo tu loglöna futtkclje Irot, land, lor, Ixor In funkcije za progcaniako krmiljenje halt, err_exlt, coin-inand line, chain, prog call, prog return. Nestandardni podprogrami pa fio dlak full, eöf, put_heic,"read_blk, »i/rite_blk, roloee. Hutlne za manipulacijo nizov pa'eo telei "length, remove. Insert, extract, pcaltlon, char_to_Btt, etr_to_lnt In Int to_atr. Tekst äpremljajo značilni (formalni) primari.' Na koncu 7etijavl konec zbirke, read (v_zbirka, spr)) — Beri en element 'poljuben tip' Iz v_zblrke. Obdelaj 'spr'. write (i?_zblrka, spr)) — Vpiäi en enlement 'poljuben tip' v 'iz zbirka'. END LOOP J Close (iz_zbirka)( — 'iz_zbirka' se zapre, da se reäljo re- zultati V/I. Vpisani podatki se lahko Izgubijo, Ce se zbirka ne zapre, close (v_2birka)t — To zaprtje ni vselej potrebno, je pa priporočljivo. END zblr_teatj Razen binarnih zbirk se v Adi uporabljajo tudi tekstovne zbirke in vse kar je veljalo za binarne, velja tudi za tekstovne zbirke (prejšnji podprogrami). Procedure get, put, new line in skip line Imajo kratke oblike, v katerTli predpostavljamo manjkajoče (odsotne) V/I zbirke. Manjkajoče zbirke se lahko spreminjajo, FUNCTION standard Input RETURN file) FUNCTION atandard^^output RETURN file; Ti dve funkciji vrneta zaćiatni trenutni zbirki. n sta vselej uporabniäka konzola. Funkciji se uporabljata za shranitev manjkajoče zbirke po njeni spremembi v njo samo) uporabljata se lahko tudi za sporočanje na konzolo. FUNCTION currQnt_lnput RETURN file» FUNCTION current_output RETURN fllej Tl dve funkciji vrneta manjkajoči (trenutni) zbirki} to Bta zbirki za current_input in cur-rent_^out;put, če ju uporabnik ni spremenil. Ti funkciji se uporabljata kot sistemska parametra In kot uporabniško določeni rutini, ki ne dovoljujeta manjkajoče zbirke, PROCEDURE setlnput (zblrkai IN file)j PROCEDURE set^output (zbirka: IN file)) ti proceduri postavita manjkajoči (trentttnl) zbirki na vrednosti njunih parametrov. Ce ilirka ni bila odprta all če nlmd pravilnega jačina, se pojavi napaka. Vhodna zbirka mora biti čitljiva, izhodna pišljiva. Te rutine omogočajo prenos vseh trenutnih V/I zbirk v poljubno ali iz poljubne zbirke. To velja tudi za vsa sistemska sporočila (npt* o napakah). To pa je lahko pripomoček pri popravljanju programov, saj lahko konzolni izhod preusmerimo v zbirko. Navedene rutine so vsebovane v knjižničnem paketu UTIL. PROCEDURE get (zbirka: ih file» predmeti OUT element)) PROCEDURE get (predmet: OUT element)} TI proceduri dobita predmet tipa element iz tekstovne zbirke 'zbirka'. Predmet je tekstovni niz in tipa sta character ali integer. procedure put (zbirka: IN file) predmet: IN element)| PROCEDURE put (predmet: IN element)) Ti proceduri vstavita predmet tipa element v tekstovno zbirko 'zbirka'. Izhod ima obliko tekstovnega niza, vstavljajo pa se lahko predmeti skalarnega in niznega tipa. Za cela ätevila se lahko uporabljata obliki PROCEDURE put (zbirka: IN file) predmeti IN int type) dolžlnfii IN Integer i= 0)| PROCEDURE put (predmet: IN int_type) dolžina: in Integer ì= o)j 'dolžina' se nanaša na uporabljeno polje) to se lahko naknadno podaljSuJe. Za preätevne tipa, vključno boolovske,'se lahko uporabita obliki procedure put (zbirka: IN file t predmeti in enum_type) dolžina: IN integer t- 0)) PROCEDURE put (predmeti IN enum_type) dolžina; in integer )- 0)| PreStevnlm vrednostim sledi toliko presledkov, da se napolni polje. Vrednosti se tiskajo z velikimi črkami. PROCEDURE new_llne (zbirkat IN file)) PROCEDURE new_line) Ti proceduri povzročita dodajanje konca vrstice v zbirki. PROCEDURE Skip line (zbirka: IN file); PROCEDURE Skip"llne) TI proceduri povzročita branje konca vrstice Iz zbirke. FUNCTION end_of_line (zbirkat IN file) RETURN boolean) Ta funkcija vrne TRUE, če Je trenutno brana pozicija na koncu vrstica. FUNCTION get line (zbitkai in file) BETURN stringi Ta funkcija prebere celotno vrstico iz zbirke do vrstičnega mejnika. Ta rutina se lahko uporabi za uporabniško kontrolo V/l, ko se včitanl niz iz konzole ponovno interpretira. Procedure get, put, new_llne in Bklp_lino so vgrajene v prevajalnik, ostale rutine" pa so vsebovane v 10 knjižničnem paketu. 4.11. Knjižnične procedure Zanimiva lastnost Ade je možnost uporabniškega definiranja knjižnlfinlh rutin. Zradl te lastno-strl jezik Ada nima definicij standardnih knjižničnih procedur. Obstaja pa nekaj potneinbnih operacij, ki zahtevajo globlje razumevanje pre-, vajalnlka In te bomo kratko opisali. Imamo podprograme za upravljanje .kupov (heap). PROCEDURE dispose (kazalec: in OUT p_dostop); Ta podprogram sprosti pomnilnik objektov, na katere kaže 'kazalec', ki je lahko poljubnega dostopnega tipa ('p_do3top'), Če je kazalec e-tiak null kazalcu, ie ne zgodi ničesar. Kazalec se postavi na null po vrnitvi iz procedure dispose. -Ta procedura je-ekvivalentna generiCni Ada proceduri unchecked_deallocatlon. Procedura je avtomatično doloöena za poljuben dostopni tip. FUNCTION raemavall RETURN integer) Ta funkcija vrne obseg {število zlogov) poninil-nika, ki obstaja med kupom in skladom. Ta del pomnilnika se lahko uporabi ali za kup ali za sklad. Poljuben blok se lahko dodeli iz tega dela pomnilnika. Na razpolago je več pomnllnni-ka za kup, če je bila uporabljena procedura dispose, FUNCTION maxavall RETURN integer» Ta funkcija j^rne Število prostih lokacij, ki ao uporabne za kup, vključno s tistimi, pridobije-niml z dispose. Nekateri pomnilni bloki so lahko premall za.uporabo. To ni dobra metoda za ätetje prostih lokacij. Primers dispose (kazalec)f dispose (vozlišče,levo)j put {memavall()}( put (" preostalih zlogov")» Procedura dispose je vgrajena v prevajalnik. Punkciji raemavall in maxavail se nahajata v knjižničnem paketu UTIL, Janus ima več podprogramov za manipulacijo bitov in zlogov. Manipulacija je možna v okviru celih Števil. Bitni parametri za rutine setblt, clrbit in tstbit morajo biti v Intervalu O,,15. FUNCTION hl (vredj IN integer) RETURN bytej FUNCTION lo (vred> IN,integer) RETURN bytej T1 funkciji vrneta viäjl (hi) oziroma nlìjl (lo) zlog celoätevllske vrednosti 'vred', PROCEDURE setbit (vred! IN OUT integer) . bit; IN integer)J Ta procedura postavi bit (na vrednost " 1) na mestu 'bit' v 'vred'. PROCEDURE clrbit (vreds IN OUT integer» biti IN Integer)) Ta procedura IznlČi bit (na vrednost 0) na poziciji 'bit' v Številu 'vred'. FUNCTION tstbit (vredi IN Integer» bit» IN integer) RETURN boolean» Ta funkcija vrne TRUE, öe Je vrednost na poziciji 'bit' Števila 'vred' enaka 1 oziroma vrne FALSE pri bitni vrednosti 0.. FUNCTION Inot (vred) IN integer) RETURM integer) Ta funkcija vrne logični 'ne' bitov v vrstnem redu ätevlla 'vred' (eniški kouiplement). FUNCTION land (vredl, vredJi IN Integer RETURN integer» Ta funkcija vrne loglCnl 'In' pripadajočih bitov Števil 'vredl ' In 'vred2 FUNCTION lor (vredl, vred2; IN integer) RETURN integer» Ta funkcija vrne logični 'ali' pripadajočih bitov števil 'vredl ' in 'vred2 ', FUNCTION Ixor (vredl, vred2i IN integer) RETURN Integer» Ta funkcija vrne logično 'vaoto po modulu 2' pripadajočih bitov števil 'vredl' in 'vred2'. Primeril a := lo(-123)» b hi(vred)} setbit (vred,3) ) clrbit (presKi), j ) j IF tstbit(12,1) THEN ... žast := lnot{spr)) začasnica := land(presi(i), zast)» zastavice Ixpr (lor (zaat, 6 Ta procedura zapiäe 'vred' v 'zbirka' hokeade-cimalno. Število se zapiäe z natanko 4 Številkami. Vendar to Število ni izraženo v Ada formatu baznega števila (ki ne ustreza za zbirnik). function extract {niz: ih stringi pozicija, obsegi IN integer) RETURN Stringf Ta funkcija Izvleče 'obseg' znakov iz niza 'niz' pri položaju 'pozicija'. Napaka se pojavi, će 'pozicija' ni v okviru niza ali če v nizu ni dovolj znakov (glede na 'obseg') za izvleček. Ta funkcija je podobna Basic funkciji MID2 in funkciji LEPTjS in RIGHTJS v Basicu je moč simulirati s funkcijo extract. FUNCTION position (vzorec, nizi IN atrinqj return integer t Ta funkcija vrne pozicijo prva pojavitve vzorca v nizu) če vzorca ne najde, se vrne ničla. function char to atr (znaki in character) ~ "" return str ing f. Primera! put_hex(tren izhod(),254)( — tiska OOFE put_hex(tren~lzhođO,-20)i — tiska FFEB Podprogrami đl3k_full, eof in put_hex so v knjižničnem paketu 10. ~ PROCEDURE read_blk (zbirkai IN OUT file» eeki OUT sector} bloki IN integer)} Ta procedura prebere logični sektor 'sek' z 128 zlogi iz 'zbirka', implementira pa omejeni, naključni dostop, ko uporabnik sam blokira In de-blokira vrednosti, Bločno število 'blok' mora biti pozitivno. Preizkusa na zbirki ni; zato je potrebna določena previdnost pri uporabi te procedure. PROCEDURE wrlte_blk (zbirkas IN OUT filej sekt IN sector> blok: IN integer)} Procedura zapiše logični sektor 'sek' zlogi v 'zbirka'. B 128 PROCEDURE rclose (zbirkai IN OUT file)| Ta rutina Ima enak učinek kot rutina close nad zbirko z naključnim dostopomj nahaja se v paketu BLKIO. Podprogrami za manipulacijo nizov sprejemajo nlzne tipe; pri tem se njihovi argumenti ne modificirajo. Celoätevil-ski parametri in rezultati so v območju O,.255, če ni drugače določeno. Vse te rutine bo v paketu STRLIB. FUNCTION length (nizi IN string) HfJTURN Integeri Ta funkcija vrne dolžino niza 'niz'. FUNCTION remove (niz s IN stringi pozicija, obsegi IN integer) RETURN string) Ta funkcija odstrani 'obseg' znakov iz niza 'niz', zaČenSl pri znaku 'pozicija'. Napaka se pojavi, če 'pozicija' ni v okviru niza 'niz' ali če ni dovolj znakov za odstranitev v nizu. FUNCTION insert (izvir, namen« IN stringi pozicija: IN integer) RETURN string» Ta funkcija vstavi izvirni niz v namenskega pred znak, ki jo označen B pozicijo in vrne re-zultatnl niz. Napaka se pojavi, če pozicija ni v okviru namenskega niza ali če je rezultatni niz predolg za predstavitev. Ta funkcija pretvori znak v niz dolSine 1. Janus ne dovoljuje stlkanja znakov v niz In ta funkcija Je potrebna za vrsto elementarnih operacij. function atr tO int (nlzi in string) ~ ~ return integer) Ta procedura pretvori niz v celo število. Niz mora predstavljati celo število v veljavnem območju Janusa. Vodeči presledki in tabulimi znaki se ne upoStevajo, Prvi nenumertčni znak označuje konec pretvorbe. function int to string (c štev! in integer) - - ~ return stringi Ta funkcija pretvori celo Število v niz. Vsako celo število se sprejme, vrne se najkrajši mogoči niz. Primeri WITH strlib) PACKAGE BODY niZteat IS USE strlibi znt character) niz, niz2t string; BEGIN niz t= "nlzni test"} niz2 := "programska oprema"} putC'niz = ")} put(niz)} new line; put("nlK2 ~ ")} put(nlz2)) new line} putC'dolžina(nlz) = ")} put(length(niz))} new linej put("položaj(........,niz) = ")j put (position (" '',nÌ2))| new line) put("položaj(""programska"",nTz2) = ")f put(positlon("programska",nlz2))} new_line| put("položaj(niz2,nlz) = ")f put (position(nlz2,niz))} new llnfif put<"odatranl (niz,8,a) «= ") ( put (remove(nlz,8,3))} new Ilnej put ("odstrani (niz,položaj ("'^zni"" ,niz) , 3) - ") » put(removG(niz,position("zni",nlz),3))I new line) put("vstavi(""rutinski "",nlz,7) = ") ) put(insert("rutinski ",nlz,7))) new line} put("varavi(niz2,odstrani(niz,1,5),lay = ")| put(insert(nlz2,remove(nlz,l,5),12))} new_llne) put("izvlecl(niz2,12,6) = "); put(extract(niz 2,12,6))} new_line} — To Je podobno MID?(niz,poz,obseg) v — Baa leu. Za LEFTjJ (niz, obseg) bi imel i t — extract(niz,X,obseg) kot primer. put["izvleoi(niz,l,5) = )) put(extract(niz,1,5))} new line) -- Za RIGHTü(niz,obseg) bi'*imeli npr.i — extract(niz,length(niz)-obseg,obađg) put("izvlecl(niz,đolžlna(nlz)-4,4) = ")} put(extract(niz,length(niz)-4,4))} new_llnei put ("niz s znak v nizC^') = ") j put(niz & char to_etr('$'))) new_line) — niz & 'Sf' bT. bilo nepravilno I get (zn) ; put("vatavi(2nak_v_niz(zn),niz,4) = ")) put {insert (char_to_str{zn) ,niz,4) ) }' new line) ~ ~ put("ni2_v_celo_ät("" - 123'"') = ")! put(atr to_int(" - 123")); new line» put("celo2gt_v_niz (432) = "); ~ put (int__to_atr (432) ) j new_line.( — Te procedure se uporabljajo za obllkova- — nje besedil in za uporabniSko prijazen — vhod, tNU nizni_teBti Ta program generira tale izpis: niz = nizni test niz2 = programska oprema dolžina(niz) = iO položaj(" ",nlz) = 6 položaj("programska",niz2) = 1 položaj(niz2,niz} = O odstrani(niz,e,3) = nlznl t odstrani(niz,položaj("zni",niz),3) = ni teat vstavi("rutinski ",nlz,7) = nizni rutinski test VBtavi(niz2,odstrani vstavi (ztiak-v-niz (zn) ,niz,4) = nizini test niz v celi št(" - 123") = -123 celo It v niz (432) = 432 5. Uporaba Janus prevajalnika 5.1. Prevajalne možnoBti in ukazna vrstica JanuB prevajalnik pokličerto v izvajanje s formatomi JANÜS [d:] iine_zbirkè [.raz] {'/opcija). Tu je ime__^zblrke CP/M zbirka na disku [d:] z razäiritvlTo [.raz] in prevajalniSklrai opcijami I/opcija} . če diskovna enota ni imenovana, se aktivira trenutni dlak; če razSlritev ni imenovana, obstaja zbirka tipa .PKG , imenom kot je Prevajalnlške opcije pa so telei D - ne generiraj popravljalnega kodaj B - kratka sporočila o napakah; vrstica z napako se ne tiskai W - izda se pojasnilo o nezdružljivosti z Janua Ado; C - pogojno prevajanje Je vključeno) L - oblikuj listo zbirke z lme_zbirke.PRN na istem disku, lme_zbJ rke.PKG. Lđ - oblikuj listo zbirke na disku 'd izbira je v intervalu 'A' .. 'W') LX - oblikuj listo zbirke na konzolni enoti (CON)),^ LZ . - oblikuj llBto zbirke na tiskalni enoti (IST;) ) Hd usmeri .JRL zbirko na disk 'd' (interval je 'A' .. 'ti'), če 'd'-ja ni, bo ta zbirka na trenutno aktivnem disku; Sd - preusmeri vmesne In končne zbirke na imenovani dlak) ta potreba se. lahko pojavi pri diskovnih sistemih, ki imajo manj kot 250k zlogov na disketi (npr. pri 5-colBkih disketah); uporaba te opcije dovoljuje zamenjavo diskete za naložitev paketne specifikacije (.SYM zbirke); prevajalnik išče pri te1 opciji .SifM zbirko na vstavljenih disketah in . fce jih ne najde, se lahko prevaJalniSka disketa zamenjiije z disketami za nadaljnje iskanje; tudi povezovalnik ima podobno možnost, kar omogoča razvoj velikih programov nà sistemih z malimi disketnimi obsegi; Q - tiha sporočila o napakah; ta opcija povzroči, da prevajalnik ne čaka na akcijo uporabnika po napaki; v navadnem.načinu prevajalnik počaka po vsaki napaki na u-porabniškc soglasje, ali naj s prevajanjem preneha ali pa ga nadaljuje; ta opcija je smiselna pri odsotnosti uporabnika; tako da prevajalnik lahko opravi svoje delo do konca; napake se tu ne pojavijo na zaslonu, zato je smiselna uporaba tiskalnika; določene slntaksne napake lahko povzročijo tiskanje velikega ätevila sporočil. če naštetih opcij ne uporabimo, pa velja.tolet D B W L R S Q - generira se popravljalni kod; - sporočila o napakah se ne pojavijo; - ni sporočil o nezdružljivosti z Janus Ado; - pogojno prevedene vrstice se obravnavajo kot komentarji) - ne generira se lista zbirke; - is'ta disketa kot jo ima vhodna zbirka; - ista disketa kot je za prevajalnik; - prevajalnik zahteva potrditev za prenehanje prevajanja po vsaki napaki. Primeri! JANUS preizkus/Q/LX JANUS preizkus.IKE/H JANUS preizkus JANUS preizkus .IKE /B /W /L 5.2. Delovanje prevajalnika . Delovanje žtiriprehodnega prevajalnika za Janus Ado preizkusimo na zbirki (Ada programu) z imenom QSORTI.PKG, ki je prikazana z listo 6. Med prevajalnim postopkom dobimo na zaslonu izpis, ki je prikazan z listo 7. Ta izpis ima tale pomen : C JANUS B:QS0RT1/L/SD — Prevedi QSORT1 in — generiraj listo (L). Zbirke naj bodo — na disku B. JANUS- VERSION 1.4.5 COPYRIGHT (C) 1981,82 -RR SOFRWAPE B080/ZB0 VEPSION (CP/M-801 SCRATCH FILES ON DISK B — Ta vrstlca pokaže — vtipkano opcijo, tako da vidimo, da — jo je prevajalnik sprejel, LISTING ON - FILENAME = B:QS0RT1.PRN INPUT FILE IS B:QS0HT1.PKG — Vhodna zbirka. — Po en znak dvojnega križa se natisne — za vsakih včitanlh 16 vrstic. To za— poredje dokazuje, da prevajalnik pre— vaja (pravilno deluje). STRSPACE PTR - 654 USAGE - 2 6% HASH TABLE - 136 BUCKETS USED, USAGE - 2 8» — Ta statistika pove, koliko prevajal-; — nlSkega prostora Je bilo porabljene-~ ga. Ce se poraba približa 100*, je — treba program razdeliti na manjäe mo— dule. PARSING COMPLETED - 272 LINES FOUND PASS II — Naloži se drugi prehod in ee za— čne izvajati. NO PACKAGE SPECIFICATION FOUND — To pomeni, da se prevaja paket, za — katerega ni bila prevedena specifika- — clja. To je lahko glavni program, ki — ne more biti uporabljen v kakem dru— gem modulu. — Po en znak ' se tiska za vsako upo- 34 C>TYPE BiQSOBTl.PKG PACKAGE BODY aSORTI IS OCet^JEVAUMt PROCfiAll QUICKSORT " TA PROGRAM JE LE PHlilER SPLÜSNE SliMTAUSE JEZIKA ADA V PRIMERJAVI Z J££lK0i4 PASCA1,< — PODOBEM PRQGhAH JE V WIRTHÜVB1 A t DS " P. .. •••• 0PQI-1ÜE ZA PASCALSKE PROQRAMREJE .itÜSIJÜ DSNAKQ . -- POQOJtJO PR£VE:DLJIVE VRSTICE SU lJAMEI>)J£i>l£ 0-PAZOVANJU PREVCDEMEGA KODA lU HAZU-lEVAiJJU -- . DELGVAtJJA programa. zero i constaiit so o i -- največje število sortiranih zapisov type item is record DATA1jDATA2 t CHARACTERJ KEYl i INTEGER; tjJD EtECÜllDi TYPE DasCORD IS ARRAY C ZERO..NU1RECS) ÙP ITEMi neuhec-datrec > drecohd; total i integer;-- total wurtbeh üf reoühüs --*• deklaracije so take küt v pascalu. PROCEDURE GETRECS CFILREC t I.J OUT DhECORDi SUM ■ IN OUT INTEGER} IS -- irnClALlZACIJA POLJA ZAPISOVi K1 so PÜDOÜiJI VAR PAKAi-letroii V PASCALU. AL IME i I.'JTEGER; iìEGIN for j i''4 1- ■ 100 loop PRAGMA ARITHCHECK ce zelihu izstopiti .ja njene;! koncu-end getrecs; procedure fileüut c out fi l i in dregohdj send i in integer) is -- izpise sortirane zapise na zaslon. tot i integer; begin tot i» zero; while tüt /= sei>jd loop tot (= tot + i; put; put . key i ) 1 àjeu.hnej end loop; put("total "); PUTCSEND); new_line; end fileout; PROCEDURE CiUlCKSOHT IN INTEGER) RETumllTEV IfA-K0JSE.1) SKOK NA KONEC. MED 1= CLEF + RIT) / 2J PUT("rtED=">> PUT; PUT; PUT<" SHOULD RETURN MEDIAN VA:LU£''>^ new.line; IF (LISTNAiKRIT) .key'l > LISTNAM(MED).KEYl) TllßJ IF LlSTNAiKMEDi.KEYl > LISTNAIULEF) .KEYI theij return f.1ed> j ELSIF tLISTNAMChIT).KEY! > LlSTNAi'ULEF) .KEYI) T:1EN RETURjJfLEF) J ELSE l(£TUfuJ END IF; ELSIF LISTNAiKMED)-KEVl < LISTigAM(LEF).KEYl THEN hETURiUMED); ELSIF LISTNA;Ì(H:T> .KEYI • < LISTNAlKLEf) .KEYI . THEiJ RETUftNCLEF>; ELSE nETURiJi PUT; g PUT(" LOW AMD HIÖH MARKS OF CURHEivIT SÜRT")J t neu.liime; T 1REC I = LI ST tH EDI AN < LI 5T^ LEFT> RI GH) ) < « PUT£"T1REC.KEY1="); « PUT(T1REC.KEY!); • PUTC- SHOULD i-IATCH MEDIAN VALUE") J 9 ' new.line; LOOP WHILE LIST= I ♦ U emd loop; while tihec.keyi « l1st J; EHD LOOP;--PONOVI ZANKO « PUTC"DON£ PARTITIO« - l='it « PUT(I)J PUT<" J="); • PUT; NEU.LINE; IF (J - LEFT) < CKJÜH - 1) TUtiJ if 1 < hlüh theij • put<"stack right"); STK I« STK ♦ i; stack82 - h H SOFTWARE s060/z80 VERSION )D IF; TYPE TABLE »a HIGH (= j; PROCEDURE TABLE 6 eo SORTIRANJEli LEVE PARTICIJE- PARAMETER TABLE 13 90 ELSE RANGE TABLE 7 . 10» IF LEFT < J THE.g PARSE STACK 3 25 so PUTC-STACK LEFT"); PASS II CÜiiPLETED STK 1= STK t i; PASS III - BOBQ STACKCSTK).BEG 1= LEFT; LISTING FILE BitlSURTl . PHN STAC«(STK).EDN >" J) EiiiD IF; ÜATA USED = 1612 left I a i; -- nadaljuj s sortiranjem desne particije. end if; EXIT WHEN LEFT >= RIGH; lijd loop; HIGHEST data address » d64c H:[GHEST cudc address - OBEE pt^ss 111 completed PASS IV THANK YÜU FUR USING JjVJUS 3B — Stavano podprogramsko telo, COMPILER TABLE USAGE: CURRENT MAX. LIMIT A»STAT Cl*.* SYMBOL TABLE TYPE TABLE PROCEDURE TABLE PARAMETER TABLE RANGE TABLE PARSE STACK 4S 14 6 13 7 25 400 90 80 90 100 50 — Ta preglednica kaìe uporabo razllCnih — prevajalniäkih tabel. Če Je katera od — tabel blizu svoje meje, naj bi se za— devnl objekti v programu uporabljali — manj pogosto, lo lahko pomeni delitev — programa na veö modulov, Anallanl — sklad kaže globino vgnezdenja posarne-. — znili programskih konstruktov. PASS II COMPLETED — Prehod 3 se za%ne nalagati in bo iz-- vajan. PASS III - 8080 LISTING FILE B;QSOBTl,PRN ***** — Znak '*' se tiska «a vsako uporablje- — Ilo podprogramsko telo programa. DATA USED = 1612 — Decimalno število podatkovnih zlogov, — uporabljenih v programu. To so samo — statično dodeljeni paketni podatki. — Podprogramski lokalni podatki se — shranjujejo v skladu. HIGHEST DATA ADDRESS = 064C — To je obseg podatkovnega segmenta v — heksadeclmalni obliki. Ta pođatejt je — uporaben za preizkušanje povezovalnih — naslovov, highest code address = obee — To, je vrhnji naslov ukaznega koda v — hekeadecimalni obliki. Ta naslov ka— že, ali je program prestopil območje, pass iii completed — Začne se nalagati prehod 4, ki se po— tem Izvaja. PASS IV THANK VOÜ FÜR USING JANÜS — Sporočilo konca delovanja prevajal-~ nika. Pri prevajanju se sporočajo napake takoj, ko so zaznane, to je v prvih dveh prehodih) v prehodih 3 In 4 skorajda nI več teh sporočil. 5.3. Uporaba prevedenega programa Prevajalnik Izdela zbirko tipa .JRL (Janus Re-Looatable)} ta Kbirka mora biti povezana (kombinirana J a knjižničnimi rutinami izvajalnega čaaa, da bi tako dobili izvršljivi program. V naäem primeru bomo imeli ukazno vrstico jlink B:qsortl Po povezavi bomo vtipkali za uporabo tega programa enostavno 'qtsortl'. Tudi pri povezovanju Imamo na razpolago različne opcije (npr. za vstavljanje knjižničnih disket), pojavljajo pa se tudi značilna sporočila o napakah pri povezovanja. 5.4. Janus diskete in ra::poioìljivl prostor V listi 8 imamo seznama treh disket Janus Ada, in alcer prevajalniške, povezovalniske in storitvene s primeri. Povejmo ša, kako naj bodo posamezne zbirke razporejene pc posameznih diskovnih enotah. Lista B, Vlblrke na prevajdJ niàki, pqvüzovalnl-äkl In stotlCvenl dlskt-tl Janufi Ade RBCS BYTES EXT ACC 3 IK 1 R/W ClBIT.Sm 8 IK 1 R/W CIÜLKIÜ.SVM S IK 1 n/y ClCHAINLIB.SVM 93 12K 1 n/u CiEßliÜR.MSQ 6 IK 1 R/y Clio,SYH 177 23K 2 B/W CiJAfJUS'COI'l 161 aiK 2 R/U OJANUSl^DVL 149 19K 2 R/U CiJANUSStCOM S6S 33K 3 H/tf C 1 JAfjUS2ACOlJA14US3.CDM 73 I OK 1 R/U ClJAiJUS4.'C0H 89 4K 1 H/W CiJUBBfl.SYH 1 IK 1 R/U ClNAME.$$» 13 SK 1 B/U CiUPC(JDE>SYt't 3 IK 1 R/W ClSTAiJ DAHD.SYM 4 IK 1 R/W ClSTRLlB.SYM IK 1 R/U CtTIrfELlB.SYM 6 IK 1 U/W ClUTIL.SYrt ÜVTES FtEiiAlHIUG O.'j C t 36K A>STAT BECS BYTES EXT ACC 25 4K 1 n/tf U)BIT.ASM 8 IK 1 H/U BiBIT-JRL 9 SK 1 H/V HtBiT-LIB 3 IK 1 n/v BlBlT,SVi1 7 IK 1 R/Ü BiHLKIO.JRL 9 SK 1 R/W QtBLKIÜ.LlB 25 4K 1 U/V blüLK'IO.PKÜ S IK 1 R/U BlBLKIO.SVi-) 8 IK 1 H/U B(CHrtlWHD. JUL 9 8K 1 H/^ BJCHAINLIB.LIB S9 4 K 1 R/U UiCHrtlULIB.PKG 2 IK 1 Ft/W biCHAi;\iLtl5,SVM 43 6K 1 li/U BsIÜ.JRL 13 2K 1 R/U B:I0,L1B 113 1 SK 1 H/U aüü.PKG 6 IK 1 K/U ÜilQ.SYll 631 79K 5 n/u idi JLlBBO-ASlI 43 6K 1 Ii/W BiJUIBStl.JRL 37 SK J H/v UtJLtOaO-LIS 29 4 U 1 H/U UiJLlöbO.SYH 157 20 K S h/u l IK 1 1(/W BlÜPCODE.JRU as 4 K 1 K/li ÜiUPCODE-LIB 13 2 K 1 h/u UiOPCÜDt.SYll 33 5K 1 u/u ÜiSTHUIb,JhU 13 S K 1 h/U UlSThLlIl.LIB 41 6 K 1 K/U UiSTKLIB.PKQ 4 IK 1 R/W üiSrHLIiJ,SYM 19 3K 1 H/W üiTIrlELlB, JRL 9 SK 1 U/W BlTIM EL1B,H0 £9 4 K 1 R/W mililELIB.PKÜ 4 IK 1 R/W UiTlWELID-SVM 33 5 K 1 H/W kilUTlL. AS.1 3 L K 1 K/W U)UTIL.JHL 13 2K 1 h/u ßi UT IL. LIB 6 IK 1 H/U öl UT IL. SYil UYTüS lll^lliUNltlU U.l Ui 39K A> STAT ■ bt HtCS žSVTtS ACC 53 7 K i H/U üCOM 1 17 1 5K 1 H/U uijASiieo • uvL 133 I7K £ K/U ÜiJAS11Bld cdmparisoit of mlcroprocesaor register organization is proposrad. The techfilcjue lu baaed on the combinatorial analysis of the contenta of addressable registers, for eacli couiblnaVlon of address registers, data registers, and universal registers the proposed tech- ' niqiw euabiea the computation of an overall ijuantltatlve indicator of register organiaation galled the umiibtsr of equivalent utiivtjrsal registers. 'i'Uia indicator is affected both by the number of availabitj veylsters, and by the efficiency of their organization. The number of equivalent universal registers la then used for organlalng a aultable eU-mentary criterion for computing the elementary, prti fer e nee of addressable registers. Kur thtsrmore, the computed elementary preference can be àggre-' gdted with elementary preferences of ottier wlcroprooesaor attributes according the LSP-methóè for system evaluation. The proposed technique is illustrated by a comparative analysis of 13 popular a-bit and 16-bit wicroprocessora, i. uvOi) Muoge organizacije 1 pojùdiiicl buoč^jiU su sa piubltìiiLWu iiibora najpovoljnije lulkiopirocesurbKö aitUUskLuie va otUcdjenu klasu prlmena. fri tome osnovni pcobleiiH obuhvata j u (1) occnu ml'kro-piuyeüOrakUi leyistma, 141 ocenu uaćiiia adre-6 U an ja, (J) occuu broja adieisa po Instrukciji, (4) Oüäiiu iikupa jiiaàiiJtìklh liiattuhoija I (5) ocuuu ra^iiHi liai.iJverakih I softverskih osobinu vezdiilli xci sLaleiii prekidi), üi^aii I ìkuI ju lUtiyla-Cialđ 1 u poiiidkii operativnom sls- tcidu I I silĆno. Dosadyäuj 1. p..)ku- vt tìUiiovciii ja svudlll su 01= iiajceéOB lu iid-1:ot:Élla 111.;; i'ijstuphe tni'iitdnu im sl,steiiidtHk im pirl-kiiaiuij cultjvjiiliiili ati ibuta uii kfopi ».icesut tiku ^ihUekUiLa . tlnjoiL su J pokušaji dl Su IJI ol^loiu ktimpai ai.!( ja iiiIkl upt 000 sota u l VuU,.j Ilici 1 Coilliailau ju, all su ptuj UguUiu toli-niku lU) I.4V11UIII ostili« ltd nivou spool )j U aovciuoy yi atioku^l (.1 Ikü ia akiiijova ills L i uki: I Ja C !> i, ddl-tlviilli iiiuto.la ia Liodovjiiju )6|, J. n' jcdiiustav-liili pual.Kjiakj HJ cilliiitiiiiuiju pomoiju cikiip^ iiiiu-cijj ko)i3 upisuju ul>avi3.tiiii> usoLi.ii« ki.iJu mlkiu- procesorska arhitektura moia da poseduj« [73. Mikroprocesorske arhitekture s« mogu uspaéno kvantitativna vrednovati pomocu opéta LSP metode za vrednovanje aložtJiilh Bistuiiia L tì I, pod ualo-vom Ja so razvije kompletan skup re Levantnili atributa arlUttìkturu, i da so za svaki atribut tea Uzu je odyovarcj juöi e leiiiuntarni kriterijum. i'ivL pokuSđj u tom pravcu ući njen je u radu fSji ali je tu uayldaak ütü pùstavljeu na vtednovanj,* naćiiia aUieaitanja i skupova maSiuakili Instruk-c-ijj, dok metode zu kvuntltaUvno vreJtaovanje orgiinLiaci je toylstata nljiö bilo. U ovom itttlu oyi jnl oavcàjiio au lU vrednovanje adiesubU Iilh m I ki optouesoi sk i h reylstara. U toij smlulu ovjj Lrtd piedstavLja dopunu luetoiiologlj0 Uioiuue u radu I 9 ) i koirak u prtivuu c« su ne zavlane od "subjektivnih interpretacija" u sledečem smislui ne može se postidi povečanje CIN ako se univerzalni registri interpretiraju kao specijalizovahl■ Tada se, u stvari, CIN smanjuju. Druge interesantne oaoblne formula {!) i (2) su prikazane u 30 primera tabele 1. Primeri 1-7 ilustruju osnovne uticaje odnosa broja univerzalnih i specijaliaovanlh registara. Na primer ima 6, fi, 9 i 10 kada je n^+n^=const , vidi se da je sluCaj bolji od sluäajeva gde n^jin^ • zavisnost N od odnosa broja specijall-zovanih registara i univerzalnih registara polovične dužine prikazan je u primerima 11-19. U primerima 11-15 podrazumeva se 10 univerzalnih registara polovične dužine, dok je u primftriraa 16-19 n +n_, + n =10 bea obzira na veličinu rea a e gistara. Zahval jujučl prethodno navedenoj osobini broj 3 formula (1) i (2), u odnosu na C i N medjuaobnl odnos broja unlverzalnili i spa-oijalizovanih registara (primeri, 20-23) je ekvivalentan inedjusobnom odnosu broja univerzalnih registara standardne dužine i univerzalnih registara polovične dužine {primeri 24-27). Ha kraju,primeri 5, 28, 29 i 30 prikazuju šta se dobi ja ako se svaka polovina univerzalnog registra može adreBirati pod uslovom da je n^+n^/2 = 10 . 2•3 Koeficijent univerünlnosti registara Proces programiranja je najjednostavniji onda kacia su svi registri univerzalni, tako da prograiiier ne mora da vodi računa o tome koji registar bira za koju primenu već jedino o tome ima li slobodnih registara. Ovaj zaključak podržavaju formula (1) i (2) time Sto važi ünnovne osobine formula (1) i (2) su s 1 . C i N su striktno rastude funkcije n^, n^, "u ^ "t:' svako povečanje broja registara i povečanje C i [J, 2 . Ako je II i očekuje, N = n "d " "e " " tinda je, kako se Za sve druge slučajeve N je jednako n^ plus inkrement koji odra- žava utlcaj n. 3. Za svako n^ ? ü i svako k i 0 slučajevi "a = "d = "e ' "a = "d n = 2k su ekv Iva len tili. - 0, MSN Pri tome N = N = 0, tj, kada "a ^ "d "u ^ "e jedino u slučaju kada u^- n^- "a^ "d n" = n^^ . Odavde ee uočava da ukupan broj raspoloživih registara N Ima redukovanu funkcionalnost zbog specijalizacije pojedlnlli registara. Stoga veličina N predstavlja jednu kvantitativnu mecu funkcionalnosti skupa registara, pa u nekim slučnjevlma moSe biti od interesa da se u pruccs vrednovanja uključi i sledeči koeficijent univerzalnosti regis tara "reg t i J Tabela Primeri izraSunavanja ukupnog broja (a,đ)-kombinacija i broja ekvivalentnih univerzalnih registara No .1 2 3 4 5 6 7 0 9 10 11 12 13 14 15 n a "d "u "e 0 1 0 0 0 1 0 0 2 0 0 0 0 0 2 . '' 0 5 0 0 5 0 10 0 0 Q 0 10 4 3 1 6 7 9 0 0 0 0 0 0 Ù 1 1 2 2 2 0 2 0 2 0 0 0 0 0 a a 6 6 4 C N 6 4 4 9 2 1.4 J,4 2.8 66 36 36 10 7 7 35 32 20 6.9 6.5 4.8 35 34 33 30 29 6,9 6.8 6.6 6.3 6.J No 16 17 18 19 20 21 . 22 23 24 25 26 27 28 29 30 >1 a "d "u "e 4 3 2 1 4 3 2 1 0 0 0 Ü 2 4 6 a 12 3 4 12 3 4 8 6 4 2 0 0 0 0 0 0 0 0 0 0 0 0 8 6 4 2 2 4 6 a 0. 0 0 0 0 0 9 4 0 2. .12 20 C N 4đ 42 42 4Q 7.5 7.7 7.7 7.5 64 60 54 46 9.8 9.5 8.9 8.J 64 60 54 46 9.8 9.5 8.9 8.1 76 111 12] 10.8 13.4 14.1 Ovaj pokazatelj je prosto procenat ujiiveraalrüh registara i u principu organižaclja registara je najbolja ukoliko 100% . Medjutim, u^^g < 100% još uvek ne znaöi neefikasnu orcja-nlzaoiju iretilBtära, jer ako ja N dovoljno velik time je programiranje olakäario pa smanjenje vrednosti nesna kritični značaj. 3 . U'l' IC A J DiJ ZIN t: C'ODA 'l'A KA LlLNTNIil UNIVERZALNIH R' Vrednovanje i koinpa aabi.Inih mikroprocese Udvial. od dužine pc . mogu uskladlštiti likovati dve osr aa S-bltiiltn po ' , žine reći (f -, .-' Had sa termina''.^ uredjaj .. . podaci koj.^-tovi, u ovakvi,... ,, veće dužine srede . ^ postoje registri i inb"' ■ podacima onda to ne predsv 'if- prelfliućstvo posinatranog mikroprocesora. Rad sa rečima vede dužine javlja se uvek kada mikroprocesor podržava neki od viših programskih. jezika u okviru malih računara i srodnih sistema gde je korisno oroogučiti direktnu podršku radu sa celobrojnjm podacima dužine barem U ovom sluCaju se podrazunieva da ^ašinskl jezik obezbedjuje aritme-čke operacije, prenoe, pomeranje, i komparaciju podataka u d.vobajtnim .1 memorijsklin delijama i procesorskim ima . 'V / , baj-'.ciina jkollko i sa duiim ) BuStinsko . .liiaju^i u vidu različite potröbä u bajtov-"^jin pt ima nama 1 prlmenama vezanim za duže reči ...orlano je uvesti klasifikaciju procesora pomo-du šifris B/D, tjde B označava Širinu magistrale . podataka i memori jake rečl, a D (ukoliko postoji) oznafiava da postoje procesorski registri i iiiaSlnsko Instrukcije za prlhvatanje i obradu podataka dužine D bita. Primeri Ove klasifikacije u domenu mikroprocesora 1 niiniračunara su slededi. TIP a. Procesor sa e-bltnom niagiatralom po- dataka predvldjen isključivo za 8-bitne primene. Nema mogudnostl neposrednog đohvatatija, akladlätenja u recjistre i obrade l6-bltnlh ili. dužih podataka. Ptrliiierit 650Z, 6800, 6009 , zao, 8000, 1802 itd. TIP 8/16. Procesor aa 8-bitnom raatjistralom po-dEitćika predvidjeti primarno za 8-bit-ne ptiraena i opremljen instrukcijama dohvatanja, skladištenja u reqistre 1 obrade 16-bltnih podataka. Pri tome ae programi za obradu 16-bitnih podataka ne razlikuju od profiraina za ekvivalentnu obradu U-bitnih podataka; eekvencljalno dohvatanje 16-bltnlli podataka usporava obradu ali je nevidljivo za prograsiiera. PriKiuri 8088. Proceüor sa l6-bi.lnom inacjistralom podataka predvidjen isključivo za l6-hitne primene . Speci jaH;;ovane instrukcije za neposredno dohvatanje, skladištenje i obradu B-bitnlh podataka ne postoje. Memorija nije baj-tovskl ađresabilna, protjesor nema 8-bitnlli registara, a uve 8-bitne operacije moraju se simulirati po-modu odgovarajućih 16-bitnih operacija, Sto otežava programirćinje i usporava obradu. Primer: IBM 1130. TtP 16/8. Procesor sa 16-bltnoni magistralom podataka predvldjan za Ić-bltne i 8-bitrie pritiiene. Postoji većina speci jalizovanih instrukcija za prenos la inaiiiorlje, skladištenje u procesor skini registrima, 1 obradu 8-bit-nlh podataka, Memoiija je bajtovakl adttjaabi Ina, ijrl čemu iiakù Instrukcijo dolivataju i obradjuju dva bajta, a neke jadan bajt. Primari: 8086, 680Ü0, uaooo, f.,SI-U. Navedena klasi f ikad ja ukaiuje da vrodiiovanje procesorskih registara ima sini ala jedino u okviru jednog tipa primena, t.j. posebno u domenu 8-bitnlh pciifiöna i posebno u domenu I ti-bitni h primena. Stoga jeciiiii tu isti iii i k roproi.'usor nioiže biti ra-ilifclto vrednovan u ova dva domtjiti jiri-iiiene. Oni 16-bitiii procesori koji Ijiiaju bait-tid-riisabllne i'egUiti'e imaju u ä-bitulm piimenaiiiu Veći l)roj registara nego u lu-bltniiu primenaiiia 1 stoga u 8-bltiiiiii prliiienajiia mogu dobiti bolju ocenu. Obično svi registi-i ni.au bajt-adrcsiibl Iji 1 vud samo neki od njih (uporedi.ti tipr. 8086 1 itÜOHü) . Sa drugt! stiaiie, neki ló-bitni procesori nemaju ljajt-adrcsabi 1 ne i'üy.lstire ved jednobajtne podatku iiak tadlštava ju u Ib-bltne ili tiuze registre (npr, l.Kt-ll I bÖ(lOü) na isti iiadin kao i 16-bitne podatke. Stoga u tim slučajevima broj reyistara 1 odgovarajutfa ocena ostaju Isti u S-bltnlm i J6-bitnim prlmenama. U slučajevima kada se vrednuje organizacija registara za procesore od kojih se očekuje da uspešno rade kako u 8-bitnom tako i u 16-bitnom reilmu (ili reäimu re&l veće dužine) onda se za svaki procesor izračunavaju dva broja ekvivalen-tnlJi univerzalnih registara: broj ekvivalentnih univerzalnih 8-bitnih registara N^ 1 broj ekvivalentnih univerzalnih IG-bitnih (ili dužih) registara N^g , Ako je očekivana relativna frekvencija za 8-bltne primene Wg a za l6-bitne prl-mene W^^ (pri čamu i^g ž 0, i 0, onda se rezultantnl broj ekvivalentnih univerzalnih registara N^^^ iiiože računati po nekoj od težinskih stepenih sredina. Hajčešde,može ee primanici aritmetička sredina «reg Vb ^ "l6"l6 ili (u slučaju stroži j Ih usiova) geoijietr i jska sredina "reg ^ ' "l6 ' ' Naravno, ako su u pitanju samo S-bitne primane-ond« je Wg = 1 - Wjj- = i, pa sledi Mg • Na sličan način, kod isključivih 16-bitnih primena 1 - Wg = 1 pa je Njg . 4. KtMTiiHIJUM ZA VHKISNOVANJE ORGANI^ACUfi Hi::Gl STARA broj ekvivalentnih uiiiverzainili regislara N^.^^J se može direktno koristiti za poi-edjenje organizacija mikroproüesorskih registara. Medju-tim, kada sa vrednovanje adresabiliiLh registara želi s[joJ!ti sa praceaani vrednovanja drugih koitr ponenata mlkrcjprocosora, tada se mora iatačunati odgovarajuća preferenca l^^^y- Ü i s lOOt, koja se interpretira kao proce- iiat zadovLil iun ja korisnikovih zahtüva , Funkcija g^^^^ morti uvek biti odraz jjutreba odiedjeiie pritlično. KfUJ llustiacija, ovde se koristi jednostavna Cuiikcljfi sa jednlii! paiiiHuittom (31 gde HO puraiiiotar N^^ itiozu lako t.>di.uditi iz bilo ''Of i-''"^- primer, ako se smiitra da je dovoljan broj ekvivalentnih univerzalnih registara N za E mogudiii prime- rog reg iia, tada Je 4..428 , üva vrednost jö prinienjena za izračunavanje preferenci organizacije mikroprocesorskih registara za 13 popularnih 8-bitnih i l6-|jitnih niikroprooeaara [>ri-kazanih u odeljku koji sledi. Naravno, prethodna formula se bez te Skoda može modifikovati ili dopuniti u saglasnosti sa konkretnim potrebama odredjenog korisnika. Pored kontlnualnlh funkcija, često je pogodno da ae ^J^ggtNj.^^) larazl u vidu niiia pravollnijskih aeyinanata, pri čemu jti vrednovatelj dužan da uz obrazloženje defi-iiiée skup koordinata prelomnih taòaka. Kegiatri AX, CX, BX 1 UX su bajt-adresablIni, tako da se.u 8-bitnoj varijanti kod 8088 pojavljuju četiri registra podataka (AH, AL, CH 1 CL), tj. n^=4. Registri BX i DX mogu i aada da aađrže l6-bltne adrese, a podaci koji se u njih mogu uskladištiti su 8-bltnl, tako da se radi o univerzalnim registrima polovične dužine (BH, BL, Dil i DL), pa imano n =4 . Konačno, BP. SI i Dl nisu bajtoveki S adreaabllni pa predstavljaju univerzalne registre pune dužine, tj. . Koristedl formule (i) 1 (2) sada ee dobi ja 'i. RKKULTATI VtìEDNOVANJA ORGANIZACIJE MIKHÜI'UOCESOHSKIH REGISTARA Radi ilustracije organizacije niikroproceeor-skih registara i odredjlvanja veličina n. , ., ci d n^ I n^ na si.3 su prikazani registri tri popularna 8-bitna mikroprocesora (8088, 6800 i 280) 1 tri 16-hitna mikroprocesora (BOBć, 68ÜÜ0 i LSI-ll/23), Notacija 1 analiza registara na al,3 podrazumeva a-bitne prlmene za 8088, 68Ü0 1 isao, 1 16-bltne prlmene za 8086, 68000 1 LSI-J 1/23 . ■ [»ri tome ae mogudnosti registra da prihvata razne podatke ustanovljava detaljnom analizom skupa mašlnakih instrukcija, a uloga reijlstara u adreslranju odredjuje se analizom akiipa načina adresiran ja. Rezultate prikazane na s 1,3 u nastavku ćemo detaljno prodiskutova ti na primeru komparativne analize 8088 i 8066. Mikroprocesor Intel 808B po avojoj unutrašnjoj atrukl-uri 1 skupu mašinskih instrukcija predstavlja 16-bltnl mikroprocesor. Medjut.ji, zbog svoje B-bitne spoljne magistrale podataka t softverskih mogučnosti rada u 8-bltnlni pri-meiiama opravdano je da ae '8088 analizira u grupi 8-bltnlh mikroprocesora, a njegov 16-bitni ekvivalant, 8086, u grupi l6-bitnih mikroprocesora. Prema ranijoj klasifikaciji B0B8 Je procesor tipa 8/16, a 808 6 je tipa 16/B. Interesantno je uporediti organizaciju regia-tara za 8086 1 80Ö8 uočavajući kako se jedan lütj skup rtiglstara može koristiti fia n^ + Dn^/Ü = 33 '16 (-3 + >' 9 + 8 ■ 32 )/2 = 6.64 C = n^+n^+n^+l + (2n^+2n^+n^+l)n^/2 + + = 54 Ng = (-3 + / 9 + 8 . 53 )/2 = 8.90 . Kao što ae 1 očekivalo Ng ^ N^g . Ako predpostavimo Wg=Wjg=0.5 i primeninio aritmetičko uarednjavanje sledi reg (Ng + 7.77 Buduči da su u ovom slučaju Ng i N^^ bliske vrednosti odabrani tip usrednjavanja ne utiče bitno na rezultat (npr, u slučaju geometrijskog uarednjavan ja 7.69). Ukoliko registri 16-bitnog mikroprocesora nisu bajt-adresabilni, a funkcija registara je ista za 8-bitnei i6-bitne prlmene, onda veličine n , n ,, n^, i n^ ostaju neizmenjene,. 3 Cl U Ö pa je Ng = N^g . Na taj način se npr. za LSI-Jl/23 dobija N^gg = "a " "i6 " "u ® ' Kod 6800 postoje samo dva akumulatora i jedan bazni registar (proizvodjać ga naziva indeks registrom), što je ekvivalentno sa dva univerzalna registra. Ovaj primer llustruje da se sve procesorske funkcije mogu realizovati i sa vooma skromnim brojem regiatara, što Je bio čest slučaj i kod nilnlračunara starijeg datuma. Naravno, u ovakvoj situaciji programer nailazi na niz ograničenja koja otežavaju njegov rad i umanjuju rezultantnu efikasnost programiranja. Kod Havremetilje koncipiranih mikroprocesora, kao éto Je zBO, broj registara je znatno povečan, a njihova funkcionalnost ju dodatno poboljšana uvodjenjem univerzalnih registara. Prema si.3 ZBO ima ukupno 9 registara koji Hu ekvivalentni sa 7 univerzalnih registara; u kategoriji B-bitnlh primena ovo predstavlja jedan od veoma dobrih rezultata. Konačno, 68000 je mikroprocesor tipa 16/8/ /32 kod koga je proizvodjać predvideo 7 adrojsnlli registara 1 B registara podataka.' «a •oae I-- Ng = 8.90 ------1 soae r- AH AL C« CL 15 BN 1 DH 1 01 » BP SI 01 n*i4 , HuiS L______ L. o) ssoo nd>i 3 f\,.i u Ito r- IL L. T 0 czru r\i>i L. Lfl 11/2» ì----- C) Ni6 = 6.et AH ex ex OH BP SI 0< d) 00 DI DI 0} 04 OS OC 0» AO Al AI A9 A4 AS A6 rid it nu'i MOM NI5 = 13.21___ nu»e rio"' "16 HO R1 RI ns R4 MS nu>« f) prSorf"^^*^^^"^"^^ i N Kafco registri podataka mogu prilikom Indeksiranja obavljati 1 ulogu adreanih registara to je u slučajevima gde je ovo od Interesa moguče interpretirati DO.....07 kao univerzalne regUtre. To je i učinjeno na si. 3 tako da je dobljeno 13.21 ekvivalentnih univerzalnih registara (u protlvno«,e, za i „^=8 sledelo. bi N -10.51). 16 za neke S-bitne i 16-bitne inikro- Uetaljnl prikaz poatuplta vrednovanja adrea-abllnih registara za 13 popularnih 8-bltnlh i 16-bltnlh mikroprocesora izložen je u tabeli 2. Za izračunavanja E^^^ korlätfena je formula (3) sa parametrom N^=^.328. Pored podataka neophodnih za Izračunavanje E u tabeli 2 su dati j reg 1 drugi vaSnl podaci koji karakterlSu prikazane mikroprocesore i koji se mogu primenitl ako se proces vrednovanja proälri. i na ove karakterls- ; tike. U drugom delu tabele 2 u kolonama pod nazivom FUWCTIOBAL ORGANIZATION OF,REGISTERS nalaze se podaci o ađreaabilnira registrima mikroprocesora. U kolonama NUMBER OF EQUIVALENT UNIVERSAL REGISTERS i PREFERENCE RATING OF ADDRESSABLE REGISTERS nalaze se finalni rezultati vrednovanja. Mikroprocesori au u tabeli poredjani po opadajudim vrednostima preference adresabil-nlh registara u okviru svake ođ grupa. U koloni DATA BUS WIDTH data je Sirina spolj-ne magistrale podataka. U koloni ADDRESS SPACE je data veličina direktno adresabilnog memo-rijskog prostora bez upotrebe pomoćnog hardvera i softvera za njegovo proširenje. Veličine operanada sa kojima mogu mikroprocesori raditi date su u koloni AVAILABLE SIZES OF OPERANDS. Naznačene su one veličine operanada koje 3u veličine bajta ill veće. Operandi veličine 1 i 4 bita nisu uzimani u obzir. Pored toga nisu uzimane u obzir ni dvostruke veličine operanada koje su rezultat operacije množenja. Podaci o prekidima su dati u kolonama VECTORED INTÉHUUPTS i NUMBER OF PROGRAM PRIORITY LEVELS. U koloni NUMBER OF PROGRAM PRIORITY LEVELS naveden je ukupan broj nivoa prioriteta na kojima se iiiogu izvršavati mašlnske instrukcije ne uzimajući u obzir kako se na te nivoe dolazi: hardverskim ili softverskim prekidom, ili direktnim postavljanjem nivoa prioriteta iz nekog od programa. U kolonama FUNCTIONAL ORGANIZATION OF REGISTERS dat je prikaz najvećeg mogućeg broja registara sa svakom od navedenih funkcija. Na primer, Iiaüü2 i 68000 ne mogu istovremeno imati oba ukazatelja steka, već im je u jednom trenutku dostupan samo jedan, sistemski ili korisnički stek, I pored toga u opštem sJučaju se oba steka mogu bez ograničenja alternativno koristiti, pa su u ovom aJučaju u koloni STACK POINTEHS naznačena dva steka. Kako u mikroprocesoru mora postojati brojač naredbi, a u slučaju mikroprocesora 100 2 COSMAC bilo koji üd adresnih registara može biti korlšćen kao brojač naredbi, co je u ovom slučaju makalinalan broj adresnih registara morao biti smanjen za jedan. Kolona NUMBER OF STATUS flAGS ne daje samo btrój indikatora unutar statusne reči mikroprocesora, vod ukupan broj unutrašnjih indikatora dostupnih programeru. Pode la registara u delu PUYSICAE. ORGANIHATION 01' KELilSTEUS je izvršena shodno definicijama n "d' "u ^ "e '■"^^istara na način kako je to ilus- trovano slikom 3. Za razliku ođ funkcionalne organizacije registara ovđe su date vrednosti koje Odgovaraju broju registara u upotrebi prilikom programiranja, One su manje Ili jednake maksimalnim vrednostima i odgovaraju registarskoj arhitekturi koju vidi programer u jednom trenutku. U nastavku slede objaSnjenja kako su odredjene vrednosti n^, n^, n^ i n^ tamo gde su takva objaSnjenja neophodna. Zilog ZBQ, Ovaj mikroprocesor ima dva skupa registara, primarni i sekundarni, koji se koriste alternativno. U kolonama maksimalnog broja registara oni su uzeti u obzir, dok u kolonama fizičke organizacije registara nisu. Razlog je Sto programer u jednom momentu koristi samo jedan od dva skupa dok drugi koristi za opsluživanje prekidnih rutina, privremeno Čuvanje sadržaja registara, itd. RCA COP 1802 COSMAC. Karakteristika ovog mikroprocesora je izrazito neuravnotežena organizacija adresabilnih registara. Šesnaest l6-bitnih registara se mogu koristiti samo kao adresni. Pored njih postoji jedan registar podataka -e-bitni akumulator. Svaki od 16 adresnih registara može imati ulogu brojača naredbi. Ako se od preostalih 15 jedan koristi kao ukazatelj steka, a dva za opsluživanje prekidne rutine, ostaje korisnih 12 registara za programera, Ta vrednost je i navedena u koloni n . a Motorola MC6809. U koloni n ne uzimaju se u --———--- ti obzir ukazatelji ateka. Medjutim, dva postajeđa ukaza tel ja steka mogu se istovremeno upotrebi ti kao adresni registri. Da bi se ovo uzelo u obzir vrednosti navedene u kolonama DATA POINTERS i IHDEX REGISTGRS su za dva v&čfi od vrednosti u koloni n . a ■ Zilog ÜB002. Od 16 univerzalnih registara samo registar ßO ne može sadržati relativnu adresu prilikom indeksiranja te je u koloni FIXED INDICES broj registara umanjen za jedan. Iz istog razloga kao i u slučaju 6809 u kolonama DATA POINTERS i INDEX REGISTERS dodat je ukazatelj Steka, éto nije učinjeno u n koloni. U koloni STACK POINTERS navedeni su sistemski i korisnički ukazatelj steka i pored toga što se ne mogu aijnultano koristiti, Motorola MCeeOOO. Važi.iati komentar kao u slučaju Z8002. Texas i n a t r ume n t H TMS 9 D ü ü. Programirajući ovaj ciikroproceaor programer može da koristi 16 univerzalnih roglHtaira koji predstavljaju đeo memo- t ct ID < rr ? 6 < D) p T o H IC & S I r I r n O o: o lA V^ UJ LJ O a t GEKERAL CHARACTERISTICS FUIJCTIOHAL ORGANIZATION OF REGISTERS {MAXIMUM NUMBER OF REGISTERS WHICH CAT; OPERATE IN EACH GROUP) PHYSICAL DRGAtnZATIOH OF REGISTERS en s: SS LO UJ oc 5- tO = 5 cyuj ; UJ te u__i ■ Oc t/l o: ec m ^ li D1 01 1- S UÀ HS a m C i±J 1/1 o m £ K o UJ o u- ^ UJ Sffe p X S 5 co = ca •s i r—s tA 0) >> C Ö C D. lf> iT. u-> LU OC S t/-, o z «s cx UJ CL o C _ t/i Ifl UJ t/l ^ UJ —I tU s C tiH e. UJ t— Z e u K C ho LlI > s < S J O LJ Ä i» C^ UJ U- o ce ^ II z ADDRESS I^GISTERS DATA AND STATUS REGISTERS a ca UJ C r>j « trt «t n: — UJ u ^ UJ ^ O. l/l tB UJ u. o; o CE 1/7 UJ UJ gg o ■ z «t o Ui -J C «C -W. <_> LO UJ o. UJ v^ »-LO U. o o UJ cx o: 11 2 O = C UJ t/l M ^ UJ Irt h-1 V) Si u__1 0 «C trt 01 UJ UJ E ^ Z =3 01 C UJ t/1 IVI o: — LÜ t- 1 _1 tB ŠS U__P C I/O e: o: LÜ UJ > 11 t/i OL UJ • S ^ C LJ i ti e cc CL cc UJ E: o C.. o < i- LTJ data pointers index registers z trt OL UJ IO S LLJ ce to «C e: xTi OC ÜJ 5 O O < g irt OJ o a z £3 UJ X U- t/1 a. LkJ G U >c UJ 1 8088 8 1 MB l;2 ves 4 1 1 5 2 4 0 11 9 . 0 4 3 4 8.90 87.22 z80 8 64 Ves 3 1 1 a 0 0 0 14 6 i 2 1 0 6 7.od 80.15 1802 8 64 1 No .2 16 15 15 15 0 0 1 7 ■ 12 1 0 0 5.72 73.38 8080 8 64 ves 1 1 1 5 0 0 0 7 5 0 1 0 6 4.84 67.35 8008 8 " 16 1 Ves 1 1 1 1 0 0 0 7 4 j 0 5 0 Z 3.81 58.58 &809 8 64 i;2 No 4 1 2 5 5 5 d 2 9 ; 3 2 0 0 ■ 3.42 ; 54.67 6800 8 64 No 3 1 ì 1 0 0 0 2 6 1 Z 0 0 2.00 • 37.00 6502 6 64 1 Ko 3 ! 0 0 2 0 1 - 7 ; Z \ 0 0 2.00 37.00 28002 16 64 u2;4 Ves 5 1 2 16 16 15 0 . 16 10 , 1 0 0 16 18.51 98,61 808& 16 1MB Ves L i 1 5 2 4 0 n C : 0 4 3 4 8.90 87.22 680QO )6 16MB Ves s : 1 2 8 3 16 0 b 7 i 7 0 8 c 13.21 95.27 9900 1£ 64 1;? Ves ie 1 0 16 16 15 0 16 7 ■ 0 0 11 0 11.00 92.13 LSMi/zJ 1£ 64 Ves 6 1 Z i "J 7 0 6 " 5 0 6 0 6.00 75.00 ZSOOc 16 64 1;2:4 Ves s i 2 16 16 15 0 16 10 0' 0 15 0 15.od 96.87 8036 ^ 16 l^B u2 Yes 4 ; 1 ! ■ 3 2 < 0 7 9 1 0 2 5 0 6.64 73.43 sob£ E If® n2 Ves 4 , ....... ■ 1 i 6 2 4 0 7 9 ■ 0 2 5 0 6.64 78.43 > ^'rec = "e > «reg = = «16 > «reg = «16 irije koji ima ulogu ctìtjLstara. Iako je u principu iimksimalafi broj üKupova ovih rocjlöUara ugra-iiičtan iKkl^uÈlvo vüliclnüJH raa|jQloäivü mfcinorlie, u kolonama fuukcionaltie or<)aiii zaci je reglwlara dat jo biamo jedan akup. Skok na podiifogreiiii obavlja uz ijoiüüd prebacivanja na sludedl siiui» uiii-vcirisalnili loglstara (Context Switch prlucili) . Buduin da tioatojl autolnkreuieiitno 1 autodckre-iiieiitno adreslranje to 9900 inoSe da radi 1 bùz tJoueUnoi) naylötra ukaaiatelja attika. Rtiyiatar UU Iii.' može učestvovati u indtiküiranom adrual- . ruiijii, tti jo u toj koloni ukupan broj te(| la-tara üa jtidan manji. I'rlli.kom procjrauUranja neki od 16 vùt.ìiatara Imaju pobobne; funkcijo, pa :it> atvarriL raspoloživi broj uiiiverzalnlli rogi a tara 1 J . 1) delu tabele 2 koji se oddiaai na Ö-bitiie registre prikazane bu vrediiosti. za N^, a u delu tabele koji se odnosi na IG-bitne reijiatre prikazane iid veličino N,,. Med j ut lm, svi navedeni J b 16-bitni mikroprocesori mogu se uspeSno koristit.! ! li 8-bitjiini pL" liiieiiama, U slučaju 680ÜÜ , yyüU 1 J;Sl-ll/23 u 8-bltnii!i prijiienania koristi 3e samo jediia polovina odgovarajućih Ifi-blturli registnira. Na taj uačln n^, n^, 1 n^ ostaju nel zmenjen i u (l-bitniiii i l(i-bitnliit pri menama, pa " '^B ^ "^IG" «8002 u 16-bltnlm pL-imenama Nj g=n^=ll5, ^dok u B-bitnJm prliiienaina ^ Ifi-bl.tnlli registara ae koriste za adrese, a B Ifi-bltiiili registara mo2e se koristiti za adrese lil /.-A 16 a-bitnlh podataka. Odatle sledi n, =7 i pa je C=ilUü, Njj=--lB.!jl i za 8-bitne primene dobijamo . 6 ]'i sto je posebno na- vedeno u. tabeli 2. što He tiće BIJB6, aaylaöno analizi prikazanoj na slici i, u 8-bitnlm pri-menaiua oii se ponaša kao BOOB I za njega važi 4 i Prema tome, u tabeli 2 lili k 1 opi Dcesoi: I su ynipisan l zavisno od toga da i.i. je f^a'/f^ie -Ili- ae mogu Obra- zovati rang li.Hte posebno za ii-bi tue primene i ((osi-bno za l6-bitne primene. Ove rang liste graiMčki I lust m je KÜka 4. fe. /.AKl^ItlĆAK U ovom radu [jr i k;ii;iiii je jedarj komlj i na torn i posiCiijjak za vrednovanje orgairUao i jt; ari ri.:sabi 1-nili proeesui:sk i li ree; i tii a lii. Ci'1 ka n i hh prijite-ri vrednovanja 8~bitni li i i li -hi tin h-«(I kiopi o-ce.soi'a, ali se pi:eaio;.jna iiu::l.i.)da može bez Ikak-vlli i./niena pr imeni ti i za vre.ijiov.ui je orciani-üduijo t..-gi stara kod m i ii i račiiuara J vel.lkili ra-cunar'a. Vredni:ivan jt; i.jr.jan i aaeJ je r<;i|it»tara je važan element u v i.ediiov j u jii proeutiorak ili arlil-tektiir.i. i'i.i tomft se rezu I.Il.iI. i vrednovanja organ.iz.io.l je rei) i tj tar.i niOgu agregii-ati sa lu- nultatima vrednovanja broja adresa po iairukci-jl, načina adrealranja, skupova maSinaklh instrukcija 1 drugih elemenata za pcoconu. Postupak agreyaolje može se Siriti 1 dalje prerastajući u kompletne kvantitativno modele za.vrednovanje računarskog hardvera 1 raciinara kao celine. ■20 Iti l(i 14 12 10 8 . 6 ■ 4 . 2 ■ - Ü eoBb I8ü2 H "B .ZäUU2 -6Ö0Ü0 ^ IJÜOO BOÖÖ - KBO -LSI-ll/" - ÖüBO - 8Ù08 680 6Ö0Ü -f- 6502 -- Ü -■ZÖ0U2 -(iBUOÜ -9^00 80Ö6--8Ü86 -Lsi-11/';3 4-0 Blika 4. Rangiranje mikropiocesora prema broju ekvivalentnih univerzalnih registara. 7. HßFKUtlNCü; tli Thelä, b.J., Hieroprocessor and microcomputer survey. Datamation, December 1974,pp;90-lOl. 1.2 1 Osborne, A, and Kane, G, , Osborne 4 K ö-bit lili croprocessor handbook. Osborne I98l, 11 j 0.-jborne, A. and Kane, C., Osterne Itì-bit mlcro- procjsrior liaiKlLxx*. ajlXjrne/NfcCraw-ilill 138). H I M'inner, R. aixi IXj.luigi., H., Mi-öit-prozeasijren im Voryleicli. lilekLroniii, No.5,6, and 7 (lyöl). I ■( liarton, M. aitì lÄiiylesa, t;., llia^iliical a^iroiich to iiiiero(:irocj2tìsor oaitiariaon, Mlcroi-rocessora V. J ,No.fi, 1977, I Hicroooiiiputer 'ItKilinimje, Inc., Hic-rfiiirooasscjrs SujreLXird. Ni/w lüg i e 1 Utiii-lxiok Vol.1, fOo.l, Sept. ■1^74. 17 I i:ole, 'I'.A., A oülleeted guide to microsystcjii &vlec-llCHi. l((4iti Ai.r I3evt.'l0j.i»jiit Cojiter, lijjort No. WUiV-TR--77-28, ,).^.iuu->ry l'r/7. 18 1 Uijiiijvld, J.J., and lllidcki, 11., A lj^VS cos t/be ne I'l t diirisltin iKXleli nt'itln.nittlcal ii»jdols for i.lata iitinaytjitónt systf.'jii evalui-itlon, i.ximjVu".iHon aibi.! aelecticm. Hìtitxial Bureau o£ .StaiKiards Pi ilj lica ti on Nltö-tXH-B2-37'l, l'J8l, ('J 1 iJujiiiTivio, J.J,, liVal.uiition and cai^jarlstut of Ö-hlt ami It-bit irilcroprix-eiiMors. toiilitìr held at tiie InldmvitJca '82 (.jirKjrutis. MODELIRANJE RADA JEDINICA MEMORIJE SA DIREKTNIM DOSTUPOM {DASD) UDK: 881.3:618.676.6 PETAR KMEZEVI^, MIROSLAVA LAP^NE NIKOLA TESLA, ZAGREB HAKRiatran ja model ulazno/Izlaznog podsistema jedinica sa direktnim dostupom. U modelu se primjenom metode slmulaaije promatra promjena arednjeg vremena posluživanja ulazno/lzlasnlh zahtjeva variranjem veličina koje na to utjefiu. Hödel dozvoljava ietovremeno nezavisno variranje karakteristika svake pojedine jedinice i promatranje efekta na zauzede kanala i vrijeme odgovora drugih jedinica. MODELLING OP DIRECT ACCESS STORAGE DEVICES (DASD) ACTIVir^. A model of the input/output subsystem of direct aooess storage devioes was considered. Simulation methods were applied to observe the changes In the mean aervioing time of I/o demands caused by variations in the quantities which influence it. The model allows the .simultaneous .Independent varying of the oharaoteristlca of each particular . linlt :and'iftie observation of its-effects on channel activity and the .^^fibniseVtime' of other units. ■ ÜVOD Tokom zadnjih godina doölo je do nagle preor-jentaclje naòlna rada na kompjuterskim sistemima. Korianici kompjuterskih sistema se sve vläe orjentlraju na' Interaktivni rad te se kao jedno od osnovnih mjerila efikasnosti rada koin^ pjuterskog alateiua, promatra vrijeme odgovora sistema na zahtjeve za obradom Inicirane sa ' terminala. Na j veći d jelovi operativnog alateina, prograpti i podaci korisnika se nalaze na jedinicama aa direktnim dostupom 1 letra£lvanje puta transakcija Ili komande ijilcirane od terminala kro« aiatem 1 natrag na terminal pokazalo je da ja kritičan dio puta ulazno/izlazni podsistem jedinica ua direktnim dostupom na kojima se nalaze podaci 1 programi. Detaljna analiza cjelokupnog aiatenia zahtje-vala hi kompletnu Inforiuaclju o elsteum (hardver, aoftvei:, aplikacije korisnika, karakter 1-zaaija opterećenja ltd.) te Je zbog potrebnih dugotrajnih ulaganja u razvoj kompleksnog niode-la vrlo skupa. Zbog toga se raitiiiatranja u ovom radu ograničavaju na promatranjia ulazno/izlaznog podsistema. Mjerenje eflkaanoati rađa 1 planiranja proSlrenja 1 rekonflguraolje ulazno/Iz lažnog poda is tema pretpostavlja stvaranje modela podsistema poiuodu kojeg će sa modi Ispitati efekt promjene opteradenja ulazno/izlaznog pođalateiua na parametra koji predstavljaju mjerila aflkaanoatl rada. U literaturi je jako puno radova koji kurlfite-njem različitih tehnika.stvaraju nà različitim nivoima detalja modela ulazno/Izlaznog podalata-ma (ainiJlrl jaka, analitičke, simulaci jeke metode), U ovom radu ae koristilo metodom simula- cije. Da bi se lakSe moglo usporedjIvati rezultate dobivene iz modela i iz konkretnog sistema jedan dio izlaza ia alraulatora svom obliku je identičan obliku izlaza koji se dobiju programakim monitorima, razvijenim od strane proizvodjača, koji u odredJenim vremenskim Intervalima anlmaju etatua aletemJ» i na osnovu tih snimanja mogu prikazati potffeotak zauzeda, srednje vrijeme posluživanja i čekanja u radu za odredjene resurse /vidi napr. (2), (3) /. Ovdje provedeno modeliranja pretpostavlja konfiguracije u kojima postoji jedinstveni put od CPU-a do jedinice. VlSeatrukl putevi preko vläe Cpu-a ovdje nisu razmatrani 1 taj Je problem obradjen u (1). Sigurno Je da au I ta rai* matranja interesantna, ali ona vrljeđS samo z« jako velike Instalacije kakva su Ipak rjedje. zastupljene. Dugotrajnim mjerenjima i proučavan jeiii realnog sistema (IBM 3Ü31) dofettvena je velika količina podataka koji su omo^^lll đa se u model Ide aa ulaznim vrijednostitlta koji odgovaraju stvarnim situacijama. Zbog toga se u ovdje razradjeiioiu modelu pretpostaijja da Jsa na svim jedinicama diskova koji prlpièaju jad^ nom nizu spojenom preko prednjeg dl«^« (P.D.) na kontrolnu jedinicu samo vrijeme okretanja jednako dok se,za razliku od prethodnih model^y svi ostali Interesantni podaci variraju od j«^ dlnlce do jedinice, jar aamo takva siika odgfiji-vata realnoj situaciji. Danaänje ulaino/izU^i podsistemi srednje velikih 1 velikih konflguMIt-cl ja Imaju 6, 12 ili vllie U/I kanal«. Pretpof-tavlja aa da algoritmi za dodjelu P«Éla unutafS operativnog sistema nastoje prlbllSfub jednakf opteretiti svaki put od CPU-a do jeMnica tafo da Ista razmatranja vaia za svaki mOigudi put. KONTROLM JEDINICA k.j. prainji disk p.d. disk jedinica CPU si. 1. A kanal L po. si, 2. disk ćekanje na postu bivanje IU u i Ina rada ćekunja ) 4tì(iS0ni3 20 10 2 0 3 0 4 0 50 6 0 70 SI. 4. 01SK H Vo srednje vrijeme posluživanja S6ms broj uzoraka 10000 10 10 20 30 4 0 5 0 60 70 100 150 >150 ma disk jedinica broj uzoraka ukupno vri jate za u/I prosj. vrljeane posi. nax. vrijeroe pDSlL^. 50 % posluženih zahtjeva do; fmi^ ' ^ 75 100 125 150 175 200 225 250 300 DISK A 11733 375.888 0.032 0.360 81.47 81.47 10.21 4.38 2.0 0.92 0.4 91.69 96.07 98.08 99.00 99.4 0.21 0.12 99.61 99.74 0.14 99.88 0.07 99.96 0.03 9§.499 _ DISK B 36785 1161.701 0.031 0.738 85.79 85.79 8.76 3.06 1.25 0.54 0.22 94.55 97,62 98.87 99.41 99.64 0.14 0.06 99.79 99.86 0.04' 99.90 0,04 99.95 0.04 9^.99 DISK C 3025 139.888 0.042 0.531 77.71 77.71 9.61 3,37 2.31 1.85 1.81 87.33 90.71 93.02 94.87 96.69 1.61 0.76 98,31 99.07 0.36 99.43 0.19 99.63 0.36 99.99 DISK D 41212 1514.527 0.036 0.375 80.99 80.88 11.13 3.55 3.01 0.79 0.27 92.13 95.69 98.70 99.50 99.77 0,10 0.04 98,88 99.92 0,01 99.94 0.03 99,98 0.01 9ÌI.99 DISK E 14118 463.332 Ü.Ü32 0.351 81.27 81.27 10.82 3.82 2.08 0.98 00.32 92.10 95.92 92.01 99.00 99.32 0.24 0,15 99.56 99.72 0.14 99.87 0,08 99.95 0.04 99.94 DISK F 87178 5404.884 0.062 0.799 52.43 16.38 12.15 8.44 4,96 2.68 1.32 0.68 52,43 6e,8l'a0.97 89.41 94.37 97.06 98.38 99.06 0.37 99.94 0,33 99.78 0.21 99.99 DISK G 8142 143.213 0.Ü17 0.339 93.83 3.66 0.90 0.71 0.52 0.07 93.83 97.49 98.40 99.11 99.64 99,71 0.02 0.02 99.74 99.76 0.14 99.91 0.06 99.97 0.02 99.99 ■raljela 1. podaci potrebni da bi se moglo napraviti model sistema kojim (Se a e prema specificiranom nivou detalj izaći je proučavati fenomeni koji se u ovakvom podsistemu pojavljuju.' Podaci koji se moraju znati sus - broj zahtjeva za ulazno/izlaznu operaciju u sekundi /)^ i = 1,2, ... N - broj disk jedinica spojenih na jedan put N t - prosjeSno vrijeme potrebno za putovanje glava za £itanje/pisanje Sj^ i=l,...,N ~ prosječna dužina prenesenog bloka podataka kroz kanal t.^ - brzina okretanja disk jedinice Jedina je 1. konstantna velifiina za neki model disk jedinice, a ostale se veličine mijenjaju i ovise o konkretnoj situaciji. Da bi se dobili točni podaci koji karakteriziraju neki odred jeni. (jyi podsistem vršeno jé niz mjerenja različitim softverskim sredstvima. Buduči da je potrebno dobiti što točnije podatke da se može izvršiti validaćija i podeSava-nje točnosti rada simulatora koriStena su programska sredstva koja zapisuju sve dogadjaje Iz nekih klasa dogadjaja u sistemu (vidi .(4)). Rezultat snimanja rada disk jedinica spojenih na jedan kanal dan je u Tabeli 1, Uočljivo je da postoji prilična razlika u srednjim vremenima posluživanja disk jedinica što je posljedica prije spomenutih različitih karakteristika i smješta.ja datoteka na njima te pristupnih metoda 1 načina rada pojedinih komponenti operativnog sistema koje s njima rade. Na slici 4 i 5 au dane frekvencije vremena posluživanja izitijerene za 2 diska. ovakvih mjerenja dobiveni su realni podaci kao posljedica karakteristike opterećenja pa se podsistem može promatrati kod maksimalnog, prosječnog, tipičnog ltd. opterećenja. Ulaskom u model sa takvim podacima mjeri se efekt promjene 1 djelovanja na pojedine komponente kod različitih opterećenja 1 mogućih konfiguracija. Simulator se u principu može upogoniti sa podacima dobivenim mjerenjem tako da se koriste izmjereni- dogadjajl (trace-driven) ili se može na osnovu mjerenja nadi funkcija raspodjele vjerojatnosti događjaja i na taj ga način upo-goni^ti. Često se koristi i kombiniranje te dvije metode. Ovdje dan model se upogonjava aa generiranjem slučajnih brojeva po funkciji raspodjele vjerojatnosti koja najbliže opisuje realni sistem. Sigurno da je interesantno napraviti i upravljanje realnim dogadjajlma te komparacijom mjeriti točnost pretpostavljenih funkcija raspodjele. Izračunavanjem 0,90% nivoa pouzdanosti za pretpostavljene vrijednosti odredilo se broj potrebnih uzoraka koji se trebaju generirati. Isti postupak se primjenjuje i za mjerenje realnog sistema i potrebni broj promatranja. U prikazanim tabelama taj je broj uzoraka znatno Iznad potrebnih 1 sigurno leži u danom Intervalu pouzdanosti. U modelu je pretpostavljeno da zahtjevi za posluživanje za neJci disk 1,1 I N dolaze po Poisaonovoj razdiobi sa srednjim brojem zahtjeva u jedinici vremena A pa se vjerojatnost da če k zahtjeva doći u vremenskom intervalu opisuje sai P, (T) Är -kf e" ^>0, Pretpostavljeno je nadalje da je vrijeme za postavljanje glava za čitanje/pisanje ("seek") dano po eksponencijalnoj razdiobi, raspodjela vremena potrebnog za okretatHe diska("latency" po uniformno j razdiobi {o,K/te vrijeme transfera po eksponencijalnoj razdiobi. U modelu su, da sujnariziramo, uzete još i slijedeće pretpostavke: - diskovi rade po SLTF disciplini - uzeto je u obzir trajanje komandi koje kod velikih opterećenja ipak nisu tako zanemarive u ukupnom opterećenju (prethodni modeli he uzimaju komande u obzir) - za vrijeme trajanja komande put je zauzet i obratno, kad je put zauzet transferom podataka, ne može se poslati komanda. - u fazama dok je kanal zauzet (vidi sliku 3) postoji medjusobno djelovanje diskova na vrijeme posluživanja. Vrijeme koje se potroši u 6) ovisi o broju puta koliko se ponavlja i o vjerojatnosti da je put slobodan, - pretpostavljeno je da su "seek", "iatency" 1 posluživanje kanala . za' svaki zahtjev za posluživanje nezavisni. DOBIVENI REZULTATI Napomenuto je da su izlazni rezultati koji se dobivaju iz simulatora prilagodjeni obliku koji ae dobiva iz programskih monitora, na realnom sistemu, lako je na ovom prostoru nemoguće pokazivati sve varijacije koji se mogu promatrati izabran je za promatranje sistem koji ima na kanal preko kontrolne jedinice spojena 4 diska. Za svaki disk su izabrane različite kombinacije trajanja "seek"-a, transfera podataka i "latency" faze. Promatralo se efekt porasta opterećenja po svakom disku (različit; za svaki disk) na dužinu reda čekanja na posluživanje, prosječnu duljinu reda i prosječno vrijeme odgovora (posluživanjaìtoy diska. Uz to se može vidjeti kako se opterećenje pojedinih diskova reflektira na opterećenje kanala. Izračunat je broj potrebnih zahtjeva uz nivo pouzdanosti 0.90 1 interval pouzdanosti od oko 5% srednje vrijednosti dužine reda. Nakon toga se promatrao efekt povećanja broja diskova na istom kanalu sa 4 na 6 l 8 diskova spojenih u jednom nizu. za svaki niz je promatrana promjena opterećenja na prije dane veličine. Kako se iz toga za procjenu efikasnosti rada odre-djene konfiguracije mogu promatrati a obzirom na dane kriterije različiti efekti, i za sve mogućnosti ovdje nema prostora kao ilustracija rada, prikazana je na nekoliko dijagrama promjena vremena posluživanja jedinica kod istog opterećenja kanala na razllöite diskove (sa različitim "seek"-om, transferom podataka) 1 različitim brojem disk jedinica. U tabelama ae prosječna dužina reda čekanja označila sa Lq, a prosječno vrijeme odgovara sa tg. Ostale veličine su prije objašnjene. W o o o C o D JT* H HH H M M M Z W in tn ui I/l tß > X W !S r (Ti Ln ^ u M h- K! S) 1-J I-' jb (JI V ip ^ cn VP -J CO t-^ VC ^ 9 A O ro ^ Vp 9 Ifi ^ O UJ M C^ LiJ CT^ UJ KJ U tO KD O đv IO K- (JI Ot Jk to ffS U lb lb -O Đ (^ UJ O O O H- O O O U1 ^ U» O O O O O O O O io "o O o o o o ci <=> o o o o o o o o o o o o o o h- o o ^ <1. »C (JI -J (J 9 ^ ta A 1+ (+(+l+l+t+l+ c> o o o ca o o o o o o o o o o t- o OH- t-' o VC ^J ^ VĐ KJ TO M t- »-1- i-* (JI K' U^ -J ^ M GD ro t-- o VC ui o 1- co »o O^ U1 u> tv> LJ J» W >0 W O) (JT to A OD (JI VO ut CB ^ to KI » A. K> M tO ^ t-* tO KI O O O CJ O O CD OJ C» a> CD CD o C a a o o M M M (-• M S! m u) tn m tO g s; K T: Ol (JI . LJ to h- to to M t-* Ln VĐ VÜ tn m ve> -J CB i- VD ^ OJ Ä o tO a VC V0 V£ V£> VD VD CTt "O (JI W O) OD VD ^ VC O bü tO Ji V*i K) I.J Ol tO ItO O 0\ ve ffl CTI CD t-» C5 o o o o o o o I- w t-^ o a> 1 + o o o o o a C? o o o o o o o o o o o o o o o o o o o o o o o o o o o o W to rf' ^ to h-w ^ ro-w OD co I+I+1+Ì+I+1+ o o o o o o o o o o o o o o o o c= o -J -g 13-. OD UI (JI w to ^ tJ to A. (JI V OD 00 OD CD o (B lO o O! H" t BI O" (tp K* BI to T; O O O C O O O C s* i-i ^ IH M > h^ Hi H W z cn cn Ln [n Z U) tn LD m s> X T; 5» X w to (*! to l'- to vo to t-J io (O L- to tJ H- f— Ol Ol w Ul Ol Ol LÜ LO (JI Ol to to Ln Ol to to Ol to t-i M 01 W O IO V^ h- L71 Ol to tn w Ol ^ VC VC to to la to to ^ Ln Ol o O to fJ OD LO OD tn VC Ol LO tO K' to IO to to lo to to Ol Ol to CD (JI LO Ol to o Ol Ol 05 1Ä t— ■J 05 o ui o to 1- M tO I-' f- O to O ^ ^ M Ol .J to VP to Ol h- VC to (O VO VP to 00 05 to t- Ol to IP (-J o M CO IO O o VC o VP to O t-J U1 y- O tO CJ o (o o o o o > * * * ■ Oo tO U1 to o lo to to o H' Ol o o t- C3 1- o o Ul LJ o ^ to >0 LO to to "lO ^ tO O (JI CD to Ol Ol -o U1 o 0 to LO o tO vC H- Ln <9 IO to o CD to to OD OD VC to IO t-i iiC tO ^ o ^ to (JI vp U1 UJ OD VP t-' CD Ln tn ^ CD tO to -O to to VC 0= o to ^ t- QJ (JI h- VB t- IO tO 1— f- M 1- O O O O 01 Ol O OD to to h-> f- to tO 1- CJ O O O o c> O c:i CD 05 to to OD te to to OD te OD OD OD 00 D CD tc a cj o > H f- H l-i z 05 U5 01 m x ?? ?! r J» to to . (O to f-Ol LO V^ U1 Cl Ji lb ffv ^ o to 05 (JI Ov L^ ffl VC VI o> 00 -J o LO A to ro h— K-- A H- ^ y? LJ to Ol J ^ to M (JI Ol t-" VJ I-' to J^ to (jL> Ol to J- lo (-• o H en (JI o o o o o CD Ì+ o o t— ib to ■sj »J o t-* o o ^ vo o o o o o o o to t— to CD V£> 0\ VC iFk LO I+I+I+I + o C o o 0 «p D o to UJ to h-* to ^ ui Ln to 4i to M ei VC w Ol 01 o ^ to CC A- LJ1 ^ Ù Ol Ji w IO ^ VC hO to o to & (JI o (^ o: . h- to (o Io o o o CD tti CC Ct 5; > z > r LTi a> o (JI o Ó C VC 1+ o OD fO C Q C o M k-! H t-l ui tß en tn w 7! ^ LO to h- tO to (J 1-Oi cn to w tn 01 it». Ol to o to OD -4 CD VC H» to tn K' to Ü Ip^ ^ h- to Ln H- to 00 M Ji LP to LO Ln h- o to (JI o o o o OD t— o o e o o l-J to o o o o o o to (o H- o to Ln Ol v OD o LO VC l+!+l+! + p o o o 0 o o o !-■ to I- M 01 o VC to to (O t— h- tt) ^ Cs LO u (JI to vp 01 «J to (JI to to Lil M to OD VI» to VjO ui OD Ol ^ 00 t-i to to K o o o o D C o o X o D C o IH H t-: IH f-t M H z WUì Oi Ui a cn tn m Ui > X K X Ä > X w T; X r to LO to H-' to Uj to h- to to t-* IO to h- t-J Ol C\ (jO VO Ol Ol Lo 1.0 VJ1 (71 to to Ln Ol to to Ol tO O tO Ol t- o tAl IP OD VC 1Đ O) VC VP VP IP te W Ol tji vp Ol to Ol OD to Ci -J 05 o o Dl H' IO 1-' t- o ^ IO Ol to CI LO (JI LO I-* o Ol W Ol h- LO 00 OD to VC I*' O I-' O O o o o o o Ol ^ LO k' - ttl w to I-' o o O O O O o o o o o o o M o o o o o o o o O O O O o o o o o ♦ * • o o C3 o o o o o o o o o o C3 o o o o o o IO O H- O O C eoo o LO VP to ^ to t-' to Ol to t- f UI to to IO Ol VD 1+ 1+1+1+1+ 1+ I+I+1+I+ o o D Đ o o o o o o * o O O O O o o o o o o t- H' O o o C o o OD O »O IO tp Ol -J tua Ol i- t- to h- tn -o to to v/l -J t») to « to to H' o OD z tj > •b + VC o 1 z > r «1 Ol DdDOtSODO MMIHI-II-IH.I-II-I loDienuicococncn hJtJKJh-KJIOMk- KlOI-'tOLTOLnK) UOlOvh'KJNOSKI »h'MQlVO. rou OD KJ -J A OLI U cn u OA-uKibfAin Oh-OCtOROO f ooooooöo l_n Ot-'OOl—'MOO o oooooooo Ij oobooooo o o o o o o e D o ui o o o o h-o o vfi 1+ o Ì+I+1+I+1+I+I+I+ oooooooo o O O O O O o o o o M t- h- t- M f t" o le O u LJ O O IO I-' u> i-i t- H- t-' a> M Ol -J VI h- Ol -J u> A -J V- 1- U OV LJ IO K- tO ^ Ol ID tO o A a U> A U) tO W A w to (O Ol SO OD tO 01 00 00 u> O le le a> a> Vi ►o Ol OD Ln 00 to VI h- o A A to N A A to to M KI M K M 10 to ^ O O O O O O O o 00 00 A A cc s À A OB 00 00 9 OD m a W « OODCODCO > HMV^MI-iHiMH z tnmintntr/üswu: MKJH-I-IOH^-^- tJOl-NH/lOUlK) umOt-ihJUOOKJ o o tn 00 --t w lu UJ h) Ot-KJJlMIO-JOl ki OOOOOOOO •J h-ujoroh-'a^t-'h-' o oooooooo ij oooooooo o oooooooo o OOOĐĐOĐO k) 1+ o o o oooooooo oooooooo l+l+l+t+(+)+l+l+ oooooooo oooooooo oooooooo SB Ln u to (JI -J tO • • IO tn -0 tJ A A -J A LO O SD to CD W (JI (JI -J 05 tO A u> to to A (o TO in o m m 03 O (JI A • » Ol (JI A ■J 00 W 03 (JI (^ Ol -O A A tO to K) H U K) H t-* 1- to to (J w to K> t-i o o O O OÖ O O CD 00 A A 00 (D A A a> 00 Ol oc CD S CO OD lu 5 D o D d a o H M H M M a Z tn w tn tri cn 01 f s? Ä Ä r O) U1 Ul K) H" h- t- m (o )-' h-, VD ^ ifk (/I -J O* «> 00 tO cc CD hO o hJ Ol m U C1 O Ct ® -J h- O ss o» IO -J h' w u KI w (o h- io io o -J u ui -a e\ to h^ ^ ^D Ol A OD o. u a m O e». h- -J ve in ^ to ^ ui w 00 h" w h' vo o ui (H -J o to >- . i-> ui W o o l-J 00 h- o Ui Ln SD VI ^ H w u o o u o o to ui Ä to -o tn w ^ VI 01 ^ 00 Ol 00 LkJ A Ol 1+ I+I+1+1+1+I+ o o o o o o o o o o o t- o o ,—' U' UJ Ji*- K> LV ro ^ A CD VP Ol U1 UJ Ol OB UI u o o UJ ib UI U> H' H* 00 lU oiifc. Ol UÌ Ol NI u GO Ol o . M Ol 00 H Ol Ji IC Kl u VĐ Ol Ol IO hj tO Ol K> o o to w ad 03 0 io N M H- W »o M, O O O O OO > 0 o o o D CJ M Hi M H HH M w tn tou) tn « >!>;:>! 55 « Ä 01 m ^ uj IO t-" N> ro t-* t—' •b «JI K) 10 J» VI Ol Ol U! -J O) l-i lO '-J OD d^ o to Ol ^ VI Ol -O Ol to o M ^ Ol in Ol 0> o U> IIL KJ tO M ro tO tO 1— 00 w KJ Ol Ol to tf A. Ol Ol IS ca A. W M )-• w ^ u to Ol ^ u OD h) to U> te IB to I— C to o U1 o h- o « -VI VI so ICI to --J M ■>j o o » o o ' • CB tJ b> IO C7V K3 O Ol l-i VI VI so to to OD «O A, to 1+ l+l-»-l+l+l+l-t- O o O o o o Ó ■ o o o o o o O H* UJ to U1 Ln UJ K> W Ol -o VI w ^ ^ u to Ul -J u> to iU A -J o u Ol U1 to Ol to O) IO •J Ol Ä Ln t- l»i Ol b Ol t» Ol Al to Al tn A- to VI fui AID m i-< A o IO e OB CS o o O» < io to «o <-■ o o o o o o O) CD 00 00 40 OD s o a o o o o > Hi W l-i t-f H f-i a ui cc cn [C tn u) > ?! J? 55 Ä « r Ol VI A W to . I-" IO to I-* l-j - A ui VD lO A VI Ol Ol IP --J » ^ to -o 00 A o to to ^ OO Ol U1 -«J 9 u -d IO Ol u -J u Ol M t-> so VI o Ol u M !-■ to to (-• t- 03 00 VI u 03 LR A SD IO Ol to to to u IO Ol u A I Ol VI VI Ol t-> to I 00 W o o to A o I • 4 » « • ■ I I- U1 to o A A I to o o o to o o • - o t-> o 00 u I" o (-J o o o o o o » to to to A -J IO W -o o 01U1 OB-J -o ^^ u A -J (+ 1+1+1+1+1+1+ o o o o o o o o o o o o o o H« ■ to lo to W h- (JI A o U> !-■ A -o W tO H" iJ U1 tO 1- U< u to >J o u Al a> h' -J tO A U1 ^ IL> W h-' o o iaJ IJÌ W A CJ l-J -J IJ> (-• o A i-J Ul O A A A tO Ol se U IO Ol Ol IO k> Ol Ol to I— !-■ to to t-' o o o o o o OO Cc OO 00-CD 00 p o o o D o o > 1-1 M H M M M z m t/l m VI cn m > X M K M Ol VI A co to M (-• t-* to M hA Ul ID ID A VI Ol Ol lO ^ CD IC .J OB A O IO 00 (S ^ Ol te 01 te ID M (JI )-< lo to oito Ln tn M M to M K) te Ol I-' IO 00 ^ u> Ol Ol -o Ob A ■ h-' ("I IO VI o * to A o Ol (n w to (JI o o o I-' o o t-* h^ W M I-* o o o o o O O o u o o )-> A o o Ol 1+ o o o o o o t-i h-* to (o o VI IO VI i-J Ol O A le IO S (+I+I+I+I+I+ o o Ö o o o o • o o o o o o o h"» t-* h- h- to J-* K> VI Ol O OB Ul tO (-• l-i tO U M M A i-< U I-' A o; U) - A A -O -J -J Ul O ' •>> «JI 00 IC O (JI A Ut (d Ul A ls> tO h-* -J A Irf SD Ol U< ^ A tO -J Ul 00 -J tO tO A A 00 00 A A tO M K tO IO V' O O O O O O A. A OO« A A OD 03 00 S OD flt t « RASPOD. REDA ČEKAMJA % ZAHTJEVA 0 ■1 2 3 4 + 90« ZAUZEĆE A disk 1 1322 93.2 6.6 0.2 0.0 0.0 0.070 + 0.012 8.45 31.63 3 10 4 S disk 2 1358 69.4 9.6 1.0 0.0 0.0 0.117 + 0.016 11.55 43.11 3 20 4 8 disk 3 2702 76.5 19.2 3.4 0.9 0.0 0.269 + 0.016 25.60 53.93 6 20 d 8 disk 4 2652 84.6 13.3 i.a 0.3 0.0 0.176 + 0,014 18.81 37.47, 6 10 6 disk 5 1321 93.1 6.4 0.5 0.1 0.0 0.075 + 0.013 8.40 31.57 3 10 4 8 disk e 1316 87.3 11.4 1.3 0.0 0.0 0.140 + 0.017 11.53 44.66 3 20 4 8 disk 7 2706 76.5 17.5 3.3 0.6 0.1 0,263 + 0.018 25.29 52.34 6 20 8 8 disk a 2623 85.1 13,5 1.4 0.1 0.0 0.165 + 0.011 16.79 37.96 6- 10 6 8 kanal 36.2 36.6 10.3 5.7 1.2 0.97 + 0.011 27.58 disk 1 1322 69.0 10.2 o.a 0.0 0.0 0.117 + 0.017 12.33 35.79 4 10 4 6 disk 2 1358 85.2 13.0 l.S 0.2 0.0 0.168 + 0.019 16.37 47.80 4 20 4 8 disk 3 2702 65.4 24.6 7.2 2.2 0.6 0.479 + 0.025 36,29 65.01 8 20 8 8 disk 4 2652 76.4 19.2 3.6 0.7 0.1 0.286 + 0.019 26.60 43.87 8 10 8 8 disk 5 1321 89.0 10.2 0.8 0.0 0.0 0.117 + 0.015 12,44 36,77 4 10 4 8 dxsk 6 1316 82.2 15.4 2.1 0,3 0.0 0.204 + 0.021 15.99 48.66 4 20 4 8 disk 7 2706 68.8 22,4 6.8 1.8 0.1 0.420 + 0.022 35.50 61.44 8 20 8 8 disk 8 2623 77.6 16.3 3.5 0.5 0.0 0.271 + 0.016 26.95 44.38 6 10 6 8 KANAI, . 21.6 36.2 25.6 12,0 4.4 1.42 + C ).014- 36.79 disk 1 1322 78.1 17.2 3.6 0.9 0.2 0.278 + 0.026 23.47 52.18 6 10 4 8 disk 2 1359 70.3 22.6 5.9 1.1 0,1 0.383 + 0.029 29.81 67.36 6 20 4 8 disk 3 2701 36.9 26.0 14.9 7.8 12.3 1.421 + 0;054 62.65 122.90 12 20 8 8 disk 4 2652 54.7 26.4 11.3 4.8 2,8 0.757 + 0.034 49.44 73,56 12 10 6 8 disk 5 1321 77.9 17.6 3,6 0.8 0.2 0.276 + 0.024 •23.35 51.31 6 10 ■4 8 disk e 1316 69.2 21,0 ■7.9 1.4 0.5 0.429 + 0.034 29.69 72.67. 6 20 • 4 8 disk 7 2706 40.6 28.5 15.8 8.0 6.9 1.152 0.041 62.31 107,44 12 20 8 e disk 8 2623 55.7 28.1 10.2 3.9 2.1 0.691 + 0.031 46.01 68.77 12 10 8 6 kan a j 4.7 15.9 25.6 25.7 27.9 2.69 + 0.018 55.23 disk 1 1322 67.3 22.6 6.6 2.0 1,5 0.483 + 0.038 33.17 73.31 7 10 4 8 disk 2 1359 59.2 25.8 9.9 3.2 •1.9 0.634 + 0.041 40.28 90.93 7 20 4 8 disk 3 2703 19.9 17.1 14.2 12.7 36.1 3.075 + 0,088 80.11 226.15 14 20 8 8 disk 4 2651 39.2 26.7 14.6 6.7 10.8 1.373 + 0.053 63.84 108.24 14 10 8 8 disk 5 1321 66.2 22.0 8.3 2.1 1:4 0.512 + 0.041 31.82 70.63 7 10 4 8 disk 6 1316 59.9 25.9 10.1 2.1 2.1 0.622 + 0,043 37.98 87.70 7 20 4 8 dis k 7 2705 22.0 19.1 15,5 11.6 31.8 2.670 + 0.086 79.77 215.01 14 20 8 6 disk e 2623 38.6 28.6 15.3 6.6 8.7 1.2B4 + 0,046 63.70 105.09 14 10 8 6 kanal 1,2 5.9 15.5 24.3 53.0 3.60 4- Ö.D1B 64.36 1Ü0 90 ÖÜ 7a 6Ü bÜ iU 'jtj 2U tü Fiedukcga UiipCiCitülo ctiska Tabela 4. 65 K) bb 50 45 40 iS 30 25 20 OISK 1 (4 DISKA NA KANALU) 01SK1 16 DISKOVA NA KANALU I -t- -t- iu » jo (.0 50 ai 70 ao yo loo ti i. c,. t^C"»] H---1---(—1---1-♦- 10 15 20 2S 30 35 40 46 50 äS 1, zauzuđa kdiiiila s3,V L^ proaječna liužina reda disk 3 i a diskwa \ Ua kanal j disk 4 /a diskova \ [ na kanal i h^ jjiraajeana dužina reda disk 7 raoiskova \ i na kanal I ZAKUUČAK H0211I cii ti dobiveni modelom omoguduju proučavanje važnih svojstava 1 pojava u U/I podalateinu jedinica sa direktnim dostupom, U modelu s« ni-jti ižla za postizanjem potpune teoretske točnosti ved se u prvi plan stavila funkcionalnost modela, uostalom, potpuna teoretska točnost ni jo postignuta niti jednim analltieklhi modelom kojim se rješavala uva klasa problema i to zboq nesavršenosti matematičkog aparata b jedne strane i abog kompleksnosti sistema 1 pojava kada se problem pokušava rjeältl bez aproksimacija na dovoljno velikom nivou detalja. S obzirom na dobivene rezultate 1 svrhu modela oaobnoatl oalogu sistema aa ob/lrom na overhead, koji ae javlja icliog flaatojt komun lui ran J a aa ülflkom. EXTENDED HISMOHV MANAGEMENT (EHH) La an upHracle wlilcti may U fitted to an Delta 340 proceeaor to Incruaae Ua adilruaaLiifi raiiRu from 2SS KH to 4 MP. Thla unhancanent greatly Increased ayatam efflolency an more mamory Bay be fitted to reduce tlio over-hoat] of Job «wupplnji to dlao and allow ««tra iiiewory resident routlnsa, ), UWl»D Btanilariinl DELTA 340 itriikc|Ju nova IS III bitna t'|«l£na adraae, Ak" (la u realatru MMH3 aktiviramo bit 4 na KKH Ja omo«u-ienu 2a tiltno rolociranje. Informacija koju aadrSI virtualnu udruau Ha kofubliilra a a r«l«lKl.'J'A 340 ima dva oeta po H APfl-ov. Svaki APH aadril Paise Addreau ItaHlat«'* (PA"» ' Paga Descriptor Hu« la tar (PUR). Ovi rafllati-l ne uvjek upotrebljavaju u paru 1 aadrile avu Informaciju potrabiiu la lociranja l opla tekuća aktivne utranUa >n avnkl naćlii rad«. Koju grupa PAIl/POtì röRls- : taia Je aelaktliana, odraduju bitovi 13, 14 I 15 »aanejati bitna virtualna adroaa. Uiil^ua Ifl bitna aitfèail t Hüffe rii llnUuta ma IINIQU:I MAP Hit bUiin re lukhClja ifu Unlbuu Jodlfi T KSfÄiüÜtiq'AH Iliri III« KV I i; j: MM -ili r;p)J 1 i»i,|yUe adrauu ii Ui liit.nl Dili Ima pO'^-ktC I hi tua iiieiiiorttka adi'tiaa IÜ tlltlll iil.miO-rlukl puilutol Vit'CualtiH Hf1r>(tiia BU Bit Bit PAH/m V5 1/1 13 ßot 000000 . Ü177'/6 0 0 0 0 OaWlOO - 037776 0 0 l 1 0411000 - Oä777e 0 1 . 0 ä tlOOOUÜ - 07777ß 0 1 l 3 lÜUOOO H777ß i 0 0 . A i:;uuoo - I3777fj 1 . 0 1 6 lylUOOÜ - 107775 1 1 0 ti imoori - 177770 1 1 l 7 !i, l'AII/S'riH AllHKSili Täor«) üu oiii-äduiie T/O adr-uae za uviikt PAH i PIX): PAIi/PDH Set Kamill PAH f'Dli Utitsr PA!( : flJH pnn: Iti 11 .B 7 ß 5 d 3^10 WKVIA I lluy.liiH uplaBtiB u.Ci'H niua ÜOIÖI' Sli'blljH --------- Polj« koiiti'üle priutupa MKH3: wiiiimmmwmmuL llozvul jen ilriibua. H»p ■ llQKVo]jBiio 'itZ bitno — iidctìtìiriiiije 0 772;5'10 77^300 777040 777600 1 77230.? 777Ü42 77760J! JI lyp.Ma 7723Ü4 777fi4rt 777604 3 773346 772H0fj 777B'le; 77760fi A 77y:no 777650 777610 a 77231? 777B(3.'2 777612 (i 772354 77a:n4 ■■777664 777614 7 7733R6 772316 777fì56 777616 (ì. HAdH ADUHKf!;; ilHC.IHTEK (PAH) Kfjiif« .ttì uktiviran KMM Idtuvi 13 - U"., v I rtuHl nß aiireae sii uiJOtriibl jBiil id üiJredLvnn.le koji od usuin PAR/PDH r^KlS- trat'fi je'iskorUiten zn iKulirrtiii iiač.ln i-adH.' HÌLI.JVV vy.r't*mltie fnirtjae. & - 12 sti Hfttjeru sti f'AH j Hf'.iylxa, a liLtovl 0 - ae lUidaJu tiepctiniiiijeni i iluiiijtjn i-B'/.ultat jf! ljil:riji adrr.aii.- I'AH II (iroceiioru IIKI.TA 34Ü sfldrži IO bitno Pu;>« Aiidreaa |iól,,ii; (f-e lok ili; i ski fiiktof), na' kojim je aimcifici.ruiiu liH-AiKiU! htti-tìisn Pri rniiu IH bitinuii adreanm (ljit A MMIÌ3 nije akti.vnn) aü upoti-Blii aaiiii:i donjili i?. Iji-l:iivn P/ill-u, ji 1,1 liliiónjii 2a bi Lin.i(j iKičitia se UiJoti'olii Eivili Ifi Liilrov'i kiiii P(.-irikin;l;ilii i'iiktoi-. l'Alt: i '.i IS I ) (kliiiil.iill <1 bil.i'i •Ait pü.ljt; ciitrftyu ri t-Piiii i.Ot".- i'ì httttvJi Pi'ütvfiranjft v i rtiriiliiii u fizičku adriìsiu: 15 .13 12 (i 5 J Donijl biUiui ì'.iJ.ji. (jkt, i rs-i ju Hdukti riviui'. \jn>'fi Hi^/,n I L i rhjudti Iii l:iii* lulröHH 7. i'fn.;K iii'SCHM'TOii iiiidlicrKii (l'uii) ilej'iül.i'i i.jufiM ;;l.i'iiiiii;,< (Pini) (;<.- n,-. nimijüjn nit r i;ii i nt ij|.r;wl jinijt.'..........................L |ii-i:itsit.(,vl.j,.Jii öoi;lj-i sufai-.i;li|ji.il iiii:iiiiii-i jlini-i:riiii;i ti,"i iiim.jinći. ilo:it:ii|) >li. .Iml.-ilnii; iiii;i.i.-,[-l. j,,. Olj/i 1,1 i.d tn! i "ill inici ji,l i'.:iic;i j..ii. o h li i rn i ( lin i Inüi ) . 8. EMM UNIBUS HAP B,l ruotieljtt map Iran j« , UnltiuB map oiiioguiuvii ilu jedinica na Uni bus-u komuniciraju sa flKiSkom miìinorijom. 18 hitna iidreaa na Unlbue-u ae pruvede na 22 bitnu udreau poinofu logika za reloclranja. ' Belokaclaka logika »e iktlvlr« postavljanjem hita 5 u MMR3, NajvUlIi 4 KB od 256 KB Unlhua adresnog proatora je razarvtrano za CPU I I/O regtatfa 1'n« locira a« aa mapIranja«. «D S, 2 Zabranjeno reloclrunj« Kuda bit 5 u KHn3 os t une nesHtlvan i« rei oc 1 run J e onütnu-Siiferio 1 IH bLtnoJ Unlbua adreel a« doda na noJvlSlm reje-Htlinu 4 nule za Izgradnju 22.bitne adree«, rilll 16 bitova ostane nepromjenjeno. 0,3 Raloclratije MM lutilka Kl »du takoda na 18 bitnu adresu kao virtualnu. NuJvtAlh S bitova aluil za Izbor Jtidnon Z3 bitnog ralo-l Pulluli;) '.'.ii.M^ij i^t; luci i'ViiiJt L'^! blUin iiLiii'ji runa 1 ij LI 1. Peter D. Vogt: Virtual memory extension for an »Jila- ClnR mlnlcomputer, Coniputer Design, July Ì98l 2. ft. Colin Johnson; Microayatema exploit ßnlnframe mothoda, Klectronlca.Außust 11,1901 3. PDC ll/Sd {DISt.TA 340) procaaaor Handbooka 0.4 Mup riiglatri Bvakl 2a bltnl oiBp reglatar Je kombinacija dva 16 bitna ft-ji!Htra I ziiuKlmu jeJnu od adresa između 770200 1 770372. Bitovi 1 - 15 1 0 - Ö a« u avakom registru mogu izmeniGno uplButl. 1 ft _t I llr'.i}'.., (i.i|i V.-'i.'>a'l It. _________S__(!| K.llil:-. ZZ Ni'.I,i ri.1,1 '1 111 Ih 1 U 1 A TWO-STEP METHOD FOR FINDING ROOTS udk: 681.3:61 D.B. POPOVSKI society of science and art-bitola, yugoslavia JVi thia paper a tuo-atep mihod for solving Binglv wHabltt »qmtione ia pxvaented. The mthod ia durived an tha buaia of a two-point HemCta appwximtion by the rationat fUnotion y(a)={a-a)/(ta®+(>«+aa tuo funation evaluationa a»đ one evaluation of the ftrat tuo äepivativee and haa an aoyiiiptotio (io>xt>ep(jenoe rate 6.541. ■ , . ■ ; ' JEDNA DVOKOftACNA HE TO DA ZA KAL A2 EH JE KORENA, U ixiäu Je pmnan tirana Jedna dvokoixiàm m toda aa paìaikmjejaeinadina su jednom näpoamtom. Metoda Je taifadem nđ^ui dvotaSkaata Hatnita-ova apivfeaiinaoije raoionalnom /)mJe<3ÌJoii\i/(x) =(x-a)/(l)ai2toji+d). PfedloSena mtoda u ovakoj itemoiji eahteva dva ieradunavat^a fìmkaija i Jedno iavaSumvanJe nje- ; nih pì-vih dva ittvoda i ima red kònvei-imnaija č.B^i. Popovski [I] proposed a method for solving single real variabl« equations of the foriu . ,/(«)>=0 In. which he uses « two-potnt HeriuUe approximation by the rational function y{u>)-ij.--a)/{bx: *0iind) (1) Mhuse parameters a.b,o and are determined from the conditions Ills me thud .wlieiii. In each iteration step renulres one evaluation of the; function and of each of Its first two derivatives and has an asytrptotlc converoence rate 3.303, Using a two-point Hemlte approximation by ratlonarfunction (1) 1n which the parameters a ,b , a and d are determined from the conditions . we may easily obtain the method tP^.j'V,,/(I where Method (3), as well as iwthof {2), in each Iteration ste|) requires one evaluation of the function and of each of Us first two derivatives, but has asymptotic converQence rate only 3, Combining (2) and (3) we may obtain a two> -Stef) iwthud, which requires two ev,a1uat1ons of the function and one evaluation of each of its first two derivatives and has asyniptotic convergence rate 6.541. To prove the asymptotic qof^yi^lrge.rice rates' of all the above mentioned iiHthods we use Herzberger's matrix method [Z] according to which the order of a single-step method ..... is spectral radius of the matrix M with elements m^ ^l-}^ where is the amounn of informati- ons required at the point s,. ., , m. (j=Z(1)n) t-rc J » J" ' and m. ,=0 otherwise. The order of a multi-step niethod J* ^ * , , , 1 i 8 Is spectral radius of the matrix ... M 1 Ì. a 62 trix «2= i 3 1 0. with spectral radius 3 and for method (4) matrix 3 1 ri 31 -Pi' .1 0. "liU, M=M. With spectral radius (7+^}/Z*6.541 ACKNOWLEDGEMENT I wisch to thank the Association of Scientific Activities - Skopje for its support. REFERENCES [1] D.B.Popovski : A Method for Solving Equations roc, 15th Yug.Int.Symp. on Computer Technology and Problems of Informatics - Informatica'81, Ljubljana 5-6 October 1981, 1 212. [2] J.Herzber^er: VIüp ttotvixdavetallwigen, filt> Iteva-tionavBffahfen bei n-iahtli-nsaven Gleiaburiften, Computing 12(1974),215-222.' In our case, for niethod (2) we have matrix 3 1 1 0 with spectral radius (3t/3)/2i3.303. for method (3) ma- ALGORITMI ZA ISKANJE REZERVIRANI H BESED UDK; 519.688 M. GAMS INStlTUT „JOŽEF STEFAN-, JAMOVA 39, LJUBLJANA v dlcnHit »o Qi'itan» «Iworitnii itKiinjt r»i«rwir«nU bitid. Oinoun« «iaoruin* •(• fciMPiiB itHinJ» in »••'■''J* ' ftiMi t^fc.lami. V dUoKu io opinni »»liolJ*««» Uh nih iilsflrU«o«i VodBrii J« lud» nJlhow» ««»Qvnn in irottpriK» ■naili*. ftLQÜRITHMÖ FOR 8EARCHIN0 FAR RESERVED HöftUa. Thl» •''»»«i* „ (ivicrit)«« alaorith»>i for t««r«ihin» for Morđ». B"»!» ■ laorUhiiit »ro »iln«rr »••rod and h«th »»oroh. TM* «rvloi» dtsorttfi tia»»Q »loarith«! with thtir itiiprovtmurut and iro-utdot time and Komori^ »nolrttt. UORĐS I. Uvod V rattunaliiilKih proaraniih paaatio ir«!!««« ro-»«rvirioi» tief(d>, To «o »Bipdsr Kt .inmJo' »•lien, reitrviran PDBion. T»h» bsttdt iredaaa v PTHUttjalnttiihi uraJovalntKltir qp«r»aiJiHth «iti«niih inct, Hpicrvirvn» bestMd« «g flil tttit- nfr. proarama u praar«M«Kam JtiiHui laio (gpraJo radunsInllMl rrgttramt vi«|gova(i pgtto' *>M« IM iDNanJ« r*x«rvi<'anIh tif4«d. Oinauna alauri^ma la tiKarua rti lorv t ran i h baiad ita. binarna ititaiijo m ItHanJe * raifrltntMt ta-btlami. 2 IibotJlavBMi ith dveh alnaritMuw J« muaott« oafidBi prt IfìND 1 1 ARRAY 1 1 ... . . t 1... ■ • 1 t . . . 1 middla '> 1... ..• ( < . i ( 1.., t niahar • (WITH \ • 2, Dp il alitai'i tniov ' ' NüJfieJ bong gpiiall ofiuuuna «lagrtviua in nAla nJunt tiibglj|4vt. rtlaorilm« ba«o gptto-v«li u Pa^oaiu. HJ«r pa bonio prfhar«l)lH (i-rajoa aiqUngiit to«« j«ii|(a< tio tn pi>«abtJ oznadttiiOi ttot poalav^u bonio aovfirili ludi « UoaiPltHsngttt alttort LAiuv. Ö t*« i>QjniDn> booi« a;tn«dili pawprtBng liDvilg pDwtr^anJ ntinan« « rttai'ui ranimi, •2 • 1. ainsrng laKanj« 'tlpgnba ; ' - iia uMlltni oft!" ni»t» itiipl»ni«nt l- ja prirajduj« •■«laulJanih itpou, - > rait* batiid« u tabvtl "HOfirUS" aioraJo but ureJan* pg abaoaontm rwdu. - tiPreni«til Jt vKi "iuw*r" in "hiahar" tigrata bitl pred laBatKg« iivaJanJa binarnaaa («hanJa PiiraJtnl na wrh. glirg«* Ono tabala. Upi» alauriliuai lauar i« («p) fiiahsp' liuituml found J« fai»»; whlla 11 uMar< •hia»iai') anu id do . baaln («idili« ;» llokiar 1 hiatiiti'l div it if MgrJiCniiJdla) > unHitot-niNurd lhan ntiriar-'«iiddle'........... alia If woroi Cnil 4d I a) < uiiHnounHuro than tonar «iddia al** found t<,trua • od) KumpI ahing*i alaurivnia xa binarno liKanJ« j* rada uciiHaiil l0H(n>i hJ«r ja n «tautJo ra-iaruiran.ih baiad. ^a^ J« r*x«rutranih batad gbidajng naHaJ datati J» )oa(n> < 9 ali 6. Nu.JbglJ ubiOajan iriH za pohitrita«^ lahanJa Ja arupiranJa raiarutranih ba^ad w iHuplna. Edan pritioipov fa orupiranjt v fHupin« Ja pb dolKini b*t*d< taha da io inotraj iaia «Mu-pin« baaad« tiit dolitin*« urajant p« fbt«ad~ naia radu. Alaoritam ita binarno liKanj« Jt potiabno tamo malanhoiina »pramanltl.eioarno lipanj« vritmo v tabali "MOr^DS" taKo. da w 64 pred lauajaoje« o3no>jneaa alaaritma prtrodl-«10 sppaitierilJiwKdima "louer" in "hiaher" vrednosti iz .^.lapraj a^narirane implBwennraiia na rezerviranih besedah jesHh» Patoal. Raapr« I tvena (-''jnKcija J« Qttlitte »(Mord) valueCUoroCl 3.3 + lanaht + valueCMoraClenaht 3] t.ewaHT UORDS l'ä realne primere ae HantpleKsnosi alsoriima PiMbUSiio ilvahrat zwanjSa in ja med 2 in Üi'.ja naUjn arupir-anja jo po Prui ali pü Pruih Jveh flrKah. ^r<..Ktivna , h,un < „(.,2» ). übiüajno i^ajo issprSiiuer.e ftmUoue lasinoso. Ki so w ^o^Preilju injBKtu.noBt., taHo da se (,ioei-.u Hrsulisajü (i ü«ip i e K sn ü 4 11 l. Driiaa pomsMond lastnost razprS 11 ven , n t-'unhoiJ ja 10. đa oitiBdjno razPrBiJo PodatKe v t^reoej vedja tabelo, OÄirn^äi da je » tabeli Prece., prasnu, ..Bät, üdtoa t„di i„B "rajPrSene tabe- Kadar je raz Hra , t j Eunuci ja i v, .«etl u « na , rBeem«, oa je "po^olna" (Perfeot) K^dar J.^ raiPrS,tM;.na rüniioua surjeKtivna- ....... ^^ ■■'"in,maina". hin,«,slna ra^Pr- 'VJom«^ ima ^ naSem Pri„,eru tabel« WOIJDb" PoJno zaseoeno. "Isnaht" je dotSina neanane besedi "Word" "Wordtij" je-i-ta ärrca■besedé "Word" "valuet letter J" Je iabrati« uredno»» UrKe ' tier" le- Oöiino ftinheiJa n« mar« Biti popolna. Hadir Obstajat« dve rejeruirani besedi efiahe domino, tli imata paroma enaKi pru» in zadnji Hi. V 123 Je potiBzanp. da obsoja «t veB dru-aaänih proiiprimerov, torej posiopbk iihanja razprSitvenih funtiuiJ na zaornJi nafiin ne Jamdi reSiive. C3J je omenjena nietqdar hi niAia te slabosti, vendar je tallo zsenerirana funKoiJa Basoyno zahteuneJXa. Problem isHanja raiprSitvene funhcue je problem Prirejanja vrednosti posameznim Or-tiii5iM*,'alu6 ) 'jntil not overlap and (letter - 'z'i Osnovni alüoritciii lahlio pohitrimo z raznimi trüii, Nrtmeato laporedneaa izbiranja Brti zaßnemo 2 najbolj poaostmii. Nadaljne i&KulJ-Save mso objavljeno v literaturi, Beprav so V praHai najbrS uporabljane. NajbüU uBinKO-vno ponitritau imenujem "superbachtrjcK". Kadar so Jve rezerwirani besedi preKcivata tallo, da j> an doeea PO'IJa ltd. Te operaaiJe tta-«ounD niflo enaKovredne« zatQ so ooene oKvirna In odvisne od raOunalnlKa. Priuzell Dento Var da en znaK Kavzama eno besedo «pominai d« Je . rezervirana beseda sestavljena iz 10 znaKov -in da Je vseh rezerviranih bated 32. Ocenimo Steui I a . o snovni h operaorJ za primerjanje besed med teboJ: while taCiJ-bCi]) and (KdlnMard) do ^ ,1 i.+ 1! . ■;' Imamo; 1 pnreJanJe ( !■) I raO.OP. (+1 1 1q3,op. (and) , 2 primerjanji <"r<) 2 doseaa pol Ja (C l ]) +1 za Kontrolni KonstruKt "while" 8 osnovnih operaaiJ .Za onaKi besedi natielona Porab Ino' to 1 i K o primerjanj hot Je-dimenzija besede {maksimalna dovoljena dolžina). Za razlitlnl besedi porabimo bistveno nianJ primerjanji v pdvprattJu bomo naše ocene vzeli 1>9. ft - neznana beseda Je rezerviran» B - neznana beseda ni rezervirana IflLOORITEM I «TEVrLG DPERrtCIJ I CELIC SPOMlNftl I I A I e I I I-----------------------------------------^----( I I I I I Ibinarno I . .190 I . 12S I 3Z0 I )----------------------------------------------( 1 + po t II ( IdolSini I 110 ' 60 I 330 1 I------------------------------^--------------t I + PO prv1 1 ( I , I I enu I lao I ss t 39 funHclJe imaJo le to doiiatno neprijetnost, da moramo naJti pbllHo razPrS i t ue.iie PunKoiJe Inda morano prirediti vrednosti Brliam. To pa Je obiBaJno delo neKaJ dni. 4. ZaHlJuBeK PraKtidni in teoraliBni rexultati daJtJo prednost uporabi alaoritmou : mininalnimi ali sKoraJ nininalnimi razprHitventrai Punft-oiJami za isKanJe rezerviranih besed. Sama uporaba razprtitvene PunHolJe Ja ? do 10 Krat httreJSs od oanovneae binarnaaa »sKanJa. Paradi poflatneaa branja je v pra>ttiBnih prl-uerth cfihraneh preoeJ manJti. vendar Se vedno upoStevanja vreden, 2aio Je smiselno pohitriti obstoJeBo proaraiasKo opremo s popolno razprlitveno PunHoiJo. Literatura! 1. R.J.Ciohelli: Minidial Perfect Kash Funoti-ons mada slmpla> CACtl, Vol.23. Num.lr Januar laao» str. 17-19. 2. a.JaesohKe. □.□sterburs: On Clohelli's Minimal Perfect Hash Function Methodr CACn. Mol.23. Num.12. December 1980. Str. 728-729. 3. JaesohH«: Rsciprooal Hashtna! A Methud For Qeneratina Minimal Perfect Hashin» Functions. CACM. ^01.241 Num.12. Deoember 1981, str. B2S-833. informatica 1/1983 AUTOMATSKOUPRAVLJANJE LETEĆOM T ESTE ROM UVOOJENJEM JEDNOSMERNOG MOTORAIMIKRORACUNARA udk; 621.931-52:681.3 MIROSLAVS. MlLICEVIC fabrika profila, aleksinac U radu a« projektujs alsten sa automatako upravijea;}« letoóom teeteron kod odaeoanja profila u pokretu. Za glavni pogon ae uvodi Jednoeinernl motor, redaktor, eupöanik 1 zupäasta letva koja Je kruto povezana aa teaterou, Regulacija brslne ee Izvodi trof^ asuin tiriatorakiu regulatoratn koji napaja Jednoanernl motor. Za automatizaciju procesa projektuje ae mikrora«> 81.2. ik 200,3Cu(t)-u(t-0,6))+51,'* l-l,227e-^°'^'^^sin(a8,6t+0,95)] . (2.15) čiji grafik Je prikaaan na sl.2, 8a si,2 zaključujemo da struja rotora dostiže vrednosti veće od maksimalne, èto ukazuje da se mora raditi sa strujnim ograničenjem. Rad sa strujnim ograničenjem dovodi do toga da Je brzina motora linearna u vremenu Sto se pokazuje i relacijom (2.16) Iz relacije (2.16) se može izračunati vreme saleta motora do nominalne brzine, i ono sa naš slučaj Iznosi tj " 665 ms (2.17) Budući da Je vreme zaleta manje od odziva, kada se koristi hidraulični servo sistem, to zaključujemo da izabrani motor odgovara 2a pogon reznog alata. Za atrujno ograničenje se biraju vrednosti proporcionalne brzini proizvoda, tako da se za isto vreme sinhroniäu brzine reznog alata i proizvoda. Na ovaj način se dobijaju vrednosti preuranjenja kao linearne zavisnosti brzio«, što nije slučaj sa prvobitnim rešenjem. 3. PROJBKTOVANJE MIKROHAÖUNARA Sa bi se autonatizovao Bietern odsecan-Ja profila tt pokretu potrelino Je projektova-ti mikrorafunar. Novoprojektoirani Bisten sa mikroračunarein de prikazan db sl.l. Koristeći ulasne podatke laikroračunar prograaiaki generiSe komandne signale vodeći prooee ods-ecanja automatski. Algoritam rada sistema Je prikazan na si.3. 1 očitavanje data valid A/D konvertora /a li 3e datk /valid na viSrX \ nivou / ne očitav, . izlaza A/D konvertora (brzina tnotorđ da vraćanje inic, konverzije na niži nap.nivo © /da li Je do stignuta brzi v. na proizvod. ne da slanje izlaza za odsecanje proizvoda li je rez 'ni alat obavi odsecanje ne da zaust, rezn.al, i podizanje /da li Je &V.t\ iviran detekt-\ or D'f / ne da slange izlaza aa očitavanje povratne brz. anuliranja reg-ietra trenutne dužine proizv. zaustavljanje podizanja rez. alata u gur.pv iniciranje kon verzije A/D ko nvertora © 72 © očitavanje podatka data valle A/Đ konvertora J)DDUU UUUOQOUd OÜÜUUfiUQ QQUQOaOa ä-:iJtäiiiAu oü flu C dB« uuoütiouu uouuuuuu uuouooua bSiiÈJjIbJ ÜÜUÜUÜ()9 oauuDUlia ODÜUUÜUÜ UUUUDUDB • 1 » ■ ........... .. » >. • 1 ,----> V 1 <1 o v III. .................. ■ 00 IO £0 su 60 70 3=3. OUOUQOÜO tSEbEStS L&tSL51-5 Estaeshis t;bE5t:5ts tbtstits Ebfc.5tt)£:5 EàtbE'ijfa tbt'jtSES EStStSCIS tätbt5t;6 E5t.5f51i:& hststüts SJ^^II-'iJ UUUlKIOIb ououduuu UDuoaoou tststsfs ESEüt.iit'j Lbfc.StatS t&ttl.üti t.Èt5fc.5E6 ESLiifbLi tbtitblii) K&ilitbtb tbk'jtSES E5tbLbb:b.fcbl.bfc;5E5 tUlilJLl iiyfci. ".LlSTUllPSUUC. . . . • • U ........... . « •tEEttEtiliEtte.i.ttt;'' • ttttS llt-Lttttttt-f." •ttl.tittit.l.ttLtt.L.L.t.« ■ tit:i.t.t,t.ttLtt.t:tE;t.t« •tt.b.h.tttttt.t:Lt.i:.tt* Ofi 10 äo 30 40 äO 60 70 eUSÜüOöO ÜUäÜ7£;6K 2Ü6'J7ADI; ć^tbbćUćA 6&16ÓI6C HUi:0'dO'UO iilil^UeOaO 01jU<ìUi>UA ÉAEatl.VJd liAÉjUiiitii* 8aÈrti;A art 677t:t)Jt>l( üütüfibbv ttóbUtiUA ÉUtttkUEU £ü73i.li7t, 7Ubytit65 6iCli7 Ijtib Suliaii.ii^.* feMtüiüjiüil Ol.0>iaiU'0 '(9Ć1-606K ---- ö-E;tiüj> I»! u, s=ć. GÀjj žtikgafc n« VKćutir/i. 6^6361 ÜÜ 3ü2uyüao «JUIOIICA LIP IO • Hiuunmij Ki» • I £1.1 STA ülVil IJÙ» •UtLJtVALiil:.. . • • ■ SKUh-l.Jt» • iJA Ò- blKS t i I • . • ■ og 1 • ■ n ■■ . , • IO eosui^aiìo saiiauùso eo eAso^aso UF'HJÌÌO'II 30 6E:CU477B 6f7b7U73 40 eoLiO^a^A OUSA^AÈI) 60 SOCUgUßQ 60 gOL'OQOüO 70 64696669 fc36^7ü6l siiaa'dùsQ Ksižftdpii,» 6C6C6hć3 6i74t96f £iUbU7Ltf tlltòiòii 6|j617iìCii) 63£:Ü3IJ9 aoiiCiüu^a sućioiiiiižo eOÈrtUr.UA SriÜ0 61y6F 6L;iiK4IÉt iiuü0',2t.aü •• CP/H AI.LUÜlUlu* liflUl/J'S PHÜUKAil» • il^iHtC 19« •aa » •DjmiinnL h. H. « Lista l. Prikazana lista ja dobljena s posebnim programom, kl zmore brati poBatnezne uektorje iz stez diskete. Na levi ilati smo odčitali dva sektorja Iz tkiiu. CP/M imenika in dva zaporedna sektorja s podatki zbirke v imeniku. V imuiiiku Se naliaja med drugim tudi zbirka LXÜ'l'ÜFtPS. BAK (vrstica 30 prvega sektorja v ilati), ki zaseda akupine 21, 25 in 2711 Jia disketi, kot jo razvidno iz vrstice 40 prvega sektorja liste. akuplna 21, in aioer njena prva dva sektorja, jo prikazana s sektorjema 3 in 4 v levi listi. Tu ja eluauleii prav naulov tega prispevka j ri v nadal jnlii skuplnati celoten teksv., Vsi znaki so pri tem napl-uani z velikimi Črkami (teleprlh-teir) . tUuyi uektor liste je zaaeden v imenlKu samo z eno zbirko, in sicer a MSrüKPS.lJOC, ostale tri po-zlcjjii BO Še prazne (vrstice 20 do 70 ddiicje-ja »faktorja V listi). Ta vratlce fio napolnjene a znakom iibtikd l.läTüDPä.bAK v vrstici 40 prvega uektorja liate pa ja neveljavna (dejansko je bila zbrisana) In njen začetni znak v vrstici 40 ja 'e5' namesto '00' pri veljavni zbirki. Lieta nazorno prikazuje del organizacije podatkov na CP/M dlakotl. V dodeljevalni eJtuplnl 21H. Podatek za zaòetek te. skupine smo prebrali iz Imenllta (skupina G -O, loglönl sektor 2, policija = 30H v listi 1). 2. Kratek opis programa Na listi 2 Imamo proaram za listanje tabele, v kateri se nahajajo pc>datki o dodeljevalni skupini in pripadajoči stezi/stezah, loglfinth In fizičnih sektorjih. Dodeljevalne skupine v listi 1 se navajajo v heksadecimalnl obliki, v listi 2 pa jih Izpisujemo decimalno. V listi 2 Imamo v vrstici 20 for zanko za read stavek s podatki v vrsticah 260 in 265^ s tem se zmanjša dolžina programa. Preostali del programa izračunava formulo za dodeljevalne skupine, steze, logične in fizične sektorje. Program je napisan v jeziku .CBRSIC2 oziroma EBASIC. 3. Izvajanje programa V listi 3 je prikazano Izvajanje programa z liste 2. Izpis se ujema z osnovnim izpisom (brez listanja sektorja) v listi 1. Ta lista kaže tako prostorsko organizacijo diskete v sistemu CP/M 2.2. Seveda lahko to organizacijo po žalji spremenimo (vobče bo organizacija drugačna pri dvostranski, 5" disketi in pri vlnčeatr-akem disku, ko bodo npr, sektorji daljfil, dodeljevalne skupine spremenjene itd.), V spremenjenih razmerah bomo brez teiav spremenili program v listi 2. A>TYPE LISTGRPS.BAS I REI TA PUBGFiAM IlLiSTA PfilHEiilTVE STEl IlJ S KEM SEKTIiKJEU POSAHEZiJIM bODEL IT VEi4 III 3 hEil SKUPIIMA STANUAhUJl CPA1 DISKETI. A FiHU VHEDJOSTI SO DECIHALtiJE. 5 HM PUl liLPISU i URSTIDJIM TISKALMIKÜS1 St 6 HEM USThEiNO SPHEI1EMIJÜ VhSTlCE 65. 667 fiEI 67. ISO IiJ ist ( LPfiliJTEfi) . « HE:1 PROGRAH J t NAPI SAiM V d £21 KU C BAS ICS- 9 HEJ-I 10 DIM D eo FOB 1=1 TO lOil 3Q READ D 35 IF 1-26=0 OR I-5S»a UR l-TS'^O TlIEiJ hESTÜHE 40 NEXT I 50 G'B 60 T=È 65 PMWT 66 PFiItJT 67 pnirjT 68 LS=1 7 0 B='l 80 C^Qt? 90 PfttlJTt PRINT "G = 91 S=l 100 FüH l=b TÜ C no IF 1<= I Bü THE.^ A=i3 ISO IF I< = 78 TllBJ A=e 130 IF I <=52 TllElJ A-1 UO IF I<=£0 TKBJ A=0 150 PFdiMT TAb(5)Jül "i"JS-U" T » "IT+AJ 151 PiUUT - IhS " LSI- PÜ = -IkCl) 152 S=S+li LS=LS+1 153 IF LS» 27 Tutu LS» I 160 «EAT I 170 IF CslOA TII£.J Ü«TD ZBÙ 180 190 c=c»a 200 ü=an £10 QOTO 90 SSO T-T+Jt 230 IF T»76 THEW GOTO 300 Ü40 G-Q-^l S50 (JOrO 70 £60 BATA 1 . 7. I 3. 1 9. 26. S. I I . L7.23. 3.9, 1 S. SI S6S DATA 2,a, 14.S0.g6/6.l£. 30 0 B»Cf(UJJ2 AiLISTGhPS CHUV VEK 2.07P Ü - ÜPAI ALLOCATIUJ ÜftÜUP. T - ThACit, ' LS - LOGICAL SECTÜh. 'J PS - PHYSICAL SECTUh" a - CP/rt ALLOCATI^ ShOUP« T - TRACKJ LS - ■ LOOICAL SECTOR. PS - PHYSICAL SECTOR a » 0 t 0 T " 2 LS 1 PS - 1 0 t 1 T - S LS S PS - 7 0 ■ Z T - a , LS 3 PS - 13 D t 3 T - a LS 4 PS - 19 0 1 T - 2 LS S PS " 25 0 1 5 T • 2 LS 6 PS - S 0 1 6 T « 2 LS 7 PS • 1 1 0 1 7 T - e LS PS - 17 Q « 1 t 0 T - e LS 9 HS - 23 1 1 1 T ■ a LS 10 PS - 3 i t 2 T - a LS i 1 PS - 9 1 1 3 T ■ 2 LS 12 PS - IS t ) 4 T - 8 LS 13 PS - 21 1 t S T = 2 LS 14 PS - 2 i t 6 T - S LS IS PS - B 1 1 7 T = 2 LS 16 PS - 14 G ■ 2 1 0 T = 2 LS 17 PS - 20 2 t 1 T = S LS 18 PS - 26 2 1 2 T » 2 LS 19 PS - 6 e « 3 T - 8 LS 20 PS • IS e 1 4 T » 2 LS 21 PS - 18 e > 5 T - 2 LS 22 PS - Sil 2 1 6 T - 2 LS 23 PS - 4 2 t 7 T - S LS 24 PS - 10 G - 3 t 0 T - s' LS £5 PS - 16 3 1 1 T = 2 LS 26 PS - 22 3 1 'S T = 3 LS t PS = 1 3 ) 3 T = 3 LS S, PS - 7 3 1 4 T » 3 LS 3 PS - 13 3 i 5 T - 3 LS 4 PS " 19 3 ■ 6 T • 3 LS 5 PS - = 2S 3 « 7 T = 3 LS 6 PS - S Lista 3. To listo generira progrma z liste 2, seveda potem, ko je bil predhodno preveden in nato izvajan. Ta lista se izpiSe do vključno 77, aektoeja, če programa prej ne prekinemo. Z določeno modifikacijo lahko dosežemo, da se lista izpiše na disketo, tako da jo pri pötrebi lahko čitamo (npr, z ukazom TYPE). Lista 2. Ta kratek program, ki je napisan v jeziku CBASIC2, tzllsta tabelo dodeljevalnlh skupin, stez na disketi, logičnih in fizičnih sektorjev, kot Je razvidno iz liste 3. Ptl nekaterih raziskavah podatkov na disku ali disketi, je taka tabela zelo priročna. Program lahko modificiramo v primeru drugačne organizacije podatkov na disketi, tako da ustrezno spremenimo parametre v programu leve liste. Tako lahko dobimo popolnoma drugačno tabelo npr, za organizacijo podatkov na vinČestrskem disku ali na dvostranskih disketah a dvojno gostoto zapisa. NOVICE INZANIMIVOSTI •«è«*««»*«««««***«««' PROBLEMI INTELIGENCE 1. Uvod Tube!« 1 Z naprti za reäevänj« problemov peta raiiiuriBlini'-itku sanerŠBijB je etcipila v oapredj« tudi pro-blsMätiha o rexuiiicrvanju delovarija motgdnov . in (ftoiganekih «informacijskih) procesov. N«red Be bo J povezani t nini svežnjem itivčnih vlaken do mili- jonov), ifiieriovanim corpus cailo&um. Ta sveštenj je bil pri živalih in človeku večkrat ekttperi-iii£»ritalno ali zdravstveno prekinjen {prerezan) • kirurškim posezoni, tako da Bta ostali polobli [)re2 naravnkJ mfädtä&tiojne povezave. Ljudje z lo-čt^nii^ia polc^^laina pa obnaäajo tako, ' kot d« tdiÄjo Ovojè moiganov, ki delujejo neodvisno in ne vtìdù eni ra druge. Pri ttfh ekišperiiiit^ntih in po&t^gih je poetalo o~ čitrio, da go funkcionalne icnači Inoet i leve in desrni poloble Uistvéirio različne,-da je pri človeku niij.č razločevati tkini. leve in deene inte-liyerir:e in da dtiUije povezan Bieteni leve in de~ ana polobla Di at venu drugače kot siätej/i, kjer' je (iieoiiebcijcie informacijska povezava oa labi jena ali i.-elo prekinjenđ. Hb ttini E>e je naravno pojavilo vpraèarutf, kje ja aedtir človekove zavesti, kako je ta eprtiiiienjenij v prekinjeneKi ai-ateiiiii in naposled, ai i jh moć razumeti infor-ijiacijako delovanje možganov i hiozganektrn pod-6ÌBterj)oi«, npr. z levo ipioiüanäho poloblo H razr-eàili jirt.lileniL' intel isjti'ii:«, ki naj bi postaja tilävna ir rfiätvCfnCi lailiČr.O? dr. kaiiiliku bieü level in üDuno f'iozyöctiäko Ö lälaliüöa i.it.lyäi'iov in r.jilic.vj)i pi'OLoiiov kot intornijicijsiitga sititema to raziskovalci woiga-nov in človekovega otmaianja opazili bistven« razlil.e (različna lastnosti) v obilelavl infor-(iiatiij leve ir. desna poloble, le včasih r.aikprot-im značilnotiti so p. ikiSBne v tabeli 1. M4-I lem vsi ja povedati nakaj besed o ttaii jiškit, in (larolelnili inforwiaci jsk iti pr&uusili v moJtj*-nil,, bei-ljbka in paraj sind oüdalava v tabeli i-se T.anaéa na lr.tto i nfc.n.iau-l.jò, na dovOlj velik, ■ if4foi~(,iaci jsko ««okroien (podil kovni, L»vb polobl« Deanà polobla asHBissaaanaBHaaBiEaaasaM * earijsk« obdelava * paralelna obdelava inforcaci J informacij « linearna « nelinearna t ftasovno xapóredna * fiaeovno neodviana * paket na * večproceeoraka « prek i ni t vb 1 Meha- * naključno izvajanj* ni zmiom bhlada (iivrttevanje) • beeedna/eimbolna • viorčna/sli kovna « nei nt uit ivn« * visoko intuitivna . « točna, verna * netočna, neverna » strukturirano spo- « asociativno epo- minska ' tiiinska « zbirno kcrelacijeka * istočasno večpodat- kovno korelacijska tt e stopničastim uče- 2 nezaporednim, ne- njem logičnim učenjem » čutilno odvisna • čutilno neodvisna » itd. « itd- podinforinacijskil kompleks. Olede na delovanje nevronska mreie je v možganih obdelava takega koiApleksa tudi v levi polobli paralelna, vendar, je v danem trenutku v tej polobli v ospredju (v stanju pozornotit i) en sam tak kompleks. ß tega vidika deluje desna polobla diskurziv.no, obravnava, prirnerja in ocenjuje hkrati več kompleksov in izvaja tako viäje funkcije nad pojavijajof^iini ee informacijskimi produkti. Nfkateii raz i skoval ci dojemajo (razumevajo) človekovo Miäljenje kot definitivno nerazumljivo «nedoumljivo, nepojmljivo) za človekovo mišljenje, ker Mora biti vsako razumevanje mišljenja neglede na obeeinost (problematike) pod-mnoiica množice hiiäljer.ja (podobni ahfiiowati-čnoiiistemski paradoksi eo inani na področju "leve" l&aike, matematike, eksaktnif» ved). Prav tak riacin razmiäljanja je značilen za lovo (zavestno) poloblo. Vendar je mogoče dognati določene sestavine inteligence tudi brez potrebnega znanja ali poj^bnjevanja, kako delujejo. Te sestavine ali sposobnosti so npr. v naraečajočBni zapüi tsdju telei ^ i ir'ačunavanje, - sov i snout, - atiociai-i ja,' - biklupanje m ■ - ekstrapolđcija (u^ot a v 1 ja^.je i/ver. obsei^a '.:f,ariega ». Hui M J it I raiitikav kažujo, da je leva polobla biolofki pi-iinerek nukakÉi-iega ven Neumannoveßa (serijskeya, 1 i nearr,e[|a» računalnika, kot j» razvidno iz tabeli, 1. Desna polobla je se vedno zavita v skrivr-ost, ver,dar se dozdeva, da bb v r.jbj bol I « äivijajü in obravnavajo gustalti, oblika, «like kot pa posamezni «izolirani», prbrtdieti. hJfl „issrečo je večina zavestnega rai-iljenja bet^dne (»lavcne, eitubolr.») narav», jezikovna eredifeča (centri za jezikovno abstakcl-jo) pa se nahajajù v levi polobli. Iz tega i»-hajj, da je zelo tnJko opisati funkcij« desne polobl« s po.jmi (terminolcgljo) leve poloble, kur 60 veibalr.i prouesi (koi-iceptii zapleteno povez ir,1 « serijiùkiKi von Nfeumannovim računalnikom Ibve pv.lolfla. jKiiioii jti delovanja desri» polotite z dolovanjem lave poloble je de facto povezano z deUoMpozi-cijo paralelnih informacijakifi procesov desne poloble V serijske informacijska proceGe leve poloble, fìli je ta dekompozicija vselej mogoča, to je osnovno vprašanje. Pri napredovariju računalniške tehnologije bi človek {telel uporabljati predvsem obratno dekompozicijo! > iz koncipiranih serijskih procesov (algoritmov) ■ riastalih v levi polobli, bi lelel pridobiti ekvivalentne (hitrejše) paralelne procese. Z logiko leve polobla je ritoti brez tetav formulirati serijske procese, računalnik pa naj bi te procese inte- . ligenöno iin seveda hitrostno) oplemenitil tako, da bi jih preslikal v paralelne procese (v lošiko desne poloble). Iz tega bi bilo moĆ sklepati in sa priutfevati .0 1.7 1.1 1.0 """ i S s i i 2.1 1.2 1.4 1.0 i tt § i 1 2.1 1.0 1.7 ASSEMBLY' EON' DIGITAL FILTER^ Dpciiiibe I - 5. so eriahe kot prej. 6. Söflfi v prÌBiei"u Ber*pr. permane nt na prarnciò v zmogljivosti procesorja Se&Bfi nad procBBCrjeirt 680»«. Ta premoč pa je verjetno 4b veliko večja v razpoiciljivi sieterneki in uporabniški programski opremi ter tudi v integrirani, irtateria) ni podpori. fl.P.Zelejnikar Prej ko Blej bodo Japonci imeli prvovrstne osebne ratiunalnike, : kot je pokazala inediriarodna razstava v jeseni prejSifjjega leta iJapari Data Show '8£, Oct 19-S2, 198£, Tokyo). Ta razstava je pokazala spekter prenosnih in osebnih mikro-raöunalniäkih sistemov, v katerih prevladujejo mikroprocesorji podjetja Intel, in sicer 8088 in Setag. Pojavili so se tudi novi domačni računalniki, ki pa za naä pregled riiso relevantrii. Poglejmo le najprlvlattnejèe razstavijefie mikro-si sterne. Japonski 16~bitrpi mikroračunalniki Japonci so razstavili Sa novih 16-bitnih rnikrc-računalnikov, od katerih ei bomo posebej ogledali osebne mi krosi sterne. national Mybrain 300Ö je osebni računalnik podjetja Matsushita, ki so v ZDA prc.daja pod irae-ni Panasonic, National in Buasarč ima 4 ločene enotei izredno bogato opremljeno tastaturo, sistemsko enoto, videoprikasovalciik. za barvno grafiko visoke ločljivosti in diskovna enote. Procesor je &0aa s 96K rlogi flfiMa, z dodatnimi zlogi video RPMa in 16K zlogi ROMa. Video RflM se lahko poveča na 1£&K zlogov. Video grafika ima ločljivost 64ii9 krat 408 točk. Dobavljivi upogljivi diski so 3 eolski, 5 in 1/4 eolski in 0 eolski, vsi v ločenih vertikalnih enotah. Sistem it.ia RS-&3SC in IEEE-4a8 vrata. Operacijski sistem je MS-DOS ali CP/M-flS z vrsto prograrnirnih jezikov (programska oprerrta je v celoti ameriékaM. Pri dve upogljivih diskih (s po i&(?K zlogi), 80-kc.lonsket(* igličnem tiskalniku in z jBzikorrt Basic je cena tega sistema cca Mitsubishi Mkilti 16 je mikroračunalnik "v enem kosu" in ga prodajajo tudi v ZDO, tastatura je ločena. Sistem uporablja procesor 80SS in po ielji koprocesor fleiS?, ISBK RAM, ki je razSir-Ijiv na 576K zlogov, barvno grafiko s krat 400 točkami, en 3<3<3H zloini upogljivi disk in cfiei-acljaWi BÌeteiu CP/M-06, SiBtew jet moč apn-rAturno razširiti. Toshiba Pasopia 16 je oeebir>i ratunalni)», lù sia v ZDfi prodaja poU ozr.ako 730«. Iiiia vfò video inor.itorjev za razliCno loćljivosti (330 X S'tfiö do £.10 X 5i?l0 toSk). Enote so med ^šboj 1 ofturn,', upogljivi diski (5 eolski) cJosajtejo is fa^iöK zlogciv. Tiskalnik je Bt^i-kolonski, uporabijo se Iđhko tudi Ö coleki upogljivi diski (v teh) j» predcio&t loSesnih enot), Proc.eBCir ja BÈifltì s kc.pv-ocei5onje-M 0007, s AK ROMotn, 192K HAMohi, ki JB razširi Jiv do SISK zlogov. Doda bb lahko tudi video RfiM od 1£S do e56K zlogov. Operacijski gistetii je MS~DOS. Tosbac UX-3a(a (Toshiba) uporablja proceisor Öääete, ki je podoben procesorju öfiSC., Ta eiiätäin lahko uporablja vinčestrski diek 10M zlogov, it.ia do 51£rK HflHa, cena je S9300. N£C PC-9Ö00 in flPC (Advanced Personal Computer) sta prewenetenji podjetja NEC. PC-Söftö ja pravi lÈ-bitrii osebni računalnik B procesorjem ß0ß&, doćiin se fiPü prodaja v ZDfl pod ajnako NSßtaa ir, uporablja tudi procesor ßCüöfe. «PC i Ma IStìK zložni HflM, dva 6 eolska dieka 2 IM zlogi, inono-kromatični inifdtor ft'«® X '»75 toftliami, s ciünü 'tSUEilič njegova ameriška raslifica se prodaja za !l.39i?ia. PC-9e0ia i tua 1£8K do B^itìK ROM, 96l< ROM z jezikom NBflSIC-afi in s 96« video RfiWom. Monitor ima ločljivost X 40® totk. 3 ISHK RHMa in dvema B col'skima diakotna tpo vsak) je njegova cena na Japonskem. Hitachi ßflöic Master 16000 in PT-l osebni ter-Mir4al sta le^-bitna osebna računalr.ika. Prvi uporablja procesor SaBfl, MB-DOS in 3£0K HflMa v staridardni koc.f »guraci j i. Video lofil ji vost zr.a-Èa 640 X 400 točk. Pet coltäka diska imata po 34iai< zloijov, cBna pa je 11Q50. Tudi PT-l uporablja MB-DOB, dva B eolska diska (po ir. video ločljivost X 5£0. PT-J je (iredviden za pisarniško avtomatizacijo v l.okalni mreži. tiiifiyo MBC-5S je vrhunski osebni radunai ni k <> procesorjem BOBA, 2b1c. kompiikter., e tankima 5 colfakiijia diskouid (po 160K). Pi-i prodaji v 7i)0 bo zanj mogoče uporabljati enake module kol jtì IBWov PC'. MBC-:-j5 uporablja optjv^acijaka aisttiina CP/N-Ö6 in MS-13DS, pcmni Ini k jB ri.zširljiv od 64K do £S6K. Sistem ima 4I< nalagiUni ROM in procesoi- ÖStÖ7. Mjegova cena v ZDft bo pri uitni-malni konfiguraciji $1000 brer. vidto monitorja. To bo i.iofna konkurenca ossebnettpu rafunalnikti IBm, saj tio MEiC-55 aprtJjBirt'l J iv za družiriski proradui-i. Sord M-343 je le ßden izmed številni mikroračunalnikov, ki jih izdtfljuje podjetje tJord (npr, M5 domači l atunalnik ali pr&nosni mikroraC-unal-nik r(ì3P). Ta sistem itna izredf.o kvalitetno barvno grafiko in procesorje 6887 in I60fi. Eiistfeirl jfe v erieiii ohišju in lahko i uit» U76K zlogov RAMa, 4 V/I vrata, video ločljivost 640 X 400 točk. ZÖ0H je prfidvidun kot po-vtiava v (iireSi, Ima dva 6 coltka disko ^ pc. 1,£!M i leg i, £0 programakih tipk c.a tastaturi in tri dofiatnđ podr.ožja (konektorje) za vodilci S-100. Uporablja različno o pe rac i j a lie sisteme (6 po élevilii, med njimi CP/M-B6, MS-DÜS, UCBD p-sititeM, PlPB). Takène programske integracije nima zat;r.ki at noben kcniietrc i a 1 n i atiiet^iftki osebni riičunalni k. flnrit&u PackfeU II Hy Personal Computer ja Bdini med ekspo*tati s procesorjem 60000 in bržkone edini s tem procesorjerm v svojem razredu. Ima dva diskovna pogona (5 eolska s 130K vsak), ima £S6K zložni nm, dodali jo .„oS celo fl/D pretvornike. la računalnik je namenjen tehfiiftnim uporabni liodi. fit El tjct ror.jce. fU-Mi6 upcratdjà pfiof.-esor (10BP. in Böö'i V/1 procesor, ima moinoöt uporabe (matetHat iöni koprocosor), vsebuje koledarsko uro in HflM od &56K do im zlogov. Uporablja javni standard IEEE-796 (Multibus). Nadalje ima 16K nalagalni ROM in ÖK znakovni generator plus 12BK kanji ROM. Uporablja O eolsko upogljive diske in 5 eolski vinCeetrski disk. M-16 iirt« vrsto operacijskih sistemov! (Benin, CP/M~ß6, Concurrent CP/M-S6, MP/M-06, MS-D03, UC9B p-aistem itd. Njogcvi sistemski je^iiki ao med drugimi LISP, PL/I in C. Seiko 9500 ir. 6600 sta 16-bitna mikroračunaJni-ka, predvidena za japonsko in ameriÉko triiSče. 9S00 je Buper osebni mikroračunalnik, zgra^itn v enem ohiftju, z vodoravno postavljenimi disStOv-nirni enotarni. Ima vrsto proceđorjevi 0006 z B007 koprocBsorjem in äe dva BOfiS procesorja, ki JU uporablja za V/I ir, druga krmilne koftujni-kacije. Območje RAMa sega od £56K do 51£l< zlogov, operacijski Bietern je RMX/Be, ločljivost barvne grafike ina§a 51£ X 4fl0 točk. 8603 je predviden za prodajo v ZDA, ja manjéi in ima bolj dognan izgled. Japonski 8-bitrii mikroračunalniki Sharp XI je osembitni mikroračunalnik s proco-Borjem z barvnim monitorjem, 64K ff^Mom, 4K video RflMotti in £K snakovnim RAMom, dodAti pa jb tnogciče Sb 4BK video RAMa. Ta računalnik ima tračno kasetno enoto, uro realnega časa, mali t iskalriik. Sony SMC-70 uporablja ZB0fl procesor, v prihodnosti pa bo' i mal procesor B0B6 z MS-DOScm. V ?.DA se prodaja kot poslovni sistem. Ima 3-col-ske diske. Japonski prenosni mikroračunalniki Wa razstavi v Tokiu so se pojavili 4 zanimiv.i prencisni m i kroracuna I ni k i, Aval AVC-777.1S je v enem kosu, uporablja opers^ cijBki aisätem CP/M S. 5 z ZSSA, 64K RAMa in 16K video RAMa. Vgrajen je 5-colski monitor, dve S~ eolski diskovni enoti (po 600K vsaka), 5~eoleki termični tiskalnik, priuljučnice zÉi lunanje diske in zunanje vodilo itd. Cena je 4ì33k0, teža pa l£, 5 kg. Aval AVC-6È6 je razvojni sistem e. CP/M £.2, z dvema S^colekima diskovnim» enotama, podoben sistemu 77?J£. Ima pr i k 1 j ućrni co la zunasifiji video prikasovalnik, je veliko lazji in cenejži (tžHiati), Soi'd M£:3P je pravi prenosni mikroračunalnik s procesorjei.! Za^R, IKB« RAMa in fl0-znakovnim in 8-vrBtičnim prikazovalnikom s tekočimi kristali. Ta račuvmUiik omogoča delci na poti, doma p» je moč priključiti navaden ali barvni monitor. Računalnik Uporablja dve diskovni minisnoti s 600 obrati c.a sekur.do s po 560l( zlogi. Njogova teza je 9 kg, cena t£200. Epson HC-S0 se prodaja v ZDA pod oznako HX-Ž0, je manj zmogljiv kot M^3P, cena j« 400®, porta-bilnOEst je odlična. Novi domači računalniki Da rie bo nesporazuma, omariimo takoj, d» so domači mikicračunainiki namenjeni za uporabo doma (v domu) in da je njihova uporabnO'et in cena prilagojena potrebam in finančnim zmogljivost im, National osebni računalnik je cenen proizvod poüjtjtja Matsushita, ima procesor 6£i0ž, 16K flOMa jn ,"SS K RflMa. Cena je okoli 9.300. JR-100 ima procesor 6802, ÖK RaMa, manj So tastaturo, pri ceni «S 10. l&K RAMa, Procesor 8035 B Bvojo ožjo okolico (podporo) Sor d MS ima procesor 2800, fll< ROMa, A K öiBtei.i-Bkega RRMa, 16K grafi&nega Rflfla. Programska oprema se prodaje na kasetah ali v ROMih. Ta riićur>alnik ima VF izhod (za TV), ceria jti «167. Sanyo PHD-£5 uCitli med boljèd; tJofiiaöe računalni-ha s ceno Veliko&t teiga računalnika jg e- inaka velikosti tastature; ima pa £4K-zloirii Basic v nOMu ir, 2£K-£loS)'ii RfiM. Kot video pro-kazovalFiik uporöblja televisor in kaeeto kot sekundarni pomnilnik. PHC-20 je cefiBjäa ' isveöba t&ya cloiiiaSega računalnika. Novi ročni računalniki Sanyo PHC-aePö je r-ačunalnik', ki ga dr* i mo v roki. Njegov procesor je NQC-Ö00 v CMOS iived-bi, ima pa £AK-2loii-ii ROM in AK zložni RfiM. Prikazovanje se opravlja na enovretitnem aa-Blonu tekočih kristalov. Cena je $£63. Nanj je moč priključiti zunanji video monitor, rnikro kasetni zapi&ovalnik in dodati 14K-zloiir niogciše Se l£K-Kloini RAM la it 113. Pi-iključi sčf lahko turfi zunanji tiskalnik, cena fiufiönjeya kasetni ka je $170. Tako počasi in za-ne^äljivo nar SB te cena t NHC PC-Söeil ročni računalnik' je med ' najbolj pr ijazninii. (Jpoi-atilJa ö-bilni mikroprocesor IJPD7907 v CMOS izvedbi, s taktno frekvenco A MHs, 3&K-zloSniw ROMom ir. IfiK-sloinira RAMom. Iraa tudi serijska vrata in dvovrstični prikazovalnik s tekočimi ki^istal i. Cena je Podjeti-.iöke usmeritve TfcZr.jt; japortà/(ih »Itiklronsk JO v proizvodnji popolnih linij, od ročnih do zelo računalnikov. Podjetje NEC računalnik PC--p.0ßl, domači osebni računalnik PC-8000 ( irtütnejäi . oBebni računalni Z80), osebni računalnik PC ÖiSÖf.) in visoko zmogljivi (procesor 80Ö&). ih podjetij Bö kaZB-mikroračunalai Skih Ztiiocjljivih namiznih izdeljuja npr. ročni računalnik PC-E®»®, z Z80 procesor jern), k p C-0800 (tudi z -3800 (3 (jroceeorjeiii osebni računalnik dina krmilnik 8212 vrata 8086/8088 centralni procesor 8286 82a&J 8282 8282 ߣ53/4 časovni ki prenosnika prekinitveni krmilnik vrneeni registri aas^^fl taktni generator 8288 lokalni krmilnik vodila 16P74S 16P7AS 16P748 t&P74S 16P7^S 7AS138 16P74S 7, Ö-bilni n^Niìsni računalnik T£00 z dvema s-colskima upogljivima diskoma, a-bitni namizni računalnik T250 s vgrajenima B-colskima diskoma In osebni računalnik Pasopia 16 e procesorjem 8000. Obe podjetji pa proizvajata tudi tkim. tastaturne računalnike, kot je npr. Epson HC-E0 in prtinosna mi kroracunalnike. V ZDO iina le Hewlett-Packard èiréo paleto, deloma tudi D£C, za IBM pa to in ne velja vtič. Gre torej sa bistveno railični strategiji osvajanja novih irtikroračunalniikih triiSč in kdo bo uspeSnejèi (Japonci ali Ofnöritani ), postaja danes vse bolj očiti-io. fl. P. ?.elBznikar HPZLIÌ40 MED 8086 IN 80186 • »k»«««K«■«*•««« Razlika med tema odličnima mikropi-ocetìoi-jema je najbolj nazorno vidna na spodnji liliki. (are predvsem za bistveno razliko v arhitekturah.