1
|
- Lukujärjestelmät
- Kokonaisluvut
- Liukuluvut
- Merkit, merkkijonot
- Totuusarvot
- Kuvat, äänet, hajut(?)
|
2
|
- Kommunikointi ihmisen kanssa
- Laitteiston sisäinen talletus
- kuvaformatit, ääniformatit, pakkausstandardit, ...
- kokonaisluvut, liukuluvut, merkit, merkistöt
- ohjelmat
- Suorittimen omana lajinaan ymmärtämät tyypit
- on olemassa konekäskyjä tälle tietotyypille
- kokonaisluvut
- liukuluvut (useimmat suorittimet nykyään)
- totuusarvot (jotkut suorittimet)
- merkit (jotkut suorittimet)
- konekäskyt
|
3
|
- Kaikki tieto koneessa on binääribitteinä (0 tai 1)
- binäärijärjestelmän numerot: 0, 1
- helppo toteuttaa piireillä
- helppo suunnitella logiikkaa Boolen algebran avulla
- Muisti jaettu tasapituisiin sanoihin
- sana = word = 32 bittiä (16
bittiä, 64 bittiä, …)
- Usein sana on jaettu tasapituisiin
8-bittisiin tavuihin
|
4
|
- Tietoa siirretään muistiväylää pitkin sanoina
- joskus useampi kuin yksi sana kerrallaan (lohko)
- Suorittimen rekisterit ovat yleensä yhden tai kahden sanan mittaisia
- 1 sana: kokonaisluku, pieni liukuluku
- 1 sana: 1 merkki tai 4 merkkiä
- 2 sanaa: pitkä kokonaisluku, iso liukuluku
|
5
|
- Kysymys: miten esittää eri tyyppisiä tietoja?
- Vastaus: koodataan ne biteiksi
- kaikki tieto on koneessa bitteinä
- Kaikelle käsitellylle tiedolle on omat koodausmenetelmänsä
- kaikkia koodausmenetelmiä ei ole standardoitu
- samalla tietotyypille voi olla useita koodausmenetelmiä
- kokonaisluvut, liukuluvut, merkit, merkkijonot, kuvat, ...
- ongelma: ymmärtävätkö koneet toisiaan?
- tiedon esitysmuotoa voidaan joutua muuttamaan,
kun tietoa siirretään koneelta toiselle
|
6
|
- Kaikki tieto koneessa on koodattuna biteiksi
- Muistissa voidaan esittää kaikki tieto millä tahansa sovitulla
esitystavalla (koodauksella)
- Suoritin osaa tehdä operaatioita joillakin esitystavoilla koodatuille
tiedoille
- kokonaisluvut ja liukuluvut (aina)
- totuusarvot, merkit ja merkkijonot (joskus)
- kuvat ja äänet (ei yleensä ellei erikoistunut suoritin)
- hajut (ei vielä)
- Muiden tietojen käsittely tapahtuu ohjelmallisesti
- esim. merkkejä voidaan käsitellään kokonaislukuoperaatioilla ja
aliohjelmilla
|
7
|
- Kantaluku 2, numerot 0 ja 1
- numeroiden painoarvot oikealta vasemmalle:
1=20, 2=21, 4=22, 8=23,
16=24, 32=25, …
- kymmenjärjestelmässä painoarvot ovat
1=100, 10=101, 100=102,
1000=103, …
|
8
|
|
9
|
|
10
|
- Binääriluvuilla voi olla myös binääriosa
(vrt. desimaaliosa)
|
11
|
|
12
|
- 2-järjestelmä Þ 10-järjestelmä
- 10-järjestelmä Þ 2-järjestelmä
- kokonaisosa ja desimaaliosa erikseen
- kokonaisosa:
- jaa toistuvasti 2:lla, kunnes 0 jäljellä
- ota jakojäännökset käännetyssä järjestyksessä
|
13
|
|
14
|
- Kerrotaan toistuvasti desimaaliluvun desimaaliosa 2:lla, kunnes
- desimaaliosa = 0 (tarkka
binääriesitys)
- tarpeeksi numeroita haluttuun tarkkuuteen
- Tulos saadaan ottamalla saatujen desimaalilukujen kokonaisosat (0 tai 1)
lasketussa järjestyksessä
|
15
|
|
16
|
- Binäärilukuja käyttö on tarpeellista, mutta niitä on ikävä kirjoittaa
- Kirjoitetaan ne 16-järjestelmässä eli heksadesimaalijärjestelmässä
- 4 bittiä vastaa aina yhtä 16-järjestelmän numeroa
- Yksi 16-järjestelmän numero vastaa aina 4 bittiä
- 16-järjestelmän numerot ovat:
0,1,2,3,4,5,6,7,8,9, A,
B, C, D,
E ja F
|
17
|
|
18
|
|
19
|
- Miten monitavuiset arvot talletetaan?
|
20
|
- Monitavuisen tiedon (sana-) osoite on sama molemmissa tapauksissa
- Tavujen järjestys on erilainen
- Suorittimen suunnittelija päättää
- Matematiikkapiirien tulee tietää miten luvut esitetty
- Täytyy ottaa huomioon siirrettäessä tietoa verkon yli
- Power-PC: bi-endian - molemmat moodit käytössä
- voidaan valita ohjelmakohtaisesti
- etuoikeutetussa tilassa voidaan vielä valita erikseen
- suoritin osaa laskea kummallakin tavalla talletetuilla luvuilla
|
21
|
- Etumerkkibitti erikseen
- Yhden komplementtiesitys
- Kahden komplementtiesitys
- Vakiolisäys
- Esim lisää 127 (=28 –1)
- Talleta etumerkittömänä
|
22
|
- Useimmiten käytössä
- Etu: vain yksi nolla
- yhden komplementissa kaksi nollaa
- +0 = 0000 0000 -0 = 1111
1111
- Helpot muunnokset: arvo ↔ esitysmuoto
- miten arvo -57 esitetään?
- mitä arvoa esitysmuoto 1100 0111 tarkoittaa?
- - (0011 1000 +1) = -0011 1001 = -57
|
23
|
- Tietokoneessa ei ole realilukuja tai rationaalilukuja (matemaattiset
käsitteet)
- Aina rajallinen esityksen tarkkuus
- lukuja p (pii), SQRT(2),
tai 1/3 ei voi esittää tarkasti
- esim. luvut 1.000000000 ja luvut 1.000000001 ovat yhtäsuuria (joissakin
esityksissä)
- Yleinen realilukuja vastaava esitysmuoto on liukukuesitysmuoto
- 32 bittiä, noin 7-8 desimaalinumeron tarkkuus
- 64 bittiä, noin 16-17 desimaalinumeron tarkkuus
|
24
|
|
25
|
- Etumerkki
- 1 bitti, 1Þ “-”, 0 Þ “+”
- etumerkkibitti S Þ etumerkin
arvo = (-1)S
- +:n eli 0:n arvo on +1
- -:n eli 1:n arvo on -1
|
26
|
- 8 bittiä eksponentille, lisättynä 127:llä
- esitysmuodot 0 ja 255 erikoistapauksia
- laajennettu arvoalue: hyvin pienet luvut, NaN, ±¥
- talletettu arvoalue: 1 - 254 Þ tod. arvoalue: -126
- 127
(esitysmuoto) (arvoalue)
|
27
|
- 23 bittiä mantissalle, siten että ...
|
28
|
|
29
|
|
30
|
- Yleensä 1 tavu per merkki
- ASCII, 7 bittiä/merkki (+ tark. bitti?)
- EBCDIC, 8 bittiä/merkki
- ISO/IEC 8859-15 ('Latin-9'),
- 8-bittiä/merkki, 256 eri merkkiä käytössä
- mukana myös ä, ö, š, €
|
31
|
- UCS - Universal Character Set
- Samat merkistöt, eri standardit
- 2 tavua eli 16 bittiä per merkki
- 65536 merkkiä koko maailmassa käytössä oleville
n. 200000 symbolille
- Kontrollimerkit
- 0x0000-001F and 0x0080-009F
- 0x007F = DELETE, 0x0020 = SPACE
- UCS:ssä myös 8-bittiset koodi ”rivit”
- eri alueille tai tarkoituksiin (zone) omat 8-bittiset koodinsa
|
32
|
- Merkit välillä 0x0000-00FF (16 bittiä) samassa järjestyksessä kuin
Latin-9 merkistössä (8 bittiä)
- 16-bittisen UCS:n ”rivi 00” = 8-bittinen Latin-9
- Myös muut aakkoset:
- I-zone = Kanji (0x4E00-9FFF,
20992 merkkiä)
- Ei omia konekäskyjä, manipulointi aliohjelmilla
|
33
|
- Yleensä peräkkäin talletettu joukko tavuja
- Lisäksi tarvitsee jollain tavalla koodata merkkijonon pituus
- laitetaan loppuun erikoismerkki, tai
- toteutetaan tietueena
- ei omia konekäskyjä, manipulointi aliohjelmilla
- kokonaisluku- ja bittimanipulointikäskyt
- joissakin koneissa ”strcopy” ja ”strcmp” konekäskyt
|
34
|
- Boolen TRUE ja FALSE
- Yleensä koodattu TRUE=1, FALSE=0
- muttei aina!
- Totuusarvolauseke A and B = kokon.lukulauseke A*B
- Usein Boolen arvo per sana
- loput 31 bittiä nollia
- ohjelmointikielten Boolen muuttujat
- Joskus pakatussa muodossa 32 arvoa per sana
- Ei omia konekäskyjä, manipulointi aliohjelmilla
- kokonaisluku- ja bittimanipulointikäskyt
- haluttu konekäsky ”JTRUE ...” voidaan toteuttaa
konekäskynä ”JPOS …” (jos
TRUE = 1)
|
35
|
- Monta kuvastandardia
- yleisyys, siirrettävyys, pakkaustiheys
- näyttöä varten tarvittavan laskennan määrä
- Kuvatiedoston alussa otsake kertoo talletusformaatin
- Viiva- ja vektorikuvat
- kuva koodattuna objekteina
- ympyrä, monikulmio, käyrä, alueen väri
- Rasterikuvat
- kuva koodattuna pisteinä
- kunkin pisteen väri koodattu esim. 24 bitillä
|
36
|
- Kuvat ovat yleensä pakattu mahdollisimman vähän tilaa vievää muotoon
- optimoitu tilan, ei laskennan mukaan
- purkaminen voi vaatia paljon laskentaa
- GIF, JPEG, TIFF, BMP, ….
- Ei omia konekäskyjä, manipulointi aliohjelmilla
|
37
|
- Vie hyvin paljon muistitilaa
- Talletus kuva kerrallaan, esim. 25 kuvaa/sek
- 1 sekunti hyvälaatuista videokuvaa pakkaamattomassa muodossa 20 MB
- Talletus ”incrementaalisesti”
- kun seuraava kuva poikkeaa edellisestä vain vähän ...
- talleta vain muutokset edelliseen
|
38
|
- MPEG (Moving Pictures Expert Group)
- AVI (Audio Visual Interleave)
- MOV, INDEO, FLI, GL, DVD, ...
- Ei omia konekäskyjä, manipulointi aliohjelmilla tai ...
- Erikoisprosessoreilla (GPU), joiden käskykanta suunniteltu (jonkin
standardin mukaisten kuvien) kuvankäsittelyyn
|
39
|
- Esim. 4-64 MB VRAM (dual-port) muistia ...
- 2 lukua/kirjoitusta samanaikaisesti
- ... tai ”tavallista”, mutta hyvin nopeaa RAMia
- Nopea väylä (ennen PCI, nyt AGP) suorittimelle
- Näytönohjaus monitoristandardien (VGA, XGA, RGB, ...) mukaisesti
- Oma suoritin (GPU)
- lukee videodataa ja generoi
näytettävän kuvan näyttö-
puskuriin, josta monitori
sen näyttää
- Voi olla integroitu
emolevyn kanssa
|
40
|
- Täydellinen äänidata
- 44100 näytettä/sek, 16 b/näyte, 88KB /sek
- Syntetisoitu ääni
- MIDI-käskyjä
- Music Instrument Digital Interface
- ”Soita nuotti N voimakkuudella V”
- Ei omia konekäskyjä, manipulointi aliohjelmilla tai ...
- Erikoisprosessoreilla, joiden käskykanta suunniteltu äänen käsittelyyn
|
41
|
- Esim. 4-64 MB
VRAM tai
RAM muistia
- Nopea väylä
(esim. PCI)
suorittimelle
- Oma suoritin, joka lukee äänidataa ja generoi äänet kaiuttimille tai
vahvistimeen
- kaiuttimet tai vahvistin kiinni äänikortilla
- Voi olla integroitu emolevyn
(tai grafiikkakortin) kanssa
|
42
|
- Tähtien kirkkaus, hajut,
veneen tyyppi, tunteen palo, ….
- Toteutus sovelluskohtaisesti, ei vielä yleisiä standardeja
- kokonaisluvut (diskreetti data)
- liukuluvut (jatkuva data)
- Ei omia konekäskyjä, manipulointi omilla aliohjelmilla
|
43
|
|