You are on page 1of 31

Univerzitet u Novom Sadu

Tehnički fakultet "Mihajlo Pupin"


Zrenjanin

SEMINARSKI RAD

Predmet: Operativni sistemi

Tema: Razvoj 32-bitnih procesora

profesor: student:
prof. dr Branko Markoski Aleksandar Zrnić IT12/14
Operativni sistemi

Zrenjanin, 2017.

Sadržaj
Razvoj 32-bitnog procesora

1. Predmet i cilj rada.................................................................................................2


2. Uvod u procesore...................................................................................................3
2. Princip rada procesora..........................................................................................4
3. Arhiktektura procesora.........................................................................................6
3.1 Intelova arhiktektura procesora........................................................................8
3.2 ARM procesori................................................................................................16
3.4 RISC koncept..................................................................................................24
3.5 PowerPC..........................................................................................................28
4. Zaključak..............................................................................................................29
5. Literatura................................................................................................................30

1. Predmet i cilj rada

Predmet ovog rada je prikaz razvoj procesora , od njegovog početka i njegovog


usavršavanja ,pa do današnjeg perioda postojanja.

1|Strana
Razvoj 32-bitnog procesora

U daljem delu rada ,objašnjeno je šta je procesor i koje on funkcije ima ,pa i sam
razvoj . Od običnog logičkog kola do 64 bitnog procesora današnjice.
Kako se tehnologija razvijala ,razvijala se potreba za boljim i bržim procesorom.
Prati se razvoj 16-bitnog , 32-bitnog pa sve do 64 bitnog procesora.
Prikaz je i ARM procesori , koji dalju svrhu imaju u mobilnoj i kompjuterskom
razvoju.

2. Uvod u procesore

Procesor (u stvari kratak oblik za reč mikroprocesor, koji se često zove i CPU ili
centralna procesorska jedinica) predstavlja središni sastavni deo PC računara. Ova
vitalna komponenta je na neki način odgovorna za sve što radi PC računar. Procesor
pored ostalog određuje, u najmanju ruku delimično, koji operativni sistemi će se
upotrebiti, koji softverski paket može da radi na PC računaru, koliko mu je
električne energije potrebno i koliko će sistem biti stabilan. Procesor takođe

2|Strana
Razvoj 32-bitnog procesora

uglavnom određuje i koliko će ceo sistem da košta: što je procesor noviji i moćniji,
mašina će biti skuplja.
Bez procesora ne bi bilo personalnog računara. Kao i sve ostale hardverske
komponente, procesori se neprestano usavršavaju. Svedoci smo eksplozivnog
tehnološkog razvoja obrade podataka zahvaljujići razvoju novih i bržih procesora.
Procesori udvostručavaju svoje performance svakih 18 meseci i nema pokazatelja da
će taj trend prestati.
Svaki procesor fizički izgleda veoma jednostavno, ali on je u svojoj unutrašnjosti
jako kompleksan, jer se radi o stotinama miliona tanzistora koji su smešteni u
jednom čipu.
Procesor predstavlja programski upravljan digitalni uređaj koji obavlja sledeće
funkcije:

 na osnovu instrukcija obrađuje podatke izvršavanjem nad njima relativno prostih


operacija-mašinskih operacija;

 donosi odluke u procesu obrade o toku odvijanja izvršenja instrukcija programa;

 upravlja ostalim komponentama računara;

 obezbeđuje prenos podataka između komponenata računara, kao i razmenu


podataka sa spoljnim okruženjem.

slika 1. Moderni 64-bitni processor

2. Princip rada procesora

