AOR2/K2P 2022

Izvor: SI Wiki
< АОР2
Datum izmene: 12. april 2023. u 14:39; autor: KockaAdmiralac (razgovor | doprinosi) (Prepis K2P 2022)
(razl) ← Starija izmena | Trenutna verzija (razl) | Novija izmena → (razl)
Pređi na navigaciju Pređi na pretragu
Ovaj rok nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.

Popravni drugi kolokvijum 2022. godine održan je 11. juna i trajao je 90 minuta.

1. zadatak

Postavka

Opisati opšti postupak virtuelizacije uređaja. Posebno opisati virtuelizaciju diskova i načina na koji je obavljena virtuelizacija prekida koji stižu od ovih uređaja.

Rešenje

2. zadatak

Postavka

Potrebno je optimizovati funkciju int find(register char* str1, register int len1, register char* str2, register int len2) korišćenjem ugrađenog makroa void prefetch(const void *addr) na odgovarajućim mestima tako da se maksimalno smanji broj promašaja u keš memoriji. Data funkcija pronalazi poziciju niza karaktera zadat[sic] pokazivačem str2 i dužinom len2 unutar niza karaktera zadat[sic] pokazivačem str1 i dužinom len1. Ukoliko se niz karaktera zadat pokazivačem str2 i dužinom len2 ne nalazi unutar niza karaktera zadat[sic] pokazivačem str1 i dužinom len1, rezultat funkcije je -1. Smatrati da je len1>0 i len2>0.

int find(register char* str1, register int len1, register char* str2, register int len2)
{
    register int i;
    register int j;

    for (i = 0; i <= len1 - len2; i++) {
        for (j = 0; j < len2; j++) {
            register c1 = str1[i + j];
            register c2 = str2[j];
            if (c1 != c2)
                break;
        }
        if (j == len2)
            return i;
    }
    return -1;
}

Procesor poseduje samo L1 keš memoriju. Veličina bloka keš memorije je 64B.

Memorijski kontroler i aritmetičko logička jedinica procesora imaju mogućnost rada u paraleli. Smatrati da void prefetch vraća rezultat nakon 5 C++ izraza koji koriste operativnu memoriju. C++ izrazi koji ne koriste operativnu memoriju smatrati da ne utiču značajno u vremenu prilikom izvršavanja void prefetch, tako da takve izraze treba ignorisati.

Rešenje