Sve Flashcards
Od kad do kad se računa vrijeme pristupa memoriji?
Od trenutka kad procesor postavi upravljačke signale i adresu (započne s pristupom) do kad memorija obavi traženu operaciju (čitanje/pisanje).
Može li RTC nakon brojenja 1 ciklusa automatski nastaviti s brojenjem sljedećeg?
Ne.
Ima li GPIO sinkronizacijske priključke i može li postaviti zahtjev za prekid?
Ne i ne. (RTC može postaviti zahtjev za prekid)
DMA prijenos… kakav prijenos? Što s ciklusima i procesorom?
krađa ciklusa, zaustavljanje procesora, blokovski prijenos, multipleksirani prijenos
Kakve programe mogu prevoditi troprolazni asembleri?
One koji koriste makronaredbe za razliku od dvoprolaznih.
Strukturni hazard je kad i zašto? U kojoj arhitekturi?
Kad procesor ne može izvesti sve faze naredbi u protočnoj u trenutku (jer sklopovlje ne omogućuje istodobno izvođenje svih tih faza)
Kakav kod dohvaća FRISC u fazi dohvata? Gdje se sprema dohvaćeno?
strojni kod ili naredbu iz memorije, dohvaćeno se sprema u IR
Što znači nastavak S u naredbi SUBS PC, LR, #4?
Da treba registar SPSR upisati u registar CPSR.
Kojim metodama možemo predvidjeti grananje?
Statičkom i dinamičkom.
Statička metoda predviđanja grananja? Što se zapravo uspoređuje?
Je li adresa grananja MANJA, ako je doći će do grananja. Zapravo se uspoređuju programsko brojilo (ili PC ili R15) i adresa skoka/odredište.
Što se spaja na APB, a što na AHB sabirnicu? I što je među njih dvije?
na APB: GPIO i RTC
na AHB: signali HADDR širine 32 bita
*između njih je APB-AHB most
Kakve prekide imamo kod FRISC-a? Na kojoj lokaciji su adrese?
Gdje se sprema povratna adresa?
1) maskirajući
- adresa prekidnog potp. zapisana u mem. na lokaciji 8
2) nemaskirajući
- na lokaciji 12
* povratna adresa sprema se na stog
Koje su naredbe za pristup registrima stanja procesora ARM?
MRS i MSR
Kako se može zapisati neposredna vr. kod aritmetičko-logičkih naredaba ARM-a? Koji sklop to omogućuje?
kao broj širine 8 bitova koji se rotira u desno za paran broj bitova (to omogućuje sklop BARREL_SHIFTER)
Koje su faze izvođenja naredbe kod ARM-a i FRISC-a? U kojima pristupa memoriji?
dohvat (sigurno, procesor pristupa memoriji), dekodiranje (ne pristupa), izvođenje (može i ne mora)
*kod FRISC-a je dekodiranje smješteno u dohvat pa ima 2 faze
Koliko su široki podatkovni priključci kod ARM-a? Kojeg su smjera?
64 bita, od čega pola-pola ima ulazni/izlazni smjer.
Čitanje iz brze memorije (AHB sabirnica) podijeljeno je na što? Koliko traje?
adresnu fazu (traje 1 takt clocka) i podatkovnu fazu (isto 1 takt)
Koje su procesorske arhitekture?
stogovna, akumulatorska, registar-mem., registar-registar (load-store, RISC)
Koje grupe naredaba ima ARM7 s obzirom na način izvedbe? Kakvo izvođenje je moguće za njih?
za obradu podataka (AL), prijenos (load-store, memorijske), grananje (upravljačke)
*za gotovo sve naredbe moguće je uvjetno izvođenje
Što se dogodi s brojilom kada se pojavi impuls na priključku CLK1Hz? I kada RTC može postaviti zahtjev za prekid?
Brojilo se poveća za 1, a kada vrijednost u brojilu postane jednaka vrijednosti u registru usporedbe (MR), tada RTC postaje automatski spreman i može postaviti zahtjev za prekid.
Kojom naredbom se vraća iz potprograma i što ona radi?
SUBS PC,LR,#4
*obnavlja sadržaje registara PC(R15) i CPSR
Koje su adrese za prekidne potprograme?
Za obične prekide: 1816(0x18) i za brze: 1C16(0x1C)
Što je bistabil stanja? Gdje postoji?
Dio vanjske jedinice koji postoji unutar UVJETNIH i PREKIDNIH, ali ne bezuvjetnih jedinica.
**to su priključci za sinkronizaciju/rukovanje (ready, strobe) koji povezuju vanjsku jedinicu i proces/uređaj
Kako dijelimo sabirnice?
1) po namjeni
- adresna, podatkovna, upravljačka
2) po načinu komunikacije
- sinkrona (FRISC, prilagodba brzine s ulaznim WAIT), asinkrona
Gdje je moguć strukturni hazard i kako ga izbjegavamo i koji je tu problem koji kako rješavamo?
Kod Von Neumannove arhitekture. Izbjegavamo ga hardvarskom arhitekturom (ali tu postoji mogućnost podatkovnog koji umanjujemo prosljeđivanjem rezultata).
Kako sprječavamo upravljački hazard?
Predviđanjem grananja.
Kad se događa strukturni, a kad upravljački hazard?
Strukturni - STR (2), LDR (3)
Upravljački - B i BL (3)
Kako zovemo blok virtualne memorije? I što sadrži tablica tih blokova?
Stranica (tablica stranica sadrži translacije virtualnih u fizičke adrese i čuva se u memoriji za svaki program)
Koliko razina priručne memorije postoji?
3 (L1, L2 i L3 koja je najsporija, ali i dalje brža od glavne)
Koje je najefikasnije i najfleksibilnije pohranjivanje blokova?
puna asocijativnost (preslikavanje)
Lokalnost podataka se dijeli na?
1) prostorna - susjedni podaci će vrlo vjv bit uskoro potrebni
2) vremenska - potreban podatak će vjv uskoro opet trebat
Hijerarhijska organizacija memorije
1) SRAM - priručna
2) DRAM - glavna/radna
3) HD - masovna/diskovi
Što je propusnost?
brzina memorije * širina podatka koji memorija daje na priključcima (b/s)
/cs ili /ce
signal koji omogućuje dekodiranje adresne sabirnice i ostalih upravljački signala u memoriji
*chip enable
/oe
signal koji podatke iz internog spremnika podataka memorije prosljeđuje na vanjsku sabirnicu (spaja se na /rd)
*output enable
/we ili /wr
signal koji inicira pisanje podataka sa sabrinice na izabranu lokaciju u memoriji
*write enable
/MemSel
signal kojim procesor definira da je na adresnoj sabirnici stabilna memorijska adresa
*memory select
Strukturni hazard kod FRISC-a?
Ne postoji zbog Hardvard arhitekture.
Koje je rješenje za podatkovni hazard kod FRISC-a?
Mjehuruć… provjerava je li neki od 2 operanda naredbe u ID fazi rezultat neke od naredaba koje su u EX ili MEM fazi i ne dozvoljava ulazak sve dok se ne pribave svi potrebni podaci
Kako postići jednostavan način generiranja upravljačkih signala? Kako ih generira?
konačnim brojem stanja (FSM) - generira signale na jedan od bridova (rastući ili padajući) pa FRISC-V koristi dvostruki FSM
Koliko registara ima FRISC-V?
32 opće namjene i PC (zaseban registar), ali R0 nije registar već predstavlja konst. 0
Kakva je arhitektura FRISC-V?
load-store bez zastavica
Koji su dijelovi GPIO-a?
1) upravljački dio
2) vrata A i B sa svojim podatkovnim registrom DR i registrom smjera DDR
3) dio za upravljanje priključcima XPA i XPB
DMA prijenos? Koliko ciklusa treba? U kojem stanju je procesor tijekom njega?
Izravni pristup memoriji - sklopovski ulazno/izlazni prijenos.
- krađa ciklusa… DMA treba n2 ciklusa, a program n9
- *tijekom njega je procesor potpuno neaktivan
DMAC, kanali i tip transfera?
namjena je brzi prijenos podataka na AHB sabirnici, ima samo 1 kanal i podržava 3 tipa transfera: mem-mem, mem-vj, vj-mem
Posluživanje više prekidnih vanjskih jedinica? Vrste?
- svima dodijeliti razl. prioritete sklopovski ili programski
1) bez gniježđenja - tek kad se posluži jedna, prihvaća se prekid
2) s gniježđenjem - usred posluživanja prihvaća se
Jesu li maskirajući prekidi inicijalno zabranjeni i koji su? Kako onemogućujemo?
Da, FIQ (R8-R12) i IRQ.
Onemogućujemo upisom 1, omogućujemo/zabranjujemo upisom 0 u bit I odnosno F u CPSR registru
*za svaki treba def. zaseban stog, r13 na 10000, ostali svakih 400
STAT/EOI, kad je 1-bitni, kad 0-bitni?
statusni registar koji je 1-bitni kad brojač odbroji svoje, 0-bitni kod pisanja
Kod LCD prikaznika, što je spojeno na najviši (izlazni) bit? Za što su ostali bitovi?
Kontrolni priključak WR (šaljemo mu pozitivan impuls za rastući brid). A nižih 7 bitova je za slanje podataka (DATA priključci)
*smjerovi priključaka GPIO i LCD su međusobno obratni
Kako su bitovi pisača spojeni na GPIO?
Kakvo je rukovanje i kako osiguravamo pravednost?
9 bitova
(7 za podatke (DATA ulazni - port A) i
2 za rukovanje (SEND ulazni i BUSY izlazni - port B aktivni visoko))
*polling (prozivanje u krug osiguranjem pravednosti)
**rukovanje uvjetno
Jesu li 3 najniža bita sve ništice vs. je li u najnižem bitu ništica? (kod)
TST R0, #0b111 vs. TST R0, #1
Koje operacije nad bitovima imamo?
brisanje (reset), postavljanje (set) i komplementiranje
AND R0,R0,#0xFF ;brisanje svih bajtova osim najnižeg
ORR R0,R0,#0xFF ;postavljanje najnižeg bajta
EOR R0,R0,#0xFF ;komplementiranje najnižeg
BIC R0,R0,#0xFF ;brisanje najnižeg
zapis brojeva
0x heksadekadski
ništa dekadski
0b binarni
most AHB-APB, koje signale generira?
spaja sabirnice, uzima adresu i održava ju valjanom, generira signal PSEL_X, generira PENABLE
Sinkrone vs. asinkrone sabirnice? Koja je alternativa sabirnici?
sinkrone su sinkronizirane s clockom, velike brzine i kratke
asinkrone se sinkroniziraju rukovanjem, manje brzine i dulje
alternativa je vlastiti spojni put
Što je sabirnički protokol?
sabirnički protokol je točan redoslijed koraka u komunikaciji
Koliko ukupno registara ima ARM?
37
ARM načini rada?
1 USER i 6 privilegiranih načina rada (SVC, nakon reseta)
- procesorski (CPSR i R0-R15)
- *ne podržava hypervisor
asembleri
- .a -> *.o (premjestivi strojni kod)
- > *.a -> a.out (izvršni program)
- > loader -> memorija
little vs big endian za zapis 1234?
ZAPIS: 1234 little: 32 12 big: 12 34
(ARM je little)