J» • ö-n intormatica Z YU ISSN 0350-5596 INTERAKTIVNI GENERATOR PROGRAMOV SIRUP omogoča programiranje brez poznavanja programskih jezikov. SIRUP je niz interaktivnili programov za splošno uporabo. Njegov osnovni cilj je, da pospeši in olajša pripravo in vzdrževanje uporabniških podatkov. SIRUP zmanjšuje čas, potreben za izdelavo aplikacij, angažiranja računalnikov in programerjev, za 30-90%. SIRUP deluje interaktivno s pomočjo parametrov, katere uporabnik sam določa in izbira. SIRUP omogoča hitre spremembe in dopolnitve programov. Iskra Delta Iskra Delta . , ^ ,, proizvodnja računalniških sistemov In Inženiring, p.o. 61000 Ljubljana, Parmova 41 telefon: (061) 312-988 telex: 31366 YU DELTA inforriìatica časopis izdaja Slovensko druätvo INFORMATIKA, 61000 Ljubljana, Parmova 41, Jugoslavija UREDNIŠKI ODBOR: T. AleksKJ, Beograd) D. Bi trakov, Skopje; P. Dragojlovid, Rijekaj S, Hodiar, Ljubljana; B. Horvat, Maribor; A. MandžiiS, Sarajevo; S. MJ.haliđ, Varaiđin; S. Turk, Zagreb GLAVNI IN ODGOVORNI UREDNIK: Anton P. Železnikar TEHNIČNI ODBOR: V. Batagelj, D.Vitas — programiranje I. Bratko — umetna inteligenca D. Će<5ez-Kecmanovlč — informacijski sistemi M, Exel — operacijski sistemi B. Džonova-Jerman-BlaiiiS ~ srefianja L. Lenart — procesna informatika D. Novak — mikroračunalniki Neda Papid — pomoönlk glavnega urednika L. Pipan — terminologija v. Rajkoviö — vzgoja in izobraževanje M. gpegel, M. Vukobratovid — robotika P, Tancig — računalništvo v humanističnih in družbenih vedah S. Turk — materialna oprema A. Gorup — urednik v SOZD Gorenje TEHNIČNI UREDNIK: Rudolf Hum ZALOŽNIŠKI SVET! T. Banovec, Zavod SR Slovenije za statistiko, VoSarski pot 12, Ljubljana A, Jerman-BlaSiS, DO.Iskra Delta, Parmova 41, Ljubljana B, KlemenäiS, lakra Telematika, Kranj S. Saksida, institut za socioloaijo Univerze Edvarda Kardelja, Ljubljana J. Virsnt, Fakulteta za elektrotehniko, Träa- ka 2S, Ljubljana UREDNIŠTVO IN UPRAVA: Informatica, Parmova 41, 61000 Ljubljana; telefon (061) 312-988; teleks 31366 VU Delta LETNA NAROČNINA za delovne organizacije znaSa 1900 din, za redne Clane 490 din, za Studente 190 din; posamezna Številke. 590 din. ŽIRO RACUN: 50101-67B-51841 Pri financiranju časopisa sodeluje Raziskovalna skupnost Slovenije, Na podlagi mnenja Republiškega sekretariata za prosveto in kulturo Bt. 4210-44/79, z dne 1.2.1979, je Časopis oproSCen temeljnega davka od prometa proizvodov TISKt Tiskarna Kresija, Ljubljana GRAFIČNA OPREMA; Saato Kirn ČASOPIS ZA TEHNOLOGIJO RAČUNALNIŠTVA IN PROBLEME INFORMATIKE ČASOPIS ZA RAČUNARSKU TEHNOLOGIJU I PROBLEME INFORMATIKE SPISAN IE ZA TEHNOLOGIJA NA SMETANJETO I PROBLEMI OD OBLASTA NA IN FORMATI KATA YU ISSN 0350-5596 LETNIK 8,1984-St. 2 VSEBINA VSEBINA M.V. Jefič T. Erjavec F. Kogovšek J. Matjaž A . Trehar 3 Računarski sistem DELTA800 9 Večopravilna tehnika v EDX okolju v računalniku IBM Sistem/l 16 Centralna procesna enota Delta 16/Btt-Sllce B .Džonova-Jerman J. Žerovnik 20 A.P. Železntkar 31 R. Mirn 42 D. PeEek B. Kastelle Uporaba programskih grafov pri ugotavljanju vzporednosti v računalnikih algoritmih I M.Kukrlka 24 Pristup dinamičkom rasporedj I-vanju zadataka u prstenastoj mre£l računala Algol 60 za sistem C P/M III Testiranje GMOS komblnacljakth vezij B, Černlvec 46 Nadzorni program za multipro-gramlranje pri sprotnem vodenju procesov T. Erjavec S2 Communications Paclllty M.Kukrlka 60 Pristup organiziranju baze podataka u raspodijeljenim sistemima I. Meško 66 Računalniški programi za poslov- no planiranje 68 ' Uporabni programi 72 Novice In zanimivosti informatic: YOURNAL OF COMPUTIIMG AND INFORMATtCS Published by INFORMATIKA, Slovene Society for Informatics, Parmova 41, 61000 Ljubljana/ Yugoslavia EDITORIAL BOARD: T, Aleksiđ, Beograd! D. BJtrakov, Skopjej P. Dragojlovič, Rijeka; S. Hođiar, Ljubljana; B. Horvat, Maribor; A. Handžiđ, Sarajevo; S. Mihalić, Varaždin; S. Turk, Zagreb EDITOR-IN-CHIEF i Anton P. železnikar TECHNICAL DEPARTMENTS EDITORS» v. Batagelj, d. vitas — Programming I. Bratko ~ Artificial Intelligence D. Ćećez'-Kecmanovid — Information Systems M, E*el — Operating Systems B. DJonova-Jerman-Blaiie — Meetings L. Lenart — Process Informatics D. Novak — Microcomputers Neda Papič — Editor's Assistant L. Pipan — Terminology V. RajkoviC — Education M. Špegel, M, viikobratovitf — Robotics P. Tancig ~ Computing in Humanities and Social Sciences S. Turk — Computer Hardware A. Gorup — Editor in SOZD Gorenje executive editor! Rudolf Murn 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. Klemenčie, Iskra Telematika, Kranj S. Saksida, institut za sociologijo Univerze Edvardu Kardelja, Ljubljana J. Vlrant, Fakulteta za elektrotehniko, Träa- äka 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 US$ 10 for individuals Opinions expressed in the contributions are not necessarily shared by the Editorial Board PRINTED BY! Tiskarna Kresija, Ljubljana DESIGN: Rasto Kirn YU ISSN 0350-5596 VOLUMES, 1984- No2 M.V. Jefić T. Erjavec F. Kogovšek J. Matjaž A . Trebar CONTENTS 3 Delta 800 Computer System 9 Multitasking Technique in EDX Environment on an IBM Serles/1 Computer 16 Delta 16/Blt-Slice Central Processing Unit B .Dzonqva-Jerraan J. Žerovnik 20 Application of Program Graph Analysis for IVleasurment of Parallelism in Computer Algorithms I M. Kukrika 24 The Approach to the Dynamic Task Schedulling in Ring Multicomputer System A CP/M System Algol 60 Language ni 42 Fault Testing in CMOS Combinational Networks A .P. Železnikar 31 R. Murn D. Peček B. Kastelle B. Černivec 46 A Kernel for Multiprogramming in Real Time Systems T. Erjavec 52 Communications Facility M, Kukrika 60 An Approach to Multiple Copy Update in Distributed Systems 1. Meško 66 Computer Program for Business Planning 68 Programming Quickies 72 News RAČUNARSKI SISTEM DELTA 800 UDK: 681.3 MILOVAN V. JEFIC DO ISKRA DELTA u članku je opisana konfiguracija, arhitektura i programska oprema sistema Delta 800. Delta 800 Computer System. This article deals with configuration, architecture and Software system for Delta 800 Co^nputer System. Orsenizacija sistema DEI,TA 800 Centralni procesor Centralni procesor Je povezan na Delta sabirnicu kao subslstem i kontrolira njeno vr-emensko uptwlJanje, izvršava logične 1 arltmetiEke operacije te dekodira instrukcije . 1)800 Je paralelni binarni 16 bitni sistem opče namene sa mogućnošću proširenja memorije do 4 MB. Ima zaštićenu memoriju sa osobinow relooiranja, dovoljnu brzinu te hardversko reSeno množenja i deljenja, Upotrebljava instrukcijski set koji Je subset Instrukcljskog seta D4850 Upotrebljava prema tome 1 Iste načine adresl-ranja.- Sadrži 8 festnaest bitnih registara opšte namene, toJI mogu biti ifl»trebljenl kao akunulatorl, pokazivači, in-krementalni ill dekrementalni registri. Poznaje Setiri nivoa prekida, CiJI Je prioritet određen Jedinicama na sabirnici. Svaka Jedinica Ima prekidni vektor, koji pokazuje direktno na rutinu za posluživanje prekida. Osim tih postoje i interni prekidi koji pokazuju 'na nestanak napajanja, vremenski problem na aabir»-nici, presipanje skladišta i si. Srednje vreme jednoga instrukcljskog ciklusa Je 225 nsek. Upravljanje memorijom određuje područja glavne memorije i aktivnosti; piSe/čita, samo Čita Ili nema pristupa. Ono obezbeduje rad u multiprogramskoj okolini uz rad procesora.na dva načina: osnovni 1 korisnički. U osnovnom načinu program Una koipletnu kontrolu i može izvräaVati sve instrukcije. Taj način koriste monitori i super nadzorni programi. Ü korisničkcati načinu program ne moSe izvrgavati sledeče Instrukcije: - menjati programe iz osnovnog načina, - zaustaviti.procesor, - uzimati memoriJski prostor predviđen za druge. U slučaju nulttprogramskog rada sväki korisnički program nože biti memorijaki rezidentan u svako vreme. U tem slučaju sijper nadzorni programi vrSe funkciju kontrole izvršavanja korisničkih programa, dodeljuje memoriju 1 periferne jedinice, Otnogučeno Je dinamičko dodeljlvanje memorije, koje dolazi posebno do izražaja pri izvrSavanJu programa u viSim Jezicima, gde područje nije unapred određsno sa prevodiocem. ßSQO Je oprertajen logikom, koja konstantno kontroll-ge napajanje te u slučaju prestanka ns^^ajanja liilciali-zira automatski prekid. Automatsko startanje sistema. Predviđano Je autnrjatsko startanje sistema pri dovode-nju napajanja uz obavezno predtestiranje. Procesor aritmetike Sa pokretnim zarezom Izvräava svu aritmetiku sa pokretnim zarezom 1 pretvara podatke u format sa pokretnim zarezom. Poseduje: - Jednostruku/dvostrüku preciznt»st (32/64 bita), - fleksibilne adresne načine, - Sest 64 bitna- akmulatora, - otkrivanje greške. Brza memorija To Je mala brza memorija, koja kopira izabrane lokacije glavne memorije zbog bržeg ponovnog pristupa instrukcijama i podàcima. Ke^^siteta je 2 KB brze bipolarne memorije. Glavna memorija Kapacitet je 4 MB, a sastavljena Je od 4 modula po 1 MB ili 16 modula po 256 KB (zavisno od upotrebiJenih ele-msnata). Sablmlcs Delta sabirnica | To Je dvostrana asinhrona sabirnica koja omogućava ko-rojnlkaciju Izniedu bilo kojih Jedinica, koje povezuje. Sastoji se od adresnih, pcdatkovnth 1 kontrolnih linija Maksimalna brzina prenosa Je 1.9 M bil/sek. Memori jska aablmlca Adresnim, podatkovnim i kontrolnim linijama povezuje memoriju i procesor (cache). Instru'^cijskt aet InstrukciJSkl set sistema D600 Je subset Instrukcijskog seta sistema M850, ön je tako izabran, da korlstu svu fleksibilnost registara opSte nanene 1 za razliku od standardnih sistema ima unesto tri kl^ raaliänih instrukcija za sve operacije samo jednu klasu. Ufiotrebljava Jednostruke byt-ove. i dvostruke operande za reči i Tipovi podate Instrukoijski set sistem D8(» upotrebljava širok spektar tipa podataka, kao Sto su: - celobrojnl podaci i podaci sa pokretnim zarezom, - Edfarumeričnl nizovi, - pakovnl i nepakovani declrmlni brojevi, - uređene liste podataka, - podatkovna polja promenljive dužine, - specialne podatkovne liste. Sistem D800 upotrebljava instivkolje formata promenljive dužine i koristi osam naßina adresiranja. Upotrebljava sve standardne tipove instrakcija (logiCne, pomeraCke, konverziona, bezuslovne, string te razne in-atr^icotje posebnog znaSaJa). OPERACIJSKI SISTEM DELTA/M Softversku podršku sistem D800 ima u OS DELTA/H. Da bi se omo©iSila korrpletna konpatibllnost,uključujući i razvoj DELTA/h softvera na DELTA/V sistemu, Inplementirano je sledeće; - hardverske podrSke instrukcijskog niza. Sto cmogučava prenos programa sa DELTA/M na DELTA/V sistem, - sistemske usluge, sama konpatibilnost instrukcija nije dovoljna za prenos programa sa Jednog sistema na drugi, ■ jer programi upotrebljavaju drukòije sistemske usluge, 5to. je neminovno kad je u pitanju drugi hardver. Delta/V ostvaruje kotpletno reäenje tog prdblema, tako da za vreme izvođenja programa konvertira, sistemske usluge Delta/M, u ekvivalentne Delta/V, - komandni jezik da bi se pružila joS konpletnija koipatibilnoat i la- TERMINAL MATRIČNI TISKALNIK, PARTNER 1» KB koniolhi ttrminal v. V cpe celta »00 m mu h ffp .cache O O o o o O K fMODEH ^ r jmituill uliuuiiiu o o"l- KOMUNI«. kontrol. eno ta kohunik'.c procesor m (Ü3- vmesnik u tiskalnik vastiìnì tiskalnik Sr»EAMEH za MB 160 Hfl ^SIHMROMA KOMUNIKACIJA t D 400, O 17 K* gani pi:enos programa iz Jedne' u drugu okolinu. Delta/ /V podržava komandni jezik Delta/M c^jei^aciljskog sls-■ tema. ^ Ovaj pristup omogućava i prenoäenje programa,, prevodioca, editora ltd. sa delta/M na Delta/V sistem. Reglatrovanje greSaka Automatski ae reglgtririaju sve greÈke u radu hardverskih konponenti za vreme aktivnosti sistema.. Zažtlta programa 1 podataka Zaštita s^tema, programa 1 podataka je ostvarena na aledeći na£in: - kvote 1 privilegije,. koja au dodeljena raznim korisnicima, oalguraivaju da neovXaätenl korlanlcl ne mogu Ugroziti integritet sistema, - kriptirane lozinke osiguravaju, da loalnku zna sam korisnik kojem caia pripada. Sistem drži saino kripti- ' ranu lozinku i nljo moguće dobiti original, - datoteke 1 procesi imaju zaštitu prema korisniku, njegovoj radnoj Biatemu I ostalima. Korisnik sam definira dozvolu pristupa svom procesu i datotekama svakom od navedenih kategorija. C^racljskl sistem DELTA/M ! Delta/M operacijski sistem podržava veći broj programa i koristnika u Isto vrate. Do^ljlvanje procesorskog vremena je također bazirano na sistemskim događajima, koji mogu biti haidver^i ili söftvereätl. Sistem je na-äelno baziran na disku, ali postoji 1 verzija Delta/S, koji Je rezidentan u memoriji. Delta/M hardver ne dozvoljava zadovoljavajuću iirplementaclju straniöenja memorije i stoga'ne podržano s^ seanentiranje memorije. Itedijtlrn riEhanizmom svapihga je postignuta mogućnost Ì3-. tovremenog izvođenja vläe programa nego Sto n»ž6' da stane u fizlfku memoriju. Delta/H operacijski sistem ćine sledeči elemenatt: - jezgio operativnog sistema, rutine i strukture koje Iniciraju i kontrollSu izvo-. denje sistemskih 1 korisničkih procesa 1 pružaju In-terfejs na hardversku 1 softversku okollrru u kojoj se Isti izvode. - ■ . I ■ - U/I podsistem, ' skup rutina 1 struktura koje u saràdnji sa jezgrom omogućavaju procesima pristup do periferija. - .91 Li I «nski procesi, . pi-lvileglrani procesi koji u suradnji sa Jezgrom i U/l podsistemom ostvaraju određenu strukturu na periferijama na koje se odnose, - pomoćni programi, ti programi omogućavaju stvaranje okoline za razvoj 1 održavanje progransa, podataka i slstana, Navedeni elementi sistema su organizovanl u celini koja izuzetno efikasno Iskorištava mogu&kistt hardvera, Ta celina pi uža sledeću okolinu; Kori sni gkl proces Svaki proces u sistemu Ima svoj kontekst koji ctetentil-n3 ra; - stanje procesa, - hardverske 1 softverske potrebe procesa kao što su periferija, datoteke, komunikacija i zauzeće memorije.- Veličina a^sirane nemorlje- u procesu Je hardverski ograničena na 64 KB ail veličina programa koji se izvodi u sklopu procesa ne podleže tom ogranifienju jer svi delovl programa ne moraju uvek biti adresirani. Ti delovl prograna se adresiraju na dva moguća nažina; - dt^ sé u meirorijt i sistem m^ira proces na njih kad su procesu potrebni, na taj naEin može i više procesa istovremeno upotrebljavati zajedničke rutina odnosno podpr^rame, '- drže se na disku 1 unose u memoriju po potrebi. Način adresiranja korisnik specificira sam, a sistem . izvodi automatski. Proces im dostup do periferija preko svojih logičkih■jedinica, a ostvaruje ga sa posredovanjem jezgra odnosno,U/I podsistema, koji vrši proveru radi očuvanja integriteta sistema 1 ostalih procesa. Procesi slnhronizlraju svoj rad sa okolinom i ostalim procesima pomoću dogadajnih varlabll koje mogu biti 1 zEijedničke odnosno globalne. Dodeljivanje procesorskog vremena . Itodeljlvanje se vrši preko - prioriteta, - izkazane potrebe na osnovi događaja u sistemu (U/I operacija, vrednost dogadajne variàbile, ltd.), sistem sam prouzrukuje dogadaj ako Je to potrebno da bi ravnopravno razdelio sistemske mogućnosti medu korisnicima sa Istóm prioritetom, Dodeljivanje memorije procesima Kad je procesu docteljeno procesorsko vreii® može doći do .■sledečih situacija: - proces se nalazi u memoriji, taj slvočaj je najmanje problematičan I proces može odmah nastaviti sa Izvođenjem svog programa, - proces se nalazi na disku, u tom slučaju se proces mora pivo pročitati sa dlaka u memoriji. U sluSaJu da nema dovoljno memorije na raspo^ laganju, sistem kanpaktlra slobodnu memoriju 1 ako je to potrebno preseli procese sa najnižom prioritetom na: disk, proces kojem je dodeljen procesor se uCltava u slobodnu memoriju 1 može odmah nastaviti sa iavodenjem svog prograjna. Ovde se mora Istaknuti, da Je preselja^ vanje procesa u memoriju 111 disk .isključivo u nadležnosti sistema i da procesi nl.sù svestni, da je njihovo procesiranje bilo prekinuto. KoBunlkaclJa lamedu procesa Sistem oniogućava potpunu slnhronlzaoiju 1 komunikaciju medu procesima. To je ostvareno preko sledećih mehanl- T Itnplicitne komunikacije preko zajedničkih podataka u ■ mamorlji ili u fajl aisteriiu, - sliinjem i prlmanjeni poruka između procesa, - operacijom preko događajnih variabili, koje dobivaju vi-tìdnost: pri događajima u sistemu, na primeru U/I operacije eksplicitno upotrebom sistemskih uslugaI KomunUcactJa preko raSunaraklh mreža Komunikacija preko raäunarskih mreža je implementirana , na svim nivoima u operacijskom sistemu. Sistemske usluge Sistemske usluge u Ime procesa obavlja Jezgro, Integritet jezgra je hardverski zaštićen, tako da greäke u procesu ne mogu ugtxaziti Integritet Jezgra odnosio sistema u celini, osim u sluSaju, đa Je korisnik ovlašten za takav pristup sistemu (privilegiran). Sistenske'usluge se mogu razvrstati u sledeće kategorije; - kontrola izvršenja procesa, te usluge omogućavaju iniciranje, zauatavljfflije ltd. vlastitog i ostalih procesa u sistemu, - kontrola stanja pivcesa, omogućavaju menjanje prioriteta i drugih uslova koji utiEu na dodeljivanje procesorskog vremena 1 memorije, - informacije, ove usluge proces koristi, da bi od jeagra stoblo in-fonnacije o stanju sistema i procesa, koji se u njemu izvode, - procesiranje dögadajnlh variabili, cnogučava procesu, da se sirihrwiizira sa vanjskim do-gadajirna kao što eu U/I operacije i starce ostalih procesa u sistemu, - kontrola prekida, omogućava procesu đa prati, kontrolira i presretava softverske 1 hardverske prekide, - U/I usluge ontogućavaju procesima sledsće operacije: povezivanje sa logičnim Jedinicama, odnosno periferijama, izvršenje loglönih, virtualnih i flziSklh .U/I operacija, povezivanje sa hardverskim prekidima, povezivanje sa procesorom komandnog Jezika. Ove usluge omogućavaju: - prevazllaženje hardverskih ograničenja u velieinl adresnog prostora procesa, - upotrebu 1 stvaranje zajedničkih rutina, poi%>rogrema i podataka, - komunikacije Između procesa, - operacije na računarskoj mreil u kojoj se nalazi sistem. Fajl sistem 1 dostup periferijama Procesiranje U/I c^raclja se sastoji od rutina, koje omogućavaju direktan pristup periferiji kao i od programa koje toj periferiji daju generalizovanJu fajl strukturu. Na fajl strukturi se datoteke mogu otvarati, ćitatl, pisati, zatvarati itd. Tako Je onogućena 1 zavisnost i nezavisnost procesa od periferija,-koje upotrebljava. Jednostavno su ostvarene asinhrone operacije na periferijama, tako da se U/I 1 procesiranje mogu preklapati odnosno vrSitl istovremeno. Fajl sistem Je sastavljen od direktorija l (tetoteka, koje se u njima nalaze. Fajl sistem podržava sledeće organizacije podatalkat - sekvènoljalne relativne - indeksne sa sekvenci jalnim 1 direktnim prlsti^om do slogova. Baze podataka Sistem i^jravljanja bazom podataka podržava mrežnu organizmi ju kao i direktan dostup fajl sistemu. Jezik za definiciju podataka podržava: - Seme, - podšeme, - skLfpove. Jezik za rukovanje podacima omogućava jednostavno Čitanje, brisanje i održavanje baze podataka. Uz program za tpravlJanje postoje I pomoćni programi za; - kreiranje Sema, podSema itd., - održavanje baze podataka, - administratora baze podataka. Baza podataka Je kcnpatibllna sa bazom na slstettu Delta^ /V. Komandni Jezik Komandni jezik Je jednostavan, konsistenten 1 veoma 51-rok. ChoguÉava potpunu kontrolu nad delovanjem sistema, procesa koji se u njemu Izvode 1 pcdataka koje on obraduje. Komande omogućavaju; - potpuno interaktivni razvoj programa, - operacije sa periferijom i fajl sistemom, - interaktivno iniciranje i kontrolu procesa u aistetru, - komunikaciju sa ostalim korisnicima sistema, - pomoć pri upotrebi komandi. Komandne procedure Komandna procedura Je datoteka, koja se sastoji od'komandi u komandnom Jeziku. Komande su povezane jezikom za komandne procedure te se Izvode na naSin sličan pa-ketnoj obradi, Komaidbie procedure mogu r^treblJavati sve mogućnosti komandnog jezika. Razvoj 1 održavanje programa Delta/M operacijski sistem koitpletno podržava okolinu za razvoj programa, koju se može razdeliti na sledeće: - editori, editor za programe, koji iskorlätava eve mogućnosti video terminala, editor za formatimi je dokunenata i drugog teksta, - programski jezici, podržan Je veliki broj Jezika: ASEMBIXH (najviše za sistemske programe), COBOL (za komerolalnu obradu podataka), BASIC (za jednostavnije programe, koji se brzo pišu), POKTRAN (za kalkulacije), PASCAL (za algoritme), - linker, linker Iz objektnih modula stvara kopiju procesa, koja se čuva u fajl sistemu i može se uvek Inicirati iz komandnog Jezika ili procesa. Linker obavlja sledeće operacije: - definira virtualne adrese u programu, - razreŠava medumodulame reference, - inicijallzlra fajl koplju procesa, - podržava Jezik za raspodelu programa u delove, koji ne moraju Istovmneno biti mapi rani. Delovi se drže u memorijt ili na disku (po specifikaciji). 1 sistem se dem brine o pravovremenom m^lranju. Na taj način se crevazilazi hardversko Odranlčeale o vir- tualnom adresnom prostoru, • ■ - stvaj-anje zaJedniEklh rutina 1 poc^programa; Program za Interaktivno otkrivanje, lociranje 1 odstranjivanje grešiika u progranilfia. ■ ; Pomoću ovog programa mogu.se brzo locirati i-odstraniti el^3šl^e u programima. Podržane su sledeće operai je prilikom izvođenja programa^ koji'se testira: - zaustavljanje na bilo kojem meatu u programu, - referenciranJe adresa 1 registara u progranu, .-Izvođenje pragrama instrukciju po instrukciju, - promena redosleđa izvođenja inatrukolja, - proineiia vrednosti blip koje adrese ili registra u programu, - promena instrukcija u prograniu, (' ' ■ '. ■ Bibliotekar . Bibliotekar podržava aledeće biblioteke: - aseinblerske module, . ' - objektne module, -■ univerzalne module, Blateni za upravljanje formama Sastoji se od:. ^editor za ekranske fonre, - biblioteka ekranöklh forni, - drajver za ekranske forme. Pomoću formi se dlfenlra izgled ekrana i polja, na kojl-iia se vrSl .mos ppdataka. Drugi pomoćni programi Postoji glrok ^ktar pomoćnih programa, koji uklanjaju potrebu za pisanjem programa za izvršenje Čestih cpera- ci ja: - paket za.obrafiin upotrebi jenoati sisternsklh mogućnosti (memorija, procesorsko vreme, U/I itd.), - procesor za određivanje lozinki, privilegije 1 dlrek-torlja, . . i ■ - program za arhiviranje i kopiranje diskova i maffietnih traka, , i - program za transfer datoteka na druge medije i operativne sisteme, - program za održavanje direktorija 1 datoteka, - program za Instalaciju novih sistemskih procesa, ; - program ža kontinuirano osmatranje procesa, memorije, periferije ltd., - program za slanje poruka medu korianicama,. - program za editit^Je u paketnoj obradi, - program za popravljanja objektnih modula, - program za popravljanje fajl kopije procesa,. - program za Ispitivanje spiska otkrlVKilh gf«žaka, - paket za generaciju sistema, - program za formatlranje di^va, - program za otkrivanje- 1 oznaćavšnje nei^iotrebljivih blokova na dial^, -program za verificiranje fajl strukture, - program za spašavanje datoteka iz nekonzistentne fajl strukture, - program za sortiranje, - program za analizu 1 konverziju datoteka, - program za pregled datoteka, - program za pravljenje liste referentnih slpibola, - program za upcređlvanje datoteka, - program za ispravke fajl kopije piwesa. Kontrola reda čekanja na stanpač Drži se red z^téva za štampač, a z^tevi se Izvršavaju jedan po Jedan, da še ätanpanje ne bi meäalo. Korisnik ne mora Čekati, da se ätanpanje zavrSl, već može neo- . thetano nastaviti r^. na sistemu. Registrovanje ereSeika Automatski se reglstriruju sve. greške u radu hardverakihj !«ottponentl za vreme aktivnosti sistema. Zaätita programa .1 podataka , Zažtita korisnika i sistema je ostvarena na sledeći način; - korisnik ne može ugroziti sistem, ako tnu za to nije dato ovlaštenje, - kriptirane lozinke osiguravaju, da lozinku zna samo korisnik, kojem ona pripada. Sistem drži samo krlptl-ranu lozinku i nije moguće dobiti original, - datoteke i procesi imaju zaStltu prema korisniku, njegovoj radnoj grupi, sistemu i ostalima. Korisnik sam definira do2volu pristupa svojim datotekama svakom od navedenih kategorija. Komunikaciona podrška na računarskim sistemima ■ DELTA .Prateći svetca kretanja na pbdruSju raiSunarskih mreža, ' 1 prateći zahteve domaćeg tržišta,Iskra Delta je-obja- ■ Vila u svojem proizvodnom programu niz produkata vezanlhi •uz ovu problematiku. Komunikacioni produkti Idicra Delte dele se u sledeće kategorije: . - programski paketi za komunikaciju sa računarima drugih' proizvodaža (IBM, CDC,.UNIVAC ltd.), - programski pEÜ<®ti za komunikaciju inteligentnim tei^ ; mlnallma, - programski paketi za realizaciju meduraBunarakih mreža. ■Komunikacije sa ragiinarima drugih proizvođača U ovoj oblasti programski paketi pokrivaju uglavnom emu-laclje određenih uređaj« drugih raCufiarsklh sistema. Pri tane Je kod emulaclje nastojano postići ćlm bolju iskoristivost mogućnosti arhi tekture Delta sistema. Elnula-tori se uglavnom dele na (:tve klase: - emulatori paketne obrade. - emulatori za interaktivan rad. Za svaku od ovih klasa postignute su bolje funkcionalnosti od originalnih uređaja i to sa aspekta korlätenja' . U/I uređaja na Delta raSunariiria i mogućnostima proSlre-nlh programskih etadaclja tastatura,- ekrana 1 si. Bitna karakteristika je mogućnost prenosa datoteka- (1 ajtomat-ska konverzija) za protokole 1 uređaje, koji to ne podr- , žavaju u originalnim konfiguracijama. Ka ovom podruSJu veoma je Intenzivan razvojni program u lekra Delti i to na sledečim zadacima: - iitplementaoija prenosnog protokola X.25 standardu i prilagodavanje logike protokola budućoj Javnoj mreži u SFRJ, - inplementacija programskog oknjženja za bazu podataka, koja će transparientno delovati u celo J mreži, - razvoj funkcionalnih specifikacija za Inteligentne mrežne kontrolere u cilju poboljšavanja propusnosti centralnih sistema, - lirplementacija veznog inodula za raiSunar^ mre^ dmglh proizvođača. Komunikacije sa inteligentnim terminalima U ovu grv^üu dolaze progratn^l paketi, koji oiKjguĆavaju manjim računarskim sistemima korištenje svojih Idealnih funkcija i integraciju rezultata lokalnih obrada ili transakcija u centralni računarski sistem. Funkcije,koje su ovdje realizirane sli: - emulacija originalnih "Delta" terminala, - prenošenje i konverzija datoteka, . - komuniciranje između progranä. Prlinena ovih paketa svodi se uglavnom na: - Inteligentne bankarske ill slične teminale, - povezivanje sa procesorima teksta, - povezivanje sa "Delta" mikro računarima. Računarska mreža Paket za realizaciju račinarske mreže omogućava kontmi-kaclju medu računarima istog hljerartiijskog nivoa, vezanih u proizvodnju topologiju. Funkcije, koje paket omogućava su: - automatsko transportiranje podataka i funkcijskih zahteva (routing), - komuniciranje između programa na dva raSunara, - emulaclja Idealnog teminala na udaljenom raSunaru, - prenos datoteka između dva raČunara. Pri gornjim funkcijama pođrazimjevaju se bilo koja dva ràCunara u mreäl (nije važno da su susjedrU.). veCopravilna tehnika v edx okolju v računalniku ibm sistem/1 kratek pregled UDK: 681.3-181.4 t0ma2 erjavec INTERTRADE, TOZD ZASTOPSTVO IBM, CENTER ZA RAZVOJ PROGRAMSKE OPREME Sisiähavek opIüuJ« naiJ^or' opritvil v vefu»orabnidkc-jm večomraviIriem opera -c:U?it ki v na daljnem beisedilu iiploh ni omenjen- Zato na tem mest» nekaj besed o Enx in jim..., l-vent Driven Executive ( 1J(I3 il d k i> vno !.jri»ni i.jva-Jalnik ) je «peraci Jski sistem» ki teiän« sodeluje z t:vent Driven Lanauase ( Dog od k i) vnu snani jezik). Že njuni imeni Pinjdarjata, rta bodo vpleteni procesni elementir doBodki,- simulta-no<»t akcij itd, V EDX <;e nahaja ja 'emulator', küteresa rutine izvaja j d instrukcije jezika liiDL. Z njimi lahko posedamo dokaj sloboko v operacijski sistem, F'"« tej plati je E;DL intei— Prtster, Toda prosjrame» lril<:ijuCna I I kwr tiica JJ :i I y/I 1 I naprava 1 I I J naprava 2 I X I t>f'iključna X X ki«rtjc.a X I :c I v/I I I natifava 2S(4 X X I Slika 1.« Arhitektura Siistema/l 3. Osnovni konreot F'ROGfiAM / OF''fi:Ayit.O Doravi I p ,7© oisnovna enota dela^ (tr»3ano novu opravilo, ita imenu demo sekundai^no opravilo in ne more avtomatsko dot3ltl nadiora procesorja. l..p-teaa mu pretikrbi prosramtìr / definirandom točke, kJer nad neko ištjkundarno opravilo vstiipi v dogaJa-nde. Opravila lahki» vistopido v sistcM preko profjra--mov, t . . 2) ..3 > 4 ) 5> Slika f FJazPOfßditvo priiaramoC'/ooriivil v «Odinilniku J^fa sXlhl so «Pisani fiaiiledn j i pr-i.titisri : 1. .y POKinilriikij ■ d® tpn gatn prosraniF ki n,l«a definiranega nobeneaa sehiiodarnega opravila. U sistem" je eno. Brimar-ho opravilo.. 2.. Edini program ima de-Finirani èe dve sekundarni opravili. V sistemu "je eno primarno opravilo in dve sekundarni.. . 3, U poMOilniku so. Štirje programi. PFfDG-l ima (Sno Primarno opravilo. Pf?Oß.2 ima dru-ao itrimarno opravila. Prow.TJ ima tretje . . Primarno opravilo . iii ée tri sekundarna ■ opravila; PRnß.4 ima Cétrti) primarno opfa-: vilo. ■ Če ie.pROÜ.S ahtiviral vraa tri. ise-- kundarna opravila» .ie v sistemu sedem eria-. kopravnih ooravil (odvisno - od Pi-iorite- ■ te.). „ ' . /•- .PRpß.l ima; (>o1b3 ■ primarneisa opravila ■ dve (sekundarni. Primarno opravilo je pok-, licalo PROti.a v rjomnilnik .in aa posnalo. PROB.2 , ima , polea pr imarne'fia Se eno sekiin-. . dar.no onravil«. NJegov-o tir imam» onravilo • je pokliiralo PROG,:i-in »i>; »oanalo. PR0CÌ.3 , ima utitanju pro.grama . s« vsa. «pravila ter«; stanju. . Punkcija . ATTACtl seznani sistem o .. '. . obstoju . opravila in-sa poiene. Od tu dalje. se iopravil« bar i . z/ostalimi -«piravili . ' . la nadzor prbrešorja. Po ilvedbi fuflkcije attach se opravili» nahaja v Knem »d nas-l - ledh jih-Atirib Btan J. ^^ ' '. . 2. PRlPRAVLJENOs Opravilo je pripravljeno la : uporabo procesor ja r ; k i .-pa trenutno dela ' druöim . opravilom. - "J- tem stan Ju oe.-lahko ,-poljiibfio Število : opravil. -Ko je (irotesor , ■ . prostv- nad/orni »r OBram- n>v 'osnovi prior Ir^'. ; tete ; opravil :d«l«iii; .katero od opravil ,PO ; prišlo v aktivno stanje; •..'.,'..: ' ■ ; V . ■ - " - . " • : . ■ ' ^^ ■ . ' ■ - ■ - ; .t 3. AKTIVNOi Opravil«, je' ria najviSji priorite- ; ;rj ti na svojem str o jnem. nivo jti. Nima Äe nad-lora Procesor ja.f' . ker.', obstaja na nitjem-^^ strojne« nivoju opffivi-Io r - ki ima prcclno'it (nižji strojni- nivo ima prioriteto Pred ■ Vifijim), -v;--: ■ -.^v:..-^-- Oor^viló ima natì/or procesorja ; ' Ima na jviSjp isriori tetó na' ' svo jem. strojnem -nivoju in na nobenem niljem M strojnem- nivoju "ni notiii'iieaa. : ouravi la v v ' stanju AKTTUNO, Opravilo ni. pr'ipravl Jeno t.a . na da: or procesor ja. ker ćaka ha nek doso- ''> dek ali pa na doüitop. do nske naprave',. : ; ':. : .Za .; preklupl janjč stanj /nekesa- opr-a.vila. so;,ria voljo nadiornK funktrijia^ iki delujejo Po naslednjih pravilihs^-- . Nadzor nad opravili opravilna , tehnika je .po.trtjhna pri tirnara-" fflih»' tli .-zahtr^vajo vzporedno i;:vajanjB različ-. fiih naloa,.' Vsako «Pravilo rae .iz vil ja rujdiivisno «Il ostalih. opravlI-ir) se 7. njimi bori za firoce-Sioriiiki nadzor po principu-PII-0 (-First in fir;r>t out) v' okviru prioritete- .Ker toi! e jo ooravr'la - ni?oilvi(ìnor otiBta ja Jü nai:)a:(irne'fijn({i:ÌjBi. !;ì katerimi je mof'.-sinhr on'itirati dOHd .(.'ifi-ü?. Üb virali em ■ k :L i cu-1 a kl?' -fu n k c: i j ci • sì? i' i va ja n j i«^ o p r ü v :i 1 a - pr-ekinei ' i zved.e rie -Punkcija. ; .nakar' rifidüorni p r' o 3 r li m « d 1 o (': i V ' k a ko b o. s' n a d a 1 j n-J e o ti r' a vn a va I prekinjen» «pravil»,'- Kiit rezuj.tat «Menjfnes pr« -cfeduri? ..se opravilo .lahko nahaja v nai:;--ledrijih petih stan j«;' •.. ATTfiGH preklopi »pravilo iž atah jà OtiKLOP-i L.JE:N0 . v stanje PRJEPRflVUJENÓ. .Ker opravilo: ne more, dvakrat laooredoma preiti v pripravljeno stanje, -Funkcija ATTACH vsakič testira TCB. (Task Control Slock),- ali ni opravilo morda.ie,V pripravljene» stanju. V taken slučaju ,.se ne'*90dl nič- nadzor pa je vrnjen opravilu, ki je. izdal «.funkciji)' ATTAfiH. Če:. Ima -,, klicano, . OPravilO prwdnoatno prioriteto pred' kličočim opravilom. potem je klič'oče oprevilo-.prekinjé-' no in Postavljeno ria. sklad pripravljenih . Opravil v isvoj:i prioritetni stopnji» postavijo se ustrezni zaznamki : v TCEi"Jih obeh ooravllT k.lilcano iiiiravi.lo' .ie;.z.axnamo-v.ano kot, . pripravljeno' _,in ■ 'n.'>dipr-:isrBdan nad/or'n'emu Ffroarsimu, 'da ' postavi ' klicano •opravilo v aktivno;-stan jI»'' ( ker.fiMa- viS.io prioi-itKto ).' .', , ■ --•', ' 'V 12 2. DETATCH preklopi opravilo iz stanJa y IZDAJANJU v stanjé ODKLOPLJENO. Opravilo lahko odklopi samo seber ns pa nekcaa druse-3a opravila. Funkcija DETACH iiveda funkcijo POST za 'end ECB* (Event Control Block) odklaPljanesa opravila. Ta zaznamek PDve> da je opravilo odklopljeno, Vsa opravilar ki fakaJo na ta dogodek v stanju ČAKAJOČE, so preklopljene iz Čakajočega stanja v stanje PRIPRAVLJENO. Po zahljuCku funkcije DETACH se nadzor ne vrne v opravilor ki jo je poklicalo. Če je kaaneJe ponovno izvedena funkcija ATTACH za to opravilo, se. livajanje nadaljuje na instrukciji, ki sledi instrukciji DETACH. 3. UAIT in ENH funkciji imata Pudobni storitvi. Prva povzrofi čakanje neke»a doaodka, drusa ieli ekskluzivni nadzor nad neko napravo- Če ECB (Event CDntr potem s<9 samo prvo čak4:joče, opravilo na skladu čakajočih postavi v stanje PRIPRAVLJENO, Nadzorni prosra« nato na P odiasi prioritete preklopi net»-, opravilo v stanje AKTIVNO. (Ipisane funkcije in njihov vpliv na prehajanje med stanji so shematično predstavljeni na Sliki 4. S. Sinhronizacija opravil Nadzor nad stanjem opravil ee vrSi preko nadzornih blokov. Nekatere od blokov generira sistem sam, druite definira uporabnik po potrebi. Vsako opravilo ima avtomatično, priključen nadzorni blok opravila TCB (Task Control Block). Nadzorni proaran sa uporablja za izvaJanie svojih funkcij. V njem so zapisani vsi trenutni parametri in status nekega opravila. Pole^ parametrov vsebuje tudi prostor la shranjevanje vrednosti reoistrov ob .prekinitvi in delavne lokacije. Pfidobljona strojna prioriteta I izgubljena I strojna I prioriteta I ->1 V I----1 IZVAJANJU 1- -I 1 DETACH I I. AKTIVNO I 1 I I ODKLOPLJENO I I I I I I izgubljena .I prioriteta I opravila ---- -------------PRIPRAVLJENO K- I I I V I 1 WAIT I I V I I I 1 ENB I V I ČAKAJOČE I I 1 POST pridobljena prioriteta opravila k — deq LOAD Za»on prourama postavi primarno -- opravilo v stanje PRIPRAVLJENO Slika s Prehajanja med stanji «Pravil TECB (Taok ttvent Cónthól Block Status: utr«,frttsoa nlwqJa«' ■ - proaràniBk;l ètewik - k.ijuč, (>ar't;li:i.Jé '• . ■ tìtàtuàna' b«)»«d.-i nivoJ» Vrednosti reslistrov ob , ppekiLnitvi ■ aia RO do IV7 ., ' ' , SttjviXh» Btr«jftB»a tilvodd Prioriteta oornvila Kazalec. In kl.liii: particiJq xa, naisilednćakado^iV opravilo lECiB (ITvont Control- Block ) ita zahlJuä<9k opravila ProurttMöks indekmon r'offlatra opravila,- «1 in Kazalci, resištri in ECB za uporabo Caiäovnika .( timer ) Ka«aÌoc-nii ■ nadzorni blok tE>rmlnaln»L.enote L.okaclJa vfiitanJa prorarama Zaznamki opravila itd / > I —I I ■ ti; ■ 1 -—I X I i —■1 1 -—1 . I, —:i I I ■ ■ X- ■ I —I ■ rI ". i 1 1' I I —I I —I 1 . '1 Blika 5.» podatki iz Had- zornesa bloka opravil ' -. . . ' , ' ' Nailzurni proBra« podpira-,šinhronizacia« in nadzor nad opravili z iia-inanJanjem'do£!odkov, fiaka-n,ie« na douodker' brisanje«, informafride « doaod-kur Jemanjent in nproit^anJem «»ktskluzivne^a nadzora fiad noko realno ali abstraktno naprav«. OCB in ECB ,, ; V otierac:i.ii»l«SM !»i«t«9miJ piX 5« realne, ali ab-, ütraktn» - naprave in douodkl prtìdiftaVUeni z nadz in poetane ndésoy Rkskluiivni lastnik. ^^ ,-tem štandu outari« vtäe dokler nra ßorouti nCB-da naprave s funke i,in ICQ ( dequeue >. Opravila, ki, -»i ielido priuvoditi zasedene OCB. morajo »reir ' ti . .y 3tan,f» ČAKAJOČE;/. Postavido se v F-IFC) • sklad Cakadočib za QCB. Ko prfsdžnde onravilo BProrati . QCB, »a zasede opravilo, kl naJdald ie liaka nand, č.(3 »a v ishladu ni nobenetva čak'a.io(!:e~ . sa, postane CtCB spet prost, nCB SBätodi Iz treh pold. y prve« de informaci- i da o zasedenosti, l.* drufsem de kazalec na sklad i. fiahadoCih. Kaie na'tisti .tCB, ki bo prvi na vr~ ; sti. y tretdem de kazalec na'TCB trenutno ak- ' tivheBH opravila, ki ima v lasti HCB. poyi9zaya tiiEid OCP In TCB-di de prikazana na sliki 6, . ' ; • t QCB 1 laiseden/proBt I I naslov in klduC I I particide prve- II sa Cakado£e»a .1 I . TCB-da" I -------------i I naslov'in ,kldijć I .1 particide last»- i I ni k« BCB-da I I I I ■----->1 I. TCB (aktivni) informacide o opravilu TCB 1 informac idö o .T opravilu ,,, I—--—-------------------- I naslov in 1i( cJCJti. ciu «m-ri -v:i l« i!iil(j Ili) iluortiJu'h « kil t IM'»Hrt lrl.:ii ni Mdviiri» Ml) iM:it;ikvf.> iloliliM' rtofoi ni>r'iw:llo /ii/ ' iiiimuJc' t;'(:;i:< ■ .iib. ('^ui tnn*.«.' ooriivi:!« ('.iikal, l <(a<.)0-(lek K ki «it» .ic; }.(> /■iiiili i.I r tnt^cf onrMvl lu riiinfit.i, l^it.ci^:! u uuiMv:!!! > hI ^iikfk ix.'k iIì):ììiiIili>'-n I). '■■''Ii vi:it,>l;ni,it.< livH nulJt,, Ccvii Miil.it.! viiieliuJ« in-Cormitc,. i .io ti«i.1iv:ll r Icl, i^AhiiJi) n1 ha.1(1 HA dimodoh, Uurtk TCB vwotoij-rifiMfort isii:t.t» I» kftin hl.luftofti (Hiftic:!--Jh 7ii naiiilc«r . I NIVO n-ii.iminpaaraKt.sHdtl^T ' ' ' I 1 poridvl. ,Ji.'(Ki /ii II ^vo a w * PüliovlJc^iin oiLvo 3 :[ I Utisttinpiin di HU lu BruniJCIUBEnBIIPRBI n bi CL IJBEI sri linnacilRgirKBIEBttKl Bil BH BB;ttf ßlilm e» Bhcmrt tabislij AKTTVMT/PRIPRAVUiiCNJ o: P I zAznamiüh I ilufMiiJkii ■X--------------------------- I k ti J il lei: :l.n k 1,(1.1 i! niti-'l li-ci.iM /a «Ni-kiiJotM Tt:;u X I J t t rc» V):>f' i !.i H £ I) h il .J o 71:; Ki TCH-Jovf na f:i:B 1(1 ->:i: :[ :t-:[ t ■t I I informileIJB T<-I o iipriiv:Llu X X kn/ftlei:« O I X to Jb ItiX I I ZiiiJnJi TCB 1 informacij«.? o opravilu hiiziitcšM: in kll.iijč (trtfti-/a ćii-ka.ioßi TCB opritvilo v lahliidu p» pntstiint» prvi», (!;» ir.tii iiii niv«.Jii iihtivn« it» vaa.l eno ur'iPrnvTJerici onravl"-Iof in fta irti! iilctiviii) prioriteto «d pri- pravi Jc^ntjua r piiti?m ni fMit.ri-'hna rtnbon« »tori-tev. fte Imii prioravlJen« opravilu »nako aXi viftJo urioritoto» potwm Je n(ivj:r»^eii« prekinitev pruiilaolJan.Jtt or>rav:llL. Jflfi.-ie opravil ßtütuo ahtivnpaa opravil« siu fährani, Owrnvilo B(? prestavi v ak.ltUJ nnravil i i is t. o prior :l t Nato o kopira nivo.iiski etati.imnl bXok OFtriivlIo v lilroJrti» ri33iijtre o.lvoJ«. filtro.fni nivo w or.ivimi vrKxJ-iKUjtmi v rfsaifltrlh išeiJaJ Saka »fitiravlJ«n r*(i kontrolo pr oc^oor Jii r «nravtlo oa .ii? v at.in.iu AKTIVNO, <:iliha 7.1 F>ovBj:«vđ titCHj RCB in TCH A, NaiJ/oroi nroaram Nili U orni k opravil deliiJ« na iitr'o Jnsun nivo Ju O. toru.j ima naJviilJo motno prioriteto. ViK»)iuJe tahfl.ii, Ui VfKiut:? opravli, ki «r.o v stanjih r'Rj:pKAVL,.II.TNn iili aktivno, labi»!;! imi) za VBiik lül.ro.inl fi i v (I vnoiä aktivnt)wa «uri» v.ila io vnii«i i>rv(-><)ii «travila v ijkliuiu nrioriwlJ(:?nih opravi 1, ra^c,'!! '/il DIVO Op na katijrem nikoli ne te- kiih <1i u.') pra»ram kot. Na<]z(irn.ik oi>ravil. VMk vnoiü veohu.ie fiaialov TCItl in fipt.(.'m mi nivo-.lu rIeluJo Upravit(5lJ urtfkinitev. Kii «ìvo.hi nalo-a o OP r il V1 , VI- ii li' n a il zor N.i i J i « r n i k u o i. r vil, Jt* v njvo.iit aktivno onravili), a n:l fiobenei'ia i>r ipr il vX .luiiewa opravila, potism tinriivitcvl J pru-kiiiitpv^^ vriu.< (i.nlzor ne« o ur'(»fin o a t(t i.vfi. opravila. Pa nolKSnciia aktivntiina , (nitf?m Jf Prvo m-inravl..feii» opriivilo ni|i>ravl.ipna v iritanoo AKTUiNO :in /api-^BafKi v tiihi.'l.o kcit aktivno. (.Irijim pr inravj .iucui Opravila r hi nt? more.i« bili oMpra vi F¥«dBn opravil« odpravl.ieno ali nadzor vr- njen nr«hinJ»jni»trnj «cn-avilii, CliJpraviiik opravil prwverir Ce nI «pravilo /.a/n-imovano taku. i:(a n<» tinu» biti odoriiv:!. Jeno, V takem urimeru .iis onravilo ijibriir.ano iz Rt.an.ia AKTIVNO ali PFSi;-I^RAVLJENO. Vim opravila ncfktsivii pros^riiivm no u/-naCena Pi'«ti odpravl.-ian Ju r karlar n.iihovo primarno opravilo izila funkciJo PRIÜßlüTOF' (konec prosrama t.'n«ko lae /.'iodi, kaiJar i&e v pr»-.'iriimiJ z,'9<» .ia prika/ana na 131 iki 9. tabela AKTiVNI/PRIPRAU. NItVO 1 TCB ( aktivni = Lsas SSMSti!3 = S=i.-B!■■?=:; =5! T nas:iov in kljut'; TCB I---- :[ akt.ivntjaa ooraviHa t naslov in Id.Jui' TCB I prJ.Brav. opr.avilla «IVO 2 I isto za nivo J -)I informai:iot? o I J! oor'rtvilu :[ sklad pripravljenih TCBlt ■ isto ; za nivo 3 1 ' , I TCB2 —---------->x informaciju o I I opravilu 1 -----i naslov I • TCF(3 y. informacije o K--- I »oravilu I J.;.---^-------■._....__:[ _ I naslov (O) I zadrijta «oravi 1ü v üUladu ---------------------- pripravljenih Slika 9.s Povezava med tabelo AKT./PRIP. in TCB skladom 7. Zakl jüffök' UPORAPLJETNI yiRI V -^HOÈSt'nih beaseli»h je bila FirediEtavl.iwri» vei^o™ pravilna tehnika v operacijskem iiimij trDX na rafunalniku Siii>tém/1. Nadzorni prosrami opera-ci.-JükKMa sisttsina upravljajo opravila pruko ta-bt3l ištanj in nadzornih bl»t(0v> ki v^iebuaejo informacijo o !iit:stutiu abstraktno definiranih do-Mudkov »ziromn naprav. Sinhnoni zaci ja opravil ji? izvedena i» čakanjem na do.yodke ali na do-štoonost abstraktnih (ali dejanskih) ruiprav. Df>ravila nriha.iajo na vrsto na podlaai nririte-tL? ter PO principu FIFO» kakor vütpPajo v veri-ae Sakadočih ooravil za iloiitop do [>r «cemor ja. Niämara vtälja poteaniti ana 1 o<3 i j o msfd vefpro-i:t3iiorski(tii sistemi in zaMt3tkom teija na iiiste-miJ/1 v obliki iVtirih «trojnih nivojev z vsemi r BI) i st r i , ki oo prioriteti uriditbivajo nadzor pfocefäorjfi. 1. IBM i3erie>»i/i Tvwnt Driven tixeciutive - Internal Deaians IHM- Corp,7 Information Development» Departmisnt '.ì7Ty Btica Raton. Florida :ì-5A32-, ITO.t . 2. rSM 13eries/l Eivent Driven Kxecutive - Lan~ EPuaae Rc?f(3ri?ni:(?j isti naslov kot pod 1.! 1901 3. IBM Serieüi/1 Event tirivèn £;X(?cutive - Studa (Suide; IBM Coro.» ßeneral Sylitems Divi-!5ion»Te!chnical Publications» Department 796, Atlanta, (Seorsia 300',ö'ö! 19130 :[[-5M Serie!S/l Hardware Studw Guide) isti naülov k»t nod-,'5.) 1979 UF'QfiAlH.,JEi:Nl SlMBDl.T Siffitfjffi/il ~ rafAiiialnik IBM S&ripß/;l V/I vhodno / izhodni Firp = first in first' out TC» = Task Control.-Block EC;» " Event Control Ml(n:k (SCB = Recioufce Control »lock . ENQ s' trn'irijGMJB DEH = De«5iJtMjt? CENTRALNA PROCESNA ENOTA DE LTA 16/B IT-SLICE UDK: 681.519.7 FRANC KOGO¥SEK J02E MATJA2, ANDREJ TREBAR, JANEZ ANDERiLE, ANDREJ DOBNIKAR, VESELKO GU&tin, FRANC KODER, mira MACEK, ALOJZ VOGEL ISKRA DELTA LJUBLJANA; FAKULTETA ZA ELEKTROTEHNIKO, UNIVERZA EDVARDA KARDELJA, LJUBLJANA Prispevek acivori o centralno prccesni enoti DELTA 1 i/BIT-SL I CE > ki J« nastala kot i-erultat sodelovsrsJs iped IsKro-Delto in Fakulteto su elektrotohniko v LJuhlJani,' To Ja m i kforroSramiran reainski Procesori ki emulira procesor sistema FDP 11/34, Poudarjene so le ^.pecififfne lastnosti emuJstorJa! srhitektura» možnosti razširitev nabora iristnjkciJ in naEini kako izkorist-iti fleksibilnost arhi-tskture zn iifoseso bistveno. veČJe EHioälJivost i ccntrölne procesne enote. Ttiis srticlB describe« « centvsl PTOcassof unit B£LTft li/EIT-SLICEi which has teen developed bu Iskra-Delta in eooF-era-tiun with Fakulteta za elektrotehniko in LJublJano. This micro-proaroitied procpsvor »a«. iJe&ifirieij ba usìritì ftMO 2900 series components to ffuiulattì the POP tl/I-i CPU. Ofila the sr-ecific feetures are emphasised ! architecture! the possibilities to expand the in-sitruction iset and the ćesci-iption is siveof an how to use all the itdvantasea of the fleni.tile architecture to achive better Performances of the central frocessor unit. UVOD DELTA lA/EIT-SLICE Je centralruä procesna ejnotr: sistem DELTrt 340. To Je cfnulaciJs CPE K'D 11-EAi kat' pomenif tlis sta enditi nepos-vedoü zamenljivi na etsndsrdniii konektorJih 7 slfitefflskem vodilu. rtihitektura enote tiELTft li/BlT-SLICE Je sas-novEinä tako I da 0ii.fJ90C-a fresi letino in hitro tvorbo fiiikroproavi-mov sa iKvsJane poljubnih inali ro instrukciJ. S tem namenom Je v enoti DEL.Tft là/BIT SLICE zajeto vesJe sa isvodbo ^ LI tepena i Je > kar Pomenii da se mikroprođraji lahko p-rekine ii'j kssneJe ređularno nadalJuJe (obravnava ishtsve za prekinitev med izvaJan-Jeff; instrtjkci^io» izvedba pi'ođrania ob izklopu ij;:irome vklopu električne napetosti in podobno). ZitJetu Je tudi vezJe za adresiranJe dodatnih 4B sploäno uporabnih registrov» v in-strukciJ&kem dekotfsrju in v vezJu za obravnavo pssti PE Je rezervirano področje za operacijske kode teh nestandardnih instrukciji Primeri takih instrukciJ so is niza 'Coieaer-fisl Instruction Set". Tu Je niz instrukciJ» ki tečeJo na sistemih PDP 11/44 ob uporabi diidatni^da CIS procesorja. PcosIraB.sko in apsraturno ^■odporo za tvorbo mikropniisiraRrCiv sestaviJsJo; Hacr« Meta Assembler (AMr4ASM) z datoteko DEFENITION FILE enote IiELTft 1 fi/BIT-SL I CE -- Proäratn za vpis v »ikroprosramski PomnilniK - ypislJiv mikroproäraisski pomnilnik mb .Uporabljena' kot podatkovni •vhodp ne kataređa so nripolJani podatki ia 'SPaS lOt tnkoJtnJl P.odatek J . ii .. pipel ina .registra . ' (F>L)t Ddiiik ' tz in«trukclJ«kBdB rasti tj t, rs (IR)i podatek 'iz CIS .PRDM-a in pada- ■ tek iz.' 2~vliodnođ3. dodatheaa RAM-a. ' Linije ,De «o uporabljene kot podetkavni izhodi' ki pó^fetJuJe virtualno' adreao enoti ss upravlJonJo■a poanilnikom» podatek ze shranjevanja ; v pomnilnik' ppekò; UnibOs vodila' in , itevec iteraciJ vmikroprosrameki- ' kontroli. Kot ■■ piidatkovrii : vhod «o DBliniJe uporablJsne v prinicrui ko ic^liiho v ALU. dostaviti podatka iz dndstneflp RAK-a. Linije Y so UPbra-, blJene lUt ; podatkovni : vhod ali iahod'., . ' U >rì!;.>?rui da äo uporabljene kot podatkovni ,vhodi so rezini poeredovani .podatki iz rSn<15i 0>; vodi lai trpp. véktor ' adrossi iR.lkroin--, istvukciJska adrešs ii AH291p i,n podatek, .is denote ss UPravlJanJe u poitni Inikoin • Ce so ioporablJen» kot' podatkovni izhodi Je ,podatek ■lahko .'posredovan, v dodatni. 2!-.vhodni. RtìHr ali Pa na Unibus'vodilo v primeru.shranjevanja v ■ Pomnilnik » . . ■ " ; ■; , 'DS MU);. K!<..rhl 2a izbiro podatkovi ki Jih . po- ''fiilja CPE ris. Unibuc ..vodiIo oziroma podatke z . Unibu® vudilii poülJe ha- SP<15ìO>.. Na Unibüs vüiJilo ■ ur» lahko .poslani-naslednji podatki! ■■PSW in pot),3 tki .iz'ÀLU^ja, preko , ■ti.B<15!0:>. ali ■,Y<15!0>. . ■' .. ... y primeru zitfđovni'rT Op'ersciJ «e. v .odvisnosti; od «drese lahko eamenJeta špodnJi in'iBornJi sioai .za kar Poskrbi 8WAF- MU.X. .Podatki ns , iihodu SUAP NUK-a so potan 'prisotni 'ne ■ StKlSlO in na Uni bus;vodiluf &e Je, ustrezno-lakrmilJen D/R elentént • DEKODIRANJE ZN8TRUKCIJ Haloäa DEKODIRNE logike Je'f da na banovi vsèr ' bine V instr.ukei Jskem resi stru pp dostavi.", ,.vsake instrukcije dòloCi. . itiikrOprađramsko':'' EidrBSDi na kateri sa ,pri6nB ,"izvajati in--.: 'đtrukeiJi ustrezen , mikroprotlrai».' . .Glede'na to. da ins praceJ inst.rukciJ isküpne ; Enntilnostii predvsem kar.se tiće dostavljan- .; Jb opRrandov bz. , njihovih adresi .suo eeloten nabor in'strukciJ razdelili' v ' 9 ■ đrup ' (8 iz ' . atandardiieäe haborši . eno ' đrup.o -, ps preds-- j tavlJaJp CIS instrukcije). ': ■ ■ .i-' Zaradi arupiranJe ina-trukcij Je nalosa ■' deko- , DIftNE LOOIKE dvpJna.f- . p'rv'iti. da .za veiko in- strukcijo doloSi. pripadnost đrupi" te.r,' de likreiti pripravi adreso la eksekuciJs^i delv n-ikroprpđrsnia'i ki Je.'seveda -razìi.ten' ze-va'akó-i.nst r.ukclJö .■ /Vsaki : .sruPi, ustreza mik'ropro-." .arrimf ki , la Vse .instrOkiri J,e ' V đrupi, ' iit.vaJa' nkupnti , dostavo ' operahdov osi.'. ",.,Bdr.es opefan-dqiv.'■ y tijflu izvaJanJa fikupneđa ; -mikropTttSra-tiisi Jr'jai del Ì)EKODIRNÈ LOQIKE pripravi ek'se- t.ijcijjho aiJi-o«soT V.i vjritreza ir>biiìo fcjnavlJalr>i?da cocfintra ali vsebino na U vhQttu. Na H vbod so priključeni ti-iJi2 viri. Hkrati Je iiktiven la cd«nt ostala dva pn sta v v i tokoisipadančneiu stanJu. hikrrjp rođramski naslov» ki da Je dpnerirsla enota Ti'.'lO» Je moina sp rumen i t i v skupni tijfki vur.ij odprtim lio 1 ekto r Jeni p üd katerih se preko 3-atünJskeäa vn::t rdkt^iJi') - k-idar Ju pri prenosih CPE-ülovr,i i>ainnilnik na<>topila situ^^iciJ^i ki zahteva pssti £ijar«a] AÈORT H prtikine izvaJonJe- uiikriif I'ddrama in vcili neelov 000 in □ tfio mikroinst rukL-i Ju Eitfi'^ICEi ki reaäira na pčist. ("uukf-iJa PL.-'itì I a k to I'Ja Je izbira enađa iimĐd_ I* t i. ri h virov. lahod Je prik.lJuften neposredno na U vhüi.l 3910 in Je oriBiunaüf:en lo v tistih mjkroìfiBtrukciJahj pri katerih ssa izvsJe JMAf" instruKciJ.Ì, fiiilpkt vhüdi PL - fflolektorja so kiii>i]J(3ni neposrisdnu iz pipeline registra s aianaloma FLSO in F'LE1> Pri ^eniei' vel Ja naa-liJiinJa tatielat ftSl PLSO I O O I PL. + hOtiE 0 1 I PL t TIP 1 O ( PL I 1 I ALU HN PL t že 1 i m lavi J rt-ai'j la CI iJlede 1 3 v r <:■ da Jot S i '-tri rj du fin C li e ä a MODE vhod up o v a i ve Jn i anJa» ki Je z tru, S n.3bor Je na tif" 6lr iri 1-4 v desk aiatrlh ALU-dltìdtì na tif deE;kripta r lo fiLUliBlSH. iraJu vrsto e rJij» tfikfj da i L' lil lt* d i'i '.i m i h ortfbljamo v primerih» ko skok Slede na nafin nas-instrukciJti vred dan v IR rezerviran večvcJni skok indOf l',i S3 definirajo biti riptorJu, Le-ta se nahaja Ju in kadar želimo ve6vùJni striiiiiai pus redu Jtiao ptìps-na IiB ii^hod fiLU enote. ALUIi&UH if, ALltDBUH» ki trinfla« upor.Dbimo na PL . so--a svoJo vrednostjo duloćajo naslovov v vetveJnein skoku. vsiljevanje ;u prog ram. naslovov (000.001.003) krmilni tignali Ü1 i k a 2 ! M i!', r 13 r-r □ ri r a Id '.i k^ i krmil n i k ( 73 L>rt::i.MiiloJfiH In ^ofloJne veJitvo se celoten l.f hitni naalijv iz pipeline reaistra posre-du.iiJ priiku PL !3h1 E'l.torJa (uporabljen Je vhod PL). r,;j D viirjd 3910. ALU NN vhud ce v standardnem naboru uporablja iU iriicial izsci Jo vsebine Števca iteraciJ v Nuva viKjijina» ki se nafiaja v ALU re-liistru» si; proko DB izhoda PosredijJe fta PL si.-lriktdr in preko tesia na D vhod sekvenSniks ter Gtj 2 inst ruk-ci Jo LDCT vpiže v Števec i toraci J. y okviru CIS suspsn::iJe je jiiotrio 1'reko ti'üd vhoda i nie i a l.iz t rat i tudi siikrosk-lad ill Sii krupvu-lramski števnik. i"ikl i vi rpnJo . dekodirne loaiko na vtiodu ■jiikvcfiiiniko oiiia:io£'a JMAP liratrukeiJa tskoJ aa teiii. iMf ijii Je nova mak ro ins t rukci Ja äe Vf^isa-1 il v .TR ri?'Jìj;tHr. Naslov» ki do definirà dekadi in e; loHika Je sestavlJeri na siedet fsačinl It 8 7, 6 S 4 3 2 1 . Ó ' . I O 0. O O I GRUPA I I ADRESNI NAÉIW ' Hikroi^roärsiDBki seKvenfrnik oprsvlJs PoaoJno veJitev v primeru» ds se na I.vhodih nahaJa 'CJP instrukcija -teri da. Je signal CCEM <1>L/PL/ na loaitni "O", VeJitveni haelov v tém primeru posreduje PL selektori veJitey f>a dobimo v i^rimerüi ko ee na CC vhodu- 2910' pa-Jgvi laaifina "O". Skupna tütka vezij 2 odprtim kolektorJeiti omo-äo&a uired-or funkcija 'in na .te natin daJe niožnost .23 spremlnJariJe. mikrop-rodfsmskeđa naslüvai kar predstavlja dodatfii veJitveni mehanizem za realizacijo aparaturnih poaoJnih veJitev. Ta mehanizem se aktivira s siänalom EIRAHCH <1)H/PL/ v primerui ds se ne izvaJa JMAP instrukcija na 291Òr ampak sakvenCnik äenerirs sodi' veJitveni naslov z brezpodoJno :veJitvano funkcijo JMPBR. Kadar Je poäoJ jiapolnJen se na ta način sodi. naslov spremeni v lihega in s .tem se isvede aparaturna poäoJ-;na ve Ji tev ■ ... . Mehanizem, aparaturne poäojne ve;Jitve Je upo-irablJen tudi prt aparatu'rno-mikroproäramski jrealizaciJi veJitv'énih »lakroinstrükciJ. ;0b det»kciJi suspenzije se vsili koda CJS na AM2910 ter '002' na mikroproäraiiiski Pomnil-; lìik. 'Generirani siđnsl D'SUB otrebno shraniti £e celoten uSTACK iz 2910 v ALU ter nato ée vse reäis'tre iz.ALU-Ja n« s'kl9r.BmikanJ . iij.trinaoVT iskanj vz'ttrcey do aritaetiCnih. op-iSraciJ nad nuneritnimi strinai dolžine, do 31 , 'étevilk. Vsi deli aperaturne opremei ki so ;bili vneseni za poclporo CIS naborai se lahko IS podobno uòinkuvitostJo koristi Jo- pri' reall-i.jciJi poljubnih novih instrukciJ, Pri tem ni potrebno spreminjati niti instrukciJsketìa ■dekoderJa -pod posojetii» da si za svoJo »akro-iinstrOkciJo 'izposodimo' operacijsko kodo ene od CIS instrukciJ. Spremeni še le vsebina v jniikroprođraniskeia pomnilniku. ' . ■ 'h i k rop roü rant sc razvi Ja s pomo^Jo MACRO .META ASSEhBLER-Ja. Za osnovo se vzame datoteka DEFiNlTIGN FILE. ki.vsebuje doloćene onemo-;nike. ki so bili prirejeni posamezni« -.funkcijskim sklopom .aparaturns; opreme . proce-■aorJa DELTA 10/ Blt-SLIpE, Asembliran mil^ro-prudram se nato avtomatsko nalpSi v razvojni .WCS tUritable Control Store), ki v Ćasu testiranja simulira mikröproäramski pomnilnik.' Po končanem testiranju se mikrokoeJa. vpiSe v hitre bipolarne PRDH eleitiente. V konfisura-'ciJi toreJf kakrÉna Je trenutnoi Je «tožno ' uporabiti prostor v niikroprođramsken i>oiiinil-niku in sicer 0.25K oziroma 0(75K( odvisno pač od teda ali se izbere PROMe S12X9 pa ■1024X8. «ikroproara« za osnovni in- etrukciJski nabor zaseda približno 0.2SK po«--.nilniških- lokacij. . RAZŠIRITEV V APARATURNI OPREHI Povsem nove kvalitete bi pridobili » priključitvijo tretJe Plošče, ki bo ysebovalat 4 K besed mikroproaramskeäa pomnilnika na o.enavl, hitrih veziJ ram (Čas dostopa 55ns)« hitri paralelni mnüSilnik 1ÌX1T "TfzFač'OlSr'TfoduRir^ 50ns) in niz dodatnih registrov. S takŠno konfiguracijo se pr'ibliiaaia . zmogljivostim array procesorjev na podro6Ju hitreaa procesiranja disitalnih siSnalov (diaitalni filtri. spektralna analiza, -matematične transformacije. iiitnipulaci Je z nstrikemi r Inteare-lit procesiranje sliki razpoznavanje, vzorcev in tako dalJe). To so PodrofiJat kJer Je računalnik izkbrilten v naJvečJi možni meri. Zmogljivosti sistema na osnovi procesne enote delta. 16/BIT-Sl:CE v taki konfiđuraciJ i in na teh, področjih so lahko nekajkrat večJe od zmođlJivosti većJih sistemov, ki opravlJaJo ista dela na osnovi standardnih instruciJ.i ZAKLJUČEK .Z vidika arhitekture Ima Cl^-E BELTÀ ' li/ BIT-SLICE nekaJ značilnih prednosti napram enoti KDllEA sistejits PHP Ìl/34> -uporabniku Je omoaočena realizacija novih instukciJ ozirofta alđoritmov na mikropr.o-aramski način -ra^inska zasnova ALU enote omogoča modularno, razSiritev ređisterskeđa niza -mikroproäramski krmilnik omos.oča vpeljavo mikroprođramskih subrutin -na mikronivoJu Je väraJen prekinitveni ne-hanizem (suspenzija)r ki dovolJuJe reaular-no- prekinitev .dalJiih. mikrOProaraoBkih se-1 kvenc. i~do9BŽena Je optimalna dolžina vsake mikro;. instrilikciJe ;-aparaiurna. zasnova upožteva v»a posebnosti ! CIS nabora jZaršdi jvseh navedenih prednosti se Je bistveno'"povečala fleksibilnost in uporabnost pro-'cesne énote. Glavna odlika rezinskeda proce-IsorJa Je nJeđova hitrost Pri izvaJanJu ob-sefneJsih alđoritmov. na kar Se kaieJo rieka-tere primerjave. . . \f Natančne meritve hitrosti .4e niso bilo 'live-, dene., Rezultati teh meritev in Primerjava z enoto KDllEA bodo objavljeni v eni prihodnjih? ,-?itevilk. ■ , ■ "F" INFORMATICA 2/1984 UPORABA PROGRAMSKIH GRAFOV UGOTAVLJANJU VZPOREDNOSTI V RAČUNALNIŠKIH ALGORITMIH I. P R I B. DŽONOVA-JERMAN, J. 2ER0VN1K UDK: 519.698 INSTITUT JOŽEF STEFAN, LJUBUANA POVZETEK. Prikazane so metode zo merjenje vzpbrednosM v računalniških programih, ki za analizo algoritmov uporabljajo programske grafe. Časovne enačbe zo vzporedno in zaporedno izvojanje rocunolniäkih ukazov so konstruirane za dvo modela raiunal-nlSke arhitekture krmiljene s pretokom podatkov. Razmerje med enoibami je uporabljeno kot merilo in oceno o obstoječih vzporednostih v računalniškem algoritmu. V kratkem so podane osnovne značilnost! računalnikov krmiljenih s pretokom podatkov. ABSTRACT. "Application oF program graph analysis for measurement of parallelism in computer algorithms". Techniques oF program graph analysis ore used to measure the parallelism in computer programs. For a given semantic model oF architectural support, charocteristic timing equotlons ore First constructed from the high level program to describe the sequenflol and parallel execution times. The ratio of these equations is then used as a measure of the inherent parallelism in the program. Graph artolytis techniques ore illustrated using tvfO.data Flow models of architectural support. The basic feature of data flow computers are described very briefly. 1 . UVOO Sodobne smeri razvoja računalniške orhitekture imajo za cilj: povečati roiunalniško moč sodobnih računalnikov, kor pomeni povečati njihovo zmogljivost in hitrost računanja ter predlagati rešitve, ki odpravljajo Ozka grla v procesu računanja in S9 rezultot klasične (Von Neumannove) organiziranosti oziroma klasične zgradbe obstoječih računalniških sistemov. Večjo ročunalniško zmogljivost potrebujemo zaradi naraslih potreb po relevonju problemov s področja umetne intetiganc«, obdelave slik, razpoznavanja govoro, napovedovanja vremenskih situocij, avtomatskega prevajonja jezikov, analize seiz-mografskih podatkov, izdelavah muìHdimenzionalnih sistemov in podobno. Ocenjeno [e (1),da napoved 24 urne vremenske situacije zahteva 100 milijard opeidcij t«j sek. Obdelavo slike, ki ima 512 X 512 slikovnih elementov in potrebuje do 100 ukazov zo slikovni element, zohtevo 656 milijonov operacij na sec, (1). Obdelava in reševanje takšnih in podobnih problemov z zo-dovolfivo hitrostjo je mogoče )e ob uporabi računalnikov, ki omogačajo vzporedno izvajanje računalniških ukazov. Dosedanje izkušnje so pokazale, da so možnosti vzporednega iz-vojanja računolnišklh ukazov na ročunolnikih' z Von Neuman-novo orhitekturo dokaj izčrpane. Von Neumannov model računalnika ima dve bistveni značilnosti; spomin za hranjenje programov in podatkov in Stavec ukazov, čigar vsebino do-ločo ukaz, ki se bo izvajal. Von Neumannov model računalnike [e imel velik vpliv no razvoj programskih Jezikov. Jeziki pri koterih je vpliv te orhitekture najbolj opazen tvorijo razred Von Neumonnovih jezikov, V ta razred programskih jezikov so uvrSčeni FORTRAN, ALGOL 68, BASIC ipd. Med sodobnimi programskimi jeziki obstajajo jeziki, ki so bolj funkcionalno zastavljeni in ki so visoko uvrščeni v hierorhij-sk! lestvici programskih jezikov. V programih, pisanih v teh jezikih, je zaredi dovoljenih, sintoksnih konstruktov jeilka značilna prisotnost notranje oziroma implicitne vzporednosti (inherent porallelism). Namen ruiSega prispevka je predstaviti dve metodi za ugotavljanje vzporednosti v obstoječih ročunalniških progromih. Obe metodi uporobljata tehniko predstavitve programov s programskimi grofi. Programski grofi so model s katerim predstavljamo potek obdelav v računalnikih krmiljenih s pretokom podatkov (dala flow computer), Pti onalizi s pomočjo programskih grafov uporab I jomo dva semantična modelo arhitekture računoinl-ka krmiljenega s (»-etokom podatkov. Prvi model je model arhitekture s povratno zonko krmilnih signalov, ki opravijo operacije le nad elementarnimi tipi podatkov in individuoltllh strukturnih komportent, Drugi model se razlikuje od prvego v tem, do so dodane operacije z vektorji. 2. OSNOVNE LASTNOSTI RAČUNALNIKOV KRMIUENfH S TOKOM PODATKOV Računalniki krmiljeni s tokom podatkov predstavljajo temeljito spremembo v arhitekturi glede na Von Neumonnovo orhitekturo računalnike. Pri Von Neumonnovem računolniku potek delave poteko po natančno določenem zoporedju ukazov, ki tvorijo progrom. Spomin je enodimenzionalen in nosi ovijanje je zaporedno. Med ukazi in podotki ni bistvenih razlik. Semantika podatkov tudi nima nobenega pomena, Krmilni tak [e opredeljen s števcem ukazov, ki skrbi za tekočo oskrbo procesne enote z ukazi. Povezavo med spominom in procejno enoto po kateri potujejo ukazi te v obliki zaporedja največja omejitev Von Neumannovega modela. Uvajanje novih organizacijskih rešitev v računalniški arhitekturi so pripeljale do izredno velike zmogljivosti sodobnih računalniških sistemov, Med te rešitve, ki bistveno niso spremenile osnove Von Neumannovega modela ročunonjo so se zlosti pokazale za uspešne sledeče: - cevosto organizacija aritmetično - logičnih enot - sistemi z več oritmetično - logičnlTni enotami - motrični procesorji, - sistemi z elementi za povezovanje večkratnih funkcionolnih enot, kot so vodila la porazdeljeno obdelovo, mreže s strukturo obroča ipd. pr)ròini spomirii (coché memory) . npv idei hl «pomin {wirtuq| memory).- ... ; Izjenina zinoglfivoit ns kater Ih-sodobnih^ ra£u noi ntkoy kot je : t» primer JBM 360/91, CpC.óóOÒ, 'CRAY-l sioni nq yipored-j rietn, del qvanjù ■ rozi i 4nih funkc ionq I nih . a not ( prq^esòr - 'spoml n, ;«po(nlr>^»pómin,' procéiòr-ryhpdno/izliodne «noie, procesor - : procesor z voderijem tokov poda tfeoY),' Proce«ne epote teh rq-.'ćunolnlkov. Imajo več iivojolnih enot in iriehonlinwv io de- ■ kodiranje In ipre)ernqnjé ukazov, ki ot^goćojo neprekinjen ^ ukazov oziroma zme^j poln vod. tkoz! katerega ukazi ppr ■fctejo, pri' IBM .360/91 sé ukaz s'plavajočo, vejico no,|pre| ' ■ ^.Jno dekodira ih Sele zatem poSlje enoti s plavajočo'Ve|Ico. dokonče» dekodlrčn]« ih pošlje ukaz |?^|alni eriotl, Iz-.|fojoh[e aritmetlinlh 'pperocij sé prr^ Cele takrot ko pridejo potrebni'.bpènindì (iz, ipótnina q|! l? <^ryQÌh enot). Deko-. /diranje uicqzw poteka zaporedna né glsd^ po''to, da je .lžva-i janje'nekaterih možno'brez upOitevanja te^ zoporedja . Zaporedno delfodirunje.ukazov zagotavlja logično pravilnost re- ■ zuitótpv. Računajnik CRAY-1.(Ć) vzporedno izvaja" ukaze ob , uporobl matflčr><>.0rganiiirariIh livojolnIH etKit, Zmogljivost rečurminika pri izvajanju. vektdrikiK ukazov je omejena le , jwpqclteto sporninq. Ocenjeno je (2), 'dq se.odstotek program-' ■ifcé opreme, ki se, lahko napi Sé y sklodu z fnainoitir!Ì,,ki jih nudijo matrično organizirana'procesne enote giblje od .1 ' do '90% na področju.znanstvenih oplikacij. Ostali dej programsko opreme pa lahko postane ozko grlo y kolikor ličirikofi-tost vektorskih ukazov izjemno zraste. Programi pisani v ; ^Fortranu .težko .izrabi ja jo zmogljivost rocunórnikoy kot je. V CMY-1 ;.. Pisanje ■programov zahtevo zelo.cipgridno qnolizq 'podatkovnih tpkcv . ' Ajiojlzo podatkovnih tokov v programih - pisohih v Fdrtranu je izjemno teikb poradi stroriskih učinkov, .ki'jih povzročajo.'GO TO »(ay ki 'in povezovanja'>^ér|ieif da gröf o pretoku . . podatkov dobimo zelo enostavno In hitro, .procesne enote krmiljene s pretokom podatkov so.dejonsko računalniki v ko-terih je shranjen graf, ki ponazarja, pretok podatkov y pro- ' gromu. Procesna enoto razpozna koteri ukoz) so pripravljeni za izvajanje In te ukaže Izvajalno enota obdela takoj ko dobi sporočilo o tem, da so do|p£eni viri rqzpoloiljlvK V pri- ' merlh, kp je roipoložijivih računalnUkjh virov loddstl, račur nalnik izrabi vse možnosti vzporedne obdelave v programu. , Zp implementacijo računalnikov krmiljenih s pretolcom podat-kw je bilo predlaganih ve£ različnih inaile materjo I né opfe-.me. Vsi predlogi uporabljajo kPt osnovo modal usmerjenega grofa zo predstovljonje računa Ini šk ih'progrpmov. Žato je to vhto rdčunolntka,, ki' ima jezikovno zasnovan koncept arhltekT ture in kot progrqmski jèzlk programske grafe. Razlike med pdsomežnimi arhitekturom) ro^nalnlkov obstajajo v implementaciji konceptov programskih .grofov na strojnem nivoju. 3. MODEL RAČUNALNIKA IÌRMIUENEGA S, PRETOKOM . fODATKÒV.; V mebdah za merjetije yzppredrsósti v ročunolniSkIh progro- ^ rnih, ki jih bomo predstav i I i, v nadoljevonju, je uporobljeri rnode|,ki sta gd predložilo T^rtin in Estrin'(4#5). V tem mo^' delu. ima vsako yozi išče. usmerjenego grafp. sledečo 'strukturo: ' ' ..'■.■.■'■■■! . .... . - polja ukazne kode, ki opredeljuje ukaz, - dvoje ali več polj zo sprejerti operdndov, - eno ali več polj, ki opredeljujejo kom rezultori potujejo . po izVrSitvi ükozä. Ukaz v vozlišču se izvrši jlete takrat, ko so vsi potrebni podatki prisotni na vhodu v vozliSče. V času izvajanja vzame .' operator poddtke iz vhodp, jih'obdela ter jih postavi na izhod iz 'vozlišča.- Zo to model otóeldve je zr>ačilno, do se , vpziiičem direktno posjredujejö parcipitii rezuitoti obdelave, izvajanje ukaza Iqhkovvpliyp je na ukqze, ki mu sledijo. Vt! ukozi Imajo pomen funkcij. Po.uporabi podatka se njegova, vrednost izgubr ker la, podatek, ni več ha razpolago, Koncep-;, ta delitve podatkov y spominu v tem modelu nI ; Tudi krmilrier ga tokd, ki iteja .In nadzöriije Izvajanja ukazov rii} ukazi .' se izvojojo tokrat kp so nq vlipdih V' VOziiSčo prisotni vsi zo-hfevani podatki. To, pomeni, da'sé ukqii izvojafo neodvisno' ■ . In da obdelqyó poteka vzporedno, 'Seveda je pri tem nujno, dà je na razpolago zadostno število virov, drugače vzporedna' obdelava ne bo mogočo, Krmilni tok poteka obdelave je . opredeljen t tokom podatkov, dziramd z odvisnostmi, ki obstat jo j o med podatki. Izvajanje programa se lahko konča asinhrono In porazdeljeno. Prednosti tégq pristopa lahko strnemo v ' naslednjem: .- mogoča je vzporedna obdeldyq , f verifikacija programov je, enpstavnajio in ložjp', ' - mogoča je večja riìodulórnóst progromov, - iirjenje strojne opreme je retativ.no eriostovno - problemi v. zvezi z zaščito podatkov so. rnanjäl in ■ - I pij i je nadzor nPd napakami v programu. 22 Poglavitna razlika med klosičnim načinom izvajanfa obdelav in med rem novim pris^apol1n je v orgonizaci[i poteka obdelav. Pri sistemih, ki delujejo po principu pretoka podatkov, pote ko obdelava v treh fazah; izbor ukaza, pregled pogojev potrebnih za izvojanje ukaza (prisotnost operandov) in samo izvajanje ukoza. V prvi fazi poteko izbor ukoza po nekem v naprej opredeljertem pravilu. Sam izbor ukaza še ne pomeni, do bo prišlo takoj (udi do izvajanjo ukoza, soj se sele v drugi fazi odločo o tem ali bo ukaz sprožen ali ne. V kolikor na vhodu v določeno vozliiče ni potrebnih operondov, se ukaz ne izvede. Pri li1a je ograničena visokom cijenom takvih računala, kao i dugotrajnom realizacijom i tehničkim manjkavostima. Razvoj moderne tehnologije je temeljito izmijenio situaciju. Sklopovska podr5ka procesnih računala postala je ekonomična i pristupačna i za najmanje primjene. Tehnika mikroprocesora omoaućila je podjelu zadataka na više računala (decentralizirana procesna obrada podataka) sa neočekivano širokom primjenom, Raspodijeljeni sistemi svojom specifiCnoSću uvode i nove probleme, te povlače za sobom i novi pristup projektiranju složenih sistema upravljanja. Prednosti koje uvodi uporedno izvrlavanje zadataka u raspodijeljenim sistemima su ograničene slolenoSću realizacije upravljačkih mehanizama, te definiranjem pristupa komunikaciji i sinhronizaciji medjuzavisnih zadataka koji se izvode na različitim mjestima u sistemu. U sistemima kod kojih je komunikacija zasnovana na izmjeni poruka znatno ooterećenje komunikacijske mreie može dovesti do veoma lo5ih osobina sistema. U slabo povezanim raspodijeljenim sistemima moguća je degradacija performansi uzrokovana učestalim zahtjevima za komuniciranjem izmedju zavisnih zadataka koji se izvode na različitim, udaljenim računalima. Problem kašnjenja uzrokovanog vremenom potrebnim da se poruka dostavi od predajnika prijemniku da se prevazići dodjeljivanjem zavisnih zdataka jednom računalu, ili pak susjednim računalima (1). Medjutim, to dovodi do nejednoli-kog opterećenja dijelova sistema, 5to za posljedicu ima smanjenje ukupnog iskorištenja sistema i brzine odoovo-ra. U literaturi se može naći viSe nristupa raspodjeli zadataka u viäeprocesorskim ili viSeraćunarskim siste- mima, koji se prema primijenjenim metodama daju općenito podijeliti u tri grupe: - redoslijed Izvršavanja zadataka moie se predstaviti putem orjentiranog orafa (1,2,3,4), a ukupno komunikacijsko opterećenje minimizlrati primjenom algoritama mini-malnoq reza. Medjutim, takav pristuo postaje odviše složen ako se predpostavlja rješenje sa više od dva procesora, a teško je u model ukomponovati različita zahtijevana 0<\raničen1a, - metode cjelobrojnoo programiranja zasnivaju se na numeriranju zadataka (5,6). U takav model se lako mogu ukomponirati opraničenfa. Nedostaci ovakvog pristupa su u tome 5to zahtijevi za vremenom 1 memorijom potrebnom da bi se došlo do optimalno« rješenja rastu eksponencijalno u odnosu na složenost oroblema, - heuristički Bodeli {7,8,9) omogućuju primjenu brzih i efektivnih algoritama za pronalaženje prihvatljivih rješenja. Ovakav pristup zahtijeva manje vremena od prethodnih te se primjenjuju u kritičnim vremenskim situacijama, ili za složenije nrobleme. ■2. 0 PASPOREDJIVA^IJU ZADATAKA PO RAČUNALIMA Sistem upravilanja predstavljamo uredjenim parom (Z,S) odje Je Z skup zadataka upravljanja, a S skuo sredstava ootrebnih za njihovo izvodjenje. Zatlači se izvode na osnovu stohćstičkih pobuda okoline, a do.konflikta dolazi kada je više istovremenih zahtjeva za isključivim korištenjem usmjereno na ista sredstva. Oa bi se konflikti riješili, potrebno je primijeniti algoritam raspodjele, koji pridjelluje sredstva zadacima pdredjeni redom. Način rasporedjivanju zadataka on računalima, kao i ofiredjivanie redoslijeda njihovoo izvršavanja u svakom od raCuriala može bitno, utjecati na performanse raspodijeljenog sistema. ,, ' . Pri livodjenju slst^a zadataka (Z, <), trebalo bi donijeti odluke: • i . - koje od raiunala će preuzeti nà sebe kreiranje, Iniciranje i izvräavanje najnovijeg zadatka kojeg bi , trebalo izvesti. Drugim,riJeCiina trebalo bi odlučiti \ koje od računala je sa sistemskog stanovišta najpodobnije da preuzme izvršavanje najnovijeg zadatka, " koji zadatak, iz repa spremnih zadataka u poJedlnoRi ' računalu nastaviti. ; Ove dvije odlüke odgovaraju globalnom 1 lokalnom ra-sporedjivanju, a pretpostavlja se da svako računalo u sistemu posjeduje vlastitu kopiju sistema zadataka (Z,<} te.globalni i lokalni rasporedjivač. ■ Strategije globalnog rasppredjlvanja podijeljene su u dvije skupine - nedeterminističke i determinističke. Nedeterministlčke strategije podfazumijevaju da svako od računala sadrži rasporedjivač koji če dodjeljivati zadatk? računalu na osnoyu probabilističkih faktora koji mogu biti: - fiksni, .tj. neovisni p parametrima sistema •' . T adaptivni - zavisni o.jednom Ili vlìé parametara sistenia kao Ito su Stanje ostalih računala (opterećenje, brzina itd.), komuni kaci jskotn opterećenju koje uvodi . sporazumijevanje zadatka o kojem se odlučuje sa svojim partnerima koji se izvode na ostalim mjestima u sistemi^ statističkim podacima dobljenim praćenjem rada sistema, u eksperimentalnoj fazi itd, ■ Prednosti nedeterminističkih strategija, koje su neovisne 0 parametrima sistema, su u znatnom smanjenju komunikacijskog opterećenja u raspodijeljenom sistemu. Jer rasporedjivač Ü od red jenom računalu ne zatitljeva pri dp-noäenju odluke.informacije o stanju svih ostalih računala u sistemu. Medjijtim, u (10) je pokazano da prirviena nedeterminističkih strategija koje ignoriraju stanje pojedinih računala u sistemu, a naročito medjuòvlsnosti zadataka koji se izvode na različitim mjestima u sistemu dovp-: dl do vrlo loSIh osobina sistema. OeterininistiCke strategije.z.ahtijevaju da se odluka 0 dodjeljivanju zadatka óekom.od računala u sistemu donosi na osnovu unaprijed, defifniranih (determini kriterijf,. koji su manje--yile zasnovani na informacijama 0 Stanjy sistema., : ' ' . U nastavku je definiran deteniilnlstlčki, dinamički plgpritam za rasporedjivanje zadataka koji eksplicitno uzim^ u obzir mèdjuovisnòsti, zadataka koji se izvođe na različitim mjestima u sistemu. ' 3. PRIJEDLOG ALGORITMA Raspodijeljeni sistem Je sastavljen od identičnih mlkroračunarsklh modula. Svaki modul čine radno računalo koje Izvodi zadatke, te komunikacijsko računalo zaduženo za komunikaciju u sistemu 1 upravljačke aktivnostiKo-, munikacijska računala povezana su serijskom d.upleksnom ^ vezom, a veza komunikacijskog i radnog računala je parar, leina. Detaljan opis sklopovske strukture nije od bitnog značaja za ova razmatranja, a naveden Je u (11).. Algori: tatti za. rasporedjivanje razvijen je za konkretnu prstenastu strukturu prikazanu na slici 1. Globalni rasporedj.ivač donosi odluku kojem računalu; . dodijeliti inicijalni zadatak ili zadatak čiji su svi ; prethodnici dovrSeni prema sljedeća rasporedu; . 1 1) Izabire se inicijalni zadatak ili prvi.zadatak čiji su svi prethodnoj zavrSeni'. . 2) Ako se ne može izabrati nijedan zadatak prelazi se u stanje čekanja pa se ponavlja korak 1 3) dodjeljuje se izabrani zadatak najpogodnijem računalu, tako da se time omogući maksimalna uporednost u.j izvodjenju zadataka, te da izvodjenje zadatka u tom računalu izazove minimalno dodatno opterećenje komunikacijskog sistema, 4) Ha osnovu Informacija dobljenih od lokalnog raspo-redjivača za svakog neposrednog nasljednika označava se da Je neposredni prethodnik dovräen.. 5) Ponavlja se korak 1 Funkcije globalnog rasporedjivača prikazane su na . slici 2. . . 51.V. Algoritam za globalno rasporedjivanje zadataka podržan je algoritmom za lokalno rasporedjivanje, koji se Izvodi na svakom od računala 1 koji donosi odluku kojem iz ■ repa spremnih zadataka dodijeliti procesor.' Lokalni ra-: sporedjivač manipulira sa aktivnim zadacima, ažurirajući 26. tri liste: - Hstu spremnih zadataka - Hstu zadataka koji Čekaju na pH Jem poruka - listu zadatak^ koji Čekaju na prijem potvrde o predanoj poruci Funkcije lokalnog rasporedjivaCa prikazane su na slici 3. Aktivni zadatak (proces) može biti u stanjima: R - izvodi se. Ili je spreman za izvodjenje U - čeka na prijem ili predaju poruke Zadatak prelazi Iz stanja R u stanje U u trenutku kada struktura programa diktira prijem 111 predaju poruke, Prijemom poruke Ili potvrde za predanu poruku zadatak Iz stanja W prelazi u stanje R i uvrStava se u rep spremnih zadataka. Izmjena poruka zasnovana je na principu potvrde. Prijemnik ialje predajniku odzivnu poruku potvrdjujutfl korektnost prijema. Dakle, poruka može imati dva osnovna oblika koja bi se mogla predstaviti na slijedeći način: TYPE poruke » RECORD vrsta: (osnovna-poruka, potvrda-prijema) sadriaj: tekst-sadržaja END Oa bi se korigiralo nejednollko opterećenje u algoritmu Cemo se koristiti opteretnim faktorom C, kojeg ćemo definirati na sljedeći nadn: Neka je sre-ppt srednje opterećenje sistèma tj. n sre-opt = 1/n I uk-opt(i) a V varijanca opterećenja data sa n V = 1/n I ul-opt(l).- sre-opt ini C = i + k * V i gdje je k konstanta po Izboru. U sluCaju da je raspodjela zadataka u sistemu Jed~ nollka V = 0. 1 C • 1, a ako nije V > 0 i C > 0, Algoritam za odredjivanje koje raCunalo će Izvesti novi zadatak odvija se uporedo u svim raCunalima. Informacije potrebne za odluke su sljedeće: a) informacije sadržane u identifikatoru svakog zadatka: e = F (Ime) : prosjeCno vrijeme IzvrSavanja zadatka nov-zad (ime). Ovo vrijeme se računa samo z» IžvrSne segmente zadatka a ne i za Izinje-nu poruka. Pretpostavlja se da . Je brzina rada svih r&wna Identična. DodJtIJivanje procesora izabranom tadotku Sl.Z. broj-zadataka = F (ime) Iroe-zadatka = F (Ime.i) br-por = F (ime.i) broj različitih zadataka sa kojima če zadatak komunicirati. imena zadataka sa kojim će nov-zad (ime) komunicirati br^j noruka koje nov-zad (ime) izmjenjuje sa par- vk = F(1nie) D = F (Ime,računal o) tnerima PR (Ime-iadatka) kašnjenje pridruženo pojedinom zadatku označava da 11 je odredJeno raCunalo sposobno (zbog eventualnih sklopovsBh 111 programskih ogranlčei^a) izvesti zadatak ■ r • ; . ■ ' . , ; . 0 =1 zadatak se može .dodijelit! - ■■ ".D = O'zadatak-se he'tnoìe: dodijeliti {rafunalo je posebne' . ■■ namjene ) b) Inforaàci je'koje se dobi jaju pri Inlcljaltzacljl s1- ■ ' , stana; ■ n =■ F {računala) : broj računala u sistemu - Mf F {ra£una1o(1))i brzina Nojom Se poruke prenose iztnedju raCunala "1" 1 susjed-: nih računala. ■ ■ c) Informacije koje če se dpbfti od ostalih računala .op-rae(i)"r (raeunalo {1)) ;' opterećenje računala "i" vre-ček{1) • F (računalo: : i ;{!))/V- . vrijeme koje će poruka provesti u predajnotn ala "1". •■ repu računal . ■ Ove'vrijednosti će se izračunati i naknadno ažurirati u svakom računalu i dostaviti bsUlIm raCunallma pu-: teip procedure wm1-nove-podatke. . ; Raspoređivanje blokiranih ; zadataka Ispravno. to S ..fi ž d Sat . realnog , j: ■ vremena ■"■ Ig ■ •■■ Je ž > PffOČESĆ/i Takt _ I' Pripravno, stanje Aktivno ■ \ ■ stanja SI. 3. 1. startanje novog zadatka nov-zad(im6) na računa-■ lu 'H", ^.v izv-opt(i) novo ? 1zv-ópt{1)staro + e(inte) gdje Je e{fnie) prosječno vrijeme Izyräavanja zadatka nov-zad(iiTie) koni-opt{1) novo = k(OT-opt(i) staro + nko (1me) gdje je nko(ime) dodatno komunikacijsko opterà«enje koje. uvodi zadatak nov-zad{1me) a izračunava se pomoću procedure izračunaj-komuni kad jskq-optoreèenje. . 2, ukoliko proces predaje ili. prima poruku izvrS-, liom optereiènju.će sé oduzeti vrijednost upravo Izvedenog s eamehta: izv-opt(i)novo=iz.vr-opt(i)staro-e(1me)/{bp(ime)' gdje Je bp(iiTO) broj poruka koje će nov-zad(lme) Izmijeniti sa drugim zadacima. bp{1nie), se izr^unava pLtem pro cedure izračunaj-komunikacijsko-opterećenje ' kom-opt(lj novo = kom-ppt(i) starp-pro-opt gdje je.prp-opt prosječno komunikacijsko opterećenje po poruci koju npv-zad{ime) izmjenjuje sa partnerima tj.'; . ,: ,pro-opt = nko(ime)/bp(ime) äto odgovara smanjenju komunikacijskog opterećenja za vrijeme potrebno da se. Izmijeni poruka. , ' 3. završavanje ižvoćtjenja zadatka; . V lzv-opt(i ) novo Iz.v-opt(l) staro-e(ime)/(bp '■(ime)+1), sto odgovara šnjahjenju. Izvränog opterećenja za posljed- i. nji izvräni segment zadatka. 3.2, Izračunavanje komunikacijskog opterećenja Komunikacijsko opterećenje pojedinog računala je -ovisno 0 broju poruka koje bi računalo trebalo.izmijeniti sa partnerima, kao i'o udaljenosti'partnera., tj. o lo-r kacijl na kojoj se. partneri nalaze. ■ Izračunavanje opterećenja pojedinih raCiinala ■ Ppteródenje pqjedinih računala- dot)^ se. kao: g o THEN opt B vre-pre (testrač,n,bd) {• IzraSunav'anje vremena potrebnog da se poruka prenese od testraC do raCunala n ' uz pretpostavku jednolike brzine prenosa Izmedju svih raCunala *] ELSE END; END; END; opt = pro-opt {* u slučaju da ime-zadatka nije pronadjeno uzmi prosječno opterečenje *) (* ažuriraj brojaC poruka br(iDe) 1 komunikacti jsko opterećenje *) (* ako Je opt = 0 komunikacijski partner zadatka nov-zad (In«) Je lociran u istom računalu 1 izračunavanja nisu potrebna *) IF NOT (opt = 0) THEN • BEGIN br(lme) br{1me) + br-por (ime,1) ; , bpfiine) Je broj poruka koje ..: ' nov-zad{ime) .1imjanj:uje sa drugltii računalima*) (* br-ppr (Ima) je bjrpj poruka koje . npy-zad(lme) jzrnjenjiije sa imerzada- ■ ■ test^koop = tBst-koop,+.opttbr-ppr(lme,i) ; ukupno opterećenje u siuCaJu da se . zadatak ivovri8d{iiM) i.dodijfll i računalu i *) ^ END; enpi ■■ ^ " ; . . retum (test-koop) ; : V ' ' ' . ENO; Procedure vre-opt {i,J,bd); (* Ova procedura izraCiinava vrijeme potrebno da se poruka prenese od raCunala "i" do raCunala "j'Vu slufiaju briine prenosa "bd" *) IF N0T (1 ' ■ , : THEN; '; . ; , . BEGIN ' ■ brd = br-di (1,j);. ' . . ,: ! (* izračunavanje broja dionica Iztnedju računala "1". 1 "j" *) pre-por = dio (bd) ; (* Izračunavanje vremena za prenos poruke Izmedju dva susjedna računala*) Procedure KaSJan (l;!). 1 (»,pya procedura Izračunava kašnjenje: koje je uzroko-.. vano'čekanjem u repu- poruka dok se poruka prenosila i zmed j u računala'"1" i računala "j!-; Ovo kaänjenje sé računa zavisno'o broju'dionica koje. je poruka trebala' da predjé. Vrijeme, potrebno dà se poruka . proslijedi' izmšdju'susjednih"računala ovisf ò komunikacionom opterećenju pbjedinòq računala vre ček (1) koje se dobija.putem procedijre užml hove podatke*) IF •(■1 > j).THEN'; ■. ; ■ ; ' / begin : s : 1 i H ■J (* s je'oinaka za računalo sa manjim brojem a 1 je oznaka ža računalo sa većim brojem*) . ; ■■■ END-' ''.• .ELSE''^ V. ^^ ( ' ''begin-' ■ ' ■ ■ rVvs-f-^'.j;!;;: ■'i ';'-:-, " ■■■y '"i- ' ■■■■.END; bfd=br_;d1 {i,j) (*;;izračunavanje bro^ dionica izmedju 'računala "frV"j"',*)" : ' . I*' Izračunavanje' kaJnJenja^po^^^^ računalima : ■ ■ na putu*)■ ' \ kaJn jen je : = 0 ; ■.;:;' f .'•' THEN' -.': ■ ■ ' ; ^ ■ .B£GIn';.'(* izračuflavanje;kašnjenja u je- ■ "' ■ ■ ■' dnom'.smi'jeru>) ■' ' . FOR I = s TO {1-1) do' ..' . kaSnJenjè ; = kaSnjenjV + yré^^ END''; : '.'. ' ■ ■■ ■ ■ ■ ELSE (* izraÈijnavanjè kaSnjenja u suprót- ; , '■ . .. notii'smijèru-:*)' ' ■ BEGIN " ■;.. ■ .;',' ■. ;. .. FpR-1-? ! TO.n .DÒ kašnjenje. : = kaShje-,-■'.■nje-'t- vre_Ček'(i) i '. .ÉNp;''^":. ■ 'T" :;;. ', ■" FDR I-.1 TO (s-l)DO kàSnJènje ; «kaänjenje +. vre ček(1)'-, RETURN (kafnjenje) .•'':- • ' '" ' ' '. ■ ~ END;. '.'.,/ ■ ■ . ■ ^ kaäkan = kaä-kan (i,j); ; (*'lzrač,unavanje kaSnjenja žbog čekanja ■ u repu u srnijeru od "i" ka: "j" *) . ...', ' ■ " . . . ■ ■ ■ ■ . . ■ i' ' ■ vrijeme = brd * (1,6 * pre-por) + 2 kaäkan;-^ ■ (* .svaka poruka koju préda'ràiunalo "i" bide'.-\ pòtv.rdjena od strane računala "j" - zbog J'. toga se uvodi. 2 * kaSkan . Medjutìm, pošto:' ' je duìina potvrde krača od düiine same po-j..' / ruke uzima se aproksimacija da je ; pré-por {potvrda) ' 0,5 * pre-por (poruka)*) END; . . ELSE vrijeme : = O ; . RETURN (vrijeme ; . EHO; '. " ■ ' ; .. ' ■ ', Procedure br-di (i,J) . {* Ova procedura Izračunava broj dionica puta izmedju računala "i" i "J« *). ' . X : = i - j;-Y : - abs (XJ.; ■ .. IF (Y > ti/Z)-THEN (* n je broj računala u'mreli *) . . begin ': ' ' IF (X > 0) THEN i : » n - i ■ ' ' else j : " n - j ; V ; > 1+ j endi ■ "'• . ■ . /' '■ return (v);- ■' .. end ; ■ . Procedure dia (bd) 1 (* Ova procedura izračunava kpje vrijeme^je potrebno da ' da se poruka prenese Izmedju dva susjedna računala u mreži.. Pretpostavlja se identična dužina poruka 1 br-'-. ' Zina prenosa definirana Sä f'bd",*)^'' i. ' vrijeme:':'. ■? Pro_b"1t/bd; '.v (* pro_b1t Je prosječan broj bita koji šadrli odredjena' poruka *) return (vrijeme) . END'Ì ' ■ ; ■ 4. ZAKLJUČAK LITERATURA Jedan od osnovnih problema koji obuhvata projektiranje raspodijeljenih sistema za vodjenje sloienih procesa Je nafin raspodjele zadataka koje Je potrebna UvrSi-ti u cilju upravljanja. U radu jej predstavljen dinamički algoritam za rasporedjlvanje zadataka u viieraiu-narskom sistanu, koji uzima u obzir medjuovisnost zadataka koji se Izvode na raz1 lenim mjestima u sistemu, te strukturu komunikacijske mreže. Algoritam je razvijen za konkretnu prstenastu stnjkturu kod koje svako radno raEunalo sadrii vlastitu kopiju sistema zadataka, a zadaci komuniciraju medjusobno Izmjenom poruka. Globalni rasporedJivaC Će na osnovu proraCuna minimi z Iran j a dodatnog komunikacijskog opteretfenja koje uvodi novi zadatak Iz skupa alternativa izabrati ono rjeäenje koje će u okvirij zacrtanom algoritmom maksimalno zadovoljiti postavljene kriterije. Nedostatak predloženog algoritma je u tome Sto kod složenije konfiguracije dodatno neproduktivno vrijeme potrebno za sakupljanje svih potrebnih Informacija biti preveliko. Ukoliko vreinenski uvjeti to ns dozvoljavaju opisani model mora se zamijeniti modelom za upotrebljivo djelovanje (9). U takvim slučajevima algoritam se može koristiti pri razvoju sistema, da se iz velikog skupa mogućih rjeäenja unaprijed izaberu najprihvatljivija. 1. Bokhari, S.: "On the mappinp problem", IEEE trans, on computers vol c30, no.3 (march 1981). 2. Bokhari, S.: "Dual-processor scheduling with dinamic reassignment", IEEE trans, on soft. eng. vol SE-5 no. 4 (July 1979). 3. Chou, T.: "Load balancing in distributed systems", IEEE trans, on soft. eng. vol SE-S no.4 (July 19M). 4. Lamport, C.: "Time, clocks and ordering of events in a distributed system" Communications of the ACM, July (1978). 5. Ma, P. et al.: "A task allocation modei for distributed computing systems" IEEE trans, on computers vol c31, January 1982. 6. Desoouki, 0 et al.: "Distributed enumeration on network computers, IEEE trans, on computers vol c-E9, sept. 1980. 7. Strkitf, G., Kukrika, M.: »Neke mogućnosti rasporedji-vanja zadataka u viŠerafunarskom sistemu sa radom u 'realnom vremenu" II Jugoslovensko savjetovanje u mikroračunalima u procesnom upravljanju - MIPRfif, Opatija (1903). 8. Kukrika, M., StrkiC, G.: "Primjer vISeprocesorskpg sistema u vodjenju procesa u realnom vremenu", XXVII Jufloslovenska konferencija ETAN, Struga (1983). 9. Kukrika, M. : "Neke moguCnostI ravnomjernog korliten, raCunala u viSeračunarsklm sistemima sa radom u rea nom vremenu", u pripremi za objavljivanje. 10. Chòw,¥ et al,: "Models for dynamic load balancing In a heterogenous multiple processor system", IEEE trans, on computers, vol. c-28, no.5 (may 1979). 11. Kukrika, M.: "Problemi komuniciranja u sisterflfma sa viSe mikroračunala", II Jugoslovensko savjetovanje o mikroračunalima u procesnom upravijanju-MIPRO, Opatija (1983). ALGOL 60 ZA SISTEM CP/M III UDK: 681.06 Algol 60:519.682 A. P. 2ELEZNIKAR ISKRA DELTA, LJUBLJANA članek opisuje prevajanje In Izvajanje algolakih programov s sistemom CP/M, tj, ukazne prevajalne in izvajalne vrstice, njihove raz-liäne oblike. Opisana je organizacija simbolne tabele in notranja predstavitev simbolnih tipov, organizacija sklada v izvajalnem Sašu z njegovimi glavnimi kazalci. Prikazana je možnost dodajanja lastnih kodnih segmentov k obstoječim algolskim programom, kot so vhodni in izhodni programski vmesniki in druge subrvutine. Opisana sta tudi sistema za sporoCanje napak v prevajalnem in izvajalnem Času. Na koncu članka so dodani nekateri primeri algolskih programov B področij aproksimacije, določanja korenov in drugi primeri. A CP/M System Algol 60 Language III This article deals with compiling and running Algol programs under CP/M, i.e. with compiling and running commands, their different shapes. Organisation of symbol tables and the internal presentation of symbol types ate described and the runtime stack organisation with corresponding pointers is presented. The possibility od adding code sections to existing programs like input and output handlers and other subroutines is shown. Further, systems for compiler and runtime error messages are described. At the end some examples of Algol programs in the area of aproximation, root searching, arid other Cases are discussed. 4. Prevajanje in izvajanje programov s sitemom CP/M Uporaba ces: jezika RML Algol je dvostopenjski pro- Prevajanje: Prevajalnik prebere izvirni algol-ski program in proizvede iz njega izhodno zbirko v takähi obliki, da jo bo lahko prebral izvajalni sistem. Izvajanje: S prevajalnikom proizvedena izhodna zbirka se naloži oziroma prebere in se nato izvede (izvräi). Najenostavnejše zaporedje ukazov pri danem izvirnem programu (zbirki) PROG.ALG bi bilo za prevajanje: za izvajanje: ALGOL PROG ARUN PROG Oglejmo si zbirki sta ta postopka podrobneje.' Osnovni prevajalnik: izvajalnik: ALGOL.COM ARUN.COM Če diskovne enote ne navedemo, se uporabi trenutno aktivna enota. Kadar manjkajo zblrčne razäiritve, velja tole: izvirna zbirka: .ALG prevajalniški izhod: .ASC monitorska zbirka: .MON 4.1. Prevajanje Prevajalnik najprej prebere navedeno izvirno zbirko {tipa .ALG) in jo prevede v zbirko z enakim imenom in z razSiritvijo .ASC . Če obstaja zbirka s tem imenom in s to razširitvijo, se ta zbriše In se oblikuje nova zbirka. Če prevajalnik zazna napako v izvirnem programu, zbriše nastalo izhodno zbirko, vendar s prevajanjem nadaljuje do konca programa s sporočanjem' nadaljnjih napak. Sporočila o napakah se pošiljajo na konzolo. Na koncu prevajanja se sporoči obseg rezultatnega programa. Sploänejäa oblika prevajalniSkega klica je ALGOL outlist = inllst Tako imamo npr. ALGOL Ot!T=IOLIB, B:MATHS, PROG V tem primeru se izvirni vhod oblikuje iz zaporedja navedenih zbirk} to zaporedje pa mora izpolnjevati zahteve algolskega programa od za-I četnega begin do končnega end in finish. Zbirke se lahko vzamejo iz različnih diskovnih enot. V zadnjem primeru se zbirka lOLIB.ALG vzame iz trenutno aktivne enote, zbirki MATHS.ALG in PROG,ALG pa iz diskovne enote B: . Prevajalni-Ska izhodna zbirka OUT.ASC sa oblikuje na trenutno aktivni diskovni enoti. Druga metoda kombiniranja izvirnih zbirk uporablja LIBRARY stavek, ki smo ga že obravnavali. Tu poudarimo, da so knjižnični klici omejeni na zadnjo navedeno zbirko vhodnega seznama (knjižnična procedura 'findinput') . 32 Kadar navedemo Se drugi Izhodni tok (0UT2), se generira seznam prevajalniäkih identlfikator-skih tabel. Tudi pravajalniäk^ sporočila o napakah se poäiljajo v ta tok skupaj e pođatkt o maksimalmih obsegih tabel, ki jih sistem podpira. Ukaz ALGOL OUTl, 0UT2 ■=> PROG pošlje prevajalniški izhod v OUTl.ASC in prevajal ni žk a sporočila o napakah in idantifikator-ake tabele v zbirko 0UT2.M0N. Ukaz ALGOL OUTl, C0N!= PROG pošilja sporočila o napakah in identifikatorske tabele na konzolo. Kadar vhoda/izhoda (V/I) ne navedemo, ali Se obstaja napaka (npr. pri slabi sintaksi ali neobstojebl zbirki), bo izdal prevajalnik zahtevo za navedbo V/i. Pri klicu oblike ALGOL se bo pojavila zahteva oblike OUT = IN? Uporabnik določi v tem primeru seznam vhodnih in Izhodnih zbirk kot v prejSnjem (zgornjem) primeru. Kadar npr. se V/I zbirke navedejo v začetnem klicu. ALGOL PROG se prevajalnik vrne po prevajanju v sistem CP/M. Kadar se V/I zbirke navedejo na zahtevo prevajalnika, se prevajalnik po prevajanju vrne na svoj začetek z novo zahtevo, Z znakom 'CTRL-C se prevajalnik vrne v sistem CP/M, 4.2. Izvajalni sistem Prevedeni program lahko pokličemo v izvajanje s klicem ARON lm6_zbirke Razširitev te zbirke je '.ASC . Ta zbirka se naloSi in izvrSl (Izvede). Kadar vhoda (imena zbirke) ne navedemo, ali imamo napako (slaba sintaksa ali neobstoječa zbirka), bo izvajalni sistem izdal zahtevo za vhodno ' zbirko. Npr. klic ARUN bo povzročil zahtevo za vhod INPUT= na katero bo uporabnik odgovoril z navedbo imena zbirke. Po izvršitvi programa natisne sistem znak ' in čaka na uporabnikov odgovor,. Z znakom 'CTRL-p ' se sproži ponovno Izvajanje programa, z znakom 'CTRL-c ' pa skok v CP/M. Kadar se v času izvajanja programa pojavi napaka, se pošlje sporočilo na konzolo. Ce je bila uporabljena možnost obravnave napake (knjižnična procedura 'error '), bo sistem počakal na uporabnikovo navodilo za raziskavo napake. Od tu se lahko program ponovno požene z znakom 'CTRL-p' ali pa se vrno krmiljenje sistemu CP/H z znakom 'CTRL-c'. Vrnitev v CP/M po končanem izvajanju programa ali po ugotovitvi napake se doseže avtomatično z uporabo klica ioc{22) -, v izvirnem programu. Klic oblike ioc(60)} pa sproiSl takojšnj.o ponovitev izvajanja programa od njegovega začetka, če so bile v fazi izvajanja odprte zbirke, se te ob prekinitvi zaradi napake ne zaprejo, vendar se eproatljo zblrčni krmilni bloki. 4.3. Pomnilnläko preslikane zbirke Kadar namerava uporabnik izvajati program večkrat, ga lahko shrani na disku v kompaktnem formatu pomnilnläko preslikane zbirke, ko uporabi stikalo tsl v času izvajanja, in sicer ARUN ime_zbirke ts] Po naložitvi zbirke zbriSe sistem zbirko z razširitvijo '.ASC' , ki jo Je proizvedel prevajalnik in oblikuje novo zbirko z istim Imenom in razširitvijo (.ASC) v pomnilnläko preslikanem formatu. Nadaljnji pozivi oblike ARUN lme_zblrke sproSajo avtomatično naložitev In izvajanje preslikane zbirke. Prvotna zbirka tipa .ASC je bila sistemsko neodvisna, novi format pa ni premestijiv In sprememba v sistemu lahko povzroči zahtevo za ponovno prevajanje zadevne zbirke. 5. Simbolna tabela in simbolni tipi Prevajalnik lahko izllsta na konzolo ali v mo-nitorsko zbirko seznam vseh deklariranih Identifikatorjev 3 Informacijo o njihovih tipih in naslovih v pomnilniku. Spremenljivke se shranijo v skladu in številka spremenljivk© je polo-Saj v skladu, ki je relativen glede na kazalec. Kazalec j® shranjen na lokaciji PBASE v izvajalnem programu. Naslov spremenljivke se najde z množenjem številke spremenljivka s 4 in s priStetjem tega k vsebini PBASE. Štiri števila se tiskajo z vsakim identifikatorjem v prevajalntški simbolni tabeli. Prvo število je položaj v skladu z Izjemo pri oznakah in procedurah. Pri njih js natisnjena simbolna označltvena številka, ki je številčni del simbola, kot je npr. L123, ki ga izda prevajalnik. Drugo Število je številka procedure, ki obdaja proceduro, za katero je identifikator deklariran. Glavni program ima številko O In procedure se oštevllčujejo zaporedno, kot se pojavljajo, neglede na deklaracijsko globino. Izjemoma se natisne dejanska številka procedure namesto Številke obdajajoče procedure. Tretje število je številka vrstice v izvirnem programu. Četrto število je trenutni obseg prevedenega koda. Ta podatek je lahko povezan s položajem napake v izvajalnem času. Tipski podatek identifikatorja se izlista. Številke pomenijo notranjo predstavitev podatkovnih tipov, in sicer! O procedurni formalni parameter (tip Se ni znan) realno. celoštevilsko boolovsko realno polje celoštevilsko polje boolovsko polje 1 2 3 5 e 7 e ;prstikalo 10 procedura 11 realna procedura 12 celoštevllska procedura 13 boolovska procedura 14 oznaka Prevedeni kod procedure vsebuje seznam tipov parametrov. Tu se lahko pojavijo še dodatni tipi! '4 niz 21 realno z imenom (poziv) 22 celoäteyilsko z imenom 23 boolovsko z imenom 6. Organizacija sklada v,izvajalnem öasu Podatki o organizaciji so potrebni v primeru, ko moramo, dostopati k algolskim spremenljivkam iz danega računalniškega koda. Sklad se razprostira od konca izvajalnega programa do konca razpoložljivega pomnilnika. . Sklad spremenljivk raste navzgor od konca programa do delovnega sklada za izračunavanje izrazov, za posredovanje procedurnih parametrov, procedurnih pozivnih ukazov, ki raste navzdol od konca pomnilnika, Sklad spremenljivk' je sestavljen iz,,okvirov, in sicer iz enega za glavni program in po enega za vsak procedurni poziv, V vsakem skladnem okviru se nahaja poljski sklad,, ki vsebuje poljski okvir za poljubno globino poljske deklaracije. Pojem "beseda" se uporablja za 16-bitne (dvozložne) vrednosti. Imamo: PBASE MBASE WSBAS ABAS FSPT kaže na trenutni okvir sklada spremenljivk kaäe na okvir glavnega programa( ko se glavni ■ program izvaja, imata PBASE in MBASE enako vsebino kaže na začetek delovnega sklada trenutnega nivoja in se'uporablja za brisanje označitveniH plavačev iz delovnega ■ sklada kaže na trenutni poljski okvir kaže. na naslednjo prosto lokacijo v skladu - spremenijivk Pomembni so tudi tile registri! SP .kaže na vrhnji element delovnega sksldaf ta podatek se mora rešiti in obnoviti pri . dodajanju računalniškega koda i uporablja .9.6 tudi pri pozivnih (CALL) ukazih IX naj se shrani, öe bo uporabljen; to je kazalec•interpretivnega kodnega programa IY se mora shraniti, če bo uporabljen, saj ■ kaäe na zaporedje zastavic in na delovni prostor Vsak skladni okvir je razdeljen v dva delai spreménlj'ivSki'in poljski. Spremenijivški del ima enote z dvema besedama (4 zlogi). Dejanski naslov onbte dobimo z množenjem Številke'enote s"4 in s prištetjem zmnožka k osnovnemu naslovu, ki je shranjen v'PBASE.ali v MBASE, V okvi^ ru glavnega programa', j e prva deklarirana spremenljivka v enoti 2 in beseda, na katero kaže MBASE vsebuje O, tj, nivojako Številko glavnega programa, V okvirih procedurhega tipa se enota .3 uporablja za rezultat'funkcije in je neuporabljena v procedurah, ki ne dajejo rezultata, Procedurni parametri zasedajo enote od 4 navzgor, naprej pa sledijo:v proceduri deklarirane spremenljivke. Prva beseda vsake procedure prevedenega programa vsebuje Število spremen1jiv-äkih enot, potrebnih za proceduro. Prva beseda glavnega programa kaže na zadnjo besedo prevedenega programa j ki vsebuje število, spremen-Ijivških enot, potrebnih za glavni program. V procedurnih okvirih se prve tri enote uporabljajo za povezovalno informacijo, ZačenSi z be- sedo, na katero kaže. PBASE (enota 0), vsebujejo besede tele podatke:. beseda 1: številka procedure beseda 2; vrnitveni naslov beseda 3: PBASE klicajoče ravnine beseda 4 : WSBAS klicajoče ravnine beseda 5: ABAS klicajoče ravnine Enota spremenijivčnega sklada lahko vsebuje tele tipe elementov} 1. realno Število v standardnem formatu 4 zlogov 2. celo. število ali boolovsko vrednost v najviše naslovljeni besedi enote; bpolovska , vrednost zasede le najnižji zlog te besede 3. oznako ali procedurni naslov kot procedurni parameter; našlo se nahaja v najviSe naslovljeni besedi in v besedi pod njo ^e vrednost PBASE, ki ustreza vrednosti v tre- . ■ nutku, ko je bil naslov izračunan . , 4. . naslov polja ali preklopnika kot deklarira- '■ ne spremenljivke ali proaedurnega parame- ■ ■ traf naslov je v najviše naslovljeni besedi enote, preostala beseda pa je neuporabljena 5. nizni naslov ali naslov neindeksirane Spremenljivke za procedurni parameter niznega ali spremenijivčnega tipa, klicanega z ime" nom Naslov preklopnilke spremenljivke kaže na pre-klopnilki vektor. Kazana beseda vsebuje število elementov preklopnika, naslednje beseda pa hra-' nijo naslove oznak v preklopniškem seznamu. Poljski del skladnega okvira vsecbuje .število poljskih ravnin, oštevilčenih z deklaracijsko globino v proceduri ali v glavnem' programu. Ravnina O vselej obstaja in se nahaja neposted-no za koncem spremenljivk.. ABAS kaže na osnovo trenutne ravnine, katera vsebuje podatek o globini te ravnine. Naslednja beseda (z,.izjemo ravnine 0) vsebuje kazalec na nižjo -ravnino. Nad ravninsko informacijo so.obveščevalni vek-; torj i in poljski elementi. . . . Poljska spremenljivka kaže na začetek zadevnega obveščevalnega vektorja. Ta vsebuje 2*{N+1) besed, kjer je N- indeksno. Število. Prva beseda obveščevalnega vektorja vsebuje Število zlogov. Ki jih vsak element zaseda (1, 2 ali 4),. druga . beseda število indeksov in tretja spodnjo mejo prvega indeksa ((23)'). Obstajata, še dve .dodatni besedi za vsak dodatni indeks. Prva beseda vsebuje multiplikator za predhodno akumulirano število elementov, druga beseda pa spodnjo mejo naslednjega indeksa (dimenzija) , Končna beseda obveščevalnega vektorja vsebuje naslov besede za kancem poljskih, elementov. Poljski elementi se shranjujejo neposredno za obveščevalnim'vektorjem. 7. Dodajanje kodnih segmentov . Uporabnik Seli večkrat dodati svoje rutina sistemu izvajalnega časa. Te rutine so npr.: 1,. V/I programski vmesniki' 2.' specializirane kodne subrutine ■ 3., povezovanje teh subrutin a sitemom za sporočanje napak -v izvajalnem času. Pri teh.dodatkih ni potrebno posebno znanje o notranji zgradbi sistema. Uporabnik,mora razu-• meti seznam, ki ga izda izvajalni sistem. ■ Do-■ datna aplikacija je povezana s seznamom., vstopov. Kazalci k tem listam se nahajajo blizu začetka sistema izvajalnega časa. Splošna oblika seznama jei ■ IME i n dolžina 7.3. IOC seznam in kodne subrutine vstop O vstop 1 vstop n Prvi zlog določa dolžino seznama, začenši pri 0. Za ime seznama je ustrezni kazalec blizu začetka izvajalnega programa. Natančne lokacije in vsebine teh seznamov se lahko razlikujejo od dejanskih vrednosti v porazdeljénem sistemu, toda kazalčni naslov bo pravilen. Vstopi v seznamu vsebujejo naslove ustreznih vstopnih to£k. Druge bistvene spremenljivke so Se: PROGST vsebuje začetek prostega prostora; tu se bo začel programski kod ENDLIST vsebuje naslov, nad katerim se seznami ne smejo pojaviti Različni seznami se nahajajo v pomnilniku zaporedno. Ce želimo dodati V/I programske vmesnike ali kodne rutine, moramo modificirati tole: 1. . napišemo kod, ki začenja pari naslovu, vse- bovanemu v PROGST 2. popravimo PROGST na kazalčno vrednost prostega prostora 3. oblikujemo vstop v ustreznem seznamu in popravimo seznamsko dolžino, če je to potrebno Vsak seznam vsebuje prazne enote ali prostor na koncu, predviden za razširitev, ce to ne zadostuje, moramo premestiti celotne sezname in popraviti kazalce. Pri tem upoštevamo: IX in IY morata oh izstopu ohraniti vrednosti vstopa SP se uporablja za subrutinske pozive in za delovni sklad; Izstop iz kodnih rutin poteka prek RET ukaza, zato mora SP ostati uravnotežen Ostali registri se smejo poljubno uporabljati. 7.1, Vhodni programski vmesniki Tu imamo s INLP INLIST kazalec za vhodni seznam ime vhodnega seznama Vhodni programski vmesniki preberejo zlog iz vhodnega vira v register A in izstopijo prek ukaza RET, S stavkom C := chin (n) ; se_^prebere zlog ta naprava, ki ji ustreza vstop 'n ' v seznamu. 7.2. Izhodni programski vmesniki Tu imamo: OUTLP OUTI,ST kazalec izhodnega seznama ime izhodnega seznama Izhodni, programski vmesniki izdajo zlog v register A in izstopijo prek ukaza RET. S stavkom ehout(n,c); se pošlje znak 'c' v napravo 'n ' seznama. Tu jej lOCLST DKLST kazalec za IOC seznam ime lOC seznama Procedura ioo(n) prenese krmiljenje na naslov, povezan z vstopom 'n ' v IOC seznamu. Vrnitev se izvede prek ukaza RET. Kadar se ioc poziv pojavi v prooedurnem telesu (npr. v procedurah knjižnice ALIB), je dostop do procedurnih parametrov neposredno urejen. Procedurni parametri začenjajo od enote 4 naprej, rezultat se pri funkcijski proceduri shrani v enoto 3 (sklad). Naslov enote je dan z izrazom (vsebina PBASE) + 4*(Številka enote) Tako je prvi procedurni parameter določen z (vsebina PBASE) + 16 Pri tem zasede celo število gornjo polovico 4-zloSne enote in h gornji vsoti je treba prišteti 2. S, Sporočila o napakah v prevajalnem času V primeru napake se v prevajalnem času pojavi sporočilo PAII, X ON LINE y I DENT Z SYMBOL S kopija vrstice do (vključno) napake V sporočilu je X številka napake, razvidna iz seznama napak; if je številka programske vrstice, v kateri se napaka pojavlja; S je decimalna vrednost zadnjega simbola (glej odstavek 8.2), Pod prvo vrstico sporočila o napaki se pojavi kopija vhodne programske vrstice vključno s simbolom, pri katerem je bila napaka ugotovljena. Pri pojavitvi prve napake zbriše prevajalnik izhodno zbirko, vendar nadaljuje s preverjanjem sintakse preostalega programa, V enoprs-hodnem prevajalniku lahko "trdovratne" napake sprožajo vrsto sporočil in pojavi se lahko popolna (sintakana) asinhronlzacija. 8.1, Pomen številk X v sporočilih o napakah Za številke X imamo tale pomenski seznam; 10 identifikator je v bloku dvakrat ali večkrat deklariran identifikator je nedeklariran manjka oglati oklepaj '["' za imenom poljaj oklepaja ni, če se ime polja pojavlja kot procedurni parameter ali kot navadna procedura, uporabljena kot funkcija .manjka oglati zaklepaj '3' na koncu indeksnega seznama v glavnem programu ali v proćeduri je več kot 255 spremenljivk ni besede FINISH na koncu programa (ali pa je preveč besed EKD) ni ELSE dela v pogojnem aritmetičnem izrazu ni ELSE dela v pogojnem boolovskem ali v pogojnem označitvenem izrazu relacijski operator ni bil najden na pričakovanem mestu; napaka so pojavi, če je prvi aritmetičen izraz boolovskega relacijskega izraza v celoti zaprt v okrogle oklepaje aritmetičen predmet ne začenja s.+, -, ,, (, številko ali identifikatorjem operator %, HOD, 1, MASK ali DIFFER nima dveh celoštevllskih operandov 12.: manjka ') ' v arltmetiCnem-izrazu . 13 - Jtrmlljena, spremenljivka v. FOR atavku ni de. ■ kiarirana ■ ali .pa je. indeksirana. : . j . ,14 " manjka ..') ' v ' boplovakein ali òanaòitvenem izrazu ■■ 'fi .v obmoiJu vidljivosti je veS identifikatorjev, kot.-.jìhjtàbelé; iahko sprejmejo^: preva-;, /j aInIk obiiku j è tabele , avtoma ti ä nò do naj ^ . . „več j i h ■ ob aegov, ' k i . j ih dan 1 9 i stein dopu Sča ■ . 16 ' stavek, se 'zaòenja nepravilno! ^öe ae ta lia-' '.' paka pojavi pri, FINISH, je premalo ENDpv' 17 , nà levi-, strani '.znaka ' 'i = ' je nedeklariran - ali neustrezen.:identifikator , 18 " pol j Bka . dek la raci j à /j é ■ napa fina'-19 tipska specifikacija dejanskega : paramétrà . ■ ni lAÈELrPROČEDUIffi/REAL PROCEDURE; BOOLEAN PROCEDURE ali' INTEGER ' PROCEDÜBE .. . :20 Število indeksov je napačnoj v primeru for. •':; nialnih polj ee 'tarnapaka-zazna ,šele v öasu izvajanja 21 manjka ') ' za seznamom dejanskih ipararaetròv >22 , element-FOR stavka; nI zaključen z- ' ali .z . DO 'Členom: - .■;-.•,■':■■.' i ' . ■ ,.".'; ' 23 ■ procedurno tèlo."ni; omejeno s- ,'(.' ■ " ■ 24 znak .'1=' se né nahaja na; priSakovanèm ..mé-'■ 'stu.'".-.s"- :-' :.. , 2S' manjka THEN za';IF ' ,!■ •'■.:■■.'■■■. ■.■:; , ■ 26; specifikacija VALUE ril prva : : specifikaciji; procedurnlh formalnih parametrov., -27 finish je.v sredini programa), bräkone obstaja nezaključen, stjnboi: begin, '".' ali' ' ; ■28 .. aeznain prpcedurnuh formalnih .parametrov ae ' . . ne ko.fiuje z ') ' ■ 29 parameter .je;; dvakrat specificiran ali ni v formalnem seznamu ali pa specifikacija . ni ;'. zakljuöena .s. '> '. ' ': , ' ' ' 30 oznàeitvenl/pròcedurnl seznam.jé poih 31; UNTIL ni na prtSakovanem mestu ' : 32 ■ manjka 'i',, za imenom' standardne, procedure ..■ . (z izjemo vhodne ali 'izhodne) 33 -.THEN se pojavlja takoj za IF, ..34 procedurni; dejanski' parame't'èr-začenja z'-nér deklariranim identifikatorjem:.. 35 funkcija ali' spremenljivka se uporabi ja. kot ■'■.. procedura ■■■,..■■■■■' ■' ■'■ ■:■ 36 proce.durnemuvhodü, al i izhodu .siedi '(' 38 ■aritmetični ;/iaraz.vsebuje Kpolovsko " spre- . menijivko v.neveljavnem kontekstu . ■39 parameter> ^ ki je specificiran' z VALUE,' . še ne pojavlja v formalnem seznamu ■ 40 .parametrska specifikacija je nepopolna-/ 41 polje jé klicano z vrednostjb 42 klicna napaka vhodne/izhodne ÈJrpóédUre . . 44 .. celoätevilaki ^literal lii, v območju ■46 preklopnläkl .seznam he končuje s ' '> ' - ' ■47 preklopnik ima več kot en indeks. ' > 4B .besedi BYTE né sledi beseda.'ARRAY ' 49 vhodne" zbirke so IžSri^ane brez razpoznave konca programa " ... ' 50., procedura je uporabijena. pré'd. sVojo dekla- ' . ' racijo in ima bržkone različen tip od dejanskega; preureditev procedur je nujna/.da . ' ne bo vnaprejšnjega navajanja. 51 vhodna zbirka knjižnice (LltìRARY), hi bila .najdena , . '■■; '■ ' .'■■. ':'-'' •. ■," 8.2i PrévajalniSkà predstavitev osnovnih sljnbolov. 6rke A do Z .1 ; ■: (oglati oklepaj) . .. : 3 (oglati zaklepaj) .. (potenciranjèK. v ' ■ ■ ■ ,' ■ ■■ '. ■ ' : ■ ■■•i. ; . ; ' , . .■.■■'■■: .:./..;-.,,;.:: ^ ■■ (nlzni narekovaj) v .' . # . (neenakost) ^ ■ '0 ■■■^r. ■„. ' .% ,, (celoäteVilsko deljenje)/ . >■* /(več je kot' ali enako). '. ■ ■ •-.V'-. * .(množenje) v..;- . , '+ ' - ■ : ' -, ; '(yejica)'\ :'. - : (minus) ,i, '';(plka|v ,..: .v.',-/ -.(realno deljenje)' ; ■ '^■Številke 0-.do I. (dvopičje) '-■ J'.. (pòdpiCjè). 'V V ■ ■ .< (manjše kot) ! = -, (enakost) . > (večje kot) ' <= (manjSe kot ali enako) . .'■ BEGIH ■ ' • '■• ;/ . BOOLEAN • BYTE ■ :■" AND. ' " ■'■■•'.'■'■' ARRAY COMMENT : . DIFFER ' V - . ■ ■' ? .. ' DO - ELSE .■..'•..-' -v' '•:. .■. ■ END . . ." . r EQUIVALENT FALSE ' FINISH FOR . ' vv ; ■ GOTO - ■ " : -■IP ':. '■■'"..'■■".'- , ;V' ■' IMPLIES INTEGER V.' LABEL ■' ■ ■ LIBRARY : ■■'■ ■ MASK :. '■ • MOD , . . ■■ ■ ■ NOT '. ' . ... -OR ■ ■ , PROCEDURE. REAL ' STRING ■ ■: ■ ' SWITCH THEN . TRUE. . : "■■'■ UNTIL ' : VALUE ■: ■ . •■■ • . . . WHILE ."" :. .l'-26 27 29 30 i • 70{j0 .' ■33 ■'■„ ■ 34 ■ 35 36.' 37 38 ' V 40 ... 41 42: 43 ' ' 44 ,45 , ■ 46 ■ 47; 48T57. 58 59';, 60.. 6i 62 .63 ■■ ■ ' 85 ' ' 95 . , 105 • ■ lie ' :i22' 135 -169 175:" 212 214 217 241 249 . .255 ' 29S '366 ' 373: 374 '. 481 .489 .521 '535 , 575 618 658 725 780 783" 808 818 854 . 881 928 9 i Sporočila o napakah v ■ ...Izvajal nem 6aa u ! ' ■ Kadar se med izvàjànjém programa pojavi napaka, pöälje izvajalni .sistem eporočiip na izhodno naprava .1 (ha konzolo ali zaslon), To sporočilo, ima obliko • . ". .Decimalne številke siiftbolpv tiska prevajalnik v sporočilih o napakah (SYMBOL .S> ' kjer je s:ete-vilka). ■ Jezikovne . rezervirane besede so y izvirnem algolskem programu zaprte ■v enojne h'arè-. kòvàje ali izpisane z velikimi Črkami,- v preva-:jalnlku pa. so predstavljane s Številko. 40*prva__Srka + druga_örka Kadar sporočilo o napaki vsebuje .Številko, ki. ni v seznamu, je bil uporabljen neveljaven simbol , Povz roč i te1j take napake'j é'lahkó neu rav-noveSeri enojni narekovaj.'.Imamo( ERROR n : ADD PBASE PROČ LOC -aaàa bbbb pl dl aaaà bbbb ; , p2 .. d2. aaaa bbbb To s^ročilo ima. tale pomen 1 do: n je številka napake (glej pödpoglayja) ; pl je številka ptocedure z napako aaaa jé naslov.programskega Stevnlka bbbb je vrednost kazalca PBASE pri napaki ■ di . jé lokacija programskega ätevhika relativno 'k' začetku programa . . • ; Naslova aaaa in bbbb sta tiskana heksadeclmal-no. Številko procedure pl najdemo s preätevanjem procedur od programskega zadetka, začenši b Številko 1, Glavni program ima Številko 0. To Informacijo dobimo tudi v prevajalniški identi-fikatorski tabeli. Če je vrednost pl razliCna od O, se v naslednjih vrsticah sporoöila natisnejo podatki za pi do ravnine O (pi = 0). Ti podatki se lahko uporabijo za raziskovanje narave napake. Informacija dl, d2, ... je lahko povezana s podatki v prevajalniäkih idetitifika-torskih tabelah, ko se ugotavljajo položaji napak. Program se lahko ponovno izvaja od začetka z vtipkan jem znaka 'CTL-p', z znakom 'CTL-c ' pa izstopimo v CP/M. 9.1. Zasledovanje napake v izvajalnem času Pri normalnih pogojih se izvajanje programa konSa z zaznavo napake. Vendar je mogoče nadaljevati z zasledovanjem napake, tako da omogočimo izstop z zaprtjem izhodnih zbirk, z navedbo diagnostične informacije, vrednosti spremenljivk itd. To zasledovanje se doseže s klicem procedure 'error' (iz knjižnice ALIB.ALG) v programu pred pojavitvijo napake, npr. z error (UBEL zlom) j Pri zaznavi napake proizvede Izvajalni sistem ustrezno informacijo In prenese izvajanje k oznaki ali označitvenemu izrazu 'zlom' v uporabniškem programu. Ta oznaka naj bi se nahajala v najbolj zunanji programski ravnini, tako da je vselej vidna iz točke napake. Številko napake je pri tem mogoče dobiti a klicem ehln(l3), ko imamo npr. zlom; it=chin (13)i IF i > 30 THEN GOTO opmbug ELSE 9.2. Številke napak v izvajalnem času Imamo tale seznami 0 napaka je nedefinirana} ta napaka nima ustreznega vstopa v seznamu napakj ta napaka se lahko pojavi zaradi modifikacije sistema izvajalnega časa, pri čemer seznam napak ni bil dopolnjen 1 prostor za spremenljivke je prekoračen (prestop sklada); to je lahko posledica re-kurzije ali preobsežnih poljskih deklaracij; zasledovanje napake se lahko pri teh pogojih Izjalovi) prestop sklada se preverja z bločnim ali procedurnim vstopom in s poljskimi deklaracijami 2 procedura je bila poklicana z napačnim Številom parametrov 3 procedura je bila poklicana z neujemanjem dejanskih in formalnih parametrov 4 uporabljeno je polje z napačnim Številom indeksov 5 poljski Indeksi so izven meja (pod spodnjo mejo) 6 poljski indeksi so izven meja (nad zgornjo mejo) 7 celo število je bilo deljeno z ničlo 8. realno število je bilo deljeno z ničlo 9 prestop realnega Številskega obsega 10 prestop pri pretvorbi realnega v celo Števila 11 realni prestop pri normalizaciji po Izvedbi realne aritmetične operacije 12 napaka je nastala pri branjuj včitanl znak ni zakonito Število (ASCII vrednost je manjša od 48, tj. manjša kot &0) 13 podobno kot pri 12, le da je ASCII vrednost večja od 57 (tj. večja kot a9) 14 napaka je nastala pri branjuj Število vsebuje dve ali več decimalnih pik (vejic) 15 napaka je nastala pri branju} bil je najden znak +, -, ' ali E brez potrebnih Številk 16 to Je kvadratni koren negativnega Števila 17 eksponenčni argument je prevelik (večji kot 87) 18 ekponenčni argument je marginalno prevelik 19 to je logaritem negativnega števila 20 to je logaritem ničle 21 tabelni člen je izven območja (pod njim)t ta napaka se pojavi pri ioc(n), chin(n), chout(n,c) itd., ko je n<0 22 podobno kot pri napaki 21, ko je n večje od maksimalne vrednosti, določene v seznamu 23 konec zbirke Je bil zaznan med branjem 9.3. Napake v nalagalniku 24 to je sintaksna nalagalniSka napakaj izhod iz prevajalnika je pokvarjen 25 zaznan je bil konec vhoda (prebran znak 'CTL-z), toda program ni bil naložen) tudi izbira vhodne naprave O povzroči to napako 26 po končanem vhodu je ostala nerazrešena vnaprejšnja navedba; bržkone je pokvarjen vhodni vir 27 ni programa pri ponovnem izvajanju 2B označitvene tabele prekrivajo program; program je za razpoložljivi pomnilnik preobsežen 29 tabele za vnaprejšnje navedbe so polne; ta napaka se le redko pojavi, izognemo pa se ji s preureditvijo procedur, tako da se generira manj vnaprejšnjih navedb, npr. ko so procedure deklarirane pred njihovimi klici 30 nepremestljiva pomnilniška vhodna zbirka ni združljiva s sistemom časa izvajanja 9.4. Napake CP/M sistema 31 številka kanala je izven območja 32 med izhodom ni bil najden imeniäki prostor 33, poskus kanalskega branja ni odprt za vhod 34 imamo poskus branja iz neserijskega Itanala 35 imamo poskus branja za zbirčnim konc«m 36 imamo poskus pisanja v kanal brez zapiane-ga dostopa 37 imamo poskus pisanja v neserijsko zbirko 36 napaka je pri razširitvi zbirke 39 imamo poskus izhoda v zbirko z naključnim dostopom brez zapisnega dostopa 40 imamo poskus naključnega dostopa v serijsko dostopni kanal 41 kanal ni odprt 42 imamo poskus previtja zbirke z naključnim dostopom 4 3 imamo naključni dostop z negativno bločno Številko 44 ni razpoložljive poti za vhod ali izhod 4 5 imamo poskus oblikovanja izhodne zbirke z naključnim dostopom 46 prenos z naključnim dostopom se opravlja s številom blokov, ki je manjSe od nič in večje kot 255 iO. Sklep V tem članku smo pokazali vrsto klasičnih programov v jeziku Algol in a njimi tudi posebno prožnost tega jezika. Opisali smo podrobneje tudi aiatem javljanja napak in sistem kazalcev in tako razjasnili do določene stopnje zgradbo algolskega prevajalnika. Opisani algol ski primeri ao seveda dobro ali slabo neposredno prevedljivi v druge programirne jezike; ti primeri so bili Izbrani in eo jezikovno optimizirani. DODATEK 6,;..P^ : programov racionalne interpolacije z uporabo VERIŽNIH ULOMKOV, DOLOČITVE KORENA Z METODO DELJENJA •intervala, ErATOSTENOVEGA sita, IZRAČUNA BINOMSKEGA : '' koeficienta,- detérminanté ih obrnitve matrike.' ; v tem dodatku bomo' obravnavali primere, omenjene v naslovu dodatka i PraktlSho bomo spoznali nekatere konstrukte jezika Algol, . . / ■■ : X - ■ : •■ . X- «3.; t, 6/1. Racionalna interpolacija z uporabo verižnih ulomkov X - Vi Procedura confr (okrajSava za-continued;'frac-r ^ tlón) : v listi 6/1 doipsà k danim .'m', to.Skara (xi , ) verižni ulòmek oblike ;■ ; Procedurn confr dölööi k teniu verlžnerau . ulomku ; še racionalno funkcijo ; -..........t :BESIN ■ ■ V": ' ' iCGMMENT, . Racionalna . ir)te»"pplšcija z uporabo ■ verižnih ulomkov • .' Naslednja procedura je predmet pase pbiornosti ■ PROCEDURE l5,d);i ■ ; v ' • VflLLIE rnj 'INTEGER mj RRftflY M.'y, a, b;d■ .■■BEQIN■■ . . REftL r, s ; INTEGER i, j , k, ml ! ' '. . , ßRRfiV p,qC0tfn*e]5 ■ FOR j: = l STEP 1 UNTIL bi DO' • • •• • , BEGIN ■ . . - . ; v; ' , ■ . ; rs^yCj]; b!=KCJ3| ' ■ FOR i j = l STEP 1 UNTIL'- j-l.DO , p-:®(6-KCn)/(r-aCi3) J ■ aCj] -f '' ■.■'. .■■ •.;,: END J loòpj ■ ..mult:! '. :• . ■■ •■■, '. ' ' ■- FDR i i=1 STEP 1 UNTIL ml DO .. BEGIN pCi]!«®) qCi]f=(l!i END) .. V ' Z"' ' ■- ' FOR i 1=2'STEP 1 UNTIL -m DO ' ' : . • . BEGIN- ' ■ , . ■ , i': ■ FOR ji=i)tK STEP -I UNTIL I- 00 ' BEGIN . . . ' ■ pCj]-B=qCj:;,,,qij];=r ; , Z END J loop; ri»ai;i]»q[IZiQ-x[:i-n*pC03) pC0] ì.=qC03 ) qCà:)"r■ • • . . • END i loop( . ' . / . ' . lF-kH2 THEN BOTD firii,. . . FOR il«® STEP i UNT.IL Ml DD b[:iJi=qCi3i . )<«=2| pC0Ds»=as qC03s = lj EOTO multi ! ■ - . ■ - - .. • ' ■ - ' ' - ' ■ - ■ finiFGR i.!=ß STEP 1 UNTIL ml DO dCi:i!=q[il . END confr. '.'' «»»«««»«««»«»te««««»***»«»««««** LIBRARY "LlBll.FlLG" INTEGER n,dsv,:i,k; ftRRflV K,yCi!Sffl3, a, b, dceinćuaa ; ns^sei;.. _ ' devs=4j COMMENT Konzolni vhod in izhod Lista 6/1. progràffl «a Ižra-^ ' ta lista prikazuje pre fiun koeficientov veiriänega ulomka in ekvivalentne racionalne funkcije,- če sò . dani vhodni (npr . eksperimentalni) Iparl tòSk. Osrea.njl del tega prograina je procedura confr, ki toa Vhodne parametre m (ätevilb vhodnih toök)vhodne pare. (x, yV (^1 ji X in y) , in izhodne koeficiente' (polja) a (koaflciénti .verižnega ulomka), b in d (koeficienti racionalne funkcije). Program-vkljuöi v Bvoje télo zbirko LIBI1.ALG (prikazano . v liatl 6/2), preostali del .programa pa. omogoiSi.. vnoB in verifikacijo z. odmevom vhodhlhj parov in izpiše rezultate y obliki razpredelnic (glej listo 6/3). Parameter dev se .iniciallzira dvakrat (po äel ji), za vnos (konzola) in- izpis rezultatov (tiskalnik). .. for i 1=0 step 1 until rt do ■ BEGIN. aliJmei bCi3!=«iì dti3a=0 ■ end i loop I - ' . typeintdev, n, M, y) ; devtB«-) COMMENT Izhod via tiokalnik| lino' (dBv^S7)i Bklp.j , - . te«tl, "i") s -' »pBc'e(dBV,6) ) textfdev, "MCiJ")! ■ Bpace(dsv, g) ( text (day, "yCi^ ") » . [. lins/dev, £7) j for 1step 1 until.n do .begin _'■ ; \Bkip(dev)j writeB(dBVj40)! skipfdevir . - f taxt(dev,."k")! • ' . . .i epacBtdev,fi) t tsxttdBv, "aEk^i') % ^ text(dev, tBKt (de.Vi bik]") apace (dev, 9) ; space {dsv, 9) ; ■ lineldev,40)1 FOR k 1=0 STEP 1 UNTIL' n DD - .. BEGiW- ■ skip(dBv); write(deV)k)) rwrite(dev,aEkJ)i rwrite(dev,btk:)( rwrite(dav,d[k]) , : ■ END k loop i ■ ; ■ 1 ine(dBV,40); skipfdev)| skip(dBv) END confr FINISH + b ,deg Aq + djx + . deg kjer đeg ni veöj© od m%2 (% oanaäuje v BML Äl-golu celoStevllBko deljenje), Proceduta oonfr v listi 6/1 ss b programom te liste preizkuša. Tej proceduri sledi knjiinlöni klic zbirke LIB11.A]:,G, ki je izpisana v listi ' 6/2, Ha zaSetku izvajalnega dela programa v listi 6/1 se inicl^lisirajo spremenljivke n, dev, a, b in đ. Inlciàllz^clji sledi k].lc procedure typein (iz knjižnice LiBii.iU,G) za vpia In odmev vhodnih podatkov (x, y), Naslednji segment (med dev i= 4r in line(dev,27)t lapiBe tabelo vhodnih podatkov (i, x, y). Ha koncu programa liste 6/1 Imamo segment aa lapis tabele Izhodnih podatkov (k, atkl, blkj, d[kl). 8 to tabelo so doloCeni koeficienti verižnega ulomka In racionalne funkcije. Lista 6/2. Lista (spodaj) prikazuje deklaracije treh procedur, in sicer za izpis spremenljivo dolge örte (procedura line, dolžina Srte 'n'), za izpis 'n': presledkov (space) in proceduro typein z& vnos, odmev in verifikacijo (potrjevanje vnosa) podatkov. Procedura lastopi z dejanskim Številom 'n' vhodnih parov (ta parameter je klican a naslovom). Lista e/3, V listi (spodaj) Imamo vhodni protokol (odmev in potrjevanje), razpredelnico vhodnih parov (x, y) in razpredelnico koeficientov verižnega ulomka (a) in racionalne funkcije (b, d), Dolofieni koeficienti imajo vrednost 0. 1 50 e 7S 3 65 4 80 5 95 s.cae000E ei E.se^eeE ei e.eeaeeE ei 9.5eoeeE ei Mfll -Aia -A.eeecseiE 01 ee 01 50 5. e00e0E 01 65 6.seeeeE 01 -35 -3.500001 01 yCi3 OK ? Ql^ 7 C!« ? QK 7 ÖK 7 5. 00000E 01 7.50000E 01 6.500e0E 01 B.aeaoeE 01 9. BoeesE 01 ~4.00ei00E 01 6.00eeeE ei 5.eee00E 01 £.S0000£ dl -3.5O000E 01 aCk] e.Q0000E 00 -4.eei000E 01 a.s0000E-0i 1.S0000E 08 7.49993E-01 -i.49e76E 01 dck3 3.a4S03E 0S 4.3463SE -9.62369E 03 -l. 399Sae 6.507&3E 01 0,0000OE 00 0.000e0E 00 0. 0e000E 00 1.00000E 0.00000E 0.00000E 0. 00000E PROCEDURE linatdBV,n)| VALUE dsv.r.) INTEGER dov,«; BEB IN INTEBER i; Bkip(dev)i FDR-i 1 = 1 STEP 1 UNTIL n DO tent (dBV, "-") END line PROCEDURE spaceldev,n)I VfìLUÉ dBv,rn INTEGER dav.nI BEQIN INTEBER 1; ■ FOR is-1 STEP 1 UNTIL n DO t0Mt(dav," "> END space PROCEDURE typein(dav,n,>i,y) I VALLiÈ devi INTEĐER dev,n| ■ORRflY H.yi BEGIN INTEGER . . FDR i!=l STEP 1 UNTIL n 0Ö BEGIN I retype I Bkip(aev)| writotdsv, i)j K CP I»read(dev)I rwrltefdev,xCl])| . yCi}threadIdev)i rwritej • tent(dev," OK 7 ">i ac=chin(dev}I IF aBftB OR a-SE THEN SQTO exit ELSE IF a=Sy OR a=»V THEN ELSE BOTO retype END i loopt nt™i-l| GOTO out I sMiti in("i( out I END typain Lista 6/2 (zbirka LIBII.ALG) vsebuje tri pi^oce-dure, in sicer proceduro za izpis 8rt» (line), proceduro za Izpis presledkov (spaoe) In proceduro za vnos in odmev vhodtiih fodatlcov (typein). Lista 6/3 lina tri delei interaktivni vhodni protokol za vnos, odmev in potrditev podatkov, vhodno in izhodno razpredelnico. Ko zajemo izvajati program, se v levem,dalu lzpl|# indeks 1; nato vtipkamo podatek 50 in presiedere, haksr se pojavi odmev S.OOOOOE 01 itd, Se kakKén par (X, y) ne potrdimo, se indeks in a Rii® po-' vezan vnos ponovi z novimi podatki, Tak# dobimo celotno vhodno interakcijo. Ko izstoj&imo iz procedure typein s potrditvijo 'e' (eH§t), se Izpiäeta vhodna in izhodna ranpredelnii^à. Program v listi 6/1 smo v naSem primeru pEgitkusili za vhodne podatke t 1 2 3 4 5 1 50 75 65 80 95 ] -40 60 50 65 -35 Za ta primer imamo verižni ulómek y = -40 + X 7 ;50 0,25 + x - 75 120 + x - 65 0,749995 + -14,9276 in ekvivalentno racionalno funkcijo y = 324803 - 9629.69x i- 65,0723x^ 4346,38 - 139,92ex + Posebna pozornost .valja segmentu FOR STEP 1 UNTIL j-1 DO : . r: = (a-x[i3)/(r-atll)> ; , -, ker . , ae tu pri danih, pogojih lahko pojavi prestop območja {deljenje z, niölo) . V tem primeru lahko spremenimo vrstni red dvojic (x, .y) .ali ■pa spremenimo merilo. • 6/2.. Določitev korena; funkcije z. metodo deljenja Intervala na polovico . . .Procedura bisec . v listi 6/4.izračuna najprej vrednost, funkcije na mejah.realnega intervala in izda rezultat (oznako) SIGNAL, .fie sta pred-' znaka itiejnih funkcijskih vrednosti enaka, V nasprotnem primeru (pri'različnih .predznakih) pa poiSee procedura koren funkcije z metodo intervalnega deljenja na polovico in z izračunom vrednosti funkcije v razpolovni točki. Procedura .se konča, ko je vrednost funkcije manjSa od vnaprej, dane !. vrednosti eps ali ko je razlika, dveh zaporedno najdenih korenskih približkov . manj Sa od epsl. Vrednost eps naj bi bila izbra'^ na .sorazmerno k pogreäku Izračuna funkcije (k,er bi Bicer lahko nastopilo-clkliranje), vrednost epsl ■pa naj-bi bila sorazmerna potrebi natančnosti. korena. . Vrednost epsl naj ne bi bila' :manjäa od dveh enot zadnjega velikostnega razreda prevajalnlške aritmetike, ker se sicer zaradi zaokrožanja lahko pojavi clkliranje pri deljenju'intervala V: ' ' .. , Opisana metoda je:uporabijiva.za poljubno zvezno funkcijo. _ Procedura ne uporablja prevórj_a- Llsta 6/4. . . ■ ■ .. ■ BEGIN ■ COMMENT . Določitev korena z; inetodò deljenja ■ -, , irttei-vala '. Naslednja procedura je predmet, nase pozornosti •»»«-»«««««««-»««««««««'•tt*««»«-»'*-»*»««««««««*«**) . " V.''..,, -. i . ■■■ - . ■ ,. PROCEDURE bi.5ec(a,b,ep3,Bp8l,f,Bignal,><) t , . VFILUE a, b( 'REnL■ a, b,eps, epsl, K^ . -.. . RÉfiL'PROGEDURE f{: LABEL signal} .; ".. ■■■■ rBEGiN - ■,- . ..-PROCEDURE.-'f uh (y>,i ■ - ; REAL y) ■ ■;...- BEGIN"^ . ■ y ;=f (x) 5 , IF abs(y)<=ep5 THEN GOTO fin ■END'j ■;.;.'■;■ xi=aj -furify) j Ks^b) fun(z>I . ' . - , ' IF sign(y)=sign(2) THEN GOTO signalV ■ iteri': . ■ '. , ',)(t=a/e+b/a)' fun(y>'.i '■. : IF sian(y>=elgn=epBl THEM GOTO -iters -- ■' -fini ..-."... , ^ ■ .- . . ■ ■' END bisec . , .LIBRARY. ."LIB12. flLQ" INTEGER dev,i,n} ;flRRfiY:Kl', >ca, K3, )<4,'.>(5i:i:£0] ! devi=4j: r> i'F£6ij 'typinfdev, n, xl, xS, kS,'*«, x5). . .- ■■ ' ' ■ ■ " ■. , .'.'.'. 'i-;.'. ■ ■END; program '■ -.. FINISH , PROCEDURE 1 ine ) . VALUE dev.ni INtEQER dev,n( . . BEGIN ■'..' ■ INTEGER i I ■ ■ FDR i 1 = 1 STEP 1 UNTIL n DO teKt i3, «4, x5) i VALUE dev! INTEGER dev,nj . ARRAY xl, xe, k3, k5ì BE(3IN ■■ . , . ■■ ' INTEGER i,.a, 9( REAL il, z£, z3, jSj ' ; -gcBj . , '' ■■ ■ . ; lirie(dev, 47> j-teMt idBV, "»NVt ipkaj podatke v! vrstnem fedu'l) ; , tent (dev, "i-N*N") j epacatdev, 15) i ^ --text (dev, "a b - - epB ' ,-. epsl").!' . UnB(dev,47> i . . •. FDR i : = 1 STEP 1 UNTIL li .DD . . ' BEGIN retype: Ekip(dev)) write(dev,i)) . >ilCi]i=re=id(dov) i . rwrite[dev, xlCiJ) i x£Ci3 s=read(dBv)j.rwritefdey,x£CiD)j -skip=2! starti ii=i+l; IF pCi] > sqrt(k) THEN BEGIN pCj]!"k; Jä=J+l END ELSE IF ; yclLUE n, m; INTEGER n,m; BEGIN INTEGER Ì,B; a:=l; IF m>n THEN m:=n-m; FOR i:=a STEP 1 UNTIL m-1 DO as=a»(n-i)/(i+l); c8=a END c Lista 6/8. Ta procedura izračuna binomSkl koe-v fiolent pri danih dveh parametrih Lista 6/9. Procedura v spodnji listi se lahko uporabi za Izrafiuri determinante kvadratne matrike 'a' stopnje 'n'. Proceduro preizkusimo tako, da jo ustrezno vkljuöimo v dani program pri različnih primerih ' matrik oziroma vrednosti njihovih elementov. COMMENT Procedura za izračun deterginante REfiL PROCEDURE det(a, n); , VfiLUE a.n; INTEGER n; ARRAY a; BEGIN REAL t,d,max;-INTEGER i,j,k; di = l! FOR k!=l STEP I UNTIL n DO EESiN ' ■ (tiax:=0; FDR STEP 1 UNTIL n DO BEGIN t :=aCi, k] ; IF abs(t) > abslmax) THEN BEGIN maj<:=t; ji = i END END loop i; . IF iviax=0 THEN , BEGIN d s=0; GOTO fin END; IF j#k THEN BEGIN , d «=-d; . FDR il=k STEP 1 UNTIL n DO ■ BEGIN t!=atji 13; aCj,.i3«=.aCI<, i3; aCk,i]!at END . END; FOR ii=l< + l STEP 1 UNTIL n DO BEGIN t i=aCi, kj/rtiaw; FOR ji=k + l.BTEP ! UNTIL ti DO aCi, jD j:-t«a[l<, j] END loop i ; d!=d*ai:k,kJ END loop k; ' finndBts=d END det . kjer .je • ■ , . c(o,i) = 1 Za preizkus imamo npr. rezultat C{12,18) = 18564 Procedura det{a,n) v listi 6/9 izračuna determinanto matrike 'a' velikosti n*n s trian-gularizacijo. Za preizkus lahko uporabimo primer a = ko imamo 10,96597 35,10765' 96,72356 2,35765. -64,11256 0,89732 18,24689 22,13579 1,11123 det = 152731,3 Procedura lnvert(matr,n,raatrl,s) v listi 6/10 obrne kvadratno matriko matr stopnje 'n' z uporabo. vefi elementarnih operacij nad vrsticami ^trlke matr. Primer izrojene matrike je označen z vrednostjo s = i. Ije a s spremenljivo spodnjo ^nSnjo^L^o. COMMENT Procedura za obrnit^v . r^atrike PROCEDURE invert (mat r,n,«,atrl. s). VfiLUE K,; INTEGER n, s ; fiSfiftY\,at r, «tat rl ; BEGIN RERL t; INTEGER i, j,k,m; ARRAY aCliHi IIWD; . rri!=2»»i; a!=ù; FOR i:=>l STEP i UNTIL n DO FOR j:=l STEP 1 UNTIL m DO aCi,j]t=lF j<=n THEN màtrCi.j] ELSE IF J-n+i THEN 1.0 ELSE 0.0-COMMENT Začetek Dbrnitve. . FOR .11 = 1 STEP 1 UNTIL n DO ■ BEGIN "" ■ k: = i; testOi IF aCk, n=0 THEN BEGIN IF kÌja'jo »a trSiSSu, predvsem taradi nekaterih dobrih laetnoati, kot so visoka gostota pakiranja in majhna poraba energija /1/, PraiskitSanje ve ni j aahtava dobro poznavanje obnaSanja funkoij le-teh ob pojavitvah rapak. lakaSe ae da je potrebno pri C^OS veajih standardni klaaiSni model e talnih naPak (atučk ~ at) dopolni ti. nekateri avtorji /2/ imenujejo te dodatne napake "stalno ~ odprt" (atuok - open), nodobno kot pri vtzjih 8 trami stanji. V priaotnoBti iiKsnovanih napak se lahko dinaSa logiSni element kot pomnilni Ski element, tako postane kombinaoijeki logiSni element aekvenSni element. Omenjeno je varok, da vezja, ki so sicer konbinaaijska, ne moremo preoiakuSati e klasičnimi postopki sa praieku-Sanja JombinaoiJakih vezij, V naslednjih poglavjih bomo analiairali model napak in prikazali učinke napak na HAND in i)OR vazju. Podali bomo ustrezno zaporedje pre-iskuSevalnih naborov za detekoijo dodatnih napak, ter tvorili preiskuSevalne ofiodne nabore v luči Sé ananih postopkov aa kombinaaijska veaja in klasičnih napak. Diagnostične teste ea kombinaaijska vezja bomo analizirali s pomočjo grafov povezanosti napafe ter s pomočjo algoritmov sa Širjenje napak v občutljivih poteh. Na koncu dela bomo komentirali problematiko testiranja rekonvergenönih kombinaaijakih oeaij ter večkratnih napak. Za predstavitev napak si poglejmo dvo vhodna CMOS ItP ( V ) in SAUD ( A ) vrata, a lika 2, V klasičnem smislu razlikujemo dve vrati napak; kaka vhodna ali izhodna linija j« stalno u O ali stalno v 1, kar označimo » SO ali SI, Unija i je atalno v 0: (i-0) ali stalno a J; (i-l). Pri tem ločimo n*2 raxliänih napak. Se imajo vrata n vhodov,' ZnaSilna napaka aa poaa-mezne vrsta logičnih vrat je t.i, odločilna napaka (prevladujoča) in je aa iVOft vrata SI in ga NASD irata SO. Kot ge vidi na sliki 1 aestavljajo CNOS logična vrata dva p in dva n - traniiatorja, V primeru, da je kateri od teh (ali oba) v paralelni aestavi odiprt, pridobi iahodni napetostni nivo logičnih vrat ootenoial maea ali -Hidd, tistega pač, ki pripada odprti emeri. Podobno ja s tranzistorjema V serijski vezavi, ki pa morata biti oba. odprta. Pri normalnem delovanju dobimo na izhodni liniji logično vradneat 6 ali 1, Primer, ko ata oba ssstava fo in n) odprta, ne upoštevamo in to napako ne smatramo za logično napako. Poaabno zanimiv ja primer, ko ao tranzistorji v obeh sestavih zaprti, figzmere si bomo D tem primeru ogledali bolj natančno -Cn zaradi enoatavnoati aamo sa SASD vrata. Ko je na enem od obeh vhodov logična O, ja paralelni aeatav (p-tranzistorji) prevoden, serijska pot (n - tranziatorji ) pa zaprta. Ha izhodu imamo logično vrednost 1 in polnjenje izhodne kapaaitivnoeti. Ko pritisnemo na vhoda A in 3 logično vrednost 1 ae razmere obrnejo. Serijski gegtav tranzistorjev sa odpre, paralelni na zapre, Ha iahodu imamo logično vrednost O, kapaaitivnost ee prazni skozi aeri jski sestav. mnt s M Siikq IS CMOS sott in HASB vpata Vaemimoi da jè na vhodu (AB) nabör 10. Sa' i-t^skt oeatov jer aaprt, p-tranaieior, ki Ja pptkljuS^n „a vhod A Je ,aapi>t, ivanaiotor, ki ja p^kljuSen na vhod g ,pa o dpi-k. V nòrmdlMm »tanju Ihres napak}- imamo' na ishodu lógiSno vrednost 1. V primeru, da a« pojavi kaka enojna napaka npr. "linija f je prokinjana, ao aa-pro^ prevajanje paralelnega aeetava. . Jahod je v 'odprtam" ali visoko impèdanSném etanju. Ka-paoittvna breme na izhodu je nreHadujoSe in ee ne polnx ter ob dr Si logiSno vrednost predhodnega Stanja. Tovritno. napako bomò oànaSili s SOD. S pomodjo alike lb, kjer ao vneaene napaka Odprtih lininj in a kratkim "^premia tekom lahkp analiairame vpliv» oàtaliH Hapak, Stkatén od njih inaje ekvivalenten uHnek^ lahko, bo pri danem vhodnem naboru takoj: raavid»»t ali pa ao aamaekirane, Bapak« SOD, ki vplivajo na p-tranaiatorja eo (a. J, f, a« d, g) in na n-tranBÌatorja eo (kt i, h, i). Zaradi »okvonr Snega anaSaJa obnaSanJà CMOS logiSnagä'olèmonta ob pHaotnoeti SOP moramo ite t feané to.atH«,:kabp^, re primerno eekvainfino urediti, ' ' ' Pitdobne kot pH preiakuSanju eekvonSnih »o-, ai j najprej ttgotovimo ahano atanj»^ .Čo pogta~ damo anoifne SOD napake t ki vplivajo na p'^tran-^ aiatorjà khko ugotovimo, da,- doaéSemó snano atanje tako, da irhod»o kàpaoitivnóei nàjp]^J i Bp rasnim (logiäna 0). To doßoSemo a té m^ da damo navhod ndtor ti, kar da na inhodu logiSno 0, ne glede na otiatoj omeinjene napake. liaeUd-nji korak Je polnjenje iahođa à tem, da,damo na uatreBentfhodlogiSno vradnoai 0, na arugi vhod pa vrednoàt 1, 69 ae iihođ ne. nabije na vivdr noat 1, pomeni, da imamo oprapka a SOp .i a éku-pine omenjenih napak. Podobno' lahkp preiakvai' mo vhod B. tnojne napake SÓD, ki vplivajo nò n-tranaietorjà ugotavljamo iakci dà najpraj nà^ bijamoiahod (vrednpat J» togiSnà 1, M g'tid«: na napako} na logiSno vrednoàt 1 innato v iie^. atednjem koraku le ' tega i»praanimo,. V pHko' ru, da iahod ni na logiSni ifrèdnóeti; O, aaBhano. SOD iB omenjene akupina napak, Xb Bgomjega raamiSlJanja a ledi naatedhja] teatno aaporedje, ki odkrije vae enojne SOD napake v dp.o vhodnem HAHD veajui Taod = fJJ, O J, 11, JO}.-: Ha podoben naSin lahko raaBirimo àaporedja vhodnih naborov tta HAHD vràtà a veSJim Številom vhodnih linij. Prav tako lahko. doloSimo.preia-^ kuSevalno aaporedje aa CMOS NOR vrata, Ža ävo vhodna HOS vrata dobimpi Teođ= (00, 01, 0Q, 10), III,DEfEKCUA .«APAK V KOtBIHACfJSKIH VEZJIH a.} Drevesna veaja Ilajpraj ei bomo ogledali problematiko deta-J^Je napak v drevesnih kombinaoiJakih veajih, Drevesna veaja ne vssbujejo rekonvargano, imajo veS vhodnih linij r primarnilt vhodov in èno ià^ hodnó tinijo:- primarni iahpd. Obravnavo'detekoiJ e napak Šalimo nave iati na Se anane poatopke sa ktaaidna staine napaka, ter na pripadajpia pojma, kot so obiutljive po^ ti in grafi povštovraBredov napak (OPSS) /3/, Oglejmo ai najprej raamera na prvem nivoju dreveanega veaja t.j, na nivoju poaaifieanih vrat. Zanima nas: stopnja adruSevanja napak, le~ta ppveauje napake na vhodnih in išhođniH linijahvekvivalenöni raéred- napak. To'- heim'. potem pomaga pri sledenju obSutlJivih napak od primarnega vhoda dp primarnega iahoda, te» pri -dolodanju neloSljivih napak. logiSna vrata vrste Alfp (IN) imàj.0-pri tem naslednja anaSitna vrednosti I togi 9nà vrednost Ö predstavlja pdt.O'r Sino vrednost in napake ŠO ao odloHiìné -in nà-■ lóSljivé, nàpake Sì so nsveaahe napake, ZogiS-na vrednost 1 pre lutavi j a' "pogoj . aa tvorjanja-kaka obdutljive. 'potii tiogička vrata OB (ALI) imajo naslednje, anaäilne vrednoatit logiSna pradnosi 1 predstavlja odlóSitno vrednost .ifi napake SI so odloSilne in naloSljiva. Sapaka SO BO nevesana. napake, . LogiSna vradnoat Ó na '. kaki vhodni liniji 'predstavlja p.ogoj aa tv.orja.r nje občutljive poti v kaki preostali vhodni li.-niji. ' ■■'. '■ . ■ ■ •'. „ area te Sav lahko dokašemo, da da tek tiram . vee enojne napake v logiSni.h-vratih a n vhoÀti-mi linijami a nt.J testnimi nabori. Pri tam Uporabimo n taatnih naborov »a detakoijo nev«-aanih napak in en nabor aa detekoijo odloHlmh napak. Heveaane napake eo med aeboj loSlj^ve, danem trenutku je tahko obSutlJiva samo ena v/todna mpaka (Unija). S pomočjo aPRN lahko grafiSno ppikaSemo raarade napafc in pripadajoSe ralaoiHa, Veaki liniji pi-ipadata dva krogoa, gornji predetavlja napako S3, dolnji pa napako SO. Kot prvfflsr vmemimo IIAHD vrata a tremi-vhodi, alika S. Oh I? a 6 đ ä 0 ^ A i A 0 t S i i 1 0 Ć Slika Si: Lo0Ì3ni alement a vhodnimi nabori Slika 2b: Va tre ani GPBH Slika Dvo nivojeko vetja in ua treatyi, OPUS TJtODI K B C D S f C H TESTNI NABOm > 1 8 3 4 5 S 7 B O 10 11 12 1 a 1 1 1 1 e 1110 111 111110 1 0 0 0 0 0 0 1 1 1 I I 1 I I 1111111 0 10 10 11 I 1 t I 1 1 -0 0 0 0 0 1 J I 1. 1. I 1 1 1 1 i ■ 1 t 1 1 1 I 1 0 re la atrukture GPfì/i ja raavidno, da teetni nabori ki detektirajo vae vhodne enojne napaka, de tek ti raj o tuđi vae i shodna napake. Pri drevesnem veaju ae lahko braa tegav prepriSamo, da mnoSiaa vhodnih taatnih naborov, ki detektira vae gnojne napake na primarnih vhodih vaaja, detektira tuđi vea enojne napake v oelotnem dveveanem veaju. Pri drevesnem vetju ao vae linije neodviene in aa lahko vedno ffanarira vae enojna obSutljive poti. Kar v teh vetjih ni rekonvergena, ne pride do 'vaajemnega marì^iranja kake napake. če na vaakem vhodu ■logiSnih Vrat aagotovimo teatno aaporadje Taod odkrijemo vae SO, SI in SOD napake. Poglejmo to na Biederem vgladu, alika 1. Vradnoeti vhodnih naborov logiSnih vrat ao podan« u raapredetnioi I, Prvih )1aat teatnih natorou je aa SOD napak» sa vhode A, b, c, ori tem zagotovimo a vhodi D, i'i F pogoj aa obSutljivo not A, S, C, 0, I, t. J, vrednost 1 na liniji H. D-i-ugih iieat tast-nih naborov pa sa SOD napaka aa vhode A, 9, C, HnoSi-aa vhodnih testnih naborov ja aadoatna tudi aa klaaiöne napake in je tako uetraani OPHti prekrit. Poglejmo, katere anojne klaeic'^ne napake odkrijemo e vomoSjo taatnih nahoroVt Haapradelnioa I teat li (1 - 0), fa - OJ, (i - OJ, (7 - 1), ($ - 0) teat S: n - u, <4 - 1), (7 - 0), (6 - Oi, ff -teat i (B - 1), <4 - 1), f? - 0>, (B - 0Ì, <9 -1) teat 8! (3 - i), (i. • 1), (7 - 0), (6- 0), (9 - 1) Ti - 0),' (& - 0), fS - 0), (S - i), ($ — 0) teat 10,• (1 - 1), ($ ' 1), (7 - 0), (S - 0), (9 - J) teat 12: (1 - 1), (e - 1), (7 - 0), (8 - 0), (9 - u la opisanega je raavidno, da potraltàijemo detekoijo klaaiSnih napak aeđem teatm, «« , tekoijo vaeh obravnavanih napak pa dvéiltàjat te-. atov. Bras teBav lahko poatopek teaiiülinja ra«# Sirimo »a dre vae na ve a ja a vtSjim |t««flö(iT nt'^-vojev. b) SPLOŠlfA KOml/IA.CIJSKA VEZJA : ■ SptoSna 'kombinaoijéka. maja vaè^ tudi. ràBvejiSSa .in atiSne toSka Jrekonvargenčne toS'-fccjj kjer ■ ae' fasvejane poti ■ eopat- 'jtdpuHjo, VeeHuJa Jo lahkci ' tudi. ve3. p}nih i ehod'o v. Po-aleđtoa ..rekonoarffana eĆ, veS dimenaionalne ■čutljive poti, kjer ae lahkó egođi, da kakih napak nemorèmode tektivati ,, Kaka napaka je [a paralelno potjo maskiranaker, le ia predstavlja redundantno občutljivo pot. Potem lahko étektirainó. napake v enojnih občutljivih po- ■ teh akoai etiŠno tó3ko in napake - od 'primarnih \ vhodov do- raavajiSča in napake, od atiSiSSa'do primarnega' i fiHoda, .: Ha- ■ aliki ,' 4 imamo primer enoetavneffàf^onvergànSneffa kombinia&ijakeffa. Vee- j"' ■ . / ■ - - , / V:. ■ j ■■ • -, ' ' - , v - ■ ? O *u >Tl vhodi testni- 3 4: 5 nabob i ■ -7 ; 9 1.0 11 12 . • ^ a. 0 1 ■■ 1 '..a'- 0 0 0 . 0 0 b 1 .0 ■1 : 0 0 0 0 0 ■ ;, ' c '■,■ 1 ■•1 v l... -.1 . .0 0.. 0 0 ■ 0 .0: d. • 0- 0 ■ 0' 0 '-b :-0 ^ ì 1 1 1 1 ■ e 0 0 0 0: 1.. I 1 ■ 0 1 1 ' ■, ■ J' '' • 0 ■ 0 0 '0 • 0 0 • 1,:,, .'l. ; . i 1 1 0 . " • g . •■. ■ i.. ■0. 1 .0 ■ 1 ' 1 i. 1 ■ 1 ■ I ; h ; ' 1 1': •i; . 1- 0 . i 0 /1- ; - Raipredelniàa II, ' ■ . ■ • ' Pri koMó.. irekonitergenSnih kombinaaijskih .. veitjih j>. prob'iémaHka preiakuSanja Male »omotana in aaenkrai ni na ■'voljo ■ učinkovitega spl.oSnega postopka ' aa diagnpaHko.. veSkvatnih napak. Tuđi na tem meatu predlagamo vpeljavo dodatnih testnih toSk/B/, ki'jih; amatramp kot dodatne primarne teetné iahodéV ' Dodatne tea tné toŠke namee ti'mp na rekonver-gendne poti, koi età to npr,.i TÌ in TS.na »liki 4. S pomošjo dodatnih primarnih ithodóv razde-' limo oelptnp veaje nä v'eS marijSih drevesnih vetij ki . jih lb enamo uapeSnp testirati. Stika'. 4i EnoBtatìno rèkoiiyergénòno ' vai je . U eha j enojnih :'napak 'y. tem .Vèsju ne moremo odkriti, Oglejmo ai. doodiménaianainà pbSutljivo pot od- B dp -H. :■. Ugotovimo lahko,;: da odkrije no a vhodnim naborom 011 naaladnje napake.nd tej potit'' ■ ' ■■ ■ ' ' ta(b. - 0),. ornaga-: .. -li-', a ia'delki aà klàai'ine napake. Za drevesno veaje amihodi je- dokasano ../4/, -da pot rèbu je mp aa. detekcijo -V'eSkratnih'klaeil.nih -napak, nàjv'ei vhodnih testov. Poäiopek aa ■ detekaij.o-, .vseh napak -vdrs.veanih kombinaoijskih veajih je no-tem e^ak opisanemu, e tem;''da predpi'ilemo' nogoj-' nim vhodom v, lo.giSna. vrata makaimatno neobčutljive ß^ti. , ■ '(Hakainiaino. 'neobSut.lj.iva tri vhod- na . m^Đ vrapa, imajo 'vhodne .nabore 000)." - Za naS primer a_-a..Blika : 3, ' poten dobimo. ale:dembi napi; jakih vaaij, ob predpoatavki klasidnega- modela Hapak, nèaddoè'tni aa' diagno-atiko CtiOS .veaijy 'Lahko pa ae- en adap- tirajoč tém^a èe.-uppSteOa pravilno aaporedje tea tov, Tea tni -poa tcpàk ..aa. drevesna veejat kjer. upoštevamo SPi>i klaai3ne. enojne in ve3-kratne tapake. Je egra jen na osnovi 3e anànih ■ pravil aa'Worjen je občutljivih poti in ràire-dov nap.àk,\ Tudi aa aploSna kombinaaijaka Vea-ja,, uporabljamo andnje o generiranju- obSutlj'i-vih.poti. Opisan model nap.ak pa seveda . vklju-Simp tudi v kakšen drugaSen postopek ait detek-r ' oijo mpak, ' : - .' ' - LITERATURA /1/ P.äiljanovidi Hikroelektronikat integrirani elektronički aktopovif 'tkoldka knjiga Za-grab^iaes. -' ■■■ ■ /2/ X, L.h/adsdoki Fault 'Modeling and Logia Simulation of C^OS MOS Integrated Cirauitat The .Bell- System .Teohnioal .yoiimal. May - June, 19 73,.. . - .. . ^ . ; ■ - , .f /3/ K.Murn, J.JCoreninif Ò'raf povaaav-raare-. dói> napak'lombinaoijekih' logičnih veàij 'in de-tekoija enojnih in večkratnih napaki Simpoaij Informati aa, 3 led 19 73, '■/4/ ■ >. l'i a ana ki, R.Murn.' Method for .Multiple Fault, diagnoßis in -Free . networks:. Intern. Symp, ■ on fault -' Tolerant Computing, Paris, ./S/ .R.Murn, ' T.Pieanakii An 'Avptioation of FanoutPreonetwork Diagnooia to General Combir national Netu.orki Proo.:' of th'e thifd Intern, . Seminar,'4>plied Aapeo't of the Autoihata. Theory, Varna ' ' ■ ' ■ ' ■ INFORMATtCA 2/1984 NADZORNI PROGRAM ZA MULTIPROGRAMIRANJE PRI SPROTNEM VODENJU PROCESOV UDK: 681.519.7 B. CRNIVEC ISKRA AVTOMATIKA, T02D SISTEMI Članek opisuje koncept nadzornepe propreirs, prirelenefre zs aprotr.o vođenje procepov v industriji in energetiki,, ki btto pe razvili v okviru ohsežneffa profraF.skefn paketa zs nsdžor procesov. Paket je osnovftn nn aparaturni opreri irikrorafiunalrii^kepa teleinforiraoijskefa aietefta TI-30E in oT'se^'E Tanožico KskljuSenih prorrameVih mofiulov, ki Jib povezuje HBClBorni propraiE. ?he paper deels with the tasie principles of s It hòc been developed as part of a complete eoftwnre pBckai':e for procees oontrol ^aBeđ on the hardware trođvles of the iPicrocompiJter teleinformation systeir TI-^OE. K-ERKEL FOP MULTIPROOFArifllNg IN REAI_____________ ifultipro^rsrorcinp kerne], aSspted for real time control in industry end ènerfetlca 1 . UVOD Sprotno Bpreirljanje in vodenje procesov je celovit problem, v okviru katerega naletimo na najrazličnejše naloge. Procesi, ki jih želimo krmiliti, se zelo razlikujejo » po obse^fu in vrsti vhodnih in izhodnih informacij, po principih in Kshtevah Ka regulacijo, po sishtevanih funkoijBh (npr. arhiviranje, etatisti^ne obdelave), po na Sinu spremljanja procese oziroma iedaje informacij o procesu (vodenje sprotnih in cikliSnih protokolov, prikaz ne sinopti£ni ploSči, grafiSnih terminalih ipd.). Zaradi tako velikih razlik med posameznimi aplikseijasii zahtevamo prilafofiljivost sistema za nadzor in krmiljenje procesov v neJširSer ohee/fu. To najlažje dosežemo z veliko modularnostjo aparaturne in progrBm. tem' je.a stališča ' monitorja: {generiranje-,. sistema, končano.' Tak! postopek 'zahteva .posebno zgradbo 46 vp.t;li pro^TaK'Ov, ki jo i prcfrair Je sestavljen lirstovalnerH" dela. Oh pot-itopok prvc-fs zsfon :'.fi prelclepljan dele> ''j,2,), V:ar Ime redno iüvrfiijo y.afonslci (slik!) ns koncu pa ki jn naskonöna zankn (iokončno f'enerlran. luntrlra ulike iz "za^'onpkef-. taki Kf-rtid): «I avtomatično je In razvrSfia possiedi00, (IH deli veoh pađeino v slepi 1 ). S ten j ?.. Vi=sk »" in "o-i potakn nnprL^j po tije (ra?;-y.npo-pro{^r»rt!ov pPOfTÖIP, Val prof'ratrl so ves £as naloženi v centrsl nem pon^n.ilniku, i?,oto nif.t» implenenti rani operaciji kreiranja in brlSBtija profiraraov. Ob vključitvi perifernih romnilniSklh enot ju bo potrebno dodati, vplivali pa bostü le na formiranje in odstranitev đeskriptorjev pripadajočih programov {i). Zafoneki del vaakepn pro/rama se izvrfii natanko enkrat, to je ob zet^onu Bistenia in eluži kb generiranje lokalnih informacijskih Btruktur in zn postavitev zaöetnih vrednosti notranjih spremenljivk. Zato bomo odslej pod izreroin proprsir pojmovali le obratovalni del - to je restiif;nl "delovni" del proprama, ki ae lahko poljuhnokrat izvede. ZpkljuCen je b&e vese sli 2) preko Sakalne toöke, ki predstavlja točko preklopa (proprem prostovoljno odstopi procesor). VsakiŠ, ko je program etartan, se eaCne izvajanje ► obratovalne^re dela - nepon-redno za čakalno točko, torej ae vsakič i?,ve(!e isti proi^reir, seveda a reeličnlmi vhodnimi podatki. -<5 rr üaconsSca sekvonoa prvega programa zagonaka aekvenca drui^efra programa aaponflka «jokvenca zadnjec^i programa neskončna zanka Slika 2: zfrsdbft profrnmov Slika 3: ceneriranje alatela 3.2. dodeljevanje procesorja rionitorpki programi ae razlikujejo po "politiki" rtodeljevsrsja procesorja, to je po kriterijih ZD l?.biro proerana, ki ne j ee i7.vftja (rsuvrrsčfinje), in po toSkah, v keterih lahko pride dO take ir.bire {točke preklopa). Te operacije iKvrSi del nedaornpps. profrema, ki (»a imenujemo ra^.vrirčevalnik {scheduler). PopoEitF! je realizacija (lì3), kjer proprame razporedimo na nekaj prioritetnih nivojev (po-nE\v(\di f., C ali Na. vsakem nivoju dlnnrrično razvrfičamo profrpire v čeke.lni sernam, flede nn trenutno stanje sistema. Ko pride dana prioriteta na vroto, se Kačne izvajati pro/'rnm nn vrhu aesmama. Tedšebojna Rinhroni p;nf i ja je dopeÄena s pomočjo slfnnlov (binnrnih spremenljivk), ki aktivirajo pro» frnrrske module. Ti imajo ne rer.polsipo več F.t.ifinj, npr; aktivno, pftsivno, čakcnje n» ei^,» nal, čaksnjp ns. prekinitev (na en si/fnal lahko čaka VL^č proframov - zopet se formira Čiakaliil neznfirr), ^akfi reaXiKaoijtì nudi aelo,Široke moKnosti upornbe, vendar pri večjem Ätevllu pro/'.raiT'Bkih modulov In sipnslov Kelb težko rredvidirro vse možne f.ltuaeijc, kar pa je nujno r.H previ] no delovdnje. S podrobriiir proiiCevenj.etr nslop in funkcij že reslizirfinlti aieterov za sprennljfinje procesov UfTOtovimo, đa se rBzJičnfi pomen'bnost vhodnih inforiüECi j ilirektno ori rež« v nBlo^ah in operaci Jah, ki dobijo, tipično hierarhičen r.nsČBj. PisteiE pprotno voden.ie procesov predRtpvlje raeSlritev sistema f:a ' spremi Jan,procesov, kjer krrril .ieri je fornialno. jirettctüv] .-ja le ranožico-lofiùnlh pof^ojév ter strogo fleters'lni-ranlh varočnili Dkcij, pri pcfoju, d» so vhodne inferrane i .ie verino nn rti^polaj^o . ■ Zato je upođ-no to hierHrhijo iskoristiti in- io fikpno vf;ra<ìlti v nadzorni proprem .- tako da postane Število prioritetnih nivojev enako številu pro{;rairtov-. V primeru nonralno , pričokovanepa, hierarhiSnR|t"a teks dof^odkov, je Izvedba ras^vrSčevfilniko ne taki osnovi bistveno hitrejža, ker je sevede primitivnejSs. V' primeru "nestandardnepa" teka dopodkov, moraitio uporabiti postopke "posebnih" sinhronizacij {razdelek dosežemo neatanderden vrstni red otlvijanja progrBinov s preprosti«! . raKvršfievfilnikom. R sintezo IzbranefTP principa BlnhroniKaci j (?.?.) In zporaj navedenih zaključkov pridemo do razvrSSevalnika, ki deluje po naslednjih zakonitostih: 1. Vsakemu proerainu pripade deskrlptor, ki vsebuje konstanto P ter spremenljivki S in Kà, kjér pomenijo; P ... prioriteta programa, ?.o vsako aplikacijo fiksno doloCena; međ množico prof^roinov in naborom prioritet obsta*-. je bijektlvna preslikava, S ... stanje programa!. program se vedno naliaja v enem izmed dveh razpoložljivih etanj - "pripravljen" na izvajanje, ali "ustavljen" (oblika blnarnef.a semaforja), . (fé... koordinacijski Števec: stanje števca je nenepntlvno Število, ki dol.oöa, kolikokrat se »o.ro program äe Izvräiti (startati). ■ naenkrat se lahko izvaja le en program (ker isnamo monoproceeorskl eletetp). 3. Izvajanje proprama se prekine v dveh primerih: - v propramu ■ naletimo na klic razvrÈòevalnika (procedura schedule); ta klic je eivtomatiSno vf^rajen na koncu pro-Cfna - v Čakalni toCki, - nastop zunanjepo preklritvene^^a ' alf^nala {prekinitve perifernih V/l enot, «asovrlh vezij ipd, obravnavatno . enako kot reenifine dof.odke v kontroliranein procesu, vse je vezeno, na preklnl tvene lini je).. 4. Do preklopa (razvrščanja) pride natanko po vsaki prekinitvi izvajanja propraira. Izbira prof-raina, ki mu "bomo dodelili procesor, poteka po naslednjem preprostem algoritmu: - vsi proprami v stanju "ustavljen", ne. tekmujejo zs CFF (procesor), - vsi prof-raml, katerih koordinacijski Števec je ienak hlč, ne tekmujejo za OFFl, ► izmed preostalih propramov, dodel lioo ÒPE programu k najvišjo prioriteto. Potrebno je poudariti, da absolutna vred» nost koor. števcu, ki je vetja od iii6, nima nobenepa pomens. več na izbiro - dodelitev CPE. Na najnižji prioriteti imatno v prejšnjem rrazdelku owenjeni "nlepi" pro- .{^ran. Ves čas je v stanju "pripravljen", ves čflR. itpa KErjizličen od niS, zato. je po r.pornjem alforltmu vedno'izbran, ko noben od "dejanskih" programov nima izpolnjenih pobojev za izvajanje. Ta program predstavlja neskončno zenko, iz. katere nac lahko reSi le nastop zunanjefe preklnitvenega sif?nEi]a. ' ' ■ ■ ■ . Preklop fizično izvršimo tako, da pospravimo stonje notranjih registrov procesorja v skled programa, ki je bil prekinjen, napolnijo registre procesorja iz sklada programa, ki je izbran za izvajanje, in le-to sprožimo. Izbiranje programa iüvrSirio pred . operaci jo üä-menjaVR veebin registrov. To je pomembno zaradi povečanje hitrosti £e dejanskega preklopa ni (za izvajanje je .izbran isti - predhodno prekinjeni program), kar je pri izbranem konceptu pogoat primer. 3.7. Sinhronizacija med programi Pri nalogah procesnega, vodenja moramo zagotoviti sinhronizacijo ced (sodelujočimi) progra- ; ml, Binbronizscijo programov z dogodki v [ obra vnavanniT' procesu ter einhronlzocl jo z re- j alnim (astronomskim) čaBom. Če inkrement ure j obravnavamo kot dogodek v procesu in če zajemanje dogodkov Iz procesa (prekinitve) realizi-reitio kot zaključen prograir (razdelek reduciramo vse primere v problem sinhronizia-olje med programi. Za sinhronizacijo programov ■emo uporabili principe,, dobljene s.sintezo poenostavljenih načinov sinhronizaclje po .metodi signalov (t;3) in po metodi koordinacijskih Števcev s pripadejočin prenosom informacij med programi preko krožnih medpomnilnikov (4). Princip koordinacijskih Števcev je ' za procesne namene zelo aanlmiv, saj po potrebi enostavno omogoča . večkratno (zaporedno) startanje istega., progrs,«" ma z različnimi vhodnimi podatki, ki ae kopičijo v vhodnem krožnem medpomnilniku. S tem uspeSno rešujemo problem preobremenitve procesorskega sistema v kritičnih situacijah, kot je zahtevano v poglavju 2. Kot osnovni princip ' sinhronizacije «sto sprejmemo koordinacijski . Števec e principom medpomnilnikov in zahtevano vgraditev "čakalne točke" v vsak program, kot je že prikazano ti» sliki 2. V kompleksnih sistemih ima lahko vsak program več koor. Števcev (4), v naSem primeru pa emo se omejili na odnos, da vsakemu programu pripada natanko en Števec,' kar v-splolnem popolnoma zadostuje, vpliva lahko . le na način razdelitve nalog med programe. Kot osnovno operacijo zato uvedemo proceduro start (program), ki .služi ' za startan je poljubnega programa (parameter), pri čemer prenese vhodne podatke v -sprejemni medpomnilnik dotlčnega programa ter mu inkrementira koor. števec. To je reoližacija operacije tipa send (signal) (1), pri Cetrer bi vsak signal pripadal natanko eneiru programu. Ko se program izvrši do konca, skoči v čakalno točko, kjer sam sebi najprej dekrementira koor. števec (glej definicijo KK v 3.3.) in nato kliče proceduro schedu]e. To predstavlja avtomatično (obvezno) izvrSitev procedure tipa wart (signal) (1), pri čemer bi vsak program zopet čakal samo na svoj (en sam) signal. Ker lahko naloge pri vodenju procesov razdelimo tako, da je večina program.ov sodelujočih, ■ izbrana zgradba pogramov zelo poveča preglednost in enostavnost sinhronizacij med programi, ki tako operacijo (wait) zahtevajo. Zaredi preprostosti tega mehanizma, bi morali v'konjillcirfinih situacijah naloge razdrobiti na ofronno število profrramov, ksr Je nepregledno in pieekopotalino. Zato dodamo äe princip "pofsebne" sinhronizacije,kjer vsakemu programu dodelimo blnfirni semafor, ki oznaSuje stanje programa ("ustavijen'V'pripravi jen"), kar realiziramo s proceduraira ustavi (program), in pripravi (proprem). Prva ustavi (prepove) izvejan;ie danefa programa, drypi» pa le-to Eopet oiKopoči. Stanje semaforja vpliva na dodeljevanje procesorja, kot je bilo opias.no v prejšnjem rasđelku. Iz opiisfinih Klik on it ost i odvijanje proprsmov in sinhroni?.0cij sledi, da naj bodo protrami prioritetno raüporejeni tsko, đa jih je Cin ve2, v stanju "pripravljen", tsko da prioriteto in stanje koor, Števcev določata normalni vrstni red izvajanja. Semafor ustavi jen/prijiravl jen uporabljamo le pri kompliciranih primerih koordinacije med. programi (primer: takojšnje izvajanje nekei^a probrana dopežemo tako, da vse programe z viäjo priori'-teto postavimo v stanje "ustavljen", pri žeirer koor. števci obdržijo infortraci jo , kolikokrat bodo jT.orall protrami 5e steči, da bodo vse nolope opravljene). Pri aprotnesn vođenju proceaov je sinVironizaci-ja prof^ramov 7. realnlTn časom b.istvenefa pomena, ?.ato ee upora'blja ve£ tovrstnih operacij, obiSajno procedure vrate run (program, Sas) in dela.y (profrfim, cakasnitcvT" ( 3J. Prva sproži izvajanje proproma ob določenem (astronomakem) Času, drufa zakasni iBvajanje programa ks. določeno števi]o časovnih enot. Polef /rornjih Sirio uvedli še proceduri pere (pro/^.ram, perioda) in iiriäi (program). Prva raeporedl pro-fratri periodično startanje (v konstantnih časovnih intervalih), drufra pa dani program briše i?. rfiKpoređs za periodično startanje. 5.4. ZaÈSittì skupnih virov Kaščito do.^ežemo s sočasno izključitvijo pro-(Trai,"ov, ki te vire uporabljajo. Skupne vire predstavljajo đo]očene pomnilniške lokarije (npr. krožni medpomnilniki) pa tuđi nekatere v/I enote. Zaščito prvih enostavno dof ali (multipoint >, LCC (Local Communications Controller) v konfiguraciji obroča. Omogočena je tudi povezava med S/l RPS Communications Monitor in S/l EDX Communications Facilita preko LCC. 2.3 Nadzor nad mreto CF omosoča sproten nadzor «reie. Z vsakesa terminala je mosoče ob vsakem trenutku izvesti naslednje ukazes Definirati novo postajo. Vključiti postajo v mreio. Ustaviti tok podatkov med postajami. Izključiti postajo iz mreJSe, Povezati dve postaji v eno ali obe smeri kot privzeta naslova. Spremeniti definicijo PostaJ, Izpisati statistične podatke o posta ji. s3. 2.4 Definicija sistema : . v : CF prepoznava enbte programske in »trodne opreme ii definicij po nasledriJem dospvorue VOZLIŠČE ie VBak'računalnik Š/l v ■korifisuraci-' ji,'" ■■ ';y ; " - . ^ / . ■ ■ POSTAJA' Je lahko napravat komunikaciJaška povezava' ali aolikaciJski program. PostaJe so lah-, ■ko različnih tiPov. Pri definiranju vsakésa vozliftča v mreii ae kreira definicijska datoteka z informacijo o vseh 'oostaJah lokalnega vozliSčsT .o vi»eh voi-.ližiih. s katerimi lahhg lokalno vozližče komunicira ter o vseh poatajah v oddaljenih vozlli-r-Clhi, š katerimi .bo lokalno vozli&Će komuniciralo népoàredno. Vòzli^C-' ki ^icer obstajajo v. mreli.. a lokalno -vo'zlièie z.>JÌ»i ne bo komuni-' eira lo I. . ni potrebno' navesti y def inici Ji vozlišča ^ Izvorna ' nouta Ja lahko 'poSl je sporočilo preko svojesa vozliSCa v neko druso vozliàfie,. ki ni neposredno Povezano z njeiiim voiliàiém. 2.5 Centralni nadzor -in vzdrievanJe mrete . 8 centralnega-■ vozlišča ,Je ■ mogoče upravljati, .naslednje'naloge« , prenašati datoteke alocirati in" brisati datoteke v. oddaIdenem .voz-liSču ali-uporabniškem računalniku startati neko oddaljeno'vozlišče nadzirati vozlišča z uporabnlžkim računalnikom 2,6 Dostop do oddaljenih diskov Aktivni prosrami ima Jo lahko a poljubne točke v mrefi.dostop do diskov vozliSčnih računalnikov. Datoteke na disku adda.ljeneaa vozlišča se preslikuJeJò postaji.^ kot da fio na lokalnem vozlišču.- 2.7 Diaarioiatlka diagnostična pomagala omoaočaJo funkcije« poimensko izpisati PostaJe vzpostaviti Postaje • ' zbriisa't.i posta Je PoSilJati in špreJ^ati sporočila . prikazati vsebino pomnilnih POdr.očij nekefl».«!-stema ."' ' 3.0 OPIS VOZtiSCA 3 ,1 TiPi posta J ' - , y vsakem voz,lišču. Je potrebno definirati vse pošta je» ki so pri kldvrčehe na lokalno vozliš-čer ter vse oddaljene postaje' s katerimi naj vozlišče komunicira. Definicije, postaj so shranjene v ®.SYSNET datotekir ki se nahaja v vsakem vozlišču in mu definira nJemu dostopno strukturo mrele. ' '. UPORABNIŠKA POSTAJA predstavlja Prosram, ki je lahko uporabniški ali Pa V/I proaram CF-a. Uporabniški program mora imeti po.'.. ,»taJo. .če S|Prejema . sRor0či.la ii mreie. ' zahteva . potrditev.odposlanih sporočil ali če. ga hočemo ustaviti.s transakcijsko komando, Ob startanju, uporabniške PostaJe poženemo program» ki aa predstavlja. POSTAJA ZA SPOROCitA je pomnilni blok, ki sprejema sporočila. Lahko ne predstavlja ničesar za 'seboj, DbstaJa posebna postaja UA-^ STE za sprejemanje sporočil, ki ne najdejo naslovnika v vozlišču in iz vozlišča ne vodi. nobena pot proti naslovniku. POSTAJA ZA NAPRAVE predstavlja napravo► ki je priključena na vozlišče t terminali.tiskalniki ). Vsebuje kontrolni blok za napravo, ki s postajo komunicira preko V/l progra-. ma, LINIJSKA POSTAJA predstavlja komunikacijsko po- , vezavo z dritsim vozliščem- Linijska povezava Jé .lahko LCCr BSC linija ali kanalska '.povezava z uporabniškim računalnikom. Linijska postaja vsebuje kontrolni blokr ki je povezan z V/I programom. V/I pro-• sram PosanJa komunikacijo preko linije. VOZLISCna postaja predstavlja oddaljeno vozlišče LCC obroča, .Njena nalosa je hraniti sporočila* ki se odpošiljajo, naslovniku v oddaljenem vozlišču. Povezana je postajo LCC linije, TERMINALNA POSTAJA je postajni blok s pomnilnikom za sporočila, ki predstavlja pravi ali emulirani'terminal 3270. UisorablJa se ža BSC povezavo ali kanal na uporabniški računalnik,- SNA PU' IN LU postaji'slulita za komuniciranje I uporabniški« računalnikom preko.SDLC linije. Uporabniški računalnik vidi vozlišče' kot 3274~3DLe kontrolno enoto,. LU predstavlja emulirani terminal ali tiskalnik. .PU pa predstavlja informacije, skupne vsem LU postajam v vozlišču. PU POstaJa je lahko v vozlišču le ena. Et Potrebe za delovanJe Vozliščni računalniki so lahko.S/l procesorji 4952, 49B5 ali 495A z ustrezno štroJno opremo in pomnilnikom večjim od 96K. Vozlišče Je lahko te samo Procesna enota brez 'terminalov in ostale opreme. Programski del opreme .teCe pod operacijskim sistemom EPX verzija 3 ali več z ustreznimi prevajalniki in servisnimi prostrami, za. instalacijo, Za povezavo z SNA je potreben EBX-SNA proaram. 3.2 V/I kontrolni protrami lOCP Naloga lOCP programov je upravljati naprave in postaje, ki ,Jih. preds'tavIJaJo. IQCP programi nadzirajo dve različni vrste naprav« terminal-, ne' naprave in lini Je, ki- se dellJo na lini Je | med vozlišči in na lin i Je med vozlišči in uporabniškimi računalniki. En lOCP prosram lahko nadzira več naprav,' pri čemer ima en slavni program ^ in PodProsram za vsako napravo. Glavni, program, sprejema navodila za vkloP, izklop in ustavitev postaj, ki Jih lOCP nadzira. Podprogram za netio postajo polene v trenutku, ko dobi navodilo za nJen vklop. Podprogrami v celo-; ti upravljajo napravo. Berejo podatke,od naprave in Jih pošiljajo v vozlišče v obliki CF sporočil. Sprejemajo sporočila od po^taJ v vozlišču , ki predstavljajo naprave, in Jih podaJo napravi. Neka j najvalnejših XOCP proaramov« ItJCP za «ed nadzor B8C llnlJe upravlda povezavo BÖC linidskitii priklJuĆkaM na uporab-nii^ki rAöunalnik tn linijsko postaJo. k/oz-llftCe izsledi iiPorabnlfiheMU rafunalnlku kot 3271 kontrolna enota. ■'CCP la- nadzor kanalske Povezave «ed uporabnlfi-ki« faCunalnlkom in vozliščem. VozliftCe Izsleda uporabniškemu računalniku kot 3272 kontrolna enota. lOCT" za uPravldanie SNA Povezave preko SDLC li-niJ^. VozliSCe Izsleda uporabniškemu raCu-nalniku kot 3274-SIiLC kontrolna enota» toreJ kot PU postaJa z ustreznimi LU oosta-jami. lOCP za komunikacijo med vozliftCi preko BSC li-ni Upravlja postaje 3270 in emulira vozlišče kot 3270. lOCP za koMunikaciJo Med vozliftCl v LCC obroču- Prenafta sporočila z z »lavami in repi. OMOsoča povezavo CF in CH (na RP8 opr.sintemu lOCP za komunikacijo med vozlišči preko BSC točka-točka liniJe. Vfi voiliščni definiciji moraJo biti poles vseh postaj definirani tudi vsi lOCP Prdsrami. saj vozlišču definirajo topoloaiJo nJemu vidne mre' že. 3,3 RazpošilJatelJ «poročil Nalosa razpo&ilJatel,da sPoroCll Je dolomiti Pot( PO kateri bo sporočilo priSlo do naslovnika. Aktlvlr» sa instrukcija BEND, ki Jo Izda lOCP ko spreJme sporočilo od terminalne postaje ali od prosrama. Pri spraJ^nianJu sporočil pa razpofiiljatelj sporočil opozori lOCPr da ir-ila RECEIVE instrukcijo, ki od nJesa prevzame sporočilo in 9a preda terminalni PostaJiall prosramù. P'oBtiJa» kl PoàilJa sporočilo» mora poles naslovnika 'določiti tgdt prioriteto ©Poročila, «ad. 1 (naJviftJa) in 127 (naJniiJa). Od prioritete Je odvlsnoi kam bo raipošiliatelJ zapisal ft*»o-ročilo v «klad sporočf.l. s kateresa instrukcija RECEIVE demlJe «poročila po vrsti in Jih dostavlja naslovnikom. SporoCila z naJnilJo prioriteto se zaPlsuJeJo na vozliščni disk« ostal« pa se nl> prihodu v naslovno vozlišče «hranlJo v vozllščni dinamični pomnilnik. Zapisniško sporočilo v«ebuJe informacije o do-saJanJu v mre;tl «li informacije o napakah. Ne razpošilja Jih RazpotilJatelJ sporočili temveč bo ueim^Jana naravnost v sistemski zapisnik. CF POzna pet vrat spopočU. Podatkovno ^iPoročilo vsebuJe podatke, ki imaJo pojtten le za naBlovnika. Tok teh «Poročil Je opisan v poalavJu Transakcijsko sporočilo vsebude InformaciJe. ki PoženeJo nek transakciJaki Program npk-Je v irtrežl. Te informacije se nahaJaJo v slavi transakciJskeaa sPoroČila,' Ostali del sporočila ßo podatki za transakcijski Prosram. Izvor vseh transakcijskih sporo-Cil Je razpoèllJatelJ transakcij. Tok teh sporočil Je opioan v Ukazno sporočilo VEic.'buJe ukazt ki sa sprejme Procesior ■ ukazov neUesa vozlišča. Ukazno sporočilo ište naslovnika na enak način kot podatkovno sporočlo. Procesor ukazov Je opinan v poslavJu 3.4. Statusno sporočila začasno preisine prosram ali Pa sa povsem ustavi. U&merjanje Je enako kot pri Podatkovne« BPorit^.ilu. Podrobnejši s lavJu 4.1. opIb iismerJanJa sporočil J« v po- 3.4 RazpošllJatelJ transakcij RazpošilJatelJ transakcij ki oi|to-točaJo nadzor nad CF sistemom in obveščenost o stanJu sistema. CP-instrukcije omosoCaie definiranje nove postaje, zason in untavltev postaje. stalno povezanost med dvema postaJama. itd. Procesor ukazov skupaJ z RazpošllJtelJem transakcij IzvaJa PD instrukcije, ki omoeočaJo nadzor nad RazpoŠilJatelJem transakcij, npr. spreminjati tabelo poti, zamenjati identifikacijo celice, poslati transakcijo. Itd., (podrobnejše v poslavJu 4-!I). 3.6 Procesor zapiskov L Procesor zapiskov zapisuje sistemska «poročila. Ji'h formatira in opremi z datumom, časom, imenom , sporočila. Izvorom in ostalimi Informacijami ter zapléVe v sistemski zapisnik. Vsako vozlišče vodi svoJ sistemski zap.lsnlk. Mse zapisnike Je mosoče Preusmeriti v en centralni zapisnik v središču mrežne konfiaur*ciJ». 4,0 PRETOK IN USMERJANJE SPOROČIL BBBiiciutaastaitamisatiBinailuiiiiiBniEBHmaisBOKicumv 4.1.1 Pretok sporočil v vozlišču V oPisu bomo uporabili naslednje simbole* A Je program ali terminalna enota A-postaJa Je postaJa, ki predstavlja A lOCP-A Je . lOCP proarAMr kl posreiludo tned A In ■ A-PoatsJa " ■ _ UMSQ-POOL. Jb fikladF V katere« se skladUciJc BPoroCilft la MgO-rDISP . - ,-!SG-DISF; de-RttiPóftilJatBlJ. »porpćil BMSn-POOL. de «kladr v^katerer* «te skladiftČlJo PriénelB -fipproeila i:« » vA! ■ ; IOCP-^b; ,Ì9 lOCP prosr«MT kl PpsreduJe med E In :B-p.o«t«da : ■ V B-poiitaJa de postadai kl. predstavi da B B Je program all termintiiina enota 4.1,2 Pretok sPoró£ll Med voiliftCl Uporabljani bode isti «Imboli kot v 4.1,1 In LINEI de postaJar kl prèdètaylJa linidov voi-llWu f- LINE2 de PDstadaf kì predntavlda llniJ~o v vox-lièca 2 ■ ■'■ ; LI^l-IOCP de lOCP proarami kl posred u de Med LINEI in prlkldiićno Imrtiro no fl*l«no llnldo. ■■ . ■ - '' ■ ■ V - '.■'„.:■ -I Lirsa-IOCP de. lOCP pròàratn* kl posredude med LirC2 lo priklJuCno kartico na flr-lino linlJò. Pretok flPoroClla Ix A v:Bi lOCP-A preberđ podatke li A if»'isradl' «po-. roCllo . v svodem ' POMnilnem;prostoru. ( 6e de A prosramr točka 1. odpade). lOCP-A izda 8ENĐ. instrukcijor definira A za Izvorno . postado Iri posledar Ce Je v sporoCilti naslov- ponora, Ce aa ni. vanJ vpifte privzeti naslov ' In PoSlde sporočilo na nJe-sov BMSa-POOL, ■ ■ - lOCP-Ei izda ■ RECEIVE instrukri Jo v ki odstrani' »lavo .s Aiporočila. (C» de B p'ro-ara«, potsm sam izda RECEIVE instrukcijo in IÌ3CP-B j>l potreben 3, S. lOCP-B preda oCiftČeno sporočilo B. (Ce da B proBramF točka 5, odpade). < ft, > < XOCP-A' > —.< A-PostaJa >. . . ' - I X . ■ I • : < AMSG-POOL } ■ I - ■■ . -, ^ i < ÜM8G-P0DL >----. .■ X ' -, ■ : X ' —> < MSB-DISP > ■ ; ■ ■ .1______ / ■ ■ - i, ■ /. ■ > .-------< BMSO-POOL > ■ I • . ; .-1 < p ) <-----< loCR-B >----< B-PostaJa > N0DE2 de postad*- ki predstavlja voiliWe 2 v vozllAču 1, : . NODEl de postadar ki predistavlda vniliftCe 1 v. V07li«u 2. . ■ . ■ . • N0DE2M9Q-f>C)0L Je sklad r na katere« se škladlft-čiJo sporočllar ki šo namenjena v vozliftče 2. NODEIMSO-POOL de skladr na katere« se skladifi-ftlJo sporočilar ki «o namenjena v vozliftče 1, Pretok OP oročila iz A v Bt 1. Ioročilo ii N0riE2M8Q-P0-OU In »a prenese v ttelòvnl pomnilnik LI-NEl-inCP. 5. LINEl-IOCP poftlde »Poročilo po komunika-cJ|Jski llnidi in na drusi strani na LINE2--ioCP spreJme, A. LINE2-IDC:P ppftlde sporočilo v M80-D18P v .vozli&ču 2.. v slavi sporočila so podatki o.' Izvoru (A-POstaJa> in p on oru (B-p ost«-da). 7. M80-DISP v voiiiftču 2 preslesa slavo in . usotovi. da de ponor B-Postadar zato poä-. Ide sporočilo na BMSO-POOL. ■ ■ ß. Isti potek kot točka 4. v poalavdu 4.1.1, 9. Isti potek kot točka S, v poslavdu 4.1;1, slika 4.1, i ;pretok sporočila v vozlišču 66 < A > -) < lOCP-A > -I I I < DM8Q-P00L > -< A-Poa-laJa > I < AMSQ-PDOL > > < HSB-018F' > I < KatiE2-poBtad« > I < NOIiEZMSD-POOL > <-------- I I I < LINEl-T,oap > • 1 m« 1 M*t* 1 » |M • i HltllUni/IlMud HUf 1 utu 1 (•tU* 1 • 1 ■uu 1 •••t» 1 1« 1 •H» 1 MW ' 1 u 1 UH 1 UMtM 1 1 Htm 1 t Bllka 4-3. < struktura à'iav» «ooroćlla MeJ« Med ctveme vozliftäeMA. Vmos itt llnida. < LINE2-I0CP > I I I ■ < B > <- < lOCP-B > -------> < M80-DISP > I * I — < BM80-P001, > I ---< B-Postaia > Na sllki 4.3. Js prikazana struktura slavè mpt»-roflla. Nainformacij« so« H*NIC) Je naslov naslednjeaa sporočila. O pom«- nlr da Je zadnJ«. H^PRI ds prioriteta sporočila. N«STAT Je «tatue sporoälla. MttW de iivorni naslov. M»DAF Je cllJni na»lov, H«SNF Je dolllna sporočila, ki Jo de podal izvor. H«DCF de dolllna celotnesa sporočila z slavo. M$TEXT Je začetek izvornesa f>P oroči la. Bilka 4.2. • pretok woroClla «ned vozliftČetM 4.1.4 Naslovi vozlišč in Postaj 4.1.3 Đelovande RazPO&llJatslJa sporočil RazpoSllJateld sporočil v lokalnem vozlišču čaka > da se ECB (Event Control Slock )> ki signalizira prisotnost sporočila v vrsti sporočilr postavi v Potrditveni polofaj. Kn ECB potrdi prisotnost vsaJ enetta sporočilar Ba Razpui^ilJatelJ sporočil vzame iz vrste in testira ndesov atatua v slavi. Je eporočilo ukaznor sa prennee ne vrsto ukazov in opozori procesor ukazov na doaodek. Struktura »lave Je prikazana na sliki 4.3. Òe sporoCilo ni ukazno» presieda slavo za pri" Botnost clldnesa naslova. Če naJde naslov, pre-•alerta. ali se naslov cUdne postaJe nanaäa na lokalno . vozliö£e all na oddaljeno. Če ee nanaša na oddaljeno, ae «tmatrat'da Je oporočilo nà" «endeno dnisemij voillfiČM, V tem prltneru formira vozliSčni naslov li zoorndesa dela cilJnesa «nreinesa naölova (naslovi vozliftč in posta J). Nato prenese sporočilo v vrsto sporočily od koder bo 6.1d naprej v določeno vozllSče. Ko Je «poročilo shrandeno v vrati sporočil* «e postavi ECD za enntOr ki nadzira omenjeno vrsto. Enota de navadno llnidska postaJa ali LCC linijska postada iti »poročilo v naslednji fazi prenese v naalednJe vozli^^če. fte^ v slavi ne nadd« cilJneaa naslova, preveri ali Je «Poročilo transakcija. Če je> vstavi v slavo naslov Post.aJe RazpoftilJàtelda transakcij v aoaednJl c»Hci . Če sporočilo nI tranoakcida. polftče v slavi izvorni'- naslov ; In preveri» ali Je morda izvorna PostaJa stalno povezana z nsko druso potitajo. Če Je> pofilde «poročilo na postador ki vodi k cilJu in postavi nJen ECS, Če n«? naJde izvornesa naslova, potem preveri, če obAtaia PoataJa UA6TE, Če Jo naJde in de aktivna. zaradi vzročno «poročilo z datumortif uro in ostalimi podatki in Prenese sporočilo v nde-no vrsto. VOZLIŠCNO HOLDCILO Je dvofttavilCp* he* vréd-nost. ki določa vozllSčav Uozllftčno določilo «ora biti predpisano vsakemu vozlišču r ki de povezano i ostalimi prk^o BSC linide ali L.CC liniJ«. Pri komunikaciji » C o «mu ni C a t iona .Honitor < ki'ima vo'l@iično določilo opisano z dvema al-ramerlShima simbolana ) mora biti CF vozliAče oz4^aČ«no z EBCDIC kodo črk«, hi P0dv0J«n* o£i»«čuJe ustrezno vozlifiče v CM in tnnra priti do vseh celicf do katerih ima dostop. BT Je «ekundarni transakcijski Identiflka-:.tor'..ki 9a dekodira transattćiJskl pronram. : CS Je sekundarni. Identifikator celice in. Baa der, kodira transakcijski prosraM. . ' ■. ■ : ..TFlANSAKCIJSKI PODATKI so'kakrftni koli padatki. . »»«tieni. transakci Jskemü prosrafflu. . Na sllki 4;4. Je struktura glaye transakciisker sa sporoCiia. Prl PoAilJanJu v oddalJene voi! le> RazPoAilJatelJ sporočil naloti na celotno i trannakclJskb sporočilo Ae.svoJo slavo. / 1 .4.2.1 Usiner dan Je transakcij t \ • 1 . m» " 1 ' * . . ? < y m ..I -nfi»!» ■ . 1 • 1 ' / nnm .'. ■.'■ ' h .t» ■' g 1 , ..ÜHU / «BHM ' ' .. . Ol a va' tranšakcidskeaa TABELA. POTI ima vnos za.vsiko..oddaljeno. cellrL-co> ki - Jo «ora prepoinatl lokalni Raipo^iIda-, itelJ transakcM' Vsak ynoB vsebuJe identifikator cellce> .ime pòstade* ki predstavlja '.linlJo. . ki predstavlja to celico . Ti podatki so navedeni v tabeli poti,. RaiPoftllJteUu sporočil de transakcijsko sporočilo 'enako podatkovnemu sporočilu. Enako «ta postavi' na sklad sporočil postade poti. RazPoAilJatelJ transakcij toreJ uporablda funkcije Raxpo$ii;)atelJa sporočil. POSTAJA POTI Je posta da. ki ne predstavlja'nudr nn fizične iveže med dvema vozllMeina (celica-r 'ma)r predstavlja p'a loeičnb povsxavo. «led celicama. V VBitki CBÌlct RaiPoéildatelJ sporočil poskrbi ZA .pravilno hadalJne uémerJanJe tran: šakciJskeaa sporočila V Prttl «O definirane v Ta. beli piti tako.» .da ' Je *a cel leer ki ni»o neposredno povezane vedno navedena Preferenčna pcit» PO kateri se.usmeri transakcija če de v ndenl alavi naslov ypiliAéù neznane'celice. ;041 de PO Sploi&ni Voti napredr če Je definirana. Za toM Jo.PoilJe fte vsem ostalim soséd-. ndii» celicam;, ki . Jih ima definirane v tabeli poti. pri xà.MBnja z naslovom sased,-; nJe-celice. ' ' : . PRIt^R ...« Na sliki 4.Ä.. Je konflsuraciJa «tirih celic. Poti na J bòdO definirane takole« t . t,-' t 1 •t 1 M- ■ 1 , ■ t '"■' ■ ■ : .r. • I Vi' ' ' nuw 1 .'",.{ i .1»,; e 1 rtiu« '..' I- ' "•«i '' 1 ! ■ '1« M.| ' nin» '1' .nnnirt'' • 1 to IM '.' I- " •tUIH. -/V'^ó i Slika 4;s. « struktur« Tabele, oott In HT Rl 'in m ■ ■ , , bi In C3 , , Ci in C4 preko C2 . bz- .iit.C4.'■ ■ PreferenCne Poti<^ celicah so« ' ' "V't'elici-2 Jšt ci-:''-:''^': " 'v.telici '3 Se Ci : " ' :C»"f:eUci 4 J« pa .■ '''.;■.■..'■:.. . .■ .',•"'/' ■■■ .Pot transakridskesa sporočila iz CS v Cl'potftr-i ka takole« . . " ' Simboli na sliki 4.5. pomenlJo« ^^ ; PdtČELL '■ Je irne celice .v EBCDIC kodl'»^ do katere ! vodi- ppt .■■•'■.,'' ■..........■ P«L1JNAME, Je iue POstaJer ,na katere'sklad sPoro-; čil di? treba poü.lati sporočilofdš bo priftlo de. ■celice y FitCELL, ' . , P»#MBG3 Je. fltevilo ftporgčil, ki 00 bila Poslana'po te J poti.i'''"'■ ' 'r..'. P$*MSĐft .je Število »por očil, ki éo bila.'spreJ.ér-' ' t'a.'.po ted Voti. .v . . . ' ,.''.,.,■ '' '' . PffERB. . Je Število napakr'.ki" i^o bile ;usotovl'Je-^„' ne na ted potl. .'|. TRANSAKCiaSKA 'TABELA .ima.;vn:oB' za ' ysako tri^nsak-.; ■■'.ci'dp>' ki ' (laf .se .izva.iJa v ."lokalni'celici, .Vsak' . vnow 'i vaebud'e '; transakrldški, identì-Fikitorf ■'tme,'' ' programa• ki IzvaJa trannakci.iln In è'e nekaJ do-., datnih' infqrwacid, '.RazpoSilJft-ielJ ■ transakcij.. iiporablda tn tabelo . za pravilno dodeljevanje: .- tran-jakclJških sporočil (>r osraaiom,: ' ki Jih iiva-: daJo." :'■■ '. ' .'■"■ : . ■ ' ' ■' :'..' 1. Razpo&ilJatelJ transakcij v celici . C2 .'.'" ..ffitredflie trarisakridn s sklada poročil in .presieda identifikator : celice. Ker ne ne' na.nafta ' na .r>4.B»ovò celico (.vÀ£lift.Ce>r. pre-'■ ■ iAČ» tabelo potir če se C3 hahada v nded. ker G3 no na haJa v tabelir PoèlJe tran-/-.s^kciJAko 'Sporočilo L PO ^referenčni poti proti RažpoSlldatel.dg tr'ansakc.lJ v Ci. ' '2, RazpoSilJatelJ transakcij v Ci presieda' , identifikator celice v slavi sporočila. Ker naslov ni Cir »rei^^» tabelo potl. . ker se, C3 v nJeaovi talt>ell ujema z Ć3 v slavi ...Bporpčilav'PoAlde transakcijsko spo. ročilo, po p.otl proti cls^ 3. RazpoftilJatelJ ; transakč v C3 presièda ■..' ^identifikator ' 'céiice' v alavi -tooročila . . .Spozna woroCilo in sa po«1 Je, y izvaJa.' nJe.,.. - I uBorabniàhi računalnik 1 cel:lrà Cl i < pot HT > I I I I I' < RaiPoÄll-latelJ transakr.i.1 > I I * I . . I t I < poti 02 in > < pot C3 > II I .---------1----------------------------1----- .---------1----------- I < POt CI > I I I I I < Ritzpa&ilJatelJ I traneakrid > I I I I I. I I- . < POt C4 > ceXica C2 T I I .---------1---------- I < oot C2 > I I r ■ I ■ ■ I < Ra/POftiUatelJ I transakcij > I I I I. celica I < pot CI > I I I I t <' RazpoSilJatelJ I traneahcid > I I X> I ■ celica C3 ßllka 4.6. t pretok tranwakci-lskesa »porodila Mffd celicami 3,0 PRIHERJAVfii MEO CF IN ISO NIVOJI piqilMBCnB om RVa SGBGBBB IB K4t| da « n naiOCS m sa jB ra B B ES BBta ProiivadaXec CF-a ni opredeilil nivoJwko in naJ-bri tildi ni pnukuiial nrecliti cf v «.kiselu * nivoji IßO xa računalniške mreie. V^neeno pa «e CF nivoji (to neke mere prekrivajo » predlasanl-mi nivo.1i ISO. y ĆF nastoP«,1a nasleđnJl sradtw-nl bloki« Prikl.luCn» kartice, ki so VMeftnih med prosram-SJklm dBloM in lini.io. Kartica in n.ian prósratti-»ki nadzor v operaci,iskem «iBtumu Preclst«v)..jata ■ virtjUAlno ionnsldlvo iinido. Vsak aredbeni blok nämr^« delti .j« po prinicipii 'sproilmi na lose in se od zovi, ko bo pravilno opravljena. aH pa .lavi napako nivo.ia nad aebod, laradi ka-t^eaa nalosei ni bila pravJ.Xno opraviJfina' , Prikl.lučna kartica lo . n,(en Proara«»kl padüor predstaviJatÄ nasproti ostalemu delu CF Ijihod iz lini.lwkesa nivoja po IBO. RazpoAiljatelJ sporaCll ooravlJ« naloao cinkanja pravih poti » vsa SPoro£lUr ki »o (^ bila zaupana. Njesova naloaa d» tlplCna> mu enote Predajajo sporočila tn dih «ploh n« MA več, kako bodo na«le naslovnika. Zato phko RazpokuJatslj« «poročil opredsllMo kot iiifiini nivo po 180. Fi;azpoftildatelj transakcij cpredetM tranM^^ij-ska sporočila, ki-eo naslovljena na cil^ «ensko. OrtiosoCa emlaijo sporočil n« Vse d( ' ne naslove. Za , vsako oddfiJo transa^ci; sporočila zahteva usluso RazpoAiljatelja čil. Ko sporočilo preda Razi*o«ilJltelJu čil. še 3:anJ ne zanima več. Zaradi omer^,______ funkcij lahko RazPoAilJatelja transakcij iivr-stlmo v transportni nivo po ISO. Procesor ukazov Izvaja raxliCn» Instru^lj« okro» vzpostavljanja zvez Med POstaJ^ In startanja pnstaJ. Skupaj z Razcoill jatjpJe«)' transakcij IzvaJa instrukcije o vzppstavlJu loaiLčnih poti med postajami, omosoči vnos^po^ ročll za naslovnika Itd, Podatki »o lahko ^he-Aenl s posebnim ukazom, lahko pa jih Prispe Iz datoterke, sprejme od uporabniAke«a proàÌ>*(ira ali od siförvlsinesa prosrama. Zaradi teh las$-hO-stibi sa lahko uvrstili v nivo sede po ISft* IfJCIP protrami s.krblJo za prilagoditve med programsko opremo voili4ča in vsemi priključki strojne oprcwie na vDiližče. Sem «odi.io ostala voiliž^a. ki so. priključena preko lir>iJalost,B jami, «stali del PA «krbi konverzijo tned ćistimi podatki kontnih enot • in CF sporočili. Zaradi te zadnje -funkcije in »mulacij raznih naprav (npr, 3270) bi lahko lOCP prosrame delno• uvrsiti 1 i v predstavitveni nivo PO ISO, Razdt?litev je prikazan« grafično na sliki 5,1,. Opredelitev nivo ISO Razpoéiljatelda aporočil v mreini Opredeljuje naCin servis«, Omogoča emisijo SiPo-ročil X -I T. I X Rl X J -I X . T. X enote CF Slika S.l. » Poiikut» primerjave miad nivoji XSÖ in sestavnimi dtjli CF Algoritem za usmerjanje «iporoiil Je neadaeti™ ven. Usmerja nä podlagi tabel» ki se nahajajo v' vsakem vozl.iétu; Usmerjanje je torej statično. . 6,0 ZAKLJUČEK ((t; oroarartie. Povezava je lahko najbolj primitivna zvezri Kied uporabnif.ki« račorsalnikom in S/l v točka-toćka oblikilahko «« oblikuje lokalna mreJri v obliki obroča al j. pa koMPleksns mrtvi« B 0/1 kot izkl.jučno vozli'iča in nanje priklopl.jenirxi uporabnif»-i, ali pa lahko obenem posanja uporabnis-^ PntM UPORABLJENIH SIMBOLOV B/l = računalnik X&M fìeries/l ali Sistem/l CF 5» Communications Facilitti» kofminikacj.jski pa.kot za EDX CM I« Communications Monitor» komunikacijski paket za RPS El.« «a F.vent Driven «■xecutiv«'» operacijski sistem za S/l RPS - Realtime^ Programming Eìs-jstem. oneraci jfihi ?;isteiii za S/l LCC = local Communications Controlltsr» komuhikacij^^iki obroč , Input/Output Control .Prosrawrvme^'triik za V/I operacij® SNA BS Systems Network • Architecture, mreìna ar hitelitura IfiM SIiLG= Synchronous Data Link Contro.l, lini.iski nrotoko). BSC,= BiSynrhronous Communicatiftn. linijski protokol E-CD = Event Control Block» HI o k za signalizacijo dogodka SEZNAM UPORABI.. JENIH VIROV s i. CF [lesinn and Installation Guide». IBM Corp.» S/l Program Product rievelüPftient. 1501. California Avenue. Palo Alto,- CA , 94:3!04» Oktober 1V82 f^t^ Hebu.ggins GuidB. isti naslov kot Pod 1.» Februar 19ft2 3,. A.S.Tannenbaums Computer Network». Pratience-Hall Ine . , Enfi lewo od Cli-ffs» Nrim JersBa, t9Sl PRISTUP DINAMIČKOM R A S P O R E D J I V A N J U ZADATAKA U PRSTENASTOJ MRE2I RAČUNALA UDK: 681.324 KUKRIKA MILAN ELEKTROTEHNIČKI FAKULTET BANJA LUKA SADR2AJ - Pri ažuriranju zalihosnih kopija baze oodataka trebalo bi oriirijeniti mehanizme koji bi garantirali kon-listentnost baze podataka, a istovreiiieno 5to vi Se smanjili neproduktivno vrijeme potrebno za slnhronitaciju pojedinih računala u sistemu. Dat Je prijedlog za ažuriranie zalihosne baze podataka u raspodijeljenom sistemu koji podržava upo-redno izvodjenje zadataka koji pristupaju bazi. Prednost predloženoa rjeäenja je u minimiziranju dodatnoa neproduktivnog vremena potrebnog za sinhrnnizaci1u manipulatora bazom, ABSTRACT - AN ÄPROÄCH TO MULTIPLE COPY UPDATE IN DISTRIBUTED SYSTEMS. The redundant update problem is to develop tecniques for updatino redudantly stored data that preserve database consistency and minimize interconqjuter synchronization. An suggestion for updating of redundant data base in distributed system is given, which enables parallel data ba-, se task execution. The vantage of the suogested solution is minimisation of comnunication overhead. 1. UVOD Zahtjevi la ostvarivanjem stvarnovremenog rad« dovode nas do problema podjele vremena i mjesta korištenja sredstava za izvodjenje pojedinih zadataka, jer nam je zbog povedanja brzine odgovora, cilj da se Sto vi«e zadataka izvodi uporedo. Procesor sekvencijalno sprovoiii obradu definiranu Drogramom, pa se izvodjenje skuoa zadataka može povjeriti ili moćnom procesoru, čija Će brzina ostaviti dojam paralelnog izvodjenja, ili pak zadatke razdijeliti na viie r^Cunala. Ekonomska razaratranja karakteristika sklopovskih i programskih komponenti pokazuje da bi moglo biti ekonomičnije umjesto velikih, složenih samostalnih računala koristiti računala u paralelnom radu. Prednosti koje uvodi uporedno izvršavanje zadataka u raspodijeljenim sistemima su ograniCene sloŽenoSĆu realizacije upravljačkih mehanizama, te definiranjem pristupa komunikaciji i sinhronizaciji medjuzavisnih zadataka koji se izvode "® različi tim mjestima u sistemu. U sistemima kod kojih je komunikacija zasnovana na izmjeni poruka znatno opterećenje komunikacijske mreže moie dovesti do veoma loSih osobina sistema. Raspodijeljeni sistemi, za koje vrijede razmatranja provedena u ovom radu, odlikuju se slijedećim karakteri-stikama: 1. uključuju proizvoljan broj sistemskih i korisničkih zadataka, .2. arhitektura je modularna sa mogućnošću proširenja, 3. komuniciranje se odvija izmjenom poruka putem zajedničke komunikacijske strukture (isključujući zajedničku memoriju), 4. pretpostavlja se varijabilno kaSnjenje u prije- mu poruka Jer su učesnici medjusobno udaljeni, 5. na nivou sistema definirano globalno upravljanje omogućava kooperaciju i sinhronizaciju zadataka koji su-radjuju na ograničenom skupu sredstava. Zbog karakteristike 5 primjena centralizovanog upravljanja kod sistema koji posjeduju karakteristike 1,Z i 3 ne bi dovela do optimalnih rezultata. Cijeli sistem u tom slučaju bio bi podložen velikim komunikacijskim kašnjenjima i ovisan o mogućnostima i trenutnom stanju srediänjeg vodstva. Navedeni razlozi nameću da se za raspodijeljene sisteme rjeSenJe traži u decentraliziranoj upravljačkoj i informacijskoj strukturi, bez obzira Sto dekompozicija unosi nove informacijske tokove u sistem vezane uz funkcionalnu interakciju blokova upravljanja. Decentralizacija informacijske strukture povlači za sobom problem očuvanja konzlstentnosti viSestrukih kopija podataka. U radu je prvo predstavljen pHstup konzi-stentnom ažuriranju klasične, centralizirane baze podataka, da bi se na osnovu tih razmatranja dao prijedlog ažuriranja raspodijeljene, potpuno zalihosne baze podataka. Z. 0 BAZI PDMTAKA Za izvodjene zadataka potrebna su sredstva. Svako sredstvo može se apstrahirati putem skupa podataka koji ga predstavljaju (njegovom reprezentacijom) te skupom dozvoljenih ooeracija ili funkcija, kao i pridruženih parametara koji se mogu primijeniti nad tim podacima. Za dva sredstva kažemo da su istog tipa ako i samo ako imaju identične soecifikacije, tj. ako im je ista :6i /reprezentacija i skup. deflnirsnih'operadjay .Operaci nad sredstvima .izyr5avaiu: modul t koJe. Ä^^ nipulatprimaj . ■ ^ Baru podataka'moìémo predstaviti- sa . . ;V.,''d »^(X^Y.-. :.. T ' , ^ ^ pri eèmu veličina pojedinih yi<>gova: {X,Y,.y.) .né igra /, nikakvu ulogu."Slog X. noie poprimiti vrijednosti iz dom. (X), slog Vii z dom (V) Itd., a trenutno stanje v .. . baze podataka je. jedan od eleinenàta: ' ^ v ■ - V . dpin(D) » doni{X) X dom' (Y)^.'; .X. doin(Z) / ^ '' , V Neka- jé Z=(Zi .Zj.-'r '-Zb). skup zadataka kòjl . ; ■ pristupaju bazi podataka. Zadatak i {1=1,2,:w;b) čine" 'struktura podataka 1 n1z akc.ya-f^ .Cij.e Izvodjenje ina ■ za posledicu transformaciju u strukturi podataka. Definlrajamo dvije operacije; -. R; ( Z| |1 = ) - > > koja 'odredjuje dio '. (podskup) baze podataka, nazovimo ga RS^,. 1z kojeg de ; se uzeti podaci potrebni za .izračunavanje i, ■ ■ ■. '.-.W: { Z^M - 1,2.;. ) -> 2" , koja.odredjuje ■ ■ . dip (podskup) baze podataka, nazovimo qa WS1, u ..koju , će se upisati, rezultati. ; . -; ■ ;. .. ; ''. . : . Dakle, za potrebe naSeg razmatranja zadatak Z^,-(1 .= 1,2,.. ,nj možemo ap^rahiratl; operacijotri Čitanja . R tokom koje se uzimaju vrijednosti varijabli Iz skupa . RSCO, nužnih za Izračunavanje akcija.f,, a zatim' slijedi operacija upisivanja novih vrijednosti prpmjenT Jenih varijabli M, koja ažurira' vrijednosti varijabli iz skupa WS C D, Skupovi RS 1 WS oznaCavaju se kao dijelovi baze podataka koji če biti pročitani,.odnosno . upisani, .a akcije f^ mogu, se predstaviti kao .presi ika-.. vanje'. - - i ' . ■ f^ i'dom (RS)' >'doi» :(WS)V ■■ ' V ' ■ 'Izvodjenje zadataka (R i W operacija) na bazi podataka bi trebalo definirati, tako da sè pod predpo-.-stavkom dà je.ulazni skup podataka'konzistentan, takav bude i izlazni skup podataka. Skup operacija na bazi. podataka promatračeino na'osnovu si.stema TAU=(D,Z,RS,WS) ■ gdje je 0.,baza podataka. 2 skup zadataka.'RSi -ie defi- niran sà' {Z. I t 1,2:..) -v 2" a. wsr sa' (Z. | 1=1.2...) Razmotrimo kadà je dozvoljen samo sukcesivni pri-. stiip bazi podataka,'a kada je mogufie akcije',pojedinih ' zadataka interpòl i rati. Raspored izvräenja .skupa naredbi predstavljen je sa oznakom log", icq predstavlja parcijalno uredjenje R. i W operacija ndredjujuči' redoslijed kojim če operacije biti izvrSene na bazi podataT ka. Dodatno ograničenje je da sve konfliktne operacije" moraju biti totalno uredjene. (Parri.ialno uredjenje.je ..binarna relacija « 'koja je .refleksivna, (a < a) anti-simetrična (à .< b, i b'i a irripl icira da jé à = b.) i tra- nzitivna '(a < b i b <'c 'iinpličlra da je a < c).- Totalno^ . uredjenje je parcijalno, uredjenje u kojem je svaki par ■ -, elèmenata' parcijalno uredjen. ,(tj. zs V' a,b je ili a < b.; •■Ilibt.a). ' 1 , ■ . Za dati sistem TAU « '(O,Z,WS), definira se- log .L"Sl ,sf, : . . .".J kao slijed šlmbola K iValfabeta S: S M^.'I-T^'e T) uz ograničenja:' ' : .'-. - da, sé svàl*3.....^i-ya-ys.....'v'2.....) •pri eemu su koplje sloga X. y^ kopije sloga ¥ ltd. Ažuriranje raspodijeljene baze podataka mora biti tako provedeno da se raspodijeljene komponente, kopije pojedinih komponenti 111 pak kopije cijele baze održe konzistentnim pri Čemu se misli na (3); - uzajaimu konzistentnost zalihosnih kopija - internu konzistentnost svake kopije Za koplje baze podataka IH koplJe dijelova baze podataka kaže se da su medjusobno konzistentne ako su Identične. Identičnost koplja u slučaju svakog pristupa Jednoj od njih ja vrlo strog zahtjev (znatno povećanje komunikacionih 1 s1nhron1zae1onih mehanizama) pa se tra-ž1 da kopije budu identične -nakon što se zaključe, sve akcije pristupa nekoj od njih. Interna konzistentnost svake koplje podrazumijeva (■kao 1 g slučaju konvencionalne baze podataka) da se podržnvaju: - koncept semantičkog Integriteta, tj. da spremljeni podaci vjerno odražavaju sredstva koja predstavljaju. Prije svakog pristupa sredstvima trebalo bi utvrditi da li je udovoljeno zahtjevima semantičkog integriteta. - koncept neprekldlvlh (nedjeljivih) operacija koji lahtljeva da 111 nijedna 111 sve akcije odredjene operacije, budu provedene, tj. da pristup baz1 podataka bude funkcionalno ekvivalentan postupnom pristupu. Da zaključimo - održavanje raspodijeljene baze podataka sa dJelimiCnom 111 potpunom zalIhoSću (baze podataka sa višestrukim kopijama) zahtijeva kreiranje mehanizama koji. de garantirati medjusobnu konzistentnost da b1 se održale Identične, Interno konsistentne kopije u slu- čaju konkurentnog ažuriranja njenih dijelova. Problem održavanja konzistentnosti raspodijeljene baze podataka koja sadrži višestruke koplje svodi se na problem koordinacije akcija'skupa raspodijeljenih ma ni-pulatora koji lm pristupaju. Posto akcije inicirane od strane različitih zadataka mogu biti uzajamno povezane tako da mogu dovesti do nekorektnih rezultata (tJ. uzajamne Ili interne nekon-zlstentnosti kopija) postavlja se uvjet nedjeljivosti operacija zadataka koji se.može postići bilo neposrednim drKgovorom samih zadataka bilo odredjiyanjem redoslijeda kojim će se operacije odvijati. Skup manipulatora odgovara skupu memorijsklh procesora čije djelovanje se sastoji u čitanju 1 pisanju for-f inirajući korake izvrine faze zahtijevane operacije. Me-morijstl procesori su odgovorni za manipuliranje raspodijeljenim podacima. U slučaju potpuno zalihosne baze podataka iKrnorijski procesor je pridružen svakoj kopiji baze podataka. Ažuriranje zahtjeva podrazumijeva da zadatak inicira identične neprekidlve akcije na svim memorijskim protesori-ma tj. da budu izvrSene 111 sve akcije 111 nijedrm. U slučaju striktno raspodijeljene baze podataka 1z<*<»ienje rezultira u Iniciranju različitih akcija na odgo»sraju-Ćim memorijskim procesorima, a djelomična zalihoj^ zahtijeva identične akcije na odgovarajućim memor1j;[^im. procesorima (onima koji sadrže koplje dijelova baze). U općem slučaju ako su dva ili viSe"manipulatora medjusobno Interaktivni zahtijeva se: - korektna sukcesivnost akcija svakog od memarljskih procesora kako bi se garantirala interna konzistentnost i - ako postoji interaktivnost sa vii» memorijskih procesora mora se postići kompatibilna sukcesivnost koja Će garantirati Internu konzistentnost striktno raspedijetJene bazeI podataka. Ili pak uzajamnu konzistentnost ako sa radi 0 zalihosnoj bazi podataka. U nastavku ćemo razmotriti postupke za konzistentno ažuriranje zalihosne baze podataka. Zadaci se u slučaju potpuno zalihosne baze podataka Izvode u dva koraka prema sljedećim pravilima: U toku prvog koraka zadatak se Izvodi na računalu na kojem Je 1 iniciran koristeći vlastitu kopiju baze podataka. Sve R i W operacije se obavljaju lokalno, a lokalni manipulator obezbjedjuje potrebnu slnhrenlzaci-Ju generirajući i održavajući listu svih promjan* baze podataka. IzvodJenje zadatka t na računalu m označeno Je kao primitivna operacija . - Kada Je prvi korak dovrSen u drugom koraku lokalni manipulator obavještava sve ostale manipulator« o 'Svim ■ promjenama (i). To može imati za posljedicu veliko dodatno komunikacijsko opterećenje. Problemi komuniciranja su detaljno opisani u (4,6,6,7). Konačno, ažurlrsnje kopija baze podataka od strane manipulatora m označava se kao primitivna operacija Un . gdje je n broj preostalih kopija. Dakle, iivodjenje nekog zadatka može se predstaviti kao Jedna operacija lJ^, koju slijedi onoliko :operacija U^, koliko ima kopija baze podataka. .: Primitive L^ i L)^ su nepreki^ive dok kombinacija L m n i U operacija zadatka t ne mora biti heprekidiva. • Na pr. rasporedjivanje izvodjenja.tri zadatka t^, . tj i 'tj na sisteiru sa tri koplje baze podataka može se odvijati prema sljededem rasporedu:. ■ K=L^ Uj U; LJ LJ UJ.UI ; Sa izvodjenjem tretfeg zadatka počelo se na. prvom raCurialu prlje.nego Sto su unesene promjene nastale iž-vodjenjera zadatka 2 na prvom računalu (U^j jto b.i moglo dovesti do nekonzistentnog stanja baze podataka. U prethodnom poglavlju smo istakli da nam je zbog poveSanja brzine ,1 iskorištenja sredstava cilj postlči , Sto veću uporedjvost zadataka. Pitanje na koje bi pri tome trebalo odgovoriti Je kada je dozvoljeno preklapanje L i U operacija, što opet ovisi o vrsti operacije (L ili U)i.o tome da li se operacije izvode na istom raCunalu i o preklapanju RS- i HS podskupOve zadataka. L i U operacije koje se izvode na istom raCunalu se ne mogu preklapati (L-U i U-L) ako L čita podatke koji če se ažurirati od strane U, tj.. preklapanje je dozvoljeno ako je RStlAwSt2 = D. Uslov WStlfIWStZ = 0 : se ne postavlja zbog mehanizma vremenskog ka5njenja//|£/, ■ L i U operacije koje se izvode na različitim računalima mogu se po volji preklapati, izuzev.ako pripadaju istom zadatku (L uvijek mora doći prije U). U operacije (U-U) se mogu uvijek preklapati. L akcije se mogu preklapati (L-L) ako vrijedi RS{L,)AWS(L2) = 0 i .. WS{L,)AWS(L^) = 0 . . . . • _ . Redoslijed izvodjenja L i U operacija u nekom računalu označava se kao lokalni log. Plobalni log zadužen za konzistentnost cjelokupne raspodijeljene baze podataka, predstavlja skiip lokalnih loqova. Globalni log se kreira u dva koraka. Prvo se definiraju lokalni logovi za svako računalo kombiniranjem mogučih sekvenci Izvo- . djenja. Zat^ se. lokalni logovi integriraju u globalni log tako.da. je efekat izvrSenja globalnog loga za s.vako računalo ekvivalentan originalni^ lokalnom logu. Globalni log je dakle, jedan od mogudih puteva izvodjenja zadataka na raspodijeljenoj bazi. podataka. Pri tome se mora voditi računa da se za zadatak f.sve operacije ažuriranja Li^ taogu pojaviti u logu tek nakon operacije lJ, . Operacije! 1 U mijenjaju stanja baze podataka, pa globalni log G.| možemo definirati kao funkciju a-koja ■ prebacuje bazu podataka iz jednot) stanja DS, u drugo sta- nje'DSg.tj.: ' ; . ■ ' ■ g,(DS,) = DSg . . Za dva globalna Iona G^ i Gg kažemo da su ekvivalentni, ako uključuju ,iste L' i .U operacije i ako je g,(DS,) = 92(052) za V DS^ . Globalni log GS u kojem svaku operaciju t^ neposredno slijede sve njegove operacije nazivamo serijskim (postupnim) globalnim logom. Uppredni globalni tog koji Je funkcionalno ekvivalentan serijskom slobodnom Togu označičemo kao SR-globalnl 1oq.. SR-globaTnl iog dozvo- , ljava preklapanja L i U operacija različitih zadataka, : ali dovodi bazu podataka u isto (konzistentno) konačno stanje kao 1 serijski globalni log. Na osnovu formalnih analiza sse C Klasa Cjji je definirana kao skup zadataka pridruženih računalu m uz kojeg je locirana koplja baze podatka a svaki od zadataka pristupa samo podskupovioa RS (C^) i WS (C^). Odluka 0 tome na koje zadatke primijeniti koji od Četiri protokola zasnovana je na formalnoj matematskoj analizi 0 naCInima interakcije medju zadacima. Prednost predloženog rJeSenja je u mlnimizlranjii dodatnog neproduktivnog vremena potrebnog za sinhroniža čiju manlpulatora bazom. LITERATURA 1. Bernstein, A, et all: "Analyzing Concurrency control algorithms xen user and system operations differ", IEEE transactions on software engineering, may 19Š3 2. 3, Parker, D: "Detection of mutual' inconsistency in distributed systems" IEEE transactions on software IEEE transactinns on software engineering, vol. .S* ;Éha ;ei4 no. 3, (may 1978). engineering, may 1963. «tion Uted 4, Keki, I: "Methodology for the design of comrounif networks and the distribution of data In distrtl supercomouter systems", IEEE transactions on col^uter^, vol. c-31, no. 5, (may 198Ž). 5. Lenahan, J.: "Performance of cooperative loosely coupled microprocessor architecture in an iteraetive data base tasit", IEEE transactions on computers, vol. c-29, no. 2, (feb. 1980). io. I". 'Ćheh, p-, et ài. :' "Optimal design of distributed-In-' ■formation systems" IEEE transactions on computers, vo vol. c-29, no.12. (dec; 1980). ' Gardarih, G and Chu, W.: "A-dlstrlbuted control algo rlthm for reliably and consistently updatlnq .renH-' . ' cated databases", IEEE transactions oh coiroutérs, vol. c-es, no. 12, (dec, 1900). ■ ; ^ Hevnèr. A.; "Query processing In distributed data- ' base systems" IEEE transactions on softwart englnee-' , ring, vol. se-5.no.3, (may. 1979);:■ ■ Hewitt, C.; ."Specification and proof techniques for serljailiers", IEEE transactions on software engineering, vol. ,se.^5, no. 1. {jan,1979)i Bernstein,?, et all': "Formal aspects of serialIzabi- ; Uty in database concurrency control",' IEEE transa- ^ .ctions,on software engineering, vol. se-5, no.3,. 197^).;:;;;, \ " ; v . : ^ ;; Gardarin, G. et al. "Proving consistency of database; transactions written In extended Pascal", IEEE tran-i sactlons on software engineering, vol, se-B, no.4, I July 1982).- 12. Stonebaker, M,': "Òoncurrericy control and cons1sten-j . cy of miiltiple copies of data In distributed INSRESj,' IEEE -transactions on software engineering, vol. se-S, nOiS, (may ' ' , ■ J 13. Muntz, R.r ."Loćkino and deadlotk detection in dlstrll-buted databases", IEEE transactions on software en- \ gineering, vol. se-5, no.5, (may 1979). 1'4. Voss, K.: "Usino predicate/transition nets. to model and analyse distributed database systems" ,ÌE£E tra' ■ nsactlons on software'engineering, vol. se'-e, no-.6, (nov. 1980), , I ■■ ; . ., 15. Mlnoura, T.: "Resilient extended'true-copy token . sheme for a distributed database system", IEEE tra- : nsactlons on software.engineering, vol, se-8,.no.3, ^may ■19B2).: .' ... ■ ., ■ ; ^ 16. Thomas^ R.; "A. solution to the concurency. control . problem for multiple copy databases",, COKPCOM 78 . ; {1978). ^ ^ -v - iNFOOMATlCA 2/1984 RAČUNALNIŠKI PROGRAMI ZA POSLOVNO PLANIRANJE UDK: 681.3.06 IVAN MEiKO VISOKA EKONOMSKO-KOMERCIAtNA ŠOLA MARl'BOR Sestavljanje poalovnega plana aethteva med drugim mnogo tehnifnega dala^ ki pagoato tako ofcupijsa odloSevaloe, da aa anaHao plana ne oatane dovolj Saša, Tehnični del lahko preneeemo na računalnik, ki ga opravi hitreje in natanSneje, strokovne eluSbe in odloSevaloi pa ae zato lahko posvetijo preučevanju in pravilni realizaciji planskih odločitev. S pomočjo računalnika lahko pri planiranju upoštevamo mnogo ve3 pogojev in poveaav, zato Je tako dobljen plan kvalitetnejši. Večina del se pojavi samo pri prvi uporabi računalniškega programa, zato so prihranki na čaeu tem večji, Sim večkrat sestavljamo plan osiroma delamo rebalans plana. COMPUTER PROGRAMS FOR BVSIÌIESS PLAH/!ING. Preparing a business plan requires among others a tot of administrative work what usually occupy decision-makera so Hard that there left no more time for analysis of the plan. Replacing administrative repetitive work by computer tìhich do this work faster and more accurate specialist services and decision-makers can dedicate now mora time to analyse consequences and to implementing of planned decision. Using a computer planning is improved ae one can take into account considerable more conditions and oonneotiona. Ae the most work in cdnneation with the planning by computer appears only at the firet application i-t ia obvious that time savings are bigger at repeating the planning or rebalancing the plan, nega prooesa zagotovimo^da med iavajanjem pos- Poelovni plan Je mogoče sestavljati s pomočjo računalnika le. Če poslovnemu procesu priredi~ mo model. V ta namen moramo poslovni proces razčleniti na aktivnosti in elemente. Aktivnosti predstavljajo načine nabave, proizvodnje in prodaje, pod pojmom elementi pa tukaj razumemo elemente poslovnega procesa, polizdelke in končne izdelke. Aktivnosti moramo odbrati tako, da bo njihova sinteza predstavljala celoten poslovni proces, sa vaako aktivnost pa bodo definirani normativi potroSnJe vhodnih elementov in normativi proizvodnje izhodnih elementov. Za vsako aktivnoBt moramo imeti tudi mersko enoto, kajti zanimali se bomo za količine aktivnoati, to je elementarnih proaesov. Razčlenjenemu poslovnemu procesu je mogoče prirediti ovrednoteni graf (_Z] in tako dobiti nazorno sliko poslovnega procesa. Vedno seveda ne bo mogoče predočiti celotnega poslovnega procesa, aaj imamo lahko nekaj tiaoč elementov in aktivnosti. Tedaj lahko predočimo osnovni proces in nekaj tipičnih specialnih procesov. K.0 je poslovni proaee razčlenjen in nazorno predočen, vsaki aktivnosti in vsakemu elementu priredimo Šifro, ki sme imeti naJvaS 8 znakov. Pri izboru Šifer moramo paziti na to, da bo mogoče elemente in aktivnosti emise Ino sortirati in na ta način prispevati k preglednosti računalniških izpisov. Poleg' tega pa morajo biti Šifre za elemente ločene v skupine za vhodne elemente poslovnega procesa, polizdelke in končne izdelke. Glavnino podatkov tvorijo tehnoloSki podatki, to s VfìR N,Kt.ireal| {---------------------------------------------y PROCEDURE funcl (MirsaliVAR fn,df>(ir««l) | BEGIN fK(~>c*M-£, 01 dfHl«=£. END {funcl>1 PROCEDURE n«t (Vfift HireaDi CDNBT tal-l.eE-6] VfiR fMidfx,Ml,dMirealI SEGIN REPEAT Hia^Kj funcK», fM,dfM) I iglobalna apr«manlj.> dxi-fM/dfuf MO^Hl-elHI writelnt' «=• , Hl, ', fN-', fx, • , df>(>••, dfN> UNTIL ab9(c)K) i- absttol»«) END i;nwt>i PROCEDURE izpis(VAR NirsaU■ BEBIN nwt) {-----------------------------------------------J < Slavni pro BEQIN lzpis(H> END. Lista 1. Program aa reSevanje enaäb z Nevrtonovo metodo Je napisan v jeziku Pascal (natančneje v Jealku Pascal MT/+) Newtonova metoda temelji na ugotovitvi, da j« točka tangentnega preseka a abaoleno 9«jo pri-' bll£na niSIa funkcije. Ce je xO zaCetni. prlbll-iek, je araernl koeficient tangente v ^fikl |xO, f(xO)) enak KxOj/txO-xl) - f'rl sedmih mestih. Kosinusha funkcija ^ka£e podobno slabost blizu argumenta PI/2, Ker ima podobno slaboet tudi arctangensna funkcija, se ta slabost prenese tugi na arcsinuano Ih arccoainusno funkcijo, ki sta izraSeni z arctangensom. : Nada1jna slabost vgrajenih trigonometričnih funl^c.ij Je tudi njihova počasnost pri velikih argumentih (npr, 10000 in lOOOOO). Naštetim slabostim se lahko ognemo tako, da definiramo svoje elementarne funkcije, ki bodo nataötiejSe in precej hitre j Se, Lista 1. Definicije trigonpnietri£nih funkcij A»TYPE THIGFUM.BAS" ' .. . \ , V ' - . ■ \ \ . TRiaFUJ.BAS. . »INCLUDE ZBIRKA \ \ ' TRIQ0H0t4ETRICNE FUNKCIje ZA JE^IK ' \ N . CBASlCa . . ' \ N ■ ■ \ N...........................................\ REM- KOMSTAiMTE £.PI - 3. 141S92Ć5358979 ' • 2.S0Ra => 1.<1)^(213.5623731 D Z.Q 9 -t-O ■ i 038517 14S51977E4 »£14 KOEFICIENTI Zfii Z.Ì P -0.178056467143863E8 REM FUNKCIJO Z.a » ♦I).26247B645943S00E-1 RE« FN . TAN . HALFCX J ,2.3 = +0. £6445621951 2224E4 . 2.4 = -0.181283S33A8S401E3 . Z.5 =■ +0.2l6(l62307897e43E3 Z.6 - »0.3S£66207fl013251E3 2.7 = +0.l3270a39ei63977E3 2.6 +0. iaae8393034l573E2 2.9 = ♦0.216062307897243E3 2.1B = +0.39468283931ae83E3 2.11 « tO.Sei05088302S418E3 Z.IS = tB.3850l4S65083512E2 Rra-.......— FUvIKClJE REM. KOEFICIENTI £A REM . FUMKCIdO REM FiJ.ATNCX) , ' DEF FN. T AW. HALF < Ji) 2'=ABStJi)/<2.PItZ.PI) 2 = 8.0*C2-ItgTCZ>> Zi=B ..,,■. ■ ■■ , . WHILE 2»l.0 ■ 2 = 0.S*Z . ■ .' ■ 2!l=2*+l WEND " ZZ=Z»Z 2=2*<0 ■ 2pCZ*Z>/C|.B-2«2) 2*i2»-l UENO ■ ■., ■ .; ' ■: FN.TAW.HAI,F=SGN(X)*2 ■ . . ■' ^ . RETURN , FEND . DEF FW.SIN(X) JCFftf. TAN. HALF Frt.SIN«(X+jl>/( 1 .OtX*X) RETURN • , ' FaVD . DEF FM.COS/ X=FN.TAN.HALF FNiTAN«(X+X)/(1.0-X*X) RETURN FÉMD ; DEF FM.ATM(X> ZaABS z»=o IF 2>2.SQR8*1.0 THEN 2*=8i 2=-l.fl/Z IF Z>Z.SQR2^1.a THEN 2il» I I . Z«1.11-2. 0/( 1. 0+2) . ZZ-Z*2 Z3Z»((<2,8«2Zt2.7)t22+Z.6)*22+S. 5) 22» t((22+2.iE)»22+Z.1U*Z2+2.10)f22+2.9 2 = 2/22. IF Z»oI THEN z°2+a.estz.pl IF 2»«8 THEN 2-2+0.5*2.PI FNiÄTNoitSGNCX) ' RETURN FEND DEF FN.ASIN.CX) . . Z=ABS1.0 TH£M PRINT "PREVELIK ARđUHENT' IF Zol-O THEN FN.ASlNxSQNCXl^O.S^Z.PIlHiETURN FM.ASIN°FH.ATN RETURN , FO-ID DEF FN.AC030.5*Z.PI-FM.ASINCXJ REM-...... KONEC ZBIRKE.TRIQFUDI. BAS.......... w 2; Opis programa Program v listi 1 prikazuje definicije sedmih rlgonometriönih funkcij, in sicer FN,TAN.HÄLF(X) PN.SIN{X) FN.COS (X) FN.TAN (X) FN.ATAN(X) FN.ASIN(X) FN.ACOS(X) poloviòni tangens slnuB cosinus tangens arous tangens arcus sinus arcus cosinus Funkcija FN.TAN.HALF(X) je odvisna od standardnih (vgrajenih) funkcij ABS(X) INT(X) SGN (X) absolutna vrednost celoStevilski del algabraiSni predznak In te funkcije ne vplivajo na natanSnost, Natančnost rezultata je odvisna od vgrajenih a-ritmetiSnih funkcij (+, -, *, /). Pri izrafiunu funkcijske vrednosti FN.ASIN(X) je uporabljena ge vgrajena funkcija SQH(X), ki pa izpolnjuje pogoje za natančnost pri različnih argumentih. Lista 2 prikazuje preizkusni program, kjer se preiakuäa natanSnost definiranih trigonometričnih funkcij 8 primerjavo z natanönostjo standardnih trigonometrifinih funkcij. Zbirka iz liste 1 se pokliče v ta program z ukazom % INCLUDE TBIGFUH.BAS Z nadaljnimi PRINT stavki pa se izračunavajo' vrednosti, prikazane v listi 3. Program v listi 2 vsebuje WHILE zanko, tako da lahko iiraSuna-vanje ponavljamo a razliCnimi vhodnimi vrednostmi, iz zanke pa izstopimo 2 vrednostj« 99. 3. Izvajanje programa Program iz liste 2, ki vsebuje zbirko iz liste 1, izvajamo za več vhodnih argumentov X in dobimo rezultatno listo 3. Iz te liste je razvidno, da je natančnost vgrajenih trigonoiMitrlbnlh funkcij pri malih vrednostih argument®« le sedemmestna, pri novih funkcijah (zadnji «tolpeo) pa vobfie 12'mestna (prva skupina rezultatov liste 3). V drugi skupini rezultatov vlétmo, da so nove ločne funkcije natančnej Se (saj ae vse natanko ujemajo pri ločni funkciji inverzne funkcije argumenta z argumentom). Za di^uge argumente so rezultati razvidni iz nadaljalh skupin liste 3. V zadnejm stolpcu so rezultati novih trigonometričnih funkcij. CHUN VER 2.07P PREIZKUS TRIGONOMETRIČNIH FUNKCIJ ARGUMENT X> 0.876S432)0ie345E- 6 SIN(X> 1 8*T6543aE>a7 8.76S432ieiS3E- 07 COSi 1 1 T«g(x> 1 8.765432E-I7 8. 76543210 1S4E- 07 AHCSlNCSlN>t B,76543&E-II7 8. 7654321 (II24E- 07 ARCCOS(CaSCX>)1 it.47S13SE-07 6.94427aE-07 ARCTAN£TANCXJ >! 0.76S/I32E-B7 8.76S432t0124E- 07 ARGUMENT Xi S.333333333333333 SINI t.333333327S59 0,333333333333 AEicc0S(ces(x> > 1 »•333333325357 ».333333333333 ARCTAN) (.333333327859 1.333333333333 ARGUMENT SIN > -3.6732e5lE-»6 -3.6T3al51575tE- 06 tan)I 1.57079272123 1,57079265256 ARCCOSCCOStX))! 1-5708 I.57B8 ARCTANCTANtXJ1 I -1 .57li79S6 5357 -1.5707926 53 59 argument xi 3,14159 SIH(X> 1 2.6535898E-DĆ 2.6535897e076E-fl6 COS(X>t -fl.999999999997 -0.999999999996 TAN >! -a.653SÖ9BE-06 -S.653 6a97a077E-tl6 ARGUMENT X: 1001.1 SINCX)i 0.876265724443 0.876265784436 C0S1 -0.481628164 568 -0.48182S164S95 TAN C X) ! -1.B1862703113 -1.31862703099 ARCSlN(SlWtX)) 1 1.(16605649126 1 .06805649518 ARCCOS) 1 a.0735aqló079 2.07353615841 ARCTAJJtTANtX) ) i -1.06805649125 - 1.0680564951 8 argument xi 99 Lista 3. Na levi imamo rezultatno listo izvajanja programa .z liste 2 (na naslednji strani) z vključitvijo programa z liste 1 (na prejšnji strani). Ta lista kaSe rezultate izraSpna vrednosti trigonometričnih funk®ij z uporabo vgrajenih (preddefinironlh) trigonometričnih funkcij prevajalnika za jezik CBasic2 (srednji stolpec leve liste) In z uporabo v listi 1 definiranih trigonometričnih funkcij. Natančnost vgrajenih funkcij ja očitno mnajSa od natančnosti definiranih funkcij pri dokaj malih argumentih (velikostni razred E-6), kar je razvidno iz prve skupine rezultatov v levi listi. V drugi skupini rezultatov se pokaäe večja natančnost definiranih trigonometričnih funkcij pri ločnih funkcijah, ko so 12-mestni rezultati natanko enaki 12-mestnemu argumentu, pri vgrajenih funkcijah pa je to ujemanje le 7-mestno, V tretji skupini rezultatov j« prikazana okoliza točke Pl/2 in tu nimamo bistvenih razlik med obema skupinama trigonometričnih funkcij. Primerjavi rezultatov v okolici točke Pl in pri vrednosti 1000,1 (velik argument) ata moänl v četrti in peti skupini rezultatov leve liste. Na koncu izstopimo iz programa tako, da vnesemo argument z vrednostjo 99. A>TYPE TEST. BAS V . PR12KUS NATMICNOSTI TRIGOiJOMETRICMIH : N N \ FUNKCjJ- ■ N s,-------------------------...........---- XINCLUDÉ THISFUN.BAS . DEF FN.ASW(X)=ATW(K/(SäR;rn DEF FN.ACS(X)=Q . 5»Z'PI-ATW(X/SaRU -0-'X*X>) PHltJT " PHEIZKUS TRieO-'JOMETRICNIH FUWKCIJ" PBitgr --- —r--................................-, PRINT ........■...........■ INPUT "ASÖUMEMT X: "ì X PRINT "........--.-..-.......---.—------r--—'t PRINT ...............;■. . WHILE PRINT "SINI SIN(X>< FN.SIWCXJ PRIHT "COSCX)! COS(X>< PRIWT "TANtX) I -j. TAN■ ' PRINT -ARCCOStCOSCX))» FW■AC SCCOS^A , FN.ATNCFN .TAN med centralno procesno enoto (CPB) in ^mnllni-kom. Pri tem je važna hitrost prenosa «kazov ia podatkov, povečevanje hitrosti z DMA rnfthanizmi» 32-bitna podatkovna vodila so na poduefiju mi^ kroproceaorjev nov pojav. Npr. iAPX4^2 In NS 16032 imata sicer 32-bitno arhitektur® toda le 16-bitno podatkovno vodilo. Področja uporabe. Zmogljivosf 32-bitnih mikroprocesorjev je velika, tako da se pojavi vpraSanje njihove smiselne ti^rabe. V letu 1984 bodo ti procesorji uporabili pred» vsem v CAD sistemih in v načrtovalnih deìovhili postajah. Pojavili se bodo tudi univerzalni računalniki z bistveno nlS jo ceno od täaakezmogi* , Ijivih kabinetnih računalnikov. Pojavili se böf do osebni računalniki najviSjega tipa za poölOj^ vno in osebno uporabo. Izredno bo olajBano in pohltreno prevajanje visokih programl^nth jezikov. Bistvene prednosti 32-bitnih arhitektur tele: TJ procesorsko/pomnilnl&ko vodilo,' fT CPE V/I k [takti takti ■ '■ T sinhr a-a-a- Pom k Pom k takt :r 20 RAMov 8 ROMOV Slika 1, Bločni diagram mikroprocesorja Focus podjetja Hewlett-Packard J:.i. - veliki, enoviti naslovni prostori ' - podpora za virtualni pomnilnik -. adresni naälnl, ki podpirajo visoke programirne jezike - simetrija ukazne množice glede na operacije, velikost operandov in operandne naslovne načine - uporaba standardnih operaqijskih sistemov Prihajajoča tehnologija. V letu 1984 se bo pojavila vrsta novih 32-■ bitnih mikroprocesorjev. Po abecednem vrstnem redu podjetij bomo imeli tele mikroprocesorje! — Hicroeagle (dG) -- Micro VAX 1 {DEC). — Focus (H-P) Transputer (Inroos) .— ÌAPX3B6 (Intel) •7- NS32032 (NS) ~ MC68020 (Motorola) ~ NCR/3 2 (NCR) ' -- WE32000 (WE) ~ neoooo (Zilog) DG je napovedal Mlcroeagla v novembru 1983, DEC pa Micro VAX 1 v oktobru 1983, H-Pjev Focus je srce ràSunalnlSkega sistema KP-90tf0 In se pose- ; ; bej ne bo prodajal, Intelov ÌAPX386 uradno §6 'ni bil napovedan, vendar se je zaöelo njegovo oglaäanje, tako da ga je mogoSe prifiakovati ko-. nec leta 1984. Motorola je najavila svoj Hceeoao, öeprav §e ni izdala podrobnih specifikacij/ vzorci bodo na voljo v sredini leta 1984.' Komercialno pa sta že dobavljiva proce-; sorja NCR/32 (množica vezij) in NS32032 (s pri-padajotSimi vezji). WE uporablja svoj WE32Ó00 (prejänja oznaka Bellmac-32) 2e od leta I98l. Ta procesor, se uporablja Interno v WE in v nekaterih miniraòunalnikih tipa VAX in posebej ni i ' dobavljiv. Tudi ŽSOOpO je bil najavljen, dokumentacija je dobavljiva in vzorci tudi. Razen naätetih komercialnih mikroprocesorjev se-pojavlja tudi mikroprocesorska družina RISC (Reduced Instruction Set Computer). Ti 32-bltni ■mikroprocesorji so bili razviti na univerzah v :Stanfòrdu in Berkeleyu (Kalifornija). Ti procesorji niso komercialno dobavljivi, vendar so ' iineli doloöen vpliv na razvoj 32-bitnih mikro; procesor jev (npr. Initiosov Traneputer). Microeagle (DG).Ta VLSI vezja so različica stroja, ki ga opisuje T, Kiđđer v svoji knjigi. Mnoäica vezij opravi operacija med registri v 40Ó ns ciklu in uporabi dva cikla poinnllniäko/registrBki pomik. Centralni' procesor uporablja koproceaor plavajófie vejice> ki opravi 64-bitni seštevanje v štirih ciklih. Micro VAX 1 (DEC).. VÄX je zna-nana 32-bitna arhitektura dveh.tkim. supermini implementacij, in sicer VAX-11/780 In VAX-11 /750, V Sibkejäi izvedbi pa VAX-ll/730, Micro VAX 1 je implementacija enake arhitekture v obliki veS VLSI vezij, ki so^razvrSäena nä tiskani plòBSi, podobni LSI-11 implementaciji arhitekture PDP-11. Bistvena lastnist družine VAX je njena navzdolnja.in navzgornja zduäl-jivost. Micro VAX 1 ostaja brez nekaterih "komercialnih" ukazov,' vendar'je obdržal pasti, ki orw-gbSajo emulacijo s programsko, opremo. Focus (H-P). H-P doslej ni objavil nobenih podrobnosti o arhitekturi procesorja Focus, Čeprav je bila objavljena vrsta Člankov o njem, Ve6 integriranih vezij sestavlja popolno integriran 32-bitnÌ vefiprooasorskl sistem. Razvoj Ije trajal 7 let. Šest vezij jei osrednji' proceso'r, V/I procesor, pomnilniSkl krmilnik, RAM, RCM in taktnik. Vsa ta vezja so Izdelana v 1-mikronaki tehnologiji In uporabljajo takt 18 MHz. Siistemakl blok Je prikazan, na sliki 1, . Najbolj zapletena ja centralna procesna enota, ki vsebuje 4 50000 tranzistorjev. 230 ukazov je mikrokodiranih v 9216 besedah. doLSlne 38 bitov krmilnega ROMaj ti ukazi se zajemajo in izvrSu-jejo s hitrostjo 18 MHz. Posamezen 38-bitni mi-kroukaz se izvrSi vsaiiih 55 ns. Ukazna množica uporablja skladni mehanizem, ' kar spominja na Burroughsove računalnike. Vrsta ukazov deluje nad vrhnjimi elementi sklada In.pugfta rezultate ,v skladu. Za optimizacijo teh ukazov ao vrhnji elementi sklada avtomatično shranjeni tudi v registrih) ta prenos je avtomatičen-(brez dodatnih ukazov), ' Centralna procesna enota vsebuje izredno zmogljivo aritmetično/logično enoto (ALE), ki lahko izvaja 32-bltne celoStevllske-adlclje med registri ali desne in leve pomike do 31 bitov v enem mikrociklu (55 ns). Deljenje 64-bitnih o- ! perandov v IEEE formatu traja le 16 mlkrosekund ' (to'je tudi najdaljša operacija ALE).- Pomnilnläki model Izvršilnega Jsrocesa Focusove CPE je sestavljen iz kodnih, skladnih, globalnih podatkov in zunanjih podatkovnih segmentov. Kod se nalogi na zahtevo, in sicer celoten segment hkrati, H-P ocenjuje izvajalno hitrost Focusove CPE na približno 1 MIPS (milijon ukazov na sekundo) pri tipični ukazni mešanici. Tipičen ukaz porabi približno 18 mikrociklov za svojo izvršitev. Čeprav je izvajanje in operan-dno zaseganje v pomnilniku zaporednoparalelno (pipelined) pa CPE nima hitrega vmesnega poniti Llnika (cache) ali TLB (translation lookaside buffer). Focusova CPE izrabi le 30% pasovne širine pomnilniSkega vodila (18 Mzlogov/s) in v tem je skrita velika rezerva za multiprocesor-ske konfiguracije i To pa je tuđi osnovna težnja H-p, saj ukazna množica centralnega procesorja podpira paralelno procesiranje, Focusova ukazna mnoKica podpira visoke progra-mirne jezike in vsebuje tkim. poskusni/obnovitveni pripomoček, ki uporablja skladne označe-valnike. Focus naj bi podpiral programiranje v H-Pjevem modularnem Pascalu, imenovanem Modcal. Celo najnižja ravnina jedra operacijskega sistema HPUX (H-Pjeva različica sistema Unix) je programirana v Modcalu, CPE lahko izda do tri naslove na svoje multi-pleksirano naslovno/podatkovno vodilo pred sprejetjem ustreznega podatka iz pomnilnika. Podatkovne besede se pojavljajo na naslovno/podatkovnih vodih v natančnih, predvidenih časih, kar zahteva popolno sinhronizacijo dejavnosti centralnega procesorja, pomnilniäkega krmilnika in pomnllniških vezij. CPE je sestavljena iz 25 enot in kar 83 vodov je uporabljenih za njihovo medsebojno komuniciranje. Preostali vodi so naslovno/podatkovni (32), napajalni in taktni (26). Transputer (Inmos).. To je HISCovaki računalnik, ki se bo pojavil proti koncu leta 1984. Ime tega vezja označuje Inmo-sovo težnjo, da bi bilo to vezje tako povsodno kot tranzistor. Transputer bo izveden v enem samem vezju z 250000 tranzistorji v 2 inikronski CMOS tehnologiji. Vseboval bo procesor, pomnilnik in komunikacijska vezja. Transputer je predviđen za uporabo v multiprocesorskih sistemih in v podatkovnopretokovnih strojih, programiranih v Inmosovem jeziku Occam. ÌAPX3B6 (Intel) . Veliko podatkov o tem novem procesorju temelji na govoricah, vendar obstajajo zanesljivo veljavna dejstva o tem procesorju! — je nadaljevanje arhitektur 8086 in 80286 ima 32-bitne odmike v podatkovnih segmentih je implementiran v CMOS tehnologiji in uporablja takt 16 MHz predstavlja pohitritev ukazov procesorja ÌAPX286 v procesorju je vgrajen hitri ukazni vmesnik (cache) — vsebuje 270000 tranzistorjev ima vgrajeno tkim. stranenje in segmentirani virtualni pomnilnik tipa 286 ima nove ukaze za vektorska in bitna polja — njegov numerični aoprocösor je veliko hitrejši od procesorja 80287 — njegovo izpopolnjeno vodilo podpira popravljanje napak (fault tolerance) MC68020 (Motorola) . To je 32-bitni član družine MCfiSOOO. Le malo je znanega o lastnostih tega procesorja, ki se bo začel vzorčevati v letu 1984. Motorola je izdala več neuradnih podatkov, vrsta podrobnosti pa je bilo prikazanih tudi sedanjim uporabnikom družine 68000. MC68020 je 32-bitna izvedba Široko uporabljanega procesorja 68000. Ta izvedba je delno Združljiva navzdol, tako da bo veliko ukazov piroce-sorja 68000 Izvedljivih tudi na 68020 (««ndar ne vsi) . Največ ukaznih sprememb je na poijcoSju naslavljanja, obstaja tudi vrsta novih i^kaaov za BCD nize, manipulacijo bitnih polj in za 32-bitno množenje in deljenje. Dodanih je bilo nekaj novih načinov naslavljanja, podpirajo pa se tudi 32-bitnl pomiki. MC68020 ima tudi nekaj novih lastnosti. Vsebuje ukazni vmesnik (cache), dinamično obseganje vodila, soproceaorski vmesnik, ki podpira aritmetični soprocesor MC6888.1, mehanizem virtuatlnéga pomnilnika, podporo vodilu z napakami in pohi-tritve pomikanja, mnoäenja, deljenja, Mtnih manipulacij itd. 6 8020 bo proizvajan z novim procesom, ki je 90 % CMOS, v kritičnih vezjih pa bo uporafeljena NMOS tehnologija. Procesor vsebuje približno 170000 tranzistorjev in se.bo dobavljal sa hitrosti 16 In 20 MHz. Procesor bo približno dvakrat hitrejši od 68000. NS32032 (NS) . Ta procesor je 32-bitni Član družine HS16000, ki jo sestavljajo NS06032, NS16032 in HS32032. Vezji NS08032 In NS16032 sta 8- in 16-bitni izvedbi za vodilo. Podobno kot velja za VAX izvedbe, imajo vse procesne enote družine 16000 enako 32-bitno arhitekturo. Ker so razlike le na vodilu, je tudi notranja Implementacija pri teh procesorjih enaka. Proizvajalec družine NS16 000 trdi, da imajo njeni procesorji arhitekturo kabinetnih računalnikov v enem vezju, da nudijo prave molnosti virtualnega pomnilnika, aritmetične pod£)ore, visoko regularno in kompaktno dekodirano ^^azno množico, ki podpira visoke programima jeaike. Procesor 320 3 2 bo povezan s posebijo enoto (vezjem) za upravljanje pomnilnika (MMU), ki nosi oznako NS16082 in z aritmetično enoto NSl«08X. Ukazi za aritmetiko s plavajočo vejico in- za upravljanje pomnilnika so vgrajeni v centralni procesor in komunicirajo s podpornimi vezji s pomočjo pomožnega procesorskega protokola. Ta zamisel omogoča transparentno integracijo treh vezij v en sistem. Slika 2 je blokovni diagram centralne procesne enote NS32032. Bistvena lastnost tega vezja je tudi 8-taitna vrsta za zaseganje ukazov. Ta mali FIFO vmesnik omogoča centralni enoti 32-:bitnl prenbs ukaznega toka, čeprav imajo ukazi procesorja različne dolžine. Ta mali 8-bitni vmesnik nadomešča v bistvu hitri ukazni vmesnik, kot ga poznamo v velikih procesorjih (ukazni cache), Zaseganje ukazov je tu asinhrono glede na njihovo izvrševanje in se opravlja z maksimalmo hitrostjo frekvenčne širine vodila. Tudi pri zunanjem upravljanju pomnilnika se ukazi hitreje zasegajo kot izvrSujejo, čeprav deluje CPE s polno hitrostjo. Pri značilnih uporabah izrabi CPE 32032 manj kot 50% frekvenčne širine vodila, tako da ostane Še dovolj časa za uporabo več centralnih procesorjev, za DMA prenos in ža hitro grafiko. Procesor NS320 32 je implementiran s 3,5 mikronskim NMOS procesom in vsebuje 70000 tranzistorjev. Njegova taktna frekvenca je 10 MHz. Že v letu 19 84 bo obstajala njegova izvedba v CMOS tehnologiji z znatno povečano taktno frekvenco. Procesor uporablja tristopenjsko zaporedne^ra-lelno (pipelined) ukazno izvajanje. Prva stopnja je nalaganje, ki jemlje ukaze iz vrstej druga stopnja je predprocaslranje, kjer se ukazi dekodlrajo; tretja stopnja obsega mikrsđtodno izvajalno enoto. Mikrokod se izvršuje s hitrostjo enega mikroukaza na taktni cikel (lOO ns). naslovir krmilni, podaji . statusni signali krmilnik povezava na vođ4.1o ■ ukazi. 32 podatki 16 8-zlo2na vrsta dekodlrnlk ukazov ■pomlänl in takojSnjI : ekstraktor registrska množica 0 INT baza . 0 SB 0 0, ■.SPI ' i 0 ■ SPO ■ 0 '. .PC RO v. Hi * •• • • R7 MOD ■ - r' ■ ■ PSR- , -T 3 2-bItno notranj e vođilo nilkrokodnl ROM in krmilna logika LXTTl CFG register i ■ Slika 2. Bloöna shema centralne procesne enote NS 32Ö32 podjetja National iseralcon-. ■ ductors - -. ■ ■|N C R / 3 2 ( NC H.) i TÓ mikroprocesorsko (vezje je- precej drugaöno od doslej opisanih procesorjev. To vezje je pripravljeno za zuna-; nje mikroprogramiranje, tako da lahko emulira druge rafiunalniker. In sicer , predvsem šrednjeve-llke IBHove kabinetne računalnike, kot je npr. sistem 370. Množico vezij sestavljajo: I— NCR 32-000 CPC je centralna procesna enota. Vsebuje 40000 tranzistorjev in je izdelana s 3-, mikrònsklm silicianiin NMOS procesom. Deluje s . 13,3 MHz taktom, ko imajo notranji strojni cikli po dva taktna cikla (150 na). l6-bltnt mi-kroukažl, ki se berejo iz I28k-zloSnega- zunanjega pomnilnika, izbirajo 95-bitne besede iz ; notranjega ROMa za krmiljenje .179 operacij, ki so zveSirie,registrsko aritmetifine In loglöne nad 4-, 8-, 16-, 32-bttnlml In poljskimi podat- kovnimi tipi. "Mikroukazi se izvrSujejo v tri-stopenjskem zaporednoparalelnem (pipelined) procesu (zaseganje, interpretiranje, izvrševanje). Osem 16-bitn ih skoSnih regi ^trov podpi ra bogato ronoSico pogojnih operacij na mikrokođnl ravnini in posèbno mnòiicb mikroukazòv ■ za emulaci jo IBHovéga aletema 370. ~ NCR 32-0X0 ATC je enota za upravljanje pomnilnika. Razen naslovnegia prevajanja in žaSfiite dostopa opravlja to vezje Se krmiljenje pomni1-nläkega 08ve£evanja, preverjanje napak in njihovo popravljanje (ECC), ima register za Sas dneva. Intervalno prekinjanje fiaspVnega izteka in prekinjanje pri. vpisovanju ha dolofien vlrtut alen naslov. Šestnajst prevajalnih registrov podpira preslikavo 32- ali 24-bitnih virtualnih naslovov v 24-bithi fiziiSni naslovni prostor z uporabo stranenja s stranmi obsega Ik, 2k ali^ 4k zlogov; ' 80 zniogljivostiil ojaöQvalnik naslovni prevajalnik razSlrltveno aritmetično integrirano vezje tipa 32020 integrirano vezje naslovnega prevajalnika! 32010 ukazni pomnilnik 2a 128 k zlogov 16-bttno vodilo CPE Integrirano vezje tipa 32000 krmiljenje sistemskega takta 32-bltno J vodilo patnnllnläkl vmesnlkj glavni pomnilnik J sistemsko povezovalno vezje 32100 sistemski po-zovalnl oddajnik taktnlk :i: sistemski povezovalni sprejemnik taktnlk Slika 3. Konfiguracija sistema NCR/32 — NCR 32-020 EAC Je ojaSevalno vezje za aritmetične operacije.' To vezje podpira iBMovsko . zdruSljivo enojno In dvojno natanfinoiatno binarno aritmetiko in aritmetiko s plavajočo vejico, zgoSfieni in nezgoSCeni decimalni pomnilnik in formatno pretvorbo. Enojno natančnostno seštevanje v plavajoči vejici traja približno 1,6 mlkrosekund, — NCR 32-500 SIC povezuje procesorsko pomnll-nlfiko vodilo za 24 Mzlogov/e s poö a s ne j iS imi zu-nanjlki in drugimi sistemi. Konfiguracija sistema NCR/32 je prikazana, na sliki 3. Doslej niso bili objavljeni primerjalni rezultati (benchmarks), vendar.NCR trdi, da Je zmogljivost tega procesorja približno Štirikrat večja od 10 MHz procesorja MC68000. WE 32000 (Western Electric) . Ta mikroprocesor je bil nabrtovan za podporo operacijskega sistema Unix in jezika C. Osnovno mnoilco procesorja sestavljata CPS in MMÜ, ki sta Izdelana v 2,5 mikronski domino CMOS tehnologiji in uporabljata takt 8 MHz. Obstajajo izvedbe z veliko vefijo hitrostjo, ki pa Jih proizvajalec ni uradno objavil. Centralna . procesna enota vsebuje 146000 tranzisto^lev, MMU. pa 92000. Slika 4 prikazuje blokovni diagram centralne procesne enote. Ukazna množica procesorja WE32OO0 ima visoko stopnjo operacijske ortogonalnoBtl, adrfiSnih načinov in izbire operandnih obsegov. Vb« binarne aritmetične operacije so izvedljiva dvo-in trinaslovno Iti vse unarna operacije imajo dvonaslovno obliko. Operatorski kod določa fl^»* randni obseg, tako da so vsi operandi r«¥ilr-Ijivi na 32 bitov, preden se operacija »Sčne, Pri operacijah z operandi različnih obsegg^ upoäteva razširjeni tip, WE32000 razpoispa z bitnopoljskimi in niznlmi ukazi. Vsi nlM se končujejo z ničtlm zlogom, kot je standa]M»io v jeziku C. V ukazni mnoäicl so tudi uk^l za aritmetiko s pomično vejico, vendar Qbat4;ja za te operacije visoko zmogljivo zunanjo llezje. Zaenkrat WE ni objavil podatkov o takem v^Ju, Procedurna povezava procesorja WE32000 podobna povezavi pri VAXu, Vseh Šestnajst 3S!*blt-nih registrov Je navedljivih z strojnimi naslovnimi načini. Sedem registrov ima posebno funkcijot programski Stevnik (PC), preklnltyeni skladni kazalec, kazalec procesnega krmilnega bloka, procesorska statusna'beseda, 8kla(^ì|. zalec (SP), okvirni kazalec (FP) in argil^^tni kazalec (AP), Pos etno vlogo imajo pri pr^idur-nem povezovanju PC, SP, PP in flP, SAVE ul^, ki Slika 4, Blokovni diagram procesorja (Western Electric) WE32000 krmiljenje zaaeganja glavno krmiljenje 16-zloina ukazna vrata vhod/ izhod ukazno vodilo naslovna aritmetična enota 17 32-hitnih registrov Izvrfillno krmiljenje JTl programska statusna beseda valjni pomlkalnik izvršilno vodilo ^ podatkovno vodilo aritmetifin« / logična enota I Jt.t. ■ . . ,31 , : 24, 23 , 16 iS , , ^^^ ^ loglöni naslov [številka ravnine iT . Številka ravnine sT Stevlll^p strani Todmlk strani 1; . ------- Ei-g registri tabelnih deskrlp-tprjev realni naslov tabeia ravnine 1 tabela ravnine 2 . tabela strani 31 10 9 okvirni naslov odmik strani rani 1 Slika 5. Naslovna prevàjalna shema procesorja Z80000 (Zllog). ■ "se"' izvrši/po'Vstbpu^v proceđiiro, "" reši" vseb"ine\' registrov R3f ... , R8'z enim samim ukazom. Registri R0> Rl.in RZ so namenjeni prenosu podat- ; kov med klicateljem in klicanim, in se s proce-. durnlm klicanjem In vračanjem ne. spreminjajo. WE320.00 podpira vefiopravllne operacijske sisteme, kot. je Unix. Procesor podpira Stiri privi'-leglrane.' ravnine In mehanizem krmiljenega prenosa (podobno sistemskemu klicu pri strojih,', ki poznajo le «iporabnilkl In nadzornlškl naSln) , Toda proces ima le en Izvrältvenl'.. sklad, .'ki .. opravlja-funkcijo prenosa argumentov med ravni-, nami.. Ker sé predpostavlja, da je operacijsko jedro v naslovnem prostoru vsakega procesa,' ni , potrebna delitev vmesnikov med uporabnikom in -jedrnimi rutinami. Procesni kontekst (centralni prooepnl registri in naslovne prevajalne ta- -'bele) se shranjuje v pomnllniSkih procesnih kr-.; milnih blokih in posebni centralni procesni u-kazl. hitro preklapljajo med propesi. Mehanizem' ' se uporablja tudi za prekinitve, ki se obravnav vajo kot procesi, klicani nepričakovano. , Z 8 o ()■ o o ( z 1 1 o g ) . Ta procesor ja^ 32-bitnl .öian druäine .Z8000. Je havzgornja raz-' älrltev arhitekture procesorja 20000, vendar ■ ima .dinamlöno pbsegahje vodila,. .Šestnajst 32-: 'bitnih sploählh registrov, hitri'^datkovnl In . ukazni pomnilni vmesnik (cache za 256 zlogov) In pomnllhlško upravljanje s pomnllnläklml ta-. ■ belami (avtomatično upravljani TLB s 16 vstopi) ., Shema naslovne preslikave omogoöa linear- . no naslavljanje ali veS navzgor združljivih razširitev segmentnega naslavljanja procesorja Z8000. Virtualni pomnilnik z zahtevo po strane-.-nju je podpiran z lk-zlo£nlm obsegom strahl. Slika 5 prikazuje metodo naslovnega prevajanja. ■Procesor je Implemetlran v 2 ralkronskl HMOiS i tehnologiji in premore hitrosti do 25 MHz, Zar četna Izvedba,procesorja uporablja takt 10 MHz. ■ Notranji strojni člkll porabijo po dva taktna 'člkla. Z visoko zmogljivo pomnilniSko konfigui- -racijo se značilni programi izvršujejo z ukazom na vsakih 6,.8 taktnih ciklov, tako da, zriaSa Izvajalna hitrost procesorja 1,47 MIPS. Tako' obseg vodila kot časenje vodila (timing) sta . krmiljena din^ično, uporabljajo pa se Z-BÜS protokoli/ značilni za iperiferno družino Z80.00. i Skupinski ziogovnl prenos podpira predhodno za-seganje ukazov v hitri vmesnik (cache). ' Tudi ZBOOOp je predviden za uporabo zunanjega mate, matičnega procesorja, ki bo dobavljiv v letu 11985. ■ ' ■ V ■ kateri pirocesior je najboljši 7 "" ' . i ' ■ ■ ' Prva ugotovitev, ki jo lahko podpremo, je, da je mogoče nekatere procesorje razvrstiti v dve i skupinif prva je podobna VAXovsklm, druga pa; PDP-ll-ovskim probesorJem. Skupino tipa VAX; oblikujeta ' ■ ~ WE 32000 — NS 32032 in Skupino tipa ppp-il sestavljata ^ ■ ., ■ — MC 68020 In ~ Z BOOOO Focus (H-P), ki ima od Burroughsa sposojeno ar. hltekturo, ni podoben nobenemu od ostalih procesorjev. Ni Se znano, kam bo mogoče uvrstiti procesor 1APX386, vendar bo verjetno bliäji . Z80000 in MC68020, kpt kateremu drugemu. NCR/32 ima možnost emulacije z zunanjim mikrokòdom in .spada v razred RlSCovsklh strojev, ki mu pripada tudi Inmosoy Transputer . ■ ': Aritmetična podpora Je Izredno pomembna lastnost. i Tu se uveljavlja IEEE operacijski for^t .z uporabo soprocesórskega vezja. Le H-Pjev Focus iróìi tak procesor v samem'sebi, NCR/32 sledi iBMövem aritmetičnem formatu, ki je različen od. . IEÉE '.standarda. Tudi VAX uporablja svoje formate, ki pa so podobni'IEEE formatom. Virtualni pomnilnik s stranmi na zahtevo pomeni Univerzalno Izbiro z uporabo posebnega vezja za pomnilniSko upravljanje. Le Zllog In'Intel imata to vezje äe v osnovnem procesorju. Ž1logova metoda se je- razvila iz ločenih vezij, Intel pa je dogradil in dopolnil ta pomnllnlSkl mehanizem z IzicuSnjaml pri,--vez jih $086 in 80286. Izvräevalna hitrost še ni zanesljiv, podatek,^ čeprav obstajajo . Številne primerjave (benchmarks) t to velja zlasti za Intelove procesorje: v primerjavi z VAXom in z drugimi mikroproce-; sorji. Med obravnavanimi 32-bltnlml procesorji so razlike v hitrosti do faktorja 4. T ■i •3 i fi ,'i t SISTEMI ZA ENERGETIKO Ljubljana, TržaSka c. 2 i DALJINSKO IN LOKALNO PROCESNO VODENJE Z RAČUNALNIKI MINIRAČUNALNIKI IN MIKRORAČUNALNIKI V NAŠIH DOMAČIH SISTEMIH DIPS-Il IN DIPS-85 "V RAZISKAVE, RAZVOJ, PROIZVODNJA, INSTALACIJA,VZDRŽEVANJE SPECIALISTIČNO gOLANJE KUPČEVIH STROKOVNJAKOV ELEKTROENERGETIKA, PLINOVODI, NAFTOVODI, VODOVODI, INDUSTRIJA SODOBNA TEHNOLOGIJA - NAŠ TEMELJ PRI RAZVOJNEM DELU RAČUNALNIKI - NAŠI SOPOTNIKI NA POTI NAPREDKA OBIŠČITE NAS IN SE PREPRIČAJTE Že veliko let se ukvarjamo z raziskavami, razvojem in proizvodnjo sistemov za daljinsko in lokalno procesno vodenje. Temeljno vodilo našega delovanja na tem področju je slediti napredku v svetu in -ga presajati na naša domača tla. Vedno smo zavračali nosilno licenčno povezovanje s tujimi firmami povsod tam, kjer smo jasno videli, da vodi v dolgoročno odvisnost in tehnično nazadovanje. Verjeli pa smo v moč lastnega marljivega dela in v ustvarjalnost naših delavcev ter z vštrajnim delom dosegli uspehe, katere nam lahko zavidajo neprimerno večji in bogatejši tekmeci. Prav zaradi lastne poti in lastnega znanja smo s svojim razvojnim delom ves čas uspeli slediti najnovejšim tehnološkim dosežkom v svetu. V praktično življenje (računalniški nadzor v elektroenergetiki) smo vpeljali najsodobnejše mikroračunalnike. Tako smo bd prvih računalniških korakov pred več kot petnajstimi leti dospeli do sedanjih kompleksnih sistemov za procesno vodenje.