Архитектура рачунара

12
Електротехничка школа Никола Тесла Ниш Архитектура рачунара(6) Исход: Ученици разумеју шта чини рачунар који су његови основни делови , шта су наредбе и како се извршавају односно како рачунар ради. 1. Рачунари и Микрорачунари 1.1. Рачунар Рачунар се састоји из процесора, меморије и U/I подсистема који су павезани магистралом (адреса, подаци и управљање). Процесор управља радом рачунара извршавајући наредбе системског или корисничког програма које се налази у меморији. Извршавањем наредби процесор обрађује и преноси податке између меморије, U/I подсистема и спољашњег света.. Меморија осим програма који се извршавају чува и податке над којима се извршава програма(који се обрађују). U/I подсистем повезује рачунар са спољашњим светом било да из меморије узима или јој предаје податке. Под спољашњим светом можемо сматрати оператера, процес, комуникациону мрежу, спољне меморије ... Мирослав М Пејчић дипл. инг. ел. моб. 063 804 3 950 Str. 1/12 pelek @open.telekom.rs

Upload: nikola-petrovic

Post on 24-Dec-2015

33 views

Category:

Documents


0 download

DESCRIPTION

pc

TRANSCRIPT

Page 1: Архитектура рачунара

Електротехничка школа Никола Тесла Ниш

Архитектура рачунара(6)Исход: Ученици разумеју шта чини рачунар који су његови основни делови , шта су наредбе и како се извршавају односно како рачунар ради.

1. Рачунари и Микрорачунари

1.1. РачунарРачунар се састоји из процесора, меморије и U/I подсистема који су павезани магистралом (адреса, подаци и управљање). Процесор управља радом рачунара извршавајући наредбе системског или корисничког програма које се налази у меморији. Извршавањем наредби процесор обрађује и преноси податке између меморије, U/I подсистема и спољашњег света.. Меморија осим програма који се извршавају чува и податке над којима се извршава програма(који се обрађују). U/I подсистем повезује рачунар са спољашњим светом било да из меморије узима или јој предаје податке. Под спољашњим светом можемо сматрати оператера, процес, комуникациону мрежу, спољне меморије ...

Процесор извршава наредбе у две фазе. У првој(припрема) прочита наредбу из меморије, а у другој је изврши(извршење)Даљим усавршавањем рачунара овај von- Neumann-ов модел претрпео је измене.Ради повећања брзине рада рачунара одвојене су програмска и меморија за податке. На овај начин се фазе припреме следеће и извршења претходне наредбе могу одвијати истовремено, а дужина наредбе(број битова) не мора бити једнак дужини речи из меморије података. Даље поједностављење хардвера рачунара настало је смањењем броја наредби (RISC). Из репертоара наредби избачене су наредбе које се ређе користе, а чије функције је могуће реализовати програмски редукованим сетом наредби( нпр. множење, делење... ). Тако је настаоHarvard модел рачунара.

Мирослав М Пејчић дипл. инг. ел. моб. 063 804 3 950 Str. 1/9pelek @open.telekom.rs

Page 2: Архитектура рачунара

Електротехничка школа Никола Тесла Ниш

Комплексни сет наредби везан је за von- Neumann-ов модел (CISC).

У даљем тексту објаснићемо како ради вон-Nemann-ов рачунар.Рачунар код кога је процесор направљен из једног чипа (који се зове микропроцесор) зове се микрорачунар.Микроконтролер је рачунар на једном чипу (интегралном колу). Основна снага рачунара састоји се у веома брзом извршавању програма састављеног од низа једноставних наредби( машинске наредбе ).Извршење програма представља решење задатка за који је написан тај програм.Поступак писања програма назива се програмирање рачунара.

1.2. Меморија

