1 / 61

Fakultet za informatiku i menadžment Predmet: Osnovi računarske tehnike

Fakultet za informatiku i menadžment Predmet: Osnovi računarske tehnike Predavač: Violeta Tomašević Asistent: Marko Šarac. Procesori MIKROPROCESORI Mikroprocesori Intel familije Istorija razvoja Arhitektura DMA – DIREKTAN PRISTUP MEMORIJI

Download Presentation

Fakultet za informatiku i menadžment Predmet: Osnovi računarske tehnike

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fakultet za informatiku i menadžment Predmet: Osnovi računarske tehnike Predavač: Violeta Tomašević 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

  2. Mikroprocesori (1) Istorija razvoja procesora je vrlo kratka. Prvi procesori su nastali početkom sedamdesetih godina prošlog veka. Ipak, u ovom kratkom periodu ostvaren je ogroman tehnološki napredak (na pr. prvi procesori su radili na taktu 0.4MHz, a danas rade na preko 3GHz). Intenzivan razvoj u ovoj oblasti bio je praćen bespoštednim nadmetanjem firmi koje su se bavile proizvodnjom procesora.

  3. Mikroprocesori (2) • U vreme kada je firma IBM projektovala svoj prvi PC računar, na raspolaganju su bila dva proizvođača mikroprocesora: Intel i Motorola. Iako su Motorolini procesori po mišljenju IBM-ovih inženjera bili prihvatljiviji jer su imali bolje karakteristike, izbor je pao na Intel. • Pri izboru su prevagnule sledeće činjenice: • Intel-ov procesor je bio jeftiniji • Intel-ov procesor je bio kompatibilan sa svim ranijim verzijama, a garantovana je i kompatibilnost sa svim budućim generacijama procesora • IBM je dobio prava za proizvodnju Intel-ovog procesora • za Intel-ov procesor je postojao gotov operativni sistem CP/M firme Digital Research, koji je u to vreme bio industrijski standard za mikroračunare

  4. Karakteristike procesora Najbitnije karakteristike svakog procesora su: • radni takt koji se izražava u Hz (MHz i GHz) • širina magistrale podataka koja se izražava u bitima • širina adresne magistrale koja se izražava u bitima; od nje direktno zavisi maskimalna količina memorije koji precesor može da adresira • količina keš memorije

  5. Istorija razvoja Intel mikroprocesora (1) Intel 4004 • prvi Intel-ov procesor nastao u novembru 1971.godine • upakovan u samo jedan čip, za čiju proizvodnju se koristila tada dostupna 10μm tehnologija koja mu je omogućila da sadrži 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

  6. Istorija razvoja Intel mikroprocesora (2) Intel 8008 • procesor druge generacije nastao u aprilu 1972.god. • glavna poboljšanja 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 proširenja magistrale, a time i mogućnosti obrade ALU, ovaj procesor je imao 3500 tranzistora integrisanih unutar jednog silicijumskog čipa

  7. Istorija razvoja Intel mikroprocesora (3) Intel 8080 • centralni deo prvog komercijalno raspoloživog računara – 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

  8. Istorija razvoja Intel mikroprocesora (4) Izgled silicijumske pločice procesora Intel 8080

  9. Istorija razvoja Intel mikroprocesora (5) Intel 8086 • prvi 16-bitni procesor nastao sredinom 1978.godine, koga je IBM ugradio u svoj prvi personalniračunar PC/XT • proizvodio se u, za to vreme, veoma naprednoj 3μm tehnologiji, što je omogućilo da čip sadrži 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 omogućavala je pristup RAM-u od 1MB (tada se nije uočavala kasnija potreba za većom memorijom)

  10. Istorija razvoja Intel mikroprocesora (6) Intel 80286 • 16-bitni procesor nastao 1982.godine, kada ga je IBM ugradio u svoj Advanced technology personalni računar PC/AT • za 6 godina proizvodnje instalirano je 15 miliona ovih PC računara • bio je prvi “pravi” procesor; uveo je koncept zaštićenog moda (protected mode) koji omogućava da više programa rade istovremeno, nezavisno jedan od drugog (multitasking); ova mogućnost je kasnije našla primenu u operativnim 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

  11. Istorija razvoja Intel mikroprocesora (7) Intel 80386 • prvi 32-bitni procesor nastao krajem 1985.godine, koji predstavlja veliki tehnološki napredak u Intel-u • karakteristike ovog procesora • zbog 32-bitne magistrale obezbeđen je bar duplo veći protok podataka nego kod procesora 80286 • radni takt u verzijama 16, 20, 25 i 33MHz • sadržavao je 275000 tranzistora • do 1989.godine razvijena je cela familija ovih procesora; poslednja verzija iz 1989.god. mogla je da adresira 4GB RAM-a, što je ostalo kao standard za Intel-ove procesore do današnjih dana

  12. Istorija razvoja Intel mikroprocesora (8) Intel 80386 (nastavak) • u ovom procesoru se prvi put koristio princip pipeline koji omogućava procesoru da započne sa izvršavanjem naredne instrukcije pre nego što završi izvršavanje prethodne instrukcije • svi čipovi u 386 familiji bili su pin-to-pin kompatibilni • u 386 familiji je postojala softverska kompatibilnost sa familijom 286, što znači da korisnici nisu morali da nabavljaju novi softver, već su mogli da koriste i onaj koji su imali za 286 familiju • familija 386 je ostvarila veliki napredak prvenstveno u razvoju čipova i uvela je standarde koje su mnogi kasniji čipovi pratili

  13. Istorija razvoja Intel mikroprocesora (9) Izgled silicijumske pločice i kućišta procesora Intel 80386

  14. Istorija razvoja Intel mikroprocesora (10) Intel 80486 • 32-bitni procesor nastao početkom 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 brži zbog poboljšane arhitekture • sadržavao je 1.2 miliona tranzistora • prvi procesor sa integrisanom keš memorijom veličine 8KB u koju se korišćenjem pipeline-a stavljala sledeća instrukcija ili podatak, tako da procesor nije morao da pristupa spoljašnjoj memoriji; pošto je keš memorija vrlo vrza, ovo je bio veliki pomak u brzini obrade podataka • veliko poboljšanje je bilo i uvođenje integrisanog matematičkog koprocesora koji je procesoru omogućavao da aritmetičke operacije nad brojevima u pokretnom zarezu izvršava u jednom taktu

  15. Istorija razvoja Intel mikroprocesora (11) Pentium familije

  16. Istorija razvoja Intel mikroprocesora (12) Pentium familije

  17. Arhitektura Intel mikroprocesora Arhitekturu Intel-ovih mikroprocesora proučićemo na primeru mikroprocesora Intel 8086, jer su sve kasnije generacije Intel-ovih mikroprocesora zadržale kompatibilnost i sličnu strukturu kao navedeni procesor.

  18. Osnovne karakteristike Intel 8086 • 16-bitna magistrala podataka • 20-bitna adresna magistrala (moguće je adresirati 220 bajtova, tj. 1MB memorije) • magistrala podataka i adresna magistrala su multipleksirane, tj. koriste iste pinove na mikroprocesoru • postoje dve linije za spoljašnje prekide • poseban I/O (ulazno/izlazni) adresni prostor veličine 64K za adresiranje perifernih jedinica • postoji podrška za rad sa DMA kontrolerom • radni takt procesora je, u zavisnosti od verzije, 2, 5, 8, ili 10MHz

  19. GND VCC 1 40 AD14 2 39 AD15 AD13 3 38 A16 AD12 4 37 A17 AD11 5 36 A18 6 35 AD10 A19 AD9 7 34 BHE 8 33 AD8 MN/MX AD7 9 32 RD CPU 8086 10 31 AD6 HOLD AD5 11 30 HLDA AD4 12 29 WR 13 28 AD3 M/IO AD2 14 27 DT/R 15 26 AD1 DEN AD0 16 25 ALE 17 24 NMI INTA 18 23 INTR TEST CLK 19 22 READY 20 21 GND RESET Pin-out procesora 8086 (1)

  20. Pin-out procesora 8086 (2)

  21. Pin-out procesora 8086 (3)

  22. Pin-out procesora 8086 (4)

  23. Princip rada Mikroprocesori izvršavaju program tako što u ciklusima ponavljaju sledeća 4 koraka, sve dok se ne dođe do kraja programa: dohvatanje instrukcije iz memorije i dekodovanje njenog operacionog koda čitanje operanda ako se to zahteva u instrukciji izvršavanje instrukcije ako se u instrukciji zahteva, upis rezultata u memoriju ili odgovarajuću perifernu jedinicu Napomena: Operandi su binarni brojevi nad kojima se vrše željene aritmetičke ili logičke operacije. Nalaze se u memoriji zajedno sa instrukcijama, ili se dobijaju od neke periferije.

  24. Unutrašnja struktura (1) Mikroprocesori se sastoje od dve osnovne jedinice: • EU [Execution Unit] – izvršna jedinica koja izvršava instrukcije • BIU [Bus Inteface Unit] – jedinica za spregu sa magistralom koja dohvata instrukcije iz memorije, čita operande i šalje rezultat u memoriju ili ka odgovarajućoj periferiji • Izvršna jedinica i jedinica za interfejs rade nezavisno jedna od druge inajčešće rade istovremeno.

  25. Unutrašnja struktura (2) EU BIU Instruction Pointer Registri opšte namene Internamagistrala Eksternamagistrala Generator adresa i kontrolermagistrale Registri za operande Instruction Queue ALU PSWregistar

  26. Execution Unit (1) • Izvršna jedinica nije direktno povezana sa sistemskom magistralom. • Centralni deo izvršne jedinice je ALU koja, u zavisnosti od instrukcije, obavlja aritmetičke ili logičke operacije nad operandima. • Instrukciju koju teba da izvrši, ALU dobija iz Instruction Queue koji se nalazi unutar BIU. • Dobijenu instrukciju ALU izvršava 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 opšte namene ukoliko su rezultat prethodne operacije koju je ALU izvršila.

  27. Execution Unit (2) • Ukoliko neka instrukcija zahteva podatak iz memorije ili sa neke od periferija koji nije raspoloživ u registrima za operande, izvršna jedinica prosleđuje taj zahtev BIU, koja zatim obezbeđuje traženi podatak. • Rezultat izvršavanja neke instrukcije u ALU može da bude novi operand za sledeću instrukciju, ili podatak koji treba smestiti u memoriju iliposlati naneku od periferija. • Kao rezultat izvršene operacije mogu se postaviti i određeni bitovi u PSW registru.

  28. Bus Interface Unit (1) • Jedinica za spregu sa magistralom vrši sve operacije sa memorijom i periferijama koje zahteva EU. Preko nje se, na zahtev EU, prenose podaci između procesora i memorije ili periferija. • Tokom izvršavanja instrukcije u EU, BIU dohvata naredne instrukcije iz memorije i smešta ih u internu memoriju, tj. Instruction Queue. • U Instruction Queue može da se smesti do 6 instrukcija koje čekaju da se izvrše. • Korišćenje Instruction Queue-a obezbeđuje da EU bude uvek snabdevena novim instrukcijama.

  29. Bus Interface Unit (2) • U slučaju da EU izvrši instrukciju koja prebacuje kontrolu na drugu 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 prosleđuje EU • nastavalja da puni Instruction Queue narednim instrukcijama

  30. Registri opšte namene • Postoji 8 16-bitnih registara opšte namene koji su svrstani u dve grupe od po 4 registra. • Prvu grupu čine registri za podatke. • služe za čuvanje različitih vrsta podataka generisanih tokom izvršavanja programa • korisnik može da im pristupa (čita i menja sadržaj) bez ograničenja • koriste se u većini aritmetičkih i logičkih operacija • specifični su jer im je moguće posebno adresirati gornju i donju polovinu od 8 bitova, što znači da se svaki registar za podatke može koristiti ili kao jedan 16-bitni, ili kao dva 8-bitna registra • Drugu grupu čine indeksni i pointer registri.

  31. Instruction Pointer registar • Instruction Pointer (IP) je registar koji sadrži adresu sledeće instrukcije koju BIU treba da prenese iz memorije u procesor. • IP je u suštini brojač koji inkrementira sadržaj nakon preuzimanja nove instrukcije iz memorije. • U slučaju da u programu treba napraviti skok, neophodno je promeniti vrednost IP-a. Nakon toga, prva sledeća instrukcija koju treba izvršiti je ona koja se nalazi na adresi upisanoj u IP.

  32. PSW registar (1) • PSW (Processor Status Word) registar služi za pamćenje nekih bitnih osobina poslednjeg rezultata dobijenog iz ALU, kao i određenih parametara procesora. • Svaka informacija je predstavljena jednim bitom registra koji se zove fleg (flag – zastavica). • Mikroprocesor Intel 8086 ima16-bitni PSW koji sadrži: • 6 statusnih flegova • 3 kontrolna flega • 7 bitova koji se ne koriste

  33. PSW registar (2) • Statusni flegovi • predstavljaju informacije o rezultatu operacije izvršene u ALU • može ih menjati jedino EU • korisnik može samo da čita njihove vrednosti, ali ne i da ih menja • Kontrolni flegovi • predstavljaju parametre bitne za rad procesora • njihovu vrednost postavlja korisnik

  34. PSW registar (3)

  35. PSW registar (4) • Kontrolni flegovi • DF [Direction flag] • IF [Interrupt flag] • TF [Trap flag] • IF zabranjuje ili dozvoljava spoljašnje prekide koji dolaze po INTR liniji. Spoljašnji prekidi koji stižu po NMI liniji ili unutrašnji prekidi se ne mogu zabraniti ovim flegom.

  36. Intel 8086 Memorija 20 LEČ 20 AD0÷AD15, A16÷A19 A D ALE RD WR CS RD WR Priferija M/IO A 16 D RD WR CS Povezivanje sa okruženjem Na slici je prikazan način povezivanja procesora Intel 8086 sa memorijom i periferijama.

  37. Razmena podataka sa memorijom (1) • Potreba za razmenom binarnih informacija između procesora i memorije je veoma česta: • čitanje instrukcija iz memorije U memoriji se nalazi program koji procesor treba da izvrši. Program se sastoji od instrukcija koje, da bi se izvršile, najpre treba pročitati, a zatim proslediti do procesora. • čitanje podataka iz memorije U memoriji se nalaze i podaci nad kojima procesor vrši obradu (operandi za aritmetičko-logičke operacije). • upis rezultata u memoriju Nakon obrade, dobijeni rezultat se često upisuje u memoriju da bi se sačuvao za kasniju upotrebu.

  38. Razmena podataka sa memorijom (2) • Upis binarnog podatka u memoriju: • procesor adresira željenu memorijsku lokaciju postavljanjem njene adrese na adresnu magistralu • na magistralu podataka procesor postavlja podatak koji želi da upiše • setovanjem signala WR (write – pin29) procesor zadaje komandu memoriji da obavi upis podatka • Čitanje binarnog podatka iz memorije: • procesor adresira memorijsku lokaciju iz koje želi da pročita podatak postavljanjem njene adrese na adresnu magistralu • setovanjem signala RD (read – pin32) procesor zadaje komandu memoriji da na magistralu podataka postavi adresirani podatak • procesor preuzima podatak sa magistrale podataka

  39. Razmena podataka sa memorijom (3) • Problem: adresna magistrala i magistrala podataka su multipleksirane, pa nije moguće da se na pinovima procesora istovremeno pojave i adrese i podaci, što je neophodno prilikom upisa i čitanja sadržaja. • Navedeni problem se rešava upotrebom leča. Leč je sekvencijalno kolo slično registru, s tom razlikom što se prilikom upisa podatka u leč, podatak automatski pojavljuje na njegovom izlazu. Uloga leča je da privremeno zapamti adresu. • Postupak postavljanja adrese i podatka: • procesor najpre postavlja adresu na multipleksiranu magistralu • zatim aktivira ALE signal kojim se adresa upisuje u leč i prosleđuje na njegov izlaz • pošto se izlaz leča vodi na adresni ulaz memorije, adresa je prosleđena do memorije • sada procesor može na multipleksiranu magistralu da postavi podatak za upis ili da preko magistrale pročita podatak iz memorije

  40. Razmena podataka sa periferijom (1) • Pod periferijama se podrazumevaju svi uređaji (osim memorije) koji su povezani sa procesorom. • Periferije služe za trajno skladištenje podataka, ručni unos ili čitanje podataka, komunikaciju računara sa okruženjem, uključujući i komunikaciju sa drugim računarima. • Uobičajene periferije su hard disc, miš, tastatura, video kartica, modem, štampač i dr. • Procesor komunicira sa periferijama (šalje im i prima podatke od njih) na sličan način kao i sa memorijom, s tim što postoje dve razlike: • Prva razlika je u tome što se sada ne adresira memorijska lokacija već periferija. Naime, svaka periferija ima svoju adresu. Kada procesor na adresnu magistralu postavi adresu periferije, odgovoriće mu samo periferija čiju je adresu postavio.

  41. Razmena podataka sa periferijom (2) • Druga razlika je u tome što periferije i memorija moraju da znaju čiju adresu je procesor postavio na magistralu. Adrese memorijskih lokacija i adrese periferija se poklapaju. Kada ne bi postojala nikakva dodatna informacija o tome kome procesor želi da se obrati, desilo bi se da mu istovremeno odgovore i memorija i periferija, što bi dovelo do greške u sistemu zbog sudara podataka koji dolaze sa različitih strana na istu magistralu podataka. Problem se rešava M/IO signalom koji procesor postavlja na 1 kada želi da se obrati memoriji, odnosno na 0 kada želi da se obrati periferiji. Ovaj signal se vodi na CS (Chip Select) ulaze i memorije i periferije.

  42. Direktan pristup memoriji - DMA DMA – Direct MemoryAccess predstavlja direktan transfer podataka između periferije i memorije, bez posredovanja procesora. • DMA transfer podatka se obavlja tako što, uz pomoć DMA kontrolera, periferija generiše adrese memorijskih lokacija i smešta podatke u njih. DMA transfer se primenjuje: • kada je potrebno preneti veliku količinu podatka, pa bi transfer preko procesora znatno usporio prenos • kada je periferija relativno brza (primer takve periferije je hard disc).

  43. Memorija Address Address Data Data Intel 8086 Periferija Address Data HOLD HLDA A D DMA Povezivanje procesora Intel 8086 sa DMA kontrolerom Na slici nije prikazan adresni leč, ali se podrazumeva da on postoji unutar procesora.

  44. DMA ciklus DMA transfer se obavlja na sledeći način: • DMA kontroler zahteva od procesora da mu omogući pristup magistrali tako što aktivira signal HOLD (pin31). • Kada procesor primi signal HOLD, završava tekući ciklus na magistrali i aktivira signal HLDA (Hold Acknowledge - pin30), čime predaje magistralu DMA kontroleru. • Dok DMA kontroler koristi magistralu, procesor ne sme da joj pristupa (ne može da pristupa memoriji u cilju upisa ili čitanja), ali može da nastavi sa obradom podataka koji se trenutno u njemu nalaze. • Kada završi DMA ciklus, DMA kontroler deaktivira HOLD signal, čime oslobađa magistralu i predaje je procesoru.

  45. Mehanizam prekida (1) Problem Većina periferija je znatno sporija od procesora. Ukoliko procesor treba da pošalje podatke nekoj periferiji, na primer štampaču da ih odštampa, procesor mora da sačeka da periferija završi svoj posao, tj. štampanje prispelih podataka, kako bi poslao nove podatke za štampanje. Čekanje na periferiju (dok ona obavi svoj posao) predstavlja izgubljeno vreme za procesor, jer je on tada besposlen. Rešenje Navedeni problem se rešava uvođenjem mehanizma prekida koji omogućava efikasniji rad računara sa periferijama. Korišćenje prekida omogućava procesoru da izvršava druge instrukcije za vreme dok periferija obavlja svoj posao.

  46. Mehanizam prekida (2) • Zahvaljujući mehanizmu prekida, procesor ne čeka na oslobađanje periferije, već opslužuje periferiju na njen zahtev. Mehanizam prekida radi na sledeći način: • 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 izvršavanje tekućeg programa i vrši skok na program koji se naziva prekidna rutina. • U prekidnoj rutini opslužuje se periferija koja je zahtevala prekid, a nakon toga procesor se vraća tamo gde je stao u programu koji je izvršavao i nastavlja sa radom.

  47. Mehanizam prekida (3) Postoje dve vrste prekida: • spoljašnji ili eksterni prekidi Ovo su prekidi koji dolaze od periferija. • unutrašnji prekidi Ovi prekidi mogu biti posledica izvršavanja instrukcije prekida, ili posledica neke neregularnosti u izvršavanju tekuće instrukcije.

  48. Eksterni prekidi Procesor Intel 8086 ima dve linije za eksterne prekide: • INTR (Interrupt Request – pin18) • NMI (Not Masked Interrupt – pin17)

  49. INTR (1) • Linija INTR je obično povezana sa programabilnim kontrolerom prekida (Intel 8259). • Uloga kontrolera prekida je da prihvata zahteve za prekidima upućene od strane periferija koje su sa njim povezane. • Nakon dobijanja zahteva, kontroler određuje koji od pristiglih zahteva ima najviši prioritet i ukoliko je pristigli zahtev višeg prioriteta od prioriteta zahteva koji se trenutno obrađuje, aktivira liniju INTR.

  50. Kontrolerprekida Intel 8086 Periferija 1 m1 Periferija 2 m2 Prioritetnikoder256/8 Periferija 3 Data 8 m3 Periferija n mn INTR INTA INTR (2) Na slici nije prikazan način povezivanja procesora Intel 8086 sa kontrolerom prekida.

More Related