You are on page 1of 78

Тема 4

MARIE
– Модел на
едноставен
компјутер
Тема 4: Цели
Ц

• Да се научат составните компоненти на модерен


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

2
4.1 Вовед
д

• Во Тема 1 беше презентиран генерален преглед


на компјутерски системи.
• Во Тема 2,
2 дискутираме како се складираат и
манипулираат податоците од различни
компјутерски системи.
• Во Тема 3 беа опишани фундаменталните
((основните)) компоненти на д
дигиталните кола.
• Имајќи ја оваа основа, сега можеме да
разбереме
р р како р
работат компјутерските
ју р
компоненти и како тие се поврзани за да се
креираат корисни компјутерски системи.
3
4.2 CPU

• Централната процесирачка единица (Central


Processing Unit - CPU) прибавува (донесува,
вчитува) декодира и извршува програмски
вчитува),
инструкции.
• Главни делови на CPU се податочен тек
(datapath) и управувачка единица (control unit).
– Податочниот тек се состои од аритметичко-логичка
единица и единици за меморирање (регистри) кои
преку податочна магистрала се поврзани со меморијата.
– Компонентите на CPU извршуваат низа од операции во
зависност од сигналите генерирани од управувачката
4
единица.
4.2 CPU

• Податоците во регистрите се достапни на CPU.


CPU
• Тие може да бидат имплементирани со користење
на D флип-флопови.
флип флопови
– 32-битен регистар има потреба од 32 D флип-флопови.
• Ар
Аритметичко-логичката
е о о а а единица
е а (ALU) на
а излез
з ез
дава логички и аритметички операции кои се
управувани од управувачката единица.
единица
• Управувачката единица определува кои акции ќе
се извршуваат во зависност од вредностите во
регистарот на програмскиот бројач и
статусниот регистар
регистар.
5
4.3 Магистрала
р

• CPU ги споделува податоците со другите компоненти


на системот преку податочната магистрала.
– Магистрала
р ец
целина одд жици
ц кои истовремено
р
пренесуваат по еден бит по секоја линија.
• Во компјутерските системи обично се наоѓаат два
вида на магистрали: point-to-point (точка-точка) и
multipoint магистрала.

Ова е точка-точка
магистрала:

6
4.3 Магистрала
р

• Магистралата се состои од:


– податочни линии,
– контролни (управувачки ) линии и
– адресни линии.
• П
Податочните линии пренесуваат битови
б од еден уред
до друг.
• Контролните линии го одредуваат правецот на
податочниот тек и кога некој уред може да има
пристап до магистралата.
магистралата
• Адресните линии ја одредуваат локацијата на
изворот или дестинацијата на податоците
податоците.
7
Следниот слајд покажува модел на магистрала.
4.3 Магистрала
р

8
4.3 Магистрала
р

• Multipoint магистрала е прикажана подолу


подолу.
• Бидејќи multipoint магистралата е делен ресурс,
пристапот до неа е контролиран преку
протоколи, кои се вградени во хардверот.

9
4.3 Магистрала
р
• Во т. н. master-slave конфигурација, каде што повеќе
уреди можат да ја користат магистралата, барањата
на конкурентните уреди мора да бидат арбитрирани.
• Четири
Ч категории на арбитрирање:
б
– Приоритет: Дозволите се пренесуваат од уредот со
повисок приоритет до оној со понизок приоритет.
приоритет
– Централизирано: Секој уред е директно поврзан со
уредот за арбитрирање.
– Дистрибурано со користење на само-детекција:
Уредите сами одлучуваат кој ќе ја земе магистралата.
– Дистрибуирано со детекција на колизија: Секој уред
може да се обиде да ја користи магистралата. Ако
неговите податоци се судрат со податоци од друг уред,
се обидува повторно. 10
4.4 Такт генератор
р р

• Секој компјутер содржи најмалку еден такт


