ARS1

Podobni dokumenti
Microsoft Word - vaje2_ora.doc

Navodila:

Delavnica Načrtovanje digitalnih vezij

Diapozitiv 1

Microsoft Word - avd_vaje_ars1_1.doc

Slide 1

Delavnica Načrtovanje digitalnih vezij

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

Strojna oprema

Delavnica Načrtovanje digitalnih vezij

Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajan

Microsoft Word - UP_Lekcija04_2014.docx

4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenov

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega)

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

Diapozitiv 1

DES

Diapozitiv 1

Microsoft PowerPoint - OAPS1- P12.ppt

STAVKI _5_

PAST CONTINUOUS Past continuous uporabljamo, ko želimo opisati dogodke, ki so se dogajali v preteklosti. Dogodki so se zaključili v preteklosti in nič

Iskanje ničel funkcij z metodo bisekcije Imejmo podano funkcijo f(x), ki ji želimo poiskati ničle, to je presečišča z x-osjo, kjer je vrednost f(x)=0.

Delavnica Načrtovanje digitalnih vezij

DIGITALNE STRUKTURE Zapiski predavanj Branko Šter, Ljubo Pipan 2 Razdeljevalniki Razdeljevalnik (demultipleksor) opravlja funkcijo, ki je obratna funk

Delavnica Načrtovanje digitalnih vezij

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf

PRESENT SIMPLE TENSE The sun gives us light. The sun does not give us light. Does It give us light? Raba: Za splošno znane resnice. I watch TV sometim

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

Microsoft Word - M docx

CelotniPraktikum_2011_verZaTisk.pdf

APS1

DN5(Kor).dvi

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

Kazalo 1 DVOMESTNE RELACIJE Operacije z dvomestnimi relacijami Predstavitev relacij

Vaja04_Ver02

Microsoft Word - M _mod..docx

Diapozitiv 1

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig

Društvo za elektronske športe - spid.si Vaneča 69a 9201 Puconci Pravila tekmovanja na EPICENTER LAN 12 Hearthstone Na dogodku izvaja: Blaž Oršoš Datum

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNITVO IN INFORMATIKO tqca - Seštevalnik Seminarska naloga pri predmetu Optične in nanotehnologije Blaž Lampre

Microsoft PowerPoint - Java_spremenljivke

Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / Uradni lis

ORA 1-3

Microsoft Word - NAVODILA ZA UPORABO.docx

Datum in kraj

Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubl

101353_-an-01-sl-_vbodni_termometer

Elektrotehniški vestnik 76(1-2): 13 18, 2009 Electrotechnical Review, Ljubljana, Slovenija Ugotavljanje podatkovne odvisnosti za procesorje z naborom

Microsoft Word - EV-2-projekt.doc

scratch

Microsoft Word - CNC obdelava kazalo vsebine.doc

Letni izpiti iz NAUKA O GLASBI in SOLFEGGIA na

Simulator izvajanja javanske zložne kode

Številka: /2019 Datum: Vzpostavitev Registra transakcijskih računov v AJPES Pojasnila k vsebini posameznih podatkov v RTR Pripravil

Naloge 1. Dva električna grelnika z ohmskima upornostma 60 Ω in 30 Ω vežemo vzporedno in priključimo na idealni enosmerni tokovni vir s tokom 10 A. Tr