Меморија се састоји из одређеног броја меморијских речи смештених у једном чипу које чувају по једнак број битова информације. У једном меморијском циклусу (приступ меморији) у адресирану меморијску реч се може уписати неки садржај(упис) или из ње прочитати већ постојећи(читање). Адресне линије преко декодера издвоје(селектују) одговарајућу меморијску реч. Ако се ради о циклусу читања садржај адресиране меморијске речи ће се појавити на линијама података(DATA). Приликом уписа, податак који је присутан на линији података(DATA) уписаће се у адресирану меморијску реч. Да ли ће се обавити циклус уписа или читања зависи од логичких нивоа на линијама управљања ( R/W-читање/упис, CS-чип селект, OE-излаз омогућен ). Осим поменутих пинова за адресу, податке и управљање меморијски чип(интегрално коло) садржи и пинове за напајање( Vcc и GND )Јасно је да на меморијском чипу имамо пинове са различитом наменом. Од њих (или ка њима) полазе адресне, управљачке и линије података које се једним именом називају магистрале. Ако меморија има n адресних и m линија података, она иmа 2n mеmоријских речи чија је дужиnа m битова(0...0 до 1...1). Адреса је одређени број линија оптерећених напајањем 5волти или нула. Њихова бинарна презентација(број) је адреса за меморију.

Мирослав М Пејчић дипл. инг. ел. моб. 063 804 3 950 Str. 2/9pelek @open.telekom.rs

Page 3: Архитектура рачунара

Електротехничка школа Никола Тесла Ниш

Укупан број меморијских речи помножен са дужином речи изражен у бајтовима(1 бајт=8бита) представља капацитет меморије.Време приступа је време од постављања адресних линија и управљчких сигнала на улазне линије меморије до појаве ваљаних података на магистрали података (садржаја адресиране меморијске речи).Магистралом управља процесор. У његовом адресном простору могу се налазити RAM(статички или динамички) за чување података, ROM ( Eprom, OtpRom, EEProm,FLASH) за чување програма, EEProm за параметре система.

Мирослав М Пејчић дипл. инг. ел. моб. 063 804 3 950 Str. 3/9pelek @open.telekom.rs

Page 4: Архитектура рачунара

Електротехничка школа Никола Тесла Ниш

Програмски део меморије

Ова меморија намењена је за памћење програма и може бити.ROM -(ReadOnliMemory) представља фабрички уписан садржај у програмском делу меморије микроконтролера који може само да се чита..OTPROM -( OneTimeProgrammable ) Када микроконтролер има овакву меморију развијени програм се може уписати само једном.UV EPROM - ( UV ErasableProgrammable) Програм се у овакву меморију може уписивати више пута. Брисање садржаја ове меморије обавља се осветљавањем чипа UV зрачењем одређено време преко стакленог прозора на самом чипу микроконтролера.FLASH - Садржај се уписује и брише електрично и може се изводити неограничен број пута.

Упис програма у програмску меморију микроконтролера обавља се помоћу уређаја који се зову програматори. Упис се може обавити и серијски преко појединих пинова самог микроконтролера.

Меморија за податке.RAM – (RandomAccessMemory)Ова меморија се користи за чување података над којима се врши обрада, медјурезултата и резултата који током извршавања програма мењају своје вредности. Ова меморија губи садржај по нестанку напајања. По укључењу напајања садржај узима случајне вредности.EEPROM- (ElectricallyErasableProgrammable) Подаци се мењају током рада програма (програмирају)али не губе свој садржај са нестанком напајања.

1.3. Процесор

Процесор се састоји из управљачке јединице, аритметичко логичке јединице(ALU), и регистара. Саставни део процесора је и подсистем за управљање програмским прекидом и директни приступ меморији(DMA).Управљачка јединица процесора на основу основне учестаности из осцилатора, ресет улаза наредбе која треба да се изврши и стања прекидног и DMA подсистема, генерише све потребне сигнале(унутрашње и спољашње) за рад процесора тј. извршавање наредби кроз фазе припреме и извршења.Адреса наредбе која треба да се изврши налази се у бројачу наредби. У фази припреме наредба се прочита из меморије и смести у регистар наредби где ће се декодирати(у управљашкој јединици). Наредба се очитава у једном или више приступа меморији. На крају овог циклуса(припреме) бројач наредби увећа свој садржај за дужину наредбе тако да указује(адресира) на следећу наредбу за извршавање.У фази извршења извршиће се наредба која се већ налази у регистру наредби.

ALU се користи за извршавање аритметичких и логичких наредби. На један од улаза доводи се операнд из акумулатора , а на други улаз операнд из меморије или неког од регистара. Резултат(излаз ALU) се смешта у акумулатор.

Мирослав М Пејчић дипл. инг. ел. моб. 063 804 3 950 Str. 4/9pelek @open.telekom.rs

Page 5: Архитектура рачунара

Електротехничка школа Никола Тесла Ниш

