Tietokoneen toiminnasta ja rakenteesta
Välimuisti (cache) CPU L3 Cache L2 Cache Muistiohjain L1 Data cache L1 Instruction cache CPU L3 Cache L2 Cache
Välimuisti (cache) ”L4” Muistiohjain L3 Cache ”4-ydin CPU” Disk cache
Tietokoneen rakenteesta
x86 Assembly Assembly kieli, josta on kehittynyt nykyisten ’Intel-arkkitehtuuri’ –prosessorien assembly kielet Kehitetty alkujaan 16-bittisen Intel 8086 prosessorin kanssa
Keskeytykset PC= keskeytyksen- käsittelijäkoodin osoite Kuitataan keskeytys Tallennetaan PC Kyllä Ei Suorita käsky Tarkista keskeytykset Nouda käsky Keskeytys (eng. Interrupt) Ohjelmoitava keskeytysohjain n
Desimaaliluvun desimaaliosan muutos binäärikseksi Olkoon meillä luku 6.37510 = 6/2 = 3 (jakojäännös = 0) 3/2 = 1 (jakojäännös = 1) 1/2 = 0 (jakojäännös = 1) Desimaaliosa saadaan kertolaskulla .375*2 = 0.75 (pienempi kuin yksi → 0) .75*2 = 1.5 (suurempi kuin yksi → 1) .5*2 = 1.0 (yhtä suuri kuin yksi → 1 ja muunnos valmis) 110.0112
Desimaaliluvun desimaaliosan muutos binäärikseksi Olkoon meillä luku 0.110 = .1*2 = 0.2 (pienempi kuin yksi → 0) .2*2 = 0.4 (pienempi kuin yksi → 0) .4*2 = 0.8 (pienempi kuin yksi → 0) .8*2 = 1.6 (suurempi kuin yksi → 1) .6*2 = 1.2 (suurempi kuin yksi → 1) … = (0.00011001100110011001100110011001100110011…)2
Liukuluvut (floating point numbers) Float (Java, C#, etc.) 32-bittinen Double (64-bittinen) 0.110 = (0.00011001100110011001100110011001100110011…)2 = (1.1001100110011001100110011001100110011…*10-4) 2 = (00111101 11001100 11001100 11001101) binäärinen float http://www.binaryconvert.com/
Desimaaliluvun desimaaliosan muutos binäärikseksi Olkoon meillä luku 0.1562510 = .15625*2 = 0.3125 (pienempi kuin yksi → 0) .3125*2 = 0.625 (pienempi kuin yksi → 0) .625*2 = 1.25 (suurempi kuin yksi → 1) .25*2 = 0.5 (pienempi kuin yksi → 0) .5*2 = 1 (yhtä suuri kuin yksi → 1 ) = 0.001012 Mantissan normalisointi = 1.012 * 10-3 Eksponentti lisätään lukuun 127 (127 + -3 = 124) ja saadaan float tallennetun binääriluvun exponenttiosa, eli (00111110 00100000 00000000 00000000) binäärinen float
Kertolasku 1011 x 1110 0000 + 1011 10011010
Mitä kurssin jälkeen? Syventää tietämystä virtuaalikoneista, käyttöjärjestelmästä ja ohjelmointikielistä Syventää tietämystä (digitaali)elektroniikasta ja nykyisistä tietokonearkkitehtuureista Muutama vaihtoehto https://trac.cc.jyu.fi/projects/it/wiki/TIEP114#TIEP114kurssinjälkeen