генератор кој ги синхронизира активностите на
неговите компоненти
компоненти.
• За да се изврши некоја операција или пренос на
податоци е потребен одреден број тактови
тактови.
• Фреквенцијата на такт генераторот, измерена во
мегахерци или гигахерци
гигахерци, ја одредува брзината со
која се извршуваат сите операции.
• П
Периодот е реципрочна вредност од
фреквенцијата на такт генераторот.
– Такт генератор со 1 GHz има период од 1 ns.
11
4.4 Такт генератор
р р

• Брзината на такт генераторот не треба да се


поврзува со брзината на работа на CPU.
• Времето на CPU потребно за да се изврши
програма е дадено со равенката:

– Можеме да ја подобриме работата на CPU ако:


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

Ќе се вратиме на ова важна равенка во наредните теми.


12
4.5 Влезно/излезни ((I/O)) потсистеми

• Компјутерот комуницира со надворешниот свет


преку неговите влезно/излезни потсистеми.
• I/O уреди се поврзуваат на CPU преку разновидни
интерфејси.
– I/O може да бидат мемориско-мапирани
мемориско мапирани кога I/O уред
се однесува како елемент на главна меморија – од гледна
точка на CPU.
– I/O може да бидат инструкциско базирани, каде CPU
има специјализиран збир од I/O инструкции.

За I/O подетално ќе видиме во Тема 7. 13


4.6 Организација
р ц ј на меморијата
р ј

• Компјутерската меморија се состои од линеарна


низа од адресибилни ќелии за чување кои се
слични со регистрите.
регистрите
• Меморијата може да биде
– byte
byte-адресибилна,
адресибилна
– word-адресибилна, каде што зборот типично се состои од
два или повеќе бајти.
бајти

14
4.6 Организација
р ц ј на меморијата
р ј

• Големината на меморијата често се изразува со


термините должина  ширина.

15
4.6 Организација
р ц ј на меморијата
р ј

• Ако големината на зборот во меморијата е 16 бита,


бита
тогаш 4M  16 ни дава капацитет од 4 MB 16 битни
мемориски локации.
локации
• Како се адресира одредена мемориска локација?
• 4М се изразуваат како 2 2  2 20 = 2 22 зборови.
зборови
• Мемориските локации за оваа меморија се
нумерирани од 0 до 2 22 -1.
1.
• Мемориската магистрала на овој систем има
потреба
о реба од најмалку
ај ал у 22 адрес
адресни л линии.
– Адресните линии “бројат” од 0 до 222 - 1 бинарно. Секоја
линија е или “вклучена” или “исклучена” индицирајќи ја
локацијата на посакуваниот мемориски елемент.
16
4.7 Прекини
р

• Нормалното извршување на програмата се менува


кога ќе се случи настан од повисок приоритет. CPU е
внимателен на таквите настани.
• Прекините (interrupts) можат да бидат предизвикани
од I/O барања, аритметички грешки (како делење со
нула) или при невалидна инструкција.
• Секој прекин е поврзан со процедура која ги управува
акциите на CPU за да се обработи прекинот
прекинот.

17
4.8 MARIE

• Врз основа на претходно дискутираните идеи, идеи


можеме да претставиме едноставен модел на
компјутер.
ју р
• Machine Architecture that is Really Intuitive and Easy –
MARIE e дизајниран за единствена намена –
илустрирање на основните концепти на
компјутерскиот систем.
• Овој систем е толку едноставен што не би правел
нешто корисно во реалниот свет, но длабокото
разбирање на неговите функции ќе ви овозможи да ги
разберете системските архитектури кои се многу
покомплексни.
18
4.8 MARIE

MARIE архитектурата ги има следниве


карактеристики:
• Бинарно
Бинарно, податочна репрезентација на двоен
комплемент.
• Меморирана програма, фиксна должина на податочните
зборови и инструкции.
• 4K зборови во зборовно-адресибилна главна меморија.
• 16-битни податочни зборови.
• 16-битни инструкции, 4 за операцијата и 12 за адресите.
• 16-битна аритметичка логичка единица (ALU).
• Седум регистри за контрола и податочни движења.

19
4.8 MARIE

