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

Post on 01-Jan-2016

24 views 1 download

description

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

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

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

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

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

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

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

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

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

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

ALU

регистри

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

Диск Штампач

магистрала

У/И уређаји

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

......

CPU

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

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

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

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

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

Старт

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

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

HALT (Застој)

Принцип рада 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. Прибави следећу инструкцију из меморије у регистар инструкција.

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

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

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

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

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

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

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

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

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

MAR

PC

IR

MВR

R0

R1

Rn-1

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

ALU

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

Процесор

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

...

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

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

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

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

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

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

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

IR

PC

MAR

MBR

Y

B A

ALU

Z

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

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

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

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

R0

Rn-1

AddSub

ALU управљачке

линије

...

...

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

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

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

1. MAR [R1].

2. Читање.

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

4. R2 [MBR].

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

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

1. MAR [R1].

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

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

Елементарне функције 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

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

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

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

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

1. R1out, Yin

2. R2out, Add, Zin

3. Zout, R3in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

наредбе

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

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

операнада

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

подацима

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

операнада

CPU приступа

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

скока

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

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

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

ДА

ДА

ДА

НЕ

НE

НЕ