250 likes | 477 Views
Računarstvo i informatika III. Le kcija 1 – Uvod u mikrora č unarske sisteme. Sadržaj predmeta Računarstvo i informatika III. Mikroračunarski sistemi. Arhitektura i organizacija RS. Operativni sistemi. Apstrakcije. Kompjuterski sistemi su primer veoma složenih sistema
E N D
Računarstvo i informatika III Lekcija 1 – Uvod u mikroračunarske sisteme
Sadržaj predmetaRačunarstvo i informatika III Mikroračunarski sistemi Arhitektura i organizacija RS Operativni sistemi
Apstrakcije • Kompjuterski sistemi su primer veoma složenih sistema • Uvek kada radimo sa složenim sistemima pribegavamo apstrakciji -ignorišemo detaljei koncentrišemo se na osnovne sastavne blokove kompjutera • Kompjuter = kolekcija funkcionalnihblokova ili podsistema • Svaki podsistem mora da obezbedi: • Obradu instrukcija • Pamćenje informacija • Prenos podataka • Ulaz/Izlaz • Organizacija računara: deocomputer sciencekoji proučava računare na ovom nivou apstrakcije
Komponente računarskog sistema 1.Hardver – osnovni kompjuterski resursi (CPU, memorija, I/O uređaji). • Operativni sistem – kontroliše i usklađuje korišćenje hardvera. Hardver mogu da koriste razni aplikativni programii različiti korisnici. • Aplikativni programi – definišu kako se sistemski resursi koriste zarešavanjezadataka korisnika. • Korisnici (ljudi, mašine, drugikompjuteri).
Ljudi Programskiinterfejs Korisnički programi Interfejs OS Operativni sistem Hardverskiinterfejs/ Privilegovane Instrukcije Disk/Trake /Memorija Apstrakcija računarskog sistema - Slojevi
Apstrakcije Nivoi i hijerarhija apstrakcija • Svi podsistemi koje ćemo proučavati sagrađeni su od logičkih elemenata • Ali za nas će logički elementi biti nevidljivi • pri proučavanju računarskih sistema koriste se različiti nivoi apstrakcije • Metodički pristupza rad sa apstrakcijom: • Sistem S (kompjuter) sastoji se od više primitivnihkomponenti S = {c1…..cN} • Grupisanjekomponenti baziranona njihovoj funkcionalnosti proizvodi sistem S = {A, B, C, …} sa manjimbrojemkomponenti • Na najvišem nivou apstrakcije tretiramo sistem kao crnu kutiju • Hijerarhija apstrakcija
Apstrakcije Apstrakcije na low-level hardverskom nivou • Tako imamo sledeće apstrakcije • logički element (gate) AND = 2 redno povezana tranzistora • Jednobitni sabirač (1-ADD Circuit) = Logička mreža koja se sastoji od 25 NOT, AND i OR logičkih elementa • Tranzistori: primitivne komponente od kojih se grade logički elementi • Logički elementi (Gates): sledeći nivo apstrakcije • Logičke mreže (Circuits): viši nivo apstrakcije
Application Operating System Compiler Firmware Instruction Set Architecture Instr. Set Proc. I/O system Datapath & Control Digital Design Circuit Design Layout Apstrakcije Hijerarhija slojevaarhitekturekompjutera Viši programski jezici Programina simboličkom (asemblerskom) jeziku Softver Programina mašinskom jeziku Softversko/hardverska granica Hardver Mikroprogrami Jezik registarskog prenosa -Register TransferNotation (RTN) Logički dijagrami Circuit Diagrams
lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) Program u VPJ Programu asembleru Mašinskiprogram Specifikacija kontrolnih signala Apstrakcije Nivoiprogramskereprezentacije temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; Compiler Assembler 0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111 Mašinska interpretacija ALUOP[0:3] <= InstReg[9:11] & MASK Jezik registrarskog prenosa
Nivo NazivModuliPrimitiviDeskriptivni medijumi 1ElektronikaGejtovi, Flip-flopovi…Tranzistori, Otpornici ... Jezik za digitalno projektovanje 2 Logika Registri, ALU-ovi ... Gejtovi, Flip-flopovi … Logičkidijagrami 3 Organizacija Procesori, Memorije Registri, ALU-ovi … Jezik registarskog prenosa 4 Mikroprogramiranje Asemblerski jezikMikroinstrukcijeMikroprogramski jezik 5 Asemblersko programiranje OS rutine ASM instrukcije Asemblerski jezik 6 Proceduralno programiranje Aplikacije OS rutine Viši programski jezikDrajveri .. Viši programski jezici 7 AplikacijeSistemi Proceduralne Problem-Orijentisani konstrukcije jezik Low Level - Hardware High Level - Software Apstrakcije Hijerarhijaprojektovanja kompjutera Firmware
Opis hardvera • Vizualizacija hardvera: • Blok dijagrami (prostorna vizualizacija): • Dvodimenzionalna reprezentacija funkcionalnih blokova i njihove veze. • Vremenski dijagrami (vremenska vizualizacija): • Sinusoidakoja prikazuje događaje u zavisnosti od vremena. • Jezik registarskog prenosa (Register Transfer Notation -RTN): • “Skraćena” notacijaza mikrooperacije. Opisuje kompjuterske operacije u terminima registara i transfera podataka među njima. • Takođe opisuje uslovne informacije u sistemukoje uzrokuju da se neka operacija izvrši. • Jezici za opis hardvera: • Jezici koji se koriste za lakše opisivanje i rukovanje digitalnim sistemima i za njihovo povezivanje. • Primeri: VHDL: VHSIC (Very High Speed Integrated Circuits) Hardware Description Language, Verilog.
Arhitektura kompjutera: Organizacija kompjutera • TerminArhitektura kompjutera seponekad pogrešno sužavanaprojektovanje skupa instrukcija, dok se drugi aspektiprojektovanja kompjutera nazivaju implementacija. • Preciznija definicija: • Arhitektura skupa instrukcija: Skup instrukcija vidljiv programeru koji služi kao granica između softvera i hardvera. • Implementacija mašine imadve komponente: • Organizacija: uključuje aspektevišeg nivoa projektovanja kompjuterakao što su: memorijski sistem, struktura magistrala (bus-ova), interni CPU blokkoji uključuje implementaciju aritmetičkih i logičkih operacija, kao i operacija grananja i prenošenja podataka. • Hardver: ukazuje na specifičnosti mašine kao što su npr. detalji logičkogprojektovanjai tehnologije pakovanja. • U širem smislu, pod arhitekturom kompjuterapodrazumevamo: 1- Arhitekturu skupa instrukcija 2- Organizaciju 3- Hardver
Arhitektura skupa instrukcija(Instruction Set Architecture - ISA) • “... the attributes of a [computing] system as seen by the programmer, i.e. the conceptual structure and functional behavior, as distinct from the organization of the data flows and controls the logic design, and the physical implementation.” – Amdahl, Blaaw, and Brooks, 1964. • Arhitekturaskupa instrukcija: • Organizacija programabilnih memorija (memorijai procesorski registri): • Količina adresive memorije • Broj raspoloživih registara • Tipovi podatakaistrukture podataka: kodiranjei registrovanje. • Skup instrukcija: sve raspoložive instrukcije. • Formati i dekodiranje instrukcija. • Načini adresiranja i pristupanja podacima i instrukcijama. • Uslovi za izuzetke.
Skup instrukcija • Nezavisno od tipa kompjutera, strukture centralnog procesa i hardverske organizacije, svaka mašinska instrukcija mora da specifikuje sledeće: • Opcod: Koju operaciju treba izvršiti. Primer: add, load,... • Gde se nalazi operand (argument) ili operandi ako ih je više: u CPU registrima,operativnoj memoriji, na I/O (ulazno/izlaznim) portovima. • Gde treba smestiti rezultat, ako operacija proizvodi rezultat: može se eksplicitno navesti ili se implicitnopodrazumeva iz opcoda. • Gde se nalazi sledeća instrukcija: Ako nije u pitanju instrukcija predaje upravljanja (grananja, bezuslovni skokovi,...) sledeća se izvršava instrukcija smeštena neposredno iza tekuće u OM, inače adresu sledeće instrukcije specifikuje instrukcija predaje upravljanja.
U ovojlekciji... Šta ćemo učiti • Algoritmi • se izvršavaju na kompjuterima • opisuju logičku struktururešenja datog problema • problem-orijentisani su • Do sada (u prva dva razreda) nismo učili kako kompjuteri izvršavaju algoritme. To je zadatak predmeta Računarstvo i informatika u trećem razredu! • Treba da upoznamo sastav kompjuterskih sistema • Mikroračunarski sistemi • Zatim ćemo se upoznati sa načinom izvršavanja programa • Arhitektura i organizacija računarskih sistema • Operativni sistemi
Implementacija algoritama Postoje tri metode za implementaciju algoritama • Programska (software) • Mikroprogramska (firmware) • Hardverska (hardware)
Implementacijaalgoritama Programska ADD X,YSaberi dva broja sa memorijskih lokacija na adresamaX i Y, i upiši rezultat u AC. MBR + AC Memorija Load X Prenesi sadržaj memorijske lokacije X u MBR i zatim u AC ADD Y Prenesi sadržaj memorijske lokacije Y u MBR, saberi ga sa sadržajem AC i upiši rezultat u AC
Logička kola za Kontrolne signale Implementacija algoritama Mikroprogramska A C G D MAR MBR AC + F E Memorija B Prenesi sadržaj mem. lokacije X u MBR F,G Prenesi je u ALU A Provedi kroz ALU(bez sabiranja) D Prenesi rezultat u AC B Prenesi sadržaj mem. lokacijeYu MBR F,G Pošaljisadržaje MBR i AC u ALU i + A, C, E Upiši rezultat u AC B
Implementacija algoritama Hardverska A C D MBR + AC F E Memorija B t0 Pošalji kontrolni signal read memoriji sa adresom X i otvori gejtF da je upamtiš u MBR t1 Pošaljikontrolne signaledo D da preneseš podatak kroz ALU, i do B da ga upamtiš u AC t2 Pošalji kontrolni signal read memoriji sa adresomY i otvori gejt F da je upamtiš u MBR t3 Pošalji kontrolne signaledo A i C. Takođe pošalji kontrolni signal do E za sabiranje i do B za memorisanje rezultata.
SoftverskaFirmverskaHardverska Implementacija algoritama Poređenje metoda implementacije Brzinasporasrednja velika Cenamalasrednja velika Modifikacijajeftinasrednja skupa Proširivostlakasrednja teška
Karakteristike procedura • Procedure koje se nikad ne menjaju jednom se implementiraju • Aplikativneprocedure za većinu mašina • Hardverska implementacijaje superiorna, specijalno za jednostavne procedure • Prednost je brzina izvršavanja • Procedure koje se često menjaju • Aplikativneprocedure za kompjutere • Softverski, često je firmverska implementacijabolja • Prednosti su fleksibilnost i manja cena implementacije • Operativneprocedure • Kompjuter ima operativnu proceduru koja obično upravlja raznim mašinskim resursima i nadgleda rad kompjutera • Ona se naziva OPERATIVNI SISTEM ili jednostavno OS
Pitanja i zadaci • Na koje se načine mogu implementirati alogoritmi? • Uporedite metode imlementacije algoritama. • Koje su dve osnovne vrste procedura koje se realizuju na kompjuterima i kako se obično implementiraju? • Kako se princip apstrakcije koristi u proučavanju kompjutera? • Navedite nivoe apstrakcije u projektovanju kompjutera? • Kako se opisuje hardver računara na najnižem nivou? • Koji su nivoi programske reprezentacije? • Kakav odnos postoji između arhitekture i organizacije kompjutera? • Šta podrazmevamo pod arhitekturom skupa instrukcija? • Na šta treba sa ukazuje mašinska instrukcija?