Zbirka - Projektovanje Upravljacke

131
ДОДАТНИ ЗАДАЦИ ЗА ВЕЖБАЊЕ (СА ПОСТУПКОМ РЕШАВАЊА И КОМЕНТАРИМА) Београд 2013.

description

Zbirka. Ort.

Transcript of Zbirka - Projektovanje Upravljacke

Page 1: Zbirka - Projektovanje Upravljacke

ДОДАТНИ ЗАДАЦИ ЗА ВЕЖБАЊЕ

(СА ПОСТУПКОМ РЕШАВАЊА И КОМЕНТАРИМА)

Београд 2013.

Page 2: Zbirka - Projektovanje Upravljacke

i

Page 3: Zbirka - Projektovanje Upravljacke

i

САДРЖАЈ

САДРЖАЈ ..............................................................................................................................................................I

1 УРЕЂАЈИ ...................................................................................................................................................... 3

1.1 СУМА СА ИНКРЕМЕНТИРАЊЕМ - ADDINC .............................................................................................. 3 1.2 ПРОИЗВОД - MULINT ............................................................................................................................ 11 1.3 СУМА И ПРОИЗВОД - MULADD ............................................................................................................ 17 1.4 МОДУО АПСОЛУТНИХ ВРЕДНОСТИ - MODABS .................................................................................... 24 1.5 СУМА И ПРОИЗВОД - SMUL ................................................................................................................... 31 1.6 СУМА АПСОЛУТНИХ ВРЕДНОСТИ - SABS .............................................................................................. 37 1.7 МИНИМУМ ВЕЛИЧИНА БЕЗ ЗНАКА - MIN4 ............................................................................................. 43 1.8 МАКСИМУМ ВЕЛИЧИНА БЕЗ ЗНАКА - MAX4 ......................................................................................... 50 1.9 МИНИМУМ АПСОЛУТНИХ ВРЕДНОСТИ - MIN2 ...................................................................................... 54 1.10 МАКСИМУМ АПСОЛУТНИХ ВРЕДНОСТИ - MAX2 .................................................................................. 60 1.11 МАКСИМУМ АПСОЛУТНИХ ВРЕДНОСТИ РАЗЛИКЕ И ЗБИРА - MAX2DS ................................................. 64 1.12 БРОЈ ЈЕДИНИЦА - NOONES ................................................................................................................... 71 1.13 СЕЛЕКТИВНО САБИРАЊЕ - CSR ............................................................................................................. 78 1.14 AND ...................................................................................................................................................... 85 1.15 НЕГАЦИЈА - NEG ................................................................................................................................... 92 1.16 ФАКТОРИЈЕЛ - NFAK ........................................................................................................................... 101 1.17 MNK .................................................................................................................................................... 107 1.18 SUM .................................................................................................................................................... 113 1.19 SMS ..................................................................................................................................................... 118 1.20 SC ........................................................................................................................................................ 123

2 ЛИТЕРАТУРА ......................................................................................................................................... 129

Page 4: Zbirka - Projektovanje Upravljacke

ii

Page 5: Zbirka - Projektovanje Upravljacke

1 УРЕЂАЈИ

1.1 СУМА СА ИНКРЕМЕНТИРАЊЕМ - ADDINC

На слици 1.a је приказана структурна шема дела операционе јединице процесора. У

регистрима R1, R2 и R3 дужине n разреда налазе се бинарне вредности које треба

интерпретирати као целобројне вредности без знака. Микрооперације које се реализују

у јединици ALU су дате у табели 1.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе ADDINC која израчунава

R1+R2+R3+1

суму садржаја регистара R1, R2 и R3 увећану за 1, а резултат смешта у регистар R4.

Фаза извршавања наредбе започиње уколико сигнал ADDINC има вредност 1. Садржаји

регистара R1, R2 и R3 морају да остану неизмењени. Претпоставити да се у регистрима

R1, R2 и R3 налазе вредности које омогућавају да се извршавање наредбе реализује

коректно и да се добије вредност која може да се смести у регистар R4.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

R3LD

CLK

n

CL

ldR3

clR3CLK

S3

0

MP2 S0

1

n

R2LD

CLK

n

CL

ldR2

clR2CLKR1

LDCLK

n

CL

ldR1

clR1CLK

n

S2

0

MP1 S0

1

n

ALU

S0

S1

S0

S1

C0 C

0

A

n n

B

Cn

Cn

n

R4LD

CLK

n

CL

ldR4

clR4CLK

n

n nMn n

ALD

CLKCLrdA clA

CLKldA

nn

Слика 1.a Структурна шема дела операционе јединице

S0 S1 F0 0 0 AC0

0 1 A+B+C0

1 0 B+C0

1 1 AB

Табела 1 Микрооперације у јединици ALU

Решење:

a) Дијаграми тока микрооперација и управљачких сигнала дати су на слици 1.б.

Израчунавање израза се реализује на следећи начин. Кроз мултиплексере MP1 и MP2

се на улазе A и B јединице ALU пропусте садржаји регистара R1 и R3, у јединици ALU

изврши њихово сабирање са инкрементирањем и добијена вредност са излаза ALU

Page 6: Zbirka - Projektovanje Upravljacke

4

јединице упише у регистар A. Затим се добијена вредност из регистра А пребаци у

регистар R4. Потом се кроз мултиплексере MP1 и MP2 на улазе A и B јединице ALU

пропусте садржаји регистара R2 и R4, у јединици ALU изврши њихово сабирање и

добијена вредност са излаза ALU јединице упише у регистар A. На крају се добијена

вредност из регистра А пребаци у регистар R4.

K0

A<=R1+R3+1

K1

ADDINC1

0

K2

R4<=A

K3

A<=R2+R4

R4<=A

K4

K0

ldA, S1, C

0

K1

ADDINC1

0

K2

ldR4, rdA

K3

ldA, S2, S

3, S

1

ldR4, rdA

K4

Слика 1.б Дијаграми тока микрооперација и управљачких сигнала

У кораку K0 се проверава вредност сигнала ADDINC и у зависности од тога да ли

сигнал ADDINC има вредност 0 или 1 остаје у кораку K0 или на сигнал такта прелази на

корак K1.

У кораку K1 сигнали S2 и S3 имају вредност 0 па садржаји регистара R1 и R3 пролазе

кроз мултиплексере MP1 и MP2 и појављују на улазима A и B јединице ALU, сигнали S1

и C0 имају вредност 1 па се на излазу јединице ALU јавља сума садржаја регистара R1 и

R3 увећана за 1, која се вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A.

На исти сигнал такта се прелази на корак K2.

У кораку K2 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра R4 и вредношћу 1 сигнала ldR4 на сигнал такта уписује у регистар R4. На исти

сигнал такта се прелази на корак K3.

У кораку K3 сигнали S2 и S3 имају вредност 1 па садржаји регистара R2 и R4 пролазе

кроз мултиплексере MP1 и MP2 и појављују на улазима A и B јединице ALU, сигнал S1

има вредност 1 па се на излазу јединице ALU јавља сума садржаја регистара R2 и R4,

која се вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. На исти сигнал

такта се прелази на корак K4.

У кораку K4 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра R4 и вредношћу 1 сигнала ldR4 на сигнал такта уписује у регистар R4. На исти

сигнал такта се прелази на корак K0.

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 1.в.

CLKCLK

D QK

0

Q

ADDINC

CLK CLK

D QK

1

QRd

Sd

CLK CLK

D QK

2

QRd

CLK

D QK

3

QRd

CLK

D QK

4

QRd

CLK CLK

Слика 1.в Структурна шема управљачке јединице

Управљачка јединица се састоји од флип-флопова K0, K1, K2, K3 и K4 додељених

операционим блоковима у корацима K0, K1, K2, K3 и K4 у дијаграму тока

Page 7: Zbirka - Projektovanje Upravljacke

5

микрооперација и управљачких сигнала (слика 1.б) и једног пара I елемената додељеног

условном блоку са сигналом логичког услова ADDINC у дијаграму тока

микрооперација и управљачких сигнала.

На почетку извршавања наредбе ADDINC јединица се налази у флип-флопу K0 и

нуле у осталим флип-флоповима, што одговара кораку K0 из дијаграма тока

микрооперација и управљачких сигнала. Стога ни један од од управљачких сигнала

нема вредност 1. Све време док сигнал ADDINC има вредност 0 јединица остаје у флип-

флопу K0 и нуле у осталим флип-флоповима. Када сигнал ADDINC постане 1, на сигнал

такта се уписује јединица у флип-флоп K1 и нула у флип-флоп K0, док нуле остају у

осталим флип-флоповима.

Јединица у флип-флопу K1 и нуле у осталим флип-флоповима, што одговара кораку

K1 из дијаграма тока микрооперација и управљачких сигнала, дају вредност 1 сигнала

ldA, S1 и C0. На сигнал такта се уписује јединица у флип-флоп K2 и нула у флип-флоп

K1, док нуле остају у осталим флип-флоповима.

Јединица у флип-флопу K2 и нуле у осталим флип-флоповима, што одговара кораку

K2 из дијаграма тока микрооперација и управљачких сигнала, дају вредност 1 сигнала

ldR4 и rdA. На сигнал такта се уписује јединица у флип-флоп K3 и нула у флип-флоп K2,

док нуле остају у осталим флип-флоповима.

Јединица у флип-флопу K3 и нуле у осталим флип-флоповима, што одговара кораку

K3 из дијаграма тока микрооперација и управљачких сигнала, дају вредност 1 сигнала

ldA, S2, S3 и S1. На сигнал такта се уписује јединица у флип-флоп K4 и нула у флип-

флоп K3, док нуле остају у осталим флип-флоповима.

Јединица у флип-флопу K4 и нуле у осталим флип-флоповима, што одговара кораку

K4 из дијаграма тока микрооперација и управљачких сигнала, дају вредност 1 сигнала

ldR4 и rdA. На сигнал такта се уписује јединица у флип-флоп K0 и нула у флип-флоп K4,

док нуле остају у осталим флип-флоповима. Овим се реализује враћање у почетно

стање.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

S2 = K3

S3 = K3

S1 = K1 + K3

C0 = K1

ldA = K1 + K3

rdA = K2 + K4

ldR4 = K2 + K4

у којима K0, K1, K2, ..., K4 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 1.б). Сви остали

управљачки сигнали имају вредност 0.

Дискусија 1:

У тексту задатка је назначено да треба претпоставити да се у регистрима R1, R2 и R3

налазе вредности које омогућавају да се извршавање наредбе реализује коректно и да се

добије вредност која може да се смести у регистар R4. Напомена је наведена, јер су

вредности у регистрима целобројне величине без знака и дужина регистара је n бита, па

се у неким случајевима може добити збир који се приказује са више од n бита и на тај

начин се не добија коректан резултат. На пример максимална величина која се може

налазити у регистрима је 2n-1. За збир 2

n-1+2

n-1 потребно је n+1 бит, ако би се дати збир

још једном повећао за 2n-1 било би потребно n+2 бита. У задатку збир се памти у

регистру дужине n бита, па се добија некоректан резултат.

Page 8: Zbirka - Projektovanje Upravljacke

6

Дискусија 2:

Функционисање и операционе и управљачке јединице је дато уз следеће две

претпоставке. Прво, користе се секвенцијалне мреже реализоване са ивичним флип-

флоповима који мењају стање сагласно вредностима улазних сигнала само у тренутку

промене вредности сигнала такта са вредности 0 на вредност 1. Друго, флип-флопови

уносе одређено кашњење, па се вредност на излазу флип-флопа појављује нешто

касније у односу на тренутак промене вредности сигнала такта са вредности 0 на

вредност 1. Као последица овога сигнали имају временске облике као на слици 1.г.

CLK

ADDINC

S2

S3

S0

S1

C0

ldA

rdA

ldR4

K0

K1

K2

K3

K4

K0

1 2 3 4 5 6 7

K0

K1

K3

K4

K2

Слика 1.г Временски облици сигнала

Због кашњења које уносе флип-флопови, флип-флоп K1 и сигнали S1, C0 и ldA се

постављају на вредност 1 са кашњењем у односу на тренутак промене сигнала такта

CLK означеног са 3 са вредности 0 на вредност 1. Из истих разлога флип-флоп K1 и

сигнали S1, C0 и ldA се постављају на вредност 0 са кашњењем у односу на тренутак

Page 9: Zbirka - Projektovanje Upravljacke

7

промене сигнала такта CLK означеног са 4 са вредности 0 на вредност 1. Вредности 1

сигнала S1 и C0 и вредности 0 сигнала S2, S3 и S0 у временском периоду између сигнала

такта CLK означених са 3 и 4, омогућавају да кроз комбинационе мреже, које чине

мултиплексери MP1 и MP2 и јединица ALU, прођу садржаји регистара R1 и R3 и да се

на улазу регистра A формира сума садржаја регистара R1 и R3 увећана за 1. Вредност 1

сигнала ldA у временском периоду између између сигнала такта CLK означених са 3 и 4

омогућава да се при промени сигнала такта CLK означеног са 4 са вредности 0 на

вредност 1 садржај формиран на улазу регистра A упише у регистар A. Треба уочити да

због кашњења са којим сигнал ldA постаје најпре 1 на сигнал такта CLK означен са 3 и

затим 0 на сигнал такта означен са 4, нема уписа у регистар A на промену сигнал такта

CLK означеног са 3 са вредности 0 на вредност 1, већ на промену сигнала такта

означеног са 4 са вредности 0 на вредност 1. Такође због кашњења са којим сигнали S1

и C0 постају најпре 1 на сигнал такта CLK означен са 3 и затим 0 на сигнал такта

означен са 4, као и због пропагације кроз комбинационе мреже које чине мултиплексери

MP1 и MP2 и јединица ALU, сума садржаја регистара R1 и R3 увећана за 1 је присутна

на улазима регистра A у тренутку када се при промени сигнала такта CLK означеног са

4 са вредности 0 на вредност 1 врши упис у регистар A.

Слична је ситуација и са сигналима ldR4 и rdA који имају вредност 1 у временском

периоду између сигнала такта CLK означених са 4 и 5. Вредност 1 сигнала rdA

омогућује да садржај регистра A прође кроз комбинационе мреже које чине бафери са

три стања и појави се на линијама магистрале M и улазима регистара R1, R2, R3 и R4.

Вредност 1 сигнала ldR4 у временском периоду између сигнала такта CLK означених са

4 и 5, омогућује да се при промени сигнала такта CLK означенog са 5 са вредности 0 на

вредност 1 садржај присутан на линијама магистрале M упише у регистар R4. Треба

уочити да због кашњења са којим сигнал ldR4 постаје најпре 1 на сигнала такта CLK

означен са 4 и затим 0 на сигнал такта означен са 5, нема уписа у регистар R4 на

промену сигнала такта означен са 4 са вредности 0 на вредност 1, већ на промену

сигнала такта означеног са 5 са вредности 0 на вредност 1. Такође због кашњења са

којим сигнал rdA постаје најпре 1 на сигнал такта CLK означен са 4 и затим 0 на сигнал

такта означен са 5, као и због пропагације кроз комбинациону мрежу коју чини бафер са

три стања, садржај регистра A је присутан на линијама магистрале M и улазима

регистра R4 у тренутку када се при промени сигнала такта CLK означеног са 5 са

вредности 0 на вредност 1 врши упис у регистар R4.

Периода сигнала такта CLK је одређена временом пропагације кроз комбинационе

мреже и мора да буде нешто већа од највеће пропагације. У посматраном случају

постоји пропагација садржаја регистара R1, R2, R3 и R4 кроз комбинационе које чине

мултиплексери MP1 и MP2 и јединица ALU и пропагација садржаја регистра A кроз

бафер са три стања. Пропагација кроз комбинационе које чине мултиплексери MP1 и

MP2 и јединица ALU је дужа од пропагације кроз бафер са три стања, па се на основу

ње одређује периода сигнала такта CLK.

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 1.б) и дата на слици

1.д.

Page 10: Zbirka - Projektovanje Upravljacke

8

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3

K0 (000) / K0 (000) ADDINC 0 b 0 b 0 b

K1 (001) ADDINC 0 b 0 b 1 b

K1 (001) ldA, S1, C0 K2 (011) 1 0 b 1 b b 0

K2 (011) ldR4, rdA K3 (010) 1 0 b b 0 b 1

K3 (010) ldA, S3, S2, S1 K4 (110) 1 1 b b 0 0 b

K4 (110) ldR4, rdA K0 (000) 1 b 1 b 1 0 b

Слика 1.д.Таблица стања, прелаза/излаза и побуда флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=000, K1=001, K2=011, K3=010, K4=110,

а за реализацију стања секвенцијална прекидачка мрежа користе се флип-флопови Q1,

Q2 и Q3 типа JK.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

S2 = K3

S3 = K3

S0 = 0

S1 = K1 + K3

C0 = K1

ldA = K1 + K3

rdA = K2 + K4

ldR4 = K2 + K4

у којима K0, K1, K2, K3 и K4 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже. Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флопове Q1, Q2 и Q3 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K3

K1 = K4

J2 = K1

K2 = K4

J3 = K0 ∙ADDINC

K3 = K2

С обзирома на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q

K1= 1Q ∙ 2Q ∙Q3

K2= 1Q ∙Q2∙ Q3

K3= 1Q ∙Q2∙ 3Q

K4= Q1∙Q2∙ 3Q

Page 11: Zbirka - Projektovanje Upravljacke

9

Дискусија 3:

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа може да се састоји и од флип-флопове Q1, Q2 и Q3 типа D, T или SR.

Без обзира на то који се тип флип-флопа користи, стања секвенцијалне прекидачке

мреже кодирана су на исти начин као и у случају реализације са JK флип-флоповима, а

сигнали декодованих стања секвенцијалне прекидачке мреже и управљачки сигнали

операционе јединице се генеришу према истим изразима као и у случају реализације са

JK флип-флоповима. Разлика је само у изразима за сигнале побуда флип-флопова.

Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са D флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 1.б) и дата на слици

1.ђ.

Q Z Q(t+1) X D1 D2 D3

K0 (000) / K0 (000) ADDINC 0 0 0

K1 (001) ADDINC 0 0 1

K1 (001) ldA, S1, C0 K2 (011) 1 0 1 1

K2 (011) ldR4, rdA K3 (010) 1 0 1 0

K3 (010) ldA, S3, S2, S1 K4 (110) 1 1 1 0

K4 (110) ldR4, rdA K0 (000) 1 0 0 0

Слика 1.ђ.Таблица стања, прелаза/излаза и побуда флип-флопова

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флопове Q1, Q2 и Q3 типа D и комбинационе

прекидачке мреже која генерише сигнале побуда D флип-флопова према следећим

изразима:

D1 = K3

D2 = K1 + K2 + K3

D3 = K0 ∙ADDINC+ K1

Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са T флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 1.б) и дата на слици

1.e.

Q Z Q(t+1) X T1 T2 T3

K0 (000) / K0 (000) ADDINC 0 0 0

K1 (001) ADDINC 0 0 1

K1 (001) ldA, S1, C0 K2 (011) 1 0 1 0

K2 (011) ldR4, rdA K3 (010) 1 0 0 1

K3 (010) ldA, S3, S2, S1 K4 (110) 1 1 0 0

K4 (110) ldR4, rdA K0 (000) 1 1 1 0

Слика 1.e.Таблица стања, прелаза/излаза и побуда флип-флопова

Page 12: Zbirka - Projektovanje Upravljacke

10

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флопове Q1, Q2 и Q3 типа T и комбинационе

прекидачке мреже која генерише сигнале побуда T флип-флопова према следећим

изразима:

T1 = K3 + K4

T2 = K1 + K4

T3 = K0 ∙ADDINC+ K2

Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са SR флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 1.б) и дата на слици

1.ж.

Q Z Q(t+1) X S1 R1 S2 R2 S3 R3

K0 (000) / K0 (000) ADDINC 0 b 0 b 0 b

K1 (001) ADDINC 0 b 0 b 1 0

K1 (001) ldA, S1, C0 K2 (011) 1 0 b 1 0 b 0

K2 (011) ldR4, rdA K3 (010) 1 0 b b 0 0 1

K3 (010) ldA, S3, S2, S1 K4 (110) 1 1 0 b 0 0 b

K4 (110) ldR4, rdA K0 (000) 1 0 1 0 1 0 b

Слика 1.ж.Таблица стања, прелаза/излаза и побуда флип-флопова

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флопове Q1, Q2 и Q3 типа SR и комбинационе

прекидачке мреже која генерише сигнале побуда SR флип-флопова према следећим

изразима:

S1 = K3

R1 = K4

S2 = K1

R2 = K4

S3 = K0 ∙ADDINC

R3 = K2

Page 13: Zbirka - Projektovanje Upravljacke

11

1.2 ПРОИЗВОД - MULINT

На слици 2.a је приказана структурна шема дела операционе јединице процесора. У

регистрима M и X дужине n разреда налазе се бинарне вредности које треба

интерпретирати као целобројне вредности без знака. Микрооперације које се реализују

у јединици ALU су дате у табели 2.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе MULINT која израчунава

XM

производ садржаја регистара X и M, а резултат смешта у регистар X. Претпоставити да

се у регистрима X и M налазе вредности које омогућавају да се извршавање наредбе

реализује коректно и да се добије вредност која може да се смести у регистар X.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

ALU

S0

S1

S0

S1

C0 C

0

B

n n

A

Cn

Cn

n

S2

0

MP S0

1

n

F

ALD

CLKCL clA

CLKldA

n

n

n

MLD

CLK

n

CL

ldM

clMCLK X

LDCLK

n

CL

ldX

clXCLK

X0nn nn

Слика 2.a Структурна шема операционе јединице

S0 S1 F0 0 0 A+B

0 1 A+C0

1 0 AC0

1 1 AB

Табела 2 Микрооперације у јединици ALU

Решење:

a) Дијаграми тока микрооперација и управљачких сигнала дати су на слици 2.б.

Израчунавање производа целобројних вредности без знака у регистрима M и X се

реализује на следећи начин. У регистар A се најпре упише вредност нула, па се после

тога сабирају садржаји регистара A и M и резултат уписује у регистар A. Ово се

понавља онолико пута колико је садржај регистра X. Због тога се после сваког сабирања

регистара A и M врши декрементирање садржаја регистра X. Уколико садржај регистра

X није постао нула, сабирање се понавља, док се у супротном случају завршава са

сабирањем и последња добијена сума, која представља производ садржаја регистара M

и X, пребацује из регистра А у регистар X.

Page 14: Zbirka - Projektovanje Upravljacke

12

Садржај регистра X је потребно у свакој итерацији декрементирати. Овај регистар

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

Вредност регистра се помоћу мултиплексера MP доводи на улаз A јединице ALU, па се

извршава операција AC0, са вредношћу 1 сигнала C0. и добијена вредност уписује у

регистар X.

K0

A<=0

K1

MULINT1

0

X01

X0

0

K2

X<=X1

K3

A<=A+M

0

1

X<=A

K4

K0

clA

K1

MULINT1

0

X01

X0

0

K2

S2, S

0, C

0, ldX

K3

ldA

0

1

S2, ldX

K4

Слика 2.б Дијаграми тока микрооперација и управљачких сигнала

У кораку K0 се проверава вредност сигнала MULINT и у зависности од тога да ли

сигнал MULINT има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта

прелази на корак K1.

У кораку K1 се вредношћу 1 сигнала clA на сигнал такта уписује нула у регистар A. У

кораку K1 се и проверава вредност сигнала X0 и у зависности од тога да ли сигнал X0

има вредност 0 или 1 на сигнал такта прелази или на корак K2 или на корак K4.

У кораку K2 се вредношћу 1 сигнала S2 кроз мултиплексер MP на улаз A јединице

ALU пропушта садржај регистра X, вредностима 1 сигнала S0 и C0 се на излазу

јединице ALU формира садржај регистра X умањен за 1, који се вредношћу 1 сигнала

ldX на сигнал такта уписује у регистар X. На исти сигнал такта се прелази на корак K3.

У кораку K3 се вредношћу 0 сигнала S2 кроз мултиплексер MP на улаз A јединице

ALU пропушта садржај регистра M док је на улазу B јединице ALU све време присутан

садржај регистра A, вредностима нула сигнала S0, S1 и C0 се на излазу јединице ALU

формира сума садржаја регистара M и A, која се вредношћу 1 сигнала ldA на сигнал

такта уписује у регистар A. У кораку K3 се и проверава вредност сигнала X0 и у

зависности од тога да ли сигнал X0 има вредност 0 или 1 на сигнал такта прелази или

на корак K2 или на корак K4.

У кораку K4 се вредношћу 1 сигнала S2 кроз мултиплексер MP на улаз A јединице

ALU пропушта садржај регистра X, који је декрементирањем дошао до вредности 0,

док је на улазу B јединице ALU све време присутан садржај регистра A, вредностима 0

сигнала S0, S1 и C0 се на излазу јединице ALU формира сума садржаја регистара X и A,

која због тога што је садржај регистра X нула представља садржај регистра A, која се

вредношћу 1 сигнала ldX на сигнал такта уписује у регистар X. На исти сигнал такта се

прелази на корак K0.

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 2.в

Page 15: Zbirka - Projektovanje Upravljacke

13

CLKCLK

D QK

0

Q

MULINT

CLK CLK

D QK

1

QRd

Sd

CLK CLK

D QK

2

QRd

CLK

D QK

3

QRd

X0 X0

CLK

D QK

4

QRd

Слика 2.в Структурна шема управљачке јединице

Управљачка јединица се састоји од флип-флопова K0, K1, K2, K3 и K4 додељених

операционим блоковима у корацима K0, K1, K2, K3 и K4 из дијаграма тока

микрооперација и управљачких сигнала и три пара I елемената додељених условном

блоку са сигналом логичког услова MULINT у кораку K0 и условним блоковима са

сигналом логичког услова X0 у корацима K1 и K3 из дијаграма тока микрооперација и

управљачких сигнала.

На почетку извршавања наредбе MULINT јединица се налази у флип-флопу K0 и

нуле у осталим флип-флоповима, што одговара кораку K0 из дијаграма тока

микрооперација и управљачких сигнала, па ни један од управљачких сигнала нема

вредност 1. Све време док сигнал MULINT има вредност 0 јединица остаје у флип-

флопу K0 и нуле у осталим флип-флоповима. Када сигнал MULINT постане 1, на сигнал

такта се уписује јединица у флип-флоп K1 и нула у флип-флоп K0, док нуле остају у

осталим флип-флоповима.

Јединица у флип-флопу K1 и нуле у осталим флип-флоповима, што одговара кораку

K1 из дијаграма тока микрооперација и управљачких сигнала, дају вредност 1 сигнала

clA. На сигнал такта се, у зависности од тога да ли сигнал X0 има вредност 0 или 1,

уписује јединица у флип-флоп K2 или K4 и нула у флип-флоп K1, док нуле остају у

осталим флип-флоповима.

Јединица у флип-флопу K2 и нуле у осталим флип-флоповима, што одговара кораку

K2 из дијаграма тока микрооперација и управљачких сигнала, дају вредност 1 сигнала

S2, S0, C0 и ldX. На сигнал такта се уписује јединица у флип-флоп K3 и нула у флип-

флоп K2, док нуле остају у осталим флип-флоповима.

Јединица у флип-флопу K3 и нуле у осталим флип-флоповима, што одговара кораку

K3 из дијаграма тока микрооперација и управљачких сигнала, дају вредност 1 сигнала

ldA. На сигнал такта се, у зависности од тога да ли сигнал X0 има вредност 0 или 1,

уписује јединица у флип-флоп K2 или K4 и нула у флип-флоп K3, док нуле остају у

осталим флип-флоповима.

Јединица у флип-флопу K4 и нуле у осталим флип-флоповима, што одговара кораку

K4 из дијаграма тока микрооперација и управљачких сигнала, дају вредност 1 сигнала

S2 и ldX. На сигнал такта се уписује јединица у флип-флоп K0 и нула у флип-флоп K4,

док нуле остају у осталим флип-флоповима. Овим се реализује враћање у почетно

стање.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1

S2 = K2 + K4

S0 = K2

C0 = K2

ldX = K2 + K4

ldA = K3

у којима K0, K1, K2, ..., K4 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 2.б). Сви остали

управљачки сигнали су 0.

Page 16: Zbirka - Projektovanje Upravljacke

14

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 2.б) и дата на слици

2.г.

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3

K0 (000) / K0 (000) MULINT 0 b 0 b 0 b

K1 (001) MULINT 0 b 0 b 1 b

K1 (001) clA K2 (011) 0X 0 b 1 b b 0

K4 (110) X0 1 b 1 b b 1

K2 (011) ldX, S0, S2, C0 K3 (010) 1 0 b b 0 b 1

K3 (010) ldA K2 (011) 0X 0 b b 0 1 b

K4 (110) X0 1 b b 0 0 b

K4 (110) ldX, S2 K0 (000) 1 b 1 b 1 0 b

Слика 2.г.Таблица стања, прелаза/излаза и побуда флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=000, K1=001, K2=011, K3=010, K4=110,

а за реализацију стања секвенцијална прекидачка мрежа користе се флип-флопови Q1,

Q2 и Q3 типа JK

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1

S2 = K2 + K4

S0 = K2

C0 = K2

ldX = K2 + K4

ldA = K3

у којима K0, K1, K2, ..., K4 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже придружених операционим блоковима у дијаграму тока

управљачких сигнала (слика 2.б). Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флопове Q1, Q2 и Q3 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K1∙X0 + K3∙X0

K1 = K4

J2 = K1

K2 = K4

J3 = K0∙MULINT+ K3∙ 0X

K3 = K1∙X0 + K2

С обзирома на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

Page 17: Zbirka - Projektovanje Upravljacke

15

K0= 1Q ∙ 2Q ∙ 3Q

K1= 1Q ∙ 2Q ∙Q3

K2= 1Q ∙Q2∙ Q3

K3= 1Q ∙Q2∙ 3Q

K4= Q1∙Q2∙ 3Q

Дискусија 1:

У тексту задатка је назначено да треба претпоставити да се у регистрима M и X

налазе вредности које омогућавају да се извршавање наредбе реализује коректно и да се

добије вредност која може да се смести у регистар X. Напомена је наведена, јер су

вредности у регистрима целобројне величине без знака и дужина регистара је n бита, па

се у неким случајевима може добити производ који се приказује са више од n бита и на

тај начин се не добија коректан резултат. На пример максимална величина која се може

налазити у регистрима је 2n-1. За производ (2

n-1)*(2

n-1) потребно је 2n бита. У задатку

производ се памти у регистру дужине n бита, па се добија некоректан резултат.

Дискусија 2:

У кораку K2 извршава се декрементирање регистра X, а затим се у кораку K3

сабирају садржаји регистара A и M и испитује се да ли је вредност у регистру X једнака

0. Операције декрементирања регистра X и сабирање регистара A и M је могуће

извршити у једном кораку, али декрементирање регистра и испитивање да ли је

вредност у том регистру 0 није могуће извршити у истом кораку. Зато се операција

декрементирања извршава у кораку K2, а испитивање садржаја регистра X у наредном

кораку K3.

Дискусија 3:

Ако се изврши анализа добијених дијаграма тока микрооперација и управљачких

сигнала може се уочити следеће да се исти сигнал логичког услова X0 проверава и у

кораку K1 и у кораку K3. Такође у оба корака, у случају вредности 1 сигнала X0

извршавање се наставља кораком K4, а у случају вредности 0 сигнала X0 извршавање се

наставља кораком K2. Може се извести закључак да су провере у корацима K1 и K3 исте

и извршити оптимизација добијених дијаграма токова тако што би се исти условни блок

користио за испитивање вредности сигнала логичког услова X0 и из корака K1 и из

корака K3. Оптимизовани дијаграм тока микрооперација и управљачких сигнала и

одговарајућа структурна шема управљачке јединице су дати на сликама 2.д и 2.ђ.

K0

A<=0

K1

MULINT1

0

K2

X<=X1

K3

A<=A+M

X01

0

X<=A

K4

K0

clA

K1

MULINT1

0

K2

S2, S

0, C

0, ldX

K3

ldA

X01

0

S2, ldX

K4

Слика 2.д. Дијаграми тока микрооперација и управљачких сигнала

Page 18: Zbirka - Projektovanje Upravljacke

16

CLKCLK

D QK

0

Q

MULINT

CLK CLK

D QK

1

QRd

Sd

X0

CLK

D QK

2

QRd

CLK

D QK

3

QRd

CLK

D QK

4

QRd

CLKCLK CLK

Слика 2.ђ Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу на исти начин као и у случају

решења управљачке јединице са слике 2.в.

Ако се упореде структурне шеме са слика 2.в и 2.ђ може се приметити да је у првом

случају употребљено 6 I елемената и 3 ILI елемента, док је у другом случају

употребљено 4 I елемента и 2 ILI елемента.

Page 19: Zbirka - Projektovanje Upravljacke

17

1.3 СУМА И ПРОИЗВОД - MULADD

На слици 3.a је приказана структурна шема дела операционе јединице процесора. У

