Istorija procesora

  • Upload
    devilko

  • View
    393

  • Download
    3

Embed Size (px)

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.