АОР2/Фебруар 2024 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
(Нова страница: {{tocright}} {{нерешено}}<!-- Ово ставити уколико НИЈЕДАН задатак није решен, док уколико само неки задаци нису решени на првом месту у њиховој секцији поставити {{делимично решено}}. Уколико се користи било који од ова два шаблона, ОБАВЕЗНО проверити да ли постоји и…)
 
м (Ispravka kategorije)
 
(Нису приказане 2 међуизмене 2 корисника)
Ред 31: Ред 31:
</gallery>
</gallery>


а) Написати секвенцу инструкција (микроинструкција) циљне RISC архитектуре у коју се обавља пресликавање за део инструкцијског сета из табеле 4.1. извршна CISC архитектуре. Уколико је потребно проширити број регистара опште намене у регистарском фајлу онда треба за сваки додат регистар написати чему служи. Регистар R13 представља указивач на врх стека (SP) и показује на последњу слободну локацију. Стек расте према вишим адресама. Регистар R14 представља указивач на базну адресу стека (BP), регистар R15<ref>ref name="greska"><sub>1</sub></ref> представља статусни регистар PSW. Регистар R0 се користи као акумулатор. У табели 4.1 акције нису оптимизовано написане, већ описно.  
а) Написати секвенцу инструкција (микроинструкција) циљне RISC архитектуре у коју се обавља пресликавање за део инструкцијског сета из табеле 4.1. извршна CISC архитектуре. Уколико је потребно проширити број регистара опште намене у регистарском фајлу онда треба за сваки додат регистар написати чему служи. Регистар R13 представља указивач на врх стека (SP) и показује на последњу слободну локацију. Стек расте према вишим адресама. Регистар R14 представља указивач на базну адресу стека (BP), регистар R15<ref name="greska">Напомена: У поставци задатка је била грешка, речено је било да регистар R13 представља PSW, па је узета претпоставка да је то R15.</ref> представља статусни регистар PSW. Регистар R0 се користи као акумулатор. У табели 4.1 акције нису оптимизовано написане, већ описно.  


{| class="wikitable"
{| class="wikitable"
Ред 58: Ред 58:
б) Нацртати формат инструкција циљне РИСЦ архитектуре (на основу инструкција из табеле 4.1)
б) Нацртати формат инструкција циљне РИСЦ архитектуре (на основу инструкција из табеле 4.1)
=== Решење ===
=== Решење ===
Напомена: У поставци задатка је била грешка, речено је било да регистар R13 представља PSW, па сам узео претпоставку да је то R15.


==== Подсетник ====
==== Подсетник ====
Ред 74: Ред 72:


[[Категорија:Рокови]]
[[Категорија:Рокови]]
[[Категорија:АОР2 Фебруар 2024]]
[[Категорија:АОР2]]

Тренутна верзија на датум 15. март 2024. у 02:25

Овај рок није решен. Помозите SI Wiki тако што ћете га решити.

1. (5) Описати технику оптимизације векторских инструкција која се заснива на дохватању изабраних елемената (Scatter-gather) приликом приступа подацима. Дати пример инструкција процесора које омогућавају ову технику и пример програма ког кога се јасно види предност коришћења ове технике.

Решење

2. (5) Дата је функција која враћа најмањи позитиван елемент низа а. Елементи низа а су означени реални бројеви дужине 64 бита. Уколико у низу а не постоји ниједан позитиван број, резултат функције треба да буде 0. Потребно је преправити код функције тако да има исти резултат извршавања коришћењем векторских инструкција које су дате у прилогу испита.

double minPositive(double[] a, unsigned int length)
{
   if(length==0)
       return 0;
   double min = a[0];
   for(int i=0; i<length; i++)
       if(a[i]>0 && a[i]<min)
            min = a[i];
   if(min<0)
       return 0;
}

Решење

3. (5) Код процесора који користе предвиђање скока и спекулативно извршавање могу се јавити одређене ранјивости хардверског система. Описати како изгледа напад типа Meltdown који користи технику Изваци и учитај (Flush and Reload) и у којој случајевима се овај напад може применити.

Решење

4.(5) Разматра се рачунарски систем у коме се извршавање одређене инструкције одвија у 6 фаза помоћу измењеног процесора са проточном обрадом (слика 4.1). У процесор са стандардном проточном обрадом је додата као други степен јединица PD (Instruction PreDecode) који обавља трансформацију инструкција задате архитектуре у инструкције RISC архитектуре. Сматрати да приступ меморији траје два сигнала такта. Архитектура процесора дефинише 16 регистара опште намене. Адресе и величине су 16 бита.

а) Написати секвенцу инструкција (микроинструкција) циљне RISC архитектуре у коју се обавља пресликавање за део инструкцијског сета из табеле 4.1. извршна CISC архитектуре. Уколико је потребно проширити број регистара опште намене у регистарском фајлу онда треба за сваки додат регистар написати чему служи. Регистар R13 представља указивач на врх стека (SP) и показује на последњу слободну локацију. Стек расте према вишим адресама. Регистар R14 представља указивач на базну адресу стека (BP), регистар R15[1] представља статусни регистар PSW. Регистар R0 се користи као акумулатор. У табели 4.1 акције нису оптимизовано написане, већ описно.

Тебла 4.1. - део инструкцијског сета процесора
Асемблерска инструкција Акција Микро инструкције
SHL Rx Rx15..0 = Rx14..0.0
LEAVE SP=BP

POP BP
POP PC||

RTI PSW=MEM[SP--]

PC=MEM[SP--] ||

SWP(Rx) MEM[Rx] ACC
INS entry PUSH PC

PUSH PSW
PC=MEM[IVTP+entry] ||

SUB (adr) ACC=ACC-MEM[MEM[adr]]

б) Нацртати формат инструкција циљне РИСЦ архитектуре (на основу инструкција из табеле 4.1)

Решење

Подсетник

У подсетнику је била дата документација за следеће инструкције:

_mm256_loadu_pd
_mm256_storeu_pd
_mm256_max_pd
_mm256_min_pd
_mm256_setzero_pd
_mm256_add_pd

Документација за ове инструкције може се наћи са званичног Интеловог сајта и овде неће бити поновљена.

  1. Напомена: У поставци задатка је била грешка, речено је било да регистар R13 представља PSW, па је узета претпоставка да је то R15.