регистрима R1, R2, R3 и SC дужине n бита налазе се бинарне вредности које треба

интерпретирати као целобројне вредности без знака. Микрооперације које се реализују

у јединици ALU су дати у табели 3.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе MULADD која израчунава

SC(R1+R2+R3)

производ садржаја регистра SC и суме садржаја регистара R1, R2 и R3, а резултат

смешта у регистар A. Фаза извршавања наредбе започиње уколико сигнал MULADD

има вредност 1. Садржаји регистара R1, R2 и R3 морају да остану неизмењени.

Претпоставити да се у регистрима R1, R2, R3 и SC налазе вредности које омогућавају

да се извршавање наредбе реализује коректно и да се добије вредност која може да се

смести у регистар A.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

n

R3CLK

n

CLKR2CLK

n

CLKR1CLK

n

CLK

rdR2

n

rdR3

n

LD ldR1 LD ldR2 LD ldR3

n n

rdR1

n

n

n

L1CLKCLKLD

CL

ldL1

clL1

ALU

S0

S1

S0

S1

C0 C

0

A

n n

B

Cn

Cn

n

n

ALD

CLKCL clA

CLKldA

n

SCCLKCLK

n

n

LD ldSC

SC0n nnn

rdAn

n

nn

S2

0

MP S0

1

n

nM

Слика 3.a Структурна шема операционе јединице

S0 S1 F0 0 0 AB

0 1 BC0

1 0 B+C0

1 1 A+B

Табела 3 Микрооперације у јединици ALU

Решење:

a) Дијаграми тока микрооперација и управљачких сигнала дати су на слици 3.б.

Израчунавање израза се реализује тако што се најпре израчуна сума целобројних

вредности без знака из регистара R1, R2 и R3 и смести у регистар L1, па се затим

израчуна производ целобројних вредности без знака у регистрима L1 и SC и резултат

смести у регистар A.

Page 20: Zbirka - Projektovanje Upravljacke

18

Израчунавање суме целобројних вредности без знака из регистара R1, R2 и R3 и

смештање у регистар L1 се реализује на следећи начин. Садржај регистра R1 се најпре

упише у регистар L1, а затим се садржај регистра L1 сабере са садржајем регистра R2 и

добијена вредност упише у регистар A. У наставку сабирања се садржај регистра R3

упише у регистар L1, а затим се садржај регистра L1 сабере са садржајем регистра A и

добијена вредност упише у регистар A.

Израчунавање производа целобројних вредности без знака у регистрима A и SC се

реализује на следећи начин. У регистар L1 се најпре пребаци претходно добијени

садржај регистра A, па се после тога сабирају садржаји регистара A и L1 и резултат

упише у регистар A. Ово се понавља онолико пута колико је садржај регистра SC. Због

тога се са сваким сабирањем садржаја регистара A и L1 врши декрементирање садржаја

регистра SC. Уколико садржај регистра SC није постао нула, сабирање се понавља, док

се у супротном случају завршава са сабирањем, а последња добијена сума у регистру A

представља производ садржаја регистара L1 и SC.

Покривене су и ситуације када је садржај регистра SC нула или један. На почетку се

у регистар A уписује нула, па уколико је садржај регистра SC нула завршава се

извршавање и у регистру A остаје нула. Уколико садржај регистра SC није нула

израчунава се сума садржаја регистара R1, R2 и R3 и уписује у регистар A. Затим се

декрементира садржај регистра SC, па уколико је садржај регистра SC постао нула,

завршава се извршавање и у регистру A остаје сума R1, R2 и R3. Овим су покривене

ситуације када је SC једнако нула или један.

Садржај регистра SC је потребно у свакој итерацији декрементирати. Овај регистар

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

Вредност регистра се помоћу мултиплексера MP доводи на улаз B јединице ALU, па се

извршава операција BC0, са вредношћу 1 сигнала C0.

K0

A<=0

K1

MULADD1

0

SC0

SC<=SC1

K8

0K2

L1<=R1

K3

A<=L1+R2

K4

L1<=R3

K5

A<=A+L1

K6

SC<=SC1

SC01

0

K7

L1<=A

SC01

0

K9

A<=A+L1

1

K0

clA

K1

MULADD1

0

SC0

ldSC, S1, C

0, S

2

K8

0K2

ldL1, rdR1

K3

ldA, S0, S

1, rdR2

K4

ldL1, rdR3

K5

ldA, S0, S

1, rdA

K6

ldSC, S1, C

0, S

2

SC01

0

K7

ldL1, rdA

SC01

0

K9

ldA, S0, S

1, rdA

1

Слика 3.б Дијаграм тока микрооперација и управљачких сигнала

Page 21: Zbirka - Projektovanje Upravljacke

19

У кораку K0 се проверава вредност сигнала MULADD и у зависности од тога да ли

сигнал MULADD има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта

прелази на корак K1.

У кораку K1 се вредношћу 1 сигнала clA на сигнал такта уписује нула у регистар A. У

кораку K1 се и проверава вредност сигнала SC0 и у зависности од тога да ли сигнал SC0

има вредност 0 или 1 на сигнал такта прелази или на корак K2 или на корак K0.

У кораку K2 се вредношћу 1 сигнала rdR1 садржај регистра R1 преко бафера са три

стања пушта на линије магистрале M и преко њих доводи на улаз регистра L1 и

вредношћу 1 сигнала ldL1 на сигнал такта уписује у регистар L1. На исти сигнал такта

се прелази на корак K3.

У кораку K3 се вредношћу 1 сигнала rdR2 и вредношћу 0 сигнала S2 садржај регистра

R2 преко бафера са три стања пушта на линије магистрале M и са њих преко

мултиплексера MP доводи на улаз B јединице ALU, на улазу A јединице ALU је стално

присутан садржај регистра L1, па се вредностима 1 сигнала S0 и S1 на излазу јединице

ALU формира сума садржаја регистара L1 и R2, која се вредношћу 1 сигнала ldA на

сигнал такта уписује у регистар A. На исти сигнал такта се прелази на корак K4.

У кораку K4 се вредношћу 1 сигнала rdR3 садржај регистра R3 преко бафера са три

стања пушта на линије магистрале M и преко њих доводи на улаз регистра L1, па се

вредношћу 1 сигнала ldL1 на сигнал такта се дати садржај уписује у регистар L1. На

исти сигнал такта се прелази на корак K5.

У кораку K5 се вредношћу 1 сигнала rdA и вредношћу 0 сигнала S2 садржај регистра

A преко бафера са три стања пушта на линије магистрале M и преко њих доводи на B

јединице ALU, на улазу A јединице ALU је стално присутане садржај регистра L1, па се

вредностима 1 сигнала S0 и S1 на излазу јединице ALU формира сума садржаја

регистара L1 и A, која се активном вредношћу сигнала ldA на сигнал такта уписује у

регистар A. На исти сигнал такта се прелази на корак K6.

У кораку K6 се вредношћу 1 сигнала S2 преко мултиплексера MP на улаз B јединице

ALU доводи садржај регистра SC, вредностима 1 сигнала S1 и C0 се на излазу јединице

ALU формира садржај регистра SC умањен за 1, који се вредношћу 1 сигнала ldSC на

сигнал такта уписује у регистар SC. На исти сигнал такта се прелази на корак K7.

У кораку K7 вредношћу 1 сигнала rdA на линије магистрале M пропушта садржај

регистра A, који се вредношћу 1сигнала ldL1 на сигнал такта уписује у регистар L1. У

кораку K7 се проверава и вредност сигнала SC0 и у зависности од тога да ли сигнал SC0

има вредност 0 или 1 на сигнал такта се прелази или на корак K8 или на корак K0.

У кораку K8 вредношћу 1 сигнала S2 преко мултиплексера MP на улаз B јединице

ALU доводи садржај регистра SC, вредностима 1 сигнала S1 и C0 се на излазу јединице

ALU формира садржај регистра SC умањен за 1, који се вредношћу 1 сигнала ldSC на

сигнал такта уписује у регистар SC. На исти сигнал такта се прелази на корак K9.

У кораку K9 се се вредношћу 1 сигнала rdA и вредношћу 0 сигнала S2 садржај

регистра A преко бафера са три стања пушта на линије магистрале M и преко њих

доводи на B јединице ALU, на улазу A јединице ALU је стално присутане садржај

регистра L1, па се вредностима 1 сигнала S0 и S1 на излазу јединице ALU формира сума

садржаја регистара L1 и A, која се активном вредношћу сигнала ldA на сигнал такта

уписује у регистар A. У кораку K9 се проверава и вредност сигнала SC0 и у зависности

од тога да ли сигнал SC0 има вредност 0 или 1 на сигнал такта се прелази или на корак

K8 или на корак K0.

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 13.в.

Page 22: Zbirka - Projektovanje Upravljacke

20

CLKCLK

D QK

0

Q

MULADD

CLK CLK

D QK

1

QRd

Sd

SC0

CLKCLKCLK

D QK

5

Q

CLK

D QK

6

QRd

CLKCLK

D QK

7

QRd

SC0

CLK

D QK

8

QRd

CLK

D QK

9

QRd

SC0

CLKCLKCLK

Rd

CLKCLK

D QK

2

QRd

CLK

D QK

3

QRd

CLK

D QK

4

QRd

CLK CLK CLK

Слика 3.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1

S2 = K6 + K8

S0 = K3 +K5 +K9

S1 = K3 +K5 +K6+K8 +K9

C0 = K6 + K8

ldL1 = K2 + K4+ K7

ldA = K3+ K5+ K9

ldSC = K6+ K8

rdA = K5+ K7+ K9

rdR1 = K2

rdR2 = K3

rdR3 = K4

у којима K0, K1, K2, ..., K9 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 3.б). Сви остали

управљачки сигнали имају вредност 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова је дата на слици 3.г.

Page 23: Zbirka - Projektovanje Upravljacke

21

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K0 (0000) / K0 (0000) MULADD 0 b 0 b 0 b 0 b

K1 (0001) MULADD 0 b 0 b 0 b 1 b

K1 (0001) clA K0 (0000) SC0 0 b 0 b 0 b b 1

K2 (0011) 0SC 0 b 0 b 1 b b 0

K2 (0011) ldL1, rdR1 K3 (0010) 1 0 b 0 b b 0 b 1

K3 (0010) ldA, S0, S1, rdR2 K4 (0110) 1 0 b 1 b b 0 0 b

K4 (0110) ldL1, rdR3 K5 (0111) 1 0 b b 0 b 0 1 b

K5 (0111) ldA, S0, S1, rdA K6 (0101) 1 0 b b 0 b 1 b 0

K6 (0101) ldSC, S1, C0, S2 K7 (0100) 1 0 b b 0 0 b b 1

K7 (0100) ldL1, rdA K0 (0000) SC0 0 b b 1 0 b 0 b

K8 (1100) 0SC 1 b b 0 0 b 0 b

K8 (1100) ldSC, S1, C0, S2 K9 (1101) 1 b 0 b 0 0 b 1 b

K9 (1101) ldA, S0, S1, rdA K0 (0000) SC0 b 1 b 1 0 b b 1

K8 (1100) 0SC b 0 b 0 0 b b 1

Слика 3.г.Таблица стања, прелаза/излаза и побуда флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=0000, K1=0001, K2=0011, K3=0010, K4=0110, K5=0111, K6=0101, K7=0100,

K8=1100, K9=1101,

а за реализацију стања секвенцијалне прекидачке мреже користе се флип-флопови Q1,

Q2, Q3 и Q4 типа JK.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1

S2 = K6 + K8

S0 = K3 +K5 +K9

S1 = K3 +K5 +K6+K8 +K9

C0 = K6 + K8

ldL1 = K2 + K4+ K7

ldA = K3+ K5+ K9

ldSC = K6+ K8

rdA = K5+ K7+ K9

rdR1 = K2

rdR2 = K3

rdR3 = K4

у којима K0, K1, K2, K3 и K4 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже. Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флоповa Q1, Q2, Q3 и Q4 типа JK и комбинационе

Page 24: Zbirka - Projektovanje Upravljacke

22

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K7∙ 0SC

K1 = K9∙SC0

J2 = K3

K2 = K7∙SC0 + K9∙SC0

J3 = K1∙ 0SC

K3 = K5

J4 = K0∙MULADD + K4 + K8

K4 = K1∙SC0 + K2 + K6 + K9

С обзиром на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q ∙ 4Q

K1= 1Q ∙ 2Q ∙ 3Q ∙Q4

K2= 1Q ∙ 2Q ∙ Q3∙Q4

K3= 1Q ∙ 2Q ∙Q3∙ 4Q

K4= 1Q ∙Q2∙Q3∙ 4Q

K5= 1Q ∙Q2∙Q3∙Q4

K6= 1Q ∙Q2∙ 3Q ∙Q4,

K7= 1Q ∙Q2∙ 3Q ∙ 4Q

K8= Q1∙Q2∙ 3Q ∙ 4Q

K9= Q1∙Q2∙ 3Q ∙Q4

Дискусија 1:

Претпоставити да се у регистрима R1, R2, R3 и SC налазе вредности које

омогућавају да се извршавање наредбе реализује коректно и да се добије вредност која

може да се смести у регистар A. Погледати дискусију у задацима 1 и 2.

Дискусија 2:

У кораку K6 извршава се декрементирање садржаја регистра SC, а затим се у кораку

K7 садржај регистра A уписује у регистар L1 и провером вредности сигнала SC0

утврђује да ли је садржај регистра SC као резултат декрементирања у кораку К6 постао

0. Микрооперацију декрементирања садржаја регистра SC и микрооперацију уписа

садржај регистра A у регистар L1 је могуће извршити у истом кораку. Међутим,

микрооперација декрементирања садржаја регистра SC и проверa вредности сигнала

SC0, морају да се реализују у два посебна корака. Зато се микрооперација

декрементирања садржаја регистра SC извршава у кораку K6, а проверa вредности

сигнала SC0 у кораку К7. Усвојено је да се микрооперација уписа садржај регистра A у

регистар L1 реализује у кораку К7 иако би могла да се реализује и у кораку К6.

Погледати дискусију 2 у задатку 2.

Дискусија 3:

Могуће је извршити оптимизацију дијаграма тока, јер се у корацима K7 и K9 користи

иста провера сигнала SC0. Погледати дискусију 3 у задатку 2. Оптимизовани дијаграм

тока микрооперација и управљачких сигнала и одговарајућа структурна шема

управљачке јединице су дати на сликама 3.д и 3.ђ.

Page 25: Zbirka - Projektovanje Upravljacke

23

K0

A<=0

K1

MULADD1

0

SC00K

2

L1<=R1

K3

A<=L1+R2

K4

L1<=R3

K5

A<=A+L1

K6

SC<=SC1

K7

L1<=A

1

K0

clA

K1

MULADD1

0

SC00K

2

ldL1, rdR1

K3

ldA, S0, S

1, rdR2

K4

ldL1, rdR3

K5

ldA, S0, S

1, rdA

K6

ldSC, S1, C

0, S

2

K7

ldL1, rdA

1

SC01

SC<=SC1

K8 0

K9

A<=A+L1

SC01

ldSC, S1, C

0, S

2

K8 0

K9

ldA, S0, S

1, rdA

Слика 3.д Дијаграм тока микрооперација и управљачких сигнала

CLKCLK

D QK

0

Q

MULADD

CLK CLK

D QK

1

QRd

Sd

SC0

CLK CLKCLK

D QK

2

QRd

CLK

D QK

3

QRd

CLK

D QK

4

QRd

CLKCLK

CLKCLKCLK

D QK

5

Q

CLK

D QK

6

QRd

CLKCLK

D QK

7

QRd

CLKCLK

Rd

CLK

D QK

8

QRd

CLK

D QK

9

QRd

CLK

SC0

Слика 3.ђ Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу на исти начин као и у случају

решења управљачке јединице са слике 3.в.

Page 26: Zbirka - Projektovanje Upravljacke

24

1.4 МОДУО АПСОЛУТНИХ ВРЕДНОСТИ - MODABS

На слици 4.a је приказана структурна шема дела операционе јединице процесора. У

регистрима R1 и R2 дужине n бита налазе се садржаји које треба интерпретирати као

целобројне вредности са знаком. Микрооперације које се реализују у јединици ALU су

дати у табели 4.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе MODABS која израчунава

|R1|mod|R2|

модуо апсолутних вредности садржаја регистара R1 и R2, а резултат смешта у регистар

S. Фаза извршавања наредбе започиње уколико сигнал MODABS има вредност 1.

Претпоставити да је садржај регистра R2 различит од 0. Садржаји регистара R1 и R2

морају да остану неизмењени.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

LD ldS

n

SCLK

n

CLKR2CLK

n

CLKR1CLK

n

CLK

rdR2

n

rdS

n

LD ldR1 LD ldR2

n n

rdR1

n

n M n

ALU

S0

S1

S0

S1

C0 C

0

A

n n

B

Cn

Cn

n

n

L2CLKCLKLD

CL

ldL2

clL2

n

n

An-1

Cn

CCLKCLK LD ldC

C

ACL clA

CLKCLK

n n nrdA

LD ldA

n

Слика 4.a Структурна шема операционе јединице

S0 S1 F0 0 0 A+B

0 1 AB

1 0 B

1 1 AC0

Табела 4 Микрооперације у јединици ALU

Решење:

a) Дијаграм тока микрооперација и управљачких сигнала дати су на слици 4.б.

Израчунавање израза се реализује тако што се у регистар S упише апсолутна

вредност садржаја регистра R1, а у регистар L2 се упише апсолутна вредност садржаја

регистра R2, а затим се израчуна модуо садржаја регистара S и L2.

Упис апсолутних вредности садржаја регистара R1 и R2 у регистре S и L2 се

реализује на следећи начин. Прво се садржај регистра R1 упише у регистре L2 и S.

Затим се израчуна –L2 и упише у регистар A. Провери се најстарији бит регистра A,

Page 27: Zbirka - Projektovanje Upravljacke

25

како би се одредио знак целобројне вредности која се налази у регистру A. Ако је

најстарији разред регистра A једнак нула, садржај регистра A који представља |R1| се

уписује у регистар S, а ако је једнак један, то значи да се у регистру S већ налази |R1|, па

се наставља даље са радом. Садржај регистра R2 упише се у регистар L2. Затим се

израчуна –L2 и упише у регистар A. Провери се најстарији бит регистра A, како би

одредили знак целобројне вредности која се налази у регистру A. Ако је најстарији

разреда регистра A једнак нула, садржај регистра A који представља |R2| се уписује у

регистар L2, а ако је једнак један, то значи да се у регистру L2 већ налази |R2|, па се

наставља даље са радом.

Сада, када се у регистру S налази апсолутна вредност садржаја регистра R1 а у

регистру L2 апсолутна вредност садржаја регистра R2, од садржаја регистра S одузима

се садржај регистра L2 и све док је резултат одузимања већи од нуле новодобијена

вредност се уписује у регистар S. Када резултат одузимања постане мањи од нуле

вредност која је последња уписана у регистар S представља резултат наредбе

|R1|mod|R2|.

K0

K1

MODABS1

0

L2<=R1, S<=R1,

A<=(L2)

K2

K3

K4

S<=A

An-1

0

1

K5

L2<=R2

K6

A<=(L2)

K7

K8

L2<=A

An-1

0

1

K9

A<=(SL2), C<=Cn

K10

K11

S<=A

C0

1

K0

K1

MODABS1

0

ldL2, ldS, rdR1,

ldA, S0

K2

K3

K4

ldS, rdA

An-1

0

1

K5

ldL2, rdR2

K6

ldA, S0

K7

K8

ldL2, rdA

An-1

0

1

K9

ldA, ldC, S1, rdS

K10

K11

ldS, rdA

C0

1

Слика 4.б Дијаграм тока микрооперација и управљачких сигнала

У кораку K0 се проверава вредност сигнала MODABS и у зависности од тога да ли

сигнал MODABS има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта

прелази на корак K1.

Page 28: Zbirka - Projektovanje Upravljacke

26

У кораку K1 се вредношћу 1 сигнала rdR1 преко бафера са три стања на линије

магистрале M пропушта садржај регистра A, који се вредношћу 1 сигнала ldL2 и ldS на

сигнал такта уписује у регистре L2 и S. На исти сигнал такта се прелази на корак K2.

У кораку K2 се вредношћу 1 сигнала S0 на излазу јединице ALU формира вредност

супротног знака од садржаја регистра L2, која се вредношћу 1 сигнала ldA на сигнал

такта уписује у регистар A. На исти сигнал такта прелази се на корак K3.

У кораку K3 се проверава вредност сигнала An-1, који вредношћу 0 указује да је

садржај регистра А позитиван а вредношћу 1 да је негативан, и у зависности од тога да

ли сигнал An-1 има вредност 0 или 1 на сигнал такта се прелази или на корак K4 или на

корак K5.

У кораку K4 се вредношћу 1 сигнала rdA преко бафера са три стања на линије

магистрале M пропушта садржај регистра A, који се вредношћу 1 сигнала ldS на сигнал

такта уписује у регистар S. На исти сигнал такта се прелази на корак K5.

У кораку K5 се вредношћу 1 сигнала rdR2 преко бафера са три стања на линије

магистрале M пропушта садржај регистра R2, који се вредношћу 1 сигнала ldL2 на

сигнал такта уписује у регистар L2. На исти сигнал такта се прелази на корак K6.

У кораку K6 се вредношћу 1 сигнала S0 на излазу јединице ALU формира вредност

супротног знака од садржаја регистра L2, која се вредношћу 1 сигнала ldA на сигнал

такта уписује у регистар A. На исти сигнал такта прелази се на корак K3.

У кораку K7 се проверава вредност сигнала An-1, који вредношћу 0 указује да је

садржај регистра А позитиван а вредношћу 1 да је негативан, и у зависности од тога да

ли сигнал An-1 има вредност 0 или 1 на сигнал такта се прелази или на корак K8 или на

корак K9.

У кораку K8 се вредношћу 1 сигнала rdA преко бафера са три стања на линије

магистрале M пропушта садржај регистра A, који се вредношћу сигнала ldL2 на сигнал

такта уписује у регистар L2. На исти сигнал такта се прелази на корак K9.

У кораку K9 се вредношћу 1 сигнала rdS садржај регистра S преко бафера са три

стања пропушта на линије магистрале M и води на улаз A јединице ALU, на улазу B

јединице ALU све време је присутан садржај регистра L2, вредношћу 1 сигнала S1 се на

излазу јединице ALU формира разлика садржаја регистара S и L2 а на излазу Cn

позајмица, који се вредношћу 1 сигнала ldA и ldC на сигнал такта уписују у регистар A

и регистар C, респективно. На исти сигнал такта прелази се на корак K10.

У кораку K10 се проверава вредност сигнала позајмице C. Вредност 0 сигнала

позајмице C указује да је садржај регистра S већи од садржаја регистра L2 и да треба

продужити са одузимањем садржаја регистра L2 од садржаја регистра S, док вредност 1

сигнала позајмице C указује да је садржај регистра S мањи од садржаја регистра L2 и

да треба завршити са одузимањем садржаја регистра L2 од садржаја регистра S, при

чему садржај регистра S представља тражени модуо апсолутних вредности садржаја

регистара R1 и R2. Због тога се у зависности од тога да ли сигнал C има вредност 0 или

1 на сигнал такта прелази или на корак K11 или на корак K0.

У кораку K11 се вредношћу 1 сигнала rdA преко бафера са три стања на линије

магистрале M пропушта садржај регистра A, који се вредношћу 1 сигнала ldS на сигнал

такта уписује у регистар S. На исти сигнал такта се прелази на корак K9.

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 4.в

Page 29: Zbirka - Projektovanje Upravljacke

27

CLKCLKCLK

D QK

0

Q

MODABS

CLK CLK

D Q

QRd

Sd

K1

CLKCLK

D QK

2

QRd

CLK

D QK

3

QRd

CLK

D QK

4

QRd

CLK

D QK

6

QRd

CLKCLK

D QK

7

QRd

An-1

CLK CLK

D QK

11

QRd

C

CLK

D QK

9

QRd

CLK

D QK

10

QRd

CLK

D QK

8

QRd

An-1

CLK

D QK

5

QRd

CLKCLKCLK

CLK CLK CLKCLK CLK

Слика 4.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

S0 = K2 + K6

S1 = K9

ldL2 = K1 + K5 + K8

ldS = K1 + K4 + K11

ldA = K2 + K6 +K9

ldC = K9

rdR1 = K1

rdR2 = K5

rdA = K4 + K8+ K11

rdS = K9

у којима K0, K1, K2, ..., K11 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 4.б). Сви остали

управљачки сигнали имају вредност 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова је дата на слици 4.г.

Page 30: Zbirka - Projektovanje Upravljacke

28

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K0 (0000) / K0 (0000) MODABS 0 b 0 b 0 b 0 b

K1 (0001) MODABS 0 b 0 b 0 b 1 b

K1 (0001) ldL2, ldS, rdR1 K2 (0011) 1 0 b 0 b 1 b b 0

K2 (0011) ldA, S0 K3 (0010) 1 0 b 0 b b 0 b 1

K3 (0010) / K4 (0110)

1nА 0 b 1 b b 0 0 b

K5 (0111) An-1 0 b 1 b b 0 1 b

K4 (0110) ldS, rdA K5 (0111) 1 0 b b 0 b 0 1 b

K5 (0111) ldL2, rdR2 K6 (0101) 1 0 b b 0 b 1 b 0

K6 (0101) ldA, S0 K7 (0100) 1 0 b b 0 0 b b 1

K7 (0100) / K8 (1100)

1nА 1 b b 0 0 b 0 b

K9 (1101) An-1 1 b b 0 0 b 1 b

K8 (1100) ldL2, rdA K9 (1101) 1 b 0 b 0 0 b 1 b

K9 (1101) ldA, ldC, S1, rdS K10 (1111) 1 b 0 b 0 1 b b 0

K10 (1111) / K0 (0000) C b 1 b 1 b 1 b 1

K11 (1110) C b 0 b 0 b 0 b 1

K11 (1110) ldS, rdA K9 (1101) 1 b 0 b 0 b 1 1 b

Слика 4.г.Таблица стања, прелаза/излаза и побуда флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=0000, K1=0001, K2=0011, K3=0010, K4=0110, K5=0111, K6=0101, K7=0100,

K8=1100, K9=1101, K10=1111, K11=1110,

а за реализацију стања секвенцијалне прекидачке мреже користе се флип-флопови Q1,

Q2, Q3 и Q4 типа JK.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

S0 = K2 + K6

S1 = K9

ldL2 = K1 + K5 + K8

ldS = K1 + K4 + K11

ldA = K2 + K6 +K9

ldC = K9

rdR1 = K1

rdR2 = K5

rdA = K4 + K8+ K11

rdS = K9

у којима K0, K1, K2, ..., K11 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже. Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флоповa Q1, Q2, Q3 и Q4 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

Page 31: Zbirka - Projektovanje Upravljacke

29

J1 = K7

K1 = K10∙C

J2 = K3

K2 = K10∙ C

J3 = K1 + K9

K3 = K5 + K10∙ C + K11

J4 = K0∙MODABS + K3∙An-1 + K4 + K7∙An-1 + K8+ K11

K4 = K2 + K6 + K10

С обзиром на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q ∙ 4Q

K1= 1Q ∙ 2Q ∙ 3Q ∙Q4

K2= 1Q ∙ 2Q ∙Q3∙Q4

K3= 1Q ∙ 2Q ∙Q3∙ 4Q

K4= 1Q ∙Q2∙Q3∙ 4Q

K5= 1Q ∙Q2∙Q3∙Q4

K6= 1Q ∙Q2∙ 3Q ∙Q4

K7= 1Q ∙Q2∙ 3Q ∙ 4Q

K8= Q1∙Q2∙ 3Q ∙ 4Q

K9= Q1∙Q2∙ 3Q ∙Q4

K10= Q1∙Q2∙Q3∙Q4

K11= Q1∙Q2∙ 3Q ∙ 4Q

Дискусија 1:

У оквиру задатка се извршава претварање негативних целобројних величина са

знаком у целобројне величине без знака. Знак је добар критеријум код одузимања

целобројних вредности са знаком, под условом да нема прекорачења. У овом случају

знак је добар критеријум да ли треба инвертовати или не. Изузетак је највећи негативан

број -2n-1

који као знак даје 1, што значи да не треба инвертовати, а треба јер је

негативан. Ово је случај када је дошло до прекорачења. Међутим то није грешка јер се

негативна вредност од -2n-1

као целобројна вредност без знака представља на исти

начин.

Дискусија 2:

У другом делу задатка извршава се операција одузимања целобројних вредности без

знака. У аритметици целобројних величина појам знака броја се не може узимати као

валидан параметар, већ вредности преноса односно позајмице бита има ту улогу. Треба

напоменути да је приликом операције одузимања излаз Cn аритметичко лoгичке

јединице једнак вредности позајмице, па је вредност на излазу Cn тражени параметар.

Вредност 0 сигнала позајмице Cn указује да је резултат одизимања позитиван број, док

вредност 1 сигнала позајмице Cn указује да је резултат одизимања негативан број.

Дискусија 3:

У тексту задатка је напоменуто да вредност регистра R2 мора бити различита од 0,

јер резултат операције “по модулу 0” није дефинисан. Регистар R1 може имати и

Page 32: Zbirka - Projektovanje Upravljacke

30

вредност 0. Тада је и резултат операције 0, а петља на крају задатка се извршава само

једном и задатак се завршава.

Page 33: Zbirka - Projektovanje Upravljacke

31

1.5 СУМА И ПРОИЗВОД - SMUL

На слици 5.a је приказана структурна шема дела операционе јединице процесора. У

регистрима R1 и R2 дужине n разреда налазе се бинарне вредности које треба

интерпретирати као целобројне величине без знака. Микрооперације које се реализују у

јединици ALU су дате у табели 5.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе SMUL која израчунава

R1(R1+R2)

производ садржаја регистра R1 и суме садржаја регистара R1 и R2, а резултат смешта у

регистар R1. Фаза извршавања наредбе започиње уколико сигнал SMUL има вредност 1.

Садржаји регистра R2 мора да остане неизмењен. Претпоставити да се у регистрима R1

и R2 налазе вредности које омогућавају да се извршавање наредбе реализује коректно и

да се добије вредност која може да се смести у регистар R1.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

n

n

L1CLKCLKLD

CL

ldL1

clL1

ALU

S0

S1

S0

S1

C0 C

0

A

n n

B

Cn

Cn

n

n

n

BRLD

CLKDEC decBR

CLKldBR

n

ACLKCLK

n

n

LD ldA

nn

n

nBR0

n

CL clA

nrdArdBR

n

F

R2CLK

n

CLKR1CLK

n

CLK

rdR2

n

LD ldR1 LD ldR2

n

rdR1

n

n

n

M

Слика 5.a Структурна шема операционе јединице

S0 S1 F0 0 0 B

0 1 BC0

1 0 B+C0

1 1 A+B

Табела 5 Микрооперације у јединици ALU

Решење: a) Дијаграми тока микрооперација и управљачких сигнала дати су на слици 5. б.

Page 34: Zbirka - Projektovanje Upravljacke

32

Израчунавање израза се реализује тако што се најпре израчуна сума целобројних

вредности без знака из регистара R1 и R2 и упише у регистар L1, док се у регистар BR

упише садржај регистра R1. Производ целобројних вредности без знака у регистрима

L1 и BR се рачуна тако што се у регистар A најпре упише вредност нула, па се после

тога сабирају садржаји регистара A и L1 и резултат уписује у регистар A. Ово се

понавља онолико пута колико је садржај регистра BR. Због тога се после сваког

сабирања регистара A и L1 врши декрементирање садржаја регистра BR. Уколико

садржај регистра BR декрементирањем није постао нула, сабирање се понавља, док се у

супротном случају завршава са сабирањем и последња добијена сума, која представља

производ садржаја регистара L1 и BR, пребацује из регистра А у регистар R1.

K0

SMUL0

BR01

0

BR<=R1, L1<=R1

K1 1

A<=L1+R2

K2 1

L1<=A, A<=0

K3 1

K4

BR0

A<=A+L1, BR<=BR1,

K5

1

0

K6

R1<=A

K0

SMUL0

BR01

0

ldBR, ldL1, rdR1

K1 1

ldA, S0, S

1, rdR2

K2 1

ldL1, rdA, clA

K3 1

K4

BR0

ldA, S0, S

1, rdA, decBR

K5

1

0

K6

ldR1, rdA

Слика 5.б Дијаграм тока микрооперација и управљачких сигнала

У кораку K0 се проверава вредност сигнала SMUL и у зависности од тога да ли

сигнал SMUL има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта прелази

на корак K1.

У кораку K1 се вредношћу 1 сигнала rdR1 садржај регистра R1 преко бафера са три

стања пропушта на линије магистрале M и преко њих води на улаз регистра L1 и на

улаз B јединице ALU, вредностима 0 сигнала S0 и S1 се на излаз јединице ALU