Седум регистри:
• Акумулатор, AC, 16-битен регистар кој содржи условен
оператор (пр.
( , “помалку
“ од”)
”) или еден од операндите за
инструкции со два операнди.
• М
Мемориски адресен регистар, MAR,
MAR 12-битен
12 б регистар
кој ја задржува мемориската адреса на некоја
инструкција или на операндот на некоја инструкција.
инструкција
• Мемориски бафер регистар, MBR, 16-битен регистар
кој ги чува податоците после нивното читање
читање, или
после нивното сместување во меморијата.
• ...
20
4.8 MARIE

. . . Седум регистри:
• Програмски бројач, PC, 12-битен регистар кој ја чува
адресата на следната програмска инструкција
ј која
ј треба
б
да се изврши.
• И
Инструкциски регистар, IR,
IR којј ја
ј чува инструкцијата
ј
веднаш пред нејзиното извршување.
• В
Влезен регистар, InREG,
I REG 8-битен
8б регистар којј ги чува
податоците од влезните уреди.
• Излезен регистар, OutREG, 8-битен регистар, кој ги
чува податоците кои се даваат на излез.

21
4.8 MARIE

Ова е архитектурата на MARIE:

22
4.8 MARIE

• Регистрите се меѓусебно поврзани и се поврзани


со главната меморија преку заедничка податочна
магистрала.
р
• Секој уред на контролната магистрала е
идентификуван
у со единствен бројј којј е поставен
на контролните линии секогаш кога уредот
пренесува некоја операција.
• Постојат одделни врски помеѓу акумулаторот и
меморискиот бафер регистар, како и помеѓу ALU
и акумулаторот и меморискиот бафер
б регистар.
• Ова дозволува трансфер на податоци помеѓу
овие уреди без
б користење на главната податочна
23
магистрала.
4.8 MARIE

Ова е податочен тек на


MARIE прикажан
графички.
графички

24
4.8 MARIE

• ISA (instruction set architecture ) го одредува


форматот на инструкциите и едноставните
операции кои ги извршува машината
машината.
• ISA е интерфејс помеѓу компјутерскиот хардвер и
неговиот софтвер
софтвер.
• Некои архитектури вклучуваат стотици различни
инструкции за обработка на податоци и контрола
на програмското извршување.
• Архитектурата MARIE се состои од само
тринаесет инструкции.

25
4.8 MARIE

• Ова е форматот на
MARIE инструкција:

• Основните MARIE инструкции се:

26
4.8 MARIE

• Бинарен модел за инструкцијата LOAD (читање)


како што би се појавил во IR:

• Гледаме дека кодот на инструкцијата е 1 и


адресата од која се чита податокот е 3.

27
4.8 MARIE

• Ова е моделот за инструкцијата SKIPCOND во IR:

• Гледаме
д д
дека кодот
д на инструкцијата
ру ц ј е8и
битовите 11 и 10 се 10, што значи дека следната
инструкција ќе биде прескокната ако вредноста во
AC (акумулаторот) е поголема од нула.

К ј е хексадецималната репрезентација
Која ј на оваа инструкција?
ј ?
28
4.8 MARIE

• Секоја инструкција во даден момент се состои од


секвенца на помали инструкции наречени
микрооперации.
микрооперации
• Точната секвенца на микрооперациите од кои се
состои инструкцијата се одредува користејќи
register transfer language – RTL.
• Во MARIE RTLRTL, ја користиме ознаката M[X] за да
се посочи моменталната податочна вредност
складирана на локацијата X, и  за да се
индицира трансфер на бајти до регистар или
мемориска
р локација.
ј
29
4.8 MARIE

• RTL за LOAD:
MAR  X
MBR  M[MAR]
AC  MBR

• RTL за ADD:
MAR  X
MBR  M[MAR]
AC  AC + MBR

30
4.8 MARIE

• SKIPCOND ја прескокнува следната инструкција во


зависност од вредноста во AC.
• RTL за оваа инструкција е најсложен во нашиот
инструкциски сет:

If IR[11 - 10] = 00 then


If AC < 0 then PC  PC + 1
else If IR[11 - 10] = 01 then
If AC = 0 then PC  PC + 1
else If IR[11 - 10] = 11 then
If AC > 0 then PC  PC + 1
31
4.9 Упатство за обработка
р

