programmikonstruktsioone või terveid assemblerkeelseid plokke. 4 Assemblerprogrammi lähtekood Assemblerprogrammi lähtekood on instruktsioonide jada, mida vastavalt antud juhenditele täidetakse, vahele jäetakse ja korratakse. Peale mõnetäheliste sümbolitega tähistatud käskude tunnevad translaatoreid ka direktiive ehk juhtnööre, mida translaator kasutab programmist aru saamiseks ja keerukamate lahenduste loomiseks. Direktiivide ülesanneteks on näiteks programmitüübi määramine, muutujate ja avalike funktsioonide deklareerimine ning muutujate ja koodi joondamine mälus. Lähtekood peab olema suvalise tekstiredaktoriga töödeldav ja suvalise translaatori poolt loetav. Ühel koodireal võivad antud järjekorras olla pealdis, instruktsioon, argumendid ja kommentaar. Loomulikult ei pea ühel real kõiki nelja olema
ADD, DIV, MOV, ...), operandide ja aadresside jaoks saab kasutada nimesid, saab deklareerida andmeid, programmi võib varustada kommentaaridega, ... · universaalsed programmeerimiskeeled (ei sõltu protsessori käsustikust) e. kõrgtaseme keeled, saab liigitada paradigma alusel · keskkonnad tööks valmiskomponentidega, võimaldavad "liimida" valmiskomponendid tervikuks Keele muudab arvutile arusaadavaks eriline süsteemitarkvara hulka kuuluv programm - keele translaator: · Kompilaator - tõlgib kõrgtaseme keelest masinkoodi (või mingisse nn. vahekoodi, näit. Java baitkoodi). · Interpretaator - täidab programmi ilma masinkoodi moodustamata; tavaliselt interpreteeritakse vahekoodi, mitte programmi teksti. · JIT (Just In Time) kompilaator - teisendab vahekoodi masinkoodiks "vajadusel" (näit. optimiseerimise eesmärgil). Näiteks keele Java korral
arvutamise rekursiivse funktsiooni sellisena, kus vahetulemid N - 1 ja Fakt(N - 1) omistatakse abimuutujatele A ja B: FUNCTION Fakt(N: Byte): Longint; VAR A: Byte; B: Longint; BEGIN IF N = 0 THEN BEGIN Fakt := 1; Exit; END; A := N - 1; B := Fakt(A); Fakt := (A + 1) * B; END; {Fakt} See funktsioonivariant kirjeldab adekvaatsemalt süsteemi tegelikku tööd funktsiooni täitmisel. Nimelt loob translaator omaette mäluväljad mitte üksnes alamprogrammi lokaalmuutujatele, vaid ka avaldistes esinevate tehete tulemitele. Ka need kantakse pinu- desse. Seega saame näite viimast varianti analüüsides ôige pildi süsteemi toimingutest pinudega. Teine näide: Fibonacci arvud. Jada: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377... Fibo(0) = 0, Fibo(1) = 1, Fibo(n + 2) = Fibo(n + 1) + Fibo(n) (n >= 0), s.t. iga järgmine element on kahe eelmise summa. Ajaloost
klassikood ja operatsioonikood,Mostek 6502). 8. Käsutsükli täitmise üldistatud mudel. Täitmisele kuuluva käsu aadressi arvutamine -> käsuvõtt -> käsukoodi dekodeerimine -> operandi aadressi arvutamine -> operandivõtt (mitu operandi) -> operatsioon andmetega (string või vektorandmed) -> salvestamisele kuuluva tulemi aadressi arvutamine -> tulemi salvestus (mitu tulemit) -> katkestusnõuete kontroll -> katkestusnõude töötlus. 9. Translaatorite liigid. Kompilaator (on kõrgkeele translaator, st programm, mida rakendatakse kõrgtaseme algoritmikeeles koostatud programmi transleerimisel masinakeelde), interpretaator (on arvutiprogramm, mis käivitab programmikoodi, mis ei ole masinkoodi kompileeritud), assembler (arvutiprogramm mis tõlgib assambler keele objekti faili või masinkeele vormi). 10. Kompilaator ja selle üldistatud mudel. Kompilaator on kõrgkeele translaator, st programm, mida rakendatakse kõrgtaseme algoritmikeeles koostatud programmi transleerimisel masinakeelde.
signaali peegeldada, aga satelliit tuleb panna 36 000 km kaugusele Maast, siis liigub ta Maaga samas tempos ja ei pea antenniga teda otsima. ISO-OSI füüsilise kihi seadmed repiiter, jaotur(hub) ja modem. repiiter - loeb sisse ja taastab signaali tugevuse seda korrates jaotur - signaal tuleb ühest august sisse ja läheb mitmest august välja, saadab igale poole edasi modem - muudab ühe signaali teiseks, et saaks kasutada erinevaid kaableid ja signaale (translaator). Moduleerib, demoduleerib. Liinikoodid (NRZ, RZ, Manchester, AMI), signaali taastamine. NRZ - No return to zero: miinusega arv - 0, plussiga arv - 1 RZ - Return to zero: 1 puhul läheb nulli Manchester - frontidega, 1le vastab langus, 0le tõus. AMI - 1 vastab vaheldumisi madalale ja kõrgele nivoole Et tiksumine oleks sünkroonis, on vaja kas saata alg-ja lõppsignaale või siis eraldi signaaliga sünkrosignaale (topelt ribalaius…). Signaali
Tüüpiline stardipilt: Menüü e. käsurida Command Tool Text Editor File Manager Shell Tool ·avada Text Editor (hiireklõps tühjal ekraanil!) kirjutada programmi tekst ekraanile. valida File-menüüst käsk Save As... panna vasakule ilmunud aknas oma programmile mingi nimi. !!! Nime järele on soovitav kirjutada ka laiend (tüübitunnus) .pas (näiteks pindala.pas). klõpsata hiirega Shell Tool- aknasse. käivitada Pascali translaator (programm, mis muudab meie kirjutatud Pascal-keelse programmi arvutile arusaadavaks): pc < programmi nimi > < väljundprogrammi nimi > N: pc pindala.pas pindala.out !!! Soovitav on panna väljund- ehk tööprogrammi nime laiendiks mingi kindel kolmetäheline kombinatsioon. Kasutada võib ka .EXE -laiendit nagu PC-del, kuid kinnitamata andmetel võib põhjustada probleeme (arvuti tõlgendab seda PC-failina!). Väljundprogrammi nime võib ka ära jätta - arvuti paneb väljundi nimeks a.out
Repiiter võtab signaali vastu, võimendab seda ning saadab edasi. Teiseks võib repiiter olla tõlkefunktsiooniga – kui on ühendatud näiteks keerdpaar ning koakskaabel. Võimaldab füüsiliselt võrku pikemaks teha. Jaotur – kordab saadud signaali teistesse hostidesse (välja arvatud sinna, kust tuli. Rohkem kui kahe pesaga repiiter. Modem – muudab ühe signaali teiseks, et saaks kasutada erinevaid kaableid ja signaale (translaator). Moduleerib – demoduleerib. 20. Liinikoodid (NRZ, RZ, Manchester, AMI), signaali taastamine. Liinikoodid – infot edastatakse pingenivoona. Digitaalsignaal pole sama nagu binaarne. Digitaalsignaal võib olla kahe väärtusega, aga ei pea. NRZ – no return to zero. Lihtsalt arusaadav. Koodi keskväärtus on pidevalt 0, mis on positiivne. Probleem: iga sümbol saadetakse eraldi – startbit, andmebitid, kontrollbit, stopbit jne. Kehva kanalikasutus
masinakoodide ja assembleri tasand. Sellest allapoole jäävad tasandid nagu mikroprogrammeerimiskeeled või automaatide loogilise sünteesi keeled on ette nähtud arvuti üksikkomponentide väljaarendamiseks. Assemblerist ülespool on arvuti operatsioonisüsteem, translaatorid, kõrgprogrammeerimiskeeled ning kasutajaprogrammid. 2.4.2. Assembler Assemblerikeelt on vaja tunda siis, kui puudub kõrgkeele translaator, mis avastaks programmis oleva vea, mida kõrgkeele tasemel ei õnnestu avastada. Mikroprotsessor- süsteemide loomisel ning juhtraalide kasutamisel tööstusseadmete ja -protsesside juhtimisel tuleb seda tihti ette. Kõrgkeele näiteks Basic'u või Pascal'i programmi tõlgib assemblerikeelde või masinakoodi kõrgkeelde translaator. Assemblerikeeles programmeerimine sarnaneb masinakoodis programmeerimisega, kuid on mõnevõrra mugavam. Masinakoodis programmeerimisel
Kargnemise korral tuleb konveuer uuesti käivitada. Thea programmi ilma hargnemiseta ei ole võimalik ja sellepärast tuleb selle võimalusega arvestada. Mida vähem on vaja konveierit uuesti käsivitada, seda kiirem on programmi täitmine. 1 T.Evartson konspekt: http://www.pld.ttu.ee/~teet/prose_w.pdf Eriti halb on kui siire toimub käsu täitmise viimasel etappidel, sest siis võidakse täita mõni käsk väljaspool järjekorda. Selle vastu aitab nt see, kui tarkvara (translaator) selliste käskude järel psigutab mõne NOP (no operation) käsu, mis midagi ei tee, kuid tema käsukood loetaks eikkagi protsessorisse. Protsessorites on tihti eraldi loogikaskeem mis tegeleb hargnemiste ennustamisega, et muuta konveier efektiivsemaks. Hargnemise ennustamine toimub teatud statistiliste kriteeriumite järgi ja ei saa anda alati õiget tulemust, kuid siiski suudab vähendada konveieri uuesti käivitamise vajaduse tõenäosust. 15. Mikroskeemide valmistamise tehnoloogiad.
2. Interpretaator 3. Assembler Hübriidsüsteemides kompileeritakse lähtekeel vahevormi (vahekeelde), mida töödeldakse virtuaalmasinal ehk abstraktsel masinal. Virtuaalmasin sisaldab interpretaatorit. 10. Kompilaator ja selle üldistatud mudel. Tänapäeval koostatakse enamus programme kõrgkeeltes, mistõttu etendab nende töötlusel, mis kasutab kindlat ISA, olulist osa programmi transleerimisel kasutatud kompilaator. Kompilaator //compiler// on kõrgkeele translaator, st programm, mida kasutatakse kõrgtaseme algoritmikeeles koostatud programmi tõlgendamisel masinakeelde. 11. Operatsioonisüsteemi üldistatud arhitektuurne mudel. Operatsioonisüsteem (OS) – arvutisüsteemi osa, mis ohjab süsteemi riist- ja tarkvara (liides riist- ja tarkvara vahel). (Interaktiivne-, reaalaja-, hübriid-, sardoperatsioonisüsteem) Operatsioonisüsteemi põhifunktsioonideks on tegumite (protsesside) ajaline planeerimine ja mäluhaldus.
kirjeldamiseks) aritmeetilised arvutused algebraliselt peamiste algoritmiliste juhtstruktuuride jaoks oma laused IO kirjeldamise laused erinevad andmetüübid / objektid · teadmiste esitamise e spetsifitseerimiskeeled teadmuskeeled, deklaratiivsed keeled Arvutikeelena võib kasutada mistahes märgisüsteemi, mis on raalile söödavale kujule teisendatav. Arvutiprogramm kui translaator, mis tõlgib sisendi väljundiks. 6. Programmeerimiskeelte formaalne spetsifitseerimine. Transleerimisprotsessi osad. Raaliga on võimalik lahendada vaid matemaatiliselt formaliseeritavaid ülesandeid. Seega peab raali keelte jaoks leiduma formaalne esitus. Süntaks (teksti sisemine struktuur) versus semantika (teksti väline tähendus). Süntaksi esitamine lihtne. Semantika esitamine peamiselt tõlke, verifitseerimise kaudu. Süntaksidiagramm kui graaf.
parandanud. UNIX oli üks esimesi C-keeles kirjutatud operatsioonisüsteeme, mis tähendab, et seda saab installeerida igale arvutile, millel on olemas C-keele kompilaator*. Praegu on kasutusel kaks peamist UNIX'i versiooni System V ja BSD4.x (x=0, 1, 2 või 3). UNIX'i-laadsete opsüsteemide hulka kuuluvad AIX, A/UX, Debian, FreeBSD, GNU, HP/UX, Linux, NetBSD, NEXTSTEP, OpenStep, OSF, POSIX, RISCiX, Solaris, SunOS, ULTRIX, USGUnix, Version 7, Xenix. *kompilaator (compiler) - kõrgkeele translaator ehk programm, mis transleerib lähtekoodi objektkoodiks. Linux tasuta levitatav UNIX-i laadne operatsioonisüsteem, mis jookseb tervel real riistvaraplatvormidel, sh Intel'i ja Motorola mikroprotsessoritel. Linuxi kerneli töötas välja soomlane Linus Torvalds. Kuna Linux on tasuta ja jookseb nii IBM PC, Macintosh'i kui ka Amiga arvutites, siis muutub see viimasel ajal üha populaarsemaks. Teine populaarne UNIX'i tasuta versioon on FreeBSD.