Архитектура рачунара/Јул 2021

Извор: SI Wiki
< Архитектура рачунара
Датум измене: 8. јул 2021. у 10:16; аутор: Duke (разговор | доприноси) (nisam udario enter izmedju a i b na prvi)
Пређи на навигацију Пређи на претрагу

1. задатак

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

Поставка

а) Нацртати структуру контролера улазно/излазне периферије са директним приступом меморији. б) Објаснити функцију свих делова контролера. в) Објаснити којим битовима и у којим регистрима се задају могући режими рада контролера и добијају информације како се одвија пренос података.

2. задатак

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

Поставка

Контролер излазне периферије и излазна периферија за међусобно повезивање користе паралелни интерфејс који се састоји од линија података, једне статусне линије и једне управљачке линије. Статусном линијом излазна периферија даје индикацију контролеру периферије да ли је спремна да прими податак који је доступан на линијама података, док контролер периферије управљачком линијом обезбеђује читање податка са линија података у свој интерни регистар. Навести по ком редоследу се наведене линије користе за синхронизацију и слање података из контролера периферије на периферију. Одговор дати табеларно. Назначити која је почетна вредност на овим линијама.

Редослед Линија(статусн/управљачка/подаци) Вредност Значење Ко поставља

3. задатак

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

Поставка

Hаписати оптималну секвенцу инструкција која одговара следећој стандардној библиотечкој С функцији која надовезује низ srс на крај низа dest:

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

Функција као резултат враћа показивач на резултујући низ dest . Претпоставити да је низ dest довољне величине да се у њега може сместити резултујући низ, као и да нема преклапана између srс и dest. Ha располагању је процесор код кога аритметичке, логичке и померачке инструкције имају формат: ОC reg, reg, reg/imm где је ОС код операције, одредишни операнд и морају бити у регистру (rеg), док други може бити или у регистру или дат непоcредно (reg/imm). Инструкција LOAD има формат: LOAD reg, mem где је првим операндом дат одредишни регистар (reg), a другим извориште. Инструкција STORE има формат: STORE reg, mem где је првим операндом дат изворишни регистар (reg), а другим одредиште. На располагану стоји 8 регистара отпте намене. Претпоставити да су сви подаци и адресе исте дужине која је једнака адресибилној jединици. На располагању стоје и сложене инструкције.

4. задатак

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

Поставка

У рачунврском систему се налази једноадресни процесор, меморија и периферије РER0, и PER1. Периферији РER0 је придружен DMA0 контролер. Све компоненте рачунара су повезане системском магистралом са 16 битном адресном и 16 битном магистралом података. Адресирање jе на нивоу 16 битних речн. Сви подаци и адресе су ширине 16 бита. Узети да је тип података іnt дужине 16 бита. Улазно-излазни адресни простор и меморијски адресни простор су преклопљени. Адресе релевантних регистара периферија РERO и DMA0 контролера су:

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

У управљачким регистрима бит 0 је Start којим се дозволава почетак операције, бит 1 одређyjy тип преноса података (1 - улаз (input), 0-излаз (output)), бит 2 је Enable којим се дозвољава прекид. Бит 3 управљачког регистра контролера DMA0 се задаје режим рада (0-блоковски (burst), 1-циклус по циклус (суcle stealing)). Битови од 4 до 7 управљачког регистра DMА0 контролера сaдрже вредност за колико се увећава адресни регистар након сваког пренетог податка. У статусним регистрима бит 0 је Ready који сигнализира спремност контродера периферије.

Haписати главни програм, одговарајући потпрограм и прекидне рутине којима се обавља следећи пренос.

Са периферија PER0 и РER1 упоредо се шаљу елементи низа. Низ се смешта у меморију почев од адресе 1000h н има 100h слемената. Периферија РER0 шаље елементе које треба смештати на места у низу са парним индексом, а елементе са РER1 треба смештати на места са непарним индексом.

Након пријема низа, периферији која је прва завршила слање шаље се комплетан неопадајуће сортирани низ. За сортирање низа потребно је имплементирати и на одговарајућем месту у програму позвати функцију

void sort (ant* arrAddr, int 1ength)

Где је аrraddr адреса низа, а length дужина низа. Не треба водити рачуна који алгоритам се користи за сортирање.

Примане елемента са периферије PER0 реализовати коришћенем DMА0 контролера у блоковском режиму рада, a евентуално слање сортираног низа коришћењем DMA0 контролера у режиму циклус по циклус. Примање елемената са РER1 и евентуално слање сортираног низа на PER1 pеализовати коришћенем механизма прекида.

Сматрати да су доступни регистри XR, ВР и SP приликом писања потпрограма, као и да је дозвољено регистарско индиректно адресираье са регистром XR. Обратити пажњу да потпрограм не сме да користи глобалне промењиве, вeћ cамо параметре потпрограма и локане промењеве. Позивалац потпрограма је дужан да уклони параметре са стека. Процесор не поседује регистре oпште намене, као ни регистар IMR. Стек расте од виших ка нижим локацијама, a SP указује на последњу заузету локацију. Дозвољено је користити додатне променљиве, али њихове назнве треба писати описно и семантички исправно.