Подручја рада
Претрага
23. Операције.

Уводни део часа ( 5 мин.)
1. Шта је инструкција ?
2. Која је улога АЛЈ у рачунарском систему ?

3. Шта је процесор ?
4. Која је улога процесора у рачунарском систему ?
___________________________________________________________________________________
Главни део часа :

Извршење већине машинских операција одвија се на следећи начин :
1) подаци над којима се извршава операција налазе се у регистрима процесора или се позивају из оперативне меморије у АЛЈ ;
2) извршава се задата операција ;
3) добијени резултат памти се у неком регистру процесора или оперативној меморији .

Свака инструкција се састоји из више делова ( поља ), али се обично разликују два дела :
1) код операције - део који означава операцију коју треба извршити ;
2) адресни део - део у коме се спецификују како и одакле треба узети операнде и где сместити резултат.

Адресни део садржи информацију о адресама операнада и адреси где се смешта резултат. При томе се операнди задју тако што се спецификују њихове адресе.
Формат инструкције дефинише број, распоред, намену и дужину појединих поља у инструкцији. Бинарни низови којима се кодирају поједине врсте информација у инструкцији називају се поља или
зоне. Тако свака инструкција садржи поље кода операције, поље модификатора и поља за адресе
операнада.Број адреса које се наводе у инструкцији назива се адресност рачунара.

image013.gif

Четвороадресна инструкција - А1, А2 - адресе операнада, А3 - адреса резултата, А4 - адреса следеће инструкције. Поље М се назива модификатор и дефинише начин адресирања операнада.

Троадресни рачунари - уводи се посебан регистар који служи за чување адресе следеће инструкције програма која ће се извршити. Тај регистар служи за управљање током извршења инструкција програма и назива се бројач инструкција, бројач наредби или програмски бројач.

Двоадресни рачунари - задржава се програмски бројач и усваја принцип да се једно од 3 поља за адресе изостави, а да се адреса резултата подразумева имплицитно. Адресе А1 и А2 представљају адресе операнада над којима се извршава операција. Добијени резултат се смешта на адресу А1 или А2 при чему се претходни садржај те локације тј. први операнд уништава. Могуће је и, уместо да се резултат шаље на А1 и уништи први операнд, увести нови регистар процесора акумулатор у коме се памти први операнд, док се резултат примене операције смешта на А2.

Једноадресни рачунари - користи се акумулатор који има двоструку улогу : 1) у њему се чува први операнд и
2) у њега се смешта резултат примене операције. А1 представља адресу другог операнда.

Безадресни рачунари - формат у коме нема никаквих адреса операнада, већ само постоји код операције, при чему се сви полазни подаци и међурезултати смештају у посебно организовану меморију - магацинску меморију или стек.

Операција се извршава на следећи начин : узимају се два операнда са врха магацина, над њима се извршава операција, и резултат се смешта на врх магацина.
Адресни део инструкције најчешће непредставља и стварну адресу по којој се налазе подаци у меморији, већ само једну компоненту те адресе. Адреса по којој се приступа меморији тј. физичка дреса података у оперативној меморији, формира се на основу више компонената и назива се ефективна или извршна адреса. За њено формирање користе се посебни адресни системи у процесору. Поступак одређивања извршне адресе на основу адресних информација назива се начин или метод адресирања.
Извршење или интерпретација инструкције - процес извршења операције задате том инструкцијом. Инструкција коју треба извршити смештена је у ОМ, а њена адреса се налази у бројачу инструкција BI. Да би она могла управљати извршењем операције, потребно је да се узме из ОМ и смести у регистар инструкција RI. Функционисање сваког процесора углавном се састоји од цикличног понављања процеса извршења инструкција.

Процесор извршава инструкције програма непрекидним смењивањем следеће 2 фазе :
1) фазе припреме или позивања инструкције ;
2) фазе извршења инструкције.

У фази припреме учитава се инструкција из меморије ( доводи се у процесор ), а у фази извршења обавља се операција одређена позваном инструкцијом. Фаза припреме је општа за све инструкције, док се фаза извршења одвија специфично за сваку инструкцију или групе инструкција.

image016.jpg

Фаза извршења састоји се обично од следећих потфаза :

1) узимање ( позивање, читање ) операнада ;

2) извршење операције у АЛЈ ;

3) смештање добијеног резултата у АК, неки други регистар или одређену локацију оперативне меморије.

CISC ( Complex Instruction Set Computers ) - рачунари са комплексним скупом инструкција.

