23
RS09 Organizacija CPU - 1 Matematička gimnazija Beograd Računarstvo i informatika III Lekcija 09 - Funkcije i organizacija CPU

Računarstvo i informatika III

  • Upload
    devon

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

Računarstvo i informatika III. Le kcija 09 - Funkcije i organizacija CPU. U ovoj lekciji. Šta ćemo učiti. Fun kc ional ne k omponent e centralnog procesora Vrste procesorskih registara Zadaci obradne jedinice Zadaci upravljačke jedinice. Registri i flegovi - interna memorija procesora. - PowerPoint PPT Presentation

Citation preview

Page 1: Računarstvo i informatika III

RS09 Organizacija CPU - 1 Matematička gimnazija Beograd

Računarstvo i informatika III

Lekcija 09 - Funkcije i organizacija CPU

Page 2: Računarstvo i informatika III

RS09 Organizacija CPU - 2 Matematička gimnazija Beograd

Šta ćemo učiti

° Funkcionalne komponente centralnog procesora

° Vrste procesorskih registara

° Zadaci obradne jedinice

° Zadaci upravljačke jedinice

U ovoj lekciji...U ovoj lekciji...

Page 3: Računarstvo i informatika III

RS09 Organizacija CPU - 3 Matematička gimnazija Beograd

Registri i flegovi - interna memorija procesora

Karakteristike• Brži od memorije i keša

- U istom čipu u kome su i ostale komponente CPU- Pristup (upis ili čitanje registra) brzinom pristupa ostalim gejtovima

• Skup registara je fizički mali- Moderni komjputeri imaju sve više registara

• 32, 64, 128, …ovaj broj raste• Ipak nema dovoljno prostora za memorisanje svih informacija

koje su procesoru potrebne

• Kraće adrese nego kod glavne memorije- Mali broj registara- Brzo dekodiranje adresa

Page 4: Računarstvo i informatika III

RS09 Organizacija CPU - 4 Matematička gimnazija Beograd

Registri

° Najbrža memorija u kompjuterskom sistemu• Skupa memorija

- Ne može je biti onoliko koliko želite- Adrese registara su kraće od memorijskih adresa, pa su kodovi

instrukcija koje koriste procesorske registre kraći• Nalazi se u CPU

- Pristup brzinom pristupa gejtovima (logičkim elementima) • Privremena memorija

- Izbegava se pristupanje memoriji za čuvanje međurezultata• Različite procedure koriste iste registre

- Sadržaji registara treba da budu sačuvani u memoriji i vraćeni iz memorije kada se izvršavanje prebaci iz jedne procedure u drugu

– Potreba za kontekstnim prebacivanjem (Context Switch)– Vreme kontekstnog prebacivanja zavisi od veličine konteksta, tj. Od

broja registara i flegova

Page 5: Računarstvo i informatika III

RS09 Organizacija CPU - 5 Matematička gimnazija Beograd

Memorija : Registri

° Memorija - Čuva programe i podatke koji treba da rade Registri - Čuvaju argumente instrukcije koja se izvršava - Čuvaju rezultat izvršene instrukcije

° Gde šalju svoje informacije na trajno čuvanje: Memorija - u spoljašnju memoriju Registri - u glavnu memoriju, (a ona zatim u spoljašnju)

° Pristup ° Memoriji - Adresa, reprezentuje se obično velikim brojem bitova (npr. 32)

Registrima – Broj registra, mnogo manji broj bitova nego za mem. adresu

° Brzina

Memorija – Vreme pristupa

Registri – Kašnjenja gejtova u CPU

Page 6: Računarstvo i informatika III

RS09 Organizacija CPU - 6 Matematička gimnazija Beograd

Registri

° Registri opšte namene• Akumulatori• Indeks registri• Pokazivači segmenata• Pokazivači steka

° Specijalizovani registri • Registar naredbe• Adresni registar memorije• Prihvatni registar memorije• Brojač naredbi• Kontrolni registri• Statusni registar - Registar

stanja procesora RSP

