Tiedon esitysmuodot. Luento 6 (verkkoluento 6) Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto

Samankaltaiset tiedostot
Tiedon esitysmuodot. Luento 6 (verkkoluento 6) Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto

Luento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (4) Tiedon esitys (7) Suorittimen ymmärtämä tieto (9) Tietokoneen toiminta, K

Luento 6 Tiedon esitysmuodot

Luento 6 Tiedon esitysmuodot

Luento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (3)

Tiedon esitysmuodot Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti

Luento 6 Tiedon esitysmuodot

Luento 6 Tiedon esitysmuodot

Luento 6 Tiedon esitysmuodot

Tiedon tyypit Kommunikointi ihmisen kanssa. Luento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (4) Suorittimen ymmärtämä tieto (9)

Jakso 6 Tiedon esitysmuodot

Luento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (3)

Luento 6 Tiedon esitysmuodot. Lukujärjestelmät Kokonaisluvut Liukuluvut Merkit, merkkijonot Totuusarvot Kuvat, äänet, hajut(?)

Tietokoneen toiminta Copyright Teemu Kerola Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio

Kertausluento 2 (lu04, lu05, lu06) Aliohjelmien toteutus Suoritin, väylä, tiedon esitys

Luento 4 Aliohjelmien toteutus

Tietokoneen toiminta, K Tavoitteet (4)

ANSI/IEEE Std

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Luento 3 (verkkoluento 3) Ttk-91 konekielinen ohjelmointi. Ohjelman esitysmuoto Konekielinen ohjelmointi ttk-91:llä (Titokone, TitoTrainer)

Tietokonearitmetiikka

Tietokoneen toiminta Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2003

Luento 12 Yhteenveto. Tavoitteet. Keskeisiä asioita. Mitä hyötyä tästä on? Esimerkkikone: TTK-91 laitteisto. Tietokoneen toiminta 27.4.

Tietokonearitmetiikka

Teemun juustokakku Rekisterien, välimuistin, muistin, levymuistin ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä?

Kertausluento luennoista 1-3 1

Tietokonearitmetiikka

Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi

Tietokoneen toiminta, Kevät Copyright Teemu Kerola Järjestelmän eri tasot Laitteiston nopeus

Tietokonearitmetiikka

Konekäskyjen esitysmuoto muistissa (4) TTK-91 konekäskyn rakenne. Konekäskyn operandit ja tulos. Taulukkojen esitysmuoto. Tietueiden esitysmuoto

Luento 12 Yhteenveto

Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti Ohjelman toteutus järjestelmässä

Tietokoneen toiminta Copyright Teemu Kerola Konekohtainen, jokaisella omansa Käskyt ovat 1 tai useamman tavun mittaisia

Lukujärjestelmät. Digitaalitekniikan matematiikka Luku 9 Sivu 3 (26) Lukujärjestelmät ja lukujen esittäminen Fe

Tiedon sijainti. Konekäskyjen esitysmuoto muistissa (4) TTK-91 konekäskyn rakenne. Taulukkojen esitysmuoto. Konekäskyn operandit ja tulos

Konekäskyjen esitysmuoto muistissa (4)

Ohjelman esitysmuoto Rakenteellinen tieto Pariteetti Hamming-koodi Välimuisti Tavallinen muisti Muistien historiaa

Tietokoneen toiminta, Kevät Luento 7 Tiedon esitysmuodot (jatk) Tiedon muuttumattomuuden tarkistus Järjestelmän sisäinen muisti

Luento 1 Tietokonejärjestelmän rakenne

Konekäskyjen esitysmuoto muistissa (4) TTK-91 konekäskyn rakenne. Konekäskyn operandit ja tulos. Taulukkojen esitysmuoto. Tietueiden esitysmuoto

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Tietokoneen toiminta Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2010

Luento 12 Yhteenveto

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Tietokoneen toiminta, K Tavoitteet (4)

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright 2010

811120P Diskreetit rakenteet

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, K2000

SISÄLLYS - DIGITAALITEKNIIKKA

Luento 2 (verkkoluento 2) Ttk-91 järjestelmä

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

Luento 12 Yhteenveto

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? 29/01/2001 Teemu Kerola, Copyright 2001

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Tiedon ta:rkistus ja muisti

TIES325 Tietokonejärjestelmä. Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos

Laitteistonläheinen ohjelmointi

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Tavoitteet (4) Luento 12 Yhteenveto. Keskeisiä asioita. Mitä hyötyä tästä on? (2) Esimerkkikone: TTK-91 laitteisto suoritin - CPU

Luento 12 Yhteenveto. Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat?

Keskeiset asiat Mitä hyötyä tästä on? Mitä seuraavaksi? Kurssit? Asiat? Teemu Kerola, Copyright Tavoitteet (4)

