13
Univerzitet u Blacu Visoka poslovna škola strukovnih studija Predmet: Uvod u programiranje SEMINARSKI RAD Tema:CPU (Central Processing Unit) 1

Uvod u prograiranje - seminarski -CPU

Embed Size (px)

Citation preview

Page 1: Uvod u prograiranje - seminarski -CPU

Univerzitet u Blacu

Visoka poslovna škola strukovnih studija

Predmet: Uvod u programiranje

SEMINARSKI RAD

Tema:CPU (Central Processing Unit)

Profesor: Studenti:Mr. Danilo Oklobdžija Miloš Bogićević 80/09

Jovanović Ninoslav 78/09

1

Page 2: Uvod u prograiranje - seminarski -CPU

Sadrzaj:

1. Istorija …………………………………………………………….. 3

2. Glavne karakteristike procesora …………………………………….. 4

3. Podela procesora …………………………………………………….. 4

3.1 Po tome koliko instrukcija i sa koliko podataka rade jednom „koraku“ ……... 5

3.2 Po arhitekturi i skupu instrukcija se dele i na …………………………….. 6

3.3 Ostale podele : ……………………………………..…………………… 7

4. Radni takt procesora …………………………………………….. 8

5. Organizacija procesora …………………………………………….. 9

2

Page 3: Uvod u prograiranje - seminarski -CPU

Procesor (u računarstvu) je izvršna jedinica koja prima i izvršava

instrukcije pročitane iz odgovarajuće memorije. Kada se kaže samo „procesor“

najčešće se misli na centralni procesor (central processing unit — CPU,

centralna procesorska jedinica), ali postoje i procesori specijalnih namena kao

što su procesori signala, razni grafički procesori, itd. Sam po sebi procesor ne

čini računar, ali je jedan od najvažnijih delova svakog računara.

1. Istorija

Prvi procesori su bili mehanički i praktično nisu bili zaseban deo računara (npr.

kakve je projektovao Čarls Bebidž) zatim elektromehanički (relejni) pa na bazi

elektronskih vakuumskih cevi i bili su jako veliki (obično su računari zauzimali

cele prostorije ili čak spratove). Do značajnog smanjenja dimenzija i povećanja

performansi došlo je upotrebom tranzistora (miniprocesori) i, u drugoj polovini 20.

veka, integralnih kola (mikroprocesori).

3

Page 4: Uvod u prograiranje - seminarski -CPU

2. Glavne Karakteristike procesora

Brzina procesora izrazava se brzinom takta tj. broj perioda clock signala

(clock speed). Ona se meri megahercima (1MHz = koliko se impulsa proizvedu u

sekundi za dati processor) ili MIPS-ovima (million instruction per second)

Brzina procesora zavisi direktno od:

- dužine procesorske reči (binarna reč koja se istovremeno prenosi i obrađuje

unutar procesora)

- širine magistrala

- frekvencije procesorskog takta

- veličine Cache memorije

- matematičkog koprocesora

- širina podataka

- veličina registara (Internal Register Size)

- širina magistrale podataka (Data I/O Bus Width)

4

Page 5: Uvod u prograiranje - seminarski -CPU

- širina adresnog prostora (Memory Address Bus Width).

3. Podela procesora

- po širini magistrale podataka, adresne magistrale,...

1. 4-bitni (Intel 4004)

2. 8-bitni (Z80, 8086)

3. 16-bitni (80286)

4. 32-bitni (svi procesori bazirani na 80x86 arhitekturi počev od

80386)

5. 64-bitni (procesori bazirani na x64 arhitekturi)

- po tehnologiji izrade, stepenu integracije

90nm, 65nm, 55nm, 45nm

- prema tome da li imaju zasebne magistrale za programsku memoriju i memoriju

za podatke ili koriste jednu

- harvard aritektura (zasebna magistrala)

- Von Neumannova aritektura (koriste jednu magistralu)

3.1 Po tome koliko instrukcija i sa koliko podataka rade jednom „koraku“:

Ovu podelu je 1972. godine predložio Michael J. Flynn, i po njemu se ona naziva

„Flinova taksonomija“.