Приликом извршења AL наредбе постављају се поједини битови регистра услова и стања процесора C, Z, H, N....( Бит преноса, Резултат у ACC је 0, Полупренос, Резултат у ACC је негативан...) указујући на то како је наредба извршена . Ови битови користиће се у наредбама за гранање програма. У овом регистру се код неких процесора чувају и битови стања процесора(спавање, хладан или врући ресет...).

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

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

Мирослав М Пејчић дипл. инг. ел. моб. 063 804 3 950 Str. 5/9pelek @open.telekom.rs

Page 6: Архитектура рачунара

Електротехничка школа Никола Тесла Ниш

фиксним адресама меморијског простора су и адресе почетака прекидних подпрограма(адресе-вектори прекида).К-ке процесора су: дужина меморијских речи, репертоар наредби, начини адресирања, број регистара, брзина извршавања наредби, структура прекида...

1.4. Машинске наредбе процесора

Машинска наредба је једна или више меморијских речи које процесор тумачи и извршава као наредбу. Код једноадресних рачунара она се састоји из група битова који указују на: код операције(OP), како се срачунава извршна адреса (M), који регистар се користи у наредби (Reg) и адресни део за срачунавање извршне адресе(Adr.).

Према операцији коју извршава машинска наредба може бити: за пренос података , AL операција, за позив подпрограма, за гранање програма... За разлику од фазе припреме које су исте за све врсте наредби, фаза извршења зависи од типа наредбе.Машинске наредбе програма иако су бинарни кодови пишу се у симболичком програмском језику који зовамо асемблер(име за преводилац у машински код). Код таквог програмирања користимо симболичка имена за наредбе, адресе, константе...Наредбе за пренос података преносе садржај акумулатора(регистра) у неки од других регистара или меморију или обрнуто из меморије или неког регистра у акумулатор(LOAD Acc [Adr5], SAVE acc [Adr7]...).AL операције се извршавају преко ALU (+,-, MUL, DEV, AND, OR, XOR...,..., наредбе померања...). На пример: ADD Acc [Adr1], Sub Acc [Adr2], Not Acc, AND Acc [Adr3]...Наредбе за позивање подпрограма (CALL, Return ) обезбеђују да се изврше наредбе подпрограма, а затим да се настави извршавање програма после наредбе позива подпрограма. Приликом скока у подпрограм(Call PP1) запамти се садржај програмског бројача(следеће наредбе) у магацинску меморију. Наредбом Return запамћени садржај се са врха магацинске меморије смешта у бројач наредби како би се припремила за извршење следећа наредба после наредбе позива. Пример: Call PP1, где је PP1 адреса од које почињу наредбе подпрограма, а последња наредба у подпрограму је наредба ReturnНаредбе гранања зависно од вредности бита(услова) за гранање(C,Z,P,H..) омогућавају да се изврши следећа наредба или да се пређе(скочи) на извршавање наредбе чија је адреса у адресном делу наредбе. Пример: BRA C=1 Skok1 где је Skok1 Адреса наредбе која ће се извршити после ове ако је бит преноса C=1, ако није извршиће се следећа наредба.

Мирослав М Пејчић дипл. инг. ел. моб. 063 804 3 950 Str. 6/9pelek @open.telekom.rs

Page 7: Архитектура рачунара

Електротехничка школа Никола Тесла Ниш

Код неких процесора постоје и наредбе прескока(зависно од вредности услова прескочиће се једна наредба или ће се извршити следећа), као и наредбе безусловног скока.Наредбе се извршавају једна за другом(секвенцијално) осим код наредби гранања, прескока, безусловног скока или позива подпрограма.Све наредбе процесора чине репертоар наредби.

Адресирање операнда над којим се врши операција може бити различито(поља Reg и M):

Имплицитно Адреса операнда се подразумева на основу кода операције Непосредно Адресни део наредбе представља операнд(константа).Директно Адресни део нардбе адресира операнд(меморија).Регистарско Операнд је садржај регистраМеморијско индиректно Адресни део наредбе указује на адресу у којој је адреса операнда.Регистарско индиректно У регистру се налази адреса операнда.Индексно Користи се код адресирања суседних меморијских речи. Адреса операнда добија се као збир адресног дела наредбе и садржаја индексног регистра.

Методе адресирања могу се комбиновати.Код рада са магацинском меморијом наредбама POP и PUSH приступа се врху магацинске меморије ради читања или уписа .