пропушта садржај регистра R1 са улаза B јединице ALU, па се вредношћу 1 сигнала

ldBR и ldL1 на сигнал такта уписује садржај са излаза ALU у регистар BR и садржај са

линија магистрале M у регистра L1, респективно. На исти сигнал такта прелази се на

корак K2.

У кораку K2 се вредношћу 1 сигнала rdR1 садржај регистра R2 преко бафера са три

стања пропушта на линије магистрале M и преко њих води на улаз B јединице ALU, на

улазу A јединице ALU увек је присутан садржај регистра L1, вредностима 1 сигнала S0

и S1 се на излазу јединице ALU формира сума садржаја регистара L1 и R1, која се

вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. На исти сигнал такта се

прелази на корак K3.

У кораку K3 се вредношћу 1 сигнала rdA садржај регистра A преко бафера са три

стања пропушта на линије магистрале M и вредношћу 1 сигнала ldL1 на сигнал такта

уписује у регистар L1. Поред тога у кораку K3 се вредношћу 1 сигнала clA на сигнал

такта уписује нула у регистар A. У кораку K3 се проверава и вредност сигнала BR0 и у

Page 35: Zbirka - Projektovanje Upravljacke

33

зависности од тога да ли сигнал BR0 има вредност 0 или 1 на сигнал такта прелази или

на корак K4 или на корак K6.

У кораку K4 се вредношћу 1 сигнала rdA садржај регистра A преко бафера са три

стања пропушта на линије магистрале M и преко њих води на улаз B јединице ALU, на

улазу A јединице ALU све време је присутан садржај регистра L1, вредностима 1

сигнала S0 и S1 се на излазу јединице ALU формира сума садржаја регистара L1 и A,

која се вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. У кораку K4 се

вредношћу 1 сигнала decBR садржај регистра BR декрементира. На исти сигнал такта

се прелази на корак K5.

У кораку K5 се проверава вредност сигнала BR0 и у зависности од тога да ли сигнал

BR0 има вредност 0 или 1 на сигнал такта прелази или на корак K4 или на корак K6.

У кораку K6 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих, између осталог, води на улазе

регистра R1 и вредношћу 1 сигнала ldR1 на сигнал такта уписује у регистар R1. На исти

сигнал такта се прелази на корак K0.

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 5.в.

CLKCLK

D QK

0

Q

SMUL

CLK CLK

D Q

QRd

Sd

K1

CLKCLK

D QK

2

QRd

CLK

CLK

D QK

3

QRd

BR0

CLK CLK

D QK

4

QRd

CLK

D QK

5

QRd

BR0

CLK

D QK

6

QRd

CLK

CLK

CLK

Слика 5.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима

clA = K3

S0 = K2 + K4

S1 = K2 + K4

ldL1 = K1 + K3

ldR1 = K6

ldA = K2 + K4

ldBR = K1

rdR1 = K1

rdR2 = K2

rdA = K3 + K4+ K6

decBR = K4

у којима K0, K1, K2, ..., K6 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 5.б). Сви остали

управљачки сигнали имају вредност 0.

.

Page 36: Zbirka - Projektovanje Upravljacke

34

в) Таблица стања, прелаза/излаза и побуда флип-флопова је дата на слици 5.г.

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3

K0 (000) / K0 (000) SMUL 0 b 0 b 0 b

K1 (001) SMUL 0 b 0 b 1 b

K1 (001) ldBR, ldL1, rdR1 K2 (011) 1 0 b 1 b b 0

K2 (011) ldA, S0, S1, rdR2 K3 (010) 1 0 b b 0 b 1

K3 (010) ldL1, rdA, clA K4 (110) 0BR 1 b b 0 0 b

K6 (101) BR0 1 b b 1 1 b

K4 (110) ldA, S0, S1, rdA, decBR K5 (111) 1 b 0 b 0 1 b

K5 (111) / K4 (110) 0BR b 0 b 0 b 1

K6 (101) BR0 b 0 b 1 b 0

K6 (101) ldR1, rdA K0 (000) 1 b 1 0 b b 1

Слика 5.г.Таблица стања, прелаза/излаза и побуда флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=000, K1=001, K2=011, K3=010, K4=110, K5=111, K6=101,

а за реализацију стања секвенцијална прекидачка мрежа користе се флип-флопови Q1,

Q2 и Q3 типа JK

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K3

S0 = K2 + K4

S1 = K2 + K4

ldL1 = K1 + K3

ldR1 = K6

ldA = K2 + K4

ldBR = K1

rdR1 = K1

rdR2 = K2

rdA = K3 + K4+ K6

decBR = K4

у којима K0, K1,..., K6, представљају сигнале декодованих стања секвенцијалне

прекидачке мреже. Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флопове Q1, Q2 и Q3 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K3

K1 = K6

J2 = K1

K2 = K3∙BR0 + K5∙BR0

J3 = K0∙SMUL + K3∙BR0 + K4

K3 = K2 + K5∙ 0BR + K6

Page 37: Zbirka - Projektovanje Upravljacke

35

С обзирома на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q

K1= 1Q ∙ 2Q ∙Q3

K2= 1Q ∙Q2∙Q3

K3= 1Q ∙Q2∙ 3Q

K4= Q1∙Q2∙ 3Q

K5= Q1∙Q2∙Q3

K6= Q1∙ 2Q ∙Q3

Дискусија 1:

У тексту задатка је назначено да треба претпоставити да се у регистрима R1 и R2

налазе вредности које омогућавају да се извршавање наредбе реализује коректно и да се

добије вредност која може да се смести у регистар R4. Погледати дискусије у задацима

1 и 2.

Дискусија 2:

У кораку K5 је празан операциони блок. Погледати дискусију у задатку 2.

Дискусија 3:

Могуће је извршити оптимизацију дијаграма тока, јер се у корацима K3 и K5 користи

иста провера услова BR0. Погледати дискусију 3 у задатку 2. Оптимизовани дијаграм

тока микрооперација и управљачких сигнала и одговарајућа структурна шема

управљачке јединице су дати на сликама 5.д и 5.ђ.

K0

SMUL0

BR<=R1, L1<=R1

K1 1

A<=L1+R2

K2 1

L1<=A, A<=0

K3 1

K4

A<=A+L1, BR<=BR1,

K5

K0

SMUL0

ldBR, ldL1, rdR1

K1 1

ldA, S0, S

1, rdR2

K2 1

ldL1, rdA, clA

K3 1

K4

ldA, S0, S

1, rdA, decBR

K5

BR01

0

K6

R1<=A

BR01

0

K6

ldR1, rdA

Слика 5.д Дијаграм тока микрооперација и управљачких сигнала

Page 38: Zbirka - Projektovanje Upravljacke

36

CLKCLK

D QK

0

Q

SMUL

CLK CLK

D Q

QRd

Sd

K1

CLKCLK

D QK

2

QRd

CLK

CLK

D QK

3

QRd

BR0

CLK CLK CLK

D QK

4

QRd

CLK

D QK

5

QRd

CLK

CLK

D QK

6

QRd

CLK

Слика 5.ђ Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу на исти начин као и у случају

решења управљачке јединице са слике 5.в.

Page 39: Zbirka - Projektovanje Upravljacke

37

1.6 СУМА АПСОЛУТНИХ ВРЕДНОСТИ - SABS

На слици 6.a је приказана структурна шема дела операционе јединице процесора. У

меморији MEM капацитета 2m

речи дужине n бита налазе се бинарне вредности које

треба интерпретирати као целобројне величине са знаком, док се у регистру CN дужине

m разреда налази бинарна вредност коју треба интерпретирати као целобројну вредност

без знака. Микрооперације које се реализују у јединици ALU су дате у табели 6.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе SABS која израчунава

CNi

0i

i |A|

суму апсолутних вредности елемената низа Ai који се налазе у меморији M, а резултат

се смешта регистар S. Фаза извршавања наредбе започиње уколико сигнал SABS има

вредност 1. Претпоставити да се у меморији MEM налазе вредности које омогућавају

да се извршавање наредбе реализује коректно и да се добије вредност која може да се

смести у регистар S.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

LD ldS

n

SCLK

n

CLK

rdMEM

n

rdS

n

n nn

n

ALU

S0

S1

S0

S1

C0 C

0

A

n n

B

Cn

Cn

n

n

L2CLKCLKLD

CL

ldL2

clL2

n

A(m-1)...0

MEM

DO(n-1)...0

m

n

CNCLK

m

CLK

m

LD ldCN

DEC decCN

mCN0

m

F

n F(n-1)...0F

n-1

NCLKCLK LD ldN

N

A

n

CL clACLKCLK

n

F(n-1)...0

n nrdA

LD ldA

M

Слика 6.a Структурна шема операционе јединице

S0 S1 F0 0 0 A+B

0 1 AB

1 0 B

1 1 AC0

Табела 6 Микрооперације у јединици ALU

Решење: a) Дијаграм тока микрооперација и управљачких сигнала дати су на слици 6. б.

Израчунавање израза се реализује на следећи начин. У регистар A се најпре упише

вредност нула. У регистру CN се чува адреса локације којој се приступа у меморији. На

Page 40: Zbirka - Projektovanje Upravljacke

38

садржај регистра A се додаје или одузима садржај из меморије са локације MEM[CN] у

зависности да ли је тај садржај већи или мањи од нуле.

То се реализује тако што се у регистар L2 упише садржај меморијске локације

MEM[CN], а у једноразредни регистар N упише се бит највеће тежине садржаја

меморијске локације MEM[CN]. На основу провере да ли садржај једноразредног

регистра N има вредност 0 или 1, утврђује се да ли је садржај регистра L2 позитиван

или негативан, респективно. У случају када је N једнако нула, садржаји регистра A и L2

се сабирају, а у случају када је N једнако један, од садржаја регистра A одузима се

садржај регистра L2 и у оба случаја резултат се уписује у регистар A. Након тога се

проверава садржај регистра CN. Уколико није постао нула, садржај регистра CN се

декрементира и сабирање или одузимање се понавља све док садржај регистра CN не

постане нула. Када садржај регистра CN постане нула тада се садржај регистра A, који

представља резултат извршења тражене наредбе, уписује у регистар S.

K0

A<=0

K1

SABS1

0

L2<=MEM[CN],

N<=MEM[CN]n-1

K3

A<=A+L2

K5

A<=AL2

K2

K4

N0

1

CN00

1

CN00

1

K6

CN<=CN1

K7

S<=A

K0

clA

K1

SABS1

0

ldL2, rdMEM,

ldN, S0, S

1

K3

ldA, rdA

K5

ldA, S1, rdA

K2

K4

N0

1

CN00

1

CN00

1

K6

decCN

K7

ldS, rdA

Слика 6.б Дијаграм тока микрооперација и управљачких сигнала

У кораку K0 се проверава вредност сигнала SABS и у зависности од тога да ли

сигнал SABS има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта прелази

на корак K1.

У кораку K1 се вредношћу 1 сигнала clA на сигнал такта уписује нула у регистар A.

На исти сигнал такта се прелази на корак K2.

У кораку K2 се вредношћу 1 сигнала rdMEM садржај меморијске локације MEM[CN]

преко бафера са три стања пропушта на линије магистрале M и преко њих води на улаз

регистра L2 и на улаз A јединице ALU, вредностима 1 сигнала S1 и S2 и вредношћу 0

сигнала C0 се садржај меморијске локације MEM[CN] са улаза A јединице ALU

пропушта на излаз јединице ALU, вредношћу 1 сигнала ldN на сигнал такта се највиши

бит садржаја меморијске локације MEM[CN] са излаза Fn-1 јединице ALU уписује у

једноразредни регистар N и вредношћу 1 сигнала ldL2 на сигнал такта се садржај

меморијске локације MEM[CN] са линија магистрале M уписује у регистар L2. На исти

сигнал такта се прелази на корак K3.

Page 41: Zbirka - Projektovanje Upravljacke

39

У кораку K3 се проверава вредност сигнала N и у зависности од тога да ли сигнал N

има вредност 0 или 1 на сигнал такта прелази или на корак K4 или на корак K5.

У кораку K4 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води на на улаз A јединице ALU,

садржај регистра L2 је све време присутан на улазу B јединице ALU, вредностима 0

сигнала S0 и S1 се на излазу јединице ALU формира сума садржаја регистара A и L2,

која се активном вредношћу сигнала ldA на сигнал такта уписује у регистар A. У кораку

K4 се проверава и вредност сигнала CN0 и у зависности од тога да ли сигнал CN0 има

вредност 0 или 1 на сигнал такта се прелази или на корак K6 или на корак K7.

У кораку K5 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води на улаз A јединице ALU,

садржај регистра L2 је све време присутан на улазу B јединице ALU, вредношћу 1

сигнала S1 на излазу јединице ALU формира разлика садржаја регистара A и L2, која се

вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. У кораку K5 се

проверава и вредност сигнала CN0 и у зависности од тога да ли сигнал CN0 има

вредност 0 или 1 на сигнал такта прелази или на корак K6 или на корак K7.

У кораку K6 се вредношћу 1 сигнала decCN на сигнал такта садржај регистра CN

декрементира. На исти сигнал такта се прелази на корак K2.

У кораку K7 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих, између осталог, води на улаз

регистра S и вредношћу 1 сигнала ldS на сигнал такта уписује у регистар S. На исти

сигнал такта се прелази на корак K0.

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 6.в.

CLKCLK

D QK

0

Q

SABS

CLK CLK

D QK

1

QRd

Sd

CLKCLK

D QK

2

QRd

CLK

D QK

3

QRd

CLK CLK

N

CLK CLKCLK

D QK

4

QRd

CN0

CLKCLK

D QK

5

QRd

CN0

CLK

CLK

K6

CLK

D Q

QRd

CLK

D QK

7

QRd

CLK

Слика 6.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1

ldL2 = K2

ldN = K2

ldA = K4 + K5

ldS = K7 S0 = K2

Page 42: Zbirka - Projektovanje Upravljacke

40

S1 = K2 + K5

rdMEM = K2

rdA = K4 +K5 + K7

decCN = K6

у којима K0, K1, K2, ..., K7 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 6.б). Сви остали

управљачки сигнали имају вредност 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова је дата на слици 6.г.

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3

K0 (000) /

K0 (000) SABS 0 b 0 b 0 b

K1 (001) SABS 0 b 0 b 1 b

K1 (001) clA K2 (011) 1 0 b 1 b b 0

K2 (011) S0, S1, ldL2, ldN, rdMEM K3 (010) 1 0 b b 0 b 1

K3 (010) / K4 (110) N 1 b b 0 0 b

K5 (111) N 1 b b 0 1 b

K4 (110) ldA, rdA K6 (101) 0CN b 0 b 1 1 b

K7 (100) CN0 b 0 b 1 0 b

K5 (111) S1, ldA, rdA K6 (101) 0CN b 0 b 1 b 0

K7 (100) CN0 b 0 b 1 b 1

K6 (101) decCN K2 (011) 1 b 1 1 b b 0

K7 (100) ldS, rdA K0 (000) 1 b 1 0 b 0 b

Слика 6.г.Таблица стања, прелаза/излаза и побуде флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=000, K1=001, K2=011, K3=010, K4=110, K5=111, K6=101, K7=100,

а за реализацију стања секвенцијалнe прекидачкe мрежe користе се флип-флопови Q1,

Q2 и Q3 типа JK

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1

ldL2 = K2

ldN = K2

ldA = K4 + K5

ldS = K7 S0 = K2

S1 = K2 + K5

rdMEM = K2

rdA = K4 +K5 + K7

decCN = K6

у којима K0, K1,..., K7, представљају сигнале декодованих стања секвенцијалне

прекидачке мреже. Сви остали управљачки сигнали су 0.

Page 43: Zbirka - Projektovanje Upravljacke

41

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флопове Q1, Q2 и Q3 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K3

K1 = K6 + K7

J2 = K1 + K6

K2 = K4 + K5

J3 = K0∙SABS + K3∙N + K4∙ 0CN

K3 = K4 + K5∙CN0

С обзирома на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q

K1= 1Q ∙ 2Q ∙Q3

K2= 1Q ∙Q2∙Q3

K3= 1Q ∙Q2∙ 3Q

K4= Q1∙Q2∙ 3Q

K5= Q1∙Q2∙Q3

K6= Q1∙ 2Q ∙Q3

K7= Q1∙ 2Q ∙ 3Q

Дискусија 1:

У тексту задатка је назначено да треба претпоставити да се у меморији МЕМ налазе

вредности које омогућавају да се извршавање наредбе реализује коректно и да се добије

вредност која може да се смести у регистар S. Погледати дискусије у задацима 1 и 2.

Дискусија 2:

У кораку K2 садржај меморијске локације MEM[CN] се пропушта на линије

магистрале M и са њих води на улаз регистра L2 и преко улаза A јединице ALU

пропушта на излаз јединице ALU. Зато је могуће у оквиру корака K2 и садржај

меморијске локације MEM[CN] уписати у регистар L2 и знак целобројне величине са

знаком представљене садржајем меморијске локације MEM[CN] уписати у

једноразредни регистар N.

Дискусија 3:

Могуће је извршити оптимизацију дијаграма тока, јер се у корацима K4 и K5 користи

иста провера услова BR0. Погледати дискусију 3 у задатку 2. Оптимизовани дијаграм

тока микрооперација и управљачких сигнала и одговарајућа структурна шема

управљачке јединице су дати на сликама 6.д и 6.ђ.

Page 44: Zbirka - Projektovanje Upravljacke

42

K0

A<=0

K1

SABS1

0

L2<=MEM[CN],

N<=MEM[CN]n-1

K3

A<=A+L2

K2

K4

N0

1

K5

A<=AL2

CN01

K6

CN<=CN1

K7

S<=A

0

K0

clA

K1

SABS1

0

ldL2, rdMEM,

ldN, S0, S

1

K3

ldA, rdA

K2

K4

N0

1

K5

ldA, S1, rdA

CN01

K6

decCN

K7

ldS, rdA

0

Слика 6.д Дијаграм тока микрооперација и управљачких сигнала

CLKCLK

D QK

0

Q

SABS

CLK CLK

D QK

1

QRd

Sd

CLKCLK

D QK

2

QRd

CLK

D QK

3

QRd

CLK CLK

N

CLK CLKCLK

D QK

4

QRd

CN0CLKCLK

D QK

5

QRd

CLK

CLK

K6

CLK

D Q

QRd

CLK

D QK

7

QRd

CLK

Слика 6.ђ Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу на исти начин као и у случају

решења управљачке јединице са слике 6.в.

Page 45: Zbirka - Projektovanje Upravljacke

43

1.7 МИНИМУМ ВЕЛИЧИНА БЕЗ ЗНАКА - MIN4

На слици 7.a је приказана структурна шема дела операционе јединице процесора. У

регистрима R[0], R[1], R[2] и R[3] дужине n разреда се налазе бинарне вредности које

треба интерпретирати као целобројне величине без знака. Микрооперације које се

реализују у јединици ALU су дате у табели 7.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе MIN4 која израчунава

MIN(R[0], R[1], R[2], R[3])

минимум садржаја регистара R[0], R[1], R[2] и R[3] и у регистар A смешта резултат.

Фаза извршавања наредбе започиње уколико сигнал MIN4 има вредност 1. Садржаји

регистара R[0], R[1], R[2] и R[3] морају да остану неизмењени.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

nn

R[1]CLK

n

CLKR[0]CLK

n

CLK

rdR[1]

n

LD LD

n

rdR[0]

n

n

R[3]CLK

n

CLKR[2]CLK

n

CLK

rdR[3]

n

LD LD

n

rdR[2]

n

n

2 2BR0

BRLD

INC incBR

ldBR

2

CLKCLK

CLclBR

3

2

2 1 0

DC E RD

n

n

L1CLKCLKLD

CL

ldL1

clL1

ALU

S0

S1

S0

S1

C0 C

0

A

n n

B

Cn

Cn

n

n

F

n

CCLKCLK LD ldC

C n n nrdA

ACLKCLK

n

LD ldA

CL clA

M

rdR[0]rdR[1]rdR[2]rdR[3]

ldR[0] ldR[1] ldR[2] ldR[3]

Слика 7.a Структурна шема операционе јединице

S0 S1 F0 0 0 AB

0 1 AC0

1 0 A+C0

1 1 A

Табела 7 Микрооперације у јединици ALU

Решење: а) Дијаграм тока микрооперација и управљачких сигнала дати су на слици 7.б.

Израчунавање израза се реализује тако што се прво садржај регистра R[0] упише у

регистар L1. Затим се садржај регистра L1 пореди са садржајем регистра R[1]. Уколико

је садржај регистра L1 мањи од садржаја регистра R[1], садржај регистра L1 остаје

непромењен, док се у супротном случају садржај регистра R[1] као мањи уписује у

регистар L1. Потом се садржај регистра L1 пореди са садржајем регистра R[2]. Уколико

Page 46: Zbirka - Projektovanje Upravljacke

44

је садржај регистра L1 мањи од садржаја регистра R[2], садржај регистра L1 остаје

непромењен, док се у супротном случају садржај регистра R[2] као мањи уписује у

регистар L1. На крају се садржај регистра L1 пореди са садржајем регистра R[3].

Уколико је садржај регистра L1 мањи од садржаја регистра R[3], садржај регистра L1

остаје непромењен, док се у супротном случају садржај регистра R[3] као мањи уписује

у регистар L1. У регистру L1 је на крају најмањи садржај од садржаја у регистрима

R[0], R[1], R[2] и R[3].

K0

BR<=0

K1

MIN41

0

L1<=R[BR]

K2

BR<=BR+1

K3

K4

A<=L1

K5

BR01

0

K6

C<=Cn, L1R[BR]

K7

L1<=R[BR]

K8

C0

1

K0

clBR

K1

MIN41

0

ldL1, RD

K2

incBR

K3

K4

ldA, S1

K5

BR01

0

K6

ldC, S0, S

1, RD

K7

ldL1, RD

K8

C0

1

Слика 7.б Дијаграм тока микрооперација и управљачких сигнала

Током израчунавања овог израза постоји потреба да се садржаји регистара R[0], R[1],

R[2] и R[3] редом преко својих бафера са три стања пуштају на линије магистрале M.

Регистар R[0] се пушта на линије магистрале M да би се преко њих уписао у регистар

L1. Регистри R[1], R[2] и R[3] се пуштају на линије магистрале M да би се преко њих

доводили на улаз B јединице ALU. С обзиром да је на улазу А јединице ALU све време

присутан садржај регистра L1, довођењем садржаја регистара R[1], R[2] и R[3] на улаз

B јединице ALU и реализацијом одузимања садржаја са улаза B од садржаја са улаза А,

на основу резултата одузимања се утврђује да ли је садржај регистра L1 мањи од

садржаја регистра R[1], R[2] или R[3].

Усвојено је решење да се на линије магистрале M прво посебно пусти садржај

регистра R[0], а да се после пуштање садржаја регистара R[1], R[2] и R[3] реализује у

петљи кроз коју се пролази три пута. Прво се вредношћу 1 сигнала rdR[0] пушта

регистар R[0], а после у првом проласку кроз петљу се вредношћу 1 сигнала rdR[1]

пушта R[1] и тако редом до трећег проласка у коме се вредношћу 1 сигнала rdR[3]

пушта регистар R[3]. Генерисање вредности 1 сигнала rdR[0], rdR[1], rdR[2] и rdR[3] се

реализује помоћу декодера DC на основу садржаја инкрементирајућег бројача BR по

модулу четири онда када сигнал RD има вредност 1. У регистар BR се на почетку

упише вредност нула, па када сигнал RD има вредност 1 и сигнал rdR[0] има вредност

Page 47: Zbirka - Projektovanje Upravljacke

45

1. Садржај регистра BR се на почетку првог проласка кроз петљу инкрементира, па када

при првом проласку кроз петљу сигнал RD има вредност 1 и сигнал rdR[1] има

вредност 1. На сличана начин се формирају и вредности 1 сигнала rdR[2] и rdR[3] при

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

Садржај бројача BR се користи и за формирање сигнала логичког услова BR0 који

вредностима 0 и 1 одређује да треба остати у петљи или изаћи из петље, респективно.

При сваком уласку у петљу садржај бројача BR се инкрементира и проверава да ли је

садржај регистра BR инкрементирањем са вредности 3 дошао на вредност 0.

Поређење садржаја регистара R[0], R[1], R[2] и R[3] се врши на следећи начин. У

регистар L1 се упише садржај регистра R[0]. Од садржаја регистра L1 одузме се

садржај регистра R[1]. Резултат одузимања се не уписује у регистар A, већ се само

сигнал позајмице Cn из ALU јединице уписује у једноразредни регистар C. Сигнал C

има вредност 1 уколико је садржај регистра L1 мањи је од садржаја регистра R1, па тада

садржај регистра L1 остаје непромењен. Сигнал C има вредност 0 уколико је садржај

регистра L1 већи од садржаја регистра R[1], па се тада у регистар L1 уписује садржај

регистра R[1]. Ово се понавља још два пута са регистрима R[2] и R[3]. Када садржај

регистра BR инкрементирањем дође са вредности 3 на вредност 0, упоређивање

садржаји регистара R[0], R[1], R[2] и R[3] је завршено и у регистру L1 се налази

минимална вредност садржаја регистара R[0], R[1], R[2] и R[3]. Садржај регистра L1 се

на крају уписује у регистар A као резултат извршења дате наредбе.

У кораку K0 се проверава вредност сигнала MIN4 и у зависности од тога да ли сигнал

MIN4 има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта прелази на корак

K1.

У кораку K1 се вредношћу 1 сигнала clBR на сигнал такта уписује нула у регистар

BR. На исти сигнал такта се прелази на корак K2.

У кораку K2 се вредношћу 1 сигнала RD формира вредност 1 сигнал rdR[BR] којом

се садржај регистра R[BR] пропушта на линије магистрале M и преко њих води на улаз

регистра L1 у који се вредношћу 1 сигнала ldL1 на сигнал такта уписује у регистар L1.

На исти сигнал такта се прелази на корак K3.

У кораку K3 се вредношћу 1 сигнала incBR на сигнал такта садржај регистар BR

инкрементира. На исти сигнал такта се прелази на корак K4.

У кораку K4 се проверава вредност сигнала BR0 и у зависности од тога да ли сигнал

BR0 има вредност 0 или 1 на сигнал такта прелази или на корак K6 или на корак K5.

У кораку K5 се вредношћу 1 сигнала S1 на излаз јединице ALU пропушта садржај

регистра L1, који се вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. На

исти сигнал такта се прелази на корак K0.

У кораку K6 се вредношћу 1 сигнала RD формира вредност 1 сигнала rdR[BR], којим

се садржај регистра R[BR] преко бафера са три стања пропушта на линије магистрале

M и преко њих води на улаз B јединице ALU, док је на улазу A јединице ALU све време

присутан садржај регистра L1, вредношћу 1 сигнала S0 и S1 се на излазу јединице ALU

формира разлика садржаја регистара L1 и R[BR] са којом се ништа не ради и на излазу

Cn јединице ALU формира сигнал позајмице који се вредношћу 1 сигнала ldC на сигнал

такта уписује у једноразредни регистар C. На исти сигнал такта прелази се на корак K7.

У кораку K7 се проверава вредност сигнала C и у зависности од тога да ли сигнал C

има вредност 1 или 0 на сигнал такта се прелази или на корак K3 или на корак K8.

У кораку K8 се вредношћу 1 сигнала RD формира вредност 1 сигнала rdR[BR] којом

се садржај регистра R[BR] преко бафера са три стања пропушта на линија магистрале

M и са њих води на улаз регистра L1 у који се вредношћу 1 сигнала ldL1 на сигнал

такта и уписује у регистар L1. На исти сигнал такта се прелази на корак K0.

Page 48: Zbirka - Projektovanje Upravljacke

46

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 7.в.

CLKCLK

D QK

0

Q

MIN4

CLK

Sd

CLK

CLKCLK

D QK

3

QRd

CLK

D QK

4

QRd

CLK CLK

BR0

CLK

D QK

1

QRd

CLK

D QK

2

QRd

CLK

D QK

5

QRd

CLK

CLKCLK

D QK

6

QRd

CLK

D QK

7

QRd

CLK

D QK

8

QRd

C

CLK CLK

CLK

Слика 7.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clBR = K1

S0 = K6

S1 = K5 + K6

ldL1 = K2 + K8

ldC = K6

ldA = K5

RD = K2 + K6 + K8

incBR = K3

у којима K0, K1, K2, ..., K8 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 7.б). Сви остали

управљачки сигнали су 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 7.д) и дата на слици

7.г.

Page 49: Zbirka - Projektovanje Upravljacke

47

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K0 (0000) /

K0 (0000) 4MIN 0 b 0 b 0 b 0 b

K1 (0001) MIN4 0 b 0 b 0 b 1 b

K1 (0001) clBR K2 (0011) 1 0 b 0 b 1 b b 0

K2 (0011) ldL1, RD K3 (0010) 1 0 b 0 b b 0 b 1

K3 (0010) incBR K4 (0110) 1 0 b 1 b b 0 0 b

K4 (0110) / K6 (0101) 0BR 0 b b 0 b 1 1 b

K5 (0111) BR0 0 b b 0 b 0 1 b

K5 (0111) ldA, S1 K0 (0000) 1 0 b b 1 b 1 b 1

K6 (0101) ldC, S0, S1, RD K7 (0100) 1 0 b b 0 0 b b 1

K7 (0100) / K3 (0010) C 0 b b 1 1 b 0 b

K8 (1100) C 1 b b 0 0 b 0 b

K8 (1100) ldL1, RD K3 (0010) 1 b 1 b 1 1 b 0 b

Слика 7.г.Таблица стања, прелаза/излаза и побудa флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=0000, K1=0001, K2=0011, K3=0010, K4=0110, K5=0111, K6=0101, K7=0100,

K8=1100,

а за реализацију стања секвенцијалне прекидачке мреже користе се флип-флопови Q1,

Q2, Q3 и Q4 типа JK.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clBR = K1

S0 = K6

S1 = K5 + K6

ldL1 = K2 + K8

ldC = K6

ldA = K5

RD = K2 + K6 + K8

incBR = K3

у којима K0, K1, K2, ..., K8 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже. Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флоповa Q1, Q2, Q3 и Q4 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K7∙ C

K1 = K8

J2 = K3

K2 = K5 + K7∙C+ K8

J3 = K1 + K7∙C+ K8

Page 50: Zbirka - Projektovanje Upravljacke

48

K3 = K4∙ 0BR + K5

J4 = K0∙MIN4 + K4

K4 = K2 + K5 + K6

С обзиром на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q ∙ 4Q

K1= 1Q ∙ 2Q ∙ 3Q ∙Q4

K2= 1Q ∙ 2Q ∙ Q3∙Q4

K3= 1Q ∙ 2Q ∙Q3∙ 4Q

K4= 1Q ∙Q2∙Q3∙ 4Q

K5= 1Q ∙Q2∙Q3∙Q4

K6= 1Q ∙Q2∙ 3Q ∙Q4

K7= 1Q ∙Q2∙ 3Q ∙ 4Q

K8= Q1∙Q2∙ 3Q ∙ 4Q

Дискусија 1:

Могуће је извршити оптимизацију добијених дијаграма токова ако се у кораку K7 за

вредност C = 0 прелази на корак K2, а не на корак K8. Оптимизовани дијаграм тока

микрооперација и управљачких сигнала и одговарајућа структурна шема управљачке

јединице су дати на сликама 7.д и 7.ђ.

K0

BR<=0

K1

MIN41

0

L1<=R[BR]

K2

BR<=BR+1

K3

K4

A<=L1

K5

BR01

0

K6

C<=Cn, L1R[BR]

K7

C0

1

K0

clBR

K1

MIN41

0

ldL1, RD

K2

incBR

K3

K4

ldA, S1

K5

BR01

0

K6

ldC, S0, S

1, RD

K7

C0

1

Слика 7.д Дијаграм тока микрооперација и управљачких сигнала

Page 51: Zbirka - Projektovanje Upravljacke

49

CLKCLK

D QK

0

Q

MIN4

CLK

Sd

CLK

CLK

D QK

1

QRd

CLK

CLKCLK

D QK

6

QRd

CLK

D QK

7

QRd

C

CLK

CLKCLK

D QK

3

QRd

CLK

D QK

4

QRd

CLK CLK

BR0

CLK

D QK

2

QRd

CLK

D QK

5

QRd

CLK

Слика 7.ђ Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clBR = K1

S0 = K6

S1 = K5 + K6

ldL1 = K2

ldC = K6

ldA = K5

RD = K2 + K6

incBR = K3

у којима K0, K1, K2, ..., K7 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 7.б). Сви остали

управљачки сигнали су 0.

Page 52: Zbirka - Projektovanje Upravljacke

50

1.8 МАКСИМУМ ВЕЛИЧИНА БЕЗ ЗНАКА - MAX4

На слици 8.a је приказана структурна шема дела операционе јединице процесора. У

регистрима R[0], R[1], R[2] и R[3] дужине n разреда се налазе бинарне вредности које