Podela procesora na:

- jednu instrukciju sa jednim podatkom (tzv. skalarni procesori, eng: SISD —

Single Instruction Single Data). Podvarijanta (super-skalarni) mogu da u toku

izvršavanja odrede koje parove instrukcija i podataka mogu da izvrše u isto

vreme i to i učine.

5

Page 6: Uvod u prograiranje - seminarski -CPU

-jednu instrukciju izvršavaju na više podataka odjednom (tzv. vektorski procesori,

eng: SIMD — Single Instruction Multiple Data)

-izvršavaju više nezavisnih instrukcija, svaku na svojim podacima (eng: MIMD —

Multiple Instruction Multiple Data)

-izvršavaju više nezavisnih instrukcija, svaku na jednom, zajedničkom,

podatku(eng: MISD — Multiple Instruction Single Data)

Iako se SIMD nekada koristio uglavnom na vektorskim superkompjuterima poput

onih koje je 70-ih godina 20. veka popularisao Cray, potreba za obradom

multimedijalnih podataka je dovela do dodavanja SIMD instrukcija u arhitekturu

procesora opšte namene, trend koji je izrodio tehnologije kao što su PowerPC-

jev AltiVec, Intel-ovi MMX, SSE, SSE2, SSE3 and SSE4, AMD-ov 3DNow!,

SPARC-ov VIS, Sun-ov MAJC, PA-RISC-ov MAX i MIPS-ovi MDMX i MIPS-3D.

Flinova taksonomija danas nije od značaja kao praktična podela, jer moderni

računarski sistemi često potpadaju u nekoliko (pa čak i sve četiri!) kategorije ove

taksonomije. Ilustrativan primer bi bio neki dual Pentium 4 Xeon sistem je u

osnovi x86 SISD arhitektura sa SIMD proširenjima (MMX, SSE, SSE2...), radi

simetrično multiprocesiranje na dva odvojena mikroprocesora (MIMD), a svaki od

njih sadrži jezgro sa pajplajn arhitekturom koja se može shvatiti kao MISD (jer

svaki korak u pajplajnu operiše nad istim podatkom — instrukcijom koja se

izvršava).

3.2 Po arhitekturi i skupu instrukcija se dele i na:

Procesore sa kompleksnim skupom instrukcija, u kojima se svaka kompleksna

instrukcija interno prevodi u niz mikrokod instrukcija (eng: CISC — Complex

Instruction Set Computer). Ovakav skup instrukcija je obično „ugodniji“ za

programiranje, ali generalno rezultuje manjom brzinom izvršavanja. Svakako

6

Page 7: Uvod u prograiranje - seminarski -CPU

značajan primer CISC arhitekture je Intelova (i AMD-ova) 80x86 familija, a

ovakav dizajn su koristili i CDC 6600, System/360, VAX, PDP-11 i Motorola

68000.

Procesore sa redukovanim skupom instrukcija, u kojima se instrukcije ne

prevode već su direktno podržane (eng: RISC — Reduced Instruction Set

Computer). Ovakav skup instrukcija je obično „nezgodniji“ za programiranje ali

generalno rezultuje većom brzinom izvršavanja. Povećanje veličine radne

memorije, kao i razvoj kompajlera su doveli do toga da je danas RISC

opšteprihvaćena filozofija u dizajnu mikroprocesora. Čak i moderni Intelovi i

AMD-ovi procesori, iako programeru izgledaju kao CISC mašine, interno razbijaju

CISC instrukcije u nizove internih RISC instrukcija (mikrooperacija) koje se zatim

izvršavaju na superskalarnom jezgru.

Podela na RISC i CISC je opšteprihvaćena ali postoje i neke manje zvanične

podvarijante i kombinacije:

Procesore sa jako redukovanim skupom instrukcija (eng: ERISC — Extremely

Reduced Instruction Set Computer).

Procesore sa "proširenim" redukovanim skupom instrukcija, u kojima se većina

instrukcija ne prevodi već su direktno podržane ali sadrže i kompleksne

instrukcije (eng: ERISC — Extended Reduced Instruction Set Computer).

