АОР2/К2П 2022

Извор: SI Wiki
< АОР2
Датум измене: 12. април 2023. у 14:39; аутор: KockaAdmiralac (разговор | доприноси) (Prepis K2P 2022)
(разл) ← Старија измена | Тренутна верзија (разл) | Новија измена → (разл)
Пређи на навигацију Пређи на претрагу
Овај рок није решен. Помозите SI Wiki тако што ћете га решити.

Поправни други колоквијум 2022. године одржан је 11. јуна и трајао је 90 минута.

1. задатак

Поставка

Описати општи поступак виртуелизације уређаја. Посебно описати виртуелизацију дискова и начина на који је обављена виртуелизација прекида који стижу од ових уређаја.

Решење

2. задатак

Поставка

Потребно је оптимизовати функцију int find(register char* str1, register int len1, register char* str2, register int len2) коришћењем уграђеног макроа void prefetch(const void *addr) на одговарајућим местима тако да се максимално смањи број промашаја у кеш меморији. Дата функција проналази позицију низа карактера задат[sic] показивачем str2 и дужином len2 унутар низа карактера задат[sic] показивачем str1 и дужином len1. Уколико се низ карактера задат показивачем str2 и дужином len2 не налази унутар низа карактера задат[sic] показивачем str1 и дужином len1, резултат функције је -1. Сматрати да је len1>0 и 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;
}

Процесор поседује само L1 кеш меморију. Величина блока кеш меморије је 64B.

Меморијски контролер и аритметичко логичка јединица процесора имају могућност рада у паралели. Сматрати да void prefetch враћа резултат након 5 C++ израза који користе оперативну меморију. C++ изрази који не користе оперативну меморију сматрати да не утичу значајно у времену приликом извршавања void prefetch, тако да такве изразе треба игнорисати.

Решење