треба интерпретирати као целобројне величине без знака. Микрооперације које се

реализују у јединици ALU су дате у табели 8.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе MAX4 која израчунава

MAX(R[0], R[1], R[2], R[3])

максимум садржаја у регистрима R[0], R[1], R[2] и R[3], а резултат смешта у регистар

A. Фаза извршавања наредбе започиње уколико је MAX4 има вредност 1. Садржаји

регистара R[0], R[1], R[2] и R[3] морају да остане неизмењени.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

nn

R[1]CLK

n

CLKR[0]CLK

n

CLK

rdR[1]

n

LD LD

n

rdR[0]

n

n

R[3]CLK

n

CLKR[2]CLK

n

CLK

rdR[3]

n

LD LD

n

rdR[2]

n

n

2 2BR0

BRLD

INC incBR

ldBR

2

CLKCLK

CLclBR

3

2

2 1 0

DC E RD

n

n

L1CLKCLKLD

CL

ldL1

clL1

ALU

S0

S1

S0

S1

C0 C

0

A

n n

B

Cn

Cn

n

n

F

n

CCLKCLK LD ldC

C n n nrdA

ACLKCLK

n

LD ldA

CL clA

M

rdR[0]rdR[1]rdR[2]rdR[3]

ldR[0] ldR[1] ldR[2] ldR[3]

Слика 8.a Структурна шема операционе јединице

S0 S1 F0 0 0 A

0 1 AC0

1 0 A+C0

1 1 AB

Табела 8 Микрооперације у јединици ALU

Решење: a) Дијаграм тока микрооперација и управљачких сигнала дати су на слици 8.б.

Израчунавање израза се реализује тако што се прво садржај регистра R[0] упише у

регистар L1. Затим се садржај регистра L1 пореди са садржајем регистра R[1]. Уколико

је садржај регистра L1 већи од садржаја регистра R[1], садржај регистра L1 остаје

непромењен, док се у супротном случају садржај регистра R[1] као већи уписује у

регистар L1. Потом се садржај регистра L1 пореди са садржајем регистра R[2]. Уколико

Page 53: Zbirka - Projektovanje Upravljacke

51

је садржај регистра L1 већи од садржаја регистра R[2], садржај регистра L1 остаје

непромењен, док се у супротном случају садржај регистра R[2] као већи уписује у

регистар L1. На крају се садржај регистра L1 пореди са садржајем регистра R[3].

Уколико је садржај регистра L1 већи од садржаја регистра R[3], садржај регистра L1

остаје непромењен, док се у супротном случају садржај регистра R[3] као већи уписује

у регистар L1. У регистру L1 је на крају највећи садржај од садржаја у регистрима R[0],

R[1], R[2] и R[3].

Извршавање операције MAX4 се реализује на сличан начин као и извршавање

операције MIN4. Разлика је у кораку К0 у коме се проверава вредност сигнала MAX4

уместо сигнала MIN4. Разлика је и у кораку К7 у коме се за операцију MAX4 у

зависности од тога да ли сигнал C има вредност 0 или 1 прелази или на корак К3 или на

корак К8, док је у случају операције MIN4 било обрнуто, што је последица тога да се у

операцији MAX4 тражи максимум а у операцији MIN4 минимум.

K0

BR<=0

K1

MAX41

0

L1<=R[BR]

K2

BR<=BR+1

K3

K4

A<=L1

K5

BR01

0

K6

C<=Cn, L1R[BR]

K7

L1<=R[BR]

K8

C1

0

K0

clBR

K1

MAX41

0

ldL1, RD

K2

incBR

K3

K4

ldA, S1

K5

BR01

0

K6

ldC, S0, S

1, RD

K7

ldL1, RD

K8

C1

0

Слика 8.б Дијаграм тока микрооперација и управљачких сигнала

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 8.в

Page 54: Zbirka - Projektovanje Upravljacke

52

CLKCLK

D QK

0

Q

MAX4

CLK

Sd

CLK

CLKCLK

D QK

3

QRd

CLK

D QK

4

QRd

CLK CLK

BR0

CLK

D QK

1

QRd

CLK

D QK

2

QRd

CLK

D QK

5

QRd

CLK

CLKCLK

D QK

6

QRd

CLK

D QK

7

QRd

CLK

D QK

8

QRd

C

CLK CLK

CLK

Слика 8.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clBR = K1

S0 = K6

S1 = K5 + K6

ldL1 = K2 + K8

ldC = K6

ldA = K5

RD = K2 + K6 + K8

incBR = K3

у којима K0, K1, K2, ..., K8 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 8.б). Сви остали

управљачки сигнали су 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 8.б) и дата на слици

8.г.

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K0 (0000) /

K0 (0000) 4MAX 0 b 0 b 0 b 0 b

K1 (0001) MAX4 0 b 0 b 0 b 1 b

K1 (0001) clBR K2 (0011) 1 0 b 0 b 1 b b 0

K2 (0011) ldL1, RD K3 (0010) 1 0 b 0 b b 0 b 1

K3 (0010) incBR K4 (0110) 1 0 b 1 b b 0 0 b

K4 (0110) / K6 (0101) 0BR 0 b b 0 b 1 1 b

K5 (0111) BR0 0 b b 0 b 0 1 b

K5 (0111) ldA, S1 K0 (0000) 1 0 b b 1 b 1 b 1

K6 (0101) ldC, S1, S0, RD K7 (0100) 1 0 b b 0 0 b b 1

K7 (0100) / K3 (0010) C 0 b b 1 1 b 0 b

K8 (1100) C 1 b b 0 0 b 0 b

Page 55: Zbirka - Projektovanje Upravljacke

53

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K8 (1100) ldL1, RD K3 (0010) 1 b 1 b 1 1 b 0 b

Слика 8.г.Таблица стања, прелаза/излаза и побудa флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=0000, K1=0001, K2=0011, K3=0010, K4=0110, K5=0111, K6=0101, K7=0100,

K8=1100,

а за реализацију стања секвенцијалне прекидачке мреже користе се флип-флопови Q1,

Q2, Q3 и Q4 типа JK.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clBR = K1

S0 = K6

S1 = K5 + K6

ldL1 = K2 + K8

ldC = K6

ldA = K5

RD = K2 + K6 + K8

incBR = K3

у којима K0, K1, K2, ..., K8 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже. Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флоповa Q1, Q2, Q3 и Q4 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K7∙C

K1 = K8

J2 = K3

K2 = K5 + K7∙C + K8

J3 = K1 + K7∙C + K8

K3 = K4∙ 0BR + K5

J4 = K0∙MAX4 + K4

K4 = K2 + K5 + K6

С обзиром на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q ∙ 4Q

K1= 1Q ∙ 2Q ∙ 3Q ∙Q4

K2= 1Q ∙ 2Q ∙ Q3∙Q4

K3= 1Q ∙ 2Q ∙Q3∙ 4Q

K4= 1Q ∙Q2∙Q3∙ 4Q

K5= 1Q ∙Q2∙Q3∙Q4

K6= 1Q ∙Q2∙ 3Q ∙Q4

K7= 1Q ∙Q2∙ 3Q ∙ 4Q

K8= Q1∙Q2∙ 3Q ∙ 4Q

Page 56: Zbirka - Projektovanje Upravljacke

54

1.9 МИНИМУМ АПСОЛУТНИХ ВРЕДНОСТИ - MIN2

На слици 9.a је приказана структурна шема дела операционе јединице процесора. У

регистрима R1 и R2 дужине n разреда налазе се бинарне вредности које треба

интерпретирати као целобројне величине са знаком. Микрооперације које се реализују у

јединици ALU су дате у табели 9.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе MIN2 која израчунава

MIN(|R1|, |R2|)

минимум апсолутних вредности садржаја регистара R1 и R2, а резултат смешта у

регистар S. Фаза извршавања наредбе започиње уколико сигнал MIN2 има вредност 1.

Садржаји регистара R1 и R2 мора да остану неизмењени.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

LD ldS

n

SCLK

n

CLKR2CLK

n

CLKR1CLK

n

CLK

M

n

rdS

n

LD ldR1 LD ldR2

n n

rdR1

n

nn

n

ALU

S0

S1

S0

S1

C0 C

0

A

n n

B

Cn

Cn

n

n

L2CLKCLKLD

CL

ldL2

clL2

n

n

F

An-1

CCLKCLK LD ldC

C

ALD ldA

CL clACLKCLK

nn n

rdA

rdR2

Слика 9.a Структурна шема операционе јединице

S0 S1 F0 0 0 AB

0 1 A

1 0

1 1 AC0

Табела 9 Микрооперације у јединици ALU

Решење: a) Дијаграми тока микрооперација и управљачких сигнала дати су на слици 9.б.

Израчунавање минимума апсолутних вредности садржаја регистара R1 и R2 и

уписивање у регистар S се реализује тако што се најпре у регистар S упише апсолутна

вредност садржаја регистра R1, а у регистар L2 апсолутна вредност садржаја регистра

R2. Садржаји регистара S и L2 се пореде. Уколико је садржај регистра S мањи од

садржаја регистра L2, у регистру S се већ налази апсолутна вредност садржаја

Page 57: Zbirka - Projektovanje Upravljacke

55

регистара R1 и ништа не треба радити. Уколико је садржај регистра L2 мањи од

садржаја регистра S, садржај регистра L2 у коме се налази апсолутна вредност садржаја

регистра R2 се уписује у регистар S.

K0

K1

MIN21

0

L2<=R1, S<=R1, A<=R1

K2

K3

A<=L2

An1

1

0

K4

S<=A

K5

L2<=R2, A<=R2

K6

An-1

0

K7

A<=L2

1

K10

K11

S<=A

C0

1

K8

L2<=A

K9

C<=Cn, SL2

K0

K1

MIN21

0

ldL2, ldS, ldA, S0, S

1, rdR1

K2

K3

ldA, S0

An1

1

0

K4

ldS, rdA

K5

ldL2, ldA, S0, S

1, rdR2

K6

An-1

0

K7

ldA, S0

1

K10

K11

ldS, rdA

C0

1

K8

ldL2, rdA

K9

ldC, S1, rdS

Слика 9.б Дијаграм тока микрооперација и управљачких сигнала

Формирање апсолутних вредности садржаја регистара R1 и R2 се реализује на

следећи начин. Уколико је садржај регистра R1 позитивна величина, што је одређено

вредношћу 0 најстаријег разреда регистра R1, тада садржај регистра R1 представља

|R1|. Уколико је садржај регистра R1 негативна величина, што је одређено вредношћу 1

најстаријег разреда регистра R1, тада негативна вредност садржај регистра R1, која се

добија као - R1, представља |R1|. На исти начин се на основу садржаја регистра R2

формира и |R2|.

Најстарији разреди регистара R1 и R2 нису доступни, већ је доступан само

најстарији разред An-1 регистра A. Због тога се мора садржај регистра R1 пребацити у

регистар A и на основу тога да ли је у разреду An-1 вредност 0 или 1 утврдити да ли је

садржај регистра R1 позитивна или негативна величина, респективно. Уколико је у

разреду An-1 вредност 0, садржај регистра R1 је позитивна величина, па треба садржај

регистра R1 уписати у регистар S. Уколико је у разреду An-1 вредност 1, садржај

регистра R1 је негативна величина, па треба формирати -R1 и уписати у регистар S.

Формирање вредности -R1 је могуће једино коришћењем јединице ALU. Потребно је

најпре R1 пребацити у L2. Вредностима 1 и 0 сигнала S0 и S1, респективно, на излазима

Page 58: Zbirka - Projektovanje Upravljacke

56

јединице ALU се добија негативна вредност садржаја регистра L2 са улаза B јединице

ALU, која се најпре уписује у регистар А, а затим из регистра А пребацује у регистар S.

На сличан начин се формира и |R2| и уписује у регистар L2. Најпре се ради провере

знака садржај регистра R2 пребацује у регистар A. Поред тога садржај регистра R2 се

пребацује и у регистар L2. Уколико се ради о позитивној величини, садржај регистра R2

се већ налази у регистру L2. Уколико се ради о негативној величини, вредностима 1 и 0

сигнала S0 и S1, респективно, на излазима јединице ALU се добија негативна вредност

садржаја регистра L2 са улаза B јединице ALU, која се најпре уписује у регистар А, а

затим из регистра А пребацује у регистар L2. Треба уочити да у регистру А остаје

апсолутна вредност садржаја регистра R2.

Од садржаја регистра S у коме се налази апсолутна вредност садржаја регистра R1

одузима се садржај регистра L2 у коме се налази апсолутна вредност садржаја регистра

R2. Резултат одузимања се не уписује у регистар A, па у њему остаје претходно

формирана апсолутна вредност садржаја регистра R2, већ се само позајмица Cn из

јединице ALU уписује у једноразредни регистар C. Ако сигнал C има вредност 1, значи

да је вредност садржаја регистра S мања од вредности садржаја регистра L2 и да се у

регистру S већ налази апсолутна вредност садржаја регистра R1 као резултат извршења

тражене наредбе. Међутим, ако сигнал C има вредност 0, значи да је вредност садржаја

регистра S већа од вредности садржаја регистра L2, па се у регистар S уписује садржај

регистра A, у коме се налази апсолутна вредност садржаја регистара R2, као резултат

извршења тражене наредбе.

У кораку K0 се проверава вредност сигнала MIN2 и у зависности од тога да ли сигнал

MIN2 има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта прелази на корак

K1.

У кораку K1 се вредношћу 1 сигнала rdR1 садржај регистра R1 преко бафера са три

стања пушта на линије магистрале M и по њима води на улазе регистара L2 и S и улаз A

јединице ALU, вредностима 1 сигнала S0 и S1 се на излаз јединице ALU пропушта

садржај регистра R1 са улаза A јединице ALU, вредношћу 1 сигнала ldA на сигнал такта

се садржај регистра R1 са излаза јединице ALU уписује у регистар A и вредностима 1

сигнала ldL2 и ldS на сигнал такта се садржај регистра R1 са линија магистрале M

уписује у регистре L2 и S. На исти сигнал такта се прелази на корак K2.

У кораку K2 се проверава вредност сигнала An-1 и у зависности од тога да ли сигнал

An-1 има вредност 0 или 1 на сигнал такта се прелази или на корак K5 или на корак K3.

У кораку K3 се вредношћу 1 сигнала S0 на излаз јединице ALU пропушта вредност

супротног знака од вредности садржаја регистра L2 са улаза B јединице ALU, која се

вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. На исти сигнал такта се

прелази на корак K4.

У кораку K4 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра S и вредношћу 1 сигнала ldS на сигнал такта уписује у регистар S. На исти

сигнал такта се прелази на корак K5.

У кораку K5 се вредношћу 1 сигнала rdR2 садржај регистра R2 преко бафера са три

стања пушта на линије магистрале M и по њима води на улаз регистра L2 и на улаз A

јединице ALU, вредностима 1 сигнала S0 и S1 се на излаз јединице ALU пропушта

садржај регистра R2 са улаза A јединице ALU, вредношћу 1 сигнала ldA на сигнал такта

се садржај регистра R2 са излаза јединице ALU уписује у регистар A и вредношћу 1

сигнала ldL2 на сигнал такта се садржај регистра R2 са линија магистрале M уписује у

регистар L2. На исти сигнал такта се прелази на корак K6.

У кораку K6 се проверава вредност сигнала An-1 и у зависности од тога да ли сигнал

An-1 има вредност 0 или 1 на сигнал такта прелази или на корак K9 или на корак K7.

Page 59: Zbirka - Projektovanje Upravljacke

57

У кораку K7 се вредношћу 1 сигнала S0 на излаз јединице ALU пропушта вредност

супротног знака од вредности садржаја регистра L2 са улаза B јединице ALU, која се

вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. На исти сигнал такта се

прелази на корак K8.

У кораку K8 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра L2 и вредношћу 1 сигнала ldL2 на сигнал такта уписује у регистар L2. На исти

сигнал такта се прелази на корак K9.

У кораку K9 се вредношћу 1 сигнала rdS садржај регистра S пропушта преко бафера

са три стања на линије магистрале M и преко њих води на улаз A јединице ALU, на

улазу B јединице ALU све време је присутан садржај регистра L2, вредношћу 1 сигнала

S1 се на излаз јединице ALU пропушта разлика садржаја регистара S и L2 са којом се

ништа не ради и на излаз Cn пропушта позајмица, која се вредношћу 1 сигнала ldC на

сигнал такта уписује у једноразредни регистар C. На исти сигнал такта прелази се на

корак K10.

У кораку K10 се проверава вредност сигнала C и у зависности од тога да ли сигнал C

има вредност 0 или 1 на сигнал такта се прелази или на корак K11 или на корак K0.

У кораку K11 се вредношћу 1 сигнала rdA садржај регистра A пропушта на линије

магистрале M и преко њих води, између осталог, на улаз регистра S и вредношћу 1

сигнала ldS на сигнал такта уписује у регистар S. На исти сигнал такта се прелази на

корак K0.

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 9.в.

CLKCLK

D QK

0

Q

MIN2

CLK CLK

D Q

QRd

Sd

K1

CLKCLK CLK

D QK

4

QRd

CLK

D QK

2

QRd

CLK

D QK

3

QRd

An1

CLK CLK CLK

D QK

5

QRd

CLK

D QK

8

QRd

CLK CLK

D QK

9

QRd

CLK

D QK

6

QRd

CLK

D QK

7

QRd

An1

CLK CLK

D QK

10

QRd

CLK

D QK

11

QRd

C

CLKCLK CLK CLK

Слика 9.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

S0 = K1 + K3 + K5 + K7

S1 = K1 + K5 + K9

ldL2 = K1 + K5 + K8

ldS = K1 + K4 + K11

ldA = K1 +K3 + K5 + K7

ldC = K9

rdR1 = K1

rdR2 = K5

rdA = K4 + K8 + K11

rdS = K9

Page 60: Zbirka - Projektovanje Upravljacke

58

у којима K0, K1, K2, ..., K11 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 9.б). Сви остали

управљачки сигнали су 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 9.б) и дата на слици

9.г.

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K0 (0000) / K0 (0000) 2MIN 0 b 0 b 0 b 0 b

K1 (0001) MIN2 0 b 0 b 0 b 1 b

K1 (0001) ldL2, ldS, ldA, S0, S1, ldR1 K2 (0011) 1 0 b 0 b 1 b b 0

K2 (0011) /

K5 (0111) 1nА 0 b 1 b b 0 b 0

K3 (0010) An-1 0 b 0 b b 0 b 1

K3 (0010) ldA, S0 K4 (0110) 1 0 b 1 b b 0 0 b

K4 (0110) ldS, rdA K5 (0111) 1 0 b b 0 b 0 1 b

K5 (0111) ldL2, ldA, S0, S1, rdR2 K6 (0101) 1 0 b b 0 b 1 b 0

K6 (0101) / K9 (1101)

1nА 1 b b 0 0 b b 0

K7 (0100) An-1 0 b b 0 0 b b 1

K7 (0100) ldA, S0 K8 (1100) 1 1 b b 0 0 b 0 b

K8 (1100) ldL2, rdA K9 (1101) 1 b 0 b 0 0 b 1 b

K9 (1101) ldC, S1, rdS K10 (1111) 1 b 0 b 0 1 b b 0

K10 (1111) / K0 (0000) C b 1 b 1 b 1 b 1

K11 (1110) C b 0 b 0 b 0 b 1

K11 (1110) ldS, rdA K0 (0000) 1 b 1 b 1 b 1 0 b

Слика 9.г.Таблица стања, прелаза/излаза и побудa флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=0000, K1=0001, K2=0011, K3=0010, K4=0110, K5=0111, K6=0101, K7=0100,

K8=1100, K9=1101, K10=1111, K11=1110,

а за реализацију стања секвенцијалне прекидачке мреже користе се флип-флопови Q1,

Q2, Q3 и Q4 типа JK.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

S0 = K1 + K3 + K5 + K7

S1 = K1 + K5 + K9

ldL2 = K1 + K5 + K8

ldS = K1 + K4 + K11

ldA = K1 + K3 + K5 + K7

ldC = K9

rdR1 = K1

rdR2 = K5

rdA = K4 + K8 + K11

rdS = K9

Page 61: Zbirka - Projektovanje Upravljacke

59

у којима K0, K1, K2, ..., K11 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже. Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флоповa Q1, Q2, Q3 и Q4 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K6∙ 1nA + K7

K1 = K10∙C+ K11

J2 = K2∙ 1nA + K3

K2 = K10∙C+ K11

J3 = K1 + K9

K3 = K5 + K10∙C + K11

J4 = K0∙MIN2 + K4 + K8

K4 = K2∙An-1 + K6∙An-1 + K10

С обзиром на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q ∙ 4Q

K1= 1Q ∙ 2Q ∙ 3Q ∙Q4

K2= 1Q ∙ 2Q ∙ Q3∙Q4

K3= 1Q ∙ 2Q ∙Q3∙ 4Q

K4= 1Q ∙Q2∙Q3∙ 4Q

K5= 1Q ∙Q2∙Q3∙Q4

K6= 1Q ∙Q2∙ 3Q ∙Q4

K7= 1Q ∙Q2∙ 3Q ∙ 4Q

K8= Q1∙Q2∙ 3Q ∙ 4Q

K9= Q1∙Q2∙ 3Q ∙Q4

K10= Q1∙Q2∙Q3∙Q4

K11= Q1∙Q2∙ 3Q ∙ 4Q

Page 62: Zbirka - Projektovanje Upravljacke

60

1.10 МАКСИМУМ АПСОЛУТНИХ ВРЕДНОСТИ - MAX2

На слици 10.a је приказана структурна шема дела операционе јединице процесора. У

регистрима R1 и R2 дужине n разреда налазе се бинарне вредности које треба

интерпретирати као целобројне величине са знаком. Микрооперације које се реализују у

јединици ALU су дате у табели 10.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе MAX2 која израчунава

MAX(|R1|, |R2|)

максимум апсолутних вредности садржаја регистара R1 и R2, а резултат смешта у

регистар S. Фаза извршавања наредбе започиње уколико сигнал MAX2 има вредност 1.

Садржаји регистара R1 и R2 морају да остану неизмењени.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

LD ldS

n

SCLK

n

CLKR2CLK

n

CLKR1CLK

n

CLK

rdR2

n

rdS

n

LD ldR1 LD ldR2

n n

rdR1

n

nn

n

ALU

S0

S1

S0

S1

C0 C

0

A

n n

B

Cn

Cn

n

n

L2CLKCLKLD

CL

ldL2

clL2

n

n

F

An-1

CCLKCLK LD ldC

C

ALD ldA

CL clACLKCLK

nn n

rdA

M

Слика 10.a Структурна шема операционе јединице

S0 S1 F0 0 0 AB

0 1 A

1 0

1 1 AC0

Табела 10 Микрооперације у јединици ALU

Решење: a) Дијаграм тока микрооперација и управљачких сигнала дати су на слици 10.б.

Извршавање операције MAX2 се реализује на сличан начин као и извршавање

операције MIN2. Разлика је у кораку К0 у коме се проверава вредност сигнала MAX2

уместо сигнала MIN2. Разлика је и у кораку К10 у коме се за операцију MAX2 у

зависности од тога да ли сигнал C има вредност 0 или 1 прелази или на корак К0 или на

корак К11, док је у случају операције MIN2 било обрнуто, што је последица тога да се у

операцији MAX2 тражи максимум а у операцији MIN2 минимум.

Page 63: Zbirka - Projektovanje Upravljacke

61

K0

K1

MAX21

0

L2<=R1, S<=R1, A<=R1

K2

K3

A<=L2

An1

1

0

K4

S<=A

K5

L2<=R2, A<=R2

K6

An-1

0

K7

A<=L2

1

K10

K11

S<=A

C1

0

K8

L2<=A

K9

C<=C8, SL2

K0

K1

MAX21

0

ldL2, ldS, ldA, S0, S

1, rdR1

K2

K3

ldA, S0

An1

1

0

K4

ldS, rdA

K5

ldL2, ldA, S0, S

1, rdR2

K6

An-1

0

K7

ldA, S0

1

K10

K11

ldS, rdA

C1

0

K8

ldL2, rdA

K9

ldC, S1, rdS

Слика 10.б Дијаграм тока микрооперација и управљачких сигнала

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 10.в.

CLKCLK

D QK

0

Q

MAX2

CLK CLK

D Q

QRd

Sd

K1

CLKCLK CLK

D QK

4

QRd

CLK

D QK

2

QRd

CLK

D QK

3

QRd

An1

CLK CLK CLK

D QK

5

QRd

CLK

D QK

8

QRd

CLK CLK

D QK

9

QRd

CLK

D QK

6

QRd

CLK

D QK

7

QRd

An1

CLK CLK

D QK

10

QRd

CLK

D QK

11

QRd

C

CLKCLK CLK CLK

Слика 10.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

Page 64: Zbirka - Projektovanje Upravljacke

62

S0 = K1 + K3 + K5 + K7

S1 = K1 + K5 + K9

ldL2 = K1 + K5 + K8

ldS = K1 + K4 + K11

ldA = K1 +K3 + K5 + K7

ldC = K9

rdR1 = K1

rdR2 = K5

rdA = K4 + K8 + K11

rdS = K9

у којима K0, K1, K2, ..., K11 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 10.б). Сви

остали управљачки сигнали су 0.

в) Таблица стања, прелаза/излаза и функција побуде флип-флопова је дата на слици

10.г.

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K0 (0000) / K0 (0000) 2MAX 0 b 0 b 0 b 0 b

K1 (0001) MAX2 0 b 0 b 0 b 1 b

K1 (0001) ldL2, ldS, ldA, S0, S1, ldR1 K2 (0011) 1 0 b 0 b 1 b b 0

K2 (0011) /

K5 (0111) 1nА 0 b 1 b b 0 b 0

K3 (0010) An-1 0 b 0 b b 0 b 1

K3 (0010) ldA, S0 K4 (0110) 1 0 b 1 b b 0 0 b

K4 (0110) ldS, rdA K5 (0111) 1 0 b b 0 b 0 1 b

K5 (0111) ldL2, ldA, S0, S1, rdR2 K6 (0101) 1 0 b b 0 b 1 b 0

K6 (0101) / K9 (1101)

1nА 1 b b 0 0 b b 0

K7 (0100) An-1 0 b b 0 0 b b 1

K7 (0100) ldA, S0 K8 (1100) 1 1 b b 0 0 b 0 b

K8 (1100) ldL2, rdA K9 (1101) 1 b 0 b 0 0 b 1 b

K9 (1101) ldC, S1, rdS K10 (1111) 1 b 0 b 0 1 b b 0

K10 (1111) / K0 (0000) C b 1 b 1 b 1 b 1

K11 (1110) C b 0 b 0 b 0 b 1

K11 (1110) ldS, rdA K0 (0000) 1 b 1 b 1 b 1 0 b

Слика 10.г.Таблица стања, прелаза/излаза и побуда флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=0000, K1=0001, K2=0011, K3=0010, K4=0110, K5=0111, K6=0101, K7=0100,

K8=1100, K9=1101, K10=1111, K11=1110,

а за реализацију стања секвенцијалне прекидачке мреже користе се флип-флопови Q1,

Q2, Q3 и Q4 типа JK.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

S0 = K1 + K3 + K5 + K7

S1 = K1 + K5 + K9

Page 65: Zbirka - Projektovanje Upravljacke

63

ldL2 = K1 + K5 + K8

ldS = K1 + K4 + K11

ldA = K1 +K3 + K5 + K7

ldC = K9

rdR1 = K1

rdR2 = K5

rdA = K4 + K8 + K11

rdS = K9

у којима K0, K1, K2, ..., K11 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже. Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флоповa Q1, Q2, Q3 и Q4 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K6∙ 1nA + K7

K1 = K10∙C + K11

J2 = K2∙ 1nA + K3

K2 = K10∙C + K11

J3 = K1 + K9

K3 = K5 + K10∙C + K11

J4 = K0∙MIN2 + K4 + K8

K4 = K2∙An-1 + K6∙An-1 + K10

С обзиром на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q ∙ 4Q

K1= 1Q ∙ 2Q ∙ 3Q ∙Q4

K2= 1Q ∙ 2Q ∙ Q3∙Q4

K3= 1Q ∙ 2Q ∙Q3∙ 4Q

K4= 1Q ∙Q2∙Q3∙ 4Q

K5= 1Q ∙Q2∙Q3∙Q4

K6= 1Q ∙Q2∙ 3Q ∙Q4

K7= 1Q ∙Q2∙ 3Q ∙ 4Q

K8= Q1∙Q2∙ 3Q ∙ 4Q

K9= Q1∙Q2∙ 3Q ∙Q4

K10= Q1∙Q2∙Q3∙Q4

K11= Q1∙Q2∙ 3Q ∙ 4Q

Page 66: Zbirka - Projektovanje Upravljacke

64

1.11 МАКСИМУМ АПСОЛУТНИХ ВРЕДНОСТИ РАЗЛИКЕ И ЗБИРА

- MAX2DS

На слици 11.a је приказана структурна шема дела операционе јединице процесора. У

регистрима R1 и R2 дужине n разреда налазе се бинарне вредности које треба

интерпретирати као целобројне величине са знаком. Микрооперације које се реализују у

јединици ALU су дате у табели 11.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе MAX2DS која израчунава

MAX(|R1R2|, |R1+R2|)

максимум апсолутних вредности разлике и збира садржаја регистара R1 и R2, а

резултат смешта у регистар S. Фаза извршавања наредбе започиње уколико сигнал

MAX2DS има вредност 1. Садржаји регистара R1 и R2 морају да остану неизмењени.

Претпоставити да се у регистрима R1 и R2 налазе вредности које омогућавају да се

извршавање наредбе реализује коректно и да се добије вредност која може да се смести

у регистар S.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

LD ldS

n

SCLK

n

CLKR2CLK

n

CLKR1CLK

n

CLK

rdR2

n

rdS

n

LD ldR1 LD ldR2

n n

rdR1

n

nn

n

ALU

S0

S1

S0

S1

C0 C

0

A

n n

B

Cn

Cn

n

n

L2CLKCLKLD

CL

ldL2

clL2

n

n

F

M

An-1

CCLKCLK LD ldC

C

ALD ldA

CL clACLKCLK

nn n

rdA

Слика 11.a Структурна шема операционе јединице

S0 S1 F0 0 0 AB

0 1 A

1 0

1 1 AC0

Табела 11 Микрооперације у јединици ALU

Решење: a) Дијаграми тока микрооперација и управљачких сигнала дати су на слици 11.б.

Израчунавање израза се реализује тако што се у регистар S упише апсолутна

вредност разлике садржаја регистара R1 и R2, а у регистар L2 се упише апсолутна

Page 67: Zbirka - Projektovanje Upravljacke

65

вредност збира садржаја регистара R1 и R2. Садржаји регистара S и L2 се пореде.

Уколико је садржај регистра S већи од садржаја регистра L2 ништа се не ради, док у

случају када је садржај регистра L2 већи од садржаја регистра S, садржај регистра L2 се

уписује у регистар S.

K0

MAX2DS0

K4

L2<=A

An1

1

0

K5

A<=L2

K6

S<=A

K7

K1

An-1

0

K10

L2<=A

1

K11

A<=L2

K3

1

L2<=R2

K2

A<=R1L2

K9

L2<=R2

K8

A<=R1+L2

K12

L2<=A

K13

C<=Cn, SL2

K14

K15

S<=A

C1

0

K0

MAX2DS0

K4

ldL2, rdA

An1

1

0

K5

ldA, S0

K6

ldS, rdA

K7

K1

An-1

0

K10

ldL2, rdA

1

K11

ldA, S0

K3

1

ldL2, rdR2

K2

ldA, S1, rdR1

K9

ldL2, rdR2

K8

ldA, rdR1

K12

ldL2, rdA

K13

ldC, S1, rdS

K14

K15

ldS, rdA

C1

0

Слика 11.б Дијаграми тока микрооперација и управљачких сигнала

Упис апсолутне вредности разлике и збира садржаја регистара R1 и R2 у регистре S

и L2 се реализује на следећи начин. У регистар L2 се упише садржај регистра R2. Затим

се од садржаја регистра R1 одузме садржај регистра L2 и резултат упише у регистар A.

Уколико бит највеће тежине садржаја регистра A има вредност 0, разлика је позитиван

број, па се садржај регистра A упише у регистар S. Уколико бит највеће тежине

садржаја регистра A има вредност 1, разлика је негативан број, па треба прво

израчунати негативну вредност садржај регистра A и затим добијену вредност уписати

Page 68: Zbirka - Projektovanje Upravljacke

66

у регистар S. Стога се садржај регистра A прво упише у регистар L2, затим се израчуна

вредност –L2 и упише у регистар A и на крају се садржај регистра A упише у регистар

S. У регистру S се сада налази апсолутна вредност разлике садржаја регистара R1 и R2.

На сличан начин се, уз једину разлику да се уместо разлике садржаја регистара R1 и R2

рачуна њихов збир, израчуна и апсолутна вредност збира садржаја регистра R1 и R2 и

