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
RS09 Organizacija CPU - 1 Matematička gimnazija Beograd
Računarstvo i informatika III
Lekcija 09 - Funkcije i organizacija CPU
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...
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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)
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
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)
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
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).
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?
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