Структура централне процесорске јединице

29
Структура централне процесорске јединице Принцип рада CPU-а Регистри CPU-а Интерно повезивање блокова CPU-а

description

Структура централне процесорске јединице. Принцип рада CPU -а Регистри CPU -а Интерно повезивање блокова CPU -а. Принцип рада CPU -а. У најједноставнијем облику, рачунар има једну јединицу која извршава инструкције програма. - PowerPoint PPT Presentation

Transcript of Структура централне процесорске јединице

Page 1: Структура централне процесорске јединице

Структура централне процесорске јединице

Принцип рада CPU-аРегистри CPU-аИнтерно повезивање блокова CPU-а

Page 2: Структура централне процесорске јединице

Принцип рада CPU-а

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

Ова јединица управља радом осталих подсистема и комуницира са њима.

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

Page 3: Структура централне процесорске јединице

Принцип рада CPU-а

Управљачка јединица

ALU

регистри

Главна меморија

Диск Штампач

магистрала

У/И уређаји

Стаза података

......

CPU

Page 4: Структура централне процесорске јединице

Принцип рада CPU-а

Грубо речено CPU обавља две главне функције:

Припрема инструкције – instruction fetch. Извршење инструкције.

Обрада која је предвиђена једном инструкцијом назива се циклус инструкције.

Page 5: Структура централне процесорске јединице

Принцип рада CPU-а

Старт

Прибави нареднуинструкцију

Извршиинструкцију

HALT (Застој)

Page 6: Структура централне процесорске јединице

Принцип рада CPU-а

Ако рад процесора посматрамо са више детаља, онда се уочавају следеће функције: Прибављање инструкције.

CPU чита инструкцију из меморије. Интрепретирање инструкције.

Инструкција се декодира да би се одредило која се акција захтева.

Page 7: Структура централне процесорске јединице

Принцип рада CPU-а

Прибављање података.Извршење инструкције може да захтева читање података из меморије или из У/И модула.

Обрада података.Извршење инструкције може да предвиђа обављање неке аритметичке или логичке операције над подацима.

Упис података.Резултати извршења могу се уписати у меморију или послати У/И модулу.

Page 8: Структура централне процесорске јединице

Принцип рада CPU-а

Акција која се инструкцијом захтева од CPU-а може бити једног од следећих типова:

CPU Меморија. Пренос података ка/из меморије.

CPU У/И. Пренос података ка/из окружења. Обрада података. Нека од аритметичких или

логичких операција над подацима. Промена тока извршења програма. Нека од

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

Page 9: Структура централне процесорске јединице

Регистри процесора

Регистри видљиви кориснику.Програмер на машинском/асемблерском језику их користи да би смањио број обраћања главној меморији. Инструкцијама програма може да врши директан утицај на њих.

Page 10: Структура централне процесорске јединице

Регистри процесора

Управљачки и статусни регистри.Користе их управљачка јединица за управљање радом CPU-а као и привилеговане инструкције за управљање извршењем програма.

Нису код свих архитектура ове две врсте регистара потпуно раздвојене!

Page 11: Структура централне процесорске јединице

Регистри видљиви кориснику

Регистри опште намене

Садрже податке различитог типа који могу бити операнди у различитим инструкцијама. Често постоји ограничење које их раздваја на:

Регистре за покретни зарез

Магацинске операције

Page 12: Структура централне процесорске јединице

Регистри видљиви кориснику

Регистри за податкеСадрже податке и не могу се употребити за израчунавање адреса.

Адресни регистриСадрже адресе, могу бити опште намене или посвећени одређеном адресном начину рада:

Показивачи сегмената Индексни регистри Показивачи магацина

Кодови услова (маркери)

Page 13: Структура централне процесорске јединице

Управљачки и статусни регистри

Програмски бројач (Program Counter – PC) Регистар инструкција (Instruction Register – IR) Адресни регистар меморије (Memory Address

register – MAR) Регистар за чување података из меморије

(Memory Buffer Register – MBR) Статусни регистар (Program Status Word - PSW)

Page 14: Структура централне процесорске јединице

Извршење инструкције

CPU извршава сваку инструкцију кроз низ следећих корака:

1. Прибави следећу инструкцију из меморије у регистар инструкција.

2. Измени садржај програмског бројача тако да указује на следећу инструкцију.

3. Одреди тип прибављене инструкције.

Page 15: Структура централне процесорске јединице

Извршење инструкције

4. Ако инструкција користи податке из меморије, одреди где се они налазе.

5. Прибави податке, ако је потребно, у регистре.

6. Изврши инструкцију.

7. Смести резултате на одговарајуће место.

8. Иди на корак (1) ради започињања извршења наредне инструкције.

Page 16: Структура централне процесорске јединице

Интерно повезивање блокова CPU-а

MAR

PC

IR

MВR

R0

R1

