Arhitektura računara/Jul 2021

Izvor: SI Wiki
< Архитектура рачунара
Datum izmene: 8. jul 2021. u 11:16; autor: Duke (razgovor | doprinosi) (nisam udario enter izmedju a i b na prvi)
Pređi na navigaciju Pređi na pretragu

1. zadatak

Ovaj zadatak nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.

Postavka

a) Nacrtati strukturu kontrolera ulazno/izlazne periferije sa direktnim pristupom memoriji. b) Objasniti funkciju svih delova kontrolera. v) Objasniti kojim bitovima i u kojim registrima se zadaju mogući režimi rada kontrolera i dobijaju informacije kako se odvija prenos podataka.

2. zadatak

Ovaj zadatak nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.

Postavka

Kontroler izlazne periferije i izlazna periferija za međusobno povezivanje koriste paralelni interfejs koji se sastoji od linija podataka, jedne statusne linije i jedne upravljačke linije. Statusnom linijom izlazna periferija daje indikaciju kontroleru periferije da li je spremna da primi podatak koji je dostupan na linijama podataka, dok kontroler periferije upravljačkom linijom obezbeđuje čitanje podatka sa linija podataka u svoj interni registar. Navesti po kom redosledu se navedene linije koriste za sinhronizaciju i slanje podataka iz kontrolera periferije na periferiju. Odgovor dati tabelarno. Naznačiti koja je početna vrednost na ovim linijama.

Redosled Linija(statusn/upravljačka/podaci) Vrednost Značenje Ko postavlja

3. zadatak

Ovaj zadatak nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.

Postavka

Hapisati optimalnu sekvencu instrukcija koja odgovara sledećoj standardnoj bibliotečkoj S funkciji koja nadovezuje niz srс na kraj niza dest:

 char *strcat (char *dest, const char *src);

Funkcija kao rezultat vraća pokazivač na rezultujući niz dest . Pretpostaviti da je niz dest dovoljne veličine da se u njega može smestiti rezultujući niz, kao i da nema preklapana između srс i dest. Ha raspolaganju je procesor kod koga aritmetičke, logičke i pomeračke instrukcije imaju format: OC reg, reg, reg/imm gde je OS kod operacije, odredišni operand i moraju biti u registru (reg), dok drugi može biti ili u registru ili dat nepocredno (reg/imm). Instrukcija LOAD ima format: LOAD reg, mem gde je prvim operandom dat odredišni registar (reg), a drugim izvorište. Instrukcija STORE ima format: STORE reg, mem gde je prvim operandom dat izvorišni registar (reg), a drugim odredište. Na raspolaganu stoji 8 registara otpte namene. Pretpostaviti da su svi podaci i adrese iste dužine koja je jednaka adresibilnoj jedinici. Na raspolaganju stoje i složene instrukcije.

4. zadatak

Ovaj zadatak nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.

Postavka

U računvrskom sistemu se nalazi jednoadresni procesor, memorija i periferije RER0, i PER1. Periferiji RER0 je pridružen DMA0 kontroler. Sve komponente računara su povezane sistemskom magistralom sa 16 bitnom adresnom i 16 bitnom magistralom podataka. Adresiranje je na nivou 16 bitnih rečn. Svi podaci i adrese su širine 16 bita. Uzeti da je tip podataka іnt dužine 16 bita. Ulazno-izlazni adresni prostor i memorijski adresni prostor su preklopljeni. Adrese relevantnih registara periferija RERO i DMA0 kontrolera su:

PER0_CONTROL F000h DMA0_CONTROL F003h PER1_CONTROL F010h
PER0_STATUS F001h DMA0_STATUS F004h PER1_STATUS F011h
PER0_DATA F002h DMA0_DATA F005h PER1_DATA F012h
DMA0_ADDR F006h
DMA0_CNT F007h

U upravljačkim registrima bit 0 je Start kojim se dozvolava početak operacije, bit 1 određyjy tip prenosa podataka (1 - ulaz (input), 0-izlaz (output)), bit 2 je Enable kojim se dozvoljava prekid. Bit 3 upravljačkog registra kontrolera DMA0 se zadaje režim rada (0-blokovski (burst), 1-ciklus po ciklus (sucle stealing)). Bitovi od 4 do 7 upravljačkog registra DMA0 kontrolera sadrže vrednost za koliko se uvećava adresni registar nakon svakog prenetog podatka. U statusnim registrima bit 0 je Ready koji signalizira spremnost kontrodera periferije.

Hapisati glavni program, odgovarajući potprogram i prekidne rutine kojima se obavlja sledeći prenos.

Sa periferija PER0 i RER1 uporedo se šalju elementi niza. Niz se smešta u memoriju počev od adrese 1000h n ima 100h slemenata. Periferija RER0 šalje elemente koje treba smeštati na mesta u nizu sa parnim indeksom, a elemente sa RER1 treba smeštati na mesta sa neparnim indeksom.

Nakon prijema niza, periferiji koja je prva završila slanje šalje se kompletan neopadajuće sortirani niz. Za sortiranje niza potrebno je implementirati i na odgovarajućem mestu u programu pozvati funkciju

void sort (ant* arrAddr, int 1ength)

Gde je аrraddr adresa niza, a length dužina niza. Ne treba voditi računa koji algoritam se koristi za sortiranje.

Primane elementa sa periferije PER0 realizovati korišćenem DMA0 kontrolera u blokovskom režimu rada, a eventualno slanje sortiranog niza korišćenjem DMA0 kontrolera u režimu ciklus po ciklus. Primanje elemenata sa RER1 i eventualno slanje sortiranog niza na PER1 pealizovati korišćenem mehanizma prekida.

Smatrati da su dostupni registri XR, VR i SP prilikom pisanja potprograma, kao i da je dozvoljeno registarsko indirektno adresiraьe sa registrom XR. Obratiti pažnju da potprogram ne sme da koristi globalne promenjive, već camo parametre potprograma i lokane promenjeve. Pozivalac potprograma je dužan da ukloni parametre sa steka. Procesor ne poseduje registre opšte namene, kao ni registar IMR. Stek raste od viših ka nižim lokacijama, a SP ukazuje na poslednju zauzetu lokaciju. Dozvoljeno je koristiti dodatne promenljive, ali njihove naznve treba pisati opisno i semantički ispravno.