Page 7: Računarstvo i informatika III

RS09 Organizacija CPU - 7 Matematička gimnazija Beograd

AC mašine – akumulatorske mašine

° Postoji samo jedan data registar koji se naziva akumulator AC

° AC se smatra delom ALU• ALU kombinatorna logička mreža (bez memorijskih elemenata), pa nema

memorije za čuvanje argumenata• Jedan od argumentaje uvek u AC• Rezultat operacije se uvek memoriše u AC, ali takođe može da se upiše i u

privremeni (temporary) registar (T)

° Podrazumeva se da je adresa argumenta AC, pa se ne navodi u instrukciji• Dužina instrukcije se smanjuje

° Česti pristupi memoriji korišćenjem Load (LDA) i Store (STA) instrukcija

ALUDrugi

ne-dataregistri

AC

Page 8: Računarstvo i informatika III

RS09 Organizacija CPU - 8 Matematička gimnazija Beograd

GPR mašine – mašine sa registrima opšte namene

° Bilo koji broj registara u GPR mašinama može biti korišćen kao data registri

• ALU nema memoriju za čuvanje argumenata, ali GPR je obezbeđuju• Učestalost korišćenja Load/Store instrukcija je mala

° Argumenti se uzimaju iz GPR i rezultat se upisuje u GPR

° Adresa argumenta (u GPR) je kraća od memorijske adrese• Instrukcije imaju malu dužinu

° Učestalost pristupanja meoriji može da bude mala, ali podaci moraju da budu napunjeni u registre pre korišćenja

ALUGeneralPurposeRegisters

Page 9: Računarstvo i informatika III

RS09 Organizacija CPU - 9 Matematička gimnazija Beograd

Stek mašine

° Samo registri u steku koriste se kao data registri• Load (PUSH) / Store (POP) instrukcije koriste se za punjenje i pražnjenje steka

° Argumenti se uzimaju sa steka i rezultat operacije se ostavlja na steku

° Adresa argumenta može da se izostavi - instrukcije su kratke

° Učestalost pristupanja meoriji može da bude mala, ali podaci moraju da budu napunjeni u stek pre korišćenja

ALUGeneralPurposeRegisters

Stack

Iz memorije

U memoriju

Page 10: Računarstvo i informatika III

RS09 Organizacija CPU - 10 Matematička gimnazija Beograd

Adresni registri

° Registri opšte namene (GPR)

° Specijalizovani adresni registriNeki od navedenih registara mogu se koristiti i kao registri opšte nameneNeki su specijalizovani za određene načine adresiranja• Brojač naredbi - Program Counter (PC)• Indeksni registar - Index Register (IX)• Bazni registar - Base Address Register (BAR)• Stek pokazivač - Stack Pointer (SP)• Stranični registar - Page Address Register (P)• Segmentni registar - Segment Address Register (S)

Page 11: Računarstvo i informatika III

RS09 Organizacija CPU - 11 Matematička gimnazija Beograd

Indeksni registri

100101102103104

. . .

148149

A0

A1

A2

A3

A4

A148

A149

149

A = Ai korišćenjem ADD X, tako što AC AC + M[X] i=0

Po izlasku iz petlje

ADD X instrukcija se menja u ADD (X+149).Nepouzdan program.

ADD 100 instrukcija se ne menja. Menja se indeksni registar.

AC 0LOOP ADD 100(IX)

if IX GE 49, then end(INC IX) JMP LOOP

AC 0X 100

LOOP ADD Xif X GE 149, then endINC XJMP LOOP

Page 12: Računarstvo i informatika III

RS09 Organizacija CPU - 12 Matematička gimnazija Beograd

Bazni adresni registri

Relokacija

500501502503504

…500+X .

548549

A0

A1

A2

A3

A4

AX

A148

A149

BAR

Base + DisplacementAdresiranje ostvarujerelokaciju veoma lako Operacija relokacije

1. Menja sadržaj BAR 2. Instrukcija se ne menja

ADD X(BAR)

100101102103104

