Аритметичко-логичка јединица

Аритиметичко-логичка јединица је део рачунара у коме се извршавају операције над подацима (сабирање, одузимање, множење, дељење, померање бинарног садржаја лево или десно, логичке операције… ). Назива се и извршна јединица, зато што се у њој ИЗВРШАВАЈУ операције над подацима. У почетку су ове операције извођене само над целим бројевима, док су операције с реалним бројевима извођене софтверски. Касније је аритметичко-логичкој јединици придодата посебна јединица за извођење операција с реалним бројевима и израчунавање тригонометријских и других функција (ен. floating point processor) која је у почетку била реализована као посебна јединица (ен. coprocessor), док су код савремених рачунара обе јединице реализоване у оквиру истог чипа, а код неких процесора постоји више извршних јединица.

Осим аритметичких операција, АЛЈ врши и логичке операције, укључујући и поређење података, померање битова унутар једног податка лево или десно... Подаци задати у коду операције, могу бити бројеви, логички подаци и алфанумерички знакови. Када је операција завршена, резултат се складишти (обично у регистру процесора). Поред резултата, бележе се и специјални кодови који указују на карактеристике резултата, нпр. да ли је резултат једнак нули, да ли је позитиван или негативан, да ли је дошло до неке грешке. Те грешке се описују посебним условима који се називају изузеци, и они указују на проблем са обрадом: резултат је већи од максимално дозвољеног броја за тај тип података, дошло је до преноса из бита највеће тежине, покушај дељења нулом… Изузеци обично активирају упозорење у машинском регистру статуса, и појава тих изузетака мора се на неки начин сигнализирати кориснику, како би се проблем који је настао превазишао.

О томе која операција и над којим подацима треба да се изврши у АЛЈ саопштава управљачка јединица, која генерише одговарајуће управљачке сигнале. АЛЈ садржи: сабирач (комбинациона мрежа), регистре за операнде, међурезултате и коначне резултате (регистри опште намене), помоћне регистре (статусни…)… Регистар услова RU је често део регистра стања процесора RSP.

%d0%b0%d0%bb%d1%98

A, B – улазни подаци дужине n битова

F – код операције дужине m bitova

R – резултат дужине n битова

D – индикатори који се уписују у регистар услова, има их u и уписују се у регистар услова RU

АЛЈ се реализује као прекидачка мрежа са 2*n+m улаза и n+u излаза, где је n дужина машинске речи, m је дужина кода операције, а u су излази за индикаторе у регистру услова RU. На улаз АЛЈ доводе се из акумулатора АК и неког привременог или другог регистра R два бинарна низа дужине n, а на излазу се добија бинарни низ дужине n који је резултат примене неке дефинисане аритметичке, логичке или друге операције над улазним низовима. Овај резултат се обично уписује у акумулатор АК.

Улазе АЛЈ можемо поделити на операционе који садрже операнде над којима се обављају логичке операције (А и B) и селекторске (контролне – управљачке), који дефинишу избор операције.

Избор операције коју ће у датом тренутку АЛЈ извршити над бинарним бројевима који се доводе на њен улаз, задаје се помоћу управљачких (селекторских) сигнала. Број селекторских сигнала дефинише број могућих операција које АЛЈ може да изврши. Ових сигнала има онолико колико има битова у инструкцији који представљају код операције. Селекторске линије се најпре декодирају у декодеру инструкција (углавном је део управљачке јединице), тако да се помоћу m селекторских линија може представити максимално 2m различитих операција. На селекторске улазе АЛЈ доводе се сигнали из декодера инструкција, тако да их има 2m, односно на селекторским улазима се заиста налази код операције која треба да се изврши!

Advertisements

Оставите одговор

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

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се / Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се / Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се / Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се / Промени )

Повезивање са %s