1 / 23

Računarstvo i informatika III

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.

devon
Download Presentation

Računarstvo i informatika III

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Računarstvo i informatika III Lekcija09 - Funkcije i organizacija CPU

  2. U ovojlekciji... Šta ćemo učiti • Funkcionalnekomponentecentralnog procesora • Vrste procesorskih registara • Zadaci obradne jedinice • Zadaci upravljačke jedinice

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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)

  11. 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.

  12. 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)

  13. 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

  14. 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

  15. 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

  16. 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

  17. } } 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)

  18. 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

  19. 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)

  20. 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

  21. 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).

  22. 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?

More Related