160 likes | 520 Views
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen. Tietokoneen rakenne. Tyypillinen Von Neumann arkkitehtuuri. Tietokoneen ja ohjelmiston rakenne. Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit
E N D
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen
Tietokoneen rakenne Tyypillinen Von Neumann arkkitehtuuri
Tietokoneen ja ohjelmiston rakenne • Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit • Prosessorin rakenne määrää sen minkälaisia käskyjä sille voidaan antaa -> käskykanta (Instruction set) • Konekieli on joukko binäärisiä ”sanoja” jotka vastaavat prosessorin käskyjä • Assembly kieli antaa binäärisille bittijoukoille paremmin muistettavat vastineet, esim. • 1111110111001000 • M=M-1 • Näistä asioista lisää myöhemmin kurssilla… Korkeantason kieli Virtualmachine Assembly kieli Konekieli Tietokonealusta Loogiset piirit
Moniydinprosessori Aritmeettis-looginen yksikkö Aritmeettis-looginen yksikkö Kontrolliyksikkö Kontrolliyksikkö System bus Väyläliityntä Aritmeettis-looginen yksikkö Aritmeettis-looginen yksikkö Kontrolliyksikkö Kontrolliyksikkö
Transistori? • Useita teknologioita • CMOS – Nykyään käytössä prosessoreissa, staattisessa RAM muistissa, loogisissa piireissä, … • Kuinka sitä käytetään? • Sähköisenä kytkimenä • Kaksi tilaa: • Virta kulkee transistorin läpi (on tai 1) • Virta ei kulje transistorin läpi (off tai 0)
Kytkin? • Kaksi kytkintä… • Molemmat off • Toinen on, toinen off • Molemmat on • Esim. Kysymys: Onko molemmat kytkimet päällä? Onko A päällä JA(AND) onko B päällä? • Totuustaulu! • Merkitään • False = 0 • True = 1
AND • Toteutus transistoreilla • BipolarJunctionTransistor(BJT) • NPN transistori – tarvitaan 2 transistoria • Complementarymetal–oxide–semiconductor (CMOS) • Tarvitaan 6 transistoria • Rakennetaan NAND:sta ja NOT:sta • Muut loogiset operaatiot? • Totuustaulun output:in muut vaihtoehdot • Saadaan pakattua pienempään tilaan (sille cmos tekniikalla toteutetulle piipalalle) jos kaikki operaatiot voidaan toteuttaa yhden tyyppisillä loogisilla porteilla • AND portilla ei yksinään onnistu
NAND • Mikä tahansa Boolean funktio voidaan toteuttaa NAND porttien kombinaatiolla • Tietokoneen prosessori voidaan toteuttaa NAND porttien kombinaationa! • NAND logiikka • NAND voidaan toteuttaa neljällä CMOS transistorilla piikiekolle • BJT toteutus kahdella transistorilla, muutoin sama kuin AND:lla mutta ulostulo otetaan eri kohdasta • NAND logiikalla saadaan transistorit pakattua kaikkein tiheimmin • Kuinka NAND saadaan sinne fyysiselle piikiekolle? • Hardware DescriptionLanguage (HDL)
Tällä kurssilla… • Rakennetaan (yksinkertainen) tietokone • HDL kielellä • Lähtien NAND portista ja päätyen tietokoneen prosessoriin • Me simuloimme HDL toteutusta • Fyysisen toteutus voitaisiin tehdä ohjelmoitavalla logiikka piirillä (esim. FPGA) • Tutustumme teoriaan jotta toteutusta saadaan yksinkertaistettua • Simuloidaan HDL toteutuksia myös visuaalisesti Logiikka simulaattorilla • Rakennetaan käytännössä yksinkertaisia elektroniikkakytkentöjä • Ja yllä olevia hommia tekemällä saa kurssista suoritusmerkinnän…
Kurssin suoritus • Harjoitustehtäviä tekemällä • Tehtävät tulee tehdä elokuun loppuun 2014 mennessä tai… • Tämän jälkeen jo saadut pisteet nollautuvat • Kurssin joutuu suorittamaan lv. 2014-2015 vaatimusten mukaan • Viikoittain suositellaan tehtäväksi 5-15 pisteen verran tehtäviä • Tällöin mahdollista saada joka viikko 1-3 bonuspistettä/viikko • Voit itse valita mitä tehtäviä teet ja milloin, voit tehdä esim. nopeamminkin kuin 15p/viikko • Jos teet esim. yhtenä viikkona 20 pistettä ja seuraavana 10 pistettä, tulkitaan tämä siten että teit molempina viikkoina 15 pistettä ja saat 3 bonus pistettä molemmilta viikoilta. • Harjoitustehtävistä voi kerätä maksimissaan 115 pistettä + bonuspisteet • Kaikkia ei tarvitse suorittaa arvolauseeseen 5 (100 pistettä) • Kurssin hyväksyttyyn suorittamiseen arvolauseella 1 vaaditaan 70 pistettä • Harjoitustehtäviä saa tehdä ryhmissä • mutta jokainen ryhmän jäsen palauttaa omat vastaukset kurssin kotisivuilla olevien ohjeiden mukaan • Harjoitustehtävistä ei tarjota oikeita malliratkaisuja • Mahdollistaa omaan tahtiin suorittamisen • Jos vastauksessa on suuria virheitä, niin tehtävästä ei voi saada maksimipisteitä, mutta saa palautetta • Kurssin suoritukseen ei vaadita tenttiä • Poikkeustapauksissa (esim. käynyt kurssin edellisenä lukuvuonna, muttei ole ehtinyt sitä tenttimään) voi kurssia tenttiä lv. 2012-2013 materiaalin mukaan
Kurssin luennot ja demot • Kurssin luennoista tallennetaan kuvaruutukaappaus ja luennoitsijan ääni • Luentokalvoja tai –materiaalia ei pääsääntöisesti ole • Luennoilla käydään läpi aiheita, jotka oppimalla tietokoneen rakentaminen (eli ne harjoitustehtävät) onnistuu • Demotilaisuudet • Ilmoittautuminen demoryhmiin korpissa • Jos haluaa tehdä elektroniikkademoja ohjatusti • Mahdollista tehdä myös Tietoliikennelabrassa, jos demoryhmien ajat eivät sovi
Kurssilla käytettävät ohjelmistot • LogicSim yksinkertaisten kytkentöjen simulointiin ja visualisointiin • Applet versio (ei voi tallentaa) • Käytetään valmiiden kytkentäkaavioiden esittämiseen luennoilla • Voit myös itse kokeilla ja muokata niitä • Java sovellus, kaikki ominaisuudet toimivat • LogicSim Harjoitustehtävät tehdään tällä • Nand2Tetris ohjelmistopaketti (Java) • HDL tiedostojen (ja konekielisten ohjelmien simulointiin) • HDL tiedostot voi tehdä millä tahansa tekstieditorilla
Kysymyksiä? • Joko luennolla, demoissa tai sähköpostilla • ari.viinikainen@jyu.fi • Seuraavaksi tutustutaan ohjelmistoihin…