TALINNA POLÜTEHNIKUM Multimeedia erialaosakond Kert Kompus ASSEMBLER Referaat OPERATSIOONISÜSTEEMI ALUSED MS-18 Tallinn 2018 Sisukord Assembler..................................................................................................................................3 Assemblerprogrammi lähtekood................................................................................................5 Assemblerprogrammi loomine...................................................
Neljas põlvkond Suurte integraalskeemide kasutuselevõtmine · Toimub mikroskeemide integreerimisastme järsk tõus ja hinna odavnemine Programmeerimise areng · Esimene programmeerimine seisnes arvutiseadme esipaneelil olevate lülitite õigesse asendisse seadmises · Sellisel viisil ei saa teha eriti pikki programme · Arvutitehnika arenemisel ilmus masinkood Assemblerkeel · Masinkoodi asemel masinale orienteeritud keel assembler · Inimesed kasutavad masinkoodi käskude asemel mnemoonilisi käske, mis tõlgitakse translaatori poolt masinkoodi keelde · Kõikidel protsessoritel on ainult temale omane masinkoodide hulk, assembler Kõrgtasemekeeled · Järgmine samm tehti 1954. A. Millal tehti esimene kõrgtaseme keel FORTRAN · Kõrgtaseme keeled imiteerivad loomulike keeli, kasutades kõnekeele sõnu ja üldkasutatavaid matemaatilisi sümboleid · Need keeleed on inimesele mugavamad
Aga tõsi, protsessor on see aparaat (mikroskeem ehk chip) mis reaalselt liidab ja korrutab kahendarve. Arvutamine protsessoris toimub sama tehnikaga nagu tavaliste st. kümnendarvudega paberi ja pliiatsiga arvutamisel. Miks talle just meelepärsed kahendarvud on sellepärast, et tema tegeleb tegelikult elektriga: 1 on signaali kõrge nivoo ja 0 madal nivoo. 1.1.Protsessori kirjeldus Assembler keeles programmeerimine on arvutikeel, mis mõnede asjatundjate meelest ei klassifitseerugi keeleks. Assembler on järgnevus sisuliselt masinkeelseid protsessori käske mida esitatakse masinkeele omadega ekvivalentsel kujul kuid inimesele paremini meeldejäävate mnemoonikutena (mov, jmp ...). Need masinkeelsed käsud juhtivad protsessori tööd kõige madalamal tasemel. Assembleris saab tõepoolest võtta konkreetsest protsessorist välja viimast, kuid puuduseks on see, et too assemblerprogramm töötaks siis vaid valitud kokreetsel protsessoril millele ta on mõeldud.
Usenet: 1994, suhtlussüsteem Php: 1994, skriptimiskeel, mida kasutatakse peamiselt serveripoolsetes lahendustes dünaamiliste veebilehtede loomise Päevalehed eestis: 1995 esimene eesti päevaleht netis – www.zzz.ee/epl Palm pilot: 1996 Google: 1997, Larry Page ja Sergei Brin Deep blue: 1997, AI, mis võitis males maailmameistrit Wikipedia: 2001, Jimmy Wales and Larry Sanger 6. Nädal Eksamiks: turingi masin, relee, mälutüübid, assembler, kompileerimine, interpreteerimine, jit. Lihtsad andmetüübid, stringid, massiivid, puud. Turingi masin; Alan Turingi 1937. aastal kirjeldatud lihtne abstraktne arvuti, mida kasutatakse arvutatavuse ja selle piiride uurimiseks Relee: mootoriga lüliti Mälutüübid: Assembler: kompilaator, mis tõlgib assemblerkeeles programmi masinkoodiks Kompileerimine: võtab sisendiks kõrgkeelse programmi ja tõlgib selle täitmisprogrammiks
programmi ridade arvu? Vali üks: Ei Jah Mitte alati + Krüpteerige sõna "PÕIKPÄINE" Atbashi šifriga kasutades tähestikku: A B C D E F G H I J K L M N O P Q R S Š Z Ž T U V W Õ Ä Ö Ü X Y; yxüöäõwvutžzšsrqponmlkjihgfedcba Vastus: QFUŽQEUSÄ Millistesse keelte klassidesse kuulub tavapärane assembler? Vali üks või enam: Dünaamiliselt tüpiseeritud Interpreteeritavad + Objektorienteeritud "Käsitsi" mäluhaldusega + Imperatiivne + Milline loetlelust on vajalik digitaalseks allkirjastamiseks? Vali üks: a. Sümmeetrilise võtmega krüptograafia algoritm b. Sümmeetrilise ja asümmeetrilise võtmega krüptograafia algoritm + c. Blokkšifrid ja räsialgoritm d. Asümmeetrilise võtmega krüptograafia algoritm e. Räsialgoritm f. Asümmeetrilise võtmega krüptograafia ja räsialgoritm
When the CPU fetches a program instruction from main memory, this is where it puts it. The COUNT register counts off the steps in a fetch-and-execute cycle. It takes the CPU several steps to fetch and execute an instruction. Hierarhia pistikutest progekeelteni Esimene: programmeerimismeetod: kaablid ja pistikud Teine: von Neumanni arhitektuur, programm malus binaarkoodina:01011101 01001011 01010101 11010101 10101001 ....Lihtsam kirjutada hexas, ntx 4A FC 09 B2 .... Kolmas: Esmane progekeel: assembler. Uks masinakask: tuupiliselt uks rida assembleri-programmi Neljas: Harilik progekeel ehk nn korgkeel (fortran, basic, c, java,python jne jne).Harilikud valemid, if-then-else jne, a la x=2*y+sin(y); Kõrgkeeled on erineva abstraktsusastmega: Masinalähedane ja ebamugav: Fortran, C (portaabel assembler) Abstraktsem ja mugavam: Lisp, Ada, ML, Java, Python, Peale programmeerimiskeelte on veel hulk muid keeli: Päringukeeled (SQL, RDQL, ....) Kujunduskeeled (HTML, PS, ...)
DEUTSCHLAND Referaat Assembler: Formular: Vorstellung Deutschland ist ein Staat in Mitteleuropa. Als Bundesstaat wird die Bundesrepublik Deutschland aus den 16 deutschen Ländern gebildet und stellt die jüngste Ausprägung des deutschen Nationalstaates dar. Die Länder gliedern sich gemäß dem Verfassungsprinzip der kommunalen Selbstverwaltung in kommunale Gebietskörperschaften Amtssprache Deutsch Hauptstadt Berlin Parlamentarische Staatsform Bundesrepublik Parlamentarische Regierungsform Demokratie Fläche 357.104,07 km² Einwohnerzahl 82.117.000 Bevölkerungsdicht 229 Einwohner pro km² e Flagge Wappen Einwohnerzahl Deutschland ist seit der Wiedervereinigung die mit Abstand bevölkerungsreic...
Protsessori käsustik on protsessori ja programmeerija ühine keel. Teisisõnu võimaldab programmeerijal protsessorile ülesandeid anda. Programmi kontrolleri põhimällu laadimiseks tuleb esmalt luua ühendus arvuti ja mikrokontrolleri vahel ning kasutada tarkvara, mis ühildub konkreetse mikrokontrolleriga. Microchip PIC mikrokontrollerite puhul on üheks selliseks tarkvaraks näiteks PBrenner. Assembler on programmeerimiskeel ja assembleri direktiivid on teisisõnu selle keele käsud. 1 3 2. Ülesannete lahendused 1. Programm, mis lülitab nupuvajutusel sisse kaheksa valgusdioodi. Algoritmi plokkskeem: Joonis 1.1. Programmi algoritmi ALGUS plokkskeem EI
Alan Turing Kuidas hindad XML keeles sees olevaid võimalusi väljundi kujundamiseks? Millised vahendid on XML keeles endas väljundi kujundamiseks? Puuduvad Milline XML keelte perekonna liige on ettenähtud XML info kasutajale mugavamaks esitamiseks? XSLT Kas masinkeel on tänaseni kasutusel? Jah Millised järgnevatest olid tõeliselt programmeeritavad keeled? Enigma, Z3, Colossus, Mark I, ABC Computer Millistesse keelte klassidesse kuulub tavapärane assembler? Imperatiivne, interpreteeritav, "käsitsi" mäluhaldusega Milleks loodi keel LISP? Tehisintellekti programmeerimiseks Millised neist on kasutaja tööarvuti operatsioonisüsteemid? Ubuntu, FreeBSD, NetBSD, Windows Server 2003 Mida tähendas algselt lühend CP/M? Control Program/Monitor Arendaja jaoks peaks valmis tehtud tükke pakkuma: operatsioonisüsteem Millises laboris on 60-ndate lõpus ja 70-ndate alguses meisterdatud pildil olev masin,
lahti saada korduvatest programmeerimistest. Programmeerimise areng Esimesed sammud Esimene programmeerimine seisnes arvutiseadme esipaneelil olevate lülitite õigesse asendisse seadmises. Selge on see, et sellisel viisil ei saa väga pikki programme teha. Arvutitehnika arenemisel ilmus masinkood, mille abil programmeerija andis arvutile käske kasutades vastavaid mälupesi, masina võimalused olid paremini ära kasutatud. Assemblerkeel Masinkoodi asemel masinale orienteeritud kood- assembler. Inimesed kasutavad masinkoodi käskude asemel mnemoonilisi käske, mis tõlgitakse translaatori poolt masinkoodi keelde. Kõikidel protsessoritel on ainult temale omane masinkoodide hulk, assembler. Kõrgtaseme keeled Järgmine samm tehti 1954 a, millal tehti esimene kõrgtaseme keel- FORTRAN -(FORmula TRANslator). Kõrgtaseme keeled imiteerivad loomulike keeli, kasutades kõnekeele sõnu ja üldkasutatavaid matemaatilisi sümboleid. Need keeled on inimesele mugavad. Nende abil võib
Programmeerijatele mõeldud kirjeldus mingi süsteemi funktsioonide kasutamiseks programmis, näiteks Java API kirjeldab keeles Java olemasolevaid funktsioone (konkreetselt Java puhul on need jagatud pakettidesse ja klassidesse, aga sellest hiljem...). Programmeerimiskeeltest Eesmärk: mitte töötada riistvara terminites, muuta programmeerimine universaalseks (sõltumatuks konkreetsest arvutitüübist). · masinkood - konkreetse protsessori käsud kahendkujul, elektroonika tase · assembler - madaltaseme programmeerimiskeel, käskude koodid on mnemoonilised (näit. 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
λ EksamEksam 1 Eksamiks: pead teadma suuruse-numbreid ja mida nad tähendavad: bitt, bait, kilobait, megabait jne; Bit Eksam/ EksamBitt 1 or 0 Byte Eksam/ EksamBait 8 Bits Kilobait Eksam(KB) 1 024 Bytes Megabait Eksam(MB) 1 024 KB kuidas Eksamtähti Eksamkodeeritakse: ASCII (American Standard Code for Information Interchain) 8bit = 16 * 8 = 128 märki EBCDIC (Extended Binary Coded Decimal Interchange Code) 8bit, IBM UNICODE (Extended ASCII) (utf-8), 1Byte for first 128, up to 4B for the rest~143 859 märki algoritm Eksam- Eksamtäpne samm-sammuline juhend millegi tegemiseks programm Eksam- Eksamformaalses üheselt mõistetavas keeles kirja pandud algoritm Ajaloost: Kreeka Eksamloogikud Parmenides (5 sajand e.m.a.) : kasutas pikki loogilisi põhjendusi. Zen...
Arvutivõrkude alused 1. Sissejuhatus Vello Vanem Tallinna Polütehnikum Arvutivõrkude alused Teemad: (Andmeside) arvutivõrgud ja nende liigitus Lai, koht ja pöördusvõrk KaabelTV võrk Kevad 2009 Tallinna Polütehnikum 2 Andmesidevõrk. Liigitus Andmeedastuseks ette nähtud võrk kannab üldisemat nimetust andmesidevõrk. Nõuded, mida kasutajad esitatavad telefoni ja andmesidevõrkudele, on erinevad. Telefonivõrkudes ei esitata väga kõrgeid nõudmisi edastuse kvaliteedile, küll aga edastuses esineda võivale ajalisele viitele. Kevad 2009 Tallinna Polütehnikum 3 Andmesidevõrk. Liigitus Andmesidevõrkudes on vastupidi lubatud küllalt suured ajalised viited kuid vilets edastuse kvaliteet põhjustab bitivigu ja sõnumite kadumist. Andmesidevõrgud jagunevad: kohtvõrk (LAN Local Area Network) regionaalvõrk (MAN Metropolitan Area Network) laivõrk (WAN Wide Area N...
Aristoteles (470-399 e.m.a) : väidete struktuur kui iseseisev uurimisobjekt 1967- IBM builds the first floppy disk Süllogism (Aristoteles): 1967 - Seymour Papert designed LOGO as a computer language for children. 1. eeldus: iga x on y. 1968 - Robert Noyce and Gordon Moore found Intel Corporation 2. eeldus: mõni z on x. 1968 - Douglas C. Engelbart, of the Stanford Research Institute, demonstrates järeldus: mõni z on y. his system of keyboard, keypad, mouse, and windows at the Joint Computer Iga b on a Conference in San Francisco's Civic Center. He demonstrates use of a word Mitte ükski b pole a ...
Sardsüsteem: Piiratud väljendusvõime, mis põhineb hästi (suspended) kuni teise täitmine jõuab mingi Genereeritud C programmid ei ole alati valitud punktini efektiivsed arvutusmudelil: 38 Ei sobi hajusrakendustele · Peavad olema efektiivsed · Spetsifitseerida saab ainult valitud süsteeme Kontrolli-põhine sünkroniseerimine Ei ole programmilisi konstruktsioone Loodud mingi spetsiifilise ülesande jaoks. · Formaalne analüüs on võimalik Andmete põhine sünkroniseerimine Ei või...
I 625 S(hirl(rfll l6-lr) Bl;ilsc Pn$.il1-:lntltecliliilc illitslt ebmgqav: Fortran, C (portaabel assembler), ALslrgKse[-ia r Pakkudaprogrffimeedjalevalmisehtudstandardtiikke- ...
1; when COUNT is 2, it does step 2; and so forth. Remember that as the COUNT register counts 0, 1, 2,..., just one machine language program is being executed Hierarhia pistikutest progekeelteni Esimene: programmeerimismeetod: kaablid ja pistikud Teine: von Neumanni arhitektuur, programm mälus binaarkoodina: 01011101 01001011 01010101 11010101 10101001 .... Lihtsam kirjutada hexas, ntx 4A FC 09 B2 .... Kolmas: Esmane progekeel: assembler. Üks masinakäsk: tüüpiliselt üks rida assembleriprogrammi Neljas: Harilik progekeel ehk nn kõrgkeel (fortran, basic, c, java, python jne jne). Harilikud valemid, if-then-else jne, a la x=2*y+sin(y); Ecki assembler This program counts. It starts by putting the number 1 into memory location 12, and then it adds one to the number in that location over and over, forever. Loeng 7 Programming is linguistic
ASCC * Automatic Sequence Controlled Calculator [IBM] ASCII American Standard Code for Information Interchange ASD Application Structure Database [Microsoft] + Automatic Skip Driver [Microsoft] ASF Active Streaming Format [Microsoft] + Advanced Systems Format [Microsoft] ASIC Application-Specific Integrated Circuit ASIT Advanced Security and Identification Technology ASL Adaptive Speed Levelling ASLM Apple Shared Library Manager [Macintosh] .ASM Assembler Source Language (file name extension) ASMP Asymmetric Multprocessing ASN Abstract Syntax Notation + Autonomous System Number ASO Automated Systems Operations ASP Active Server Page [Microsoft] + Application/Authorized Service Provider + Aspect Oriented Programming + Association of Shareware Professionals .ASP Active Server Page (file name extension) ASPI Advanced SCSI Programming Interface [Adaptec] ASPS Advanced Signal Processing System
Üldiselt on funktsioonide arvule tuginemine adekvaatsem projekti algusfaasis, koodiridadele tuginemine aga projekti edasistes faasides. Eritüübiliste mudelite vahelise ülemineku hõlbustamiseks on erinevate keelte jaoks leitud keskmised arvestuslikud koodiridade arvud, mis on vajalik ühe funktsiooni realiseerimiseks (funktsioonidena vaadeldakse kasutaja sisendit, väljundit, väliseid andmeliideseid, päringuid jne): assembler 320, C 128, C++ 56, Java 55, Visual Basic 35 jne. · Kulude mudelid aitavad kaasa riskide analüüsile ning võimaldavad ligikaudselt kavandada projekti, kui selle maksumus on ette antud (muutes vastavaid parameetreid, kuni kulud etteantud piiridesse mahub). · Kulude hinnang saab tugineda eelkõige senise praktika kompetentsele analüüsile, mistõttu seda ei saa heal tasemel teha projekti- või asutuseväliste inimeste poolt:
2.3.1. Andmevahetuse meetodid 82 2.3.2. Rööpvärat 87 2.3.3. Jadavärat 90 2.3.4. Taimer 91 2.3.5. Otsemällupöördus ja DMA-kontroller 96 2.4. Tarkvara 98 2.4.1. Ülevaade mikroarvutite ja juhtraalide tarkvarast 98 2.4.2. Assembler 99 2.4.3. Intel 8080 assemblerikeel 101 2.5. Signaaliprotsessorid 105 2.5.1. Signaaliprotsessorite ehituse iseärasused 105 2.5.2. Digitaal-analoogmuundurid 106 2.5.3. Analoog-digitaalmuundurid 107 2.5.4. Transpuutrid 111 2.6. Mikroprotsessorite kasutamine 114 2.6
-> 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. Kõrgkeelne (C, Fortran, jt) programm -> keelespetsiifiline eeltöötlus (sõltuvused: keelest/arvutist sõltumatu, Funktrioon: teisendab kõtgkeele konstruktisoonid
1. Mis on intellektuaalne omand? Intellektuaalne omand on õigus inimese loometöö tulemusele. Maailma Kaubandusorganisatsioon (WTO) defineerib intellektuaalset omandit kui inimesele antud õigusi tema loometegevuse tulemusele, see õigus kaitseb “loojat” selle eest, et keegi teine ei saaks kasutada tema leiutisi, disaine või muud loomingut ilma loa andmiseks õigustatud isiku nõusolekuta. 2. Kuidas on intellektuaalomandi kaitse seotud põhiõigustega, mis on puutumust omavad põhiõigused ja miks? (Vaata PS kommenteeritud väljaandest). (essee küsimus) Eesti Vabariigis põhineb intellektuaalse omandi kaitse põhiseadusel. Põhiseaduse § 32 kohaselt on igaühe omand puutumatu ja võrdselt kaitstud, omandit võib omaniku nõusolekuta võõrandada ainult seaduses sätestatud juhtudel ja korras üldistes huvides õiglase ja kohese hüvitise eest. Põhiseaduse § 39 kohaselt on autoril võõrandamatu õigus oma loomingule. Riik kaitseb autori õig...
Eri protsessoritel on erinev sõna järgulisus. Aadress on kahend kood (number) mis näitab millise sõna poole toimub pöördumine. Mälus on taoline 0-de ja 1-de jada. Koodi enda järgi ei ole võimalik eristatda kus on andmed ja kus käsud. Protsessorist peab tulema aadress mis näitab millisesõna poole pöördutakse. Lugemise korral peab juba protsessor teadma kas sõna interpreteerida käsuna või andmetena. Kõrgtaseme keel assembler masinkood: Kõrgtaseme keeles kirjutatud programmi (käskude) jada ei ole arvuti riistvara võimeline täitma. Riistvaras on olemas ainult pingenivoo, mis vastab väärtusele 1 ja teine pingenivoo, mis vastab väärtusele 0. Sellepärast teisendatakse programselt (transleeritakse) kõik programmid lõpuks masinkoodi. Masinkoodis vastab igale käsule oma kahendkood. Millised on transleerimise vahe etapid ja kuidas seda tehakse on tarkvaraprobleem, aga lõpuks peab ta olema masinkoodis, et
Eri protsessoritel on erinev sõna järgulisus. Aadress on kahend kood (number) mis näitab millise sõna poole toimub pöördumine. Mälus on taoline 0-de ja 1-de jada. Koodi enda järgi ei ole võimalik eristatda kus on andmed ja kus käsud. Protsessorist peab tulema aadress mis näitab millisesõna poole pöördutakse. Lugemise korral peab juba protsessor teadma kas sõna interpreteerida käsuna või andmetena. Kõrgtaseme keel assembler masinkood: Kõrgtaseme keeles kirjutatud programmi (käskude) jada ei ole arvuti riistvara võimeline täitma. Riistvaras on olemas ainult pingenivoo mis vastab väärtusele 1 ja teine pingenivoo mis vastab väärtusele 0.Sellepärast teisendatakse programselt (transleeritakse) kõik programmid lõpuks masinkoodi. Masinkoodis vastab igale käsule oma kahendkood. Millised on transleerimise vahe etapid ja kuidas seda tehakse on tarkvaraprobleem, aga lõpuks peab ta olema masinkoodis, et
MicroPro releases the WordStar word processor, written by Rob Barnaby. It is made available for Intel 8080A Zilog Z-80 based CP/M-80 systems. written by Seymour Rubenstein Microsoft announces Microsoft BASIC 8086 at the National Computer Conference.] July CompuServe begins a service to computer hobbyists called MicroNET, offering bulletin boards, databases, and games. Clive Sinclair creates Sinclair Research. August Microsoft releases its Assembler language for 8080/Z80 microprocessors. Wayne Ratliff develops the Vulcan database program (Ashton-Tate later markets it as dBase II). September Motorola's 68000 16-bit microprocessor appears. It uses 68,000 transistors, giving it its name. October 2.5 years after the introduction of the Apple II, 50,000 units have been sold. Personal Software releases VisiCalc for the Apple II, for US$100. Atari begins shipping the Atari 400 and Atari 800 personal computers
Eri protsessoritel on erinev sõna järgulisus. Aadress on kahend kood (number) mis näitab millise sõna poole toimub pöördumine. Mälus on taoline 0-de ja 1-de jada. Koodi enda järgi ei ole võimalik eristatda kus on andmed ja kus käsud. Protsessorist peab tulema aadress mis näitab millisesõna poole pöördutakse. Lugemise korral peab juba protsessor teadma kas sõna interpreteerida käsuna või andmetena. Kõrgtaseme keel assembler masinkood: Kõrgtaseme keeles kirjutatud programmi (käskude) jada ei ole arvuti riistvara võimeline täitma. Riistvaras on olemas ainult pingenivoo, mis vastab väärtusele 1 ja teine pingenivoo, mis vastab väärtusele 0. Sellepärast teisendatakse programselt (transleeritakse) kõik programmid lõpuks masinkoodi. Masinkoodis vastab igale käsule oma kahendkood. Millised on transleerimise vahe etapid ja kuidas seda tehakse on tarkvaraprobleem, aga lõpuks peab ta
· Economy of execution kui kiiresti programm töötab? · Economy of Compilation kaua võtab aega koodist täidetava programmi saamine? · Economy of Small-Scale Development kui palju vaeva peab individuaalne programmeerija nägema? · Economy of Large-Scale Development kui palju vaeva peab programmeerijate meeskond nägema? · Economy of Language Features kui palju vaeva on vaja keele õppimiseks? 66. Assembler, selle eelised ja puudused RAS korral. 1. Masinkeel 2. Eelised Täidab protsessori instruktsioone Kõige kiirem Ei kompileerita sisuliselt Kõik süsteemi võimalused vahetult kättesaadavad 3. Puudused Sõltub protsessorist, `porditavat' koodi raske luua Silumine ja vigade leidmine vaevaline Ülevaadet programmist raske saada Raske õppida 4
Eri protsessoritel on erinev sõna järgulisus. Aadress on kahend kood (number) mis näitab millise sõna poole toimub pöördumine. Mälus on taoline 0-de ja 1-de jada. Koodi enda järgi ei ole võimalik eristatda kus on andmed ja kus käsud. Protsessorist peab tulema aadress mis näitab millisesõna poole pöördutakse. Lugemise korral peab juba protsessor teadma kas sõna interpreteerida käsuna või andmetena. Kõrgtaseme keel – assembler – masinkood: Kõrgtaseme keeles kirjutatud programmi (käskude) jada ei ole arvuti riistvara võimeline täitma. Riistvaras on olemas ainult pingenivoo, mis vastab väärtusele 1 ja teine pingenivoo, mis vastab väärtusele 0. Sellepärast teisendatakse programselt (transleeritakse) kõik programmid lõpuks masinkoodi. Masinkoodis vastab igale käsule oma kahendkood. Millised on transleerimise vahe etapid ja kuidas seda
1. nädal • Eksamiks: pead teadma suuruse-numbreid ja mida nad tähendavad: bitt, bait, kilobait, megabait jne; oskad selgitada, kuidas tähti kodeeritakse, mis on algoritm ja mis programm. Ajaloost: Kreeka loogikud, induktsioon, deduktsioon, süllogismid, lausearvutus (pead mh oskama tõeväärtustabelit koostada), Pascal, Leibniz, perfokaardid, kangasteljed, Babbage, Hollerith, colossus ja saksa krüptomasinad, Turing, Shannon, Zuse, esimesed programmeeritavad arvutid. Algoritm – täpne samm-sammuline, kuid mitte tingimata formaalne juhend millegi tegemiseks. Nt toiduretsept, juhend ruutvõrrandi lahendamiseks. Programm – formaalses, üheselt mõistetavas keeles kirja pandud algoritm. Arvutid suudavad täita ainult programme. Bitt – info mõõtmise ühik, tuleb mõistest binary digit – nö kahendarv kahe võimaliku väärtusega 0 ja 1. Saab näidata kahte võimalikku olekut. Nibble - 4 bitti. Bait – arvutite...
Meetod on levinud käsustikes, mis ei ole eriti mahukad. Klassipõhiste käsukoodide korral koosneb käsukood kahest osast: 1. Klassikood 2. Operatsioonikood Meetod leiab rakendamist mahukates käsustikes, millele on iseloomulik väga variatiivsete käsuformaatide kasutamine. 8. Käsutsükli täitmise üldistatud mudel. 9. Translaatorite liigid. 1. Kompilaator 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.
Arvuti riistvara matemaatilised alused · Kahendsüsteem Digitaalseadmetes teostatavate arvutuste ja muu infotöötluse kiirus, täpsus ja arusaadavus sõltub suuresti seadmes kasutatavast arvutussüsteemist. Digitaaltehnikas domineerib kahendsüsteem nii iseseisva süsteemina kui ka teiste arvusüsteemide realiseerimise vahendina ja seda järgmistel põhjustel: Füüsikalise realiseerimise lihtsus tehete sooritamise põhimõtteline lihtsus funktsionaalne ühtsus Boole'i algebraga, mis on loogikalülituste peamine matemaatiline alus. Kahendsüsteem kuulub positsiooniliste arvusüsteemide hulka nagu kümnendsüsteemgi. Kahendarvu kohta nimetatakse bitiks. Vasakpoolseim koht on kõrgeim bitt ja parempoolseim madalaim bitt. · Boole funktsioonid ja nende esitus Digitaalseadmete realiseerimise matemaatiliseks aluseks on valdavalt kahendloogika ja kahendfunktsioonid. Kahendfunktsioone saab esitada olekutabelite abil, kus 2 n (n- argumentide väärtuste või...
uutes projektides on võimalik taas kasutusele võtta ning see vähendab töömahtu ja kiirendab uute programmide valmimist. PROGRAMMEERIMISKEELTE ÜLDINE JAOTUS Vaatleme programmeerimist pärast 1946. aastat, kui John von Neumann defineeris tänapäeva arvutite põhiprintsiibid. Esialgu oli arvutites programmeerimiseks ainult kahendkood. See tähendab seda, et kõik programmid tuli kirja panna 0-de ja 1-de jadana. Seejärel loodi assembler, mis kujutab endast lihtsat keelt asendamaks arvuti protsessori kahendkoodis kirjutatud käsud mnemoonikutega - lihtsate käske tähistavate tähekombinatsioonidega. Programmeerijate jaoks oli see suur samm edasi. 1950. aastatel loodi juba esimesed programmeerimiskeeled, mida tänapäevase mõiste järgi võib nimetada kõrgkeelteks ja need jagunesid mitmesse gruppi. Imperatiivsed ehk käskivad keeled Need on keeled, kus programmi põhiliseks elemendiks on käsk ehk instruktsioon
TARTU ÜLIKOOLI TEADUSKOOL PROGRAMMEERIMISE ALGKURSUS 2005-2006 Sisukord KURSUSE TUTVUSTUS: Programmeerimise algkursus.........................................6 Kellele see algkursus on mõeldud?..................................................................6 Mida sellel kursusel ei õpetata?.......................................................................6 Mida selle kursusel õpetatakse?......................................................................6 Kuidas õppida?.................................................................................................7 Mis on kompilaator?.............................................................................................8 Milliseid kompilaatoreid kasutada ja kust neid saab?......................................8 Millist keelt valida?...........................................................................................8 ESIMENE TEE...