• Fetch-decode-execute
etc decode e ecute ((прибави-декодирај-изврши)
рибави де одирај изврши)
циклусот е серија од чекори кои компјутерот ги следи
кога се извршува некоја програма.
– Fetch: прво треба да се донесе инструкцијата од
меморијата и да се смести во IR регистарот.
– Decode: кога е во IR, инструкцијата се декодира за да се
одреди што треба да се направи, ако мемориската
вредност (операнд) е содржана во операцијата
операцијата, таа се
враќа и се сместува во MBR.
– Execute: инструкцијата се извршува.

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


4.9 Упатство за обработка
р

33
4.9 Упатство за обработка
р

• Сите компјутери обезбедуваат начин за


прекинување на fetch-decode-execute
циклусот.
циклусот
• Прекините се случуваат при:
– Кориснички
К прекин (пр.,
( C
Control+C)
l C)
– I/O е барање од корисник или од програма
– Се случува критична грешка
• Прекините
р можат да бидат предизвикани
р од
хардвер или софтвер.

34
4.9 Упатство за обработка
р

• Обработката на прекините вклучува додавање на


друг чекор во fetch-decode-execute циклусот-што
е прикажано подолу
подолу.

Следниот слајд прикажува “обработка на прекинот. ” 35


4.9 Упатство за обработка
р

36
4.9 Упатство за обработка
р

• Во системите за општа намена,


намена прекините се
оневозможуваат за време на обработка на
прекинот.
прекинот
– Типично, ова се постигнува со сетирање на битот во
flag регистрите.
• Прекините кои се игнорираат во овој случај се
наречени maskable.
maskable
• Nonmaskable прекини се ониe прекини кои се
обработуваат по редослед за да се зачува
системот во стабилна состојба.

37
4.9 Упатство за обработка
р

• Прекините
ре е се многу
о у корисни
ор с воо обрабо
обработка
а на
а I/O
/O
операции.
• Како и д
да е,, I/O прекини
р се комплицирани
ц р и се
надвор од нашата сегашна дискусија.
– Ќе јја рразгледаме
д оваа идеја
д ј во поголеми д
детали во
Тема 7.
• MARIE е наједноставен
ј систем, користејќи
р ј
модифицирана форма на програмиран I/O.
• Целиот излез е сместен во излезен регистар,
OutREG, CPU го избира влезниот регистар, InREG,
додека се внесуваат податоци вредноста е
копирана во акумулаторот.
38
4.10 Едноставна
д програма
р р

• Да ја анализираме едноставната MARIE програма


дадена подолу.
• Даден е сет од мнемонички инструкции (инстукции
што симболизираат други инстукции) складирани
во адресите
др од
д 100 - 106 ((hex):
)

39
4.10 Едноставна
д програма
р р

• Да погледнеме што се
случува во компјутерот
кога работи нашата
програма.
• LOAD 104:

40
4.10 Едноставна
д програма
р р

• ADD 105:

41
4.11 Д
Дискусија
у ј за асемблери
р

• Мнемоничките инструкции
инструкции, како LOAD 104
104, се
лесни за луѓето за пишување и разбирање.
• Тие се неразбирливи за компјутерите
компјутерите.
• Асемблерите преведуваат инструкции кои се
разбирливи за луѓето во машински јазик
разбирлив за компјутерите.
Р
Разликата помеѓу
ѓ асемблер
б и компајлер:
ј
• Во асемблерскиот јазик, постои совпаѓање помеѓу мнемоничката
инструкција
ру ц ј и нејзиниот
ј машински код.д
• Ова обично не е случај со компајлерите.

42
4.11 Д
Дискусија
у ј за асемблери
р

• Асемблерите креираат object program file од


mnemonic изворниот код во две фази.
• З
За време на првата ф
фаза, асемблерот
б
асемблира колку што може повеќе од
програмата за тоа време формира табела со
програмата,
симболи која содржи мемориски референци за
сите симболи во програмата
програмата.
• За време на втората фаза, инструкциите се
комплетираат користејќи вредности од табелата
со симболи.

