f y intorrnat ca : YU ISSN 0350-5896 FACOM kompjutere proizvodi Fujitsu, tvrtka koja najveću pažnju posvećuje sistemima. LSI s rebrima za hlađenje Prije svega kompjuter je sistem, tj. sredstvo za obradu podataka koji u sebi sadrži hardware, software i apiikacionu tehnologiju. Naravno razne tvrtke bave se prodajom kompjutera. Ipak, malo je tvrtki koje mogu ponuditi potpuni izbor sredstava za automatsku obradu podataka -konstruirani tako, da osim optimalnih performanci, imaju mogućnost ugradnje u veće sisteme. FUJITSU je jedna od tvrtki koja to može ponuditi. Kao vodeći proizvođač kompjuterskih sistema u Japanu, FUJITSU proizvodi široki asortiman proizvoda od minikompjutera s jednim LSI cipom do u svijetu najmoćnijih LSI sistema, kao i široki izbor periferne i terminalne opreme. FACOM kompjuteri obavljaju važne aktivnosti u poslovnim i državno-administrativnim organizacijama u mnogim zemljama širom svijeta. U Japanu, drugom po redu najvećem tržištu kompjutera u svijetu, instalirano je najviše FACOM sistema u usporedbi s drugim modelima ostalih proizvođača. Ovi moćni, pouzdani FACOM kompjuteri sposobni su za obavljanje svih mogućih poslova. Oni upravljaju satelitima u svemiru, daju prikaz atmosferskih prilika real-time grafikonima u boji, obavljaju bankovno poslovanje pomoću on-line sistema za više od 7.000 filijala i ekspozitura i još mnogo, mnogo toga. FACOM kompjuteri su potpuno integrirani sistemi gdje se kombinacijom visoko-kvalitetne tehnologije, moćnog softwarea i već provjerenih aplikacionih programa postiže efikasnost i pouzdanost kojima nema premca. fz^ Za dalje informacije obratite se na: Zavod za primjenu elektroničkih računala i ekonomski inženjering 41000 ZAGREB Savska c. 56 Telefon: 518-706, 510-760 Telex: 21689 YU ZPR FJ FUJITSU Fujitsu Limited-Tokyo, Japan informatica Publislicd by INFORMATIKA , Slovene Society for Informatics, 61000 Ljubljana, Jamova 39, Yugoslavia EDITORIAL BOARD: T. Aleksić, Beograd, D. Bitrakov, Skopje, P. Dra-gojlović, Rijeka, S. Hodžar, Ljubljana, B. Horvat, Maribor, A. Mandžić, Sarajevo, S. Mihalić, Varaždin, S. Turk, Zagreb. EDITOR-IN-CHIISF: Anton P. Železnikar TECHNICAL DEPARTMENTS EDITORS: V. Batngelj, D. Vitas - Programming I. Bratko - Artificial Intelligence D. Cećez-Kecmanović - Information Systems M . Exel - Operating Systeins A . Jerman-Blužić - Publisliers News B. Džonova-Jerman-Blažič - Literature and Meetings L. Lenart - Process Informatics D. Nov.-kk - Microcomputers N. Papić - Studo.'nt Matters L. Pipan - Terminology B. Pofjovic - News V. Rajkovič - Education M . Špogel, M . Vukobratović - Robotics P. Tancig - Computing in Humanities and Social Sciences S, Turk - Martlware EXECUTIVE EDITOR: Rudi Murn PUBLISHING COUNCIL T. Banovec, Zavod SR Slovenije za družbeno planiranje, Ljubljana A . Jorman-UIažič , Republi.ški komite za družbeno planiranje in informacijski sistem, Ljubljana B. Klomenčič, ISKRA, Elektromehanika, Kranj S. Saksida, Insitut za sociologijo in filozofijo pri Univerzi v Ljubljani J. Viraut, Fakulteta za elektrotehniko. Univerza v Ljubljani Headquarters: 61000 Ljubljana, Institut "Jožef Stefan", Jamova 39, Phone: (061)263 261, Cable: JOSTIN Ljubljana, Telex: 31 269 YU JOSTIN. Annual subscription rate for abroad is US 2 18 for companies, and US g 6 for individuals. Opinions expressed in the contributions are not necessarily shared by this Editorial Board. Printed by: Tiskarna KRESU A , Ljubljana DESIGN: Rasto Kirn JOURNAL OF COMPUTING AND INFORMATICS YU ISSN 0350-5596 VOLUMES. 1979-No. 3 C O N T E N T S M .Zečević 3 Implementing Abstract Deterministic Programs with Systematic Defensivness B.Kastelic M .Kovačević D.Novak 9 Tiny DlsK Operating System D.B.Popovski 16 A Hybrid Algorithm for Finding Roots M .Hodžić S. V rhovac 18 An Application of the Microprocessor MPR-52B to a Real-Time Air Target Tracking Problem D.Novak A .P.Železnikar 22 Cryptography Using Microcomputers 11 D.L.A .Barber 28 The Changing of Computer Networks M .Šubelj J .Korenini F .Novak R.Trobec 36 Coding and Decoding of a Correction Code by a Microcomputer W.Jurisié-Kette 41 Some Experience with Data Processing on the Small Business Oriented Systems A .P.Železnikar 48 Text Processing Using Microcomputers G .A .Babic 58 Application of AKKMR Method to Analyze Loop Computer Network to Support Distributed Data Base R.Čop M .Kovačević 64 Wire Wrapping Technology I News Literature and Meeting co coo. časopis Izdaja Slovensko društvo INFORMATIKA, 61000 Ljubljana, Jamova 39, Jugoslavija UREDNIŠKI ODBOR: Člani : T. Alekslć, Beograd, D. Bitrakov, Skopje, P. Dra-gojlovlć. Rijeka, S. Hodžar, Ljubljana, B. Horvat, Maribor, A. Mandžlć, Sarajevo, S. Mihallć, Varaždin, S. Turk, Zagreb. Glavni in odgovorni urednik: Anton P. Železnikar TEHNIČNI ODBOR: Uredniki področij: V. Batagelj, D. Vitas - programiranje I. Bratko - umetna inteligenca D. Ćećez-Kecmanovlć - Informacijski sistemi M. Exel - operacijski sistemi A . Jerman-Blažič - novice založništva B. Džonova-Jerman-Blažič - literatura in srečanja L. I^nart - procesna informatika D, Novak - mikro računalniki N. Papić - študentska vprašanja L. Pipan - terminologija B. Popovlć - novice in zanimivosti V. Rajkovič - vzgoja in Izobraževanje M. Špegel, M. Vukobratović - robotika P. Tancig - računalništvo v humanističnih in družbenih vedah S. Turk - materialna oprema Tshničnl urednik : Rudi Murn ZALOŽNIŠKI SVET T, Banovec, Zavod SR Slovenije za driižbeno planiranje, Ljubljana A . Jerman-Blažič, Republiški komite za družbeno planiranje in informacijski sistem, Ljubljana V B. Klemenčič, Iskra, Elektromehanika, Kranj S. Saksida, Institut za sociologijo in filozofijo pri Univerzi v Ljubljani, Ljubljana J. Vlrant, Fakulteta za elektrotehniko, Univerza v Ljubljani, Ljubljana Uredništvo in uprava: 61000 Ljubljana, Institut "Jožef Stefan", Jamova 39, telef. (061)263-261, telegram JOSTIN, telex: 31 269 YU JOSTIN, Letna naročnina za delovne organizacije je 300,00 din, za posameznika 100,00 din, prodaja posamezne številke 50,00 din. Žiro račun šf.: 50101-678-51841 Stališče uredništva se lahko razlikuje od mnenja avtorjev. Pri financiranju revije sodeluje tudi Raziskovalna skupnost Slovenije. Na podlagi mnenja Republiškega sekretariata za prosveto in kulturo št. 4210-44/79 z dne 1.2.1979, je časppia oproščen temeljnega davka od prometa proizvodov. Tisk: Tiskarna KRDSIJA , Ljubljana Grafična oprema: Rasto Kirn m .LETWIK3,1979-52. 3 M .Žečević B.Kastelle M .Kovačevič D .Novak D.B.Popovski M .Hodžič S.Vrhovac D.Novak A .P.Železnikar D.L.A .Barber M .Šubelj J. Korenini F .Novak R.Trobec W.Jurisic-Kette A .P.Železnikar G.A .Babic R.Čop M .Kovačevič VSEBINA 3 Sistemska predstroženost u implementaciji formalno izvedenih determinističkih programa 9 Mali diskovni operacijski sistem 16 Jedan hibridan algoritam za nalaženje korena 18 Primjena mikroprocesora MPR-52B na jedan primjer praćenja ciljeva u realnom vremenu 22 Mikroračunalniška kriptogra-fija II 28 Vloga računalniških mrež se spreminja 36 Kodiranje in dekodiranje ko- ' rekturnega koda z mikroračunalnikom 41 Iskustva u pbradi podataka na malim poslovnim sistemima 48 Procesiranje tekstov z mikroračunalniki 1 58 Primena AKKMR metode u analizi kružne mreže računara za podržku distribuirane baze podataka 64 Tehnologija ožičevanja I Novice in zanimivosti Literatura in srečanja SISTEMATSKA PR EDSTR02 ENOST U IMPLEMENTACIJI FORMALNO IZVEDENIH DETERMINISTIČKIH PROGRAMA INFORMATICA 3/1979 M. ZECEVIC UDK: 519.688 TEHNIČKA VOJNA AKADEMIJA, KoV JNA Realizacija determinističkih algoritama formalno opisanih jednostavnim, rigorozno definisa-nim Jezilion pomoću stvarnih industrijskih jezika za programiranje redovno je opterećena greškama. Pod predostrožnošču se, u ovom radu, podrazumeva osiguranje od opasnosti da realizova-ni program u doba izvršenja proizvodi netačan rezultat bez ikakvog upozorenja. Shvatajući programe pripremljene za kompilaciju kao skupove trasa ostvarivih tokom izvršenja programa, predlaže se metodologija (koja je u suštini dualna "invariant assertions" metoda ) za analizu logičkih uslova pod kojima programi mogu da sadrže trase koje okončavaju netačnim rezultatom. Uvodi se naredba "abortne dijagnostike" čija je namena da se trase koje vode netačnom rezultatu prinudi da omanu. Naglašava se problem sinteze abortne dijagnostike i điskutuje se iskustvo u predstrožnim fortran implementacijama. IMPLEMENTING ABSTRACT DETEIiMIHISTIC PROGRAMS WITH SYSTEMATIC DEFENSIVNESS: Implementation of a deterministic algorithm abstractly described in a simple rigorously defined language, by means of a live industrial programming language is always prone to errors. Defensivness in this paper means safeguarding an implementation against production of incorrect results without any warrning during object time. Viewing compilable programs as sets of traces feasible during program execution a methodology (which is a dual to "invariant assertions"method) is proposed for analysis of logical conditions in which programs may have traces that could lead to incorrect result. A "safeguard"instruction is introduced whose purpose is to force the failure of traces that lead to incorrect result. Safeguard synthesis problem is emphasized and some experience in safeguarding fortran implementations is discussed. UVOD Teza ovog rada potekla je iz dvogodišnjih eksperimenata sa mogućnostima formalnog početnog izvođenja softvera. Ovakvo izvođenje treba da omogući, da se u implementaciji poslovi raspodeljuju prema složenosti, umesto po modulima - sa osnovnim ciljem, da se raspodela poslova što bolje prilagodi strukturi kompetentnosti kadra koji radi na proizvodnji određenog softvera. U ovakvom ' je prilazu jedan od ključnih problema nadzor nad greškama, koje se unose u fazi implementacije formalno kodiranih programa. Tokom eksperimenta, ovaj je problem napadan sa nekoliko heurističkih modela dijagnosti-Rad je referiran na XIV .Simp.Informatica,Bled,okt.1979 ciranja implementacije. Predloženi rad sadrži formalno obrazloženje poslednjeg modela, koji je pokazao više nego zadovoljavajuće rezultate u implementiranju determinističkih programa. OSNOVA Ako pod stanjem postupka računanja (mehanizma mašine) porazumevamo preslikavanje među skupom varijabli postupka i skupom vrednosti, možemo da smatramo da svaki postupak defini-še klasu proračuna (procesa), koji se odvijaju u svom prostoru stanja. Ako Je G postupök a r predikat definisan u avim stanjima postupka Gir karaktoriše željena konačna stanja postupka, onda sa wp (G, r) označavamo predikat koji karakteriše sva početna stanja postupka iz kojih se iz-vesno okončava u stanju u kome je r istinit. Ograničimo se na klasu postupaka koji se đe-finišu jezikom u kome su: (p-1) wp( skip, r ) = r , (p-2) wp( abort, r ') = false , (p-3) wp( X != E, r ) = r^ , elementarne naredbe. Ako P i Q definišu postupke a c i d su predikati definisani u svakom stanju, onda i sledeče kompozicije naredbi definišu postupke: (p-4) wp( P;Q, r ) = wp( P, wp( Q, r )) (komponovanje kalemljenjem - ■ concatenation), (p-5) wp( if( )fi, r ) = ( o ££ d ) and ((c^wpC P, r ))and(d^wp( Q, r ))>. C and d = false 1 (komponovanje selekcijom), (p-6) wp( do( c-?.P )od, r ) = (ak)( k^O and r )), gde je, za k»0,'Hp=r and non c, i za k>0, Hj^ o wp( if( c->P )fi, ■ (komponovanje iteriranjem). Potpuna definicija ovog jezika može se naći uCl3, Sa druge strane, neka Je U univerzum računanja i neka je s trasa ( trag ) jednog proračuna u tom univerzumu. Trasa se sastoji od konačne povorke dodeljivanja vrednosti varijablama postupka sa umetnutim predikatima, čiju istinitost postupak proverava tokom računanja, Dodeljivanja vrednosti i predikati na trasi, Jednim se imenom zovu taktovi trase. Ishod proračuna predikata na trasi (u opštem) zavisi od početnog stanja koje se asocira trasi. Trasa, čiji se svi"predikati kursom računanja pokažu istinitim, zove se ostvariva} trasa koja u kursu računanja, sadrži bar jedan neistinit predikat naziva se neostvariva. Za proračun (u koga se upusti postupak) po neostvarivoj trasi kaže se da je omanuo u tnktu u kome je izračunat prvi neistinit predikat. Postupak je determinis- tički oko se svakom početnom stanju može asocirati najviSe Jedna ostvariva trasa. Trasa se može smatrati parcijalnom funkcijom koja preslikava početno stanje postupka u konačno. Trasa može da se posmatra i kao model "egzekucije" programa. Efekat odvijanja determinističkog programa pokrenutog iz početnog stanja x^^ u svemu je isti kao efekat niza dodeljivanja vrednosti na ostvarivoj tra si koja počinje u x^ « U smislu ovoga modela, jasno je da svaka ostvariva trasa mora da bude konačna. Neka je rcU skup konačnih stanja od interesa a r predikat koji karaktoriše ova stanja i neka je sar skup svih početnih stanja iz kojih postoji trasa s koja može da. dovede do stanja koje pripada r. Tada Je sar inverzija trase ( kao funkcije ) u odnosu na skup r. Dualno se definiše s£r ° sar, tj. skup početnih stanja iz kojih nema ostvarive trase koja bi mogla okončati u stanju koje pripada komplementu skupa r. U radu će inverzija se_r biti od dominantnog interesa. Trase se mogu kalemiti jedna na drugu, što se označava sa sjt ( trasa t se kalemi na trasu s) u inverziji u odnosu na skup konačnih stanja r, kalemljenje se odražava kao: ( Sjt )£r = s£(' ter ) Ako su S i T proizvoljni skupovi trasa, kalemljenje T na S definisano je sa: SJT = eVs tVl M a njihova unija sa: S UT ° ^s I s g S or s £T Definicija .a inverzije lako se proširuje na skup trasa: Sar = gVs ( sar ) , i dualno Ser Sar Skupovi trasa kao model implementacije detaljno su opisani u [2^ , U istom radu izvode se osebine Sar i Ser kao i račun uslovne i totalne korektnosti. Osobine a i £ inverzija koristit će se u dokazu teze rada. Najzad, svakom skupu trasa odgovara jedan postupak računanja i svaki ovakav postupak može se definisati formalnim programom čiji je jezik uveden (p) definici-, jama. Dokaz ovoga stava nalazi se u[2j . Ako ou P i Q naredbe.iz jezika (p) a P^ i Q'^ odgovarajući skupovi trasa, oledećom rekurzijom definiSe oe uznjmnoat modeliranja postupku proRramom odnócino Bkupom trasa: (m-1) Gkip'' = {true} (m-2) abort = {false} (m-3) ( X E = {x ^ e} (m-4) ( P;Q = ( ) (m-?) ( if( c-^P^'d-fQ )fi (d} (m-6) ( do( c-^P)od = ^n ' B^® J® S„-(n2nc}, S^.i = (c } 5P^S^U s^ Primetiti da je podskup stanja Sar karakte-risan predikatom wp(G,r), gde je ako je G deterministički program i da je podskup stanja Ser karakterisan predikatom wlp(G,r) bez obzira je li G deterministički ili ne. TEZA - Trasa s je početni segment trase t ako t počinje s - om, tj.: s^t = (3x ) ( s;x . t ). Može se primetiti da segmentacija predstavlja parcijalno uređenje uz: (Vt)( «> prazna trasa - sto se može uzeti i kao semantička definicija prazne trase.Početni segment S skupa trasa S definisan je sa: = {x I (3 8)( s es ^ X 4s )} Za trasu t se kaže da je nastavak od s u 8 ako je s;teS. Skup svih nastavaka trase s u S . je S/s = (t I sjtes } . Definicija Segment programa odnosno njemu asocirani skup trasa S nazivaju se predo-strožno zatvoreni ako: a) Iii jedna trasa iz S nema neprazni nastavak u S, tj. (d-1) (V8)((8 6S)=»(S/8 =(<>} ) i b) postoji jedinstven skup trasa {i} " nakalemljen na skup S: (d-2) S;{i> = . Predikat (non i) naziva se abortna dijapino-stika koja predostrožno zatvara segment G. U smislu gornje definicije, za svaki skup trasa koji ima osobinu (d-1), odnosno za pgm koji ga generile kaže se da se mogu predostrožno zatvoriti. Lako je pokazati da se svaka forma (m-1) do (m-6) može predostrožno zatvoriti. Neko je G segment programa i neku je S njemu asocirani skup trusa koji uživa osobinu (d-1) i neka je segment predostrožno zatvoren abortnom dijagnostikom ( non i ). Neka je, dalje, G deterministički program, tj. za svako početno stanje postupka definisanog programom G postoji najvi-öe jedna ostvariva trasa s€ S koja vodi u nekakvo konačno stanje. Neka je T nedetermini-stički skup trasa zatvoren istom abortnom dijagnostikom, tj.: (Vt)(t€T) and ( T/t ={<>})) i Ako G generile S rekurzijom (m) a T se generile rekurzijom skip"*" = {true^ false'*' = -(false) (x:=e)'" = {x:=e) U (p;q)^ = (if (c-»P '^d-^ Q)fi)"' = {c} U P; 0 gde je E^ ma kakav izraz a Pj^ ma kakva naredba, onda očigledno S CT i za S i T se kaže da imaju istu strukturu. Za svako početno stanje postupka može postojati nekoliko ostvarivih trasa koje vode u nekakvo konačno stanjej najviSe jedna od njih može biti iz skupa S. Ako je rcU, skup konačnih stanja interesa, iz osobina inverzija a i ^ je: (SCT)=^( SarcTar ) , ali (SST) ( TerCSer ) jer, zbog nedeterminizma skupa T, proračun pokrenut iz Tar može okončati,stanjem koje pripada r, no može okončati i stanjem koje pripada komplementu od r. Predpostavimo, da je i odabrano tako, da za svako početno stanje i stiče vrednost false na svakoj trasi koja pripada ( T - S ); {i} . U tom slučaju je lako dokazati da je ( T; {i> )er = ( S; < )er . Šta više, kako je i jedinstveno, to dijagnostika non i jednoznačno određuje segment programa kome pripada trasa računanja koje je omanulo. Egzistenciju predikata i sa osobinom ( T-S); (i) e 0 utvrđuje slodeća Lema liAko SS.T i ( Té non r)c Ser and ( non r) ^ 0 onda egzistira invarijanta e takva da Je (T£ non r) trasa {e} j t ; |e=» non rj ostvariva uvek kada je trasa t ti 03tvari%® Dokaz leme (u drukčijoj notaciji) naveden Je uCj] • Teorema 1; Za skupove trasa S i T i predikate rie kao u prethodnoj lemi važi (e-1) [( T-S )j {non e} ] e 0 i (e-2) ( T; {non ej )£ r = Ser Téorema se lako dokazuje neposrednom prime-nom prethodne leme. Neformalno rečeno - u problemu implementacije formalnog programa ne insistira se na totalnoj korektnosti implementacije; smatra se dovoljnim ako realizovani program ne bude proizvodio pogrešne rezultate bez ikakvog upozorenja, U predloženoj metodologiji se usvaja da-skup trasa T generisan implementacijom sadrži skup S kao podskup a da se greške u implementaciji (ma kakav bio njihov uzrok) manifestuju kao nedeterminizam kojim se program pokrenut iz S^r upušta u proračun trasom koja pripada ( T r S ). Predostrožnost u implementaciji realizuje se zatvaranjem kritičnih segmenata abortnim dijagnostikama čime se osigurava da eventualna greška u segmentu neće ostati neotkrivena, Pored toga, svaka omaška ulovljena tokom izvršenja programa neposredno ukazuje na segment koji krije grešku. Uz nešto rutine u komponovanju i , sama abortna dijagnostika može da sadrži dobar dao analizfe greške. PRIMER Posmatrajnmo formalni program G ; (a-1) read (J); do 2|J->J:= J ^ 2 ' non (2 J) ^(JA)-»J:= 5*J + 1 od ; end , gde Je: J - celobrojna varijabla, 2|j - znači " J Je bez ostatka deljivo sa 2" div - operator celobrojnog delenja. S obzirom da Je (2|j) and non (2|J) - false , program (a-1) Je deterministički. Ako Je X^ početna vrednost varijable J (koja stiče iniciJalizaciJom read (J) ), onda formalni program (a-1) dodeljuje varijabli J niz vrednosti J^ i, ako okonča, utvrđuje istinitost predikata ( a-2 ) r:' (J^» x^^)and(3i)(and h>0) Lako Je pokazati da Je wlp( G,r ) = true, odnosno, da Je Ser = U, gde Je S skup ostvarivih trasa programa G a U univerzum računanja. Isto tako, lako Je uveriti se da ( a-3 )( Jo< 1 H £££ odnosno, ni za Jedno početno stanje karakte-risano sa iie postoji ni Jedna ostva- riva trasa u 8; Međutim, wp( G, true ) nije poznat, mada do sada eksperimentom nije nađen Jq> 1 za koji program G ne bi okončao. Ova analiza ilustruje čestu situaciju u praksi, naime, ne samo, da Je nemoguće odrediti wp( G, true ), nego nije moguće odrediti ni razumno slab q takav da q:^wp( G, true ); s druge strane, empirijski Je poznato, da Je skup početnih stanja za koja program proizvodi tačan rezultat dovoljno velik da opravdava implementaciju. Invarijante' koje zadovoljavaju (e-1),. odnosno (e-2) određuju se na osnovu niza J^ . Osobina: (a-^) (J^j=2^)«:»(h=n and Jj^=l) Je očigledna. Osobina: (a-5) (Jg^ 2^^ and (Vi)2 I Ji) -,h (3h)(3l(J.*2^-l) ^ non( 2 I (Jj^*2^-l)/5)) Je neposredna posledica algoritma formiranja niza, Nažalost invarijanta (a-4-) Je nepodesna za efikasno proveravanje zbog prisustva induktivno kvantifikovane varijable Vi. U slučaju da Je niz konačan ( (3n)(ójj=l) ) invarijanta (a-4) implicira (a-6) (2|h) , na osnovu tautologije (Vh )( ((h>l) anä 5|(2^-l))=»2|h ) koja se lako dokazuje indukcijom po h. Slika 1, pokazuje fortran implementaciju formalnog programa G. Podprogram ABNORMAL Je tako kodiran da Je naredba CALL ABMOItMAL semantički ekvivalentna naredbi abort, dok parametri u pozivu inde-ksiraju segment izvornog programa koji Je generisao traou koja je omanula taktom abort Naredba (f-1) je model zaključka (a-3). naredba (f-2) je posledica LIMIT < 0 odnosno r= false,. LIMIT <0 Se( non r)- , odnosno LIMIT <0=^Ser = ( J ZER0<1), što je već obuhvaćeno naredbom (f-1). Naredba (f-^) prepoznaje vrednost J ZERO koji ispunjava osobinom (a-4) u kom je slučaju trivijalno proveriti rezultat. Uslov u IF naredbi (f-5) je model od (a-6), negacija ovog uslova je abortna dijagnostika. Deo programa [_ 33 C0NTINUE ... END ] predo-strožno zatvara trase čiji bi se poslednji takt nalazio u non r. Na svakoj trasi koja sadrži takt •35 CONTINUE = {true} , Ù istom taktu važi 2 |J. Uslov u naredbi (f-6) je negacija (veoma) oslabljene osobine (a-5). Izvršenje naredbe CALL ABNORMAL ( 5HPW2 , ) otkriva trasu koja ne bi smela da postoji. Naredba (f-7) detektuje početna stanja Xoo ( =4.non(( 3i) ( jj^-1) and i < LIMIT +2- ) Na kraju treba primetiti da SUBROUTINE PW2, pored sve pažnje i sistematičnosti u odbrani od grešaka, ipak sadrži grešku koja može da dovede do proizvodnje pogrešnog rezultata a da se ni jedna abortna dijagnostika ne aktivira. Naime, program propušta da proveri nastajanje INTEGER OVERFLOW statusa nakon izvršenja naredbe " J = 5«J + 1". Tačan ishod ove naredbe u slučaju nastajanja OVERFLOW statusa zavisi od sistema na kome se program izvršavaj no, u opštem,događaji izgledaju tako kao da je program prekinuo sa generisanjem članova niza sa počeo da generiše novi niz čiji je OVERTLOW vrednost od j. Očigledno je'da novi niz može okončati sa vira i jedna od abortnih dijagnostika. (Između ostalog, ova analiza pokazuje šta se podrazumeva pod predpostavkom da implementacija uvodi širi skup trasa nego formalni program. Naša nezainteresovanost za tačan ishod naredbe J=5)fJ + lu OVERFLOW slučaju nalazi svoj formalni odraz u predpostavci da Je skup trasa generisan implementacijom nedeterministički). Razlog za ovo je sledeči: iako lema 1 garan^ tujo egzistenciju invarijante sa osobinom ^0-0 i jjj=l bez da akti- (e-1) cna ne pruža nikakav efikasan putokaz za sintezu ove invarijante. Zato smo često prinuđeni, da usvojimo slabiji uslov za in-varijantu odn. oštriji uslov za abortnu dijagnostiku. U našem primeru, prisustvo člana (Vi) u osobini (a-8) onemogućuje efi-kaano izračunavanje negacije ovog uslova -u stvari, trebalo bi izračunati čitav niz unatrag. Naravoučenije je: nikakva logiča analiza programa - mentalna ili automatska ne isključuje potrebu testiranja programa. Više 0 ovoj temi može se naći u 4-] . ZAKLJUČAK Rad napada probleme: kako biti sistematski defanzivan u implementaciji formalno izvedenih determinističkih programa. Ovaj problem je posebno delikatan u slučajevima kada 'je praktično nemoguće odrediti domen početnih uslova za koje je program korektan i/ili domen početnih uslova iz kojih program pouzdano okončava. Ovo je posebno slučaj u razvoju programskih jezika; čak i kod jednostavnog jezika za strogo specijalne nameme praktično je nemoguće odrediti koji sve tekstovi kompiliraju u korektne programe (ili se korektno interpretiraju). S druge strane, formalni programi se redovno iz-«^ode posredstvom minimalnog i dobro, strukturiranog formalnog jezika, dok se implementacija radi, po pravilu na industrijskom jeziku sa priličnim razlikama u odnosu na ishodni jezik sintaksi i sematici 1 još gore, sa priličnim nejasnoćama u jednom i u drugom. Prilaz koji je predložen u ovom radu u suštini je dualan metodologiji koja je posmotra pod nazivom "invariant assertions" koju je uveo Floyd [5] i koja je- dosad primenjivana u raznim varijantama (vidi na pr. [^t-J , [e^). Umesto jezikom ža programiranje, implementami programi predstavljeni su skupovima svojih ostvarivih trasa. Definicije, notacije i osobine trasa i skupova trasa uzeti su onako kako ih je uveo Hoare u [2J . Ova notacija omogućava ne samo nezavisnost od jezika implementacije i mašine na kojoj se programi odvijaju, već omogućava da skup uključuje trase koje su generisene omaškama, nepredviđenim ishodima pojedinih naredbi, neumesnim "defaultima" pa čak i greškama hardvera. Osim u više manjih projekata, metodologija pre-dostrožnog zatvaranja kritičnih segmenata programa je primenjena u dva srednjo velika projekta - oba kodirana fortranom. Jedan projekat Je predstavljao interaktivni softver za formalni razvoj softverske specifikacije, drugi Je bio softver za generiaanje i ažuriranje baze podataka. I pored toga što metodologija ne pruža putokaz za sintezu abor-tne dijagnostike, već se to prepušta invenciji programera, u oba pomenuta projekta pronađena Je samo Jedna greška koja nije aktivirala abortnu dijagnostiku - greška u implementaciji sinhronizacije u monitoru poruka u interaktivnom softveru. Vreme potrebno za otkrivanje greške koja je pravi uzrok aktiviranja abortne dijagnostike obično Je reda 5 minj sem u Jednom slučaju, kada Je grešku uzrokovao simbol komentara ( C ) u naredbi G0T0 koja Je bila napisana od 25-te kolone - 3 čoveka utrošila su 4 sata na analizu, dok Jedan slučajno nije primetio prokleto slovo C, LITERATURA 1. Dijkstra.E.W. A Discipline of Programming. Prentice-Hall,Englewood Cliffs,. N.J.,1976. 2. Hoare,'C.A.R. Some Properties of Predicate Transformers, Journal of the ACM 25(Juli 1978), 461-4^80 5. Katz, S., Manna,Z. Logical Analysis of Programs, Communications of the ACM 19 (april 1976), 188-206 4. Manna, Z. Waldinser,R. The Logic of Computer ProRramming, IEEE trans, on Soft. Eng. SE-4 (maJ 1978), 199-25'<- 5. Floyd,R.W. Assigning Meaning to Programs. Proc. Symp. in Appi. Math., Vol 19, J.T. Schwartz (Ed.), Amer,Math.Soc..Providence R.J., 1967, 19-52 6. Manna, Z., Waldinger,R. IS "Sometime" Sometimes Better than "Always"? Communications of the ACM 21 (februar 1978), 159-172 (f-5) (f-6) (f-7) SUBROUriNf. PWÜ i J ZEHO, N. LIMIT ) INTEGEP J ZE«0, N, LIMIT INTEGER J. HLF if( j zeko .lt. 1 » call ahnormal < 3hpw^. ! > 1f{ limit .lt. 0 i call abnormal ( 3hpw-e. 2 i n = 0 j = j zero hlf = 0 10 I F ( J .EG. 1 > 6 0 T 0 30 IF( N .GT. LIMir ) GOTO 35 IF( MODI ?t J ) .FU. 0 ) GOTO 20 J = 3«J ♦ 1 N = N ♦ 1 HLF = 0 20 J = J/2 N = N ♦ 1 HLF = HLF ♦ I G 0 T 0 10 3Ü IF( HLF .EQ. N ) RETURN IF( MOD( 2,HLV » .EQ. 0 ) RETURN CALL ABNORMAL < 3HPW2, 3 ) 3S CONTINUE do ao 1=1, hlf J = 2»J 'to continue IF( mod< 3. (J-n ) .ne, 0 .òr. m00( 2. ((J-l)/l) ) .FÙ. 0 ) ® call abnormal ( it ) call ahnormal ( 3hpw2, 5 ) dummy return' END Slika 1. Predostrožna realizacija algoritma (a-1) MALI DISKOVN I OPE RACI JSKI SISTEM B. KASTELIC M. KOVAČEVI C D. NOVAK UDK: 681.3.06 INSTITUT JOŽEF STEFAN, LJUBLJANA J'lanek obravnava diskovni operacijski sistem za jnikrora?«unalnik z enim crlbklm diskorr. Opisana je organizacija diskete 5n spomina, Imenik ter delovanje sameaa diskovnecta operacijskega sistema. Na koncu je objavljen program za zapisovanje In Čitanje podatkov z diskete s pomoSjo vhodno/Izhodnih kanalov mikroraSunalnika. TINy DIRK ORERATINC SYSTEM. The article presents tiny disk operatina system for a microcomputer with onfe floppy disk. Disk ornanizatlon, memory organization, directory and operation of the DOS is presented. The program for writing and reading data from disk by using input/output channels of a microcomputer is Included. l.UVOD ' V Članku je opisan diskovni operacijski sistem za mikroračunalnik s procesorjem M6800 in gibki disk, ki je krmiljen s krmilnikom 1771. Diskovni operacijski sistem omogoča zapisovanje in Čitanje podatkov z diskete s pomoCjo vhodno/izhodnih kanalov mikroračunalnika oziroma njegovega monitorja ter urejanje podatkov, ki so shranjeni v obliki nizov, na disketi. Vsak niz podatkov ima svoje ime, ki je zapisano v Imeniku poleg podatkov o legi niza na disketi. Funkcije diskovnega operacijskeoa sistema omogoCajo brisanje Imena niza iz imenika, kompreslranje diskete, izpis imenika ter neposredni dostop do posameznih sektorjev diskete. Diskovni operacijski sistem je zapisan z Izjemo Iniclalnega nalagalnika, ki je v ROMU, na disketi in se po delih prenaSa v mlkroraCunalniSkl spomin, kjer zasede le l,5k zlogov spomina. 2.ORGANIZACIJA DISKETE Diskovni operacijski sistem (DOS) uporablja enostranske diskete z normalno (enojno) gostoto zapisa podatkov. Vsaka disketa ima 77 stez, na vsaki stezi pa je 26 sektorjev z 128 zlogi podatkov (format IBM 3740). Ima torej 256k zlogov pomnilnega prostora za zapis podatkov. DOS uporablja niCto stezo diskete, za zapis podatkov pa je na razpolago ostalih 76 stez. Diskovni operacijski sistem je shranjen v ROMU (l/4k) in pa na prvih devetnajstih sektorjih nlCte steze vsake diskete. Skupaj obsega pribliSno 2,5k zlogov programa. Rlede na nalaganje DOSA iz diskete v mlkroraCunalniSkl spomin ga lahko razdelimo na pet delov. DOSI I Inicialnl nalagalnlk (v ROMU) inicializira krmilno vezje in gibki disk, postavi Citalno/pisalno glavo na stezo niC in preCita prvih deset sektorjev niCte steze v mikroraCunalnlškl spomin, D0S2! To je program naložen na prvih Štirih sektorjih niCte steze. Sestoji se iz podprogramov, ki jih uporabljajo funkcije diskovnega operacijskega sistema in ostane vedno, kadar se uporablja disk v spomlminu. Prvihi šest zlogov prvega sektorja je rezerviranih za ime diskete, nato pa si sledijo podprogrami: E K T O R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1-e -r- 1- T- nr DISKOVNI OPERACIJSKI SISTEM IMENIK STEZA 76 pt PODATKI SLIKA 1; NiCta steza diskete je uporabljena za diskovni operacijski sistem in za Imenik. Vse ostale steze so na razpolago za zapis podatkov. 10 1 2 3 4 5 6 7 STEZA O P K K T O n 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 -I-1-1-1-1-1— 1 I nos 5 D0R2 nns3 DOS 4 IMENIK SLIKA 2i Leoa posameznih delov diskovnega operacijskega sistema na niCti stezi diskete. - Čitanje sektorja - zapisovanje sektorja - Čitanje veö sektorjev - zapisovanje veC sektorjev - izpis imena diskete - iskanje imena v imeniku Naslednji trije deli diskovnega operacijskega sistema se izmeniSno nalagajo v spomin v odvisnosti od zahtevane funkcije. DOS3! Obsega programski vmesnik za navezavo na vhodni in izhodni kanal monitorja ter proaram za izbiro funkcij diskovnega operacijskega sistema. Ta del DOSA je tudi objavljen na koncu članka. DOS4: čitanje poljubnega števila sektorjev iz diskete na poljubno polje spomina, zapisovanje, poljubnega polja iz spomina na poljubne sektorje diskete, izpis vsebine imenika, brisanje imena iz imenika. D0S5i Program za konipresiranje diskete. 3.IMENIK Imenik (directory) obseaa zadnjeh sedem sektorjev ničte steze diskete. Vanj lahko zapišemo maksimalno 98 imen nizov ter osnovnih podatkov o njihovi legi na disketi. Vsi nizi so naloženi na disketi kontinuirano, zato so dovolj le tri informacije o njihovem položaju. Ime niza predstavlja šest alfanumeriCnih ASCII znakov, sledijo pa jim trije zlogi» številka steze in številka sektorja zaöetka niza ter število zaporednih sektorjev. 0 123456789ABCDEP 'I « » > » I I I I r I—till N A M E O 1 T« sc s»l N A M E O 2 T« sc mIn A M E O 3 T« SC . . . IN A M E 1 4 T« SC Sil? 11 V I I I I I I. I I I I, I I rl'=. ZLOG - 5 IME NIZA 6 STEZA 7 SEKTOR 8 DOLŽINA ♦ 7E ZAČETNA STEZA / 00 $7F ZAČETNI SEKTOR /00 SLIKA 31 Sektor imenika V vsakem sektorju imenika je 14 imen. Na koncu sektorja sta Se dva zloga, ki imata vrednost 00, ko se imenik nadaljuje Se na naslednjem sektorju. V zadnjem sektorju imenika pa predstavlja predzadnji zlog stezo in zadnji zlog sektor prvega praznega sektorja na disketi. Tukaj se zafine zapisovati naslednji niz. Torej, Se imamo na disketi zapisanih 22 nizov in je v Imeniku prav toliko imen (nI zbrisanih nizov), bo prvih 14 imen v prvem sektorju imenika in ostalih osem v druoem sektorju, ki je tako tudi zadnji sektor imenika V zadnjem sektorju je ostalo prostora še za šest imen. Na tem prostoru so zapisani zlogi nlCel In na'koncu še začetna steza in sektor, kjer se bo začel nalagati naslednji niz. DolSina niza je omejena na 255 ($FF) sektorjev, kar je približno 32k zlogov. 4.ORGANIZACIJA SPOMINA Za delovanje diskovnega operacijskega sistema je potrebno l,5k zlogov spomina. Ha ta del spomina se nalaga diskovni operacijski sistem, poleg tega pa je tukaj š^ prostor za vmesni pomnilnik in celice za DOS spremenljivke. Podrofije spomina, kjer se nalana DOS, je razdeljeno na dva dela. V prvem delu se vedno nahajajo podprogrami, ki jih uporablja večina funkcij diskovnega ' operacijskega sistema (D0S2), drugi del pa je polje kamor se naloži ustrezni del DOSA v odvisnosti od zahtevane funkcije. 0800 087r 0880 08A0 0900 OAFF OBOO VMESNI POMNILNIK CELICE. NI UPORADUENO ODFF DOS 2 DOS 3 ali DOS 4 ali DOS 5 J? SLIKA 41 Diskovni operacijski sistem uporablja l,5k zlogov spomina. 5.DELOVANJE DISKOVNEGA OPERACIJSKEGA SISTEMA Diskovni operacijski sistem lahko pokličemo na dva načina« - pri prenašanju niza podatkov z diska ali na disk 8 pomoöjo vhodno/izhodnih kanalov monitorja pri klicanju funkcij diskovnega operacijskega sistema 5.l.VHODNO/IZnODNI KANALI Vsi podatki se zapisujejo na disketo in Pitajo 2 nje preko vhodno/izhodnih kanalov. Motnost zapisovanja in gitanja s pomofijo vhodno/izhodnih kanalov ima i*e monitor, tako da se ob izbiri diskovnega izhodnega ali vhodnega kanala naveže le ustrezni kanal na monitor. Z izbiro kanala se najprej inicializira sam kanal, nato se zaäno prenaSati podatki. Programski vmesnik ("driver") za gibki disk jè zapisan na ni^ti stezi diskete in se pred inicializacijo kanala prenese v spomin. Pri zapisovanju podatkov na disketo se najprej inicializira kmilno vezje in gibki disk, nato se prenese programski vmesnik v spomin ter se naveže izhodni kanal na monitor. Po vpisu imena, s katerim bo označen zapisovani niz, se zafino podatki prenaSati v vmesni pomnilnik. Gledano s strani centralne procesne enote se podatek, ki je shranjen v akumulatorju A, ob klicu izhodnega kanala prenese v vmesni pomnilnik. Za vsak podatek posebej, ki bo preneSen preko akumulatorja A, se mora poklicati Izhodni kanal. Vmesni pomnilnik ima dolžino enega sektorja. Ko je poln, se zapiše na prvi prazen sektor diskete, nato se zaPne polniti od zaf^etka. Po končanem zapisovanju se zapiSe ime niza in njegova lega na disketi v imenik. Pri čitanju se prav tako najprej izvede inicializacija, nato vpiSemo ime niza, ki ga želimo precitati in podatki se priCnejo v obratni smeri prenaSati v spomin. 5.1.1.NACINI ZAPISOVANJA S pomočjo vhodno/izhodnih kanalov monitorja lahko zapisujemo podatke na dva načina. To sta ARCII zapis in binarni pretvorjen v ASCII zapis. Vsi nizi, na glede na način zapisovanja se končujejo s kontrolnim Z. ASCII zapisi se uporabljajo izvirnih nizov in vsebujejo le lahko izpisujemo na konzoli. za zapisovanje znake, ki jih Binarni pretvorjen v ASCII z^pls predstavlja standardni Motorolln format. Vsak zlog se zapiše kot dva ASCII znaka (^OA —► ^30,^41) 5.2.FUNKCIJE DISKOVNEGA OPERACIJSKEGA SISTEMA Za popolno delovanje diskovnega operacijskega sistema je potrbnlh Se nekaj funkcij, ki urejujejo zapisane nize in omogočajo neposredni dostop do posameznih sektorjev diskete. Kličemo jih tako, da najprej skočimo v diskovni operacijski sistem, nato pa izberemo Srko, ki predstavlja ukaz za izvršitev določene .funkcije. Di Izpis imenika ("directory") na konzolo. Izpiše se ime niza, začetna steza, začetni sektor, in dolžina vseh nizov, ki so zapisani v imeniku. Kj Brisanje ("kili") imena niza iz imenika. Ime niza in podatki o njegovi legi se izbrišejo iz imenika, oziroma se ne izpisujejo na konzoli pri izpisu imenika, ko je na mestu prvega ASCII znaka imena zapisano heksadecimalno število ♦ 80. Si Kompresiranje ("squeeze") diskete. Vsi nizi so naloženi na disketi kontinuirano drug za drugim. Kadar določeni niz izbrišemo, ostane na njegovem mestu prazen prostor, na katerega ne moremo zapisovati novih nizov. Kompresiranje diskete je potrebno, da se ohranjeni nizi prepišejo drug za drugega in tako povečajo za dolžino zbrisanih nizov uporabni prostor na koncu diskete, kamor se lahko zapisujejo novi nizi. Med kompresiraanjem se tudi ustrezno spremenijo naslovi nizov v imeniku in dokončno izbrišejo imena že prej zbrisanih nizov. R» Vitanje ("read") poljubnega števila sektorjev s poljubnega dela diskete na poljubno polje spomina. Wt Zapisovanje ("write") poljubnega polja spomina na poljubni del diskete. Hj Izpis vseh ukazov za funkcije diskovnega operacijskega sistema ("help"). 6. GENERIRANJE DOSA NA DISKETO Na vsako novo disketo je potrebno zapisati format IBM 3740 in na nlčto stezo diskovni operacijski sistem. Za to sta potrebna še dva manjša programa in sicer eden za inicializacijo diskete (zapis IBM formata) in drugi za zapis diskovnega operacijskega sistema na disketo ter inicializacijo imenika. Ker ta dva proorama relativno redko uporabljamo, poleg tega pa tudi nimata prostora na. ničti ^stezi diskete, sta shranjena na posebni disketi, ki jo imenujemo tudi sistemska disketa. 7. SKLEP Opisani diskovni operacijski sistem je prilagojen za uporabo enostranskih disket, na katerih se zapisujejo podatki z enojno gostoto. Z malo spremembami gn je mogoče prirediti za dvostranske diskete, tako da bi bila diskovni operacijski sistem in imenik še vedno na eni stezi, za podatke pa bi ostalo 154 stez. Glavna prednost tega diskovnega operacijskeoa sistema je v tem, da zasede relativno malo spomina in je tako v prvi vrsti namenjn za manjše mikroračunalnlške sisteme z majhno spominsko zmotrljivostjo. 8.LITERATURA 1. B.Kastelle, M.Kovačevld, A.Hadži: Krmilno vezje za gibki disk, INFORMATICA, 1/79, str.33-42 2. A.P.železnikar: Vhodno/izhodni kanali mikroračunalnika, INFORMATICA, 4/78, Str.13-25 ms 3 ROSSANA ASSM PAGE 1 DOS 3 ROSSANA ASSM PAGE FBDD TRAC KB ; RMB 1 STEZNI REGISTER FBDE SECTR RMB I SEKTORSKI REGISTER FBDF DATAR RKB 1 PODATKOVNI REGISTER « NASLOVI DOS PODPROGRAMOV ♦ 0907 RSC EQU $0907 ČITANJE SEKTORJA • DISKOVNI OPERACIJSKI SISTEM - TRETJI DEL • 0976 VSC EQU S0976 ■ ZAPIS SEKTORJA « 18.9-79 • 0A4F ISK EQU S0A4F ISKANJE. IMENA V IMENIKU • * '0A34 DSKIM EQU S0A34 IZPIS IMENA DISKETE • NASLOVI FUNKCIJ DOSA 0AE2 READ EQU S0AE2 ČITANJE SEKTORJEV 0800 ORG S0803 0AE8 WRITE EQU S0AE8 ZAPISOVANJE SEKTORJEV 0800 BUFFER RMB 128 VMESNI POMNILNIK OAEE DRCT EQU S OAEE IZPIS IMENIKA 0AF4 KILL EQU S0AF4 BRISANJE IMENA NIZA 0880 ADDRl RMB 2 SPOMIN ZA OAFA S QUE EQU SOAFA KOMPRESIRANJE DISKETE 0882 ADDR2 RMB 2 INDEKSNI REGISTER 0884 ADDR3 RMB 2 0886 ADDR4 RMB 2 0888 STP RMB 2 SKLAD OSSA FILNAM RMB 6 IME NIZA 0890 TRACK RMB 1 NASLOV NIZA OBOO ORG SOBOO 0891 SEKT RMB 1 OBOO 7E OC E8 JMP FUNK FUNKCIJE DOSA 0892 SIZE RMB 1 DOLŽINA NIZA V SEKTORJIH 0BO3 7E OB 09 JMP OUTINI IZHODNI KANAL 0893 NAP RMB 1 ŠTEVEC PONOVITEV 0B06 7E OC 11 JMP ININI VHODNI KANAL 0894 BEVR RMB 2 ZAČETNA LOKACIJA V POMNILNIKU 0896 NAMNO RMB 1 ŠTEVILO IMEN V IMENIKU 0897 VEND RMB 1 KONEC PISANJA 0898 STBYT RMB 1 ŠTEVEC ZLOGOV ♦ INICIALIZACIJA IZHODNEGA KANALA 0899 ZTR RMB 1 ZAČETNA STEZA NASLEDNJEGA NIZA « ZA GIBKI DISK 089A ZSC RMB I ZAČETNI SEKTOR NASLEDNJEGA NIZA 089B BADR RMB 2 ZAČETNI NASLOV 0609 86 B9 OUTINI LDAA #IB9 SPROSTITEV ZAŠČITE- 089D EADR RMB 2 KONČNI NASLOV OBOB B7 08 9F STAA ZASC 089F ZASC RKB 1 ZAŠČITA OBOE BD OC 78 JSR NAME VPIS IMENA Q8A0 NOSEC RMB 1 ŠTEVILO SEKTORJEV OBI 1 BD OA 4F JSR ISK ISKANJE IMENA OB 14 70 08 92 TST SIZE IME OBSTAJA ? 0B17 27 08 BEQ WRT NE • MONITORSKI PODPROGRAMI QB19 CE OD 63 LDX #TEX2 DA . OBIC BD FE E6 JSR OUTST IZPIS BESEDILA rcoo MON ECU SFCOO MONITOR (yeiF 20 E8 BRA OUTINI PONOVITEV FE21 CP.LF EQU SFE21 SKOK V NOVO VRSTICO 0B21 7F 08 97 WRT C LR VEND ZAČETEK ZAPISA FDD4 OUTCH ECU $FDD4 IZPIS ASCII ZNAKA 0B24 CE 08 00 LDX #BUFFER FEE6 OUTST EOU SFEE6 IZPIS BESEDILA 0B27 FF 08 94 STX BEVR ZAČETNI NASLOV FC 03 INCH EQU $FC03 VPIS ASCII ZNAKA 0B2A FF 08 84 STX ADDR3 0B2D 86 80 LDAA *Ì80 DOLŽINA SEKTORJA IN OOID TOUCH EQU SÒ01D IZHODNI KANAL 0B2F B7 08 98 STAA STBYT VMESNEGA POMNILNIKA OOIA TINCH EfiU S031A VHODNI KANAL 0B32 B6 08 90 LDAA TRACK ZAČETNA STEZA 0B35 B7 FB DF STAA DATAR 0B38 86 IE LDAA #ilE ISKANJE STEZE • REGISTRI KRMILNIKA 1771 0B3A B7 FB DC STAA CMDSTR 0B3D 3E VAI FBDC ORG S FBDC 0B3E B6 OS 91 LDAA SEKT ZAČETNI SEKTOR FBDC CKDSTR RKB 1 UKAZNI/STATUSNI P.EGISTER 0B41 B7 FB DE STAA SECTR M DOS 3 ROSSANA ASSM PAGE 3 ; DOS 3 ROSSANA ASSM PAGE 4 QB44 CE OB 4A 0B47 DF IE" 0349 39 0B4A FF 08 86 0B4D FE 08 84 0B50 A7 00 0B52 08 0B53 81 lA 0B55 27 OC LDX STX RTS ♦OUTPUT NAVEZAVA IZHODNEGA KANALA TOUCH+l NA MONITOR IZHODNI KANAL ZA GIBKI DISK • PRENOS OUTPUT STX LDX STAA INX C MP A BEQ ZLOGA V VMESNI POMNILNIK AĐDR4 ADDR3 NASLOV V VMES. POMNILNIKU 0 DA 0B57 7A 08 98 DEC STBYT SEKTOR POLN 7 0B5A 27 OA BEQ tf2 DA 0B5C FF 08 84 STX ADDR3 NE OBSF FE 08 86 LDX ADDR4 . NASTAVITEV IND.REG. aB62 39 RTS NASLEDNJI ZLOG * ZAPIS VMESNEGA POMN. NA DISK 0B63 7C 08 97 W1 INC VEND ZADNJI SEKTOR 0B66 37 W2 PSHB 0B67 BD 09 76 JSR vse ZAPIS SEKTORJA 0B6A 33 PULE 0B6B 7C 08 92 INC SIZE ŠTEVILO ZAPISANIH SEKTORJEV 0B6E 26 09 BNE V3 ZAPIS NI PREDOLG 0B70 CE OD 72 LDX #TEX4 PREDOLG 0B73 BD FE E6 JSR OUTS T IZPIS BESEDILA 0376 7E FC 03 JMP MON 0B79 BD OC C4 W3 JSR INCR NASLEDNJI SEKTOR 0B7C 7D 08 97 TST VEND KONEC ? 037F 26 OF BNE V5 DA 0B81 86 80 LDAA #S80 ZAČETEK NASLEDNJEGA SEKTORJA 0B83 B7 08 98 STAA STBYT 0B86 CE 08 00 LDX ♦BUFFER ZAČETEK BUFFERJA 3389 FF 08 84 STX ADDR3 osse FE 08 86 LDX ADDR4 0B8F 39 RTS NASLEDNJI ZLOG « ZAPIS IMENA TER NASLOVA NIZA V IMENIK 0B90 36 FB DD W5 LDAA TRAC KR 0B93 B7 OS 99 STAA ZTR NOVA ZAČETNA STEZA 0B96 36 FB DE LDAA S EC TR 0B99 37 08 9A STAA ZSC NOV ZAČETNI SEKTOR 0B9C 86 OE LDAA #SOE PREMIK NA STEZO 0 0 0B9E 37 FB DC STAA CMDSTR OBAI 3E VAI 0BA2 F6 08 92 LDAB SIZE SHRANITEV ST.SEKTORJEV 0BA5 3 7 PSHB 0BA6 BD OA 4F JSR ISK ISKANJE ZADNJEGA SEKTORJA IMENIKA 0BA9 33 PULB OBAA F7 08 92 STAB SIZE OBAD CE 08 00 LDX ♦BUFFER ZAČETEK VMESNEGA POMNILNIKA OBBO 5F CLRB 0331 A6 00 V2 LDAA O^X ISKANJE PRAZNEGA MESTA 0BB3 27 IE BEQ VI PRAZNO MESTO 0BB5 08 INX 0336 5C INCB 0BB7 C1 7E CMPB tfl26 SEKTOR PREGLEDAN t 0BB9 26 F6 BNE V2 NE OBBB 36 FB DE LDAA S EC TR DA OBBE 81 lA C MP A #26 IMENIK POLN ? OBČO 26 03 BNE V3 0BC2 7E OC D2 Fl JMP FULL IMENIK JE POLN 0BC5 6F 00 V3 C LR 0>X OZNAKA ZA NADALJEVANJE IMENIKA 0307 6F Ol CLR l^X 0BC9 BD 09 76 JSR VSC ZAPIS SEKTORJA OBCC 7C FB DE INC SECTR OBCF CE 08 00 LDX ♦BUFFER VPIS IMENA V NASLEDNJI SEKTOR 0BD2 5F CLRB 0BD3 FF 08 80 VI STX ADDRl VPIS IMENA 0BD6 CE 08 8A LDX ♦FILNAM 0BD9 A6 00 V4 LDAA 0>X ČITANJE ZNAKA IZ SPOMINA OBDB 8C 08 93 CPX ♦ NAP VPISOVANJE KONČANO 7 OBDE 27 13 BEQ VIO DA OBEO 08 INX NE OBEl FF 08 82 STX ADDR2 aBE4 FE 08 80 LDX ADDRl 0BE7 A7 00 STAA O^X VPIS ZNAKA V IMENIK 0BE9 08 INX OBEA SC INCB OBEB FF 08 SO STX ADDRl OBEE FE 08 82 LDX ADDR2 OBFl 20 E6 BRA V4 NASLEDNJI SEKTOR 0BF3 FE 0 8 80 VIO LDX ADDRl 0BF6 C1 7E -jr CMPB ♦ 126 SEKTOR POLN 7 0BF8 27 06 BEQ V5 DA OBFA 6F 00 CLR Q>X ZAPIS NIČEL DO KONCA SEKTORJA OBFC 08 INX OBFD SC INCB 03FE 20 F6 BRA V6 OCOO B6 08 99 V5 LDAA ZTR OC03 A7 00 STAA 0/X VPIS ZAČETNE STEZE NA 0C05 36 08 9A LDAA ZSC KONCU IMENIKA 0C08 A7 Ol STAA 1,X VPIS ZAČETNEGA SEKTORJA OCOA BD 09 76 JSR VSC ZAPIS SEKTORJA NA DISK OCOD 7F 08 9F CLR ZASC ZAŠČITA OCIO 39 RTS U INICIALIZACIJA VHODNEGA KANALA ZA GIBKI DISK OCll BD OC 78 ININI JSR NAME VPIS IMENA 0C14 BD OA 4F JSR ISK ISKANJE IMENA 0C17 7D 08 92 TST SIZE OBSTAJA 7 OCIA 26 08 BNE RI DA OCIC CE OD 50 LDX ♦ TEXl NE OCIF BD FE E6 JSR OUTST IZPIS BESEDILA 0C22 20 ED BRA ININI 0C24 CE 08 00 R1 LDX ♦BUFFER 0C27 FF OS 94 STX BEWR ZAČETEK VMESNE( 14 a V) s a o H ut S g u H I-« 3 g 3 X , o o o . H £ 01 X » 3 <( « ^ «i O Z => Id i« & 10 o lA «« 33 Z « U O M W 5 % f- B » u. Igèlsès u ca u m K 3 g 3 g M Ul H W co <0 ►H T O ž M CL o < O u z > bJ H U « v> □ -• u > o. z S!SzS2zauiS-iqe--* S « CC Itt 3 o: K S U 2 Ul Ul Ul o to Ul s z 3 ■3 J -J u m b. s <]:<^u ionoiooq;oincMcaco (O ca t- 00 (M t- O m e^ o> o W o rj n m o m O) u u u u u u u u u o o o o o o o u a a a oi t>-><0>0-><0UQWb.<0t~b)u0t a)oooicocDc«omt-i~o>(ncjr-o tt-o^midoiMintomuoo^ji-uuuuuQQoaaauuMui ouoooouuuoooouo ooooooooooooooo^ JI to co « 0QQ-.>0 mcafficommoocM tomu — tovoo>oa uooooooo oooooooo u 0 1 s U1 UÌ < < § Ul Ul s K n X K H b: u 4 u I/) < p Q » u ? K 0 H X u 10 > u H > S 10 1 I- + ce s X H a. u se o u z 2 M (d 4 l/l (O o: « H to u M « 0. Z J g s > 3 Ii) O ■5 § Id ^ lO Ul bj > 1- bi " X "3 > b) Z < f 4 H M « m b: 2 > 0. s* 0. 2 S! S m H i -. x ul a x H x SS bi H u U) x u • Ul t- 3 K Z m « z « a % O H o « < ^ a 00 GÒ 0] IO S u bj r- co » o> « o b) P co nj e^ u m C o U. o o — •O f^ u 1- Q bi b. 0> 00 CQ n co CQ 0) U O CO n Ul co o» Ü b. CM in r- n n co n n n oit>ooa)nr>nacoo4ou.u.m uouououuoouoouuououuo ooooooooooooooooooooo ^ u« ^ 4 n ro oo Id co o /)t-cot^ ^^^-l^coGooooooocococ^o«^o^c^c^ CJUUUOÜOUUUUUOOCJO OOOOOOOOC30000000 DOS 3 KOSSANA ASSM PAGE 7 OCFD 7E FC 00 JMP MON SKOK V MONITOR ODOO 84 DF CKD4 ANDA #SOF MASKA . ODOZ CE OD JF LDX #TABLE ODOS At 00 CMOl CMPA 0,X ISKANJE USTREZNEGA UKAZA ODO? 27 12 BEQ CM02 UKAZ NAJDEN 0D09 08 INX ODOA 08 INX ODOS 08 INX ODDC 8C OD 34 CPX #TBLEND KONEC TABELE 7 ODOF 26 F4 BNE CMDl NE ODU 86 3F LDAA DA Obt3 BD FD 04 JSR OUTCH IZPIS VPRAŠAJA ODI 6 BD FE 21 JSR CRLF NOVA VRSTICA 0D19 20 06 BRA CMOS NA ZAČETEK ODIB EE Ol CMD2 LDX l^X ^ - ODID 6E 00 JMP 0/X IZVAJANJE UKAZA • UKAZNA L TABELA ODIF 52 TABLE FCC -R- 0020 OA E2 FOB READ ČITANJE SEKTORJEV 0D22 57 FCC "w- 0D23 OA E8 FDB ■ WRITE ZAPISOVANJE SEKTORJEV 0D25 44 FCC "0- 0026 OA EE FDB DRCT IZPIS IMENIKA 0D28 4B FCC -K- 0029 OA F4 FDB KILL BRISANJE IMENA NIZA 002B 53 FCC "s- 0Đ2C OA FA FDB SQUE KOMPRESIRANJE DISKETE 0D2E 48 FCC -H- 0D2F OD 35 FOB HELP IZPIS DOS UKAZOV 0D31 4D FCC -M-r 0D32 FC 00 FOB MON MONITOR 0D34 0 0 TBLEND 1 FCB 0 • IZPIS DOS UKAZOV 0D35 CE OD 90 HELP LDX #TEX6 0D38 BD FE E6 JSR OUTST IZPIS BESEDILA 0D3B CE OD JF LDX #TABLE 0D3E A6 00 HELPl LDAA O^X UKAZ 0D40 BD FD 04 JSR OUTCH IZPIS UKAZA 0D43 BD FE 21 JSR CRLF NOVA VRSTICA 0D46 08 INX 0D47 08 INX 0O48 08. INX 0D49 80 OD 34 CPX #TBLEND KONEC TABELE 7 0D4C 2 6 FO BNE HELPl NE 0D4E 2 0 9B BRA CMD3 OA 0050 OD TEXl FCB SOS0>4 0063 OD TEX2 FCB SD/SA 0D65 4E \ FCC "NAME ERROR" OOS 3 ROSSANA 0D6F OD FCB S0SD 0074 54 FCC "TOO LONG FILE- . 0D81 04 FCB 4 0082 44 TEX3 FCC -DISK IS FULL" -"0D8E 04 FCB 4 0D8F OD TEX5 FCB SD3.18.4 15 N=1 16 R = P PFTURM 17 N = 2 18 R'D RCTURN 19 R = C RFTURN FND ?isignyj is not satisfied. Remarks: The procedure assumes that function values at.Initial approximations A and B do not have same sign. If this basic assumption is not satisfied, the procedure is bypassed and gives the error message N=2. The external subroutine S(F,D,X,J) must be furnished by the user. The following is an example ( example 1 from table I ). SUBROUTINE SIF.OfX.J) GO TO (2tl).J 1 D»(X»3.-2.)«X 2 F=(X-1.I»X»X-1. RETURN END CERTIFICATION Subroutine 0 was tested on an IBM 1130 computer using floating-point arithmetic with 32-bit mantissa ( extended precision ) for the examples given in table I. Table I. Numerical examples: A=5, B=0, T=10"'', M=20. y(x) R 1 x^(x-l)-l 1.46557123 2 (x+l)^(x-2)x-l 2.05230034 3 1.72099577 4 1.21060779 5 x®{x-l)-l 1.25542287 Description of parameters: S - Name of^the external subroutine liaed. Its parameter list must be F,D,X,J. When J=l, it computes, for given argument X, only the function value F. When J=2 it computes F and the deri" vatlve D. A - Initial approximation Xg • B - Initial approximation Xj^ . T - Tolerance for the relative error. R -Root of the equation y(x)=0. M - Maximum number of iterations permitted. N - Error parameter coded as follows: N=0 - No error. N=1 - No convergence after M iterations. N=2 - Basic assumption signyg?! REFERENCE 1. A.M.Ostrowski, Solution of Equations and Systems of Equations, Academic Press, New York and London, 1960. INFORMATICA 3/1979 PRIMJENA MIKROPROCESORA MPR-52B NA JEDAN PRIMJER PRAĆENJA Cl LJEVA U REALNOM VREMENU MIGDAT H0D2IC SVETO VRHOVAC UDK: 681.3 SOUR „RUDI ČAJAVEC", RO PE, OOUR RAČUNARSKO-RAOARSKA TEHNIKA. BANJA LUKA U radu opisana primjena mikroprocesora MPR-52B(Rudi Čajavec,Banja Luka) na problem praćenja Ciljeva u vftzdujiu u realnom vremenu.Model cilja i model mjerenja dati bu u diskretnom obliku , sa.Intervalom odbira T.Poredili Smo dva tipa filtara za praćenje: Kalmanov i Wienerov filtar. Performanse filtara testirane su Monte-Kàrlo simulacijom na nekoliko primjera test-putanja vazdušnita ciljeva. AN APPLICATION OF THE MICROPROCESSOH MPR-52B TO A REAL-TIME AIR TARGET TRACKING PROBLEM:In this article,we have described an application of the microprocessor MPR-52B (Rudi Čajavec,Banja Luka) to a real-time air target tracking problem.Target and measurement models are given in a discrete form,with sampling interval T.We have compared two tracking filters:Kaiman and Wiener-filter . Filters performances have been tested on the several air target test-paths,with a Monte-Carlo simulation. 1.Uvod Potrebno je pratiti vazdušni cilj u realnom vremenu,na osnovu zaäumljenih mjerenja o cilju koja daje radarski senzor,u vremenskim razmacima T.U tom smislu definišu se modeli stanja cilja i mjerenjajkao i jèdnaSine sto-hastičkog filtra za praćenje.Model stanja cilja se definiše shodno zahtjevanoj tačnosti praćenja i vremenu u kome filtar "obradi" mjerenja.Ova su dva zahtjeva oprečna i kod realizacije sistema za praćenje,potrebno je napraviti "odredjeni kompromis izmedju tačnosti i brzine rada filtra za praćenje.Tačnost se definiše u zahtjevima sistema za praćenje a brzina rada prvenstveno zavisi od odabra -nog filtra i brzine rada procesora podataka. U našem slučaju će to biti mikroprocesor MPH-52B. U odjeljku 2. data je postavka problema,model stanja i mjerenja,te jednačine filtara za praćenje. Odjeljak 3. opisuje dijagram toka programa za praćenje napisanog u Asembleru MPR-52B kao i konfiguraciju sistema za testiranje programa.U odjeljku date su karakteristike asembler-programa i jedan konkretan primjer.Zaključak je u odjeljku 5., a literatura u odjeljku 6. U Dodatku su date osnovne karakteristike mikroprocesora MPR-52R 2.Postavka problema 2.1 Modeli stanja cilja i mjerenja Model stanja cilja koji se prati opisan je diferencnom jednačinom: *(k+l)=0(k)x(k)+G(k)w(k) , (1) dok su mjerenja o cilju data sa: y(k)=Hj;k)x(k)+v(k) , (2) gdje su: ' ■=vektor stanja cilja u momentu kT, =vektor šuma na stanje cilja, )=vektor mjerenja o cilju , )=vektor šuma na mjerenje , )»matrica prelaza stanja, ■l ,H(k)=uredjivačke matrice. Rad Je referiran na XIV.Simp.Informatica,Bled,okt .1979 Tipičan i nnjčešće korišten model stanja cilja i mjerenja je opisan ^sa: x(k) = (D(k) ,fi(k) ,AZ(k) .iCzCk))""^, y(k) = (MD(k),MAZ(k))'^, v(k)»(v„jj(k),-/MAz(k))^ 0(k). G(k). H(k). gdje su: «Ei: AZ(k). ÄZ(k), MD(k). MAZfk WAzfk. VMDjk 1 T 0 0 0 1 0 0 0 0 1 T 0 0 0 1 0 0 1 0 0 0 o G « 0 1 1 0 0 0' 0 0 1 C. H , =daljina do cilja u momentu kT , >promjena daljine izmedju momenata (k-l)T i kT, ■azimut cilja u momentu kT, ■promjena azimuta izmedju momenata (k-l)T i kT, ^mjerena daljina u momentu kT , =mjereni azimut u momentu kT , =šum ubrzanja po daljini u mom. ■°šum ubrzanja po azimutu u mom. =šum na mjerenje daljine u mom. =šum na mjerenje azimuta.u mom. kT. kT, kT, kT. Statistika šumova w(k) i v(k) data je preko očekivanih vrijednosti i kovarijansnih matrica; E(w(k))=E(v(k))=0, za svako k E(vi(k)wT(n))„E(v(k)v'P(n))-eo].za k/n E(w(k)w^(k))=diag(4.4)-W].za svako k E(v(k)v'^Ck))=diag(^D/Az) = l®].za svako k. gdje su: d ^=varijansa ubrzanja po daljini , ubrzanja po azimutu , (:^^=varijansa greške mjerenja daljine, 2^=varijansa greške mjerenja azimuta. Dati model podrazumijeva ubrzanja cilja čije srednje vrijeme trajanja ne prelazi veličinu vremena odbira T.U tom slučaju,šumove w(k) i v(k) možemo aproksimirati bijelim šumom,sa Ga-usovkom raspodjelom vjerovatnoće. U suprotnom bi ubrzanja izmedju momenata (k-l)T i kT bila u korelaciji,te ih he bi mogli aproksimirati bijelim šumom. Veličine varijansi grešaka mjerenja daljine i azimuta,kao i vrijeme T,poznati su za svaki radarski senzor,dok se varijanse ubrzanja po daljini i po azimutu modeliraju jednačinama: (3) gdje su: A=maksimalno ubrzanje cilja , P, =vjerovatnoća da će cilj manevrisati sa maksimalnim ubrzanjem A , P2=vjerovatnòca da cilj neće manevrisatd. Napomenimo da se podjednako često koristi i model stanja cilja u pravouglim koordinatama. Prednost modela u polarnim koordinatama je u jednostavnosti,dok model u pravouglim koordinatama daje manje dinamičke greške ocjene sta-. nja,ali je komplikovaniji za implementaciju . 2.2 Jednačine filtara za praćenje Za model stanja cilja i mjerenja datih u di -jelu 2.1,optimalni estimator stanja je Kaiman filter,za koji znamo da minimizira očekivanu dinamičku kvadratnu grešku ocjene. Za inici -ranje filtra obično se koriste dva mjerenja,u cilju dobijanja informacije c brzini kretanja objekta koji se prati.Dakle,za iniciranje je potrebno odrediti: x(2+) i P(2+) gdje je P(2+) matrica kovarijanse greške oc -jene,a indekx "2+" označava momenat neposredno poslije prijema drugog mjerenja.Prije do -■laska trećeg mjerenja,filtar vrši predikciju ■ stanja cilja i matrice kovarijanse greške; x(3-)=0x(2+) (5) P(3-)=0P(2+)0'^+GQG'' (6) Indeks "5-" označava momenat neposredno prije dolaska trećeg mjerenja.Po dolasku trećeg mjer renja odredi se matrica pojačanja filtra: K(3)=P(3-)H^(HP(3-)H'^+R)"^ (7) te se izvrši korekcija stanja i matrice kovarijanse: x(3+)=5(5-)+K(5)(y(3)-Hx(3-)) (8) P(5+)=(I-K(5)H)P(3-) (9) gdje su: I=jedinična matrica y(3)=treće mjerenje. Postupak se zatim ponavlja za nova mjerenja. Kalman-filter je relativno skup i komplikovan za implementaciju,ali daje najtačnije ocjene. Cesto se pokaže opravdanim korištenje Wiener-ovog filtra,koji je jednostavniji od Kaiman -ovog filtra.Dobijemo ga ako u jednačinama za-mjenimo K(k) sa K((x)),gdje je K(«)) stacionarno pojačanje Kalmanovog filtra.Filtar se svodi na jednačine za x(k+) i x(k-),a predhodno moramo "off line" sračunati matricu K(oo) bilo analitički bilo simulacijom na računaru. Ušteda u vremenu je značajna,uz odredjeno pogoršanje tačnosti rada filtra koje se najčešće može tolerisati. 3.Dijagram toka programa u Asembleru MPR-52B Na slikama 1. i 2. dati su dijagrami toka za Kalmanov i Wienerov filtar,Odnosno za odgovarajuće asemblerske programe,koje ovde nećemo navoditi zbog njihove veličine. (strut) ' r konstante I TEST-rumij^-^ I (STQ-P ) Slika 1. (s.TÒP ) Slika 2. TtTUR KftLnftW HUE!?. GLftVNfl witt-jte FlLTtR Prema priloženim dijagramima toka na slikama 1. i 2.,napisani su odgovarajući programi u Asembleru mikroprocesora MPR-52B,a testirani su na miniračunaru II1P-16P. Blok Sema komplet-nog sistema za testiranje prikazana je na slici' 3. Testiranje je izvodj.eno za nekoliko ti -pova putanja ciljeva,i nekoliko tipova radarskih senzora. IMP-16P DUftLNI FIDPPX-WSK 51STEIÌ teleprinter TRftKl Slika 5. Principijelna blok šema sistema za praćenje u kome će se primjeniti jedan od spomenutih programa za praćenje,data je na slici Sistem za praćenje posjedovaće računar na bazi mikroprocesora MPR-52B Rudi Cajavec. StNlpd. TRIMftRNR oe>RPiBft SIGNBLPI / ' ■ J KORliNlVC SI!,TEM IftTeoiEWK i vrv^ FRoGEhM 2(») --- ift PRRĆE«:E —• KOWiKlK Stvarna vremena izvršenja programa su: 5.Vrijeme izvršenja: Kalman-filter .... 16.5msec - inic. 12.5msec -gl.pet. Wiener-filter ... 29.omsec ukupno l'J-.^msec - inic, lO.Omsec - gl.pet. 2'V,5nisec ukupno Kad se filtri jednom iniciraju,vrijeme izvršenja u glavnoj petlji koja se ponavlja za svako novo mjerenje je: Kalman-filter Wiener-filter 12.5 msec 10.0 msec. Ušteda u vremenu dobijena korištenjem Wiener-ovog filtra je oko 20%,što je u realnim okolnostima veoma značajno. U5ešće pojedinih instrukcija Asemblera MPH-52B u datim programima za praćenje,prikazano je na slikama 5. i 6.,za Kalmanov i Wienerov filter,respektivno. LÜ 10% 207. 35R 207. 8 v. & y. OiTftlE SHK.Smi 97. 5 "/. Slika 5. Slika t-. Karakteri stike asemblerskih programa Poslije testiranja konačnih verzija programa u Asembleru MPR-52B,utvrdjene ,su slijedeće veličine: l.Broj instrukcija programa: Kalman-filter Wiener-filter ........~ 't-OO 2.Broj izvršnih instrukcija: Kalman-filter ....~200 - iniciranje ~270-glavna petlja Wiener-filter ... ukupno 1. ~160-< iniciranje ~210-glavna petlja ~ 370 ukupno Napomena: nisu uzeti u obzir opšti podprogra-mi(sin,cos,arctg,itd) koji postoje u standardnoj biblioteci opštih programa mikroprocesora MPR-52B. Tačnost programa za sin(x),cos(x) i arctg(x) je reda 10"^. LD 30'/, 35R ZOV. ST RT3 9V. rdö.s» 8V. SHR.Wl OSIBLE liV, Slika 6. Objašnjenje instrukcija: LD - punjenje registara ST - punjenje adrese sadržajem registra JSR- skok na podprogram RTS- povratak sa podprograma ADD,SUB- sabiranj e,oduzimanj e SHR,SHL- pomjeranje desno,pomjeranje lijevo PRIMJER: , 1,Karakteristike senzora: T=10.0 sec. greška manja od 200m greška manja od 1° 2.Zahtjevana tačnost: po daljini . po azimutu . 3.Karakteristike cilja: brzina .... 600 m/sec_ ■p, ^ -----10 m/sec'^ .... 0.3,odnosno 0.3 , 4.Test-putanja : pravolinijska na daloini km kružna poluprečnika 40 km 5.Rezultati: za oba filtra za praćenje,rezultati su zadovoljavajući(greške po daljini manje od 200m,a po azimutu od 1°). Performanse obaju filtara bile su predhodno testirane metodom Monte-Karlo,kojom su simulirana realna mjerenja o cilju.Program za Monte-Karlo simulaciju napisan je u Fortranu. Testirani su isti slučajevi koji su kasnije ispitani i na miniračunaru IMP-16P,sa mikroprocesorom I1PR-52B. Tačnost rezultata dobije-na na miniračunaru IMP-16P je nešto manja od tačnosti dobijene na velikom računaru,zbog kraće dužine riječi (16 bita prema 52,ili Subita u duploj preciznosti).Medjutim,rezultati su u granicama zahtjevane tačnosti. 6.Literatura 1.R.A.Singer,K.W.Behnke,REAL-TIME TRACKING FILTER EVALUATION AND SELECTION EOR TACTICAL APPLICATIONS,IEEE Trans, on Aerospace and Electr.Systems,vol. AES-7, Ho.1.»January 1971.g. 2.R.A.Sinnger,ESTIMATING OPTIMAL TRACKING FILTER PERFORMANCE FOR MANNED MANEUVERING TARGETS,IEEE Trans, on Aerospace and Elestr. Systems,vol. AES-r,No.4.,, July 1970.g. 3.IMP-16P USERS MANNUAL,NSC,Santa Clara,Ca. septembar Priručnik za programiranje i asembler mikroprocesora MPR-52B,Rudi Čajavec, Banja Luka,1977.B. 3.Zaključak Iz priloženih rezultata testiranja asembler-skih programa za Kalmanov i Wienerov filtar za praćenje,jasno je da je za konkretan problem praćenja odabran Wienerov filtar zbog jednostavnije implementacije i uštede u vre -menu od približno 20%,uz istovremene zadovo -ljavajuće rezultate praćenja. Vrijeme izvr -šenja obaju programa za praćenje na računaru koji će koristiti mikroprocesor MPR-52B je zadovoljavajuće,što indicira upotrebljivost ' MPR-52B u situacijama praćenja vazdušnih ci- i .Ijeva u realnom vremenu. Vremena izvršenja programa za praćenje mogu se još smanjiti,ako se neke funkcije programa "hardverizuju" (npr. podprogrami za sin(x),cos(x),itd). Dodatak Osnovne karakteristike mikroprocesora MPR-52B su: 16 bita 61 instrukciju paralelna,binarna, sa fiksnom tačkom, sa komplementom do,'dva direktno, indirektno, apsolutno, relativno prema programskom brojaču, indeksirano do 64K Dužina riječi ... Skup instrukcija obuhvata ... Aritmetika Adresiranje Memorija Broj registara... Tipične brzine... itd. sabiranje registar -registar: A-.g^jsec, sabiranje memorija -registar: S.^ASec, punjenje registra sadržajem neke adrese: 10 ^sec, Za detalje vidjeti reference br.3. i 4. INFORMATICA 3/1979 MIKRORACUNALNIŠKA KRIPTOGRAFIJA II D. NOVAK A.P.2ELEZNIKAR UDK: 681.3.06 : 003.6 INSTITUT JOŽEF STEFAN, LJUBLJANA Članek opisuje implementacijo standardnega kripcijskega algoritma (DES) na mikroračunalniku (6800). CRYPTOGRAPHY USING MICROCOMPUTERS II - In the article the implementation of a standard encryption algorithm (DES) on a 6800 based microcomputer is described. 1. UVOD Že iz naslova je razvidno, da gre v tem članku za nadaljevanje oziroma navezavo na tematiko načeto v prvi letošnji številki Informatice lil. Opisali bomo implementacijo standardnega podatkovnega kripcijskega algoritma (data encryption standard) na mikroračunalniku s procesorjem 6800. Omenjeni algoritem je izdelal National Bureau of Standards leta 1977. Algoritem je dokaj podrobno opisan v članku Mikrorač,unalniška krip-tografija 1 Il],zato se bomo osredotočili izključno na implementacijo. Algoritem preslika 64 bitov odkritega teksta v 64 bitov zakritega teksta. Uporablja 64-bitni ključ, iz katerega generira 16 podključev. Ti se lahko izračunavajo sproti ali pred samim kriptiranjem. V našem primeru se podključi izračunajo p;-ed kriptiranjem. V članku bomo opisali strukturo podatkov oz. tabel in funkcije nad temi podatki. Nakazali bomo nekatere probleme, ki izvirajo iz zmogljivosti oz, nezmogljivosti procesorja in otežujejo implementacijo. MODUL data encryption BEGIN začetna per mutacija; razdelitev niza na levo in desno pol .(L(0) ,D(0) ) ; FOR i-o TO 15 DO BEGIN L(i+l):=L(i)©F(R(i),K(i+l)); R(i+1 ) :=L(i+l) ; («zamen. lev.in des. dela«) L(i+l):=B(i); END FOREND; ■ zamenj. levega in desnega dela in stik nizov; inverzna začetna permutacija END. Opomba : K(i): i-tipodključ F : funkcija opisana v (l) na sliki 13 Slika 18. DES algoritem 2. SPLOŠNE IMPLEMENTACIJSKE POTEZE DES algoritem (DES - data encryption standard) je prikazan na sliki 9 (Mikroračunalniška kriptografija I fi] ) v obliki diagrama operacij. Zapišimo ta algoritem še v obliki psevdo koda, da nnm bodo kasneje dovolj jasne implementacijske podrobnosti (slika 18). V opisanem algoritmu imamo opravka z naslednjimi funkcijami: permutacijo, seštevanjem po modulu 2, iskanjem po tabeli (pri permutaciji in F-funkciji) in rotiranjem niza bitov (generiranje podključev). Algoritem uporablja naslednje tebele: - tabela za začetno permutacijo (INIPER) - tabela za inverzno začetno permutacijo (INVPER) - tabela za prvo permutacijo znotraj F-funkcije (SELE) - tabela za drugo permutacijo znotraj F-funkc. (PPER) - tabele S1-S8 za S-funkcijo - tabele potrebne pri generiranju podključev Bitni niz je grupiran v zloge (8 bitov) (slika 19). Posamezne bite znotraj niza naslavljamo z dvema kazalcema, ki sta relativna na začetek niza. Prvi kaže na zlog, v katerem je naslovljeni bit, drugi pa na sam bit oz. mesto znotraj zloga. ZLOGI BITI ZLOGOV 76543210 76543210 76543210 NIZ BITOV 8n-l 8ti-l) ... hMh^ 9ggM Npr.: 14. bit niza se nahaja v drugi besedi (beseda št. 1) na sedmem mestu (bit št. 6). Slika 19. Organizacija niza bitov v pomnilniku 3. STRUKTURA KRIPCUSKEGA PROGRAMA V tem poglavju bomo opisali klicno strukturo kripcijske-ga programa (ENCRYP). Za vsako enoto (subrutino) bomo definirali vhodne podatke, izhodne podatke in funkcijo. Tako bomo dobili občutek kako se začetna informacija (čisti tekst) pretvarja (transformira) v rezultat (zakriti tekst). Klicna struktura (slika 20) kaže vgnezde-nost posameznih subrutin. Vsak umik pomeni nov nivo vgnezdenja. Subrutina FUNC kliče npr. subrutine PERMUT, KONV in SFUNC. SubrutinaSFUNC pa kliče subrutino STRA NS'. ■ ENCRYP PERMUT FUNC PERMUt v KONV SFUNC STRANS Slika 20. Klicna struktura kripcijskega programa ENCRYP Poglejmo si sedaj po vrsti na sliki 20 predstavljene subrutine: ENCRYP VHODI: PLAINT PODK IZHODI: RAZSIR osem zlogov čistega teksta kazalec na začetek tabele podključev osem zlogov zakritega teksta FUNKCIJA : Ž uporabo'DES algoritma pretvori 64 bitov , čistega teksta v 64 bitov zakritega teksta. Uporablja že prej generirano tabelo podključev. PERMUT VHODI: ZACNIZ KAZALO STEL kazalec na začetek niza, ki ga želimo permutirati kazalec na začetek permutar cijske tabele dimenzija permutacijske tabele oz. dolžina izhodnega niza IZHOD: REZULT kazalec na začetek permutira- nega niza FUNKCIJA: Subrutina permutira vhodni niz preko permutacijske tabele v izhodni niz. Element permutacijske tabele pove, kateri bit vhodnega niza naj se naniza k že obstoječemu podnizu. FUNC VHODI: DESNI LEVI PODKLJ LOK. PODATKI: SELE PPER S12TAB S34TAB S56TAB S78TAB STA BEL kazelec na zač. desnega podniza -R(i) kazalec na začetek levega podniza -L(i) kazalec na začetek tekočega pod-iključa -K(i+1) permutacijska tabela št. 1 permutacijska tabela št. 2 matrilta izbiralnih funkcijin S2 matrika izbiralnih funkcij S3 in S4 matrika izbiralnih funkcij S5 in S6 matrika izbiralnih funkcij S7 in S8 tabela kazalcev na začetke matrik izbiralnih funkcij IZHODI : DESNI kazalec na začetek nespremenjenega desnega podniza LEVI kazalec na začetek levega podniza (L(i+l)=L(i)©F(R(i),K(i+l)) FUNKCIJA : Subrutina FUNC izračuna po algoritmu prikazanem na sliki 13 (Mikroračiinal-niška kriptografija I) vrednost funkcije F(R(i),K(i+l)). K tej vrednosti prišteje po modulu 2 levi podniz L(i). KONV VHODI: X RZS kazalec na začetek niza dolžine 24 bitov (trije 8-bitni zlogi) kazalec na začetek področja za rezultat FUNKCIJA : Subrutina KONV razbije 24 bitov spravljenih v treh zaporednih zlogih na štiri šest-bitne zloge. - SFUNC VHOD; : RA ZSIR LOKALNI PODATKI: STA BEL IZHOD: VMESRE 48-bltni niz v obliki osmih šest-bitnih zlogov tabela kazalcev na začetke matrik izbiralnih funkcij 32-bitni rezultirajoči niz v obliki štirih osembitnih zlogov FUNKCIJA : Subrutina SFUNC preslika 48-bitni vhodni niz preko matrike izbiralnih funkcij v 32-bitni izhodni niz. STRA NS VHOD: STAB RZS IZHOD: A kazalec na začetek matrike izbi-ralne funkcije kazalec na šestbitni vhodni zlog štiribitni zlog FUNKCIJA : Subrutina STRANS preslika en šestbitni zlog preko ustrezne matrike Izbiralne funkcije v štiribitni zlog 4. ORGANIZACIJA TABEL V drugem poglavju smo našteli kup tabel, ki jih uporablja DES algoritem. Poglejmo si organizacijo teh tabel za našo implementacijo. Elementi permutacijskih tabel (začetna permutacija. Inverzna začetna permutacija, izbira E in P-permutacija) definirajo premeščanje bitov. 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2. 8 24 14 32 27 3 9 19 13 30 •6 22 n 4 25 SHka 2 1 . Tabela zn P-permutacijo Na sliki 21. je prikazana tabela za P-permutacijo. Prvi element (16) pomeni, da prestavimo 16-ti bit na prvo mesto. Vse elemente premutacijskih tabel pretvorimo iz desetiškega v dvojiškl sistem. Ker bomo oštevilčili prvi bit z vrednostjo nič, dobimo za gornji primer naslednjo tabelo (slika 22.). OF 06 13 14 IC OB IB 10 00 , OE . 16 19 04 11 IE 09 01 07 17 CD IF lA 02 08 12 OC ID 05 15 OA 03 18 Pri maskiranju naslovljenega bita moramo uporabiti ustrezno masko. Zato moramo vrednost kazalca na bit pretvoriti v masko, ki bo imela enico na ustreznem mestu. (Npr.: vrednost 6 je potrebno pretvor|ti v B'0100 0000' ). Analogno preslikavo moramo izvesti tudi pri dodajanju bita v izhodni niz, le da moramo tokrat postaviti na ustrezno mesto ničlo ali enico glede na vrednost bita v vhodnem nizu. Pri S-funkciji preslikamo vsakih 6 zaporednih bitov vhodnega niza preko ene od matrik izbiralnih funkcij v 4 zaporedne bite izhodnega niza. Zato jo ugodno, če vhodni niz porazdelimo na zaporedne zloge pomnilnika, tako da je v vsakem le Sest bitov niza (na mestih O do 5). Organizacijo niza pred in po preslikavi kaže slika 25. Za porazdelitev niza uporabimo subrutino KONV. [z: m ra m EzJ EzJ ■ ■UH t t 1 *t U Slika 22. Tabela za P-permutacijo v heksadecimalni notaciji PPER). CD tì EZI EZl " tì tì fa' « « ; « / Podobno spremenimo tudi vrednosti v S-tabelah. Pri tem lahko združimo po dve tabeli, ker elementi ne presegajo vrednosti 15 (4 biti). Istoležeča elementa dveh zaporednih tabel združimo v en element (14 Iz Sj in 15 iz S2 je FE v S12TAB). Tako dobimo namesto osmih tabel le štiri. Pri uporabi teh tabel moramo pač vedeti ali so veljavni gornji štirje biti ali spodnji štirje biti elementa. Iskanje po tabeli pa ostane enako kot je prikazano na sliki 16 (mlkroračunalnlška kriptograflja 1). Vse tabele so prikazane na sliki 23. 5. NEKAJ PODROBNOSTI IZ KRIPCIJSKEGA PROGRAMA Kompleten listing krlpcljskega programa je podan na koncu članka. Za lažje razumevanje si bomo ogledali le dva detajla : subrutino za permutiranje (PERMUT) In pretvorbo 24-bitnega niza v obliko uporabno za izvajanje S-funkcije (KONV). Kot smo že omenili subrutlna PERMUT permutira vhodni niz v skladu s permutacljsko tabelo.iPri tem ne pokvari vhodnega niza. Za vsak niz Ima dva kazalca: kazalec na zlog v nizu in kazalec na bit v zlogu. Subrutlna torej izračuna iz vrednosti elementa v tabeli, vrednosti obeh kazalcev za vhodni niz. Vrednosti kazalcev za izhodni niz sta definirani,s pozicijo elementa tabele. Nato se z maskiranjem izloči naslovljeni bit vhodnega niza in se naniza k že obstoječim bitom izhodnega niza (slika 24). SUBRUTINE permut (vhodni niz, permut tabela) DO prečltaj vrednost naslednjega elem. iz permut. tabele ; Izračunaj vrednost kazalcev za izhodni niz; maskiraj bit; nanizaj bit v izhodni niz; UNITL konec tabele. Slika 24. Psevdo kod subrutlne PERMUT Slika 25. Organizacija niza pred In po preslikavi s pomočjo subrutlne KONV 6. IZRAČUNAVANJE PODKLJUČEV Algoritem Izračunavanja podključev je podrobno opisan v prvem delu članka (slika 10). Na izbiro imamo dve možnosti: da pred začetkom šifriranja izračunamo vseh 16 48-bitnih podključev ali pa, da podključe izračunavamo sproti. Prva varianta je enostavnejša In Ima .še to prednost, da izračunavanje podključev ne upočasnjuje hitrosti šifriranja. Sam algoritem Izračunavanja je preprost. Z ozirom na to, da Imamo že napisano subrutino za premeščanje bitov (PERMUT), moramo napisati samo še subrutino za rotiranje 28 zaporednih bitov. V našem programu imamo dejansko dve subrutini. Eno za rotiranje gornjih 28 bitov in eno za rotiranje spodnjih 28 bitov. Vzrok je v neizogibnih nerodnostih, ki izhajajo iz organizacije nizov v pomnilniku. 7. SKLEP V članku smo imeli namen kolikor mogoče jasno opisati Implementacijo DES algoritma, ki je bil podrobno opisan v prvem delu članka (Mlkroračunalnlška kriptografija I). Opisani program je zapisan v obliki subrutlne, ker ija je potrebno vključiti še v komunikacijsko okolje, šifrira se po 64 bitov naenkrat. Isti program je mogoče uporabiti za šifriranje In dešifriranje. Pri dešifriranju mora uporabljati podključe v obratnem vrstnem redu. Program je relativno počasen, saj porabi za en prehod (64 bitov) približno eno sekundo. 8. LITERATURA 1. A .P.Železnikar : Mlkroračunalnlška kriptograflja I, Informatica 3 (1979), štev.l, stran 24-31. ■ SOTAb 2090 FE 14 8D El 62 BF 3B 48 93 7A 26 DC C5 09 50 A7 20A0 30 DF 47 74 FE 22 8D Et CA 06 IC AB 69 95 B3 58 SOBO 04 El 7E B8 AD 46 D2 IB 5F 8C C9 67 93 3A 25 FO 20C0 FD 8C A8 12 34 F9 41 27 BS 6B 73 CE OA 50 E6 9D iitT^a 2ODO 7A DO E9 3E 06 63 9F A5 1 1 2D 8C 57 BB C 4 42 F8 20E0 DD 87 BO 59 63 F4 06 3A 42 78 25 CE IC AB EF 91 20F0 AD 66 94 09 C8 BF 73 DO FB 1 1 32 EC 55 2A 8E 47 2100 31 FA OD 60 A6 19 D8 87 94 4F 5E B3 CB 75 22 EC sstrMsno 02 IC A4 FI 97 2A 6B 86 08 D5 33 4F ED 70 5E B9 2120 AE FB 42 2C 74 C7 9D 51 65 10 DF EA 03 B9 38 86 2130 94 E2 Fl 58 2A 8D C7 38 7F 09 4C A5 16 D3 BO 6E 2140 4B 38 2C C7 91 5E F2 AD B6 EF 10 79 6A 04 85 D3 JWr<4 2l50 D4 2B 82 4E 6F FO B8 ID A3 9C 39 E7 55 OA C6 71 2160 ID FO DB 87 A4 39 71 4A CE 53 65 BC 02 EF 98 26 2170 71 B4 4B ID 9C C3 E7 2E OA 6F A6 D8 FO 35 59 82 2180 26 IB ED 78 41 A4 8A D7 F9 C5 90 OF 3E 52 63 BC >C 2198 2IC7 tT Stit 2198 IF 00 01 02 03 04 03 04 05 06 07 08 07 08 09 OA 21A8 OB OC OB OC OD OE OF 10 OF 10 1 1 12 13 14 13 14 21B8 15 16 17 18 17 18 19 lA IB IC IB IC ID IE IF 00 >C 21C8 21E7 IT />/>11) 21C8 OF 06 13 14 IC OB IB IO 0 0 OE 16 19 04 1 1 IE 09 21D8 Ol 07 17 OD IF lA 02 08 12 OC ID 05 15 OA 03 18 >C 2370 23AF IT mim 2370 39 31 29 21 19 1 1 09 01 3B 33 2B 23 IB 13 OB 03 2380 3D 35 2D 25 ID 15 OD 05 3F 37 2F 27 IF 1 7 OF 07 2390 38 30 28 20 18 10 08 00 3A 32 2A 22 lA 12 OA 02 23A0 3C 34 2C 24 IC 14 OC 04 3E 36 2E 26 IE 16 OE 06 >C 23B0 23EF IT WW«23B0 27 07 2F OF 37 17 3F IF 26 06 2E" OE 36 16 3E IE 23C0 25 05 2D OD 35 15 3D ID 24 04 2 C OC 34 14 3C IC 23D0 23 03 2B OB 33 13 3B IB 22 02 2A OA 32 12 3A lA 23E0 > 21 01 29 09 31 1 1 39 19 20 00 28 08 30 10 38 18 SLIKA 23- S - TABELE IN PERMUTACIJSKE TABELE • ENCRYP • SUBRUTINA PRESLIKA PO DES ALGORITMU 64 BITOV • IZ PLAINT V 64 BITOV ZAKRITEGA TEKSTA V RAZSIR • ••••••••«»••••••••••»•••••••«•«•••••»«••••••••••••t»« PODK EQU PLAINT RMB I TEXT RMB « ' ENCRYP LDX STX LDX STX LDX STX LDAA STAA JSR LDX STX LDX STX LDX STX LDAB PSHB « lENCRYl JSR S24Ee 8 8 CISTI TEXT PERMUTIRANI TEXT »PLAINT TEXT IZ PLAINT SE PERMUTIRA IN SPRAVI V TEXT ZAČNI Z ♦ TEXT REZULT ♦INIPER KAZALO #£40 STEL PERMUT EXC #TEXT LEVI #TEXT+4 DESNI #PODK PODKLJ #S10 RAZBIJEMO TEXT NA LEVO IN DESNO POLOVICO FUNC LEVIt=LEVI+F(R,Kn LDX STX LDX S TX LDX STX PULB DECB PSHB CMPB BN£ LDAB LDX STX LDX STX LDX LDAA INX STX LDX STAA INX STX DECB CMPB BNE LDX STX LDX STX LDX STX LDAA STAA JSR RTS LEVI, ZAMENJAVA LEVEGA IN TEMP DESNEGA DELA DESNI LEVI TEMP DESNI #0 ENCRYl «4 ZAMENJAVA LEVEGA IN #PLAINT+4 DESNEGA.DELA DESNI #TEXT+4 LEVI LEVI 0/X LEVI DESNI 0^X DESNI EXC #PLAINT+4 ZAČNI Z *INVPER KAZALO IRAZSIR REZULT #S40 STEL PERMUT INVERZNA PERMUTACIJA O "PER2 o SUBRUTINA PERMUT ° SUBRUTINA PERMUT PERMUTIRA IZVIRNI NIZ> KATEREGA ZAČETEK JE DEFINIRAN Z VREDNOSTJO "ZACNIZ" Z UPORABO PERMUTACIJSKE TABELE ("KAZALO MORA BITI INI-CIALIZIRANO NA ZAČETEK TABELE) V PONORNI. NIZ "RE-ZULT-> "STEL" MORA VSEBOVATI STEV. EL. PERM. TAB. oo "PERO O COMB LDX ANDE STAB LDAA INGA STAA CMPA BN E RTS END BESREZ 0-X 0/X ITER ITER STEL PER6 DODAJ 0 V PONORNI NIZ CE JE KONEC TABELE'SE VRNI SICER PONOVI OPT ORG KAZALO RMB ZACNIZ RMB o BESNI Z RMB o REZULT RMB o BESREZ RMB MEM 12000 2 ITER STEL BITI o BIT o PER6 RMB RMB RMB RMB PERO O o PERI PERA PERS KAZALEC V PERMUT. TABELI KAZALEC NA ZAČETEK IZVIRNEGA NIZA KAZALEC V IZVIRNEM NIZU (ZLOG 0:7) KAZALEC NA ZAČETEK PONORNEGA NIZA KAZALEC V PONORNEM NIZU (ZLOG Ol7) ŠTEVEC PONOVITEV ŠTEVILO ELEMENTOV V PRERMUTACIJl KAZALEC V PONORNEM NIZU (BIT ZLOGA (BESREZ)) KAZALEC V IZVIRNEM NIZU (BIT ZLOGA (BESNIZ)) C LR ITER LDX KAZALO LDAB 0>X IZ TABELE VZEMI NOVO VREDNOST AN DB HO? STAB BIT LDAB 0 o KAZALEC "LEVI". REZULTAT SE SHRANI V LEVI OPERAND. <> o o 0000öö0ö0öö0ö00ö000000ö0öö<}000ö0-00 O o o UPORABLJA SUBRUTINOl PERMUT.. KONV« SFUNC o DESNI RMB LEVI RMB PODKLJ RMB VMESRE RMB VMR RMB RAZSIR RMB RZS RMB TEMP RMB STAB RMB STABKA RMB o FUNC FUNCl ZAČETEK DESNEGA OPERANDA ZAČETEK LEVEGA OPERANDA ZAČETEK PODKLJUCA VMESNI REZULTAT KAZALEC V VMERSRE VMESNI REZULTAT KAZALEC V.RAZSIR KAZALEC V TABELI ZAČETKOV S-TABEL LDX STX LDX STX LDX STX STX LDAA STAA JSR LDAB LDX LDAA INX STX LDX EORA STAA INX STX DECB CMPB BNE LDX STX LDX JSR LDX STX LDX JSR BSR LDX STX LDX STX LDX STX LDAA ZAČETNA PERMUTACI JA PREKO SELECT E TABELE 2 2 2 6 2 8 2 2 2 2 DESNI ZACNIZ IRSELE KAZALO tfVMESRE REZULT VMR (?I30 STEL PERMUT PODKLJ 0^X PODKLJ VMR 0/X OJX VMR dO FUNCl iJRAZSIR+a KONVERZIJA • rts • ki ga spravi v "vmesre-. uporablja subrutino strans sfunc ldx #vmesre stx vmh ■ ldab 07 pshb ldx ■ vrazsir - stx . rzs ldx #stabel' : stx stabka ' sfunc4 ldx stabka ldaa . 0-x staa stab ldaa j^x staa stab+1 clrb 1 b5r strans pulb i bitb beq sfuncì an da «if ldx vmr staa o.x bra sfunc2 sfunc1 ldx vmr anda #sfo oraa 0,X staa 0-x inx stx vmr ldx stabka inx inx stx stabka sfunc2 CMPB «0 beq sfunc3 decb pshb ldx r2š inx stx rzs' , • bra sfunc4' , sfunc 3 rts subrutina konv subrutina razbije SA zaporednih bitov» označenih s kazalcem v indeksnem registru» v stiri sestbitne besede« ki jih dhrani v področje definirano z "rzs". (rzs-3» rzs) konv subrutina strans ' • transforhira.-sestbitno besedo iz podro- » na katero. kaze kazalec -rzs" preko • začetek je definiran z ^stab" v • stiribitni zlog v akumulatorju a. konv i ldaa 0x lsr l.x lsr 1.x lsr 1.x ldaa 2.x asla asla asla asla anda #s3f oraa l.x psha lsr 2,x lsr 2.x ldaa 2.x psha ldab #4 ldx rzs pula staa o.x dex decb cmpb #0 bne kon vi rts end VLOGA RACUWALWlSKDH SE SPREMOWJA INFORMATICA 3/1079 D. L. A. REŽ UD K: 681.324 DIRECTOR, EUROPEAN INFORMATDCS NETWOü^K WATIOWAL PHYSICAL LABORATORY, TEDDIWGTOW, MIDDJC UK Članek podaja kratek pregled razvoja zasebnili in raziskovalnih raSuralniäkih mrež in obravnava njihov vpliv na zasnovo sodobnih informacijskih služb, Kato obravnava vpliv najnovejših dosežkov v mikroelektroniki na načrtovanja mrež. Razpravi o problemih, s katerimi se sreSuJejo uporabniki, sledijo pred« logi za nov pristop k standardizaciji. Makazane so nekatere možna razvojne usmeritve, THE CHANGING OF COMPUTER NETWORKS The paper briefly reviews the development of private and research coB5)uter networks, and discusses their influence on the design of present day public data services. It goes on to consider the influence on network design of the recent developments that have taken place in microelectronics» A dis» cussion of the problems facing users is followed by some proposals for a new approach to standardisation and the paper concludes with some forecast of possible future trends» crvoB ULnilo Je približno dvajset let, odkar so ljudje zaSeli komunicirati z računalniki preko telefonskih linij, V tem času Je raz= voj skokovito napredoval in dejansko obsta» jajo cela področja sodobnega življenja, ki jih ne bi bilo mogoče upravljati brez danaä-njlh računalniških mrež» Dramatični tehnološki dosežki, ki smo jim bili priče v zad-njae času, pa obljubljajo v razvoju računalniških mrež Se nove globoke spremembe» Zato lahko pričakujemo, da bo vloga računalniških are2 čez nekaj let drugačna kot danes, ko večinoma nudijo potrebno infrastrukturo proizvodnji in prometu. Sprožile bodo so° cialno revolucijo, v kateri se bo spremenil način dela in preživljanja prostega časa pri običajnih ljudeh. Članek,na kratko podaja razvoj računalniško oreg® v zadnjih dveh desetletjih in opisuje današnjo javno podatkovno službo in s katerimi se srečujejo uporabniki» Kato ob= ravnava, kako bo nova tehnologija sprsEanila naravo računalniških mreS in nazadnje dajo nekaj dolgoročnih napovedi» KBATEK ZGOIKiVIMSKI PBEGLEI) EazvoJ tehnik aultiprogramiranja aa prvo like računalniške sisteme jo oaogočil, da Jih Je lahko hkrati uporabljalo vo5 uporabnikov» Zelo ugodno je postalo, da so doloSono Sto-vilo uporabnikov priključili na raSumalniì: preko telefonskih linij, tako da so lahko do° lali v svojih prostorih in jim M bilo ös-oba potovati v računski center» Te sgodajo ffačunal^ niške mreže so bile zgrajeno v obliki sTOado s procesorji in spomini v centru ia s ?adial° niai linijami, preko katerih Jo potokala ì8Eq= njava informacij v obliki snakov» Sorolaall so bili preprosti, vse pa jo nadaoroval o®a<5?QlaS. računalnik» Prispevek je bil referiran v Angleščini na XIV .Simpoziju Informatica 79,Bled, 1-6 .Oktobra 1979. Z napredkoa tehnologijo oo saäoli upodabljati male računalniko sa nadso? okupiao ■feosoiaolo'E^ In skupina takih računalnikov Je bila priključena na centralni sistem. Podatki so se še vedno obdelovali centralno, toda funkcija rutinskega upravljanja s terminali je bila razporejena po mreži. Informacije so se prenašale med centralnim sistemom in nadzorniki terminalov v obliki blokov znakov. Uvedena je bila kontrole napak s pomočjo preizkusa vsote in s ponovno oddajo nepravilno prenešenib blokov. Iz teh začetkov so zrastle zasebne podatkovne mreže, ki jih uporabljamo že mnogo let in predstavljajo nujno infrastrukturo za letališča, banke in druge narodne in mednarodne organizacije, ki igrajo vedno pomembnejšo vlogo v modernem svetu. ( Slej 1 ) Vzporedno z rastjo zasebnih nirež za velike organizacije so se razvile splošne javne računed-niške službe, Njihove usluge lahko koristi vsak z uporabo preprostega terminala in javne telefonske mreže. Tudi te službe uporabljajo male računalnike za nadzor terminalov, kar ima ža glavni sistem številne prednosti. Pogosto so terminali enega računskega centra razporejeni v različnih državah. V poznih šestdesetih' letih so številni raziskovalci ugotovili, da delujejo različne zasebne mreže na podobnih principih, vendar niso združljive zaradi drobnih razlik. Postalo je jasno,, da bi bilo nadaljnje investiranje v Infrastrukturo zasebnih mrež take vrste v temelju zgrešeno. Kot nasprotna rešitev se Je okrog leta 1965 sočasno v ZDA In Veliki Britaniji pojavila in razvila ideja, da bi gradili komunikacijske podsisteme, ki bi bili neodvisni od posameznih aplikacij In bi lahko pokrili širok spekter potreb. Tak podsistem nadzira prenos Informacij v standardiziranih blokih ali "paketih" med komunikacijskim podsistemom in računalniškimi podsistemi, ki ga uporabljajo. Posplošena računalniška mreža torej vključuje serijo računalniških sistemov ali "gostiteljev", ki so med seboj povezani s paketi preko podmreže. Specializirani gostitelji upravljajo skupine znakovnih terminalov in zanje organizirajo komuhicirenje s paketnimi terminali. Posebni gostitelji imajo pomembno vlogo prilagajati različne vrste terminalov na standardni paketni vmesnik. Tako oblikujejo nekakšna lokalna področja v glavni paketni mreži, ki je ekvivalentna visoko zmogljivi medkrajevni mreži. V ZDA se je ARPA mreža ( glej 2 ) burno razvi- jala od zgodnjih sedemdesetih let do danes, ko vključuje okrog 70 paketnih priključkov s povezavami v različnih deželah izven kontinentalnih Združenih držav. V Veliki Britaniji so v National Physical Laboratory -u spoznali, da bo uvajanje priključkov za lokalna področja povezano s specifičnimi problemi, ki so jih začeli proučevati na modelu v laboratoriju. Rezultat poskusa je laboratorijska služba, ki zdaj zajema 20 gostiteljev in okoli 200 terminalov. Povezana je z drugimi mrežami zunaj laboratorija, tako da lahko njegovi sodelavci komunicirajo in delajo eksperimente z ARPA mrežo in obratno. ( glej 3 ) Do zgodnjih 70' so se za problem paketno priključnih mrež začele zanimati tudi druge raziskovalne skupine in pojavile so se narodne raziskovalne mreže kot na primer francoski Cy-clades projekt in GMD mreža v ZRN (glej A-,5). Leta 1975 Je več evropskih držav ustanovilo European Informatics Network Project - EIN (glej 6). V njegovem okviru Je bila zgrajena mednarodna paketna mreža, ki jo uporabljajo različni narodni raziskovalni laboratoriji. Pomemben korak v Evropi Je bil predlog, da bi razvili mrežo podatkovnxh baz za razširjanje znanstvenih in tehničnih informacij - Euronet (glej 7). Commission of the European Communities se Je o tem dogovorila z nekaterimi evropskimi PTT organizacijami, tako da bo konec leta 1979 že začela delovati mednarodna javna paketna mreža. Sredi sedemdesetih let je nekaj evropskih PTT organizacij zgradilo paketne raziskovalne mrože, na primer RCP v i?ranciji in EPSS v Veliki Britaniji, tako da take mreže delujejo ( ali bodo začele v bližnji prihodnosti) v večini evropskih držav. V ZDA deluje od 1975 Telenet, ki bazira na ARPA tehnologiji mreže. V Kanadi od leta 1976 obratuje sistem Datapac družbe Bell . Northern, Japonska bo kmalu odprla mrežo DDX. Ker so vse te Javne paketne mreže povezane, se bodo kmalu razvile v infrastrukturo svetovnih razsežnosti. Napredek mikroelektronike pospešuje razvoj paketnih mrež z izdelavo cenenih in zanesljivejših spominskih in logičnih elementov. Viden je tudi vpliv na sisteme, ki so vezani na podmre-žo in na izbiro načinov komuniciranja. Novi tehnološki principi so tako pocenili digitalni način prenosa informacij, da ga začenjajo uvajati v telefonijo. Te digitalne mreže so potencialno primerne za prenos podatkov, zato lahko H •O m et < C g O tv 01 < B O O ct p- •O C p. < N •ö (» 13 O P» ct O «s P- p. p- ►i • N P- < 4 01 O N !V «i H P < 4 o p- C 4 P- B- 1» Cj. O C P E 9 p a p' O p- n a ct P> K S- < Ct m P- o CD B p- h Cj. ct P- VO P- o fx (D N I-' Cj. He p. P- « O O CB H" p- P P" g- & ® p 4 ® 0X e p B « E B (D en ct B ct CD P- p- O CD 4 P- p- P- ■O 5 o O 3 X O P- a 4 CD o et P < Cj. P tv N o •O O o < O N CD o 4 01 4 o •o ® tv (» O (D et h- 0 •a O •o ■8 O B- o e s < ffi 01 a a ■O (D d Cj. Cj. Ct o Pi X P B Ct •a ct P- P e. B O ct o SO a M (D p- (D M O BJ p- < •o B o O p» P ct fx p M PJ 4 Cj. •# P- !V p P ct p- ® < CD p. a a> g (D p. a P o B ct P B B O cr ® o o H- (B P- «> P- P" C B a ct p < o B O o Cj. P- X tr P' m < CD p" « p. •d N 4 H cn O" • K O Cj. o 4 ct 4 o P- o P p ffi tO (» O ex CD g CD i «1 P; ■o & P ® ÌV Cj. N< CD 1 H (D N k 4 o B P p- ■o cr ffi ® ffi p C tx Cj. < 01 P- ct a p p. P ffl p- •a O p p p- p 01 ® a 4 o ct P ffl tv K O o Cj. o "2 B et ffl (K) p- p cr Cj. p- 4 cr 4 p P" < ct P 4 4 o •a ® m P C o o O O- B o P o P P- ffl E ffl O p- p- P" Pi P m - p P- P- g Cj. < tv tv cr B o* Pi m a p 01 ffi ox p p P B p- Cj. ct m o o o H P p «i o P • IV ffl B B C ^ O p' 5 ffl et i Cj. p* !-• p- o" tv B p X 4 ffl •o P- < 4 < M £ Cj. P- N p- < ffl hđ ct p- ffl P o O B Ct < P B p- B p- P cr ffi O p- m o pj o NC •* 4 < ffl ffl 4 p y B p- co< p' P p. 4 < 4 p < o O •tì S. P- CO P IV cj. m Cj. ffi O Cj. a ffl B o" B' P- tv et g P ct p p- p- P (n B ® p fX H O O P P 4 ffi o p- p OK p S B tv p" p- E tv 4 Cj. < p- o< ct. ffi P- t-j p- et fx p N P p- P ffl ffi tv pi ffi ffl n< ffi Ci. ffl Ct 4 ffi P- < B P- p P' N p- o N et 4 P P- ct siv ffl p B ffi fv tv O" E o< O B ■ B ffl 4 p O" < fx B ex P p o- o •O B B p- ffl P P- p- tv P P- č p ct ® • M o O P- ffi B p ffl P B B Ol H p- P- H p P' ® 4 p p < P" ffl g: tv P P- ct P p- p- o P" 4 B B o. • p B 4 P ffl <; P g: <5 J p- O p" P- O 4 ffl p p- p P p- 01 !V tv o ffi ct o- (D !v V P w pJ o ffl pj 0! < B o 4 p P ffl n< o fx ^ i (d km OK p- PT CX ffl ® B < (t 4 tSK m (t rt „ a> P> ct s (D a> ►1 m ^ < g p; ? & - £. n. 0 H (D P H 0< 01 iT ct O D HI a CJ. o g o; HJ t) ■Ö ■o B p D. O ct 01 cr fx ct OK ■O p- P < D* p < B ►a 4 o p ffi O p. ffi iV o p- ffi ct 4 P Cj. B O p- P o o H < p- < P B 4 ffl O P- ffi •P & N P- p- ct O ■O B Cj. V cr O g. < . X p' P- 01 P P p o 4 4 4 f> P- 4 < P O o O P 4 p- IV P O ffi IV B P P ffi P ct X < p- P M P Cj. p o O cr N< p- S 01 N N & p- B p P- IV 0 ffl m ffi p P- p- B ffl o p- < o B o < et n< p- 4 cx • TJ p a p- cr P- 4 O 4 H S ffl B X g, P cx p p P- S o p- tr P 0 E n B ^ P- P o p. P a p P a B ct cr p X & p- 01 4 P % S 4 ct ffl o P- B p ct X p P 01 ct B S" p- p (f) < g 4 P' o p- o 4 V •o P 01 a Cj. p- P < 4 o m ffl !V B ex Pi o o P- ffi X 5- S p P- «j 01 <§ ■o N( o o p •o ffl 4 B B p- P DX < o o< N ct 4 < "8 o 4 P p- p- ■o P- P P- Cj. p» P P fX ffl N O CS cr p 4 o 01 ffi P E S- B p- Cj. p- fx 4 i P p" p- ct O ffl "O P- •o P p M O Cj. p p- ffi Cj. • P a B o 4 P O P ffi Cj. ct p- B P pj P ■O P m ffl ct B P Ct p- •d IV ffi ffl «i ■d o P- ^ o Cj. 1« ct ct 4 p- o< ffi o o B 4 - P P o P- p- < O p P P- B p P" P" 4 o B o B P- <5 01 N 4 ffl p. ct N • m B P- E g" o< p- p. p- B tJ o P P CJ tJ p P P X p (R n- o" 4 p B v < P- 4 p- o p E. 4 4 P B P- p- ffi P s 01 P 4 ffl • O ffl p- § < X P X ffl & B P X p- < P M ct 4 fx p- o. o ffl W B o P- fX tv p o O n !Z P- o O ct P P- < •O X p o p 5 V < P P P- < O 01 ® O » ffi ® ffi • < o p- p" 01< O E < cr X O ct B ^ p- P 01 ffl P P B a ti P- O tj p- 4 5 ct 2L < m p- P- p- p Cj. ffi ct e P n 4 < ffi m X ffl X «S ffi p- o P- o p ffi 01 P « C ^ p- cr p" p- 4 ct o< ffl 3 pj p- p o. t?d 0 p Cj. p Cj. B 4 ■o p Cj. •o 0) <§ o N p- p D H- P P Cj. P- 01 P- O o ct n P X 4 O h ffl- < o P P m < p- 4 p 4 ffl •tì o P t^ P O B' Cj. O P t? ffl O ffl p o 01 4 < p- ffl Cj. < ffl O a a P" p p- IV p- cx ct et » N 4 O p p P- ct ffi ffi «J P' « o p p P- P- Cj. p- t B- a Cj. Iv 4 p- p- P et P O p p- < P- 01 P o « ffl Cj. P 1 o ? ffl •d o p-X e 0 1 P ffl O t < t p- U o izpostave bank knjižijo direktno v glavni centrali, letalska služba ima enoten sistem rezervacij itd. Misel, da bi človek lahko opravljal svoje zadeve preko terminala na ulici in Javne podatkovne mreže. Je razburljiva, toda neizvedljiva brez ustreznih standardov. Ti bi morali urejati vsa vprašanja od priključitve terminala na mrežo do ukazov, s katerimi bi uporabnik dosegel zaželeni objekt. Med tema dvema skrajnostima Je še cela lestvica potrebnih dogovorov o podrobnostih upravljanja terminalov, o podatkovnih strukturah, ki Jih bomo uporabljali,in tako naprej. Trenutni pristop k reševanju teh standardiza-cijskih problemov Je uvajanje protokolov ločeno za posamezne nivoje komunikacijskega procesa (glej 11). Protokol Je množica pravil, ki urejajo komuniciranje med partnerji. Navadno lahko vnaprej določimo nekaj relativno neodvisnih potrebnih procedur. Vsako opravlja eden izmed protokolov, ki so urejeni po nivojih tako, da Je protokol nižjega nivoja orodje protokola višjega nivoja. Kot primer si oglejmo CCITT priporočilo X.25. To pokriva področje izmenjave paketov med PDCE in PDTE in obravnava tri nivoje. Najprej Je tu specifikacija fizikalnih povezav - priključkov in električnih signalov. Sledi procedura za izmenjavo toka bitov, urejenih v nabore, po ISO KDLC standardu. Nato Je obdelan paketni nivo, tipi in struktura paketov, ki potujejo med BGE in DTE. Vse Javne paketne mreže bodo uporabljale vmesnike X.25 za povezavo s PUTE-Ji, zato Je ta standard univerzalen. Ker pa ne pove ničesar o strukturi in vsebini podatkovnih polj paketov, pušča široko odprto vprašanje, kako bodo različni terminali z vmesniki X.25 lahko v praksi učinkovito komunicirali. Stanje nekoliko omilijo tri druge X serije priporočil, X.3, X.28 in X.29. To so protokoli, pomembni pri načrtovanju in delu s PAD programi za Javne mreže. X,3 opisuje lastnosti PAD-a in načine, kako ga uporabimo za nadzor različnih terminalov. X.28 ureja interakcijo med znakovnimi terminali in PAD-om In podaja ukaze in odgovore, ki Jih uporablja operater v pogovoru s PAD-om, ko vzpostavlja zvezo z oddaljenim PDTE. X.29 opisuje, kako računalniška služba preko PAD-a dela s posameznimi terminali in kako se izmenjavajo podatki v obliki paketov med PAD-om in PDTE. PAD prilagaja znakovne terminale paketnim, zato narekuje določena pravila, ki Jih morajo upoštevati PDTK, kadar preko Javne mreže sodelujejo s PAD-om. Teoretično bi lahko te standarde uporabili tudi ia komuniciranje dveh paketnih terminalov, vendar niso bili zasnovani v ta namen in so za to manj primerni. Žal bodo novi, boljši standardi za komuniciranje med PDTE-ji verjetno nezdružljivi s standardi za komuniciranje med PAD-om in PDTE. Ključni vzrok Je, da Je X.29 nesimetrični protokol, ki predvideva, da je PAD podrejen PDTE, medtem ko v primeru povezave dveh paketnih terminalov ne moremo a priori privzeti, da Je en terminal suženj drugega. Posplošeni protokol mora torej vsebovati mehanizem dogovora, ki bo preprečil moi-ebitne spore pri inicializaciji (glej 12). V nekaterih javnih mrežah je preko petdeset PAD parametrov, tako da priključitev na računalniški kompleks ni preprosta. Dejanska cena , upravljanja terminalov s PAD-om Je verjetno mnoge- išja, kot se splošno misli. Sledi opis metode 'navideznih terminalov", ki se zdi boljša. Kljub svojim pomanjkljivostim tri X priporočila CCITT omogočajo računalniku, da lahko v PAD-u poda parametre za delo z različnimi znakovnimi terminali. To je pomemben korak k odprti mreži, kjer lahko vsak terminal zahteva poljubno uslugo. Toda samo dejstvo, da vse, kar tipkamo na terminalu, potuje v oddaljeni računalnik in da se vse, kar računalnik generira, pokaže na pravem terminalu, še ne jamči, da so terminali univerzalno uporabni za interaktivno delo z računalniško službo, čeprav bodo res pokrili nekaj precej primitivnih potreb, Tačas,ko so PTT organizacije razvijale javne mreže predvsem za delo s terminali preko opisanih linij, se Je vrsta raziskovalnih projektov začela ukvarjati s problemom interakcije dveh kompleksnih sistemov, na primer dveh lokalnih privatnih mrež, od katerih vsaka opravlja vrsto služb, ima svoj lasten šop terminalov in Je včasih tudi priključena na nekaj lokalnih računalnikov. Načrtovali so, da bi razvili nivoje protokolov, ki bi bili drugačni, toda analogni protokolom CCITT. Morda so bila principielni razlog za razhajanje različna izhodišča. Prve raziskovalne mreže so univerzalno uporabljale koncept data-gramov. To so paketi, ki vsebujejo popolne instrukcije, ki omogočajo prenos paketa kot enovite celote. Današnje Javne mreže pa so načrtovane za prenos več paketov skupaj v navidezno enotnem tokokrogu. Raziskovalni projekti so se prvotno odločili za datagramske podmreže, ker 80 po naravi preprostejše v tem, da obravnavajo veak paket lo5eno od drugih. Toda pri večini klicev med Slani mreže morajo biti paketi združeni, zato 80 raziskovalci razvili koncept transportne službe. To je nivo protokola, ki. vključuje software v vseh računalniških sistemih in omogoča sočasni pretok več skupin paketov, Jih sortira,, razvršča v zaporedja in vikrepa ob izgubi paketa. Transportna služba realizira zanesljive kanale vglavnem s pomočjo uporabniških računalnikov in ne v DCE kot pri X.25>. Vključuje tudi direktno kontrolo pretoka med dvema DTE, ki v priporočilu X.25 ni predvidena. Opustitev te za uporabnike izredno koristne možnosti Je bila žal potrebna, da so se lahko uskladili pogledi raznih ETT organizacij na snovanje Javnih paketnih mrež. Uporabniki raziskovalnih mrež so se znašli v težkem položaju, kajti transportne postaje, ki so Jih razvili za mreže na principu datagramov, imajo vprogramirane funkcije, za katere Javna mreža ni prilagojena. Še več, naraščajo napačna mnenja, da ob X.25 sploh ni potrebna transportna služba. V teh nesrečnih okoliščinah Je malo verjetno, da bo sprejet dogovor o splošni transportni službi, ki bo omogočila sočasen prenos serij paketov med poljubnima računalniškima sistemoma v Javni mreži. Kaže sicer, da bodo nekatere raziskovalne skupine uspele združiti svoje rešitve v enoten standard, ki pa bo koristil predvsem bodočim uporabnikom Javnih mrež(glej 15). Obstajata še dva nivoja protokola, za katera menijo raziskovalci, da sta pomembna. To sta protokol za navidezne terminale in protokol za prenos nizov. Protokol za navidezne terminale je razširitev koncepta protokola za upravljanje skupin terminalov in ima v tem pogledu enak pomen kot tri znana i. priporočila. Toda cilji vodilnih navideznih terminalov so precej bolj ambiciozni, kajti namen Je omogočiti večini terminalov interakcijo s poljubno vrsto računalniškega sistema. Osvojen je princip prilagajanja računalniškega sistema za upravljanje hipo-.tetičnega terminala z obsežno serijo značilnih lastnosti (glej 14). Vsak računalniški sistem naj bi urejal pretok informacij med lastnimi terminali in tem hipotetičnim terminalom. To je možno spričo razpoložljive računalniške zmogljivosti. Bazvoj protokola za navidezne terminale v veliki meri izpodriva napredek v mikroelektroni- ki, ki napoveduje pohod cenenih inteligenčnih terminalov. Poglavitni problem pri navideznih terminalih je prilagoditev različnih vrst realnih terminalov na hipotetične terminalske specifikacije'. Večina problemov izgine, Če je terminal inteligenčni, ker so specifikacije lahko poljubne in Je to popolnoma interen komunikacijski problem. Dejanska izmenjava informacij med dvema inteligentnima terminaloma potem poteka z izmenjavo nizov. S tem postane aktualen protokol za prenos nizov, o katerem raziskovalci precej razpravljajo (glej 15). PROTOKOLI ZA MAMIt^ULACIJO Z MIZI V splošnem vključujejo protokoli za prenos nizov osnovni prenosni mehanizem in kanonično striikturo niza, v katero se pred oddajo uredijo biti, ki so bili pred tem urejeni po formatu oddajnega računalnika. Pri sprejemu se niz iz kanonične oblike prevede v format sprejemnega računalnika. Na ta način se nizi prenašajo med sistemi v kanonični obliki in posamezen sistem mora poznati le algoritme za prevod v svoj format in iz njega. Pomembna prednost tega pristopa je sposobnost zanesljivega prenosa z možnostjo povratka na dogovorjene stadije komunikacijskega procesa, kajti oba računalnika lahko prilagodita svoje akcije na kanonično strukturo niza. Toda v praksi je težko izbrati univerzalno kanonično obliko. Če različni računalniški sistemi izmenjavajo nize na enak način ali so Slani iste organizacijske enote, lahko prikrojimo njihov software tako, da bodo prenašani nizi razumljivi vsakemu od njih. Vsaj v principu in verjetno tudi v praksi pri nekaterih računalniških sistemih in nekaterih organizacijah. Toda pri odprtem delu preko javnih podatkovnih mrež bodo naraščale zahteve po izmenjavi nizov med različnimi organizacijami, ki imajo različne sisteme in načine poslovanja. Predlagani protokoli bodo brez dvoma omogočili prenos nizov preko javne mreže, dosti teže pa bo razbrati pomen nizov na naslovni strani. Za to bo potreben nekakšen protokol za interpretacijo niza ali bolje družina protokolov, ki bodo bazirali na notranji strukturi originalnih nizov. Večina nizov ima tako strukturo, da Jo konvencionalni protokol ignorira. Lahko pa Jo s pridom uporabimo, če ugotovimo skupne elemente vseh predstavitev, ki se pojavljajo v normalnih sistemih. Kot primer vzemimo tekst v naravnem jeziku, ki ga en uporabnik sporoča drugemu. Pomen teksta se ne spremeni, 5e spremenimo vrstni red im poskrbimo, da se fraze, stavki in odstavki ohranijo. ResniSno, to velja tudi pri prevodu v drug naraven jezik. Tako si lahko izmislimo protokol za prenos čistega teksta, zasnovan na točkah za popravljanje na primer na mejah odstavkov. Tak protokol bi lahko pred oddajo dodajal odstavkom (uporabniku neznana) kontrolna števila in jih po uspešnem prenosu odstranjeval. Prepričajmo se še na primeru prenosa nizov v jeziku BASIC. Pri organizaciji kontrolnih mehanizmov bi se lahko oprli na definirano strukturo BASIC-a , pri popravljanju bi se na primer vračali na določeno vrstico. Zdi se, da so raziskovalci zelo malo delali na standardih za interpretacijo nizov, nekaj napredka pa je bilo v komercialnem svetu, kjer zdaj razpravljajo o standardih za predstavitev informacij (glej 16). PROTOKOLI ZA KOMPRESIJO JilZOV V komercialnih sistemih bodočnosti bo verjetno potreben še >n dogovor glede prenosa nizov. Treba bo izločiti le čiste koristne podatke, da se bo zmanjšala količina informacij, prena-šanih od enega sistema k drugemu. Zahteva bo še pomembnejša pri uporabi javnih mrež, kjer se zaračunava količina prenašanih informacij. Ha primer kadar stranka v oni organizaciji naroči članek pri službi druge organizacije. En način bi bil, da naročnik oblikuje niz po pravilih svoje organizacije, ga napolni s potrebnimi podatki in ga končno odpošlje dobavitelju. Varianta bi bila, da bi zahteval cenik uslug, toda to naj bi urejal poseben mehanizem, Operater (ali njegov lokalni računalniški sistem) bi po obliki niza ugotovil, da predstavlja naročilo, ga primerno obdelal in odgovoril s fakturo. Ta bi bila oblikovana po pravilih dobaviteljeve organizacije. Naročniku bi jo vrnili po enakih metodah, kot smo jih spoznali pri oddaji naročila, to se pravi po konvencionalnem protokolu za prenos nizov, o katerem smo že razpravljali. Cela procedura bi bila le avtomatizem ročnih procesov, ki ga razvijajo že mnogo let. Alternativni pristop bi bil, da bi idetificira-11 bistvene informacije v tipičnem postopku naročanja in fakturiranja in izmenjavali med sistemoma dveh organizacij le te skrčene podatke. Naročnik bi še vedno splošno uporabljal naročilnice v svojem lokalnem formatu (kot fizične papirnate ali kot prikaz na vhodnem terminalu), toda prenašali bi le ekstrakt bistvenih informacij', ki bi jih sprejemni sistem rekonstruiral. Dobavitelju bi bile lahko predstavljene v formatu njegove organizacije in sploh ni nujno, da bi bile podobne originalni naročilnici. Ta druga vrata procedure je precej tuja današnjim metodam in zahteva dosti višjo stopnjo soglasja med sodelujočima stranema. Toda končno bo potreba po cenejšem komuniciranju močno vzpodbudila sklepanje takih dogovorov. Zgornji premislek nam kaže, da bodo dolgoročno gleda no potrebni novi protokoli za prenos specifičnih informacij pri vsaki posebni interakciji. Jasno, da morajo biti ti protokoli odvisni od namena uporabe, a v nekaterili pogledih jih bo morda mogoče posplošiti. Wajpréj je potrebna f -udardna abeceda za začetek dialoga med sistemi. Tukaj je bil verjetno dovolj dobro sprejet ISO sedembitni kod. Druga potreba je metoda poimenovanja razredov protokolov, da bo sprejemnik lahko izbral pravilnega, tretja pa splošno sprejeta sekvenca za razveljavljanje, tako da se postopek lahko vrne na izhodiščni nivo izbire protokola, če se zdi, da nekaj ni prav. IZDaJaMJE STaMDARDOV Ob vedno večji kompleksnosti standardov naraščajo težave pri doseganju soglasja, ker nesporazumi povzročajo odlaganje sklenitve dogovora o preciznem izražanju. Hes je preciznost pri tekstih v naravnem jeziku nemogoča in treba se bo izražati bolj formalno, da se bomo izognili dvoumnostim. Uporaba formalnega opisovanja bo olajšala avtomatično določanje vrste protokola in morda celo , omogočila prenos standardov v programe, ki bodo implementirani v določeno področje hardwarea. Žal ni verjetno, da bodo tvorci standardov sprejeli metode formalnega opisovanja v doglednem času. Kadar postane interakcija zelo kompleksna, je vprašljivo, če je sprejemanje takih standardov sploh smotrno. Alternativni pristop je, da bi uporabili vse razpoložljive standarde za vzpostavitev zvez, prenos nizov itd. in s pomočjo računalnika sestavili protokol za vsako novo situacijo. Za to mora biti v "glavi" ali "telesu" niza dovolj informacij, da se sprejemnik lahko odloči, kako bo niz interpretiral. Potem se na- piše ustrezen program in se naslednji podobni nizi sprejemajo avtomatično. Pri tem mnogo obeta nadomestitev kodiranih for-matnih znakov, ki se zdaj splošno uporabljajo za kontrolo lege podatkov, s frazami v naravnem jeziku. To daje snovalcu niza svobodo, da lahko svoje namere opiše na poljuben razumljiv način. Za lažjo identifikacijo bi bile fraze lahko omejene z dvema univerzalno predpisanima znakoma, na primer z () in (). Namesto znaka za preskok na novo stran bi pisalo kar O'SJiOCl HA NOVO STRAH'O ali karkoli, 5e bi le imelo pravilen pomen za osebo, ki gleda niz kot zaporedje znakov. Ha osnovi tega obrazca lahko sistemski programer na sprejemni strani analizira niz tujega oddajnika in določi, kaj naj se pokaže na prikazovalniku, ali niz pravilno procesira. Lahko bi sestavil lokalno- proceduro formatiranja za procesiranje poljubnega niza iz tega oddajnika, 5e bi privzel, da se pravila oddajanja ohranjajo. V bistvu to kaže nezmožnost sedanjih tehnik, na primer \unetne inteligence, da bi dale avtomatizirano metodo interpretacijè nizov, in daje priložnost človeški Inteligenci, da se izkaže, ko je najbolj potrebno. Če bodo razvite standardne oblike nizov za posebne namene, bo to zasluga začetnih izkušenj s takimi protokoli proste oblike ( glej 17 ). Če bodo standardni nizi definirani kar " iz zraka", toliko bolje I Toda ta pristop odpira možnosti za odprto delo med sistemi, ki bi radi kontaktirali, pa se njihovi projektanti niso dogovorili o podrobnostih. To je posebno pomembno v zvezi z vsesplošnim uvajanjem domačih računalnikov, ker na tem področju nihče ni odgovoren za izdelavo standardov za komuniciranje preko javne mreže, pa se zdi, da je še najbolj modro prepustiti njihov razvoj evoluciji. BODOČE USMESITVE članek je prikazal, kako je napredek tehnologije pospešil razvoj računalniških mrež z decentraliziranimi sistemi. V teh mrežah se bo vedno več uporabnikovih zahtev procesiralo lokalno ob avtonomni izmenjavi nizov med lokalnimi sistemi. Ta usmeritev se bo nadaljevala, ker prihajajoče izboljšave v mikro elektroniki kažejo, da je kompleksnost sistemov mogoče še povečati. Računalniške enote bodo dobile več procesorske in spominske moči ob enaki ceni. Zato lahko predvidevamo, da bodo nekateri problemi pri usklajevanju različnih vrst terminalov rešeni z zelo obširnimi lokalnimi procesnimi operacijami. Govorna enota na primer bi izvajala lokalno analizo zvoka in omogočila govorno/slušno interakcijo uporabnika in terminala pri kreiranju lokalne datoteke, ne da bi bilo treba originalni govor prenašati v centralni sistem za razpoznavanje. In kopirni terminal bi lahko lokalno prepoznaval tekst in tvoril datoteko tekata namesto moduliranega vala. Takrat bodo velike črne škatle v naših domovih postale resničnost. Morda bodo to majhne črne škatle, ki jih bo mogoče spraviti v žep in bodo vsebovale tudi radio. S slikovnim vhodom in izhodom preko solidne kamere in prikazovalnika, z govornim vhodom, da se bomo lahko pogovarjali z drugimi ljudmi in njihovimi računalniki. Morda bo leta 198'4- za to še prezgodaj, toda žepni kalkulator se je že razvil v priročnega učitelja pravopisa in jezikovnega prevajalca z govornim izhodom, tako da ni mogoče napovedati, kaj bo sledilo. Tà članek je podal pregled razvoja javnih po, datkovnih mrež in obravnaval^ kako se današnja stopnja standardizacije kosa z zahtevami uporabnikov mrež. Verjetno je jasno, da se bodo relativno hitro razširile preprostejše aplikacije, ki so rezultat prenosa principov današnjih privatnih zvezdastih mrež v javno uporabo. Bolj kompleksno uporabo mrež pa bo oviralo pomanjkanje ustreznih standardov za prenos nizov med sistemi. Problem ni primarno tehnične narave, kajti zahteve in rešitve za omogočitev učinkovitega prenosa nizov so večinoma zneine. Težava je pri sklepanju dogovorov med zagovorniki različnih protokolov. Vsi predlogi imajo dobre in slabe strani, zato ni jasnih argumentov za izbiro enega ali drugega protokola. Izkušnje kažejo, da je v taki situaciji rešitev spora stvar sreče in je odvisna od tega, kateri protokoli imajo večjo politično in komercialno podporo. Zanimivo je, da tako pri vsem izbiranju sploh ne gre več za to, kakšna rešitev bo prevladala. Protokoli bodo realizirani z mikro kodom in nekoč morda celo s LSI čipi. Pomembno vprašanje torej ni, kateri protokol naj izberemo, ker to lahko najbolje naredimo z metanjem kovanca. Važno je, da se hitro zedinimo pri uvajanju vseh novosti, ki omogočajo učinkovito ko'iniciranje. REFERENCES 1. Davles, D W and Barber, D L A Communioatlon Networks for Computers John Wiley, 1973. 2. Roberts, L Computer Network Development to achieve Resource Sharing AFIPS proceedings SJCC, Vol. 36, 1970 3. Soantlebury, R L and Wilkinson, P T The NPL Data Communications Network ICCC proceedings, Stockholm, 1974 13. A Transport Service Post Office Study Group 3 DCPU; NPL, 1979. . 14. Barber, D L A The Role and Nature of a Virtual Terminal Computer Communications Review, Vol.7, No.3. Proposal for a Standard Virtual Terminal Protocol IFIP WG6.1, INWG Protocol Note 91, 1978 4. Pouzln, L The CYCLADES network - present state and Development Trends Sym. Com, Net. Trends and Applications IEEE (1975) 8-12 5. Sarblnowskl, H Network Activities In the Federal Republic of Germany; Pilots to a Public Packet Switching Service. Telecommunications, Oct 1977. 6. Barber, D L A EIN - An Example of Co-operative Research in Europe. Altafrequenza, July 1979. 7. Euronet News Directorate General Scientific and Technical Information, Commission of the European Communities, Luxembourg. 8. Public Data Networks CEPT/Eurodata Foundation 1978 9. Provisional Recommendations X.3, X.25, X.28 and X.29 on Packet Switched Data Transmission Services . CCITT, Geneva, 1978. 10. ISD/TC97/SC16 N117 Reference Model of Open Systems Architecture (Version 3 November 1978) 11. Davles, D W et al Computer Networks and their Protocols John Wiley, 1979. 12. Hertweck, F R, Raubold, E and Vogt, F X ,25 Based Process-Process Commonlcationa Proc. Symposium on Computer Network Protocols, Liege, 1978 15. Neigus, N File Transfer Protocol ARPANET Protocol Handbook, 1973 A Basic File Transfer Protocol Post Office Study Group 2 DCPU, NPL, 1979, 16. IS0/TC97/SC14/>(G1 N25 The Development of Data Standards for use in Information Processing and Interchange 17. Barber, D L A "»<"You Don't Know Me, But____">»•' Computer Weekly, March 1979 Barber, D L A Protocols for Intelligent Terminals Computer Communications Review Vol. 9 No. 3 July, 1979. INFORMATICA 3/1979 KODIRANJE IN DEKODIRANJE KOREKTURNEGA KODA Z MIKRO RAČUNALNIKOM M. ŠUBELJ J. KORENINI F. NOVAK R. TROBEC UDK: 681.327.63 : 621.3 INSTITUT JOŽEF STEFAN. LJUBLJANA V članku je obravnavano kodiranje in dekodiranje korekturnega koda'realizirano z mikro računalnikom. Najprej je definirana Hammingova razdalja in princip dekodiranja "idealni opazovalec". Tipi korekturnih kodov so razdeljeni na kode, ki e napak popravijo in kode, ki (e-1) napak popravijo in e-to napako detektirajo. Primer prikazuje princip oddaje kodiranih znakov in sprejem in dekodiranje znakov. V zbirnem jeziku za procesor P-8 sta dodana tudi programska modula za kodiranje in dekodiranje. CODING AND DECODING OF A COHfiECTION CODE BY A MICROCOMPUTER - Coding and decoding of a correction code implemented in microcomputer is discussed in the paper. The definition of "Hamming distance" is given and the "ideal observer" decoding technique is described. Different correction codes are classified as e-error-correcting codes and (é-l)-error-dorrecting, e-error-detecting -codes. An example of transmission and reception of correction codes in practice is shown. Program modules for coding and decoding written in F8 assembly language are alt-.o given. / 1. UVOD 2. KOREKTURNI KOD IN RAZDALJE Pri prenosu informacije preko telefonskega kabla se pojavi problem zanesljivega prenosa. Motnje, ki jih lahko povzročijo preklopi na liniji,distorziJa signala, atmosferske motnje, presluh med linijama, lahko povzročijo, da bit informacije spremeni svojo električno vrednost. Za zanesljiv prenos poznamo več metod kontrole napake pri prenosu. Mi se bomo omejili na kontrolo napake, ki omogoča popravljanje napake, v nekaterih primerih pa samo odkrivanje. Izvedba je programska in nam omogoča veliko prila-t godljivost in relativno enostavno modifikacijo na drugačen kod. Znaki se lahko prenašajo paralelno (vsi biti znaka istočasno) ali serijsko. Sinhronizacija in paralelno serijska in serijsko paralelna pretvorba je lahko izvedena aparaturno (ACIA) ali programsko. Predpostavlja se, da se informacija prenaša preko simetričnega binarnega kanala. Vhod v kanal tvori zaporedje binarnih kodnih ■■beee(^ W = j , Wg,..., WS J dolžine n. Vse besede imajo isto verjetnost, da pridejo pri oddaji na vrsto. Ha izhodu iz kanala Imamo sprejemnik, ki se odloči po pravilu "idealnega opazovalca". Dekoder "idealni opazovalec" se odloča za tisto varianto, kjer je verjetnost napake najmanjša ali drugače povedano, za tisto besedo koda W= WgJ , do katere je Hammingova razdalja najmanjše. Hämmingova razdalja Wg) med dvema binarnima besedama Wj^ in w'g dolžine n je število binarnih ižnakov, v katerih se..razlikujeta..besedi.in. Wg—- ■ Prè'dpoatavlMò, da je zaradi motenj možna napaka na vsakem binarnem znaku. Ker je vhodna beseda dolžine n, lahko na izhodu sprejmemo 2" različnih besed dolžine n. Predpostavimo, naj vir pošilja zaporedje besed W = jw^, Wg,..., w^j in sprejemnik sprejema zaporedje besed V = Zanima nas, kakšna je povezava med odposlanimi in sprejetimi besedami. Oglejmo si Hammin-govo razdaljo med besedami koda W = | w^jwg, V) = a) d (wi, wj).= 2e + 1 . i = 1,2,...,s U j J = 1,2.....s Predočimo si še grafično razdaljo med besedama wi in wj. V prvem primeru se lahko odločimo. Sprejeto besedo vj, dekodiramo kot wi. Beseda je pravilno dekodirana, če je bila napaka e-1 ali manj kratija. V drugem primeru besede ni možno dekodirati, saj je razdalja besede vj enaka do dveh besed wi in wk. Napako se lahko samo detektira. 3. PRINCIP ODDAJE IN SPREJEMA KOREKTURNEGA KODA d(wi, wj) = 5 => e = 2 ■ Vidimo,da vsaka sprejeta beseda vj c V j=l,2, ..., pade v okolje samo ene izmed besed W = ( w-j^, «2,... , Wg j s Hammingovo razdaljo đ(wi, vj) £ e 1 = 1,2,... s in j = 1,2,... ,2"^ Naloga dekođ'erja "idealni opazovalec" je, da najde, to besedo 'wi e W,i = 1,2,___,s. Beseda dekodirana po, tem principu je bila pravilno dekodirana v odposlano besedo, če,je bila napaka e ali manj kratna. b) d(wi, wj) = 2e i = 1,2,...,s j = 1,2,...,s i d j Predočimo si grafično razdaljo med besedama. d(rfi, wj) = 4 => e = 2 Oglejmo si Hammingovo razdaljo med sprejeto -,n besedo vj t V j = 1,2,., koda W = j w^jwg,... Razijalja je: - d(wi,vj) = e ali - đ(wl,vj) = d(wk,vj) = e ,2 i.H besedami i = 1,2,. j = 1,2,. i = 1,2,. j = 1,2,- k = 1,2,. • ,3 pn - ,s . ,s Zgled obravnava primer prenosa informacije a kodom M- . korekturnih in . informacijskih bitov. Hammingova razdalja med besedami koda je 4, zato tak kod popravlja enojne in detektira dvojne napake na 8 bitih. Za 8 bitno besedo smo se odločili zaradi najpogostejše aparaturne organizacije mikroračunalniških , ko- jonent (CPU, ACIA). Seveda je možno izbrati t adi kod, ki bo imel drugačno razmerje med informacijskimi in korekturnimi biti pri enaki dolžini besede. V primeru koda 4 informacijskih in 4 korekturnih bitov^oddajnik odda zlog (8 bitov) informacije kot dve 8 bitni kodi. Najprej kodira zgornje 4 bite informacije s Hammingovim kodom (8 bitov) in gà odda. Za tem kodira še spodnje 4 bite informacije' in kod odda. Sprejemnik dela v jobratnem vrstnem redu. Sprejme kod (8 bitov),ga dekodira (4 biti) in shrani na zgornja 4 mesta vmesnika informacije. Za tem sprejme še drugi kod, ga dekodira in prida na spodnja štiri mesta vmesnika informacije. Modula za kodiranje in dekodiranje se sklicujeta na isto tabelo Hammingovih kodpv. Osnovni moduli za sprejem in oddajo so napisani kot subrutine. Ogljemo si jih podrobneje opisane v psevdo kodu: a) ODDAJA: , , THBY: subrutina odda zlog (8 bitov) informacije kodirane s kodom Hammingove raicdalje 4. Vhodni parameter : adresa lokacije, iz katere bo zlog oddan. SUBROUTINE TRBY VLOŽITEV ZLOGA; POMIK ZA 4 MESTA V. DESNO; CM,L KOHE CALL TRG VLOŽITEV ZLOGA; OHRANITEV SP. M- BITOV; CALL KOHE CALL TRC ENDSUBKOUTINE KOHE : subrutina 4 bitom priredi kod Hammingove razdalje 4 (8 bitov). Vhodnj. parameter: 4 informacijski biti v reg. DIO. Izhodni parameter: kod Hammingove razdalje (8 bitov) v reg. DIO. SUBROUTINE KOHE •ADRESIRANJE ZAČETNE ADRESE TABELE HAMMINGOVIH KODOV; iiELATIVNI PREMIK ADRESE ZA 4 INF. BITE (IZRAČUN ADRESE KODA); VLOŽITEV IN SHRANITEV KODA; EKDSUBROUTINE TRC : subrutina odda znak na izhod za ; oddajo. Vhodni register: znak (Hemmingov kod) v reg. DIO. SUBROUTINE TRC DOUNTIL (MOŽNOST ODDAJE ZNAKA) ENDDO ODDAJA ZNAKA NA IZHOD; ENDSUBROUTINE b) SPREJEM REBY : sprejme zlog (8 bitov) informacije kodirane s kodom Hammingove raz^ dalje 4. Vhodni parameter Je adresa lokacije, kamor bo sprejeti zlog shranjen. SUBROUTINE REBY CALL REC CALL DEHE SHRANITEV ZG. 4 BITOV ZLOGA; CALL REC .■CALL DEHE SHRANITEV SP. 4 BITOV ZLOGA; ERDSUBROUTINE DEHE : subrutina kod Hammingove razdalje 4 (8 bitov) dekodira v 4 bite. V primeru, ko se ne more odločiti (d)wi,vj) = d(wk,vj)) postavi zastavico "programska detekcija napake". Vhodni parameter: kod Hammingove razdalje v reg. DIO. Izhodni parameter: kod dekodiran v 4 informacijske bite v reg. DIO ali DIO nespremenjen in zastavica "programska detekcija napake" v reg. DRS. SUBROUTINE DEHE ŠTEVEC KODOV*O; ADRESIRANJE ZAČETKA TABELE HAMMINGOVIH KODOV;■ DOUITTIL (TE8T VSEH KODOV ALI DEKODIRANJE) ŠTEVEC BIT0V=8 EXCLUSIVNl' OR MED SPREJETIM ZNAKOM IN ADRESNIM ZNAKOM TABELE KODOV (ADRESIRANJE LOKACIJE NASLEDNJEGA KODA) IF (STA ENAKA, REZULTAT=0) THEN DEKODIRANI SPREJETI ZNAK=ŠTEVEC KODOV, IZTOP; ELSE DOUNTIL (POJAVITEV 1. ENICE V REZULTATU) PRIPRAVA NASLEDNJEGA MESTA; ŠTEVEC EITOV=ŠTEVEC BITOV-Ì; ENDDO DOUNTIL (TEST OSTALIH MEST REZULTATA) ENDDO- ; IF (NI VEČ ENIC) THEN SPREJETI ZNAK=ŠTEVEC KODOV, IZTOP; ELSE ŠTEVEC KODOV=ŠTEVEC KODOV+1; END IF END IF ENDDO POSTAVITEV ZASTAVICE PROG.DET.NAPAKE; ENDSUBROUTINE REC : subrutina sprejme znak preko vhoda za sprejem Izhodni parameter: sprejeti znak (Hammingov kod) v reg. DIO. SUBBOUTIHEBEC DOUNTIL (MOŽNOST SPEEJEMA ZNAKA) ENDDO. SPREJEM ZNAKA PREKO VHODA; ENDSUBROUTIHE SKLEP 5. LITERATURA /1/ L. Gyergyek: Statistične metod? v teoriji sistero.ov, teorija o informacijah, .Fakulteta za elektrotehniko 1971. /2/ Electronics Book Series: Basics of data communications, Mc Graw-Hill 1976- /5/ Moatek: Programming Guide Cilj članka je predstaviti možnost prenosa podatkov kodiranih s konkretnim kodom pri komunikaciji med mikro računalniki. Ta dograditev,sicer zmanjša množino koristne informacije prenesene v časovnem intervalu, vendar poveča zauesljivost prenosa in izboljša kvaliteto ka- .naia. 1.2.1979 M.SUBELJ TITLE SUBRUTINA KODIRANJE HAMlilN&A » «SUB.KOHE DOLOČI 4 INFORMACIJSKIM blTOM KOD tHAMMlNGOVE RAZDALJE ^.KOD SESTAVLJAJO 4 •INFORMACIJSKI BITI + 4 KOREKTURNI BITI. » « «VHOD: DIO * ♦IZHOD« DIO * «UPOR.REG.lACC.MiKiDIO « 4 INFORMACIJSKI BITI (SP.A MESTA) KOD HAMMINSOVE RAZDALJE 0000 08 0001 2A 00 34 0004 47 0005 SE 0006 16 0007 57 0008 OC « DIO « « « KOHE « EÖU LR DCI LR ADC LM LR PK , H'07' KiP TAHEM AiDIO DIOiA PODATKI V I/O 8UB VLOŽITEV ADRESE TABELE KODOV IN ADRESIRANJE KODA VLOŽITEV IN SHRANITEV KODA TITLE BUBRÜTINÄ DEKODIRANJE HAMMINGA « . » •SUB. DEHE DEKODIRA KOD HAMMINGOVE RAZDALJE 3 •( 7 BITNA BESEDA) ALI RAZDALJE 4 (8 BITNA BESEDA). •PRI KODU RAZDALJE 3 POPRAVI ENOJNO NAPAKO. «PRI KODU RAZDALJE 4 POPRAVI ENOJNO NAPAKO IN •DETEKTIRA DVOJNO NAPAKO. » « »VHODI DIO= KOD HAMMINGOVE RAZDALJE * « «NAPAKA O REDA ALI 1. REDA « •IZHODI DIO= DEKODIRANA BESEDA (SPODNJI 4.BITI) «NAPAKA VEC KOT l.REDA • , •IZHODs DIO= NESPREMENJEN • ERFL= B'XXXIXXXX' FLAG NAPAK • •UPOR.REG.lACCiUiKiXUtXLiDRSiDIO 0 0 ö XU Eeu H'OO* DELOVNI REGISTER XL EQU H'Ol' DELOVNI RESISTER DRS .EQU H'03' PODATKI V SUB. LRS IN 8R8 DIO 0 EQU H'07' PODATKI V I/O SUB . 0009 OS DEHE LR KiP □OOA 70 LIS H'OO' OOÜB 30 LR XU>A VLOŽITEV ŠTEVCA KODOV XU=0 OOOC 2A 00 0 OCI TAHEM ADRESIRANJE ZAČETKA TABELA KODOV OOOF 78 DEHEO LIS H'08' DOUNTIL (TESTIRANJE VSEH KODOV) 0010 31 LR XL.A VLOŽITEV ŠTEVCA BITOV XL=8 0011 47 LR AiDIO VLOŽITEV SPREJETEGA ZNAKA IN 0012 SC xn PRIMERJANJE Z ZNAKOM TABELA 0013 84 11 BZ DEHE3 IF ( STA ENAKA) THEN3 DEHE3XU 002A IF INC 0026 30 LR XU.A POVEČANJE ŠTEVCA KODOV IN TEST 002C 23 10 XI H'lO* ALI SO TESTIRANI VSI KODI 002E 94 EO BNZ DEHEO ENDDO □030 20 10 0 LI H' 10' POSTAVITEV FLAG-A PROGRAMSKE 0032 33 LR DRSiA DETEKCIJE NAPAKE PRI SPREJEMU 0033 OC DEHE3 0 PK 0 TABELA KODOV (8 BITNA KODA) 0034 00 TAHEM DC H'OO' UO 0033 D2 DC H' D2' Ml 0036 33 DC H'33' M2 0037 87 DC H'87' U3 0038 99 OC H'99' U4 0039 4B DC H'4B' U3 003A CC DC H'CC «6 003B IE DC H' IE' , W7 003C El DC H'El' U8 003D 33 DC H'33' M9 003E B4 DC H'B4' mo 003F 66 DC H'66' Hll OOAO 78 DC H'76' H12 0Q<,1 AA DC H'AA' W13 0042 2D DC H'2D' H14 0043 FF ^ DC H'FF' U13 0 END .//NUHBER OF ERRORS= ISKUSTVA U OBRADI PODATAKA NA MALIM POSLOVNIM SISTEMIMA INFORMATICA 3/1979 W. JURISIC-KETTE UOK: 681.3.06 RIZ - 00 ZAGREG, FILOZOFSKI FAKULTET, ZAGREB Definiraju se zadaci i dijelovi poslovne obrade, te podobnost malih poslovnih sistema za tu svrhu, Istldu se prednosti malih sistema zbog sjedinjenja svojstava strojne i ručne obrade. Dana je kratka analiza utroška vremena za primjer fakturiranja. Prikazana je ideja organizacije programskih paketa Iz ostvarene proizvodnje. SOME EXPERIENCE WITH DATA PROCESSING ON THE SMALL BUSINESS ORIENTED SYSTEMS: The area and elements at the business data processing as well as the fitness at the small business system for the said use are overviawed. The advantage of the small systems because of merging the properties of machine and manual processing is pointed out. In the example of the invoice generation the short analysis of the required processing time Is given. The basic Idea of the organisation of the realised software packages is presented. ZADACI POSLOVNIH OBRADA Osnovni zadaci poslovne obrade su generiranje i bilježenje poslovnih dogadjaja, te Izvodjenje zaključaka na bazi promjena stanja uvjetovanih tim dogadjajem. Poslovni dogadjaj se odnosi na odredjenl subjekt poslovanja i mjerljiv je, te se Izražava numeričkim pokazateljima. Jedinice mjere mogu biti financijske (din.,DM.,..) ili količinske (kg., kom., bod. 1 si.). Na temelju postojećeg stanja poslovanja mogude je izvesti različite zaključke koji rezultiraju u Izlaznim dokumentima. Algoritam za izvodjenje zaključaka je specifičan za svaki tip obrade i djelatnost. Principi obrade poslovanja bilo koje jedinke udruženog rada su neovisni o djelatnosti 111 vrsti poslovnih subjekata. Općeniti pristup nroblematici poslovne obrade ukazuje na tri dijela obrade: Rad je referiran na XIV.Simpoziju Informatica 79,Bled, 1-6.oktobra 1979. 1. Generiranje poslovnih dogadjaja 2. Formiranje i nadopuna evidencije stanja 3. Gradnja 1 upotreba Informacijskog sistema. Realizacija navedenih dijelova zahtijeva brzu 1 jednostavnu metodu pohranjivanja podataka, te maksimalnu Iskoristivost pohranjenih podataka. lJameće se pitanje:"Kako to postići?". Potrebno je odrediti metodu, profil kadrova, opremu za obradu poslovanja svake jedinične organizacije udruženog rada, kao i vertikalno povezivanje obrade u složenoj organizaciji udruženog rada.Rje-Senje je u Izboru jednog od tri postojeća tipa organizacije obrade poslovanja: 1. Ručna obrada 2. Obrada uz primjenu malog poslovnog sistema 3. Obrada uz primjenu velikog računskog sistem Unutar navedenih tipova postoji razradjena ljestvica tehnika obrade koje ne unose značajne promjene u tekuća razmatranja. MOGUĆNOST UPOTREBE I PODOBNOST MALIH SISTEMA ZA POSLOVNU OBRADU Međju prvim-masovnim primjenama računskih sistema istakle su se poslovne obrade. Obrada poslovanja na računskim sistemima donijela je bitne prednosti u rukovanju poslovnim informacijama. Posebno je ubrzala postupak bilježenja i grupiranja podataka. Osnovni parametri u odabiranju stroja za obradu bili su: kapacitet memorije, moguđnost brzog unosa velike količine podataka, te brzog ispisa izlaznih dokumenata i informacija. Organizacija i metodologija obrade mjen-jala se s tehnološkim stupnjem razvoja računskih sistema. Od malih sporih sistema nedovoljnog kapacitetaikoji su zahtijevali skupo posluživanje, preko srednjih s poboljäanom uslugom i jednako skupim pogonom dolazimo do velikih sistema. Zbog povećanog kapaciteta i brzine propusna moć sistema raste, a jedinična cijena obrade pada. U radnim organizacijama s izrazito velikim količinama poslovnih đogadjaja u jedinici vremena, te s kompleksnim i glomaznim bazama podataka (banke, gradske' skupštine i si.) veliki sistem donosi poboljšanje u poslovanju. Manje radne organizacije, koje predstavljaju glavninu potrošača, ne mogu ekonomično iskoristiti kapacitete velikog stroja. Slijedi distribucija "kompjuterske energije" na više potrošača. Dobro organizirani pogon smanjuje jediničnu cijenu usluge. lOvakva organizacija davanja kompjuterskih usluga na velikim sistemima omogućava nastajanje računskih centara,kao radnih organizacija uslužnih djelatnosti. Oni opslužuju cijeli niz korisnika. Računski centar odredjuje način izvodjenja obra-^ de podataka, koja pored niza pozitivnih rezultata donosi 1 odredjene poteškoće organizacione i kadrovske prirode. Jlall sistemi, rezultat tehnološkog napretka^op-jremljeni su kasetnim i disketnim vanjskim mamori-;^ama, pisačima brzine od 10 do 150 znakova u; se- Hundl, zaslonima različitih•kapaciteta 1 tastaturom. Kapaciteti vanjskih memorija uglavnom • Zadovoljavaju potrebe baze podataka OOUR-a i ÖUR-a, a često se mogu proširiti diskom kapaciteta od 2,5Mbajta na više. Brzina pisača zadovoljava potrebe formiranja izlaznih dokumenata. Pisač je često opremljen dodatnim ure-đjajima za rukovanje sa specifičnim izlaznim dokumentima. Zaslon je posebno pogodan za kontrolu 'nadopune baze podataka, kao i za izlaz Informacija ako se ne zahtijeva pisani dokument. Tastatura sistema je oblikovana tako,da pogoduje kontinuiranoj komunikaciji sa strojem. Osim toga tastatura ima funkciju upravljačke ulazne jedinice. Ovakav sistem je prihvaćen od velikog broja korisnika zbog slijedećih razloga: 1. Sistem je smješten na izvoru podataka,te predstavlja Integralnu jedinku u organizaciji poslovanja. 2. Sistem je jednostavan za rukovanje i nema potrebe za specijaliziranim kadrovima. 3. Logička kontrola ulaznih podataka odvija se istovremeno s unosom, te u slučaju dijagnosticiranja greške izvorni dokument je prisutan u obradi. 4. Vremenski tok obrade ovisi o potrebama i mogućnostima radne organizacije korisnika. 5. Sistem omogućava nadopunu podataka na već postojećem izlaznom dokumentu (knjigovodstvene kartice i si.). 6. Ne zahtjeva posebno klimatiziran prostor. Stoga obrada poslovnih podataka na malim poslovnim računalima donosi novu kvalitetu u vodje-nju poslovne politike, jer pruža brzo i točno sve relevantne podatke vezane na poslovanje. Radne organizacije se često nalaze pred dilemom, koji tip obrade prlmjenlti: ručnu obradu, obradu na malom sistemu, ili obradu u zajedničkom računskom centru- t.j. r^đ na velikom sistemu. Uputno je razmotriti prednosti i nedostatke svakog od tri navedena tipa obrade, 1 to na primjeru fakturiranja u poslovnoj jedinici. Ostale obrade se u ovom trenutku ne razmatraju. Predpostavlja se veličina računa od 10 do 15 stavaka, a ostali elementi su uobičajeni. i Iskustvo je pokazalo,da je za ručnu obradu računa, kojeg smo uzeli kao primjer, potrebno organizirati tri faze rađa. To su; priprema sadržaja, prijepis i kontrola.Obzirom da se u pripremi sadržaja obavlja najveći dio poslova(sastavljanje specifikacije, obračun cijena, poreza i rabata, navodjenje posebnih uvjeta prodaje) to je predvidivo vrijeme za ove radove oko 20 min..Nakon prijepisa slijedi kontrola, a ona zahtijeva dosta vremena, jer se ponavlja načinjeni obračun. Izrada tog računa na malom poslovnom sistemu bitno je kraća, i Izvodi ga isključivo faktu-rista. Zaglavlje računa se ispisuje automatski na osnovu postojeće baze podataka koja uključuje i datoteku kupaca.Polje specifikacija se formira iz datoteke robe, a poziva se šifrom robe preko tastature. Završni dio s prlpađnlm obračunom Ispisuje se automatskl.Prosječno vrijeme izrade računa je oko 5 min.. Kontrola je vrlo jednostavna i brza, a Izvodi se u momentu kada je Izvorni dokument u ruci faktu-riste i ne zahtjeva dodatno traženje. Veliki sistem na ovom zadatku traži organizaciju rada u vremenski i kadrovski odvojenim fazama. Fakturista priprema sadržaj, operator unosnog.medija upisuje sadržaj na prenosni medij, dok operater stroja vodi proces obrade na sistemu. Mogućnost nastanka greške je višestruka i to prilikom formiranja sadržaja i upisa na prenosni medij (papirna kartica, traka,disketa lii si.). Posebnu poteškodu predstavlja razbijenost obrade u odnosu na vrijeme i mjesto rada. Vremenski rit^ izrade računa u centru odredjuje centar i odvija se u skupinama.Deklarirano vrijeme izrade računa od nekoliko ser kundi samo je prividno. Za fakturistu stvarno vrijeme počinje odlaskom podataka iz odjela u centar i svršava primitkom gotovog računa. Ovo vrijeme mjerljivo je u satima ili danima. Za razliku od navedenog, mali sistem zahtjeva 5 min., ali to je i ukupno vrijeme izrade. Navedena razmatranja su iznesena u tablici J. Podaci su iskustveni, te ih treba promatrati kao procjenu veličina, a ne u točnim iznosim^. faze rađa profil broj kadrova radnika --=3------n vrijeme obrade po fazama —=---Ä---- ukupno vrijeme ^minj —-----=a----SS--- direktna iskoristivost u info.sis. propusna moć za jednu smj. r ---- približno vrijeme za izradu 100 računa RUČNA OBRADA 1.priprema sadržaja 2.izrada 3.kontrola fakturista 2 daktilograf 20min. 2min. 22 ne 24 240 4 fak/dan 0,4 dak/dan MALI POSL. SISTEM fakturista 1 5min. 5 da 96 1 fak/dan VELIKI SISTEM 1.priprema sadržaja 2.upis na nosilac podataka 3.obrada fakturista operater ulaznog 3 uredjaja operater stroja 8min. Imin. 0,lmin. 9,1 da 60 480 4800 l,66fak/đan 0,2 buä/dan 0,02 op/dan Tablica 1. Analiza tablice nameće niz zaključaka: 1. Za svaki tip obrade postoji ograničenje propusne moći, 2. Obrade primjenom stroja nemaju prednost samo u brzini rada, već i u činjenici da one formiraju podatke direktno iskoristive za ostale poslovne zadatke ( robno i saldakonti knjigovodstvo, statističku dis-: tribuciju robe na tržištu i si.). Naglašava se da je upravo postojanje baze podataka prvenstveni razlog uvodjenja EOP-a. 3.Svaki od navedenih tipova obrade odredju-je različitu kadrovsku strukturu i opterećenje. U posljednjim kolonama tablice li prikazano je opterećenje ljudi i strojeva za izradu 100 računa prosječne veličine od 10 do 15 stavaka. Na sl.l. pokazano je opterećenje kadrova ovisno o broju računa i tipu obrade s naznakom ma-ksi-nalnog opterećenja u jednoj smjeni. Legenda : A 1 - Fakturista u ručnoj obradi A 2 - Daktilograf u ručnoj obradi B 1 - Fakturista na malom sistemu C 1 - Fakturista uz rad na velikom sistemu C 2 - Operater na unosnom mediju C 3 - Operater velikog sistema. SI. 1. Opterećenje kadrova u smjeni Iz prikaza na sl.l. može se zakljufiiti da je fakturista na malom poslovnom sistemu najbolje iskorišten. Posebno je značajno da samo jedna osoba izrađjuje cijeli račun. Na slici 2. je prikazan odnos opterećenja strojeva u smjeni ovisno o broju računa. Mliülilüüi Legenda : uiiiiin iff N! m B - mali poslovni sistem C- veliki sistem SI.4, Broj izradjenih računa u ovisnosti o broju stavaka Prikazani rezultati upućuju na prednost koristenja malih poslovnih sistema u obradi poslovanja. SI.2. Opterećenje strojeva u smjeni y slici 2. se vidi da je mali sistem zasićen kod približno 100 računa na dan. Pri izboru tipa obrade treba uzeti u obzir obe komponente kadrovsku i strojnu. S aspekta minimalnog opterećenja kadrova, odnosno najveće propusne moći po čovjeku evidentno je da mali sistem ima prednost. Problem se javlja u slučajevima kada je opterećenje stroja ispod 50%, odnosno kada prelazi maksimum. S obzirom da se isti sistem koristi za više poslovnih obrada, to problem neiskorištenih kapaciteta ne dolazi u obzir.U slučaju bitno većeg opterećenja od maksimalnog uvodi se druga smjena odnosno dodatni sistemi. Opterećenje stroja ne ovisi samo o broju računa, već i o broju stavaka po računu kako je to pokazano na si.3. i si.4. 31.3. Vrijeme izrade računa ovisno o broju stavaka STRUKTURA PROGRAMSKE PODRŠKE Obrada poslovanja OUR-a je zahtjev najveće gru pe potrošača, te je na tora području najviše učinjeno. Strojna obrada integralnog poslovanja OUR-a uvodi se postupno i ostvaruje u zaokruženim cjelinama. Poslovne cjeline odredjuju se dvojako: pi&a vrsti aktivnosti, i prema organizacionoj shemi radne organizacije. Podjela prema vrsti aktivnosti je horizontalna podjela na knjigovodstvene obrade, fakturiranje, praćenje prodaje i obrade osobnih dohodaka. Knjigovodstvene obrade obuhvaćaju materjalno, troškovno, robno, pogonsko, financijsko, i ealda-konti knjigovodstvo. Dodatno se mogu pratiti osnovna sredstva te posebne aktivnosti. Vertikalna podjela je uvjetovana organizacionom strukturom radne prganizacije. Za svaku organizacionu jedinku izvode se sve horizontalne obrade, da bi se pojedine istovrsne obrade vezale i vertikalno. Vertikalno povezivanje je bitno kod knjigovodstvenih obrada s financijskim pokazateljima, dok se kod drugih obrada ne koriste. Horizontalnom podjelom odredjene su poslovne cjeline čija je strojna obrada uvjetovana izgradnjom programskih paketa. Obzirom na organizaciju, izradjeni programski paketi za male poslovne sisteme (Audit 5, Audit 6 i drugi) grupiraju se u našem slučaju u: - knjigovodstvene pakete - fakturne pakete - pakete praćenja prodaje i - pakete za obradu osobnih dohodaka. %*6+)%&&%*%)&**%%&+*%*&(*%%&**%&&$)#' Osnovna koncepcija ostvarene organizacije programske podrške zajednička je za sve knji- govodstvene pakete, i pokazana je na si.5.. 1 formiranje dat. i kartoteka 2 nadopuna dat. i kartoteke kartoteke 4a rufino pretraživanje i očitavanje podataka ispis podataka SI.5. Organizacija knjigovodstvenih obrada Iako se u osnovi radi o istom postupku, reali- svako knjigovodstvo. Razlike su izražene u zacija programske podrške se bitno razlikuje formatu i sadržaju baze podataka te algoritmi- đatoteke ll 1 formiranje i korekcija kupaca robe parametara 's^.orodaje^ prodaje 2 pretraživanje i obrada unos poziva sredjivanje elemenata za nadopunu i nadopuna datoteka kupaca robe SI,6. Organizacija obrade fakturnog poslovanja ma za obrade i izrade izlaznih đokiunenata.Paralelno s formiranjem i nadopunom datoteka formira se i nadopunjuje kartoteka, standardni element ruöne obrade. Time je dobiveno istovremeno dvostruko vodjenje knjigovodstva: ručno i strojno. Ovo je još jedna od bitnih prednosti koje pruža obrada na malom poslovnom sistemu, a različito je od upotrebe velikog sistema kod kojega ovaj oblik nadopune knjigovodstvene kartice nije moguć. Obrada fakturnog poslovanja na malom poslovnom sistemu takodjer donosi niz prednosti u usporedbi s ručnom obradom, odnosno obradom na velikom sistemu. Osnovne prednosti su brzina,točnost, i neposredno dobijanje elemenata za knjiženje \i robnom i saldakonti knjigovodstvu, te za praćenje prodaje. Ostvarena organizacija obrade prikazana je na slici 6.. Programski paket za fakturiranje realiziran je u dvije varijante. Fakturiranje na bazi otpremnice predstavlja jednostavniju varijantu i ne uvjetuje vremensku organizaciju tokova dokumenata. Fakturiranje na bazi zakljuSnice uključuje i izradu otpremnice.Ova varijanta zahtjeva kontinuiranu nadopunu datoteke robe i to istovremeno s procesom izrade računa. Ova varijanta zahtjeva strogu,vremensku distribuciju obrade i često je neprihvatljiva u radnim organizacijama. Paket praćenja prodaje uvjetovan je instalacijom paketa za fakturiranje. Osnovni elementi organizacije prikazani su na si.7.. Izvor podataka je datoteka prodaje. Na temelju izlaznih dokumenata,može se zaključiti o distribuciji robe po kupcima, obradjenosti tržišta, te eventualnom smanjenju potrošnje odredjene robe na specificiranoj lokaciji, i slično. Obrada se odvija u zadanim vremenskim intervalima, obično mjesečno, i ne predstavlja posebno opterećenje za stroj. pretraživanje i obrada izlazni dokument. SI.7. Praćenje prodaje Obrada osobnih dohodaka je vrlo složena i opsežna po konstrukciji algoritama, sadržaju baze podataka i količini izlaznih dokumenata. Osnovna shema ostvarene organizacije programske podrške prikazana je na slici 8. jPrednost korlštenda malog poslovnog sistema u iobradl osotnih dohodaka očituje se u mogučno-■sti nadopune matičnlk podataka, kontroli ulaznih podataka, te mogućnosti višestruke probne '■obrade bez faza i 5- Nedostatak primjene ovih računala je u velikoj količini ispisa ■koji jako opterećuje ugradjeni spori pisač. Stoga je preporučljivo da se izlazni padaoi spreme na disketu, vrpcu ili kasetu te ispisu na posebnom brzom.pisaču. -SUnARNI PREGIED OSTVARENIH REZULTATA Uvodjene obrade poslovanja OUR-a primjenom malih poslovnih sistema bila je osnovna djelatnost odjela informatike radne organizacije Jugoturbina-EAB. Sada je ovu djelatnost nastavila ekonomska jedinica informatika u sastavu radne organizacije RIZ-OD u Zagrebu. U rad-;noj organizaciji Jugoturbina-EAB aktivnost je-bila usmerjena nà sisteme Olivetti Audit 5 i .Audit 6. Sistem Audit 5 je konfiguriran s procesorom !Mostek 5065, glavnom memorijom 2 K okteta, ;đvlje Jedinice magnetskih kaseta kapaciteta '2 X 256 ok1;e:6a,,'tastaturom i pisačem koji je 'opremljen uredjajem za automatsko uvodjenje obrazaca. Programski jezik je BAL, a operacio-ni sistem ne postoji. Za ovaj sistem izradjeno ■je deset programskih paketa. Paketi su prim-jenjeni u vodjenju poslovanja 49 OUR-a iz 22 .radne organizacije. S obzirom na vrlo malu ,propusnu moć sistema prosječno se instaliraju tri do četiri paketa po sistemu, ovisno o ve- ; ličini obrade. Glavnu poteškoču u radu s Audi-itom 5'predstavlja, sekvencijalna vanjska memorija koja ograničava brzinu rada, te je zahti-; jevala specifična riješenja u feadu s datoteka- Sistem Audit 6 razlikuje se od predhodnog u kapacitetu glavne memorije od 4KB, tipu vanjske memorij je gdje su uvedene dvije jedinice magnetskih disketa i postojanju operacionog sistema. Za ovaj sistem izradjeno je sedam programskih paketa. Četiri su knjigovodstvena, a ostali su fakturiranje, praćenje prodaje i obrada ososbnih dohodaka. S aspekta korisnika paketi imaju istu funkciju kao i na sistemu Audit 5. S obzirom na promjene u opremi i sistemskoj programskoj podršci organizacija i izvedba paketa je bitno različita. Dobiveno je poboljšanje u.brzini obrade kao i neke dodatne mogućnosti rada. Programska podrška je instalirana u 16 OUR-a koji su u sastavu 5 radnih organizacija. S obzirom na povećanu propusnu moć sistema ovdje se maksimum obrade penje na više od 6 paketa po sistemu. Daljnji rad uglavnom usmijei'en na sisteme RIZ--NIXDORP prihvatio je RIZ-OD. Sistem 8820 konfiguriran je s procesorom četvrte generaci-' je (INTEL 8080), glavnom memorijom 32K okteta, dvije jedinice magnetskih disketa, matričnim pisačem brzin^e 100 znakova u sekundi, alfanumeričkom, numeričkom i funkcijskom tastaturom, video terminalom kapaciteta 1920 znakova (24x80) i uredjaje za automatsko-uvodjenje papirnih obrazaca. Sistem- se mozé proširiti nizom dodatnih uredjaja. Sistemska.programska podrška uključuje operacioni sistem, programske jezike PL/1 i BASIC kao i biblioteku pomoćnih programa. Za ovaj sistem u toku je izrada kompletne pro-, gramske podrške. Prva iskustva kod korisnika zkazuju na veliku.prednosit primjene video terminala kojim jiä omogućen neposiedap dijalog izmed ju sistema i korisnika. Glavnina uputa za korištenje kso i programskih upita daju se na ekranu. Posebna prednost ekrana je u aplikacijama koje uključuju informacijski sistem. Iskustva stečena u dosadašnje radu prenjeti će se i na druge sisteme kao na primjer Olivetti BOS. ÖWFORIWÄTIICÄ 3/1l®70 PROCESIVÄWJE T E KSTOV Z fVl J KRORACyW Ä LN I K O 1. UDK: 681.3-181.4 1WSTITUT JOŽEF STEFAW. LJUBLJ^aftUA TA ČLAMECC OPISUJE MEKATERE KONCEPTE PROCESORJEV TEKSTA IN SE UKVARJA S KONKRETNIM UKAZNIM JEZIKOM, NA PRIMERIH POKAŽE, KAKO DELUJEJO POSAMEZNE SKUPIME UKAZOV„ KI 30 POMESAWE Z IZVI KD IM TEKSTOM. V ČLAMKU SO WAJPREJ OPISANI REGISTRI PROCESORJA TEKSTA TER SKUPINE UKAZOV ZA OBLIKOVANJE STRANI» POLNENJE. PORAVNAVO IN CENTRIRANJE TEKSTA« 2A VERTIKALNO IZDAJANJE PROSTORA, DOLŽINO VlöTICE IN NJENO UMIKANJE, ZA MAKROJE, ODVRNITVE IN PASTI, ZA TABULIRAMJE, PISANJE NASLOVOV IM ZUMANJ0 KOMUN I KACIJO o OPISANA JE OSNOVNA KONFIGURACIJA SISTEMA ZA TEKSTA IN ZCRAOBA PROCESOfSKEGA PROGRAMA, PROCESIRANJE TEKT PROCESSING IBINC MICROCOMPUTER. THIS ARTICLE DESCRIBES CONCEPTS OF TEKT PROCESSORS AND DEALS ÜITH A CONCRETE COMMAND LANGUAGE o BY ESAMPLES IT IS SHOGN IN ÜHICH DAY PARTICULAR COMMANDS AND COMMAND SEQUENCES CAN BE USED BEING MIXED WITH THE SOURCE TEKT. FIfST, THE ARTICLE DESCRIBES PROCESSOR REGISTERS AND THEIR IBE, PAGE CONTROL, TER? FILLING, ADJUSTING, AND CENTERING, VERTICAL SPACING, LINE LENGTH- AND INDENTING, MACROS, DIVERSIONS, AND LINE TRA«, TABULATION, TITLE FORMING, AND EKTE^AL COMMUNICATION. FURTHER, A SYSTEM CONFIGURATION FOR TEKT PROCESSING IS DESCRIBED AND THE STRUCTURE OF PROCESSOR PROGRAM IS DISCUSSED. IZVIRNI reksr s KoNzoue UKAZNI reksr S konzole ureu£ni tbkst tz PEniFERlv£ D/SKs, rHAK prikaz na zaslo-a/u (.konzola) elitno t/ska-A/Je rSKSVA obložitev proči^ teksta^ ù/SKf rßAK intei^aktivni urejevalnik teksta '—1 \ PROCESOR. (urejenega) teksta yL A.-Z. ÙOÙATNA wterak-CIM s konzole SLIKA 1, OSNOVNA SHEtJA UREJANJA PROCESIRANJA TEKSTA Z MIKRSRAdtßJALMÖKOU SM 1. uvod procesiranje tekstov (angležki sinonimi: ivord processing, text pwicess ing) si uspesno utira pot v vsakodnevno administrativno dejavnost in prockorji teksta postajajo vsebolj tudi tržno zanimivi izdelki. procesiranje tekstov se uveljavlja tudi na malih računalniških sistemih, se zlasti na osebnih računalnikih, kjer je mogoče tudi s ceneno računalniško opremo dobiti rezultate (dokumente in njihovo obliko), ki ne zaostajajo za najdražjimi sistemi za procesiranje tekstov. v tem sestavku se bomo omejili na konkreten sistem, ki ga je mogoče realizirati na mikroračunalnikih s standardno periferno opremo. „ dva sistema značilna: procesorjev teksta sta vrstični in zaslonski . ta značilnost je urejevalnik teksta„ pridružen. pred i (procesirani j obliki oblikovati za izpis urejevalnikom teksta, shemo standardnega tekstov, kot ga imamo pravzaprav vezana bolj na ki je procesorju TEKSTA zpisoM teksta v ELITMI moramo tekst urediti, in to nalogo opravimo z slika 1 prikazuje grobo sistema za procesiranje na mikroračunalnikih. urejevalnik teksta vzame za izhodišče urejanja, to je pisanja. topravljanja, dodajanja, spreminjanja in odvzemanja teksta. vrstico, ki jo oštevilči, ^vrstico navaja. vrstični urejevalnik omogoča, da vodimo evidenco. v katerih vrsticah se nahajajo določeni tekstovni segmenti , zaslonski urejevalnik mora natanko posnemati funkcije zaslonskega terminala; to kar se vidi na zaslonu, se tudi dejansko opravlja v podatkovni zbirki teksta, ki ga urejamo. ta metoda ima določene prednosti za uro«abnika, ki mu je vizualna slika na zaslonu dokaz, da je opravil to, kar je želel. urejevalniki teksta so danes praktično v vsaki mini- in mikroračunalniski konfiguraciji in jih v tem članku ne bomo obravnavali. ukvarjali pa se bomo z ukaznim jezikom in primeri obdelave' besedil terz metodami za različne (elitne) izpise. ki jih takžen procesor teksta omogoča. / urejeni tekst / / brez ukazov / / ukazni tekst / /urejeni tekst / / ukazni tekst / /urejewi tekst / PT ^ oblikovani ' urejen i I TEKSt J slika 2. transformacija mesanega ukaznega in urejenega teksta v oblikovani urejeni tekst s pomočjo procesorja teksta »pt» 2. kaj je procesiranje teksta procesiranje teksta ali obdelava besedila z mikroracunalniskim sistemom se opravlja s posebnim, dovolj zapletenim programom. v malih sistemih je ta program rezidenten in se nahaja v pomnilniku tipa rom; v normalnih s istemi h je ta program shranjen na disku, od koder ga lahko pokličemo v izvajanje, ko ga vstavimo v hitri (glavni) pomnilnik. procesiranje tekstov omogoča elitno oblikovanje časopisov, knjig, katalogov, prospektov, priročnikov, seznamov, pisem, poklicnih dokumentov itd. tako obsežnih nalog ne bi bilo mogoče opraviti ročno zaradi prevelikih časovnih in delovnih zahtev. osnovna zamisel procesorja teksta je oblikovanje strani. tekstovna stran naj ima npr. nastavljivi levi rob, nastavljivo dolžino vrstice, številko strani v sredini zgoraj, poseben naslov na vsaki strani, opombe na spodnjem robu strani, enotno obliko odstavkov itn. vse te funkcije naj bodo zagotovljene avtomatično in seveda spremenljivo s pomočjo ustreznih ukazov 114 njihovih zaporedij. tudi poravnava vrstic naj bo prožna, ko imamo npr. levo poravnavo vrstic, desno poravnavo vrstic, centrirano poravnavo vrstic in stolpno poravnavo vrstic. procesor teksta ima svojo, določeno zalogo ukazov, ta zaloga se spreminja od procesorja do procesorja, vendar je učinek določenih / oblikovani ure- / / jeni tekst: / stolpna porav- / nava vrstic; 65 / znakov v vrstici; / 66 vrstic na stran; / upoštevanje praznih vr- / stic; upoštevanje pre- / sledkov na začetku vrstice / kot nove vrstice (nerazpozna- / ni presledki) ... ^ / SLiKA 3. začetni procesor teksta (zpt) je ko nimamo v temu za izplf WCoti. ,EGji ukaza 5 O S PRBSL. 6 PßSSL. S/>Re S L. 6 Pfi£SL. ■pof/uJano Število Zno-kav w y^vftCci • < TA PRIMER ICAfE^ KAKO LAHKO PROCESOR TEKSTA UPORABLJAMO BREZ 0, se bo izvršil ukaz DAcr/^n^fJlU POMENI, SPREMENI LOKACIJO PASTI, DOLOCENO Z MAKROJEM »FO» PRI N+1, OGLEJMO SI ŠE REGISTRSKE UKAZE: .NR X +N POVZROČI PRIREDITEV POZITIVNE. NEGATIVNE ALI ABSOLUTNE VREDNOSTI N REGISTRU X. CE JE Mi, DOBIMO 256-N, TA UKAZ NAJ BI SE PRAVILOMA UPORABLJAL LE ZA NASTAVLJANJE UPORABNIŠKIH REGISTROV A, B. E. F. H, J, K, Q, R, S, T; U, X, Z. .AU +N NASTAVI AVTOMATIČNO PRIRASTEK NA VREDNOST N. VSAKOKRAT, KO SE NAVEDE REGISTER X Z NAVEDBO OBLIKE *+X, .ar .cr .sr se pred uporabo registra x poveča njegova vrednost na (X)-n. če je -n, dobimo dekrement iranje, torej (x)-n. arabske številke (v začetku so prav te nastavljene). velike rimske številke. male rimske številke. vsebine registrov x ( % , a, b, ... , y, z) se lahko pretvorijo v arabsko, malo-ali velikočrkovno rimsko obliko. na začetku je izpis v arabski obliki in podobno lahko spreminjamo tudi obliko izpisa registra % . slika 5 kaže tipičen primer navajanja in inkrementiranja registra a. izrazi se izračunavajo le v ukazih, v tekstu se pa samo interpretirajo, kot je razvidno iz slike 5. register % , ki hrani številko tekoče strani, se lahko tudi nastavi z ukazom: .pn fn nastavi številko (to je 4n, -n ali -n vrednost % STRAN I NA +N N, KJER DOBUC ZA 256 - N). register % moramo nastaviti pred prvim lomom strani, njegova začetna vrednost je 1, maksimalna pa 255. 4. UKAZNE VRSTICE V UREJENEM TEKSTU ŽE VEČKRAT SMO POKAZALI, DA SO UKAZNE VRSTICE V UREJENEM TEKSTU POMEŠANE Z VRSTICAMI T.l. ČISTEGA ALI IZVIRNEGA TEKSTA. VSAKA UKAZNA VRSTICA MORA ZAČENJATI Z ZNAKOM ». ' AL I ' : ' V PRVEM STOLPCU VRSTICE, KI JI MORA TAKOJ (3RE2 PRESLEDKA) SLEDITI UKAZ. VSAK UKAZ JE SESTAVLJEN IZ DVO^RKOVNEGA OPERATORJA, KI MU LAHKO SLEDI ŠE OPERAMONO POLJE. TUDI POZIVI MAKROJEV SO VSELEJ DVOČRKOVNI. UKAZ SE ENOSTAVNO PRESKOCI, CE NJEGOV 0PERATCR3KI DEL NI VELJAVEN UKAZ PROCESORJA ALI IME DEFINIRANEGA MAKROJA. MED ZNAKOMA •IN »:' PA JE TALE RAZLIKA? ZNAK '.» POVZROČI HKRATI IN PRAVILOMA ZAČETEK NOVE VRSTICE PRI IZPISU, TOREJ LOM VRSTICE (TODA NE PRI VSEH UKAZIH), DOČIM ZNAK VRSTICE NE LOMI, TEMt/EČ SE IZPIS NADALJUJE DO KONCA TEKOČE IZPISANE VRSTICE. PROTI LOMLJENJU VRSTIC SE TAKO ZAVARUJEMO, ČE UPORABIMO ZNAK ':» NAMESTO ZNAKA . KER PA TUDI Z ZNAKOM NE DOBIMO VSELEJ ZLOMITVE VRSTI CE, MORAMO POGLEDATI V UKAZNI SEZNAM IN UGOTOVITI ALI UKAZ Z ZNAKOM POVZROČI LOM ALI NE. NPR. UKAZI .nr a 88 •au -3 a = #+aj #+a, izraz izraz i = #a+#a+#+a; = #a+#a + #A+a+aj. a = 85, 82, 79. izraz » 79 + 79 + 79+a+a, izra:: 1 = 79^79*761 i7fiä7n» registra a in ^^ «es inkrementira, ^ ^^ se ne izračunata in se le gjppretirata, kot je razvidno iz slike poo .NR,' „AU, .AR, .CR IN .SR, Kl 3M0 JIH ZE OPISALI, NE POVZROČAJO LOMA. VSAKA UKAZNA VRSTICA LAHKO VSEBUJE LE EN UKAZ. NUMERIČNI ARGUMENT (OPERANO) „ SE POJAVLJA V UKAZIH. KOT SMO OPISALI ŽE V PREJSNJEM POGLAVJU. ZA ARGUMENT, KI JE OZNAČEN Z -WJ, VELJA tekstno napolnjevanje, poravnava in centriranje vrstic •WJ = -i-n, pozitivna vrednost -n, negativna vrednost n,- absolutna vrednost TOREJ SO VELJAVNI ARGUMENTI ZA m NPR, ■{•10, -■19 IN 26. V UKAZU ZA INKREMENTIRANJE BO -N POVZROČIL DEKREMENT!RANJE ZA N PO MODULU 256. PRI NASTAVITVI ,NR A -1 BOMO DOBILI VREDNOST 255 ZA A ITN. SEVEDA PA NI PRIPOROČLJIVO, DA PREIZKUŠAMO RAZNE NESMISELNE KOMBINACIJE, KER PROCESOR TEKSTA LAHKO ODGOVORI S STRANSKIMI UČINKI, KO SE IZVAJANJE PROCESORJA NADALJUJE V KEPREDVIDENIH PROGRAkSKIH SEGMENTIH IN LAHKO POVZROČI POŠKODBO PROGRAMA IN TEKSTA, 5. OBLIKOVANJE STRANI OBLIKOVANJE STRANI OBSEGA FIZIČNO STRAN, IN SICER NJENO DOLŽINO, Ž}TEV I LO STRAN I, ROBOVE STRANI, OŠTEVILČENJE STRANI ITN. VRH IN SPODNJA STRAN STRANI SE LAHKO OBLIKUJETA Z MAKROJI OZIROMA UKAZNIMI ZAPOREDJI IN TO BO OPISANO KASNEJE. OGLEJMO SI ZNAČILNE UKAZE ZA OBLIKOVANJE STRANI : »PL «N DOL?INA STRANI JE N VRSTIC. ZAČETNA VREDNOST 66 VRSTIC JE ZE V REGISTRU P iN S tem UKAZOM NASTAVIMO TAKO TUDI VREDNOST REGISTRA P (DRUG UKAZ BI BIL .NR P +N). LOM VRSTICE PRI TEM UKAZU NE NASTOPI IN N IMA MAKSIMALNO VREDNOST 255, .PG +N IZDAJ (SKOČI NA) NASLEDNJO STRAN. PRI DANEM N SE NASTAVI NOVA ŠTEVILKA strani (% ) = n. Če nimamo argumenta N, IMAMO AVTOMATIČNO INKREMENTIRANJE (+1). TA UKAZ POVZROČI LOM VRSTICE IN NAJVEČJI N JE 255. PRI TEM SE IZDAJO SEVEDA 5E VSE PRAZNE VIÖTICE, KI MANJKAJO DO KONCA STRANI. .PN 4N NASTAVI ŠTEVILKO STRANI NA . CE SE TA UKAZ POJAVI PRED PRVIM LOhOM VRSTICE ALI PRED TEKSTOM, BO ŠTEVILKA STRANI ENAKA 1. TA UKAZ NE POVZROČI LOMA IN N lUA MAKSIMALNO VREDNOST 255. • LM 444 LEVI ROB ZNAŠA N ZNAKOV. VSE VRSTICE IZPISANEGA TEKSTA BODO POMAKNJENE ZA N PRESLEDKOV V DESNO. V ZAČETKU JE N ENAKO Éf (NIČ) IN VREDNOST REGISTRA 'O' JE NIČ. LOM VRSTICE NE NASTOPI IN N NAJ BI NE BIL VEČJI OD 100. .ML N POTREBUJEMO N PRAZNIH VRSTIC NA STRAN» (NPR. ZA SLIKO ALI DIAGRAM). ČE JE RAZDALJA DO KONCA STRANI PREMAJHNA (MANJSA KOT N VRSTIC), SE BO TA PROSTOR REZERVIRAL PRI NASLEDNJI PASTI, KO BO IZDANIH N PRAZNIH VRSTIC, NASTAVITEV DOLŽINE STRANI Z UKAZOM .PL -IN JE SMISELNA ZLASTI V POVEZAV I Z NASTAVLJANJEM PASTI, KI JIH LAHKO POSTAVLJAMO TUDI 00 KONCA STRANI PROTI SREDINI IN DOSEŽEMO TAKO ŽELENE UČINKE, NPR. Z UPORABO UKAZA .PG V POSEBNIH MAKROJIH, UPORABA NAŠTETIH UKAZOV V TEM POGLAVJU BO PRIKAZANA V POVEZAVI Z MAKROJI IN PASTMI . UKAZI V TEM POGLAVJU SE BODO NANASALI NA VRSTICO, KO SE NAVAJATA DVA BISTVENA PARAMETRA, IN SICER . NAPOLNITEV IN PORAVNAVA. POD NAPOLNITVIJO RAZUMEMO NAPOLNITEV VRSTICE 3 TEKSTOM, TAKO DA JE DOSEŽENA DOLOČENA (VERTIKALNA) PORAVNAVA TEKSTA OZ I ROMA VRSTI C, NPR. LEVA, DESNA, OBOJESTRANSKA (STOLPNA) ALI CENTRIRANA, tE OPAZUJEMO OZIROMA GENERIRAMO TEKST KOT NEKE VRSTE STOLPEC, KI JE SESTAVLJEN IZ VRSTIC. NAPOLNI TV EN I NAČIN (STANJE) NAJ BI NAPOLNIL VRSTICO S ČIM VEČJIM ŠTEVILOM BESED TAKO, DA NI PRESEŽENA DOLŽINA VRSTICE. ODVEČNE BESEDE, KI SE PRI TEM LAHKO POJAVIJO, SE SHRANIJO ZA IZPIS V NASLEDNJI VRSTICI. BESEDA JE DOLOČENA KOT POLJUBEN NIZ ZNAKOV, KI SO LOČENI OD DRUGIH BESED Z ENIM ALI VEČ PRESLEDKI. CE STA NPR. DVE BESEDI LOČENI S PRESLEDKOM, TODA JU NE ŽELIMO POSTAVITI V OVE LOČENI VRSTICI (TOREJ JU ŽELIMO IMETI V VRSTICI SKUPAJ), POTEM BO TO ŽELJO LAHKO UPOŠTEVALA PORAVNALNA SUBRUTINA, CE BOMO UPORABILI NAMESTO PRESLEDKA RAZPOREK »V, POZNAMO LEVO IN DESNO PORAVNAVO VRSTIC V STOLPCU, PA TUDI OBOJESTRANSKO ALI STOLPNO PORAVNAVO. KADAR UPORABLJENE BESEDE V VRSTICI NE ZAPOLNIJO VRSTICE NATANKO OD NJENEGA LEVEGA DO DESNEGA ROBA, SE VSTAVLJAJO MED BESEDE DODATNI PRESLEDKI. TAKO DA SE VSELEJ DOSEŽE NATANČNA DOLŽINA VRSTICE. VSTAVLJANJE PRESLEDKOV SE OPRAVLJA V SMERI OD OBEH ROBOV VRSTICE, TAKO DA SE NE BI POJAVILA PREDOLGA ZAPOREDJA PRESLEDKOV (BELA POLJA), ČIM DALJŠA JE VIÖTICA IN ČIM KRAJŠE SO BESEDE V NJEJ, TEMBOLJ ENAKOMERNO BODO LAHKO RAZPOfJEJtN I DODATNI PRESLEDKI V VRSTICI. ANGLEŽČINA JE V TEM OZIRU PRAV ' GOTOVO' PRIMERNEJŠA OD SLOVENŠČINE. METODA, KI JO TUKAJ PREDSTAVLJAMO, NAMREČ ŽE NE UPORABLJA DELITVE BESED. SEVEDA PA IMAJO NEKATERI PROCESORJI TEKSTA TUDI DELITVENE SUBRUTINE, KAR SEVEDA IZBOLJŠA OBLIKO IZPISANEGA TEKSTA, ŠE POSEBEJ, . KO IMAfe'0 KRATKE VRSTICE, V STANJU POLNENJA MORA BITi PROCESOR, KADAR ŽELIMO IMETI STOLPNO PORAVNAVO, ZAČETNI PROCESOR TEKSTA (SLIKA 3) JE ŽE V TEM STANJU, SAJ VSEBUJE STOLPNO PORAVNAVO. ČE PROCESOR NI V STANJU POLNENJA, SE ZNAKI IZPISUJEJO NATANKO TAKO, KOT SO BILI VSTAVLJENI V VHODNO TEKSTNO ZBIRKO. OGLEJMO SI SEDAJ POMEN NASLEDNJIH UKAZOV: .BR ZLOMI VRSTICO, KI SE POLNI V VMESNIKU. TA „VRSTICA SE IZPIŠE SKLADNO Z DOLOČENO PORAVNAVO, TODA BREZ NADALJNEGA POLNENJA ALI VSTAVLJANJA PRESLEDKOV. LOM VRSTICE POVZROČIJO TUDI PRESLEDKI V ZAČETKU VRSTICE IN PRAZNE VRSTICE (KOT JE BILO ŽE OPISANO). .Fl S TEM UKAZOM UVEDEMO STANJE POLNENJA IN NADALJNE VRSTICE SE 8000 POLNILE. TA UKAZ POVZROČI LOM VRSTICE. ,NF S TEM UKAZOM PREKINEMO STANJE POLNENJA IN NASLEDNJE VRSTICE NE BODO NITI POLNENE NITI PORAVNANE TER SE BODO IZPISOVALE NATANKO TAKO, KOT SO BILE VPISANE, NEGLEOE NA TRENUTNO POSTAVLJENO DOLŽINO VRSTICE. TA UKAZ POVZROČI LOM VRSTICE. .JU X IMAMO STANJE VRSTltNE PORAVNAVE, ČE PRI TEM NIMAMO ŠE STANJA POLNENJA, NE BO PORAVNAVE VRSTIC, DOKLER NE UVEDEMO stanja polnenja. pri tem velja SE: x « ali r ali c x « n pomeni : imamo stolpno poravnavo. normalno oziroma X = R pomeni: imamo desno poravnavo (poravnani so desni konci vrstic). X sc pomeni: imamo poravnavo vrsticnih sredisč (stolpec je simetrično zvijugan). ce x ne izpišemo (pustimo prazno), se z ukazom .ju uvede stanje poravnave, ki je bilo aktivno pred njegovo ukinitvijo. ta ukazne povzroči loma vrstice. •NJ UKINI PORAVNAVO. ČE IMAMO PRI TEM STANJE POLNITVE, BO IZPISANA VRSTICA LEVO PORAVNANA, DESNI ROB STOLPCA BO ZVIJUGAN. LOMA VRSTICE TU NI IN PORAVNALNI TIP (REGISTER) OSTANE OHRANJEN. .ce 4n centriraj naslednjih n vhodnih vrstic. LOM NASTOPI PRED UKAZOM IN POTEM ŠE AVTOMATIČNO PO VSAKI ZAPISANI VRSTICI. ČE JE VSTAVLJENA VRSTICA DALJŠA 00 DANE DOLŽINE VRSTICE, 80 IZPISANA VRSTICA LEVO PORAVNANA. MAKSIMALNO ŠTEVILO CENTRIRANIH VRSTIC BO 255. VRSTIC, SICER PA SE TE VRSTICE NE IZPIŠEJO TAKOJ, VENDAR SE N SHRANI 2A KASNEJSI IZPIS PRAZNIH VRSTIC (GLEJ UKAZ .OS). TRENUTNI UKAZ .SV N IZNIČI VSAK PREJE POSTAVLJENI N. UKAZ .NS NE VPLIVA NA TA UKAZ. UKAZ .SV NE POVZROČI LOMA VRSTICE IN ČE N NE NAVEDEMO, POMENI, DA JE N s 1, .03 IZDAJ REZERVIRANI PRAZNI PROSTOR (N VRSTIC). TA UKAZ SE UPORABLJA ZA IZPIS PREJE REZERVIRANEGA PROSTORA Z ZAHTEVO, KI SMO JO POSTAVILI Z UKAZOM .SV N. ZAPOMMJENI N SE PRI TEM ZBRISE (S POZIVOM UKAZA .OS) IN UKAZ .NS NIMA VPLIVA. LOM VRSTCE NE NASTOPI, .NS UVEDE SE STANJE (REŽIM), KO SE NE IZDAJAJO PRAZNE VRSTICE^ (Z GORNJIMI IZJEMAMI). TA UKAZ PREPREČUJE ZAHTEVE, KI SO BILE POSTAVLJENE Z UKAZOMA .SP IN .PG, CE UKAZ .PG NI IMEL NAVEDENE NASLEDNJE STRANI (BREZ N). TO STANJE SE AVTOMATIČNO UKINE PO IZPISU VRSTICE TEKSTA. LOM VRSTICE TU NE NASTOPI . .RS UVEDE SE STANJE IZPISA PRAZNIH VRSTIC. ČE IMAMO REŽIM UKAZA .NS, GA S TEM UKAZOM UKINEMO. LOM VRSTICE NE NASTOPI. 8. dolžina in umaknitev vrstice 7. VSTAVLJANJE PRAZNIH VRSTIC (PROSTORA) VSTAVLJANJE PRAZNIH VRSTIC PREDSTAVLJA V BISTVU VSTAVLJANJE PRAZNEGA PROSTORA V VERTIKALNI SMERI STRANI, KI JO UREJAMO. SKOK V NOVO VRSTICO, V KATERI SE NADALJUJE PISANJE TEKSTA, POMEN) VSTAVITEV PRAZNEGA PROSTORA Z DOLŽINO NIČ. PRAVI PRAZEN PROSTOR JE MOGOČE VSTAVITI Z UKAZOM ,MS N. PRI PARAMETRU N V TEM UKAZU SE VSTAVI N-1 PRAZNIH VRSTI C PO VSAKI NEPRAZNI VRSTICI. S POMOČJO PASTI, KI JIH BOMO OBRAVNAVALI KASNEJE, LAHKO VPLIVAMO NA VSTAVITEV PRAZNEGA PROSTORA. PRAZNI PROSTOR LAHKO TUDI USTREZNO REZERVIRAMO SE Z DRUGIMI UKAZI. OGLEJMO SI TIPIČNE UKAZE ZA VSTAVLJANJE PROSTORA IN Z NJIMI POVEZANA STANJA. IMAMO: .KB N NASTAVI VEČKRATNI PRESLEDEK MED VRSTICAMI NA N. TU SE N NANAŠA TUDI NA NEPRAZNO VRSTICO, TAKO DA JE PRAZNIH VRSTIC ŠE N-1. TA UKAZ NE POVZROČI LOMA VRSTICE IN ČE ARGUMENT N IZPUSTIMO, IMAMO N = 2 (MED VSAKO IZPISANO VRSTICO JE ENA PRAZNA VRSTICA). NAJVEČJA VREDNOST ZA N JE 255. •SS S TEM UKAZOM SE NASTAVI STANJE BREZ PRAZNIH VRSTIC. IZPISANE VRSTICE SI SLEDIJO STi-iNJENO EM" ZA DRUGO IN SAM UKAZ NE POVZROČI LOMA VRSTICE. ,SP N S TEM UKAZOM VSTAVIMO ENKRATNI PRAZNI PROSTOR, KI OBSEGA N PRAZNIH VRSTIC. STEVfLO IZDANIH PRAZNIH VRSTIC JE LAHKO OMEJENO Z BLIŽNJO PASTJO ALI Z ONO« STRANI, ČE JE PROCESOR V REŽIMU, iCO SE NE IZDAJA PROSTOR (UKAZ .NS), SE PRAZNE VRSTICE NE IZPISUJEJO. ČE N NE NAVEDEMO V UKAZU .SP, POMENI TO N UKAZ .SP POVZROČI LOM VRSTICE. .SV N REZERVIRAJ (RE§I) PROSTOR Z N PRAZNIMI VRSTICAMI. ČE JE RAZDALJA 00 NASLEDNJE P.fßTI ALI DO DNA STRANI VEČJA KOT N, SE TAKOJ IZPISE N PRAZNIH Z DOLOČENIMI UKAZI JE MOGOČE NASTAVITI DOLŽINO VRSTICE IN NEKATERE OBLIKE VRSTIČNE UMAKNITVE. DOLŽINA VRSTICE UPOSTEVA TUDI PRESLEDKE, KATERIH ŠTEVILO JE DOLOČENO Z UIMKNITV I JO VRSTICE. V DOLŽINI VRSTICE PANI VSEBOVAN LEVI ROB, KI GA NASTAVIMO S POSEBNIM UKAZOM, V STANJU POLNENJA VRSTICE JE IZPISANA VRSTICA KRAJSA ALI ENAKA VSTAVLJENI DOLŽINI VRSTICE, VENDAR SKRAJŠANA ZA ' TRENUTWO VELJAVNO UMAKNITEV. DOL?INE VRSTIC, KI SO MANJSE OD 6 (ZNAKOV), NISO DOPUSTNE, UKAZI PASO TILE: .LN +N NASTAVIMO DOLŽINO VRSTICE NA N, ZAČETNA VREDNOST (BREZ NASTAVITVE) JE 65 IN TA UKAZ NE POVZROČI LOMA VRSTICE. N MORA BITI V INTERVALU (6,255), .IN +N UMAKNITEV VRSTICE ZA N PRESLEDKOV. PRI DOLŽINI VRSTICE L IN PRI UMAKNITvI N SE IZPIŠE NAJPREJ N PRESLEDKOV IN .LN 40 .IN 10 .PI .AT -N XX TA UKAZ DOLOČA,DA SE V VRSTICI N AKTIVIRA MAKRO xx. KATERIKOLI DRUG MAKRO, KI JE BIL PREJE PRIREJEN TEJ VRSTICI, SE ZAMENJA Z MAKROJEM XX. .IN 0 TO JE OPIS UKAZA .AT . (A) .AT -N xx TA UKAZ DOLOČA,DA SE V VRSTICI N AKTIVIRA MAKRO xx. KATERIKOLI DRUG MAKRO, KI JE BIL PREJE PRIREJEN TEJ VRSTICI, SE ZAMENJA Z MAKROJEM xx TO JE OPIS UKAZA .AT . (B) slika 6. primer uporabe ukazov .in in .pi, kjer vidimo v (b) rezultat, ukaz .injst ukine prejšnje stanje umaknitve za 10 presledkov. NATO PREOSTALIH U-N MEST V VRSTICI (TO JE TEKST). V ZACETKU JE UMAKNITEV ENAKA NIČ IN TA UKAZ POVZROCi LOM VRSTICE. .31 4-N ENKRATNA UMAKNITEV VRSTICE ZA N PRESLEDKOV. SAMO ENA VRSTICA ZA TEM UKAZOM BO UMAKNJENA ZA N MEST. PRI OBSTOJEČI UMAKNITVI SE LAHKO UMAKNITEV ZMANJŠA Z UPORABO UKAZA .31 -M, TAKO DA JE TRENUTNA UMAKNITEV N-M. UKAZA .IN^ IN .31 STA KUMULATIVNA, VENDAR KONČNA VREDNOST ARGUMENTA NE SME BITI NEGATIVNA. TA UKAZ POvZROCi LOM VRSTICE. .PI ST VSTAVI NIZ 'ST' V POLJE UMAKNITVE. NIZ 'ST', V KATEREM SE NE UPOŠTEVAJO VOOECl PRESLEDKI, SE VSTAVI V UMAKNI TVENO POLJE (TAKOJ NA ZACETKU VRSTICE), KI JE SICER NAPOLNJENO S PRESLEDKI. Ce je NIZ DALJSI OD umaknitvenega polja, se ta niz ob IZPISU ODREŽE, TAKO DA NE PRESE2E DANE DOLŽINE UMAKNITVE. SLIKA 6 KAŽE PRIMER UMAKNITVE IN VSTAVITVE NIZA. TA PRIMER SE POJAVLJA TUDI PRI PISANJU TEGA TEKSTA (ČLANKA), KO OPISUJEMO POSAMEZNE UKAZE (ZGORAJ). 9. MAKROJI, OOVRMITVE IN VRSTICNE PASTI MAKRO JE ZAPOREDJE UKAZOV ALI TEKST. KI MU LAHKO PRIREDIMO IME TERGA KASNEJE KLIČEMO Z IMENOM. MAKROJSKA IMENA IMAJO DVA ZNAKA IN SE MORAJO RAZLIKOVATI OD OBSTOJEČIH IMEN UKAZOV IN DRUGIH MAKROJEV. MAKROJE DOLOCAMO ALI JIH SPREMINJAMO Z UPORABO UKAZA .DM ALI Z UPORABO IZHODNEGA ODVRNITVENEGA UKAZA .01 OBSTOJEČIM MAKROJEM LAHKO 5E KAJ PRIPNEMO (DODAMO, PRIORUŽIklO) Z UPORABO UKAZOV .AM IN .DA . ČE JE MAKRO POIMENOVAN Z XX, GA POKLIČEMO OZIROMA RAZŠIRIMO V IZVAJANJE S POZIVOM OZIROMA Z NAVEDBO .XX . PAST LAHKO NASTAVIMO GLEDE NA VRSTICO (POLOŽAJ NA STRANI) TAKO, DA SE AVTOMATICNO V TEJ VRSTICI IZVRŠI DOLOCEN MAKRO, KO UPORAB I hO UKAZ .AT . V SAMI DEFINICIJI MAKROJA REGISTRI NISO RAZŠIRJENI 00 NUMERIČNIH VREDNOSTI; TO SE ZGODI ŽELE PRI IZVRŠEVANJU MAKROJA. V DEFINICIJI MAKROJA SE POSEBNI ZNAKI ŠE NE PREVEDEJO (NPR. RAZŠIRITEV TABULIRANJA ITN.). MAKROJI SO LAHKO POLJUBNO ZAPOREDJE UKAZOV, MAKROJSKIH POZIVOV IN TEKSTA, TODA SAM MAKRO NE MORE DEFINIRATI DRUGEGA MAKROJA, LAHKO PA OBLIKUJE ODVRNITEV. ^ODVRNITEV JE NEKE VRSTE MAKRO PO IZVRSITVI, VENDAR JE DRUGACE OBLIKOVANA. PROCESIRANI IZHOD JE LAHKO ODVRNJEN 'PREUSMERJEN) V MAKROJSKI PROSTOR ZA POSEBNE NAMENE, KOT SO NPR. OBi>i.UAvA OPOMB NA DNU STRANI ALI DOLOČITEV OBSEGA PROSTORA NA STRANI ZA POGOJNO SPREMINJANJE PARAMETROV STRANI (REGISTER 'V VSEBUJE ŠTEVILKO ZADNJE ODVRNJENE VRSTICE) ITN. ODVRNITVIJO SE PROCESIRANJE TEKSTA OPRAVLJA NORMALNO, IZJEMA JE LE PROCES'i.'NJE LEVEGA ROBA. STANDARDEN NAČIN JE, DA :: ODVRNJENI TEKST ČITA Z REŽIMOM •NEFiL^MENJA» IN SE TAKO IZOGNEMO NADALJNEMU PROCESIRANJU VRSTICE. KADAR PRIDE V POSTOPKU DEFINIRANJA MAKROJEV ALI OBLIKOVANJA ODVRNITEV DO PRESTOPA MAKROJSKEGA (REZERVIRANEGA) OBMOČJA, SE GENERIRA SPOROČILO O TEJ NAPAKI IN PROCESIRANJE SE ('STAVI. NOBEN MAKROJSKI POZIV NE POVZROCI I' VRSTICE IN VRSTICA SE POLNI . OGLEJMO SI NA KRATKO POMEN NASLEDNJIH UKAZOV : .ĐM XX OOLOCi ALI SPREMENI DEFINICIJO MAKROJA Z IMENOM XX. DEJANSKI MAKRO (ALI NJEGOVO TELO) SE ZACNE Z NASLEDNJO VRSTICO. MAKROJSKA DEFINICIJA SE IZVRSUJE, DOKLER SE NE POJAVI ZNAK NJENEGA KONCA, KI JE V ZAČETKU VRSTICE. MAKROJI NE SMEJO VSEBOVATI UKAZOV .DM, LAHKO PA OBLIKUJEJO ODVRNITVE. .AM XX PRI PN I (PRIDRUŽI) NEKAJ K MAKROJU XX. TA UKAZ DELUJE TAKO KOT UKAZ .DM, LE DA SO SE NADALJNE VHODNE VRSTICE (ZA UKAZOM .AM) PRITAKNJENE K MAKROJU XX IN JE TAKO POTREBNO MANJ DODATNEGA PROSTORA, KOT ČE BI OBLIKOVALI NOV MAKRO. .RM XX UKINI (ALI ZBRiSl) MAKRO ALI ODVRNITEV Z IMENOM XX. S TEM UKAZOM JE BIL MAKRO XX ČRTAN IZ LISTE IMEN^IN POZIVI TEGA IMENA NE BODO IMELI VEČ UČINKA. .01 XX ODVRNI IZHOD V MAKROJSKI PROSTOR Z IMENOM XX. MAKRO Z IMENOM XX SE DEFINIRA ALI MODIFICIRA V TEJ TOČKI . MED ODVRNITVIJO SE NADALJUJE NADALJNE PROCESIRANJE TEKSTA NORMALNO, IZJEMA JE LE IZVAJANJE UKAZA LEVEGA ROBA (.LM). ODVRNITVENI POSTOPEK SE KONČA Z VCITANJEM DRUGEGA UKAZA .01 ALI .DA. ODVRNITEV NI MOGOČE VGNEZDITI. ŠTEVILO ODVRNJENIH VRSTIC SE HRANI V REGISTRU 'V, KI GA LAHKO KASNEJE NAVEDEMO. .DA XX ODVRNI PRIPETO RAZLIČICO IZ UKAZA .DI. ENAKA PRAVILÀ VELJAJO ZA TA IN PREJSNJI UKAZ. TO JE KONEC.DEFINICIJE MAKROJA. .AT -N XX V VRSTICI N AKTIVIRAJ MAKRO Z IMENOM XX. VSAK MAKRO, KI JE BIL PREDHODNO PREDVIDEN ZA VRSTICO -N, SE ZAMENJA Z XX. TU ŠTEJEMO N OD ZGORAJ NAVZDOL NA STRANI (INDEKSA 0 IN 1 SE UPORABLJATA ZA VRH STRANI) IN -N OD SPODAJ NAVZGOR (CE JE NPR. DOLŽINA STRANI 66, JE VRSTICA -1 PRAV VRSTICA 66). ČE NE NAVEDEMO MAKROJSKEGA IMENA V UKAZU, SE UMAKNE PAST IZ VRSTICE -N, CE JE BILA TAM NASTAVLJENA. .CH -N -M PRESTAVI PAST. PRESTAVI PAST, KI JE BILA NASTAVLJENA V VRSTICI -N V VRSTICO -M. CE PRI -N NI PASTI, SE ZAHTEVA NE UPOŠTEVA. .CH XX -M PRESTAVI PAST ZA MAKRO XX V VRSTICO -M. OGLEJI«) SI NASLEDNJI PRIMER. IMEJMO TALE VHODNI TEKST} .sp • au i •nr a 13 • pl 10- .pn 37- •ln a7_ • DM HD «CE 2 pojasnilo **A Stivito- v^jtic tla. stya.nC itotrC-tk^ •at i hd .dm fo ice 1 stran---x--- «pg tna^rr Hb ('»CL^-tnr) fa.it -ia. Hù lr '(. VYstCcù 'tnoA.re- f>i*t i*, ^o ir 8. vrstCCL poHv /I^A.'k^'ja. HJ> • at -3 fo- .hd-- ta primer kaze uporabo makrojev in njihovih pasti. • • • makro .hd oblikuje naslov na vsaki strani, tako da se centrirano izpise 'pojasnilo' s tekoco številko, ki se se simetriCno podCrta. makro .fo izpise tekoco stran v sredini .f-spodnjega dela strani. stran obsega 10 vrstic in v prvi vrstici je nastavljena past za makro .hd; v osmi vrstici (argument -3) pa imamo past za .fo. i i» poziv .hd v posebni vrstici je potreben, da se izpise naslov ze na prvi tekoči stra1*ji. procesiranje teksta z gornjim zaporedjem ukazov oziroma z makro ji in pastmi povzroči rezultat, ki je razviden iz spodnjega izpisa, KO imamo Stiri strani (oštevilčene s 27, 28, 29, zadnja stran pa ni oštevilčena), in sicer: ta primer kaže njihovih pasti. POJASNILO 14 UPORABO makrojev iN makro .ho oblikuje naslov na vsaki strani, tako da se centrirano izpiše »pojasnilo» s stran — 27--- pojasnilo 15 tekočo Številko, ki se Še simetrično podčrta. makro .fo izpiše tekočo stran v sredini spodnjega dela strani. stran---28--- pojasnilo 16 stran obsega 10 vrstic in v prvi vrstici je nastavljena past za makro .hd; v osmi vrstici (argument -3) pa imamo past za .fo. poziv .hd v posebni vrstici je potreben, stran -o- 29 — POJASNILO 17 DA SE IZPläE NASLOV ZE NA PRv" TEKOČI STRANI. Jt.i. 10. tabuliranje TABULIRANJU SE TRENUTNO DOLOČENI TABULIRNI KARAKTER ZAMENJA Z USTREZNIM ŠTEVILOM POLNILNIH KARAKTERJEV, TAKO P^T. ZAPOLNI PROSTOR DO NASLEDNJEGA WTAVITVENEGA TABULIRNEGA STOLPCA (v VRSTICI, KI TRENUTNO POLNI). POLNILNI KARAKTERJE NAVADNO PRESLEDEK, LAHKO PA GA TUDI POSEBEJ DEFINIRAMO Z UKAZOM .TF . DOLOČIKflO LAHKO NAJVEČ 20 TABULIRNIH USTAVITEV IN JIH POSTAVIJO V NARAŠČAJOČE ZAPOREDJE. V ZAČETKU NIMAMO TABULIRNIH USTAVITEV IN TABULIRNI KARAKTER JE ASCII NIČLA (0CJH). TABULIRNI KARAKTER JE LAHKO VSAK NEALFANUMERIČNI ZNAK. V REŽIMU POLNENJA SE LAHKO ZGODI, DA BO UPORABA TABULIRANJA POVZROČILA NEUSTREZNA TABULIRNA POLJA. IMAMO TELE UKAZE: .TAN,.. NASTAVITEV TABULIRNIH USTAVITEV. MANJKAJOČE TABULIRNE USTAVITVE SO NIČNE (KOT DA JIH NI) IN 20 JIH LAHKO NASTAVIMO. USTAV ITVENE VREDNOSTI LOČIMO S PRESLEDKI, VEJICAMI ALI Z DRUGIMI, NENUMERIČNIMI ZNAKI. TAKO IMAMO NPR. TABULIRNI UKAZ .TA 10,20,35,W. .TF C NASTAVI TABULIRNI POLNILNI KARAKTER. TA JE NAVADNO PRESLEDEK, LAHKO PA^ GA-DEFINIRAMO S POLJUBNIM NENUMERICNIM PISNIM ZNAKOM. ČE 'C NI DOLOČENO, IMAMO PRESLEDEK, SICER PA ZNAK, KI JE ZA 'C VSTAVLJEN. .TC C DEFINIRAJ TABULIRNI KARAKTER. V ZAČETKU JE TABULIRNI ZNAK NIČLA (GA NI), LAHKO PA GA DEFINIRAMO KOT POLJUBEN NENUMERIČNI PISNI ZNAK. ČE 'C NI SPECIFICIRAN, POSTANE TABULIRNI ZNAK ZOPET NIČLA (GA UKINEMO). 11. TRODELNI NASLOVI Z UKAZOM .TL OBLIKUJEMO NASLAVLJANJE (PISANJE NASLOVOV STRANI, POGLAVIJ), KI OBSEGA TRI POLJA: LEVO, SREDIŠČNO IN DESNO. LEVI IN DESNI NASLOV STA LEVO IN DESNO PORAVNANA (ZAPISANA V LEVI IN DESNf ROB STRANI ALI STOLPCA), SREDIŠČNI NASLOV PA JE CENTRIRAN (IZPISAN SIMETRIČNO). LAHKO UPORABIMO VSA TRI POLJA ALI PA NJIHOVO POLJUBNO KOMBINACIJO. PORAVNAVA SE OPRAVI GLEDE NA DOLŽINO NASLOVA, KI JE NEODVISNA OD DEFINIRANE DOLŽINE VRSTICE (TOREJ MORA BITI POSEBEJ DOLOČENA). V ZAČETKU JE DOLŽINA VRSTICE 65 ZNAKOV IN JE ENAKA DOLŽINI NASLOVA. UPORABA UKAZA .TL NE VPLIVA NA LOM VRSTICE IN PO IZPISU NASLOVA TEČE IZPIS VreTIC NEMOTENO NAPREJ. UKAZ .TL SE UPORABLJA ZLASTI V MAKROJIH ZA IZPIS NASLOVOV (NAVADNO KOMPLEKSNIH) IN V MAKROJIH ZA IZPIS OPOMB NA DNU STRANI. NPR. .TL POVZROČ» IZPIS Številke strani v srediSču vf^tice. IMAMO LE DVA UKAZA: .TL »LEVO'SREOINA'DESNO* POSTAVI NASLOVE PORAVNANO GLEDE NA POLJE (LEVO, CENTRIRANO, DESNO PORAVNANO). NIZI UKAZA »LEvO», »SREDINA« IN »DESNO» SO TAKO LEvO, CENTRIRANO IN DESNO PORAVNANI GLEDE NA TRENUTNO DOLŽINO NASLOVA. VSAKO OD TEH POLJ JE LAHKO PRAZNO" IN POLJUBEN NENUMERIČNI ZNAK SE LAHKO UPORABI NAMESTO OMEJEVALNIKA POLJA ZNAK % SE ZAMENJA S TRENUTNO ŠTEVILKO STRAN/, KO IMAMO ARABSKO ALI RliV6K0 predstavitev. .LT -N NASTAVI DOLŽINO NASLOVA. DOLŽINA NASLOVA IN DOLŽINA VRSTICE STA LOČENA PARAMETRA. UMAKNITVE VRSTIC SE NE NANASAJO NA NASLOVE, LEV I ROB PA SE. 12. pogojni vhodni ukazi vhodni ukazi in makrojski pozivi se lahko uporabljajo tudi pogojno, npr, v obliki .if #A IF #B .xx . (mamo: .IF C UKAZ .IF te UKAZ .IF N UKAZ o IF IN UKAZ •IF» JE POGOJNI UKAZ IN »UKAZ» JE LAHKO V3AK UKAZ SISTEMA ALI IME MAKROJA. "C JE POGOJNI KOD IN JE LAHKO »O' (LIHO) ALI 'E' (SODO) GLEDE NA LIHO ALI SOOO ŠTEVILKO STRANI. »N» JE POLJUBNO ŠTEVILO, REGISTER ALI IZRAZ S SEŠTEVANJEM ALI OtóTEVANJEM. CE JE POGOJ PRAVILEN (TA POGOJ JE IZPOLNJEN, CE JE VREDNOST IZRAZA, REGISTRA ALI STEVILA VECJA 00 NlC), SE UKAZ ALI MAKRO IZVRŠI, SICER PA SE NE UPOäTEVA. CE JE PRED »C ALI 'N' ZNAK 'J' (NEGACIJA), SE UKAZ IZVRäl PRI NEIZPOLNJENEM POGOJU OZIROMA, KO JE VREDNOST IZRAZA, REGISTRA, ŠTEVILA MANJŠA ALI ENAKA Nifi. 13. PREKLAPLJANJE OKOLICE PROCESOR TEKSTA IMA VRSTO PARAMETROV, KI KRMILIJO OBDELAVO TEKSTA IN TE PARAMETRE IMENUJEMO OKOLICA. PRAV TE' PARAMETRE LAHKO SPREMENIMO VSE HKRATI Z UPORABO UKAZA PREKLOPA, IMAMO DVE OKOLICI, IN SICER IN 1. OBE OKOLICI IMATA ENAKE ZACETNE VREDNOSTI ZA VSE PARAMETRE. PARAMETRI TEH DVEH OKOLIC PA SO: DOLZINA VRSTICE, UMAKNITEV PORAVNAVA, POLNENJE, DOLŽINA NASLOVA, VERTIKALNI VRSTIČNI PROSTOR, STEVNIK CENTRA, AVTOMATIČNO INKREMENTIRANJE, DELNO ZBRANE BESEDE IN DELNO ZBRANE VRSTICE. VSI OSTALI PARAMETRI SO GLOBALNI IN JIH NE MOREMO PREKLOPITI. PRIMERI GLOBALNIH PARAMETROV SO: LEVI ROB, ŠTEVILO STRANI, TRENUTNO ŠTEVILO VRSTIC, REGISTRI, TABELE PASTI IN MAKROJSKE DEFINICIJE. KER SO DELNO ZBRANE BESEDE IN DELNO ZBRANE VRSTICE V OKOLICI, PREKLOP OKOLICE NE POVZROČI PREKINITVE (LOKA) IN OSTANKI (BESED, VRSTIC) SE OHRANIJO. IMAMO: .EV N SPREMENI OKOLICO N, KJER JE N ENAKO gS ALI 1, ČE N NE NAVEDEMO, JE IZBRANA OKOLICA 14. POSEBNI KRMILNI UKAZI OGLEJfeäO SI VRSTO UKAZOV ZA NAJRAZLIČNEJŠE FUNKCIJE. IMAtiO: .CP UVEDI REŽIfc) VELIKIH ČRK. TA UKAZ OMOGOČA, DA UPORABIMO TERMINAL, KI IMA SAWO VELIKE ČRKE, DA Z NJIM OBLIKUJEMO TEKST ZA IZPIS, V KATEREM SE BODO POJAVLJALE MALE IN VELIKE ČRKE (SEVEDA NA USTREZNEM IZPI3NEM TERMINALU). VSAKA ČRKA JE V NORMALNEM STANJU MAJHNA, VELIKA PA POSTANE, ČE PRED NJO POSTAVIMO ZNAK »(o)«. NIZI ČRK BODO .NC .ST .EX .rs .rp .u1 .U2 .u3 VELIKE ČRKE, ČE JIH POSTAVIMO MED ZNAKA 't ». ZNAK » DELUJE TU KOT POMIK IZ MALE NA VELIKO ČRKO TER ZNAK 't » KOT FIKSIRANI POMIK, DOKLER GA Z DRUGIM ZNAKOM 't* NE UKINEMO. UKINI REŽIM VELIKIH ČRK. V ZAČETKU NIMAMO TEGA STANJA IN ZNAK POMIKA TER ZNAK » SE NE UPOŠTEVATA. TA UKAZ JE USTAVITEV IN POVZROČI ZAČASNO PRENEHANJE PROCESIRANJA, NA ZASLON TERMINALA PA SE IZPISE BESEDA 'STOP'. ČE VTIPKAMO CRKO 'S', BO SLEDIL IZSTOP IZ PROCESORJA. ČE VTIPKAMO KATERIKOLI ZNAK RAZLIČEN 00 •S', SE BO PROCESIRANJE NADALJEVALO. USTAVITVENI UKAZ POVZROČI LOM VRSTICE. IZSTOPI IZ PROCESORJA. TU SE PROCESIRANJE USTAVI TAKO, KOT DA BI BIL CELOTEN VHODNI TEKST OBDELAN. TA UKAZ SE UPORABLJA ZLASTI V POVEZAVI Z UKAZOM .IF . IZDAJ CELOTEN TEKST, VKLJUČNO Z UKAZI, NA IZHOD. TA UKAZ RABI KOT PRIPOMOČEK ZA POPRAVLJANJE TEKSTA, SAJ SE NA IZHOD PRENESEJO VSE VRSTICE, TOREJ TUOI UKAZNE. PRI TEM SE UKAZI NE INTERPRETIRAJO (IZVAJAJO) IN TAKO NIMAMO PROCESIRANJA TEKSTA. V TEM REŽIMU SE IZDA CELOTEN TEKST DO KONCA VHODNE PODATKOVNE ZBIRKE. PONOVI PROCESIRANJE ZBIRKE (ALI BOLJE PONAVLJAJ). TA UKAZ POVZROČI PONAVLJAJOČE PROCESIRANJE ZBIRKE. TO STANJE JE UPORABLJIVO NPR. PRI PISANJU PISEM, V KATERIH SE POJAVLJAJO RAZLIČNI NASLOVNIKI, PREOSTALI TEKST PISMA PA JE ZA VSE NASLOVNIKE ENAK. UPORABNIŠKO DOLOČLJIVI UKAZ ŠTEVILKA 1, TA UKAZ MORA PROGRAMIRATI UPORABNIK IN TRENUTNO NIMA NOBENE FUNKCIJE. UPORABNIŠKO DOLOČLJIVI UKAZ 2. VELJA PODOBNO KOT PRI UKAZU .U1 . TU UPORABNIŽKO DOLOČLJIVI UKAZ VELJA PODOBNO KOT ZA .U1 . 3. TU UKAZI .U1, .U2 IN .U3 POVZROČIJO IZVRŠITEV POLJUBNE UPORABNIŠKE FUNKCIJE, KI JO OOLOČIKO Z USTREZNIM PROGRAMOM, S TEMI UKAZI LAHKO UPOŠTEVAMO IN UPORABIMO POSEBNE LASTNOSTI TISKALNIKA, KI GA IMAMO ZA IZPIS. TAKŠNE LASTNOSTI SO: SPREMEMBA VELIKOSTI PISAVE ALI RAZMAKA MED ČRKAM), POVRATtK V PRF.JSNJO VRSTICO, DRUGE KRMILNE FUNKCIJE PiSALNIKA ITN. 15, ZUNANJA KOMUNIKACIJA IMAMO DVA UKAZA ZA KOMUM! CiRANJE MEO PROCESORJEM IN UPORABNIKOM V ČASU PROCESIRANJA TEKSTA, UKAZ .TU SE UPORABLJA ZÀ IZDAJANJE POSEBNIH NAVODIL NA TERMINALNI ZASLON; TAKA NAVODILA SO VSTAVITEV ALI NASTAVITEV PAPIRJA (NPR. DRUGI STOLPEC), ZAMENJAVA PISALNE GLAVE ITN. DRUGI UKAZ .Gl PA SE LAHKO UPOSA.ei PRI PISANJU PISEM, KO VSTAVLJAJO POSEBEN TEKST (NPR. NASLOVNIKE) V ČASU PROCESIRANJA TEKüVA. TAKO IMAMO: ,TM ST IZDAJ SPOROČILO 'ST' NA TERMiUÀL. TU JE 'ST' POLJUBEN NIZ ZNAKOV OZIROMA BESED. VODEČI PRESLEDKI SE NE UPOŠTEVAJO. SPOROČILO SE POŠLJE NA TERMINAL IN TA UKAZ SE LAHKO UPORABI PRED UKAZOM USTAVITVE (.ST), TAKO DA DOBIMO USTREZNO NAVODILO NA ZASLON TERMINALA, KO SE PROCESIRANJE TEKSTA USTAV I . .Gl 3T SPREJMI tekst »ST» IZ TERMINALA. tekst »st», ki je poljuben niz znakov, SE IZPISUJE NA TERMINAL IN HKRATI SE ZNAKI, KI SESTAVLJAJO »ST», S TEM UKAZOM VSTAVLJAJO V VHODNI NIZ ZA PROCESIRANJE. TA UKAZ SE UPORABLJA ZA VSTAVLJANJE IMEN IN NASLOVOV PRI PISANJU PISEM. UKAZ .Gl SE KON&A Z ZNAKOM »CR» (POVRATEK VALJA) IN TAKO LAHKO VPISEMO LE ENO VRSTICO Z ENIM UKAZOM .Gl . PO IZVRŠITVI TEGA UKAZA VSEBUJE REGISTER G ŠTEVILO ZNAKOV, KI SO BILI VTIPKANI V NIZ (BREZ ZNAKA •CR'). 16. RAZLICNI ZNAKI IN OPOMBE PROCESOR TEKSTA LAHKO UPORABLJA POSEBEN UKAZ ZA VSTAVLJANJE KOMENTARJEV. IMAMO: . ^t■ UKAZ KOMENTARSKEGA POLJA SE UPORABLJA ZA VSTAVITEV KOMENTARJA V VHODNI TEKST. TA KOMENTAR SE NE UPOŠTEVA S PROCESORJEM IN t NJIM SE NE OBLIKUJE IZHOD IN SAM KOMENTAR SE NE IZDA. IMAMO TUDI VRSTO POSEBNIH ZNAKOV NEKATERE SMO ŽE PREJE OPISALI: IN \ ZNAK » \ • SE UPORABLJA ZA UKINITEV POMENA NEKEGA ZNAKA, KI GA IMA TA ZNAK V procesorju. Ce želimo tiskat» znak % (ne pa številko strani), moramo postaviti \% . za tiskanje znaka bi morali ^postavit« \\ , za tiskanje^ znaka @ pa v rezimu velikih crk itn. @ ZNAK (5> POMENI VELIKO CRKO V REZIMU KAPITALIZACIJE (UKAZ .CP). NJEGOV UČINEK JE POMIK NA VELIKO CRKO. t OaCJEVALNIK ZA NIZE VELIKIH ČRK. TA ZNAK IMA uClNEK FIKSIRANEGA POMIKA NA VELIKE CRKE IN POMEN UKINITVE TEGA POMIKA. PROCESOR MORA BITI PRI TEM v STANJU KAPITALIZACIJE (UKAZ .CP). # OZNAČEVALNI K REGISTROV A, 8, ... , Z. PIKA ».' JE KRMILNI ZNAK UKAZA, CE SE NAHAJA V ZACETKU VRSTICE. UKAZ JE DVOCRKOVNO IME, KI JE LAHKO TUDI MAKRO. { DVOPißjE JE KRMILNI ZNAK UKAZA, KO NIMAMO LOMA VRSTICE (SEVEDA SAMO, KE JE V ZAdETKU VRSTICE). UČINEK JE PODOBEN UCINKU ZNAKA VENDAR SE TU LOM VRSTICE ZADUSl. % TO JE ZNAK ŠTEVILKE STRANI. KJERKOLI SE V TEKSTU NAHAJA ZNAK '%', SE NAMESTO NJEGA NATISNE ŠTEVILKA TEKOCE STRANI. CAN TO JE ZNAK 'CONTROL X' NA TASTATURI (18H), KI POVZROČI BRISANJE VRSTICE, KI SMO JO TIPKALI V PROCESOR. PROCESOR TEKSTA AVTOMATICNO VSTAVLJA PO DVA PRESLEDKA ZA ZNAKI '.', 'S' IN '?', CE JE ZA NJIMI EDEN ALI VEC PRESLEDKOV. TO PA SE NE ZGODI, ČE ZA TEMI ZNAKI NI PRESLEDKA. 17. SKLEP V TEM ČLANKU Si«) NA KRATKO OPISALI UKAZE PROCESORJA TEKSTA IN NAKAZALI NJEGOVO UPORABNOST. V DRUGEM DELU ČLANKA BOMO OPISALI KONKRETNE MAKROJE, ZGRADBO PROCESORJA IN NAOALJNE PRIMERE. PREDVSEM BOMO V NADALJEVANJU POKAZALI RABO PROCESORJA ZA UPORABNIKA, KI MU NI POTREBNO PODROBNO ZNANJE O UKAZIH, TEMVEČ LAHKO UPORABLJA LE NEKAJ IZBRANIH IN NJEGOVIM POTREBAM PRIREJENIH MAKROJEV. NA TA NAČIN POSTANE PROCESOR TEKSTA älROKO UPORABLJIV IN MASOVNI INSTRUMENT V ADMINISTRACIJI IN DOKUMENTACIJI. V NADALJEVANJU ČLANKA BOMO OPISALI TUDI TIPICNE MIKRORACUNALNISKE KONFIGURACIJE, KI SO SMISELNE ZA PROCESIRANJE TEKSTA, , IN SICER 00 CENENIH 00 BOGATO OPREMLJENIH. DODALI BOMO TUOI KRATEK SEZNAM VSEH UKAZOV. P R i M E N A A K KM R METODE U ANALIZI KRU2NE MRE2E RACUNARA ZA PODRŠKU DISTRIBUIRANE BAZE PODATAKA INFORMATICA 3/1979 GOJKO A. BABIC UDK: 681.3 : 336.712 ELEKTROTEHNIČKI FAKULTET U SARAJEVU, ODSJEK ZA INFORMATIKU O ovom članicu, AKKMR metod je primenjen u analizi kružne mreže midi/mini-računara za podr-r-šku procesiranja transakcija u distribuiranoj bazi podataka. Ta mreža računara uključuje deset radnih računara i komunikacionu mrežu koja koristi DI/3N-0v ili Pierce-ov mehanizam za transmisiju poruka. Izvedeni su analitički izrazi za iskorišćenost procesora, prosečnu dužinu redova čekanja i prosečno vreme odziva u sistemu, kao funkcije lokaliteta referenci, opterećenja sistema i intenziteta servisiranja. Opisani su i odgovarajući simulacioni modeli. Rezultati dobijeni iz analitičkih i simulacionih modela su poredjeni i njihovo slaganje je dobro. APPLICATION OP AKIiMH METHOD TO ANALYZE LOOP COMPUTER NETWORK TO SUPPOHT DISTRIBUTED DATA BASE: In this paper, AKKMR method is used to analyze the loop network of midi/mini-cornpu-ters to support transaction processing against a distributed data base. This computer network consists of ten hosts and a communication network using DLCN or Pierce message transmission mechanism. We derive analytical expressions for calculating the utilization of processors, the average queue lengths and the average response time in the system, as functions of locality of references, system load, aud service rates. Also, correspondinc; simulation mpdels are described. Results obtained from analytical and simulation models are compared and agreement between these results is very good. 1. UVOD Ü članku /BAB78/ dati su opis i osnovni princi- fi metoda za analizu karakteristika kružne mre-e računara - AKKMR metod. (Hardverska struktura kružne mreže računara je data na slici 1.) Metod se eastoji od dva osnovna koncepta: a)mo-deliranja čitave komunikacione mreže s jednim poslužiocem i b; analiziranje modela redova čekanja za mrežu računara iterativno, razmatrajući samo jednu komponentu, tj. jedan radni raču-nar (host), u toku svake iteracije. Metod je veoma generalan i jednostavan,,a može se koristiti u analizi heterogenih kružnih mreža računara koje imaju proizvoljan broj radnih računara i koje koriste komunikacione mreže sa bilo kojim transmisionim mehanizmom. Postoje dva osnovna razloga koji su uslovili AKKMR metod:problem Inkopatibilnosti i problem kompleksnosti. I'ietod daje rešenje za oba problema, a njegova opštost sugeriše da bi se sa malim modifikacijama mogao koristiti i za analizu mreža računara sa proizvoljnom topologijom. U istom članku dati su neki i^jzultnfci xM'iiHcnc AKKHR mo1;o(.le u analizi kružne mreže računara sa relativno jed-inostavnom strukturom radnih rnóunara. li ovom članku, AKKMR metod je primenjen u analizi jedne realnije kružne mreže računara i čitav postupak analize je opisan detaljno. Sistem koji je anali'/.iran je rure/.n midi/mini-računara za podpšku procesiranja transakcija (upita) u distribuiranoj bazi podataka. Ta mreža računara uključuje deset radnih račvmara, a razmatrane au komunikacione mreže koje koriste DIX;k-ov /EEA75/ ili Pierce-ov /PIE72/ mehanizam za transmisiju poruka. Ovaj članak je organi^ovan na sli-deći nečin. U druisom poglavlju su.dati opisi sistema koji se fad je referiran na XIV .Simp.Informatica,Bled,okt .1979 analizira i mreže redova čekanja koja se dobije kao odgovarajući analitički model, U trećem poglavlju, koriščenjem AKKMR metode, izvedeni su analitički izrazi za iakoriSćcnost procesora, prosečne dužine redova čekanja i prosečno vreme odziva u sistcDiu, kao funkciju lok.'liteta referenci, opterećenja sistema i intenziteta soivi-Eiranja. Da bi se potvrdila tačnost i^ieUodc i dobi Jenib snalltičkih izraza, u četvrtom poglavlju prvo je opisan simulacibnl model, e zatini v\x poredjeni analitički i simulacioni rezultati. U zadnjem poglavlju sumirani su n»jziisčajnlji rezultati i date su motivoclje koi :i Sćenja kružne komunikacione mreže kao komunikacionog sistema za lokalno mreže računara. 2. OPIS I MODEL SISTEMA Sistem koji se ispituje je kružna mreža midi/mini-računara za podršku procesiranja transakcija u distribuiranoj bazi podataka, identičan sistemu koji je razmatran u /LAB77/. Model svakog radnog računara sastoji se od dva dela: komunikacionog procesora (KP) i sistema za podršku diskova (SD). Takodje je izvestan broj terminala vezan za svaki komunikacioni procesor (slika Komunikacioni i'irocesor pi'jhvnt;' trr.r'i-nl'v.lji: iz terminala, predprocesira ih i šalje na procesiranje lokalnom sistemu za podršku diskova, ako se transakcije mo[ju 7.nclovolji-tl lok.'ilno (lokalne transakcije) ili u komunikacionu mrežu ako se transakcije mogu zadovoljiti jedino kod nekoe od udaljenih sist'ema za podršku diskova (daljinske trnnsakclje). Da bi se tronsukcljn i>:.ocesir8la, tj. dohio odziv može biti. potrebno da se napravi nekoliko pristupa diskovima. Odgovori na lokalne transakcije se posle postprocesiranja na lokalnom komunikacionom računaru prosledjuju do terminala. Kada stignu do svog odredišta daljinske transakcije se predprooesiraju u tom radnom računaru. Odzivi na ove transakcije posle postpro-cesiranja na udaljenom kömunl>:5cio)ioir! r:H("unàru se šalju kroz komunikacionu iiij.v;'/.u do lokalnog radnog računara i prosledjuju do terminala. Na slici 5. Je dat model mreže redova čekanja koji se razmatra u toku svake iterucije AKKMß metode pri analiziranju dotog sistema. Sada su detaljno opisana kretanja transakcija i odziva ki.'oz motlol. Transakcije ulaze u i-ti radni raču-nar iz terminala brzinom L(i) i čekaju na pred-procesironje kod lokalnog koraunikaciono[i procesora (poslužilac 2 i-te komponente koji opslužuje brzinom M(2,i)). One tamo konkiirißu za opsluživanje sa odzlvima na lokalne i daljinske transakcije, koje zahtevaju postprocesiranje i sa dalJinsKiin trnn:itikcijnino (poruke )vi.zn AO)), koje zahtevaju predprocesiranje. Ako transakcije mogu da budu zadovoljene lokalno, ono ßo^'olju lokalnom sistemu za podršku diskova (poslužilac 5 i-te komponente koji opslužuje brzinom M(.5,l)). Tu one konkurlšu za procesiranje daljinskim transakcijama ostalih priključenih komponenti. Posle jednog procesiranja transakci-• ja može da se sa odredjenom verovatnoćom pridruži redu čekanja poslužioca 5 radi dodatnog procesiranja, jer viSe pristupa disku može biti neophodno da bi se transakcija zadovoljila. Posle konačnog procesiranja odgovarajući odzivi odlaze do loknlnoc kotnunikoclonoL; procesora na postprocesiranje. Ovog puta oni konkurlšu za opsluživanje lokalnim i daljinskim transakcijama, koje zahtevaju predprocesiranje i sa odzxvima na daljinske transakcije, koje zahtevaju postprocesiranje. Posle pofltprocesiranja odzivi na lokalne transakcije se šalju nazad do terminala. Ako trail.'ykcl je K-e. t<. :r ir;i 1 vv >■, i-ti radni računar trebaju bibi procesirane na nekom udaljenom radnom računaru, posle predprocesira-nja one se šalju u komursikacioiiu lorežu (poslužilac 3 i-te komponente koji opslužuje brzinom M(l,i)>. One tu konkui'iiju za pi-ocesiranje sa odzlvima na daljinske transakcije iz drugih komponenti (odzivi na transakcije Ì7, niza A(i) , koje su zadovoljeno u i-tom radnom računaru;. Daljinsko transakcije i-tog radnog računara odlaze do drugih radnih računara (kao deo niza 0(1)) kroz komunikacionu mrfrSu.. Posle dolaska u udaljeni, recimo J-ti, radni računar, svaka transakcija se ponovo predprocesira kod j-tog komunikacionog procesora (poslužilac 2 J-te komponente sa brzinom M(2',j)). Posle procesiranja (poslužilac 5 j-te komponente sa brzinom M(3,j)), vrši se postprocesiranje kod j-tog komunikacionog procesora. Odzivi se zatim šalju kroz komunikacionu mrežu (poslužilac 1 j-te komponentesa brzinom M(l,jp, da bi posle dolaska u lokalni radni računar bili direktno prosledjeni do terminala odakle su transakcije bile poslane (poruke niza B(i)). 3. ANALITICO 1ÌEZULTATI ■ , U ovom poglavlju će biti izvedeni analitički izrazi za prosečno vreme odziva, iskorišćenost procesora i prosečne dužine redova čekanja, kao funkcije lokaliteta referenci, opterećenja sistema i intenziteta procesiranja. Definicije 1 predpostavke. Predpostavlja se da je sistem u stacionarnom režimu i da nema padova delova. sistema ili transmlslonih grešaka. Tako-dje se predpostavlja da su sledeći parametri poznati i dati: ^ 1. matrica servisiranja zahteva,y =(f(i,J)), Sde je f(i,j), i,j=l,2,...,N (N je broj radnih računara u sistemu), deo zahteva koji su generi-sani sa terminala vezanih za i-ti radni računar i trebaju biti zadovoljeni u j-tom radnom računaru i- 2. brzina dolazaka L(i), 1=1,2,...,N, je brzina generlsanja zahteva sa terminala vezanih na i-tl radni računar (pretpostavlja se Polsson-ov proces); ■ ^ 5. brzine opsluživanja M(2,i) iM(3,i), i= 1,2,...,N, su brzine opsluživanja poslužioca 2, odnosno poslužioca 5, i-tog radnog računara (predpostavlja se eksponencijalna distribucija); 4. c(i), 1=1,2,...,N, je prosečan broj pristupa dinku potreban da se zadovolji Jedna tran. sakcija(pretpostavlja se geometriska distribu- cija); 5. l/k(i), i=l,2,...,N, je prosečna dužina poruke poslane iz i-tog radnog računara (predpostavlja se eksponencijalna distribucija); 6. 0 je kapacitet komunikacionog kanala; 7. B je dužina adresnog polja u poruci. ' Sada se sledeča dva parametra mogu izračunati: 1, F(.i;, 1=1,2,...,N, je frakcija transakcija koje trebaju biti zadovoljene u nekom udaljenom radnom računaru, F(i) = ZlfCi.j) (1) 1=1 Zapazi da je brzina dolazaka poruka u nizu B(i) jednaka F(l)L(l); 2. S(l), 1=1,2,...,N, Je brzina dolazaka daljinskih transakcija u i-ti radni računar, S(i) - r f(j,i)L(J) (2) i=i Zapazi da su brzine dolazaka poruka u nizovima A(l) i Cd; jednake S(i), odnosno S(i)+F(i)L(i). Hačunan.le verovatnoća prelaza. Defintfiane su sledeće vorovatnoće prelaza: 1. q(l,i), 1=1,2,.i.,N, verovatnoća da posle opsluživanja kod poslužioca 2 i-tog radnog računara transakcija ide do poslužioca 3 istog radnog računara; 2. q(2,l), 1=1,2,...,K,'verovatnoća da posle opsluživanja k;;d poslužioca 2 i-tog radnog računara transakcija ide do poslužioca 1 istog radnog računara; 5. q(3,i), 1=1,2,...,N, verovatnoća da posle opsluživanja k,.d poslužioca 3 l-tog radnog računara transakcija ide do poslužioca 2 istog radnog rćičuri.'irn. Verovatnoća prelaza iz čvora X u čvor Y se dobije kao odnos brzino dolazaka zahteva u čvor X iz čvora X 1 ulcupne brzine ckII'.z.•i ai-Mtem linearnih Jednačina koji odgovara mreži redova čekanja koja modelira čitav sistem, imaoXRCi) Jednačina. U simetričnom slučaju svi parametri su isti,vpa = q(2) q(5) - i a(l) = 21'L e(2) » (2 + T)L a(3) = cL (9) gde Je F=F(i), q(lO-q(k,t>i a(k)=a(k,l), I,=L(i) i o=c(i) za k»l,2,3 i i=l,2,...,N. . Može se lako proveriti da su izrazi za parametre dobijene u /I), Sde P(i,J), i.J=l,2,...,N, označava frakciju prometa generisanog iz i-tog radnog računara čijo Je odredište J-ti radni računar /LIU77, HAY71/. F(1,J) Je dato sa izrazom: PCi.J) (10) 0 1=J Zapazi da Je izraz (10) opSti i ne ovisi od konfiguracija radnih računara ili transmisionog mehanizma koji se koristi. Saat, su 3vi parametri koji se traže za analizu k-uzne komunikacione mreže definisani i izraču- nati. Da bi se dobilo presečno vreme kašnjenja poruke T korističe se odcovarajuča analiza. Tako na primer, u slučaju DLCN si^j-tema korističe se analiza iz /LIU77/, dok se za i"ierce-ovu mrežu koriste rezultati iz /E,\Y71/. Tada se može izračunati prosečno vreme opsluživanja poslužioca koji aproksimira komunikacionu mrežu H(l,i), 1,2,...,N,'kao M(l,i) = ^ + a(l,i) (11) Uoči da'iko Je a_(1 - F(l))L(i)TL(i) TL - 1=1 Zid - F(i))L(i) 1 = 1 (19) Konačno, prosečno vreme odziva da se zadovolje transakcije sa terainala vezanih za i-ti radni računar TD(i), 1-1,2,...,N, Je dato sa TD(i) = F(l)TR(i) + (1 - F(l;)TL(l) (20) a crosečno vreme odziva u sistemu TD, Je dato sa JL' >_.L(i)TD(l) TD - ifi----(21) Z.: L(l) 1=1 Uoči da su izrazi (16),(1?),(19),(20) i (21) •opšti 1 ne ovise o konfigüraciji računara. Sa ovim.Je završeno Izvodjenje analitičkih izraza za više projektnih parametara za datu kružnu mrežu računara. U sledečem poglavlju su po-redjeni simulacioni i analitički rezultati do-;bijeni iz Izraza izvedenih u ovom poglavlju. ■A. SIMULACIONI MOOiiLI I P0R1ÌDJENJE ANALITIČKIH I SIMULACIONIH REZULTATA U toku predhodne analize napravljeno Je više predpostavki i aproksimacija. Da bi Još Jednom verifikovali AKHIH metod i dobljene analitičke izraze izvršena su simuliranja kružne mreže ra-čunarakoja se razmatra, pa su se analitički i simulacioni rezultati mogli porediti. Simulacioni modeli au konstruisani da oponašaju što Je moguće tačnije stvarno funkcionisanje mreže računara. U modeliranju Je korišćen GP3S simulacioni programski Jezik, a simulacije su izvrsé-ne na IBM 570/I68 računaru. Opis slmulacionlh modela. Iako Je bit precizniJa mera za dužinu poruke da bi se ostvarile efikasnije i ekonomičnije simulacije, korišćen Je '/,nak (1 znak = 8 bita) umesto bita kao Jedinica dužine poruke. Tako su sva vremena izražena u proizvoljnim znak-vremenskim Jedinicama. Simulacioni modeli su se sastojali od deset radnih računara priključenih na komunikacioni kanal kapaciteta C = lo ili 50 Kbit/seć. Svaka poruka koja Je multlplekslrana'U komunikacioni kanal sastojala se od konstantnog dela (100 znakova) i eksponenciJalnog dela sa srednjom vred-nošću od 60 znakova (maksimalna dužina ekspone-ncijal-nog dela Je 600 znakova). Propagaciono kašnjenje Je ignorisano, dok Je svaki komunikacioni interfejs doprinosio kašnjenju od 2 vremenske Jedinice za proveru adrese u adresnom polju poruke. Komunikacione mreže su koristile BhON-ov ili -Pierce-ov mehanizam, za.transmisiju poruka. Za modele Pierce-ove komunikacione mreže, veličina pakota od 90 znakova Je izabranaza datu prose-čnu dužinu poruka. Odlučeno Je da se samo Jedan kompletan paket može staviti u komunikacioni kanal, kao što Je bilo uradjeno i u nekim drugim simulacijama /HAY71/. Kašnjenje od,70 Jedinica vremena Je postavljeno Izmedju poslednjeg i prvog interfejsa. Mko svih deset komunikacionih interfejsa zajedno unose kašnjenje od 20 Jedinica vremena, na taj način kašnjenje od 90 Jedini-, ca vremena Je formirano, što odgovara potrebnom vremenu da se transmituje Jedan paket od 90 znaka. 25 terminala Jo vezano na svaki radni računar sa prosečnim vremenom razmišljanja (vreme koje protekne izmedju dolaska zadnjeg odziva do terminala i slanja sledeče transakcije iz istog terminala) Jednakom 90 sekundi. Zapazi da smo u analitičkoj analizi predpostavili da su zahtevi ge-nerisanl poisson-ovim procesima brzinom 90/25= 5,6 transakcija u sekundi. Analizirani su simetrični i asimetrični slučajevi. U simetričnom slučaju razmatrane su homogene mreže računara, gde svi radni računari imaju is-.' ta'pr'o,-:ečna vremena predprocesiranja, procesiranja* i postprocesiranjajednaka 5,2 msec, 52 msec, odnosno 5,2 msec (svo vremena ;3u ek.sponencijalno distribuirana), a daljinske transakcije jednog radnog računara su unifoiuno distribuirane naos-talih devet radnih računara. Broj pristupa disiai po Jednoj transakciji Je uniformno distribuiran izmedju 1 i 29, sa srednjom VrednoSću c(i) Jednakom 15. Za ovaj sistem uniformna distribucijo Je relativno tačna i realistično predpostavka, koja Je korišćena 1 u /LAB77/. Podsetimo ye da . smo u analitičkoj annlif.i uzeli dn Jo q(5,ì) = l/c(i) = l/15 verovatnoća da zahtev neće jjonovo otići u red čekanja SD-a. To implicira geomet-risku distribuciju zu bj.-oj pristupa disku. Poznato Je da Je varijansa ove distribucije veća od varijanse uniformne đi.strlbucije. Konsekventno, analitički model je konzervativniji (kašnjenja su veća) od simulacionog modela. Naglašavamo da riije poznat metod za inkorporiranje uni-:formne distribucije u model mreža redova čekanja. U asimetričnom slučaju razmatrana Je mreža koja se sastoji od jednog velikog aii.-.tema i đevot mu-njih. Karakteristiko manjih radnih računara su identične onima u simetričnom slučaju, osiin što se sve daljinske trünhuiJccije ađreširaju na veliki radni računar. Prosečna vremena predprocesiranja, procesiranja i postprocesiranja su 1,6 msec, 12,8 msec, odnosno 1,6 msoc. Transakcije sa terminala veiuinih zć> veliiri radni računar su uvek lokalno zadovoljene. Radi ograničenog prostora detalji simulacionog procesa 1 analiziranje datog modela nisu uključeni u ovaj članak. Članak sa opštim opisom simulacionog procesa i analiziranje simulacionog modele (odredjivfmje trenutka početka uzimanja rezultata iz simulacionog modela, dužina trajanja simulacije, analir.iranje ciobijenib rezultate, itd) sa opisom autorovih iskustava u vezi ovih slmulacionlh modela Je u pripremi /BAB80/, Poredjenje analitičkih 1 slmulacionlh rezultata. Na slikama 4-8 dati su neki" analitički" rezultati (pune linije) i simulacioni rezultati (specijalni znakovi). Na svim. grafovima x-osa Je procenat daljinskih transakcija PDZ. Na slikama 4 15 prikazani su rezultati za DLGN-ov sistem za prosečno vreme odziva u sistemu TD (simetrični i asimetrični slučajevi). Na slikama 6 i 7 su grafovi za Pierce-ovu mrežu računara za iste parametre. Slika 8 prikazuje iskoriščenost SD-ova . U(5,l) za asimetrični slučaj. Zapazi da U(5,i) ne zavisi od kapaciteta komunikacionog kanala 1 mehanizama za transmisiju poruka. Može se uočiti da Je slaganje izmedju analitičkih i slmulacionlh rezultata veoma dobro, na-.ročito za. veće vrednosti 0, 6 2 5. ZAiiLJVČAK ' O ovoa članku AKKMR metod Je prlmenjen u analizi kružne mrože računara za podršku distribuirane baze podataka. DobiJ|eni au analitički rezultati za presečno vremti odziva u sistemu, dužine redova čekanja i iakorišćenje procesora, kao funkcije loteilitots ro-fiT-ncl, oi'l;«j'<'ćenJa aistema i brzine opsluživanja. Čitav postupak je opisan detaljno tako dtt bj ne moguo loko prilagoditi i primenti u analizi mreža računara ,sa drugačijom konfiGuracijom rudnih rtičunara. U toku razvijanja analitičkog; modela uvedeno je viSo predpostavki i aproksimacija. Da bi se ve-rifikovali analitički rej-.ultati izvrrsena je simulacija koriščenjem GP3S siuulacionog jezika, aiaganje analitičkih i simulaoionlh re/.ultato jo vfjomr. clol ri). Ka kraju bi ž'.leli da istaknemo'pogodnosti kružnih mreža računara kao lokalnih mreža. Razvoj midt/m;'-ni računarskih sistema koji su relativno jeftini sugeririe njihovu intKii'rnciju u »noänije sietome. Kako jo sa đani?'njom koinunikecionow tftluiolutijoin motiuće imeti ekonociaki opravdane komunikacione kanale velikih kapaciteta, reda Mbit/seo, samo na malim uđaljenontiina, u zadnje vn^int lokalne mro So računara privlače pažnju amoclb Istraživača i postoji značajan trend u tom pravcu. Tako naprimer, IVIP radna grupa 6.4 sa lokalne mreže računara (IFIP WG on Local üomputex' Networks) je osnovana ove goflinß. Kružne komunikaciona mreže kao komunikacioni »letea za lokalne mreže računara radi svoje strukture, funkcionisenj« i tehnološkog razvoja nude mnogra prednositi. Nsj^nečajnije prednosti fiU jeftin i jednostavan komunikacioni interfeja >Miđ«s> od 4500) r Jttißkn. 1con«tp«K«+o»e eer» .potrebno je samo dodati novi komunikacioni iniw.riü!.' buy orbiljn.ijug uticHjij o.stwtiik Biatema)j velike braine prenosa (1-10 flbit/seo), lako marsutiranje (postoji jedinstven put izme-dju bilo koja dva čvora), jednostavno emitovenje j^oruka - "broadcasting" (poruka se kopira u svakom komunikacionom interfojtju, a odstranjuje se koda dodjri do interfejsu koji jcj 3'/vr5io transmisiju) i laka kontrola protoka (komunikacioni interfejs samo čeka na slobodan i neiskorišćen đeo komunlkncionog knnnln iln transmisi- ju). Pregled kružnih komunikacionih mreža sa distribuirtìnom kontrolom i njihovo poredjenje su dati u /EAB79/. REFER liiiJOii BAB78 G. A. Babi6, "Analiza karakteristika kružnih ni>eža računara (opis AKKMR metode)," Informatica 78. Bled, oktobar 1978. BAB79 G. A. Babi6, "Lokalne mreže računara: Kružne komunikacione mreže.":Jugosloven-s^ i^mpo?.i.ium o InfoTTiigcionim sistemimo, Beograd,maJ 1979. BABBO G. A. Babii, " Simulacija kao metod za ispitivanje karakteristiko rnčunarskih Biotema," u pripremi. BAi»75 P. Baskett i autori, "Open, Closed, and Mixed Networks of Queuoa with Difroreut Cluöue:- of Cuiyi;oi.(:rr," iEASIi, april 1975. HAY7I J: F. Hayes i D. N. Sherman, "Traffic Analysis of a Ring Switched Data Trans, mission System," Boll System Tech. Jour-ßgl, novembar 1971^ .JAC57 J. R. Jackson, "Network of Waiting Lines" Op«-rations Research. 1957. LAB77 J. Labetoulle i autori, "A Homogeneous Comp. Networks: Analvsia and Simulation" Computer Networks, maJ 1^77. LIU77 «. I. I>i«i G. A^.Babić i B. Pardo, "Traffic Analysis of the Distributed Loop Computer Network (DLCN)," National Telecom-unioation Conf., Los Angeles, S.A.D. decembar 1977. PIE72 J. R. Pierce, "Network for Block Switching of Data," Bell System Tech. Jo Oll( svnujt- > < TEKHINFtL Point > < TOtKH^ilo VRI^ltN^e > S ve£«ftiNĐ DlldEi/ftNic > MiftRmi NuniLBien V < TlSUBNn veEJft > Vsekakor omejitev ne obstaja samo za ožičevanje pri visokih proizvodnih količinah, ampak tudi pri številu povezav na enoto. V primeru, da ae število povezav na enoto povečuje se premikajo na levo tudi diagrami na sl.l, 3) SPREMLJAJOČA MATERIALNA OPl^MA Za ožičevanje potrebujemo samo ploščo opremljeno z enojnimi DIP ( dual inline package ) podnožji za elemente, ki imajo ožičevalne trne, V večji konfiguraciji imamo lahko več medseboj povezanih plošč, ali povezovalno polje z različnimi velikostmi trnov in različnimi medsebojnimi razdaljami, vso to pa povečuje konstrukcijske zmogljivosti. 3a) Trni za ovijanje Edina omejitev, ki nastopa pri trnih za ovijanje je potreba po vs aj dveh ostrih robovih, da se dobi ustrezen električni kontakt. Običajna pošča za ožičevanje vsebuje kontaktne trne 0.91 mm (, 0.Ü25 cole ) na 2.4 mm ( 0.100 cole ) mreži. Material iz katerega so trni narejeni je največkrat fosfor - bron, posrebren ali pozlačen. Na razpolago je več oblik trnov, ki se na tržišču dobijo v velikih količinah. (si. 2 ) g. trn za diskretne eletnente enojni trn r IC pođno?ni trn -G 3- dvor.translLi trn .11. 1, Tehnll:n povezav nlnde nn količino in vrsto tohnoloniin, SI, 2, najbolj pogoste ol.ilike trnov, V poprečnem proizvodnem obsegu pomeni ožičevanje priporočljivo alternativo za večino aplikacij. Med drugim so tudi naslednje prednosti! preprosta tehnika, hitra proizvodnja ( od prototipa do izdelka cca. 7 dni ), ekonomičnost, kompaktnost ( dovoljuje veliko gostoto elementov na površini vezja - enako kot pri dvostranskem tiskanem vezju ), fleksibilnost ( lahko mu kadarkoli spremenimo obliko in zasnovo vezja ). Zaradi enakega delovnega medija, mnogokrat nimamo dodatnih stroškov pri preliodu iz prototipne v proizvodnjo serijo. Spajkanje dopušča zelo visoko gostoto elementov po površini vezja. Vendar pa Se vedno potrebujemo izredno drago opremo In posebno predpripravo in pripravo vezja. Spremembe in popravki so mnogokrat težko izvedljivi ( zaradi ponavljanja vseh faz priprave ). Spajkanje se zato priporoča pri količini 1000 enot vezij ob nizki proizvodni ceni glede na enoto. Pri serijah od 1000 enot vezij navzgor postanejo tiskana vezja, hibridna vezja in večslojna vezja cenejša od ožičevanja. Toda tudi pri tej količini ae lahko uporablja ožičevanje, skoraj do spodnjega dela visoko količinske proizvodnje oz. do mej kjer je to rentabilno. 3b) Povezovalne plošče s tiskano mrežo Plošče so narejene iz različnihi materialov, kot so: epoksi, polyester, termoplastik, eno ali dvostransko tiskane z Cu slojem. Uporabnik lahko izbira različne izvedbe plošč, ki se razlikujejo poi funkcionalnosti. Najbolj pogosto se uporabljajo plošče z ali brez V/I vodnikov, že vstavljenimi podnožnimi trni, DIP podnožji, razporejenimi vodili za Vcc in GMD, kondenzatorji za blokiranje napetosti, vsemi vrstami konektorjev in ostalimi možnostmi za izbiro. Uporabnik lahko izbira med mnogimi velikostnimi formati, oblikami konektorjev in ohišij, ( sl.3 ) Na tržišču so na voljo univerzalne ožičevalne plošče za mini in mikro; računalniške sisteme kot so: AMI 680MDC,' AMI EVK300 , Altair, CAMT^C, Data General,; DEC PDP-8, DEC PDP-11, DEC LSIll, Hew let Packard, lieatkit lill, IMSAI 8080, INTEL 8080, INTEL SBC, Mostek SDB, Motorola 6800, National SC/MP, Prolog, POLY 88, RCA Cosmac, Textronix 8001, Texas Instruments 990/960, Zilog Z80-MCD. Vse te poišče za ožičevanje proizvaja tvrdka Garry Manufacturing. 66 iX: SI. 3. Univerzalna ploSCa z rasterjem za DIP podnoÄje, napetostnimi vodniki, I/O ko-nektorji za INTEL SBC 80/10. Kynlar izolacija se uporablja predvsem pri avtomatičnemu snemanju. izolacije iz vodnika z "Cut - Strip - Wrapp" orodji. Pri tej vrsti orodja so snemalne sile preračunane za ta tip izolacije, tako da se ta tip orodja NE da uporabljati za ostale tipe izolacije. To orodje se tudi NE priporoča za ovijanje žice debeline 30 AWG ( 0.25 mm ). 4) DOLŽINA SNETE IZOLACIJE IN IZBIRA OVIJANJA Glede na ceno in kvaliteto ovijanja moramo upoštevati več parametrov. Izbrati morano žico in dolžino snete izolacije. Dolžina snete izolacije se direktno poziva pri ät. ovojev. Kolikor daljgi je konec žice brez izolacije, tolikokrat se žica lahko ovije okoli trna. Nekaj osnovnih pravil za dolžino žice, kjer snemamo izolacijo je prikazanih na si.4 v odvisnosti od debeline žice. Cena narašča od 10 dinarjev za DIP podnožje do 500 din za majhno logično kartico. Cena ožičevalnega polja za vodilo srednje velikosti je približno 6000 dinarjev in preko nekaj sto tisoč dinarjev za več povezanih plošč z vsemi materialnimi dodtaki. Vendar tu ne moremo podati dobre primerjave zaradi različnih proizvajalcev in cen. 3c) Žica za ožičevanje Žico izberemo glede na vrsto uporabe. Običajno se uporablja, žica od 22 - 30 AWG ( 0.65 - 0.25 mm ). V telekomunikacijah se je uveljavil standard za debelino žice od 22 - 24 AWG ( 0.65 - 0.50 mm ) v elektroniki pa standard za debelino žice 30 AWG ( 0.25 mm ), vendar pa v principu ni omejitev pri izbiri debeline žice. Najvažnejša lastnost žice je električna prevodnost. Druga zahteva je elastičnost, žica je med procesom ovijanja izpostavljena upogibanju in raznim mehanskim napetostim. Pri takih pogojih uporabe pa običajno poči krhka žica. V razredu 18 - 22 AWG { 1.02 -0.65 mm ) mora žica zdržati minimalno 20 procentno podaljšanje. Za razred 24 - 32 AV?G ( 0.50 - 0.20 nun ) se priporoča vsaj 15 procentno podaljšanje žice. V vsakem primeru se ne priporoča aluminijasta žica, ki teh lastnosti nima . Uporabnik leihko izbira med navadnim bakrenim vodnikom, počinjenim ali posrebrenim vodnikom. Posrebreni vodniki so priporočljivi zaradi odpornosti proti koroziji in podaljšujejo življenjsko dobo orodju. Ožičevanje je osnovano na čistem kovinsko kovinskem kontaktu med žico in trnom, tako da posrebrena žica ne nudi dodatnih prednosti. 3d) Izolacija žice Najbolj znana izolacija za žico je KYNLAR in ostali PVC tipi. Izolacija mora imeti visoko dialektričnost, nizko ceno in različne barve. Izolacija se ne sme nikoli tesno sprijeti z žico, zradi lažjega snemanja. Za uporabo pri višjih teperaturah in vibracijah se priporoča uporaba TEFLON ali MIL-ENE izolacije. Te vrste izolacije imajo veliko elastičnost in termično stabilnost, so odporne proti kemičnim vplivom v primeru, da jih uporsibljamo pri prisotnosti topil ali korozivnih plinov. Slabost teh vrst izolacije je visoka cena in relativno težko odstranjevanje z vodnika. WIRE SIZE "SHINER" LENGTH OF STRIPPEO WIRE FROM TO AWG MM INCHES MM INCHES MM 20 OA. 0.80 1-5/16" 33.33 1r11/I6" 42,86 22 GA. 0.65 1-5/16" 33.33 1-9/16" 39.66 22-24 GA. 0.6W).50 1-5/18" 33,33 1-9/16" 39,8« 24 GA. 0.50 1-5/16" 33.33 1-9/16" 30.66 26 GA. 0.40 1-5/16" 33.33 1-11/16" 42.66 28 GA. 0.32 7/8" 22,22 1-1/8" 26.57 30 GA. 0.25 7/8" 22.22 1-1/8" 29.57 SI. 4. Dolžina snete izolacije za ožičevanje glede na debelino žice. Ovijalna sila pritiska žico na tm in število ovojev se končno odraža kot kvaliteta kontakta. Z naraščanjem števila ovojev narašča tudi število kontaktnih točk, oziroma pada upornost celotnega spoja. Z določitvijo ovijalne sile, ki jo lahko kontroliramo tudi med delovnim procesom se omogoči ustrezen pritisk med žico in trnom, kar zagotavlja ustrezen kovinsko kovinski spoj med žico in trnom. Nakratko, če narašča dolžina snete izolacije se izboljšujejo tudi električne in mehanske lastnosti, to pa tudi zviša ceno. Končno je tudi upornost kontakta, ki jo dosežemo z minimalnimi zahtevami že v razredu 10-E4 Ohma, tako da dodajanje navojev ne poveča prevodnosti. Samo okroglo žico se lahko ovije okoli trna. Tako dobimo običajen tip ovijanja. Lahko pa se še navije dodatnih 1 1/2 ovoja izolacije, stem se dobi modificirani tip ovijanja. Izolacija ovita okoli trna služi za kompenziranje mahanske stabilnosti in ublažitve pritiska žice ob prvi rob trna, vendar san» pri manjših debelinah žice. ( si. 5 ) ^UÜ!» SI. 5. Povečana slika trna ovitega z Slco a) običajno ovijanje b) modificirano ovijanje Pri debelini žice 18 - 24 AWG ( 1.02 - 0.5 mm ) mehanska stabilnost običajnega ovijanja zadovoljuje zahtevam. Toda pri debelini žice 24 AWG { 0.5 iran ) se pojavljajo različne vibracije, tako da se priporoča modificirano ovijanje. Izkaže se tudi, da je modificirano ovijanje bolj prikladno za uporabo. Tako se je primerno v praksi ustalila uporaba naslednje debeline žice« * V telekomunikacijah 22 - 24 AWG ( 0.5 - 0.6 mm ) * V elektroniki 30AV7G ( 0.25 mm ) za način ovijanja * Za premer žice od 18 - 24 AVJG ( 1.02 - 0.5 mm ) je tipično običajno ovijanje * Za premer žice od 26 - 32 AWG ( 0.4 - 0.2 mm ) je tipično modificirano ovijanje. 5) OPREI-IA ÌW ORODJE 2A OŽIČEVANJli Izbira tipa ovijanja je preprosta funkcija, ki je odvisna samo od ovijalnoga vodila. Bistveni del celotnega postopka ožičevanja sta "BIT" in "SLEKVE", VODILO in TULEC. Pri izbiri vodila pa moramo upoštevati nolednje lastnosti ( si. 6 > a) Odprtina za žico mora biti dovolj velika, da sprejme iico katero Selimo ovijati. b) Kontaktna luknja vodila mora biti dovolj dolga, da prekrije kontakt katerega želimo ovijati. c) Vodilo mora biti konstruirano za določen tip ovijanja, katerega želimo uporabljati,( običajno, modificirano ) ( si. 7 ) SI. 6. Tulec (levo) in vodilo. SI. 7. Vodilo za običajno in modificirano ovijanje. Vodilo za modificirano ovijanje imn na začetku večjo odprtino za 1 1/2 ovoja izolacije. a- PRB-1 DIGITHL LOGIC PROBE Compalible wilh DTL, TTL, CMOS, MOS and Microprocessors using a 4 lo )5V power supply. Thresholds au-tomalically programmed. Automatic resellmg memory. No adjustment required, Visual indication cl logic levels, using LEO'S to show high, low, bad level or open circuit logic and pulses. Highly sophisticated, shirt pocket portable (protective tip cap and removable coil cord) • DC to > 50 MHZ • 10 Nsec. pulse response • 120 K il impedance • Automatic pulse stretching to 50 Msec. • Automatic resetting memory • Open circuit detection • Automatic threshold resetting • Compatible with all logic families 4-15 VDC • Range extended to 15-25 VDC with optional PA-1 adapter • Supply O.V.P. to ± 70 VDC • No switches/no calibration OK MACHINE & TOOL CORPORATION 3455 Conner St., Bronx, N,Y. 10475 (212) 994-6600 / Telex 125091 (ause wšm«o raiXBÜE «ima®© Sß® mm (Duais SWRäHS racoBün Ewim? WWÖK5 rašEt®? 1À0® (SWl«»® caiaiesPiT. D msmm s WML (M)®ÄTMM M (MßS m,. ©MH, ì» i NOVICE IN ZANIMIVOSTI O NOVIH MIKROPROCESORJIH FED I DA - IZUMITELJ VIDEOTEKSTA EN SAM INŽENIR JE V POZNIH ŠESTDESETIH LETIH PRI BRITANSKI POSTI SANJARIL O SISTEMU, IZ KATEREGA SE JE KASNEJE RAZVILA SODOBNA NOVA INDUSTRIJA, TA SISTEM JE DOBIL IME PRESTEL TER JE POMENIL TEHNIKO GLEDANJA PODATKOV (VIEWDATA), TO JE POVEZAVE TELEVIZIJSKEGA TERMINALA PREKO TELEFONSKEGA OMREŽJA Z RACL»liOGIIAMMING ■ tow COST PER TEST ■ BASY TO OKRATE m FAST ■ miABLE ■ ADVANCCD eUCTRONIC DESIGN ■ CAPACITY EASILY EXPANDED ■ MONITORS OWN INTERNAI FAILURES ■ CIEAR ERROR PRINT OUT ■ SIMPIE INTERFACING WITH TEST OBJECTS OK MACHOVEAIVD TOOL COHPORATtOBi S4U CONNER STREET, BRONX, NEW YORK, N.V. 1047» UA.A. 4 PHONEr;iluni'jga polja izohorno ekstruzijo Projekt: Računalniško projektiranje Nosilec naloge: Peter Leš, VTŠ, V TO strojništvo, Maribor Program razisk;ive: Na osnovi naših do.seilanjili izkušenj nn področjih preoblikovanja, metalurgije, mehanike, termntehnike in računalništva bomo 1°79 (oz. v 12 mesecih od odobritve naloge) izdelali računalniški program, ki bo izvrednotil temperaturne razmere v preoblikovalnem območju. Uporabili bomo metodo končnih razlik (ki za topiotre '.zračune daje enako ugodne rezulloLu kot bolj moderna metoda končnih elementov). V naslednjih letih bi lahko obdelali tudi pro-lilem določitve končnih elementov za obe področji dela (tj. termo-plastifikacija) . O HOW DO I CONNECT MY PRODUCTS O TO MY TEST SYSTEM? DATAMASTER INTERFACING FIXTURES □ FAST □ SIMPLE □ ACCURATE o NO MAINTENANCE □ REPLACEABLE PROBE PINS □ INTERCHANGEABLE PROBE HEADS □ FOUR SIZES □ EIGHT PROBE PIN STYLES □ FIELD-PROVEN □ COST-EFFECTIVE O COMPLETE USER SUPPORT compatible with any testing system used for moderate or low voltage verification of back panels, pc boards, multilayer, hybrid logic assemblies, flat electrical assemblies and more. vour product Naslov naloge: Materialna/programska oprema za računalniško industrijo Projekt: Računalniška tehnika in proizvodnja Nosilec naloge: Anton P.Železnikar, IJS, Ljubljana Program raziskavo: Za pogodbeno leto 1979 je predviden naslednji okvirni program dela: 1. Metodologija načrtovanja mikroračunalniških sistemov 2. Raziskave podsistemov s centralnimi procesorskimi enotami, krmilniki za diske, za prekinjanje, za časovne funkcije, za direkten pomnilniški dostop, za prikazovanje, za serijski in paralelni vhod/izhod. 3. Raziskave mikroračunalniške sistemske programske opreme (operacijski sistemi, zbirniki, prevajalniki, urejevalniki, nalagalniki), in sicer tako rezidentne kot prečne programske opreme. 4. Raziskave multimikroprogramskih sistemov in paralelnega programiranja mikro sistemov. 5. Teoretične raziskave distribuiranih informacijskih sistemov, multi uporabniški sistemi. 6. Samorazširljivi in samoorganizacijski programirni koncepti in metode kot sredstvo za pospešeno proizvodnjo mikroračunalniške programske opreme. 7. Vrednotenje dinamike programov in procesorjev (meritve izvajalnih časov, lokalibilnosti, pojavnosti spremenljivk, odkrivanje napak, regeneracija programa ). 8. Ocenjovanje najnovejše tehnologije na področju mikroračunalniške matrialne in programske opreme. 9. Osnovni eksperimenti z mikroračunalniki in primitivnimi roboti: operacijski sistem za gibajoči robot z dvema rokama. Naslov naloge: Grafični sistemi za računalniško projektl-tiranje Projekt: RačunamisKo projektiranje Nosilec naloge: Anton Jezernik, VTŠ, Maribor Program raziskave: Program raziskave je tro-leten s konkretnimi rezultati ob koncu vsakega leta. V prvem letu bo možno izdelati en del grafičnega sistema za generacijo podatkov in risanje rezultatov in vskladiti oz. vpeljati nekatere računske programe za konstrukcije na miniračunalnik. Večji konstrukcijski programi (SAP, BERSAFE) se bodo še vnaprej uporabljali na večjih računalniških sistemih n. pr. CYBER 70-72 povezava (interface) pa bo ustvarjena z grafičnim sistemom preko magnetnih trakov. Naslov naloge: Razpoznavanje rokopisov,tipkopisov in prstnih odtisov (Razpoznavalni sistem celih in delnih prstnih odtisov ter sledi) i rojekt: Individualne naloge Nosilec naloge: Ludvik Gyergyek, Fakulteta za elektrotehniko, Ljubljana Program raziskave: - Pretvorba slikovnih vzorcev v digitalno obliko in shranjevanje na masovni pomnilnik. - Določitev in računalniška implementacija postopka predobdelave. - Določitev monitorskih ukazov za ;ielo s sistemom. - Določitev postopkov za vnašanje značilnih točk v računalnik preko grafičnega zaslona. - Prireditev in povezava že razvitih postopkov za avtomatsko razpoznavanje prstnih odtisov na računalniku PDP 11. - Preizkus razpoznavalnega sistema š testnimi vzorci. Naslov naloge: Simulacija velikih sistemov na mikroprocesorskih strukturall Projekt: Krmilja in regulacije Nosilec naloge: Karel Jezernik, VTŠ,'.VTO Elektrotehnika, Maribor Program raziskave: Nalogo prijavljamo kot triletno s tem, da bomo vsako raziskovalno leto zaključili z elaboratom. Pri raziskavi bomo paralelno razvijali metodo simulacije na procesnem računalniku s ciljem aplikacije v mikroračunalniku. Za reševanje naših aplikacij bomo raziskali propustnost in kapaciteto mikroračunalniških sistemov. . Zgradili bomo mikroračunalnik v strukturi sposobni delovanja v realnem času. Razvili bomo mikroračunalniške programe za karakteristične aplikacije elektroenergetskih napravin regulacijskih podsistemov. Razviti računalniški programi v fortramu nam bodo služili pri Izdelavi diagramov potekov obravnavanih aplikacij. V prvem raziskovalnem letu bomo zgradili mikroprocesor s potrebnimi vhodno izhodnimi enotami. Razvili bomo programe za simulacijo.regulacije vzbujanje in frekvence sinhronskega stroja. Kompliciran dinamični sistem sinhronskega stroja bomo simulirali na procesnem računalniku. Raziskali bomo aplikacije mikroprocesorja v elektrarni. Naslov naloge: Uporaba numeričnih metod v analizi in sintezi regulacijskih sistemov Projekt: Krmilja in regulacije Nosilec naloge: Edvard Kiker, VTŠ, Maribor Program raziskave: V programu raziskovalnega dela za leto 1979 je smotrna razčlenitev programskega paketa z ozirom na naloge, ki jih mora le-ta opravljati. Določili bomo zgradbo celotnega programskega paketa, ki ga bomo izgrajevali po posameznih fazah, predvidene bodo vstopne točke in oblika izhodnih poročil oziroma diagramov. Programski paket mora zadoščati zahtevi, da opravi analizo in sintezo regulacijskega sistema korakoma, uporabljajoč rezultate predhodni!) korakov (programov), razen tega pa morajo biti posamezne analize dostopne tudi ločeno. Med te spadajo: izračun časovnega poteka, frekvenčna karakteristika, Bodejev diagram, Nyquistov diagram , Nicholsov diagram, diagram lege korenov in fazni diagram. Vhodi' in izhodi teh programskih modulov naj bodo posebej dostopni. Modul za parametrsko optimizacijo pa je nasprotno odvisen od izsledkov predhodnih faz. Druga zahteva, ■ ki jo bomo pri zgradbi programskega paketa upoštevali je standardizacija vhodnih signalov oziroma motenj (upoštevali bomo tudi r ;ljučne motnje) ter štandardiza- cija najpogosteje uporabljanih nelinearnih karakteristik; le-to bomo v profjrame permanentno vgratlili. Predvideli bomo omejitve, s katerimi bo program računal. Naslov naloge: Model risalnika krmiljenega z računalnikom Projekt: Računalniška tehnika in proizvodnja Nosilec naloge: Zclravko Ženko, VTŠ, Maribor Program raziskave: V okviru raziskovalne naloge bomo izdelali model risalnika krmiljenega z mikroprocesorjem in opravili v zvezi s tem osnovne raziskave. Raziskava bo omogočila analizo vseh tistih parametrov na osnovi katerih bo nato mogoče izdelati prototip kvalitetnega risalnika, na osnovi katerega bo možno pričeti serijsko proizvodnjo. CENIK OGLASOV Ovitek - notranja stran (za letnik 1979) 2 stran--------------------------- 20.000 din 3 stran----------^----------------- 15.000 din Vmesne strani (za letnik 1979) 1/1 stran----- --------------------- 9.600 din 1/2 strani------------------------ 6.000 din Vmesne strani za posamezno številko 1/1 stran------------------------- 3 .600 din 1/2 strani------------------------ 2.400 din Oglasi o potrebah po kadrih (za posamezno številko) 1.200 din Razen oglasov v klasični obliki so zaželjene tudi krajše poslovile, strokovne in propagandne informacije in članki. Cena objave tovrstnega materiala se bo določala sporazumno. • ADVERTIZING RATES Cover page (for all issues of 1979) 2nd page --------------------------- 3rd page --------------------------- Inside pages (for all issues of 1979) 1/1 page----------;------------------ 1/2 page ---------------------------- Inside pages (individual issues) 1/1 page --------------------------- 1/2 page --------------------------- Rates for classifletl advertizing: each ad --------------------------- 1100 fl 880 ^ 660 g 440 Z 220 SJ 165 g 55 /i In addition to advertismont, we wellcome short business or product news, notes and articles. The rolatet* charges are negotiable. NAVODILO ZA PRIPRAVO ČLANKA Avtorje prosimo, da pošljejo uredništvu naslov in kratek povzetek članka ter navedejo približen obseg članka (število strani A 4 formata) . Uredništvo bo nato poslalo avtorjem ustrezno število formularjev z navodilom. Članek tipkajte na priložene dvokolonske formularje. Če potrebujete dodatne formularje, lahko uporabite bel papir istih dimenzij. Pri tem pa se morate držati predpisanega formata, vendar pa ga ne vrišite na papir. Bodite natančni pri tipkanju in temeljiti pri korigiranju. Vaš članek bo s foto postopkom pomanjšan in pripravljen za tisk brez kakršnihkoli dodatnik korektur. Uporabljajte kvaliteten pisalni stroj. Če le tekst dopušča uporabljajte enojni presledek. Črni trak je obvezen, Članek tipkajte v prostor obrobljen z modrimi črtami. Tipkajte do črt - ne preko njih. Odstavek ločite z dvojnim presledkom i n brez zamikanja prve vrstice novega odstavka. Prva stran članka : a) v sredino zgornjega okvira na prvi strani napišite naslov članka z velikimi črkami; b) v sredino pod naslov članka napišite imena avtorjev, ime podjetja, mesto, državo; c) na označenem mestu čez oba stolpca napišite povzetek članka v jeziku, v katerem je napisan članek. Povzetek naj ne bo daljši od 10 vrst. d) če članek ni v angleščini, ampak v katerem od jugoslovanskih jezikov izpustite 2 cm in napišite povzetek tudi v angleščini. Pred povzetkom napišite angleški naslov članka z velikimi črkami. Povzetek naj ne bo daljši od 10 vrst. Če je članek v tujem jeziku napišite povzetek tudi v enem od jugoslovanskih jezikov; e) izpustite 2 cm in pričnite v levo kolono pisati članek. Druga in naslednje strani članka: Kot je označeno na formularju začnite tipkati tekst druge In naslednjih strani v zgornjem levem kotu. Naslovi poglavij : naslove ločuje od ostalega teksta dvojni presledek. Če nekaterih znakov ne morete vpisati s strojem jih čitljivo vpišite s črnim črnilom ali svinčnikom. Ne uporabljajte modrega črnila, ker se z njim napisani znaki Tie bodo preslikali. Ilustracije morajo biti ostre, jasne in črno bele. Če jih vključite v tekst, se morajo skladati s predpisanim formatom. Lahko pa jih vstavite tudi na konec članka, vendar morajo v tem primeru ostati v mejah skupnega dvo-kolonskega formata. Vse ilustracije morate ( nalepiti) vstaviti sami na ustrezno mesto. Napake pri tipkanju se lahko popravljajo s korekcijsko folijo ali belim tušem. Napačne besede, stavke ali odstavke pa lahko ponovno natipkate na neprozoren papir in ga pazljivo nalepite na mesto napake. V zgornjem desnem kotu izven modro označenega roba oštevilčite strani članka s svinčnikom, tako da jih je mogoče zbrisati. Časopis INFORMATICA Uredništvo, Institut Jožef Stefan, Jamova 39, Ljubljana Naročam se na časopis INFORMATICA. Predplačilo bom izvršil po prejemu vaše položnice. Cenik: letna naročnina za delovne organizacije 300,00 din, za posameznika 100,00 din. Časopis mi pošiljajte na naslov stanovanja Q delovne organizacije. Priimek............................................ Ime............................................... Naslov stanovanja Ulica.............................................. Poštna številka_Kraj....................... Naslov delovne organizacije Delovna organizacija................................ Ulica.............................................. Poštna številka_^ Kraj....................... Datum...................... Podpis : I NSTRUCTIOIMS FOR PREPARATION OF A MANUSCRIPT Authors are invited to send in the address and short summary of their articles and indicate the opproximate size of their contributions ( in terms of A 4 paper ) Subsequently they will receive the outor's kits. Type your manuscript on the enclosed two-column-format manug^ipt paper. If you require additional manuscript paper you can use similar-size white paper and keep the proposed format but in that case please do not draw the format limits oh the paper. Be accurate in your typing and through in your proof reading. This manuscript will be photographically reduced for reproduction without any proof reading or corrections before printing. Časopis INFORMATICA Uredništvo, Institut Jožef Stefan, Jamova 39, Ljubljana Please enter my subscription to INFORMATICA and send me the bill. Annual subscription price: companies 300,00 din (for abroad US J! 18), individuals 100,00 din (for abroad US 0 6) . Send journal to my[^ home address Q company's address. Surname........................................... Name.............................................. Home address Street............................................. Postal code_City......................... Company address Company.......................................... Street...................................... Postal code_City...................;..... Date.......................... Signature Use a good typewriter. If the text allows it, use single spacing. Use a black ribbon only. Keep your copy within the blue margin lines on the paper, typing to the lines, but not beyond them. Double space between paragraphs. First page manuscript: a) Give title of the paper in the upper box on the first page. Use block letters. b) Under the title give author's names, company name, city and state - all centered. c) As it is marked, begin the abstract of the paper. Type over both tlie columns. The abstract should be written in the language of the paper and should not excesed 10 lines. d) If the paper is not in English, drop 2 cm after having written the abstract in the language of the paper and write the abstract in English as well. In front of the abstract put the Engl ish title of the paper. Use block letters for the title. The lenght of the abstract should not be greater than 10 lines. e) Drop 2 cm and begin the text of the paper in the left column. Second and succeeding pages of the manuscript: As it is marked on the papei; begin the text of the second and succeeding pag'es in the left upper corner. Format of the subject headings : Headings are separated from text by double spacing. If some characters are not available on your typwriter write them legibly in black Ink or with a pencil. Do not use blue ink, because it snows poorly. Illustrations must be black and white, sharp and cl«ar. If you incorporate your illustrations into the text keep the proposed format. Illustration can also be placed at the end of all text material provided, however, that they are kept within the margin lines of the full size two-column format. All illustrations must be placed into appropriate positons in the text by the author. Typing errors may be corrected by using white correction paint or by retyping the.word, sentence or paragraph on a piece of &paque , white papst and pasting it nearly over errors Use pencil to number each page on the upper-right-hand corner of the manuscript, outside the blue margin lines so that the numbers may be erased. ELEKTROTEHNA LJUBLJANA, TOZD za računalništvo Digital proizvaja in prodaja naslednje standardne računalniške konfiguracije: DELTA 700/80 - DELTA 700 centralna procesna enota - 512 KByte centralni pomnilnik s paritetno kontrolo,ki se lahko razširi do 1 MBytov - 2 KByte vmesni pomnilnik spomina (cache) - ura realnega časa - konzolni terminal s kontrolno enoto - dve diskovni enoti s kapaciteto po 80 MByte s kontrolno enoto'' - dve magnetni tračni enoti 8OO/16OO b/i,. 45 i/i', 9 kanalni zapis s kontrolno enoto - asinhroni komunikacijski vmesnik ( 8 linij: EIA/CCITT modemski;: izhod ) ( 8 linij: 20 mA tokovna zanka ) - 600 linijski tiskalnik - KOPA 1000 alfanumerični video display terminal (2 kom! DELTA 3t0/80 . - DELTA 3140 centralna procesna enota » - 256 KByte centralni pomnilnik s paritetno kontrolo - 2 KByte vmesni pomnilnik (cache) - ura realnega časa - konzolni terminal s kontrolno enoto - enota za baterijsko napajanje pomnilnika - procesor s plavajočo vejico (floating point processor) - dve diskovni enoti s kapaciteto po 80 MByte s kontrolno enoto - dve magnetni tračni enoti (I6OO b/i, 75 i/s, 9 kanalni zapis), s kontrolno enoto - asinhroni komunikacijski vmesnik ( 8 linij EIA/CCITT modemski izhod ) ( 8 linij 20 mA tokovne zanke ) - 600 linijski tiskalnik - KOPA 1000 alafanumerični video display terminal ( 2 kom.) DELTA 340/5 - DELTA 340 centralna procesna enota - 128 KByte centralni pomnilnik s paritetno kontrolo, ki se lahko razširi do 256 KBytov - ure realnega časa - konzolni terminal s kontrolno enoto - dve diskovni enoti s kapaciteto po 5 MByte s kontrolno enoto ' - asinhroni komunikacijski vmesnik ( 8 linij: 20 mA tokovne zanke ) DELTA 340/40 - DELTA 340 centralna procesaa enota - 160 KByte centralni pomnilnik s paritetno kontrolo do 256 KBytov - ure realnega časa - konzolni terminal s kontrolno enoto - enota za baterijsko napajanje pomnilnika - dve diskovni enoti s kapaciteto po 40 MByte s kontrolno enoto - ena magnetna tračna enota (I600 b/i, 75 i/a, 9 kanalni zapis ) s kontrolno enoto - asinhroni kumunikacijski vmesnik ( 8 linij: 20 mA tokovne zanke ) - 300 linijski tiskalnik NAŠTETE STANDARDNE KONFIGURACIJE LAHKO RAZSiRITE S PRIKLJUČEVANJEM NOVIH VHODNO-IZHODNO ENOT, POVEČANJEM POMNILNIKA IPD. SISTEMSKI PAKETI DELTA 700/80, 340/80, 340/40 IN 340/5 VKLJUČUJEJO TUDI: OPERACIJSKI SISTEM DELTA/M S PREVAJALNIKI IN APLIKATIVNIMI PROGRAMI, ŠOLANJE V LASTNEM IZOBRAŽEVALNEM CENTRU, POMOC PRI UVAJANJU PROGRAMSKE OPREME, INSTALACIJO RAČUNALNIŠKEGA SISTEMA IN ENOLETNO GARANCIJO ZA STROJNO IN PROGRAMSKO OPREMO. Univerzalno komunikacijsko vodilo Centralna Centralni procesna pomnilnik enota 128 Kbyte DELTA 340 delta sistemi : 340/5 Ura realnega časa Programska konzola /Kontrolna enota Diskwna enota SMfyte Diskovna enota mtttt 8 linij -Asinhroni komunikacijski vmesnik (20mA tokovne zanke) Univerzalno komunikacijsko vodilo Centralna Centralni procesna enota DELTA 340 pomnilnik 160 Kbyte \Bateriisko I I napajanje | Ura realnega časa Programska konzola Konzolni terminal delta sistem^: 340/40 Kontrolna enota Diskovna enota iO Mbyte Diskovna enota iO Mbyte Kontrolna enota Linijski tiskalnik Asinhroni komunikacijski vrnesnik(20mA tokovne zanke) W1 dete s5stoö:34@/@© Asinhroni komunikacijski vmesnik C£IA lean mod. izhodi) Centralna procesna enota DELTA 700 Iciill^ocsollm® l!t®oBiiuml!l!i