из регистра A упише у регистар L2. При томе у регистру A остаје апсолутна вредност

збира садржаја регистра R1 и R2

Затим се врши упоређивање садржаја регистара S и L2. У том циљу се од садржаја

регистра S одузме садржај регистра L2. Резултат одузимања се не уписује у регистар A

већ у њему остаје апсолутна вредност збира садржаја регистра R1 и R2, а позајмица Cn

из јединице ALU се уписује у регистар C.

У случају када сигнал позајмице C има вредност 0, садржај регистра S је већи од

садржаја регистра L2, па не треба ништа радити јер се у регистру S већ налази

апсолутна вредност разлике као већа вредност. У случају када сигнал позајмице C има

вредност 1, садржај регистра S је мањи од садржаја регистра L2, па би у регистар S

требало као већа вредност да се упише апсолутна вредност збира из регистра L2.

Уписивање апсолутне вредности збира из регистра L2 у регистар S је сложено, па се

уместо тога у регистар S уписује садржај регистра A у коме је остала апсолутна

вредност збира садржаја регистара R1 и R2.

У кораку K0 се проверава вредност сигнала MAX2DS и у зависности од тога да ли

сигнал MAX2DS има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта

прелази на корак K1.

У кораку K1 се вредношћу 1 сигнала rdR2 садржај регистра R2 пропушта преко

бафера са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра L2 и вредношћу 1 сигнала ldL2 на сигнал такта уписује у регистар L2. На исти

сигнал такта се прелази на корак K2.

У кораку K2 се вредношћу 1 сигнала rdR1 садржај регистра R1 пропушта преко

бафера са три стања на линија магистрале M и преко њих води на улаз A јединице ALU,

на улазу B јединице ALU све време је присутан садржај регистра L2, вредношћу 1

сигнала S1 се на излазу јединице ALU формира разлика садржаја регистара R1 и L2,

која се вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. На исти сигнал

такта се прелази на корак K3.

У кораку K3 се проверава вредност сигнала An-1 и у зависности од тога да ли сигнал

An-1 има вредност 0 или 1 на сигнал такта се прелази или на корак K6 или на корак K4.

У кораку K4 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра L2 и вредношћу 1 сигнала ldL2 на сигнал такта уписује у регистар L2. На исти

сигнал такта се прелази на корак K5.

У кораку K5 се вредношћу 1 сигнала S0 на излазу јединице ALU формира вредност

супротног знака од садржаја регистра L2, која се вредношћу 1 сигнала ldA на сигнал

такта уписује у регистар A. На исти сигнал такта се прелази на корак K6.

У кораку K6 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра S и вредношћу 1 сигнала ldS на сигнал такта уписује у регистар S. На исти

сигнал такта се прелази на корак K7.

У кораку K7 се вредношћу 1 сигнала rdR2 садржај регистра R2 пропушта преко

бафера са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра L2 и вредношћу 1 сигнала ldL2 на сигнал такта уписује у регистар L2. На исти

сигнал такта се прелази на корак K8.

Page 69: Zbirka - Projektovanje Upravljacke

67

У кораку K8 се вредношћу 1 сигнала rdR1 садржај регистра R1 пропушта преко

бафера са три стања на линија магистрале M и преко њих води на улаз A јединице ALU,

на улазу B јединице ALU све време је присутан садржај регистра L2, вредностима 0

сигнала S0 и S1 на излазу јединице ALU се формира збир садржаја регистара R1 и L2,

који се вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. На исти сигнал

такта се прелази на корак K9.

У кораку K9 се проверава вредност сигнала An-1 и у зависности од тога да ли сигнал

An-1 има вредност 0 или 1 на сигнал такта прелази или на корак K12 или на корак K10.

У кораку K10 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра L2 и вредношћу сигнала ldL2 на сигнал такта уписује у регистар L2. На исти

сигнал такта се прелази на корак K11.

У кораку K11 вредношћу 1 сигнала S0 на излазу јединице ALU формира вредност

супротног знака од садржаја регистра L2, која се вредношћу 1 сигнала ldA на сигнал

такта уписује у регистар A. На исти сигнал такта се прелази на корак K12.

У кораку K12 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра L2 и вредношћу 1 сигнала ldL2 на сигнал такта уписује у регистар L2. На исти

сигнал такта се прелази на корак K13.

У кораку K13 се вредношћу 1 сигнала rdS садржај регистра S пропушта преко бафера

са три стања на линије магистрале M и преко њих води на улаз A јединице ALU, на

улазу B јединице ALU све време је присутан садржај регистра L2, вредношћу 1 сигнала

S1 се на излазу јединице ALU формира разлика садржаја регистара S и L2 која се никуда

не уписује и сигнал позајмице Cn јединице ALU који се вредношћу 1 сигнала ldC на

сигнал такта уписује у једноразредни регистар C. На исти сигнал такта прелази се на

корак K14. У кораку K14 се проверава вредност сигнала C и у зависности од тога да ли сигнал C

има вредност 0 или 1 на сигнал такта прелази или на корак K0 или на корак K15.

У кораку K15 се вредношћу сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра S и вредношћу 1 сигнала ldS на сигнал такта уписује у регистар S. На исти

сигнал такта се прелази на корак K0.

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 11.в.

Page 70: Zbirka - Projektovanje Upravljacke

68

CLK CLK CLK

D QK

6

QRd

CLK CLK

D QK

5

QRd

CLK

D QK

3

QRd

CLK

D QK

4

QRd

An1

CLK CLKCLK

D Q

QRd

K1

CLK

D Q

QRd

K2

CLK

CLK

D Q

QRd

K7

CLK

D QK

12

QRd

CLK CLK

D QK

11

QRd

CLK

D QK

9

QRd

CLK

D QK

10

QRd

An1

CLK CLKCLK

D Q

QRd

K8

CLK

CLK

D QK

14

QRd

CLK

D QK

15

QRd

C

CLKCLK

D Q

QRd

K13

CLK

CLK CLK

CLK

CLKCLK

D QK

0

Q

MAX2DS

Sd

Слика 11.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

ldA = K2 + K5 + K8 + K11

ldL2 = K1 + K4 + K7 + K10+ K12

ldC = K13

ldS = K6 + K15

S0 = K5 + K11

S1 = K2 + K13

rdA = K4 + K6 + K10 + K12+ K15

rdS = K13

rdR1 = K2 + K8

rdR2 = K1 + K7

у којима K0, K1, K2, ..., K4 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 11.б). Сви

остали управљачки сигнали имају вредност 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 11.б) и дата на

слици 11.г.

Page 71: Zbirka - Projektovanje Upravljacke

69

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K0 (0000) / K0 (0000) DS2MAX 0 b 0 b 0 b 0 b

K1 (0001) MAX2DS 0 b 0 b 0 b 1 b

K1 (0001) ldL2, rdR2 K2 (0011) 1 0 b 0 b 1 b b 0

K2 (0011) ldA, S1, rdR1 K3 (0010) 1 0 b 0 b b 0 b 1

K3 (0010) / K4 (0110) An-1 0 b 1 b b 0 0 b

K6 (0101) 1nА 0 b 1 b b 1 1 b

K4 (0110) ldL2, rdA K5 (0111) 1 0 b b 0 b 0 1 b

K5 (0111) ldA, S0 K6 (0101) 1 0 b b 0 b 1 b 0

K6 (0101) ldS, rdA K7 (0100) 1 0 b b 0 0 b b 1

K7 (0100) ldL2, rdR2 K8 (1100) 1 1 b b 0 0 b 0 b

K8 (1100) ldA, rdR1 K9 (1101) 1 b 0 b 0 0 b 1 b

K9 (1101) / K10 (1111) An-1 b 0 b 0 1 b b 0

K12 (1010) 1nА b 0 b 1 1 b b 1

K10 (1111) ldL2, rdA K11 (1110) 1 b 0 b 0 b 0 b 1

K11 (1110) ldA, S0 K12 (1010) 1 b 0 b 1 b 0 0 b

K12 (1010) ldL2, rdA K13 (1011) 1 b 0 0 b b 0 1 b

K13 (1011) ldC, S1, rdS K14 (1001) 1 b 0 0 b b 1 b 0

K14 (1001) / K0 (0000) C b 1 0 b 0 b b 1

K15 (1001) C b 0 0 b 0 b b 0

K15 (1001) ldS, rdA K0 (0000) 1 b 1 0 b 0 b b 1

Слика 11.г.Таблица стања, прелаза/излаза и функција побуде флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=0000, K1=0001, K2=0011, K3=0010, K4=0110, K5=0111, K6=0101, K7=0100,

K8=1100, K9=1101, K10=1111, K11=1110, K12=1010, K13=1011, K14=1001, K15=1000,

а за реализацију стања секвенцијалне прекидачке мреже користе се флип-флопови Q1,

Q2, Q3 и Q4 типа JK.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

ldA = K2 + K5 + K8 + K11

ldL2 = K1 + K4 + K7 + K10+ K12

ldC = K13

ldS = K6 + K15

S0 = K5 + K11

S1 = K2 + K13

rdA = K4 + K6 + K10 + K12+ K15

rdS = K13

rdR1 = K2 + K8

rdR2 = K1 + K7

Page 72: Zbirka - Projektovanje Upravljacke

70

у којима K0, K1, K2, ..., K15 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже. Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флоповa Q1, Q2, Q3 и Q4 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K7

K1 = K14∙C + K15

J2 = K3

K2 = K9∙ 1nA + K11

J3 = K1 + K9

K3 = K3∙ 1nA + K5 + K13

J4 = K0∙MAX2DS + K3∙ 1nA + K4 + K8 + K12

K4 = K2 + K6 + K9∙ 1nA + K10 + K14∙C + K15

С обзиром на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q ∙ 4Q

K1= 1Q ∙ 2Q ∙ 3Q ∙Q4

K2= 1Q ∙ 2Q ∙ Q3∙Q4

K3= 1Q ∙ 2Q ∙Q3∙ 4Q

K4= 1Q ∙Q2∙Q3∙ 4Q

K5= 1Q ∙Q2∙Q3∙Q4

K6= 1Q ∙Q2∙ 3Q ∙Q4

K7= 1Q ∙Q2∙ 3Q ∙ 4Q

K8= Q1∙Q2∙ 3Q ∙ 4Q

K9= Q1∙Q2∙ 3Q ∙Q4

K10= Q1∙Q2∙Q3∙Q4

K11= Q1∙Q2∙ Q3∙ 4Q

K12= Q1∙ 2Q ∙Q3∙ 4Q

K13= Q1∙ 2Q ∙Q3∙ Q4

K14= Q1∙ 2Q ∙ 3Q ∙Q4

K15= Q1∙ 2Q ∙ 3Q ∙ 4Q

Дискусија 1:

У тексту задатка постоји напомена да су у регистрима R1 и R2 вредности такве да се

добије коректан резултат. Разлог напомене је могућност да се у аритметици

целобројних величина са знаком догоди прекорачење и добије некоректан резултат.

Page 73: Zbirka - Projektovanje Upravljacke

71

1.12 БРОЈ ЈЕДИНИЦА - NOONES

На слици 12.a је приказана структурна шема дела операционе јединице процесора. У

регистру N дужине 16 бита налази се бинарна вредност. Микрооперације које се

реализују у јединици ALU су дате у табели 12.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе NOONES која израчунава број јединица бинарне вредности у регистру N, а

резултат смешта у регистар S. Фаза извршавања наредбе започиње уколико сигнал

NOONES има вредност 1. Садржај регистара N мора да остане неизмењен.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

SCLK

16

CLKNCLK

16

CLK

rdS

16

LD ldN LD ldS

16

rdN

16

16

16

16

16

L1CLKCLKLD

CL

ldL1

clL1

16

1616

16

16

S2

1

MP S0

0

16

ALU

S0

S1

S0

S1

C0 C

0

A

16 16

B

C16

C16

F

16

16A15

AIL 0

SL slA

16

16 16rdA

16 16rdALU

CLKCLK

LDldACLclA

16 16

SC

16

CLKCLK LD ldSC

SC016

1616

Слика 12.a Структурна шема операционе јединице

S0 S1 F0 0 0 A+C0

0 1 AC0

1 0 A+B

1 1 AB

Табела 12 Микрооперације у јединици ALU

Решење: a) Дијаграми тока микрооперација и управљачких сигнала дати су на слици 12.б.

На почетку се у регистре L1, SC и A уписују почетне вредности.

Регистар L1 служи за смештање броја јединица бинарне вредности која се налази у

регистру N. Стога се на почетку у регистар L1 уписује вредност 0, а касније садржај

регистра L1 увећава за 1 кад год се открије јединица у бинарној вредности која се

налази у регистру N. Како регистар L1 нема могућност инкрементирања, увећавање

садржаја регистра L1 за 1 се реализује довођењем садржаја регистра L1 кроз

Page 74: Zbirka - Projektovanje Upravljacke

72

мултиплексер MP на улаз А јединице ALU, реализацијом микрооперациојe A+C0 са

вредношћу 1 сигнала C0 јединице ALU и уписивањем добијене вредности у регистар

L1.

Бројање јединица се реализује у петљи у 16 итерација, јер је дужина регистра N у

коме се налази бинарна вредност 16 разреда. За бројање итерација се користи регистар

SC. Стога се на почетку у регистар SC уписује вредност 16, а касније при крају петље

садржај регистра SC умањује за 1 и проверава његов садржај. Уколико је садржај

различит од 0 остаје се у петљи, а у супротном случају излази из петље. Уписивање

вредности 16 у регистар SC се реализује следећим поступком. Најпре се у регистар A

уписује вредност 1. То се реализује довођењем садржаја регистра L1 кроз мултиплексер

MP на улаз А јединице ALU, реализацијом микрооперациојe A+C0 са вредношћу 1

сигнала C0 и уписивањем добијене вредности са излаза јединице ALU у регистар A.

Како је на почетку у регистру L1 вредност 0 и како сигнал C0 има вредност 1, вредност

1 се добија на излазу јединице ALU и уписује у регистар А. Затим се садржај регистра A

четири пута помера за једно место улево, чиме се реализује множење са 16, и добијена

вредност 16 уписује у регистар SC. Како регистар SC нема могућност декрементирања,

умањење садржаја регистра SC за 1 се реализује довођењем садржаја регистра SC кроз

мултиплексер MP на улаз А јединице ALU, реализацијом микрооперациојe A-C0 са

вредношћу 1 сигнала C0 јединице ALU и уписивањем добијене вредности у регистар

SC.

За реализован начин бројање јединица бинарне речи потребно је на почетку

пребацити садржај регистра N у регистар A. Пребацивање се реализује тако што се

садржај регистра N доведе на улаз B јединице ALU и садржај регистра L1 који је 0 на

улаз A јединице ALU. Над садржајима са улаза A и B јединице ALU реализује се

микрооперациојe A+B која, због тога што се у регистру L1 налази вредност 0, на излазу

даје садржај регистра N који се уписује у регистар A.

Број јединица бинарне вредности која се сада налази у регистру A се рачуна на

следећи начин. Проверава се најстарији разред A15 регистра A. Уколико је у разреду A15

вредност 1, садржај регистра L1 се инкрементира, а уколико је вредност 0, садржај

регистра L1 остаје непромењен. Садржај регистра SC се декрементира и проверава се

вредност сигнал SC0. Ако сигнал SC0 има вредност 0 то значи да је садржај регистра

SC различит од нуле, па се садржај регистра A помера за једно место у лево и понавља

претходно описани поступак провере најстаријег разреда A15 регистра A. Ако сигнал

SC0 има вредност 1, то значи да је испитан сваки бит бинарне вредности и да се у

регистру L1 налази укупан број јединица.

Садржај регистра L1, који представља резултат наредбе, треба напре пребацити у

регистар A, а затим садржај регистра A пребацити у регистар S. Пребацивање садржаја

регистра L1 у регистар А се реализује довођењем садржаја регистра L1 кроз

мултиплексер MP на улаз А јединице ALU, реализацијом микрооперациојe A+C0 са

вредношћу 0 сигнала C0 јединице ALU и уписивањем добијене вредности са излаза

јединие ALU у регистар А. Пребацивање садржаја регистра А у регистар S се реализује

по линијама магистрале M.

Page 75: Zbirka - Projektovanje Upravljacke

73

K0

NOONES0

K1 1

L1<=0

K2

A<=L1+1

A15...0

<=A14...0

.0

K3

A15...0

<=A14...0

.0

K4

A15...0

<=A14...0

.0

K5

A15...0

<=A14...0

.0

K6

K7

SC<=A

K15

S<=A

A15

0

K10

L1<=L1+1

1

K11

SC<=SC1

K9

K8

A<=N

SC01

K13

A15...0

<=A14...0

.0

0

K12

K14

A<=L1

K0

NOONES0

K1 1

clL1

K2

ldA, C0

slA

K3

slA

K4

slA

K5

slA

K6

K7

ldSC, rdA

K15

ldS, rdA

A15

0

K10

ldL1, rdALU, C0

1

K11

ldSC, rdALU, S2, S

1, C

0

K9

K8

ldA, S0, rdN

SC01

K13

slA

0

K12

K14

ldA

Слика 12.б Дијаграми тока микрооперација и управљачких сигнала

У кораку K0 се проверава вредност сигнала NOONES и у зависности од тога да ли

сигнал NOONES има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта

прелази на корак K1.

У кораку K1 се вредношћу 1 сигнала clL1 на сигнал такта уписује нула у регистар L1.

На исти сигнал такта се прелази на корак K2.

У кораку K2 се вредношћу 0 сигнала S2 садржај регистра L1 пропушта кроз

мултиплексер MP на улаз A јединице ALU, вредностима 0 сигнала S0 и S1 и вредношћу

1 сигнала C0 се на излазу јединице ALU формира садржај регистра L1 увећан за 1, који

се вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. На исти сигнал такта

се прелази на корак K3.

У кораку K3 се вредношћу 1 сигнала slA на сигнал такта садржај регистра A помера

за једно место улево. На исти сигнал такта се прелази на корак K4.

У кораку K4 се вредношћу 1 сигнала slA на сигнал такта садржај регистра A помера

за једно место улево. На исти сигнал такта се прелази на корак K5.

У кораку K5 се вредношћу 1 сигнала slA на сигнал такта садржај регистра A помера

за једно место улево. На исти сигнал такта се прелази на корак K6.

У кораку K6 се вредношћу 1 сигнала slA на сигнал такта садржај регистра A помера

за једно место улево. На исти сигнал такта се прелази на корак K7.

Page 76: Zbirka - Projektovanje Upravljacke

74

У кораку K7 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и са њих води, између осталог, на улаз регистра

SC и вредношћу 1 сигнала ldSC на сигнал такта уписује у регистар SC. На исти сигнал

такта се прелази на корак K8.

У кораку K8 се вредношћу 1 сигнала rdN садржај регистра N пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз B

јединице ALU, вредношћу 0 сигнала S2 се садржај регистра L1 који је 0 пропушта кроз

мултиплексер MP на улаз A јединице ALU, вредношћу 1 сигнала S0 се на излазу

јединице ALU формира сума садржаја са улаза A и B јединице ALU, која је, због тога

што се у регистру L1 налази вредност 0, једнака садржају регистра N и која се

вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. На исти сигнал такта се

прелази на корак K9.

У кораку K9 се проверава вредност сигнала A15 и у зависности од тога да ли сигнал

A15 има вредност 0 или 1 на сигнал такта прелази или на корак K11 или на корак K10.

У кораку K10 се вредношћу 0 сигнала S2 садржај регистра L1 пропушта кроз

мултиплексер MP на улаз A јединице ALU, вредностима 0 сигнала S0 и S1 и вредношћу

1 сигнала C0 се на излазу јединице ALU формира садржај регистра L1 увећан за 1,

вредношћу 1 сигнала rdALU се садржај са излаза ALU пропушта преко бафера са три

стања на линије магистрале M и са њих води, између осталог, на улаз регистра L1 и

вредношћу 1 сигнала ldL1 на сигнал такта уписује у регистар L1. На исти сигнал такта

се прелази на корак K11.

У кораку K11 се вредношћу 1 сигнала S2 садржај регистра SC пропушта кроз

мултиплексер MP на улаз A јединице ALU, вредностима 1 сигнала S1 и C0 се на излазу

јединице ALU формира садржај регистра SC умањен за 1, вредношћу 1 сигнала rdALU

се садржај са излаза ALU пропушта преко бафера са три стања на линије магистрале M

и са њих води, између осталог, на улаз регистра SC и вредношћу 1 сигнала ldSC на

сигнал такта уписује у регистар L1. На исти сигнал такта се прелази на корак K12.

У кораку K12 се проверава вредност сигнала SC0 и у зависности од тога да ли сигнал

SC0 има вредност 0 или 1 на сигнал такта прелази или на корак K13 или на корак K14.

У кораку K13 се због вредношћу 1 сигнала slA на сигнал такта садржај регистра A

помера за једно место у лево. На исти сигнал такта се прелази на корак K8.

У кораку K14 се вредношћу 0 сигнала S2 садржај регистра L1 пропушта кроз

мултиплексер MP на улаз A јединице ALU, вредностима 0 сигнала S0 и S1 се на излаз

јединице ALU прослеђује садржај регистра L1, који се вредношћу 1 сигнала ldA на

сигнал такта уписује у регистар A. На исти сигнал такта се прелази на корак K15.

У кораку K15 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

а три стања на линије магистрале M пропушта и са њих води, између осталог, на улаз

регистра S и вредношћу 1 сигнала ldS на сигнал такта уписује у регистар S.

б) Структурна шема управљачке јединице реализоване помоћу D флип-флопова

приказана је на слици 12.в.

Page 77: Zbirka - Projektovanje Upravljacke

75

CLKCLK

D QK

0

Q

NOONES

CLK

Sd

CLK CLK

D QK

3

QRd

CLKCLK

D Q

QRd

K1

CLK

D Q

QRd

K2

CLK CLK

D QK

6

QRd

CLK CLK

D QK

5

QRd

CLK

D QK

4

QRd

CLK CLK

D QK

7

QRd

CLK CLK

CLK

CLK

D QK

8

QRd

CLK

D QK

9

QRd

CLK

D QK

10

QRd

A15

CLK CLK

D QK

11

QRd

CLK

D QK

12

QRd

CLK

D QK

13

QRd

SC0

CLK

CLK

D QK

15

QRd

CLK

D Q

QRd

K14

CLK

CLK CLK CLK CLK

Слика 12.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clL1 = K1

ldA = K2 + K8 + K14

slA = K3 + K4 + K5 + K6 + K13

ldL1 = K10

ldSC = K7 + K11

ldS = K15

rdN = K8

S2 = K11

S1 = K11

S0 = K8

C0 = K2 + K10 + K11

rdALU = K10 + K11

rdA = K7 + K15

у којима K0, K1, K2, ..., K15 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 12.б). Сви

остали управљачки сигнали су 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 13.б) и дата на

слици12.г.

Page 78: Zbirka - Projektovanje Upravljacke

76

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K0 (0000) / K0 (0000) NOONES 0 b 0 b 0 b 0 b

K1 (0001) NOONES 0 b 0 b 0 b 1 b

K1 (0001) clL1 K2 (0011) 1 0 b 0 b 1 b b 0

K2 (0011) ldA, C0 K3 (0010) 1 0 b 0 b b 0 b 1

K3 (0010) slA K4 (0110) 1 0 b 1 b b 0 0 b

K4 (0110) slA K5 (0111) 1 0 b b 0 b 0 1 b

K5 (0111) slA K6 (0101) 1 0 b b 0 b 1 b 0

K6 (0101) slA K7 (0100) 1 0 b b 0 0 b b 1

K7 (0100) ldSC, rdA K8 (1100) 1 1 b b 0 0 b 0 b

K8 (1100) ldA, S0, rdN K9 (1101) 1 b 0 b 0 0 b 1 b

K9 (1101) / K10 (1111) A15 b 0 b 0 1 b b 0

K11 (1110) 15А b 0 b 0 1 b b 1

K10 (1111) ldL1, rdALU, C0 K11 (1110) 1 b 0 b 0 b 0 b 1

K11 (1110) ldSC, rdALU, S2, S1, C0 K12 (1010) 1 b 0 b 1 b 0 0 b

K12 (1010) / K13 (1011) 0SC b 0 0 b b 0 1 b

K14 (1001) SC0 b 0 0 b b 1 1 b

K13 (1011) slA K9 (1101) 1 b 0 1 b b 1 b 0

K14 (1001) ldA K15 (1001) 1 b 0 0 b 0 b b 0

K15 (1001) ldS, rdA K0 (0000) 1 b 1 0 b 0 b b 1

Слика 12.г.Таблица стања, прелаза/излаза и побудa флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=0000, K1=0001, K2=0011, K3=0010, K4=0110, K5=0111, K6=0101, K7=0100,

K8=1100, K9=1101, K10=1111, K11=1110, K12=1010, K13=1011, K14=1001, K15=1000,

а за реализацију стања секвенцијалне прекидачке мреже користе се флип-флопови Q1,

Q2, Q3 и Q4 типа JK.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clL1 = K1

ldA = K2 + K8 + K14

slA = K3 + K4 + K5 + K6 + K13

ldL1 = K10

ldSC = K7 + K11

ldS = K15

rdN = K8

S2 = K11

S1 = K11

S0 = K8

C0 = K2 + K10 + K11

rdALU = K10 + K11

Page 79: Zbirka - Projektovanje Upravljacke

77

rdA = K7 + K15

у којима K0, K1, K2, ..., K15 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже. Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флоповa Q1, Q2, Q3 и Q4 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K7

K1 = K15

J2 = K3 + K13

K2 = K11

J3 = K1 + K9

K3 = K5 + K12∙SC0 + K13

J4 = K0∙NOONES + K4 + K8 + K12

K4 = K2 + K6 + K9∙ 15A + K10 + K15

С обзиром на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q ∙ 4Q

K1= 1Q ∙ 2Q ∙ 3Q ∙Q4,

K2= 1Q ∙ 2Q ∙ Q3∙Q4

K3= 1Q ∙ 2Q ∙Q3∙ 4Q

K4= 1Q ∙Q2∙Q3∙ 4Q

K5= 1Q ∙Q2∙Q3∙Q4

K6= 1Q ∙Q2∙ 3Q ∙Q4

K7= 1Q ∙Q2∙ 3Q ∙ 4Q

K8= Q1∙Q2∙ 3Q ∙ 4Q

K9= Q1∙Q2∙ 3Q ∙Q4

K10= Q1∙Q2∙Q3∙Q4

K11= Q1∙Q2∙ Q3∙ 4Q .

K12= Q1∙ 2Q ∙Q3∙ 4Q

K13= Q1∙ 2Q ∙Q3∙ Q4

K14= Q1∙ 2Q ∙ 3Q ∙Q4

K15= Q1∙ 2Q ∙ 3Q ∙ 4Q

Page 80: Zbirka - Projektovanje Upravljacke

78

1.13 СЕЛЕКТИВНО САБИРАЊЕ - CSR

На слици 13.a је приказана структурна шема дела операционе јединице процесора. У

регистрима R[0], R[1], R[2] и R[3] дужине n разреда налазе се целобројне вредности без

знака. У регистру V3..0 дужине 4 разреда налазе се битови 4-битне бинарне речи SUM3..0

придружени регистрима R[3], R[2], R[1] и R[0], респективно. У регистру V3..0 доступан

је само разред V3 у коме се налази бит SUM3. Микрооперације које се реализују у

јединици ALU су дате у табели 13.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе CSR која израчунава суму садржаја регистара R[3], R[2], R[1] и R[0], при чему

у суму улазе садржаји само оних регистара R[3], R[2], R[1] и R[0] чији придружени

битови бинарне речи SUM3..0 имају вредност 1. Добијени резултат се смешта у регистар

A. Фаза извршавања наредбе започиње уколико сигнал CSR има вредност 1. Садржаји

регистара R[0], R[1], R[2] и R[3] морају да остану неизмењени. Претпоставити да се у

регистрима R[0], R[1], R[2] и R[3] налазе вредности које омогућавају да се извршавање

наредбе реализује коректно и да се добије вредност која може да се смести у регистар

A.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

nn

R[1]CLK

n

CLKR[0]CLK

n

CLK

n

LD ldR0 LD ldR1

n

n

n

R[3]CLK

n

CLKR[2]CLK

n

CLK

n

LD ldR2 LD ldR3

n

n

n

2 2BR0

BRLD

DEC decBR

ldBRCLKCLK

CLclBR

2

DC E RD

n

n

L1CLKCLKLD

CL

ldL1

clL1

ALU

S0

S1

S0

S1

C0 C

0

A

n n

B

Cn

Cn

n

F

n n

ACLKCLK

n

LD ldA

CL clA

n

VIL

SHL shlV

4

CLKCLK

LDldV

1

V3

1

nM

3 2 1 0

rdR[0]rdR[1]rdR[2]rdR[3]

rdR[0] rdR[1] rdR[2] rdR[3]

0

Слика 13.a Структурна шема операционе јединице

S0 S1 F0 0 0 AB

0 1 AC0

1 0 A+C0

1 1 A+B

Табела 13 Микрооперације у јединици ALU

Решење: a) Дијаграми тока микрооперација и управљачких сигнала дати су на слици 13.б.

Page 81: Zbirka - Projektovanje Upravljacke

79

Израчунавање израза се реализује тако што се прво у регистар А упише вредност 0.

Потом се проверава садржај разреда V3 у коме се налази бит SUM3. Уколико је у разреду

V3 вредност 1 то значи да бит SUM3 има вредност 1, па се садржај регистра R[3] сабира

са садржајем регистра А и добијена сума смешта у регистар А. Уколико је у разреду V3

вредност 0 то значи да бит SUM3 има вредност 0, па се садржај регистра R[3] не сабира

са садржајем регистра А.

Затим би требало садржај регистра R[2] додати или не додати на садржај регистра А

у зависности од тога да ли бит SUM2 има вредност 1 или 0, респективно. Међутим, бит

SUM2 се налази у разреду 2 регистра V3..0 који није доступан. Стога је потребно

померити садржај регистра V3..0 за једно место улево. Као резултат у разредима V3, V2,

V1, и V0 налазе се битови SUM2, SUM1, SUM0 и 0, респективно. Провером доступног

разреда V3 се сада проверава бит SUM2, па се садржај регистра R[2] додаје или не

додаје на садржај регистра А у зависности од тога да ли разред V3 има вредност 1 или

0, респективно.

На исти начин се поступа и са регистрима R[1] и R[0]. Поновним померањем

садржаја регистра V3..0 за једно место улево се сада у разредима V3, V2, V1, и V0 налазе

битови SUM1, SUM0, 0 и 0, респективно. Провером доступног разреда V3 се сада

проверава бит SUM1, па се садржај регистра R[1] додаје или не додаје на садржај

регистра А у зависности од тога да ли разред V3 има вредност 1 или 0, респективно.

Још једним померањем садржаја регистра V3..0 за једно место улево се сада у разредима

V3, V2, V1, и V0 налазе се битови SUM0, 0, 0 и 0, респективно. Провером доступног

разреда V3 се сада проверава бит SUM0, па се садржај регистра R[0] додаје или не

додаје на садржај регистра А у зависности од тога да ли разред V3 има вредност 1 или

0, респективно. Тиме се добија коначна сума.

Током израчунавања овог израза постоји потреба да се садржаји регистара R[3], R[2],

R[1] и R[0] редом преко својих бафера са три стања пуштају на линије магистрале M и

преко њих уписују у регистар L1. С обзиром да је на улазу B јединице ALU све време

присутан садржај регистра А, уписивањем садржаја регистара R[3], R[2], R[1] и R[0] у

регистар L1 који је све време присутан на улазу А јединице ALU и реализацијом

саабирања садржаја са улаза А и садржаја са улаза B јединице ALU, добија се тражена

вредност суме.

Усвојено је решење да се пуштање садржаја регистара R[1], R[2] и R[3] и R[3] на

линије магистрале M реализује у петљи кроз коју се пролази четири пута. При првом

проласку кроз петљу се вредношћу 1 сигнала rdR[3] пушта R[3] и тако редом до

четвртог проласка у коме се вредношћу 1 сигнала rdR[0] пушта регистар R[0].

Генерисање вредности 1 сигнала rdR[3], rdR[2], rdR[1] и rdR[0] се реализује помоћу

декодера DC на основу садржаја декрементирајућег бројача BR по модулу четири онда

када сигнал RD има вредност 1. У бројач BR се на почетку упише вредност три, па када

сигнал RD има вредност 1 и сигнал rdR[3] има вредност 1. Садржај бројач BR се на

крају првог проласка кроз петљу декрементира, па када при другом проласку кроз

петљу сигнал RD има вредност 1 и сигнал rdR[2] има вредност 1. На сличана начин се

формирају и вредности 1 сигнала rdR[1] и rdR[0] при трећем и четвртом проласку кроз

петљу, респективно.

Садржај бројача BR се користи и за формирање сигнала логичког услова BR0 који