Ovakav skup instrukcija je i ugodan za programiranje i rezultuje većom brzinom

izvršavanja ali sam procesor postaje značajno kompleksniji. Napomena: ova

kategorizacije nije potpuno zvanična. Jedno vreme su poboljšane verzije CISC

procesora bile približene RISC arhitekturi i bile klasifikovane kao „ERISC“.

3.3 Ostale podele :

-po širini adresne magistrale, magistrale podataka, itd. (recimo, 4004 je 4-bitni procesor, Z80 8-bitni, MC68000 16-bitni itd.)-po tehnologiji izrade i stepenu integracije (za mikroprocesore)-po tome da li imaju zasebne magistrale za programsku memoriju i memoriju za

7

Page 8: Uvod u prograiranje - seminarski -CPU

podatke (pogledajte harvardsku arhitekturu) ili koriste jednu (pogledajte fon Nojmanovu arhitekturu)

4. Radni takt procesora

- clock (oscilator) – generiše impulse odredjene frekvencije.

- CPU je sačinjen od sinhronizovanih elektronskih kola. Kao signal sinhornizacije

koristi se clock signal, u obliku periodičnog pravougaonog talasa.

- period clock signala (radni takt, radni ciklus) bira se na osnovu maksimalnog

vremena (u najgorem slučaju) potrebnog da neka elektronska kola završe svoj

deo zadatka.

- prednost sinhronizacije je u pojednostavljenju dizajna CPU i

smanjenju broja komponenti.

- nedostatak je što svi elementi CPU moraju da čekaju na najsporije delove da

završe svoje operacije. Ovaj nedostatak se ublažuje implementacijama CPU

zasnovanim na različitim tipovima paralelne obrade.

- overklokovanje (overclock) – povećanje radnog takta procesora iznad vrednosti

koje je propisao proizvodjač.

- procesor se više zagreva a može i da radi nekorektno

8

Page 9: Uvod u prograiranje - seminarski -CPU

5. Organizacija procesora

Struktura CPU-a

Glavne strukturne komponente CPU-a su:

- Upravljačka jedinica - upravlja radom CPU-a a shodno tome i radom računara.

- Staza podatka koja obuhvata

* Aritmetičko logičku jedinicu (ALU) - obavlja obradu podataka, tj. izvršava

različite aritmetičke i logičke funkcije.

* Registre - obezbeđuju memorijski medijum unutar CPU-a.

- Interna CPU magistrala - obezbeđuje mehanizam preko koga se ostvaruje

komunikacija između upravljačke jedinice, ALU i registara.

Centralni procesori obično sadrže:

9

Page 10: Uvod u prograiranje - seminarski -CPU

Upravljačku jedinicu (eng: control unit), koja upravlja radom ostalih komponenti,

konkretno operacione jedinice. U ranim danima računarstva se funkcionalnost

upravljačke jedinice mahom realizovala hardverski (ožičena realizacija), dok se

danas tipično koristi mikroprogramska realizacija, gde se rad procesora,

uključujući i njegov set instrukcija, implementira kroz mikroprogram.

Operacionu jedinicu (eng: execution unit), koja tipično sadrži: Aritmetičko-logičku

jedinicu (eng: ALU - Arithmetic logic unit), koja vrši aritmetičke i logičke operacije.

Registre, koji služe za privremeno skladištenje podataka pri izvršavanju

programa (registri opšte namene), kao i za čuvanje informacija o trenutnom

stanju programa koji se izvršava (programski brojač, pokazivač steka, prihvatni

registar instrukcije, programska statusna reč i dr.)

Podsistem za vezivanje sa memorijom i periferijama

Moderniji procesori imaju i jedinice za rad sa brojevima u pokretnom zarezu, brzu

internu memoriju itd. Super-skalarni procesori imaju i po više operacionih

jedinica. što im omogućava da izvršavaju nekoliko instrukcija istovremeno (kada

one nisu međusobno zavisne).

Proizvođači mikroprocesora

Postoji veći broj proizvođača mikroprocesora, a među njima se ističu: AMD, Intel,

MOTOROLA, IBM i Transmeta.

10