5 Programirljiva vezja 5.1 Kompleksna programirljiva vezja - CPLD Sodobna programirljiva vezja delimo v dve veliki skupini: CPLD in FPGA. Vezja CPLD (

Ali je varno kupovati ponarejeno blago?

Uvod v programiranje mikrokrmilnikov, zbrano gradivo za predavanja

Poglavje 3 Reševanje nelinearnih enačb Na iskanje rešitve enačbe oblike f(x) = 0 (3.1) zelo pogosto naletimo pri reševanju tehničnih problemov. Pri te

Naročnik: Občina Horjul Občinski trg Horjul Naloga: OBRAZLOŽITEV IN UTEMELJITEV SPREMEMB IN DOPOLNITEV ODLOKA O OBČINSKEM PROSTORSKEM NAČRTU OB

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

ZNAMKA PROSTORNINA MODEL IN TIP MODELNO LETO CENIK VERIŽNIH SETOV DC - AFAM 2016 MATERIAL SPREDNJI ZOBNIK ZADNJI ZOBNIK VERIGA OZNAKA 415 DC415F 420 D

Svet elektronika 198.indd

Microsoft Word - M

DR

DKMPT

Navodila za nastavitev mail odjemalca na ios in Android napravah TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomoč

PowerPointova predstavitev

RAČUNALNIŠKI PRAKTIKUM d o c. d r. A N D R E J T A R A N E N K O Kdo bo z vami? Predavatelj: dr. Andrej Taranenko

03C

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Andraž Drčar Prevajanje javanskih programov z vstavljeno zložno kodo DIPLOMSKO DELO UNI

Revija 124 za PDF.p65

Microsoft PowerPoint - Objekti_gradnja.ppt

Microsoft PowerPoint - MSPO_4_DiagramiVpliva.pptx

NAJRAJE SE DRUŽIM S SVIČNIKOM, SAJ LAHKO VADIM ČRTE IN KRIVULJE, PA VELIKE TISKANE ČRKE IN ŠTEVILKE DO 20. Preizkusite znanje vaših otrok in natisnite

PODATKI O DAVČNEM ZAVEZANCU PRILOGA 1 (ime in priimek) (davčna številka) (podatki o bivališču: naselje, ulica, hišna številka) (elektronski naslov) (p

APS1

Velja od: do preklica DODATNA OPREMA

Microsoft PowerPoint - Glasbena teorija 1

DOLŽNIK: MARJAN KOLAR - osebni steč aj Opr. št. St 3673/ 2014 OSNOVNI SEZNAM PREIZKUŠENIH TERJATEV prij ava terjatve zap. št. št. prij. matič na števi

COMARC/H Format

KRMILNA OMARICA KO-0

Microsoft Word - CelotniPraktikum_2011_verZaTisk.doc

Space Invaders Opis igre: Originalna igra: Space Invaders je arkadna igra, ki so jo ustvarili leta Bila je ena izmed prvih streljaških iger, v k

DES11_vmesniki

Microsoft Word - CNS-GPS2_Pripomocek_za_vadbo

Microsoft Word - CNS-SW3 Quick Guide_SI

Microsoft PowerPoint - Java-rekurzija.ppt

Transkripcija:

Nepredznačena in predznačena cela števila Dvojiški zapis Nepredznačeno Predznačeno 0000 0 0 0001 1 1 0010 2 2 0011 3 3 Pri odštevanju je stanje C obratno (posebnost ARM)! - če ne prekoračimo 0 => C=1 - če prekoračimo 0 => C=0 0100 4 4 Prenos (carry) C 0101 5 5 0110 6 6 0111 7 7 1000 8-8 V A preliv (overflow) B S A B S 1001 9-7 1010 10-6 1011 11-5 1100 12-4 1101 13-3 1110 14-2 1111 15-1 RAB Računalniška arhitektura 1

Nepredznačena in predznačena cela števila Dvojiški zapis Nepredznačeno Predznačeno 1000 8-8 1001 9-7 1010 10-6 1011 11-5 1100 12-4 1101 13-3 V preliv (overflow) A B S A B S 1110 14-2 C 1111 15-1 0000 0 0 0001 1 1 0010 2 2 0011 3 3 0100 4 4 0101 5 5 0110 6 6 0111 7 7 V RAB Računalniška arhitektura 2

Razširitev ničle / razširitev predznaka pri nalaganju 8 in 16 bitnih pomnilniških operandov je potrebno razširiti predznak ali ničlo (ker so registri in ALE operacije 32 bitni). S pomnilniškimi operandi delata samo load in store (ldr, str). pri nepredznačnih operandih je potrebno razširiti ničlo: ldrb ldrh 00000000 00000000 00000000 xxxxxxxx xxxxxxxx 00000000 00000000 yyyyyyyy xxxxxxxx xxxxxxxx yyyyyyyy pri predznačnih operandih je potrebno razširiti predznak: ldrsb 00000000 00000000 00000000 0xxxxxxx 0xxxxxxx 11111111 11111111 11111111 1xxxxxxx 1xxxxxxx ldrsh 00000000 00000000 0yyyyyyy xxxxxxxx xxxxxxxx 0yyyyyyy 11111111 11111111 1yyyyyyy xxxxxxxx xxxxxxxx 1yyyyyyy RAB Računalniška arhitektura 3

Zastavice so štirje biti v registru CPSR, za vsak bit velja : 1 zastavica je postavljena. 0 zastavica ni postavljena 31 2827 8 7 6 5 4 0 N Z C V unused I F T mode Zastavice (lahko) ukazi spreminjajo glede na rezultat ALE: N = 0: bit 31 rezultata je 0, N=1: bit 31 rezultata je 1 (Negative) Z = 1: rezultat je 0, Z=0: rezultat je različen od nič (Zero) C = 1: rezultat je povzročil prenos, C = 0: rezultat ni povzročil prenosa (Carry) V = 1: rezultat je povzročil preliv, V = 0: rezultat ni povzročil preliva (overflow) Če želimo, da ALE ukaz vpliva na zastavice, mu dodamo s: movs r1, #3 @ r1 3 adds r2, r7, #0x20 @ r2 r7 + 32 subs r4, r5,#1 @ r4 r5-1 RAB Računalniška arhitektura 4

Primerjave Za spreminjanje zastavic lahko uporabimo ukaze za primerjanje (spadajo med ALE ukaze): cmp (Compare): postavi zastavice glede na rezultat Rn - Op2 cmp R1, #10 @ R1-10 cmn (Compare negated): postavi zastavice glede na rezultat Rn + Op2 cmn R1, #10 @ R1+10 Ukaza vplivata samo na zastavice, vrednosti registrov ne spreminjata. Ker se uporabljata zgolj za spreminjanje zastavic, jima ne dodajamo pripone S. RAB Računalniška arhitektura 5

Primerjave nepredznačenih števil Zgled: primerjanje dveh nepredznačenih števil: - opazujemo zastavici C in Z mov r1,#11 cmp r1,#10 @ C=1, Z=0 mov r1,#10 cmp r1,#10 @ C=1, Z=1 mov r1,#9 cmp r1,#10 @ C=0, Z=0 Torej: r1 > 10 C=1 in Z=0 Higher r1 >= 10 C=1 Higher or Same r1 = 10 Z=1 Equal r1 < 10 C=0 Lower r1 <= 10 C=0 ali Z=1 Lower or Same RAB Računalniška arhitektura 6

Primerjave predznačenih števil Ker gre pri primerjanju za odštevanje/seštevanje, ki je za predznačena števila enako kot za nepredznačena, tudi za primerjanje predznačenih števil uporabimo iste ukaze, opazovati pa moramo druge zastavice! - Opazovati je potrebno zastavice V, Z in N Zgled: mov r1,#0 cmp r1,#-1 @ C=0, Z=0, V=0, N=0 Zastavice ne ustrezajo pogoju > za nepredznačena števila (C=1 in Z=0)! Pogoj > za predznačena števila je drugačen od pogoja > za nepredznačena števila. Pravilen pogoj je: N = V RAB Računalniška arhitektura 7

Oznake pogojev Oznaka pogoja Pomen Stanje zastavic, ob katerem se ukaz izvede EQ Equal / equals zero Z set NE Not equal Z clear CS Carry set C set CC Carry clear C clear MI Minus / negative N set PL Plus / positive or zero N clear VS Overflow V set VC No overflow V clear HS Unsigned higher or same C set LO Unsigned lower C clear HI Unsigned higher C set and Z clear LS Unsigned lower or same C clear or Z set GE Signed greater than or equal N equals V LT Signed less than N is not equal to V GT Signed greater than Z clear and N equals V LE Signed less than or equal Z set or N is not equal to V RAB Računalniška arhitektura 8

Skočni ukazi Skok je ukaz tipa GOTO oznaka - pri skokih se sklicujemo na oznake. Naslov ukaza, ki stoji za oznako se zapiše v PC. b (Branch) zanka: sub r1, r1, #1 b zanka @ GOTO zanka Zanka se bo ponavljala v nedogled. r1 se bo neprestano zmanjševal, ko bo prišel do 0, bo prišlo do prenosa, v r1 pa bo 0xffffffff. Če želimo narediti zanko, ki se bo nehala ponavljati, ko bo r1 prišel do 0, potrebujemo ukaz tip IF pogoj THEN GOTO oznaka. Ukaz b se bo torej izvedel samo, če bo pogoj ustrezen. RAB Računalniška arhitektura 9

Pogojni skoki V zbirniku ARM je pogoj vedno določen s stanjem zastavic! Oznake pogojev smo že spoznali. Preden uporabimo pogojni skok moramo primerno postaviti zastavice. To lahko naredimo z ukazi za primerjavo, zelo pogosto pa kar z enim izmed ostalih ALE ukazov. Zanka, ki se ustavi, ko r1 pride do 0 bi lahko bila realizirana tako: b (Branch) zanka: sub r1, r1, #1 cmp r1, #0 bne zanka @ IF Z=0 THEN GOTO zanka Ukazu b smo dodali pripono, ki določa, ob kakšnem stanju zastavic se skok izvede. Če stanje zastavic ni ustrezno, se ukaz ne izvede! Ker se skok izvede le ob določenem pogoju, mu pravimo pogojni skok. RAB Računalniška arhitektura 10

Pogojni skoki Ukaz cmp v prejšnjem zgledu je torej pripravil zastavico Z, ki je predstavljala pogoj za pogojni skok. Zastavico bi lahko postavili že pri zmanjševanju r1. Ukazu sub je potrebno dodati s: b (Branch) zanka: mov r1, #10 subs r1, r1, #1 @ postavi zastavice! bne zanka @ IF Z=0 THEN GOTO zanka mov r2, #10 Zanka se bo ponovila desetkrat. Ko bo r1 prišel do 0, bo subs zastavico Z postavil na Z=1. Pogojni skok se takrat ne bo izvršil, izvedel se bo ukaz mov r2, #10 za pogojnim skokom. Pogojni skok torej deluje na način: IF pogoj THEN PC oznaka ELSE PC PC+4 RAB Računalniška arhitektura 11

Pogojni skoki Ukazu b lahko dodamo katerokoli oznako pogoja iz tabele na prosojnici 35. Tako dobimo vse možne pogojne skoke: Branch Interpretation Normal uses B Unconditional Always take this branch BEQ Equal Comparison equal or zero result BNE Not equal Comparison not equal or non-zero result BPL Plus Result positive or zero BMI Minus Result minus or negative BCC BLO Carry clear Lower Arithmetic operation did not give carry-out Unsigned comparison gave lower BCS BHS Carry set Higher or same Arithmetic operation gave carry-out Unsigned comparison gave higher or same BVC Overflow clear Signed integer operation; no overflow occurred BVS Overflow set Signed integer operation; overflow occurred BGT Greater than Signed integer comparison gave greater than BGE Greater or equal Signed integer comparison gave greater or equal BLT Less than Signed integer comparison gave less than BLE Less or equal Signed integer comparison gave less than or equal BHI Higher Unsigned comparison gave higher BLS Lower or same Unsigned comparison gave lower or same RAB Računalniška arhitektura 12

Pogojno izvajanje ukazov Pogojni skoki so le poseben primer pogojnega izvajanja ukazov. Tudi za druge ukaze je mogoče z dodajanjem ustreznih končnic določiti, da se izvedejo le ob določenem pogoju. cmp r0, #5 beq SKOK add r1,r1,r0 sub r1,r1,r2 SKOK.. if (r1<10) then r4=r1+5 else r4=r1+8 cmp r0, #5 addne r1,r1,r0 subne r1,r1,r2 cmp r1, 10 blo MANJ add r4,r1,#8 b NAPREJ MANJ add r4,r1,#5 NAPREJ... cmp r1,#10 addlo r4,r1,#5 addhs r4,r1,#8 RAB Računalniška arhitektura 13

Pogojno izvajanje ukazov if ((r0==r1) AND (r2==r3)) then r4=r4+1 cmp r0,r1 ; postavi Z, ce je r0=r1 cmpeq r2,r3 ; primerjaj le, ce je Z=1 in ; spet postavi Z, ce je r2=r3 addeq r4,r4,#1 ; sestej le, ce je Z=1 (r0=r1 in r2=r3) večino if-then-else stavkov je mogoče implementirati s pogojnim izvajanjem! if-then-else stavke, ki vsebujejo AND ali OR lahko implementiramo z uporabo pogojnih primerjanj. uporaba pogojnega izvajanja je pogosto (za krajše veje) bolj učinkovita kot uporaba skokov! Pozor: izvajanje ukaza vedno traja vsaj 1 periodo, tudi če pogoj ni izpolnjen! RAB Računalniška arhitektura 14