вредностима 0 и 1 одређује да треба остати у петљи или изаћи из петље, респективно. У

бројач BR се на почетку пре уласка у петљу упише вредност три. При крају сваког

проласка кроз петљу проверава се да ли је садржај бројача BR декрементирањем са

вредности 3 дошао на вредност 0. Уколико јесте, излази се из петље. Уколико није,

садржај бројача BR се декрементира, па се враћа на почетак петље.

Page 82: Zbirka - Projektovanje Upravljacke

80

K0

CSR0

K1 1

A<=0, BR<=3

V3

0

K3

L1<=R[BR]

1

K4

A<=A+L1

K2

BR01

K6

BR<=BR-1, V3...0

<=V2...0

.0

0

K5

K0

CSR0

K1 1

clA, ldBR

V3

0

K3

ldL1, RD

1

K4

ldA, S0, S

1

K2

BR01

K6

decBR, shlV

0

K5

Слика 13.б Дијаграм тока микрооперација и управљачких сигнала

У кораку K0 се проверава вредност сигнала CSR и у зависности од тога да ли сигнал

CSR има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта прелази на корак

K1.

У кораку K1 се вредношћу 1 сигнала clA на сигнал такта уписује нула у регистар A и

вредношћу 1 сигнала ldBR на сигнал такта уписује бинарна вредност 11 у бројач BR. На

исти сигнал такта се прелази на корак K2.

У кораку K2 се и проверава вредност сигнала V3 и у зависности од тога да ли сигнал

V3 има вредност 0 или 1 на сигнал такта се прелази или на корак K5 или на корак K3.

У кораку K3 се вредношћу 1 сигнала RD формира вредност 1 сигнала rdR[BR] којом

се садржај регистра R[BR] пропушта на линије магистрале M и преко њих води на улаз

регистра L1 и вредношћу 1 сигнала ldL1 на сигнал такта уписује у регистар L1. На исти

сигнал такта се прелази на корак K4.

У кораку K4 на улазу A јединице ALU је присутан садржај регистра L1, а на улазу B

јединице ALU присутан је садржај регистра A. Вредностима 1 сигнала S0 и S1 се на

излазу јединице ALU формира сума садржаја регистара L1 и A, која се вредношћу 1

сигнала ldA на сигнал такта уписује у регистар A. На исти сигнал такта се прелази на

корак K5.

У кораку K5 се проверава вредност сигнала BR0 и у зависности од тога да ли сигнал

BR0 има вредност 0 или 1 на сигнал такта прелази или на корак K6 или на корак K0.

У кораку K6 се вредношћу 1 сигнала decBR садржај бројача BR декрементира и

вредношћу 1 сигнала shlV садржај регистра V помера за једно место улево. На исти

сигнал такта се прелази на корак K2.

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 13.в.

Page 83: Zbirka - Projektovanje Upravljacke

81

CLKCLK

D QK

0

Q

CSR

CLK

Sd

CLK

D QK

1

QRd

CLK CLK

D QK

2

QRd

V3

CLK CLK

D QK

3

QRd

CLK

D QK

4

QRd

CLKCLK CLK

D QK

5

QRd

CLK

D QK

6

QRd

BR0

CLK

Слика 13.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1

ldA = K4 ldL1 = K3

ldBR = K1

S0 = K4

S1 = K4

decBR = K6

shlV = K6

RD = K3

у којима K0, K1, K2, ..., K6 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 13.б). Сви

остали управљачки сигнали су 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 13.б) и дата на

слици 13.г.

Q Z Q(t+1) CSR J1 K1 J2 K2 J3 K3

K0 (000) / K0 (000) CSR 0 b 0 b 0 b

K1 (001) CSR 0 b 0 b 1 b

K1 (001) clA, ldBR K2 (011) 1 0 b 1 b b 0

K2 (011) / K3 (010) V3 0 b b 0 b 1

K5 (111) 3V 1 b b 0 b 0

K3 (010) ldL1, RD K4 (110) 1 1 b b 0 0 b

K4 (110) ldA, S0, S1 K5 (111) 1 b 0 b 0 1 b

K5 (111) / K0 (000) BR0 b 1 b 1 b 1

K6 (101) 0BR b 0 b 1 b 0

K6 (101) decBR, shlV K2 (011) 1 b 1 1 b b 0

Слика 13.г.Таблица стања, прелаза/излаза и побуда флип-флопова

Page 84: Zbirka - Projektovanje Upravljacke

82

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=000, K1=001, K2=011, K3=010, K4=110, K5=111, K6=101,

а за реализацију стања секвенцијална прекидачка мрежа користе се флип-флопови Q1,

Q2 и Q3 типа JK

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1

ldA = K4 ldL1 = K3

ldBR = K1

S0 = K4

S1 = K4

decBR = K6

shlV = K6

RD = K3

у којима K0, K1,..., K6, представљају сигнале декодованих стања секвенцијалне

прекидачке мреже. Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флопове Q1, Q2 и Q3 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K2∙ 3V + K3

K1 = K5∙BR0 + K6

J2 = K1 + K6

K2 = K5

J3 = K0∙CSR + K4

K3 = K2∙V3 + K5∙BR0

С обзирома на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q

K1= 1Q ∙ 2Q ∙Q3

K2= 1Q ∙Q2∙Q3

K3= 1Q ∙Q2∙ 3Q

K4= Q1∙Q2∙ 3Q

K5= Q1∙Q2∙Q3

K6= Q1∙ 2Q ∙Q3

Дискусија 1:

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

на начин приказан на слици 13.д. У кораку K5 се на исти сигнал такта на основу

вредности сигнала BR0 прелази у корак K2 или K0 и врши декрементирање садржаја

бројача BR. Ово је могуће урадити јер у тренутку када се проверава вредност сигнала

BR0 још увек садржај бројача није декрементиран. Стога се, што је коректно, прелазак

врши на основу старе, а не нове вредности бројача BR.

Page 85: Zbirka - Projektovanje Upravljacke

83

K0

CSR0

K1 1

A<=0, BR<=3

V3

0

K3

L1<=R[BR]

1

K4

A<=A+L1

K2

BR<=BR-1, V3...0

<=V2...0

.0

BR01

0

K5

K0

CSR0

K1 1

clA, ldBR

V3

0

K3

ldL1, RD

1

K4

ldA, S0, S

1

K2

decBR, shlV

BR01

0

K5

Слика 13.д Дијаграми тока микрооперација и управљачких сигнала

Структура шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима према дијаграму тока управњачких сигнала са слике 13.д је дата на

слици 13.ђ.

CLKCLK

D QK

0

Q

CSR

CLK

Sd

CLK

D QK

1

QRd

CLK CLK

D QK

2

QRd

V3

CLK CLK

D QK

3

QRd

CLK

D QK

4

QRd

CLKCLK CLK

D QK

5

QRd

BR0

Слика 13.ђ Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1

ldA = K4 ldL1 = K3

ldBR = K1

S0 = K4

S1 = K4

decBR = K5

shlV = K5

RD = K3

у којима K0, K1, K2, ..., K5 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 13.д). Сви

остали управљачки сигнали имају вредност 0.

Page 86: Zbirka - Projektovanje Upravljacke

84

Дискусија 2:

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

начин приказан на слици 13.е. У кораку K2 се проверава вредност сигнала V3. Уколико

сигнал V3 има вредност 0 прелази се на корак K3. Уколико сигнал V3 има вредност 1

проверава се и вредност сигнала BR0 и прелази на корак K0 или K6 у зависности од тога

да ли сигнал BR0 има вредност 1 или 0. Вредност сигнала BR0 се проверава и из корака

K4 и прелази на корак K0 или K6 у зависности од тога да ли сигнал BR0 има вредност 0

или 1.

K0

CSR0

K1 1

A<=0, BR<=3

V3

0

K3

L1<=R[BR]

1

K4

A<=A+L1

K2

K0

CSR0

K1 1

clA, ldBR

V3

0

K3

ldL1, RD

1

K4

ldA, S0, S

1

K2

BR01

BR<=BR-1, V3...0

<=V2...0

.0

0K5

BR01

decBR, shlV

0K5

Слика 13.е Дијаграми тока микрооперација и управљачких сигнала

Структура шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима према дијаграму тока управљачких сигнала са слике 13.е је дата на

слици 13.ж.

CLKCLK

D QK

0

Q

CSR

CLK

Sd

CLK

D QK

1

QRd

CLK CLK

D QK

2

QRd

V3

CLK CLK

D QK

3

QRd

CLK

D QK

4

QRd

CLK

BR0

CLK

D QK

5

QRd

CLK

Слика 13.ж Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу на исти начин као и у случају

решења управљачке јединице са слике 13.ђ.

Page 87: Zbirka - Projektovanje Upravljacke

85

1.14 AND

На слици 14.a је приказана структурна шема дела операционе јединице процесора. У

регистрима R0 и R1 дужине 16 разреда налазе се бинарне вредности. Микрооперације

које се реализују у јединици ALU су дате у табели 14.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе AND која израчунава

R1 and R2

логички производ садржаја регистара R1 и R2 и резултат смешта у регистар R1. Фаза

извршавања наредбе започиње уколико сигнал AND има вредност 1. Садржај регистра

R2 мора да остане неизмењен.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

R2CLK

16

CLKR1CLK

16

CLK

M

16

LD ldR1 LD ldR2

16

rdR1

16

16

16

16

16

L1CLKCLKLD

CL

ldL1

clL1

16

1616

16

16

1616

ALU

S0

S1

S0

S1

C0 C

0

A

16 16

B

C16

C16

F

16

16 A0

ACLK CLK

CL clA

16

16 16rdA

16 16rdALU

IR

SHRshrALD ldA

0 1

S2

0

MPS0

1

5 5

SC

5

CLKCLK

CL clSC

SC0

LDldSC

DEC decSC

10000

rdR2

F0

Слика 14.a Структурна шема операционе јединице

S0 S1 F0 0 0 A+C0

0 1 B+C0

1 0 A0.A15...1

1 1 AB

Табела 14 Микрооперације у јединици ALU

Решење: а) Дијаграми тока микрооперација и управљачких сигнала дати су на слици 14.б

Израчунавање логичког производа садржаја регистара R1 и R2 се реализује тако што

се најпре у регистар SC упише вредност шеснаест, а садржаји регистара R1 и R2 се

упишу у регистре A и L1. Докле год је садржај регистра SC различит од нуле понавља

се провера најмлађих разреда регистара A и L1. У случају када је бар један од њих

једнак 0 садржај регистра A се помера за једно место у десно, а на бит највеће тежине се

уписује 0, садржај регистра L1 се ротира за једно место у десно, а садржај регистра SC

се декрементира. У случају када су оба бита једнака 1 садржај регистра A се помера за

Page 88: Zbirka - Projektovanje Upravljacke

86

једно место у десно, а на бит највеће тежине се уписује 1, садржај регистра L1 се

ротира за једно место у десно, а садржај регистра SC се декрементира. Када садржај

регистра SC постане нула у регистру A се налази логички производ садржаја регистара

R1 и R2. На крају се садржај регистра A уписује у регистар R1.

K0

AND0

A0

0

K3

K1 1

SC<=16, A<=R1

K2

A15...0

<=1.A15...1

,

L115...0

<=L10.L1

15...1,

SC<=SC1

K5

1

1

A15...0

<=0.A15...1

,

L115...0

<=L10.L1

15...1,

SC<=SC1

K6

K4 1

F0

0

K7

SC00

1

L1<=R2

1

R1<=A

K8

K0

AND0

A0

0

K3

K1 1

ldSC, ldA, S1, rdR1

K2

shrA, S2,

ldL1, rdALU, S0,

decSC

K5

1

1

shrA,

ldL1, rdALU, S0,

decSC

K6

K4 1

F0

0

K7

SC00

1

ldL1, rdR2

1

ldR1, rdA

K8

Слика 14.б Дијаграми тока микрооперација и управљачких сигнала

У кораку K0 се проверава вредност сигнала AND и у зависности од тога да ли сигнал

AND има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта прелази на корак

K1.

У кораку K1 вредношћу 1 сигнала rdR1 се садржај регистра R1 пропушта преко

бафера са три стања на линије магистрале M и преко њих води, између осталог, на улаз

B јединице ALU, вредношћу 1 сигнала S1 се на излаз јединице ALU пропушта садржај

регистра R1 са улаза B јединице ALU, који се вредношћу 1 сигнала ldA на сигнал такта

се уписује у регистар A. У кораку K1 се вредношћу 1 сигнала ldSC на сигнал такта

уписује бинарно 10000 у регистар SC. На исти сигнал такта прелази се на корак K2.

У кораку K2 се вредношћу 1 сигнала rdR2 садржај регистра R2 пропушта преко

бафера са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра L1 и вредношћу 1 сигнала ldL1 на сигнал такта уписује у регистар L1. На исти

сигнал такта се прелази на корак K3.

У кораку K3 се проверава вредност сигнала A0 и у зависности од тога да ли сигнал A0

има вредност 0 или 1 на сигнал такта прелази или на корак K6 или на корак K4.

У кораку K4 се проверава вредност сигнала F0 на излазу јединице ALU који, због тога

што сигнали S0, S1 и C0 имају вредност 0 и тиме кроз ALU пропуштају садржај са улаза

А, представља најмлађи разред садржаја регистра L1 и у зависности од тога да ли

сигнал F0 има вредност 0 или 1 на сигнал такта прелази или на корак K6 или на корак

K5.

Page 89: Zbirka - Projektovanje Upravljacke

87

У корак K5 се једино долази уколико сигнали A0 и F0 имају вредност 1. Вредношћу 1

сигнала shrA на сигнал такта садржај регистра A се помера за једно место удесно, при

чему се, вредношћу 1 сигнала S2 кроз мултиплексер MP пропушта и преко улаза IR у

разред А15 уписује вредност 1. Вредношћу 1 сигнала S0 се на излаз јединице ALU

пропушта садржај регистра L1 са улаза А јединице ALU ротиран за једно место у десно,

који се даље вредношћу 1 сигнала rdALU преко бафера са три стања пропушта на

линије магистрале M и преко њих води, између осталог, на улаз регистра L1 и

вредношћу 1 сигнала ldL1 на сигнал такта уписује у регистар L1. Вредношћу 1 сигнала

decSC на сигнал такта садржај регистра SC се декрементира. На исти сигнал такта

прелази се на корак K7.

У корак K6 се долази уколико један или оба сигнал A0 и F0 имају вредност 0.

Вредношћу 1 сигнала shrA на сигнал такта садржај регистра A се помера за једно место

удесно, при чему се, вредношћу 0 сигнала S2 кроз мултиплексер MP пропушта и преко

улаза IR у разред А15 уписује вредност 0. Вредношћу 1 сигнала S0 се на излаз јединице

ALU пропушта садржај регистра L1 са улаза А јединице ALU ротиран за једно место

удесно, који се даље вредношћу 1 сигнала rdALU преко бафера са три стања пропушта

на линије магистрале M и преко њих води, између осталог, на улаз регистра L1 и

вредношћу 1 сигнала ldL1 на сигнал такта уписује у регистар L1. Вредношћу 1 сигнала

decSC на сигнал такта садржај регистра SC се декрементира. На исти сигнал такта

прелази се на корак K7.

У кораку K7 се проверава вредност сигнала SC0 и у зависности од тога да ли сигнал

SC0 има вредност 0 или 1 на сигнал такта прелази или на корак K3 или на корак K8.

У кораку K8 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и са њих води, између осталог, на улаз регистра

R1 и вредношћу 1 сигнала ldR1 на сигнал такта уписује у регистар R1. На исти сигнал

такта се прелази на корак K0.

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 14.в.

CLKCLK

D QK

0

Q

AND

CLK

Sd

CLK

D QK

1

QRd

CLK

D QK

6

QRd

CLK

D QK

2

QRd

CLK

D QK

5

QRd

F0

CLKCLK

D QK

4

Q

CLK CLK

D QK

3

QRd

A0

CLK

Rd

CLK CLK

D QK

7

QRd

SC0

CLK

K8

CLK

D Q

QRd

CLK

CLK

Слика 14.в Структурна шема управљачке јединице

Page 90: Zbirka - Projektovanje Upravljacke

88

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

ldA = K1

shrA = K5 + K6

ldL1 = K2 + K5 + K6

ldSC = K1

ldR1 = K8

S0 = K5 + K6

S1 = K1

S2 = K5

rdALU = K5 + K6

rdA = K8

rdR1 = K1

rdR2 = K2

decSC = K5 + K6

у којима K0, K1, K2, ..., K8 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 14.б). Сви

остали управљачки сигнали су 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 14.б) и дата на

слици14.г.

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K0 (0000) / K0 (0000) AND 0 b 0 b 0 b 0 b

K1 (0001) AND 0 b 0 b 0 b 1 b

K1 (0001) ldSC, ldA, S1, rdR1 K2 (0011) 1 0 b 0 b 1 b b 0

K2 (0011) ldL1, rdR2 K3 (0010) 1 0 b 0 b b 0 b 1

K3 (0010) / K4 (0110) A0 0 b 1 b b 0 0 b

K6 (0101) 0А 0 b 1 b b 1 1 b

K4 (0110) / K5 (0111) F0 0 b b 0 b 0 1 b

K6 (0101) 0F 0 b b 0 b 1 1 b

K5 (0111) shrA, S2, ldL1, rdALU, S0, decSC K7 (0100) 1 0 b b 0 b 1 b 1

K6 (0101) shrA, ldL1, rdALU, S0, decSC, K7 (0100) 1 0 b b 0 0 b b 1

K7 (0100) / K3 (0010) 0SC 0 b b 1 1 b 0 b

K8 (1100) SC0 1 b b 0 0 b 0 b

K8 (1100) ldR1, rdA K0 (0000) 1 b 1 b 1 0 b 0 b

Слика 14.г.Таблица стања, прелаза/излаза и побуда флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=0000, K1=0001, K2=0011, K3=0010, K4=0110, K5=0111, K6=0101, K7=0100,

K8=1100,

а за реализацију стања секвенцијалне прекидачке мреже користе се флип-флопови Q1,

Q2, Q3 и Q4 типа JK.

Page 91: Zbirka - Projektovanje Upravljacke

89

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

ldA = K1

shrA = K5 + K6

ldL1 = K2 + K5 + K6

ldSC = K1

ldR1 = K8

S0 = K5 + K6

S1 = K1

S2 = K5

rdALU = K5 + K6

rdA = K8

rdR1 = K1

rdR2 = K2

decSC = K5 + K6

у којима K0, K1, K2, ..., K8 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже придружених операционим блоковима у дијаграму тока

управљачких сигнала (слика 14.б). Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флоповa Q1, Q2, Q3 и Q4 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K7∙SC0

K1 = K8

J2 = K3

K2 = K7∙ 0SC + K8

J3 = K1 + K7∙ 0SC

K3 = K3∙ 0A + K4∙ 0F + K5

J4 = K0∙AND + K3∙ 0A + K4∙ 0F

K4 = K2 + K5 + K6

С обзиром на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q ∙ 4Q

K1= 1Q ∙ 2Q ∙ 3Q ∙Q4

K2= 1Q ∙ 2Q ∙ Q3∙Q4

K3= 1Q ∙ 2Q ∙Q3∙ 4Q

K4= 1Q ∙Q2∙Q3∙ 4Q

K5= 1Q ∙Q2∙Q3∙Q4

K6= 1Q ∙Q2∙ 3Q ∙Q4

K7= 1Q ∙Q2∙ 3Q ∙ 4Q

K8= Q1∙Q2∙ 3Q ∙ 4Q

Дискусија 1:

Корак K4 није неопходан, па се добијају дијаграми тока микрооперација и

управљачких сигнала као на слици 14.д. Сада се из корака K3 у зависности од вредности

Page 92: Zbirka - Projektovanje Upravljacke

90

сигнала A0 и F0 прелази на корак K4 или K5, а из њих на корак K6. Из корака K6 се

уколико сигнал SC0 има вредност 1 прелази на корак K7, а уколико сигнал SC0 има

вредност 0 се у зависности од вредности сигнала A0 и F0 прелази на корак K4 или K5.

K0

AND0

K3

K1 1

SC<=16, A<=R1

K2 1

L1<=R2

ldSC, ldA, S1, rdR1

K0

AND0

K3

K1 1

K2 1

ldL1, rdR2

A0

0

1

A15...0

<=1.A15...1

,

L115...0

<=L10.L1

15...1,

SC<=SC1

K5

1

1

A15...0

<=0.A15...1

,

L115...0

<=L10.L1

15...1,

SC<=SC1

K6

K4

F0

0

K7

SC00

1

R1<=A

A0

0

1

shrA, S2,

ldL1, rdALU, S0,

decSC

K5

1

1

shrA,

ldL1, rdALU, S0,

decSC

K6

K4

F0

0

K7

SC00

1

ldR1, rdA

Слика 14.д Дијаграми тока микрооперација и управљачких сигнала

Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици слици 14.ђ.

CLKCLK

D QK

0

Q

AND

CLK

Sd

CLK

D QK

1

QRd

CLK

D QK

2

QRd

CLK

CLK

CLK CLK

D QK

5

QRd

CLK

D QK

4

QRd

F0

CLK CLK CLK

D QK

6

QRd

SC0

CLK

A0

CLK

D QK

3

QRd

K7

CLK

D Q

QRd

Слика 14.ђ Структурна шема управљачке јединице

Page 93: Zbirka - Projektovanje Upravljacke

91

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

ldA = K1

shrA = K4 + K5

ldL1 = K2 + K4 + K5

ldSC = K1

ldR1 = K7

S0 = K4 + K5

S1 = K1

S2 = K4

rdALU = K4 + K5

rdA = K7

rdR1 = K1

rdR2 = K2

decSC = K4 + K5

у којима K0, K1, K2, ..., K7 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 13.д). Сви

остали управљачки сигнали су 0.

Page 94: Zbirka - Projektovanje Upravljacke

92

1.15 НЕГАЦИЈА - NEG

На слици 15.a је приказана структурна шема дела операционе јединице процесора. У

регистру N дужине 16 разреда налази се целобројна вредности са знаком, представљена

у другом комплементу. Микрооперације које се реализују у јединици ALU су дате у

табели 15.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе NEG која израчунава

N

негацију целобројне вредности са знаком у регистру N и резултат смешта у регистар S.

Фаза извршавања наредбе започиње уколико сигнал NEG има вредност 1. Садржај

регистра N мора да остане неизмењен.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

SCLK

16

CLKNCLK

16

CLK

rdS

16

LD ldN LD ldS

16

rdN

16

16

16

1616

16 16

SC

16

CLKCLK

IL 0

SC0

LDldSC

SHL shlSC

16

L1CLKCLKLD

CL

ldL1

clL1

16

16

S2

1

MPS0

0

16

ALU

S0

S1

S0

S1

C0 C

0

A B

C16

C16

F

16

16 A0

ACLK CLK

CL clA

16

16 16rdA

16 16rdALU

IR

SHRshrALD ldA

A0

S3

0

MPS0

1

A0

16

16

16

16

16

16

16

16

M

Слика 15.a Структурна шема операционе јединице

S0 S1 F0 0 0 A+B

0 1 AC0

1 0 A+C0

1 1 B+C0

Табела 15 Микрооперације у јединици ALU

Решење 1:

a) Дијаграми тока микрооперација и управљачких сигнала дати су на слици 15.б.

Израчунавање негације N другог комплемента целобројне вредности са знаком се

реализује тако што се најпре формира њен први комплемент и затим дода 1. У том циљу

се најпре садржај регистра N пребацује у регистар A. Затим се садржај регистра A

помера удесно и при томе по линији IR у најстарији разред регистра A убацује

Page 95: Zbirka - Projektovanje Upravljacke

93

инвертована вредност разреда A0. После 16 померања удесно у регистру A се налази

комплементарни садржај оригиналног садржаја регистра A. На крају се садржај

регистра A пропушта кроз ALU уз додавање 1 и добијена вредност уписује у регистар

A. Померање садржаја регистра A удесно се реализује све време док сигнал SC0 има

вредност 0. Сигнал SC0 има вредност 0 уколико се барем у једном од 16 разреда

регистра SC налази јединица. У том циљу на почетку се јединица уписује у најмлађи

разред регистра SC и помера улево сваки пут када се садржај регистра A помера удесно.

После 16 померања улево јединица излази из регистра SC и у регистру SC се појављују

све нуле. Тада сигнал SC0 постаје 1. Јединица се уписује у регистар SC тако што се

најпре 0 уписује у регистар L1, па се садржај регистра L1 пропушта кроз ALU уз

додавање 1 и добијена вредност уписује у регистар SC.

K0

NEG0

A<=N

K3

K4

SC15...0

<=SC14...0

.0,

A15...0

<=A0.A

15...1

1

K5

SC00

K1 1

L1<=0

K2

SC<=1

K6 1

A<=A+1

K7

S<=A

K0

NEG0

ldA, S0, S

1, rdN

K3

K4

shlSC,

shrA

1

K5

SC00

K1 1

clL1

K2

ldSC, rdALU, S0, C

0

K6 1

ldA, S0, C

0, rdA

K7

ldS, rdA

Слика 15.б Дијаграми тока микрооперација и управљачких сигнала

У кораку K0 се проверава вредност сигнала NEG и у зависности од тога да ли сигнал

NEG има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта прелази на корак

K1.

У кораку K1 се вредношћу 1 сигнала clL1 на сигнал такта у регистар L1 уписује

вредност 0. На исти сигнал такта се прелази на корак K2.

У кораку K2 се вредностима 1 сигнала S0 и C0 на излазу јединице ALU појављује

садржај регистра L1 увећан за један, па ће се, пошто је у претходном кораку у регистар

L1 уписана вредност 0, на излазу јединице ALU формирати вредност 1, која се,

вредношћу 1 сигнала rdALU пропушта преко бафера са три стања на линије магистрале

M и вредношћу 1 сигнала ldSC на сигнал такта са линија магистрале M уписује у

регистар SC. На исти сигнал такта се прелази на корак K3.

У кораку K3 се вредношћу 1 сигнала rdN садржај регистра N пропушта преко бафера

са три стања на линије магистрале M и са њих вредношћу 0 сигнала S2 пропушта кроз

мултиплексер MP на улаз B јединице ALU, вредностима 1 сигнала S0 и S1 се даље

пропушта на излаз јединице ALU и вредношћу 1 сигнала ldA на сигнал такта уписује у

регистар A. На исти сигнал такта се прелази на корак K4.

У кораку K4 се вредношћу 1 сигнала сhlSC на сигнал такта садржај регистра SC

помера за једно место улево. Вредношћу 1 сигнала shrA на исти сигнал такта се и

садржај регистра A помера за једно место удесно, при чему се вредношћу 0 сигнала S3

Page 96: Zbirka - Projektovanje Upravljacke

94

на излазима мултиплексера MP појављује и по линији IR регистра А у разред А15

уписује комплемент А0. На исти сигнал такта се прелази на корак K5.

У кораку K5 се проверава вредност сигнала SC0 и у зависности од тога да ли сигнал

SC0 има вредност 0 или 1 на сигнал такта прелази или на корак K4 или на корак K6.

У кораку K6 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и са њих вредношћу 0 сигнала S2 пропушта кроз

мултиплексер MP на улаз B јединице ALU, вредностима 1 сигнала S0 и C0 на излазу

јединице ALU се формира садржај регистра A увећан за 1, који се вредношћу 1 сигнала

ldA на сигнал такта уписује у регистар A. На исти сигнал такта се прелази на корак K7.

У кораку K7 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и са њих вредношћу 1 сигнала ldS на сигнал такта

уписује у регистар S. На исти сигнал такта се прелази на корак K0.

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 15.в.

CLKCLK

D QK

0

Q

NEG

CLK

Sd

CLK

D QK

1

QRd

CLK

D QK

2

QRd

CLK CLK

D QK

3

QRd

CLK

CLK CLKCLK

D QK

5

QRd

SC0

CLKCLK

D QK

4

QRd

CLK

D QK

6

QRd

CLK

D QK

7

QRd

CLK

Слика 15.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clL1 = K1

ldA = K3 + K6

ldSC = K2

ldS = K7

S0 = K2 + K3 + K6

S1 = K3

C0 = K2 + K6

rdA = K6 + K7

rdALU = K2 rdN = K3

shlSC = K4

shrA = K4

у којима K0, K1, K2, ..., K7 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 15.б). Сви

остали управљачки сигнали су 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 15.б) и дата на

слици 15.г.

Page 97: Zbirka - Projektovanje Upravljacke

95

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3

K0 (000) / K0 (000) NEG 0 b 0 b 0 b

K1 (001) NEG 0 b 0 b 1 b

K1 (001) clL1 K2 (011) 1 0 b 1 b b 0

K2 (011) ldSC, rdALU, S0, C0 K3 (010) 1 0 b b 0 b 1

K3 (010) ldA, S0, S1, rdN K4 (110) 1 1 b b 0 0 b

K4 (110) shlSC, shrA K5 (111) 1 b 0 b 0 1 b

K5 (111) / K4 (110) 0SC b 0 b 0 b 1

K6 (101) SC0 b 0 b 1 b 0

K6 (101) rdA, S0, C0, ldA K7 (100) 1 b 0 0 b b 1

K7 (100) ldS, rdA K0 (000) 1 b 1 0 b 0 b

Слика 15.г.Таблица стања, прелаза/излаза и побуда флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=000, K1=001, K2=011, K3=010, K4=110, K5=111, K6=101, K7=100,

а за реализацију стања секвенцијалнe прекидачкe мрежe користе се флип-флопови Q1,

Q2 и Q3 типа JK

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clL1 = K1

ldA = K3 + K6

ldSC = K2

ldS = K7

S0 = K2 + K3 + K6

S1 = K3

C0 = K2 + K6

rdA = K6 + K7

rdALU = K2 rdN = K3

shlSC = K4

shrA = K4

у којима K0, K1, K2, ..., K7 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже придружених операционим блоковима у дијаграму тока

управљачких сигнала (слика 15.б). Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флопове Q1, Q2 и Q3 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K3

K1 = K7

J2 = K1

K2 = K5∙SC0

J3 = K0∙NEG + K4

K3 = K2 + K5∙ 0SC + K6

Page 98: Zbirka - Projektovanje Upravljacke

96

С обзирома на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q

K1= 1Q ∙ 2Q ∙Q3

K2= 1Q ∙Q2∙Q3

K3= 1Q ∙Q2∙ 3Q

K4= Q1∙Q2∙ 3Q

K5= Q1∙Q2∙Q3

K6= Q1∙ 2Q ∙Q3

K7= Q1∙ 2Q ∙ 3Q

Решење 2:

Дијаграми тока микрооперација и управљачких сигнала дати су на слици 15.д.

Израчунавање негације N другог комплемента целобројне вредности са знаком се

реализује према правилу до кога се долази уколико се посматра нека целобројна

вредност са знаком

10110000

и њена негација

01010000.

Када се крене од најмлађег ка старијим разредима уочава се да све док су у оригиналној

вредности нуле и у негацији су нуле. Када се у оригиналној вредности први пут појави

јединица и у негацији је јединица, али се надаље у негацији појављују нуле уколико су у

оригиналној вредности јединице и обрнуто. У том циљу се најпре садржај регистра N

пребацује у регистар A. Затим се садржај регистра A помера удесно и при томе по

линији IR у најстарији разред регистра A убацује A0 све док је A0 нула, затим се убацује

A0 када се први пут појави A0 јединица и до краја се убацује инвертована вредност

разреда A0. После 16 померања удесно у регистру A се налази негација оригиналног

садржаја регистра A. Померање садржаја регистра A удесно се реализује све време док

сигнал SC0 не постане 1. Уписивање вредности 1 у регистар SC и њено померање улево

се реализују на идентичан начин као и у претходном решењу.

Page 99: Zbirka - Projektovanje Upravljacke

97

K0

NEG0

K1 1

L1<=0

K2

SC<=1

SC15...0

<=SC14...0

.0,

A15...0

<=A0.A

15...1

K7

K4

A0

1

SC15...0

<=SC14...0

.0,

A15...0

<=A0.A

15...1

0

K6

1

K5

SC00

K8

SC01

SC15...0

<=SC14...0

.0,

A15...0

<=A0.A

15...1

0K9

A<=N

K3

S<=A

K10

K0

NEG0

K1 1

clL1

K2

ldSC, S0, C

0, rdALU

shlSC,

shrA, S3

K7

K4

A0

1

shlSC,

shrA, S3

0

K6

1

K5

SC00

K8

SC01

shlSC,

shrA

0K9

ldA, S0, S

1, rdN

K3

ldS, rdA

K10

Слика 15.д Дијаграми тока микрооперација и управљачких сигнала

У кораку K0 се проверава вредност сигнала NEG и у зависности од тога да ли сигнал

NEG има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта прелази на корак

K1.

У кораку K1 се вредношћу 1 сигнала clL1 на сигнал такта уписује нула у регистар L1.

На исти сигнал такта се прелази на корак K2.

У кораку K2 се вредношћу 1 сигнала S0 и C0 на излазу јединице ALU појављује

