Cilj predmeta Spoznati osnove delovanja in uporabe mikrokrmilniških vgradnih sistemov na primeru HCS12 in deloma AVR Spoznati nekatera osnovna načela naprednejših mikroprocesorksih sistemov z arhitekturnega stališča
Vgradni sistemi Vgradni sistemi: Sistemi (deli sistemov, naprav, komponent) temelječi na računalniških tehnologijah, ki navzven niso videti kot računalnik.
Mikrokrmilniki Mikrokrmilniki: vse zmogljivejši visoko integrirani, samostojno delujoči mikroračunalniški sistemi: (mikro)procesor, pomnilnik, v/i vmesniki in krmilniki.
Mikroprocesorji Napredni mikroprocesorji, vse hitrejše, zmoglivejše CPE računalnikov.
Primeri Inteligentne kamere, hišna, industrijska avtomatizacija, avtomobilska elektronika, medicinska elektronika, robotika, komunikacije, …
Iz vsebine Uvod Zgradba in delovanje računalnika Mikrokrmilnik HCS12: zgradba, CPE Mikrokrmilnik HCS12: zbirni jezik HCS12: Sklad, podprogrami, prekinitve, V/I HCS12: SCI - serijski komunikacijski vmesnik HCS12: Časovnik, A/D pretvornik, CAN HCS12: Programski jezik C Mikrokrmilnik AT90S8515 AVR RISC procesor AT90S8515
Iz vsebine Navidezni pomnilnik Predpomnilnik Cevovodi Prekinitveni sistemi, obdelava izjem Realni čas, OS, ... Izpit: pisni (“praksa”) + ustni (“teorija”) Predpogoj: opravljene lab. vaje (HCS12) Ali namesto pisnega izpita: doma Atmel AVR (STK, ICE, AvrStudio) ali poljuben mikrokrmilnik
Literatura Študijsko gradivo, na domači strani predmeta http://vision.fe.uni-lj/classes/GSPV Knjige: veliko tujih in nekaj domačih (bomo navedli ob primernem času) Dokumentacija proizvajalcev http://www.freescale.com http://www.atmel.com Drugi viri na spletu
Uvod – nekaj iz zgodovine Obdobje mehanike 17. – 18. Stoletje Obdobje elektromehanike Konec 19., začetek 20. Stoletja Obdobje elektronike 20. stoletje ->
Uvod – obdobje mehanike Stroji, ki znajo nekatere osnovne računske operacije, z malo ali nič možnosti za “programiranje”, t.i. “kalkulatorji” Wilchelm Schickard (1592-1635): (+,-,*) Blaise Pascal (1623 – 1662): (+,-) Gotfried Leibniz (1646-1716): (*,-,*,/) Charles Babbage (1792-1871) Diferenčni stroj (1823): avtomatsko izvajanje zaporedja operacij Analitični stroj (1834): možnost krmiljenja zaporedja operacij
Uvod – obdobje mehanike Analitični stroj: delovanje vodi program, predviden za reševanje splošnih problemov, krmiljenje zaporedja operacij Podatkovne kartice Mlin Pomnilnik Tiskalnik luknjalnik Ukazi Podatki Ukazne “Program”
Uvod–obdobje elektromehanike To je obdobje relejev in motorjev Herman Hollerith (1860 – 1929): števne, sortirne in tabelirne naprave na osnovi luknjanih kartic 1924: IBM Konrad Zuse (1910 – 1995): Z1, Z2, Z3, Prvi uporabi binarno predstavitev in aritmetiko s plavajočo vejico Z3 – 1941: prvi programljiv računalnik za splošne namene
Uvod–obdobje elektromehanike Z3:~ 2600 telefonskih relejev Trak (ukazi) Tipkovnica (podatki) CPE Pomnilnik (64 x 22) Ukazi Podatki Žarnice prikaz “Program” Ni obvladal programskih “skokov”
Uvod–obdobje elektromehanike Howard Aiken (1900 – 1973) na Harvardu MARK I, 1939-43: podpora IBM (Thomas Watson) Trak (ukazi) Kartice (podatki) MARK I Pomnilnik (72 x 23) Podatki Ukazi “Program” Tiskalnik Luknjalnik 15 m dolg, 2 m visok in širok, desetiški sistem, ni poznal pogojnih skokov, v uporabi do 1959
Uvod – obdobje elektronike ENIAC 1946: John Mauchly, Presper Eckert, John von Neumann - svetovalec, Moore School of EE, Penn Stikala Povezave Kartice (podatki) CPE Pomnilnik (20 x 10) Podatki Ukazi Program Tiskalnik Luknjalnik Prvi elektronski računalnik za splošne namene, 18000 elektronk, 200 kW, 300 t, 5000 +-/s, 6000 stikal za programiranje. Prvič se uporabi izraz programiranje.
Uvod – obdobje elektronike EDVAC 1951, John von Neumann, Princeton University računalnik s shranjenim programom 1024 x 16 bitnih besed ni imel programskega števca ni imel programsko dostopnih registrov dostop do ukazov in podatkov je hiter možnost krmiljenja programa (skoki) enotno obravnavanje programov in podatkov EDSAC 1949, Maurice Wilkes
Uvod – obdobje elektronike IAS računalnik 1952, John von Neumann Institute for Advanced Study, Princeton University 4096 x 40 bitnih besed ena beseda – dva ukaza prvič je uporabljen programski števec procesna enota več hitrih registrov, od tega dva programsko dostopna registra EDVAC, EDSAC, IAS: predhodniki vseh današnjih računalnikov za splošne namene
Uvod–von Neumannov računalnik Računalniki zgrajeni po zamisli von Neumanna CPE: centralna procesna enota, procesor Kontrolna enota (KE) Aritmetično logična enota (ALE) Registri Pomnilnik: za uzkaze in podatke (operande) V/I enote Sistem povezav oziroma vodil V/I CPE Pom.
Uvod-von Neumannov računalnik Danes je izraz von Neumannov tip računalnika (von Neumannova arhitektura) sinonim za sekvenčni računalnik (SISD): delovanje vodi (popolnoma določa) program zaporedno izvajanje ukazov (ali pa je vsaj videti tako) glavni pomnilnik vsebuje ukaze in podatke obstaja ena pot med CPE in pomnilnikom (ali pa je vsaj videti tako) SISD: Single Instruction Single Data stream
Uvod–sekvenčni/vzporedni rač. SISD: Single Instrustion Single Data stream SIMD: Single Instrustion Multiple Data stream MISD: Multiple instruction Single Data stream MIMD: Multiple Instruction Multiple Data stream SISD SIMD MISD MIMD P M D ... I I I I P M D ... I I P P P ... P D D M M Sekvenčni računalnik Vzporedni računalniki
Uvod-Harvardski/Princetonski Harvardski tip računalnika (Harvardska arhitektura) Ločena pomnilnika za ukaze in podatke Ukazi CPE Podatki Princetonski tip računalnika (Princetonska arhitektura) Skupen pomnilnik za ukaze in podatke Ukazi in podatki CPE
Uvod-Harvardski/Princetonski Današnji harvardski računalnik največkrat nima ločenega pomnilnika, ločene so samo prenosne poti (vodila) U CPE Ukazi in podatki U – ukazi P - podatki P Zmogljivejši računalniki (procesorji) so “navznoter” harvardski, “navzven” pa princetonski U U – ukazi P - podatki Ukazi in podatki CPE P
Uvod - skupno/ločeno vodilo Računalnik z ločenim V/I vodilom V/I CPE Pom. Računalniki s skupnim vodilom V/I CPE Pom.
Uvod-Skupno/ločeno vodilo Pomnilniško preslikan V/I: CPE obravnava V/I enote enako kot pomnilnik V/I CPE Pom. Ločen V/I: skupne prenosne poti (naslovno, podatkovno vodilo), ločeni kontrolni signali (beri/piši) V/I CPE Pom.
Uvod - arhitektura Arhitektura računalnikov: zgradba in delovanje računalnika, neodvisno od njegove izvedbe Enostavno rečeno: izgled računalnika, kot ga vidi programer v zbrinem jeziku: programski model procesorja, ukazi, načini naslavljanja, sistem prekinitev, V/I prenosi, ... Organizacija računalnikov: komponente in sestavi, s katerimi je ralizirana arhitektura Izraz organizacija se opušča. Danes se pretežno uporablja izraz arhitektura sestavnih delov, na primer: arhitektura mikroprocesorjev, arhitektura mikrokrmilnikov, pomnilnikov, ipd.
Uvod – tehnološki razvoj Dve smeri tehnološkega razvoja zadnjih 50 let Snovanje vse zmogljivejših arhitektur Večanje hitrosti procesorja Večanje velikosti pomnilnika Večanje pretočnosti računalnika Večanje stopnje integriranosti Združitev procesorja in različnih tipov pomnilnika Dodajanje različnih V/I vmesnikov in V/I krmilnikov CPE + pomnilnik + V/I = mikrokrmilnik Mikrokrmilnik -> vgradni (vgrajeni) sistemi Računalnik v napravi, ki ni videti tako
Uvod - mikroprocesor Pojav mikroprocesorja 1971: Marcian E. (Ted) Hoff, Intel, 4004: 4-bitni mikroprocesor - Microcontroller on a chip 1973: Masatoshi Šima, Intel 8080, 8-bitni mikroprocesor, prvi v Intelovi 8-bitni družini in predhodnik (skoraj) vseh Intelovih večbitnih družin 1974: Motorola MC6800, 8-bitni mikroprocesor, prvi v Motorolini 8-bitni družini in predhodnik (skoraj) vseh Motorolinih večbitnih družin 1976: Intel 8048, prvi mikrokrmilnik 1981: osebni računalnik
Uvod - povzetek Arhitektura računalnikov Von Neumannova tip računalnika (arhitektura) Princetonski tip računalnika Harvardski tip računalnika Mikrokrmilnik Vgradni (vgrajeni) sistemi