Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Процесор – Организација и обработка на податоци

Lignende præsentationer


Præsentationer af emnet: "Процесор – Организација и обработка на податоци"— Præsentationens transcript:

1 Процесор – Организација и обработка на податоци
Предавач: д-р Цвета Мартиновска Фонд на часови: 2+2

2 ОРГАНИЗАЦИЈА НА ЦЕНТРАЛНА ПРОЦЕСОРСКА ЕДИНИЦА - CPU
Во КС операциите се изведуваат со бинарно кодирани податоци. Во меморијата се сместуваат податоци и инструкции во бинарен формат. CPU ја зема инструкцијата, ја декодира и ги извршува бараните операции врз податоците.

3 ОРГАНИЗАЦИЈА НА ЦЕНТРАЛНА ПРОЦЕСОРСКА ЕДИНИЦА - CPU
- datapath: регистри (единици за сместување податоци), аритметички и логички единици поврзани со собирници (bus). - контролна единица: секвенцирање инструкции и контрола на тек на податоци.

4 РЕГИСТРИ Се користат за чување адреси, контролна информација или податоци за извршување на програмата. Регистер е хардверска направа за чување бинарни податоци. Информацијата се запишува во регистри, се чита од регистри или се пренесува од еден во друг регистер. Регистрите се адресираат од контролната единица на различен начин отколку меморијата.

5 РЕГИСТРИ Во многу КС постојат специјализирани регистри:
за чување информација, за шифтирање споредување вредности, броење scratchpad регистри за привремено чување информации индексни регистри за контрола на програмски јамки stack pointer регистри за работа со stack-ови со информации за процесите статус регистри кои чуваат битови за overflow, carry, zero регистри за општа намена достапни на програмерот

6 АРИТМЕТИЧКО ЛОГИЧКА ЕДИНИЦА - ALU
Извршува логички операции (споредби) и аритметички операции (собирање, множење). Има два податочни влеза и еден податочен излез. Операциите изведени во ALU имаат влијание врз битовите на статусниот регистер. Операциите во ALU ги контролираат сигнали од контролната единица.

7 КОНТРОЛНА ЕДИНИЦА - CU Го надгледува извршувањето на сите инструкции и преносот на сите информации. CU зема инструкции од меморија, ги декодира, обезбедува да има податоци на вистинско место во вистинско време, и кажува на ALU кој регистри да ги користи, ги сервисира интераптите. CU го користи програмскиот бројач за да најде која е следната инструкција и статус регистерот за да чува трага за overflow, carry, borrow и слично.

8 СОБИРНИЦА (МАГИСТРАЛА) - BUS
CPU комуницира со другите компоненти преку собирници, множество линии низ кои битовите се движат паралелно. Во еден момент само една направа (регистер, ALU, меморија) може да ја користи собирницата. Master bus направите ги иницира акциите а slave bus направите одговараат на барањата. Собирницата може да е од тип точка-точка (point-to-point) - поврзува две специфични компоненти на КС и од тип заеднички пат (common pathway, multipoint bus) - поврзува голем број уреди овозможувајќи да ја делат собирницата. Во овој случај е потребен bus protocol - множество правила за употреба на собирницата.

9 СОБИРНИЦА (МАГИСТРАЛА) - BUS
Собирницата од тип точка-точка (point-to-point)

10 СОБИРНИЦА (МАГИСТРАЛА) - BUS
Собирница од тип заеднички пат (common pathway, multipoint bus)

11 СОБИРНИЦА (МАГИСТРАЛА) - BUS
Типичната собирница се состои од податочни линии, адресни линии, контролни линии и линии за напојување.

12 СОБИРНИЦА (МАГИСТРАЛА) - BUS
Линиите наменети за пренос на податоци се нарекуваат data bus. Control bus линиите одредуваат која направа има дозвола да ја користи собирницата и за која намена (читање или запишување од меморија или од влезно /излезни уреди). Контролните линии пренесуваат и потврди (acknowledgements) за барањата за користење на собирницата, интерапти и сигнали за синхронизација од системскиот часовник. Адресните линии покажуваат локација од која треба да се читаат податоци или да се запишуваат податоци.