…100+X .

148149

A0

A1

A2

A3

A4

AX

A148

A149

BAR

ADD X(BAR)

+X

[BAR]

100 500

Page 13: Računarstvo i informatika III

RS09 Organizacija CPU - 13 Matematička gimnazija Beograd

Page/Segment adresni registri

° Stranica (Page)• Fiksan broj uzastopnih memorijskih reči• Fizička celina

° Segment• Promenljiv broj uzastopnih memorijskih reči• Logička celina

Page/Segment adresiranje u osnovi je relativno adresiranje.

Slično realizaciji Base Address + Displacement, ali se BAR zamenjuje sa P/S.

Page Address register + Displacement u okviru stranice

Segment Address register + Displacement u okviru segmenta

Page 14: Računarstvo i informatika III

RS09 Organizacija CPU - 14 Matematička gimnazija Beograd

Kontrolni i statusni registri

° Registri za upravljanje operacijama CPU - Control Unit

° Registri za upravljanje izvršavanjem programa - Privilegija OS

PCIRMARMBR

Koriste se prenošenjeinformacija izmeđuCPU i memorije

PCSignZeroCarryOverflowInterrupt EnableInterrupt RequestUser/Supervisor

PSW: Program Status Word

Pointer na PCB (Process Control Block) u glavnoj memoriji za dodatne statusne informacijeInterrupt Vector RegistereSystem Stack PointerPage table Pointer

PSW može takođe da sadrži

Page 15: Računarstvo i informatika III

RS09 Organizacija CPU - 15 Matematička gimnazija Beograd

PSW: Program Status Word

Stanje sekvencijalne logičke mreže => Status F/Fs(Reg) u mreži

Kada instrukcija počne da se izvršava, neki od registara i flegova menjaju svoj sadržaj => Tako se menja stanje CPU

Program Status Word(PSW)

PSW reprezentuje stanje programa koji se izvršava

PC: Reprezentuje dokle je program uznapredovao• Registri: Sve informacije koje aktivni program čuvs u registrima• Uslovi: Rezultati aritmetičkih operacija

- O, C, Z, S, itd.• Druge informacije potrebne za kontrolu izvršavanja program

Page 16: Računarstvo i informatika III

RS09 Organizacija CPU - 16 Matematička gimnazija Beograd

Primer CPU sa registrima opšte namene - Z8000

° 16-bitna mašina sa registrima opšte name• R0 ~ R15• Koriste se za podatke, adrese i indeksiranje• R14 (system mode) i R15 (normal mode) - SP• Registri se mogu koristiti za 8-bit ~32-bit operacije

° Segmentirani adresni prostor• 7-bitova za adresu segmenta i 16-bitova za offset - 2 registra za svaku adresu

° Statusni registri programa• PC segment i PC offset• Program Status Area (PSA-memorija) segment i PSA offset• Flag Control Word - Statusni i kontrolni bitovi

Page 17: Računarstvo i informatika III

RS09 Organizacija CPU - 17 Matematička gimnazija Beograd

Primer CPU sa specijalizovanim registrima - Intel 8086

° 4 x 16-bitnih Data registara• Mogu se koristiti kao par zasebno adresibilnih bajtova ili kao 16-bitna reč• Mogu se koristiti kao registri opšte namene• U nekim instrukcijama podrazumeva se da imaju specijalizovanu ulogu i ne

navode se ekspelicitno: AX (AC), BX (Base Address), CX (counter), DX (Data)

}Offset

} Baza segmenta

}Adresni registri

• 4 x 16-bitnih Pokazivača i indeksnih registaraSP: Stack PointerBP: Base PointerSI: Source IndexDI: Destination Index

• 4 x 16-bitnih Segmentnih registaraCS: CodeDS DataSS: StackES: Extra

• 16-bitni IP (Instruction Pointer)• 16-bitni Fleg registar (skup 1-bitnih flegova)

Page 18: Računarstvo i informatika III

RS09 Organizacija CPU - 18 Matematička gimnazija Beograd