садржај регистра L1 увећан за један за 1, па ће се, пошто је у претходном кораку у

регистар L1 уписана 0, на излазу јединице ALU формирати вредност 1, која се

вредношћу 1 сигнала ldSC на сигнал такта уписује у регистар SC. На исти сигнал такта

се прелази на корак K3.

У кораку K3 се вредношћу 1 сигнала rdN садржај регистра N пропушта преко бафера

са три стања на линије магистрале M и са њих вредношћу 0 сигнала S2 пропушта кроз

мултиплексер MP на улаз B јединице ALU, вредностима 1 сигнала S0 и S1 се даље

пропушта на излаз јединице ALU и вредношћу 1 сигнала ldA на сигнал такта уписује у

регистар A. На исти сигнал такта се прелази на корак K4.

У кораку K4 се проверава вредност сигнала A0 и у зависности од тога да ли је сигнал

A0 неактиван или активан на сигнал такта се прелази или на корак K5 или на корак K7.

У кораку K5 се вредношћу 1 сигнала shlSC на сигнал такта садржај регистра SC

помера за једно место у лево. У кораку K4 се вредношћу 1 сигнала shrA на сигнал такта

садржај регистра A помера за једно место у десно, а због вредности 0 сигнала S3 у

разред највеће тежине се уписује најнижи бит садржаја регистра A. На исти сигнал

такта се прелази на корак K6.

Page 100: Zbirka - Projektovanje Upravljacke

98

У кораку K6 се проверава вредност сигнала SC0 и у зависности од тога да ли сигнал

SC0 има вредност 0 или 1 на сигнал такта се прелази или на корак K10 или на корак K4.

У кораку K7 се вредношћу 1 сигнала shlSC на сигнал такта садржај регистра SC

помера за једно место улево. У кораку K4 се вредношћу 1 сигнала shrA на сигнал такта

садржај регистра A помера за једно место удесно, а због вредности 0 сигнала S3 у разред

највеће тежине се уписује најнижи бит садржаја регистра A. На исти сигнал такта се

прелази на корак K8.

У кораку K8 се проверава вредност сигнала SC0 и у зависности од тога да ли сигнал

SC0 има вредност 0 или 1 на сигнал такта се прелази или на корак K9 или на корак K8.

У кораку K9 се вредношћу 1 сигнала shlSC на сигнал такта садржај регистра SC

помера за једно место улево. У кораку K4 се вредношћу 1 сигнала shrA на сигнал такта

садржај регистра A помера за једно место удесно, а због вредности 0 сигнала S3 у разред

највеће тежине се уписује комплемент најнижег бита садржаја регистра A. На исти

сигнал такта се прелази на корак K5.

У кораку K10 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и са њих вредношћу 1 сигнала ldS на сигнал такта

уписује у регистар S. На исти сигнал такта се прелази на корак K0.

Структурна шема управљачке јединице реализоване помоћу D флип-флопова

приказана је на слици 15.ђ.

CLKCLK

D QK

0

Q

NEG

CLK

Sd

CLK

D QK

1

QRd

CLK

D QK

2

QRd

CLK CLK

D QK

3

QRd

CLK

CLK

CLKCLK

D QK

5

QRd

CLK

D QK

4

QRd

A0

CLK

D QK

6

QRd

SC0

CLK

D QK

9

QRd

CLK

D QK

8

QRd

SC0

CLK

D QK

7

QRd

CLK CLK

D QK

10

QRd

CLK

CLK CLK

CLK

Слика 15.ђ Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clL1 = K1

ldA = K3 ldSC = K2

ldS = K10

S0 = K2 + K3 S1 = K3

Page 101: Zbirka - Projektovanje Upravljacke

99

C0 = K2

S3 = K5 + K7 rdA = K10

rdALU = K2 rdN = K3

shlSC = K5 + K7 + K9

shrA = K5 + K7 + K9

у којима K0, K1, K2, ..., K10 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 13.д). Сви

остали управљачки сигнали су 0.

Дискусија 1:

Дијаграми тока микрооперација и управљачких сигнала дати су на слици 15.е.

Из корака K6 се у случају када је сигнал SC0 нула не мора да иде на корак K4 и да се

из корака K4 проверава вредност сигнала A0 и прелази на корак K5 или K7. Уместо тога

из корака K6 се у случају када је сигнал SC0 нула одмах проверава вредност сигнала A0

и прелази на корак K5 или K7.

K0

NEG0

K1 1

L1<=0

K2

SC<=1

K4

A<=N

K3

K0

NEG0

K1 1

clL1

K2

ldSC, S0, C

0, rdALU

K4

ldA, S0, S

1, rdN

K3

SC15...0

<=SC14...0

.0,

A15...0

<=A0.A

15...1

K7

A0

1

SC15...0

<=SC14...0

.0,

A15...0

<=A0.A

15...1

0

K6

1

K5

SC00

K8

SC01

SC15...0

<=SC14...0

.0,

A15...0

<=A0.A

15...1

0K9

S<=A

K10

shlSC,

shrA, S3

K7

A0

1

shlSC,

shrA, S3

0

K6

1

K5

SC00

K8

SC01

shlSC,

shrA

0K9

ldS, rdA

K10

Слика 15.е Дијаграм тока микрооперација и управљачких сигнала

Структурна шема управљачке јединице реализоване помоћу D флип-флопова

приказана је на слици 15.ж.

Page 102: Zbirka - Projektovanje Upravljacke

100

CLKCLK

D QK

0

Q

NEG

CLK

Sd

CLK

D QK

1

QRd

CLK

D QK

2

QRd

CLK CLK

D QK

3

QRd

CLK

CLK

A0

SC0

CLK

D QK

9

QRd

CLK

D QK

8

QRd

SC0

CLK

D QK

7

QRd

CLK CLK

D QK

10

QRd

CLK CLK

CLK CLK

D QK

4

QRd

CLKCLK

D QK

5

QRd

CLK

D QK

6

QRd

CLK

Слика 15.ж Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу на исти начин као и у случају

решења управљачке јединице са слике 15.ђ.

Page 103: Zbirka - Projektovanje Upravljacke

101

1.16 ФАКТОРИЈЕЛ - NFAK

На слици 16.a је приказана структурна шема дела операционе јединице процесора. У

регистру N дужине 16 разреда налази се бинарна вредност коју треба интерпретирати

као целобројну величину без знака n (n0). Микрооперације које се реализују у

јединици ALU су дате у табели 16.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе NFAK која израчунава факторијел целобројне вредности из регистра N и

резултат смешта у регистар S. Фаза извршавања наредбе започиње уколико сигнал

NFAK има вредност 1. Претпоставити да се у регистру N налази вредност која

омогућава да се извршавање наредбе реализује коректно и да се добије вредност која

може да се смести у регистар S.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

rdS

1616

1616 M 16

rdN

16

SCLK

16

CLKNCLK

16

CLK

16

LD ldNLD ldS

16

16

SC

16

CLKCLKLD ldSC

DEC decSC DEC decN

1616SC0

16

16

L1CLKCLKLD

CL

ldL1

clL1

16

16 16

ALU

S0

S1

S0

S1

C0 C

0

A

16 16

B

C16

C16

F

16

16

ACL clA

16 16rdA

LD ldACLKCLK

Слика 16.a Структурна шема операционе јединице

S0 S1 F0 0 0 B+C0

0 1 BC0

1 0 A+B

1 1 AB

Табела 16 Микрооперације у јединици ALU

Решење: a) Дијаграм тока микрооперација и управљачких сигнала дати су на слици 16.б.

Израчунавање факторијела n се реализује на следећи начин. Почетни парцијални

факторијел је n и он се сабира (n-1) пута и тиме добија нови парцијални факторијел

n(n-1). Новодобијени парцијални факторијел n(n-1) се сабира (n-2) пута и тиме добија

нови парцијални факторијел n(n-1)(n-2). Описани поступак се понавља укупно (n-1)

пута док се не добије парцијални факторијел n(n-1)(n-2)...21 који је и тражени

факторијел n.

Page 104: Zbirka - Projektovanje Upravljacke

102

K0

NFAK0

K1

K2

1

A<=0, SC<=N, S<=N

A<=A+1

S<=A

K4

SC00

K3 1

K5 1

K0

NFAK0

K1

K2

1

clA, ldSC, ldS, rdN

ldA, C0, rdA

ldS, rdA

K4

SC00

K3 1

decSC

K5 1

SC01

0

N<=SC

K7

L1<=S, A<=0

K8

K10

K11 1

S<=A

K12

SC<=N

SC00

A<=A+L1, SC<=SC1

K9

SC01

0

ldN, rdSC

K7

ldL1, rdS, clA

K8

K10

K11 1

ldS, rdA

K12

ldSC, rdN

SC00

ldA, S0, rdA, decSC

K9

SC<=SC1

K6

K6

Слика 16.б Дијаграм тока микрооперација и управљачких сигнала

Почетни и сваки новодобијени парцијални факторијел се увек чува у регистру S, а

информација колико још пута треба рачунати парцијалне факторијеле у регистру N. Код

сваког израчунавања парцијалног факторијела најпре се садржај регистра N смањи за

један и уколико је добијена вредност нула завршава са радом, док се у супротном

случају прелази на израчунавање новог парцијалног факторијела. Стога се на почетку

рада у регистар S уписује вредност n, а у регистар N вредност (n-1). Затим се n које

представља садржај регистра S пребацује у регистар L1 и сабира (n-1) пута колико је

садржај регистра N, чиме се добија нови парцијални факторијел n(n-1). Нови

парцијални факторијел n(n-1) се смешта у регистар S, а садржај регистар N

декрементира. Уколико је добијена вредност у регистру нула завршава се са

срачунавањем, док се у супротном случају прелази на срачунавање новог парцијалног

факторијела. За одбројавање колико пута треба сабирати садржај регистра L1 се

користи регистар SC у који се на почетку сваког сабирања уписује декрементирана

вредност регистра N. На почетку се још обезбеђује да се, уколико је N = 0, као вредност

Page 105: Zbirka - Projektovanje Upravljacke

103

факторијела у регистар S уписује 1. S друге стране, уколико је N = 1, факторијел је 1 и

ова вредност се добија у регистру S пребацивањем садржаја регистра N у регистар S.

У кораку K0 се проверава вредност сигнала NFAK и у зависности од тога да ли

сигнал NFAK има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта прелази

на корак K1.

У кораку K1 се вредношћу 1 сигнала clA на сигнал такта уписује нула у регистар A. У

кораку K1 се вредношћу 1 сигнала rdN садржај регистра N пропушта преко бафера са

три стања на линије магистрале M и преко њих, између осталог, води на улазе регистара

SC и S и вредношћу 1 сигнала ldSC и ldS на сигнал такта уписује у регистре SC и S. На

исти сигнал такта се прелази на корак K2.

У кораку K2 се проверава вредност сигнала SC0 и у зависности од тога да ли сигнал

SC0 има вредност 0 или 1 прелази или на корак K5 или на корак K3.

У кораку K3 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз B

јединице ALU, вредностима 0 сигнала S0 и S1 и вредношћу 1 сигнала C0 на излазу

јединице ALU се формира садржај регистра A увећан за 1, који се вредношћу 1 сигнала

ldA на сигнал такта уписује у регистар A. На исти сигнал такта се прелази на корак K4.

У кораку K4 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и са њих води, између осталог, на улаз регистра S

и вредношћу 1 сигнала ldS на сигнал такта уписује у регистар S. На исти сигнал такта

се прелази на корак K0.

У кораку K5 се вредношћу 1 сигнала decSC на сигнал такта садржај регистра SC

декрементира. На исти сигнал такта се прелази на корак K6.

У кораку K6 се проверава вредност сигнала SC0 и у зависности од тога да ли сигнал

SC0 има вредност 0 или 1 на сигнал такта се прелази или на корак K7 или на корак K0.

У кораку K7 се вредношћу 1 сигнала rdSC садржај регистра SC пропушта преко

бафера са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра N и вредношћу 1 сигнала ldN на сигнал такта уписује у регистар N. На исти

сигнал такта се прелази на корак K8.

У кораку K8 се вредношћу 1 сигнала clA на сигнал такта уписује нула у регистар A. У

кораку K8 се вредношћу 1 сигнала rdSC садржај регистра SC пропушта преко бафера са

три стања на линије магистрале M и са њих води, између осталог, на улаз регистра N и

вредношћу 1 сигнала ldN на сигнал такта уписује у регистар N. На исти сигнал такта се

прелази на корак K9.

У кораку K9 се вредношћу 1 сигнала decSC на сигнал такта садржај регистра SC

декрементира. У кораку K9 се вредношћу 1 сигнала rdA садржај регистра A пропушта

преко бафера са три стања на линије магистрале M и преко њих води, између осталог,

на улаз B јединице ALU, на улазу A јединице ALU присутан је садржај регистра L1,

вредношћу 1 сигнала S0 на излазу јединице ALU се формира сума садржаја регистра L1

и A, која се вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. На исти

сигнал такта се прелази на корак K10.

У кораку K10 се проверава вредност сигнала SC0 и у зависности од тога да ли сигнал

SC0 има вредност 0 или 1 на сигнал такта прелази или на корак K9 или на корак K11.

У кораку K11 се вредношћу 1 сигнала rdA на линије магистрале M пропушта садржај

регистра A, који се вредношћу 1 сигнала ldS на сигнал такта уписује у регистар S. На

исти сигнал такта се прелази на корак K12.

У кораку K12 се вредношћу 1 сигнала rdN садржај регистра N пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра SC и вредношћу 1 сигнала ldSC на сигнал такта уписује у регистар SC. На

исти сигнал такта се прелази на корак K5.

Page 106: Zbirka - Projektovanje Upravljacke

104

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 16.в.

CLKCLK

D QK

0

Q

SC0

CLK

Sd

CLK

D QK

1

QRd

CLK

D QK

2

QRd

CLKCLK

D QK

3

QRd

CLK

CLK

CLK

D QK

4

QRd

CLK

CLK

D QK

6

QRd

SC0

CLKCLK

D QK

5

QRd

NFAK

CLK CLK

D QK

10

QRd

SC0

CLKCLK

D QK

9

QRd

CLK

D QK

7

QRd

CLK

D QK

8

QRd

CLK

D QK

11

QRd

CLK

D QK

12

QRd

CLK

CLKCLKCLK

Слика 16.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1 + K8

ldA = K3 + K9 ldN = K7

ldSC = K1 + K12

ldS = K1 + K4 + K11

ldL1 = K8

S0 = K9

C0 = K3

rdA = K3 + K4 + K9 + K11

rdN = K1 + K12

rdS = K8

rdSC = K7

decSC = K5 + K9

у којима K0, K1, K2, ..., K12 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 16.б). Сви

остали управљачки сигнали су 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 16.б) и дата на

слици 16.г.

Page 107: Zbirka - Projektovanje Upravljacke

105

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K0 (0000) / K0 (0000) NFAK 0 b 0 b 0 b 0 b

K1 (0001) NFAK 0 b 0 b 0 b 1 b

K1 (0001) clA, ldSC, ldS, rdN K2 (0011) 1 0 b 0 b 1 b b 0

K2 (0011) / K3 (0010) SC0 0 b 0 b b 0 b 1

K5 (0111) 0SC 0 b 1 b b 0 b 0

K3 (0010) ldA, C0, rdA K4 (0110) 1 0 b 1 b b 0 0 b

K4 (0110) ldS, rdA K0 (0000) 1 0 b b 1 b 1 0 b

K5 (0111) decSC K6 (0101) 1 0 b b 0 b 1 b 0

K6 (0101) / K0 (0000) SC0 0 b b 1 0 b b 1

K7 (0100) 0SC 0 b b 0 0 b b 1

K7 (0100) ldN, rdSC K8 (1100) 1 1 b b 0 0 b 0 b

K8 (1100) ldL1, rdS, clA K9 (1101) 1 b 0 b 0 0 b 1 b

K9 (1101) ldA, S0, rdA, decSC K10 (1111) 1 b 0 b 0 1 b b 0

K10 (1111) K9 (1101) 0SC b 0 b 0 b 1 b 0

K11 (1110) SC0 b 0 b 0 b 0 b 1

K11 (1110) ldS, rdA K12 (1010) 1 b 0 b 1 b 0 0 b

K12 (1010) ldSC, rdN K5 (0111) 1 b 1 1 b b 0 1 b

Слика 16.г.Таблица стања, прелаза/излаза и побудa флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=0000, K1=0001, K2=0011, K3=0010, K4=0110, K5=0111, K6=0101, K7=0100,

K8=1100, K9=1101, K10=1111, K11=1110, K12=1010,

а за реализацију стања секвенцијалне прекидачке мреже користе се флип-флопови Q1,

Q2, Q3 и Q4 типа JK.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1 + K8

ldA = K3 + K9 ldN = K7

ldSC = K1 + K12

ldS = K1 + K4 + K11

ldL1 = K8

S0 = K9

C0 = K3

rdA = K3 + K4 + K9 + K11

rdN = K1 + K12

rdS = K8

rdSC = K7

decSC = K5 + K9

Page 108: Zbirka - Projektovanje Upravljacke

106

у којима K0, K1, K2, ..., K12 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже придружених операционим блоковима у дијаграму тока управљачких

сигнала (слика 16.б). Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флоповa Q1, Q2, Q3 и Q4 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K7

K1 = K12

J2 = K2∙ 0SC + K3 + K12

K2 = K4 + K6∙SC0 + K11

J3 = K1 + K9

K3 = K4 + K5 + K10∙ 0SC

J4 = K0∙NFAK + K8 + K12

K4 = K2∙SC0 + K6 + K10∙SC0

С обзиром на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q ∙ 4Q

K1= 1Q ∙ 2Q ∙ 3Q ∙Q4

K2= 1Q ∙ 2Q ∙Q3∙Q4

K3= 1Q ∙ 2Q ∙Q3∙ 4Q

K4= 1Q ∙Q2∙Q3∙ 4Q

K5= 1Q ∙Q2∙Q3∙Q4

K6= 1Q ∙Q2∙ 3Q ∙Q4

K7= 1Q ∙Q2∙ 3Q ∙ 4Q

K8= Q1∙Q2∙ 3Q ∙ 4Q

K9= Q1∙Q2∙ 3Q ∙Q4

K10= Q1∙Q2∙Q3∙Q4

K11= Q1∙Q2∙Q3∙ 4Q

K12= Q1∙ 2Q ∙Q3∙ 4Q

Page 109: Zbirka - Projektovanje Upravljacke

107

1.17 MNK

На слици 17.a је приказана структурна шема дела операционе јединице процесора. У

регистру N и K дужине 16 разреда налази се бинарне вредности које треба

интерпретирати као целобројне вредности без знака n и k, респективно (nk и k0).

Микрооперације које се реализују у јединици ALU су дате у табели 17.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе MNK која израчунава производ

n(n-1)(n-2)...(n-(k1))

и резултат смешта у регистар S. Фаза извршавања наредбе започиње уколико сигнал

MNK има вредност 1. Претпоставити да се у регистрима N и K налазе вредности које

омогућавају да се извршавање наредбе реализује коректно и да се добије вредност која

може да се смести у регистар S.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

16

L1CLKCLKLD

CL

ldL1

clL1

16

16 16

ALU

S0

S1

S0

S1

C0 C

0

A

16 16

B

C16

C16

F

16

1616

16

rdN

16

rdSC

16

NCLK

16

CLKLD ldN

16

16

SC

16

CLKCLKLD ldSC

DEC decSC DEC decN

1616SC0

16

rdS

16

SCLK

16

CLK

16

LD ldS

rdK

16

KCLK

16

CLK

16

LD ldK

16

16

ACL clA

16 16rdA

LD ldACLKCLK

M

Слика 17.a Структурна шема операционе јединице

S0 S1 F0 0 0 B+C0

0 1 BC0

1 0 A+B

1 1 AB

Табела 17 Микрооперације у јединици ALU

Решење: a) Дијаграм тока микрооперација и управљачких сигнала дати су на слици 17.б.

Израчунавање израза n(n-1)(n-2)...(n-(k1)) се реализује на сличан начин као

израчунавање n факторијела n(n-1)(n-2)...21. Почетни парцијални производ је n и он

се сабира (n-1) пута и тиме добија нови парцијални производ n(n-1). Новодобијени

парцијални производ n(n-1) се сабира (n-2) пута и тиме добија нови парцијални

производ n(n-1)(n-2). Ово се понавља (k-1) пута док се не добије парцијални производ

Page 110: Zbirka - Projektovanje Upravljacke

108

n(n-1)(n-2)...(n-(k1)) који је и тражени производ. Почетни и сваки новодобијени

парцијални производ се увек чува у регистру S, информација колико пута се парцијални

производ треба сабирати се чува у регистру N и информација колико још пута треба

срачунавати парцијалне производе у регистру K. Код сваког срачунавања парцијалног

производа најпре се садржај регистра K смањи за један и уколико је добијена вредност

нула завршава са срачунавањем, док се у супротном случају прелази на срачунавање

новог парцијалног производа. Поред тога, на почетку срачунавања производа у регистар

S уписује се вредност n, а у регистар N вредност (n-1). Затим се n које представља

садржај регистра S пребацује у регистар L1 и сабира (n-1) пута колико је садржај

регистра N, чиме се добија нови парцијални производ n(n-1). Нови парцијални

производ n(n-1) се смешта у регистар S, а садржај регистар K декрементира. Уколико је

добијена вредност у регистру нула завршава се са срачунавањем, док се у супротном

случају прелази на срачунавање новог парцијалног производа. За одбројавање колико

пута треба сабирати садржај регистра L1 се користи регистар SC у који се на почетку

сваког сабирања уписује декрементирана вредност регистра N. Регистар K нема

могућност декрементирања, па се декрементирање садржаја регистра K реализује тако

што се садржај регистра K пребаци у регистар SC, изврши декрементирање и добијена

вредност врати у регистар K. Том приликом се на основу вредности сигнала SC0

утврђује да ли је овим декрементирањем добијена вредност нула и уколико јесте

завршава са срачунавањем парцијалних производа, док се у супротном случају прелази

на срачунавање новог парцијалног производа.

K0

MNK0

K5

K<=SC, N<=N1

SC<=N, A<=0

K7

SC01

K6 0

K1 1

S<=N

K2 1

L1<=S

K3 1

SC<=K

K4 1

SC<=SC1

K9

K10 1

S<=A

SC00

A<=A+L1, SC<=SC1

K8

K0

MNK0

K5

ldK, rdSC, decN

ldSC, rdN, clA

K7

SC01

K6 0

K1 1

ldS, rdN

K2 1

ldL1, rdS

K3 1

ldSC, rdK

K4 1

decSC

K9

K10 1

ldS, rdA

SC00

ldA, S0, rdA, decSC

K8

Слика 17.б Дијаграм тока микрооперација и управљачких сигнала

У кораку K0 се проверава вредност сигнала MNK и у зависности од тога да ли сигнал

MNK има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта прелази на корак

K1.

У кораку K1 се вредношћу 1 сигнала rdN садржај регистра N пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

Page 111: Zbirka - Projektovanje Upravljacke

109

регистра S и вредношћу 1 сигнала ldS на сигнал такта уписује у регистар S. На исти

сигнал такта се прелази на корак K2.

У кораку K2 се вредношћу 1 сигнала rdS садржај регистра S пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра L1 и вредношћу 1 сигнала ldL1 на сигнал такта уписује у регистар L1. На исти

сигнал такта се прелази на корак K3.

У кораку K3 се вредношћу 1 сигнала rdK садржај регистра K пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра SC и вредношћу 1 сигнала ldSC на сигнал такта уписује у регистар SC. На

исти сигнал такта се прелази на корак K4.

У кораку K4 се због вредности 1 сигнала decSC на сигнал такта декрементира

садржај регистра SC. На исти сигнал такта се прелази на корак K5.

У кораку K5 се проверава вредност сигнала SC0 и у зависности од тога да сигнал SC0

има вредност 0 или 1 прелази или на корак K6 или на корак K0.

У кораку K6 се вредношћу 1 сигнала rdSC садржај регистра SC пропушта преко

бафера са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра K и вредношћу 1 сигнала ldK на сигнал такта уписује у регистар K. У кораку

K6 се и вредношћу 1 сигнала decN на сигнал такта декрементира садржај регистра SC.

На исти сигнал такта се прелази на корак K7.

У кораку K7 се вредношћу 1 сигнала rdN садржај регистра N пропушта преко бафера

са три стања на линије магистрале M пропушта и преко њих води, између осталог, на

улаз регистра SC и вредношћу 1 сигнала ldSC на сигнал такта уписује у регистар SC. У

кораку K7 се и вредношћу 1 сигнала clA на сигнал такта уписује нула у регистар A. На

исти сигнал такта се прелази на корак K8.

У кораку K8 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M пропушта и преко њих води, између осталог, на

улаз B јединице ALU, на улазу A јединице ALU присутан је садржај регистра L1,

вредношћу 1 сигнала S0 се на излазу јединице ALU формира сума садржаја регистара

L1 и A, која се вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. На исти

сигнал такта се прелази на корак K9.

У кораку K9 се проверава вредност сигнала SC0 и у зависности од тога да ли сигнал

SC0 има вредност 0 или 1 прелази или на корак K8 или на корак K10.

У кораку K10 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра S и вредношћу 1 сигнала ldS на сигнал такта уписује у регистар S. На исти

сигнал такта се прелази на корак K2.

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 17.в.

Page 112: Zbirka - Projektovanje Upravljacke

110

CLKCLK

D QK

0

Q

CLK

Sd

CLK

D QK

1

QRd

CLK

MNK

CLK

D QK

2

QRd

CLK CLK

D QK

3

QRd

CLK

D QK

4

QRd

SC0

CLK

D QK

5

QRd

CLK

CLK

D QK

7

QRd

CLK

D QK

6

QRd

CLK

D QK

8

QRd

CLKCLKCLK CLK CLK

D QK

10

QRd

CLK

D QK

9

QRd

SC0

Слика 17.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K7

ldA = K8 ldSC = K3 + K7

ldS = K1 + K10

ldL1 = K2

ldK = K6

S0 = K8

rdA = K8 + K10

rdN = K1 + K7

rdS = K2

rdSC = K6

rdK = K3

decSC = K4 + K8

decN = K6

у којима K0, K1, K2, ..., K10 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 17.б). Сви

остали управљачки сигнали су 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 17.б) и дата на

слици 17.г.

Page 113: Zbirka - Projektovanje Upravljacke

111

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K0 (0000) / K0 (0000) MNK 0 b 0 b 0 b 0 b

K1 (0001) MNK 0 b 0 b 0 b 1 b

K1 (0001) ldS, rdN K2 (0011) 1 0 b 0 b 1 b b 0

K2 (0011) ldL1, rdS K3 (0010) 1 0 b 0 b b 0 b 1

K3 (0010) ldSC, rdK K4 (0110) 1 0 b 1 b b 0 0 b

K4 (0110) decSC K5 (0111) 1 0 b b 0 b 0 1 b

K5 (0111) / K0 (0000) SC0 0 b b 1 b 1 b 1

K6 (0101) 0SC 0 b b 0 b 1 b 0

K6 (0101) ldK, rdSC, decN K7 (0100) 1 0 b b 0 0 b b 1

K7 (0100) ldSC, rdN, clA K8 (1100) 1 1 b b 0 0 b 0 b

K8 (1100) ldA, S0, rdA, decSC K9 (1101) 1 b 0 b 0 0 b 1 b

K9 (1101) / K8 (1100) 0SC b 0 b 0 0 b b 1

K10 (1111) SC0 b 0 b 0 1 b b 0

K10 (1111) ldS, rdA K2 (0011) 1 b 1 b 1 b 0 b 0

Слика 17.г.Таблица стања, прелаза/излаза и побудa флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=0000, K1=0001, K2=0011, K3=0010, K4=0110, K5=0111, K6=0101, K7=0100,

K8=1100, K9=1101, K10=1111,

а за реализацију стања секвенцијалне прекидачке мреже користе се флип-флопови Q1,

Q2, Q3 и Q4 типа JK.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K7

ldA = K8 ldSC = K3 + K7

ldS = K1 + K10

ldL1 = K2

ldK = K6

S0 = K8

rdA = K8 + K10

rdN = K1 + K7

rdS = K2

rdSC = K6

rdK = K3

decSC = K4 + K8

decN = K6

у којима K0, K1, K2, ..., K10 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже придружених операционим блоковима у дијаграму тока

управљачких сигнала (слика 17.б). Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флоповa Q1, Q2, Q3 и Q4 типа JK и комбинационе

Page 114: Zbirka - Projektovanje Upravljacke

112

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K7

K1 = K10

J2 = K3

K2 = K5∙SC0+ K10

J3 = K1 + K9∙SC0

K3 = K5

J4 = K0∙MNK + K4 + K8

K4 = K2 + K5∙SC0 + K6 + K9∙ 0SC

С обзиром на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q ∙ 4Q

K1= 1Q ∙ 2Q ∙ 3Q ∙Q4

K2= 1Q ∙ 2Q ∙ Q3∙Q4

K3= 1Q ∙ 2Q ∙Q3∙ 4Q

K4= 1Q ∙Q2∙Q3∙ 4Q

K5= 1Q ∙Q2∙Q3∙Q4

K6= 1Q ∙Q2∙ 3Q ∙Q4

K7= 1Q ∙Q2∙ 3Q ∙ 4Q

K8= Q1∙Q2∙ 3Q ∙ 4Q

K9= Q1∙Q2∙ 3Q ∙Q4

K10= Q1∙Q2∙Q3∙Q4

Page 115: Zbirka - Projektovanje Upravljacke

113

1.18 SUM

На слици 18.a је приказана структурна шема дела операционе јединице процесора. У

регистру N дужине 16 разреда налази се бинарна вредност коју треба интерпретирати

као целобројну величину без знака n (n0). Микрооперације које се реализују у

јединици ALU су дате у табели 18.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе SUM која израчунава суму

n

0i2

)1i(i

и резултат смешта у регистар S. Фаза извршавања наредбе започиње уколико сигнал

SUM има вредност 1. Претпоставити да се у регистру N налази вредност које омогућује

да се извршавање наредбе реализује коректно и да се добије вредност која може да се

смести у регистар S.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

rdS

1616

1616 M 16

rdSC

16

SCLK

16

CLKNCLK

16

CLK

16

LD ldNLD ldS

16

16

SC

16

CLKCLKLD ldSC

DEC decSC DEC decN

1616SC0

16

16

L1CLKCLKLD

CL

ldL1

clL1

16

16 16

ALU

S0

S1

S0

S1

C0 C

0

A

16 16

B

C16

C16

F

16

16

ACLK CLK

LD ldA

16 16rdA

SHRshrA

CLclAIR0

rdN

Слика 18.a Структурна шема операционе јединице

S0 S1 F0 0 0 AC0

0 1 B+C0

1 0 BC0

1 1 A+B

Табела 18 Микрооперације у јединици ALU

Решење: a) Дијаграм тока микрооперација и управљачких сигнала дати су на слици 18.б.

Решење описане операције је слично решењу претходна два задатка. Разлика је у

потреби реализације дељења са 2. Операција дељења се обавља у регистру A

померањем садржаја овог регистра за једно место у десно и уписом вредности 0 на

место најстаријег разреда.

Page 116: Zbirka - Projektovanje Upravljacke

114

K0

SUM0

K1 1

A<=0

K2 1

SC<=N, L1<=N

K3

1

S<=A, A<=0

K4 0

SC<=SC1

SC0

K5

SC01

0

K7

SC00

A<=A+L1, SC<=SC1

K6

K8 1

A15...0

<=0.A15...1

, L1<=S

K9

A<=A+L1, N<=N1

K0

SUM0

K1 1

clA

K2 1

ldSC, ldL1, rdN

K3

1

ldS, rdA, clA

K4 0

decSC

SC0

K5

SC01

0

K7

SC00

ldA, S0, S

1, rdA, decSC

K6

K8 1

shrA, ldL1, rdS

K9

ldA, S0, S

1, rdA, decN

Слика 18.б Дијаграми тока микрооперација и управљачких сигнала

У кораку K0 се проверава вредност сигнала SUM и у зависности од тога да ли сигнал

SUM има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта прелази на корак

K1.

У кораку K1 се због вредности 1 сигнала clA на сигнал такта уписује нула у регистар

A. На исти сигнал такта се прелази на корак K2.

У кораку K2 се вредношћу 1 сигнала rdN садржај регистра N пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улазе

регистара SC и L1 и вредношћу 1 сигнала ldSC и ldL1 на сигнал такта уписује у

регистре SC и L1. На исти сигнал такта се прелази на корак K3.

У кораку K3 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра S и вредношћу 1 сигнала ldS на сигнал такта уписује у регистар S. У кораку K3

се и вредношћу 1 сигнала clA на сигнал такта уписује нула у регистар A. У кораку K3 се

и проверава вредност сигнала SC0 и у зависности од тога да ли сигнал SC0 има

вредност 0 или 1 на сигнал такта прелази или на корак K4 или на корак K0.

