Your SlideShare is downloading. ×
0
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković

1,048

Published on

L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković

L205 - Računarstvo i informatika - Procesori - Aleksandar Mateović - Nataša Stojković

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,048
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Procesoria Ime: Aleksandar Mateovića Škola: Aleksinačka gimnazijaa Predmet: Računarstvo I informatikaa Profesor: Nataša Stojković
  • 2. 6.0 Mikroprocesoria Istorija razvoja procesora je, iako veoma mlada, puna okrutnog nadmetanja i napredne tehnologije. Prvi procesori su nastali početkom sedamdesetih godina i radili su na 0.4MHz, pa sve do današnjih procesora sa radnim taktom od preko 3GHz. Kakav napredak se može odigrati za 30-tak godina!
  • 3. 6.1 Razvoj i napredak Intel mikroprocesoraa U doba kada je projektovao svoj prvi PC, IBM je na raspolaganju imao dva proizvodjača mikroprocesora: Intel i Motorolu. Iako su IBM-ovi inženjeri priželjkivali Motorolin mikroprocesor, koji je po svim karakteristikama bio bolji, odluka je pala na Intel.a Prevagnule su druge stvari:- Intel-ov procesor je bio jeftiniji- Bio je kompatibilan sa svim ranijim Intel procesorima, a kompatibilnost se garantovala i sa budućim generacijama procesora- IBM je dobio prava na proizvodnju usvojenog procesora- Za Intel-ov procesor je postojao gotov operativni sistem ,firme Digital Research , CP/M koji je tada bio industrijski standard za mikroračunare.
  • 4. Intel 4004a Prvi Intelov procesor nastao je u novembru 1971. godine. Nosio je oznaku 4004 i imao je za to vreme veoma dobre karakteristike upakovane u samo jednom čipu:- radni takt od 0.4 do 0.8MHz- maksimum od 640 bajta eksterne memorije- četvorobitnu magistralu podataka.a Za njegovu proizvodnju se koristila tada dostupna 10µm tehnologija koja mu je omogućavala da sadrži 2300 tranzistora.
  • 5. Intel 8008a U aprilu 1972. godine Intel na tržište izbacuje novu generaciju procesora sa oznakom 8008. Kao najveća mane njegovog prethodnika uočene su uzana četvorobitna magistrala i mala količina memorije sa kojom je ovaj procesor mogao da radi.a Zbog toga su se glavna poboljšanja odvijala upravo u ovom pravcu tako da je novi procesor je imao osmobitnu magistralu podataka i maksimum od 16KB eksterne memorije. Radni takt procesora se nije promenio i iznosio je od 0.5MHz do 0.8MHz. Zbog proširenja magistrale (kapaciteta ALU-a) ovaj procesor se sastojao od 3500 tranzistora integrisanih na jednom silicijumskom čipu.
  • 6. Intel 8080a 8080 je postao mozak prvog komercijalno raspoloživog računara – Altair (navodno tako nazvanog jer je bio namenjen za potrebe snimanja Zvezdanih Staza). U toku nekoliko meseci prodato ih je na hiljade i veoma brzo je dospeo na prvo mesto na top listi prema prodaji. Imao je takt od 2MHz i mogao je da podrži do 64KB memorije. Sadržao je 4.500 tranzistora, i imao 10 puta bolje performanse od svog prethodnika 8008.
  • 7. Izgled silicijumske pločice procesora Intel 8080
  • 8. Intel 8086a Sredinom 1978. godine Intel proizvodi svoj prvi 16-to bitni procesor. Bio je to Intel 8086, procesor koji je IBM ugradio u svoj prvi personalni računar (PC/XT).a Čip je sadržao 29.000 tranzistora i 20 adresnih linija koje su mu omogućavale da se obraća RAM–u od 1MB. Interesantno je da tadašnji programeri nikada nisu posumljali da će nekome zatrebati više od 1MB RAM-a! Ovi čipovi su bili dostupni u verzijama od 2, 5, 8 i 10 MHz. Takođe je imao 10 puta bolje performanse od svog prethodnika. Izrađivao se u 3µm-skoj tehnologiji koja je za to vreme bila veoma napredna.
  • 9. Izgled silicijumske pločice procesora Intel 8086
  • 10. Intel 80186a Intel 80186 se pojavio1982 godine. Bio je veoma popularan čip. Proizvodio se u verzijama od 10 i 12MHz. Sa svojim visokim stepenom integracije sadržao je sistemski kontroler, DMA i kontroler prekida. Uprkos ovome, on se nikada nije našao ni u jednom personalnom računaru.
  • 11. Intel 80286a Intel 80286 je svetlost dana ugledao 1982. godine kao i njegov prethodnik. Bio je to 16 bit-ni procesor od 134.000 tranzistora, sposoban da adresira do 16MB RAM-a. On je bio prvi “pravi” procesor. Uveo je koncept zaštićenog moda (protected mode) koji predstavlja mogućnost da više progama istovremeno rade nezavisno jedan od drugog (multitasking). Ovu mogućnost su kasnije koristili operativni sistemi kao što je Windows. Procesor 286 se koristio u IBM-ovim Advanced Tehnology personalnim računarima (PC/AT). Radili su na 6, 10 i 12 MHz, a kasnija izdanja su radila i na 20MHz. Iako ih danas smatramo držačima papira, u to vreme su bili revolucionarni. U toku 6 godina svog pravljenja instalirani su u 15 miliona personalnih računara!
  • 12. Izgled silicijumske pločice procesora Intel 80286
  • 13. Intel 386a Prvi procesori pod oznakom Intel 386 su se pojavili krajem 1985. godine. 386 predstavlja veliki napredak tehnologije u Intelu. To je prvi 32 bitni procesor što automatski znači da je protok podataka barem duplo veći nego kod 286. Sadržao je 275.000 tranzistora i dolazio je u verzijama od 16, 20, 25, i 33 MHz koja se pojavila tek 1989. godine. Mogao je da adresira 4GB RAM-a što ostaje standard za sve Intelove procesore do današnjih dana.a Takođe je bio prvi čip koji je koristio pipeline, koji dozvoljava procesoru da počne sa izvršenjem sledeće instrukcije pre nego što je prethodna završena. Svi čipovi u ovoj familiji su bili pin po pin kompatibilni, i bili su kompatibilni sa 286 što znači da korisnici nisu morali da nabave novi softver da bi ga koristili.Ovaj čip je pre svega bio veliki korak za razvoj čipova. Izbacio je standard koji su mnogi čipovi kasnije pratili.
  • 14. Izgled silicijumske pločice i kućišta procesora Intel 386
  • 15. Intel 486a To je 32 bitni procesor koji sadrži 1.2 miliona tranzistora. Startovao je početkom 1989. godine sa verzijom na 25MHz, a razvoj je završio 1994 sa verzijom na 100MHz. Iako su njegove prve verzije radile na istom taktu kao i napredni 386 procesori, 486 je zbog poboljšane arhitekture bio duplo brži. Osim povećanja brzine ponudio je i druga poboljšanja. Imao je integrisanu keš memoriju od 8KB u koju se korišćenjem pajplajna stavljala sledeća instrukcija ili niz podataka. Kada procesoru zatreba taj podatak on ga uzima iz keša, umesto da pristupa spoljašnjoj memoriji. Kako je keš memorija dosta brža, ovo je bio veliki pomak u brzini obrade podataka. Takodje 486 je postojao u verzijama od 3V i 5V, dozvoljavajući korišćenje i desktopu i laptopu.
  • 16. Izgled silicijumske pločice i kućišta procesora Intel 486
  • 17. Pentium (I)a Prvi pentium procesori se pojavljuju u martu 1993. godine. Kako je bilo određenih pravnih problema koji su sprečavali da novi procesor nosi ime 586, Intel ga je nazvao Pentium. Prvi Pentium radio je na 60MHz. Sadržao je 3.21 miliona tranzistora i imao 32 bitnu internu (unutrašnju) magistralu. Međutim za komunikaciju sa spoljašnjim svetom ovaj procesor koristi 64-o bitni spoljašnji data bus, koji je mogao da radi skoro duplo brze od onog na 486 procesoru.a Pentium I familija uključuje 60, 66, 75, 90, 100, 120, 133, 150, 166, 200 i 233 MHz brzinu clock-a. Pentium je kompatabilan sa svim starijim operativnim sistemima uključujući DOS, Windows 3.1, Unix i OS/2. Njegov dizajn je omogućavao izvršavanje dve instrukcije za jedan ciklus clock-a. Dva nezavisna 8KB keša (code i data keš) i pipeline floating point unit su povećali njegove performanse iznad svih x86 čipova.
  • 18. a Prvi Pentium je radio na 5V. Počev od serije na 100MHz, radni napon je snižen na 3.3V. Takođe počev od verzije od 75MHz, čip je podržavao Symemtric Dual Processing što znači da su 2 Pentium čipa mogla da rade zajedno u jednom sistemu.a Pentium se dugo zadžao na tržištu. Izašao je u jako mnogo različitih varijanti, od kojih su najpoznatiji Pentium Pro (1995 – 1999) i Pentium MMX (MultiMedia eXtension) (1997).a Za izradu Pentium I čipova korišćena je 0.8µm i 0.35µm- ska tehnologija.
  • 19. Izgled silicijumske pločice ikućišta procesora Intel Pentium
  • 20. Pentium IIa Izlaskom Pentiuma II 1998. godine, Intel je napravio neke bitne promene na procesorskoj sceni. Intel je imao Pentium MMX i Pentium Pro na tržistu, i hteo da njihove najbolje osobine smesti u jedan čip. Međutim kao i u stvarnom životu, dete ne pokupi uvek sve najbolje osobine svojih roditelja.a Pentium II je optimizovan za 32 bitne aplikacije. Takođe je sadržao MMX-ov set instrukcija, koje su već do tada postale standard. Čip je koristio tehnologiju dinamičkog izvršavanja Pentiuma Pro, omogućavajući procesoru da predvidi naredne instrukcije i na taj način poveća brzinu rada. On zapravo analizira redosled instrukcija u programu i reorganizuje ih u cilju njihovog bržeg izvršavanja.
  • 21. a Pentium II imao je od 7.5 do 27.4 miliona tranzistora i pravio se u serijama od 233 do 450MHz.. Imao je 32 KB L1 keša (po 16KB za podatke i instrukcije), i do 512KB L2 keša. L2 keš radi duplo sporije od procesora, pa ipak, sama činjenica da L2 keš nije na maticnoj ploči nego bliže čipu povećava performanse.a Jedna od najuočljivijih promena na čipu je njegovo kućište. Tip kućišta Pentiuma 2 je nazvan Single Edge Contact (SEC). Čip i L2 keš se zapravo nalaze na pločici koja se kači na matičnu ploču preko slota. Cela pločica je okružena plastičnim kućištem. Sa ovim čipom PC korisnici su mogli da snime, obrađuju i dele digitalne fotografije sa prijateljima, obrađuju i dodaju tekst i muziku i da ga koriste za puštanje komprimovanih filmova u DivX formatu.
  • 22. Izgled silicijumske pločice ikućišta procesora Intel Pentium II
  • 23. Pentium IIIa Februara 1999. Intel je izbacio Pentium III koji je radio na 450MHz. U Pentium III procesorima se uvodi SEE set instrukcija koji je zapravo prosirenje MMX-a, i koje su poboljšale procesiranje 3D animacija. SEE je u odnosu na MMX sadržao 70 novih instrukcija.a Medjutim čip je doživeo kontraverzu kada je Intel odlučio da na svaki čip ugradi serijski broj čipa (processor serial number –PSN). PSN je dizajniran da može da se pročita preko mreže, pa čak i preko interneta! Ideja Intela je bila da poveća sigurnost kod online transakcija. Medjutim korisnici su to videli kao napad na njihovu privatnost, pa je napokon Intel omogućio da se PSN isključi u BIOS-u.a Aprila 2000. Intel je izbacio Pentium III Coppermine. Dok je prva verzija Pentium III procesora imao 512KB L2 keša, Coppermine je imao samo upola toliko. Medjutim, njegov keš se nalazio direktno na CPU jezgru umesto na posebnoj kartici, tako da su performanse zapravo bile poboljšane.a Pentium III procesori su se proizvodili za rad na frekfencijama od 450 MHz do 1GHz. Koristili su 0.18µm-sku tehnologiju koja im je omogućavala da imaju do 55miliona tranzistora.
  • 24. Izgled silicijumske pločice ikućišta procesora Intel Pentium III
  • 25. Pentium IVa Prvi Pentium IV procesori su se pojavili u junu 2002. godine. On je istinski nosilac nove CPU arhitekture i predstavnik je nove tehnologije koju ćemo viđati sledećih nekoliko godina. Nova NetBurst arhitektura je dizajnirana tako da u budućnosti omogući povecanje brzine.a Prema Intelu, NetBurst se sastoji od četiri nove tehnologije: Hyper Pipelined Technology, Rapid Execution Engine, Execution Trace Cache i 400MHz sistemskog busa.a Hyper Pipelined Technology - Postoji nekoliko načina da se poveća brzina procesora. Ovde je ideja bila da se poveća širina pajplajna, tako da može da primi više instrukcija istovremeno.
  • 26. a Rapid Execution Engine - Pentium IV sadrži dve aritmetičko logičke jedinice koje rade duplo brže od procesora. Iako ovo zvuči kao genijalna ideja, treba imati na umu da je ovo bila nužna promena zbog povećanja širine pajplajna.a Execution Trace Cache - Intel je takođe morao da uradi izvesne prepravke na kešu da bi mogao da zadrži ovakvu arhitekturu pajplajna.a Pentium IV procesori se proizvode u brojnim varijantama u opsegu frekfencija od 1GHz, pa do najnovijih komercijalno raspoloživih procesora na 3.6GHz.a Za izradu ovih čipova se koristi i najnaprednija 0.09µm- ska tehnologija koja najboljem Pentium IV procesoru omogućava gustinu pakovanja od čak 125 miliona tranzistora.
  • 27. Izgled silicijumske pločice ikućišta procesora Intel Pentium IV
  • 28. Ostali proizvođači procesora za PC računarea Uspešnost i velika primena 80x86 mikroprocesora dovela je do toga da su i druge firme počele da konstruišu mikroprocesore delimično ili u potpunosti kompatibilne sa mikroprocesorima familije 80x86. Među takve firme spadaju AMD, Cyrix, Siemens i Texas Instruments. One su u prvom periodu kopirale konstrukciju Intelovih procesora da bi poslednjih godina počeli da izbacuju procesore sa sopstvenim rešenjima. Neki od tih procesora (npr. AMD Athlon) su u vreme objavljivanja po svojim karakteristikama nadmašivali odgovarajući procesor firme Intel. Međutim intel i dalje drži vrh u proizvodnji procesora koji se koriste u PC računarima.
  • 29. 6.2 Arhitektura Intel mikroprocesoraa Za osnovu proučavanja uzimamo Intel-ov mikroprocesor 8086.a Sve kasnije generacije Intel-ovih mikroprocesora, sve do današnjih pentium-a 4, su zadržali kompatibilnost i sličnu strukturu jezgra kao i Intel 8086.
  • 30. Pin-out mikroprocesora 8086 GND 1 40 VCC AD14 2 39 AD15 AD13 3 38 A16 AD12 4 37 A17 AD11 5 36 A18 AD10 6 35 A19 AD9 7 34 BHE AD8 8 33 MN/MX AD7 AD6 9 10 CPU 32 31 RD HOLD AD5 11 8086 30 HLDA AD4 12 29 WR AD3 13 28 M/IO AD2 14 27 DT/R AD1 15 26 DEN AD0 16 25 ALE NMI 17 24 INTA INTR 18 23 TEST CLK 19 22 READY GND 20 21 RESET
  • 31. GND - negativan kraj napajanja procesoraVCC - pozitivan kraj napajanja procesora (+5V)AD0÷AD15 - multipleksirane magistrale podataka i adresaA16÷A19 - dodatnih 4 linije za adresnu magistarluNMI (Not Masked Interrupt) - ulaz na koji se dovode nemaskirani prekidiINTR (Interrupt) - ulaz na koji se dovodi informacija o pristiglom spoljašnjem prekiduINTA (Interrupt Acknowledge) - izlaz kojim procesor signalizira kontroleru prekida da je spreman da prihvati zahtev za prekidCLK (Clock) - ulaz za takt na kom radi procesor (2-10MHz)BHE (Bus High Enable) - izlaz kojim procesor signalizira da je u šesnestobitnom modu rada
  • 32. MN/MX (MiNimal/MaXimal) - ulaz na osnovu kog procesor zna da li se nalazi u minimalnom ili maksimalnom modu rada, odnosno da li je jedini procesor u sistemu ili neRD (Read) - signal kojim procesor zahteva podatak iz adresirane memorijske lokacije ili adresirane periferijeWR (Write) - signal kojim procesor upisuje podatak u adresiranu memorijsku lokaciju ili u adresiranu periferijuHOLD - signal kojim DMA kontroler traži od procesora da mu prepusti magistraluHLDA (Hold Acknowledge) - signal kojim procesor signalizira DMA kontroleru da mu je prepustio magistralu
  • 33. M/IO - Signal kojim procesor ostatku sistema govori 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 multiplekciranu magistralu postavio adresuDEN (Data Enable) - signal kojim procesor signalizira da je na multiplekciranu magistralu postavio podatakREADY - ulazni signal kojim memorija saopštava procesoru da je spremna za novi ciklus (čitanje ili upis podatka)RESET - ulazni pin kojim se resetuje prcesorTEST – ulazni pin kojim se procesoru kaže da je sistem u test modu i da instrukcije izvršava jednu po jednu (step mod)
  • 34. Osnovne karakteristike mikroprocesora 8086a Širina magistrale za podatke: 16bita.a Širina adresne magistrale: 20bita (moguće je adresirati 220B=1MB).a Magistrala podataka i adresna magistrala su multipleksirane, odnosno koriste iste pinove na mikroprocesoru.a Dve linije za spoljasnje prekide.a Odvojeni I/O (ulazno/izlazni) prostor veličine 64K za adresiranje perifernih jedinica.a Podrška za rad sa DMA kontrolerom.a Radni takt mikroprocesora je, u zavisnosti od verzije, 2MHz, 5MHz, 8MHz ili 10MHz.
  • 35. Način povezivanja procesoraIntel 8086 sa memorijom i periferijama Memorija 20 LEČ 20 (max 1MB) AD0÷AD15, A16÷A19 A Intel D ALE RD 8086 RD WR CS WR M/IO 16 Periferija A D RD WR CS
  • 36. 6.2.1 Princip rada mikroprocesora Intel 8086a Mikroprocesori izvršavaju program tako što neprestano ponavljaju sledeća 4 koraka:- Dohvataju instrukciju iz memorije i dekoduju njen operacioni kod- Čitaju operand* ako se to zahteva u instrukciji- Izvršavaju instrukciju,- Ako je u instrukciji zahtevano, upisuju rezultat u memoriju ili u odgovarajuću perifernu jedinicu. *(operandi su binarni brojevi nad kojima se vrši željena aritmetička ili logička operacija i nalaze se u memoriji zajedno sa instrukcijama ili se dobijaju sa neke od periferija)
  • 37. a U tu svrhu u mikroprocesoru postoje dve osnovne celine (jedinice). To su:- EU (Execution Unit – izvršna jedinica)- BIU (Bus Interface Unit – jedinica za interfejs prema magistrali).a Izvršna jedinica izvršava instrukcije, a jedinica za interfejs dohvata instrukcije iz memorije, čita operande i šalje rezultat u memoriju ili odgovarajuću periferiju.a Izvršna jedinica i jedinica za interfejs rade nezavisno jedna od druge i najčešće mogu da rade istovremeno.
  • 38. Unutrašnaja struktura procesora EU BIU Registri opšte Instruction Pointer namene Interna Eksterna magistrala Generator adresa i magistrala kontroler magistrale Registri za operande Instruction Queue ALU PSW registar
  • 39. Execution Unita Izvršna jedinica nije direktno povezana na sistemsku magistralu. Instrukcije dobija iz Instruction Queue koji se nalazi u okviru BIU.a Kada neka instrukcija zahteva podatak iz memorije ili periferije, tada izvršna jedinica prosleđuje taj zahtev do BIU koja joj obezbeđuje traženi podatak.a Centralni deo izvršne jedinice je ALU koja, u zavisnosti od instrukcije koju dobija iz Instruction Queue, nad operandima vrši odeređenu aritmetičku ili logičku operaciju.
  • 40. a Operandi se nalaze u registrima (dva 16-bitna registra) čiji se izlazi dovode na ulaz ALU.a Operandi u registare dolaze iz memorije, sa periferije, iz registara opšte namene ili su rezultat prethodne operacije izvršene u ALU.a Rezultat koji daje ALU može da bude novi operand za sledeću instrukciju, može biti smešten u memoriju ili poslat na neku periferijsku jedinicu.a Kao rezultat izvršene operacije, mogu se setovati i određeni biti u registru Flegovi.
  • 41. a Izvršna jedinica može da manipuliše samo sa 16-bitnim adresama (64KB memorije), a BIU realokacijom adresa daje pristup celom megabajtu memorijskog prostora.
  • 42. Bus Interface Unita Jedinica za spregu sa magistralom vrši sve operacije sa memorijom i periferijama koje zahteva EU. Preko nje se, na zahtev EU, prenose podatci između procesora i memorije ili periferije.a Takođe, dok je EU zauzeta izvršavanjem instrukcije, BIU gleda korak unapred i dohvata još instrukcija iz memorije. Te instrukcije se čuvaju u internoj memoriji koja se zove Instruction Queue. U Instuction Queue može da stane do 6 instrukcija koje čekaju na izvršavanje. Ovime se obezbeđuje da EU bude uvek snabdevena novim instukcijama.
  • 43. a Ako se desi da EU izvrši instrukciju koja prebacuje kontolu na drugu lokaciju u memoriji (instrukcije skoka kao npr. GOTO, CALL, JUMP, ...), jedinica za spregu sa magistralom resetuje Instruction Queue, dohvata instrukciju sa nove adrese, direktno je prosleđuje do EU i nastavlja da popunjava Instruction Queue sledećim instrukcijama.
  • 44. Registri opšte namenea Postoji osam 16-bitnih registara opšte namene. Oni se dele u dve grupe od po 4 registra. Jednu grupu čine registri za podake, a drugu indeksni i pointer registri.a Registri za podatke se koriste za čuvanje različitih vrsta podataka generisanih pri izvršavanju programa. Korisnik može da im pristupi i da ih čita i menja njihov sadržaj bez ograničenja. Registri za podatke se koriste u većini aritmetičkih i logičkih operacija. Oni su specifični jer je moguće odvojeno adresirati njihovu gornju i donju polovinu od po 8 bita. To znači da se svaki registar za podatke može koristiti ili kao jedan 16- bitni ili dva 8-bitna registra.
  • 45. Instruction Pointer registara Instruction Pointer (IP) je registar koji sadrži adresu sledeće instrukcije koju BIU treba da prenese iz memorije u procesor. To je u stvari inkrementirajuću brojač koji se inkrementira nakon dovlačenja nove instrukcije ili podatka iz memorije.a Kada želimo da napravimo programski skok potrebno je da promenimo vrednost IP-a. Nakon toga, prva sledeća instrukcija koja se izvršava je ona na koju IP ukazuje posle promene vrednosti (koja se nalazi na adresi koju smo upisali u IP).
  • 46. PSW registara PSW (Processor Status Word) registar služi da zapamti nekoliko bitnih osobina poslednjeg rezultata dobijenog iz ALU i da zapamti određena setovanja procesora. Za svaku od ovih informacija se koristi jedan bit koji se popularno zove fleg (flag - zastavica).a Mikroprocesor 8086 poseduje 6 statusnih i 3 kontrolna flega, što znači da je PSW 16-bitni registar od kojih se koristi 9 bita.a Statusni flegovi predstavljaju informacije o osobinama rezultata dobijenog kao rezultat operacije izvršene u aritmetičko logičkoj jedinici. Statusne flegove može da menja jedino EU, a korisnik može samo da koristi njihove vrednosti, a ne da ih i menja.a Kontrolnim flegovima se zadaju određeni parametri za rad procesora. Njihovu vrednost postavlja korisnik.
  • 47. a Statusni flegovi su: CF - Carry flag P - Parity flag AF - Auxiliary Carry flag ZF - Zero flag SF - Sign flag OF - Overflow flaga Cary fleg će biti setovan (postavljen na 1) ako je bilo prenosa ili je izvršena pozajmica prilikom izračunavanja najvišeg bita rezultata. Ovaj fleg dobija novu vrednost nakon svake instrukcije sabiranja i oduzimanja, kao i nakoninstrukcije rotiranja.
  • 48. a Parity fleg će biti setovan ako rezultat ima paran broj jedinica. Ovaj fleg se može koristiti kod provere ispravnosti slanja i prijema podataka prilikom komunikacije sa udaljenim periferijama.a Auxiliary fleg će biti setovan ako je prilikom izračunavanja rezutata bilo prenosa ili pozajmice između nižeg i višeg bajta.a Zero fleg će biti setovan ako je rezultat operacije nula.
  • 49. a Sign fleg će biti setovan ako je rezultat operacije negativan broj. Kako se negativni brojevi u procesoru 8086 predstavljaju u komplementu dvojke sign fleg će biti setovan ako rezultat počinje sa 1.a Overflow fleg će biti setovan ako se deo rezultata, kao posledica toga što veličina rezultata prevazilazi veličinu lokacije na koju treba da bude upisan, izgubi.
  • 50. a Kontrolni flegovi su: DF - Direction flag IF - Interrupt Enable flag TF - Trap flaga Za nas je od značaja samo Interupt Enable flag. Njime se zabranjuju ili dozvoljavaju spoljašnji prekidi koji dolaze po liniji INTR. Spoljašnji prekidi koji dolaze po NMI liniji ili unutrašnji prekidi se ne mogu zabraniti ovim flegom.
  • 51. 6.2.2 Periferijea Procesor 8086 omogućuje priključivanje velikog broja periferija. I/O prostor je veličine 64KB, što znači da je moguće adresirati 64000 različitih periferija.a Može se desiti da jedna periferija ima više adresa odnosno da se možemo odvojeno obratiti različitim delovima iste periferije.a Procesor se periferiji obraća preko adresne magistrale, tako što na nju postavlja adresu periferije kojoj se obraća.
  • 52. a Prilikom adresiranja perferije neophodno je da se aktivira signal M/IO (pin28), čime procesor stavlja do znanja da adresa na adresnoj magistrali nije adresa neke memorijske lokacije već neke od periferija.a Razmena podataka izmedju procesora i periferije se vrši preko magistrale podataka.a Ulazne i izlazne instrukcije vrše transfer podataka između periferije nekog od registara opšte namene.
  • 53. 6.3 Direktan pristup memoriji (DMA-Direct Memory Access)a Direktan pristup memoriji predstavlja direktan transfer podataka između periferije i memorije bez posredovanja procesora u tom transferu. Periferija, uz pomoć DMA kontrolera, generiše adrese memorijskih lokacija i smešta podatke u njih.a Ovakav metod komunikacije između periferije i memorije ima smisla kada se radi o velikoj količini podataka koju treba preneti i kada je periferija relativno brza, pa bi transfer podataka preko procesora usporio proces. Tipičan primer takve periferije je Hard Disk.
  • 54. DMA ciklusa DMA kontroler zahteva pristup magistrali tako što aktivira signal HOLD (pin 31). Procesor kada primi ovaj signal, završava tekući ciklus na magistrali i aktivira signal HLDA (pin 30) (HLDA - Hold Acknowledge), čime predaje magistralu DMA kontroleru. Za vreme dok je magistrala dodeljena DMA kontroleru procesor više ne sme da joj pristupa (ne može da dobija nove podatke iz memorije ili da ih smešta u nju), ali može da nastavi sa obredom podataka koji se u njemu trenutno nalaze. Na kraju DMA ciklusa, DMA kontroler deaktivira signal HOLD čime predaje magistralu procesoru.
  • 55. 6.4 Mehanizam prekidaa Mehanizam prekida kod procesora omogućava efikasniji rad računara sa periferijama. Većina periferija su mnogo sporije od procesora. Pri prenošenju podataka na štampač, procesor mora da sačeka štampač da završi operaciju štampanja prvog da bi preneo drugi podatak. To čekanje za procesor, pošto je za to vreme besposlen, predstavlja izgubljeno vreme. Upotreba prekida omogućuje procesoru da izvršava druge instrukcije dok periferija ne zatraži sledeći podatak.a Kada periferija postane spremna za prijem novih podataka iz procesora, ona signalizira to stanje procesoru slanjem zahteva za prekid. Tada procesor za kratko prekida izvršenje tekućeg programa i vrši skok na drugi deo programa koji se naziva prekidna rutina. U okviru prekidne rutine se servisira periferija koja je zahtevala prekid i nakon toga se vrši povratak u glavni program. Izvršavanje glavnog programa se produžava od onog mesta gde je bilo prekinuto.
  • 56. a Procesor 8086 može da razlikuje 256 različitih prekida.a Prekidi mogu doći od periferija i tada se zovu spoljašnji, odnosno eksterni prekidi. Prekidi takođe mogu biti posledica izvršavanja instrukcije prekida ili posledica neke neregularnosti u izvršenju tekuće instrukcije i tada se zovu unutrašnji ili interni prekidi.
  • 57. 6.4.1 Eksterni prekidia Procesor 8086 ima dve linije za eksterne prekide: INTR (Interrupt Request - pin 18) i NMI (Not Masced Interrupt – pin 17).a Linija INTR je obično vezana na programabilni kontroler prekida (Intel 8259). Glavna uloga kontrolera prekida je da prihvati zahteve za prekid od periferija koje su na njega povezane. Nakon prihvatanja zahteva, kontroler određuje koji je od pristiglih zahteva najvišeg prioriteta (pomoću prioritetnog kodera) i aktivira liniju INTR ako je pristigli prekid višeg prioriteta od onog koji se trenutno izvršava.
  • 58. a Kada se aktivira linija INTR, procesor u zavisnisti od Interrupt Enable flega, prihvata ili ne prihvata zahtev za prekid. Ako je taj fleg setovan, zahtev će biti prihvaćen dok će u suprotnom biti ignorisan.a Kada procesor prihvati zahtev za prekid, on prvo završava izvršenje tekuće instrukcije!!!a Procesor odgovara na prekid aktiviranjem linije INTA (pin 24) (Interrupt Acknowledge). Nakon aktiviranja linije INTA, kontroler prekida na magistralu podataka postavlja 8-bitni podatak (kod prekida) koji nosi informaciju o tome koja periferija zahteva prekid.
  • 59. a Procesor čita ovaj podatak sa magistrale podataka i koristi ga da odredi koju prekidnu rutinu treba da pozove. Naravno poziva onu prekidnu rutinu koja odgovara periferiji koja je poslala zahtev za prekid.a Ako tokom izvršavanja jedne prekidne rutine pristigne zahtev višeg prioriteta od onog koji se trenutno izvršava, kontroler prekida će ponovo aktivirati INTR liniju i procesor će početi sa izvršavanjem nove prekidne rutine. Kada je završi, vraća se na staru prekidnu rutinu, a kada završi i nju vraća se na izvršavanje glavnog programa.
  • 60. a Procesor može da pošalje komandu kontroleru prekida kojom želi da maskira pojedine prekide. Prekidi koji su maskirani će biti ignorisani od strane kontrolera prekida i informacija o njihovom pojavljivanju neće biti prosleđena do procesora.a Eksterni prekidi do procesora mogu stići i po NMI liniji. Preko ove linije do procesora stižu prekidi koji su, za procesor, katastrofične prirode, npr. informacija o gubitku napajanja, greška prilikom transfera na magistrali, greška u radu memorije itd.a Ovi prekidi se zovu nemaskirajući jer ih je ne moguće maskirati (ne mogu se zabraniti čak ni Interupt flegom).
  • 61. a Prekidi koji stižu po NMI liniji su višeg prioriteta od bilo kog prekida koji stiže po INTR liniji. Ako istovremeno stignu prekidi po obe linije prvo se izvršava onaj koji je stigao preko NMI linije.a Vreme potrebno da procesor prihvati prekid (vreme kašnjenja prekida) zavisi od dužine instrukcije koju procesor izvršava u trenutku stizanja prekida. Najduže se izvršavaju instrukcije množenja i deljenja pa je tada kašnjenje odgovora na prekid najveće.
  • 62. 6.4.2 Interni prekidia Interni prekidi se generišu izvršavanjem instrukcije internog prekida (asmeblerska instrukcija INT). Kod prekida je sadržan u samoj instrukciji i na osnovu njega procesor prelazi na izvršenje odredjenog podprograma. podprograma Na kraju svakog podprograma se nalazi instrukcija RET kojom se vrši povratak u glavni program.a Interni prekidi su višeg prioriteta od eksternih prekida. Ako stigne prekid po nekoj od linija za eksterne prekide u toku izvršavanja internog prekida, prvo se procesira interni prekid pa se onda prihvata zahtev za eksternim prekidom najvišeg prioriteta.
  • 63. 6.4.3 Interrupt Pointer Tablea Interrupt Pointer tabela predstavlja vezu između koda prekida i programa koga treba izvršiti kao posledicu prekida. Na osnovu koda prekida, iz Interrupt Pointer tabele dobijamo adresu u memoriji na kojoj se nalazi program koji treba da izvršimo.a Postoji 256 ulaza u tabelu, jedan za svaki tip prekida. Interrupt Pointer tabela se uvek nalazi u prvom kilobajtu memorije. Za pamćenje adrese prekidne rutine ili podprograma, u tabeli se koristi 4 bajta.
  • 64. 6.4.4 Čuvanje konteksta procesoraa Kada procesoru stigne zahtev za prekid i kada ga on prihvati, procesor prvo mora da sačuva kontekst u kome je izvršavao tekući program. Zapravo potrebno je sačuvati vrednost registra u kome se čuvaju flegovi (PSW) i trenutnu vrednost Instruction Pointer-a kako bi nakon završetka prekidne rutine procesor znao odakle treba da nastavi program i koji je bio status poslednje operacije izvršene u ALU pre prekida.a Ove vrednosti se čuvaju u posebnom delu memorije koja se naziva stek (Stack). Vrednosti flegova i Instruction Pointer-a se čuvaju automatski i ponovo se reinicilizuju po završetku prekida. U praksi se pre izvršenja prekidne rutine čuvaju vrednosti još pojedinih registara opšte namene, ali njihovo čuvanje mora da naloži korisnik (programer) softverskim putem. U zavisnosti od tipa prekida programer odlučuje koji registri mogu promeniti stanje za vreme njegovog opsluživanja i njih dodatno smešta na stek. Po povratku iz prekidne rutine, vrednosti PSW-a i Instruction Pointer-a, zapamćene na steku, se automatski reinicijalizuju, dok vrednosti onih registara koje je programer sam stavio na stek, mora sam i da reinicijalizuje.

×