Principi kojima podležu svi racunari su isti. U osnovi, oni svi uzimaju signale u
obliku nula (0) i jedinica (1) (koji se zato zovu binarni signali, manipulišu njima
saglasno nekom skupu instrukcija i proizvode izlaze, opet u obliku nula i jedinica.
Napon na liniji u trenutku kada se signal pošalje odredjuje da li je taj signal 0 ili 1.

3|Strana
Razvoj 32-bitnog procesora

U sistemu koji radi na 3,3V, napon od 3,3V znaci da je to 1, dok napon od 0V znaci
da je 0.
Procesor radi pomocu reagovanja na ulaz od više 0 i 1 na odredjene nacine i
vracanja izlaza zasnovanog na odluci. Sama odluka se dešava u elektronskim
sklopovima koji se zovu logicka kola (od kojih svako zahteva najmanje jedan
tranzistor), ciji su ulazi i izlazi razlicito uredjeni pomocu razlicitih operacija.
Cinjenica da današnji procesori sadrže milione tranzistora ukazue na to koliko je
složen takav logicki sistem. Logicka kola u procesoru rade zajedno na stvaranju
odluka koristeci Bulovu logiku, koja se zasniva na algebarskom sistemu koji je
osnovao George Boole. Glavni Boole-ovi operatori su I, ILI, NE i NI.
Logicka kola rade putem hardvera koji se naziva prekidac - posebno digitalni
prekidac. U vreme racunara velicine ovece prostorije, to su stvarno bili fizicki
prekidaci, ali danas se više ništa ne krece izuzev same struje. Najuobicajeniji tip
prekidaca u današnjim racunarima je tranzistor poznat kao MOSFET (metal-oksid
poluprovodnicki tranzistor sa efektom polja). Ova vrsta tranzistora izvodi
jednostavnu, ali suštinski bitnu funkciju: kada mu se dovede napon, on reaguje
ukljucujuci ili iskljucujuci kolo. Vecina PC procesora danas radi na 3,3V, ali raniji
procesori (do pojave, pa i ukljucujuci neke od Pentijuma) radili su na 5V. Sa
uobicajenim tipom MOSFET tranzistora, ulazni signal na maksimalnoj vrednosti
naponskog opsega, ili blizu nje ukljucuje kolo, dok ga onaj koji je blizu 0 iskljucuje.
Milioni MOSFET tranzistora rade zajedno, prema instrukcijama programa, da bi
upravljali tokom elektriciteta kroz logička kola i proizveli zahtevani rezultat. Svako
logičko kolo sadrži jedan ili više tranzistora i svaki tranzistor mora da kontroliše
struju tako da se kolo uključuje, isključuje ili ostaje u trenutnom stanju.

4|Strana
Razvoj 32-bitnog procesora

slika 2.Prikaz I i ILI logičkog kola


Ako pogledamo na I i ILI logička kola na slici 1, videćemo kako ona rade. Svako od
ovih logičkih kola ima dva ulaza koji proizvode jedan izlazni signal. Logičko I znači
da oba ulaza moraju da budu 1 da bi izlaz bio 1; logičko ILI znači da bilo koji ulaz
može da bude 1 da bi izlaz bio 1. U I kolu, oba ulazna signala moraju da budu na
visokom nivou napona (odnosno logičkom 1) da bi kolo propustilo struju kroz sebe.
Tok elektriciteta kroz svako kolo se kontroliše pomoću tranzistora u tom kolu.
Medjutim, ovi tranzistori nisu pojedinačne i diskretne jedinice. Umesto toga, njihov
veliki broj se proizvodi od jednog komada silicijuma i medjusobno po¬vezuje
pomoću metalnih provodnika ili nekog drugog spoljašnjeg materijala.
Ovakve jedinice se zovu integrisana kola (IC) i njihov razvoj je, u osnovi, učinio
ostvarivom složenost mik¬roprocesora. Integracija kola se nije zaustavila na prvim
rezultatima. Baš kao što su prva integrisana kola povezala više tranzistora, tako su
se kasnije povezivala i višestruka integrisana kola, u procesu koji je poznat kao
visok stepen integracije (Large Scale Integration - LSI); na kraju su i ovakvu
skupovi integrisanih kola bili povezivani, u procesu koji se zove veoma visok stepen
integracije (Very Large Scale Integration - VLSI).

5|Strana
Razvoj 32-bitnog procesora

3. Arhiktektura procesora

Pod arhitekturom procesora podrazumevamo njegovu logičku organizaciju a ne


harverski sklop. Arhitktura se razlikuje kod svake generacije procesora u zavisnosti
da li su 8-bitni, 16-bitni... međutim, postoje elementi koji se javljaju kod skoro svih
proizvođača i to su:

 Registri (Registers) se javljaju kod svih procesora. Mogu se razlikovati registri


opšte namene (general purpose registers) i specijalizovani registri koji imaju
unapred fiksiranu namenu. Registri opšte namene mogu služiti u različite svrhe,
za realizaciju aritmetičko logičkih operacija, kao brojači i sl.

 Akumulator (Accumulator) se obično ubraja u registre opšte namene i preko


njega se realizuje većina instrukcija.

 Indeksni registri (Index register) je takođe registar opšte namene i njihov broj
kreće od jedan ka naviše. On čuva adresu nekog podatka ili nekakav sadržaj na
osnovu kog se formira adresa podatka.

 Pokazivač instrukcija (Instruction pointer) je specijalizovan registar i ukazuje


na sledeću instrukciju (sadrži njenu adresu) koja treba da se izvrši. Kod nekih
instrukcija se naziva i programski brojač.

 Stek pokazivač (Stack pointer) može biti i registar opšte namene i


specijalizovani registar. Pokazuje koji je prvi podatak u steku. Stek je
organizacija podataka u memoriji za koju važi da se poslednji upisan podatak
uzima prvi prilikom obrade.

 Zastavica registar (Flag register) čini ćelije od kojih se svaka može tretirati kao
zastavica. Ako ćelija sadrži 1 zastavica je podignuta, a ako sadrži nulu spuštena.

6|Strana
Razvoj 32-bitnog procesora

One ukazuju na stanje posle izvršenja nekih operacija, npr. da li je rezultat


negativan ili ne, itd. Takođe se naziva i status registar jer ukazuje na status
mikroprocesora nakon izvršene operacije

 Aritmetičko logička jedinica (ALU Arithmettic Logic Unit) je funkcionalni


blok koji izvodi operacije nad celim brojevima. U savremenim procesorma ovde
se radi o komplikovanim blokovima u kojima se vrši pripremanje i izvršavanje
instrukcija. Takođe se nazivaju i celobrojne tekuće linije (Integer pipeline).

 Jedinica za brojeve sa pokretnom tačkom (Floating point unit) služi za


izvođenje operacija nad brojevima zapisanim u decimalnom obliku pri čemu se
celobrojni deo odvaja od razlomljenog decimalnom tačkom. Ovu jedinicu
poseduju samo savremeni procesori, kod starijih računara ona je bila odvojena
od mikroprocesora i nazivala se koprocesor.

 Upravljačka jedinica (Control unit) naziva se komandni blok i predstavlja


funkcionalnu celinu čiji je glavni deo dekoder. Pomoću dekodera se vrši
dešifrovanje instrukcija na osnovu njegovih kodova.

 Interfejs magistrala (Bus interface) predstavlja funkcionalni blok


mikroprocesora preko kojeg se upravlja svim magistralama.

 Keš memorija (Cashe) je brza memorija koja ima ulogu posrednika između
RAM-a i ostalih komponenata mikroprocesora. Javljaju se samo kod savremenih
mikroprocesora jer je njihova brzina znatno veća od brzine operativne memorije.

 Baferi (Buffers) su prihvatni registri koji se pridružuju raznim komponentama


mikroprocesora, mogu da posluže za prihvat instrukcija ili podataka.

7|Strana
Razvoj 32-bitnog procesora

3.1 Intelova arhiktektura procesora

Istorija mikroprocesora počinje 1971. godine, kada je mala i nepoznata kompanija,


Intel, kombinovanjem više tranzistora napravila prvu jedinicu centralnog procesora -
čip nazvan Intel 4004. To je bilo osam godina pre nego što je napravljen prvi PC.

slika 4. Intel 4004


Prvi put tako nešto je uspelo 1971. kada je napravljen prvi procesor Intel 4004, koji
je doduše mogao samo sabirati i oduzimati, ali su naučnici prvi put uspeli da u jedan
čip smeste silna integrisana kola i tranzistore, što je dalo podsticaj za daljnji razvoj
procesora koji su tim napretkom počeli da troše mnogo manje električne energije.
Veoma često se spominje i Moore-ov zakon koji objašnjava da se svakih 18 meseci
broj tranzistora i brzine udvostručava, a glasi ovako:“Kompleksnost integrisanog
kola centralne procesorske jedinice udvosručuje svoj kapacitet i sposobnosti na
svakih 18 meseci “Poslednjih godina Intel je uspevao da se uporno drži ovog zakona
i ostane na čelu svih konkurenata, uvodeći više moćnih čipova za računare od bilo
kog drugog preduzeća. 1978. godine, procesor Intel 8086 je radio na učestanosti
generatora takta od 4,77 MHz i imao manje od milion tranzistora. Do kraja 1995.
godine njihov Pentijum Pro je imao zapanjujućih 21 milion tranzistora na čipu i
radio je na učestanosti od 200 MHz.

Prvi računari (EINAC, 50-ih) nisu imali procesor već su se njihove vakumske cevi i
diode fizički morale prespajati da bi se određeni zadatak obavio. Doba procesora

8|Strana
Razvoj 32-bitnog procesora

počinje pojavom računarskog programa tj. software-a pohranjenog u računaru za


obavljanje određene funkcije. Novi preokret u razvoju procesora dolazi 1947. s
izumom tranzistora – sićušne poluprovodne komponente (najčešće od silicijuma)
koja služi za pojačavanje ili preusmeravanje elektroničkog signala. Tranzistor je
uveliko povećao brzinu prenosa signala za razliku od vakumskih cevi, a omogućio
je i značajno smanjenje dimenzija procesora. Nekoliko hiljada povezanih tranzistora
na čipu su činili integrisane krugove – el. sklopove sposobne za obavljanje brzih
računskih operacija.

slika 5. EINAC prvi računar


Procesor 4004 bio je preteča svih današnjih ponuda firme Intel i do dana današnjeg,
svi procesori PC-a bili su zasnovani na originalnim projektima ove firme. Prvi čip
koji je upotrebljen u IBM PC-u bio je Intel 8088. U vreme kada je odabran, to nije
bio najbolji CPU, u stvari Intelov sopstveni procesor 8086 bio je moćniji i pojavio
se ranije.

Procesor 8088 je odabran iz ekonomskih razloga: njegova 8-bitna magistrala


podataka je zahtevala jeftinije matične ploče od 16-bitnog 8086. Takođe, u vreme
kada je projektovan originalni PC, većina raspoloživih čipova za veze bila je

9|Strana
Razvoj 32-bitnog procesora

namenjena za upotrebu u 8-bitnim konstrukcijama. Ovi rani procesori ne bi imali ni


blizu dovoljnu snagu da izvršavaju današnje programe.

slika 6. Intel 8088 procesor


Čipovi treće generacije, zasnovani na Intelovim 80386SX i DX procesorima, bili su
prvi 32-bitni procesori koji su se pojavili u PC-u.
Glavna razlika među njima bila je u tome što je 386SX bio 32-bitni procesor samo u
svojoj unutrašnjosti, dok su njegove veze sa spoljašnjim svetom bile preko 16-bitne
magistrale podataka. To je značilo da su se podaci kretali između SX procesora i
ostatka sistema upola manjom brzinom nego kod procesora 386DX.

slika 7. Procesor 386DX ili Intel 80386 

Četvrta generacija procesora je bila takođe 32-bitna. Ipak, oni su svi nudili izvestan
broj poboljšanja. Prvo, čitava konstrukcija je bila pažljivo urađena za Intelovu
familiju 486, čineći ove procesore više od dva puta bržim. Drugo, oni su imali 8
kilobajta skrivene (cache) memorije na samom čipu, baš uz procesorsku logiku. Ovi
skriveni prenosi podataka iz glavne memorije su značili da je procesor u proseku

10 | S t r a n a
Razvoj 32-bitnog procesora

morao da čeka na podatak sa matične ploče samo 4% od ukupnog vremena, jer je


obično bio u stanju da dobije traženu informaciju iz cache-a.
Model 486DX razlikovao se od 486SX samo po tome što je imao i matematički
koprocesor na ploči. To je bio zaseban procesor, projektovan da preuzme proračune
sa pokretnim zarezom. On je imao malo uticaja na svakodnevne primene, ali je
menjao performansu tabelarnih proračuna, programa za projektovanje pomoću
kompjutera itd.

slika 8. 486DX ili Intel 80486


Važna inovacija bilo je udvajanje generatora takta uvedeno sa procesorom 486DX2.
To je značilo da su kola unutar čipa radila dva puta brže od spoljašnje elektronike.
Podaci su bili prenošeni između procesora, unutrašnje skrivene memorije i
matematičkog koprocesora dvostrukom brzinom, što je značajno poboljšavalo
performansu. Procesor 486DX4 je dalje usavršio ovu tehniku, utrostručavajući
brzinu generatora takta da interno radi na 75 ili 100 MHz i udvostručavaju i veličinu
primarne skrivene memorije na 16 kilobajta.

Pentium je definišući procesor pete generacije koji obezbeđuje veoma povećanu


performansu u odnosu na čipove 486 koji su mu prethodili, zahvaljujući većem
broju promena u arhitekturi koje ukljucuju i udvostručavanje širine magistrale
podataka na 64 bita. Procesor P55C MMX je napravio dalja značajna poboljšanja
udvostručavanjem primarne skrivene memorije na ploci na 32 kilobajta i

11 | S t r a n a
Razvoj 32-bitnog procesora

proširenjem skupa instrukcija u cilju optimizovanja izvršavanja multimedijskih


funkcija. 1995. godine uveden je procesor Pentium Pro, kao naslednik Pentiuma.

slika 9. P55C MMX procesor

Bio je prvi u šestoj generaciji procesora i uveo je više jedinstvenih osobina


arhitekture koje nikada ranije nisu bile viđene u procesorima PC-a. To je bio prvi
CPU iz glavnog proizvodnog toka koji je radikalno promenio način izvršavanja
instrukcija, prevodeći ih u mikroinstrukcije slične onima kod RISC procesora i
izvršavajući ih u vrlo naprednom jezgru. Takodje je uvedena skrivena memorija
koja je imala dramatično viši nivo performanse u poređenju sa svim ranijim
procesorima.

Umesto da se koristi keš memorija sa matične ploče koja radi brzinom memorijske
magistrale, upotrebljena je integrisana skrivena memorija drugog nivoa sa njenom
sopstvenom magistralom, koja radi punom brzinom procesora, tipično tri puta brže
od skrivene memorije na Pentiumu. Intelu je trebala gotovo jedna i po godina da
proizvede novi čip posle Pentiuma Pro.

12 | S t r a n a
Razvoj 32-bitnog procesora

slika 10. Intel Pentium Pro


Kada se konačno pojavio, ispostavilo se da je Pentium II bio samo sledeći evolutivni
korak. Ovo je pokrenulo nagađanje da je prilikom izrade Pentiuma II jedan od
glavnih Intelovih ciljeva bio da pobegne od skupe integrisane skrivene memorije
drugog nivoa koju je bilo teško proizvoditi na Pentiumu Pro. U pogledu arhitekture,
Pentium II se ne razlikuje mnogo od Pentiuma Pro, ima slično emulaciono jezgro
x86 i većinu istih ostalih osobina.
Pentium II je unapredio arhitekturu Pentiuma Pro udvostručavanjem veličine
skrivene memorije prvog nivoa na 32 kilobajta, upotrebom specijalnih cache
memorija da se poveća efikasnost obrade 16-bitnog koda (Pentium Pro je bio
optimizovan za 32-bitnu obradu i nije tako dobro radio sa 16-bitnog kodom) i
povećavanjem veličine bafera za pisanje. Međutim, ono o čemu se najviše govorilo
u vezi sa Pentiumom II bilo je njegovo pakovanje. Integrisana sekundarna skrivena
memorija Pentiuma Pro, koja je radila punom procesorskom brzinom, bila je na
Pentiumu II zamenjena specijalnom malom pločom koja je sadržavala procesor i
512 kilobajta sekundarne skrivene memorije i koja je radila na polovini brzine
procesora.

slika 11. Pentium II


Ovaj sklop koji je nazvan jednoivični kertridž (single-edge cartridge – SEC), bio je
projektovan tako da odgovara slotu od 242 pina (soket 8) koji se nalazio na novim
matičnim pločama za Pentium II.
Osnovni uslov koji je IBM postavio Intelu da bi njegovi procesori postali osnova PC
računara je bila da još minimalno jedna korporacija ima pravo na patente za gradnju
procesora serije x86. Intelov izbor je pao na AMD s čime se i IBM složio.Tokom

13 | S t r a n a
Razvoj 32-bitnog procesora

sledećih 25 godina nekoliko drugih kompanija se pokušalo ugurati u ovaj posao ali
malo koja od njih je ostavila ikakav trag. Ti malobrojni konkurenti su uspeli
izgraditi Intel kompatibilne procesore, a evo i redosleda po njihovom
uspehu:Centaur, Transmeta, Cyrix Nexgen, NEC...
U prvim danima računarstva, mnogi ljudi su pisali svoj sopstveni softver, tako da je
tačan skup instrukcija koje bi procesor mogao da izvršava bio od malog značaja.
Danas, međutim, ljudi očekuju da mogu da koriste gotov softver, tako da je skup
instrukcija najvažniji. Mada sa tehničke tačke gledišta arhitektura procesora Intel
80x86 nije ništa posebno, ona je odavno postala industrijski standard.
Ako treće lice pravi procesor koji ima različite instrukcije, on neće moći da izvršava
standardni industrijski softver, što će rezultovati praktično nikakvom prodajom.
Zato su, u vreme procesora 386 i 486, firme kao što je AMD klonirale Intel-ove
procesore, što je značilo da su one bile uvek za oko jednu generaciju u zaostatku.
Današnji procesori dostižu mnogo veci radni takt od svojih preteča. Dostižu brzine i
do 8GHz (overclocked), dok fabričko stanje novih procesora dostiže radni takt do
5GHz. Napredovanjem procesora, morali su se i soketi menjati. Tako da danas, u
jedan tip soketa može ići samo par procesora, a ne svaki, koji se napravi. U borbi
oko prevlasti u oblasti procesora su ostali INTEL i AMD.

slika 12. Prikaz AMD i Itel loga

Arhitektura je familija procesora (eng. CPUs) koje podržavaju iste instrukcije. Dve
najistaknutije arhitekture u desktop svetu su x86 arhitektura i x86_64 arhitektura.
Postoje mnoge druge arhitekture, kao što su sparc, ppc (the PowerPC family), mips,
arm, itd. 32-bitna arhitektura korišćena od strane procesora za koje se obično kaže
da su "Intel kompatibilni" do skoro je bila najpopularnija arhitektura za desktop
računare.

14 | S t r a n a
Razvoj 32-bitnog procesora

U 1980. i ranim 1990. godinama kada su 8088 i 80286 i dalje bili u opštoj upotrebi,
termin x86 obično je predstavljao bilo koji 8086 kompatibilni CPU. Danas,
međutim, x86 obično podrazumeva binarnu kompatibilnost takođe sa 32-bitnim
skupom instrukcija od 80386. To je zbog činjenice da je ovaj skup instrukcija postao
nešto kao najmanji zajednički imenilac za mnoge operativne sisteme, a verovatno i
zbog toga što je postao uobičajeni termin nakon uvođenja 86386 u 1985. godini.
Termin x86 ponekad može se istaći kao x86-32 da bi se razlikovao od ili
originalnog 16-bitnog "x86-16" ili od 64-bitnog x86-64.Iako se većina x86
procesora, koji se koriste u novim personalnim računarima i serverima, ima 64-bitnu
kompatibilnost, da bi se izbegli problemi sa kompatibilnošću sa starijim računarima
ili sistemima, termin x86-64 (ili x64) se često koristi da označi 64-bitni softver, sa
terminom x86 koji trenutno implicira samo 32-bita.
Budući da je ova arhitektura prošla kroz više etapa počevši od procesora 8086 pa do
savremenih višejezgarnih procesora. Pored instrukcija za kopiranje, aritmetičke i
logičke operacije kao i ostale mnogobrojne instrukcije, objašnjene su i instrukcije
koje su se pojavljivale tokom vremena i koje su proširivale mogućnosti same
arhitekture.

slika 13. Tabelarni prikaz razvoja procesora

3.2 ARM procesori

ARM procesor pripada RISC familiji procesora. RISC koncept potiče iz 80-tih
godina i programa istraživanja sa Univerziteta Stanford i Berkeley.
Bio je to prvi RISC mikroprocesor koji je razvijen za komercijalnu namenu. Jedan
od nedostataka RISC dizajna bio je taj da su programi koji su se izvršavali na njima
bili veliki. Ovo je posledica kompajlera koji su morali da generišu duže sekvence od
prostijih instrukcija da postignu iste rezultate kao CISC. Današnji računari su
prividno (interno) dvoadresni, a eksterno jednoadresni, jer asemblerske instrukcije
imaju samo jedan memorijski argument, a ostalo su konstante i lokalni registri.

15 | S t r a n a
Razvoj 32-bitnog procesora

Nijedan procesor nije posebno primenljiv bez odgovarajuće podrške koju mu


pružaju hardver i softver, kao i razvojni alati.
ARM je opremljen alatom koji sadrži: emulator za izvođenje skupa instrukcija za
hardversko modeliranje i softversko testiranje, asembler, C i C++ kompajlere, linker
i simbolički debuger.
Za razumevanje hardversko/softverske ko-verifikacije neophodno je razumeti
princip rada alata kao i proces koji se koristi za razvoj hardvera i softvera. Do skora,
integracija softvera sa hardverom se izvodila u laboratorijiskom okruzenju
konstrukcijom hardvera i pokretanjem softvera. Debagiranje se izvodilo opremom
kao što su : in-circuit emulatori (ICE), logički analizatori i osciloskopi. Debagiranje
u kasnijoj fazi projektovanja, kada je pritisak na projektante zbog definisanog roka
najveći, je naporan i stresan zadatak. Ko-verifikacijom menja se ovakav pristup jer
se koristi virtuelni prototip hardvera koji se izvršava na softveru pre nego sto je
prototip dostupan.
Testiranje karakteristika gradivnih blokova sistema je danas jednostavno moguće
korišćenjem development kit-ova. To su sistemi za razvoj projektovani po
određenom standardu. Oni su u stanju da ispitaju realne karakteristike određenih
komponenti, kao na primer mikrokontrolera.

Arhitektura ARM procesora


U vreme kada se pojavio ARM čip, jedino raspoložive RISC arhitekture su bile
RISC I razvijen na Berkeley-u i MIPS na Stanfordu. ARM arhitektura je prihvatila
brojne osobine RISC I dizajna, ali je brojne odbacila.
One koje su se i dalje koristile su bile:

 Napuni - smesti arhitektura (load-store)

 32-bitni fiksni format instrukcija

 Tro-adresni format instrukcija

16 | S t r a n a
Razvoj 32-bitnog procesora

Osobine koje je ARM odbacio, a bile su korišćene na RISC I arhitekturi su:


Rad sa registarskim prozorima :

 Odloženo grananje

 Izvršenje svih instrukcija u jednom ciklusu


Skup instrukcija jednog procesora definiše operacije koje programer koristi da
promeni stanje sistema. Stanje čine vrednosti podataka koji se čuvaju u vidljivim
registrima procesora i u sistemskoj memoriji. Svaka instrukcija izvršava definisanu
transformaciju procesora iz stanja koje je bilo pre instrukcije, u stanje po njenom
okončanju. Promena stanja se odnosi samo na programsko vidljive, a ne nevidljive
registre.To znači da su bitne samo vrednosti koje se čuvaju u vidljivim registrima.

slika 14. Registri ARM7 procesora


Sve ARM instrukcije su 32-bitne. Najznačajnije osobine skupa instrukcija ARM
procesora su sledeće:

 učitaj-smesti arhitektura.

 3-adresne instrukcije za obradu podataka.

 uslovno izvršenje svake od instrukcija.

 uključenje vrlo jakih višestrukih učitaj-smesti instrukcija registara

 mogućnost da se izvedu opšte operacije pomeranja kao i opšte aritmetičko-


logičke operacije u jednoj instrukciji, koja se izvršava u jednom taktnom
ciklusu.

17 | S t r a n a
Razvoj 32-bitnog procesora

 proširenje na otvoreni skup instrukcija preko skupa instrukcija koprocesora, što


uključuje i dodavanje novih registara i tipova podataka programerskom modelu.

 16-bitna predstava skupa instrukcija velike gustine u Thumb arhitekturi.

ARM upravlja U/I periferijama (disk kontrolerima, mrežnim interfejsima...) kao


memorijski mapiranim uređajima sa podrškom za prekide. Unutrašnji registri u
ovim uređajima se javljaju kao lokacije koje se mogu adresirati unutar memorijske
mape ARM-a. Registri mogu biti čitani ili zapisivani pomoću istih učitaj – smesti
instrukcija kao i bilo koja druga memorijska lokacija.
Razvoj softvera za ARM je podržan odgovarajućim izborom alata koje je razvila
kompanija ARM Limited, ali postoji i mnogo drugih dostupnih alata nezavisnih od
ove kompanije.

Pošto se ARM koristi kao embedded kontroler kod kojih ciljni hardver nije
projektovan da predstavlja podlogu za razvoj softvera, ovi alati su namenjeni za
razvoj drugih arhitektura kakve su platforme PC-a na kojima se izvršavaju Windows
programi ili radne stanice koje rade pod UNIX-om.

18 | S t r a n a
Razvoj 32-bitnog procesora

slika 15. Struktura ARM C kompajlera

Postoji veći broj ARM jezgara koji se međusobno razlikuju po broju protočnih
stepeni, mogućnosti procesiranja,skupu instrukcija, itd. U daljem tekstu biće dat
kratak pregled mogućnosti ovih procesora.

ARM7TDMI procesor
ARM7TDMI ima jezgra sa naslabijim performansama. Koristi se kod velikog broja
aplikacijaa a tipična je ona koja se koristi za mobilni digitalni telefon. Organizacija
procesora ARM7TDMI je prikazana na slici 5. Jezgro procesora čini ARM integer
jezgro koje koristi 3 protočna stepena i sledećim proširenjima:

19 | S t r a n a
Razvoj 32-bitnog procesora

 primenjuje i izvršava ARM arhitekturu verzije 4T sa podrškom koja


podržava 64-bitne rezultate množenja, operacija Load i Store tipa polureč i
jedan bajt, kao i skup instrukcija Thumb.

 Sadrži EMbeddedICE modul koji podržava otklanjanje grešaka u programu


kod ambedet sistema
Kod otklanjanja grešaka u hardveru pristup procesoru se ostvaruje preko JTAG
porta za pristup, pri čemu je JTAG logika sastavni deo procesora.

slika 16. Organizacija procesora ARM7TDMI

Jako veliki broj signala može dovesti do pogrešnog zaključka jer se njima
pretpostavlja složeno ponašanje koje se nadovezuje na suštinsku jednostavnost
bazičnog ARM interfejsa. Među signalima interfejsa dominiraju signali sa
magistrala podataka i adresa, tako da će jednostavni memorijski interfejs koristiti
ove signale kao i par kontrolnih signala. Ostali signali su namenjeni nekim drugim
funkcijama poput debug-ovanja na čipu, JTAG boundary scan-u, i nekim drugim.

20 | S t r a n a
Razvoj 32-bitnog procesora

Na slici 6 su signali interfejsa prikazani u grupama po funkcijama, i uloga svake


grupe je opisana ispod sa odgovarajućim informacijama o pojedinačnim signalima

slika 17. Signali ARM7TDMI hardverskog interfejsa

3.3 MIPS (Milions of Instructions Per Second)

MIPS procesori su tipični predstavnici RISC koncepta sa Load/Store arhitekturom.


To zapravo znači da se sve operacije izvršavaju nad operandima koji se nalaze u
registrima na čipu, a memoriji se pristupa isključivo preko Load (memorija-registar)
i Store (registar-memorija) instrukcija. Na taj način značajno se poboljšavaju

21 | S t r a n a
Razvoj 32-bitnog procesora

performanse procesora jer je vreme pristupa memoriji znatno duže od vremena


pristupa registrima. Prednosti ovog koncepta su:

 smanjenje broja pristupa memoriji čime se smanjuje i zahtevana veličina


memeorije

 pojednostavljenje skupa instrukcija

 lakša optimizacija dodele registara od strane kompajlera


Takođe, spoljnu magistralu MIPS procesora čine dve posebne magistrale, jedna za
pristup instrukcijama, a druga za pristup podacima. Time se pristup podacima
obavlja paralelno sa pribavljanjem instrukcija čime se eliminišu konflikti između
instrukcija i podataka koji realno postoje kod sistema zasnovanih na jedinstvenoj
magistrali.
Sledeći tekst odnosi se na najjednostavniji model MIPS arhitekture koja je danas
široko prihvaćena i označićemo ga sa MIPSxx. Na slici 1 prikazana je
pojednostavljena struktura MIPS procesora.

slika 18. Pojednostavljena struktura MIPS procesora


Memorija je bajt adresabilna sa 32-bitnim adresama (od 0x00000000 do 0xffffffff).
Koristi se tzv. little- endian način rada, što zapravo znači da se u memoriju na LS
bajt poziciju upisuje bajt najmanje težine.

22 | S t r a n a
Razvoj 32-bitnog procesora

MIPS arhitektura definiše sledeće CPU-ove registre:

 32 registra opšte namene, svi obima 32 bita, ovi registri čine RF polje

 par specijalnih registara HI i LO koji se koriste za čuvanje međurezultata kod


izvršavanja operacija množenja i deljenja.

 programski brojač (PC) čuva adresu naredne instrukcije. Kako sve su sve
instrukcije MIPS arhitekture dužine 32 bita PC se nakon izvršenja svake
instrikcije uveća za 4.
Kao što je već naglašeno u MIPS arhitekturi postoji određen broj makro ili pseudo
instrukcija za manipulisanje integer vrednostima. Svaku od ovih instrukcija
asembler radi izvršenja prevodi u skup od jedne ili više osnovnih (regularnih)
instrukcija kao što je navedeno u tekstu koji sledi.
Za svaku pseudoinstrukciju naveden je naziv instrukcije (na engleskom), sintaksa,
broj reči koje instrukcija zauzima, vreme potrebno za izvršenje instrukcije (broj
ciklusa), zatim kratak opis i skup regularnih instrukcija kojima se data
pseudo¬instrukcija zamenjuje.

3.4 RISC koncept

RISC [Reduced Instruction Set Computer] koncept javlja se ranih osamdesetih


godina prošlog veka i dovodi do radikalnih promena kod ISA (Instruction Set
Architecture). ISA specificira primitivne komande koje se izvršavaju od strane
hardvera, tj. izvršive mašinske instrukcije za dati tip hardvera. Kompleksnost ISA
zavisi od formata instrukcije, formata podataka, adresnih načina rada, registara opšte
namene, specifikacije opkoda i mehanizama za upravljanje tokom izvršenja
programa.
U zavisnosti od izbora ovih osobina razlikujemo dva koncepta:
CISC procesori bili su masovno korišćeni od pojave prvog mikroprocesora pa sve
do pojave RISC čipova ranih osamdesetih godina prošlog veka. CISC procesore
karakteriše veliki broj instrukcija (oko 300) pri čemu se koriste promenljivi formati
instrukcija/podataka i relativno mali skup registara opšte namene (od 8 do 24). Kod
CISC-ova postoji veliki broj operacija obraćanja memoriji koje koriste oko 20
adresnih načina rada.

23 | S t r a n a
Razvoj 32-bitnog procesora

Nakon, takoreći, tri decenije razvoja CISC arhitektura, korisnici računara su počeli
da procenjuju (evaluiraju) odnos izmedju ISA i dostupnih hardversko/softverskih
tehnologija.

slika 19. CISK i RISK struktura

Na osnovu analiza programa (uglavnom sprovedenih trasiranjem) ustanovljeno je da


samo 25% od svih raspoloživih kompleksnih instrukcija troši 95% ukupnog
vremena potrebnog za izvršenje programa. To, drugim rečima, znači da se ostalih
75% hardverski-podržanih instrukcija retko koristi u toku izvršenja programa
(manje od 5%). Tako se i rodila ideja o RISC-ovima koja se bazira na sledećoj
činjenici: Učini ono što se najviše koristi najbžim. Kao posledica ovakvog pristupa
ostvarilo se dramatično povećanje performansi u odnosu na CISC dizajn. Projektanti
su se vodili sledećim pravilom: kompleksne instrukcije, nakon procene njihovog
pojavljivanja u programima, kada je njihov procenat mali treba implementirati
softverski (u vidu potprograma), a ne hardverski kakva je bila dotadažnja praksa kod
CISC procesora.

24 | S t r a n a
Razvoj 32-bitnog procesora

slika 20. CISC procesor Ultra SPARC


Implementacija retko korišćenih instrukcija u softveru omogućava da se skoro svi
gradivni blokovi procesora smeste na jedinstveni VLSI čip. Šta više, u okviru
jednog RISC procesorskog čipa, na današnjem nivou tehnologije, moguće je
ugraditi sada on-chip keš kao i veći broj FP jedinica.

slika 21. VLSI čip


Obično, skup instrukcija RISC procesora je manji od 100 instrukcija (kod CISC
procesora taj broj je oko 300), pri čemu su instrukcije obima 32- ili 64- bita, ali ne
oba formata istovremeno. U principu se koriste od tri do pet adresnih načina rada.
Arhitektura RISC-a je tipa Load/Store. To znači da sve instrukcije pribavljaju
operande iz registara i smeštaju rezultate i registre (register-based), a da su Load i
Store jedine dve naredbe pomoću kojih se procesor obraća memoriji.
RISC procesor često koristi dva posebna registarska polja. Jedno polje čine 32
registra za manipulisanje sa celobrojnim vrednostima i adresama (integer register
file), a drugo poljese sastoji od 32 registra koji se koriste kod manipulisanja brojeva
u pokretnom zarezu (floating point register file). Neki od RISC procesora koriste i
više od 100 registara.

25 | S t r a n a
Razvoj 32-bitnog procesora

Pored korišćenja registarskih polja velikog obima, podeljeni keševi za instrukcije i


podatke dodatno i značajno skraćuju vreme pristupa memoriji.

slika 22. Pravi RISC procesor

Osnovna ideja RISC-a je da se najveći broj instrukcija izvrši za jedan ciklus što se
postiže pribavljanjem operanda direktnim putem iz registara, bafera preuredjenja ili
keša podataka, a ne kao kod CISC-ova iz memorije. U tabeli 1 prikazane su ključne
karakteristike pravih RISC procesora.
Tabela 1. Karakteristike pravih RISC arhitektura

26 | S t r a n a
Razvoj 32-bitnog procesora

Korišćenjem velikog registarskog polja, bafera podataka, i izdvojenih keševa za


instrukcije i podatke, ima povoljan efekat na interno prosledjivanje podataka kroz
CPU, kao i eliminisanje nepotrebnih memorisanja (pamćenja) medjurezultata
operacija. Sa značajno smanjenom kompleksnošću skupa instrukcija, RISC procesor
se može lakše projektovati i realizovati kao jedinstveni VLSI čip. Prednost ovog
pristupa su rad na višim frekvencijama, niži prosečni CPI koji se može postići, niži
procenat keš promašaja koji se može ostvariti, i bolje mogućnosti koje stoje na
raspolaganju za optimizaciju kompilatora.
Sa druge strane, da bi se obavio isti posao, u poređenju sa CISC, potreban je za oko
40% veći broj instrukcija. Ipak, negativni efekat usled povećanja broja instrukcija
manji je u odnosu na pozitivne efekte postignute povećanjem taktne frekvencije i
smanjenjem prosečnog broja CPI-a.
Drugi nedostatak RISC procesora je taj što je neophodno ugraditi veliki broj internih
registara. Međutim razvojem tehnologije izrade VLSI čipova ovaj problem gubi na
važnosti.

3.5 PowerPC

PowerPC je RISC mikroprocesor arhitektura stvorena 1991. godine u kooperaciji


Apple (računarstvo), IBM i Motorola poznata sa nadimkom AIM. Prvobitno

27 | S t r a n a
Razvoj 32-bitnog procesora

namjenjena isključivo osobnim računarima, PowerPC CPU-jevi su postali jako


popularni u embeded i visoko-operativnim procesorima.
PowerPC je bio osnova AIM-ovih PReP i Zajedničke Hardver Okosnice Platforme
(eng. Common Hardware Reference Platform) strategija u 1990-tim, ali je ova
arhitekture našla najviše uspjeha u tržištu za Apple-ov Macintosh osobni računar u
periodu od 1994. do 2006.
PowerPC je većinom baziran na IBM-ovoj starijoj POWER arhitekturi, zbog čega je
zadržao veliki nivo kompatibilnosti sa tim sistemima. Tako je npr. moguće
instalirati iste operativne sisteme i programe na obje platforme, ako se vodi računa u
pripremi.

slika 20. IBM PowerPC 601 Microprocessor

4. Zaključak

Rad na računaru predstavlja višestruku obradu instrukcija koja se korisniku čine


jednostavnim a opet su složena i „nevidljiva“. Pre više od 3 decenije programer je
morao za beznačajne stvari da ispisuje linije koda pa da tek onda uđe u suštinu i

28 | S t r a n a
Razvoj 32-bitnog procesora

rešavanje svog zadatka. Inovacijama na softveru i hardveru ovaj posao postao je


lakši i brži.
Uspostavljanjem standarda i upornost u očuvanju arhitekture dobija se red kojim se
procesi odvijaju tako da instrukcije i adresiranja imaju veoma važnu ulogu. Osim
obrađenih instrukcija i načina adresiranja prikazani su i principi rada i način na koji
funkcionišu različiti tipovi i strukture podataka. Imajući u vidu u radu navedene
informacije i pravila rad Operativnog sistema više nije „ružan i ne narušava
korisničko iskustvo“.
Jasno je da nijedan procesor nije posebno primenljiv bez odgovarajuće podrške u
vidu hardvera i softvera. Zato smo u drugom delu pažnju posvetili skupu instrukcija
ARM procesora. Takođe smo naveli tipove podataka kojima ARM može da
manipuliše, kao i tipove instrukcija koje se mogu izvršavati na njemu. Instrukcije su
podeljene u odgovarajuće grupe i data su njihova bliža objašnjenja kao i primeri.
Široka primena mikroprocesora je poseldica njegove velike
fleksibilnosti,pouzdanosti, male potrošnje, malih dimenzija, relativno male cene
prema tehničkim karakteristikama. Zato su mikroprocesori zamenili do tada složene
digitalne i analogne sklopove pa i cele računare tj. nekadašnje mikroračunare.
Procesor danas ima široku primenu u mnogim područjima.

5. Literatura

1. "Laboratorijski praktikum iz predmeta mikroprocesorski sistemi" ,


T.Stanković, S.Ristić, M.Krstić, I.Andrejić, M.Stojčev

29 | S t r a n a
Razvoj 32-bitnog procesora

2. "Izabrani zadaci iz mikroprocesorskih sistema" , Mile Stijčev i Tatjana


Stanković
3. Tatenbaum S.A. "Modern operating systems", 2001
4. Aleksandar Ljubić, „Isorijski razvoj procesora“, Računarski Fakultet
Beograd, 2014.
5. ARM Limited: ARM Architecture Reference Manual, 1996. – 2000.
6. Hitex Development Tools: The Insider's Guide to the Philips ARM7-based
Microcontrolers, Trevor Martin
7. High Performance Computing Benchmarks" - Dr M. Probert
8. http://starisajt.elfak.ni.ac.rs/phptest/new/html/informacije/vesti/resenja/mps/p
oglavlja/6aRISC-CISC-koncept.pdf

Slika 1. https://img.diytrade.com/cdimg/1940143/27203069/0/1343277527/DESK
TOP_AMD_CPU_PROCESSOR_ATHLON_64_3200_SOCKET_754_2
_2GHZ.jpg
Slika 2. https://www.pctechguide.com/wp-content/uploads/2011/09/21gates.gif
Slika 3. Knjiga
Slika 4. Knjiga
Slika 5. Knjiga
Slika 6. Knjiga
Slika 7. Knjiga
Slika 8. https://upload.wikimedia.org/wikipedia/commons/7/7d/IBM_PowerPC60
1_PPC601FD-080-2_top.jpg

30 | S t r a n a

You might also like