43
4.11 Д
Дискусија
у ј за асемблери
р

• Да ја разгледаме нашата
програма зададена како
пример
р р ((погоре).
р )
– Забележуваме дека имаме
вклучено две инстукции HEX и
DEC кои ја
ј одредуваат основата
на константите.
• За време на првата фаза,
фаза Б
имаме: А
– табела со симболи (А)
– табела делумно преведени
инструкции (Б)

44
4.11 Д
Дискусија
у ј за асемблери
р

• После втората фаза


фаза,
асемблирањето е
комплетно.
комплетно

45
4.12 Проширен
р р инструкциски
ру ц сет

• Колку што знаеме


знаеме, сите од MARIE инструкциите
за кои дискутиравме користат модел на
директно адресирање
адресирање.
• Ова значи дека адресата на операндот е јасно
сместена во инструкцијата.
инструкцијата
• Често е корисно да се примени индиректно
адресирање, каде адресата која
ј покажува на
адресата на операндот е дадена во инструкција.
– Ако имате користено покажувачи во програма, веќе
сте запознаени со индиректното адресирање.

46
4.12 Проширен
р р инструкциски
ру ц сет

• Да видиме што се случува на машинско ниво


ниво,
вклучивме модел на индиректно адресирање во
MARIE инструкцискиот сет.
сет
• ADDI инструкцијата ја назначува адресата која
покажува на адресата на операндот
операндот. Следниот
RTL ни кажува што се случува на ниво на
регистри:
MAR  X
MBR  M[MAR]
[ ]
MAR  MBR
MBR  M[MAR]
AC  AC + MBR
47
4.12 Проширен
р р инструкциски
ру ц сет

• Уште една помошна програмска алатка е


употребата на подпрограми.
• И
Инструкцијата
с р ја а jump-and-store,
j mp and store JNS,
JNS ни дава
а а
ограничена подпрограмска функционалност.
Деталите за JNS инструкцијата се дадени со
следниот RTL:
MBR  PC
Дали JNS
MAR  X
дозволува
[ ]  MBR
M[MAR] рекурзивни
MBR  X повици?
AC  1
AC  AC + MBR
AC  PC 48
4.12 Проширен
р р инструкциски
ру ц сет

• Нашата последна помошна инструкција е


инструкцијата CLEAR .
• И
Извршува претварање на целата содржина на
акумулаторот во нули.
• Ова е RTL за CLEAR:
AC  0

• Новите
о е инструкции
с ру ц се прикажани
р а а на а след
следниот
о
слајд во склоп на програма која ќе собере 5
броја:
р ј
49
4.12 Проширен
р р инструкциски
ру ц сет
Address Instruction Comments
100 Load Addr /Читај ја адресата на првиот број што ќе се додава
101 Store Next /Снимија таа адреса како покажувач во Next
102 Load Num /Читај колку броеви ќе се додаваат
103 Subt One /Декрементирај за 1
104 Store Ctr /Сними во Ctr – контрола на циклусот
105 Clear /Избриши
/ р го акумулаторот
у у р – стави 0
Loop, 106 Load Sum /Читај Sum во акумулаторот AC
107 AddI Next /Додај ја вредноста на која покажува Next
108 Store Sum /Сними ја вредноста во Sum
109 Load Next /Читај ја вредноста Next
10A Add One /Инкрементирај за 1 кон следната адреса
10B Store Next /Сними ја таа адреса како покажувач во Next
10C Load Ctr /Читај Ctr – контрола на циклусот
10D Subt One /Декрементирај за 1
10E Store Ctr /Сними во Ctr – контрола на циклусот
10F Skipcond 00 /Ако Ctr < 0, скокни ја следната инструкција
110 Jump Loop /Оди на Loop
111 Halt /Заврши ја програмата
Addr, 112 Hex 118 /Броевите што се сумираат започнуваат од адреса 118
Next,, 113 Hex 0 /Покажувач
/ у на следниот
д број
р ј што ќе се собира
р
Num, 114 Dec 5 /Број на вредности за сумирање
Sum, 115 Dec 0 /Сума
Ctr, 116 Hex 0 /Контролна променлива – контрола на циклусот
One, 117 Dec 1 /Вредност 1, за декрементирање и инкрементирање
118 Dec 10 /Броеви што ќе се собираат
119 Dec 15
11A Dec 20 50
11B Dec 25
11C Dec 30
4.13 Д
Дискусија
у ј за д
декодирање
д р

