Машина са случајним приступом

С Википедије, слободне енциклопедије

У рачунарским наукама, машина са случајним приступом (РАМ) је апстрактна машина у општој класи регистарских машина. Веома је слична бројачкој машини али има додатну способност "индиректног адресирања" својих регистара. Као и у бројачкој машини, инструкције се у РАМ-у налазе у деловима коначног стања машине, што представља тзв. Хардвард архитектуру.

Еквивалент универзалној Туринговој машини - код које се и програм и подаци чувају у регистрима - назива се машина складишта програма са случајним приступом или РАСП. Ово је пример такозване фон Нојманове архитектуре и најближа је општој идеји рачунара. Заједно са Туринговом машином и моделима бројачке машине, РАМ и РАСП се користе за анализу рачунске комплексности. Ван Емде Боас је 1990. године назвао ове моделе као и показивачку машину моделима "секвенцијалне машине", како би их разликовао од модела "машина са паралелним случајним приступом".

Увод у модел[уреди | уреди извор]

Концепт машине са случајним приступом почиње са најједноставнијим моделом, такозваним моделом бројачке машине. Међутим, две особине га разликују од бројачке машине. Прва је индиректно адресирање, а друга чини да модел тежи ка више конвенционалним компјутерима базираним на акумулатору, који имају један или више помоћних регистара, од којих се најпознатији назива "акумулатор".

Формална дефиниција[уреди | уреди извор]

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

По дефиницији: регистар је локација за адресом и садржајем. Адреса представља јединствени локатор еквивалентан природном броју, а садржај је природни број. Због прецизности користићемо квази -формални симболизам од Булов-Бурџис-Џефрија 2002. године да специфицирамо регистар, његов садржај и операцију над регистром: [р] значи "садржај регистра на адреси р". Ознака "р" у овом случају је променљива која може бити природни број, слово или име.→ значи "копирај" или "замени", али без брисања саме вредности у извору.

Пример: [3] +1 → 3 значи "садржај изворног регистра са адресом "3", плус 1, се ставља у одредишни регистар са адресом "3". У овом случају и извор и дестинација су исто место. Ако је [3]=37, садржај регистра 3 је број "37", дакле 37+1=38 ће бити стављено у регистар 3.

Пример: [3]→ 5 значи "садржај изворног регистра са адресом "3" се ставља у одредишни регистар са адресом "5". Ако је [3]=38, садржаји регистра 3 је број 38, тако да ће ова операција бити стављена у регистар 5. Садржај регистра 3 се не мења овом операцијом, тако да садржај регистра [3] остаје 38.

Дефиниција: директна инструкција је она која у самој инструкцији специфицира адресу изворног или одредишног регистра чији ће садржаји бити предмет инструкције. Индиректна инструкција је она као специфицира "показивачки регистар", чији је садржај адреса циљног регистра. Циљни регистар може бити извор или одредиште. Регистар може индиректно сам себе да адресира.

Дефиниција: Садржај изворног регистра се користи од стране инструкције. Адреса изворног регистра може бити одређена директно самом инструкцијом или индиректно показивачким регистром специфицираним инструкцијом.

Дефиниција: садржај показивачког регистра је адреса "циљног" регистра.

Дефиниција: Садржај показивачког регистра показује на циљни регистар - "циљ" могу бити изворни или одредишни регистар.

Дефиниција: одредишни регистар представља место где инструкција складишти свој резултат. Адреса изворног регистра може бити специфицирана или директно инструкцијом или индиректно показивачким регистром специфицираним у инструкцији. Један регистар може истовремено бити и изворни и одредишни.

Модел бројачке машине[уреди | уреди извор]

Мелзак је 1961. године направио једноставну визуализацију бројачке машине: његови регистри су рупе у којима се налазе каменчићи. По инструкцији, у и из ових рупа "компјутер" (човек или машина) додаје или уклања каменчић. Мински и Хопкроф-Улман додају визуализацију Турингове машине са више трака у којој траке са крајем на левој страни чиине "регистре". Регистарска машина поседује колекцију дискретних и јединствено означених локација названих "регистри". Ови регистри могу да складиште само природне бројеве ( нулу и позитивне целе бројеве).

Базни случај 1: модел најсличнији визуализацији Минског (1961): ИНЦ - инкрементирати садржај регистра р, ДЕЦ - декрементирати садржај регистра р, ИФ - ако је садржај регистра р 0 ТХЕН - онда иди на инструкцију Из ЕЛСЕ - настави на следећу инструкцију)

Инструцтион Мнемониц Ацтион он регистер(с) "р" Ацтион он фините стате мацхине'с Инструцтион Регистер, ИР
ИНЦремент ИНЦ ( р ) [р] +1 → р [ИР] +1 → ИР
ДЕЦремент ДЕЦ ( р ) [р] -1 → р [ИР] +1 → ИР
Јумп иф Зеро ЈЗ ( р, з ) ноне ИФ [р1] = 0 ТХЕН з → ИР ЕЛСЕ [ИР] +1 → ИР
Халт Х ноне [ИР] → ИР

Базни случај 2: модел "наследник" - ИНЦ - инкрементирати садржај регистра р, ЦЛеаРв - обриши садржај регистра р, ИФ ако је садржај регистра рј једнак садржају регистра рк ТХЕН - онда пређи на инструкцију Из ЕЛСЕ пређи на наредну инструкцију.

Инструцтион Мнемониц Ацтион он регистер(с) "р" Ацтион он фините стате мацхине'с Инструцтион Регистер, ИР
ЦЛеаР ЦЛР ( р ) 0 → р [ИР] +1 → ИР
ИНЦремент ИНЦ ( р ) [р] +1 → р [ИР] +1 → ИР
Јумп иф Еqуал ЈЕ (р1, р2, з) ноне ИФ [р1] = [р2] ТХЕН з → ИР ЕЛСЕ [ИР] +1 → ИР
Халт Х ноне [ИР] → ИР

Базни случај 3: коришћен од стране Елгот-Робинсона (1964) у њиховом истраживању ограничених и неограничених РАСП - модел наследник са инструкцијом ЦОПY уместо ЦЛЕАР: ИНЦ - инкрементирати садржај регистра р, ЦОПY - копирати садржај регистра рј у регистар рк, ИФ - ако је садржај регистра рј једнак садржају регистра рк онда пређи на инструкцију Из ЕЛСЕ пређи на наредну инструкцију.

Инструцтион Мнемониц Ацтион он регистер(с) "р" Ацтион он фините стате мацхине'с Инструцтион Регистер, ИР
ЦОПY ЦОПY (р1, р2) р1 → р2 [ИР] +1 → ИР
ИНЦремент ИНЦ ( р ) [р] +1 → р [ИР] +1 → ИР
Јумп иф Еqуал ЈЕ (р1, р2, з) ноне ИФ [р1] = [р2] ТХЕН з → ИР ЕЛСЕ [ИР] +1 → ИР
Халт Х ноне [ИР] → ИР

Спољашње везе[уреди | уреди извор]

  1. Рандом Аццесс Мацхине Емулатор
  2. Имплементатион оф Абстрацт Цомпутатион Модел - РАМ Мацхине