240 likes | 468 Views
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.
E N D
Računarstvo i informatika III Lekcija09 - Funkcije i organizacija CPU
U ovojlekciji... Šta ćemo učiti • Funkcionalnekomponentecentralnog procesora • Vrste procesorskih registara • Zadaci obradne jedinice • Zadaci upravljačke jedinice
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 • Modernikomjputeri imaju sve više registara • 32, 64, 128, …ovaj broj raste • Ipak nema dovoljno prostora za memorisanje svih informacija koje suprocesoru potrebne • Kraće adrese nego kod glavne memorije • Mali broj registara • Brzo dekodiranje adresa
Registri • Najbrža memorija u kompjuterskom sistemu • Skupa memorija • Ne može je biti onoliko koliko želite • Adreseregistara 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 registaratreba da budu sačuvani u memorijii 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 registarai flegova
Memorija : Registri • Memorija - Čuva programe i podatke koji treba da radeRegistri -Č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 gejtovau CPU
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
AC Drugi ne-data registri ALU 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
ALU General Purpose Registers GPR mašine – mašine sa registrima opšte namene • Bilo koji broj registarau GPR mašinama može biti korišćen kao data registri • ALU nema memorijuza č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
Iz memorije General Purpose Registers ALU Stack U memoriju Stek mašine • Samo registriu 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
Adresni registri • Registri opšte namene (GPR) • Specijalizovani adresniregistri Neki od navedenih registara mogu se koristiti i kao registri opšte namene Neki 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)
149 A = S Ai korišćenjem ADD X, tako što AC AC + M[X] i=0 100 101 102 103 104 . . . 148 149 A0 A1 A2 A3 A4 A148 A149 AC 0 X 100 LOOP ADD X if X GE 149, then end INC X JMP LOOP AC 0 LOOP ADD 100(IX) if IX GE 49, then end (INC IX) JMP LOOP Po izlasku iz petlje Indeksniregistri ADD X instrukcija se menjauADD (X+149). Nepouzdan program. ADD 100instrukcija se ne menja. Menja se indeksni registar.
BAR BAR 500 ADD X(BAR) [BAR] 100 101 102 103 104 … 100+X . 148 149 A0 A1 A2 A3 A4 AX A148 A149 A0 A1 A2 A3 A4 AX A148 A149 500 501 502 503 504 … 500+X . 548 549 X + Relokacija Bazniadresni registri 100 Base + Displacement Adresiranje ostvaruje relokaciju veoma lako Operacija relokacije 1. Menja sadržaj BAR 2. Instrukcija se ne menja ADD X(BAR)
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čnorealizaciji Base Address + Displacement, ali se BAR zamenjuje sa P/S. Page Address register + Displacementu okviru stranice Segment Address register + Displacementu okviru segmenta
PC Sign Zero Carry Overflow Interrupt Enable Interrupt Request User/Supervisor PC IR MAR MBR PSW: Program Status Word Koriste se prenošenjeinformacija između CPU imemorije Kontrolni i statusniregistri • Registriza upravljanje operacijama CPU - Control Unit • Registriza upravljanje izvršavanjem programa - Privilegija OS PSW može takođe da sadrži Pointer na PCB(Process Control Block) u glavnoj memoriji za dodatne statusne informacije Interrupt Vector Registere System Stack Pointer Page table Pointer
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 registarai flegovamenjaju svoj sadržaj => Tako se menja stanje CPU Program Status Word(PSW) PSW reprezentuje stanjeprograma koji se izvršava PC: Reprezentuje dokle je program uznapredovao • Registri: Sve informacije koje aktivni program čuvs u registrima • Uslovi: Rezultati aritmetičkihoperacija • O, C, Z, S, itd. • Druge informacije potrebne za kontroluizvršavanja program
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 • Registrise mogu koristiti za 8-bit ~32-bit operacije • Segmentirani adresni prostor • 7-bitova za adresu segmenta i 16-bitova za offset - 2 registraza 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
} } Offset Adresniregistri } Baza segmenta Primer CPU sa specijalizovanim registrima - Intel 8086 • 4 x 16-bitnihData registara • Mogu se koristiti kao par zasebno adresibilnih bajtova ili kao 16-bitnareč • 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) • 4 x 16-bitnih Pokazivačai indeksnih registara • SP: Stack Pointer • BP: Base Pointer • SI: Source Index • DI: Destination Index • 4 x 16-bitnihSegmentnihregistara • CS: Code • DS Data • SS: Stack • ES: Extra • 16-bitniIP (Instruction Pointer) • 16-bitni Fleg registar (skup 1-bitnih flegova)
Primer CPU sa oba tipa registara - MC68000 • Data registri • 8 registara • D0 ~ D7 • Adresniregistri • 9 registara • A0 ~ A7, A7’ • A7: User SP • A7’: Supervisor SP • Statusni registri programa • Program Counter (32-bitni) • 16-bitni Status Registar Interne i eksternemagistrale i ALU su 16-bitni, Registrisu 32-bitni(po dva povezana16-bitna) Ovo je GPR mašina; Razdvajanjem data i adresnihregistara štedi se 1 bit u svakom navođenju adrese registra
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)
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
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 signalaregistara unutar upravljačkog i drugih organa računara).
Pitanja i zadaci • Iz kojih se logičkih celina sastoji centralni procesor? • Šta karakteriše procesorske registre? • Uporedite procesorske i memorijske registre. • Šta odlikuje akumulatorske, mašine sa registima opšte namene i stek mašine? • Vrste i namena adresnih registara. • Šta omogućavaju indeksni, a šta bazni registri? • Čemu služe kontrolni i statusni registri? • Navedite zadatke obradne jedinice. • Navedite zadatke upravljačke jedinice. • Šta su upravljački signali, koji deo procesora ih proizvodi i na osnovu čega?