1. luento. Ohjelmointi (C) T0004 Syksy luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot.

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva

6. Muuttujat ja Java 6.1

Tiedon esitysmuodot. Tiedon tyypit ja tiedon esitys laitteistossa

Moduli 4: Moniulotteiset taulukot & Bittioperaatiot

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Oppimistavoitteet kurssilla Tietokoneen toiminta

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.

Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit:

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori

Luento 2 TTK-91 tietokone ja sen KOKSI simulaattori. Miksi konekieltä? Tietokone TTK-91. Miksi ei oikeaa konekieltä?

Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut.

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Muuttujat Tietorakenteet Kontrolli Optimointi Tarkistukset

Jakso 2 TTK-91 -tietokone ja sen KOKSI -simulaattori

Luku- ja merkkikoodit. Digitaalitekniikan matematiikka Luku 12 Sivu 1 (15)

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Miksi konekieltä? Jakso 2 TTK-91-tietokone ja sen KOKSI-simulaattori. Tietokone TTK-91. Miksi ei oikeaa konekieltä?

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva

6. Muuttujat ja Java 6.1

Luento 2 (verkkoluento 2) Ttk-91 järjestelmä

Tiedon sijainti suoritusaikana. Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

Jakso 2 TTK-91 -tietokone ja sen KOKSI -simulaattori

Laitteistonläheinen ohjelmointi

Tieto ja sen osoite (3) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Osoitinmuuttujat. Tieto ja sen osoite (5)

Tiedon sijainti suoritusaikana (3) Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Miten tietoon viitataan? (4)

Tulkinta ja emulointi

Luento 11 Tulkinta ja emulointi

Luento 2 TTK-91 tietokone ja sen simulaattori. Miksi konekieltä? Tietokone TTK-91. Miksi ei oikeaa konekieltä? TTK-91 (1) TTK-91 laitteisto

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Luento 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

Jakso 2 TTK-91-tietokone ja sen KOKSI-simulaattori

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

Liukulukulaskenta. Pekka Hotokka

Transkriptio:

Luento 6 (verkkoluento 6) Tiedon esitysmuodot Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto Ohjelman esitysmuoto Rakenteellinen tieto 1

Tiedon tyypit Kommunikointi ihmisen kanssa kuva, ääni, merkit, Laitteiston sisäinen talletus kuvaformaatit, ääniformaatit, 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 2

Tiedon esitys 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 samalle 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 3

Tiedon esitys laitteistossa 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ä (ennen 16, 32, 48, 64 bittiä, ) Yleensä sana on jaettu tasapituisiin 8-bittisiin tavuihin sana (word) (byte) hexa: 1000 1101 1010 1101 1011 1100 1111 0001 tavu tavu tavu tavu 8 D A D B C F 1 4

Suorittimen ymmärtämä tieto Kaikki tieto koneessa on koodattuna biteiksi Muistissa voidaan esittää kaikki tieto millä tahansa sovitulla esitystavalla (koodauksella) Joillekin esitystavoille on omat konekäskyt (eli suoritin ymmärtää niitä) Kokonaisluvut ja liukuluvut (lähes aina) TTK-91: kokonaisluvut Totuusarvot, merkit ja merkkijonot (joskus) Kuvat ja äänet (ei yleensä ellei erikoistunut suoritin) Muiden tietojen käsittely tapahtuu ohjelmallisesti (eli usea käsky tai aliohjelma tai metodi) Esim. merkkejä (merkkien esitysmuotoa) voidaan käsitellään kokonaislukuoperaatioilla ja aliohjelmilla Rationaaliluvut, 64-bittiset kokonaisluvut (?), isot taulukot, tietueet, oliot, sormenjäljet, äänet, kuvat, hajut, 5

Numeromuunnokset Binääriluvuista kymmenjärjestelmään 10110011 179 Kymmenjärjestelmästä binääriluvuiksi 179 10110011 Binääriluvusta heksadesimaaliluvuksi 10110011 B3 (tai 0xB3) Heksadesimaaliluvusta binääriluvuksi 0xB3 = B3 10110011 6

Big vs. Little Endian Miten monitavuiset arvot talletetaan? 0x1200: sanan osoite (pienimän tavun osoite) 0x1200 0x1201 0x1202 0x1203 talleta 0x11223344?? Big-Endian: eniten merkitsevä tavu pienimpään osoitteeseen Little-Endian: vähiten merkitsevä tavu pienimpään osoitteeseen tavuosoitteet 0x1200 0x11223344 0x11 0x22 0x33 0x44 0x1201 0x1202 0x1203 0x44 0x33 0x22 0x11 0x44332211 7