Rn-1

Управљачка јединица

ALU

n регистара опште намене

Процесор

Главна меморија

...

Page 17: Структура централне процесорске јединице

Интерно повезивање блокова CPU-а

Блокови са слике се могу организовати и међусобно повезати на разне начине.

Једна таква организација око јеgинствене интерне магистрале приказана је на следећој слици.

Page 18: Структура централне процесорске јединице

Интерно повезивање блокова CPU-а

Интерна магистрала није исто што и екстерна(е) магистрала(е) која повезује процесор са осталим блоковима рачунара.

Page 19: Структура централне процесорске јединице

Интерно повезивање блокова CPU-а

Декодер инструкција

IR

PC

MAR

MBR

Y

B A

ALU

Z

Интерна CPU магистрала

Адресне линије

Линије података

Меморијска магистрала

R0

Rn-1

AddSub

ALU управљачке

линије

...

...

Регистри Y и Z су транспарантни за програмера!

Page 20: Структура централне процесорске јединице

Елементарне функције CPU-а

Прибављање речи из меморијеНека је адреса меморијске локације којој се приступа у R1 а податак из меморије се смешта у R2.

1. MAR [R1].

2. Читање.

3. Чекање на сигнал MFC (Memory Function Completed).

4. R2 [MBR].

Page 21: Структура централне процесорске јединице

Елементарне функције CPU-а

Упис речи у меморијуНека је адреса меморијске локације којој се приступа у R1 а податак који се уписује је у R2.

1. MAR [R1].

2. [MBR] [R2], Упис.

3. Чекање на сигнал MFC (Memory Function Completed).

Page 22: Структура централне процесорске јединице

Елементарне функције CPU-а

Регистарски преносУлази и излази регистара се гејтују! Нека се врши пренос из R1 у R4.

1. Дозволити рад излазног степена регистра R1 постављањем R1out=1.

2. Дозволити рад улазног степена регистра R4 постављањем R4in=1.

R(i-1)

Y

R(i-1)in

R(i-1)out

Yin

Yout

A B ALU

Z

Zin

Zout

Page 23: Структура централне процесорске јединице

Елементарне функције CPU-а

Аритметичке и логичке операцијеALU представља кобинационо коло па оба

операнда морају да буду присутна на улазима у току операције.

Сабирање садржаја R1 и R2 и смештање резулатата у R3 захтева следећу секвенцу:

1. R1out, Yin

2. R2out, Add, Zin

3. Zout, R3in

Page 24: Структура централне процесорске јединице

Типови преноса CPU-а

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

регистар-меморија - остварује се пренос регистар меморија.

регистар-регистар - остварује се пренос регистар регистар.

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

Page 25: Структура централне процесорске јединице

Дијаграм стања циклуса инструкција

Израчунавање адресе инструкције Одређује се адреса инструкције која треба да се изврши као наредна. Обично се своди на додавање јединице адреси претходне инструкције.

Припрема инструкцијеИнструкција из специфициране меморијске локације се чита и смешта у CPU.

Page 26: Структура централне процесорске јединице

Дијаграм стања циклуса инструкција

Декодирање инструкцијеВрши се анализа инструкције са циљем да се одреди тип операције која ће се извести над операндима који се користе од стране те инструкције.

Израчунавање адресе операнадаАко се операцијом специфицира обраћање операнду који је смештен у меморији или је доступан преко У/И, тада се одређује адреса операнда.

Page 27: Структура централне процесорске јединице

Дијаграм стања циклуса инструкција

Припрема операнадаприбавља се операнд из меморије или се чита из У/И уређаја.

Операција над податкомобавља се специфицирана операција.

Смештање операнадауписује се операнд у меморију или у У/И уређај.

Page 28: Структура централне процесорске јединице

Дијаграм стања циклуса инструкција

Припрема инструкције

Припрема операнада

Смештање операнда

Израчунавање адресе

наредбе

Декодирање инструкције

Израчунавање адресе

операнада

Операција над

подацима

Израчунавање адресе

операнада

CPU приступа

меморији или У/И јединици

Интерни рад CPU-a

већи број операнада

већи број резултата

следећа наредба

низ или вектор

Page 29: Структура централне процесорске јединице

Дијаграм стања циклуса инструкцијаПочетак

CPU поставља садржај у бафер и активира адресну и управљачку магистралу

Чита се садржај машинске речи наредбе из адресиране локације и прибавља у CPU

CPU смешта машинску наредбу у регистар наредби и декодира је

Наредба гранања

Наредба условног гранања

Скок ако је услов испуњен

Испитивање статусних маркера

Извршење наредбе

Постави се PC на адресу следеће наредбеПостави се PC на адресу

скока

фаза припреме наредбе

фаза извршења наредбе

(Безусловно гранање)

ДА

ДА

ДА

НЕ

НE

НЕ