• Управувачката единица ги чува податоците


синхронизирано, осигурувајќи се дека битовите
одат кон соодветните компоненти.
компоненти
• Има два главни начини на кои може да се
имплементира управувачката единица:
комбинациона (hardwired) и микропрограмирана.
– Комбинациона – контролата
р јја имплементира
р оваа
програма користејќи дигитални логички компоненти.
– Со микропрограмска контрола, мала програма е сместена
во ROM меморијата во микроконтролерот.

51
4.13 Д
Дискусија
у ј за д
декодирање
д р
• Текстот на корисникот
р дава целосна листа на RTL
за секоја од MARIE инструкциите.
• Микрооперациите
р р ц дадени
д д од
д секојј RTL јја
дефинираат операцијата на MARIE управувачката
единица.
• Секоја микрооперација се состои од пособени
сигнални модели кои се преведени од
управувачката единица и резултираат со
извршувањето на инструкцијата.
– Да се потсетиме, RTL за Add инструкцијата е:
MAR  X
MBR  M[MAR]
52
AC  AC + MBR
4.13 Д
Дискусија
у ј за д
декодирање
д р

• Секој од регистрите на
MARIE и главната
меморија имаат
единствена адреса
вдолж
д целиот
ц
податочен тек
(datapath).
• Адресите ја заземаат
формата на сигналите
генерирани од
управувачката
единица.
53
4.13 Д
Дискусија
у ј за д
декодирање
д р

• Да дефинираме два
сета од по три сигнали.
• Еден сет
сет, P0, P1, P2,
контролира читање од
меморија или регистар,
и друг сет се состои од
P3, P4, P5, контролира
р р
запишување во
меморија или регистар.
Следниот слајд прикажува
затворен поглед на MARIE
MBR.
54
4.13 Д
Дискусија
у ј за д
декодирање
д р

Овој регистар овозможува читање кога P0 и P1 се 1, и


55
овозможува запишување кога P3 и P4 се 1.
4.13 Д
Дискусија
у ј за д
декодирање
д р

• Внимателниот преглед на RTL на MARIE


открива дека ALU има три операции:
додавање делење и бришење
додавање, бришење.
– Ќе дефинираме и четврта операција “не прави
ништо состојба”.
• Целосниот сет на контролните сигнали на
MARIE се состои од:
д
– Контролни регистри: P0 до P5.
– ALU контоли: A0 до A3
– Тајминг: T0 до T7 и бројач за ресетирање Cr

56
4.13 Д
Дискусија
у ј за д
декодирање
д р

• Почитувајќи ја Add инструкцијата на MARIE.


MARIE
Нејзиниот RTL е:
MAR  X
MBR  M[MAR]
AC  AC + MBR
• После додавање на Add инструкција, адресата, X,
е во најдесните
јд 12 битови на IR,, којј има datapath
p
адреса 7.
• X е копирана
р од MAR, којј има datapath
p адреса
р 1.
• Според тоа потребно ни е да ги издигнеме
сигналите P2, P1, и P0 за да читаат од IR, и
сигналот P3 да го запишува MAR. 57
4.13 Д
Дискусија
у ј за д
декодирање
д р

• Еве ја целосната сигнална секвенца за MARIE


Add инструкцијата:
P0 P1 P2 P3 T0: MAR  X
P0 P2 T1: MBR  M[MAR]
A0 P0 P1 P2 P5 T2: AC  AC + MBR
Cr T3: [Reset counter]
• Овие сигнали се помножени со комбинациона
логика за да се добие посакуваното однесување
на машината.
• Следниот слајд прикажува временски дијаграм за
оваа инструкција.
58
4.13 Д
Дискусија
у ј за д
декодирање
д р