Магацинска меморијаМагацинска меморија је безадресна меморија која користи принцип задњи податак стављен у магацин први се чита (LIFO). Користи се за памћење адресе повратка(садржаја програмског бројача) и неких регистара приликом скокова у подпрограме или прекидне подпрограме. Магацинска меморија може бити хардверска или организована од дела меморије рачунара. Код хардверске магацинске меморије приликом програмирања треба водити рачуна о дубини позива подпрограма или прекида (да се не би изгубила адреса повратка у прекинути програм). Код организације магацина у RAM меморији, на слободно место у магацину указује адреса која

Мирослав М Пејчић дипл. инг. ел. моб. 063 804 3 950 Str. 7/9pelek @open.telekom.rs

Page 8: Архитектура рачунара

Електротехничка школа Никола Тесла Ниш

се чува у регистру указатељ магацина. Приликом уписа у магацин адреса(регистар указатељ магацина) се увећа за 1, а код читања се смањи за 1 крећући се у оквиру адреса од дна до врха магацинске меморије. Адреса дна магацина се постави (упише у регистар указатељ магацина) наредбама на самом почетку програма(иницијализација) пре него сто почне да се користи магацинска меморија. Меморија типа редМеморија типа ред организује се у RAM меморији. Користи принцип први уписани податак се прво чита(FIFO). У два регистра чувају се адресе почетка и краја реда. Када је ред празан адресе почетка и краја су једнаке(вредност почетка реда приликом иницијализације). Приликом уписа у ред увећава се адреса краја за 1 и у адресирану меморијску реч упише се податак. Приликом читања(ако ред није празан) увећа се адреса почетка за 1 и прочита се податак. Практично почетак јури крај. Када га стигне нема више података за обраду(ред је празан). Када нека од адреса прекорачи крај реда поставља се на почетак. Оваква организација се користи на пример за серијско слање или пријем података(карактера)

1.5. Прекидни и DMA подсистем

Прекидни систем омогућава да се одређени подпрограми извршавају не на позив (наредбом) већ на догађај како би се што пре извршила активност планирана прекидним подпрограмом. По завршетку прекидног програма процесор ће наставити са извршавањем прекинутог програма са места на коме је био прекинут. Догађај или извор прекида може бити унутрашњи (промена стања бита одговорног регистра), или спољашњи (промена стања на пину процесора).Прекиди се могу маскирати(забранити или дозволити) и имати свој приоритет. Маскирање и приорит одређује се наредбама на почетку програма(иницијализација). Садржај програмског бројача(адреса повратка) и садржаји регистара који ће се користити у прекидном програму памте се(store) у магацинску меморију да би се при повратку на место прекида обрнутим редоследом обновили(restore). Приликом преласка у прекидни подпрограм минимално је запамтити у вредности акумулатора и регистра услова.

Мирослав М Пејчић дипл. инг. ел. моб. 063 804 3 950 Str. 8/9pelek @open.telekom.rs

Page 9: Архитектура рачунара

Електротехничка школа Никола Тесла Ниш

DMA представља директни приступ меморији у коме се размењују подаци измедју U/I подсистема и меморије без учешћа процесора. Може бити DMA-IN и DMA-OUT( улазни пинови микропроцесора). Када дође до појаве сигнала(одговарајуће ивице: предње или задње) на овим пиновима искористиће се један меморијски циклус за упис у меморију или читање. Адресу за овај меморијски приступ обезбедиће неки регистар процесора. После обављеног преноса процесор ће прећи на извршавање следеће наредбе програма. Адреса за DMA приступ мора бити припремљена у ранијем току програма.

1.6. Програмирање микрорачунара

Програмирање микрорачунара ради се у асемблеру, C-у, paskal-у,basic-у. Тако написан програм(текст) зове се изворни код и мора да се преведе(асемблером или преводиоцем) у машински код да би могао да се запамти у меморију рачунара и извршава у процесору. Сваки тип микропроцесора има свој асемблер. Једна асемблерска наредба преводи се у једну машинску наредбу. Машински бинарни тј. hexa код програматором се преноси на меморијски ROM чип или у PROM меморију микроконтролера, или се са PC-a серијском везом преноси у flash меморију микроконтролера.

Мирослав М Пејчић дипл. инг. ел. моб. 063 804 3 950 Str. 9/9pelek @open.telekom.rs