13 СОБИРНИЦА (МАГИСТРАЛА) - BUS
Типични трансакции со собирницата вклучуваат испраќање адреса за читање или запис, трансфер на податоци од меморија до регистер и од регистер до меморија. Исто така собирниците се користат за читања или запишувања од влезните и излезните периферни уреди. Секој трансфер се јавува за време на циклус на собирницата (bus cycle). Тоа е време меѓу два импулси на часовникот на собирницата (bus clock).

14 СОБИРНИЦА (МАГИСТРАЛА) - BUS
Собирниците се делат според типот на информација која ја пренесуваат и направите кои ја користат: Процесор-меморија собирниците се кратки, брзи и прилагодени да го зголемат преносот на податоци од меморија. I/O собирниците се подолги и дозволуваат приклучување на различни периферни уреди. Backplane собирницата е вградена во куќиштето и ги поврзува процесорот, I/O уредите и меморијата.

15 СОБИРНИЦА (МАГИСТРАЛА) - BUS
Backplane собирница

16 СОБИРНИЦА (МАГИСТРАЛА) - BUS
Персоналните компјутери имаат своја терминологија за собирниците: Интерна собирница (system bus) која ги поврзува CPU, меморијата и други интерни компоненти. Екстерна собирница (expansion bus) која ги поврзува екстерните уреди, периферии, експанзиони слотови и I/O портите со остатокот на компјутерот. Повеќето персонални компјутери имаа локални собирници (local bus) кои ги поврзуваат периферните уреди директно со CPU.

17 СИНХРОНИ И АСИНХРОНИ СОБИРНИЦИ
Кај синхроните собирници преносот се случува под влијание на импулсите на системскиот часовник. Циклусот на собирницата (bus cycle) е реципрочна вредност на брзината на системскиот часовник (clock rate). Пример: Ако брзината на системскиот часовник е 133 MHz циклусот на собирницата изнесува 1/ или 7,52 ns. Затоа должината на собирницата наложува ограничувања врз циклусот на собирницата и брзината на системскиот часовник.

18 СИНХРОНИ И АСИНХРОНИ СОБИРНИЦИ
Кај асинхроните собирници контролните линии ги контролираат операциите. За да се обезбеди правилен и навремен пренос на податоци се користи сложен handshaking протокол. На пример читање мемориски збор се одвива во следните чекори: RegREAD - по активирање на оваа контролна линија мемориската адреса се поставува на адресните линии. ReadyDATA - со оваа контролна линија се потврдува дека меморискиот систем ги поставил податоците на податочните линии. ACK - оваа контролна линија укажува дека RegREAD и ReadyDATA се потврдени.

19 РЕЗЕРВИРАЊЕ НА СОБИРНИЦИ
За да може уредот да ја користи собирницата мора да ја резервира, бидејќи само еден уред може да ја користи во даден момент. Само master bus уредите може да ја резервираат собирницата. Тие може да иницираат пренос на информации, а slave bus уредите се активираат од мастер уредот и одговараат на барања за читање или запишување податоци. Кај системи со повеќе од еден master bus уред потребна е арбитражна шема за доделување на приоритет на master bus уредите за користење на собирницата.

20 АРБИТРАЖНИ ШЕМИ ЗА КОРИСТЕЊЕ НА СОБИРНИЦАТА
Daisy chain arbitration - преку контролна линија се пренесува дозвола за користење на собирницата од направа со највисок приоритет до направа со најнизок. Централизирана паралелна арбитража -секоја направа испраќа барање преку своја контролна линија за користење на собирницата, а централен арбитер одлучува кој ќе ја користи собирницата. Дистрибуирана арбитража - слична шема на претходната но уредите сами одлучуваат кој треба да ја добие собирницата. Дистрибуирана арбитража со откривање на судири - секој уред испраќа барање. Ако собирницата открие повеќе истовремени барања уредите мора да испратат други барања за користење на собирницата.