RISC ( Reduced Instruction Set Computers ) - рачунари са редукованим скупом инструкција.

Описани начин припреме и извршења инструкција карактеристичан је за Фон Нојманову архитектуру рачунара. Реализовани скупови инструкција садрже више десетина или стотина различитих инструкција. Основна к - ка већине инструкција јесте извршење операција над операндима од којих се један најчешће позива из ОМ, а други из АК. Због тога је за многе инструкције потребан један меморијски циклус за позивање операнада. Рачунари са овако реализованим скупом инструкција називају се CISC рачунари ( Complex Instruction Set Computers ) - рачунари са комплексним скупом инструкција.
Данас се већином рачунари реализују као RISC рачунари ( Reduced Instruction Set Computers ) - рачунари са редукованим скупом инструкција.

RISC процесори имају следеће карактеристике :
- користи се велики број регистара у процесору, а већина инструкција за само један такт обрађује податке и смешта резултат у те регистре;
- обраћање меморији врши се само у инструкцијама LD ( LOAD - пренос садржаја меморијске локације у процесор ) и STO ( STORE - пренос садржаја акумулатора или неког другог регистра процесора у ОМ ), као и у инструкцијама гранања и преласка на потпрограм ;
- у скупу инструкција има релативно мало различитих операција са малим бројем различитих начина
адресирања ;
- формат инструкција је релативно прост и фиксан ( због лаког декодирања и позивања инструкција из
ОМ ).

Све инструкције којима су реализоване операције у процесору најчешће се деле на следеће групе :
1) инструкције за пренос података ;
2) аритиметичко - логичке инструкције ( инструкције обраде ) ;
3) инструкције за управљање током извршења програма ( управљачке инструкције ) ;
4) улазно - излазне инструкције ;
5) остале инструкције.

Инструкцијама за пренос података позива се садржај локације ОМ у АК или неки други регистар процесора, шаље
садржај АК или неког другог регистра процесора у ОМ, преноси или премешта садржај једног регистра у други, ради са
стеком, ...

Аритиметичко - логичке инструкције деле се на следеће 3 групе :
1) аритиметичке инструкције ;
2) логичке инструкције ;
3) инструкције за померање ( са различитим варијантама, зависно од тога да ли је померање кружно или не ).

Управљачке инструкције се деле на следеће подгрупе :
1) инструкције за гранање и прескоке ;
2) инструкције за програмске петље ;
3) инструкције за потпрограме.

Улазно - излазним инструкцијама преносе се подаци из процесора на неки периферни уређај или обрнуто, испитивање, брисање или постављање индикатора стања на периферним уређајима..

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

Операције реализоване у процесору обично се класификују према следећим параметрима :
1) према броју операнада над којима се примењује операције ;
2) према броју разреда ( бинарних позиција ) операнада.

За операцију се каже да је унарна операција ако се извршава над једним податком ( операндом ) - (комплементирање, померање, негација, ...).
Бинарна операција се извршава над два операнда ( сабирање, одузимање, множење, дељење, AND, OR, XOR ).
Према броју разреда у операндима операције могу бити једноразредне и вишеразредне. Једноразредне операције примењују се на 2 бита истог разреда операнада. Помоћу њих је некада могуће реализовати и вишеразредне операције. При вишеразредним операцијама истовремено се извршава операција над свим разредима операнада.

Према сложености разликују се следеће вишеразредне операције :

1) проста вишеразредна операција, када сваки бит резултата датог разреда зависи само од битова истог разреда ( јединични комплимент бинарног броја ) ;

2) вишеразредна операција са преносом, када у свакој бинарној позицији постоји резултет и пренос, при чему и резултат и пренос зависе и од преноса из претходне позиције ( сабирање два n - тоцифрена бинарна броја ) ;

3) слошена вишеразредна операције, када сваки бит резултата зависи од свих битова операнада ( множење два броја ).

Одговорити на питања :
1. Како се извршава машинска операција и из чега се састоји свака инструкција ?
2. Шта дефинише формат инструкције ? Шта је адресност рачунара ?
3. Објаснити формате инструкција.
4. Шта је ефективна или извршна адреса, а шта метод адресирања ?
5. Шта је фаза припреме и фаза извршења инструкције и које су њихове карактеристике ?
6. Које су основне карактеристике CISC и RISC архитектура ?
7. Како се дели скуп инструкција процесора ?
8. Шта су унарне, а шта бинарне операције ?
9. Шта су једноразредне, а шта вишеразредне операције ?
10. Како се према сложености деле вишеразредне операције ?