View
393
Download
3
Category
Preview:
Citation preview
7/29/2019 Istorija procesora
1/61
Fakultet za informatiku i menadment
Predmet: Osnovi raunarske tehnikePredava: Violeta Tomaevi
Asistent: Marko arac
Procesori
MIKROPROCESORI
Mikroprocesori Intel familije
Istorija razvoja
Arhitektura
DMA DIREKTAN PRISTUP MEMORIJI Povezivanje mikroprocesora Intel 8086 sa DMA kontrolerom
MEHANIZAM PREKIDA
Povezivanje mikroprocesora Intel 8086 sa Interrupt kontrolerom
7/29/2019 Istorija procesora
2/61
Mikroprocesori (1)
Istorija razvoja procesora je vrlo kratka. Prvi procesori su
nastali poetkom sedamdesetih godina prolog veka.
Ipak, u ovom kratkom periodu ostvaren je ogroman tehnolokinapredak (na pr. prvi procesori su radili na taktu 0.4MHz, a
danas rade na preko 3GHz).
Intenzivan razvoj u ovoj oblasti bio je praen bespotednimnadmetanjem firmi koje su se bavile proizvodnjom procesora.
7/29/2019 Istorija procesora
3/61
Mikroprocesori (2)
U vreme kada je firma IBMprojektovala svoj prvi PC raunar, na
raspolaganju su bila dva proizvoaa mikroprocesora: Intel i Motorola. Iakosu Motorolini procesori po miljenju IBM-ovih inenjera bili prihvatljiviji jer
su imali bolje karakteristike, izbor je pao na Intel.
Pri izboru su prevagnule sledee injenice:
Intel-ov procesor je bio jeftiniji
Intel-ov procesor je bio kompatibilan sa svim ranijim verzijama, a
garantovana je i kompatibilnost sa svim buduim generacijamaprocesora
IBM je dobio prava za proizvodnju Intel-ovog procesora
za Intel-ov procesor je postojao gotov operativni sistem CP/Mfirme
Digital Research, koji je u to vreme bio industrijski standard za
mikroraunare
7/29/2019 Istorija procesora
4/61
Karakteristike procesora
Najbitnije karakteristike svakog procesora su:
radni takt koji se izraava u Hz (MHz i GHz)
irina magistrale podataka koja se izraava u bitima
irina adresne magistrale koja se izraava u bitima; od nje direktno
zavisi maskimalna koliina memorije koji precesor moe da adresira
koliina ke memorije
7/29/2019 Istorija procesora
5/61
Intel 4004
prvi Intel-ov procesornastao u novembru 1971.godine
upakovan u samo jedan ip, za iju proizvodnju se koristilatada dostupna 10m tehnologija koja mu je omoguila dasadri 2300 tranzistora
veoma dobre karakteristike za to vreme
radni takt od 0.4 do 0.8 MHz
maksimum od 640 bajta eksterne memorije
etvorobitna magistrala podataka
Istorija razvoja
Intel mikroprocesora (1)
7/29/2019 Istorija procesora
6/61
Istorija razvoja
Intel mikroprocesora (2)
Intel 8008
procesor druge generacije nastao u aprilu 1972.god.
glavna poboljanja u odnosu na Intel 4004 osmobitna magistrala podataka
maksimum od 16KB eksterne memorije
radni takt se nije promenio i iznosio je od 0.5MHz do 0.8MHz
zbog proirenja magistrale, a time i mogunosti obrade ALU,ovaj procesor je imao 3500 tranzistora integrisanih unutar
jednog silicijumskog ipa
7/29/2019 Istorija procesora
7/61
Intel 8080
centralni deo prvog komercijalno raspoloivog raunara
Altair u toku nekoliko meseci prodato ih je na hiljade komada, pa je
vrlo brzo dospeo na prvo mesto liste prodaje mikroprocesora
imao je 4500 tranzistora i performanse 10 puta bolje u
odnosu na prethodnika
osnovne karakteristike
radni takt od 2MHz
maksimum od 64KB memorije
Istorija razvoja
Intel mikroprocesora (3)
7/29/2019 Istorija procesora
8/61
Istorija razvoja
Intel mikroprocesora (4)
Izgled silicijumskeploice procesoraIntel 8080
7/29/2019 Istorija procesora
9/61
Intel 8086
prvi 16-bitni procesornastao sredinom 1978.godine, koga
je IBM ugradio u svoj prvi personalni raunar PC/XTproizvodio se u, za to vreme, veoma naprednoj 3mtehnologiji, to je omoguilo da ip sadri 29000 tranzistora
performanse su bile 10 puta bolje u odnosu na prethodnika
osnovne karakteristike
radni takt u verzijama 2, 5, 8 i 10MHz 20-bitna adresna magistrala omoguavala je pristupRAM-u od 1MB (tada se nije uoavala kasnija potreba za
veom memorijom)
Istorija razvoja
Intel mikroprocesora (5)
7/29/2019 Istorija procesora
10/61
Intel 80286
16-bitni procesornastao 1982.godine, kada ga je IBM ugradio u svoj
Advanced technologypersonalni raunar PC/AT
za 6 godina proizvodnje instalirano je 15 miliona ovih PC raunara
bio je prvi pravi procesor; uveo je koncept zatienog moda (protectedmode) koji omoguava da vie programa rade istovremeno, nezavisno
jedan od drugog (multitasking); ova mogunost je kasnije nala primenu uoperativnim sistemima, na pr. u Windows OS
osnovne karakteristike
radni takt u verzijama 6, 10, 12, a kasnije i 20MHz adresirao je 16MB RAM-a
imao je 134000 tranzistora
Istorija razvoja
Intel mikroprocesora (6)
7/29/2019 Istorija procesora
11/61
Intel 80386
prvi 32-bitni procesornastao krajem 1985.godine, koji predstavlja veliki
tehnoloki napredak u Intel-u
karakteristike ovog procesora
zbog 32-bitne magistrale obezbeen je bar duplo vei protokpodataka nego kod procesora 80286
radni takt u verzijama 16, 20, 25 i 33MHz
sadravao je 275000 tranzistora
do 1989.godine razvijena je cela familija ovih procesora; poslednjaverzija iz 1989.god. mogla je da adresira 4GB RAM-a, to je ostalo kaostandard za Intel-ove procesore do dananjih dana
Istorija razvoja
Intel mikroprocesora (7)
7/29/2019 Istorija procesora
12/61
Intel 80386 (nastavak)
u ovom procesoru se prvi put koristio princip pipeline koji omoguavaprocesoru da zapone sa izvravanjem naredne instrukcije pre nego tozavri izvravanje prethodne instrukcije
svi ipovi u 386 familiji bili supin-to-pin kompatibilni
u 386 familiji je postojala softverska kompatibilnost sa familijom 286, to
znai da korisnici nisu morali da nabavljaju novi softver, ve su mogli dakoriste i onaj koji su imali za 286 familiju
familija 386 je ostvarila veliki napredak prvenstveno u razvoju ipova iuvela je standarde koje su mnogi kasniji ipovi pratili
Istorija razvoja
Intel mikroprocesora (8)
7/29/2019 Istorija procesora
13/61
Istorija razvoja
Intel mikroprocesora (9)
Izgled silicijumskeploice i kuitaprocesora Intel 80386
7/29/2019 Istorija procesora
14/61
Istorija razvoja
Intel mikroprocesora (10)
Intel 80486
32-bitni procesornastao poetkom 1989.godine
karakteristike ovog procesora radni takt u verzijama od 25 do 100MHz (1994.god.); iako su prve verzije u
486 familiji radile na istom taktu kao poslednje verzije u familiji 386, 80486 je
bio duplo bri zbog poboljane arhitekturesadravao je 1.2 miliona tranzistora
prvi procesor sa integrisanom ke memorijomveliine 8KB u koju sekorienjempipeline-astavljala sledea instrukcija ili podatak, tako da procesor nijemorao da pristupa spoljanjoj memoriji; poto je ke memorija vrlo vrza, ovo je bioveliki pomak u brzini obrade podataka
veliko poboljanje je bilo i uvoenje integrisanog matematikog koprocesora kojije procesoru omoguavao da aritmetike operacije nad brojevima u pokretnomzarezu izvrava u jednom taktu
7/29/2019 Istorija procesora
15/61
Istorija razvoja
Intel mikroprocesora (11)Pentium familije
Pentium I
mart 1993.g.
Promena naziva (nije 586) zbog pravnih problema. Radni takt 60, 66, ..., 166,
200 i 233MHz. 32-bitna unutranja magistrala podataka, 64-bitna spoljanjamagistrala (duplo bre nego kod 486). Omogueno izvravanje dve instrukcijeza vreme jednog takta. Dva nezavisna kea (code i data). Od takta 75MHz,dva procesora mogla da rade zajedno u sistemu. Kompatibilnost sa starijim
OS (DOS, Windows 3.1, Unix i OS/2). Najpoznatiji Pentium Pro i Pentium
MMX. Za izradu ipova koriena je 0.8 m i 0.35 m tehnologija.
Pentium II
1998.g.
Neuspeli pokuaj objedinjavanja najboljih osobina prethodnika. Optimizovanza 32-bitne aplikacije. MMX-ov set instrukcija koji je ve postao standard. OdPentium Pro je uzeta tehnologija dinamikog izvravanja koja omoguavapredvianje narednih instrukcija u cilju poveanja brzine rada. Radni takt od233 do 450MHz. 32KB L1 kea (po 16KB za podatke i instrukcije) i do 512KBL2 kea (duplo sporiji od L1, ali mnogo bri od sistemske memorije). Promenakuita: procesor i L2 se nalaze na ploici u plastinom kuitu, koja se prekoslota povezuje sa matinom ploom.
7/29/2019 Istorija procesora
16/61
Istorija razvoja
Intel mikroprocesora (12)Pentium familije
Pentuim III
feb. 1999.g.
SSE set instrukcija (MMX-ov set proiren sa 70 novih instrukcija) kojim jepoboljano procesiranje 3D animacija. Radni takt od 450MHz do 1GHz. Da bipoveao sigurnost onlinetransakcija, Intel je odluio da na svaki procesorugradi serijski broj ipa (processor serial number - PSN) koji je mogao da seproita preko mree ili Internet-a. Meutim, korisnici su smatrali da je tonapad na njihovu privatnost i Intel je bio prinuen da dopusti iskljuenje PSN-a u BIOS-u.
Pentium IV
jun 2002.g.
Nova, NetBurst arhitektura CPU dizajniranatako da u budunosti omoguipoveavanje brzine. Net Burst se sastoji od 4 nove tehnologije:Hyper Pipelined Technology (brzina procesora se poveava proirenjem
pipeline-a, tako da se moe raditi nad vie instrukcija istovremeno), RapidExecution Engine(Pentium IV sadri dve ALU koje rade duplo bre odprocesora to je nuna posledica proirenjapipeline-a), Execution TraceCache(bile su neophodne neke prepravke na keu) i 400MHz sistemskamagistrala. Radni takt od 1GHz do 3.6GHz.
7/29/2019 Istorija procesora
17/61
Arhitektura
Intel mikroprocesora
Arhitekturu Intel-ovih mikroprocesora prouiemo na
primeru mikroprocesora Intel 8086, jer su sve kasnije
generacije Intel-ovih mikroprocesora zadrale
kompatibilnost i slinu strukturu kao navedeniprocesor.
7/29/2019 Istorija procesora
18/61
Osnovne karakteristike
Intel 8086
16-bitna magistrala podataka
20-bitna adresna magistrala (mogue je adresirati 220 bajtova, tj. 1MB
memorije)
magistrala podataka i adresna magistrala su multipleksirane, tj. koriste
iste pinove na mikroprocesoru
postoje dve linije za spoljanje prekide
poseban I/O (ulazno/izlazni) adresni prostor veliine 64K za adresiranje
perifernih jedinica
postoji podrka za rad sa DMA kontrolerom
radni takt procesora je, u zavisnosti od verzije, 2, 5, 8, ili 10MHz
7/29/2019 Istorija procesora
19/61
GNDAD14AD13AD12AD11
AD10AD9AD8AD7AD6AD5
AD4AD3AD2AD1AD0NMIINTRCLKGND
VCCAD15A16A17A18
A19BHEMN/MX
RDHOLDHLDA
WRM/IODT/RDENALEINTATEST
READYRESET
CPU
8086
4039383736
353433323130
292827262524232221
12345
67891011
121314151617181920
Pin-out procesora 8086 (1)
7/29/2019 Istorija procesora
20/61
Pin-out procesora 8086 (2)
Pin Opis
VCC pozitivan kraj napajanja procesora (+5V)
GND negativan kraj napajanja procesora (masa)
AD0AD15 multipleksirane magistrale podataka i adresa
A16A19 dodatne 4 linije za adresnu magistralu
NMI[Not Masked Interrupt] ulaz na koji se dovode nemaskirani prekidi
INTR [Interrupt Request] ulaz na koji se sa kontrolera prekida dovodi signal
o pristiglom zahtevu za spoljanjim prekidom
INTA[Interrupt Acknowledge] izlaz kojim procesor signalizira kontroleru prekida
da je spreman da prihvati zahtev za prekidom
CLK[Clock] ulaz za takt na kome radi procesor
7/29/2019 Istorija procesora
21/61
Pin-out procesora 8086 (3)
Pin Opis
BHE [Bus High Enable] izlaz kojim procesor signalizira da je u 16-bitnom
modu rada
MN/MX [MiNimal/MaXimal] ulaz na osnovu koga procesor zna da li je uminimalnom ili maksimalnom modu rada, tj. da li je
jedini procesor u sistemu ili ne
RD [Read] signal kojim procesor zahteva podatak iz
adresirane memorijske elije ili adresirane periferije
WR [Write] signal kojim procesor upisuje podatak u adresiranu
memorijsku eliju ili adresiranu periferiju
HOLD signal kojim DMA kontroler trai od procesora damu prepusti magistralu
HLDA [Hold Acknowledge] signal kojim procesor signalizira DMA kontroleru da
mu je prepustio magistralu
7/29/2019 Istorija procesora
22/61
Pin-out procesora 8086 (4)
Pin Opis
M/IO signal kojim procesor govori ostatku sistema da li je
adresa koju je postavio na adresnu magistralu
adresa memorije ili adresa periferijeALE [Address Latch Enable] signal kojim procesor signalizira da je na magistralu
postavio adresu
DEN [Data Enable] signal kojim procesor signalizira da je na magistralu
postavio podatak
READY ulazni signal kojim memorija kae procesoru da jespremna za sledei ciklus itanja ili upisa podataka
RESET ulazni signal kojim se resetuje procesor
TEST ulaz koji procesoru kae da je sistem u test modu ida instrukcije izvrava jednu po jednu (step mode)
7/29/2019 Istorija procesora
23/61
Princip rada
Mikroprocesori izvravaju program tako to u ciklusima ponavljajusledea 4 koraka, sve dok se ne doe do kraja programa:
1. dohvatanje instrukcije iz memorije i dekodovanje njenog operacionog
koda
2. itanje operanda ako se to zahteva u instrukciji
3. izvravanje instrukcije
4. ako se u instrukciji zahteva, upis rezultata u memoriju ili odgovarajuuperifernu jedinicu
Napomena:Operandi su binarni brojevi nad kojima se vre eljene aritmetike ililogike operacije. Nalaze se u memoriji zajedno sa instrukcijama, ili se dobijaju odneke periferije.
7/29/2019 Istorija procesora
24/61
Unutranja struktura (1)
Mikroprocesori se sastoje od dve osnovne jedinice:
1. EU [Execution Unit]izvrna jedinicakoja izvrava
instrukcije
2. BIU [Bus Inteface Unit] jedinica za spregu sa magistralomkoja dohvata instrukcije iz memorije, ita operande i aljerezultat u memoriju ili ka odgovarajuoj periferiji
Izvrna jedinica i jedinica za interfejs rade nezavisno jednaod druge i najee rade istovremeno.
7/29/2019 Istorija procesora
25/61
EU BIU
PSWregistar
Instruction Pointer
Instruction Queue
Registri optenamene
ALU
Eksterna
magistralaGenerator adresa ikontroler
magistrale
Registri za operande
Interna
magistrala
Unutranja struktura (2)
7/29/2019 Istorija procesora
26/61
Execution Unit (1)
Izvrna jedinica nije direktno povezana sa sistemskom magistralom.
Centralni deo izvrne jedinice jeALU koja, u zavisnosti od instrukcije,
obavlja aritmetike ili logike operacije nad operandima.
Instrukciju koju teba da izvri, ALU dobija iz Instruction Queue koji se
nalazi unutar BIU.
Dobijenu instrukciju ALU izvrava nad operandima koji se nalaze u dva
16-bitna registra iji su izlazi vezani na ulaze ALU.
Operandi u registre dolaze iz memorije, sa periferije, ili iz registara opte
namene ukoliko su rezultat prethodne operacije koju je ALU izvrila.
7/29/2019 Istorija procesora
27/61
Execution Unit (2)
Ukoliko neka instrukcija zahteva podatak iz memorije ili sa neke od
periferija koji nije raspoloiv u registrima za operande, izvrna jedinica
prosleuje taj zahtev BIU, koja zatim obezbeuje traeni podatak.
Rezultat izvravanja neke instrukcije u ALU moe da bude novi operand
za sledeu instrukciju, ili podatak koji treba smestiti u memoriju ili poslati na
neku od periferija.
Kao rezultat izvrene operacije mogu se postaviti i odreeni bitovi u
PSWregistru.
7/29/2019 Istorija procesora
28/61
Bus Interface Unit (1)
Jedinica za spregu sa magistralom vri sve operacije sa memorijom iperiferijama koje zahteva EU. Preko nje se, na zahtev EU, prenose podaci
izmeu procesora i memorije ili periferija.
Tokom izvravanja instrukcije u EU, BIU dohvata naredne instrukcije izmemorije i smeta ih u internu memoriju, tj. Instruction Queue.
U Instruction Queuemoe da se smesti do 6 instrukcija koje ekaju da
se izvre.
Korienje Instruction Queue-a obezbeuje da EU bude uveksnabdevena novim instrukcijama.
7/29/2019 Istorija procesora
29/61
Bus Interface Unit (2)
U sluaju da EU izvri instrukciju koja prebacuje kontrolu nadrugu lokaciju u memoriji (kao na primer instrukcije skoka
GOTO, CALL, JUMP,...), jedinica za spregu sa magistralom:
resetuje Instruction Queue
dohvata instrukciju sa nove adrese i direktno je
prosleuje EU
nastavalja da puni Instruction Queue narednim
instrukcijama
7/29/2019 Istorija procesora
30/61
Registri opte namene
Postoji 8 16-bitnih registara opte namene koji su svrstani u dve grupeod po 4 registra.
Prvu grupu ine registri za podatke.slue za uvanje razliitih vrsta podataka generisanih tokomizvravanja programakorisnik moe da im pristupa (ita i menja sadraj) bez ogranienjakoriste se u veini aritmetikih i logikih operacija
specifini su jer im je mogue posebno adresirati gornju i donjupolovinu od 8 bitova, to znai da se svaki registar za podatke moekoristiti ili kao jedan 16-bitni, ili kao dva 8-bitna registra
Drugu grupu ine indeksni i pointer registri.
7/29/2019 Istorija procesora
31/61
Instruction Pointerregistar
Instruction Pointer(IP) je registar koji sadri adresu sledeeinstrukcije koju BIU treba da prenese iz memorije u procesor.
IP je u sutini broja koji inkrementira sadraj nakonpreuzimanja nove instrukcije iz memorije.
U sluaju da u programu treba napraviti skok, neophodno jepromeniti vrednost IP-a. Nakon toga, prva sledea instrukcija
koju treba izvriti je ona koja se nalazi na adresi upisanoj u IP.
7/29/2019 Istorija procesora
32/61
PSWregistar (1)
PSW(Processor Status Word) registar slui za pamenjenekih bitnih osobina poslednjeg rezultata dobijenog iz ALU,
kao i odreenih parametara procesora.
Svaka informacija je predstavljena jednim bitom registra koji
se zove fleg (flag zastavica).
Mikroprocesor Intel 8086 ima16-bitni PSW koji sadri: 6 statusnih flegova
3 kontrolna flega
7 bitova koji se ne koriste
7/29/2019 Istorija procesora
33/61
PSWregistar (2)
Statusni flegovi
predstavljaju informacije o rezultatu operacije izvrene uALU
moe ih menjati jedino EUkorisnik moe samo da ita njihove vrednosti, ali ne i daih menja
Kontrolni flegovi predstavljaju parametre bitne za rad procesora
njihovu vrednost postavlja korisnik
7/29/2019 Istorija procesora
34/61
PSWregistar (3)
Statusni flegovi Opis
CF [Carry flag] Setovan na 1 ako je bilo prenosa ili pozajmice pri
raunanju najvieg bita rezultata. Dobija novu vrednostnakon svake instrukcije sabiranja, oduzimanja ili rotiranja.
PF [Parity flag] Setovan na 1 ako rezultat ima paran broj jedinica. Koristi
se za proveru ispravnosti prenosa podataka do periferija.
AF [Auxiliary Carry flag] Setovan na 1 ako je pri raunanju rezultata bilo prenosa ilipozajmice izmeu nieg i vieg bajta.
ZF [Zero flag] Setovan na 1 ako je rezultat operacije 0.SF [Sign flag] Setovan na 1 ako je rezultat negativan broj, tj. poinje sa 1
(negativni brojevi se predstavljaju u komplementu dvojke).
OF [Overflow flag] Setovan na 1 ako doe do prekoraenja, tj., zbog veliine,rezultat ne moe da bude upisan na predvienu lokaciju.
7/29/2019 Istorija procesora
35/61
PSWregistar (4)
Kontrolni flegovi
DF [Direction flag] IF [Interrupt flag]
TF [Trap flag]
IF zabranjuje ili dozvoljava spoljanje prekide koji dolaze poINTR liniji. Spoljanji prekidi koji stiu po NMIliniji ili unutranji
prekidi se ne mogu zabraniti ovim flegom.
7/29/2019 Istorija procesora
36/61
Intel 8086
ALE
RDWR
M/IO
MemorijaAD0AD15,
A16A19
20 LE 20
16
D
A
RDWRCS
Priferija
D
A
RDWRCS
Povezivanje sa okruenjem
Na slici je prikazan nain povezivanja procesora Intel 8086 sa memorijom i periferijama.
7/29/2019 Istorija procesora
37/61
Potreba za razmenom binarnih informacija izmeuprocesora i memorije je veoma esta:
itanje instrukcija iz memorije
U memoriji se nalazi program koji procesor treba da izvri. Programse sastoji od instrukcija koje, da bi se izvrile, najpre treba proitati, a
zatim proslediti do procesora.
itanje podataka iz memorije
U memoriji se nalaze i podaci nad kojima procesor vri obradu(operandi za aritmetiko-logike operacije).
upis rezultata u memoriju
Nakon obrade, dobijeni rezultat se esto upisuje u memoriju da bi se
sauvao za kasniju upotrebu.
Razmena podataka sa memorijom (1)
7/29/2019 Istorija procesora
38/61
Upis binarnog podatka u memoriju:
procesor adresira eljenu memorijsku lokaciju postavljanjem njeneadrese na adresnu magistralu
na magistralu podataka procesor postavlja podatak koji eli da
upie setovanjem signala WR (write pin29) procesor zadaje komandumemoriji da obavi upis podatka
itanje binarnog podatka iz memorije:
procesor adresira memorijsku lokaciju iz koje eli da proita podatakpostavljanjem njene adrese na adresnu magistralu
setovanjem signala RD (read pin32) procesor zadaje komandumemoriji da na magistralu podataka postavi adresirani podatak
procesor preuzima podatak sa magistrale podataka
Razmena podataka sa memorijom (2)
7/29/2019 Istorija procesora
39/61
Razmena podataka sa memorijom (3)
Problem: adresna magistrala i magistrala podataka su multipleksirane, pa nije
mogue da se na pinovima procesora istovremeno pojave i adrese i podaci, to jeneophodno prilikom upisa i itanja sadraja.
Navedeni problem se reava upotrebom lea. Leje sekvencijalno kolo slino
registru, s tom razlikom to se prilikom upisa podatka u le, podatak automatskipojavljuje na njegovom izlazu. Uloga lea je da privremeno zapamti adresu.
Postupak postavljanja adrese i podatka:
procesor najpre postavlja adresu na multipleksiranu magistralu
zatim aktiviraALEsignal kojim se adresa upisuje u le i prosleuje nanjegov izlaz
poto se izlaz lea vodi na adresni ulaz memorije, adresa je prosleena domemorije
sada procesor moe na multipleksiranu magistralu da postavi podatak zaupis ili da preko magistrale proita podatak iz memorije
7/29/2019 Istorija procesora
40/61
Razmena podataka sa periferijom (1)
Pod periferijamase podrazumevaju svi ureaji (osim memorije) koji supovezani sa procesorom.
Periferije slueza trajno skladitenje podataka, runi unos ili itanjepodataka, komunikaciju raunara sa okruenjem, ukljuujui i komunikacijusa drugim raunarima.
Uobiajene periferije su hard disc, mi, tastatura, video kartica, modem,tampa i dr.
Procesor komunicira sa periferijama (alje im i prima podatke od njih) naslian nain kao i sa memorijom, s tim to postoje dve razlike:
Prva razlikaje u tome to se sada ne adresira memorijska lokacija veperiferija. Naime, svaka periferija ima svoju adresu. Kada procesor na
adresnu magistralu postavi adresu periferije, odgovorie mu samo
periferija iju je adresu postavio.
7/29/2019 Istorija procesora
41/61
Razmena podataka sa periferijom (2)
Druga razlikaje u tome to periferije i memorija moraju da znajuiju adresu je procesor postavio na magistralu.Adrese memorijskihlokacija i adrese periferija se poklapaju. Kada ne bi postojala nikakva
dodatna informacija o tome kome procesor eli da se obrati, desilo bise da mu istovremeno odgovore i memorija i periferija, to bi dovelodo greke u sistemu zbog sudara podataka koji dolaze sa razliitihstrana na istu magistralu podataka.
Problem se reava M/IO signalom koji procesor postavlja na 1 kadaeli da se obrati memoriji, odnosno na 0 kada eli da se obratiperiferiji. Ovaj signal se vodi na CS (Chip Select) ulaze i memorije i
periferije.
7/29/2019 Istorija procesora
42/61
Direktan pristup memoriji - DMA
DMA Direct MemoryAccess predstavlja direktan transferpodataka izmeu periferije i memorije, bez posredovanjaprocesora.
DMA transfer podatka se obavlja tako to, uz pomo DMAkontrolera, periferija generie adrese memorijskih lokacija ismeta podatke u njih.
DMA transfer se primenjuje:kada je potrebno preneti veliku koliinu podatka, pa bitransfer preko procesora znatno usporio prenos
kada je periferija relativno brza (primer takve periferije je
hard disc).
7/29/2019 Istorija procesora
43/61
Address
Address
Address
Data
Data
Data
Intel 8086Periferija
Memorija
DMA
A D
HOLDHLDA
Povezivanje procesora
Intel 8086 sa DMA kontrolerom
Na slici nije prikazan adresni le, ali se podrazumeva da on postoji unutar procesora.
7/29/2019 Istorija procesora
44/61
DMA ciklus
DMA transfer se obavlja na sledei nain:
DMA kontroler zahteva od procesora da mu omogui pristup magistralitako to aktivira signal HOLD (pin31).
Kada procesor primi signal HOLD, zavrava tekui ciklus na magistrali iaktivira signal HLDA (Hold Acknowledge - pin30), ime predaje magistraluDMA kontroleru.
Dok DMA kontroler koristi magistralu, procesor ne sme da joj pristupa(ne moe da pristupa memoriji u cilju upisa ili itanja), ali moe da nastavisa obradom podataka koji se trenutno u njemu nalaze.
Kada zavri DMA ciklus, DMA kontroler deaktivira HOLDsignal, imeoslobaa magistralu i predaje je procesoru.
7/29/2019 Istorija procesora
45/61
Mehanizam prekida (1)
Problem
Veina periferija je znatno sporija od procesora. Ukoliko procesor trebada poalje podatke nekoj periferiji, na primer tampau da ih
odtampa, procesor mora da saeka da periferija zavri svoj posao, tj.tampanje prispelih podataka, kako bi poslao nove podatke zatampanje. ekanje na periferiju (dok ona obavi svoj posao)predstavlja izgubljeno vreme za procesor, jer je on tada besposlen.
Reenje
Navedeni problem se reava uvoenjem mehanizma prekida kojiomoguava efikasniji rad raunara sa periferijama. Korienje prekidaomoguava procesoru da izvrava druge instrukcije za vreme dokperiferija obavlja svoj posao.
7/29/2019 Istorija procesora
46/61
Mehanizam prekida (2)
Zahvaljujui mehanizmu prekida, procesor ne eka na oslobaanjeperiferije, ve opsluuje periferiju na njen zahtev.
Mehanizam prekida radi na sledei nain:
Kada periferija postane spremna za prijem novih podataka od
procesora, ona to signalizira procesoru slanjem zahteva za prekid.
Po prijemu zahteva, procesor na kratko prekida izvravanje tekueg
programa i vri skok na program koji se naziva prekidna rutina.
U prekidnoj rutini opsluuje se periferija koja je zahtevala prekid, anakon toga procesorse vraa tamo gde je stao u programu koji jeizvravao i nastavlja sa radom.
7/29/2019 Istorija procesora
47/61
Mehanizam prekida (3)
Postoje dve vrste prekida:
spoljanji ili eksterni prekidiOvo su prekidi koji dolaze od periferija.
unutranji prekidi
Ovi prekidi mogu biti posledica izvravanja instrukcijeprekida, ili posledica neke neregularnosti u izvravanjutekue instrukcije.
7/29/2019 Istorija procesora
48/61
Eksterni prekidi
Procesor Intel 8086 ima dve linije za eksterne
prekide:
INTR (Interrupt Request pin18)
NMI (Not Masked Interrupt pin17)
7/29/2019 Istorija procesora
49/61
INTR (1)
Linija INTRje obino povezana sa programabilnimkontrolerom prekida (Intel 8259).
Uloga kontrolera prekida je da prihvata zahteve zaprekidima upuene od strane periferija koje su sa njimpovezane.
Nakon dobijanja zahteva, kontroler odreuje koji odpristiglih zahteva ima najvii prioritet i ukoliko je pristiglizahtev vieg prioriteta od prioriteta zahteva koji se trenutnoobrauje, aktivira liniju INTR.
7/29/2019 Istorija procesora
50/61
8Data
Intel 8086 Kontrolerprekida
INTRINTA
Prioritetni
koder
256/8
Periferija 1
Periferija 2
Periferija 3
Periferija n
m1
m3
m2
mn
INTR (2)
Na slici nije prikazan nain povezivanja procesora Intel 8086 sa kontrolerom prekida.
7/29/2019 Istorija procesora
51/61
INTR (3)
Nakon aktiviranja linije INTR, procesor prihvata ili ne prihvata zahtev za
prekidom u zavisnosti od vrednosti IF flega u PSW registru. Ako je navedeni
fleg postavljen na 1, zahtev se prihvata, a ako je 0, zahtev se ignorie.
Ukoliko procesor prihvati zahtev, najpre zavrava izvravanje tekueinstrukcije. Stoga vreme potrebno da procesor prihvati prekid (vreme
kanjenja prekida) zavisi od duine instrukcije koja se trenutno izvrava(najvee je kanjenje za instrukcije mnoenja i deljenja).
Nakon toga, procesor odgovara na zahtev aktiviranjem linije INTA(Interrupt Acknowledgepin24), ime se kontroler prekida obavetava dana magistralu podataka treba da postavi 8-bitni podatak koji predstavlja kod
prekida i nosi informaciju o tome koja periferija je zahtevala prekid.
7/29/2019 Istorija procesora
52/61
INTR (4)
Na osnovu koda prekida dobijenog sa magistrale
podataka, procesor odreuje koju prekidnu rutinu treba dapozove (onu koja odgovara periferiji koja je zahtevala
prekid).
Ukoliko tokom izvravanja jedne prekidne rutine stignezahtev vieg prioritetaod onog koji se izvrava, kontroler
prekida e ponovo aktivirati liniju INTRi procesor e preina izvravanje nove prekidne rutine. Kada je zavri,procesor e se vratiti na prethodnu prekidnu rutinu, a kada inju odradi, vratie se na izvravanje glavnog programa.
7/29/2019 Istorija procesora
53/61
INTR (5)
Procesor ima mogunost damaskira pojedine prekide tako tokontroleru prekida alje odgovarajuu
komandu.
Maskirani prekidi se ignoriu odstrane kontrolera prekida i informacija
o njihovom pojavljivanju se ne
prosleuje procesoru.
Prekid se maskira bitom maske mi
na ulazu logikih I kola tako to se tajbit postavi na vrednost 0.
8
Kontrolerprekida
Prioritetni
koder
256/8
Periferija 1
Periferija 2
Periferija 3
Periferija n
m1
m3
m2
mn
7/29/2019 Istorija procesora
54/61
NMI
Eksterni prekidi do procesora mogu stii i po NMI liniji. U ovomsluaju re je o prekidima koji mogu da imaju katastrofalne posledice poprocesor, na primer informacija o gubitnku napajanja, greka prilikom
transfera na magistrali, greka u radu memorije, itd.
Prekidi koji stiu po NMI liniji su nemaskirajui, tj. ne postojimogunost da budu maskirani. Oni se ne mogu zabraniti ni IF flegom uPSW registru.
Prekidi koji stiu po NMIliniji su vieg prioriteta od bilo kog prekidakoji stie po INTRliniji, to znai da u sluaju istovremenog pristizanjaprekida sa obe linije, najpre se obrauje prekid koji je stigao po NMIliniji.
7/29/2019 Istorija procesora
55/61
Interni prekidi
Interni prekidi se generiu prilikom izvravanja instrukcijeinternog prekida, tj. asemblerske instrukcije INT.
Instrukcija sadri kod prekida na osnovu koga procesorprelazi na izvrenje odreene prekidne rutine (podprograma).
Interni prekidi su vieg prioriteta od eksternih prekida.Ukoliko u toku izvravanja internog prekida, po nekoj od linijaza eksterne prekide stigne zahtev za prekidom, prvo se
procesira interni prekid, pa se tek onda prihvata zahtev za
eksternim prekidom koji je najvieg prioriteta.
7/29/2019 Istorija procesora
56/61
Tabela prekida (1)
Tabela prekidaInterrupt Pointer Table je tabela kojauspostavlja vezu izmeu koda prekida i prekidne rutine(programa) koju treba izvriti da bi se opsluio taj prekid.
Na osnovu koda prekida, iz tabele prekida se moe dobitiadresa u memoriji na kojoj se nalazi prekidna rutina koju treba
izvriti.
Tabela prekida ima 256 ulaza, za svaki tip prekida po jedanulaz. Ona se uvek nalazi u prvom kilobajtu memorije.
Za pamenje adrese prekidne rutine koriste se 4 bajta.
7/29/2019 Istorija procesora
57/61
Tabela prekida (2)
0 Adresa prekidne rutine iji je kod 0
4 Adresa prekidne rutine iji je kod 18 Adresa prekidne rutine iji je kod 2
12 Adresa prekidne rutine iji je kod 3
. .
. .1020 Adresa prekidne rutine iji je kod 255
1024 ostatak memorije
. .
4 bajtaAdresamemorijske
lokacije
7/29/2019 Istorija procesora
58/61
uvanje konteksta procesora (1)
Kad procesoru stigne zahtev za prekidom i on ga prihvati,
pre nego to pree na izvravanje odgovarajue prekidne
rutine, procesor mora da sauva kontekstu kome je izvravaotekui program.
Kontekst obuhvata:
sadraj PSW (Precessor Status Word) registra
trenutnu vrednost IP (Instruction Pointer) registra
7/29/2019 Istorija procesora
59/61
uvanje konteksta procesora (2)
Kontekst je neophodno sauvati kako bi, nakon zavretkaprekidne rutine, procesor znao odakle treba da nastavi
izvravanje glavnog programa i kakav je bio status nakonposlednje operacije koju je ALU izvrila pre prekida.
Restauriranje konteksta je potrebno zato to prilikomizvravanja prekidne rutine obino dolazi do promene
sadraja PSW registra, pa bi registar odslikavao osobinerezultata poslednje operacije u prekidnoj rutini, a ne osobine
rezultata operacije izvrene neposredno pre prelaska naprekidnu rutinu.
7/29/2019 Istorija procesora
60/61
uvanje konteksta procesora (3)
Kontekst procesora se uva u posebnom delu memorije koji se nazivastek (stack).
Neposredno pre izvravanja prekidne rutine, sadraji PSW i IP ragistara
se automatski alju na stek. Po zavretku prekidne rutine se, takoeautomatski, reinicijalizuju.
U praksi se na steku uvaju i sadraji pojedinih registara opte namene,ali to mora da naloi korisnik (programer) softverskim putem.
U zavisnosti od tipa prekida, programer utvruje koji registri mogupromeniti stanje tokom izvravanja prekidne rutine i njih eksplicitno smetana stek. Takoe, programer mora sam da reinicijalizuje ove registresoftverskim putem po povratku iz prekidne rutine.
7/29/2019 Istorija procesora
61/61
IPglavnog programa
PSWglavnog programa
IPprve prekidne rutine
PSWprve prekidne rutine
IPdruge prekidne rutine
PSWdruge prekidne rutine
IPprekidne rutine koja je poslednja prekinuta
PSWprekidne rutine koja je poslednja prekinuta
Dno steka
uvanje konteksta procesora (4)
Vrh steka
Podaci se uvek upisuju na
vrh steka.
Stek podrava LIFO (last in,first out) disciplinu pristupa, tj.
sa steka se najpre uzima
podatak koji je poslednjistavljen na stek.
Recommended