• Забележете ги
конкурентните сигнални
состојби
јб во текот на секојј
машински циклус:
C0 до C3.

P0 P1 P2 P3 T0: MAR  X
P0 P2 T1: MBR  M[MAR]
A0 P0 P1 P2 P5 T2: AC  AC + MBR
Cr T3: [Reset counter]

59
4.13 Д
Дискусија
у ј за д
декодирање
д р

• Забележуваме
Забеле у а е дека
де а
прикажаниот сигнал е ист
без разлика дали
машината која ја
употребуваме е
комбинациона или е
микропрограмирана.
• Во микропрограмирана
контрола, битниот модел
на една инструкција
влегува директно од
комбинационата логика
во управувачката
единица. 60
4.13 Д
Дискусија
у ј за д
декодирање
д р

Ова е
комбинациона
логика за
MARIE
Add
dd = 0011
инструкција.

61
4.13 Д
Дискусија
у ј за д
декодирање
д р

• Во микропрограмираната контрола,
контрола
инструкцијата продуцира промени на
контролните сигнали
сигнали.
• Машинските инструкции се влез за
микропрограмата која ги претвара 1-ците и 0-
ите од инструкцијата во контолните сигнали.
• Микропрограмата е складирана во firmware,
firmware кој
е наречен контролен склад.
• М
Микрокод инструкцијата
ј е пребарувана
б за
време на секој такт циклус.

62
4.13 Д
Дискусија
у ј за д
декодирање
д р
Ова е како може да
изгледа
микропрограмирана
управувачка единица

63
4.13 Д
Дискусија
у ј за д
декодирање
д р

• Ако MARIE беше микропрограмирана,


микропрограмирана
микроинструкцискиот формат може да изгледа
вака:

• MicroOp1 и MicroOp2 содржи бинарни кодови за


секоја инструкција. Jump е bit кој покажува дека
вредноста во Dest е валидна адреса и треба да
биде
д сместена во микросеквенцерот
р ц р
(microsequencer). 64
4.13 Д
Дискусија
у ј за д
декодирање
д р

• Табелата подолу содржи MARIE кодови за


микрооперации заедно со соодветниот RTL:

65
4.13 Д
Дискусија
у ј за д
декодирање
д р

• Првите две линии од MARIE микропрограмата се


дадени подолу (употребувајќи RTL за јасност):

66
4.13 Д
Дискусија
у ј за д
декодирање
д р

• Првите четири линии се fetch-decode-execute циклусот.


циклусот
• Останатите линии се почетокот jump табелата.

67
4.13 Д
Дискусија
у ј за д
декодирање
д р

• Важно е да се запамети дека микропрограмираната


управувачка единица работи како минијатурен систем
( y
(system-in-miniature).
)
• Микроинструкциите се донесуваат, декодираат и
извршуваат на истиот начин како вообичаени
инструкции.
• Ова екстра ниво на инструкциско интерпретирање
прави микропрограмираната контрола да е побавна од
комбинационата контрола.
• Предностите на микропрограмираната контрола се:
може да поддржува многу сложени инструкции и само
треба да се смени микропрограмата ако се менува
сетот инструкции (или кога се наоѓа грешка).
68
4.14 Вистински светски архитектури
р ур

• MARIE дели многу карактеристики со модерните


архитектури, но не е прецизна претстава на истите.
• Во следните слајдови,
слајдови кратко ќе набљудуваме два
вида на машински архитектури.
• Ќе набљудуваме една Intel архитектура,
архитектура која е CISC
машина и MIPS, која е RISC машина.
– CISC е акроним
р за комплексен инструкциски
ру ц
компјутерски сет.
– RISC претставува намалување на инструкцискиот
компјутерски сет.

Ќе разгледуваме за “RISC
RISC versus CISC”
CISC аргументите цо
Тема 9. 69
4.14 Вистински светски архитектури
р ур

• Класичната Intel архитектура, 8086, е произведена во


