ОРТ2/К3 Јануар 2024

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
Овај рок није решен. Помозите SI Wiki тако што ћете га решити.

К3 одржан је 20.01.2024. у јануарском року Због измена програма предмета није било могуће да се ради и К2 и К3 интегрално, већ се бирао један од та два.

Посматра се део рачунара који чине меморија и и процесор. Меморија јe капацитета 2^16 бајтова. Ширина меморијске речи је 1 бајт. Процесор је са једноадресним форматом инструкција. Подаци су дужине 1 бајт. Адресе су дужине 2 бајта и заузимају две суседне меморијске локације, при чему се млађи бајт налази на вишој, а старији бајт на нижој адреси. У процесору постоји регистар програмског бројача РС дужине 2 бајт, адресни регистар меморије МАR дужине 2 бајт, прихватни регистар податка меморије MR 1 бајт, прихватни регистар инструкције IR дужине 3 бајта, акумулатор А дужине 1 бајта, прихватни регистар податка В дужине 1 бајта, регистри опште намене RO, R1 до R15 дужине 2 бајта, програмска статусна реч PSW дужине 1 бајт, указивач на на врх стека SР дужине 2 бајт. Инструкције су дужине 1, 2 или 3 бајта.

Инструкција скока јe инструкција условног скока уколико је резултат нула (ВZ). БИтови IR23.20 имају вредност 0000 за инструкције скока, Инструкиија BZ реализује, се као релативни скок у односу на тренутну вредност програмског бројача PC. Битови IR23.16 представљајут код операције који је 00000000 за инструкцију BZ. Битови IR15.8 представљају померај који Jе 8-битна целобројна величина са знаком. Инструкција је дужине 2 бајт.

Безадресне инструкције су инструкција стављања садржаја акумулатора на стек (PUSН), пуњења акумулатора садржајем са стека (РОР), декрементирања акумулатора (DЕС) и повратка из потпрограма (RTS). Битови IR23.20 имају вредност 0001 за безадресне инструкције. Битови IR19.16 означавају редни број инструкције. Битови IR23.16 представљају код операције и редом су 00010000, 00010001, 00010010, 00010011 за инструкције PUSH, POP, DEC u RTS. Инструкције су дужине 1 бајт.

Адресне инструкције су инструкцијa преноса У акумулатор (LD) инструкција преноса из акумулатора (ST), аритметичка инструкција сабирања (ADD), инструкција аритметичког померања улево за једно место (АSL) и инструкција безусловног скока на срачунату адресу потпрограма (SR). У случају да се наиђе на комбинацију операција са неким адресирањем са којим та операција не може да се изврши, такве инструкције треба да буду без дејства. Инструкција АSL резултат померања смешта у регистар А Битови ПR23.20 представљају код операције и редом су 0010, 0011, 0100, 0101 и 0110 за инструкције LD, ST, ADD, ASL и JSR, Дужина инструкција зависи од начина адресирања.

Начини адресирања су регистарско директно адресирање (regdir), меморијско директно адресирање (memdir), регистарско индиректно са преинкрементирањем адресирање (preiпсг) и непосредно адресирање (immed). Битови IRi9.1 представљају начин адресирања и редом су 0000, 0001, 0010 и 0011 за адресирања regdir, memdir, preincr и immed. Код регистарских адресирања битови IR15.12 се користе за адресирање једног од регистара опште намене R0 до R15, док се битови IR11.8 не користе. Дужина инструкције је 2 бајта. Код меморијских адресирања битови IR15.0 представљају адресу меморијске локације. Дужина инструкције је З бајта. Код непосредног адресирања битови IR15.8 представљају 8 битни податак. Дужина инструкције је 2 бајта ватм лоаиіама Стек расте према вишим меморијским локацијама, а регистар SP указује на прву слободну меморијску локацију.

К3 [30]

Сматрати да су регистри RO-R15 смештени у регистарски фајл. а) Пројектовати део операционе јединице процесора (FЕТСН + АДДR + ЕХЕС) која је потребна да се изврше следеће инструкције: JSR 1000h, JSR +(R2), DEC u ASL R2. Потребно је нацртати само једну операциону јединицу која може да изврши све споменуте инструкције.


б) Дати су почетни садржаји регистара индикатора: PC=1000h, SP=0002h, ACC=77h, R0-1016h, Rl=1018h, R2=1015h, N=0, Z=0, V=0 и С-0. Индикатори статусне речи на које инструкција не утиче треоа да остану непромењени. Извршити 7 сукцесивних наредби и за сваку наредбу одредити следеће: у фази читања инструкције меморијске адресе са којих је прочитана инструкција, садржај регистра I, инструкцију која је прочитана и нови садржај регистра РС; у фази одређивања адресе операнда и читања операнда - меморијске адресе са којих је прочитана адреса операнда, меморијске адресе са којих је прочитан операнд, вредност операнда и нови садржај регистара опште намене који су у овој фази промењени; у фази извршавања операције - меморијске адресе којима се у овој фази приступа, садржај акумулатора А и индикатора N, Z, V и С након извршавања инструкције и нови садржај регистара и меморијских локација који су у овој фази промењени, Резултате представити у табелама 1, 2 и 3 формулара.

Садржај дела меморије из поставке задатка
ЛОКАЦИЈА 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009
ВРЕДНОСТ 10 02 00 C1 21 77 11 00 0A 83
ЛОКАЦИЈА 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009
ВРЕДНОСТ 13 12 41 10 14 10 52 20 00 02
ЛОКАЦИЈА 100A 100B 100C 100D 100E 100F 1010 1011 1012 1013
ВРЕДНОСТ 10 12 61 10 00 23 80 01 10 11
ЛОКАЦИЈА 1014 1015 1016 1017 1018 1019 101A 101B 101C 101D
ВРЕДНОСТ 09 41 80 1A 03 E3 21 B8 10 13