У кораку K4 се вредношћу 1 сигнала decSC на сигнал такта декрементира садржај

регистра SC. На исти сигнал такта се прелази на корак K5.

У кораку K5 се проверава вредност сигнала SC0 и у зависности од тога да сигнал SC0

има вредност 0 или 1 прелази или на корак K6 или на корак K0.

У кораку K6 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз B

јединице ALU, на улазу A јединице ALU присутан је садржај регистра L1, вредностима

1 сигнала S0 и S1 се на излазу јединице ALU формира сума садржаја регистара L1 и A,

која се вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. У кораку K6 се и

вредношћу 1 сигнала decSC на сигнал такта декрементира садржај регистра SC. На

исти сигнал такта се прелази на корак K7.

Page 117: Zbirka - Projektovanje Upravljacke

115

У кораку K7 се проверава вредност сигнала SC0 и у зависности од тога да ли сигнал

SC0 има вредност 0 или 1 на сигнал такта прелази или на корак K6 или на корак K8.

У кораку K8 се вредношћу 1 сигнала rdS садржај регистра S пропушта на линије

магистрале M и преко њих води, између осталог, на улаз регистра L1 и вредношћу 1

сигнала ldL1 на сигнал такта уписује у регистар L1. У кораку K8 се и вредношћу 1

сигнала shrA на сигнал такта садржај регистра A помера за једно место удесно. На исти

сигнал такта се прелази на корак K9.

У кораку K9 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз B

јединице ALU, на улазу A јединице ALU присутан је садржај регистра L1, вредностима

1 сигнала S0 и S1 се на излазу јединице ALU формира сума садржаја регистара L1 и A,

која се вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. У кораку K9 се и

због вредности 1 сигнала decN на сигнал такта декрементира садржај регистра N. На

исти сигнал такта се прелази на корак K2.

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 18.в.

CLKCLK

D QK

7

QRd

CLK

D QK

6

QRd

CLK

D QK

8

QRd

CLKCLKCLK CLK

D QK

9

QRd

SC0

CLK CLKCLK

D QK

2

QRd

CLK

SC0

CLK

D QK

3

QRd

CLK

D QK

4

QRd

CLK

SC0

CLK

D QK

5

QRd

CLKCLK

D QK

0

Q

CLK

Sd

CLK

D QK

1

QRd

SUM

Слика 18.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1 + K3

ldA = K6 + K9 ldSC = K2

ldS = K3

ldL1 = K2 + K8

S0 = K6 + K9

S1 = K6 + K9

rdA = K3 + K6 + K9

rdN = K2

rdS = K8

decSC = K4 + K6

decN = K9

shrA = K8

Page 118: Zbirka - Projektovanje Upravljacke

116

у којима K0, K1, K2, ..., K11 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 18.б). Сви

остали управљачки сигнали су 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 18.б) и дата на

слици 18.г.

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K0 (0000) / K0 (0000) SUM 0 b 0 b 0 b 0 b

K1 (0001) SUM 0 b 0 b 0 b 1 b

K1 (0001) clA K2 (0011) 1 0 b 0 b 1 b b 0

K2 (0011) ldSC, ldL1, rdN K3 (0010) 1 0 b 0 b b 0 b 1

K3 (0010) ldS, rdA, clA K0 (0000) SC0 0 b 0 b b 1 0 b

K4 (0110) 0SC 0 b 1 b b 0 0 b

K4 (0110) decSC K5 (0111) 1 0 b b 0 b 0 1 b

K5 (0111) / K0 (0000) SC0 0 b b 1 b 1 b 1

K6 (0101) 0SC 0 b b 0 b 1 b 0

K6 (0101) ldA, S0, S1, rdA, decSC K7 (0100) 1 0 b b 0 0 b b 1

K7 (0100) / K6 (0101) 0SC 0 b b 0 0 b 1 b

K8 (1100) SC0 1 b b 0 0 b 0 b

K8 (1100) shrA, ldL1, rdS K9 (1101) 1 b 0 b 0 0 b 1 b

K9 (1101) ldA, S0, S1, rdA, decN K2 (0011) 1 b 1 b 1 1 b b 0

Слика 18.г.Таблица стања, прелаза/излаза и побуда флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=0000, K1=0001, K2=0011, K3=0010, K4=0110, K5=0111, K6=0101, K7=0100,

K8=1100, K9=1101,

а за реализацију стања секвенцијалне прекидачке мреже користе се флип-флопови Q1,

Q2, Q3 и Q4 типа JK.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1 + K3

ldA = K6 + K9 ldSC = K2

ldS = K3

ldL1 = K2 + K8

S0 = K6 + K9

S1 = K6 + K9

rdA = K3 + K6 + K9

rdN = K2

rdS = K8

decSC = K4 + K6

decN = K9

shrA = K8

Page 119: Zbirka - Projektovanje Upravljacke

117

у којима K0, K1, K2, ..., K9 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже придружених операционим блоковима у дијаграму тока

управљачких сигнала (слика 18.б). Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флоповa Q1, Q2, Q3 и Q4 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K7∙SC0

K1 = K9

J2 = K3∙ 0SC

K2 = K5∙SC0+ K9

J3 = K1 + K9

K3 = K3∙SC0+ K5

J4 = K0∙SUM + K4 + K7∙ 0SC + K8

K4 = K2 + K5∙SC0+ K6

С обзиром на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q ∙ 4Q

K1= 1Q ∙ 2Q ∙ 3Q ∙Q4

K2= 1Q ∙ 2Q ∙ Q3∙Q4

K3= 1Q ∙ 2Q ∙Q3∙ 4Q

K4= 1Q ∙Q2∙Q3∙ 4Q

K5= 1Q ∙Q2∙Q3∙Q4

K6= 1Q ∙Q2∙ 3Q ∙Q4

K7= 1Q ∙Q2∙ 3Q ∙ 4Q

K8= Q1∙Q2∙ 3Q ∙ 4Q

K9= Q1∙Q2∙ 3Q ∙Q4

Page 120: Zbirka - Projektovanje Upravljacke

118

1.19 SMS

На слици 19.a је приказана структурна шема дела операционе јединице процесора. У

регистру N дужине 16 разреда налази се бинарна вредност коју треба интерпретирати

као целобројну вредности без знака n (n0). Микрооперације које се реализују у

јединици ALU су дате у табели 19.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе SMS која израчунава израз

n

0i

i2i

у коме је n (n0) целобројна вредност из регистра N и резултат смешта у регистар S.

Фаза извршавања наредбе започиње уколико сигнал SMS има вредност 1.

Претпоставити да се у регистру N налази вредност која омогућује да се извршавање

наредбе реализује коректно и да се добије вредност која може да се смести у регистар S.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

1616

16

L1CLKCLKLD

CL

ldL1

clL1

16

16 16

ALU

S0

S1

S0

S1

C0 C

0

A

16 16

B

C16

C16

F

16

SC

16

CLKCLKLD ldSC

DEC decSC

1616SC0

rdS

1616

rdN

16

SCLK

16

CLKNCLK

16

CLK

16

LD ldNLD ldS

16

16

DEC decN

16

ASHL shlA

CL clA

16 16rdA

LD

CLKCLKIL 0

ldA

16A0

Слика 19.a Структурна шема операционе јединице

S0 S1 F0 0 0 A+C0

0 1 B+C0

1 0 A+B

1 1 BC0

Табела 19 Микрооперације у јединици ALU

Решење: a) Дијаграм тока микрооперација и управљачких сигнала дати су на слици 19.б.

Израчунавање парцијалног члана i2i се обавља тако што се вредност и памти у

регистру N и на почетку израчунавања парцијалног члана упише у регистре SC и A.

Затим се у свакој итерацији вредност регистра A помери за једно место улево и

вредност регистра SC се смањи за 1. Испитује се да ли је у регистру SC добијена

Page 121: Zbirka - Projektovanje Upravljacke

119

вредност 0, јер то представља тренутак када је првобитна вредност регистра A

помножена са вредношћу 2i. Сабирање парцијалних чланова се обавља на идентичан

начин као и у претходним примерима.

K0

SMS0

K1 1

A<=0

K2

S<=A

K3

A<=N, SC<=N

K4

SC01

0

K6

SC00

A15...0

<=A14...0

.0, SC<=SC1

K5

S<=A

K10

A<=N1

K11

N<=A, SC<=A

K8

A<=S+L1

K9

K7 1

L1<=A

K0

SMS0

K1 1

clA

K2

ldS, rdA

K3

ldA, ldSC, S1, rdN

K4

SC01

0

K6

SC00

shlA, decSC

K5

ldS, rdA

K10

ldA, S0, S

1, C

0, rdN

K11

ldN, ldSC, rdA

K8

ldA, S0, rdS

K9

K7 1

ldL1, rdA

Слика 19.б Дијаграм тока микрооперација и управљачких сигнала

У кораку K0 се проверава вредност сигнала SMS и у зависности од тога да ли сигнал

SMS има вредност 0 или 1 или остаје у кораку K0 или на сигнал такта прелази на корак

K1.

У кораку K1 се вредношћу 1 сигнала clA на сигнал такта уписује нула у регистар A.

На исти сигнал такта се прелази на корак K2.

У кораку K2 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра S и вредношћу 1 сигнала ldS на сигнал такта уписује у регистар S. На исти

сигнал такта се прелази на корак K3.

У кораку K3 се вредношћу 1 сигнала rdN садржај регистра N пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра SC и улаз B јединице ALU, вредношћу 1 сигнала S1 се у јединици ALU

реализује микрооперација B+C0 и на излаз јединице ALU пропушта садржај регистра N,

вредношћу 1 сигнала ldSC се на сигнал такта садржај регистра N са линија магистрале

M уписује у регистар SC и вредношћу 1 сигнала ldA на сигнал такта се садржај

регистра N са излаза јединице ALU уписује у регистар A. На исти сигнал такта се

прелази на корак K0.

У кораку K4 се проверава вредност сигнала SC0 и у зависности од тога да ли сигнал

SC0 има вредност 0 или 1, на сигнал такта прелази или на корак K5 или на корак K0.

Page 122: Zbirka - Projektovanje Upravljacke

120

У кораку K5 се вредношћу 1 сигнала shlA на сигнал такта садржај регистра A помера

за једно место улево. У кораку K5 се и вредношћу 1 сигнала decSC на сигнал такта

садржај регистра SC декрементира. На исти сигнал такта се прелази на корак K6.

У кораку K6 се проверава вредност сигнала SC0 и у зависности од тога да ли сигнал

SC0 има вредност 0 или1, на сигнал такта прелази или на корак K5 или на корак K7.

У кораку K7 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра L1 и вредношћу 1 сигнала ldL1 на сигнал такта уписује у регистар L1. На исти

сигнал такта се прелази на корак K8.

У кораку K8 се вредношћу 1 сигнала rdS садржај регистра S пропушта на линије

магистрале M и преко њих води, између осталог, на улаз B јединице ALU, на улазу A

јединице ALU је све време присутан садржај регистра L1, вредношћу 1 сигнала S0 се на

излазу јединице ALU формира сума садржаја регистара L1 и S, која се вредношћу 1

сигнала ldA на сигнал такта уписује у регистар A. На исти сигнал такта се прелази на

корак K9.

У кораку K9 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра S и вредношћу 1 сигнала ldS на сигнал такта уписује у регистар S. На исти

сигнал такта се прелази на корак K10.

У кораку K10 се вредношћу 1 сигнала rdN садржај регистра N пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз B

јединице ALU, вредностима 1 сигнала S0, S1 и C0 се у јединици ALU реализује

микрооперација BC0 и на излазу јединице ALU добија садржај регистра N умањен за 1,

који се вредношћу 1 сигнала ldA на сигнал такта уписује у регистар A. На исти сигнал

такта се прелази на корак K11.

У кораку K11 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M преко њих води, између осталог, на улазе

регистара N и SC и вредностима 1 сигнала ldN и ldSC на сигнал такта уписује у

регистре N и SC. На исти сигнал такта се прелази на корак K4.

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 19.в.

CLKCLK

D QK

0

Q

CLK

Sd

CLK

D QK

1

QRd

SMS

CLK

D QK

2

QRd

CLK CLK

D QK

3

QRd

CLKCLK

D QK

6

QRd

CLK

D QK

5

QRd

CLK

D QK

7

QRd

CLKCLKCLK

SC0

SC0

CLK

D QK

4

QRd

CLK

D QK

8

QRd

CLK

D QK

9

QRd

CLK

D QK

10

QRd

CLK

D QK

11

QRd

CLK CLK

CLK CLK

Слика 19.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1

ldL1 = K7

ldS = K2 + K9

ldSC = K3 + K11

Page 123: Zbirka - Projektovanje Upravljacke

121

ldA = K3 + K8 + K10

ldN = K11

S0 = K8 + K10

S1 = K3 + K10

C0 = K10

rdA = K2 + K7 + K9 + K11

rdS = K8

rdN = K3 + K10

shlA = K5

decSC = K5

у којима K0, K1, K2, ..., K11 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 19.б). Сви

остали управљачки сигнали су 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 19.б) и дата на

слици 19.г.

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K0 (0000) / K0 (0000) SMS 0 b 0 b 0 b 0 b

K1 (0001) SMS 0 b 0 b 0 b 1 b

K1 (0001) clA K2 (0011) 1 0 b 0 b 1 b b 0

K2 (0011) ldS, rdA K3 (0010) 1 0 b 0 b b 0 b 1

K3 (0010) ldA, ldSC, S1, rdN K4 (0110) 1 0 b 1 b b 0 0 b

K4 (0110) / K0 (0000) SC0 0 b b 1 b 1 0 b

K5 (0111) 0SC 0 b b 0 b 0 1 b

K5 (0111) shlA, decSC K6 (0101) 1 0 b b 0 b 1 b 0

K6 (0101) / K5 (0111) 0SC 0 b b 0 1 b b 0

K7 (0100) SC0 0 b b 0 0 b b 1

K7 (0100) ldL1, rdA K8 (1100) 1 1 b b 0 0 b 0 b

K8 (1100) ldA, S0, rdS K9 (1101) 1 b 0 b 0 0 b 1 b

K9 (1101) ldS, rdA K10 (1111) 1 b 0 b 0 1 b b 0

K10 (1111) ldA, S0, S1, C0, rdN K11 (1110) 1 b 0 b 0 b 0 b 1

K11 (1110) ldN, ldSC, rdA K4 (0110) 1 b 1 b 0 b 0 0 b

Слика 19.г.Таблица стања, прелаза/излаза и побудa флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=0000, K1=0001, K2=0011, K3=0010, K4=0110, K5=0111, K6=0101, K7=0100,

K8=1100, K9=1101, K10=1111, K11=1110,

а за реализацију стања секвенцијалне прекидачке мреже користе се флип-флопови Q1,

Q2, Q3 и Q4 типа JK.

Управљачки сигнали операционе јединице се генеришу према изразима

clA = K1

ldL1 = K7

Page 124: Zbirka - Projektovanje Upravljacke

122

ldS = K2 + K9

ldSC = K3 + K11

ldA = K3 + K8 + K10

ldN = K11

S0 = K8 + K10

S1 = K3 + K10

C0 = K10

rdA = K2 + K7 + K9 + K11

rdS = K8

rdN = K3 + K10

shlA = K5

decSC = K5

у којима K0, K1, K2, ..., K11 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже придружених операционим блоковима у дијаграму тока

управљачких сигнала (слика 19.б). Сви остали управљачки сигнали су 0.

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флоповa Q1, Q2, Q3 и Q4 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K7

K1 = K11

J2 = K3

K2 = K4∙SC0

J3 = K1 + K6∙ 0SC + K9

K3 = K4∙SC0 + K5

J4 = K0∙SMS + K4∙SC0 + K8

K4 = K2 + K6∙SC0 + K10

С обзиром на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q ∙ 4Q

K1= 1Q ∙ 2Q ∙ 3Q ∙Q4

K2= 1Q ∙ 2Q ∙ Q3∙Q4

K3= 1Q ∙ 2Q ∙Q3∙ 4Q

K4= 1Q ∙Q2∙Q3∙ 4Q

K5= 1Q ∙Q2∙Q3∙Q4

K6= 1Q ∙Q2∙ 3Q ∙Q4

K7= 1Q ∙Q2∙ 3Q ∙ 4Q

K8= Q1∙Q2∙ 3Q ∙ 4Q

K9= Q1∙Q2∙ 3Q ∙Q4

K10= Q1∙Q2∙Q3∙Q4

K11= Q1∙Q2∙ 3Q ∙ 4Q

Page 125: Zbirka - Projektovanje Upravljacke

123

1.20 SC

На слици 20.a је приказана структурна шема дела операционе јединице процесора. У

регистру N дужине 16 разреда налази се бинарна вредност коју треба интерпретирати

као целобројну вредности без знака n (n0). Микрооперације које се реализују у

јединици ALU су дате у табели 20.

a) Нацртати дијаграме тока микрооперација и управљачких сигнала фазе извршавања

наредбе SC која израчунава n-ti елемент низа који је задат рекурентном формулом

An = 2∙An1+3∙An-2 за n2 и A1 = 2 и A0 = 1

у којој је n целобројна вредност из регистра N и резултат смешта у регистар S. Фаза

извршавања наредбе започиње уколико сигнал SC има вредност 1. Претпоставити да се

у регистру N налази вредност које омогућава да се извршавање наредбе реализује

коректно и да се добије вредност која може да се смести у регистар S.

б) Нацртати структурну шему управљачке јединице реализоване као "шетајућа

јединица" са D флип-флоповима.

в) Нацртати структурну шему управљачке јединице реализоване као стандардна

секвенцијална прекидачка мрежа са JK флип-флоповима.

1616

rdS

16

rdN

16

SCLK

16

CLKNCLK

16

CLK

16

LD ldN LD ldS

16

16

16

L1CLKCLKLD

CL

ldL1

clL1

16

16 16

ALU

S0

S1

S0

S1

C0 C

0

A

16 16

B

C16

C16

F

16

16

ASHL shlA

CL clA

16 16rdA

LD

CLKCLKIL 0

ldA

16A0

16

Слика 20.a Структурна шема операционе јединице

S0 S1 F0 0 0 B+C0

0 1 BC0

1 0 A+B

1 1 A

Табела 20 Микрооперације у јединици ALU

Решење: a) Дијаграм тока микрооперација и управљачких сигнала дати су на слици 20.б.

Израз An = 2∙An1+3∙An-2 се претвара у An = 2∙(An1+An-2) + An-2 и рачуна се по овој

формули. У регистру S привремено ће се чувати међурезултат An1, док ће се у регистру

L1 чувати An-2.

Page 126: Zbirka - Projektovanje Upravljacke

124

K0

SC0

K1 1

A<=0

K2

A<=A+1

K5

A01

K3

S<=A

K4

A<=N

0

L1<=S, A<=S+1

K6

A01

A15...0

<=A14...0

.0

K13

A<=A+L1

K14

L1<=S

K11

A<=S+L1

K12

K10 0

N<=A

K7

S<=A

K8

A<=N1

K9

K0

SC0

K1 1

clA

K2

ldA, C0, rdA

K5

A01

K3

ldS, rdA

K4

ldA, rdN

0

ldL1, ldA, C0, rdS

K6

A01

shlA

K13

ldA, S0, rdA

K14

ldL1, rdS

K11

ldA, S0, rdS

K12

K10 0

ldN, rdA

K7

ldS, rdA

K8

ldA, S1, C

0, rdN

K9

Слика 20.б Дијаграм тока микрооперација и управљачких сигнала

У кораку K0 се проверава вредност сигнала SC и у зависности од тога да ли сигнал

SC има вредност 0 или 1, или остаје у кораку K0 или на сигнал такта прелази на корак

K1.

У кораку K1 се вредношћу 1 сигнала clA на сигнал такта уписује нула у регистар A.

На исти сигнал такта се прелази на корак K2.

У кораку K2 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз B

јединице ALU, вредностима 0 сигнала S0 и S1 и вредношћу 1 сигнала C0 се у јединици

ALU реализује микрооперација B+C0 и на излазу јединице ALU добија садржај

регистра A увећан за 1 који се вредношћу 1 сигнала ldA на сигнал такта уписује у

регистар A. На исти сигнал такта се прелази на корак K2.

У кораку K3 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра S и вредношћу 1 сигнала ldS на сигнал такта уписује у регистар S. На исти

сигнал такта се прелази на корак K4.

Page 127: Zbirka - Projektovanje Upravljacke

125

У кораку K4 се вредношћу 1 сигнала rdN садржај регистра N пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз B

јединице ALU, вредностима 0 сигнала S0, S1 и C0 се у јединици ALU реализује

микрооперација B+C0 и на излазу јединице ALU добија садржај регистра N, који се

вредношћу 1 сигнала ldA, на сигнал такта уписује у регистар A. На исти сигнал такта се

прелази на корак K5.

У кораку K5 се проверава вредност сигнала A0 и у зависности од тога да ли сигнал

A0 има вредност 0 или 1 на сигнал такта прелази или на корак K6 или на корак K0.

У кораку K6 се вредношћу 1 сигнала rdS садржај регистра S пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра L1 и улаз B јединице ALU, вредностима 0 сигнала S0 и S1 се у јединици ALU

реализује микрооперација B+C0 и на излазу јединице ALU добија садржај регистра S

увећан за 1, вредношћу 1 сигнала ldL1 се на сигнал такта садржај регистра S са линија

магистрале M уписује у регистар L1 и вредношћу 1 сигнала ldA на сигнал такта се

садржај регистра S увећан за 1 са излаза јединице ALU уписује у регистар A. На исти

сигнал такта се прелази на корак K2.

У кораку K7 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра S и вредношћу 1 сигнала ldS на сигнал такта уписује у регистар S. На исти

сигнал такта се прелази на корак K8.

У кораку K8 се вредношћу 1 сигнала rdN садржај регистра N пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз B

јединице ALU, вредностима 1 сигнала S1 и C0 се у јединици ALU реализује

микрооперација BC0 и на излазу јединице ALU добија на излазу јединице ALU добија

садржај регистра N умањен за 1, који се вредношћу 1 сигнала ldA на сигнал такта

уписује у регистар A. На исти сигнал такта се прелази на корак K9.

У кораку K9 се проверава вредност сигнала A0 и у зависности од тога да ли сигнал

A0 има вредност 0 или 1 на сигнал такта прелази или на корак K10 или на корак K0.

У кораку K10 се вредношћу 1 сигнала rdA садржај регистра A проушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра N и вредношћу 1 сигнала ldN на сигнал такта уписује у регистар N. На исти

сигнал такта се прелази на корак K11.

У кораку K11 се 1 вредношћу сигнала rdS садржај регистра S пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз B

јединице ALU, на улазу A јединице ALU присутан је све време садржај регистра L1,

вредношћу 1 сигнала S0 се у јединици ALU реализује микрооперација A+B и на излазу

јединице ALU добија сума садржаја регистра L1 и S, која се вредношћу 1 сигнала ldA,

на сигнал такта уписује у регистар A. На исти сигнал такта се прелази на корак K12.

У кораку K12 се вредношћу 1 сигнала shlA на сигнал такта садржај регистра A помера

за једно место улево. На исти сигнал такта се прелази на корак K13.

У кораку K13 се вредношћу 1 сигнала rdA садржај регистра A пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз B

јединице ALU, на улазу A јединице ALU присутан је све време садржај регистра L1,

вредношћу 1 сигнала S0 се у јединици ALU реализује микрооперација A+B и на излазу

јединице ALU добија сума садржаја регистра L1 и A, која се вредношћу 1 сигнала ldA,

на сигнал такта уписује у регистар A. На исти сигнал такта се прелази на корак K14.

У кораку K14 се вредношћу 1 сигнала rdS садржај регистра S пропушта преко бафера

са три стања на линије магистрале M и преко њих води, између осталог, на улаз

регистра L1 и вредношћу 1 сигнала ldL1 на сигнал такта уписује у регистар L1. На исти

сигнал такта се прелази на корак K7.

Page 128: Zbirka - Projektovanje Upravljacke

126

б) Структурна шема управљачке јединице реализоване као "шетајућа јединица" са D

флип-флоповима приказана је на слици 20.в.

CLK

CLK

CLK

D QK

9

QRd

SC0

CLKCLK

D QK

7

QRd

CLK

D QK

6

QRd

CLK

D QK

8

QRd

CLK CLK

CLK

D QK

10

QRd

CLKCLK

D QK

11

QRd

CLK

D QK

12

QRd

CLK

D QK

13

QRd

CLK

D QK

14

QRd

CLK CLKCLK

CLK

CLK

D QK

1

QRd

CLK

D QK

2

QRd

CLK CLK

D QK

3

QRd

CLK

A0

CLK

D QK

5

QRd

CLK

D QK

4

QRd

CLK CLK

CLKCLK

D QK

0

Q

Sd

SC

Слика 20.в Структурна шема управљачке јединице

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1

ldA = K2 + K4 + K6 + K8 + K11 + K13

ldL1 = K6 + K14

ldS = K3 + K7

ldN = K10

S0 = K11 + K13

S1 = K8

C0 = K2 + K6 + K8

rdN = K4 + K8

rdA = K2 + K3 + K7 + K10 + K13

rdS = K6 + K11 + K14

shlA = K12

у којима K0, K1, K2, ..., K14 представљају сигнале са излаза флип-флопова придружених

операционим блоковима у дијаграму тока управљачких сигнала (слика 20.б). Сви

остали управљачки сигнали су 0.

в) Таблица стања, прелаза/излаза и побуда флип-флопова за управљачку јединицу

реализовану као стандардна секвенцијална прекидачка мрежа са JK флип-флоповима

формирана је на основу дијаграма тока управљачких сигнала (слика 20.б) и дата на

слици 20.г.

Page 129: Zbirka - Projektovanje Upravljacke

127

Q Z Q(t+1) X J1 K1 J2 K2 J3 K3 J4 K4

K0 (0000) / K0 (0000) SC 0 b 0 b 0 b 0 b

K1 (0001) SC 0 b 0 b 0 b 1 b

K1 (0001) clA K2 (0011) 1 0 b 0 b 1 b b 0

K2 (0011) ldA, C0, rdA K3 (0010) 1 0 b 0 b b 0 b 1

K3 (0010) ldS, rdA K4 (0110) 1 0 b 1 b b 0 0 b

K4 (0110) ldA, rdN K5 (0111) 1 0 b b 0 b 0 1 b

K5 (0111) / K0 (0000) A0 0 b b 1 b 1 b 1

K6 (0101) 0А 0 b b 0 b 1 b 0

K6 (0101) ldL1, ldA, C0, rdS K7 (0100) 1 0 b b 0 0 b 0 1

K7 (0100) ldS, rdA K8 (1100) 1 1 b b 0 0 b 0 b

K8 (1100) ldA, S1, C0, rdN K9 (1101) 1 b 0 b 0 0 b 1 b

K9 (1101) / K0 (0000) A0 b 1 b 1 0 b b 1

K10 (1111) 0А b 0 b 0 1 b b 0

K10 (1111) ldN, rdA K11 (1110) 1 b 0 b 0 b 0 b 1

K11 (1110) ldA, S0, rdS K12 (1010) 1 b 0 b 1 b 0 0 b

K12 (1010) shlA K13 (1011) 1 b 0 0 b b 0 1 b

K13 (1011) ldA, S0, rdS K14 (1001) 1 b 0 0 b b 1 b 0

K14 (1001) ldL1, rdS K7 (0100) 1 b 1 1 b 0 b b 1

Слика 20.г.Таблица стања, прелаза/излаза и побудa флип-флопова

Стања секвенцијалне прекидачке мреже кодирана су на следећи начин

K0=0000, K1=0001, K2=0011, K3=0010, K4=0110, K5=0111, K6=0101, K7=0100,

K8=1100, K9=1101, K10=1111, K11=1110, K12=1010, K13=1011, K14=1001,

а за реализацију стања секвенцијалне прекидачке мреже користе се флип-флопови Q1,

Q2, Q3 и Q4 типа JK.

Управљачки сигнали операционе јединице се генеришу према следећим изразима:

clA = K1

ldA = K2 + K4 + K6 + K8 + K11 + K13

ldL1 = K6 + K14

ldS = K3 + K7

ldN = K10

S0 = K11 + K13

S1 = K8

C0 = K2 + K6 + K8

rdN = K4 + K8

rdA = K2 + K3 + K7 + K10 + K13

rdS = K6 + K11 + K14

shlA = K12

у којима K0, K1, K2, ..., K14 представљају сигнале декодованих стања секвенцијалне

прекидачке мреже придружених операционим блоковима у дијаграму тока

управљачких сигнала (слика 20.б). Сви остали управљачки сигнали су 0.

Page 130: Zbirka - Projektovanje Upravljacke

128

Структурна шема управљачке јединице реализоване као стандардна секвенцијална

прекидачка мрежа се састоји од флип-флоповa Q1, Q2, Q3 и Q4 типа JK и комбинационе

прекидачке мреже која генерише сигнале побуда JK флип-флопова према следећим

изразима:

J1 = K7

K1 = K9∙A0 + K14

J2 = K3 + K14

K2 = K5∙A0 + K9∙A0 + K11

J3 = K1 + K9∙ 0A

K3 = K5 + K13

J4 = K0∙SC + K4 + K8 + K12

K4 = K2 + K5∙A0 + K6 + K9∙A0 +K10 + K14

С обзиром на усвојени начин кодирања стања секвенцијалне прекидачке мреже,

сигнали декодованих стања секвенцијалне прекидачке мреже добијају се према

изразима:

K0= 1Q ∙ 2Q ∙ 3Q ∙ 4Q

K1= 1Q ∙ 2Q ∙ 3Q ∙Q4

K2= 1Q ∙ 2Q ∙ Q3∙Q4

K3= 1Q ∙ 2Q ∙Q3∙ 4Q

K4= 1Q ∙Q2∙Q3∙ 4Q

K5= 1Q ∙Q2∙Q3∙Q4

K6= 1Q ∙Q2∙ 3Q ∙Q4

K7= 1Q ∙Q2∙ 3Q ∙ 4Q

K8= Q1∙Q2∙ 3Q ∙ 4Q

K9= Q1∙Q2∙ 3Q ∙Q4

K10= Q1∙Q2∙Q3∙Q4

K11= Q1∙Q2∙ Q3∙ 4Q

K12= Q1∙ 2Q ∙Q3∙ 4Q

K13= Q1∙ 2Q ∙Q3∙ Q4

K14= Q1∙ 2Q ∙ 3Q ∙Q4

Page 131: Zbirka - Projektovanje Upravljacke

129

2 ЛИТЕРАТУРА 1. B. Lazić, Logičko projektovanje računara, Nauka—Elektrotehnički fakultet, Beograd,

1994.

2. D. Živković, M. Popović, Impulsna и digitalna elektronika, Nauka—Elektrotehnički

fakultet, Beograd, 1992.

3. J. Djordjevic, A. Milenkovic, N. Grbanovic, “An Integrated Educational Environment

for Teaching Computer Architecture and Organisation, ” IEEE MICRO, May 2000.pp. 66-74.

4. J. Djordjevic, M. R. Barbacci, B. Hosler, A PMS Level Notation for the Description and

Simulation of Digital Systems, The Computer Journal, Vol. 28, No. 4, pp. 357-365, 1985.

5. S. Miladinović, J. Đorđević, A. Milenković, Programski sistem за grafički opis и

simulaciju digitalnih sistema, Zbornik radova ETRAN 1997, Zlatibor, Jugoslavija, Jun 1997.

6. N. Grbanovic, J. Djordjevic, B. Nikolić, The Software Package for an Educational

Computer System, International Journal он Electrical Engineering Education, Vol. 40, No. 4,

Oct 2003, pp. 270-284.

7. J. Djordjevic, A. Milenkovic, I. Todorovic, D. Marinov, “CALKAS: A Computer

Architecture Learning and Knowledge Assessment System, ” IEEE TC Computer Architecture

Newsletter, March 1999.

8. J. Đorđević, Priručnik из arhitekture računara, Elektrotehnički fakultet, Beograd, 1997.

9. J. Đorđević, Priručnik из arhitekture и organizacije računara, Elektrotehnički fakultet,

Beograd, 1997.

10. J. Đorđević, Arhitektura računara, Edukacioni računarski sistem, Arhitektura и

organizacija računrskog sistema, Elektrotehnički fakultet, Beograd, 2002.

11. J. Đorđević, N. Grbanović, B. Nikolić, Z. Radivojević, Arhitektura računara,

Edukacioni računarski sistem, Priručnik за simulaciju са zadacima, Elektrotehnički fakultet,

Beograd, 2004.

12. J. Djordjevic, B. Nikolic, A. Milenkovic, “Flexible Web-based Educational System for

Teaching Computer Architecture and Organization, ” IEEE, Transactions он Education, Vol.

48, No. 2, 2005.

13. J. Djordjevic, B. Nikolic, M. Mitrovic, “A Memory System for Education, ” Computer

Journal, (to appear)