Kokonaisluvut Etumerkkibitti erikseen arvo talletus +57 = 0011 1001 Yleensä positiiviset suoraan binäärinä sign bit = MSB = most significant bit luku -57 = 1011 1001 talletusmuoto -57 = 1100 0110 sign bit +1-57 = 1100 0111 Yhden komplementtiesitys Kahden komplementtiesitys Vakiolisäys Esim. lisää 127 (=2 7 1) yleensä: 2 bittilkm-1-1 Talleta etumerkittömänä sign bit -57 = 0100 0110-57 + 127 =70 +57 = 1011 1000 +57+127=184 8 Keskustele

Liukuluku Vastaa reaalilukua tietokoneessa Kompromissi Suuruusluokka vs. tarkkuus Aina kiinteä maksimitarkkuus Sama määrä merkitseviä numeroita Etumerkki, suuruusluokka, mantissa +5678901.2345678 vs. +5.678901 * 10 6-0.000012345678 vs. -1.23457 * 10-5 +111.1010101111 vs. +1.11101011 * 2 2 9

Miksi käytetään piilobittiä? vakiolisäys +127 0 = + 1 = - IEEE 32-bit FP Standard sign +6144.0 10 = +1 1000 0000 0000.0 2 = +0.0011 * 2 15 = (+0x7F) 1b 8b (+127) 23b + 15 0.1875 = 0.0011 exponent mantissa or significand 23 bittiä mantissalle siten, että... 1) Binääripiste (.) on heti ensimmäisen bitin jälkeen 2) Mantissa on normalisoitu: vasemmanpuolimmainen bitti on 1 3)Vasemmanpuolimmaista (eniten merkitsevä) bittiä (1) ei talleteta (implied bit, piilobitti) mantissa 1/8 = 0.1250 1/16= 0.0625 0.1875 0.0011 15 1.1000 12 1000 12 eksponentti 24 bitin mantissa! 10.10.2016 Copyright 2016 Teemu Kerola Keskustele 10

UCS ja Unicode 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 (32-bit UCS-4 sisältää myös kaikki kiinalaiset merkit) 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, esim. UTF-8 11

Merkkijonot Yleensä peräkkäin talletettu joukko tavuja Lisäksi tarvitsee jollain tavalla koodata merkkijonon pituus: laitetaan loppuun erikoismerkki C-kieli: \0 = 0x00 toteutetaan tietueena ei (yleensä enää) omia konekäskyjä, manipulointi aliohjelmilla kokonaisluku- ja bittimanipulointikäskyt 20 Ei yleensä nyt enää! pituus merkkijono joissakin koneissa strcopy ja strcmp konekäskyt 12

Konekäskyjen esitysmuoto Konekohtainen, jokaisella omansa Käskyt ovat 1 tai useamman tavun mittaisia SPARC, kaikki käskyt: 1 sana eli 4 tavua ARM, kaikki käskyt: 1 sana eli 4 tavua Pentium II: 1-16 tavua, paljon variaatioita Käskyillä on yksi tai useampi muoto, kussakin tietty määrä erilaisia kenttiä opcode, Ri, Rj, Rk, osoitusmoodi pitkä tai lyhyt vakio TTK-91, kaikki käskyt: 1 sana, 1 muoto Keskustele 13

Taulukkojen esitysmuoto Peräkkäisrakenteena, kuten esimerkit aikaisemmin Riveittäin tai sarakkeittain tai linkitettynä rakenteena Ei omia konekäskyjä, manipulointi aliohjelmilla tai toistorakenteilla Poikkeus: vektorisuorittimet, joilla vektorirekisterit (esim. 8 tai 64 liukulukua) tavallisten rekistereiden lisäksi Multimediakäskyt: 64b = 8 * 8b vektori (Intel MMX) omia konekäskyjä vektorioperaatioita varten Indeksoitu tiedonosoitusmoodi tukee 1-ulotteisten taulukoiden käyttöä Keskustele 14

Tietueiden esitysmuoto Peräkkäisrakenteena Osoite on jonkin osoitinmuuttujan arvo Ei omia konekäskyjä, manipulointi aliohjelmilla tai kääntäjän generoimien vakiolisäysten avulla Indeksoitu tiedonosoitusmoodi tukee tietueiden käyttöä Keskustele 15

Olioiden esitysmuoto Kuten tietueet, yleensä varattu keosta (heap) Useat olion kentistä sisältävät vuorostaan osoitteen keosta suoritusaikana varattuun toiseen olioon Metodit ovat aliohjelmien osoitteita Ei omia konekäskyjä, manipulointi aliohjelmilla 16

Intel 4004, 1971 Faggin, Hoff, Mazor Ens. mikroprosessori 3x4 mm, $200 2300 transistoria 4 bitin sana Laskinta varten Sama laskentateho kuin Eniacilla (18000 tyhjiöputkea) -- Loppu -- 17