1979. Тоа е CISC архитектура.
• П
Присвоена од IBM за потребите
б на PC,
PC којј б
беше
пуштен во употреба во 1981.
• 8086 се извршувал на 16-битни
16 б податочни зборови
б и
поддржувал 20-битна мемориска адреса.
• П
Подоцна, за пониска цена, 8-битниот
8б е воведен 8088.
8088
Како и 8086, користел 20-битна мемориска адреса.

Која била најголемата меморија која можел да ја


адресира 8086 ?
70
4.14 Вистински светски архитектури
р ур

• 8086 имал четири 16-битни


16 б регистри за
генерална употреба кои можеле да бидат
пристапувани од половина збор.
збор
• Исто така има flag регистри, инструкциски
регистар и стек пристапуван преку вредностите
регистар,
во другите два регистри, основниот покажувач и
стек покажувач
покажувач.
• 8086 немал вграден floating-point во
процесирањето.
процесирањето
• Во 1980, Intel го објавил 8087 нумерички
копроцесор, којј имал висока цена.
71
4.14 Вистински светски архитектури
р ур

• Во 1985,
1985 Intel го претставил 32-битниот 80386.
80386
• Тој исто така немал built-in floating-point единица.
• 80486,
80486 е воведен во 1989,
1989 наследник на 80386 којј
имал built-in floating-point процесирање и кеш
меморија.
меморија
• 80386 и 80486 нуделе компатииблност со 8086 и
8088.
8088
• Софтверот напишан за помалите зборовни
системи ги употребувал ниските 16 бита на 32- 32
битните регистри .

72
4.14 Вистински светски архитектури
р ур

• Моментално
Моментално, најзастапен е 32-битен
микропроцесор Pentium 4 на Intel.
• Може да работи побрзо од 3.8
3 8 GHz.
GHz Неговата
фреквенција е приближно 800 пати побрза од
4 77 MHz на 8086.
4.77 8086
• Зголемената брзина вклучуваат повеќе нивовски
кеш и инструкциска компјутерска обработка
обработка.
• Intel, вметнува многу од идеите на RISC
архитектурите со микропроцесори кои се
проширени CISC.

73
4.14 Вистински светски архитектури
р ур

• Фамилијата MIPS на CPU-а била една од


најуспешните во нејзината класа.
• Во 1986 бил објавен првиот MIPS CPU.
CPU
• Имал 32-битна зборовна големина и можел да
адресира 4GB од меморијата
меморијата.
• Со годините, MIPS процесорите биле
употребувани за општа компјутерска намена
намена,
како и во игрите.
• MIPS архитектурата сега нуди 32 и 64-битни
64 битни
верзии.

74
4.14 Вистински светски архитектури
р ур

• MIPS бил еден од првите RISC микропроцесори.


микропроцесори
• Оригиналната MIPS архитектура имала само 55
различни инструкции
инструкции, споредено со 8086 кој има
преку 100.
• MIPS има вчитај/складирај (load/store)
архитектура, тоа значи дека само инструкциите
за вчитување и складирање можат да пристапат
до меморијата.
• Големиот број на регистри во MIPS архитектура
го намалуваат сообраќајот на компјутерската
магистрала на минимум.
Како овој дизајн делувал на перформансите? 75
Тема 4: Заклучок
у

• Главните компоненти на компјутерскиот


систем се неговата управувачка единица,
регистрите меморијата
регистрите, меморијата, ALU и податочниот
тек.
• Вградениот такт генератор извршува се
синхронизирано.
• Управувачката единица може да биде
микропрограмирана или комбинациона.
• К
Комбинационите
б контролни единици даваат
подобри перформанси, додека
микропрограмираните единици лесно се
адаптираат на промени. 76
Тема 4: Заклучоок
у

• Компјутерите извршуваат програми преку


итеративни fetch-decode-execute циклуси.
• Компјутерите можат да извршуваат програми
кои се напишани на машински јазик.
• Асемблерот претвара мнемонички код во
машински јазик.
• Intel архитектурата е пример за CISC
архитектура.
р ур
• MIPS е пример за RISC архитектура.

77
End of Chapter 4

78

You might also like