290 likes | 359 Views
Структура централне процесорске јединице. Принцип рада CPU -а Регистри CPU -а Интерно повезивање блокова CPU -а. Принцип рада CPU -а. У најједноставнијем облику, рачунар има једну јединицу која извршава инструкције програма.
E N D
Структура централне процесорске јединице Принцип рада CPU-а Регистри CPU-а Интерно повезивање блокова CPU-а
Принцип рада CPU-а • У најједноставнијем облику, рачунар има једну јединицу која извршава инструкције програма. • Ова јединица управља радом осталих подсистема и комуницира са њима. • Због ове централне улоге назива се централном процесорском јединицом.
CPU Управљачка јединица У/И уређаји ALU регистри Главна меморија Диск Штампач . . . . . . Стазаподатака магистрала Принцип рада CPU-а
Принцип рада CPU-а • Грубо речено CPU обавља две главне функције: • Припрема инструкције – instruction fetch. • Извршење инструкције. • Обрада која је предвиђена једном инструкцијом назива се циклус инструкције.
Старт Прибави наредну инструкцију Изврши инструкцију HALT (Застој) Принцип рада CPU-а
Принцип рада CPU-а • Ако рад процесора посматрамо са више детаља, онда се уочавају следеће функције: • Прибављање инструкције. CPU чита инструкцију из меморије. • Интрепретирање инструкције. Инструкција се декодира да би се одредило која се акција захтева.
Принцип рада CPU-а • Прибављање података. Извршење инструкције може да захтева читање података из меморије или из У/И модула. • Обрада података. Извршење инструкције може да предвиђа обављање неке аритметичке или логичке операције над подацима. • Упис података. Резултати извршења могу се уписати у меморију или послати У/И модулу.
Принцип рада CPU-а • Акција која се инструкцијом захтева од CPU-а може бити једног од следећих типова: • CPU Меморија. Пренос података ка/из меморије. • CPU У/И. Пренос података ка/из окружења. • Обрада података. Нека од аритметичких или логичких операција над подацима. • Промена тока извршења програма. Нека од инструкција може да промени секвенцијални редослед извршавања инструкција.
Регистри процесора • Регистри видљиви кориснику. Програмер на машинском/асемблерском језику их користи да би смањио број обраћања главној меморији. Инструкцијама програма може да врши директан утицај на њих.
Регистри процесора • Управљачки и статусни регистри. Користе их управљачка јединица за управљање радом CPU-а као и привилеговане инструкције за управљање извршењем програма. • Нису код свих архитектура ове две врсте регистара потпуно раздвојене!
Регистри видљиви кориснику • Регистри опште намене Садрже податке различитог типа који могу бити операнди у различитим инструкцијама. Често постоји ограничење које их раздваја на: • Регистре за покретни зарез • Магацинске операције
Регистри видљиви кориснику • Регистри за податке Садрже податке и не могу се употребити за израчунавање адреса. • Адресни регистри Садрже адресе, могу бити опште намене или посвећени одређеном адресном начину рада: • Показивачи сегмената • Индексни регистри • Показивачи магацина • Кодови услова (маркери)
Управљачки и статусни регистри • Програмски бројач (Program Counter – PC) • Регистар инструкција (Instruction Register – IR) • Адресни регистар меморије (Memory Address register – MAR) • Регистар за чување података из меморије (Memory Buffer Register – MBR) • Статусни регистар (Program Status Word-PSW)
Извршење инструкције • CPU извршава сваку инструкцију кроз низ следећих корака: • Прибави следећу инструкцију из меморије у регистар инструкција. • Измени садржај програмског бројача тако да указује на следећу инструкцију. • Одреди тип прибављене инструкције.
Извршење инструкције • Ако инструкција користи податке из меморије, одреди где се они налазе. • Прибави податке, ако је потребно, у регистре. • Изврши инструкцију. • Смести резултате на одговарајуће место. • Иди на корак (1) ради започињања извршења наредне инструкције.
Главна меморија MAR Управљачка јединица MВR R0 PC R1 Процесор ALU IR . . . Rn-1 nрегистара опште намене Интерно повезивање блокова CPU-а
Интерно повезивање блокова CPU-а • Блокови са слике се могу организовати и међусобно повезати на разне начине. • Једна таква организација око јединствене интерне магистрале приказана је на следећој слици.
Интерно повезивање блокова CPU-а • Интерна магистрала није исто што и екстерна(е) магистрала(е) која повезује процесор са осталим блоковима рачунара.
Интерна CPU магистрала Декодер инструкција R0 . . . IR Rn-1 PC Y Адресне линије MAR Меморијска магистрала ALU управљачке линије Add Sub BA ALU Линије података MBR . . . Z Интерно повезивање блокова CPU-а • Регистри Y и Z су транспарантни за програмера!
Елементарне функције CPU-а • Прибављање речи из меморије Нека је адреса меморијске локације којој се приступа у R1 а податак из меморије се смешта у R2. • MAR [R1]. • Читање. • Чекање на сигнал MFC (Memory Function Completed). • R2 [MBR].
Елементарне функције CPU-а • Упис речи у меморију Нека је адреса меморијске локације којој се приступа у R1 а податак који се уписује је у R2. • MAR [R1]. • [MBR] [R2], Упис. • Чекање на сигнал MFC (Memory Function Completed).
R(i-1)in R(i-1) R(i-1)out Yin Yout Y AB ALU Zin Z Zout Елементарне функције CPU-а • Регистарски пренос Улази и излази регистара се гејтују!Нека се врши пренос из R1 у R4. • Дозволити рад излазног степена регистра R1 постављањем R1out=1. • Дозволити рад улазног степена регистра R4 постављањем R4in=1.
Елементарне функције CPU-а • Аритметичке и логичке операције ALU представља кобинационо коло па оба операнда морају да буду присутна на улазима у току операције. Сабирање садржаја R1 и R2 и смештање резулатата у R3 захтева следећу секвенцу: • R1out, Yin • R2out, Add, Zin • Zout, R3in
Типови преноса CPU-а • Са тачке гледишта локације извора и одредишта података инструкције се могу поделити у следеће три категорије: • регистар-меморија- остварује се пренос регистар меморија. • регистар-регистар - остварује се пренос регистар регистар. • меморија-меморија – најпре се остварује пренос меморија регистар за привремено чување података; опционо се обавља ALU операција и резултат смешта у регистар за привремено чување података, а у трећем кораку се резултат смешта у меморију.
Дијаграм стања циклуса инструкција • Израчунавање адресе инструкције Одређује се адреса инструкције која треба да се изврши као наредна. Обично се своди на додавање јединице адреси претходне инструкције. • Припрема инструкције Инструкција из специфициране меморијске локације се чита и смешта у CPU.
Дијаграм стања циклуса инструкција • Декодирање инструкције Врши се анализа инструкције са циљем да се одреди тип операције која ће се извести над операндима који се користе од стране те инструкције. • Израчунавање адресе операнада Ако се операцијом специфицира обраћање операнду који је смештен у меморији или је доступан преко У/И, тада се одређује адреса операнда.
Дијаграм стања циклуса инструкција • Припрема операнада прибавља се операнд из меморије или се чита из У/И уређаја. • Операција над податком обавља се специфицирана операција. • Смештање операнада уписује се операнд у меморију или у У/И уређај.
CPU приступа меморији или У/И јединици Припрема инструкције Припрема операнада Смештањеоперанда већи број резултата већи број операнада Операција над подацима Израчунавање адресе операнада Декодирање инструкције Интерни рад CPU-a Израчунавање адресе наредбе Израчунавање адресе операнада следећа наредба низ или вектор Дијаграм стања циклуса инструкција
Почетак CPU постављасадржајубафериактивираадреснуиуправљачкумагистралу Читасесадржајмашинскеречинаредбеизадресиранелокацијеиприбављау CPU CPU смештамашинскунаредбуурегистарнаредбиидекодираје фазаприпременаредбе НЕ ДА фазаизвршењанаредбе Наредбагранања ДА Извршењенаредбе Наредбаусловноггранања Испитивањестатуснихмаркера НЕ (Безусловногранање) НE Скокакојеусловиспуњен ДА Постависе PC наадресуследећенаредбе Постависе PC наадресускока Дијаграм стања циклуса инструкција