21 СИСТЕМСКИ ЧАСОВНИК Системскиот часовник врши синхронизација на компонентите во системот. CPU ја извршува секоја инструкција за фиксен број системски тактови. Извршувањето на инструкциите се мери во број на циклуси (периоди) на системскиот часовник. Времето на циклусот мора да биде поголемо од времето на пропагирање на сигналот меѓу сите регистри. Повеќето машински инструкции траат 1 или 2 циклуси, но некои траат и до 35 циклуси. Пример: Множење кај Intel 286 трае 20 циклуси а кај Pentium само 1 циклус.

22 СИСТЕМСКИ ЧАСОВНИК Множењето трае повеќе циклуси од собирањето.
Операции со броеви со подвижна запирка траат подолго од операции со цели броеви. Пристапот до меморија трае подолго од пристапот до регистрите. Покрај системски часовник некои КС имаат и часовник за собирниците (bus clock).

23 ВЛЕЗНО / ИЗЛЕЗНИ УРЕДИ (В/И)
CPU разменува информации со влезно/излезните уреди преку влезно/излезни регистри. Размената на информации се изведува на два начина: Мемориски-мапирани (memory-mapped) В/И - В/И регистрите се јавуваат во мемориската мапа на КС и нема разлика меѓу пристапување до меморија и пристапување до В/И уред. Пристапот е побрз но се троши меморија. Инструкциски базирани (instruction-based) В/И - CPU користи специјализирани инструкции за изведување на читање или запис од влезни и излезни уреди. Не се троши меморија но се потребни специјализирани В/И инструкции.

24 ОРГАНИЗАЦИЈА НА МЕМОРИЈА И АДРЕСИРАЊЕ
Меморијата може да се разгледува како матрица на битови. Секој ред има должина еднаква на збор. Секој регистар наречен мемориска локација има уникатна адреса. Ако меморијата е byte-адресибилна секој byte има уникатна адреса. Меморијата може да користи 32 битни зборови а да биде byte-адресибилна. Адресата на најнискиот byte ја определува адресата на зборот. Ако меморијата е збор-адресибилна секој збор има уникатна адреса.

25 ОРГАНИЗАЦИЈА НА МЕМОРИЈА И АДРЕСИРАЊЕ
Меморијата е изградена од RAM чипови. Има димензија должина x ширина. Пример: 4К x 16 меморија меморијата е долга 4К=22 x 210=212 збора и широка 16 бита (секој збор има 16 бита) За адресирање на 212 локации потребни се 12 бита. Општо за адресирање на 2N мемориски локации потребни се N бита.

26 ОРГАНИЗАЦИЈА НА МЕМОРИЈА И АДРЕСИРАЊЕ
Главната меморијата е поголема од еден RAM чип. Повеќе чипови се комбинираат во еден мемориски модул. Пример: Да се состави 32К x 16 меморија од 2К x 8 RAM чипови. Се поврзуваат 16 реда и 2 колони чипови:

27 ОРГАНИЗАЦИЈА НА МЕМОРИЈА И АДРЕСИРАЊЕ
Memoriska edinica e kolekcija na }elii {to imaat mo`nost za pamtewe zaedno so kola koi mo`at da ja prenesat potrebnata informacija od i kon memoriskata edinica. Memoriskata edinica se specifira spored brojot na zborovi {to mo`e da gi sodr`i i brojot na bitovi {to go formiraat sekoj zbor. Pod kapacitet na memorijata se podrazbira vkupniot broj na memoriski lokacii vo memoriskata edinica.

28 ОРГАНИЗАЦИЈА НА МЕМОРИЈА И АДРЕСИРАЊЕ
Blok dijagram na memoriska edinica.

29 ОРГАНИЗАЦИЈА НА МЕМОРИЈА И АДРЕСИРАЊЕ
Komunikacijata so memorijata se izveduva preku vlezni i izlezni podato~ni linii, adresni linii i kontrolni linii. Postojat n vlezni i isto tolku izlezni podato~ni linii. Preku niv se prenesuvaat podatocite vo i od memorijata. Kontrolnite linii Read i Write slu`at da se izbere koja operacija }e se izveduva vo memorijata odnosno kontroliraat dali }e se zapi{uva ili ~ita od memorijata. Adresnite linii slu`at za izbor na eden od mnogute memoriski zborovi koi se nao|aat vo memorijata. So k adresni linii mo`at da se adresiraat 2k memoriski zborovi.

30 ОРГАНИЗАЦИЈА НА МЕМОРИЈА И АДРЕСИРАЊЕ
Operacijata za zapi{uvawe vo memorijata se izveduva vo slednite ~ekori: 1. Prenesuvawe na binarnata adresa za lokacijata na baraniot zbor preku adresnite linii. 2. Prenesuvawe na bitovite na zborot {to treba da se zapi{e preku podato~nite linii. 3. Aktivirawe na signalot za zapi{uvawe Write. Za ~itawe na zbor od memorijata potrebno e da se izvr{at slednite aktivnosti: 1. Prenesuvawe na binarnata adresa za lokacijata na baraniot zbor preku adresnite linii. 2. Aktivirawe na signalot za ~itawe Read.

31 ОРГАНИЗАЦИЈА НА МЕМОРИЈА И АДРЕСИРАЊЕ
Postoi i realizacija na memorijata koga namesto dva поsebni signali za ~itawe i zapi{uvawe Read i Write, se voveduva eden kontrolen signal Enable i drug kontrolen signal koj ja identifikuva operacijata Read/Write. Aktivnostite kaj memorijata se izveduvaat spored tabelata na kontrolnite signali   Enable Read/Write Operacija X Nema operacija 1 Zapi{uvawe ^itawe

32 СТАТИЧКА RAM МЕМОРИСКА КЛЕТКА
Koga kontrolniot signal Select (Enable) ima vrednost 1 toga{ I portite mo`e da se aktivni, a kontrolniot signal Read/Write odreduva dali vo memoriskata kletka }e se zapi{uva ili ~ita. 

33 RAM МЕМОРИСКИ МОДУЛ (4 збора по 3 бита)

34 RAM МЕМОРИСКИ МОДУЛ (4 збора по 3 бита)
RAM memoriskiот modul soдр`и декодер 2 во 4. Иzleznите liniи на декодерот се поврзани kako Enable kontrolen vlez во memoriskiте kletki. До ќелиите исто така се проследува контролниот сигнал R/W. Adresnite linii koi se vlez vo dekoderot odreduvaat koj red od memorijata }e se selektira, odnosno koj zbor }e se javi na izlezot na I portite.

35 RAM МЕМОРИСКИ МОДУЛ 1K*8 Vlezni signali se:
DATA 8 biten podato~en vlez, ADRS (Address) 10 adresni linii za adresirawe na 210=1024 memoriski lokacii, CS (Chip Select) kontrolen signal za izbor na ~ip i RW kontrolen signal za izbor na operacija za ~itawe ili zapi{uvawe.

36 RAM МЕМОРИСКИ МОДУЛ 4K*8

37 RAM МЕМОРИСКИ МОДУЛ 4K*8 Na prethodnata slika e dadena RAM memorija so 4K zborovi po 8 bita, kako kombinacija na 4 pomali moduli so po 1024 zborovi. Za sekoj od ovie moduli se potrebni po deset adresni bita i dva bita za izbor na eden od ~etirite moduli. Sekoj od sostavnite memoriski moduli e RAM memorija so kapacitet od 1K*8. So pomo{ na dekoderot 2 vo 4 se izbira eden od dadenite memoriski moduli. Spored toa za adresirawe na 4K memorija se potrebni 12 adresni linii.

38 ИНТЕРАПТИ/ПРЕКИНИ (INTERRUPTS)
Интерапти се настани кои го менуваат нормалниот тек на извршување на програмата. Интераптите може да се предизвикани од различни причини: В/И барања Аритметички грешки (делење со нула) Underflow / overflow Хардверски грешки (мемориска грешка во парност) Кориснички дефинирани прекини (break points при debugging на програми) Page fault (мемориска страна не е вчитана) Грешки во инструкции (операции со поинтери)

39 ИНТЕРАПТИ/ПРЕКИНИ (INTERRUPTS)
Интераптите може да се предизвикани од корисникот или системот. Се разликуваат: Maskable интерапти – кои може да се оневозможат или игнорираат. Nonmaskable – интерапти со висок приоритет кои мора да се опслужат.

40 ОСНОВНА АРХИТЕКТУРА КС кој ќе го разгледуваме се состои од меморија (за сместување програми и податоци) и CPU (ALU и неколку регистри).

41 ОСНОВНА АРХИТЕКТУРА - КАРАКТЕРИСТИКИ
бинарни операции, двоен комплемент фиксна должина на збор во меморија меморијата е збор адресибилна (не е byte адресибилна) 4К зборови главна меморија (12 бита адреса) 16 битни податоци 16 битни инструкции (4 бита opcode, 12 адреса) 16 битен акумулатор (AC) 16 битен инструкциски регистер (IR) 16 битен мемориски бафер регистер (MBR) 12 битен програмски бројач (PC) 12 битен мемориски адресен регистер (MAR) 8 битен влезен регистер 8 битен излезен регистер

42 РЕГИСТРИ И СОБИРНИЦИ AC (accumulator)-регистар за општа намена за сместување податоци потребни за работа на CPU. MAR (memory address register)-за сместување на мемориската адреса на податоците до кои се пристапува. MBR (memory buffer register)-за сместување на податоци штотуку прочитани од меморија или кои треба да се запишат во меморија. PC (program counter)-за сместување на адресата на следната инструкција која треба да се изврши. IR (instruction register)-за сместување на инструкцијата која треба да се изврши. InREG (input register)-за сместување на податоци од влезните уреди. OutREG (output register)-податоци за сместување во излезни уреди.

43 РЕГИСТРИ И СОБИРНИЦИ Регистрите служат за привремено сместување на податоци кои се обработуваат или се резултат на пресметки. MAR, MBR, PC и IR служат само за сместување на специфична информација. На пример: не може да се смести произволен податок од меморија во PC, се користат MBR или AC. Постои и Status (Flag) регистер за означување на состојби од операциите во ALU. Современите CPU имаат повеќе регистри за општа намена (user visible) за извршување функции слични на оние на AC.

44 РЕГИСТРИ И СОБИРНИЦИ Податоците или инструкциите се префрлаат во или од регистрите преку собирници. Секој уред поврзан на собирницата има број. За да може уредот да ја користи собирницата таа мора да е сетирана на идентификацискиот број на уредот. Постојат дополнителни патишта меѓу регистрите за забрзување на операциите: Пат меѓу MAR и меморијата при читање и пишување во меморијата. Пат меѓу MBR и AC при изведување на аритметички пресметки со податоците од MBR. Информацијата може да минува од AC во ALU и назад во AC без да биде поставена на заедничката собирница.

45 РЕГИСТРИ И СОБИРНИЦИ

46 ИНСТРУКЦИСКО МНОЖЕСТВО
Инструкциското множество е интерфејс меѓу софтверот и хардверот. Во оваа архитектура секоја инструкција се состои од 16 бита. Најзначајните 4 бита се код на инструкцијата (opcode), а следните 12 бита се адреса. Со 12 бита може да се адресираат мемориски зборови од 0 до

47 ИНСТРУКЦИСКО МНОЖЕСТВО
Инструкциското множество содржи инструкции за обработка на податоци, преместување на податоци и контролирање на извршувањето на програмата. Множество инструкции на оваа архитектура се:

48 ИНСТРУКЦИСКО МНОЖЕСТВО
Load - преместување на податоци од меморија во CPU (преку MBR и AC). Сите податоци (освен инструкциите) се преместуваат од меморијата прво во MBR а потоа во AC или ALU. Имплицитно се подразбира дека при Load дестинација е AC. Store - преместување податоци од CPU во меморија. Add - собирање податок на адреса X со вредноста во AC. Subt - одземање податок на адреса X од вредноста во AC. Податокот на адреса X се копира во MBR каде се чува за време на изведување на аритметичките операции. Input и Output се наменети за комуникација со надворешните уреди.

49 ИНСТРУКЦИСКО МНОЖЕСТВО
Halt – предизвикува прекин на извршување на програмата. Skipcond – изведува условен скок. Се испитува вредноста во AC. Битовите 10 и 11 од инструкцијата го одредуваат условот кој треба да се провери. Ако битовите се 00 се прескокнува следната инструкција ако вредноста во AC е негативна. Ако битовите се 01 се прескокнува следната инструкција ако вредноста во AC е нула. Ако битовите се 10 се прескокнува следната инструкција ако вредноста во AC е позитивна. Прескокнување на следна инструкција се изведува со инкрементирање на PC за 1. Jump – безусловен скок. Содржината на PC се заменува со вредноста X, која е адреса на следната инструкција.

50 ФОРМАТ НА ИНСТРУКЦИЈА Најлевите 4 бита се код на инструкција Load. Следните 12 бита се адреса број 3 во меморија. Вредноста на локација 3 од меморија се копира во AC. 0011 е код на инструкција Add. Адресата е 1310 или 00D16. Вредноста на мемориска локација 13 се собира со вредноста во AC.

51 ФОРМАТ НА ИНСТРУКЦИЈА Ова е Skipcond инструкција. Битовите 10 и 11 се 10 што означува прескокнување на следната инструкција ако AC>0. Ako AC<0 оваа инструкција се игнорира и се оди на следната инструкција.

52 РЕГИСТАРСКИ ПРЕНОС Load X– ја сместува вредноста од одредена мемориска локација во AC: Адресата на инструкцијата се сместува во MAR. Податокот од дадената мемориска адреса се сместува во MBR. Содржината на MBR се сместува во AC. М[x] означува податок сместен на локација X во меморија.

53 РЕГИСТАРСКИ ПРЕНОС Бидејќи IR мора да ја користи собирницата за копирање на вредноста на X во MAR, пред податокот на локација X да се смести во MBR оваа операција се извршува во 2 bus циклуси. За да се покаже дека овие операции не може да се јават за време на ист bus циклус, тие се запишани на посебни линии. Бидејќи има директна конекција меѓу MBR и AC преносот на податоци од MBR во AC може да почне веднаш штом податокот е ставен во MBR без да се чека на ослободување на собирницата.

54 РЕГИСТАРСКИ ПРЕНОС Store X – ја сместува содржината на AC во мемориска локација X. Add X – податокот сместен на мемориска локација X се додава на вредноста во AC.

55 РЕГИСТАРСКИ ПРЕНОС Subt X – се одзема вредноста сместена на локација X од вредноста во AC и резултатот се сместува во AC. Input – податокот од влезниот уред прво се сместува во InREG, а потоа во AC.

56 РЕГИСТАРСКИ ПРЕНОС Output – содржината на AC се сместува во OutREG од каде се праќа на излезен уред. Jump X – безусловен скок на дадена адреса X. X се сместува во PC. Адресата X се наоѓа во долните 12 бита на инструкцискиот регистер IR па затоа

57 РЕГИСТАРСКИ ПРЕНОС Skipcond – се користат 10 и 11 бит од адресата за да се одреди кое споредување да се изврши врз содржината на AC. Ако условот е точен се прескокнува следната инструкција. PC се инкрементира. Halt – нема операција со регистри.


Download ppt "Процесор – Организација и обработка на податоци"

Lignende præsentationer


Annoncer fra Google