Primer CPU sa oba tipa registara - MC68000

° Data registri• 8 registara

- D0 ~ D7

° Adresni registri• 9 registara

- A0 ~ A7, A7’– A7: User SP– A7’: Supervisor SP

° Statusni registri programa• Program Counter (32-bitni)• 16-bitni Status Registar

Interne i eksterne magistrale i ALU su 16-bitni, Registri su 32-bitni (po dva povezana16-bitna)

Ovo je GPR mašina; Razdvajanjem data i adresnih registara štedi se 1 bit u svakom navođenju adrese registra

Page 19: Računarstvo i informatika III

RS09 Organizacija CPU - 19 Matematička gimnazija Beograd

Obradni organ - ALU

° Deo procesora u kome se izvode aritmetičke i logičke operacije

° Prima podatke i vraća rezultate preko registara

° Šalje informacije o statusu rezultata u registar stanja procesora (PSW)

° Kod savremenih procesora implementira se kroz više specijalizovanih jedinica obrade

• FX ALU - FiXed point ALU (operacije nad brojevima u fiksnom zarezu - celim i BCD i logičke operacije)

• FP ALU - Floating point ALU (operacije nad brojevima u pokretnom zarezu, MMX instrukcije, ...)

• LSU - Load/Store Unit (čita/upisuje podatke u L1 keš za podatke, poravnava, konvertuje, normalizuje podatke)

Page 20: Računarstvo i informatika III

RS09 Organizacija CPU - 20 Matematička gimnazija Beograd

Upravljačka jedinica

• Obrađuje i interpretira naredbe • Donosi naredbe iz memorije• Utvrđuje šta treba raditi (dekodira)• Donosi argumente• Zadaje konkretne elementarne operacije • Smešta rezultat

• Prima spoljašnje upravljačke signale• od operatera ili uređaja za koje se vrši obrada podataka

• Generiše upravljačke signale • Tako upravlja radom procesora i svih ostalih uređaja u računarskom

sistemu

Page 21: Računarstvo i informatika III

RS09 Organizacija CPU - 21 Matematička gimnazija Beograd

Upravljački signali

Omogućavaju elementarnu obradu (izmenu sadržaja nekih registara u upravljačkom organu ili drugim delovima računara)

° Proizvodi ih upravljački organ na osnovu • interpretacije značenja naredbe • stanja stvorenih u samom računaru • nekih spoljašnjih upravljačkih signala

° Mogu biti sinhronizacioni i funkcijski• Sinhronizacioni signali služe za definisanje mikrociklusa u kojima se

izvršavaju mikroradnje. Generiše ih sinhronizacioni sistem. • Funkcijski signali se definišu pomoću prekidačkih funkcija

- (od sinhronizacionih signala i izlaznih signala registara unutar upravljačkog i drugih organa računara).

Page 22: Računarstvo i informatika III

RS09 Organizacija CPU - 22 Matematička gimnazija Beograd

Pitanja i zadaci

1. Iz kojih se logičkih celina sastoji centralni procesor?2. Šta karakteriše procesorske registre?3. Uporedite procesorske i memorijske registre.4. Šta odlikuje akumulatorske, mašine sa registima opšte namene i

stek mašine?5. Vrste i namena adresnih registara.6. Šta omogućavaju indeksni, a šta bazni registri?7. Čemu služe kontrolni i statusni registri?8. Navedite zadatke obradne jedinice.9. Navedite zadatke upravljačke jedinice.10. Šta su upravljački signali, koji deo procesora ih proizvodi i na

osnovu čega?

Page 23: Računarstvo i informatika III

RS09 Organizacija CPU - 23 Matematička gimnazija Beograd

Pogled unapred

Arhitektura i organizacija RS

Modul 7: Funkcije i organizacija OM

Modul 8: Organizacija I/O sistema i spoljašnje memorije

Modul 11:Hipotetički procesori x86

Modul 10: Arhitektura skupa instrukcija

Modul 9: Funkcije i organizacija CPU

Operativni sistemi