logo
išči
išči tudi po celotnem besedilu
išči tudi po Europeani
Epošta:
Geslo:
Prijava
 

0 / 0

NFORMATICA

UNIVERZA v LJUBLJANI ••

• •

INSTITUT "JOŽEF ŠTEFAN

odsek za uporabno matematiko 61001 ljubljana jamova 39 Jugoslavija tel.( OBI) 63-261 tlx: 31-296 yu jostin

INFORMATICA

časopis za tehnologijo računalništva in probleme informatike

časopis za računarsku tehnologiju i probleme informatike

spisanie za tehnologija na smetanjeto i problemi od oblasta na informatikata

Ć«so|)ls izd.ljn Slovoii.sko (Ifiislvo INFORMATIKA, 61000 Ljiihljiina, Jamova ii'), JiKjoslavija

lIKKDNßKI ODIlOH:

'Člani: T.Alcksić, l)o()<|rait, I), liitrakov, Skopio, 1'. L)ra-ijojlDvič, H<^ka, S. Il(xi/.ar, l.jiihljaria, II, Horvat, M;>ritu>i-, A. Mandx.lr, Sarajevo, S. Milialić, Varažditi, S.Turk, /.Mi|rt!l>.

(ilaviil ill (><l<|i)voriii urednik A.I'. ?.<'l«'znlkar

TKIINIČNI ODIlOH:

llrt'dpiiki potJročIJ:.

V. Ilalai|<'lj - proijraiidranje

I. HralkiJ - uiiiolna iiiti'lii|<'ii<-a

I). ri'('c/.-Ki-<;tiiaii<>vi(' - inforiciacijiiki sistemi

M. Kxfl - o|»>rai ij.ski sistemi

A , .lerinaii-llla/.ić - iKjvict? zalo/.ništva

I). Jormaii-Ml.iž.ii'-D/oiiova -

I iliTatiii a in sr<>('anja I.. I.ftiari - pr'<K:c.siM iidormatika li. Novak - mikro i .irniialiiiki N. I'apić - šliiili'nt.ska vprašanja

I.. i'ipaii - tiTmiiiiiiiMjija

il. l'opovii" - novice In /animivosti V. Ka jkcivir - v/i|oj.i in izohi a/.ovanje M. Šp<M|i'|, M. Vnkoliralović - rol)Otlka

'l'an<:ii| - rariinalnistvo v linmanistič'niii in dru-/.Ih'IiìIi Vedali S. link - iiiati-i iaiiia oprema

Telinlčiii urednik: H. Miirn

ZALO/'.NI^KI SVICI'

r. ilanovec, /avod Sit Slovenije za družbeno planiranje, l.jiililjana A. lerman-Mla/.it', Slovi-nsko dm.štvo INKOKMA-ilisA, i.jnliljana

II. Klen......... ISKHA, KlekIromelianika, KrariJ

S. Saksida, Insliliit za .s(« iolo<jijo in filozofijo

pri |iniver/i v l.inliljani ,1. Vii ani, Kaknilela za <.>l>>kl i otehniko, Univerze v i.jnhljani

Uredništvo In uprava: (>1000 l.jnlilJana, Institut .ložef Stelan, Jamova M'», telefon ((Hii) 63 261, telegram: JOSIIN, telfx: :ll J'>6 Yll .UiSriN.

l/etna narof nlna za rlelovne <>r<|anl/.ncije 300,00 din, za posameznika 100,00 din, pi odala posamezne številk« M,00 din

.i^.lro tarmi; TiOlOl-f,7H-IIHIi

Sl.illAre iire.lnl-iiva laliko rii/.liknje (kI innenjn avtorjev.

Na | i>.llai|l mneii|a Kepiil,|ii;ke(|.i Hekretariata za pro.sveto In kiilliiiost. .r,i/77 /.dm i.?>,\'m. Je ("asopin INK'. IHMAIH A Sti okovnl . asopis, ki Je opro.šreri temelj-Ii' iia ilavlva od (ir-miet i pioizvodov.

li-ik: l'i>.K,;rna Kie.iij.i, |,|iìlill.iii,-'•udii'Ma <iprem;,: r, Simoni i<

A .P. Želoznikar I. Ozi mek M. Kovačević D. Novak

B. Popovi ć M. Kxel M. Mek inda

S. AI at) i ć

M . Kovačević

D. Novak

A.P. Ž.eleziilkar

J..I. Dujmovič

P. Koll).-zen n. Mlliovilović Z. Milavc

J .J . Dnjmovió

V. /.«»acja

M . F.xel

R. Trolieo J . Korenini F. Novak

H. Tireiord I). Davrev P. Sf)Hll

letnik 1.1977 -§t. 2

VSEBINA

6 PriKjramiranji.' mikro računalnikov s proi-esorjem Z80

13 Primjena inonltorskot) koncepta u iziiradnJi.operacioiKKj sistema za |x>riodično aktiviranje prcKira-ma

17 Cleanini) up DnstruetuiAlijori-tliins (Ising Invariants

20 Monitori za mikro sisli'ine sa pr<x:esorom 6HOO

26 Tlie Pref. ren. e .Scorini) Mi^tliixl for Di'cision Makini|-Siirvey, Classifiration and Annotated Hl-l)lio<|rapliy

3S Rešitve nekatei ill proliieniov krmil jenja olijekta z mikro pi (K'e-Horjem v lealneiii rasii

43 A PriKiramiiiliK) System for Kdi-tiiig Annot ited MibIì<k|I/ipliles

47 (Ipis kontiniiiraniii siiinata ii

inik I o I at'unalo

50 Komiinlkai ija med sekvenrnimi prtM exl- Pre(|1ed dei II

58 Dinamiriil Mi\S poniiillniki

~60 Mnklni) Fortran and Assemlily I an(|iia(|e Prixiranis

62 Fonotlon ile tri croissant et de tri de< rolssaiit API. Mitra ir>

88 Llni|uistieN and Antomatic Pre* e. HsliKi of Texts

71 Stniletilska vprašanja

72 Novice In zanimivosti

73 Slovar

79 Literatura In srečanja

Published by INFORMATIKA, Slovene Society for informatics, 61000 Ljubljana, Joinova 39, Jugoslavija

KDiroHIAL BOAIIIJ:

T, Alekalć, Beoyrad, I). Bltrakov, Skopjo, P. Dra-cjojlovl.', Heka, S. II.Klžfir, l.jubljaiia, B. Horvat, Maribor, A. Mamlžl.', Sarajevo, S. Mlhallć, Varaždin, S. Turk, Zugrob.

Edllor-ln-Chlef:

A.I'. Ž(>leznikar

TECHNICAL DKI'ARTMKNTS EDITORS:

A.P. Žoleznikar I. Ozimek

M. Kovačević D, Npvak

B. Popović M. Exel

M. Meklnda

S. Alagić

M. Kovačević

D. Novak

A.P. Želcy,nlkar

J.J. Dujmović

V. I. I). M A. H. L.

n,

N. L. 0. V. M, I'.

S.

Ii.it(i()<!lj - I'riKji aniiiiinij llratko - Artificial Inlelllyonce C <'<'fz-Ki'cniaiiovl^ - Information Syatema . Kxfl - Opt^ratliKj Systems J«!rman-Mla/I<» - I'liblisliers Newa .(••rman-Hlažl^-Džniiova - Literatur« and Meetings l^.'nart - Process Iiilormatlca Novak - MI<;r<x:oiiiiHiti'rs l'n|ilf. - Stud..lit Matters I'Ipaii - Tertiiltiolixiy l'o|>i>vl^ - News Kalkovi? - l-xliicatloii . S|i<.||h1, M. Vukobrutovlć - Hobollca Tancig -Com(iullng In Iluinanltles and Social

Sciences Turk - Hardware

P. Kolbezen B. Mihovilovlć Z. M Have

J.J. Dujrtiović

V. Zgaga

M. Exal

a. Trobec J. Korenini F. Novak

H. Tireford D. DavCev P. Sgalt

Kxaecutlve Editor: li. M urn

PIIHLISHINO COUNCIL

T. Uanovec, Zavod SH Slovenijo za družbeno planiranje, LJubljana

A. Jernian-Hlažlf, Slovensko druStvo Informatika

Ljubljana

B. Klemen^l?, ISKHA, Elektromohanlko, Kranj S. Saksida, Inatltut /.a sociologijo in filozofijo

pri Univerzi v Ljubljani }. Vlraiit, (•akulteta za elektrotehniko. Univerzo v Ljubljani

Meackiuartersi 61000 LJubljana, Institut Jožef Stefan, Jamova .V>, I'lu^.e, (061) 63 261, Cable, JOSTIN Ljubljana, Telex. 31 2% YU JOSTIN

Annual oubacrlptlo., rote for abroad Is US 3 18 fof com-P«nl«s, and US 3 Ö for individuals.

Opinions ««pressed in the contributions ar. not nocess«-rlly shared by the faitoria» Board.

Printed by: Tiskarna Kraeija, Ljubljana

Design: T. Simončič

volume 1.1877 - W® 2

VSEBINA

Programming of Mlcrocompu-tora Using Z80 Processor

13 An Application of the Monitor Concept to the Operating Subsystem for perl<xllc Programs Activations

Ì7 Cleannlng Up Unstructured Algorithms Uslnij Invariants

20 MtMiltors for Microsystems Using 6800 Prot:essor

20 The Preference Scoring Method for I>ecislon Muklng-Survoy, Classification and Annotated Bibliography

38 Solution of Some Problems of the Real-Time Mlcropr<x:e8Sor Control

4^3 A Programming System for

Editing Annotated Hll)llographles

47 The Input of AnnUig Signals Into Microcomputer

80 Communications Among S«iuen-tial Processes-Survey (Part 11)

08 Dynamic M05 Memories

00 Linking Fortran and Assembly Language Programs

®2 The Fimctlon of Ascending and

Descending Sort of APL Mitra 15

00 Mngulstics and Automatic Processing of Texts

71 Studenta Mattere

72 News

73 Dictionary

70 Literature and Meetings

INFORMATICA

Journal of Computing and Informatics

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 formular je. Če potrebujete dodatne formular je, 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 jugoslo-; vanskih 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 èli svinčnikom. Ne uporabljajte modrega črnila, ker se z nJim napisani znaki ne 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 korekcijiko folijo ali belim tušem. Napačne besede, stavke ali odstavke pa lahko ponovno natipkate na neprozorerT 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 za leto 1977 (štiri številke). 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 Q stanovanja | | delovne organizacije.

Priimek...........................................

Ime................................................

Naslov stanovanja

Ulica..............................................

Poštna številka_Kraj......................

Naslov delovne organizacije

Delovna organitcacija...............................

Ulica.............................................

Poštna številka_Kraj.......................

Datum...................... Podpis:

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 outer's kits.

Type your manuscript on the enclosed two-column-format manuscript 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 on 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 for the volume 1977 (four issues), and send me the bill. Annual subscription price: companies 300,00 din (for abroad US jS 18), individuals 100,00 din (for abroad US 2 6)

Send journal to myQ home address Q company's address.

Surname.........................................

Name.................................

Home address

Street............................................

Postal code__City.........................

Company address

Company.........................................

Street......................................

Postal code__ City.........................

I^ate.......................... Signature

instructions for preparation of a manuscript

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 the 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 English 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 pages 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 shows poorly.

Illustrations must be black and white, sharp and clear. 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 posltons in the text by the author.

Typing errors may be corrected by using white correction paint or byVetyping the word, sentence or paragraph on a piece of ftpaque , white paper 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.

Informatica št- 2 letniki977

programiranje mikro računalnikov s procesorjem z BO

a. p. železnikar i. ozimek m. kovacevič d. novak

Odsek za računalništvo In Informatiko, Institut "Jožef Stefan" Univerza v LJubljani

UDK 631.3-181.4.06

Članek opisuje nekatere specifičnosti programiranja na mikro računalnikih s pro-ceaorjem Z80, Opisana je globalna shema mlkroprocesoraklh registrov, načini adresira- • nja, ukazna razpredelnica in spreminjanje statusne besede pri izvajanju ukazov. Aplikacija posameznih ukazov je prikazana v konkretnih rutinah za manipulacijo tekstov in tabel, pri relativnem naslavljanju, za manipulacijo z biti in pri uporabi indeksnih registrov, pri pomikanju in vrtenju besednih polj ter pi programiranju aritmetičnih, logičnih in izmenjevalnih operacij. Članek daje posamične primerjave za programe z novimi ukazi in brez"njih.

Programmine of Microcomputers Using Z80 Processor. This article describes particular programming techniques for microcomputers using Z80 processor. A general scheme of processor registers is given; addressing modes, instruction table, and dependence of status word for instructions are presented. The application of several instructions la demonstrated in programs for manipulation of text and tables, in relative addressing, manipulation of bits and useage of index registers, in complex word shifting and rotating, and in programs applying arithmetical, logical and exchange operations. The article gives some comparisions of programs using new instructions and programs without these■instructions. .

1. Uvod

Programima j e na mikro računalnikih (kratko na s procesorji tipa 8080, 6800, F8, SC/MP itn. je tudi pri nas že dokaj udomačeno. I V ^R s procesorjem Z80 je omogočena razen ata; ndardnih programirnih priatopov tudi učinkovi-' ta, tehnika v sistemskih in uporabniških programih. Navadno primerjamo procesor Z80 a procesorjem 8080 predvsem zaradi tega, ker je mogoče programsko opremo za 8080 uporabiti tudi na ;uR z Z80, seveda pri ustreznih konfiguracijah' obeh sistemov (I/O kanali, pomnilnik, operacijski sistem). Procesor Z80 pa vsebuje še taktni generator (z zunanjim kristalom) in generator za transparentno osveževanje dinamičnih pomnilnikov (RAM).

Procesor Z80 izvaja med drugimi tudi ukaze, ki so na področju^ novi pa tudi zelo u-

■ činkoviti. Takšne skupine ukazov sos neposredna manipulacija z.biti (naslovijivost, primer-javaj spreminjanje)J avtomatično ponavljanje določenih ukazov, dokler so izpolnjeni ustrez-

: ni pogoji (primerjava, nalaganje, vhod in izhod); izmen^evalni ukazi za vrsto registrov z ; dvojno dolžino besede ter razen absolutnih po-

■ gojnih skokov (tudi spremenljivih) še pogojni subrutinski pozivi in vrnitve (te imamo tudi

: pri procesorju 8080) in pogojni relativni skoki.

2. Zgradba procesorja Z80 in ukazi

Registrska zgradba procesorja je globalno opisana na sliki 1. Akumulator je označen z A, njegov izmenjevalni register pa z A'. V regia-ter P se shranjuje t.i. status (zastavica prenosa, ničle, parnosti, polprenoea, prestopa, seštevanja, odštevanja), ki je posledica (ali pa tudi ne) predhodne logične/aritmetične operacije nad različnimi registri.

SP (okrajšava za Stack Pointer) 'je kazalec, ki kaže v sklad; sklad se gradi v pomnilniku tipa RAM, navadno na njegovem gornjem koncu. Če je SP ime registra, bomo njegovo vsebino označili z (SP); potem je vsebina celice-na katero kaže kazalec (SP), določena z ((SP)). Ta princip označevanja bo veljal za poljubni register pri razlagi pomenov posameznih ukazov. V posameznih ukazih (v zbirnem Jeziku procesorja Z80) pa bomo pisali SP za kazalec in (SP) za vsebino celice, na katero kazalec kaže. Npr.

ADD A, (lY+d) bomo tolmačili s formulo

A (A) + ((IY)+d) kar pomeni : v akumulator 'pride' vrednost, ki je vsota vrednosti v A in vsebine pri naslovu (iy)+d, kjer je (IY) vsebina indeksnega registra IY in d t.i.,odmik. Na levi strani znaka -4— imamo vselej ime registra (tudi pomnilniš-ki naslov je registrsko, ime), na desni strani pa vrednost, ki se imenu prireja.

Na sliki 1 imamo register I, ki je namenjen upravljanju prekinitev. Posledica prekinitve je lahko indirektni poziv na pomnilniSko lokacijo; v registru I se tedaj hrani višjih osem bitov indirektnega naslova, nižjih osem bitov pa posreduje prekinjajoča zunanja naprava. Takšen mehanizem omogoča, da shranjujemo prekinitvene servisne subrutine kjerkoli v pomnilniku.

Na sliki 2 imamo grobo strukturo zbirke ukazov procesorja Z80. Iz konkretnega ukaza Je tudi razviden način naslavljanja. Takih načinov je šest: direktno, registrsko, registrsko indirektno, takojšnje, indeksno in relativno naslavljanje.

Pri direktnem naslavljanju se nahaja operand na mestu drugega in tretjega zloga (raču-! nalniške besede) ukaza. Pri tem ae shrani ope-rand v pomnilniku v t.i. dvozložni inverzni obliki: najprej (na nižjem naslovu) je nižjih 8 bitov operanda, aa njimi pa višjih 8 bitov. Imamo primer: ukaz

LD A, (0158H); se zapiše v pomnilnik kot zaporedje treh zlogov

3A 58 01 in pomeni

A ((0158H)) kjer označuje H heksadeclmalno predstavitev.

Pri reRlatrakem naslavljanju se nahaja operand v enem od splošnih registrov (glej sliko 1). Vzemimo primer ukaza BIT 6, Ej

ki ee zapiše v pomnilnik kot dvozložno zaporedje CB 73 in pomeni preizkus bita 6 registra E, ko velja Z — È?, kjer je Z statusni bit (P6) in negirani šesti bit registra E« Natančneje bi ta ukaz opisali takole s

IP (E6=0) THEN Z 1 ELSE Z O

Repilstrako indirektno naslavljanje se nanaša na registrske pare (B,C), (D,E) In (H,L), ki so pri tem načinu naslavljanja operandi, Imena teh registrov okrajšamo v BC, DE in HL| najbolj uporaben je register HI. Primer bodi DEC (HL)i

ki pomeni (HL) ((HL))-1. Vsebina pomnilnl-

ške lokacije (HL) se zmanjša za 1. V tej zvezi so zlasti zanimivi skočni ukazi JP (HL);

Takojšnje naslavljanje omogoča neposredno uporabo konstant (fiksiranih vrednosti). Npr. ADD 11;

pomeni A (A) + UD. kjer označuje D decimalno predstavitev. Zlasti pogostni so ukazi tipa 'load', ko.imamo takojšnje nalaganje, na primiar v:

LD A, 12H; oziroma LD HL, 1234H| s pomenom A 12H oziroma HL -*— 1234H.

Pri indeksnem naslavljanju se nahaja operand na pomnilnlški lokaciji (naslovu), ki je določena z vsoto tretjega ukaznega zloga (Indeksa) z vsebino enega od obeh Indeksnih registrov (IX in IY). Ti ukazi so tri- in štlrlzl-ožni. Tretji zlog ukaza postane v pomnilniku t.i. dvojiski komplement. V primeru

SET 4, (IX+21); Imamo pomen ((1X)+21), 1. Za ukaz

RES 7, (IY+85H)j^ pa bi imeli ((iy)-7BH)^

0. Za prvi ukaz 1-

mamo štlrlzložnl kod DD CB 21 E6, za drugi pa PD CB 85 BE. Na sliki 2 označuje vejica sumand z indeksnim registrom, ko imamo PD CB,BE za prejšnji primer.

Pri relativnem naslavljanju se uporablja zlog, ki sledi operacijskemu ukaznemu zlogu,za pomik (relativni skok) od trenutne lokacije (stanja programskega števnika). Ta pomik Je dvojiski komplement, ki se prišteva k naslovu operacijskega zloga naslednjega ukaza (tj. naslov zadevnega operacijskega zloga povečan za 2). V zbirnem Jeziku uporabljamo za relativni skok predznak (kadar nimamo imena). Npr.

JR +3;

pomeni skok na lokacijo (PC) +2+3, kjer je PC) naslov operacijskega koda tega ukazaj PC je ime ukaznega (programskega) Števnika. Ce začenja ta ukaz na lokaciji 835, imamo skok na 83 A.

Na sliki 2 imamo le grobi opis ukazov, a-aj so Izpuščeni podatki o spremembi statusa po izvedbi posameznega ukaza. Ti podatki so zbrani na sliki 3.

3. Tekstovne in tabelne manipulacije

Učinkovita manipulacija tekstov (sporočil) in tabel je osnovnega pomena za uporabo procesorja Z80 v poslovnih in komunikacijskih konfiguracijah. Oglejmo si poseben tip ukazov.

pomnilnik

_podatkovno vodilo

^izmenjava

A'

P'

B'

C

D'

E'

H'

L'

SP

PC

IX

lY

naslovno vodilo

Slika 1. Registrska zgradba procesorja Z80:

A,B,...,L so primarni 8-bitnl registri; A',B',...,L' so njihovi izmenjevalnl dvojniki; AP, BC, DE, HL so l6-bitne sestavljenke ustreznih registrov; SP, PC, IX, lY so 16 -bitni registri, in sicer skladni kazalec (SP), programski števnik (PC) ter indeksna registra (IX,IY); I je prekinltveni register, ki kaže naslov pomnilnega segmenta in H je o-sveževalnl (naslovni) register; ALE je aritmetična/logična enota; v P (statusni register) se shranjujejo zastavice (b|^ = carry, bi = add/sub, b2 = parity/overflow, b4 = half carry, b6 = zero, b7 = sign)

ki"Jih bomo imenovali ponavljalnl ukazi, s katerimi je moč učinkovito uresničiti prenos ali kopiranje tabel. Iskanje v tabelah in tekstih ter vhodni in izhodni prenos (nalaganje).

Ponavljalni ukazi so nalagalni oziroma k-oplml (LDIR, LDDR), primerjalni (CPIR, CPDR), vhodni (INIR, INDR) ter Izhodni (OTIR, OTDR). TI ukazi so dvozložnlj njihova štirimestna mn-emonična imena pa končujejo s črko R (repeat), črka I pred R pomeni inkrementlranje vsebine dvojnega registra HL in/all ne registra DE,črke D pa ustrezno dekrementiranje. Splošna oblika ponavljalnega ukaza je dountil staveki

DOUNTIL((poseben pogoj)0R (BC)-O) akcija ponavlJalnega~ukaza; Inkrementlranje ali dekrementiranje (HL)

in/ali ne (DE); dekrementiranje (BC); INCLUDE zastavlca-(BC) ENDlSC

V tem stavku je lahko poseben pogoj prazen,prazen je lahko tudi segment za8tavica-(BC).

če je Z zastavica (Sesti bit statusa P na sliki 1), ki je 1 le tedaj, ko je primerjava z vsebino akumulatorja pozitivna in ce je P/V z-astavlca parnostl oziroma prestopa (drugI bit v P), imamo za ukaz CPIR tole:

DOUNTIL(Zr1 OR (BC)=0)

IFT(A) ^(TBL) ) )THEN Z -*— I ELSE Z O ETTDIP

(HL)+1; BC (BC)-l IP((BC)=0) THEN pa O ELSE P/V 1 EITDIF ENDCTT

Z ukazom CPIR (oziroma CPDR) primerjamo vsebino akumulatorja z vsebino pomnllnlške celice (HL) tako dolgo (inkrementlranje, dekrementiranje), dokler ne naletimo na enakost ali ko postane (BC) =0. To pa pomeni, da iščemo poljubni znak v danem nizu znakov z enim samim ukazom, seveda pri ustreznem stanju registrov Hi, BC in A.

.A

B

C

D

E H

L

(HL)

Imm (iX+d)

(lY+d)

ADD

87

80

81

82

83 84

85

86

C6

DD86

FD86

add r to A

ADC

8F

88

89

8A

8B 8C

8D

8E

CE

DD8E

FD8E

add r to A with CRY

AND

A7

AO

Al

A2

A3 A4

AS

A6

E6

DDA6.

FDA6

and r with A

BIT 0

CB47

CB40

CB41

CB42

CB43 CB44

CB45

CB46

-

DDCB,46

FDCB,46

test bit 0

BIT 1

CB4F

CB4»

CB49

CB4A

CB4B ĆB4C

CB4D

CB4E

-

DDCB,4E

FDCB,4E

test bit 1

BIT 2

CB57

CB50

CB51

CB52

CB53 CB54

CB55

CB56

-

DDCB,56

FDCB,56

test bit 2

BIT 3

CBSF

CB58

CB59

CB5A

CB5B CB5C

CB5D

CB5E

-

DDCB.SE

FDCB,5E

test bit 3

BIT 4

CB67

CB60

CB61

CB62

CB63 CB64

CB65

CB66

-

DDCB,66

FDCB,66

test bit 4

BIT 5

CB6F

CB68

CB69

CB6A

CB6B CB6C

CB6D

CB6E

-

DDCB,6E

FDCB,6E

test bit 5

BIT 6

CB77

CB70

CB71

CB72

CB73 CB74

CB75

CB76

-

DDCB,76

FDCB,76

test bit 6

BIT 7

CB7F

CB78

CB79

CB7A

CB7B .CB7C

CB7D

CB7E

-

DDCB,7E

FDCB,7E

test bit 7

CP

BF

B8 •

B9

BA

BB BC

BD

BE

FE

DDBE

FDBE

compare r with A

DEC

3D

05

OD

15

ID '25

2D

35

J

DD35

FD35

decrement r

INC

3e

04

OC

14

IC 24

\2C

34

-

DD34

FD34

incre ment r

IN(C)

ED78

ED40

ED48

ED50

ED58 |ED60

^D68

T

-

-

-

input to r

LD A

. 7F

78

79

7A

7B Ì7C

;7D

7E

3E

DD7E

FD7E

load A with r

LD B

47

40

41

42

43 '44

45

46

06

DD46

FD46

load B with r

LD C

4F

48

49

4A

4B 4C

4D

4E

OE

DD4E

FD4E

load C with r

LD D

57

50

51

52

53 54

i55

56

16

DD56

FD56

load D with r

LD E

5F

58

59

5A

5B 5C

5D

5E

IE

DD5E

FD5E

load E with r

LD H

67

60

61

62

63 64

;65

66

26

DD66

FD66

load H with r

LD h

6F

68

69

6A

6B 6C

■6D

6E

2E

DD6E

FD6E

load L with r

LD(HL)

77

70

71

72

73 74

75

-

36

-

-

load (HL) with r

LD(IX+d)

DD77

DD70

DD71

DD72

DD73 DD74

DD75

-

DD36

-

-

load (IX+d) with r

LD(lY+d)

FD77

FD70

FD71

FD72

FD73 FD74

FD75

-

FD36

-

-

load (lY+d) with r

OR

B7

BO

Bl

B2

B3 B4

B5

B6

F6

DDB6

FDB6

or r with A

OUT(C)

ED79

ED41

ED49

ED51

ED59 ED61

ED69

-

-

-

-

output r

RES 0

CB87

CB80

CB81

CB82

CB83 CB84

CB85

OB86

-

DDCB,86

FDCB,86

reset bit 0

RES 1

CB8F

CB88

CB89

CB8A

CB8B CB8C

CB8D

CB8E

-

DDCB,8E

FDCB,,8E

reset bit 1

RES 2

CB97

CB90

CB91

CB92

CB93 CB94

CB95

CB96

-

DDCB,96

FDCB,96

reset bit 2

RES 3

.CB9F

CB98

CB99

CB9A

CB9B CB9C

CB9D

CB9E

-

DDCB,9E

FDCB,9E

reset bit 3

RES 4

CBA7

CBAO

CBAl

CBA2

CBA3 CBA4

CBA5

CBA6

-

DDCB,A6 FDCB,A6

reset bit 4

RES 5

CBAF

CBA8

CBA9

CBAA CBAB CBAC

CBAD

CBAE

-

DDCB,AE FDCB.AE

reset bit 5

RES 6

CBB7

C BBC

CBBl

CBB2

CBB3 CBB4

CBB5

CBB6

-

DDCB,B6

FDCB,B6

reset bit 6

RES 7

CBBF

CBB8

CBB9

CBBA

CBBB CBBC

CBBD

CBBE

-

DDCB,BE

FDCB,BE

reset bit 7

RL

CB17

CBIO

CBll

CB12

CB13 CB14

CB15

CB16

-

DDCB,16

FDCB,16

rotate left

RLC

CB07

C BOO

CBOl

eB02

CB03 CBÖ4

CB05

CB06

-

DDCB,06

FDCB,06

rotate left circular

RR

CBIF

CB18

CB19

CBIA

CBIB CBIC

CBID

CBIE

-

DDCB,1E

FDCB,1E

rotate right

RRC

CBÓF

CB08

CB09"

CBOA CBOB CBOC

C BOD

CBOE

-

DDCB.OE

FDCB.OE

rotate right circular

SBC

9F

98 ,

99

9A

9B 9C

9D

9E

DE

DD9E

FD9E

subtract r from A with BRW

SET 0

CBC7

CBCO

CBCl

CBC2

CBC3 CBC4

CBC5

CBC6

-

DDCB,C6 FDCB,C6

set bit 0

SET 1

CBCF

CBC8

CBC9

CBCA CBCB CBCC

CBCD

CBCE

DDCB.CE FDCB,CE

set bit 1

SET 2

CBD7

CBDO

CBDl

CBD2 CBD3 CBD4.

CBD5

CBD6

DDCB,D6 FDCB,D6

set bit 2

SET 3

CBDF

CBD8

CBD9

CBDA CBDB CBDC

CBDD

C BDE

DDCB.DE FDCB,BE

set bit 3

SET 4

CBE7

C BEO

CBEl

CBE2

CBE3 CBE4

CBE5

'CBE6

-

DDCB,E6

FDCB,E6

set bit 4

SET 5

CBEF

CBE8

CBE9

C BEA

C BEB CBEC

C BED

C BEE

-

DDCB,EE

FDCB,EE

set bit 5

SET 6

CBF7

CBFO

CBFl

CBF2

CBF3 CBF4

CBF5

CBF6

-

DDCB,F6

FDCB,F6

set bit 6

SET 7

CBFF

CBF8

CBF9

C BFA

CBFB CBFC

CBFD

CBFE

-

DDCB,FE

FDCB,FE

set bit 7

SLA

CB27

CB20

CB21

CB22

CB23 CB24

CB25

CB26

-

DDCB,26

FDCB,26

shift left arithmetic

SRA

CB2F

CB28

CB29

CB2A

CB2B CB2C

CB2D

CB2E

-

DDCB,2E

FDCB,2E

shift right arithmetic

SRL

. CB3F

CB38

CB39

CB3A

CB3B CB3C

CB3D

CB3E

-

DDCB,3E FDCB,3E

shift right logical

SUB

97

90

91

92

93 94

95

96

D6

DD96

FD96

subtract r from A

XOR

AF

A8

A9

AA

AB AC

AD

AE

EE

DDAE

FDAE

exclusive-or r with A

Special load group, coded as LD source, destination

A,I

ED57.

A=I

A,R

ED5F

A=R

R,A

ED4F

R=A

I,A

ED47

I-A

(N),A

32

store A

A,(n)

3A

load A

SP,IX

DDF9

SP=IX

SP,IY

FDF9

SP=IY

SP,HL

F9

SP=HL

Slika 2. Ukazi procesorja ZSOs mnemonika in kodi. V atolpcu (IX+d) pomeni npr. DDCB,46 , da pride med B in 4 (namesto veji-c,e) vstavljen kod za d.

(PSW,A) (B,C)

(D,E)

(H,L)

SP

IX

IV

ADD HL

_

09

19

29

39

-

_

add pair to HL

ADD IX

-

DD09

DD19

-

DD39

DD29

-

add pair to IX

ADD lY

-

FD09

FD19

- ,

FD39

-

FD29

add pair to lY

ADC HL

-

ED4A

ED5A

ED6A

ED7A

-

-

add pair to HL with CRY

SBC HL

-

ED42

ED52

ED62

ED72

-

-

subtract pair from HL with BRW

DEC

-

OB

IB

2B

3B

DD2B

FD2B

decrement r pair

INC

-

03

13

23

33

DD23

FD23

increment r pair

LD A,(r)

-

OA

lA

7E

-

-

-

load A indirect

LD (r),A

02

12

77

-

-

-

store A indirect

LXI

-

01

11

21

31

DD21

FD21

load r pair Immediate

POP

Fl

CI

D1

El

-

DDBl

FDEl

pop r pair from stack

PUSH

F5

C5

D5

E5

-

DDES

FDE5

push r pair onto stack

LD r,(n)

-

ED4B

ED5B

2A

ED7B

DD2A

FD2A

load r pair from memory

LD (n),r

-

ED43

ED53

22

ED73

DD22 .

FD22

store r pair in.memory

Ine

I nc & rep.

Dec

Dee A rep.

CP

EDAl

EDBl

EDA9

EDB9

compare,

lnc(dec)HL,dec BC

LD

EDAO

EDBO

EDA8

EDB8

load (DE) with (HL), inc(dec)HL and DE,dec BC

OUT

EDA3

EDB3

ED AB

EDBB

output (HL), lnc(dec)HL,dec B

IN

EDA2

EDB2

EDAA

EDBA

input to (HL), ine(dee) HL,dec B

0

1 2

3 4

5

6

7

RST

C7

CF D7

DF E7

EF

F7

FF restart call to location i "8

Zero/

Carry/

Plus/

Even Parity/

Une. . Not Zero

No Carry

Minus

Odd Parity

CALL CD

CC/C4

DC/D4

F4/FC

EC/E4

call subroutine if condition true

JP C3

CA/C2

DA/D2

F2/FA

:EA/E2

jump if condition true

JR 18

28/20

38/30

-

-

jump relative if condition true

RET C9

C8/C0

D8/D0

F0/F8

E8/E0

return if condition true

CCF

3F

complement carry

in '

DB

Input to A

C pl

2F

complement A(l's)

jp(hl)

E9

jump to (hl)

DAA

27

decimal adjust A

jp(ix)

DDE9

jump to ix

DI

F3

disable interrupts

jp(iy)

FDE9

jump to ly

djnz

10

decrement B, jump Bj'O

NEG

ED44

complement A(2's)

EI

FB

enable Interrupts

NOP

00

no operation

exde,hl

EB

exchange (D,E) &(h,l)

out

D3

output from A

EX AF,AF'

08

exchange(A,F) A (A,F)'

reti

ED4D

return from interrupt

EXX

D9

exchange (b,C,d,e,h,l)ft

retn

ED45

return from NMl interrupt

(b,C,d,E,h,l)'

ex(sp),hl

E3

exchange (h,L)«< top of stack

rla

17

rotate a left thru carry

ex(sp),ix

DDE3

exchange IX & top of stack

RRA

IF

rotate A right thru carry

ex(sp),iy

FDE3

exchange ly &.top of stack

RLCA

07

rotate A left circular

halt

76

halt processor

RRCA

OF

rotate A right circular

imo

ED46

interrupt mode 0

RLD

ED6F

rotate left digit

IMI

£d56

interrupt mode 1 .

RRD

ED67

rotate right digit

1M2

ed5e

interrupt mode 2

SCF

37

set carry flag

Slika 2. Ukaai procesorja Z80 (nadaljevanje)

Slika 3. Tu pomeni: C bit prenosa (carry), Z

bit ničle (zero), S bit predznaka (sign), p/v bit parnosti ali prestopa (parity/overflow), H bit prenosa Iz spodnje polovice zloga (half-carry) in N bit se?itevanja/ odštevanja} $ nakazuje spremembo bita, • njegovo nespremenjenost, .0 anuliranje in 1 postavitev na vrednost 1; x označuje nepomembnost} nadalje predstavlja r registre A,B,C,D, E.H,L; črka e predstavlja B-bitno in SS 16-■ bitno lokacijo.

Ponavljalnlm ukazom so enolično prirejeni t.l. koračni ukazi, ki se izvajajo neponavljalno. To so ukazi za nalaganje (LDI, LDD), primerjavo (.CPI, CPD), vhod (INI, TND) in izhod (OUTI, OUTD). Splošna ahema teh ukazov je: akcija koračnega ukazaj inkrementiranje ali dekrementiranje

(HL) In/all ne (DE),-dekrementiranje (BC); INCLUDE zastavica-(BC);

Koračni ukazi predstavljajo tako telesa ustreznih dountil stavkov za ponavljalne ukaze.

Z uporabo ponavljalnlh in koračnih ukazov Je mogoče doseči dokaj enostavno zgradbo posebnih programov. Vzemimo kot primer subrutino za iskanje podteksta v danem tekstu. Napišimo najprej pomožno subrutino SEBA s temle psevdo kodom :

SUBROUTINE SEBA

poišči prvi znak podteksta v danem tekstuj ce takega znaka v tekstu ni, izstopi} sicer pa shrani : inkrementirano lokacijo ujemanja (HL) in dekrementlrano stanje tekstovnega Stevnika (BC)} ugotovi, ali se natilednji znaki podteksta

pojavljajo zaporedoma v tekstuj če Je bil pred popolnim ujemanjem podteksta in dela tekata dosežen konec teksta (glej (BC)), takoj izstopi} sicer pn Izstopi zaradi ujemanja ali neujemanja s podatki v uHtreznlli registrih ENDSUBROUTINK

To subrullno zapišemo konkretno takole; SEBA:}

LD A,(IX+OOH){LOAD FIRST 3UBTKXT CHAR CPIR • }REPEAT SEARCH FOR (A)=((Ja,))

ret ]'0 }EXTT IP (BC)=0

LD fL6),HI, }SAVK (fH,) LD 0.7),BC }3AVE (BC)

bancUca

C

Z

N

s

N

a

Coma»)»

ADDt;ADCt

-i

i

v

i

0

i

84>lt>4doraddvilhC!uiy

gUBi;SBC«,CS>ii,NBO

t

t

v

t

!

t

84ilt Hibliwl, nibtnict with amy, coniai« and atta» KcumulUoi

AND>

0

t

p

t

0

1

Loglul optrelhw

OReiKORi

0

t

p

«

0

0

AndMI'iitifriraitllasi

mC)

«

»

v

t

0

»

Mit Incmnnl

tSCg

0

«

v

t

1

»

84>lt dKmiMiit

ADO DD. SS

t

0

0

0

0

X

164»! aìil

AĐCKL.SS

t

t

v

«

0

X

16^1 aid vllhcany

sec HL. SS

»

t

v

i

1

X

l&Mi ubUoct wllh eany

RLA^RLCA.IIRA.RRCA

t

0

9

0

0

Route KCimuditot

fiL>;itljCo,RRi;RllCii

i

t

p

t

0

0

RoUU ind ihift location «

SLAi;SRAs:SRLe

RU3.RRD

9

»

p

t

0

0

Rotate digit left and rtsbl

DAA

t

t

p

<

e

t

Decimal attuai accumtdator

C?U

0

0

0

0

1

1

Camplanenl accumulai«

SCF

1

e

0

s

0

0

Setcany

CCP

i

0

0

0

X

ComplaiMiil cany

INt.(C)

0

t

p

«

0

0

Input ro(latei bidlrecl

INl,)ND;0Un:0UTĐ

e

t

X

X

1

K

1 Block Input and output

miR; INDR;0TIIt;0TOR

e

X

X

1

X

1 Z°OirBi!'Oal!umiaeZ°l

LĐl.LĐĐ

0

X

t

X

0

0

1 Bock tnuufei Imlracttonl

UHR, LDDR

0

K

0

X

0

0

1 P/V-UfBC<>0.othe™mP/V-0

, Cri.CPiR.CPD.CFDR

a

t

«

X

1

X

Dock aeaich Inttructlona

Z-IlfA"(HL).othelwlaeZ-0 P/V - 1 If BC ^ 0, otherDdM P/V " 0

U>A.t:U)A,R

0

t

Fl

t

0

0

Ibe conlnit of the inbrrupi enable iUp^Acp (IFF)

li copied Into the P/V flag

BtTb.s

«

«

X

X

0

1

Ihe Hate of bit b al location a b copied into Uh

znaB

subrutino SEBA z obsto (ju Izenačimo z HL, BC

LOOP 8 J

INC IX JPUT NEXT SUBTEXT CHAR

LD A,(IX+00H)5 INTO ACCUMULATOR CPI {COr^PARE (A)=((HL)), INC (HL), J DEC (BC)

RET PO 5EXIT IP (BC)=0

JR Z,LOO? f ELSE GO TO LOOP RET JEXIT

Tu sta L6 in L7 posebni lokaciji« 5e je bila primerjava uspešna, imamo npr. po izstopu Iz subrutina ((IX)) = 'NULL', kar je anak konca podteksta. V nasprotnem primeru pa inicializl-ramù IX (na začetek podteksta) ter pokličemo

ečimi parametri L6,L7 znova. Naslove uspeha

(L6)-1 lahko shranjujemo in imamo tako zabeležene vse točke vstopanja podteksta v dani tekst.

Imejmo dve razpredelnici z njunima začetnima naslovoma RAZI in RAZ2 ter z enakim obsegom OBS, ki predstavlja število zlogov v posamezni razpredelnici. Podatki RA21, RAZ2 in OBS naj se shranjujejo na lokacijah (naslovih) LOCI, L0C2 in L0C3. Podatke prenesemo is prve v drugo razoredelnlco takole: ld de,(LÒC2); (de) je namenski naslov LD HLp(LOCl)} (HL) Je izvirni naslov LD B,C,(L0C3)j (BC) Je število zlogov LDIR ; izvede se prenos

Pri tem se tabeli vobče ne smeta,prekrivati. Na podoben način se lahko uporabi tudi ukaz LDDR. Ča pa takega ukaza ni, moramo imeti zanj tale programski segment ;

loop I,D ld dec dec dec ld or jr

A,(DE)

(HL),A

DE

hl

BC

A,B

C

m, loop

A pride ((DE)) (hl) pride (A) DE pride fDE)-l hl pride (hl)-1 BC pride (BC)-l } preizkusi (BC)=0 z ; B or C = o } če Je (BC)yo, pojdi v loop

Ukaza LDIR in LDDR lahko uporabimo tudi v primerih k,opiranJa podatkov iz ene v drugo tabelo, ko se le-tl prekrivata} v tem primeru so pokvari izvirna tabela.

Ukaza LDIR In LDDR lahko uporabimo tudi , za začetno (ali gosebno) nastavitev razpredelnice (npr. za začetno nastavitev simbolne tabele). Npr. za ukaz LDIR imamo psevdo kod: D0UHTIL((BC)=0)

(HL)+1}

Tako dobimo: LD HL.RAZ LD (HL),0 LD DE,RAZ+1 LD BC,0BS-1 LDIR

-*-"({hl))} de -a— (de)+l5 hl BC .<=6— (BC) -1 enddo

} v I^L je začetek razpredelnice

} anuliraj prvo lokacijo

J v DE je začetek + 1

5 preostali blok je OBS - 1

I anuliraj preostale lokacije

Tako omo celotno razpredelnico anulirali, ko se jo prva lokacija, postavljena na nič, kopirala v drugo, druga v tretjo itn.

K osnovnim tekstovnim manipulacijam sodi tudi vpisovanje In izpisove.nje teksta (npr. v ASCII kodu). Proceoor Z80 omogoča med drugim (zaradi materialIziranega sklada) takojšnje rekurzlvno pozivanje oubrutin. Imejmo določeno Z80 konfiguracijo (npr. z UART v vhodnem/izhodnem kanalu), kjer bodi KONVR Ime kontrolnih vrat za nerijski prenos podatkov (vsebina vrat Je status UARTja) ter TTY Ime vhodnih/izhodnih vrat, Subrutina za vpis znaka iz teleprinterja (serljakepa kanala) v akumulator A bodi:

TTWr:f

IN A,(KONVR)}čakalna zanka, ko se preizkuša niT 1,A ; kontrolni bit 1 na enico za

JR Z.TTYVP ! aeriJaki vhod P A,(TTY) }znnk pride iz vrat v^aktunulat. RRT jvrnitev v pozivno točko

Iohrani AKU in status

A,(KONVR) (čakalna zanka: preizkus konBIT O,A J trdnega bita O na enico JB Z,TEST J za serijski izhod POP AP |vmi vrednost v AKU in stat. OUT (TTY),A jznak se odda v seriski kan. RET jvrnitev v pozivno točko

Za vpis/izpis (vpis z odmevom) dobimo tole preprosto subrutinoi

TVHIZ: s

CALL TTYVP jySitaj znak

CALL TTYIZ f izpiši ga

RET ; in vrni se

kjer Je zadevni znak ob izstopu v A.

Izpišimo iz pomnilnika še poljubno dolgo zaporedje znakov, tj. sporočilo, ki začenja na lokaciji BEG, končuje se pa vselej z ASCII znakom TTOLL', tj. z OOH. Pred pozivom te šubru-tine naložimo (BEG) v HL z ukazom LD HL;bEG. Tedaj imamo:

SPORIZ » ;

LD A,(ra,) jv A pride ((HL))

CALL TTYIZ jpoziv izpisa znaka

OR A »primerjava na OOH v AKU

RET Z }izstop pri OOH

INC HL {povečanje (HL)

JR SPORIZ jizpis naslednjega znaka

Podobno imamo za vpis sporočila:

SPORVP:,

CALL TTYVP ;v A pride znak iz kanala ;v (HL) se vpiše (A) iprimerjava na OOH jizstop pri OOH {povečanje (HL) jvpis naslednjega znaka

Med osnovne tabelne manipulacije sodi tudi nalaganje' strojnega koda v pomnilnik (v he-ksadecimalni obliki) preko teleprinterja (serijskega kanala) ter izpis naloženega koda v obliki pravokotne tabele ali pa celo v t.i, ukaznem formatu. Zbirka teh subrutin za različne ^ bo opisana kdaj drugič.

4. Relativno naslavljanje

V primerjavi s procesorjem 8080 ima procesor Z80 tudi nove ukaze za relativne skoke (pogojne in brezpogojni skok), in sicer

JR, JR C, JR NC, JR Z, JR NZ, DJNZ

Ta množica ukazov je pa v primerjavi z drugimi procesorji (npr. P8) se vedno pičla, saj pri teh pogojnih skokih le ničlo in prenos. Procesor P8 lahko preizkuša pri relativnih skokih še prestop, predznak in z dvema logičnima funkcijama (konjunkcijo in disjunkcijo) Se kombinacije prestopa, ničle, prenosa, predznaka in njihovih negacij. Vendar velja poudariti, da je^s kontekatno ustrezno uporabo kriterijev za ničlo in prenos mogoče rešiti probleme predznaka in prestopa.

Relativne skoke uporabljamo predvsem v lokalnih programskih kontekstih; z njimi je programski kod krajši in ga lažje premeščamo v pomnilniku. Pri daljših skokih (ki presegajo območje -126 do +129 lokacij od lokacije operacijskega koda akočnega ukaza) lahko uporabimo dvojni ali večkratni relativni skok. Pri tem upoštevamo, da Je trajanje relativnega skoka nekako za 2056 večje od trajanja normalnega skoka (ukazi JP, JP C, JP NC itn.) in da je to časovno povečanje lahko v nekaterih primerih kritično (prekinltvene subrutlne, časovna konverzija). Torej moramo upoštevati problem prostora (relativni skok) in problem časa (normalni skok) v posameznem uporabniškem programu.

Podoìsno je mogoče napisati tudi subrutino za

na teleprinter (ozlro-Imamo:

izpis znaka, ki Je v A, ma v serijski kanal). In

TTYIZ : f

PUSH AF TEST j! IN

LD

(HL),A

OR

A

RET

Z

INO

HL

JR

SPORVP

10

V okviru relativnih skokov velja posebej obravnavati ukaz DJNZ LOOP. Ta ukaz Je zlasti pripraven v t.i. kontrolnih zankah. Njegov ps-evdo kod Je:

.II1((B)Ä)) THEN GO TO LOOP ELSE ENDIF

Imejmo začetni vmesnik ZVM (tj. prvi naslov tega vmesnika) in končni vmesnik KVM. Želimo subrutino, ki bo pomikala zloge iz ZVM v KVM, dokler ne najde ASCII znaka 'CR' ali dokler ni pomaknila 80 zlogov. Imamo;

; nastavi Števnik B { nastavi začetni kazalec J nastavi končni kazalec

j prenesi zlog iz začetnega ( v končni vmesnik

J primerjaj na znak 'OR'

i prenos je opravljen

; sicer pa nadaljuj ; s prenosom naslednega znaka

'VMPR1 i LD B,80 LD HL.ZVM LD DE,KVM ZANKA:J LD A,(HL) LD (DE),A CP ODH RET Z INC HL INC DE DJNZ ZANKA

Ukaz DJNZ nadomešča tako dva ukaza, in sicer DEC in JP oziroma JRi s tem se skrajša kodni zapis za en zlog in oas izvajanja za tri procesorske cikle.

5. Manipulacija z biti in uporaba indeksnih registrov

Procesor Z80 ima ukaze za preizkušanje, anuliranje in postavitev poljubnega besednega bita (0,1,...,7) v registrih A,B,C,D,E,H,L ter v pomnilniku, če se naslovni kazalci nahajajo v registrih HL, IX in lY. Uporaba 'bitnih'ukazov pride v poštev pri konceptih kontrolnih, indlkacijsklh zastavic pri programiranju zunanjih kanalov, v notranjih programih, pri zgoščevanju podatkov (pakiranju) v pomnilniku ter pri organizaciji in uporabi t.i. binarnih tabel oziroma matrik (preklopne in relacijske matrike v telefoniji, v gramatičnih in drugih uporabniških obdelavah). Z enim samim ukazom je tako mogoče opraviti ustrezno bitno manipulacijo na poljubnem mestu in lokaciji.

Že v dveh prejšnjih primerih (subrutina TTYVP in TTYIZ) smo uporabili ukaz BIT za preizkus bita O in 1 v akumulatorju. V ukazih

SET bit,IME| RES bit,IME} BIT bit,IME|

označuje 'bit' element 0,1,...,? in IME ime registra A,B,...,L oziroma izraze (HL), (IX+D) in (IY+D). Kadar želimo anulirati tretji bit vsebine na naslovu lOOAH, uporabimo segment LD HL,100AH| naloži lOOAH v HL ■RES 3,(HL) J anuliraj bit 3 vsebine (lOOAH) oziroma tudi

LD IX.lOOOHi naloži lOOOH v IX RES 3,(IX+0AH)j prištej A k lOOOH in anuliraj I bit 3 vsebine (lOOAH)

ali

LD lY.lOOBH J naloži lOOBH v IY RES 3,(IY+PPH){ odštej 1 od lOOBH in anuliraj J bit 3 vsebine (lOOAH)

Pri indeksnem naslavljanju lahko za D v izrazih IX+D in 1Y+D določimo posebna imena z uporabo zbirniSke direktive BQU. Ce pišemo

X EQU O f X ima vrednost O Y EQU 1 t Y ima vrednost 1 Z EQU 2 ; Z ima vrednost 2

potem smo s segmentom

LD

SET

RES

BIT

JP

IX

lEOOH I postavi (IX) na lEOOH

1X+I) i bit 5 vsebine (lEOO) je 1

IX+Y) I bit 4 vsebine (lEOl) na O

IX+Z) I Se je bit 3 vsebine (1E02)

Z,YES } enak 1 pojdi v YES

... i sioer ...

postavljali in anulirali ter preizkušali bite besed od nekega osnovnega naslova, tj. lEOOH navzgor.

6. Pomlkan.le In rotiranje beaeđ

Procesor Z80 Ima bogato zalogo raznovrstnih poinikalriih in vrtilnih ukazov, ki Jih Je podobno kot 'bitne' ukaze mogoSe uporabiti nad registri A,B,...,L in nad pomnllnlskiml besedami (kazalci v HL, IX In IY).

Sestavljena vrtilna ukaza ata npr. RLD in RHD, ko imamo aklcl;

1 4 3 o (hll

riìy -

Tu imamo 4-bitno rotacijo med akumulatorjem A in pomnilno celico z naslovom (HL). Ta ukaza sta npr. pripravna za zbiranje hekaadecimalnih številk v heksadecimalno (notranje binarno) število. Pri vpisu heksadecimalnega števila iz periferije, ko prihajajo v^ heksadecimalne številke v obliki ASCII kodov, ae te najprej preslikajo v ustrezne 4-bitne ekvivalente in nato zlagajo v pomnilnik. Na ta na5in Je mogoče enostavno voltati poljubno dolgo heksadecimalno število v pomnilnik.

Če označimo s Q virtualni register ter z (HL)' položaj nižjih 4 bitov in z (HL)" položaj višjih 4 bitov celice (HL), dobimo za ukaz RLD shemo !

Q (A); A — ((HL) ")s

(HL)" ((HL)'); (HL)' (Q),

Z zaporedjem ukazov RLD (oziroma RRD), INC HL in DEC HL Je mogoče oblikovati poljubno dolg 4-bitni vrtilni register v pomnilniku. 0-glejmo si subrutino za vstavitev heksadecimalne številke (na nižjih štirih bitih) v A na najnižje mesto večzložnega operanda. Imamo:

INSA:j

; }

f

LD ADD DEC LD DEC NAZAJ; RLD DEC DJNZ RLD RET

(HL) je začetni naslov včzl operanda. (C) Je dolžina operanda (štev zlogov), (A) Je heksadecimalna številka (sp 4 b) register B Je aktiven B,0 J nastavi kazalec HL HL,BC; na konec operan-HL I dnega registra B,C } nastavi B za izvajanje B J večzložnega pomika vstavi številko (A) z uporabo { štiribitnega levega HL ; pomika celotnega več-NAZAJ} zložnega operanda J določene dolžine ) vrni se

Ko izstopimo le INSA imamo v A najvišje mesto operanda; tako Je mogoče to subrutino uporabiti za oblikovanje večzložnega, v levo vrtilne-,ga ali pomlkalnega registra heksadecimalnih .številk.

Tudi pomike l6-bitnih registrov la;hko dosežemo dokaj enostavno. Za pomik vsebine za en bit v levo v registru DE imamo

SLA E ; pomakni (E) v levo z ničlo RL d ; pomakni (d) v levo s prenosom

Za register HL pa je najkrajša oblika levega pomika

ADD HL,HL ; pomakni (HL) v levo z ničlo Za desni pomik pa imamo

; SRA H ; pomakni (H) desno z ničlo

RR L ; pomakni (L) desno s prenosom

Dober primer uporabe pomlkalnega In vrtilnega ukaza je subrutina za množenje l6-bitnih besed, ko imamo (HL) = (BC).(DE):

MNOŽ : ;

; anuliraj (HL)

ld hl,0 MZAN: ; srl b rr c

. jr nc.nise ; ADD hl,de

pomakni (BC) v desno

z ničlo preskoči delni produkt (HL)=([1L) + (DE)

MISE:

«

EX

HL.DE

i

pomakni (DE) v levo

ADD

III,, in:,

;

EX

}IL,DE

;

LD

A,n

;

če je (BC)=0, končaj

OR

C

f

JR

NZ,MZAN

t

sicer nadaljuj do konca

RET

i

izstopi

Pomlkalni In vrtilni ukazi nad ((!&)), ((IX+D)) in ((IY+D)) so izredno pripravni^za konstruiranje aritmetičnih rutin s- praktično poljubno stopnjo natančnosti (odvisno od prostora in časa). Brez težav je tako mogoče napisati rutine za 54-bitno aritmetiko (vključno z znanimi standardnimi funkcijami); to pa pomeni, da imamo na ^R tudi možnosti največjih računalnikov.

Druga možnost za uporabo vrtilnih in po-mlkalnih ukazov se ponuja pri prenosu korekcijskih kodov, tj. pri prenosu podatkov na daljavo.

Na koncu tega poglavja si oglejmo še subrutino za izpia akumulatorja v obliki dveh heksadecimalnih številk. V tej subrutini so uporabljeni ukazi RRCA za desno vrtenje vsebine akumulatorja. Imamo

IZPA:; heksadecimalni izpis akumulatorja PUSH AP ; ohrani AI'

RRCA ; zavrti (A) v deano

RRCA ; štirikrat

RRCA ;

RRCA ;

CALL INVPR ; uporabi inverzno pretvorbo POP AF t vrni AP .

INVPRjj pretvorba heksdec v ASCII PUSH AP ; ohrani AP

AND OPH ( odreži gornjo 4 bite CP OAH ; če je v A vrednost O,...,9 JR C.NIPR ; pojdi v NIPR ADD A,7 ; sicer priStej T NIPR:; oblikuj končno obliko ASCII ADD A,30H ; prištej 30H CALL TTYIZ ; izpiši heks številko POP AF ; vrni AP, ki Je nespremenjen

RET t Izstopi

Ta subrutina združuje dve subrutini,oziroma ima dve vstopni točki: IZPA in INVPR. Namesto, da bi v IZPA drugič poklicali INVPR, vstopimo v njo neposredno. Tu upoštevamo predvsem prostorsko optimizacijo.

Z uporabo subrutine IZPA lahko zapišemo še subrutino za izpis poljubno dolgega operanda oziroma polja, ko imamo;

IZPIS:; (HL) Je začetni naslov včzl polja } (C) je dolžina polja (štev zlogov)

J register B je aktiven

LD B,C NAZA:; LD A,(HL) CALL IZPA INC HI. DJNZ NAZA RET

7. Aritmetični, logični in izmenje-valnl ukazi

Oglejmo si najprej 8-bitne aritmetične in logične ukaze. Glede na procesor 8080 je ta zaloga ukazov razširjena na registra IX in IY. Vobce velja za te ukaze

OPERACIJA A, REGISTER; kjer se A izpušča in se piše okrajšano kar OPKRACIJA REGISTER, REGISTER je A,B,C,D,E,H, L,(HL),(IX+D),(IY+D),n, kjer Je n 8-bitna konstanta.

Z logičnimi operacljamo lahko registre tudi preizkušamo in jirn nastavljamo vrednosti. Za preizkus (BC)=0 uporabimo npr. LD A,B ; (B) pride v A

OR C ; (A) = (B) OR (C)

JR Z,YES ; če (A)=0 pojdi v YES

J nastavi B za izpis

I vstavi zlog v AKU ; izpisi zlog v heksadee obliki ; nastavi HL na naslednji zlog ; ponovi Izpis do konca ; izstopi

Akumulator anuliramo kratko z

XOR A J (A) XOR (A) Je vedno =0

Čeprav so ukazi ® operandi (ICL), (IX+D) In (IY+D) medseboj funkcionalno enakovredni, ol velja zapomniti, da so ukazi z operandom (IIL) enozloSnl, z (IX+D) In (IY+D) pa trizložni. 8-bitna aritmetlCha/loglčna ukazna zaloga je tedaj t

ADD, ADC (b prenosom), SUB, SBC (s prenosom), AND, XOR, OR, CP (primerjava), INC, DEC

Posebni ukazi pa sot

DAA (decimalna nastavitev AKU), CPL (e-nlSkl komplement). NBG (dvojlški komplement, ki Je dodan), CCP (komplementlra-nje zastavice prenosa), SCP (postavitev zastavice prenosa)

l6-bltnl aritmetični ukazi imajo obliko

ADD REGISTER, REGISTER» in

INC/DEC REGISTER;

Tu Je register vselej l6-bitni: BC,DE,HL,IX,IY SP. Za seštevanje in odštevanje s prenosom je možna le oblika

OPERACIJA m, REGISTER}

Niso pa možne vse kombinacije registrov. Odštevanje 16-bltnih registrov je vedno odštevanje 8 prenosom, zato moramo v posameznih primerih anulirati zastavico prenosa. Npr.

} (A) se ne spremeni, C-zasta-

vlca pa pade ( =0) I (HL)={HLV(DE)

OR A

}

SBC HL,DE

Večina l6-bitnih aritmetiSnih ukazov Je glede na procesor 8080 novih (izjema so ukazi INC, DEC in ADD HL, REGISTER}).

Zaloga izmenjevalnih ukazov je občutno narasla. Izmenjava se izvaja med registri R in njihovimi dvojniki R'. Npr.

EX AP,AP' J AF AP'

Najmočnejši izmenjevalni ukaz Je

EXX J BC BC'} DE DE'J

t HI HL'

ki povzroči izmenjavo med dvanajstimi osnovnimi registri. Zanimiva nova izmenjevalna ukaza Bta

EX (SP),IXj In EX (SP),IY}

ki omogočata Izmenjavo vsebine dveh lokacij sklada z vsebinama registrov IX in IY. Tako je:

EX (SP),IX , IXyiBoki (SP+1),

' IWl-^(SP)

Vrednost (SP) ostane pri tem nespremenjena. Ta ukaza Je mogoče uporabiti namesto zaporedja PUSH in POP ukazov.

Imejmo sklad ABC (C je na vrhu sklada), ko želimo C vzeti Iz sklada v register IY in naložiti D na njegovo mesto, tako da dobimo sklad ABD, D se nahaja tudi v 1Y. Za to izmenjavo je potreben en sam EX ukaz. V PUSH/POP tehniki pa izgleda programski segment takole:

POP DE I C pride v DE

PUSH IY J D gre v sklad

PUSH DE I C gre začasno v sklad in

POP IY I In odtod v IY

Uporabili smo pomožni register DE. Procesor 8080 ima samo dva izmenjevalna ukaza :

EX DE,HL} in EX (SP),HL}

8. Ukazi za vhod in izhod

Zaloga teh ukazov Je pri Z80 zares pestra, Najprej imamo tele tipe ukazov:

IN A,(n)} IN r,(C)} OUT (n),A} OUT (C),rj.

kjer Je r = A,B,...,L, n in (C) pa sta številki vrat (dejansko samo spodnjega dela številke). Za Rornje ukaze velja npr.

A (n), r ((C)), n (A), (C) ^ (r)

Proceaor Z80 nima svojih vrat. Pri izvedbi IN/ OUT ukazov ne ustrezno nastavi naslovno vodilo in vpliva tako na dekodiranje vrat. Konstanta n in vsebina (C) oblikujeta naslovne bite A0, ...,A7, registra A in B pa dodatno (po potrebi) bite A8.....A15. Tako dobimo z n in (C)

256 naslovov vrat, z dodatnimi osmimi biti pa 64K vrat.

Ukazi t INI, INIR, IND, INDR, OUTI, OTIR, OUTD, OTDR. Vsi ti ukazi imajo prenos vsebine med {c) in (HL) torej med periferijo In pomnilnikom. Zadnji ukaz ima tale pomen:

(C)

((HL)), B

(B)-l, HL — (HL)-l

in ae ponavlja do B=0. Tako lahko pošljemo z enim samim ukazom 256 zlogov na zunanjo napravo. Kazalec (HL) se dekrementira ali Inkre-mentira^ ukazi brez končnice R pa so ustrezni enokoracni ukazi (neponavlJalni ukazi, glej poglavje 3).

9. Sklep

V sklepne opombe sodi vse tisto, kar Je za programiranje na sistemih z Z80 bistveno, pa tega vsled pomanjkanja prostora nismo obširneje opisali.

Prva pomanjkljivost zbirnika za Z80 Je, da je potrebno pri vseh relativnih skokih JR za operand OZNAČITEV pisati izraz

OZNAČITEV-? de se relativni prehod (skok) izračuna.

V sestavku nismo opisali možnosti programiranja s prekinitvami (npr. generiranje realnega casa v posebnem kanalu)} takšni programi so v sistemih z Z80 možni, če imamo v konfiguraciji element CTC. O tem kaj več drugič.

Pri majhnih konfiguracijah so t.l. sistemski programski dodatki osnovnega pomena zlasti za začetni razvoj programske opreme. Prisiljeni smo, da si večkrat naredimo dodatno orodje sami. Monitorji (majhni operacijski sistemi) so dostikrat pomanjkljivi (zaradi štednje s pomnilnim prostorom) in naravnani na širjenje sistema} takšne možnosti pa so v začetni fazi dostikrat brez praktične vrednosti (različni programski vmesniki za pogon periferije) Navadno tako nimamo na voljo niti zbirnika, premestiJIvega nalagalnika in urejevalnika. Torej Je razvoj nekaterih pomožnih sistemskih dodatkov v začetni fazi nujen. To so programi za nazorno ročno (interaktivno) nalaganje (ko

trogram prvič vpisujemo v pomnilnik), preizkušnje (npr. po posamičnih ukaznih korakih z indikacijo splošnih registrov) in prikazovanje (npr. strojnega koda v ukaznem formatu).

Z80 je najmočnejši mikro procesor in prav je, da ga začnemo uporabljati v procesnih okoljih, Se zlasti tedaj, ko je povezan z dinamičnimi pomnilniki (zaradi visoke zanesljivosti transparentnega osveževanja), ko se zahteva hiter odziv in obdelava prekinitev (osnovna taktna frekvenca procesorja je 4 MHz) in ko' zahtevamo učinkovito in dovolj prožno jedro operacijskega sistema.

Sistem z Z80 je pripraven tudi za poučevanje inženirskega programiranja zaradi močnih in raznovrstnih ukazov, ki omogočajo strukturiran pristop (rekurzivno pozivanje) ter časovno/prostorsko optimizacijo programov.

Literatura

(1) T.Dollhoff, Techniques for the Zilog Z80,

Digital Design, Feb.1977,44.

(2) M.Shlma, P.Paggin, R.Ungermann, Z-80 Chip

Set Heralds Third Microprocessor Generation, Electronics, Aug.1976,89.

p) Z80 Technical Manual, Mostek, Aug.1976. (4) Z80-Assembly Language Programming Manual,

Zilog, 1977.

Informatica št. 2 letnik 1977

primjena monitorskog koncepta u izgradnji operacionog sistema za periodično aktiviranje programa branislav popović matija exe I milan mekinda

Iskra Telekomunikacije, Kranj Institut Jožef Stefan, Ljubljnn." Iskra Telekomunikacije, Kranj

UDK 681.3.06

U članku je prikazan pristup ka izcradnji operacionog sistema koji omogućava periodično aktiviranje procrnma, pomoću koncepta monitora iz paralelnog programiranja. Takav oporacioni sistem može da poslužuje svaki sistem za otkrivanje i obi-adjivanje velikoE broja đor;,adjaja - si^nala, kao Sto su sistemi za upravljanje procesima, a naročito komutacijski sistemi telekomunikacijskih mreža. Alj-oritam je prikazan u Pascal jeziku za paralelno programiranje (3)=

AN APPLICATION OF TlIK KONITOR CONCEPT TO THE OPERATING SUBSiSTEl'i FOR PERIODIC PROGRAl'iS ACTIVATIONS

An approach to operatinf-; system design eiiablinc periodic programs nc!;ivaLions is [-ivon in the paper-In the design , the monitor concept of concurrent prosraramint; is used. The described operating system can be used for those real time systems detecting and handling large amounts of events or signals - such as process control systems. But the most representative of such is a stored program controlled switching system treating line and register signalling on enormous numl)er of trunks. Algorithm is shown by Pascal concurrent programming language (5).

1. Uvod

2. I-iBtrica za periodično aktiviranje programa

Telelvomunikacijski sistemi poseduju veliki broj priključnih tačaka na kojima otkrivaju dogadjnje - signale iz okoline sistema. Priključne tačke posnntramo pomoću skanirnih programa koje uključujemo u odredjenim periodama, Period skaniranja priključnih tačaka zavisi od učestalosti i/ili od trajanja dogadja-ja - signala. Učestalošću većom od potrebno ne đobijamo bogatiju informaciju o signalima, a trošimo procesoraku sposobnost, dok suviše mala učestalost prouzrokuje (gubitak dogadjaja ili pogrešnu identifikaciju signala. Zato su periodi uključivanja skanir/nih programa date vrednosti aisteina od kojih no sme biti odstupanja za vreme rada niti zbog suviše velikog saobračaja kojeg mora sistem posluživati.

U sistemu imamo više tipova priključnih tačaka. Broj tipova jc broj mzličit :i li linijskili i registarskih signalizacija. Za svaki .!:ip priključne tačke postoji poseb/in !;k;ii]i imi i program.

Neka u sistemu postoji m skanirnih programa:

P^; , Pg . • • •> , • • Pn,

koji se moi'aju izvršavati svakih Tj^ , rg , . . ., r^ , . . •, r^

taktijva. Taktovi sn hardverski prekidi koji se dešavaju u stalnim vremenskim razmacima. Razmak izmedju taktova iznosi T vremenskih jedinica. Proi';rnra p^ izvodi se dakle svakih r^ T jedinica vremena, (';de je r^ prirodan broj za

1 .. m.

svaki indcl<s i

Aktiviranje programa može se odrediti parom

(identitet programa : p^ , brojač. )

brojač^ povečava so pri svakom takt\i za l.Kad njegova vrednost postaje jednaka faktoru perioda r^ i.'.'.vodjiMij.i pi'ogr'.Miia p^ , brojačj^ sta -vt.ja so Ila ü, n (ifDgfnm p^ se aktivira.

Aktivironjf pi-op:i'nij:n možo ne tokodje odrediti Doolovom ma t rir. .ji;i ^.nhteva. Od prvog načina ka drugom inožiMii > doći jednostavnom transformacijom (1).

ü prikazanom pristupu upotrebili smo drugi način.

Matrika zahteva (označimo je na ovom mestu sa M) sastoji iz zahteva S ^ , gde Je k indeks rada koji Je ujedno broj takta, a i Je indeks kolone, koji Je istovremeno i indeks programa:

M

i odredjen je sa: k

false, ako se program p. ne izvodi u taktu k ^

trUQ, oko se program p. izvodi u taktu k ^

Broj redova u matrici ograničavamo tako da uzimamo cikličnu matricu sa brojem redova n, koji Je najmanji zajednički sadržioc skupa

Za primer uzmimo samo dva programa

Pj^ i Pg : Pj^ se izvršava svaka dva takta

(tj^ = 2), a P2 se izvršava svakih tri taktova

" 3). Najmanji zajednički sadržioc Je 6, pa Je matrica dugačka 6 redova.

Moguća konfiguracija matrice je

(f stoji za false, a t za true) : ft tf ff tt ff tf

Ova matrica odredjuje da se u prvom taktu vrši program pg, u drugom p^^, u trećem nijedan program, u četvrtom p^^ i Pg, u petom nijedan, a u Seatom pj^. Zahteve za sedmi takt možemo nači ponovo u prvom redu, za osmi u drugom redu i tnko redom. Zna6i, broj takta k po modulu od 6 Je indeks reda, u kome možemo nači koji programi se moraju izvrSiti u taktu k.

Očito važi za elemente matrice sledeča relacija:

ako je (J. l:rue. onda je ö = true

14

it (k+r^)mod n -

Zato je i - ta kolona u H odredJena sa Bk^< 0, gde je iBkj^l ^ r^ to sa r^^ po jednačinl:

^ i Tfalse za k, (k-sk^) mod r^ / 0 k Itrue za k, (k-sk^) mod r^ - 0

za svaki k •> 1 .. n.

U gore pokazanom primeru skj^ «> - 1, dok Je

skg = - 3«

Tako Je u stvari matrica, M odredjena jednolično faktorima r^^ i sk ^ za sve programe p^ (i = 1 .. m). Pošto su r^ za dati sistem konstante, konfiguracij a matrice zavisi samo od sk^ , koji se mogu odrediti tako da imamo rav-nomerno opterečenje svakog intervala izmedju taktova (1).

3. Glavne crte operacionog sistema

U ovom poglavju pokazati ćemo grube obrise operacionog sistema, potrebne za razumevanje algoritma za periodično aktiviranje programa. Detaljnija struktura sistema izložena je u (2)..

Dotaći ćemo se samo onih delova operacionog sistema koji poslužuju programe za ispitivanje priključnih tačaka.

Sistem Je zamišljen kao skup unutrašnjih sek-ventnih procesa , koji cikliraju beskonačno. Saradjivanje procesa obezbodjeno Je skupom hierarhično uredjenih monitora koji upravljaju sredstvima (hardverskim kolima, procesorskim vremenom i sliČno)(5)..

Monitor je sintaksni konstrukt pomoću kojeg definiramo podatkovnu strukturu (pretstavlja-Juču odredjeno sredstvo) i skup operacija (mo-nitorskih procedura) nad podacima te strukture. Monitorske procedure odredjenog monitora implementirane su tako da omogućavaju istodobno pozivanje sa strane različitih procesa. Monitor takodje definiSe početne operacije koje se moraju izvrSiti u svrhu inicializacije podatkovne strukture monitora.

Za sve testne procese koji ispituju priključna tačke definiäemo tip testniproces.

type testniproces •

process (monvreme monitori za upravljanje ostalim sredstvima } ) I deklaracije tipova i promenljivih}

cycle repeat

{kod za testiranje ispitnih tačaka i za komunikaciju oatnlim procesima }

until { sve priključne tačV:e ispitane } ; monvreme .čekati (indeksprocer.n) { monitor mon-vrerae je opison upoKlavju 4 J end testniproces ^

Testniprocea ispituje priključne tačke sve dok nije ispitao sve tačke iutof^ tipa. Inače je u stanju čekpnjn svo dok ga ponovo aktiviramo.

Monitor za upravljanje procesorom nazovimo monproc kojec definišemo nn sledeči način:

var irionproc { monitor za upravljanje procesorom } :

monitor ( { globalni podaci } )

{ deklaracije potrebnih tipova i promettijivih} procedure entry dodeliti h er-: in

{ izabere sledeči proces maksimalnog prioriteta i7, liste "spremnosti", stavlja izabrani proces u ntanje " .viktuelni" end

procodurc! ontr;y o(lL';ođitij befin

{ "aktuelni" proces se zaustavlja i stavlja u listu "čekonja" ođ{;;ovfirajućeg prioriteta } end

procecìure entry spremiti (i : indeksprocesa) ben:i n

{ proces sa indeksom i stavlja se i;', liste •"čekanja" u listu "spremnosti" najvišei;; prioriteta } end :)ei?;in

{ inicializacija lista "čekanja" i "spremnosti" end { iiionprüc }

tionitor za aktiviranje testnih procesa u zavisnosti od vremena

Monitor koji aktivira testne procese u zavisnosti od vremena nazovimo monvreme. Ovim monitorom "aktuelni" - tekući - proces se znui:tavlja (pomoću pozivanja procedure "čekati") i aktiviraju se procesi (pomoću pozivanja procedure '.'aktivirati") koji se moraju izvršiti u tekućem taktu.

Proceduru "aktivirati" za akl:ivironje prot;ra-nm - procesa - zove proces hardverskih fcakt-nili prekida.

monvreme {vremenski monitor}

monitor (monproc { J f-l'^l'filni podaci } ); type boolvekt = nrrfi.y ( 1.. m {jednak broju testnihprocesa} ] of, Balonn var zahtevi : array [l.. n {najmanji ukupni' sadržioc faktora perioda}] of boolvect I to je u stvari matrica za periodično ak- ■ tiviranje programa } dosadzahtevi : boolvekt ; zavTŠeniciklusi : boolvekt J dozvoljenizahtevi : boolvekt i "brojačtaktova : 1 ..n {makoim. dužinj.i matrice } ^

Tirocedure entry čekati (>) : into(-or) J. | zove

se iz testnih procesa }

beKin

monproc. odgoditi ; završeniciklusi (j) : = true ; monproc. dodeliti end ;

procedure entry nk l;i vira t'i J { "ovo se iz procesa h? ri3 ver skill tok i-,nih prtKidn j. bef.iii

l>ro jaótak'.o va : = ( liroj ač I: Mkl;o va + 1) ino d i) ,

fur i : - 1 to m >1 >

dosadzahtevi fi] : = dosadzahtevi fi] or zahtevi [bro jačtakt.o va ] [i] {dosad/.ahtevi sadrži sve zahteve do sada koji se nisu laof.Ji ostvai'iti jer su bili procesi blokirani, pn se njihov ciklus nije iiiopao završiti. Ovim zaostalim Zfihtevima dajemo još zahtjeve za tekući takt.) J

dozvol jeiiizHhtev;i [i ] ; - dosad:'ahl:evi [i] ami

za vršeni ciklusi [i] {dozvoljenizahtevi sada sadi-že sve dosadašnje zohtove {dosadznhteve} zn procese čiji ciklusi su se završili, pa čekaju no ponovno aktiviranje nakon pi'oV.očenof^ pin-ioda vremena.}! monproc. o<l?'oditi

{" aktuelni" proces smo prekinuli i stavili pa u od(';ovariijuću listu "čekanja" } if dozvol joniz/ihtevi [i] then bo;':in

monproc. spremiti [i] ; završeniciklusi [i] : « false ; dosadzahtevi [i] : » falso ; end {if> end •{for} monproc. dodeliti

{izabere proces iz liste "spremnosti" sa najvišim prioritetom i stavlja (ja u stanje "aktuolai") jnd {aktivirati} ;

bef.ig {inicializocija monvreme } for i : • 1 ^ m do hoKln

znvräeniciklusi [i] : «. fcruo ; doBadzahtevi [ij : « faine end {for} ; brojnilzahteva : - O J

{ inicializacija matrice zahteva za periodično aktivìj'snje proRrama } end { monvrome }

5. Diskusija

Ako uredimo indekse programa - procesa u ras-tufiem redu po opađajućem prioritetu,zbop; zakonitosti for do potlje, aktivirano proemine tnkodje u redu odpadajućeg prioriteta. Na taj način obozbedili smo da kritične priključno tačko obilnzirao u traženom periodu vrenlena, dok za proceGO manje kritičnih priključnih tBČaka dopuštamo odstupanje u granicama toleranci jn.

AlKoritnm je prikazan u Pascal jeziku zn paralelno proernrairanje (5, 4-). Medjutim primitivi toc jezika mogu ne roalizovnti i u drugim je

zicima (6), pa se algoritam može izvesti u

drugim proßraKskim jezicima pogodnim za programiranje sistema realnog vremena.

6. Literatura

1) Popović B.; Optimizacija programskog monitora kod sistema realnog vremena! V.Jugoslo-vensko eavetovanje o informacionim sistemima; Zbornik radova, raaj 1976.

2) JExel K., Mekinda M., Popović B.;Structura-tion d'un système telephonique informatisel AfCET, Pariz, 1977.

3) Brinch-Hanaen P.J The programming language Concurrent Pascal; IEEE Transactions on Software Engineering, vol. ae-l, no.2, june 1975.

Brinch-Hansen P.; Concurrent Pascal Report; Information Sciense; California Institute of Technology; june 1975«

5) Hosre C.A.H.; Konitors : an operating system structuring concept; CACK, vol.l7|no.lO,^97'^.

6) Mc Gownn C.L., Kelly J.R.; Top-down otructu-rod programming techniques; Petrocelli/ Charter; N.Y. 1975-

Iriio< üiatica št. 2 letnik 1977

17

cleaning up unstructured algorithms using invariants

suad alagic

Elektrotehnički fakultet, 71000, Sarajevo-Lukavlca

In this paper we attempt to show that the mothod of invariants is often a very good technique for the design of a well-structured algorithm on the basis of an unstructured one. This transformation is based on a careful analysis of the invariants underlying the original solution. The result of the transformation Is an algorithm which is well-structured and whose proof of correctness is immediate from the way this transformation is performed.

ČIŠČENJE NESTRUKTURIRANIH ALGORITAMA POMOĆU INVARIANTI - U ovom članku pokušavamo pokazati kako su invarlr-antne metode često vrlo dobra tehnika za projektiranje dobro strukturiranih algoritama na osnovi nestrukturiranih. Ova transformacija je zasnovana na pažljivoj analizi invarianti koje baziraju na originalnim rješenjima. Rezultat transformacije je algoritam koji je dobro strukturiran i čiji dokaz korektnosti sijedi direktno iz postupka transformacije.

UDK 681.3.05/. 06

It has been realised for a while that the method of Invariants Is a powerful technique for the development of well-structured and correct algorithms (Hoare)• However, the majority of well-known and widely used algojMthms in computer science literature were invented before the discovery of the main principles of modern programming methodology. Many of them suffer seriously from all sorts of structural irregularities and obscurities. Because of that it is often very difficult to understand why such algorithms work and whether they are really correct. Problems also arise in modifying such algorithms to satisfy specific needs which may be somewhat different from the ones for which these algorithms were originally designed. So what we need are techniques for restructuring poorely structured algorithms into the well-structurd ones.

In this paper we attempt to show that the method of invariants is often a very good technique for the design of a well-structured algorithm on the basis of an unstructured one. This transformation is based on a careful analysis of the invariants underlying the original solution. The result of the transformation is an algorithm which is well-structured and whose proof of correctness is immediate from the way this transformation is performed, This technique is demonstrated here by restructuring the binary algorithm for computing the greatest common divisor of two nonnegative integers.

Recall that if x and y are integers, not both zero, then their greatest common divisor,denoted by gcd(x,y), is the largest integer which divides both of them (that is, without remainder). Observe that this definition makes sense, i.e., such an Integer does exist. Indeed, if y^O, then -no integer greater than iy| (the absolute value of y) can divide y. On the other hand, the integer 1 divides bot:h x and y, and so there must be a largest Integer which divides them both. When both x and y are zero, the above definition does not apply, since every integer divides 0. We shall set

gcd(0,0)=0

It is obvious that the foilowing properties follow from the above definitions: '

gcd(u,v)=gcđ(v,u) gcd (u,v)=gcđ(-u,v) gcđ(u,0)= u

Because of the properties (2) and (3) we can actually concentrate on the problem of finding the greatest common divisor of two non-negative integers a and b. Indeed, If we know how to solve that problem, then in order to find the greatest common divisor of arbitrary integers a and b, we just apply that method to |a| and )b| .

A modern version of "the Eucledean algorithm for computing the greatest common divisor of non-negative Integers a and b is given in (5) ,

begin (a ^0, b^ *:■»«/ y:=b; {god(a,b)=gcd(x,y)J while y^O do begin r:"x mod y; xi=y; y l«>r

end

(1)

(2)

(3)

(4)

( x«gcd(a,b)l

end

(rhe binary gcd algorithm (Knuth) given In (10) Is based on the following four further properties of positive Integers u and vt

If u and V are both even, then

gcđ(u,v)-2gođ(u div 2, v div 2)

If u Is even and v Is odd, then gcđ(u,vj^gcdCu dlv 2, v)

(6)

(7)

(8)

If VA>V then gcd(u, v)=gcđ(u-v, v)

If u and v are both odd, then u-v Is even and iu-vl<max(u,v) (9)

The algorithm (12) Is derived on the basis of the following considerations:

1. Because of the pr<^erty(6) after the loop

while even(x)A even(y) do begin xs=x dlv 2; ys-y HTv 2; ks=k*2

end

(13)

gcd(u,v)"k*gcd(x,y) holds.

11. The loops

while 6ven(x) do xi^x dlv 2; while even(y) 3S ys"y dlv 2

(14)

begin

xi=u; y!=v; ks-i;

Is ^ even(x) a even(y) then begin x:=x dlv 2; y s°y dlv 2

k:=k*27~ -

goto 1

end;

If odd(x) then

(10)

begin t:=-y; goto ž end eTse t;=x; 2s ts=t dlv 2; 3s even(t) then goto 2; jjF t > O then x:=t else ys=-t; t8=x-y;

If tj^O then goto 2 else x:=x»k (gcd(u,v)=x} end

The structure of the algorithm (10) can be Improvèd in an obvious manner by discovering the while-do and repeat-untll loops in it. This leads to the algorithm (11).

The algorithn (11), although much clearer than the algorithm (10), and without any jumps,is still not too easy to understand. A clearer algorithm is obtained if one tries to derive it directly from the properties (6), (7), (8), and (9). Such an algorithm is presented in (12).

l^egln x:u; y;=v; k: = l;

while even (x) A even(y) do begin x:=x dlv 2; y!=y dlv 2; k:=k*2

end; {(gcđ(u,v)=k*gcđ(x,y)) A(odd(x) V odd(y))l if ođđ(x) then t:=-y else t)=x; repeat

while even(t) ^ ti=t dlv 2; ^ t> 0 then x:=t else ys^-t,' toda(x)A odd(y)l t :=x-v unti 1 t=0 ; x!=x*k; {gcd(u,v)=x)

end

(11)

begin x :=u; y:=v; k!=.l;

whi le even (x) A even (y) do begin x:=x dlv 2; Y!=y ^v 2;

k:=k*~ -

end; (gcd (u, v)=k*qcd (x,y)1 repeat (odd (x) V odd (y) 1

whl.lc! uvon(x) do x s^x dlv 2; whl l.f> ovGn(y) ^ yi=y dlv 2," (otld(x)A oad(y)^ ^ X > y then x:=x-y elgp y :=y-x until (K^v <y=n); If x=0 then gcd:=y*k elsn qcd;=x*k end (gcoT =gcd(u,v))

do not affect the valuö of gcđ(x,y).This follows from the property (7) and the fact that whenever the loops (14) are reached odd(x) Vodd(y) holds. This is certainly true the first time the loops (14) are reached, since that happens upon exit from the loop (13). Upon completion of execution of the loops (14) odd(x) A odd.(yJ holds, and after the statement If x>y then xs=x-y else y:=y-x x will be o33 and y will be even, or vice versa. This follows from(9) . So whenever, later in the •repeat-until loop in (12), the loops (14) are reached, either x or y will be odd.

ill. The step ^ x>y then x:=x-y else y:=y-x Is justified by (8) and (9) and of course (2) . It follows from (8) and (2) that the statement if x>y then x:=x-y else y:=y-x does not affect the value of gcd(x,y).This statement reduces either x or y , but leaves them non-negative, so that after snme number of iterations the condition (x=0)V (y=0> must be satlslfied.

A fxirther modification of the algorith« (12) is possible. It la baaed on the substitution of the statement if x > y then x:=x-y else y:=y-x by the loops

(15)

while X > y do xs=x-y; while y > x 3Ö y;=y-x

This is again justified by (8) and (2). And now on the basis of gcd^utui^u we can substitute in (12) the test (x=0)V (y=0) by x=y, to obtain the following algorithm (16) !

begin x:=u; y:=vj k: = l;

while even (x) A even (y) do begin x: =x dlv 2,* y : =y c^v 2 k:=k*2

end; (gcd{u,v)=k*gcd(x,y)l repeat while even(x) do xs=x dlv 2; while even(y) 3"ö y:=y div 2;

{odd(x)A odd(y7T

while x>y do while y > x ^ ys-y-x until x=y {god(u,v)=x*k )

end

REFERENCES..

Alaglđ, S. (i976)j Principles of ProqrainnilncT (In Serbo-CroatlanTT Svjetlost - Sarajevo.

Gries, D. (1977): On belelvlng programs to be correct. Com-nunlcatlons of the Vol. 20,

pp. 49^5p.

Hoare, C.A. R. (1971): Proof of IB program:' Find,. Communications Sf ill® ACM, Vol ; ■ 14, pp. 39-45.

Hoare, C.A. R. and Wlrth, N. (1973): An axiomatic definition of the programming language Pascal. Acta Informatica 2, pp. 335-355.

Knuth, D. E. (1969) I The Art of Computer Programming: Vol. 3/ Sorting and Searching. Ađlson_Wasley.

Wlrth, N. (1974): On the composition of well - structured programs. Computing Surveys 6, pp. 247-259.

AOKHOVfLEDGMENT

Research reported In tbls paper wad supported by Zajednica sa naučni rad SB Bosne i Hercegovine.

Informatica št, 2 letnik 1977

monitori za mikno sisteme sa procesorom BBOO

m. kovačević

d. novak

a. p. železnikar

Institut "Jožef Stefan", Ljubljana

U članku se obrađjuju različiti koncepti monitora za mikro računarske sisteme sa prooeaoróra 68ÜÜ. Upisane su ugodnosti koje pruža taj procesor za realizaciju monitora. Članak uključuje dva primjera monitora za istu konfiguraciju sistema od kojih Je Jedan napisan u aeemblerekoni Jeziku 5 drugi u obliku pseudo koda.

MONITORS l-'OR MICROSYSTEMS USING 6800 PßUCEßSUH - The article deals with aeveral monitor concepts for microcomputer systems using the 6800 processor. Advantages of monitors for such systems are presented in details. This article includes two monitor examples for the same system configuration, the first one being written in the assembly language and the second one in pseudocode.

UDK 681.3-181.4.06

1. Uvod

Osnovna softverska oprema, koju mikroraču-naroki sistem mora imati da bi mogao izvršavati naredbe korisnika, mora u najjednostavnijem primjeru imati mogućnost pokazivanja i promjene sadrJ.aJa odredjene memorijske lokacije, unošenje objektnog programa u memoriju, ispis sadržaja registara centralne procesno Jedinice (CPU; u trenutku prekida izvodjnja korisničkog programa te prenošenja kontrole nad sistemom na korisnički program. Takav monitor nam već omogućava razvijanje i popravljanje programa iako bi to bio mukotrpan posao jer imamo vrlo ugraničene mogućnosti za testiranje korisničkih programa i manipulaciju po- ■ ilntcima zapamćenim u memoriji. Monitori predstavljaju nadgradnju hardverskog sistema u mikro računarima. I tako dobre hardverske karakteristike nekoga sistema nije moguće dovoljno iskoristiti bez odgovarajućeg monitora. Posebno važno mjesto medju monitorskim naredbama imaju naredbe za testiranje korisničkih programa (breakpoint, ispis registara CPU i heksadecimalna aritmetika koju Često upotrebljavamo pri popravljanju koristničklh programa.

U skup monitoi-okih naredbi mikro računara spadaju Još i naredba za ispis sadržaja odredje-nog memoriJskog bloka, naredba za bušenje objektnog koda (maSinskog koda) na papirnoj traki u odgovarajućem formatu, naredbo za kopiranje eardSaJa odredjenog memorijskog bloka na drugu adresu te naredbe za programi-ranjePROH memorija (ukoliko konfiguracija sistema sadrži odgovarajuće hardverske elemente). Pored mogućnosti izvršavanja tih osnovnih naredbi namijenjeniti komuniciranju čovjek-mašina monitor nara često pru?.a i druge nerviae. U korisničkim programima ae vrlo često pojavljuje problem čitanja i izpisivanja podataka na različitim perifernim napravama, fljnltor treba da sadrži podprograme i drajvere za različite periferne naprave čime Je problem čitanja i izpisivanja podataka riješen. Pored podprograma i drajvera za 1/0 komuniciinnje monitor često sadrži i obilje podprograma, namijenjenih za vanjsku iipotrebu, koji obrađjuju üdredjene elemente iz problemskog prostora u kojem djeluje mikro rnčunarski aiatem.

2. Različiti koncepti monitora

Minimalni sistem koji je potreban za implementaciju monitora sa opisanim naredbama mora, pored centralne procesne Jedinice, imati najmanje 1 K bajtnu HÜM (ili EPHOM) memoriju, 0,5 K bajtnu RAM memoriju te priključen teleprinter ili tastaturu sa moni to run, za komuniciranje čovJek-maSina. U odvisnosti od odabrane hardverske konfiguracijo odlučujemo se za najpogodniji koncept monitorskog programa. U članku ćemo se ograničiti na monitore pisane za konfiguracije sa ROM ili (EPROM) modulima namijenjenim za pamćenje sistemskih programa, te takvih korisničkih programa koji su često (ili stalno) u upotrebi. Diskovno ili kasetno orientirani monitori zahtijevaju dru-

tačiji pristup.

azlikujemo dva načina djelovanja monitora s obzirom na način prihvatanja naredbe. U jednom slučaju moJemo Jasno povući granicu izmedju ciklusa prihvatanjn naredbe i ciklusa izvršavanja iste, dok u drugom slučaju ta granica nije • tako Jasna. Naime, svaki znak, koji se prihvati sa tastature, se interpretira na način kojeg odredjuje aintakaa monitorakih naredbi. Drugim rječima svakim na tastaturi natipkanim znakom biramo jedan od puteva kroz monitorski propsra. U prvom slučaju Je neophodno imati rezervisano odgovarajuće područje u RAM memoriJi(buffer) za formiranje unutrašnje alike naredbp koja se skanira pri izvršavanju Jete. Razlike u sintaksi naredbi sa istim ličinkom nam često doprinose prostorskoj optimizaciji monitorskog programa. Pri tome prostorska optimizacija nastaje na uStrb autonatiziranoati i brzini izvodjenja naredbe. Na primjer naredbo za prenos kontrole nad sistemom na korisnički program mo/.e biti sastavljena aamo od jndnog aimbola (GJ. Dodatna, potrebne ini ormaci ja za pravilno izvršenje te naredbe je adresa progra ma na kojeg treba da se prenese kontrola. T\i informaciju posredujemo monitoru odgovarajućom monitorskom naredbom tako da prethodno u odre-djeni registar centralnog procesora ili lokaciju Ju RAM meiiiorij« upiäemo adresu programa. Očito je da moKeino govoriti 0 naredbama potpiiriog oblika i o naredbama kojo zahtijevaju prodhodne monitorake akcije. Naredbe potpunog oblika sadrže sve informacije potrebne za pravilno

izvrSenJe naredbe.

Tipični oblik monitorske naredbe ima sljedeći oblik:

^mnemonik> <dodatne informacije^

Naredbe koje zahtijevaju predhodne monitorske akcije su obično sastavljene samo iz mnemonič-nog dijela.

5. Primjer jednostavnog monitora

Predpostavimo sljedeću konfiguraciju mikro računarskog sistema: 0,5 K bajtn,a EPROM memorija, 1 K bajtnà RAM memorija, teleprinter priključen posredstvom ACIA kompleksnog integriranog vezja (Asynchronous communications interface adapter - MC 685Ü) i centralna procesna jedinica sa procesorom 68üü.

Sa teko skučenim memorijskim prostorom nije moguće realizirati monitor sa bogatom zbirkom naredbi. Zbog toga moramo iskoristiti sve mogućnosti za optimalno korištenje memorijskog prostora, kao na primjer nepotpuni oblik naredbi sa prethodno potrebnim dodatnim akcijama. Fiaksimalni mogući skup naredbi je sljedeći: pokazivanje i promjena sadržaja memorijske lokacije (m), unošenje objektnog programa u memoriju (L), ispis sadržaja registara centralne procesne jedinice u trenutku prekida izvodjenja korisničkog programa (R), i prenos kontrole nad sistemom na korisnički program (g).

Naredba M ima oblik:

H XXXX yy zz

■Najprije natipkamo znak M čime odabiremo naredbu, zatim natipkamo četverocifarsku heksa-decimalnu adresu memorijske lokacije (XXXX) čiji sadržaj želimo znati ili promijeniti. Automatski se na teleprinteru ispiše sadržaj iste lokacije u hekaadecimalnoj notaciji (YY). Ukoliko želimo mjenjati sadržaj te lokacije moramo natipkati '/.nak za prazno mjesto i zatim novi sadržaj te lokacije CZZ). Po izvršenju te naredbe monitor čeka na sljedeću naredbu. Naredba L ne zahteva nikakve dodatne informacije ili akcije. Neposredno zatim pošto smo natipkali znak L počinje čitanje papirne trake koja sadrži objektni program izdijeljen u rekorde sa sljedećim formatom:

sxyyaaaahh...........cg

S je fitartni znak za rekord

X je identifikator koji označava prvi, zadnji

ili rekord koji je izmedju prvog i zadnjeg YY je heksadecimaj-ni bro^ bajtova objektnog

programa u odgovarjajucem rekordu AAAA je heksadecimalna adresa lokacije u koju

će se ujiianti prvi bajt iz rekorda im Je b.ijt objektnog programa CC je kontrolna suma-svih bajtova objektnog

pi'ograma iz odgovarajućeg rekorda. Naredba R se sastoji samo iz znaka R. Neposredno zatim posto smo natipkali znak R se ispisu, bajt po bajt, sadržine svih registara centralnog procesora u trenutku prekida korisničkog programa po sljedećem redu; CC,B,A,XH,XL,PH, PL,SH,SL

Naredba G se sestoji samo iz znaka G i zahtjeva predhodne akcije. Naime, prije nego Sto damo naredbu G moramo u odredjeno memorijsko područje upisati početne vrijednosti svih registara centralne procesne jedinice u trenutku starta korisničkog programa. Posebno važno je da upišemo početnu vrijednost programskog brojača (PC) u za to odredjene lokacije (0Ü2E, ÜÜ2F) čine odredimo lokaciju od koje će se korisnički program izvoditi. U trenutku starta korisničkog programa se pomenuto memorijsko područje kopira u registre centralne procesne jedinice.

Monitorski program koji raspoznaje opisane naredbe uadrži tabela 1. x Upisani monitor nema takve osobine kakve često želimo.Glavni nedostatak je prije svega u tome da pri M naredbi moramo za svaku lokacio" tipkati njenu adresu. Poboljšana verzija takvog monitora bi morala imati mogućnost da pri tiskom na jednu tipku dobijemo sadržaj lokacije sa inkrementiranom adresom, a da pritiskom na drugu tipku dobijemo sadržaj lokacije sa dekrementiranom adresom. Dodatne naredbe za poboljšanu verziju monitora bi bile naredba za bušenje objektnog koda na papirnu traku u odgovarajućem formatu te naredba za kopiranje odredjenog memorijskog područja na odredje-

nu adresu. . , . , ,.

Nacrt takvog poboljšanog monitora ima sljedeći oblik u pseudo kodu:

program MuNiaX)R

INICIAIIZACIJA - inicializiramo ICIA registre

dountil (beskonačna zamka) : call ČITAJ-ZNAK if ZNAK JE "M"

then include M else

if (ZNAK JE "L") then include L

R

else

f (ZNAK JE "R") then include else

if (ZNAK JE "P") then include P else

if (ZNAK JE "G") : then include C J else ' : if (ZNAK JE "G") 1 : then izvršimo "i ) mašinsku naredbu'

: 1 RTI (return from : : interrupt)

1 I else ; endif

i i :

: endlf enddo

: endif and if ! endif endif

Segmenti L (load) i E (registers) su isti kao kod programa u tabeli 1. Ostale segmente ćemo opisati detaljnije.

segment M

KJRMIHAMO ADRESU LOKACIJE KÜJU ŽELIMO, TAKO DA ČITAMO 4 ZNAKA SA TASTATURE} ZAPAMTIMO FORMIRANU ADRESU LOKACIJE ADDRH I ADDRL

Tabela 1. Primjer monitorskog programa

' TITLE niCMOM

t »■ »t. ». «i «i ♦ t » t t t t t: » * « C

* PRII1JLR MflLOG MOMITDRSKÜC PROGRflMfl +ì

10 5. 1977.

f

t- NfiPISflO n. KÜVRCEV1C t:

t f I. ♦»»♦:* t; ». t: ». I-I: I I » t- t- » f ». f >■■ t- »: «: C * »: ». 4 ». ». t- ». » »' »:

+■.

» HOHITOf ZflUriJEVfl 0.5 K EfiJTNl EPROM Nfl flC'RE

* 51 FFÖO. 0.5 t EftJVMl RflH Nfl flCRESl C1OÒ6 TE

o flClfl flDRESanfl rE0C I FBiiC

*

+ *. +; ». »: t i: t 4 f. f 1- i »•• i » ».»!+:»•+. »: »' -f »: »; » f » ». » »' ». t: ». » » » »:»:»; ».

EST Cl SUE: fi ir IIUHG RTS

Fl-F

SEGHEMT tfl UNÜS-EMJE OB'J E k T N Où PRùùPfmfl U RfiH

».

CI »-

» FOI'FRCiGRflM Zfi GFflDNJU C E T V E P C C I f f I. E HEKStil;

» ECIHflLHE FlhREEE KOJfi Ti i'fifflMlI U X FEO

»<

». » »^ » » ». » t. ». » » » ti »:»»»».».»;»:»* ». ». ». ». t ».».»».».»»♦;»; » » f » » » » 4 ». »!

^ POt'FRÜGRfin :fì CI TRNJE CHfikfl

>■■ PROCITRNI À:

ZNRK JE ZAPAMĆEN U flk.UMULArCiR R

EflDDR ESR

BVTE

V I S I K ESE

e CIICVR

ADR

INCH LDft

A

AClACi CI TRMO ITfiruS

STA R

XHI

ASR

fl

ESR

E V r C

NIZIH

6 BITOVA

rtDR

BCC

INCH ZNRk NIJE SPREMAN

ESE

f

ZA CITRNJE

STA A

XLCiU

LDA

R

Ad ADR

LDX

XHI

AND

R

Kf-P

RT S

CMP fi ItrF ÈECi DUTIH

EHO

■ ^ PODFRCi&RflM tfl CirfiNJE VHJEDNOSTl ÈVTfl ìftFlS ♦ MNE U FISCI I HFKSftL.ECinflLNOJ NOTftCIJI

citfinci he:: cifru

». FOC'PPCiGRflM CITfiNJE H E K'J fi [■ E C I H li l NE CIFRE

rfl je u

nizih

bita akumulatora a

evte bsr

inhe>:

asl

a

postavimo

bsr

inch

asl

r

cmp a

• 13 0

asl

r

emi

C 1

NES egulaftin Z li Al

asl

a

cmp fi

k11 sf

1 ae

el e

I N 1H i .

0 9

bsr

1 N f. E

Cflf a

»»41

AND

a

» 11' r

B M 1

c t

N t R i. Ci U :. lì t fi fi It 1.

aea

CMf A

» « 4 e

tae

C'RUGfl HE.v. CIFRfi

^ DEFINICIJE ».

flClflCS

EGU

rFEec

■ fiCIfI tCCiNTRiJLNI REÜ

fiCIflIJfl

ECiU

tFEOD

ftCIfi POt'fiTiCCiVN! RC.

REfiO

EQU

tvi

STACK

EßU

r2S

POKftZIVflC JTEKfl

ORG

teöis

*

CC

RME

1

CPU REGISTRI

B

RUB

1

fi

1

K H

RMg

1

KL

RMÈ

1

LORCll

r H

RUE

1

PL

KMEI

■ 1

SH

RME:

1

SL

RUB

1

»

Ct.SM

RHli

1

KONTROLtifi SUlIfl

I'.HI

RUB

1

INDEKSNI REGISTER

XLÜU

PUB

1

BEGA

RME

2

PüCErNi"! flDRESR

LOfiDlS

»;

BUSENJE

ENi'fl

F:>IE'

li

KONftCNii RDRESfi rft

4:

»

BUSENJE

LOHC'1?

TW

f:(ie

L

TEMP

RME

1

LCiR[-£l

ncciuNi

RME

i

4 '

eVTECT

RME

1

BRÙJftC ERJTOVH U R

EKORDU

L.DR

R

»r j:

ÜKLJÜCIHCI ClTflC TR fi K

STR

fl

R C I R C s

LDR

R

Itll

ESR

0 u T C H

BSR

I NCH

CITftHO ZNflC.

CMP

R

1' S

ENE

LOftC';

CEKfinO PiiCETfiK REK ORDft

BSR

INCH

CITfinCi TIP REKORDfi

CUP

fi

»'9

BEe

LCiflt'21

ZADNJI REKiRC

CMP

R

»'1

BNE

LORC'i

PRESKOCIND PRfiZNfl MJESTfl

CLR

CKSM

ESR

EVTE

CI TRMO BROJ Ef.JTùV u REKORDU

SUE

R

»2

STR

R

b v t e c T

ESR

BRDCR

CI TRMO RDRESU REKO Rt'fl

ESR

BVTE

CITfinO JEDRN ;RJT IZ REKORDA

C'E C

evtect

bec!

lciftdi:.

pročitali smu r£|.'0 RD

str

r

unsemo procitrni

EflOT u rrfi

i nx

BRR

L D fi D11

inc

C1.: s M

bec!

lcihc'i

kontrùlnr sota je pravilna

lt'fi

r

1- ?

esr

0 u T C h

lcr

fi

ItBl

1 SKLJUC 1 mo C i 1 AC T RRf^E

str

fi

rcihcs

j«f

coni f cil

Tabela 1. Nadaljevanje

ZH ISPIS HEKSfiC-ECinfiLNE tlFS'E v'ÌSÌh"4 Ei'iTÄ rtÒuìlLILfirÒfcft fi

JDD

E

CKSM

ODRŽAVAMO KONTROLN

U SUMU

STA

B

CKSM

RTS

* SEGMENT

ZA

«ONITORSKU

»AR-EDBU fl

CHANGE BSR

BADDR

FORillRAMO ADRESU

ESR

OUT S

BSR

0 U T 2 H S

ISPIS SADRŽAJA LOK

*

A C I J E

ESR

BVTE

NOVfVi'f; IJEDNO ST

STA

A

X

ERA

CONIRL

foc'frogrflh sadržane u

LSRft .LSRfI LSRR LSR fi

«<

* PODPROGRAM

t: EflDRZAME U

ÙUTHR RHC' A ADD A ■ CMP A ELS ADD A

olithl

ItfF »tJO K 1- J Ü U T C H »t7

PODPROGRAil ZA I SPI S ASCII ZNAiCA IsOJI JE U AKUMULATORU A ,

ÖUTCH PSHEi OUTCi LDA B fiSR B ASR E ,BCC STA A PUL B RTS

A C I A C S

outci a c i a c' a

ZA ISPIS HEKSADECIMflLNE CIFRE lUZIli i BITA ACUMULATORA A

C I F i< H li - S CIFRA A-F

C I TAMO STATUS IZLAZ ZAUZET

0UT2H5 BER 0UT2H LDH R »»Ze BRfl OUTCH

SEGMENT ZA ISPIS SAC'RZflJA SVIH £ REGISTARA CFLI JEDINICE ZAPAMĆENIH NA VRHU STEKA

SM t?

[I U T 2 H S

B

PRINT TS)'!

STX LDA PRIMT2 BSR

C'£C t ENE

P 5:1 U T 2 I NI C I A L I Z A C I J A fi C I A

LDR

A

» f B ;

STA

A

flCIAtS

DEC

A

STA

A

A C I A C S

COHTRL LDS

S T fi C K

INICIALIZAClJA AZIVACA SiEKA

L D A

A

« rD

ESR

0 u T C H

I S P 1 £ C R

LDft

A

it A

ESR

OUT': II

I S P I S L F

J S R

I ;j C: H

CI TAMO KOMANDU

TRE

E S R

OUTS

1

C M P

B

» • L

ENE

< i 5

J M P

L 0 A D

• l'

CUP

B

» ■ M

EEQ

CHANGE

, fi

CMP

E

it ■ ?:

EEC!

F' F: 111 r

R

C M P

B

»• Ü

ENE

C 0 M T R- L

RTI

END

PODPROGRAM ZA ISPIS SflORZINE AKUMULATORA A U HEKADECIMALNOJ NOTACIJI U ASCII KODU

ISPIS V I S I H 4 11 T KI ISPIS NIZIH 4 BITA

0UT2H LDR A ESR LDA A BSR INK RT S

0, X OUTHL 0, X O U T H R

PODPROGRAM ZA ISPI? SADRZINE AKUMULATORA A U Htl^SfiDECJ HALNOJ NOTACIJI U ASCII KODU 1 PRAZNOG MJESTA

aountil (PHOSiTANI ZNAK JE TAČKA (.))

ISFIŠm; ADEBSU SADEZANU U LOKACIJAMA ADDEH

i ABDEL; TE SADEZIMJ TE LüKACIJE ; ČITAMO ZHAK;

if (PBUCITANI ZNAK JE ZNAK ZA PEAZNÜ MJESTU) then

INKEEMENTIEA» ADEESU U ADDH i ADDL; else „ . .

"~if (PEOCITANI ZHAK JE 'V ) : then

. DEKEEMENTIEAMÜ ADEESU U ADDH I : ADDL

: else

: FÜEMIEAMÜ NOVU VEIJEDNOST ZA : LOKACIJU SA ISPISANOM ADEESOM : I gADEZAJEM;

: UPISE!« NUVÙFOEMIEANU VEIJEDNOST : U ODGQVAEAJUÓU LOKACIJU I

: ISPISEMU JE;

endif; endif ; enddo

U segmentu P bušimo objektni program na papirnu traku u formatu koji je već opisan pri opisu naredbe L.

seRment P „

FGŠHTEAMU POČETNU I KONAČNU ADEESU OBJEKTNOG PliuGKAfiA U MmiEIJI TE IH ZAPAMTIMO U LOKACIJE STARTH, STAETL, ENDH I ENDL; IZBUSIMD NULTI EEKOED (SIjOOOOOO);

dountil (ADEESA U LOKACIJAMA STAETH I STAETL

: -JE JEDNAKA KONAČNUJ ADEESI)

if (ENDL-STAETL » 15)

then

IZBUŠIMJ POČETNE ZNAKE EEK0BDA-S113; (13 je heksadecinalni broj bajtova u rekordu +3) IZBUŠIMJ KEKSADECIMALNU ADEESU PEVOG BAJTA U EEKOEDU SADEŽANU U STAETH I

STAETL;

IZBUŠItl) SADEŽIIIE 16 BAJTOVA U HEKSA-DECIMALNOJ NOTACIJI POČEVŠI OD ADEE-SE STAETH I STAETL; INKEEMENTIEAMÜ SADEŽAJ LOKACIJA STAETH I STAETL ZA 10 HEKSADECIMALNO;

else

IZBUSIMÜ POČETNE ZNAKE EEKOEDA-Sl; IZEAČUNArU BEOJ PEEüSTALIH BAJTOVA

(EHDL-STAETL+3); IZBUŠIMO BEOJ PEEOSTALIH BAJTOVA IZBUŠIMO KEKSADECIMALNU ADEESU SADfiŽA-

NU U LuiaciJAMA STARTH I STAETL; IZBUŠIMO SADEŽINE PHEUSTALIH BAJTOVA;

endif enddo

IZBUŠIMO KONAČNI ZAPIS-S9; endaeKinent

Ostaje nam Još augment za kopiranje memorijs-kog bloka (STAET, END) na odreéjenu adresu (ADDE).

segment 0

KJHMIEAMJ POČETNU I KONAČNU ADEESU MEmEIJSKOG

BLOKA TE ADEESU LOKACIJE MA KOJU SE KOPIEA, (STAETH, STAETL, EHDH, ADDEH, ADDHL) if (ADDE-STAST < 0 )

then

dountil (STAET SADEŽI KONAČNU ADEESU) : KOPIBAMJ SADEŽAJ LOKACIJE SA ADRESOM : U STAETH I STAETL U LOKACIJU SA : ■ ADRESOM ADDEH I ADDEL; : INKEEMENTIEAMO ADEESE STAET I ADDE; enddo ; else

(END-STAET )+ADDEADDE dountil (END SADEŽI POČETNU ADEESU) : KOPIEAMD SADEŽAJ LOKACIJE SA ADEESOM : U EHDH I ENDL U LOKACIJU SA ADRESOM ; U ADDEH I ADDEL; : DEKEEMENTIEAMÜ ADRESE END I ADDE; enddo endif

endsegment

Mogućnosti za optimizaciju monitorskih programa

Procesor 6800 ima nekoliko registara koji nam omogućavaju vrlo uspješno programiranje. Posebne ugodnosti pruža mogućnost indekaira-nog adresiranja te hardverski stek. Pored indeksiranog adresiranja vrlo Je korisno direktno adresiranje pri kome upotrebimo samo Jedan bajt za adresiranje lokacije na intervalu 0-255.

Organizacija programa mora biti takva da iskoristi sve mogućnosti za optimizaciju ko.Je pruža procesor 6800. Neki od načina kako da racionaliziramo korištenje memorijskog prostora te poboljšamo brzinu izvodjenja programa su sljedeći;

- memorijske lokacije 0-255 upotrebljavamo za' variable koje se često pozivaju te pri pozivu podprograma i servisu prekida. Pri torae koristimo direktno adresiranje koje zahtijeva manje prostora za program te manje vremena za izvršavanje.

- po mogućnosti, podprograme postavimo tako da su blizu programima koji ih pozivaju. To omogućava upotrebu branch-to-subroutine naredbi namjesto jump-to-aubroutine Sto tako-àer racionalizira upotrebu prostora i vremena.

- upotrebljavamo indeksni registar svugdje gdje Je to moguće žto reducira potrebu za extended načinom adresiranja

- u svakom programu postavimo vrijednost indeksnog registra tako da pokazuje na odgovarajući blok lokalnih podataka.

- Zanimljive eu mogućnosti upotrebe SWI (software interupt) nnredbe.

Ta naredba prouzrokuje pamčenje svih registara centralne pj'oceane jedinice u stek i skok na p0dpr0(5ram kojega adresa je u unaprijed ođrei4cnoj lokaciji. Ta rutina vrši servis koji je u OilgovnrBjućem problemskom prostoru često potrebr.n. Tolto sa jednobajtnom naredbom po-aivaiiio pod prop rnm. Koristeći se tim osobinama ßWI naredbe, možemo razviti način pozivanja podprograma zapamćenih u IŽOM ili PEOM memoriji bez upotrebe branc-to-Bubroutina ili jump-to-Hubroutine naredbi. Najprije formiramo tabelu koja sadrži adrese svih podprograma u HuM memoriji. Potreban nam je još i kontrolni program koji se izvrši svakom SWI naredbom i koji na osnovu indeksa podprograma, koji se poziva, zapisanog u bajt neposredno za SWI naredbomj prenese kontrolu nad sistemom na odgovarajući podprogram. Takav sistem pozivanja podprograma Je vrlo koristan u obimnijim programima gdje je vrlo teško izbjeći jump-to-subroutine pozive. Takvi programi su naprimjer obimniji uionitorski programi.

5. 2oključak

Poznavanje monitorskih programa je vrlo korisno za korisnika mikro raSunarskih sistema.

Monitori su dovoljno kompleksni da zahtijevaju široko i detaljno znanje o organizaciji sistema, o perifernim napravama te o programskim konceptima. Onda kada upoznamo monitor jednog mikro računarskog sistema moći ćemo slijediti svim akcijama koje vršimo na sistemu što nas posebno stimulira pri savlaéivanju nekog problema.

literatura

1) M6800 Microprocessor Programming Manual Motorola Inc., 1975

2) MSBuü Microprocessor Applications Manual Motorola Inc., 1975

3) T. Dollhof, ^P software: How to Optimize Timing Memoi-y Usa^e, Digital Design, november 1976

Informatica št. 2 letnik 1977

the preference scoring method for decision making-survey, classification and annotate bibliography

j. j. dujmović

University of Belgrade, Dept. of Gelectrlcal Engineering 11000 Beograd

THE DEVELOPMENT OF SCORING METHODS FOR DECISION MAKING IN THE COURSE OF THE LAST 2S YEARS IS SURVEYEOt VARIOUS VARIANTS OF THIS METHODOLOGY ARE PRESENTEDt CLASSIFIED» AND EVALUATED. BOTH THEORETICAL CONTRIBUTIONS AND MAJOR APPLICATIONS IN THE FIELD OF COMPUTER SYSTEM EVALUATION AND SELECTION ARE INCLUDED^ THE SELECTED ANNOTATED BIBLIOGRAPHY CONTAINING PAPERS PROPOSING THE SCORING METHODOLOGY AND APPLICATIONS. AS WELL AS THE PAPERS CRITICIZING SCORING. IS PRESENTED AT THE END OF THE PAPER.

ODLUCIVANJE PRIMENOM METODE BODOVANJA PREFERENCI - PREGLED. KLASIFIKACIJA I KOMENTAR I SANA BIBLIOGRAFIJA. PREZENTIRA SE PREGLED RAZVOJA METODE BODOVANJA PREFERENCI ZA POSLEDNJIH 2S GODINA. RAZNE VARIJANTF OVE METODOLOGIJE SU KLAS IFIKOVANE I VREDNOVANE. UKLJUČUJUĆI KAKO TEORETSKE DOPRINOSE, TAKO I VAŽNIJE PRIMENE U OBLASTI VREDNOVANJA RAČUNARSKIH SISTEMA. NA KRAJU RADA PRILOŽENA JE ODABRANA KOMENTAR I SANA BIBLIOGRAFIJA KOJA OBUHVATA RADOVE KOJI PREDLAŽU METODOLOGIJU BODOVANJA PREFERENCI. A TAKODJE I RADOVE KOJI 0 OVOJ METODOLOGIJI IZRAŽAVAJU KRITIČKE SUDOVE.

UDK 681.3.001.1

INTRODUCTION

DECISION ANALYSIS CONSISTS OF A NUMBER OF METHODS USED FOR DECISION MAKING. THE PREFERENCE SCORING METHOD IS ONE AMONG THESE METHODS. WE USE THE TERM 'PREFERENCE SCORING METHOD' I'PSM' HENCEFORTH) FOR A METHODOLOGY COMMONLY CALLED 'SCORING SYSTEM'. 'WEIGHTED FACTOR METHOD'. 'WEIGHTED RANKING'. ETC.. IN AN ATTEMPT TO RELATE THE TITLE OF THE METHOD WITH THE TYPE OF DECISION SITUATION IN WHICH THE METHOD CAN BE APPLIED. THIS DECISION SITUATION PERTAINS TO THE DECISION CATEGORY KNOWN AS 'DECISION UNDER CERTAINTY'. AND IS SPECIFIED IN MORE DETAIL BY THE FOLLOWING CHARACTERISTICS

1. there exists a system to be evaluated. and an individual i or a teami. called •evaluator'. being in charge of judging. from a given standpoint, the worth of the system.

2. most frequently. the 'given standpoint' is directly-derived from the request that the system attains some prescribed goals.

j. the evaluation process consists of the stfp-hy-step determination of a quantitative global degree of preference. often called •global effectiveness'. associated with the

evaluated system.

4. as a consequence of the given evaluation standpoint, associated with The system is a set of variables. called 'performance variables' or 'components for evaluation'. whose values influence the resulting evaluator"s degree of preference for the system.

5. the evaluator must be able to express its evaluation standpoint in the form of the set of requirements imposed to the values of performance variablfs. these requirements are defined as mappings of the values of performance variables into the values of so called 'elementary preferences' (or 'elementary effectivenesses'! - these mappings are called 'elementary criteria'. after the definition of elementary criteria. the evaluator defines a procedure for aggregating the elementary preferences into the unique global degree of preference for the whole system. the mapping of the values

of performance variables into The global

degree of preference is called the 'global criterion for system evaluation,•

the decision process of selecting the best among competitive systems (alternatives. or courses of actioni reduces to the synthesis of a global criterion for evaluation. the calculation of the global degree of preference of each system. ano finally to the selection of the most preferred system.

the system is here considered in a general sense. as a set of interacting objects. so that the psm can be applied in a very large number of complex decision situations,

if a decision problem is defined as above. one can guarantee that the psm provides the most adequate way for its solution. obviously. if some other decision problem is under consideration. the psm need not to be applied i and this is not a drawback of the psm).

unfortunately. this simple fact is often

neglected by some authors criticizing the psm. the examples of such a criticism will not be discussed in this paper.

there are several theories to which the psm is related. the psm appertains to multiple criteria dfcision methods. and is closely RFLATEO to various economic decision methods. especially to the utility theory. because of tht use of psm to recognize systems satisfying the evaluator's criterion in some prescribed extent. the psm is also related to the pattern recognition methods. finally. since preferences are concerned. the psm is also related to the logic of preference.

the applications of the psm are indeed numerous. all evaluation and/or selection problems having preference as its natural result, lead to the use of the psm. evaluation and selection of computers and other technical devices, evaluation and selection of research and development projects. and consumer selection of goods and services. are few of such examples. even in the situations involving risk and uncertainty, the psm can be successfully used as a first step toward solution.

the history of the psm use is very long and some authors quote examples of its use which are mope than hundred years old, since fifties untill now the most promoting fields of the psm theory and applications were the evaluation and selection of computers and the evaluation and selection of research and development projects.

the scope of this paper will be concentrated on the development of the psm in the course of the last 25 years. and on the psm applications in the field of computer system evaluation and selection. however., some important works in the fields related to psm, as well as some important. applications different from computer selection, will be also presented.

n

- n B. ^ o i

the essential and serious drawback of both the aritmetic mean approach and the geometric mean approach is the complete lack of possibility to express the necessary logic relationships among elementary preferences and their groups. in fact. arithmetic and geometric mean permit only the 'fixed logic polarization' of a complex criterion. this can cause a number of absurd conclusions. for example. using the arithmetic mean. if the most important preference. say the preference of the thruput of a computer, is zero, this will not automatically cause the zero global preference (what is absolutely necessary)« and even it will be possible to compensate the unacceptable thruput by a simple increasing of. say, the number of tapes or the training of personel, in a similar way. using the geometric meam, if some unimportant preference (e.g. the preference of the integer devide time) is zero. this will automatically cause the zero preference of the whole system. without any possibility of compensation,

the drawbacks of weighted arithmetic mean and weighted geometric mean can be overcomed by introducing the multi-level logic aggregation of elementary preferences!

-i =

survey of the basic psm concepts let be given the vector X - (xjL.'.'.Xn^ ,

min *imax ' .

containing all performance variables of the evaluated" system, determination of the corresponding vector of elementary preferences (effectivenesses):

can be organized either by some informal. intuitive scoring. or (what is better) by the use of a set of elementary criteria which can be defined in analytical or tabular formj

the oldest way for aggregating elementary preferences in order to calculate the global preference of a system, is by the use of the weighted arithmetic meanj

u

S W.

Vi .

the vector of weights

0<Wj,<l, ,

Can be determined either by a direct one-level

procedure, or in a far better way. by the use of multi-level procedure organizing the weights in a hierarchical tree-like structure.

the next possibility for aggregaiion of elementary preferences is based on the use of the weighted geometric mean: for this purpose.. all preferences are interpreted as degrees of truth in the corresponding statements which have the form of assertion that 'the system (or some its part) completely fulfils all given requirements.' therefore. l represents the logic function which is realized by an adequate superposition of thf so-called 'extended, continuous logic functions.' the elementary functions in the extended continuous logic are «uasi-conjunction and quasi-disjunction. which are realized as the weighted power means!.

k

e.

i=l

whose requested logic properties can be adjusted by the appropriate selection of the parameter r C denote some input

preferences. and »-is the corresponding output preference in some aggregation point within the multi-level preference aggregation structure). since the arithmetic and geometric mean are the special cases of the weighted power means, it follows that all previously presented complex criteria ai^e the special cases of the criterion based on the multi-level logic aggregation of elementary preferences.

after the realization of the global criterion for system evaluation, which enables the calculation of the global degree of preference of a system directly from the values of its performance variables, i.e.

it is possible to perform. in addition to the immediate system evaluation and comparison. the following several very useful analyses.

The sensitivity analysis investigates how various inputs affect various outputs in complex criterion. a number of useful sensitivity indicators can be defined.

the tradeoff analysis investigates the problem of- compensating the lack of some system performance by increasing some other system performance. various tradeoff indicators can be introduced.

system optimuation introduces the algorithms for optimization of the complex system configuration. giving answers to the following questions - h) what is the optimal system configuration. yielding maximal global preference for constrained cost of the system. and 12) what is the minimal cost of the system. necessary to attain a given degree of the evaluator's preference.

the reliability analysis quantitatively investigates the reliability of results obtained from evaluation studies. taking into account that all complex criteria are subjectively synthesized by corresponding experts and therefore contain inherent estimation errors. the ranges of possible errors are investigated and some quantitative reliability indicators are introduced.

cost-preference analysis introduces the techniques for comparing competitive systems on thf basis of relations between the costs of the systems and their global degrees of preference.

an annotated bibliography of the psm will be presented in the sequel. as far as we know. this is the first attempt to compile and annotate a bibliography devoted especially to the psm. therefore. we can not guarantee that the bibliography is complete and without some errors. moreover. the notes vary in size and content. and some entries are left without comment. the size of note by no means is proportional to the importance of the item unof.r consideration (in fact. this size is proportional to the author's available time for processing the item).

b « papep containing bibliographical rfsfarch related to the psm

c ■ paper proposing the complete computer evaluation criterion. and/or the case study of computer evaluation and selection based on the psm

d • the psm used in the evaluation and selection of the competitive research and deveilopment project proposals

e • paper containing an illustrative example of an arbitrary system evaluation and/or selection procedure based on the use of the psm f • the fuzzy set approach to preference scoring

g • the analytical models for deriving parameters of the criterion for system evaluation starting directly from goals to be attained by the systfm

m • the mathematical problems related to the psm

0 • system optimization based on the psm criterion

p ■ paper presenting or quoting program products applied when evaluating and selecting systems using the psm

q • cost - preference analysis» where the preference is obtained by the psm criterion r - reliability analysis of the psm criteria s ■ sensitivity analysis of the psm criteria t • tradeoff analysis of the psm criteria u • formal models for the multiple criteria decision making developed within the utility theory and interesting from the psm standpoint w • the procedures for determining weights by the group of experts. and the techniques used by the group members in order to negotiate the group consensus

x ■ papers indirectly related to the psm y . presentation of experiences derived from the practice of systems and computers evaluation and selection using the psm z - paper criticizing some aspects of the psm

the presented bibliography is classified. each entry contains the classification code which is composed of one or more classification characters. each classification character denotes That the given bibliographic entry

appertains to the corresponding class of

bibliographic entries, all classes are defined

in the following table. and at the end of the

paper» for each class. the referent numbers of

all belonging bibliographic entries are presented.

• ■ ■ c « ■ 8

an annotated bibliography of thf preference scoring method

• ■ 8 a « a

classification codes for papers presenting the preference scoring method

X, *•»•••«•»•••••• BEFORE 1962

von neumann. j. and 0. morgenstern, «theory of games and economic behavior' revisfd edition (princeton. n.j. / princeton university press. 1947). (code-ux)

1 • paper proposing the one-level list of the performance variables of some given system

2 • paper proposing the hierarchically organized list of performance variables for the evaluation of some given system

3 « informal (intuitive) scoring of the values of performance variables

- elementary criteria defined in the analytical or tabular form

9 • tne one-level point-additive criteria aggregation structure (with or without the explicit use of weights)

<> • the multi-level additive criteria aggregation structure (based on the weighted arithmetic mean)

7 • the one- or multi-level multiplicative (or geometric mean) criteria aggregation structure

8 ■ The multi-level criteria aggregation

structure based on the use of the extended continuous logic functions

9 • special aggregation' structures le.g. figures of merit. special utility functions. etc.)

a ■ survey paper or book including the presentation of the psm

2. thrall. r.m.. coombs . c.h. anu uavi:>. p.l.. 'decision processes*. wiley and chapman and hall. new york 195<i. (coo£»ux)

3. churchman. c.w.. ackoff. r.l.. 'an approximate measure of value'. journal of t^.p operations r|search society of america.

presents the additive psm ihe -w^^ghts ^arf_ calculated

3mes to be attained.

and arnoff operations new york»

model where . . ... directly from the ouì (c0de"356)

4. CHURCHMAN. C.W.» ACKOFF. R.L. e.l.. MNTRODUCT ION TO RESEARCH'. CHAPTER 6. WILEY. 19S7. (CODE-G)

5. AUMANN. P.J. AND I.B. KRUSKAL» 'ASSIGNING QUANTITATIVE VALUES TO QUALITATIVE FACTORS IN THE NAVAL E1,ECTR0N1CS PROBLEM.' NAVAL RESEARCH LOGISTICS QUARTERLY, VOL.6. NO.l. PP. 1-16. MARCH, 1959 (CODE-X)

6. YNTEMA, D.B.. TORGERSON. W.S.. 'MAN-COMPUTER COOPERATION IN DECISIONS REQUIR NG COMMON SENSE.' IRC TRANS. ON HFE. MARCH 961. tCODE-X)

7. RAIFFA, H.. SCHLAIPfR» R.. 'APPLIED

statistical decision theory.' The m.T.T.

, prfss. 1961. (code'muxl

,h. and davisj

may ì95fc.. 172 — The paper

8, ••«•»«•«•««••»«««• 1962 •«•«••»«•••»»•«•»«• STEERE» R»E. JR.. 'HOW TÒ SELECT THE RIGHT DATA PROCESSING EQUIPMENT.T ADMINISTRATIVE MANAGEMENT» AUGUST 1962, PP. 26-28.

--- THE 17 PERFORMANCE VARIABLES OF AN

EARLY DATA PROCESSING EQUIPMENT ARE PROPOSED. THE PRESENTED ADDITIVE PSM MODEL ■WAS SUCCESSFULLY APPLIED IN PRACTICE. (CODE-135CY1

9. CASTILLO-FERNANDEZ, J.A.» RIVERA-SANTANA» E., 'TECHNIQUE FOR EVALUATING ELECTRONIC COMPUTERS,« DATA PROCESSING, SEPTEMBER 1962, (CODE=X)

,10. NOVOSEL, P., 'EVALUATION OF THE EFFECTIVENESS OF WORKERS' UN SERBO CROATIANl. ZAGREB, 1962.

--- THE BOOK REVIEWS VARIOUS TECHNIQUES FOR

EVALUATION OF THE EFFECTIVENESS OF WORKERS. AMONG OTHER TECHNIQUES, THE PSM HAS BEEN EXTENSIVELY SPPLIED FOR THIS PURPOSE. (C0DE=5EX)

11. BLUMENTHAL, P.L. JR., 'APPLYING AN OR TECHNIQUE IN SELECTING DATA PROCESSING HARDWARE'. THE JOURNAL OF ACCOUNTANCY, AUGUST 1962., 82-83.

--- THE AUTHOR PRESENTS A PSM MODEL FOR

COMPUTER EVALUATION. THE MODEL IS BASED ON THE CHURCHMAN-ACKOFF METHOD. (CODE=35G)

12. ••»••»«»»*»»»»»««• 1963 •»«»«««•»•»««»»•»•»

GREGORY, R.H., AND VAN HORN, R.L., •AUTOMATIC DATA PROCESSING SYSTEMS." WAOSWORTH PUB. CO., BELMONT, 1963. ICODE-36)

13. FRIEDLANO, E.I., 'HOW TO SELECT THE BEST COMPUTER / A CONCEPTUAL OUTLINE." MITRE WORKING PAPER, W-6283, JULY 1963, (C"OE=X)

U. ABRAHAMS, P.W.,LIPP, M,F., AND HARLOW. J., 'QUANTITATIVE METHODS OF INFORMATION PROCESSING SYSTEM EVALUATION.' ITT DATA AND INFORMATION SYSTEMS, REPORT NOè

EDS-TDR-63-670, OCTOBER, 1963, (CODE=X)

15.

williams, perrott» weitzman, murray and shober, 'a methodology for computer selection studies.' computers and automations may 1963.» 18-22.

--- the multi-level additive psm model for

computer evaluation is presented, (,cooe = 236c)

white, d.r.j. r.n., 'poed -performance. 177-182,

—- the paper presents one of important early contributions to elementary criteria. the use of mean, and sensisivity and analysis of the psm results are

an illustrative ....... ~

(c0de=2a7ers1

IS

EXAMPLE

^16.

SCOTT, 0,Lo, AND SCHULZ, A METHOD OF EVALUATING SYSTEM lEEE/TEM, DECEMBFR 1963, PP.

THE MOST THE PSM, GEOMETRIC CONFIDENCE PROPOSED. INCLUDED,

17.

♦ •»»««»»•»•o»«»»»» 1964 ««»»*»«»»»»«•«««•■»»

FISHBURN, P.C., 'DECISION AND VALUE THEORY.' WILEY, 1964,

— THE SUBJECT OF THIS BOOK IS A PERSONALISTIC PRESCRIPTIVE THEORY OF CHOICE FOR INDIVIDUAL DECISIONS (AUTHOR'S STATEMENT!, CHAPTER 10 (INDEPENDENCE AND CERTAINTY! INTRODUCES 'PERFORMANCE

VARIABLES' AND, ASSUMING THAT THÈ PERFORMANCE VARIABLES ARE VALUEW SE INDEPENDENT, DESCRIBES AN ADDITIVE MODEL FOR THE GLOBAL PEFRORMANCE ('RELATIVE VALUE') OF A SYSTEM. (C0DE-M45UE1

'ANALYTICAL TECHNIQUE FOR

b.», 'ANALYTICAL TECHNIQUE FOR DATA PROCESSING EQUIPMENT n' PROCEEDINGS - SPRING JOINT

'TOWARD A GENERAL METHODOLOGY - \LUATI0N.T HRB - SINGER. INTIS AD 619373)

18.

ROSENTHAL, AUTOMATIC

ACOUISltlON. .........................

COMPUTER CONFERENCE 1964, PP.359-366. — THE COMPLETE TECHNIQUE, BASED ON THE PSM. FOR ADP EQUIPMENT AC(3UISITI0N IS PROPOSED. THE TECHNIQUE WAS USED BY THE U.S. AIR FORCE, THE HIERARCHICAL ADDITIVE EVALUATION MODEL WITH RELATIVE SCORING OF THE ELEMENTARY PREFERENCES IS PROPOSED« (C00E"36)

19. JOSLIN» E.O., AND MULLIN» M.J.» 'COST-VALUE TECHNIQUE FOR EVALUATION OF COMPUTER SYSTEM PROPOSALS.' PROCEEDINGS-SPRING JOINT COMPUTER CONFERENCE» 1964, PP. 367-381.

--- THE AUTHOR CRITIC ZES THE ADDITIVE PSM

APPROACH TO COMPUTER SELECTION, AND PROPOSES THE COST-VALUE TECHNIQUE AS AN ALTERNATIVE. (CODE-QZ)

20. »««•»•««»»»«••«««« 1965 •«•««««••«»•»•««««« MARKEL, G.A, , '"" FOR SYSTEMS . INC.. JULY 196S _ _____ _ ,

REPORT PRESENTS AN ANNOTATED B BLIOGRAPHY OF SYSTEMS EVALUATION LITERATURE INCLUDING ALSO THE PRESENTATION OF PSM. (CODE'AB)

21. ECKENRQDEt R.T.. . 'WEIGHTING ^^ MULTIPLE CRITERIA.' PP. iaO-192, MANAGEMENT SCIENCE., VOL. 12» NO. 3, NOVEMBER. 1965 (CODE-X)

22. dean. b.v., nishry, m.j.« 'scoring and profitability models for evaluating, and selecting engineering projects.' operations research. vol 13. no, july - august

1965. PP. 550-569. (code»50i

23. BROMLEY» A.C.. 'CHOOSING A SET OF COMPUTERS.• DATAMATION. PP. 37-40» AUGUST

ì2"fhe author presents a case study of the application of psm based on the churchman-ackoff approach to weights determination. the procedure is applied for selection of a set of computers for a large company. (c0de»36ge»

24. »«»•»«•«»•»«»»»»»• 1966 »»»««»»«•o»»»«»«««« miller, j.r,. 'the assessment of worth^/, a systematic procedure and its experimental, validation', ph, d, dissertation. m.i.t.,

1966,

--- very rigorous treatment of A decision

process based on the psm is presented, various analytical models of elementary criteria are introduced. an experimental validation of the proposed procedure is also presented. (c0de«246abcey)

25. canning, r.g,, 'equipment selection,' data processing digest, no, 6» june 1966, pp, 1-9, (c0de=36i

26. ♦«•»»»«»o»»«»»»»»» 1967 ««»»»»««»»«»«»««««it dowkant, a,j,. morris, w.a,, buettell. t,d,, 'a methodology for comparison of generalized data management systems / pegs (parametric evaluation of generalized systems), eds-tr-67-2, march, 1967, ad 811 682,

--- THIS EXTENSIVE AND IMPORTANT STUDY

PRESENTS IN DETAIL THE USE OF AN ADDITIVE VERSION OF THE PSM FOR EVALUATION AND COMPARISON OF COMPUTER SYSTEMS. DETAILED LISTS OF PERFORMANCE VARIABLES ARE ALSO PRESENTED, ICODE=246EC)

27. CETRON» M,J,, MARTINO, J,» ROEPCKE» L,. •THE SELECTION OF R AND D PROGRAM CONTENT -SURVEY OF QUANTITATIVE METHODS,' lEEE/TEM' NO,i, MARCH, 1967,

--- AN EXTENSIVE BIBLIOGRAPHY ON THE

SELECTION OF R AND D PROGRAMS IS PRESENTED, A NUMBER OF EARLY REFERENCES RELATED TO THE PSM USE IS INCLUDED, (COOE=ABD)

28. steffes, s.p,, 'how the air force selects computers,' business automation , pp, 30-35, august 1967. (c0de=36)

29. ♦»«««»«•»»•»»••»»» 1968 »»»•*»*««■•«»«•»•*»» fishburn, p.c., 'utility theory,' management science no, 5, february 1968., pp, 335-378. (code=mux)

30i riggs, j.l,, 'economic decision models', mc ! graw-hill«. new york 1968, (code-eqx)

31. PORTER, J.D., RUDWTCK. B.H.» •APPLICATION. OF COST-EFFECTIVENESS ANALYSIS TO EDP SYSTEM SELECTION'. THE MITRE CORPORATION», BEDFORD, MASS., 1968, (CODE»QB)

32, joslin, e.o,, 'computer selection,' addison-wesley publishing company, inc.. reading, massachusetts, u,s,a,» 1968,

--- the cost-value technique for computer

SELECTION IS PRESENTED. PERFORMANCE VARIABLES FOR COMPUTER SYSTEM EVALUATION ARE DEFINED, IC0DE»20Zi

33. JOHNSEN, E., 'STUDIES IN MULTlOBJECTI VE DECISION MODELS', STUDENTLITTERATUR, LUND 1968, (C0DE«9abuqmpI

34, fife, 0,w,, 'alternatives in evaluation of computer systems', the mitre corporation, bedford, mass., 1968,

■---the report describes va(3i0us approaches

TO COMPUTER EVALUATION. THE ADDITIVE PSM MODEL IS PRESENTED AND CRITICIZED. (COOE-45ABZ)

36.

35.

SCHWARTZ, E.S.. 'COMPUTER EVALUATION AND SELECTION.• DATA MANAGEMENT, PP. 58-62. JUNE 1968.

— THE MULTI-LEVEL ADDITIVE PSM MODEL FOR

SCALES ARE ALSO PRESENTED. (C0DE'>235BC t

KELLER. R.F., AND DENHAM» C.R.» 'COMPUTER SELECTION PROCEDURES'. PROCEEDINGS - 1968 ACM NATIONAL CONFERENCE, PP. 679=683.

— THE PAPER PRESENTS A CASE STUDY OF COMPUTER SELECTION FOR AN UNIVERSITY USER. THE SELECTION IS REALIZED USING THE AODIT VE VARIANT OF THE PSM» NUMERICAL RESULTS ARE ALSO PRESENTED. ! CODE-1345EC1

37. KFFNY» R.L». «QUASI - SEPARABLE UTILITY FÜNCtlONS." NAVAL RESEARCH LOGISTICS QUARTERLY 1». 1968«

— THE UTILITY FUNCTIONS OF THE FORM U(XtYl ■ Ui(X) ♦ U2(Y) ♦ lC*UllXl«U2tYI« K-CONST,. ARE PROPOSfO ANO TMEIR PROPERTIES INVESTIGATEO. 1C00E-9MUX1

38. •••••••••••••••••• 1969

STEFFY, W.. DARBY. D.t 'PERFORMANCE EVALUATION SYSTEMS.« THE UNIVERSITY OF MICMIGAN« 1969.

— THE BOOK IS IMPORTANT FOR THE USE OF

RONMENT. AN S PRESENTED -OLOGTCAL ISSUES 3<.6AEYWRT

ENV

psm in general industrial

example - - - - -

example of a buyer fvaluation

39,

SEILER« ISif MNTRODUCTION TO SYSTEMS COST-EFFFCTIVENESS,• WILEY - INTERSCIENCE. NEW YORK, 1969. (CODE-QX)

40. MITRINOVICf D.S.« VASIC« P.Mg« «MEANS' (IN SFRBO-CROATIANI. BELGRADE« 1969,

--- THE BOOK PRESENTS WEIGHTED POWER MEANS

ano gentfialized means« with the special emphasis on inequalities related to means. (cope-mi

'preferences for

alternatives', (santa

MILLFR. - 3ÙTE

«1. RAIFFA» H.»

MULTI-ATTHIBUTED _ _ .........,

MONICA. CALIF. / RAND« RM-5868i Ì969).

---THE EVALUATION PROCEDURE (5EFEL0PE0 BY

J.fi. mIlLER Til IS CRITICALLY REVIEWED. VARIOUS UTILITY THEORY APPROACHES ARE ALSO PRFSENTFD. (CODE-UftMUZI

«2. SHARPE. W.F.. 'THE ECONOMICS OF COMPUTERS'. A RAND CORPORATION RESEARCH STUDY. COLUMBIA UNIVERSITY PRFS5. NEW YORK 1969o

--- AMONG TMF OTHER TOPICS« THIS IMPORTANT

oooif presents the ME ThoDS FQR COMPUTER SFLFCTION. ADDITIVF AND MULTIPLICATIVE SCORING SYSTEMS ARE DISCUSSED IN DETAIL. ThF PPOBLCM OF INCLUDING COST INTO the SCORING SYSTEM IS ALSO CONSIDERED. (C0DF«357AE()STT

43. HILLEGASS« J.R.. 'SYSTEMATIC TECHNIQUES FOR COMPUTER rVALUATlON AND SELECTION'. MANAGEMFNT SCI.s JULY-AUGUST 1969.. 36-40. -— VARIOUS COMPUTER EVALUATION METHODS ARE RFVIEWFD. THE ADDITIVE VARIANT OF THE PSM IS CRITICIZED RECAUSE OF SUBJECTIVITY WHEN DEFINING WEIGHTS AMD SCORES. (CO0E«3SAZI

. W.G.« 'SELECTION CRITERIA FOR COMPÙTER SYSTEM ADOPTION'« EDUCATIONAL TFCMNOLOGY« OCTOBER 1969.« 71-75.

--- A LIST OF COMPUTER SYSTEM PERFORMANCE

VARIABLES IS PROPOSED. ICODF-135CI

. SCHARF, T., 'WEIGHTFD HANKING RY LEVELS.' TAG QUARTERLY JOURNAL. PP. 7-22« VOL. 2« NO. 2« 1969.

--- SECOND

METHOD DEVE COMPUTER EV TCOOE«236EY)

presentation of the popular loped |n 1968. a sample from

valuation study is included.

46. moore

'AN

ANALYTICAL DESIGN

BAKER. N.R.. TO _ SCORING^ _ MODEL

_______ J.R

APPOOAfH - ____,....................

APPLICATION TO RFÌFARCH ANB OEVFLOPMENT PROJECT SELECTION.' lEEE/TEM NO.3. AUGUST 1969.

— RATIONALE FOR THE PSM USE WHEN SELECTING RESEARCH AND DEVELOPMENT PROJECTS Is PRESENTED. STATISTICAL TECHNIQUE IS

Introduced in psm models, icode-bdri

47. SCHWARTZ. M,H.» 'COMPUTER PROJECT SELECTION IN THF BUSINESS ENTFRPRISE.' JOURNAL OF ACCOUNTANCY. NO. 4. APRIL 1969. PP. 33-43. tC0DE>3b)

congress. zagreb 1969. paper 34£;

rr- IHE.proposed algoriTHM ^S based.on

48.

OUJMOVIČ. J.J.. PJEVIČ. N.. 'AN ALGORITHM FOR COMPARISON ANO SELECTION OF OTG TAL COMPUTFRS' (IN serbo - CROAtlANI, ??ocFfb!NG§._gF_ THE^ FIRST YUQOSLAV AOP

-- -OOR DISTANCE

the are

the

PO«

IVANOVIC'S

imi'r

?eE S^actors

FROM COMPONENTS

NiNT ANALYSISt WEIGH

ed automatically Ton matrix of

on. ic00e>9wi

44.

•••••••••••••••••• 1970

MiLLrP III. J.R.. 'PROFESSIONAL OFCtSION-MAKlNC.' PRAEGER PURLISHERS. NFW YORK. 1970«

--- FXTENOEO VERSION OF THE AUTHOR'S DOCTORAL THESIS. ELFMENTARY CRITERIA AND

tS? IVE^^Ä ÌSVROSSSS'- For^EcVIiSfi

making is beSCRIBEO. <c00e«462eppi

shburn. p.c.. «utility Theory for SIJION^makinö.« wllév; new york, 1970.

30

51. GINIi c.. 'means' (or cinal N italian. translated in russìanl. rùss an edition published by 'statistika»« moscow 1970. — the book presents an extensive analysis of various means and their properties. (cooe-mi

92. rau. j.g.. 'optimization and probability in systems engineering'. van nostrano reinholo Company, new york l970. tcoOE-iji

93. raiffa» h.. 'decision analysis'. addison -wesley. reading 1970. (cooe'uxi

94. scharf. t.. 'weighted rankino by levels -

- - - --------- --- QUARTE"

one year of experience'. lag quarterly journal. pp. 71-91. vol. 3. no. 3. 1970. — third presentation of tme mftmod. some ideas for improving thf procedure are proposed. the complete multi-LEVEL psm

el For computer system evaluatTc

ION

99

model

, _____ _______ EVALUAT.... .

presented. the model contains 14 performance variables. (code-236chyt

• olliver. r.t.. 'a technique for select|n(i small computers«. datamation. january 1970.. 141-145.

— THF PRACTICAL APPROACH

TO

an

ÖETAI^j

. -jm mooel is pre. an example of computef included. ic0de>3»c0)

clercq. h. de« 'choosing a computer i a methoo_ for oyantifylng..pata.__pr9cfssjng

_ _ _ _ . no. 1«

1970.

tD IN __ SELECTION

97,

96.

REQuIREMFNTS and evaluation criteria.' u quarterly journal« pp. 1-21. vol. 3. ' 1970.

— the psm model for computer evaluat on is prfsenteü. performance evaluat on results are included in the psm model. (code-2346c1

kanter. j.. 'management guide to computer system selection AND usf.» prentice - hall. inc.. fnglewood cliffs. new jersey. l»70. pp. ì3h- lib.

--- The author considers the psm To he A

standard method for evaluation and select on of computfr systems. and exempl fiks its use. (c0de"26ct

ljif. p.. omputer cost (in sehso

96. oujmo

algori

EFFFCTlVENEi. _____

CROATIAN). PROCEtTINGS OF THC StCOND

1970. pp. B2Q - H27,

----- ----- vene;

fr

^FNE

•an

j.j.t ratave for digital c iss analysis'

YUGOSLAV AOP CONGRFSS.

____________ . . B20

--- A PROCEDURE FOR SCORING FFFFCT

AND COST-EFFECTIVENfSS OF a COMPU PROPQSFO. AN ANALYSIS OF COST-EFFECT OF COMPUTER INPUT AND OUTPUT UN PRESENTED. (COOE.Q)

J9, •••••««»••••••a••« 1971 ••••••••••••••••t«»

LINDLEY, D,. 'MAKING DECISIONS'. WILEY -TNTERSCIENCE. LONDON 1971. ICO5E«UXI

«0

SYSTEMS.«

. gllb. t.t 'reliable data sy univfrsitftsforlagft. oslo. 1971.

— The BOOK INCLubES.tmr AUTHOR'S PAPFRS PRESENTING THF ^WEIGHTED RANKÌNG BY LEVELS' METHOD. (C00E'23(.AC)

61. VAN QORSCHOT. j.m.. AND HOFTIJZER. W.O..

'somf rfmarks on computer choice.'

proc edings - adp seminar. zagreb. 1971.

— iHE I'ROCEDURF of computer sflectlon BY The dutch GOVFRNMEnT centre for office machines is dcscribfo. an abstract from tmF OyrstlONNAlPE containing an extensive list of components for evaluation is ncluoeo. (cndf«26y)

inofpfndence ano multiattrìbuteo ons resfarch.

62. KFENFY. R.L.. 'UTILKTY PREFtRENCES FOR

CONSfOUFNČES'. operations 19.1971. 875-893. (CODE'muxl

61. oemoody h.c.. bassler. r«af. «computcs system fvaluation AND selection«, college reaoings INC.. arlington. u.s.a. 1971.

SYSTEM f

reaoings inc.. arlington. u.s.a. ì971.

— an extensive hìbliogpaphIc research

including an annotated bibliography and keyword index. various aspects of computer fvaluation are prfsentfd. the six psm r^f^ren^es are included and annotated.

.h. .

FERENCE. ||yOENT^|TTERATUR..r. AgERRAČH.

1971. (c00e«2t

IVx'Al

OOOK PROPOSES ANO SELECTION PROCEDURE ve psm müoel. the fNCFS

CO.. flFRL

Chapter j| of th

his ter tìvi

FXFMPLIFtFS a COMPy BASFD ON AN ADOl

OfTgOMlNATION OF ELfMENTARYpRfFfR THI

rTrOMjf^AT ION OF ELfMFNTARY PRfFfRfNCFS IS JSCUSSFD ANf> A PooCEDURE FOR OfRlVlNG IIGHTFO FACTOPS DIRECTLY FROM THE GOALS OF ■<E SYSTEM Is INCLuDPO. ( CODE-2346CO)

'the

64« kreibel.

con swfoen. PP.

66i

UTERATURE^OESCRIBING^THI MEtnOD^^^PA'^TERN' AND ITS APPLICATIONS« ICODE'ZAO)

67

< gilbert» e.j.» and demmfrle» a.m., »the value of increased performance as applIfd to system proćurements.' data management, pp. 26-29» may 1971.

— the paper presents a ps computer evaluation and its us

- preference analysis. (c0de=1

qnt. p.o.. 'the comparat ve evaluation computer systems'. seminar on the ication of computers as an aid to

66.

RAYMQNT» OF -

APPL MANAGEMENT.

GENEVA. 11-

_ _ __________15 october 1971c

uon. economic commissiòn for europe.

— THE COST - VALUE TECHNIOUf VERSUS PSM IS ANALYSED. THESE TWO METHODS ARE COMRINFO. AND THF COMPOSITE METHOD IS PROPOSED. (COOE-36701

69. BROCATO. L.J.. 'GETTING THE BEST COMPUTER SYSTEM FOR YOUR MONEY.' COMPUTER DECISIONS» SEPT. 1971» PP 12-16. (C0DE"36)

70. TURBAN« E.. AND METERSKY. M.L.» 'UTILITY THFORY APPLIED TO MULT I VAR I ABLE SYSTEM EFFFCTIVENFSS EVALUATION.' MANAGEMENT RCIFNCP. NO. 12. AUG. 1971. PP. Bei7-Be2B. (CODF-U*I

71. roy. r.. 'problems and methods with multiple objective functions.' mathematical programming 1(1971). pp. 239=266. (codf-bmux)

72. •••••»•••»»»»•OB«» 1972 »»»»»»»»a»»»««»«!»»»

GROCHOW. J.Mo. 'A UTILITY THEORETIC APPPOACH TO EVALUATION OF A TIME-SHARING SYSTEM.' IN 'STATISTICAL COMPUTER PFPFORMANCF EVALUATION'. EDITED BY W. FRFIflFRGFR. ACADEMIC PRFSS. 1972. PP. 25-50. tC0DF-9U)

73. BOTTLFP. J.« HORVATH« P.. AND KARGL. h.« iMFTHOns for THE COMPUTATION OF the EFFECTIVENESS of data PROCESSING' (IN GERMAN). VERLAG MODERNE INDUSTRIE. münchen. 1972. (cooe-36g)

7«. LISITSCHKIN. v.A,. 'THE THFOKY AND PRACTICE OF FORCA.STING' (IN RUSSIAN). PUBLISHED BY 'NAUKA'. MOSCOW. 1972.

— THF HOOK SYSTEMATICALLY

mathematical methods for FOR-

TECHNIOUr FOR ESTIMATING FORCAST IS PRFSENTFD. A FORCASTING-BASED

AUTOMATISED TECHNIQUE USED FOR THE RESEARCH AND DEVELOPMENT DECI5SI0N MAKING IS ALSO DISCUSSFD. (CODF-W)

79. CHFRNQUSKO. F.L.. 'WEIGHT NG FACTORS IN EXPERT JUDGEMENTS' ( N RUSSIAN).

XIPFRNFTIKA. NO, 6. 1972. PP. 128-130.

mfthod factors

for

— AN analytical ^ MATRIX

d.ftermination of weighting

PROPOSFO. tHE METHOD 'IS 'VERY INtERFSTlNG FROM THE PSM POINT OF VIEW. (CODF-W)

76. DE NEUFVILLF. R. AND R.L. KEENEY. 'USE OF DECISION ANALYSIS IN AlRPOPT DEVELOPMENT IN MFXICO CITY'. IN A.DRAKER ET AL.» EDS..'ANALYSIS FOR PUBLIC SYSTE"^!' (CAMBRIDGE. MASS./ MIT PRESS. 1972). (COOE»UX)

on of ee/tem

josl sele read

spec

N.

TION NGS.

77. goodwin. p.o.. 'a method for evaluati subsystem alternate designs'. ie 1(1972). pp. 12-21. (code-'.99sre)

78.

e.o.« 'analysis design and of computer systems.» college 1972.

ng5» 1972,

his selection of arti rum üf ideas (»elated

ON

öt-uv »jr iv^ns I u » "c ^ V f^U Wf^ 1 I Un

of computer systems. the psm is presented and some examples of its use are included. (code*36a2)

79. goeffrion, A.m., dyer» j.s.. ffinbero. a.» 'afi intèractivf approach for

multj-crnerlon optimization» with

apklcation to the operation of An academic department,' management science «(1972),

AO. OUJMOyl?,

analysis

weiohted

j.j.. 'some

when selfcTi

scoring

. nT. Proceedings

ca conorfss« «led, 972. papfr f«..

PER ANALYSES AN^

aspects

ng còmpu?e technique

šerr0-cr9atian1.

Tnformat -

UP I ntm I , ■ "««»utfir « I ; pp, 3»7-3«.}, (codeoxumtob )

error ers by

(in

•PATTERN -FORCASJINR

SOVETSKOE RÀDIO'.

A METHOD FOR RESEARCH ANO (IN RUSSIAN). "ADIOS MOSCOW»

M,M«,

ano

of

I

psm model for e in the cost 35co)

The 7-th yugoslavia,

octflbfr ---The

Inherent .VARIOUS

?f errors echnioues.

components for

systematij to weight errors wme.. evaluation.

COMPUTER

............... ......... ....... - SURVEY

AND APPRAISAL' (TN SERBO - CROATIANT. PRAKSA (YUGOSLAV JOURNAL) NO. 9 (FIRST PARTI AND NO. 10 (SECOND PART)» 1972. —>- AN EXTENSIVE SURVEY OF COMPUTER EVALUATION AND SELECTION METHODS IS PRESENTED. THF ARTICLE REVIEW AND COMPARE INFORMAL METHODS» FIGURES OF MERIT, KERNEL TIMING ESTIMATES» INSTRUCTION MIXES» BENCHMARKS» THRUPUT MEASUREMENTS» HARDWARE ----- - ---------- --------• UF

ND

............ _ ____ , _ THE

COMPARISON OF THESE METHODS SHOWED THAT only THE SCORING METHODS CAN SUPPLY THE USFR WITH A COMPLETE ANSWER TO THE PRACTICALLY FORMULATED COMPUTER SELECTION PROBLEM. (CODE'AB)

DUJMQVIS» J.J.e 'SOME CORRELATIONAL ASPECTS

of The compensation of errors when

SELECTING DATA PROCESSING SYSTEMS BY THE WEIGHTED SCORING METHOD' (IN SERBO CROATIAN). PROCEEDINGS OF THE 7-TH INFORMATICA CONGRESS» 1972.

— MOST FREOUENTLY. THE PERFORMANCE VARIABLES USED FOR THE EVALUATION Or COMPUTERS ARF POSITIVELY CORRELATED. THF PAPER PRESENTS AN ANALYTICAL PROOF THAT THIS FACT CAUSE THE CORRESPONDING COMPENSATION OF ERRORS IN ESTIMATING WFir.HJS WITHIN THE SCORING MODELS.

«««•«»»«OK»««»«»«» 1973 ««»iia«««*«««««««»«»

hanssmann» f.» (editor) 'operational research in the design of electronic data process ng systfms.' thf english

univfrs -ties prfss, 1973.

--- tmTs book rfprfsfnts the proceedings of

a nato conference and contains numerous contributions in the field of computer performance evaluation and cost effectiveness analysis. (codf'ob)

(i*. beshelfv. s.d.. gurevich» f.g.. 'expert judgements' (in russian). published by 'nau<a'. moscow 1973.

— The oook reviews the problems of

collective work^ of a group of experts, mathematical methods for averaging difffrent expert opinions are presented, (codf-w)

forcasting^'^^the yearsley, r.b.. and graham. g.m.r.,

rva^tina fphapi 'handbook of computer management.' halsteo

forfutlwr,-ra??n press. nfw york. 19?3. tcode-36)

83,

psm us pres

: for ■nted.

bwM)

86. cochrane. j.l., zeleny, m. . (editors) ^multiple criteria decision making.' university of south carolina press. 1973.

--- THE BOOK CONTAINS A number OF IMPORTANT

CONTRIBUTIONS RELATED TO THE UTILITY THEORY AND PSM. (COOE«AflMul

at. MAC CRIMMON. K.P.. 'AN OVERVIEW OF MULTIPLE OBJECTIVE DECISION MAKING.' PUBLISHED IN 'MULTIPLE CRITERIA DECISION MAKING' , EDJTFD BY J.L. COCHRANE AND ZELENY,

UNIVÉRSITY OF SOUTH CAROLINA PRESS, 1973. PP. 18-44. (CODE-AB)

ee. BAUGUT. G.» 'MODELS FOR COMPUTER SELECTION' (IN GERMAN), PUBLISHED BY R. MÜLLER» KÖLN -BRAUNSFELD» 1973. -— VARIOUS EXAMPLES OF THE

cqmputtr selection are (coof"236cqab)

89. TIMRECK. E.M., 'COMPUTER SELECTION METHODOLOGY'. COMPUTING SURVEYS» VOL. 5» -------- 1973» PP. 199-222.

no. <♦» ofcembfr (codeoabz)

90. DUJMOVlf. J.J.. 'Two INTEGRALS RELATED TO

means'. Publikacije elektrotehničkog

— the pape, ..................

ThF DEFlNlfE iNfEGRALS

croatian), cqngress 197s, paper 027, — thf function transformat ^

conjunction

Generalization is^proposed

fakulteta. serija matematika i fizika. no. 412 - no. 460. pp. 231 - 232, peograo 1973,

--------------^ ^^ calculation of

„ _____ . tecralS within the

N-blMENSIONAL UN it HYPERCUBE for THE

function ....................., both for f'min

and F«max. (code-f)

91. dujmovič. j.j.» 'a generalization of some functions in continuous mathematical logic»

(In serbo croatìani, proceedings oP the

WEIGHTS» ELEMENTARY SCORES» AND AVERAGING

PROPOSED, (C00F-2367AZI

bl. dujmovls,

........tic

èviluatfón ano'selection'mžihoos sùrvl

J.J.»

HENcnwAKua» inwuKui Mc«ajKtrncri i a» n»r(Lm»xc and software monitoring» cost - value technioue» scoring methods, simulation» and mathematical programming methods. the

03.

informatica cqngress irled, yugoslavia),

n and representing thcir - --^p«oposed. this w« ^th|

9uaÌI-conjunìtIon hc continuous evaluation. «code

(PlLEt

92.

DUJMOVIČ» J.J« 'MIXED AVERAGI (MALI - SYSTEM ANO CQMPUT METHOD' (IN SERBO - CROATIAN). OF THE INFORMATICA CONGRESS YUGOSLAVIA). 1973. PAPER 028, — THE MUUTI-LEVEL EXTENDED CONTINUOUS LOGIC MODEL OF A COMPLEX CRITERION FOR SYSTEM FVALUATION IS PROPOSED. THE MAL MFTHOD FOR SYSTEM EVALUATION REPRESENTS A GENERALIZATION OF EXISTING SCORING METHODS ELIMINATING THEIR MAIN SHORTCOMINGS. PRACTICAL OPPORTUNITIES FOR COMPUTER

-- "ING THE MAL --------■ ■

(C00E«2<.öC)

974.

rious

effectiveness

SELECTION USING THI CONSIDERED

93. DUJMOVIC. jojo» «CONTRIBUTIONS TO THE WEIGHTED- SCORING METHOD FOR COMPUTER EVALUATION' (IN SERBO - CROATIAN). UNPUBLISHED M.S. THESIS. UNIVERSITY OF BELGRAOr. DEPARTMENT OF ELECTRICAL ENGINEERING. 1973. (CODE-2369CGWM)

94«

TORS)

COUr.er» J.O.» KNAPP. r.w.. (ed 'system analysis techniques.' wiley. --- part iii of the book CONTAINS V

PRESENTATIONS OF THE COST ANALYSIS. (CODE'Q)

95. SHFRIDAN. T.B. AND FERRELL. W.P.» 'MAN-MACHINE SYSTEMS / INFORMATION» CONTROL AND DECISION MODELS OF HUMAN PERFORMANCE.' THE M.I.T. PRESS. 1974. (COOE-WUX)

'INFORMATION

96. eldin. h.k.. and croft. f.m.» -inrukmain. systems - a management science approach« petrocelli books. new york. 1974. (code-lb)

97. HUBER« G.P.. 'METHODS FOR QUANTIFYING SUBJECTIVE PROBABILITIES AND MULTI-ATTRIBUTE UTILITIES.^ DECISION SCIENCFS. NO. 3. JULY 1974» PP. 430-45». (COOE-9UXR)

98. MIRKIN. B.G.» 'PROBLEMS OF EXPERT JUDGEMENT' (IN RUSSIAN). PUBLISHED BY 'NAUKA', MOSCOW. 1974«

-— MATHEMATICAL THEORY OF AGGREGATING THE INDIVIDUAL PREFERENCE INFORMATION IS PRFSFNTED IN THIS ROOK. THE THEORY CAN BE USEO IN PRACTICAL WORK OF EXPERT TEAMS. (CODE'W)

99. bfshflev. s.o.. gurevich. F.g.» »mathematical and statistical methods for expert teams' (in russian). published by 'statistika'. moscow. 1974„

--- THF BOOK PRESENTS A NUMBER OF

STATISTICAL TECHNIOUES FOR OBTAINING QUANTITATIVE INFORMATION FROM THE EXPERT TEAM JUDGEMENTS. Thf rolF OF EXPERT - BASED METHOns IN OPERATIONS RESEARCH Ts DISCUSSFD. the TECHNIQUES FOR ORGANIZING THF work OF EXPERT TFAMS AND FOR PROCESSING INFORMATION OBTAINED from A GROUP OF fxpfrts ARF PRESENTED. THE CONCORDANCE analysis of EXPERT JUDGEMENTS is DESCRIBED IN detail. tCODF."W)

'CL

NICAL PMENT N M. EMS'.

100. williams. g.z.« williams. r.l.»

laboratory subsystem. section f - equ ^valuation ano sflfction'. chapter 7 :ni.len (fd.). 'hospital computer sys j. wlley 197>.. pp. 174-193.

--- all COMPETITIVE SYSTEMS are

Through thf 'cost filter'»

'FILTERED'

____ . 'TECHNICAL

FILTER' ANO 'SUPPLIER- FILTER'. THE TECHNICAL FILTER CONSISTS OF 62 'TECHNICAL' COMPONENTS FOR EVALUATION OF A CLINICAL LABORATOUY COMPUTER. IN ADDITION. TEN SUPPLIER COMPONENTS FOR EVALUATION ARE PROPOSFO. THF WFIGHTING IS CONSIDERED ARBITRARY. ONF SMALL 10 - COMPONENT POINT -AOOITIVF ExaMPLF IS INCLUDED, PURCHASE PROCEOURF AND CONTRACTUAL AGREEMENTS ARE ALSO CONSIDERED, (COOE»?35EY)

on

PUBL ISHEO~BY' 'ENERGÌA ' "« ^MOSCOW19741 --- AT THE VERY BEGINNING OF THIS BOOK THE

AUTHOR CRITICIZES THE ONF-LEVEL ÄODIT SCORTNG MODEL AS lNADE(iUATE TO BE APPL

In the optimization of computer sys

structure, interesting

author's opinion 'it i

--------- - -

101. RAKOV» G.K.» 'METHODS FOR THE OPTIMIZATI OF COMPUTER SYSTEM STRUCTURE' (IN RUSSIAN PURI l<^HFr) Rv iPMPRnlAi. Mn<iroui.

_____m

ENOUGH, IN THE - _ . . .SNOT ACCEPTABLE TO

AGGREGATE WITHlN A siNGLE CRITERION SOME INCOMMFNSURABLE PERFORMANCE VARIA8LFS (E.G, THE MEMORY SPACE AND THRUPUT),' (C00E«5Z0)

102, BURCH. J,G, JR.» STARTER» F.R, JR,, 'INFORMATION SYSTEMS / THEORY AND PRACTICE' • HAMILTON PUBLISHING CO.. SANTA BARBARA, CALIFORNIA, 1974.

-— CHAPTER 12 OF THE BOOK PRESENTS THE USE OF PSM FOR SYSTFM EVALUATION. TC0DE»5A)

103, DUJMOVIC» J.J,» 'COMPONENTS FOP EVALUATION OF COMPUTER SYSTEMS' (IN SERBO - CROATIAN). PRAKSA (YUGOSLAV JOURNAL). OCTOBER l974,

AN EXTENSIVE ANNOTATED LIST CONTAINING COMPONENTS FOR EVALUATION OF MODERN DIGITAL

'mixed averaging by levels

.....- -------ter evaluation

proceedings (bled.

method are also

32

COMPUTERS IS PRESENTED. COMPONENTS FOR EVALUATION OF SUPPLIER» HARDWARE AND SOFTWARE ARE INCLUDED, (COOE-1)

104, OUJMOVIČ. J.J,» KLEM, N,, 'AN APPROACH TO EVALUATION AND COMPARISON OF FORTRAN AND ALGOL COMPILERS^ (IN SERBO - CROATIAN). PROCEFDTNGS OF THE INFORMATICA CONGRESS (BLEO» YUGOSLAVIA)» 1974» PAPER 4,39.

--- A PROCEDURE FOR EVALUATION AND

COMPARISON OF FORTRAN AMD ALGOL COMPILERS IS PROPOSED. THE PROCEDURE IS BASED ON REGRESSION ANALYSIS AND THE MAL METHOD» AND IS ILLUSTRATED BY A COMPARISON OF FORTRAN AND ALGOL COMPILERS FOR THE IBM 1130 COMPUTER, (C0DE-E9)

10», SLAVI^» D.V,, DUJMOVIČ» J,J,» 'NUMERICAL COMPUTATION OF WEIGHTED POWER MEANS'. PUBLIKACIJE ELEKTROTEHNIČKOG FAKULTETA BEOGRAD» SFRIJA MATEMATIKA I FIZIKA. BFOGRAD, 1974.

-— THE ERRORS ARISING IN COMPUTATION OF VALUES OF THE WEIGHTED POWER MEANS ARE ANALYSED AND A PROCEDURE FOR THEIR CO)APENSATION IS PROPOSED. (COOE-M)

ELEKTROTEHN MATEMATIKA --- THE DEF

107.

J.» 'WEIGHTED CONJUNCTIVE AND MFANS AND THEIR APPLICATION IN EVALUATION'. PUBLIKACIJE

CKOG FAKULTETA BEOGRAD» SFRIJA FIZIKA. BEOGRAD 1974. . _ __ NITION OF WEIGHTED CONJUNCTIVE AND DISJUNCTIVE MEANS IS PROPOSED» AND THEIR BASIC PROPERTIES INVESTIGATED. THESE MEANS ARE DERIVED FROM WEIGHTED POWER MEANS FOR USE IN FORMAL MODELS FOR ESTIMATION OF THE TRUE VALUE OF A CLASS OF COMPLEX STATEMENTS IN CONTINUOUS LOGIC. (COOE=MB)

DUJMOVIC. J.J.» 'NEW RESULTS IN DEVELOPMENT OF THE 'MIXED AVERAGING BY LEVELS' METHOD FOR .SYSTEM EVALUATION' (IN SERBO CROATIAN). PROCEEDINGS OF THE INFORMATICA CONGRESS (BLEO. YUGOSLAVIA). 1974. PAPER 4o36.

— THE PROPOSED IMPROVEMENT OF THE MAL

ntroducing the ive means. new grs. ano a sfries ors necessary for

108. OUJMOVIČ. J.J..

SYSTEMS USING THE CROATIAN). PROCEED

YUGOSLAVIA)i

method consists in conjunctive and disjunc asymetric averaging opera of specific system indica

SYSTEM EVALUATION, (C00E-4flS)

OPTIMIZATION OF COMPLEX MAL METHOD' (IN SERBO -iINGS OF THE INFORMATICA

1974» PAPER

CONGRESS (BLED 4.3b

— AN ALGORITHM FOR ARBITRARY COMPLEX

optimization of system. whose

nimi2e the system cost for a vfness. and to derive the EM optimal configuration.

1(19.

o.d..

analog

EFFECTIVENESS CAN BE EXPRESSED BY THE MAL METHOD, IS PROPOSED. THE ALGORITHM SERVES TO MAXIMIZE THE EFFECTIVENESS FQR A GIVEN

COST, OR TO M GIVEN EFFECT COMPLEX SYS (C00E-4BE0)

gurskii son of

dujmoviif. j.j.. ojl

'Evaluation and compari____

computers' (in serbo - croatianit procefoings of the informatica congress (bled. yugoslavia)» 1974» paper 4.37.

--- the complete global criterion for

evaluation of modern analog computers is proposed. the global criterion include 39 elementary criteria and thf criteria aggregation structure based on the use of extended continuous logic functions. (c00e*248cs)

110,

•««•«•••>»•••»•••• 197S ••*•••••••••••••«••

KITAEV. N.N.. 'EXPERT GROUP JUDGEMENTS' I IN RU^|IAN), PUBLISHED BY 'ZNANIE'» MOSCOW»

--- *THF BOOK DISCUSSES USEFULNESS AND

TECHNIOUES OF FORCASTING USING EXPERT JUDGEMENTS, PROCEDURES FOR ACOUISITION AND PROCESSING OF EXPERT INFORMATION ARE PRESENTED, ICODE-W)

science

FOR AN^

AUTOMA!ION PRFSENTEO, . ..

large computer

111. BAKER. N,. FREELAND. J. 'RECENT ADVANCES R AND D BENEFIT MEASUREMENT AND PROJF SELECTION METHODS.' MANAGEMEN 10(1975) 1164-1175. — AN EXTENSIVE SURVEY INCLUDING THE ROLE OF PSM IN R AND D BENEFIT MEASUREMENT IS PRFSENTEO. (COOE-ABD)

- J,M,. 'national riON OF HARDWARE.

VmF AC0U?S?TI0N OF HARDWARE» SÓPtWÀRE SYSTEMS'. PP, 280 - 285 IN 'ECONOMICS OP INFORMATICS' EDITED BY A,B, FRIELINK, NORTH

- HOLLAND 1975.

— COMPUTER EVALUATION PROCESS PRACTICED

BY The dutch government office for

--------»... MECHANIìXtION (KMC) Ts

THE PSM Is USED FfiR MEDIUM AND ........ , (CODE"

• Y)

SYSTEM EVALUATION,

113. FRIFLINK, A,B, (EDITOR)» »ECONOMICS OF INFORMATICS.» NORTH - HOLLAND» 1975, • (CODE'OUX)

ZANRfMEISTER« -------%CNE5S Of

effectiv______ _ _ _ ____ . _

systems from a management POINt of ytEW tmrounm utIliTy analysis*, pp. <.40 - in

'economics of informatics* edited by friellnk. north - holland 19755

— - ------ed and software

system for evaluation

116.

11». kurzban. s.a.. heines. t.s.. aip«!-_ 'qpefa^j^q^ systems

and SAYERS» . PRINCIPLES*.

. .. - ENtlTLEO 'operating system

functions^ oescripes an extensive hierarchically organized list of components for evaluation of a «odern operating system, representing useful . basis for comparing different systems in a consistent way, )co0e«2t

CHURCHMAN. C.w.. WFSNER» r.w.. lEDITQRSt 'SYSTEMS ano management ANUAL 1975.' PETIÌOCELLI» NEW YORKs 1975.

— Chapter t presents some relations among

PATTERN R^gOONlTloN METHODS AND PSM.

Chapter

review

OF

presents

multi-atriayre vi'i-''* models,

multiplicative utility Functions are

..t-------- .. ----------------(code-mux)

introduced In chapter 12.

117

nair. r... 'decision analysis g of nuclear power pla^ ' - of multiatrlbute ul

proceedings of tme ieee 3( (cooe-9ue)

thf RELFvAnćE TMtORYf'

lity 97si

llf. white. o.j.. 'decision methodology'. j, wiley. london. 1975. icode-buxi

decision design.' »ie-5l8.

the te re

Utìciu

PRESENtED.

KAMNf. S.t 'a procedure for qptimizino development decisions.' automat CA. völ. ii. pp. j6ì-j69. pergamoy prgss. 975.

119. kahnc. s.t 'a contribution to making in environmental

proceedings of the ifee 3(19751 5.. ____

--- a fu22y set orientfd psm model. and t

5e study of ts applìcatton ìn the si

lEction for an urban Institution a

-----(CODEoSFRI

introduces the

theory in weighted scoring. accü The author. 'in any realistic formulation. Thè criteria are not

defined. They . ______

importance of each criterion

^loujn'............. "

are fuizy.

121.

isjunc1 ,

, ELEKTROtEMNIČKOG ija matematika i <19791. 191-196.

170.

Fuzzy set rdinc to problem . - precisely

is^al

riiNiouE" PROPošEb "IN ^ THP I^APES

s for this uncertainty in all aspects of the proplem and yields probabilistic answers'. (c0de-5fri

OUJMOylf. j.j.» 'graphic approach to weighted conjunctive and disjunctive means calculation* publikacije ELEKTROTEMNICKOG

fakulteta beograd. |£sl...........fc..» v

fizika. no. <.9fl-5«i

l?2,

CO,TINUOj^S^^^OG|C

fAkultetÀ . fizika, no.

nuous logic (ecli. a inuous logic based on

var I ^ ' ---

ic00e»m1

DUJMOVIČ. J. J.i 'EXTENDED AND THE TMÈORY OF COMPLEX

Publikacije elektrotehničkog

II. 197-2

--- the exttnded'cnnt

generalization of

con

introduction of

conjunction "AND disjunct

conjunctive - -

12Si

THE

able degree of - _____.. on in complex

and disjunctive statements. Is proposed In ThIS paper, The properties OF ecl . as an alcifbcaìc sthucture. are analysp and various ecl functions ar|

defined anu Classified. <code«<>flmi

OUJMOylé. J.Jo 'EVALUATION OF DIGITAL

usIng^ The system evalwaTIon

ocfeoings , (ble&. yugoslavia).

■ cp terion for

d gital 6R -

computers

METHOO mal»' (in serbo^ - croatiani, PROCffOiNGS 0f_ the Informatica congress

1975. paper 6.9.

Evaluation Of computers is 111

medium proposed.

and lar

" " - ON HEP

Computer SUPPLÌ

TO SOFTWARE, ic

- -fER iNCLUOt III ELEMENIARY F fcì ARE RELATED TO tq hardware, -

^ohìtfCì

AND

12*. oujmovi^. j.j.e

"items' (in strbo

dujv

roh

•evaluation of complex

- - ...... croatian), unpublished

toral dissertation. university of

belqranf. ^^partmfnt of electrical

£N(iTNEt«ING.

ICODE"2*8CMOPS)

125. »«••••••«•aavovoos 1976 o « s «sa «ssoveo •saiiet»

ITOR). ^^MULJ|PLE_ CRITERIA

KYOTO 1<(1

ipringfr -

virlag. 1976.

THE PHOCEEDINGS C Tnf KYOTO CONGRESS CONTAIN A NUMBER OF IMPORTANT CONTRIBUTIONS

TO The DicjsiON analysis. espfcially INTERtSTING li tue fuTENSIvd RIBUOGRAPhIC research e» M. /ELFNV Pt>F;SENTtD AT THE END

of The book, (ccde-bum) metrics.*

C«o «MfASUREWENT OF CpMBUTEBlZEO.^JNFORWATION

)itcd by a.b.

. ... .. .... ._ ... £val(jating the

complex software systems is presented. Included are thE samples from the psm "odfls related to The evaluation and

comparison of operating systems, data base management systems, programming languages. etc. icode-236ec)

zionts. s. wallfniu8. j, o 'an interactive programming method for solving the KULTÌPLE mljfs management science

-i- l near''ad6itive utility models and their optimization are presented.

(COPE'MUXÜE)

129. thiriez. h.. and zionts. s., (editors) 'multiple criteria decision makìngo» springer verlag. berlin. 1976. (code-uxl

selection of computer systems,' paper presented at the oecd ankara meeting. march

..........---- in GREEK IN THE

al directorate of

_____ _ , .. 3« pp. »1-70.

...hens 19761.

survey of a complete procedure for computfr system acquisition using the preference scoring approach (method mali is presented. (code='.0a)

dujmovič. j.j.. 'system evaluation language" isfll - programming language for evaluation. comparison and optimization of complex systems' (in serbo - croatian). proceedings of the informatica congress (bled. yugoslavia), 1976, paper 1/121. --- the syntax and ThE basic semant cs of

The programming language SEL are üfscribed, sel is a problem - ORIfNTED lan(ìuage

............ compare and optimize

ng Thf mal method. on of this language IS he sel Interpreter

made POSSIULE by ^ ___

written In basic Fortran iv. (Code-p

mnih

j.j., toma system

132<

dj.. 'criteria

(In serbo

1/122, — The

an

Croatian); proceedings of the informatica congress (bled. yugoslavia!. 1976. paper

PAPER PRESENTS COBS

interactive programming system designed FOR crfatlng. updating and editing of the DATA base containing (I) elementary criteria FOR system, evaluation, and (21 the related criteria aggregation structure. cdbs AND

Tm£ System fvaluation language (SFlT are Two complementary basIc software I(30lS designed for complex systems evaluation, comparison, and optimization using the mal method. i code«p)

133. DUJMOVlČi

procedure

pp.

'A

oétermInIng opt 1 mal,confi gurat ions

for of the

ng units of analog ano ,_mpuT{bs' i In sfrbo - crqa . PROCEEDINGS of The EUn congress 1976. 11^1 - lise.

---a proceduri: for determining optimal

numrfps (?f Integrators, track-stores, summers. Inverters« digItal coefficient units, manual f'otentlómeters. universal function generators. fIxEO GfNFRATOWS, multipliers, d/a

functional relays, comparators. ____

parallel logic units for an ANA(.0G or

HYBRID COMPUTER IS PROPOSED, OPTIMIZATION IS CARRIED OUT USING THE SYSTEM EVALUATION

mfthon mal. And programming languAge Sel.

(code«2*9co)

Theory of compl of systems' edi holland. 1976. — TMF CRMERI co^putfjs Eva OPTiMIŽAtlON I INCLUDES SueCR analog CCPUTCP hyp.pid I'jtfufac

IC00E»2*»CE0T)

13A.

~ - -- ex criteria." in 'simulation

tfu BY l. OEKKER. NORTH -

pp. 553 - »66. ON FOR MEDIUM-SIZED HYBRID LUATION. COMPARISON. ANO S PROPOSt'D, The CRITERION MERIA FOR EVALUATION OF . DIGITAL COMPUTER HARDWARE» E UNlf. AND HYBRID SOFTWARE»

13). «•»•«••«.•••«•a,,. 19TT oovassosse«»»»»»»**

hfnn, R.» mofsrhljn. 0.» (FOITORS) •MATME^ATICAL ECONOMICS AND GAME tHEORY,' SPRINGER - ve»LAG. BERLIN. 1977. PP. 3A6 -369. (code-^mui

l?6. keency. r.l.. ano raiffa. h,. 'dfcisions with multiple objectives ! preferences and value tradeoffso' wiley. new york. 1976, icode'fcsutx)

GILB. T.. 'SOFTWARE

shjDENTLlTTERATuR. L'UNO. 1976. — The USE OF The psm FOR ev

127. GILB.

12S.

1976 ipublisheo also bulletin of thf gener _

PuRlIC administration, no.

AT

131,

ocsignfo to fvaluat!

complex systems u| c0"puter implimentai

t aas« s.m.i and kwakernaakt h.» 'rating ANO ANKtNG of multiple-aspect alternatives using fuzzy sets.' automattcAi vol. 13« pp. 47-58. per&amon press. 1977.

— a method for solving the multiple -............- ---isYc --------- -----

PROBLEMS

under

137.

analysis.'

'computers critically

alternative decision

UNCERTAINTY IS PROPOSED. THE RATINGS AND WEIGHTS ARE CONSIDERED AS FUZZY QUANTITIES. tC0DE-6F»

ME THODS J

KLEIJNEN. J.P.C.. 'SCOR NG MULTIPLE CRITERIA AND UTIL TY CHAPTER 4 IN THE AUTHOR'S BOOK AND PROFIT' «TO APPEAR).

--- various scoring methods are _ . __

reviewed. the relations of scoring method with multiple criteria decision methods and utility analysis are presented. the possibilities for computer selection using

These methods are analyzed. (code=abrutz)

evaluation systems.' congress.

138.

0ujm0vič. j.j.« and selection

'professional of computer proceedings of the informatica bled (yugoslavia)« 1977.

--- the paper presents a condensed survey

of a multj-step procedurf for computer

system Evaluation. optimization and

selection. the proposed technique represents a part of an integral procedure for realization of adp centers. and has been particularly designed for professional usf by organizations specialized for systems and computers evaluation and selection. 1c0de"48abc)

classification of bibliographic entries

sasaass3Bs«sas«ssaaSBca&KB«6BBB«B««saBa

code . 1 8 36

code • 7

15 16 57 60

109 115 :

code - 3 3 a 36 30 ■ 60 65 93 96

code • 4

16 17 56 65

130 133

code ■ 5 3 8 43 44 119 120

code « 6 1? 15 45 47 69 73 126 127

code ■ 7 16 42

code ■ 8

92 106 134 138

code • 9 33 37

24 26 77 92 134 138

10 11 50 55 135 136

18 23 49 54 78 80

68 80 107 loa

48 72

41 44

24 26

42 43

67 68

100 127

67

103

32

35

45

49

54

56

,80

92

93

100

127

133

134

19

18

22

25

28

35

44

45

47

54

55

56

69

73

78

80

85

8s

3<t 36 38 41 49 50 107 108 109 122 123 124

17 22 34 35 36 42 67 68 77 100 101 102

74 25 26 28 38 41 56 37 60 61 65 66 82 85 88 93 96 114

109 122 123 124 130 133 77 93 97 104 117 126

CODE ■ A 20 24 27

80 ex 86 lae

i?

3«» 80

38 89

42 102

xìl

60 130

78 137

CODE ■ B , 20 24 27 63 n 79 118 125 137

138

3) 83

34 86

35 87

46 88

49 89

di

CODE ■ C 8 15 26

lil à Al

138

3» 88

36 92

44 93

109

lìì

56 124

CODE ■ 0 22 27 46

66

111

CODE • E 10 16 17 45 49 77

23

100

24 104

26 loa

30 117

36 127

38 128

42 134

CODE " F 119 120 136

CODE • 6 3 4 11

23

73

93

114

"OE J^M

71 79 B2 121 122 124

33 86 125

37 90 128

40 91 135

41 93

xlì

51 106

62 116

CODE • 0 79 101 108

124

128

133

134

CODE • P 33 49 114

124

131

132

CODE • 0 19 30 31 65 67 68

32 83

il

39 94

iti

52

55

58

CODE - R 16 38 46

77

97

119

120

137

CODE • S 16 42 77

107

109

Ì14

124

CODE ■ T 42 79 126

137

CODE • U l 2 7 59 62 70 113 114 116

17 ll^

29 ili

il 125

37 79 126

41 86 128

50 95 129

a?

135

CODE • W . 38 48 74

Ilo

75

62

84

93

95

98

99

CODE - X 1 2 S 29 30 37 79 93 97

6 1?!

d

118

10 62 126

128

129

Ü

CODE ■ Y 8 24 38

45

54

61

100

112

114

134

CODE • Z 19 32 34

41

43

64

78

80

89

101

137

AOCNOWLEDGMENT

THE AUTHOR IS INDEBTED TO MR. TOM GlLB AND TO DR. J.P.C. KLEIJNEN FOR THE MOTIVATION TO WRITE THIS PAPER. AND FOR HELP AND USEFUL CRITICIJM DURING ITS PREPARATION.

Informatica št. 2 letnik 1977

rešitve nekaterih problemov krmiljenja objekta z mikro procesorjem v realnem času

p. ko I bežen b. mihovilović z. milavc

Institut J.Stefan,

Univerza v Ljubljani, Ljubljena

Člonelc obrovnava nel<atere probleme Icomuniciranja mikro računalnil<a s perifernimi napravami med izvajanjem glavnega opravila in soiosnem generiranju linearne funkcije časa. Ta je realizirana s programsko opremo brez ure v materialni opremi. Posebej so opisane možnosti progromskih prekinitev pri nekoterih popularnejiih mikro ročunoinikih in posebnosti, ki jih moro programer upoštevati pri programiranju tokinih prekinitev, K sploini obravnavi so dodane rešitve na konkretnem primeru krmiljenja objekta z mikro procesorjem v realnem času.

SOLUTIONS OF SOME PROBLEMS OF THE REAL-TIME MICROPROCESSOR CONTROL. Tfiis orticle discusses some problems of the microprocessor communication with the peripheral devices during the general function execution and the generotion of the linear time-function. This function is realised in software without the hardware clock device. The possibilities of the program interrupts of some more popular microprocessors are treated. A particularities of the interrupt programming to which the programmer must be known are pointed out. To the general treatment solutions of some problems of the real-time microprocessor control ore odded.

UDK 681.3 - 181.4

1. UVOD

Intel je leta 1974 realizirol mikro računalnik INTEL 8080. Ta je v preteklih nekaj letih predstavljal, lahko bi rekli, nekakšen industrijski standard za mikro računalnik, kot ga je pred tem že predstavljal INTEL 1103 zo pomnilnik. Minimalni sistem INTEL 8080 sestavljata dva posebna čipa in pet TTL sklopov. To sistem je približno petkrat hitrejši od njegovega uspelega predhodnika 8008, ki zavzema tudi 60% večjo površino čipov. Novi Intel je bil ob svojem rojstvu najhitrejši mikro procesor na tržišču. Ostal je prilagodljiv običajnim ROM in RAM pomnilnikom ter programski oprem! svojega prednika, ima po več instrukcij (74) ter omogoča večkratno programsko prekinitev. Zoradi premajhne zmogljivosti in hitrosti je ostala njegova uporaba omejena. Zato so Intel in drugi proizvajalci tedaj obstoječih mikro procesorjev koj kmalu dobili tekmece. Večjo zmogljivost to dosegli s spremembami v sistemski arhitekturi in naprednejšo tehnologijo. Slednja bo tudi v bodoče omogočalo vse večje hitrosti. Med več ali manj konkurenčnimi proizvodi, ki so se kmolu pojavili no tržišču, štejemo predvsem AMI 6800, IMP-16C, Mostek F8 In Z80. Opažamo pa, do aplikacije le-teh še vedno zaostajajo, kot je bilo to dokaj izrazito tudi zo Intel 8080 v prvem obdobju njegovega obstoja. Del proble-mo je v standardizaciji vezij, primanjkuje po tudi boljša materialna In progromsko oprema. Vendar je Intel v tem pogledu uspešnejši, moral pa bi poskrbeti za še širšo uporabo svojih izdelkov. Pri tem je pomembno, da je njegova dokumentacija skrbno izdelana In kot tako dobro uporabljiva za povprečnega sistemskego nočrtovolca.

Ena od pomanjkljivosti centralne procesne enote in osnovnega iiitema Intel 8080 je, da nima posebne ure, ki bi omogočala generiranje časovnih funkcij. To pomonjkljivost se no primer kaže, kodar moramo časovno funkcijo generirati pri obratovanju mikroprocesorskega sistema v realnem času. V določenih okoliščinah, ki so odvisne zlasti od časovnih zahtev krmiljenja objekta, ali drugače rečeno, od časovnih karakteristik glavnega opravilo, in od zahteve po točnosti generiranja časovne funkcije, je mogoče problem tudi programsko rešiti. V referatu je prikozon primer takšne rešitve, medtem ko so obravnavani tudi nekateri povsem splošni problemi komuniciranja računalnika s perifernimi napravami. Te so uporabljene zo vnašanje podatkov, ki so potrebni za generiranje časovne funkcije. Tako so poleg časovnega generatorja no konkretnem primeru podane tudi rešitve problemov, ki jih najčešče srečujemo pri mikroprocesorskem krmiljenju objekta v realnem čosu.

2. FUNKCIJA ČASOVNEGA GENERATORJA

Predno si ogledamo konfiguracijo uporabljenega računalniškega sistema, si oglejmo vlogo časovnega generatorja v glavnem opravilu krmiljenja objekta v realnem čosu.

Krmiljeni objekt Ima množico amlognih Izhodov, katerih vrednost lahko zvezno spreminjamo. Vrednost vsakega izhoda, ki ga moromo adresiroti, določimo z digitalnim podatkom no vhodu krmiljenega objekta. Imamo torej množico vhodnih podatkov, ki določajo izhodno stanje objekta. Zarodi serijske narave vhoda in analognega pomnenjo podatkov v objektu samem, se morajo vhodni podatki periodično obnavljati. Na ta način se ohranja določeno izhodno stanje ali kratko rečeno Izhod objekta.

Izhod, ki je različen od nič, ne moremo dobiti v trenutku, ampak le-ta postopoma narašča od vrednosti 0. Narašča torej Iz stanja, ko imajo vsi analogni izhodi istočasno vrednost O, do stanja, ko ima vsak od analognih izhodov določeno vrednost. Čas, v katerem naraste jakost vseh analognih izhodov od nič do predpisanih vrednosti. Imenujemo čos iMroščanjo izhoda. Čas, v katerem pa preide določeno izhodno stanje v stanje O, imenujemo čas padanja Izhoda. Izhodna stanja si slede zaporedoma tako, do istočasno, ko začne vrednost prisotnega izhoda upadati, začne ttovi izhod naraščati. Navadno je čas padanja starega izhoda enak času noraščanja novega Izhoda. Prehod, pri katerem sta časa enako, imenujemo simetrični prehod (CRS) Iz enega v drug izhod. Kadar je prehod avtomatičen, je le-la linearen, nelinearen pa praktično vedno, kadar ga upravljamo ročno s pomočjo potenciometrov.

Avtomahka prehoda; simetrični prehod med Izhodom I In 2, ter asimetrični prehod med Izhodoma 2 In 3, prikazuje illka 1. Pri prvem prehodu {e A>P= O, pri drugem pa A'fji 0.

Izhod 1

Izhod 2

Izhod 3

/

X

\

tp - tn

L-

tp

tn--

Sest

Sliko 1.

Nalogo krmiljenja izhodov objekta lahko razdelimo v dva dela. Prvi del predstavlja določanje izhoda, to je nastavljanje posameznih analognih Izhodov na določeno vrednost, določanje vrstnega reda izhodov, ter časov naraščanje In padanja le-teh. Drugi del predstavlja avtomatično ali ročno krmiljenje izhodov v določenem vrstnem redu, izvajanje prehodov, to je naraičanje in padanje izhodov, ter meionje več izhodov. Napravo, ki je nomenjena reševanju teh nalog, lahko prikožemo s posplošeno shemo na sliki 2.

mikro računalnik

masovni

prikazo

ukazni

pomnilnik

valniki

del

I

vmesnik 2

vmesniki

XIT

krmiljeni objekt

Slika 2.

Vidimo, da v našem primeru periferne naprave mikro računalnika sestavljajo: krmiljeni objekt, dodatni masovni pomnilnik, prikazovalniki (indikatorji) in ukazni del naprave. Iz slike je razvidno, da te naprave glede na smer komuniciranja z mikro računalnikom pripadajo vsem trem možnim tipom. Probleme komuniciranja teh enot prištevamo k bistvenim problemom krmiljenja objekta v realnem času. V naslednjem poglavju bomo zato z vidika organizacije tej problematiki posvetili nekaj več pozornosti.

3. KOMUNICIRANJE PROCESORJA S PERIFERIJO

Večirta digitalnih sistemov komunicira med sistemskimi enotami tako, do na sprejeto informacijo odgovarja z ustreznim Izhodom. Obstajajo zelo preprosti sistemi, pri katerih pro-grom v zanki periodično testira vhod, medtem ko ga pričakuje (npr. pritisk na tipko). Procesor med odtipavonjem vhodov ne more opravljati nobeno drugo koristno delo. Taka tehnika je zato potratna.Vendar obstajajo specifični primeri, kjer je opravičljivo. Doiga tehnika, to je tehnika programske prekinitve, omogoča vhodno/izhodnim ali drugim sistemskim enotam, da prekinjajo glavni program le, kadar je to potrebno. Prekinitev je možno, če je procesor na to pripravljen. Prav tako, procesor more komunicirati z ostalimi enotami le, če so tudi'te pripravljene na prenos Informacij.

Programska prekinitev (INT) povzroči, da se trenutna adresa v programskem števniku vloži v sklad, medtem ko se v pro-gromski števnik vnese specifična lokacija. Pred tem se tekočo instrukcijo še normalno Izvrši. Novo lokacijo se Imenuje lokacijo programske prekinitve In običajno vsebuje brezpogojno rozvejltev no servisno rutino programske prekinitve (INSR). To rutina Izvrši želerto nalogo. Novadno je I« virašonje ali Izpisovanje podatkov In omenjeni rutini ustrezno procesiranje. Po opravljeni servisni rutini te z Instrukcijo RETURN nadaljuje Izvojanje glovnego progromo. Tako je poslednja Instrukcija vsake INTSR vedno RETURN.

Pri tabi INT pa nastopa vrsta problemov. INTSR mora biti toka, da se vsi parametri glavnega programa, ki so pomembni za nadaljno Izvajanje glavnega opravila, ohranijo. Zato mora INTSR najpreje shraniti vsebine vseh uporabljenih registrov, vključno z zastavicami (kot so prenosi, predznaki, parnost, ničle In dr.). Na koncu INTSR se vsa stanja registrov In zastavice zapišejo v prvotne lokacije, ie predno »e prične Izvajanje glavnega programa. Rabo sklada "prvi v -zadnji Iz" (push-down stack) je v ta namen Idealna.

Operacije reševanja vsebin posameznih registrov niso potrebne, če so uporabljeni registri v INTSR zo to posebej rezervirani in neuporabljeni v drugih delih programa. Operacije v zvezi » shranjevanjem zastavic po so še vedno por trebne, ker je program lahko prekinjen med aritmetično operacijo. Razvejitve v programu aritmetične operacije so namreč odvisne od pogojev, ki se generirajo med izvajanjem operacij. Enaki problemi morejo nastopati tudi pri rabi sub-rutin. Ker pa se subrutine ne kličejo naključno, je odstranjevanje možnih tovrstnih napak veliko lažje.

Iz gornjega sledi, da moramo INT programirati zelo skrbno. Morebitna napaka v programu se namreč lahko pokaže le pri določeni lokaciji in pri določenih kombinacijah podatkov. Taki primeri so včasih možni le enkrat no mesec ali celo no leto. Če, na primer, pozabimo shraniti in ponovno restovri-rati zastavico, se napaka pokaže, kadar nastopi INT med aritmetično operacijo. Tedaj namreč zavisi pogojno rozvejltev od trenutnega rezultata operacije. Kljub temu pa ostane taka napaka prekrita, če je stanje (prenosov, ničel, itd.) po zadnji aritmetični operaciji isto, kot je bilo ob prekinitvi glavnega programa. Problem obstoja tudi v tem, da so simptom i takšnih napak vsakokrat različni. Zato je skrbno pisanje prekinitvenih programov edino rešitev.

Pri programiranju programskih prekinitev so možne tudi druge napake. Če INTSR spremeni pomnilniško lokacijo, ki jo uporablja tudi glavni program, se lahko le-to povrne no začetek. Pri možnem INT v programu ne smemo uporobiti zo-kosnitveno zanko. Sicer pa, če jo uporabimo, se čas izvrševanja INT rutine doda programirani zakasnitvi. Včasih po se INT v zakosnitveni zanki mora dopuščati. Tedaj obstaja rešitev v štetju Impulzov zunanje ure.

Pri krmiljenju časovno odvisnih operacij v sistemu se pogosto uporoblja programska prekinitev z uro v realnem čosu (Reol-Time Clock Interrupt oli RTCINT). No primer, INT moremo generirati s frekvenco 50Hz, to je vsakih 20msek. Rutina INT po lahko med štetjem impulzov RTC hrani kritične informacije no določenih pomnilniških lokacijah ali registrih toliko časa, kolikor je potrebno za izvajanje posameznih operacij med programsko prekinitvijo. Če s posebno subrutino shranimo trenutno stanje števniko RTC impulzov, moremo kasneje določiti čas izvajanja operacije. Določimo go preprosto z odštevanjem shranjenega časa od časa, ki je določen s koncem operacije. Na ta nočin lahko v glavnem programu upoštevamo izgubo časa, ki jo doprinese vsakokratno prekinitvena rutina.

Včasih se morajo nekatere operocije izvrševati periodično no vsak urin INT ali morda na vsakih deset urinih prekinitvenih Impulzov. Rutina RTC INT shranjuje štete Impulze in pravočasno, periodično opravlja določena opravilo. Sistem po lahko zahtevo tudi informacijo o absolutnem času in periodično dostavljanje podotkov. Navadno je frekvenca omrežja dovolj natančno in visoko, da je takšen tip ure primeren tudi zo štetje daljših period.

Drug problem programske prekinitve se pojavlja pri določenih operacijah, ki se morojo Izvršiti neprekinjeno z veliko hitrostjo, čim se enkrat že prično Izvojatl, Na primer, če zapisujemo no magnetni trak ali disk, bi bile posledice programske prekinitve med takšnim Izhodom nepopravljive. Problem rešimo t posebnim bUtobllnlm elementom ( Interrupt enable flip-flop), kl omogoči INT. Navadno |e to zasta-vica (flog). .Pred operacijo oziroma delom programa, kl ne ime bUl prekinjen,vitovlmo posebno instrukcijo. Ta prepreii programsko prekinitev dokler takina kritična operacija ni U-vriena, nokor se prekinitev ponovno omogoči.

Bol] kompleksni sistemi uporabljojo prioritetne programske prekinitve. Najbolj kritičnim opravilom dajemo nojvlìjo prioriteto. Kadar se pojavi zahteva po takinem oprovilu, more leta prekiniti Izvajanje rutine I NT z nižjo prioriteto. Hkrati se med tem onemogoči kakrienkoli INT z nitjo prioriteto. To se ponovno omogoči, kadar je rutina INT z viijo prioriteto kon-čono.

S prioritetnimi preklnitvomi lahko mehaniziramo vhod in Izhod vmesnikov glavnega pomnilnika. Glavni program upravlja prenos vhodnih podatkov Iz polja vmesniikih registrov v glavni pomnilnik. Zapis v vmesnik poteka avtomatično z rutino INT vsakokrat, ko se le-to pojavi. Obo procesa: vpis in izpis Iz vmesnika lahko potekota neodvisno drug od drugega. Posebni registri ali pomnilniike lokacije hranijo vsokokrotno naslednjo adreso informacije, ki se zapisuje ali čita Iz vmesnika. Podobno lahko Izhodne prekinitvene rutine čitajo pomniški vmesnik neodvisno od glavnega programa, kadorkoll je tudi Izhodna napravo pripravljena rw takšno opravilo.

Sposobnosti progromskih prekinitev so pri posameznih mikro procesorjih zelo različne. Pri INTEL 8008 in 8080 je potreben dodaten, zunanji hardware, ki omogoča INT. Dosi obstoja poseben prekinitveni vhod, ki se v primeru uporabe po stanju HALT ponovno rejtovriro, ne omogoča programsko prekinitev v pravem pomenu besede. Med stanjem, ki je določeno s tem vhodom, namreč ni možno nikakršno procesiranje. Resnični INT generiramo pri INT£L-ovem procesorju no tak način, da nojpreje sinhroniziramo signal zahteve zo prekinitev oziroma z uro procesorja tako, do je prekinitev možna le ob pravem času. Pri naslednjem dostavnem ciklu instrukcije onemogočimo delovanje pomnilnika in pošljemo no podatkovno vodilo instrukcijo RESTART (00AAA101). To vstavi (push) trenutno vsebino programskega števniko v sklad in preide no tekočo prekinitveno adreso: AAAOOO . Dočim mora biti INT pri 8008 omogočen od zunaj z INTEN (interrupt enable), je le-to v 8080 že vključen. Za prioritetne prekinitvene verige, posomezne dvojčke, ki omogočo{0 INT In za identifikacijo vira prioritetnih prekinitev moramo poskrbeti preko I/O kanala od zunaj. V prekinitvenih sposobnostih je INTEL 8008 popolnomo omejen, soj ne omogoča shranitev in ponovno restovrironje zaznambnih bitov (zastavic). INTEL 8080 po ie razpologa z instrukcijomi PUSH A In POPA, skupaj z instrukcijami za manipuliranje z zastavicami.

IMP-16C ima večje prekinitvene sposobnosti. Te dosega z ovtomotičnim vstovljanjem vsebine programskego števniko v sklad, rozvejonjem no lokacijo 1 in preprečevanjem ponovnega INT, ko je le-ta ie prisoten. ìesfnajst statusnih zastavic (ki se lahko avtomatično vstavljajo in odvzemajo iz sklada) je namenjenih za to, do omogočijo programsko prekinitev (ali drugo opravilo za bitni Izhod). Tudi v tem primeru se mora preko I/O kanalov Identifici roti napravo, ki povzroči INT, pri pogoju, da zahtevek po prekinitvi Izvira od ene some noprove. instrukcija RETURN FORM INTERRUPT prepiše povratno adreso (In kontrolno polje) iz sklada v programski itevnik in om^oči prekinitve ovtomatično.

Večji računalniki uporabljajo načine, ki Je povečujejo učinkovitost obravnavanja prekinitev. Dosežejo jo z rabo in-strukcij, ki omogočajo avtomatično razvejltev no rozlične lokacije. Te lokacije zavise od posameznih naprav, ki povzroče INT. Včosih uporobljojo tudi posebne instrukcije, kl ihro-nijo ter no to način rešijo In ponovno restavrirajo stanja vieh pomembnih registrov. Nastopojo primeri, ko lahko postone prekinitveni čos ( Interrupt response time ) kritičen, ker morojo biti nekatere naprave'dovolj hitro servisirane (na primer, sprejeti podatke) zo tem, ko povzroče INT. Tako je pri nekoterih mikroprocesorjih čos, ki go porabijo za iskanje preklnltvenega vira In reievanja «tanj posameznih registrov 20 nekotere vhodno-izhodne rvaprove ie vodno prevelik.

V naiem primeru pripada k perifernim napravam prvega tipa kaseta (ali disk ). Ta p'redstovlja dodatni, masovni pomnilnik k tako Imenovanem delovnem pomnilniku mIkro računalnika. Slednji je sestavljen Iz petih strani pomnilnika RAM, ki sestovljd vmesnik krmiljenega objekta. Zoto bomo nadalje govorili o petih delovnih pomnilnikih, ki lahko istočasno hranijo podatke o petih izhodih objekta. PodotkI o časih tn in tp teh delovnih strani so shranjeni v posebnih registrih, medtem ko so na magnetnem traku pridruženi ostalim podatkom posameznih Izhodov. Komuniciranje mikro računalnika s periferno napravo takinego lipo je običajno realizirano s programsko prekinitvijo. To je po- • drobneje obravnavano no primeru v delu [11.

Periferne naprave tipa 2 so prikozovolniki. To so lohko signalne lučke, svetleče diode ali katodno cev. K takinim napravam prištevamo tudi dojolnike zvočnih signolov. Prikazovalne naprave krmilimo preko vmesnikov. Bistveni elementi le-teh so pomnilniki, preko katerih aktiviramo svetlobni ali zvočni signal z mikro računalnikom. Na enak no-člh ga tudi prekinemo. Med drugim so prikazovalniki pogosto pomožni elementi ukoznego delo. Take uporabljamo tudi v rašem primeru In jih bomo podrobno opisali v naslednjem poglavju.

Naprave tipa 3 so vhodne naprave, ki so namenjene ročnemu krmiljenju sistema. Te predstavljajo ukazni del naprave in jih sestavljajo tipke, stikalo in potenciometrl. Organizacija komuniciranja teh noprov z mikro račurxjlnikom je lahko preprosta s testiranjem posebnih dvojčkov (skip Flipflop) oli s programsko prekinitvijo. V naslednjem poglavju se bomo srečali s preprostejšo organizacijo ukazne enote, kakršno je uporabljena v našem primeru.

4. ORGANIZACIJA NAPRAVE

Opisali bomo organizacijo enot mikro računalnika In perifernih naprav. Med prvimi bomo obravnavali centralno procesno enoto, krmilni pomnilnik in krmilnik vhodno-izhodnih enot, ojočevolnik izhodnih In multipleks vhodnih vodil, pomnilnika tipa PROM in RAM, adresno, dvosmerno izhodno vodilo ter podatkovno vodilo pomniIniko. Med drugimi enotami po bomo obravnavoli ukozno enoto s prikazovalniki, masovni pomnilnik In krmiljeni objekt .

4.1. Mikro računolnik INTEL 8080

Računalnik sestavlja pet enot:

1. Centralna procesna enoto (CPU) je osembitni paralelni procesor s šestimi 8-bitnimi delovnimi registri: 8(0-7), C(0-7), D(0-7), E(0-7), H(0-7), L(0-7), 8-bitnim akumulotorjem A(0-7) In 16-bitnim kozolcem SP(0-15) vrha sklada. Poleg teh Imamo še ukazni register UR(0-7), programski števnik PC(0-15) ter adresni AR(0-Ì5) In podotkovni register PRP(0-7). Poleg večbitnih registrov Imamo Se enobitne registre zastavic prenoso CARRY (ali krajše CY), ničle ZERO In parnosti PARITY. Med temi registri lahko definiramo še podregister AR(SP) = AR(0-7) adrese zlogov in register AR(ZG) => AR(0-15) adrese strani. Stik registrov B in C je delovni register BC(0-15) °

= B-C, ki je tudi register zo naslavljanje. Podobno sto definirano tudi registra DE In HL, medtem ko slednji.rabi tudi za seštevanje.

Centralno enoto krmili dvofazna uro « frekvenco 2 MHz. Povprečni čas, v koterem te Izvrii en ukaz, |e od 5,5 ^sek do 7 ^sek.

2. Krmilnik pomnilnika In vhodno-izhodnih «not vsebuje dvofazno uro frekvence 2MHz In pomnilnik.

ki hrani informacije o shinju centralne enote. Ta informacija določa, kaferi podatki se vnesejo v CPU, oziroma, če |e CPU izvor podatkov, kam se le-tl prenesejo. V krmilnem delu je Se logično vezje, ki vsklajuje hitrost CPU s hitrostjo pomnilnika in hitrostjo vmesnikov zunanjih enot.

3. Ojačevalnik izhodnih vodil in multipleks vhodnih vodil . Multipleks vhodnih vodil prepuSča podatke v CPU iz zunanjih enot oli iz pomnilnika.

4. Pomnilnik tipa PROM je M(AR) = M(0-17377(8), 0-7), torej kapacitete 4K osembitnih zlogov. Vonj se vpi^e program.

5. Pomnilnik tipa RAM je M(AR) = M(20 000 -27 377(8), i® kapacitete 1K osembitnih zlogov. Vonj se vpisujejo podatki, ki se med izvajanjem programa spreminjajo.

Povezave med temi elementi podajo slika 3.

Slika 3.

Vodila, ki povezujejo računalniške enote so:

1. Adresno vodilo, ki ima 16 bitov. Izvira iz AR v centralni enoti. Običajno se po tem vodilu pri pomnilniških ukazih prenašajo adrese posameznih zlogov, pri vhodno-iz-hodnih ukazih pa adrese, ki pripadajo vhodnim oziroma izhodnim enotam.

2. Dvosmerno vodilo centralne enote prenaša podatke iz CPU no izhodna vodila in podatke iz vhodnega vodila ali vodila pomnilnika v CPU.

3. Izhodno vodilo prenaša podatke iz centralne enote

v pomnilnik in v izhodne enote. Po njem se prenaša tudi podatek o stanju centralne enote v register krmilnika.

4. Podotkovno vodilo pomnilnika prenaša podatke iz pomnilniške lokacije, katere adresa se nahojo na adres-nem vodilu, v CPU.

5. Vhodno vodilo prenaša podatke iz vhodnih enot v CPU.

4.2. Periferne naprave

Poleg ukazne enote s prikazovalniki in mosovnego pomnilnika lahko med periferne naprave prištevamo tudi krmiljeni objekt. Slednjemu smo posvetili že nekaj pozornosti. Na tem mestu

bomo dodali le Se nekotere nadrobnosti, ki ss nanoiajo na vmesnik krmiljenego objekta. Te to {« posebej pomembne za razumevanje časovnega generatorja.

1. Vmesnik krmiljenega objekta sestavlja pet delovnih strani: DSi{PAR) = DSiCóiOOOm - 6i 377(8), 0-7), kjer je i€ {!,...,5} in PAR = PAR(0-!S) = P -AR(ZG), adresni register petih delovnih strani. V registru P je spodnji, v registru AR(ZG) po gornji del adrese. Delovne strani se razlikujejo od strani računalniškega pomnilnika po tem, do so izhodi delovnih strani vezani le no digitalno-anologni pretvornik (DAP). Zaradi tega je možno v delovni strani podatke le vpisovati, čitati po jih ni mogoče. Vsoki od prvih štirih strani pripada po en potenciometer. Poleg teh potenciometrov XI, X2, X3 in X4 obstaja še glavni potenciometer Z, ki paralelno napaja vse štiri potenciometre. Delovnim stranem pripadajoči potenciometri rabijo za prehajanje izhoda krmiljenega objekta iz enega stanja v drugo, medtem ko omogoča potenciometer Z nastavljanje posameznih analognih izhodov izhodnega stanja objekta. Vsi našteti potenciometri imajo servosistem. Vmesnik vsebuje poleg že omenjenih petih digitalno-onalognih pretvornikov Se enoto za onalogno množenje in seštevanje, multipleksor in dva demultipleksorja. Ker te enote nimajo pomembnejše vloge pri generiranju časovne funkcije, nadolje ne bodo deležni noše pozornosti.

2. Masovni pomnilnik je lohko različnega tipa. Izbira zavisi od zahtev krmiljenega objekta. V našem primeru je uporabljen magnetni trak - kaseto, ki ustreza po ceni, hitrosti In zanesljivosti. Problemi komuniciranja te naprave z mikro procesorjem, ki zajemajo zlasti probleme kasetnega vmesnika in vključevanja kasetnih progromov v glavni program, so bile že podrobneje opisani v delu

3. Ukazno enoto sestavljajo stikalo, signalne lučke in prikazovalniki. Prikazovalniki so običajno kotodne cevi ali polvodniške svetleče diode. V naši napravi so uporabljene slednje z dekoderjem (HP-5082-7300).

Poltg stikalo POWER (ON, OFF) z dvema položojemo za vklop in izklop naprave nahajamo tipko kot enopoložajno stikalo za generiranje Impulza, ki postavi programski Stev-nik v začetno stanje O, in pol jo stikal, s katerimi določamo posamezno opravila.

Polje stikal lahko zapišemo kot stik stikol. Eno tokSnih polj je stik:

Casswitch, SSS(AV,R,0-4) = SSZ-SSX1-SSX2 -55X3-55X4

5tikalo 5SX podoja stanje potenciometra servosistema X, ki pripada X-ti delovni stroni.

Polje numeričnih tipk NT sestavljojo tipke, s katerim zopi-Semo v prikozovalnik PNT numeričnih tipk števila od 0-9:

Cossvvitch, POLNT(ON,0-9) = NTl -NT2-NT3-NT4-^,T5-

-NT6 - NT7 - NT8 - NT9

Stanje tipk enego polja lohko dobimo v akumulator z enim ukazom. Zato pravimo, da tvorijo takšne tipke polje tipk, ki ga določimo kot stik. Naj omenimo še nekatero tokšna poljo:

Casswitch, POLB(ON,0-6) = SCN-ŽAR - TN-TP - BNT--SSCN-BFT

Polje tipk B tvorijo torej tipke: 5CN(ON), preko kate,o zahtevamo vnoSonje izhoda iz perifernega (masovnega ) pomnilnika v mikro računalnik in pove, do je število v PNT Številko izhodnega stanja, ki ga želimo. S tipko ŽAR(ON) zahtevamo nastavljanje analognego izhoda, katerega številko je zapisano v PNT. TN(ON) oziromo TP(ON) pove, da je Število v PNT čas naroSčanja oziroma padanja. BNT(ON) zbriše število PNT, BFT(ON) pa vse funkcijske tipke. SSCN(ON) pa zahteva vnaSonje izhodnega stanja objekta.

Številko tega itonja |e v PNT in se zapiše v delovno »tran DS5.

Couwitch, POLD(ON,0-5) = CRS-ZPl-ZP2-ZP3-ZP4-BS

CRS(ON) zahtevo ilmetričen prehod, medtem ko zahtevalo (tikalo ZP(ON) prohod no izhodno stanje objekta, ki je zapisano v določeni delovni strani DSl do DS4. No tipko BS(ON) pritisnemo, kadar hočemo sprostiti eno od DS za vnoionje novega izhoda.

Poleg omenjenih polj imamo ie polja tipk PPl(ON) do PP5(ON), ki odresirajo ustrezne delovne strani. V posebna polja so vključene tudi tipke drugih opravil, ki jih v članku ne bomo obrovnavoli. To opravilo namreč ne dotikajo problematike, kateri je članek posvečen, ali pa so bilo že obravnavana v delu 111 . Omenim noj le 5e tipko IZV(ON), ki zahteva izvršitev opravilo, ki |e določeno s poprej priti-snjenimi tipkomi.

Večini zgoraj opisanih tipk pripadajo ustrezne signalne lučke. Tako pripišemo polju B funkcijskih tipk polje signalnih lučk LUCB :

Coslight, LUCB(ON,OFF,0-4) = LSCN - LŽAR - UN - LTP -,

- LSSCN-

Za lučke enega polja je značilno, da so pri prižiganju (npr. LTN(ON) in ugašanju (npr. LTN(OFF) dostopne vse hkrati.

Prikazovalnik popišemo kot stik signalnih lučk z devetimi različnimi signoli:

Coslight, PNT(0,1,2,3,4,5,6,7,8,9, 0-2)

PNT je torej stik treh devetjignolnih lučk za vpis tromestne-ga število. Delovnim stranem DSl do DS4 pripadajo vsoki po dva prikazovalnika. Zoto jih popišemo kot dve polji, katerih elementi so razvrstitve prikazovalnikov.

Array - Coslight, PTDS( 0,1,2,3,4,5,6,7, 8,9,0-2, 0-3)

Stavek popisuje polje, ki ga tvorijo štirje prikazovalniki, komor vpisujemo čose prehodov izhodnih stanj, zapisane v pripadajoči delovni strani.

Array - Coslight, PSSDS (0,1,2,3,4,5,6,7,8,9,0-2,0-3)

To je polje, kamor vpisujemo številko izhodnega stanja, ki je trenutno zapisano v pripodojoči delovni strani.

4.3. Nekatere povezave med elementi sistema

Vsakemu polju tipk, ki ima nojveč sedem tipk, pripado en enobitni register. Imenovali ga bomo SKIPpl, kjer je pl oznako polja (B,C,...). Ta dvojček zasedo osmi bit zloga. Vsakemu polju pripodo ustrezno polje signalnih lučk, polju numeričnlh tipk po tromestni, desehrednostni prikozovolnik za vsako številčno mesto.

sukala, tignalne lučke, prikazovalniki in ADP >o povezan! z akumulatorjem preko vhodnih in izhodnih vodil podatkov. Prenos Iz vhodne enote preko vhodnega vodilo v akumulator dosežemo z ukazom INPo, kjer je o adreso vhodne enote, ki se vstavi v AR. Pri tem ukazu se pojavi signal INP = 1 . Prenos iz okumulatorjo do Izhodne enote se Izvrši z ukazom OUTo, kjer je o adreso izhodne enote, ki se pojavi v AR. Pri tem ukozu le generira tignai OUT = 1. Te prenose opisujejo sledeči stovki:

IF(INP=t AND AR(0-7) = 25(8) THEN(IF(POLB(l) = ON) THEN(A(I) -1) ELSE(A(I)- 0)), A(7) ► SKIPB) ,

kjer je 25(8 adreso polja B in 1=0,1,...,6. Na enak način se z nas ovijanjem drugih polj prenesejo stanja ostalih tipk. V AR(8-15) je pri INP in OUT okozih enako vsebina kot v AR(0-7).

Ker so vhodi v prikozovolnike kodirani v BCD kodu, se stanje tipk numerične tastature prenaša v akumulator takole:

IF(INP = 1 AND AR(0-7) = 20(8)) THEN(IF(PLNT(I) = ON) THEN(A(0-3)-l(2), A(4-7)-0) ELSE(A(I)- 0)), A(7)- SKIPNT),

kjer je 20(0) adresa polja NT in I(10) = 0,1,...,9.

Stanje stikal ser/osistemov v akumulator preko dekoderja poteka takole:

IF(INP = 1 AND AR(0-7) = 61 (8))THEN(IF(SSX(I) = AV) THEN(A(I)- 1) ELSE(A(I) -0)), A(5-7)- 0) ,

kjer je l = Z,l,2,3,4 in 61(8) odreso polja stikal servo-sistemov.

Brisanje enobitnih registrov SKIPpl dosežemo z ukazi OUT. Na primer za SKIPNT z adreso 21(8) velja:

IF(0UT = 1 AND AR(0-7) = 21 (8) THEN(SKIPNT - 0).

Lučke v tipkah prižigomo in ugašamo tako, da vsebino akumulatorja prenesemo preko vodil izhodnih podatkov do pomnilnika lučk. Sledeči stavek opisuje prižiganje in ugošonje stika lučk LUCB.

IF(OUT=l AND AR(0-7) = 27(8)) THEN(IF(A(I) = 1) THEN(LUCB(J) - ON) ELSE(LUCB(J ) - OFF)).

kjer je (l,J)= (0,0), (1,1), (2,2), (3,3), (5,4) In vred-, nost poro (I,J) zavisi od razmestitve tipk in njim ustreznih lučk po bitih.

Kot primer zapisovanja v prikazovalnik vzemimo prikazovalnik enic numeričnih tipk, ki ima odreso 22(8).

IF(OUT=l AND AR(0-7) = 22(8))THEN(PNT(0) - A(0-3))

Analogno velja za ostale prikazovalnike. Pri tem upoštevamo, da podregistor A(0-3) hrani enice, A(4-7) desetica, pod-register A(0-3) naslednjega zloga po stotice. Pri prikozovol--niku čoso so v prvem zlogu zakodirone sekunde, v drugem zlogu na pn/ih štirih bitih po minute.

5. IZRAČUN ČASOVNE FUNKCIJE

Časovni generator generira binarno zokodirone amplitude do vnaprej predpisane vrednosti Z, kot lineorne funkcije čoso. Avtomatsko prehajanje izhoda krmiljenega objekta iz enego stanja v drugo je izvedeno tako, do se pri naraščanju po-tenciometrov v "enakih" časovnih intervalih At prišteva k vsebini lokacije, ki krmili seri^osistem potenciometra, prirastek Ap. To trojo, dokler vsebino lokacije ne doseže vrednost potenciometro Z. Pri tem doseže krmiljeni potenciome-ter skrajno zgornjo lego. Kadar vrednost potenciometro poda, je postopek enak, le da se A p odšteva od vsebine lokacije, dokler nI njeno vrednost nič. No to način je realizirano stopničosto funkcija, ki je približek linearne funkcije. Čas prehajanja je določen s časom naraščanja pri noroščanju scene in s čosom padanja pri upadanju scene. Časovni Interval, v koferem se izvrši eno prištevanje oziroma odštevanje, je enok povprečnemu času, v katerem se enkrat Izvede program ZANK. Ta znaša približno 20msek. Prirastek Ap izračuna podprogram CZP pred začetkom prehoda na sledeči način:

(1,2)

p = At , oziroma p = At , In tp '

če gre za naraščanje oziromo padanje potenciometro (si .4). Čosa tn in tp določa operater. Podatka vnese za vsak Izhod posebej preko tostolure ukaznega delo sistema. Ko CZP izračuna Ap uredi še spremenljivko M(20117^8)' 0-7) = ZP(0-7). Posamezni biti v ZP(l-4) pripodo jo zopore-domo potenciometromo XI, .. .,X4. V tiste bite v ZP(l-4), ki pripadajo potenciometrom, zo kotere je CZP Izročunola Ap,se zapišejo enice. Prehajanje potenciometrov po krmili rutina TSCG.

Kadar hoče operater izvesti simetričen prehod dveh potencio-metrov (eden narašča, drugi upada in je tn = tp), potem pritisne tipko CRS in še tisti dve tipki Izmed ZP1,...,ZP4, ki pripadata omenjenima potenciometromo. S tipko IZV te spro-

/

/

\

At

At

----te

1 —^

t

Slika 4.

ii IZS in s ^em CZP. Ta ugotovi, da je bila pritisniena Kpka CRS, zato pregleda, kateri dve tipki izmed ZP1,...,ZP4 5ta bili pritisnjeni in lego obeh pripadajočih pofenciometrov. Pri fem moro biti eden v skrajni zgornji, drugi pa v skrajni spodnji legi. CZP iz časa naraSčanja, ki pripada potenciometru v spodnji legi, izračuna Ap. Za tolikšno vrednost po vsakim At lega potenciometra korakoma, narašča, drugega pa pada. CZP nato postavi še ustrezne bite v ZP(l-4) no 1. INIT nastavi no začetku ZP = 0.

5.1. Podprogrami za generiranje časovne funkcije

Algoritem je osnovan na enačbah 1 in 2. Realiziran je s programom CZP, ki uporablja pri izračunu p podprograma za deljenje in množenje. Podprogram DELI deli vsebino no lokaciji Z z vsebino registrov HL. Registra DE hranita deljitelja, HL deljenco, BC po delne kvociente. Lokacijo SK rabi kot števnik pomikov deljenca, CK pa kot števnik celih mest kvo-cienta. Rezultat se nahaja: v A celi del, ki se prepiše iz pomožnega registra ZAC, v HL pa ulomljeni del kvocienta, ki se prepiše iz BC. Podprogram DELI poteka po diagramu na sliki 5. Vanj vstopajo rutine INIT, COMP, SLDE, SLBC in SUB. Te so podane na sliki 8. V DELI se rutino C1 izvaja, dokler ni HL monjši od DE, ciki v rutini C02 se izvaja 16-krat, rutina C4 pa 4-krat. Deljenje po programu DELI se no mikro procesorju INTEL 8080 Izvrši v 5 do 8 nsek.

40

Rutina COMP primerja vsebini registrov HL in DE. Če je vsebina v HL manjšo od vsebine v DE, potem postavi zastavico CARRY. Rutina SLBC pomakne vsebino v BC za en bit v levo. No najnižji bit ( najbolj desni bit) zavzame vrednost O, najvišji bit po se pomakne v CARRY. Rutino SCDE

DE

«-♦ HL

HL

ihl HL

DE

«-♦ HL

o <6

CARBY*-1

rc

M

©

SKLAD Ht HL - BC

CAHRV-HL iM CAHHY-HL BC ML HL - SKLAD

Slika 6.

C ■«- CU

K NE J

CAL SUS

CAL SLBC HL<-ilil HL SK -^SK-l

^ZERRO-

ŽA^ CK ■ O y:

A ■«-ZAC CAL SLBC

CARRY-A ■•— eli CARRY-A CK CK - 1

A «-ZAC HL - BC

Slika 5.

-b^ck. 0 y

h-e

pomakne vsebino v DE za en bit v levo. Najnižji bit prevzame O, najvišji po se pomokne v CARRY. Rutina SUB odšteje vsebino v DE od vsebine v HL. Vsebino v DE ostane nespremenjena. Podrutina CDE izračuna k vsebini v DE dvo-|ISk! komplement In ga postavi v DE.

Rutina MNO množi podatek v registru DE s podatkom na lokaciji DT. Rezultat se noračuno v HL. Register C je uporabljen kot števnik pomikov množiteljo. Vanj vstavimo 11. V DE naložimo množenec. Množenje se Izvrši v času ~

676 ;j$ek + 12,5 x število enic množitelja, kar znaša 676 do 776 ^sek.

5.2. Povezava časovnega generotorja z glavnim programom

Glavni program sestavljata dva podprograma INIT In ZANK. Diagram poteka podaja slika 10. Ob vklopu naprave se programski števnik postavi no nič in začne se izvajati podprogram INIT, ki Inicializira napravo. Noto se ciklično izvaja podprogrom ZANK, ki teče, dokler naprave ne izklopimo. Z besedo CAL, kl jI sledi ime podprograma,so označeni klici podprogramov. Povrotek v program iz klicanego podprograma je v podprogramu podan z ukazom RET.

Podprogram INIT vzpostavi začetno stanje naprave. Nojpreje nastovi kazalec sklada. Ker sklod narašča od višje adrese proti nižjim odresam, postov! dno tkioda no nojvlijo loka-cifo: SP 27 377(8)- Nato nasfavi izhodno stanje na vrednost O tako, da vpiše ničle v vse delovne strani, in nastavi lokacije, ki krmilijo servosisteme potenciometrov XI, X2, X3 in X4. INIT nadalje ugasne signalne lučke v tipkalu ukaznega dela, ugasne numerične prikazovalnike, briJe "skip" registre, prečita prve podatke iz masovnega pomnilnika ter nastavi začetno vrednost ?e nekaterim spremenljivkam, ki zasedajo en ali več zlogov v pomnilniku (RAM).

-Nt

Podprogram ZANK na sliki 8b lahko v grobem razdelimo na dva dela. Razmejitev pojasnjuje sliko 9. Podprogram OSNC krmili Izhod 1 s tem, da donaiSa in obnavlja podatke o izhodnem stanju v analognem pomnilniku. To obnavljanje se mora ponoviti najkasneje v 20 msek.

CAL OSNC -

CAL OPR 1

T

CAL TSCG

ZI

CAHHY

Sliko 9.

OPERATER

O

S >

M 1

NAPRAVA ZA KRMIUENJE

i

ANALOGNI ' POMNILNIK

IZHOD

CAL IZS

T

24B lihodtilh iponk

Slika 8.b

OSNC troja 10 msek, zato imajo preostali podprogrami v ZANK največ 10 msek časo za svoje izvajanje. Potem moro ponovno priti no vrjto OSNC. Ti preoostall podprogrami tvorijo drugi del ZANK, ki uravnava komuniciranje z operaterjem. Od operaterja «prejme ukaze (VHOD), jih rozpoznovo, Izvriluje/ter jovljo svoje stanje operaterju (IZHOD 2). Med podprograme opravil OPRI do OPRn štejemo npr. podprogrom.

ki pregleduje stanje servoslstemov in opravi dela v zvezi s potenciometri, podprogram, k! omogoča nastavljanje posameznih analognih izhodov, ter tiste, ki skrbe za komuniciranje z masovnim pomnilnikom (npr. kaseto, diskom, ipd.). Operater daje napravi ukaze tako, da pritisne določeno kombinacijo tipk na ukaznem delu. Ukoz zaključi s pritiskom na tipko IZV, ki pove, naj se opravilo, ki ga zahteva kombinacijo tipk, iz-vrli. Podprogram BCDE pregleduje polja tipk ukaznega dela in si zapomni pritisnjeno kombinacijo. Ob pritisku na tipko IZV postovi O v CARRY, s čemer sproži izvajanje podprograma IZŠ. IZŠ prevzame kombinocijo tipk, ki jo shrani podprogram BCDE, ugotovi kakšno opravilo je zahtevano Inga izvrši. Postavi po tudi ustrezen signol, če se opravilo izvaja dlje časa. Eno tokih opravil, ki trajajo dlje časa je komuniciranje s počosnimi perifernimi naprovomi - masovnimi pomnilniki, drugo tokšno opravilo po je avtomatski prehod potencio-metrov. TSCG pregleduje, če je prisoten signal (postavi ga IZŠ), ki zohteva prehod potenciometro. Če najde tak signal, izračuna novo lego pripodojočego potenciometro in jo javi servosistemu. Med izvajanjem takšnih počasnih opravil se podprogram ZANK večkrat izvaja.

OSNC obnovijo podotke o izhodih tako, do postavlja ciklično v register P adrese analognih Izhodov med O in 245. Adreso posameznega izhoda moro biti prisotno v registru P vsaj 40jjsek, da se lahko obnovi analogni pomnilnik. To dosežemo z zakasnitvijo, pri kateri računalnik izvaja ukaz NOP. Diagram poteka kaže slika 10.

Podprogram BCDE sestavljajo podprogrami PLB, PLC, ..., od katerih vsak ustreza določenemu polju tipk (B,C,itd.). Ti podprogrami pregledujejo polja tipk POLB, POLC,... in ugotavljajo, če je v pregledovanem polju pritisnjeno katero od tipk, potem postavijo 1 v CARRY, sicer pa O v CARRY, in skočijo iz podprograma BCDE. Vonj se vračajo v naslednji zanki, če je CARRY = 1 . Na ta način se v enem ciklu lahko obdelo največ ena pritisnjeno tipko. Tipko IZV postovi O v CARRY.

Med podprogrami programa BCDE noj omenim le podprogram PLB, ki urejuje poleg tipk POLB tudi tipke numerične tastature PLNT in pripadajoči prikozovalriik PNT. Tipke SCN, ŽAR, TN, TP in SSCN določajo namen numerične tostature. Toko pomeni število PNT: številko Izhodnega stanja, če gori lučko v tipki SCN, številko posameznega onolognego izhoda, če gori lučko v tipki ŽAR, ter čas naraščanja oziroma po-danjo, če gori lučka v tipki TN oziroma TP. Številka v PNT pomeni številko Izhodnega stanja objekto tudi v primeru, ko gori lučka v tipki SSCN. Omenjene tipke se med seboj izključujejo, kar pomeni, da lahko gori vedno le ena od signalnih lučk, ki pripada tem tipkam In to tista, ki je bilo zodnja pritisnjeno. Ta funkcijska tipko tudi določo namen numerične tostature. NumeriŽno tastaturo in prikazovalnik urejamo le, kadar je določen namen numerične tostature.

P

268

-

1 '

♦-P-1

J

ZAKASNITEV

ZIZT

^ p.o Vi

GH

0i.

Slika 10.

Tedaj te ilevllo, ki je odtipkano na njej^vpiSe v prikazovalnik In v pomnilnijko lokacijo, ki je prirejena funkcijikl Hpki. Omenjeno lokacijo Imenujemo tudi register tipke. TI registri le brišejo t podprogramom INIT.

Vtak podprogram v IZŠ pripada enemu od opravil, ki jih zahteva operater. Med te podprograme sto vključena tudi podprograma CZP in TNTP, ki »to tesno povezana z generiranjem časovne funkcije. Vsak od podprogramov v IZS najprej preveri, če kombinacijo tipk zahtevo opravilo, kateremu podprogram pripada. Če kombinacijo razpozna, opravilo IzvrjI In pred vrnitvijo v GP zapiSe ničle v spremenljivke. Iz katerih je razbral kombinacijo tipk, ugasne lučke v odgovarjajočih tipkah, CARRY pa postavi v 1.

Podprogram KZAS pogleda v posebnem registru SKAS, če je vhodno-Izhodna naprava zasedeno s kakSnIm opravilom. Če je, izvrši CARRY - 1, sicer po CARRY «- O in se vrne. V primeru zasedenosti rioprove IZŠ Ignorira zahteve za delo z njo In preskoči programe PVI. Dlagrom poteka IZŠ kaže sliko 11.

€h

pNL/cARHV - o Vi»

'

CAL . . .

0

Slika II.

Podprogram TNTP preveri, ali hoče operater predpisati čas noroičanja ali čas podonja Izhodo, koterego podatki se no-hojajo v eni od delovnih strani. Operater postovi to zahtevo toko, do pritisne tipko TN oli TP, noto odtipka čas prehoda no numerični tastaturi. S pritiskom no eno od tipk PP1,..., PP5 pove, kateri strani noj pripadajo podatki o Izhodu, k! določajo čos naraičonjo oil čas padanja Izhoda. S pritiskom na tlpl<o IZV »e sproti IZŠ in i tem TNTP. To rozpozno pri-tisnjeno kombinacijo tipk In zaplie čas v ustrezen prikazovalnik, ki pripada izbrani delovni strani.

Diagram poteka TSCG prikozuje sliko 12. TSCG najpreje z ukazom' INP61^g^ prenese stanje potenclometrov v A. Če je stanje opazovanega potenclometra ročno, TSCG pregleda naslednji potenclometer, sicer pa pogleda, če je postavljena zahtevo za avtomatski prehod potenciometro. To pove ustrezni bit v registru ZP (zlog v pomnilniku RAM). Pri ovtomot-skem prehodu pove ustrezen bit v registru SPR (posebni lokaciji v RAM), če je potrebno noralčanje ali podanje Izhoda. Temu ustrezno TSCG pokliče podprogram TNR ali TPR.

TNR izvaja naroičonje tako, da priiteje ^p k vsebini lokacije, ki krmili servoslstem opazovanega potenclometra. Na

42

-1 ysi

CAL TNR

CARRY.

I CAL KONC I*

r<

1

—KD

Sliko 12.

enak način Izvaja TPR padanje tako, do odšteva Ap. Oba podprograma pregledujeta, če je prehod končan (potenclometer ja v eni od skrajnih leg). Če je, javita to toko, da izvršita CARRY - 1. To pa sproii podprogrom KONC, ki ob končanem prehodu potenclometra postavi ustrezni bit v ZP na 0. KONC postavi še 1 v določeni bit registra SPR, če je potenclometer dosegel skrojno zgornjo lego, oziroma O, če je dosegel skrajno spodnjo lego. Podprogram TSCG »e vrne v GP, ko pregleda vse potenciometre. V diagramu poteka je z I oznočen indeks, ki ga hranimo v registru C.

6. ZAKLJUČEK

Programiranje opisanega primero krmiljenega objekta v realnem času je potekalo v zbirnem jeziku rio mlkra računalniku INTEL 8080. Pri testiranju sto bilo uporabljena dva ročunol-nlka. Prvi,.ki je bil kasneje vgrajen v vmesnik krmiljenega objekta, je Imel priključeno kot vhodno-Izhodno enoto ukazni del noprove (funkcijske tipke In numerično tastaturo). DrugI mikro računalnik po je imel kot vhodno-izhodni enoti priključen tiskalnik z luknjačem TELETYPE ASR 33 in kaseto MFE 250. To je omogočalo hitrejše vnošonje programov, zbirnike In ODT programov. Vnašanje le-teh preko čitolniko tro-ku ASR 33 je namreč mnogo počasnejše, ne le zarodi čitolniko samega, ompok tudi zaradi zbirnika, ki je tro-prehoden in zahtevo trikratno čitanje. (Vogromiranje bi bilo ie hitrejše z rabo kritnega zbirnika.

Grodnjo olgorltmokrmiljenja objekta je potekalo z novzdol-njlm razvijanjem programa, kar omogoča dober pregled nad celotnim sistemom. Pri tem so bilo predvsem no zgornjih nivojih v veliki meri upoitevona pravila strukturiranega programiranja. Toko programiranje in navzdolnjl razvoj programa sto omogočala enostavno preizkušanje in povezovanje enot, ki tvorijo program.

Univerzalni mikro računalnik INTEL 8080 la je Izkazal kot primaren za reševanje zgoraj opisanih nalog. Tam, kjer ja proces dovolj počasen, je bil uporabljen način ugotavljanja sprememb s cikličnim odtlpovonjem. Programsko prekinitev, ki jo 8080 omogoča, jo bila uporabljena le pri komuniciranju s kaseto.

7. LITERATURA

fi] B.Mihovllovlč, R.Murn, T.PIsonskl, Z.MIlavc, P.Kolbazan, Komuniciranje mikro računalnika s kaseto v raalnam času. Zbornik rodova Juremo 1977, svezak II, Zagreb, 1977. (2) J.Polajnor, Krmiljenje objekta z mikro računalnikom v realnem času. Diplomsko delo, FE v Ljubljani, 1976.

1 -

• 1

1 -

• 1

i

1 INP 61

-o

CAL TPR -

>

©

Informatica št. 2 letnik 1977

43

a prognamming system for editing annotated bibliographies

j. j. dujmović

University of BeUjrade, Dept. of Eelectrical Engineering 11000 Beograd

UDK 6H1.3.06:[02 + 002]

abstract, a programming system for editing, classifying ano printing of simple or annotated bibliographies and similar texts is presented. the system is primarily designed for the individual use by researchers and is simple for manipulation. it can be used in the following applications -m editing and printing general purpose texts, 12) producing lists of references to be published at the eno of papfrs, (3( producing annotated bibliographies, and («) producing classified bibliographies. all fortran programs and the corresponding user manual are included in the paper.

programski sistem za eoitiranje komentar i san ih bibliografija. u radu je prikazan programski sistem za eoitiranje. klasifikaciju I štampanje prostih ili komentarisan1h bibliografija 1 sličnih tekstova, sistem je prvenstveno PREDVIDJEN za INDIVlDyALNO koriščenje OD STRANE ISTRAŽIVAČA i jednostavan je za rukovanje. MOEe se koristiti u sledečim primenama - (D eoitiranje i štampanje proizvoljnih tekstova. (2) formiranje lista referenci za publikovanje na krajevima radova, 13) realizacija komentar i san i h bibliografija i (4) realizacija klas i f i kovan ih bibliografija. u radu su priloženi svi potrebni fortran programi i odgovarajući priručnu za korisnika,

INTRODUCTION

bibliographic research is regularly an importamt part of fach research effort. during research in some field, researchers often maintain and update comprehensive lists of references, in a number of cases it is

NECFS5ARY TO SUPPLY REFERENCES WITH ABSTRACTS AND/OR COMMENTS. MOREOVER, SOMETIMES IT IS ESSENTIAL TO CLUSTER BIBLIOGRAPHIC ENTRIES FORMlNr, CLASSES OF RELATED ITEMS, AND TO PROVIDE THE POSSIBILITY FOR AN ITEM TO BELONG SIMULTANEOUSLY TO SEVERAL CLASSES. THE AUTOMATIZATION OF THESE ACTIVITIES IS DOUBTLESSLY AN USEFUL AND TIME-SAVING JOB.

C

the basic problem associated with the realization of bibliographic data base systems designed for personal use, is to properly measure out the degree of sophistication of such systems considerring both the scope and complexity. systems for personal use differ considerably from the systems designed for public use (e.g. library information retrieval systems etc.), since the later are as a rule very sophisticated. all experiences with bibliographic systems for personal use showed that the essential prereüuisite for the applicability of such systems is to keep them simple, POTH for understanding and use.

THF system presented in this paper is partially related to systems describfd in references 1,

2» AND 3. IT IS DESIGNED IN VIEW OF THE FACT THAT IN A RELATIVELY NARROW FIELD OF RESEARCH, A RESEARCHER DOES NOT NEED MORE THAN SEVERAL HUNORErS OF 'ACTIVE' BIBLIOGRAPHIC RCCORDS. BECAUSE OF THE LIMITED NUMBER OF RECORDS AND THE NEED FOR THEIR OFF-LINE ACCESSIBILITY AND READABILITY, IN THIS CASE IT IS CONVENIENT TO KEEP BIBLIOGRAPHIC RECORDS ON PUNCHED CARDS.

ACCORDING TO THE GIVEN SPECIFIC NEEDS, VARIOUS SETS OF RECORDS TAKEN FROM THE BIBLIOGRAPHIC RECORD DATA BASE CAN BE READ, PROCESSED, EDITED, AND PRINTED IN REQUIRED FORM BY A COMPUTER» USING THE 'AB' PROGRAMMING SYSTEM DESCRIBED IN THE SEQUEL.

the 'ab' programming system

ALL TEXTS PRODUCED BY THE 'AB' PROGRAMMING SYSTEM HAVE ADJUSTABLE WIDTH IN ORDER TO FIT THF AVAILABLE SPACE FOR PRINTING, AND ARE BOTH LEFT AND RIGHT JUSTIFIED. BEFORE PROCESSING, THESE TEXTS MUST DF PREPARED ON PUNCHED CARDS IN A NON-EDITED FORM WITH ARBITRARY SPACING BETWEEN WORDS. THEREFORE, THE POSSIBILITIES FOR EASY COMBINING VARIOUS SEGMENTS OF THE TEXT, AND FOR THE TEXT MODIFICATION AND UPDATING ARE SUFFICIENTLY PROVIDED. FOLLOWING ARE THE FOUR BASIC OUTPUTS OF THF 'AB' SYSTEMI

(1) ARBITRARY SEGMENTS OF THE TEXT SEPARATED BY BLANK LINFS. THF PRESENT PAPEii IS AN EXAMPLE OF SUCH A TEXT.

12} LISTS OF REFERENCES, THE USER MUST PREPARE THE DESIRED INPUT SEQUENCE OF REFERENCES ON PUNCHED CARDS. REFERENCES AT THE END OF THIS PAPFR CAN SERVF AS AN EXAMPLE OF SUCH AN OUTPUT,

(J) ANNOTATED BIBLIOGRAPHIES. EACH RECORD IN AN ANNOTATED BIBLIOGRAPHY MAY BE FOLLOWED BY AN ARBITRARY TEXT SERVING USUALLY AS ABSTRACT, COMMfNTc OR CRITICISM. AN EXAMPLE OF ANNOTATED BIBLIOGRAPHY CAN BE FOUND IN REFERENCE 4.

(4) CLASSIFIED BIBLIOGRAPHIES. IF THE USER DEFINES A SET OF CLASSES AND ASSIGNS THE ONF-CHARACTER CLASSIFICATION CODE TO EACH CLASS. IT IS POSSIBLE TO ASSOCIATE THE CORRESPONDING MULTI-CHARACTER RECORD

CLASSIFICATION CODE TO EACH RECORD ACCORDING TO ITS APPURTENANCE TO VARIOUS CLASSES. FOR EACH GIVEN INPUT CLASSIFICATION CODE THE EXISTING RECORDS CAN BE TESTED IN ORDER TO ESTABLISH THE LIST OF RECORDS WHOSE RECORD CLASSIFICATION CODE CONTAINS THE INPUT CLASSIFICATION CODE. AN EXAMPLE OF THE USE OF CLASSIFIED BIBL lOGRAP«.! ES IS PRESENTED IN REFERENCE 4.

c»»* c — c —

c

c —

c c

c — C----

THE 'AR' PROGRAMMING SYSTEM CONSISTS OF FOUR SUBROUTINES I INPUT. REDUC. CODE. AND ROW) AND THF MAIN PROGRAM. SUFFICIENTLY COMMENTED TEXTS OF ALL PROGRAt-'S FOLLOWED BY THE CORRESPONDING USER MANUAL ARE PRESENTED IN THE SEQUEL.

SUBROUT J NE ROW ( L .NL .NCHAR .L1N1 »K . ICENO )

SELECTION OF NCHAR CHARACTERS FROM THE INPUT VECTOR L. STARTING WITH L(LINI). ANO THEIR TRANSFER IN THE OUTPUT VECTOR K . DURING THE TRANSFER BLANKS ARE INSERTED BETWEEN WORDS. SO THAT THE TEXT IN VECTOR K IS BOTH LEFT AND RIGHT JUSTIFIED. AND -^EADY FOR PRINTING. THE LAST NON-BLANK CHARACTER IN VECTOR L IS L(NL). IF THE OUTPUT INDICATOR KEND-l. THEN THE VECTOR K CONTAINS THE LAST SEQUENCE OF CHARACTERS FROM THE VECTOR L (OTHERWISE. )CEND«0). AFTER THE TRANSFER OF CHARACTERS THE POINTER LINI IS AUTOMATICALLY INCREMENTED. INITIALIZATION LlNl-1 MUST BE DONE IN THE PROGRAM WHICH CALLS SUBROUTINE ROW.

DIMENSION LID.KIl) DATA IBL/' '/

IFINCHAR-(NL-LINI + 1I 1 25.5.5

C--- LAST ROW

5 IND-1

DO 10 I«LINI,NL K IIND)»L(I) 10 lND«IND+a

IFI INO-NCHAR> 15.15.20 15 00 19 I»ÌNO.NCHAR

19 K( I l-IBL

20 KEN0"1 RETURN

C— NON-LAST ROW

25 LEND-LINI+NCHAR-1 . IF(L{LEND+1)-IBL) 30.26.30

C--- NO MODIFICATION

26 IND-O

DO 28 I«L1NI.LEND IND"lND+1 28 K(IND)*L(I) GO TO 160

c--- searching the last word in a row

30 do 50 i"l.nchar leno-leno-i

ifil(lend+1i-ibli 50.70.50 50 continue

write(3.60) 60 format(' text lenght error'///) return

c--- nbl ■ number of blanks to he inserted

c--- mbl • number of blanks between words

70 nbl=i mbl-o

do 80 i-lini.uend iftlin-ibl) 80 .75.80 75 mbl-mrl+l 80 continue

numr»nbl/mbl ken0-mbl-nbl»numb«m8L

c--- blanks insertion

jb-0 ink»0

00 150 i-lini.lend if(l(i)-ibl) 90.95.90 90 ink-lnk+1 k(ink)»l(1) go to 150 95 jb-jb+1

if1jb-kend) lOO.lOOtflOb 100 mmm-numb+1 GO tp 106

105 mmm-numb+2

106 do 110 j-l.mmm ink"ink»1

110 k(inki»ibl 150 continue 160 llnl"lendf2 kend-o return end

SUBROUTINE CODE (L tNL ilCODiNKOOi ID)

---DETECTION OF THE TEXT ...............

WITHIN THE NON-EMPTY CHARACTER-VECTOR L — NL " INDEX OF THE LAST NON-BLANK COMPONENT OF VECTOR L

--- KOD " OUTPUT VECTOR CONTAINING THE

CLASSIFICATION CODE A...,,.H

--- NKOD ■ INDEX OF THE LAST NON-BLANK

COMPONENT OF VECTOR KOD -— ID " 1 IF ICODE-A......H) IS THE ONLY

CONTENT OF VECTOR L

---ID • 2 IF .............HI IS PLACED

AFTER SOME TEXT AT THE END OF VECTOR L

--- ID » 3 IF THE TEXT DOES NOT CONTAIN

THE CODE

DIMENSION L(n*K0D(8ltITI6)

DATA IT.IPAR/' ('t'C't'0>»'D't'E'»'«'.'»'/

C --- SEARCHING THE BEGINNING OF VECTOR L

DO 10 1=1.6

IF(L(I)-IT(I I ) 32»10»32 10 CONTINUE NKOD-O

00 20 1-7.14 IF(L(II-IPAR) 15.25.15 15 NKOD-NKOD+1 20 KOD(NKOD)-L(n 25 ID-1 RETURN

C --- SEARCHING THE END OF VECTOR L

32 IF(L(NL)-1PAR) 46.35.45 35 IP-NL-1

DO 40 1*1.S lP-IP-1

IF(L(IPI-IT(6)) 40.50.40 40 CONTINUE 45 ID-3 RETURN

50 IP»IP-5

DO 55 1-1.5

IF(L(IP)-IT<n) 43.55.45 55 IP-IP+1 IP-IP+1 IK-NL-1 NKOD'O

DO 60 I «IP. IK NK0D"NK0D+1 60 KOD(NKOD)"L(n ID.2 RETURN END

C --- TEX7 WIDTH AND PRINTING OPTIONS DATA

READ t K IN.10 I CM.NUMB.LINEl.LINE2.ICLAS.I 10 F0RMAT(F5.0.511)

NCHAR-3.92*CM-(2+n»NUMB

C — TITLES AND COMMENTS

15 REAOIKIN.20l(Ll(It.I«l.SOI 20 FORMAT(80A1I

WRITE(K0UT.2}| (Ll(I).I<>lo79) 25 F0RMAT(5X.79A1)

IF(Llt80) - IBL) 30.15(30 30 WRITE(K0UT.35I 35 FORMATI//)

C --- RECORD PROCESSING CYCLE

DO 180 NREC"1.MXREC

C — READING OF THE FIRST HALF-RECORD 40 CALL INPUTlLl.NLl.LOIM)

IF(NLl) 200.45.55 45 WRITE1KOUT.50)

50 FORMATi' «•« EMPTY RECORD'///) PAUSE GO TO 40 55 CALL REDUC(Ll.NLl)

C — READING OF THE SECOND HALF-RECORD CALL INPUTtL2.NL2.LDIM) IF(NL2I 85.85.60 60 CALL REDUCIL2.NL2)

CALL COOEIL2.NL2.KOD.NKOO.IDENT) GO T0(65.75.85).IDENT

C --- ADDITION OF THE CODE AT THE END

C OF VECTOR Ll

65 NL1«NL1+1 LllNLD'IBL DO 70 I-1.NL2 NL1"NL1*1 70 Ll(NLll»L2(I) NL2-0

C --- INITIALIZATION OF THE CODE MATRIX

75 DO no I-l.NKOD 80 MAKOD(NREC.I)-KOD(I) .

C --- PRINTING OF THE FIRST HALF-RECORD

85 IFiLINEl) 90.110.90 90 WRiTEIKOUT.lOOl, 100 FORMATllX)

110 LBEGI-1 INDIC»0

111 CALL R0W{L1.NL1.NCHAR.LBEGI«IR0W.LASTI IFdNOIC) 135.120.135

120 IN0IC"1

IF(NUMB) 125.135.125 125 WRITEIKOUT.ISO) NREC.(I ROW I I).I>1»NCHAR) 130 FORMATI15.'. ' .103A1) GO TO 145

135 WRITEtKOUT.140) (IROW1 I).I"1.NCHAR)

140 FORMAT(7X.103A1)

145 IF(LASTI 150.111.150

C --- PRINTING OF THE SECOND HALF-RECORD

150 IF(NL2» 200.180.155 155 IF(LINE2I 160.170.160 160 WRITE(KOUT.IOO)

170 LBECI'l

171 CALL ROWtL2.NL2.NCHAR.LBEGI.IROW.LAST) WRITE(KOUT.140 I(I ROW(I).1-1eNCHAR) 1F(LASTI 180.171.180

180 CONTINUE . _

C"--- CLASSIFICATION

200 NREC-NREC-1

WRITE(K0UT.202I

202 FORMAT«IHI.'CLASSIFICATION OF .'BIBLIOGRAPHIC ENTRlES'/40(•B•)/)

IF IIĆLASI 203.208.203

203 WRITEIK0UT.204)

204 FORMATI//' LIST OF RECORD '» .'CLASSIFICATION CODES'/)

WRIT£(KOUT»205I . I I.IMAKODII.J)« Jal«8l. I>1«NREC) , 205 FORMATISI 15.IX.8A1)) 208 WRITE(KOUTilOO)

C --- READING THE CLASSIFICATION CODE

PEADIKIN.20) »tODt 11R0W( 1 ) il»li72» IR0W(70I-IEND(1I) 230.210.230 210 IF(IROW(71)-IENDt2l) 230.220,230 220 IF(IROW(72l-IEND(3J) 230.222.230

222 CALL exit

230 LAST-72

235 IF(IR0W(LASTI-IBLI 244.240.244 240 LAST-LAST-1

IF(LASTI 290,250.235 244 WRITE!1<0UT»246» ( IROW ( 11 » I • 1 .L AST I 246 FORMATC CLASS • •.72AI)

250 NKOO-8

255 IF(KODINKOO)-IBL) 265.260.265 260 NKOD-NKOO-1

IF(NKOD) 208,208,255 265 WRlTEtKOUT,268) KOO 268 FORMATC CODE - ',8A1J

C --- SEARCHING THE RECORDS BELONGING TO

C THE GIVEN CLASS

NH-0 L1(1I«0

DO 300 I-l.NREC LAST-8

270 IF(MAK0D(I.LAST)-IBL) 280.275.280 275 LAST-LAST-1

IF(LAST) 300,300.270 280 DO 290 UOO»1,NKOD DO 285 J-l.LAST

IFtK0D(IKODl-MAKODII,J)) 28 5,290,28 5 285 CONTINUE

GO TO 300 290 CONTINUE NLl-NLl+1 Ll(NLl»»l 300 CONTINUE

WRITEIKOUT.310)<L1(I I,I•1oNLl ) 310 F0RMAT(10I4) GO TO 208 END

PROGRAMMING SYSTEM 'AB' FOR EDITING AND PRINTING ANNOTATED BIBLIOGRAPHIES / USER MANUAL

•AB' IS A PROGRAMMING SYSTEM FOR EDITING AND PRINTING ANNOTATED BIBLIOGRAPHIES AND SIMILAR TFXTS. ALL INPUT DATA MUST BE PUNCHED ON CARDS AND FOLLOW THE- INITIAL 'EXECUTE AB« CARD. THE INPUT DECK CONTAINS (1) TEXT WIDTH AND PRINTING OPTION DATA, (2) COMMENTS, (3) BIBLIOGRAPHIC RECORPS lOR SIMILAR DATA), AND (4) DATA FOR CLASSIFIED BIBLIOGRAPHIES, A DETAILED DESCRIPTION OF THESE INPUTS IS PRESENTED IN THE SEOUEL.

ID TEXT WIDTH AND PRINTING OPTION DATA ARE PUNCHED IN THE FIRST DATA CARD ACCORDING TO THE FORMAT F9.0, 511. THE FIRST FIELD CONTAINS THE RFOUESTED TEXT WIDTH OF EDITED AND PRINTED BIBLIOGRAPHIC RECORDS EXPRESSED IN CENTIMETERS. THE NEXT FOUR FIELDS CONTAIN BINARY DATA (0 OR 1) GIVING RESPECTIVELY THE POSSIBILITY TO OMIT OR TO INCLUDE THE FOLLOWING OPTIONS - (I I NUMFRATlMG OF BIBLIOGRAPHIC RECORDS, (ID SINGLE LINE SPACING BETWEEN RECORDS, (III) SINGLE LINE SPACING BETWEEN HALF-RECORDS ITHE TERM HALF-RECORD IS DEFINED LATER IN THIS TEXT). AND (IV) PRINTING THE LIST OF RECORD CLASSIFICATION COOES. THE LAST FIELD CONTAINS THF MAXIMAL NUMBER OF DIGITS USED FOR RECORO NUMERATING (USUALLY 1,2 OR 3),

12) A NON LIMITED NUMBER OF FIRST INPUT CARDS MAY CONTAIN ARBITRARY COMMENTS (MOST FREQUENTLY TITLES AND RELATED INFORMATION). THESE COMMENTS ARE PUNCHED IN COLUMNS 1-79, WHILE THE BO-TH COLUMN MUST be LEFT BLANK. ALL COMMENTS ARE PRINTED BY THE LINE PRINTER EXACTLY AS THEY ARE PUNCHED ON CARDS. BLANK COMMENT CARDS MAY BE used for spacing. the last comment card must be denoted by a non-blank character in' the bo-th column. after the last comment card the seouence of bibliographic records may follow.

(3) bibliographic recoro is a set of punched cards containing arbitrary bibliographic or other data in columns 1-79. the record is divided in two parts. hereafter referred as half-records. the last card of each half-recoro must contain a non-blank character in the 80-th column. if the 'ab' system is used for editing annotated bibliographies. the first half-recoro contains The name of The author, title, journal or publisher and the range of pages. the second half-recoro contains abstract and/or some comments. if the bibliography is classified, the second half-record must be ended by the record classification code statement having the

form ............... . where a,.,,..h denotes

one-to-eight-character record classification code. each classification character represents the symbol of a class, and denotes that the record is associated with the corresponding ci ass of records. if the record is not classified. the record classification code state>1ent must be omitted. if the rfcord classification code is the only content of the second half-record. it will be automatically added to the first half-record. if the second half-record is empty. the blank card having a non-blank character in the 80-th column must be inserted after the first half-record. the second half-record is printed beginning at a new row. all records will be edited and printed immediately after reading', forming a column of the requested width. the fnd of a seouence of bibliographic records must be denoted by the card having characters 'end' punched in columns 78-80.

(4) data for classified bibliographies consist of a number of data cards ended by the card having characters 'end' punched in columns 78-80. each data card may have an arbitrapy input classification code punched in columns 1-8, left justified. columns 9-80 may be used for the title of the class associated with the input classification code. after the reading of a data card, referent numbers of all records whose record classification cooes contain the given input classification code will be printed on a line printer.

Informatica «t. 2 letnik 1977

upis kontinuiranih signala u mikroračunalo

V. zgaga

Elektroteliničiti f.ikultet, 41000 Zarjreb

UnK (ÌHI .3-181.4:615.84

Z« potrsbe obmđe bloalaktrlGnih slgn&la (£KO,EEO} u roalnoa irreiaenu Bnpravljen je uradjaj AS (bnalogitl sub-»l«t«a), predTldo» aa r«d sa prooeooroi» 8080. Paranatrl analogiio-digitalne prstTorbe (period uzorlto»aiija, mjerni opaeg) eadaju Be progranon. Poatoje 1 ló-kanalnl ulazni aultlpleksor 1 T>/k pretvarafi, talcoder kontrolirani progranom. Oein pod kontrolom radunala uredjaj nože raditi i autononno i kao digitalni voltmetar, generator zadane frekvencije, te programirani lE»fcr referentnog »apona - tada ae podaol unose ruSno, preko daclaalna tastature.

THE INPUT OF XNAlßO SIGNALS INTO MICROCOMPUTER! Hardware realization of the prograoiraablo a/D oonverter, designed as a part of the 8080 mioroooraputor sistem, is described. The aim of this unit la to make possible real-time EEO and EKO analysis. Conrerslon parameters, suoh as oonTerslon period. Input voltage range and number of Input ohannals (up to 16), oo/ be modified by a program. In addition, the unit oould ba used autonomically as a digital voltmeter. In this case, it is programmed through its onn keyboard.

1. UVOD

Ovdje opisani uređaj, AS (Analogni Subsistem), nastao je u teinjl ta reaUaaoijom sistema za obradu EKO 1 EEO signala u realnora vremenu. Obrada u realnom vremenu moZe zabtjevatl 1 promjenu parametara a/D pretvorbe (period uzorkovanja, pojafianje signala prije pretvorbe, broj kanala koji se uäitavaju) sa vrijeme rađa. Sto znaöi da se navedeni parametri trebaju mo^i kontrolirati programom. as zadovoljava taj uvjet, U nedostatku rafiunala uredjaj mote raditi 1 samostalno - tada se programiranje rada vrSl malom tastaturom na prednjoj ploOl,

Za obradu signala je predviđeno mlkrorafiunalo sa prooesorcm 8080, pa je a3 predviden M direktno spajanje na sablmloe tog sistema, U slljedsösn poglavlju opisani'su glavni sklopovi uredjaja, a na kraju

je dan 1 pojednostavljeni primjer programa koji prvo zadajo period uzorkovonja, a zatim u prekidnom modu (interrupt) udi tava resultate a/d pretvorbe.

2. opis lireiaja

Blok shema uređaja prikazana ja na sl.l. Kontrolni sklop povezuje AS sa nlkroraCunarsklo sistemom. Raredbe 1 podaci koji stieu iz mikroračunala primaju a«, po potrebi dekodlraju 1 prepaklraju, te Šalju u AS Internim kontrolnim sablrnioama. Preko tih sa-birnloa zadaje se period uzorkovanja, definira se rad analognog multipleksora, pojaCanje pretpojaöala, mod rada A/C pretvarafia, te kod C/A pretvorbe mod rada i binarna ili NBCD vrijednost napona za D/k pretvaraš. Izlaz iz kontrolnog sklopa na interne kontrolne oabirnloe može ss doveatl u "tređo stanje", tj. odspojlti od sabirnica. Kontrolu tada preuzima tastatura aa prednje plo&e uredjaja. Na taj naSln mo2« se rufino upravljati avlm funkcijama uredjaja.

Analogni multipleksor (l6il) spaja, prema Instrukcijama koje doblja, jedan od 16 ulaznih kanala na pretpojafialo za a/D pretvorbu, ìloì.9 biti izabran bilo koji od ulaza, ill se sekvenoljalno mogu oCltavati ulazi od prvog do izabranog. Pretpojafialo mo£e biti spojeno na izlaz iz multipleksora 111 na zasebni ulaa (kad AS radi kao digitalni voltmetar), a pojafianje se moSe zadati u opeegu 10^ (za van jeki ulaz do

^mV). Postoji mogućnost automatskog namještanja nule, te mjerenja vrSne 1 srednje vrljednoetl za iznje-nlSni signal (kad radi kao SVU).

Izlaz pretpojafiala vodi ae na ulaz a/S pretvarafia, Upotrebljen je modularni pretvarafi ( ^o^a, 10 bita). Izlaz iz pretvarafia (lO bita, paralelno) vodi se preko internih A/D sabirnica u kontrolni sklop, koji pođatks proalijsđuje u mlkrorafiunalo. Serijski Izlaz l'z pretvarafia vodi ae u blnarno/NBCD pretvornik.

48

ručno programiranja

___podaci

8080

• •birnica__kontrola. , .....

IT"

ini

tastatura

kontrola

11

r

. ____

A

n;

bin/bcd

A

31.1. Blok shema uredjaja

d/.

iT

a/d

pratpoi.

mux

16

na:

.j

ill C' i-'

Itoji binarnu vrijednoot mjerenog napona pretvara u tri BCD znamenke. Tako je u avakom trenutku dostupan rezultat pretvorbe (na prednjoj ploöl su 7-aegmentnl indikatori).

Period konverzije odredjuje oe programabilnim NBCD brojilom. Brojilo sadrSi tri znamenke ( od 000 do 999 )i a jedna znamenka definira eksponent (O do 6). Sve 4 znamenke prikazuju ee indikatorima na prednjoj ploöi ( 001-(lo)°;ua do 9J9-(lo)^ ^e ). Ako ae sek-venoljalno oöltava vlfie kanala, onda se brojilom zadaje period iamedju dva oSltanja istog kanala. Uz naponom kontrolirani osoilator i petlju zatvorene fazo (PLL) moie se realizirati generator programom zadano frekvencije.

Za potrebe simulacija analognih signala AS-u je dodan 1 1)/A pretvarač (modularni 12-bitni, 5 /'s)» Napon se može numerički zadati prograraomi 8 bita binarno, ili u NBCD kodu sa 4 anamenke. Zadani napon prikazuje se na 7-seg. indikatorima na prednjoj ploči.

2.1. KONTROLNI SKLOP I TASTATURA

Na slloi 2.1. Je prikazcui kontrolni sklop. Razmjena podataka sa mikroračunalom vrBi sé pomoću Intelovlh integriranih krugova 8212 (8-bltni ulazno izlazni sklop). Svaki 8212 adresira se zasebno. Ulaz prvoga i izlaz drugoga spajaju se na sabirnice podataka procesora, tj. na mikroračunalo. Prvog 8212 procesor aktivira ulazno/izlaznom naredbom l/O WRITE (w), us odgovarajuću adresu.

prakid

I

ff

___

6212/

11

8212/2

kontrolna o. a/žl a.

SI, 2,1. Kontrolni sklop

Tom naredbom se sadriaj akumulatora (u procesoru) pojavljuje na sabirnicama podataka. Impulsi dekodirane adrese i "W" upisuju taj podatak u 8212/j , gdje on ostaje saSuvan do slijedeće izlazne naredbe na istoj adresi. Izlaz iz 8212/^ spojen je direktno na interne kontrolne sabirnice. Taj izlaz se prskidaSem sa prednje ploSe mo2e "odspojiti" od sabirnica. Time se ujedno na sabirnice spaja dekoder tastature. Tastatura je decimalna, a izlaz iz dekodera u BCD kodu. 8212/^ procesor aktivira ulazno/izlaznom naredbom I/o HEAD (R), opet uz odgovarajuću adresu. Tom naredbom ue izlaz 8212/2 priklJuSuje na sabirnice podataka procesora, a procesor taj podatak sprema u akumulator. Ulaz u 8212/2 BU A/p sabirnice, koje sadrže rezultat posljednje A/D pretvorbe.

Od tri osnovna načina razmjene podataka sa računalom (ispitivanjem statusa A/D pretvarača, prekidne, te direktni pristup memoriji{DMA)), izabran Je prekidni (interrupt) naSln riđa. Po zavrSetku pojedine l/D prntvorbe postavlja se blstaiiH "zahtjev za prekid" (unutar 8212/,^). Procesor zavrfiava tekuću instrukciju, ta prelazi u prekidni potprogram (npr. uči tavanje rezultata A/D pretvorbe iz 8212/^ instrukcijom IN (e), te spremanje tog podatka u neku memorijsku lokaciju).

2.2. OENERATOB TAKTA 2A UZORKOVANJB

Blok ehema generatora takta d&na Je na si.2.2. Četiri 4-bltna registra (4035) primaju preko kontrolnih sa-bimioa 4 BCD znamenke koje definiraju period osolla-olja. Sadržaj sva 4 registra ae preko BCD/7-seg, dekodera prikazuje na četiri 7-seg. LED indikatora. Prva tri registra upravljaju programabilnioi 4-bitnim BCD brojilima (4029), a četvrti, koji sadrži eksponent, upravlja multipleksorom Bil. Sa ulaze multlple-ksora vodi se osnovni takt od Iyus podijeljen sa lo (N>0,1,..6), Impulsi na izlazu multipleksora traju 1 ^s, 10 yjs, .. 1 sekundu - ovisno o sadržaju zadnjeg registra. Ti impulsi ue u brojilima dijele sa sadržajem prva 3 registra (il do 1999). Tako se na izlazu zadnjeg brojila dobiju Impulsi od 1 ^s do 999 sekundi.

4035

4035

<=

4035

c"

4035

---

kontrolne sab.

4029

—--

4029

---

4029

-------

mux

8:1

SI. 2.2. Generator takta

hio| -1

Ako uređaj nije prikljuSen na mikroraSunalo, Internim kontrolnim Babirnloana upravlja vlastita tastatura. Tastaturom treba samo definirati vrijeme konverzije, pa se uređaj mo2e koristiti kao automatski digitalni voltmetar. Može se Izabriti la mjerenje bilo koji od 16 priključenih napona. Istovremeno se mogu koristiti i programabilni izvor referentnog napona i programa-bilnl oscilator, Sto uređaj Cini vrlo pogodnim zn razna mjerenja 1 ispitivanja.

ì.2. rad n mikhoraCunarskom sistemu

na a/d

3.1. SAMOSTAUfl RAD

2.3. A/D PRJSTVARAC

Za kontrolu pojačanja pretpojaCala koristi^ se binarno "up-dovm" brojilo 1 BCD/deoimalno dekoder. Početni mjerni opseg zada ae preko kontrolnih subirnioa tako da se brojilo postavi na željenu vrijednost. Ako tokom rada A/D pretvarač poprimi maksimalnu vrijednost, brojilo će se dekrementirati (time ae pojačanje smanjuje 10 puta) .Obrnuto, ako je izlaz manji od lOJž maksimalnog, brojilo čo oo inkremontirati. Ova auto-matika se naredbom mo2e isključiti. Za pretpojačalo je upotrebljeno diferencijalno Inotrumentaciono pojačalo AD 521, a faktor pojačanja se bira uključivanjem odgovarajućih otpornika ovisno o sadržaju brojila i stanju dekodera, a pomoću CMOS sklopki.

ulai

brojilo

prorTi], poj.

a/d 4113

hontr<^nQ. sab. \

A

521

Incr/decr

a/d

-----f^sab.

—-V

bin/bcd

SI. 2.3. a/d pretvarač

Za a/d pretvarač iskorišten jo modul Teledyne PUilbriok-a 1113 (ulazni raspon lO bita, vrijeme

jedne konverzije 30 }3b) , Izlaz iz pretvarača je preko "three state" logike spojen n« interne A/D sabirnice.

2.4. ANALOOHI MULTIPLEKSOR

Kako bi ae direktno mogli upisivati izlazi iz l6-kanalnog EEO-a, uredjaj sadrži i l6il analogni multipleksor, Programabilno brojilo može adreslratl bilo koji od 16 ulaza, 111 redom od prvog do W-tog. Modovl rada prikazani su na sllol 2.4. <

3 3 3 3

1 2 3

1 J 3

12 3 12 3 1

Kod rada u ^H sistemu sve funkcije ured jaja mogu se definirati programom. Npr. kod zadavanja vremena između dvije konverzije (period uzorkovanja) potrebno je na izlaznu adresu za 8212/^^ poslati prvo internu adrssu programabilnog osollatora ( ), zatim

četiri BCD znaka. To se postiže slijedećim programskim isječkom (assembler za 8080):

M VI A, 80

OUT 01

MVI A,02 •

OUT 01

MVI

out

avi

OUT KVI OUT

A,05 Ol

A,00 Ol

A,03

Ol

Naredba MVI a,XX upiuuje 8-bitni broj XX^^^ u akumulator, a naredba OUT NN taj isti broj ispisuje u izlaznu jedinicu čijsi je adresa NN. Ako je adresa od 8212/j baS 01, po izvrfienju ovog programskog odsječka programabilni oscilator óe oscilirati su periodom 25o-lo^^s.

Upis rezultata konverzije obično se vrSi periodički (a/d pretvarač se aktivira oscilatorom - npr. svakih 25o ms, a po zavrfletku pojedine pretvorbe postavi se "zahtjev /.a prekid" procesoru). Kod obrade zahtjeva z za prekid koristi se posebna call instrukcija, RST ("restart"). Ta instrukcija je realizirana hardwareski, tako di procesor automatski prelazi na početak prekidnog potprograraa. Primjer za upis rezultata a/d pretvorbe (nakon Sto Je definiran period uzorkovanja) izgledao bi ovako i

IN 03 MOV M,A XNX H,L

I - — RET

IN 03 upisuje rezultat konverzije iz 8212/^ u akumulator, a sa MOV M,A ne taj podatak eprema u

memoriju (adresa je u registrima h,l). INX h,l inkro-

mentira taj par registara.

Slijedi EI (enable Int.) kako bi se ponovo dozvolio prekid, te RET (return), povratak u glavni prof;raai.

Inforniai-ica št. 2 letnik 1977

komunikacija med sekvencnimi procesi-pregled del II.

m. exe I

Institut ".lo/.of Stefan", LJiil)! Jana

UDK 681.3.01

Članek obravnava probleme, ki jih zastavlja orcanižaci.ja niedprocesnih komunikacij. Podane so definicije osnovnih pojmov nakar sledi opis (s primeri) obstoječih jezikovnih konstrulctov za medprocosno komunikacijo: semaforjev,(pocojno) kritičnih delov, monitorjev in procesnih poti.

C0MI1UHICATI0NS AHONG SEQUENTIAL PROCESSES - A SURVEY (PART II.). The problems arisinc from the oreanisation of intei-proceas communication are briefly sruveyed. The definitions of basic concepts are given. Descriptions (v;ith examples') of the following primitives and languace constructs for interprocess communication are presented: semaphores,(conditional ) critical regions, monitors and path expressions.

V prvem delu (glej px'vo številko Informatico) smo si ogledali nekatere sploSne pojme ^zadevajoče medprocesno komunikacijo ih semaforje. V tem delu bomo opisali 5e druge jezikovne konstrukte za medprocesno komunikacijo.

'I-.2. (Pofi:ojno) kritični del procesa

Prvo notacijo za kritične delo procesa je predlagal lloare (1). Za sočasnost izvajanja procesov Pl, ... Pn predlaga notacijo

/P2 ...//Pni ;

(P1//I

odvisnost procesov od skupnega vira r pa opiše z:

J resource r;Pl// ...//Pn J .

Pri tem je hardverski ali pa logični vir r definiran oz. deklariran izven konatruk-ta J ... i oz. implicitno (npr. rezervirano ime za čitalnik, luknjalnik ipd.).

V pi-ocesih Pl, ... Pn se kritični deli, ki iiadevajo vir r opisujejo s konstruktom

with r ^ kritični -del;

Konstrukt za pogojno kritični del je:

with r when pogoj kritični - del;

Pri tej obliki moramo paziti na iraplemai-tacljo (primerjaj s ^i-.l.). Če pogoj ni izpolnjena» proces postavi v vrsto vezano na vir r; če je pogoj izpolnjen se iavr ŠLkritiSnl del in ob koncu tega dela se pogoj na novo preverja za vsak proces v vrsti vezani na vir r.

Kadar kritični del procesi Pi znrtcvr,

le kPko komponento virn r,bomo znplanil:

with komponenta-vira-r.. Icrit.-del;

Uporabo zgornjih konstruktev bomo ilustrirali s Iloare-jevo rešitvijo za problem petih filozofov (glej 4.1,5. o sliko). Ce je Pi proces,ki opluuje dejavnost filo^ zofa Ijbo sistem petin procesov zapisan takole:

^resource r; P0//Pl//P2//^3//P'^ J ;

vir r bo definiran takole (Pascal): r: record

vilice-na-razpolago: array O..'t of O..2; vilica-A, vilica-B,viIića-C, vlTToa-D, vilica-E: tip-vilica end;

Prva tabela v viru r daje Informacijo o stanju procesov: vllice-na-razpolago (i) " število vilic, ki so na razpolago filozofu i; začetna vi-ednost bo za vsb filozofe 2.

Elementi vrillca-A do vllic&-E pa označujejo vilice kot posamezne dolno kritične vire, ki sestavljajo vir r.

lieSitev za filozofski proces P3, na primer, bo sledeča:

PJ: cycle misliti;

with r. vilice-na-razpolago when r. vllice-na-razpolago(3)"2do Fčgin r. villce-na-razpolago''-'' r. vllice-na-razpolago r. vllice-na-razpolago r. vllice-na-razpolago

end;

with r. vltica-D do

with r. viHca-T"do jeafil; with r. vl3ico-na-rnzpolago do Fegln r. vi] ice-na-r^azpolago r. vllice-na-razpolago r. vllice-na-razpolago r. vllice-na-razpolago

end end cycle.

Drugo notacijo za kritiSne delo procesov Je predlagal Brinch Hansen (14). Viri se pri njemu deklarirajo kot deljena informacija:

var v: shared tip.

KritiSni deli imajo naslednje oblike:

reKion v do S;

region v ^en B do Sj in

reKion v do S avzält B;

V svojem članku (14) Brinch Hansen tudi natančnej-e nakazuje (po Hoare-ju v 1) princip dokazovanja pravilnosti rešitve " danega problema sinhronizacije procesov.

Dokazovanje bazira na takozvanih invari-jantih ali nespremenljivih trditvah. In-varijanti so trditve, ki izražajo kriterije pravilnosti dane rešitve. Brinch Hansen omenja štiri kriterije izražajoče:.

- pravilnost reaktiviranja (skedjuliranja) čakajočih procesov,

-, spoštovanje zahtevanih sočasnih izkljur čitev procesov,

- odsotnost mrtve točke ("deadlock-a) in

- spoštovanje zahtevanih relativnih prioritet procesov.

Ob primerjavi semaforjev s predlaganimi konstrukti za (pogojne) kritične dele zaključuje naslednje:

- s programskega stališča je uporaba đecJi^jih preglednejša in jasnejaa,

- s stališča dokazovanja s pomočjo inva-rijantov je stvar s slednjimi enostavnejša,

- pri uporabi kritičnih delov se programerju ni treba ukvarjati eksplicitno

z "obujanjem" čakajočih procesov, -•s stališča implementacije je pri kons-truktih za kritične dele možna določena . neučinkovitost zaradi potrebe ponovnega preračunavanja pogojev (glej zgoraj opombo o implementaciji konstrukta with).

Kar se tiče zadnjega zaključka je nedavno Schmid (15) pokazal, da se lahko statično določi invarijantne relacije med (pogojno) kritičnimi deli procesov glede na dani vir v. Te relacije so neodvisne od poteka sistema procesov in so dveh vrst :

- usposabljajoče: izvedba (pogojnega) kritičnega dela ki .lahko izpolni pogoj

za izvedbo pogojnega kritičnega dela k2,

- neusposabljajoče : analogno definirane.

Določitev teh relacij se nato uporabi za učinkovitejšo implementacijo pogojnih kritičnih delov procesov.

Stvar si bomo pobliže ogledali: Schmid (15) definira skupne vire takole: var v shared record v,...v :

<Hp>en^ri--^

kjer so V. spremenljivke stanj sistema procesov Cglej 4.1.5.); ■ pogojno kritični del pa ima naslednjo splošno obliko:

region v ^ begin await pogoj^^; opj^;

Opisana implementacija zgornjih pogojnih kritičnih delov daje tudi možnost eksplicitnega skedjuliranja čakajočih procesov. Pri tem se uporabljajo spremenljivke tipa vrste:

. var r: vrsta

in nekatere standardne procedure nad vrstami:

enter(r): postavi proces v -vrsto r,

unblook-one(r), jnblock-all(r): reaktiviraj enega ali vse procese čakajoče v vrsti r.

Oglejmo si sedaj primer čiteloev in piscev, ki si delijo skupen vir: čitalci lahko dosegajo vir sočasno, pisci pa seveda samo sekvenčno; pri tem imajo pisci prioriteto (ta primer je bil opisan.že v 14).

Stanje sistema procesov je opisano v naslednji skupni informaci.ii;

var v: shared record ap,rp,rč: integer end,

kjer je ap število piscev, ki želijo doseči vir, rp in rč pa število piscev oz. čitalcev, ki razpolagajo z virom.

Rešitev za čitalce je sledeča:

region v ^ fbegin await ap 4 O;

rč:=rč•^l

čl i end;

čitaj;

fUSl t

V-end; • • •

za pisca pa sledeSa: • • •

region v do rbsKin ap:=ap+lj

if not (rg^O and rp4 0) zaSpis: ■ Wen enter (vpis7~

rp:=rp+l

• end; pisii

region v do

'beKin rp:=rp-lj ap:=ap-lj com skedjuliraj; kopis: iF'ap^O

Wen untilock-all (včit) else if rč^O and rpio Wen unblock-one(vpié)

end; • • •

Uporaba relacije (Č2,p2), na primer, se odraža v implementaciji čitalca (glej del kočit) z retestiranjem pogoja kritiS-nega^dela p2 ob koncu kritičnega dd. a Č2. Ce relacij ne bi statično ugotovili, bi bili prisiljeni testirati oba pogoja kritičnih delov čl, p2.ob koncu vsakega od kritičnih delov cl,č2,pl,p2 in p5.

^•3. Monitorji in hierarhija monitorjev

Intuitivno smo se s pojmom tajnika (Dij-kstra: "secretary") oz. monitorja (glej 5 in 4) seznanili že v 4.1.3, Ugotovili smo, da nek skupek procesov medsebojno komunicira v (pogojnih) kritičnih delih in pri tem uporablja določene skupne informacije (spremenljivke stanj). Pojem monitorja bomo konkretizirali z uvedbo programskega konstrukta monitor.ki bo vseboval lokalne spremenljivke predstav-1jajoče vse informacije, ki so skupne danemu skupku procesov in pa procedure pred stavljajoče vse kritične dele tega skupka procesov. V samih procesih bodo kritični deli nadomeščeni s klici odgovarjajočih monitorskih procedur.

Programski konstrukt monitor bo imel naslednjo obliko (glej 471— —

monitor

var vliti;... vk:tk;

com skupne informacije procesov com;

shared procedure pl(...')j. begin ...

end; • • •

òhared procedure pm(...); begin ... enTì

deklaracija lok.proc.; inicijalizacija spremenljivk vl,...vk} end.

Vsak od procesov, ki medsebojno komunicirajo preko zgornjBga monitorja pa bo imel naslednjo obliko:

process

environment pi. ... pn, vi, ... vm; • • • ••• pi(.»«»)i ••• Pj(«»»)j

com klici monitorskih proč. com; end;

region v do rlieKln if not ap 0 začir;^en enter(veit);

1,

rč:=r5+l

cTFaj; region v

in rö:=r5-l{

com skedjuliraj ; koč.it : ir"rg 4 0 and rp 0

Wen unblock-one ( vpis )

pn deljene procedure moni-vm skupne informacije mo-

nltorja, ki jih dani proces uporablja.

Stvar bomo ilustrirali s primerom fiital-cev in piscev iz 4.2. Monitor bo izgledal takole : ■onltor

var ap, rp, rži int«gor{ as vòlt, vpis:vrsta; iiared procedure zažitteom gl«j 4-, 2. com;

šEared procedure kočiticom glej 4.2. com;

sEäred procedure aagpÌB;com glej 4.2. com;

aEäred procedur» kopis;com glej 4.2.

£2£» , ^ procedur« unblock-one(vrsta;{..i

procedure «nterCvrsta);...(

com ta s^edjuliranj« com;

procedure unblock-allQvrsta);..;

|g|=rp:-r5!=0;

8italni proces bo zapisan: process

environment začit,ko0it,

..ap.rp,r6T

zaČit;com monitorski klici som; 6itaj-

koCit; • * •

end;

pisalni proces pa: process

environment začpis, kopis, ap, rp, rč; ...

začpis; piši; kopis; ... end;

Pri tem mora biti implementacija tako urejena, da:

- je v določenem trenutku možna izvedba le ene od shared procedures monitorja

(pri tem lahko uporabimo binarne semaforje); ^ ^

- ob izvedbi klica énter(vrsta) v proce-■duri začit ali začpis, ki jo kliče proces p, se proces p postavi v "vrsto", nakar so monitorske procedure na razpolago ostalim procesom;

- ob izvedbi klica unblock-one(vrsta) ali unblock-all(vrsta) v proceduri kočit ali kopis, ki jo kliče proces p, se proces p vrne iz monitorske procedure In nadaljuje z izvedbo;obenem pa procesi, ki so na ta način "prebujeni" nadaljujejo z iz-., vedbo instrukcije, ki sledi inštrukciji (v tem primeru "enter"), s katero so bili

"uspavani".

Naslednji primer je par procesov proizva-jalec-uporabnik (glej 4.1.2.), ki si pošiljata "sporočila" preko buferja. ki lahko vsebuje samo eno sporočilo (primer je iz 4):

proizvajalec : process

environment pošljil, sporočilo; var s: sporočilo;

begin .. proizvedi s ; pošlji (s) end;

uporabnik :

procest

environment sprejmi,sporočilo; var r: sporočilo;

begin ... sprejmi (r); uporabi r... end;

monitor:

monitor

type sporočilo - array (l..a) a£ integer, var bufer: sporočilo; poln:booloanj proizv, upor:vrsta;

kjer so pi, torda in vl.

shared procediiro po51>Ji Cm: sporočilo) ; beF:ln If po3n' then- onter proizv; T^fer:.<=in; poilin; »true; unblock-one upor;

and;

shared procedure apro\jmli (m: sporoSilo) ; boRln If not "poln then- enter upor; m::=Eürer; polnv-failise ; unblock-one proi'zw;,

end;

inicijaiiizacijajpoln: ofalae: end monitor;

Programski konstrukt monitor nnmitorej dovoljuje-,, da. v visokem procramskem: Jeziku pregledno opinemo konunikaclijfl! medi procesi in skedjuliranje procesov.

Brinch ilansen C^) Je pokazal!,, d'a Je uporaba monitorskega konstrukt» primerna, zat opis in zcradbo operacijskih' sistemov s-stalifičai

- dokazljivosti pravilnega sodelovanja-procesov sistema;

- dokazljivosti določenih lastnosti sistema (npr, odsotnost mrtvih točk)|

- učinkovitosti uporabe virov In

- možnosti postopnega izgrajevanja sistema.

Z uporabo konstruktov za pojem procesa in monitorja lahko strukturo danega operacijskega sistema opišemo kot hierarhijo procesov in monitorjev.

Tako bi del nekega operacijskega sistema lahko prikazali z naslednjo strukturo monitorjev, procesov in virov;

naj TP označuje teleprinter, Č čit§lnik kartic, TK tiskalnik ("printer"), CP, UP, TKP in TPP čitalnifiki, uporabniški, tis-kaLniSki in teleprinterski proces, Ml do M't pa mon-ltorje:

V zgornjem acikličnera grafu krogi predatavi Ja Jo procese in monitorje, puhčioe pn roo;''ne dosege.

Monitor M}, npr., \ireja delovanje para procesov CP, UP tipa proizvajalec-uporab-nik, monitor M'^ pa ureja delovanje dveh "proizvajalcev" sporočil CP, TKP in "uporabnika" sporočil TPP oziroma enega "proizvajalca" sporpčil TPP in dveh "uporabnikov" sporočil CP in TKP.

5. PliOGESIlB POTI

Campbell in Ilabermann (10) predlagata mehanizem za opisovanje sinhronizacije in komunikacije med procesi, ki so precej razlikuje od pristopa opisanega v poglavju A. V tem poglavju bomo nn kratko opisali ta raehaniznm.

Proces Je pojmovan kot sekvenčno zaporedje osnovnih dejanj, pri čemer Je osnovno dejanje izvedba neke procedure. Opis sinhronizacije procesov Je podan s procesnimi potmi. Neka procesna pot Je izraz, ki predstavlja množico dovoljenih zaporedij osnovnih dejanj. Sinhronizacija Je torej podana na nivoju izvedbe procedure. Glede implementacije tega opisa sinhronizacije se predlaga po en kontrolor za vsako procesno pot: kadar proces želi Izvesti neko proceduro r, vsebovano v procesni poti p, potem o izvedbi procedure r odloča kontrolor vezan na procesno pot p. Zaradi enostavnosti kontrolorja se zahteva-, da se dana procedura pojavi samo enkrat v samo eni procesni poti.

Za opis procesnih poti so uvedene naslednje oznake (kjer so p,q,r,., imena procedur) :

- sekvenčna izvedba:

PiHr

pomeni, da morajo biti procedure izvedene v tem vrstnem redu, ena za drugo. Pri tem ni va/.na identiteta procesov oz. procesa, ki izvaja(jo) posamezne procedure;

- selektivna izvedba:

p.q.r

pomeni, da se lahko izvede ena od naSte-tih procedur; dokler so izvaja npr. q, ne moremo začeti izvajanja procedure p ali r;

- ponavljanje:

path P end i P;P;Pv.., kjer Je P procesna pot;

- sočasna izvedba:

, kjor Jo P procesna pot

pomeni, da se lahko poti P sočasno izvajajo B strani različnih procesov. Dokler Je vsaj ena izvedba poti P v teku, lahko neki nov proces začne z novo izvedbo poti P. Izvedba poti iPj Je končana v trenutku, ko so končane vse izvedbe poti P.

Razne načine izvedb lahko kombiniramo z uporabo oklepajev npr.:

path p,(qi \r) ; s) end.

Konstrukti procesnih poti bo kombinirani z naslednjim pojmom oz. konstruktom tipa i definicija tipa opisuje

- strukturo podatka danega tipa in

- operacije nad podatki danega tipa.

Podatke tipa t lahko manipuliramo snrao s pomočjo operacij definiranih v definiciji tipa t.

Uporabo procesnih poti kot sinhronizacij-skega konstrukta bomo opisali e primerom piscev in čltalcev, ki komunicirajo s pomočjo kror-nega buferj«.

Element ii(i) krožnega buferja R bo opisan z naslednjim tipom:

tjija bufelj

se vsebina;

com »atn« komponenta neke spremenljivke tipa bufel Je spremenljivka vsebina com;

path pl8i; Čitaj yndt operations

procedure iitaj (returns messane m): m:» vsebina;

procedure piSi (accepts message a): vsebina:« m; endtype;

Procesna pot path piši; čitaj end pomeni, za dano spremenljivko tipa bufel. naslednje:

- vsaki izvedbi "piši" sledi izvedba "čitaj",

- vsaki izvedbi "čitaj" sledi izvedba "piši" in

- izvedbi "piSi" in "čitaj" ne moreta biti sočasni.

Krožni bufer bo opisan z naslednjim tipom: type kbuf;

array O to N-1 bufel fi;

com prvaTompononta spremenljivk tipa

kbuf com;

type kazalec; com lokalna definicija

tipa com; inteRer PpO; path naalednji end; com, kar pomeni za dano spremenljivko tipa kazalec, da izvedb« "naslednji" ne morejo biti sočasne com; operations

procedure naslednji (returns Inteser

bep:ln P:=(P+l)mođ N; Ì:=P end; endtype; kuzaloc zaplsanje, začitanje; com druga in tretja komponenta spremenljivk tipakbuf com; operations procedure pošlji (accepts-messane m): bop:in Tntep:er J; J: = zaplsanje.

naslednji; R(J).piBlCm)

endi

procedure sprejmi (returns messapie m): bepiln integer J ; J:<» začitanje.

naslednji; m:= R(J).čitaj;

endtype ;

S temi definicijami lahko uporablja neki krožni bufer KB: kbuf KB;

kakrfinokoll število čitalnih procesov:

process mensapie M;

M: =ICD.sprejmi; uporabi M end ;

in pisalnih procesov:

proccss meaaap;e M;

ustviaJri M ; KB.poSlji (M) end;

in tO v principu na kakrSenkoli način, kajti procesne poti opisane v tipih bufel in kazalec skrbijo za pravilno sinhronizacijo.

6. ZAKLJUČEK

Za zaključek lahko rečemo, da obseR recentne literature s področja orp;nnizaci-je medprocesne sinhronizacije in komunikacij kaže na zelo živahen razvoj raziskav, ki se bavijo s to problematiko. Ro-znolikost pristopov pa med drugim doka« zuje, da zadnja beseda na tem področju še dolgo ne bo izrečena.

7. BIBLIOGRAFIJA

(1) Hoare C.A.R.: Towards a theory of parallel programming, in Operating systems techniques,Academic press 19?2

(2) Wegner P.: Programming languages, information structures, and machine organization, MCGraw-Hlll 1%8.

(3) Dijkstra E.W.: Cooperating sequential processes, in Programming languages, ed. Genuya, Academic press 1968.

Brlnch-Hansen P.: A programming methodology for OS design, IFIP 1974,2.

(5) ••• : Monitors (special discussion), in OS techniques, Academic press, 1972.

(6) Owlcki S., Gries D.: An axiomatic proof technique for parallel programs I, Acta informatica v.6, pp 319-'^0., 1976.

(7) Peterson J.L., Bredt T.H.: A comparison of models of parallel coa^juta-tion. IPIP 197^, 3.

(8) Kahn G.: The semantics of a simple language for parallel programming,

IFIP 197^, 5.

(9) Dijkstra E.W.: Hierarchical ordering of sequential processes, in OS techniques, Academic press, 1972.

(10) Campbell R.H., Habermann A.N.: The specification of process synchronization by path expressions, in O.S., Lecture notes on computer science 16, 1974.

(11) Lauor P.E., Campbell R.H.: Formal semantics of a class of high level primitives for coordinating concurrent processes. Acta Informatloa, V.5.PP. 297-552, 1975.

(12) ... : Algol 68 report, Hermann, 1972.

(13) Dijkstra E.W.: The structure of the THE multiproßramming system, CACM 11, pp. 341-5'+7, 1968.

(14) Bclndi-Hansen P.: A comparison of twc synchronizing concepts. Acta informatica, v.l., pp. 190-199, 1972.

(15) Schmid H.A.: On the efficient implementation of conditional critical regions and the construction of monitors. Acta informatica, v. 6, pp. 2.?7-250, 1976.

(16) Hoare C.A.R.: An axiomatic basis for computer programming, CACM 12, pp. 576-580, 1969.

(1?) Lautenbach K., Schmid H.A.,: Ose of Petri nets for proving correctness of concurrent process systems, IFIP

1974, 2.

p2:

Informatica št. 2 letnik 1977

ss

dinamični mos pomnilniki

r. trobec j. korenini f. novak

Institut "Jožef Stefan", Ljubljana

■ V članku želimo seznaniti bralca z natančnejšim opisom izvedbe in delovanja dinamičnih MÜS pomnilnikov. Najprej Je opisane, tehnologiju, ki dopušča veliko gostoto podatkov, sleda opis osnovnih funkcij pomnilnikov (Čitanje, pieanje), končno pa so predstavljene sheme važnejših funkcionalnih blokov na nivoju tranzistorjev. Oi^isane oo pomnilne lokacije, ojačevalniki informacije (sense amplifier) in vhodno-izhodni vmesniki (buffer), ki so specificno zasnovani zaradi TTL kompatibilnosti in optimalnep;a razmerja poraba moči/hitrost. ,

Na koncu podajamo časovne"diagrame za tipične pomnilniške cikle (citanje, pisanje, nacin zapored-nepin vpisovanja (čitanja) v vrstice (page mode), osvežitev informacije (refresh i, s poudarkom na važnih časovnih parametrih. , ^ ^^ j

DIMAMIC KG3 MEMORIEÜ The aim of this article is to infoim the reader with a detailed description of the architecture and the performance of dynamic memoi-ies. At first we desoriba the technology that permits so much information Eathered on a sine;le chip. The description includes basical memory functions (read, write) and some diagrams of important functional blocks on transistor level. Basic memory cell and its environment (sense amplifiers, decoder and I/O buffers necessary for TTL compatibility) is described as well as internal timing; and problems of power dissipation and access time. Finally timing diagrams for typical memory cycle (read, write, page mode, refresh! are given and attention is paied to important timing parameters.

1. Pregled osnovnih tehnologij, ki se uporabljajo pri izdelavi dinamičnih MOG pomnilnikov

Pri izdelavi dinamičnih pomnilnikov se danes zaradi razvoja tehnologije večinoma uporabljajo tranzistorji z n-kanalom. Ti imajo zai-adi boljše gibljivosti elektronov večjo hitrost (2x) in manjšo površino kot tranzistorji s p--knnalom. Nova silikonska vrata (gate) vse bolj nadomeščajo metalno elektrodo.

udk 621.377.622.25

ponor

vrata

r

)

p-substrot

ülika 1. MOS Xi'ET'^z metalnimi vrati in n-indu-ciranim kanalom.

Če Je na vratih pozitiven potencial, se inducira pod njimi prevodni n-kanal, sl:ozi katerega teče tok, odvisen od napetosti med ponorom (drain) in izvorom (source). Za izdelavo so potrebne A maske. Ponor in izvor lahko izvedemo z difuzijo ali ionsko impiantacijo.

izvor

Al

blika 2. FET s silikonskimi vrati in induciranim p-kanalom.

Bistvena prednost to izvedbe Je v nizki napetosti pra(;a, kar Je posledica velike dielek-tričnosti kombinacije plasti SiOg - üi^N^.

Iz enačbe za prayovno napetost (V,p) :

- + ug + 2(v,

toks

V,n

Je neposredno viden vpliv £oknida na v,p. Tipične vrednosti bo 1,5 - 2V. Taka napetost Jo potr(3bna za majhno porabo moči in za kompatibilnost n TTL logiko. Tranj'.istor na sliki 2. ima silikonska vrata.♦♦

2. Princip delovanja dinamične pomnilne celice.

V pomnilni colici nn r.li.ki J. Ro nhrflni naboj na lcnpoclt;ivno.'iti med vrntl in ponorom transi p tor J n Tj.

- ^Fi)

metal oksid polprevodnik (Motal Üxid Semiconductor)

tranzistor, ki deluje zaradi polj/i

y polprevodniku

(Field Efect Trancistoi')

MÜS'*'

FET

**■

lolcg metalne in f.i.l ikonsko povezavo obstaja. So trotjn možnost - rtifundirana povezava. Vsa-);n ima .■ivojc; prcflnor^ti in pomanjkljivosti, ki odločajo Ü spoci fi.čnor.ti njihove uporabe.

56

ki so dnneE že večinoma izvedeni z enotranzis-tornko pomnilno celico. Majhne signale Je potrebno ojačevati in obnavljati (refresh) vsaki 2 ms B posebnimi ojačevalniki informacije (sense amplifier), o katerih bomo še govorili.

Infortnacijslia linija /bit lin«/

Krmilno linija /titanje/

Krmilna linija /pisanie/

3-

Telinološke izvedbe enotranzistorske pomnilne celice

-Prva zelo široko uporabljena izvedba je tehnologija z eno plastjo silikona (single-level polysilicon), ki potrebuje pet standardnih mask.'*'

Slika 5. Ti'itranzistorska pomnilna lokacija.

Pri taki zasnovi služita tranzistorja T, in T-le kot stikali pri čitanju oziroma pisanju informacije, ki se hrani na kapacitivnosti Kadarkoli želimo spremeniti naboj (informacijo), je potrebno aktivirati eno ali drugo stikalo (T- ali Tb ) glede na zahtevano operacijo (pisanje, čitanje). Hezultat se odčita . ali spremeni s stanjem na informacijski liniji (bit line) - (slika 4).

Slikà Principielni časovni diacram tri-tranzistorske celice.

Ponuja se ekstremna poenostavitev pomnilne celice. Uporabljen je le en tranzistor (stikalo) in en kondenzator (spominski element).

Cm

r'

Informacijska linija T

Krmilna Unija

/ word line/

Uj

I.L.

Slika 6. Prerez pomnilne celico, izvedene z eno plastjo silikona.

Električna shema Je predstavljena na sliki 5. Tranzistor e silikonskimi vrati služi kot stikalo, drugi del silikona (v isti plasti) pa je uporabljen za kondenzator, ki hrani nt-boj. Tipične velikosti pomnilnih celic, ki jih dobimo na ta način,r.o 800yUm2, kar dopuSča izvedbe 4 K in celo 16 K pomnilnikov. Pi-imeri BO pomnilniki: KGSTEK hK.4096, rji 4027, oba 4 K in TI 4070 firme Texas Insti'uments, ki je primer 16 K pomnilnika (tako velikost so dosegli z racionalnejšo razporeditvijo, manjšim kondenzatorjem in kontaktom).

e resnično odprla pot do

- Tehnoloi',ija, ki 16 K pomnilnikov.

, „e izvedba z dvojno plastjo silikona (double-level polysilicon). Osvojili so jo že vsi vodilni proizvajalci pomnilnikov. Postopek omogoča mnnjee pomnilne coline, ker je kondenzator, ki hrani informacijo o stanju pod priključkom zn preklopni tranzistor. 1'rva silikonska plast je uporabljena za spominski kondenzator, drur.a pa za vrata preklopnof;;a tranzistorja. Dodatna prednost Je tudi v tem, ker je pri tej izvedbi infoimacijska linija difundirana. S tem pa ee zmanjSajo parazitne kapacitivnosti in otevilo povezav. Na povröini ostane le še krmilna linija, ki pa se ìahko uporabi za dve sosednji celici. Po drugi strani pa je ta tehnologija bolj komplicirana. Potrebni ata dve dodatni maski (skupaj 7 mask; difuzija za izvor in ponor, opitaksij-ska plast, obe silikonski plasti, kontakti in metal

^ k v ^ v v v v I. kiil^ ^

litanje„0"

pisanje .0"

iitanje „V

pisanje „1"

Slika 5. Enotranzistorska pomnilna lokacija in pripadajoči časovni diacram

čitanje in .pisanje je omogočeno s krmilno linijo Word line), ki odpira vrata tranzistorja, ütanje celice pa sledi stanju informacijske linije (bit line) - (slika 5). Ta celica ima Številne pomanjkljivoett:

- čitanje povzroči izgubo informacije

- hitrost je omejena

- signali so zaradi majhnih dimenzij kondenzatorja zelo majhni;

po drugi strani pa je celica:

- enostavna

- zahteva malo povezav (odpridn ena lini,ja)

- zavzema malo prostora.

Sodobni dinamični O- K"*" in le K bitni pomnilni-

n* Ivrata tnnd*nin>or V.'V'.V■•.■■■'. '

p -substrat

Slika 7. Prerez pomnilne celico, izvedene z dvema plastema silikona

+ 4 K bit - 4.2^^ = 4096 pomnilnih celic + maske določajo aktivni del substrata, na katernni i-.e izvršujejo posamezni tehnoloäki postopki.

Primer 16 K bitnega pomnilnika, izvedenega s tem tehnološkim postopkom de MOSTEK KK 4116.

- Pokažimo še zamisel celice, -s katero bi bilo možno realizirati 64 K bitne pomnilnike. Za tak pomnilnik Je potrebna celica velikosti 100 -200/tm2, ki Jo Je mogoče izvesti s CCD {char-

nima tranzistorja am

9*

ge-coupled) tehnologi Taka celica (slika 8.

pak le preklopno kondenzatorsko področje, ki je pod CCD vrati. Ta zelo kompaktna celica Je hitra kot posamezni tranzistor. Za shranjevanje naboja .je dovolj prostora, potrebni sta le dve liniji (krmilna in informacijska linija).

pomnilnd

prenos

0m

implantaclja

J «-

Inf. Unija

p-subs trat j

Kontrolna linija

SÌO2

Slika a. Prerez pomnilne celice, izvedene s CCD tehnologijo

Oba nivoja informacije sta dobljena z ionsko implantacijo. Podatek Je spravljen v enem od nivojev. Aktivna krmilna linija odpira vrata, ki omogočajo pretok informacije v obe smeri (čitanje in pisanje). Informacijska linija pa določa stanje celice.

Preostala vezja v pomnilniku

Večino površine aktivnega silikom zavzema matrika pomnilnih celic. Najboljše razmerje poraba moči/hitrost in zahteve po odčitavanju majhnih signalov, narekujejo simetrično zgradbo pomnilne matrike. Med obema polovicama so ojačevalniki informacije (sense amplifier) in vhodnb^izhodne linije, ki vodijo od vsakega oJačevalnika do vhodno-izhodnih vmesnikov (buf--fer).

- Ojačevalniki informacije so dinamično aktivni tako, da se ne troši nobena enosmerna moč. Zaradi take zasnove so podatki v eni polovici pomnilnih lokacij invertirani, kar pa Je internega značaja, ker dobijo pri izpisu zopet pravo vrednost.

V pomnilni matriki najdemo še posebne celice (dummy cell), ki dajejo pri detekciji signala referenčne napetosti za logično "1" in "O". Pri 4 K bitnem pomnilniku Je na vsako stran ojačevalnika informacije vezano 32 pomnilnih JokaciJ in ena referenčna celica (slika 9). Zeljena lokacija se izbere preko krmilne linije za dostop do lokacije (word line), ki vodi iz dekoderja. Celotna vrstica se prenese v ojačevalnike informacije, kjer povzroči naboj iz pomnilnega kondenzatorja prehod le-teh v nestabilno stanje, ki Je določeno z diferenco tokov I in I- skozi tranzistorja T in T- , Ta dva tokova pa sta odvisna od diference nivojev v pomnilniški lokaciji in referenčni celici.

Zaradi omejenih dimenzij kondenzatorja Je signal, ki ga Je potrebno zaznati, zelo majhen (200 mV). Za detektiranje tako majhnih signalov Je potrebna velika gbčutljivost diferencialnih ojačevalnikov. Ce vzamemo za merilo občutljivosti:

■ S/ =

'ob času delovanja ° ^

( V

K (V3 - V^ -

kjer Je K odvisna od tehnologije in velikosti tranzistorja (dolžina in širina kanala), V^ pa Je napetost praga, ki Je za določeno tehnologijo konstanta, sledi

° CV-V -VT). Vidimo, da Je občutljivost večja, čim večja Je napetost V , oziroma čim manjša Je napetost V^j^. Isti pogoj ustreza tudi minimalni porabi

raoči, saj Je v prvi aproksimaciji moč Po

Zaradi navedenih vzrokov tranzistor T« često spremljajo še paralelni tranzistorji (multigrountlj.ng path), s katerimi se doseže višja napetost V . Med odčitavanjem Je aktivirana le ena pot. p8 določeni zakasnitvi, ko Je stanje ojačevalnika informacije definirano, pa se aktivirajo še druge poti, ki znižajo V in Jasno določijo izhod ojačevalnika.

-Za pravilno delovanje dinamičnega pomnilnika Je potrebna množica internih signalov, ki Jih dobimo s krmilnimi in urinimi vezji. Na teh vezjih se generirajo določene zakasnitve za zunanjimi signali, ki krmilijo pomnilnik:

rIS, gIb, ČS, write. Njihovo vlogo bomo še opisali. .''

- Dekoder Je standarden, ima pa dodatne novosti, ki Jih zahteva moderna arhitektura dinamičnega pomnilnika (RAM). Uporabljen Je le en dekoder za dekodiranje vrstic-in stolpcev. Adre-siranje Je razdeljeno (časovno multipleksira-no) tako, da se o"o prvem signalu RAS (Row address select) izbere preko dekoderja odgovarjajoča vrstica v pomnilni matriki. Nato pa se ista vezja ob nastopu zunanjega signala CAS (Column address select) uporabijo za izbiro zahtevanega stolpca (na križišču stolpca in vrstice Je željena pomnilna lokacija).

Z

- V

DS

- Vhodni vmesniki (buffer) sprejemajo adreso in druge krmilne signale s standardnim TTL nivojem. Zato Je potrebna posebna zgradba teh vezij (slika 10.), ki omogočajo enostavno uporabo dinamičnih MOS pomnilnikov v standardnih sistemih.

M.

h'

VHOO

h

h

Vhodni vmesnik dinamičnega pomnilnika

Slika 10.

in

58

-1

, ' Ch

JLf3

'«»O Ch.

"H» -1

K».

Izbira stolpco

aiika 9. Shematični prikaz pomnilniške matrike

Kanala tranzistorjev T, in Tp imata razlifine dimenzija. To^omogoSa aetekcfjo logične "1" oziroma "O". Ce Je na vhodu logični nivo "1", dobi točka A potencial mase, kar določi stanje hietabllnega vezja. Ob vhodnem nivoju "O" pa Je stanje določeno z razliko v velikosti kanalov. Kanal tranzistorja Tg Je večji (tok čez tranzistor Je odvisen oa dimenzij), zato se Tp odpre in točka B dobi potencial mase. Preostali del vezja služi za invertiranje signalov, ker dekoder potrebuje tudi inverzne vrednosti.

- Pomembno vlogo v pomnilniku imajo tudi izhodni ojačevalniki, ki detektirajo in ojačijo informacije iz dinamičnega pomnilnika. Njihova hitrost Je odločilnega pomena pri skupnem času dosega (access time) celotnega pomnilnika. Osnova izhodnega ojačevalnika Je podobno kot pri ojačevalniku informacije (sense amplifier) balansirani dvojček (flip-flop) z razliko, da Je tu smer preklopa določena s potencialom na vratih brcmencikih tranzistorjev.

- Jidino vezje, ki stalnotroši moč,Je vhodna stopnja za prvi signal iUC, s katerim se zač

ne pomniln v MOÜ (12V

cikel. To vezje pretvori m (5V) nivo in s tem naznači začetek za

kakršno koli aktivnost pomnilnika.

5. Funkcionalni opis delovanja dinamičnega pomnilnika

Zunanji sigpal označi začetek vsakega pomnilnega cikla. rE se na HOS nivo prilagodi in generira več internih urinih signalov, ki pripravijo pomnilnik za nadaljnje operacije. Prvi signal aktivira vhodni register za prvo polovico adres. Po dekodiranju in izbiri željene vrstice v pomnilni matriki se aktivirajo Se referenčne (dummy) celice na nasprotni polovici pomnilnika. Vhodni register ee resetira. Zadnji signal v prvi sekvenci pa aktivira So ojačevalnike informacij, ki se postavijo v

+ RAM (Random Access Memory) - ta izraz pomeni, da Je možno ob vsakem trenutku adresirati katerokoli pomnilno lokacijo.

pravilna stanja in a tem osvežijo (refresh) vsebino celotne vrstice.

Medtem Je potrebno zunaj pomnilnika z dodatnim multipleksorjem pripeljati na vhod drugi del adres, ki bodo izbrale zahtevani stolpec. Drugi zunanji signal CIS resetira izhodni register in povzorči visoko impedanco na izhodi (prekine povezavo med pomnilnikom in zunanjim svetom). Zopet se aktivira zaporedje urinih impulzov, ki povežejo zahtevano pomnilno celico z vhodno/izhodno linijo. Zadnji zunanji signal <3S (chip select) izbere del pomnilnika, na katerem se bo izvrSilo či-tinje ali pisanje. Ce tega signala ni, se nadaljnje operacije v pomnilniku onemogočijo,Do te časovne točke Je torej aktiven ceioten pomnilnik. Zato dekodirenj« CS, ki izbere željeni del pomnilnika ne vpliva na skupni čas designai WHITE izbira med Čitanjem ali pisanjem pomnilno lokacijo.

e gre za pisanje, se sproži paralelno zaporedje signalov, ki resetira in aktivira vhodne vmesnike in sprejme podatke, kateri se preko ojačevalnikov infonnacijo (sense amplifier) zapišejo v izbrano lokacijo na križiSču stolpca in vrstice.

Pri čitanju Je smer pietoka podatkov obratna. Ko Je na izhodni liniji prava vrednost, Jo izhodni ojačevalnik sprejme in po določeni zakasnibvi prezentira zunanjemu svotu. Konec cikla označuje neaktivni RAS ne glede na stanje c23.

- Poleg navedenih običajnih operacij Je možno pri sodobnih pomnilnikih Se zaporedno pisanje (čitanje) v isto vrstico. To Je izvedljivo zato, ker 5133 po končani operaciji Inicializi-ra vhodni vmesni register in pri tem ne vpliva na izbrano vrstico, ki Je določena s stanji oja^valnikov informacij, kar omogoča ponovni CE cikel (page mode).

- V določfinih časovnih intervalih obnavljamo vsebino pomnilnika z aktivnim 1ÌAS, ki Je edino potreben pri tej operaciji. NovejSi mikroračunalniki (Z-PO) interno generirajo ta signal, tako da v tak sletem lahko brez dodatnih logičnih vezij vključimo velike pomnilnike.

I

Pomnilnik se osvežuje v času dekodiranja operacijske kode instrukcije (to je v dostavnem ciklu mikroraSunalnika), tako da se zaporedoma obnavljajo vsebine celih vrstic. Za ta proces jjapetost V (+5V) ni potrebna. Ce želimo, aa nam pomnilnik opravlja samo funkcijo ohranjevanja informacije, lahko napetost izključimo.

cc

6. časovni diagrami za dinamični pomnilnik

Za konec poglejmo Se tipične časovne diagrame, ki so potrebni za pravilno delovanje pomnilnika. To poglavje naj nam približa in uskladi prejšnje opise, zato jih podajamo brez dodatnih pojasnil. V časovne diagrame so vnešeni le važnejši časovni intervali. Natančne opise diagramov pa je mogoče najti v priročnikih za dinamične pomnilnike.

i MB

TOTE

m

l>m

±&

.Um.

M.

JL&u-

m

fllS

Caš

.tAiH.

§

časovni diagram II : A) zaporedno čitanje

b) zaporedno pisanje

.tfH.

tl«N

a

ictA ,

ygmmmm^m

>PIU

mmm^.

m

_ÌAA1L

•4

mI

tate.

mmmsmm

mmmmmm^mmmmsmm

časovni diagram III : Osvežitveni cikel

Časovni diagram I ; A) čitanje B) pisanje

7. Zaključek

Razumevanje delovanja dinamičnih MOS pomnilnikov je v pomoč vsakemu načrtovalcu, predvsem pa tistemu, ki se ukvarja s posebnimi načini uporabe pomnilnikov (testiranje, DMA, itd...). V članku je podana osnova, ki je potrebna za dobro projektiranje in razumevanje delovanja dinamičnih pomnilnikov.

8. Literatura

1. C. Kuo, K, Kitagawa, D. Ogden, J. Hewkin: 16-K IlAM bullt with proven process may offer higl start-up reliability. Electronics, Maj 1976, str. ei-86

2. G. Landers: Choosing among 4-K MOS RAM . , Electronic Design, Junij 1976, str. IJg-l'tS

oemiconductor Memories (edited by David A. Hodgoa), Port III, str. 69-1^6

MOSTEK 1977 Memory products catalog. Copyright 1977 by Mostek Corporation.

Informatica št. 2 letnik 1977

60

linking fortnan and assembly language programs

henvé tirefond

Motorola Ine.

1211 Geneve 20, Switzerland

»lis article dencribes three methods of solution of procrajti linkflce for programs written in Fortran and in assembly lanciioce.ij^ch problema arise when control prograjns for peripherals (A/D converters,line prWiters.eto.) are to be writton.These progrnuro are usually written in an assembly lanGuaße.This article eives a method of culline a Fortran proeram from fai assembly loncuace program,two methods of callinc an assembly routine from a Portrnn program are described.Besides,the way of data (arguments ) exchange between the two types of program is explained.

POVEZAVA TOUTRAHSKI.n IN ZBTRNlIt PROGRAMOV. V članku so opisane tri. metode za reSevanJe problema povezovanja pro -gramov,zapisanih v ptortranu in v zbirnem jeziku.3 takimi problemi se srečujemo,ko moramo sami pisati kontrolne pro -grome za periferne naprave (A/D pretvomike,vr3ti5ne tiskalnike ipd.).Te programe piSemo običajno v zbirnem jez?ku. Opisana metoda klicanja fortranskega programa iz programa napisanega v zbirnem jozllm in dvo metodi klicanja zbirnih rutin iz fortranskega programa.Poleg tega je opisan način izmenjave podatkov( arGumentov)mod obema vrstama progrEt-mov.

UDK 681.3.06

PROBLEM DEFINITION

Since the Fortran language i8 not al\way3 suited to handle the nriany tasks to be perrormed in a program. It te orien desirable to use ono or several assembly language routines to implement them. This Is especially the case when dealing with peripherals whose drivers ore not included in the compiler (peripherals other than the console, line printer, disk). The user is then required to write his own assembly program which nnust make provision for initializing the I/O adapters specific for this application and for exchanging data through them. Furthermore, in order to keep consistent with the data types defined in the M6000 Fortran (ie-bit integers and 3a-bit real nunnbers), the assembly routine Is also required to format the data exchanged with the peripherals. Therefore, the linkage Implies that a technic be used which, on one hand, allows for one program to be called by the other, and on the other hand, which permits the mutual exchango of data (arguments) between each other.

This paper describes three solutions which may be usod to cope with the linkage problemi 'wo of them explain how to call for an assembly routine from a Fortran program, while ti^e third solution presents how to face the inverse situation, I.e. how to call for a Fortran program from an assembly language calling program. I3ue to the fact that one of the problems Involved in the linkage is to make provision for formatting data. It looks uselVjl to recoil the data structures which agree to the computer.

1.

Floating-point representation

The base being used is hexadecinrial, hence any real number X may be expressed as a equal toj

X - <+/-• XIX2X3X4X5X6)-^'6^

where X stands for an hexadecimal digit and E for the signed exponent of X. The actual value represented ist

3. CALLING AN ASSEMBLY ROUTINE FROM A FORTRAN PROGRAM._:_

This method utllzes the Fortran "CALL" statement to call for the assembly language routine from a Fortran calling program unit (main program or subprogram); consequently, the assembly segment is regarded as a subroutine and must terminate with the RTS Instruction (Return from Subroutine).

The argwnrventa (data needed to the assembly program or returned by it) may be passed in either of two ways.

FORTRAN DATA TYPES

The M6800 Fortran connpller handles two types of numbers:

- Integers.

- real or floating-point numbers.

Each data la Implicitly defined «e «n Integer or as a real depending on the first character of the aymtwllc name attached to It. By convention, any symbol starting with I, K, J, t_, M, or N defines the data It represents as an Integer which consequently is internally stored as a 16-blt quantity In the S's complement form.

Any other symbol defines a data as being a real number which is stored on 4 bytes according to the floating-point representation illustrated below (note that the compiler makes use of the noatlng-point math package listed In program No. SB of the User Group Library).

MSB LSB

n.

3.1. Passing the arguments in the ar^nrwnt I let The general form of the CALL statement la aa rollows; CALL NAME (Arg-ßl, Arg./2.....Arg*J

where NAME Is the label used In the latMl fiel d of the first Instruction In the PSCT (Program section) of the assembly language program, and Arg.jt^ 1 are the actual arguments needed to or returned by the assembly subprogram. This latter has the followlng structure; -

file rel

name

run

LABEL 1 L^BEL a UVBEL n

NAM

opt

xdef

xref

osct

RMB 2

Rft^B a rms a

optional reservation In this section for the temporary storage of data, if required

psct

jsr fob fob

2'B complement exporwnl

sign of rriantlssa

Mantissa (magnitude form)

run+1b label 1 label a

The IMO modulea may be written as followsi

LABEL N O

FDB FD8

Instructlona to perform the desired task and to pass arguments

RTS END

The rules wihlch apply are listed below:

1. The assennbly routine is to be processed by the macro

assembler since the generation or a relocatable object, code is required (OPT REL).

8. The programmer must indicate to the assembler that the

label NAME Is derined within the assembly segment so that It may be referenced In the Fortran module (XDEF NAME).

3. The RUN package of the Fortran library being used during the execution of the final program, one must Indicate to the assembler that this package is external to the assembly segment (XREF RUN).

4. The programmer must. In the data section (DSCT), reserve two bytes per argument, that will hold the address of the argument at the time of execution (and not the argument

itselO. .

B. The starting address of the program section (PSCT) must

be identified with a label which Is the same as the one used as subroutine name in the Fortran calling statenr^nt (name)i

6. Right after the JSR RUN+15 instruction, the programmer

must reserve and initialize (FDB LABEL 1,..., LABEL N) two bytes per argument to indicate where the address of the argument may be found. The list ends with an FDB O directive. , , ,

Appendix F of the M6BFTN resident Fortran manual shows an example where this method is utilized.

3.2._Passing the arguments via the common section.

Declaring an array by the COMMON statement causes the compiler to reserve the corresponding amount of bytes In the common section (CSCT;). a straight forward fashion of getting hold of the arguments in the assembly language subroutine Is thus to provide, within the assembly module, a CSCT directive to direct the nriacro-assembler to reserve the same amount of bytes as the one needed in the Fortran calling program. It should be noted that, this time, the reservation applies to the arguments themselves and not to their address as previously (see 3.1)." Therefore 2 bytes will be reserved, for integer, whereas 4 bytes are needed to code an argument defined as real In the Fortran section.

The general form of the calling sequence Is as follows: COMMON A, N, rrEM(S), REAL(2) CALL ASSEM

COMMON ICOUNTT DIMENSION ITEM (10) DO 10 I - 1,10 CALL COUNTR ITEM_(I) - ICOUhfT

sort routine

; PIADA PIACA PlADB PIACB

ICOUNT

assembly language subroutine

NAM ASMBLV OPT REL XDEF COUNTR EQU $ 8004 EQU $ 8005 EQU $ 8006 EQU $ 8007 CSCT

RMB 2 PSCT

>

initialize pia

COUNTR LDA A 4

STA A PIACA STA A PIACB LDA A PIADA LDA B PlADB STA A icour-rr STA B ICOUNT + RTS END

read MSB read LSB

4. CALLING A FORTRAN SUBROUTINE FROM AN _ASSEMBLY LANGUAGE PROGRAM. _

The arguments. If needed, are again passed via the common section, the Fortran program unit is a subroutine. '

The general forms of the modules are the following;

a) Assembly language program;

NAM PGM OPT REL XREF FORSUB CSCT

optional reservation If required PSCT

START LDS STACK

put argument if any In CSCT

JSR FORSUB retrieve arguments If any In CSCT

END

b) Fortren sutTOuttne;

Fortran caning program

10

SUBROUTINE FORSUB COMMON -, -, -,

(declare arguments Involved In 1 Inkage)

return end

Where ASSEM Is the label used In the label field of the first instruction In the PSCT of the assembly language subroutine and A, N, ITEM (2), REAL (2) are the arguments that may be shared among the assembly and the Fortran modules. Assuming that all of them are shared between the two modules, the assembly subroutine will be written as indicated below: NAM FILE OPT REL XDEF ASSEM DSCT

optional reservation If required within this module

Fortran subroutine

SUBROUTINE TEST COMMON ITEM IF (ITEM - BOOO) 1, 2, 2 PRINT 9

FORMAT CCVERFLOW) RETURN END

CSCT

A

RMB 4

real argument

N

RMS 2

integer argument

ITEM

RMB 4

2-integer table

REAL

RMB e

2rreal table

PSCT

ASSEM

Get or return argumente and perform the required task

RTS END

As an example, consider an application In which 10 le-blt values are read from a counter connected to a PlAand processed by the Fortran section which, for instance, stores them in a table to be sorted later on.

As an example consider a program In which the assembly language main routine reads a 16-bit value from a PIA and calls for a Fortran subroutine which prints out the message "OVERFLCW" whenever the data Just read Is greater than a reference value.

A. As&eimtjìy lanpuape program;

NAM PGM

OPT REL

XREF TEST

PIADA

EQU $ B004

PIACA

EQU $ 8005

PlADB

EQU % 0006

PIACB

EQU t B007

CSCT

ITEM

RIWB 2

DSCT

RMB 40

STACK

EQU •

PSCT

START

LDS STACK

LDA A »4

STA A PIACA bj

f

STA A PlAca

LOOP

LDA A PIADA

LDA 8 PlADB

STA A ITEM

STA B ITEM + 1

2

JSR TEST

S

DRA LOOP

1

END

Informatica št. 2 letnik 1977

62

fonction de tri croissant et de tri decroissant api mitra 15

d. davčev

Elektrotehnički fakultet , 91000 Skopje

UDK 681.327

Le but de oet article est de presenter I« rialisatlon d*opérateura de tri orolaaant et de tri dSorolasant APL Mitra 15. dans les conditions d'tme mémoire virtuelle implantée sur un petit calculateur (52K mots-Oll-Mltra 15).Nous avons utillsé un algorithme de tri interne.Les mesures qui oaraotérieent les opérateurs de tri croissant et de tri dScjroissant sent résumées sur la fig.9 et 10.

FUNKCIJA NA RASTJiČKO I NAMALUVAČKO SORTIRANJji APL MITRA 15» Celta na ovoj trud e da ja opiše re-alizaoijata na operatorite na rasteSko 1 namaluvačko sortiranje APL Mitra 15 ,vo uslovi na vir-tuelna memorija implantirana na eden mal kalkulator (3ÜK zbora<-OIl-Mitra 15).Pri toa e upotreben eden algoritam na interno sortiranje.Merenjata koi gi karakteriziraat operatorite na raateSko i namaluvačko sortiranje se rezimirani na 81.9 i 10.

INTRODUCa?ION

Si X ost un vecteur, reprSsente un

v«cteur d*indices de la méme dimension qua X, Les valeurs du vecteur Z sont dea indices des éléments de X dans un ordre croissant, Soit ,par exemple i

-5 8 1 100

z*

Z

1 5 5

Si X oontlent des éléments identiques. les Indices de ces iléments sont determines selon la position de ces éléments dans X. Par example i

X4-2 ^ ü 8 13 2 4

La fonction de tri décroissant fait un classement dana un ordre descendant.Sans l*exemple précedent, on a s

4 2 1 3

Sono, le résultat de ces opérateurs repré-sente toujours une permutation dont les éléments sont des Indices des éléments de l*opé-rande droit,

Puisqu'on travaille dans les conditions a*une mémoire virtuelle, nous aliens utlliser un algorithme de tri interne qui dolt avoir les caractéristiques suivantes i

1.La seule variable APL construite qui sera utilisée pour toutes les transformations dolt étre la variable du résultat.

2.Le nombre de comparaisons dolt étre minimal

3.L«opérande droit doit étre sauvegardé sans aucun changement de ses éléments. ^^.L•o^d^e originai des éléments Identiques dolt étre préservé.

5.Le nombre de défauts de pages dolt ètra minimal.

Brawn et Guatavson (B,3,,B,4,) ont montré qu*un programme de tri doit avoir le plus petit "Working set" (D,3.,D.4.) possible , pour obtenir des performances satlsfaisanres dans une mémoire virtuelle.La fusion de la liste d'indices peut eatisfaire les exigences qui ont été posées pour la réalisation d*opérateurs de tri croissant et de tri décroissant. Tous les échanges sont effeotués dans la liste, l'ordre originai des éléments est préservé et l'espace supplémentaire utillsé est égal à n+ 2 ,ce qui est le minimum possible.

Après avoir obtenu la liste d*indioes, il faut résoudre le problème inverse d'une permutation.Nous montrerons un algorithms qui fait l'inverse d'une permutation avec la méme varlable.Le temps d'oxécution de cet algo -rlthme est proportionnel 4 "n*.

Pour évlter le plus grand nombre de défaut de pages, on va transférer l'opérande droit et ses pages sur disque car on n'a plus besoln de cette variable t toutes lea transformations aeront effectuées stir la variable du résultat,

L'ALGORITHMK

La première partie du programme contlent un sous-programme qui va déterminer les parcours qui existent dans l'opérande droit (sequences dans l'ordre croissant),De cette manière, il va fixer le nombre de séquences pour la fusion,Si les éléments sont déji dans un ordre croissant (par exemple un J-vecteur APL), la sortie du programme est immediate (il n»y a pas de séquenoes à fusionner),

Soit JL^) t i > 0,1-2,...,N,N + 1 l'ensemble des éléments de la liste qui sera construite sur la variable du résultat t(Cj^) ; i - 1,2,

l'ensemble des éléments i trier de l'opérande droit.

liste est obtenue de la maniere suivante i

Ä f^^l^Lj^*- i + 1

on « la fin d«un paLrooura;on va

atooker dana L^ une valeur negative dont la valeur abaolue va ditarmlner la tište du par-coura suivant.On va constituer dou* liste« d*élimanta dont 'la fin est marquée par un ziro, cbaque liste contenant pluaieura parooura qui finiesent par un pointeur nÄgatif.Le boub programme utilise deux pointeurs p Ét t.Le pointeur t determine la fin de cheque paroours, le pointeur p passe la liste entière.L et Lj, . oontiennent les tStes de deux listes dont löi-^parcours seront fusiomiéa.Soit t S^a, L'organigramne de oe programme est prisenté wxc la fig.l.

3oit, par exemple t e 4- ? 20J1CX)

49 75 J5 :J7 } 65 7.1,30 A'/ 35 ") 0 21 Ji 50 20 l. 03 21 58 yj

Le résultat du programme préoédent est presenti sur le fig.JL»

On a obtenu doux listes de quatre parooura qui seront fusionnis entre eux t

Proiatòira liato 1,2

5, G

a,9

12,13,1-1 10,17,0

Dcuxlòr.io liste 3,4 7

10,11 1 5

1Ö, 19,20,0

L*étape sulvante aera la fusion de oes parooura.L'éohange sera effeotuie «vec les élé-ments do la liste, en fonotion de la fusion dea parcours.L'organiCTamme de oe programme est présente sur la fig.^.11 utilise quatre pointeura p,t,B et q.l,e8 pointeura p et q ppintent sur les deux parooura qui abnt en ooura de fusion,

Dana notre exemple le diveloppement eat pré-senté ejp la fig. 3

Après L. on a les paroours suivants pour la fusion t

Ilouxliirao liato

5,7,6 15, 12,13,14,0

l'rcniii'iro liato 3 , , 1 , 2 a , 1 0 , 1 1 , 9 Hi,13,19,17,20,0

Lj^ repréaente les deux liates qui doivent fitre fusionnies

5 , 1 5 , 1 2 , a , 1 3 , 3 , 1 0 , .1 , 11 , 9 , 1 , 1 , 7 , 2 , (>, 0 • ■ If,,

1 «, I V, I 7, ;:i), O

Maintonant, il faut tracer la chalne du dibut Juaqu'a la fin en renpla^ant lea pointeurs par leurs positions relatives dans la liste (le premier élrfaent de la liste èst remplacé par 1 ,le deuxieme nar 2, eto,),I« résultat est une permutation F .11 faùt réaliser ausai l'inveree de cette permutation.Four obtenir oat inverae, on a besoin de mettre des va-leura nigativea au lieu des valaurs poaitivea dans tous lee eaa ofi i »< P^. L'organigraame de oe prografime eat prieenti Bur la fig.e.

Dans notre exemple ,on va obtenir la permutation P^ (fig. 5.). '

Dono,on a obtenu une permutation P telle que €'(P) - C (1)

ofi e' contient les ilénents de C dana l'ordse croissant.il faut obtenir une permutation F* telle que i

C(P')-€' (2)

Soit ivPV l'inverse de P» .où P»(ivP*) reprisente une permutation identique (1,2,^,... •to).Alora,e'(ivP') " C .Puiaque noua avons trouvi uno permutation P telle que t*(P) » C . la relation (2) aera satiafaüe.si P' - ivP. Dono, il faut rialiaerl*inverae du riaultat actual.Les valeura nigativea vont indiquer les oomposantes des cycles qui ne sont paa encore inversis.Dans tous lea cas où 1 • P. 11 n'y amra auoun ohangement.L'organigr^amme de cet aigoritbme est priaenti sur la fig.S* Dans notre exemnle on va obtenir le resultat qui eat prisente sur la fig. 7. On a obtenu una liste d'indicea d'iliments de I'opirande droit dana I'ordra croissant i

16.5,15,12,18,8,13,3,10,4,11,9,1,1^,19,7,2,17, 6,20

Pour iliminer lea premiers (i-0) et dernier (i>N4-l) ilimenta de oette liate, on a modifii le descripteur (voir D,2,) de i'opirande droit

NBüL.RVJiO*—N

ABASÄ <— 1

Le mSme programme a iti utiliai. rour l»opi-rataur de tri dicroiasant | son resultat eat le -miroir" du risultat du tri croissant , aauf povir lea iliments igaux, qui doivent reater dana laura positions originalea« pour oela, on fait un teat de I'opirateur event la oomparaiaon des iliments de ^I'opirande droit.Pour le tri dicroiasant, à la fin du programme, le deacripteur de i'opirande droit est modifii da la manière auivante i

UKL<

-UtL

AMiiU*-!t

Lea mesxires qui oaraotiriaent lea opirateura de tri croissant et de tri dicroiasant sont risumies sur les fig. 9 et|0.

CONCLUSION

On a vu que le nombre de oomparaisOns nioes-saires pour trier n iliments n'eet paa un aeul oritžre de l'efficaciti d'une mithode de tri. Le nombre d'iéhanges ou de diplaoements d'iliments ou d'indices et l'espaoe nicesaaire aont igalement dea meaurea de l'efficeoiti d'une mithode.D»autre part, dans les oonditions d'une mimoire virtuelle^le taux de difaut de pagea eat une mesure très importante qui caractirise un algorithme de tri.Ui dana un intervalle de temps virtuel, l*enaemble dea pages rifirencies n'est pas trop grand,o'est--Ä-dire le "Working set" n'est paa grand, lea difauta de pagea aeront moina nombreux. Le taux de difauto de pagea a raontri qu'il exiflte une taille de memoire en deaaoua de laouelle le nombre de difauta de page est tres ilevi par uniti de temps{la taille de la mémoire eat un critére plus important que l'algoritbme choisi.

BIBLIOGRAraiB

A.l.ACM Sort symponium,PrincetonjNew Jersey, Sorting on Computer,Comm.of the ACM 6,n 5 , May 1965

B.l.Belady,L,A.,l'alermo,P.P.,On line Measwe-ment of Peging Behavior by the Multivalued MIN Algorithm,™ J.Rea.Develop.,Jan.l974 B.2.BoBe,R.C.,Nelson,H.J.,A aorting problem, Journal Sf thè ACH T^ü .April 1952

B.3.Brawn,l.8.,0uataTaon,7.a.,N«akln,£.S.,

Sorting In a Faging JsiavlroniMnt.Coui.of tha ACM 13, n®8.1970

B.4.BrawB,B.S.,0uataTaon,?.0..Frogram baba-Tior in a paging «nvlronmaut.ffall Joint Oo»-putar fontaranoa. 1968 I>.X.SaTČav,D.,Th4aa da dootaur ing4niaur i Intmpritaur AFL «ur Hitra l^.Onivaraiti da Paria,1975

D.2.DavSaT,D.,Mémoira virtualla at la teohni« qua d'optimiaation adaptie 4 l*interprétaur APL Bur Mitra 15,Informatika n°l,1977 Đ.3.Denning,P.J.,Tba Working eat nodal for progranuning behavior,Comm.of the AOM 11,1968 Đ.4.Đanning,P.J.,Sohwartz,S.C.,Fropertlea of the Working sat Hödel,Com«.of the ACM 15,3, 7«1•Flora■,X•,Computer Sorting,Prentioa-Hall, Ino.j^lewooi Cllffa,H.J.,l%9

aortls O.l.Gl

Ding,Tol.3,Add-We8le7 pub.Ooapany, 1993 L.l.lArin,B.,A guided bibliography to ao ting.IBM ayat.Journal 10,n"'3,1971 P.l.Frleve,B.G.,Uaing Page Reaidenoy to Seleot the Working aet ParaBeter,Coma.of the AOM 16,n®10 ,1973

W,l.Woodrun,L.J..Internal aortlng with minimal oomparing,IBH Byat.J,, n°3,1969

7«2.?lorea,I.,Analy8ls of internal ooaputer aortlng,Journal of the ACM 8,n 1,1961 0.1.Gliokaman,S.,Conoernlng the merging of ~ iia^^lan|th tape filea,Journal of the AOM

K.i.KnuthjĐ.E.,The_art of computer prograi»-

aor-

WArr

1

i-o

t

N+1

n

u

p +1

< P -- N >

oul

Lj -,_

0

LN —

0

l-N + l"

l-N+l

non

1 ! 63 I 21 58

10"I 20

C

0

A

h

3

5

G

1

a

10

VI

u

Vi

Iv

15

1

1/

17

20

il

'A

75

yj

Ö7

5

-l'i

hi

II

■•Jl

'iü

ZO

.1

n

n

LL

.(

I

"5

h

"7-

C

u

lo

II

"l'j

1

"13

-Vò

17

0

n

lo

0

I

"r*

0

4

7

-Vj

s

.10

II

IV

0

12.

IO

lo

l'i

n

0

5

5

7

6

h

'1

"ic

1

\'t

l\

f> 0

IO

0

\Z

13

lo

n

w

0

15

tr

1'/

C

IO

II

IO

0

1

13

A

•t

7

IZ

13

LO

n

ir

0

«

cr

I'r

17

IO

II

15

10

z

A

9

13

"i

IQ

12

5

G

7

0

0

Plg.2.

1

0! 1! 2! JI-I' 5! 6

7 ' 8

9 ' 10

11 1 12

|i3'i4'i5'ir,'-

.40 ' 75 i 35 1 37 i 3 1 85

74 .30 !

47 35

40 1 21

31 i 50 20 ; 1 I <

1.1

1 ; 2 ! -5 1 4 1 -7 1 6^-8

-10 , 9 t-l2 1 11

1 14 -16 rl8 1 17 ;

'j'J

"oi

»18.3

GljJiüD •

©,U—

s --J-

- 0

t -

- N -I-I

p -

- Ls

q -

Ut

. (Ttn )

®

L 1

I-

'■si s

I '

■* p

Q

P

Lp

non

—q

s - t

t -a—

— P

p <1—

-Lp

non.

0 )>

oul

X

-p ; q-J— q

r

non

>

q = 0

<

Figuro 4

L.. -- p ;

Pig.5.

1

O

1

t

3

h

5

G

7

a

S

iO

11

12.

13

\5

13

17

13

■A

r

\c>

14

17

10

11

15

zo

2.

15

A

10

0

>q

\l

G

u

7

0

0

'-"i.

!5

■|3

■17

-3

-io

-1

-n

-(3

S

■11

II

7

1'/

-/i

"i:

■5

■IS

20

0

66

(fpiiPAriT^

(Dr£['ArtT } 1

Q

- 1

1

T,ABASE-<-L(,

/

P, ABAS 1

» premiera

lecUrt

« Iccturo

N

--0

AOASE

1

■ N

N + 1

1

(A)

L(ABASE)

<jh;DICATEURCARRY FALSE = p

<CZIl>

OUI

non

-\ (A) < O

>

Q-J--O

E

«stockaga

out

M02, ABASE

--(A)

M01

— N

-L (ABASE)

L (ABASE)-«!— M01

non

M02 = N

<

>

oui

non

M01, ABASE- P

Q. -, -L (A3ASE)

L(ABASE)-a-M02

Pig.e.

C P ' M )

M01 = N

<

>

non

M02, ABASE —

- 0

Pig.8.

1

0

-1

I

3

4

5

S

7

0

1

IO

II

13

l'»

15

IG

:7

13

l'I

20

il

Pi

IS

"13

-17

"8

-[0

■2,

"o

-12,

-q

II

-1

li-

-la

"5

"in

?.o

£

IS

15

/1

7

5

IG

Z

17

15

a

3

l'i

Ö

IZ

10

Fig.7.

er

v; àc'ioontìjvi

C...) -

ilifl

iiri"

^i'i

'iil

jii

t:','.'. liiii

iiiii:'::

<!k

Informatica št. 2 letnik 1977

68

linguistics and autonnatic processing of texts

petr sgall

Charles University Prague, Czechoslovakia

UDK 681.3:801

A svstem designed to construct and update an automatic encyclopedia must be based l.a. on a systematic description of natural lanfu fn fufing al^e iflcation of a disambiguated (tectogranr,atical) language and ^ertl «of

language and the surface structure of natural languages. The paper g ves a characterization of some of the properties of the tectogrammatical language constructed by the Prague group of algebraic linguistics.

rnzvitecfl v praöki Coli olcebrskc ImEVictiko.

It is possible to imagine a situation where the authors writing about, say, electronics, or chemistry, etc., will be ađviseđ not to use sentences longer than twenty words, the pronoun which without a preposition, the conjunction M in positions where because can be used instead, etc.; otherwise their texts will not be understood by the system designed to construct and update the automatic encyclopaedia of the given branch of technology, and customers using this system as e source of their information probably will not find and use the author's results. The general shape of such a system is more or less clear today, as far aa its division into three main parts is concerned: (a) the brain, which organizes the whole repertory of data (including definitions, theorems, fact as well as bibliographical information, etc.), finds the proper place for new bits of knowledge, if they are included in a text correctly presented, and finds proper answers to the questions asked by users of the system; (b) the enelysis, which takes, aa its input, text end also questions - both in natural language mixed with formal notation, to which we are used from the present-day technological periodicals - and presents, at the output, their disambiguated translations in a language the brain can directly use; (o) the synthesis, translating the answers delireved by the brain from that language into English, Czech, or Chinese, according to the needs of the customer. As for the analysis and the synthesis, they must, we suppose, be accounted for first of all by linguistic means.

There are three main questions concerning the linguistic aspects of systems of the kind characterized above: (i) the language of disambiguated information, used as input and output language of the brain, must be designed properly; (ii) an algorithm for the synthesis, i.e. for the translation from this to the natural language, as well as

(iii) for the analysis of the text in natural language and its translation into the artificial language must be constructed.

The following three hierarchies involved in the syntax of the sentence of a natural lan-guogp are semantically relevant and must be rendered unambiguously in the tectogrammatical language:

(1) the hierarchy of predications (and depre-dications), or of predicates and their arguments (participants, cases); in Mother read the letter aloud to the children, who wondered it really contained all the news, we have the main predicate read with its participants -actor Mother, objective letter, manner aloud and addressee children, while this last item itself governs the embedded phrase having wonder as its predicate, children (aubstitu-ted by the pronoun who) as its first participant with the second one having the shape of another clause with its own predicate, etc.;

(2) the hierarchy of topic and focus, including a scale of "communicative dynamism", which is not exactly identical to the distinctions between what is/'given" and "new", since, for instance in It's better to give it to her than to him, the pronoun her refers to someone known, but the pronoun itself is included in that part of the sentence which ia presented as a piece of new information, and n9t mentioned only to be activated in the hearer s memory and connected with some new information;

(3) the hierarchy of the so-called delimiting features of noun phrases, including their đe-finiteneaa, generic use, inđefiniteneas, etc.

In order to account for these three hierarchies, the tectogrammatical language employs the following assumptions:

(1) The representation of the sentence on the tectogrammatlcal level ;(henceforth the semantic representation, SB) has the form of a dependency graph, with the verb as its root. The nodes correspond to word forma and the ed-gex (connecting the two members of a syntactic pair) to the relations of syntactic dependency (e.g. actor, object, dative, instrument, adverbial of cause, locative, etc.)

(2) It is assumed that the participants of a verb are ordered, essentially (i.e. in sentences where intonation is not superimposed on word order, so that the intonation centre is carrièd by the last lexical item), according to three factors:

(iT an inherent order of the participants determined by the language system;

(ii) topicalizetion of a participant which, according to (i) would occupy a right -hand position in the ordering, but, being only mentioned as contextually bound, i.e. already known from the previous context or situation, carries a lower degree of the so-called communicative dynamism, which can be regarded as the "deep word order"; in this way the left-to-right ordering of major aymbols In an underlying P-marker would get an appropriate interpretation (it would not be left uninterpreted, as in one variant of Fillmore's case grammar);.

(iii) rules of grammar, according to which an adjunct NP muut follow its hesd NP, an object follows its verb (if not paosivized), etc,

(3) The SB of each sentence is marked (by the superscript b) as to which elementa are contextually bound and which are contextually non-bound.

(4) Aa for the position of the verb in the SB, we assume that it always stands between its contextually bound end contextually non-bound participants. Therefore it is possible to employ a notation in which the position of the verb does not correspond directly to ite degree of CD but the verb, as a predicate, is put to the left of its arguments,i.e. of the participants and adverbiels:

.b .b

An experimental version of generative rulea has been used to derive automatically the semantic representations. The generative component has the ahapa of a context-free phraae atructure grammar; it is simplified from the empirical point of view in that the variation in communicative dynamism (the va-rioua types of topic/commenl articulation of a sentence) is neglected and only one "deep word-order" for each type of construction is generated.

Complex non-terminal symbols of the grammar

are ordered n-tuplea (X X^.....X„) where X,

is the so-called name,symbol, i.e. a name ^ shared by a certain class of non-terminal symbols of that class, X^ .....X„ are indices specifying individual non-tePminal aym-bol-namea. Similar atructure characterizea a terminal symbol, as well.

The syntactic relations between complex symbols (each of which comprises a lexical unit together with its indices or grammatemea) are accounted for by means 'of functors denoted by B with a subscript. In the experimental version of the description six such functors are distinguished: B for the relation of agent to the verb, B ~ror that of patients, Bj^ for the indirect object (dative), B^ for the so-called second object, B^ for the free (adverbial) expansions, and B^ for a zero relation (as e.g. with the vocative case). In a more recent version of the tectogrammatical representation the functors are differentiated to a greater extent, the adverbial rela-tionahip (formerly denoted only by different grammatemes of the shape det^, accompanying the lexical symbol connected with the verb by being denoted by different functors, such as Bj , Bji , etc. The gremmate-

mes of the shape aeti now account only for semantic variation inside a given adverbial (e.g. a noun connected with its governing verb by means of Biqc accompanied by

one of the grammatemes , «Jet . ,

detw-., , etc.; the/unctoW fof temporal adverMal can be combined with a aemantic variation comprising simultaneity,precedence and subsequence.

The expansions of the verb are divided into inner and free ones; the former are either obligatory or optional. On the base of whether a verb has a given expansion as an inner one (included in its verbal frame, in Fillmorian terms), whether this expansion is obligatory or optional, and to what type of expanaion (with what functor) it belongs, we distinguish, in the experimental version, 15 classes of Czech verbs. The clasaea are mutually disjunct (so that a partition on the class of all described verbs is defined), and the membership of a verb in a class is denoted by the value of one of the indicea accompanying the lexical symbol of the verb.

The tranalation of the semantic representation to the graphemic level, i.e. its transduction to a sequence of Czech word-forms is realized by means of several stepa. In the first of them, the semsntic representation is translated to the phenogrammatical (surface syntactic) level; the functors, corresponding to the relations between e governing and a dependent lexical item at the tectogrammatical level, are changed here into symbols (grammatemes) for sentence parts; in this connection, the choice between active and passive is made, aa well as between a dependent clauae, an infinitive, a nominalization, etc.; the semantic functions (meanings) are substituted by the meann realizing them at the next lower level.

The second step consists in the translation of the representation to the morphemic level; the meanings of place, time, cause etc. are changed here Into the morphemic forms reali* zing them (prepoaitional phrasea etc.); furthermore, the morphemic units of tense, aspect, gender, number etc. are choaen here. The ru-lea of morphemic ayntheaie tranalate then theae morphemic repreaentationa into aequen-cea of Czech word forma (with caae inflec -tiona, peraonal encinga etc.) correaponding to grammatical aentencea; at laat, the graphe-mic ahape of a aentence ia achieved, which expreaaea the meaning that waa repreaented by the given input atring of the trenaductive componente.

The aequence of computer programs performing thia tranaduction la baaed on the formal pattern of puahdown tranaducera. The main program of each atep ia conatructed on the baaia of the defining function of auch a tranaducer (aee SC3AL1, et al. /1/, pp. 40f, 60f, 76 ff ), where by meana of a aingle pasaing through the given repreaentation of a aentence the changea neceaaary for the tranaduction to the next lower level are enaured, while every dependent word (rectum) ia confronted here with ita governing word (regena). The reaulta of auch a confrontation (firat of all, modi-ficationa of the dependent word according to relevant propertiea of ita governor) are , given in the form of large tablea, repreaented aa aubroutinea of the main program, activated alwaya when the two membera of a ayntactic pair are confronted, one of them being read at the input of the tranaducer and the other being at the acceaaible end of the puehdown atore. The large aize of the tablea mak^ it neceaaary to have specific subroutines (a) for the identification of the typea of word forms figuring as namea of rows and (b) as names of lines and (c) for the identification of the result found in the table (at the croaaing of the given line and row), i.e. the value of the function for the given values of ita two arguments.

A detailed account of the tectogrammatical language and of the program of random generation of SR a of Czech sentences may be found in /2/, A deacription of the programa of ayntheaia and of the - now being prepared-algorithms of analysis of Czech sentences will be published in the next two volumes of the same aeriea.

References;

/1/ Sgall, P., Nebeaky, L., QoralClkové, A.,. HajiCové, E. : Functional Approach to Syntax, New York, 1969

/2/ Explizite Beachreibung der Sprache und automatiache Textbearbeitung. III. Die tektogrammatiache Ebene der funktionellen generativen Beachreibung. Praha 1977

Študentska vprašanja

kot vedno, ko se jeseni ponovno srečamo na fakulteti, se pogovarjamo o prijetnih počitnicah in seveda tudi o tem kje in kako smo opravljali poletno prakäo. Skoraj vsi smo štipendisti in moramo na prakso v organizacije, ki nas štipendirajo. Zelo zanimivo in koristno prakso smo imeli na Institutu Jožef Stefan. Nekatera podjetja so zelo dobro poskrbela za svoje bodoče strokovnjake. Ti bodo delali na obdelavi podatkov v komerciali in so ta mesec izkoristili, da so se spoznali z obdelavo datotek v jeziku COBOL , ki se ga nismo učili na fakulteti. Imeli smo zagotovljene prakse tudi v tujini, ki pa na žalost niso bile ravno za računalnikarje. Imam kolegico, ki se je vrnila iz tujine že drugi dan, ker ni dobila potrebnega dovoljenja za opravljanje prakse. Ob tem smo se spomnili tudi kolegov, ki so navijali kondenzatorje, ali opravljali administrativna dela.

Če že moramo vsako leto imeti en mesec prakse, bi bilo dobro, da ja ta resnično strokovna (ker radi delamo, če sé ob tem lahko kaj koristnega tudi naučimo), kot napri-mer na fakulteti, institutu ali v podjetju, ki je zainteresirano za naše delo.

Vprašanje pa jè, če se bodo študentje v bodoče boljše vključevali v raziskovalno delo in stalno delali v zadnjih letnikih ob študiju. Ali je taka praksa za računalnikarja resnično potrebna, ali ni to samo formalnost, ki jo moramo opraviti'i Ob eventuelnem raziskovalnem delu ali delu na aplikativnih nalogah bi lahko naredili poročilo o opravljenem delu in bi se to priznalo na fakulteti kot praksa, brez pisanja dnevnika prakse (dan za dnem) na osnovnošolski način.

Sigurno pa je, da bi vsi študenti morali biti vključeni v delo na nalogah na fakulteti, institutu ali v zainteresiranih podjetjih.

N.P.

bajke o izdelavi programskih projektov

Vrsta projektantov programske opreme ni uspela, ker so predpostavljali nekaj, kar se sicer zdi prav, a je že v osnovi narobe. Nekqj najpogostejših predpostavk bomo predstavili v naslednjih vrstlcdh.

Prva napaka se pokaže že v načrtovanju projektov v razmerju človek-mesec. Napaka se z lahkoto razloži : "Stroški so res sorazmerni produktu števila ljudi in števila mesecev, napredek projekta pa ne, Človek-mesec je kot enota za merjenje količine dela nevaren In varljiv mit. Namiguje namreč na to, da se ljudje in meseci lahko izmenjujejo! "

Možnost napake lahko uvidimo, če premišljamo o možnosti, da bi pri zakasnelem projektu dodali še človeško nioč. Kalkulacija števila dodatnih ljudi, ki so potrebni, da se

razmerje človek-mesec zopet uravna, navadno ne uspe, . ker moramo predvideti čas, ki ga bodo novi ljudje porabili za vpeljavo v delo in zanimanje tega osebja za obsto- ' ječi projekt. To nas privede do Brookovega izreka, ki stvar, poenostavi, ko pravi: "Če dodamo človeško moč zakasnelemu projektu, ga še bolj zakasnimo'J Edina možnost je, da dodamo čas, ne pa človeško moč.

Naslednja napaka je posledica t.i. efekta drugega sistema.! V začetku je razumljivo, da predvidimo, da bodo ljudje, | ki drugič načrtujejo isti tip sistema, opravili delo bolje ; kot tisti, ki opravljajo to prvič. V resnici pa ga bodo opravili slabše. |

Da razumemo zakaj , je potrebno, upoštevati staliséé načrtovalca. Pri prvem poskusu na danem tipu sistema se ■ načrtovalec zaveda, da se spoprijema z novim tipom pro- ! blema in zato je njegov pristop izredno previden in konč- | ni produkt je pičel in omejen. Vsi popravki in bistri do- [ misleki se ne uporabijo in se prihranijo za drugič za i "Izboljšano" verzijo.

Drugič, ko isti konstrukter dobi priložnost razvoja podobnega sistema, bodo vse te "Izboljšave" uporabljene. Rezultat bo verjetno konstrukcija, ki jo lahko opišemo kot končno. Še več, verjetno bo mnogo olepšav osnovanih na domnevah (glede tehnologije in metod dela), ki bodo takrat, ko začne drugi sistem tì^sistirati, že neveljavne. Zato izboljšave niso samo zamotane in nenavadne ampak tudi nepotrebne.

Ko pride načrtovalec do tretjega podobnega sistema, se je verjetno že izučil na napakah v drugem sistemu. Izhod je torej v tem, da je konstrukter nekdo, ki je konstruiral vsaj dva podobna sistema prej, ali nekdo, ki se dobro zaveda efekta drugega sistema.

Tretja bajka pa je, da manjši neuspehi v projektu niso važni. Zakaj nastane zakasnitev pri Izvajanju projekta? Večina projektantov se zaveda pomembnosti načrtovanih rokov: vendar pa nimamo zagotovila, da se dajo projektni roki dobro preveriti. Zaključek projektne specifikacije ni natanko določljiv in ga lahko razglasimo kakor želimo; dejstvo, da so bile specifikacije podpisane obojestransko je posebna, prepričljiva točka v projektu. Tedaj morajo biti roki dovolj pogosti, da pokažejo napako kmalu potem, ko nastane; dejansko potrebujemo roke na vsak centimeter projekta.

To "so samo trije elementi'v bajeslovju izdelave programske opreme in ti so tudi najbolj pogosti.

Po članku Software Myths, Infotech Update, Vol.2, No.8

D.N.

mnenja naročnikov o časopisu

... Koristim ovu priliku da Izrazim svoje zadovoljstvo zbog pokretanja ovog časopisa koji će po mom mišljenju znatno doprinetl razvoju svih oblasti kojima Jo posvećena pažnja u našoj zemlji. Uredništvu želim mnogo uspeha u budućem radu.

Dipl. Ing. M.P., Titograd

novice in zanimivosti

4 K Dinamična bipolarna RAM memorija sa vremenom dostupa od 100 n s, uključuje dvoje člp select linije, mogućnost kontrole prihvata podataka te brzu tehniku stranlčenja (paging). Brža verzija, 93481A, ima maksl-inalno vrijeme dostupa od lOO.ns i vrijeme ciklusa od 240 n s. Standardna verzija ima maksimalno vrijeme dostupa od 120ns i vrijeme ciklusa od 280ns. Oba čipa regularno djeluju od 0 C do 70° i zahtijeva izvor energije od +5V-5^. Aktivna potrošnja energije je 350 mW, statična 70 mW te 500 mW pri djelovanju u page načinu. Pri page načinu djelovanja vrijeme dostupa i vrijeme ciklus je 75 ns za 93481 i 65 ns za 93481A. Cijena je Ü 24 za 93481 i $ 31,20 za 93481A. Fairchild Camera and Instrument Corp,, 464 Ellis st., ms 20-1050, Mountain View, CA 94042, (415) 962-3951.

Zahvatanje podataka pisanih slobodnom rukom je moguće ■ upotrebom takozvanih Datapad sistema za zahvatanje podataka. Takav sistem se sastoji od specijalne ploče za pisanje, male displaj jedinice i mini računara sa specialnim softverom . Nije potrebna posebna obuka kadrova za zahvatanje podataka ovim putem; podatke unosimo tako da slobodnom rukom pišemo po ploči za pisanje. Displaj jedinica verificira raspoznane podatke. Mini računar može da opslužuje do 16 terminala producirajući magnetni ili papirni trak koji će sadržavati određene ulazne podatke.

Novi, l6-bitni mikroprocesor u IIL tehnologiji (Integrated Injection Logic) sa oznakom SBP 9900 je objelodanila firma Texas Instruments. Direktna TTL ulazno/izlazna kompatibilnost omogućava gradnju sistema na osnovu čipa 9900 sa standardnim memeorijsklm elementima, bez potrebe za specijalnim klok generatorima ili prila-godavajućim elementima.

SBP 9900 je u pogledu softvera kompatibilan sa svim članovima familije 9900, te sa nekim hardverskim i softverskim elementima Teksasovih mini računara familije 990.

Teksas Instrument Ine, Inquiry Answering Service, P.O. Box 5012, M/S 303 (AttniSBP 9900), Dallas, TX 75222. (713) 494-5115, Ext. 2621

Necol je program koji izvršava disk-na-disk konverziju programa pisanih u jeziku Neat/3 u ekvivalentni program u jeziku Cobol/74.

Neat/3 je programski jezik koji se upotrebljava u NCR Century računarima. Korisnici koji žele da prenesu svoje programe na računare sa osnovnim jezikom Cobbl/ 74 (npr. NCR 8250 i Criterion serije) mogu uz pomoć priručnika dosta jednostavno prilagoditi svoje programe novoj mašini.

Neke naredbe jezika Neat/3 ne mogu biti prevedene u Cobol. U takvim slučšjevima mora programer dopuniti transformirani program što zahtijeva neznatne napore i vrijeme.

Computer Facilities Software Ltd., Cleckheaton, W. Yarks, tel. (0724) 63167

Console 6800 je kontrolna ploča koja pojednostavljuje operiranje , testiranje programa i otkrivanje grešaka na mikro sistemima koji baziraju na procesorima

Motorola 6800. Kontrolna ploča je bus kompatibilna. Od posebne važnosti za otkrivanje grešaka u programima, je mogućnost djelovanja sistema korak po korak (single step) te zaustavljanje izvršavanja programa pri odrede» noj naredbi. Po zaustavljanju Izvršavanja programa je moguće dobiti Informacije o sadržaju internih registara centralne procesne jedinice ili memorijskih lokacija te modificirati te sadržaje.

Di-An Data Systems Ltd, 70-74 Princess Street, Stockport, Cheshire SKI IRJ. Tel: 061-236 2321

Digital Equipment naznanja prihod svojega prvega 32 bitnega miniračunalnika na trg ob koncu oktobra letos. Uporabili so tehnologijo za velike hitrosti operacij, znano kot ECL (Emitter-coupled logic). Procesor bo Izvrševal vse ukaze računalnika PDP-11 ter svoje lastne. Zato je izveden z mikrokodlranjem in je zmožen emuliranja drugih kodov. Glavna prednost daljše besede je v večji hitrosti procesiranja in večji aritmetični natančnosti. Poleg tega pa omogoča bolj svobodno naslavljanje, ker 16 bitni procesorji močno omejujejo območje direktnega naslavljanja zaradi majhnega števila bitov za naslove.

Signetics Corporation iz ZDA nudi na tržišču emulator za MOS mikroprocesorje, kl jih želimo pohitriti do hitrosti bipolarne tehnologije. Emulator je namenjen predvsem za MOS mikroprocesor 8080A. Signetics 8080A emulator oprema sestoji iz plošče tiskanega vezja in potrebnih komponent za sestavo Schottky bipolarne verzije sistema 8080A; vsebuje tudi vsa vmesna vezja za kanale ter krmilna in časovna vezja. Vendar Je emulator možno prirediti tudi drugim mikroprocesorskim sistemom ali pa za posebne nabore ukazov, ker ima na voljo 150 mikroukaznih lokacij. Tako lahko emulator uporabimo tudi kot procesor z operacijami bitov vezij znotraj besed. Z emulator jem postane sistem 8080A približno petkrat hitrejši. Cena opreme in priročnika z navodili za uporabo je 304 9'.

• V svetu Intenzivno razvijajo magnetne mehurčne pomnilnike predvsem za uporabo pri mikroračunalnikih. Naštejmo nekaj tvrdk, ki pripravljajo te nove pomnilnike: Bell Laboratories Inc., Rockwell International Corp., IBM, Hewlett-Packard, Nippon Telegraph and Telephone (Tokyo), Fujitsu. Magnetne pomnilnike bodo uporabili kot periferne pomnilnike za mikroprocesorje in so že sedaj glede na cene v prednosti pred disketami, Resnično prednost pa vidijo, ker lahko mehurčni pomnilnik namestijo zaradi njegove majhne velikosti na isto ploščo tiskanega vezja, kjer je centralna procesorska enota.

Pri tem pa ne potrebujejo dodatna vmesna elektronska vezja ter povezovalnih kablov.

Hewlett-Packard bo v naslednjih mesecih ponudil računalnik 21 MX s polprevodniškim pomnilnikom enega milijona zlogov za ceno 59.800 J!, To Je rezultat uporabe nove polprevodniške tehnologije SOS (silicon-on-saphire). Uporabo tega "velikega" miniračunalnika vidijo v dejavnostih, kjer magnetni koluti ne zadovoljujejo niti s hitrostjo niti z zanesljivostjo. En sam integrirani element RAM vsebuje 16 K spomina. Zaradi take koncentracije spomina so megazlogovni pomnilnik opremili z vezji za odpravo napak na osnovi Hammingovega kodiranja. Sistem za odpravo napak s petimi korekcijskimi biti odpravlja napake enega bita ter zazna napake dveh ali treh bitov v besedi. S tem da je vsak bit ene besede v drugem RAM-u, pomeni napaka treh bitov hkratno odpoved treh RAM»ov, kar je zelo malo verjetno. Tako je zanesljivost tega pomnilnika šest do osem tisoč ur kot srednjim časom med odpovedmi.

Radeći bez mnogo buke, ali marljivo poslijednje četiri godine, FUJITSU je zajedno sa svojim zastupnikom ZPR-om (Zavod za primjenu elektroničkih računala) uspješno sklopila ugovore za više od 50 FACOM računala u Jugoslaviji .

Iznenadjeni? Ne morate biti. FUJITSU, povrh toga što je vodeći proizvodjač sistema za elektroničku obradu podataka na Japanskom tržištu, vrlo brzo preuzima jedno od vodećih mjesta i na svjetskom tržištu. Tajna uspjeha firme FUJITSU je u tome što ima vodeću tehnologiju u kombinaciji sa velikom pouzdanošću sistema i dobro organiziranom službom za održavanje i stručnu pomoć. Ne smijemo zaboraviti ni konkurentne cijene koje će vam dati najbolji mogući odnos cijena/performance. Ako razmišljate ó uvodjenju elektronske obrade podataka u vašoj organizaciji ili želite da poboljšate svoj sadašnji sistem, obratite se predstavnicima firme FUJITSU da vas upoznaju sa svim novostima.

FUJITSU proizvodi sve - sastavne dijelove, memorije, off i on-line uredjaje za prikupljanje podataka, inteligentne terminale, micro procesore i micro računala, malih, srednjih, velikih i super velikih kompjutera, uključujući najsnažnije kompjutore za opću svrhu koji se mogu kupir-ti na tržištu.

FUJITSU je poznata i u području telekomunikacija. To jé razumljivo zbog toga što je FUJITSU jedan od vodečij proizvodjača telefona i telekomunikacija u Japanu. FUJITSU je u Jugoslaviji izabrana da snabdije i pomogne kod razvoja najveće on-line real-time mreže koja je do sada ugovorena, uključujući oko 300 terminala. Mislimo da biste sebi i svojoj organizaciji učinili mnogo, ako saznate više o tome što Vam firma FUJITSU može ponuditi.

PORODICA FACOM FIRME FUJITSU

iiii

Servisni centri i uredi su u Ljubljani, Mariboru, Beogradu i Zagrebu

ZPR

ZAGREB, Savska 56 tel. 518-706 Telex 21689 YU ZPR F J

LJUBLJANA, Topniška 45 tel. 311-059

FUJITSU LIMITED

Coimunications and £leclronlci

OGREVA

HLADI

it

VEDNO PRIJETNO POČUTJE

Rešitev vseh problemov klimatiziranja:

KLIMATIZER

TOBI 32

KLIMA OMARE

KO

- Samodejno uravnavanje temperature v prostoru

- Enostavna montaža in vzdrževanje

- Servisna mreža i

n rezervni deli na celotnem

področju SFRJ

INFOHMACIJf 0 PRODAJI II

N INŽENIRINGU

EMO

63000 CELJE Mariborska 86 tel. : (063) 23-921

ISKRA - TOZO INŽENIRINGI

61000 LJUBLJANA

Kotnikova 6

le! : (061) 312-322

večjezični slovar izrazov

Objavljamo kratek večjezični slovar Izrazov, ki se v računalništvu in Informatiki, še posebej pa pri mikroračunalnikih, najbolj pogosto uporabljajo. Slovar še zdaleč ni popoln, prepričani smo tudi, da marsikateri predloženi izraz ne ustreza in bi bit zaželen ustreznejši.

Bralce vabimo k sodelovanju z novimi predlogi za Izraze ter, da povedo svoje mnenje o nekaterih vprašljivih Izrazih

(zlasti onih, ki so označeni z vprašajem). Slovenske in srbohrvaške izraze sta pripravil;

i L.Pipan in Z. Salčič .

ANGLEàKI

NEMŠKI

SLOVENSKI

SRBOHRVATSKI

A

Acknowledge

llestatigen

potrditev, dovoljenje

odobrenje

Accumulator

Akkumulator

akumulator, zbiralnik

akumulator

Aging

Alterung

staranje

starenje

ALU

Zentraleinheit

ALE (aritmetična-Ioglčna enota)

arltmetička-loc)lčka jedinica

Assembler

Assembler

zbirnik

asembler

Assign

Zuteilen

prirediti, pridati

pridružiti

Asynchronous

Asynchron

asinhron, nesočasen

asinhroni

Available

Vorhanden

razpoložljiv, dosegljiv, na voljo

razpoložlv

B

Battery

Batterlo

baterija, vir

baterija

Bi-directional

Beiclseltig gerichtet

dvosmeren

dvosmjeran

Bootstrap

Urlfider

pra ( Dootst .Loader-praiialagalnik )

automatski punilac

Branch

Verzweigung

razvejitev, kretnica?

grananje

Buffer

Puffer

vmesni pomnilnik, medpomnilnik

bafer

Bus

Bus

vtxlllo

sabirnica

Byte

Byte

zlog

bajt

C

Cnbinot

Schrank

ohišje, omara

kabinet

Catvicltor

Kotidonaator

kondenzator

kon<lonzator

Card

Lochkarte

kartica, luknjana kartica

karta

Carry

0 hertrag

prenos

1 >renos

Cartrldijo

Spule

ovitek, saržer, nabojnica.

punjenje

Channel

Kanal

kanal

kanal

Chip

Chip

tableta, tabletka, gos<?nica

člp

Clock

Uhr .

ura

sat

Command

Befehl

ukaz

kotnanda

Cotiiijilor

Compiler

sestaviJalnik, prevajalnik

kompajler

Computer

Computer

računalnik

računar

Console

Konsole

konzola, zaslon

konzola

Controller

Steuerung

krmilnik

upravljač

Converter

Konvorti.-r

pretvornik

pretvarač

Core

Kern

jptlro

jezgro

CPU

Zentral stoiierelnheit

CPE(centralna procesna enota)

centralna procesna JiKllnlca

Cross-Assembler

Cros.s-AssenihU.'r

prečni zbirnik

kroa-asembler

C .R.

Kartenloser

čitalnik kartic

čitač kartica

CRT

Blldsichtgoiat

prikazovalnik

ekran

D

DaU

Daten

podatki

podaci

Data Collection

D<itó(i.sainiiilung

zbirka («xiatkov

prikupljanje p<x)ataka

Debugger

Kehlerbesel tiger

čistilec, čistilnik

program za provjeru

Device

(ierat

naprava

ure<ljaj

Disk

Platte

disk

disk

DMA

Diiekter Si)el<:ti<;r/.ugi iff

iie|x>sre<len dostop do iKimnIlnika

direktan memorljski pristu)

Drive

Antrieb

gonilo, gnati

pojačavati

Driver

Treiber

gcHiilnik

(irajver

Dynamic

Dynamisch

(iinartiičen

dinamički

Editor

Erweiterungskarte

Editor

Extension card

izdajalnik

kartica za razSirltev, plošča za razširitev

editor

karta za proširenje

izpad, odpoved dostava niz, kup zastavica

bistabilni multivibrator, bistabil-

no vezje gibek disk formatnik?

Fehler

Holen

Datenblock

Flagge

Flip-flop

Floppy Disk Formatlerer

Failure Fetch File Flag

Flip-flop

Floppy-Disk Formatter

kvar

priprema, dostava datoteka zastavica flip-flop

flopi-disk formater

Gate GP

Ground H

Hardware

Hard-wired

High Level Language

Hole

Gatter

General Purpose Erdo

Hardware Verdrahtet Hohe Programmiersprache Loch

vrata splošen masa, zemlja

aparaturna oprema, hardver? ožičen

vlsokonlvojski jezik

luknja kaplja

opšte namjene zemlja

hardware ožičen

jezik visokog nivoa rupa

I

Indexed Indirect Immediate . Input/Output Instruction-Set Insulation Interface Interrupt

J

Jump K

Key

Keyboard

Indiziert

Indirekt

Unmittelbar

Eingang/ Ausgang

Befehlssatz

Isolation

Interface

Unterbrechung

Sprung

Schlüssel, Taste Tastenfeld

indeksiran

posreden, indirekten

neposreden

vhod/izhod

nabor instrukcij, množica instr. osamitev, ločitev, izolacija vmesnik prekinitev

skok

ključ, tipka tipkovnica, tastatura?

indeksiran i ndirektan neposredan ulaz/izlaz skup instrukcija i zolacija i nterfejs prekid

skok

šifra tastatura

Layer Level Library Line

Line Printer

Load

Loader

Logical

Loop

M

Mask

Microcomputer Microprocessor

Monitor

Moving-Head Disk

Multiplexer

N

Network

Lage

Ebene

Bibliothek

Leitung, Zelle

Zeilendrucker

Laden

Lader

Logisch

Schielfe

Maske

Mikrocomputer Mikroprozessor

Monitor

Platte mit beweglichem

Kopf Multiplexer

Netzwerk

sloj

nivo, raven knjižnica vod, vrstica vrstični tiskalnik naložiti

nalagalnlk, vlagalnik

logičen

zanka

maskn

mikro računalnik

mikroprocesor? mlkroobravnoval-nlk

monitor? povezovalnlk, zveznik disk z gibljivimi glavami

multipleksor

omrežje

sloj nivo

biblioteka Jlnljn

linijski štampač

puniti

punilac

locjlčki

petlja

maska

mlkro računar mikroprocesor

monitor

disk sa pokretnom glavom

multipleksor

mreža

Störung

Noise

koda operacije, kod operacije kod operacije

izhod izlaz

prekrivati se preklapanje

Befehlsmode, -code

Ausgang

überlappen

Opcode Output Overlap

Package Panel

Paper-tape

Parity

Paripheral

Pin

Plotter Pointer Power

Power-Failure Power Start Power Supply Program Counter Punch

Paket

Bedienungspult

Lochstreifen

Parität

Peripheres Gerät

Anschlusztift

Zeic)iengerät

Zeiger

Leistung

Stromausfall

Einschalten

Spannungsversorgung

Program Mizähler

Stanzer, stanzen

paket

pult? panel? luknjani trak parnost

periferna naprava, zunanja

naprava nožica, priključek risalnik

kazalec (kazalnik?) moč

izpad napajanja vklop napajanja napajalnik programski števnik luknjati

paket panel a

papirna traka

paritet

periterai

izvod

crtač

pokazivač

napajanje, snaga

pad, kvar napajanja

uključivanje napajanja

napajanje

programski brojač

bušiti

okvir

memorija sa slučajnim pristupom

Hange

bereich

obseg

opseg

Reader

Lo;ser

bralnik, čitalnik?

. čitač

Real-time Clock

Echtzeituhr

ura za realni čas

üat realnog vremena

Reed Relay

Schutzgasrelais

hermetični kontaktnik

zaštiteni rele

Register

Register

register

registar

Reliability

Zuverlässigkeit

zanesljivost

pouzdanost

Recjuest

Anfrage

zahteva

zahtjev

Restart

Restart

ponovitev, ponovni start

ponovni start

ROM

Festwertspeicher,

bralni pomnilnik

memorija za očitavanje

Lesespeicher

S

Saving

Ersparnis

prihranek

sačuvati

Sclieduling

Arbeitszeiteinteilung

razdelJevanje(delovnega časa)

rasporedji vanje

Sensor

Pühler

senzor

senzor

Se<|uencing.

Nachfolgend

razvrščanje

sekvenciranje .

Sequential

Aufeinanderfolgend

razvrščen

sekvetici Jalni

Serial Transfer

Serielle Übertragung

zaporeden prenos

serijski prenos

Sliarcxl

Geteilt

porazdeljen

zajednički

Shift

Schieben

pomik

pomjeraj

Silicon

Silizium

silicij

silikon

Simulator

Simulator

simulator

simulator

Slot

Steckerplatz

reža

priključnica

Software

Software

programska oprema, softver?

software

Speed

Geciiwindigkeit

hitrost

brzina

Static

Statisch

statičen, trajen

statički

Stack

Stni)el

kopica, odlagalnik

stek

Start

Start

start

start

State/Stntus

Zustand

stanje

stanje

Subsystem

Untersystem

podsistem

podsistem

Switch i lit)

Schaltend

preklapljanje, preklopen

prekidanje

Synchronous

Synchron

sočasen

sinhronl

T

Tape

Band

trak

traka

Tape Driver

Bandantrieb

tračni gonilnik

jedinica za pogon trake

Task

Aufgabe

naloga

posao

Terminal

Terminal

terminal, priključek

terminal

I'hreshold

Schwelle

prag

prag

Time-sharinij

Time-sharing

delitev časa

dijeljenje vremena

Track

Spur

Bled

trag

R

Rack RAM

Gerätegestell Schreib-Lesespeicher

stojalo

pomnilnik (z naključnim dostopom)

Falle past trap

Dbertragungsgeschwlndlg- prenosna hitrost, hitrost prenosa brzina prenosa keit

Trap

Transfer Rate

služnost, služnosten

U

Utility

uslužni program

Dienstprogramm

Vectored Voltage

W

Way

Width

Word

Y

Yield

Vektorisiert Spannung

vektoriziran napetost

vektorski napon

način

širina

riječ

Weg

Weite

Wort

pot

širina

beseda

Ausbeute

izplen

davanje

kratice, ki jih srečujemo

-Resistor transistor logic. Integrirana vezja

- Diode transistor logic ,

- Transistor, transistor logic ,

- Emitter coupled logic,

- High threshold logic,

- Small scale integration, manj kot 25 logičnih vrat v enem čipu.

- Medium scale integration, običajno 25 all več logičnih vrat v enem čipu.

- Large scale integration, več kot 100 logičnih vrat na čip

- Integrated injection logic, bipolarna oblika LSI.

- Charge coupled device,

- Metal Oxide Semiconductor

- N channel MOS.

- P Channel MOS.

- Complementary MOS, tako N kot P vrste.

literatura in srečanja

OKTOBER

oktober, Beograd, Jugoslavija

NOVI PRAVCI RAZVOJA HIBRIDNIH RAČUNARSKIH MAŠINA

NEW TRENDS OP HYBRID COMPUTERS DEVELOPMENT

pogosto

''RTL DTL TTL ECL HTL SSI

MSI

LSI

I^L CCD MOS NM OS PM OS CMOS

Organizator in Informacije: Institut Mihailo Pupin, Volglna 15, 11000 Beograd

oktober, Beograd, Jugoslavija

SEMINAR O INDUSTRIJSKIM ROBOTIMA I MANIPULATORI-MA

INDUSTRIAL ROBOTS AND MANUPULATORS Organizator in informacije: Institut Mihailo Pupln, Volglna 15, 11000 Beograd

oktober, Bled, Jugoslavija

SIMPOZIJUM O SASTAVNIM DELOVIMA

SYMPOSIUM ON THE COMPONENTS

Organizator in informacije: Jugoslovenski komitet za

ETAN, Kneza Miloša 9, 11000 Beograd, telef. 011 33 957

3-5 oktober, Bonn, ZRN

THIRD INTERNATIONAL SYMPOSIUM ON MODELING AND PERFORMANCE AND EVALUATION COMPUTER SYSTEMS Organizator: GMD/IRIA/IFIP

Informacije: Mr.P.Hayderhoff-G.M.D. Postfach 1240 d-5205 St. Augustin, Germany

3-5 Okt. Dtlsseldotf, ZRN

SECOND SYMPOSIUM ON CONTROL IN POWER ELECTRONICS AND ELECTRICAL DRIVES Organizator: IFAC

Informacije: VDI/VDE Gesellschaft Mess-und Regelungs-technlc, Postfach 1139, D-4000 Düsseldorf 1, Federal Republic of Germany

3-6 okt. Amsterdam, Nizozemska

EUROMICRO s'"'' Symposium on Microprocessing and

Microcomputing

Organizator: EUROMICRO

Informacije: J.D. Nicoud LCD-EPPL Bellerlve 16 CH-1007 Lausanne, Switzerland

3-8 okt. Bled, Jugoslavija

SIMPOZIJ IN SEMINARJI INFORMATICA 77 Organizator in informacije: Slovensko društvo Informatika, Jamova 39, 61000 Ljubljana, telef. 061/ 63 261 Jugoslavija

5-7 Okt. Niagara Falls, New York, ZDA

MICRO 10: TENTH ANNUAL WORKSHOP ON MICROPROGRAMMING

Organizator: ACM SIGMICRO, lEEE-CS Informacije: ACM HQ, 1133 Avenue Of the Americas, New York, NY 10036,USA

6-8 okt. Tokyo, Japonska

THIRD INTERNATIONAL CONFERENCE ON VERY LARGE DATA BASES

Organizator in Informacije: IFIP |

6-12 okt. Düsseldorf, ZRN INTERKAMA 1977

INTERNATIONAL EXHIBITION OF MEASURING TECHNIQUES AND AUTOMATICS, CONFERENCE

Organizator in informacije: Düsseldorfer Messegesell- ; Schaft m6H-NOWEA 4 Dusseldorf 30, Postfach 320 203 BRD

9-12 okt. Washington, DC, ZDA INFO /EXPO 77

Organizator: Data Processing Management Association Informacije: DPMA, 505 Busse Highway, Park Ridge, IL 60068, USA

10-12 okt. Chicago, Illinois, ZDA

NATIONAL ELECTRONICS CONFERENCE AND NATIONAL COMMUNICATIONS FORUM

Organizator: National Engineering Consortium Inc. Informacije: National Electronics Conference, Oak Brook Executive Plaza 1, 1301 West 22nd Street, Oak Brook, IL 60521, USA

10-13 Okt. Varna, Bolgarija

IFAC WORKSHOP ON CONTROL OF MANAGEMENT SYSTEMS ' Organizator: National Centre for Cybernetics and C ompu-ter Techniques, Bulgaria

Informacije; National Centre for Cybernetics and Computer Techniques of the Committee for Science, Technical Progress and Higher Education, 8, Slavyanska Street,Sofia, Bulgaria

16-19 okt. Seattle, Washington, ZDA ACM 77

Organizator: ACM

Informacije: ACM Headquarters, 1133 Avenue of the Americas, New York, NY 10036, USA

17-20 okt. Tokyo, Japonska

IFAC SYMPOSIUM ON INFORMATION-CONTROL PROBLEMS IN MANUFACTURING TECHNOLOGY Organizator: IFAC

Informacije: IFAC Manufacturing Technology Symposium c/o The Society of Instrument and Control Engineers 39 Shiba Kotohira-Cho Minata-Ku, Tokyo, Japan

17-21 okt. Sao Paulo, Brazilija

TENTH NATIONAL CONGRESS OF DATA PROCESSING Organizator: SUCESU

Informacije: Renato A Mazzola, Director Executive, Av Paulista 1159-14 andar-conjs. 1404/5, Sao Paulo, Brazil

17-21 okt, MUnchen, ZRN

INTERNAllONAL SEMINAR AND PROFESSIONAL EXHIBITION -COMPUTER SYSTEMS AND ITS APPLICATIONS Organizator in informacije:Münchner Messe und Auaste-llungsgeselshaft mbH 8 Postfach 121 009, BRD

19. okt. Herceg Novi, Jugoslavija

SIMPOSIJ O PRIMENI OPERACIONIH ISTRAŽIVANJA Organizator in informacije: Fakultet organizacionih nauka (biblioteka), 11091 Beograd, Ul. Oslobodjenja 1

20-21 okt. Rocquencourt, Francija

SEMINAR ON STANDARDIZATION IN INFORMATICS Organizator: IRIA, GMD,NCC

Informacije: IRIA, Service des Relations Extérieurs, Domaine de Voluceau, Rocquencourt, BP 5, 78150 Le Chesnay, France

24-25 okt. Turku, Finska

SIXTH NORDIC CONGRESS ON OPERATIONS. RESEARCH Organizator: Finish Operations Research Society, Abo Swedish University-School of Economics Informacije: The Secretary, Programme Committee, Handelshi^skolan vid Abo Akademi, Henriksgatan 7, 20500 Abo 50, Finland

24 okt.-27 nov. Philippines, Japonska in Hong Kong

ADVANCl D COURSE ON COMMUNICATION AND INFORMATION

Organizator: Asian Productivity Organization (APO) Informacije: APO, 4-14 Aksaka 8-chome, Minato-Ku, Tokyo 197, Japan

24-28 okt. Paris, Francija

FOURTEENTH SESSION OF THE ICIREPAT TECHNICAL

COMMITTEE FOR STANDARDIZATION

Organizator : World Intellectual Property Organization

(WIPO)

Informacije: WIPO, 32 Chemin des Colombettés, 1211 Geneva 20, Switzerland

25-27 okt. Compiègne, Francija

IFAC WORKSHOP ON INFORMATION AND SYSTEMS Organizator: IFAC

Inloririacije: Prof B Dubuisson, Université de Technologie de Compiègne, Departement MAI, BP 233, 60206 Compiègne, France

NOVEMBER

9-11 nov. Berlin, ZRN 1977 EUSIDIC CONFERENCE

ürganizator: European Asòciation of Scientific Information Dissemination Centres

Informacije: Dr C Welske, Chemie Information und Dokumentation Berlin, Postfach 126050, Steinplatz 2, 1000 Berlin 12, BDR

14-15 nov. Austin, Texas, ZDA

SIXTH TEXAS CONFERENCE ON COMPUTING SYSTEMS Organizator: University of Texas, ACM, lEEE-CS Informacije: ACM HQ, 1133 Avenue of the Americas, New York, NY 10036, USA

16-18 nov. West Lafayette, Indiana, ZDA

SIXTH SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES Organizator: ACM SIGOPS

Informacije: Saul Rosen (Gen Chm), Department of Computer Science, Purdue University, West Lalayetto, IN 47907, USA

22-24 nov. Versailles, Francija

MODELISATION ET MAITRISE DES SYSTEMS TECHNIQUES, ECONOMIQUES, SOCIAUX

Organizator in Informacije: AFCET, 156, Bulevard Pereira, 75017 Paris, France

26-29 nov. Cairo, Egipt

SECOD IFAC INTERNATIONAL CONFERENCE ON SYSTEMS APPROACH FOR DEVELOPMENT Organizator: IFAC

Informacije: Eng. Sayed Abdel Kader El Sheshe Secretary of Egyptian High Committee of Automatic Control (EHCAC), 6Khall Agha Street, Garden City, Cairo, Egypt

28-30 nov. Amsterdam, Nizozemska

MANAGERS, DATABASES AND INFORMATION SYSTEMS Organizator: The IFIP group for Applied Information Processing in Management and Administration Informacije: lAG Headquarters, 40, Paulus Potterstraat 1071 DB Amsterdam, The Netherlands

29nov.-2dec. Washington, DC, ZDA

1977 SIGMETHICS/CMG VIII: AN INTERNATIONAL CONFERENCE ON COMPUTER PERFORMANCE Organizator: ACM Special Interest Group on Measurement and Evaluation, the Computer Measurement Group Ine

Informacije: Robert L Morrison, IBM Corp (B617072), PO Box 390, Poughkeepsle, NY 12602, USA

november, Enschede, Nizozemska

IFAC WORKSHOP ON CASE STUDIES IN THE HUMANIZATION OF AUTOMATION Organizator: IFAC

Informacije: Konlnklijk Instituut van Ingenieurs, Afde-llng voor Regeitechnlek, c/o Ir.F. Melring, vakroep NR gebouws WandS, Technische Hogeschool, Eindhoven, The Netherlands

november, New Brunswick, New Jersey, ZDA

IMACS/IFAC WORKSHOP ON PHYSIOLOGICAL SYSTEM MODELS

Organizator: IMACS, IFAC

Informacije: American Automatic Control Council, c/o Mr M A Keyes, Vice-President, Bailey Meter Company, 29801 Euclid Avenue, Wlckllffe, Ohio 44092, USA

DECEMBER

5-7 dec. Gaithersburg, Maryland, ZDA WINTER SIMULATION CONFERENCE

Organizator; National Bureau of Standards-Us Department of Commerce

Informacije: Dr Robert 0 Sargent (Gen Chm), Syracuse University, Syrracuse, NY 13210, USA

5-9 dec. Rocquencourt, Francija

THIRD INTERNATIONAL SYMPOSIUM ON COMPUTING METHODS IN APPLIED SCIENCES AND ENGINEERING Organizator: IRIA-LABORIA

Informacije: IRIA, Service des Relations Extérieures, Domaine de Voluceau, Rocquencourt, BP 5, 78150.Le Chesnay, France

5-9 dec. Versailles, Francija

THIRD INTERNATIONAL COLLOQUIUM ON METHODS