53
Den Digitala Logiska Nivån och Datarepresentation Inledning • Den digitala logiska nivån • Datarepresentation • Sammanfattning • Övrigt

Den Digitala Logiska Nivån och Datarepresentation

  • Upload
    jarvis

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

Den Digitala Logiska Nivån och Datarepresentation. Inledning Den digitala logiska nivån Datarepresentation Sammanfattning Övrigt. Inledning. Mobiltelefon AV STÄLL FRÅGOR! Vem är föreläsaren? Varför hålls denna föreläsning?. Vem är föreläsaren?. Johan Kummeneje Doktorand - PowerPoint PPT Presentation

Citation preview

Page 1: Den Digitala Logiska Nivån och Datarepresentation

Den Digitala Logiska Nivån och Datarepresentation

• Inledning• Den digitala logiska nivån

• Datarepresentation

• Sammanfattning

• Övrigt

Page 2: Den Digitala Logiska Nivån och Datarepresentation

Inledning

• Mobiltelefon AV

• STÄLL FRÅGOR!

• Vem är föreläsaren?

• Varför hålls denna föreläsning?

Page 3: Den Digitala Logiska Nivån och Datarepresentation

Vem är föreläsaren?

• Johan Kummeneje

• Doktorand

• Forskar sociala agenter och rationellt beslutsfattande.

Page 4: Den Digitala Logiska Nivån och Datarepresentation

Varför hålls denna föreläsning?

• Mina mål med den här föreläsningen är att:– Ni skall känna till de grundläggande begreppen

(instruktion, etc)– Ni skall veta vad en (digital logisk) grind är,

och förstå kopplingen till boolesk algebra– Ni skall ha ett hum om alternativa approacher– Ni skall känna till hur man representerar olika

former av information

Page 5: Den Digitala Logiska Nivån och Datarepresentation

Den Digitala Logiska Nivån och Datarepresentation

• Inledning

• Datarepresentation

• Den digitala logiska nivån

• Sammanfattning

• Övrigt

Page 6: Den Digitala Logiska Nivån och Datarepresentation

Datarepresentation

• Inledning

• Primitiva datatyper

• Maskininstruktioner

• MIME

• Ljudformat

• Bildformat

• Filmformat

• Komprimeringsformat

• Sammanfattning

Page 7: Den Digitala Logiska Nivån och Datarepresentation

Inledning

• Hittills binärt, vilket inte räcker till för att representera text, bilder etc

• Därför använder vi mer komplexa datatyper och lagringsformat

• Data är ofta redundant, därför kan man ofta komprimera

• Använder det binära talsystemet vid representation av siffror och tecken.

Page 8: Den Digitala Logiska Nivån och Datarepresentation

Primitiva Datatyper

• Heltal• Flyttal• Boolean• Tecken

– ASCII (American Standare Code for Information Interchange)

– EBCDIC (Extended Binary Coded Decimal Interchange Code)

– UNICODE

Page 9: Den Digitala Logiska Nivån och Datarepresentation

Primitiva Datatyper - Heltal 1

• Heltal kan represeneras av olika storlek direkt av hårdvaran, t ex på PC-datorer 32-bitars tal (232)

• Finns i t ex Java byte (8 bitar), short (16 bitar), int (32 bitar) och long (64 bitar)

Page 10: Den Digitala Logiska Nivån och Datarepresentation

Primitiva Datatyper - Heltal 2

• Heltal kan representeras unsigned eller signed

• EX: (2 bitar för att göra det enkelt)Binärsekvens Signed Unsigned

00 0 0

01 +1 1

10 -2 2

11 -1 3

Page 11: Den Digitala Logiska Nivån och Datarepresentation

Primitiva Datatyper - Heltal 3

• För att representera negativa tal använder man vanligen Tvåkomplementmetoden, EX:

Binärt Decimalt Binärt Decimalt

00000000 0 10000001 -127

00000001 1 10000010 -126

00000010 2 …..

…… 11111101 -3

01111110 126 11111110 -2

01111111 127 11111111 -1

10000000 -128

Page 12: Den Digitala Logiska Nivån och Datarepresentation

Primitiva Datatyper - Flyttal

• Flyttal brukar delas upp i tre delar:– Tecken (+/-)– Exponent– Mantissa

• EX:

• Talet -1.5 kan representeras som :

• 1|001|0101

Tecken ExponentMantissa

Page 13: Den Digitala Logiska Nivån och Datarepresentation

Primitiva Datatyper - Boolean

• Booleanska värden antar som bekant bara två tillstånd SANT eller FALSKT

• Därför kan de direkt representeras i en bit i minnet

• Smarta implementationer lägger samman flera booleanska värden i samma byte/ord

Page 14: Den Digitala Logiska Nivån och Datarepresentation

Primitiva Datatyper - Tecken

• Tecken brukar i allmänhet representeras av heltal (7, 8 eller 16 bitar)

• Representationen av tecken är standardiserad på flera sätt:– ASCII (American Standard Code for Information Interchange),

Den absolut vanligaste, enligt standard enbart 7 bitar, men ofta 8 bitar för att representera specialtecken.

– EBCDIC (Extended Binary Coded Decimal Interchange Code) 8-bitar, inte så vanlig

– UNICODE (försöker representera alla världens alfabet) 16 bitar

Page 15: Den Digitala Logiska Nivån och Datarepresentation

Maskininstruktioner

• Kod i form av maskininstruktioner representeras i minnet (Von Neumann).

• Varje instruktion kan variera i storlek, och i antalet argument den tar.

• EX: NOP (no operation) är 10010000 på en 8086/8088-processor, och tar inga argument

• EX2: ADD (addition) har flera argument 000000dw mod reg /m

Page 16: Den Digitala Logiska Nivån och Datarepresentation

MIME

• MIME - Multipurpose Internet Mail Extensions

• ”MIME extends the format of Internet mail to allow non-US-ASCII textual messages, non-textual messages, multipart message bodies, and non-US-ASCII information in message headers.”

Page 17: Den Digitala Logiska Nivån och Datarepresentation

Ljudformat

• Kan ha förstörande eller icke-förstörande komprimering

• T ex MP3, MIDI, WAV, AU

• Innebär ett antal diskreta stickprov, med viss upplösning - SAMPLING

• Innebär en digital approximering av ljudets analoga form

Page 18: Den Digitala Logiska Nivån och Datarepresentation

Bildformat

• Kan ha förstörande eller icke-förstörande komprimering

• T ex GIF, JPEG, TIF, BMP

• Brukar vanligen bestå av :

Data (kan vara komprimerad)Header

Page 19: Den Digitala Logiska Nivån och Datarepresentation

Filmformat

• Kan ha förstörande eller icke-förstörande komprimering

• T ex MPEG, AVI, QuickTime

• Beskriver oftast bara skillnaderna mellan två på varandra följande bilder.

Page 20: Den Digitala Logiska Nivån och Datarepresentation

MPEG Exempel

Page 21: Den Digitala Logiska Nivån och Datarepresentation

Komprimeringsformat

• Huffman-kodning

• LZW-kodning (Lempel, Ziv, Welch)

• Run Length Encoding (RLE)

Page 22: Den Digitala Logiska Nivån och Datarepresentation

Komprimering - Huffman

• Huffman kodning bygger på att inte alla tecken eller sekvenser förekommer lika ofta, därför behöver man inte representera alla tecken med t ex 8 bitar, utan de vanligaste kan representeras med färre bitar, och de mest ovanliga kan behöva fler.

• Vinsterna kan bli stora.

Page 23: Den Digitala Logiska Nivån och Datarepresentation

Huffman Exempel

• Okomprimerat : MISSING IN MISSISIPPI = 20 bytes (exkl. mellanslag)

• Frekvens tabell och tilldelning : – M = 2 =>001

– I = 7 => 01

– S = 6 => 10

– N = 2 => 110

– G = 1 => 1110

– P = 2 => 0001

• Komprimerat : 001 01 10 10 01 110 1110 01 110 001 01 10 10 01 10 10 01 0001 0001 01 = 6,25 bytes (exkl mellanslag)

Page 24: Den Digitala Logiska Nivån och Datarepresentation

Komprimering - LZW

• Lempel-Ziv-Welch-algoritmen bygger på att samma sekvenser återkommer ofta i t ex rastrerade bilder eller i text (ordet the i engelskan t ex).

• Bygger upp ett lexicon med de vanligast förekommande sekvenserna.

Page 25: Den Digitala Logiska Nivån och Datarepresentation

LZW Exempel

• Okomprimerat : MISSING IN MISSISIPPI = 20 bytes (exkl. mellanslag)

• 0-255 vanlig ascii

• 256 : ISS

• 257 : IN

• N.B. Nu 12 eller 16 bitars representation (vi väljer 12 bitar=4096 komb).

• Komprimerat : M 256 257 G 257 M 256 256 I P P I = 12 poster a 12 bit => 18 bytes (exkl mellanslag)

Page 26: Den Digitala Logiska Nivån och Datarepresentation

Komprimering - RLE

• Run Length encoding bygger på att i många datafiler (t ex bilder) är många närliggande pixlar av samma färg.

• Ex: Mönstret 000000000011110000000000 är en bild i svartvitt, det skulle istället kunna skrivas som 10x 0, 4x1, 10x0, vilket i datarepresentation blir 0A,00,04,01,0A,00, vilket är kortare än den ovanstående sekvensen.

Page 27: Den Digitala Logiska Nivån och Datarepresentation

Komprimerings Exempel Jämförelse

• Huffman : – + några tecken förekommer ofta,– - Lika många av varje tecken

• LZW– + återkommande kombinationer, t ex språk– - om det är få upprepningar

• RLE– + långa följder av samma tecken– - Förändring av nästkommande tecken ofta

Page 28: Den Digitala Logiska Nivån och Datarepresentation

Sammanfattning

• Det finns ett antal sätt att representera information på, t ex format för bilder eller heltal.

• Mycket av data/information är redundant och kan således komprimeras med olika metoder beroende på typen av data

Page 29: Den Digitala Logiska Nivån och Datarepresentation

Den Digitala Logiska Nivån och Datarepresentation

• Inledning

• Datarepresentation

• Den digitala logiska nivån• Sammanfattning

• Övrigt

Page 30: Den Digitala Logiska Nivån och Datarepresentation

Den digitala logiska nivån

• Inledning

• Grundläggande begrepp

• Kopplingen mellan grindar och boolesk algebra

• Grundläggande digitala logiska grindar

• Alternativa utgångspunkter

• Sammanfattning

Page 31: Den Digitala Logiska Nivån och Datarepresentation

Inledning

Tillämpningsprogram

Högnivåspråk, (t ex Pascal)

AssemblyspråkOperativSystem

Maskin InstruktionerMikro Instruktioner

Digital Logik

Elektroniska komponenter

Page 32: Den Digitala Logiska Nivån och Datarepresentation

Grundläggande begrepp

• Processor

• Datarepresentation

• Input/Output

Page 33: Den Digitala Logiska Nivån och Datarepresentation

Grundläggande begrepp - Processorn 1

• Grind - implementeringen av grundläggande logiska operationer

• Instruktion - t. ex. hämta informationen på minnesadress 1000

• Exekvering - utförandet av instruktioner• Adress - minnesadress, dvs en position i minnet • Klocka - styr hur ofta CPU:n skall behandla nya

instruktioner (”hur snabb datorn är”)

Page 34: Den Digitala Logiska Nivån och Datarepresentation

Grundläggande begrepp - Processorn 2

• CPU - Central Processing Unit, den s k hjärnan, består av en ALU och en CU

• MPU - Micro Processor Unit, samma sak som en CPU

• ALU - Arithmetic Logic Unit, beräkningsenheten i hjärnan

• CU - Controll Unit, ser till att instruktionerna utförs i rätt ordning

Page 35: Den Digitala Logiska Nivån och Datarepresentation

Grundläggande begrepp - Processorn 3

• Register - ett register lagrar ett ord (se nedan) som processorn kan arbeta på. Några typer av register är:– status/flagg

– adress

• PC - Program Counter , eller programräknaren, håller reda på var i programmet exekveringen är.

• Ackumulator- är en speciell typ av register, som vanligen är anslutna till ALU:ns utmatning.

Page 36: Den Digitala Logiska Nivån och Datarepresentation

Grundläggande begrepp Processorn 4

• Stack - på stacken läggs alla temporära variabler, och används ofta till att hantera avbrott och subrutiner (lägga upp PC:n på).

• Stackpekare - pekar ut toppen på stacken.• IRQ - Interrupt ReQuest, eller avbrott i

exekveringen, innebär att genom att låta vissa händelser trigga, kan vi ta hand om dessa händelser på en gång, och sedan återgå till det vi höll på med.

Page 37: Den Digitala Logiska Nivån och Datarepresentation

Grundläggande begrepp - Representation

• Bit - minsta representerbara enheten, en s.k. IT-atom, kan anta värdena 0 och 1

• Nibble - en grupp om 4 bit(ar)

• Byte - en grupp om 8 bit(ar)

• Ord (word) - en grupp om 8-64 bit(ar), datorberoende

Page 38: Den Digitala Logiska Nivån och Datarepresentation

Grundläggande begrepp - Input/Output (I/O) 1

• ROM - Read Only Memory, dvs det går bara att läsa från det

• RAM - Random Access Memory, går att läsa och skriva till hur som helst

• PIO - Parallell Input/Output, är en krets (eller flera kretsar) som hanterar kommunikationen med flera perifera enheter, t ex hårddisk, tangentbord, skärm

Page 39: Den Digitala Logiska Nivån och Datarepresentation

Grundläggande begrepp - Input/Output (I/O) 2

• Bussar - De kanaler som datorn kan använda för att komma åt minne och andra perifera enheter, som t ex hårddisk eller tangentbord. Några typer av bussar är:– Data– Adress– Kontroll

Page 40: Den Digitala Logiska Nivån och Datarepresentation

Grundläggande digitala logiska grindar och boolesk algebra

• De primitiva grindarna är :– AND (och) 2 in, 1 ut &– NOT (icke) 1 in, 1 ut 1– OR (eller) 2 in, 1 ut >1

• Sammansatta grindar är :– NAND (icke-och) 2 in, 1 ut &– NOR (icke-eller) 2 in, 1 ut >1– XOR (exklusive-eller) 2 in, 1 ut =1

Page 41: Den Digitala Logiska Nivån och Datarepresentation

Grundläggande digitala logiska grindar och boolesk algebra

• Varje boolesk logisk operator (AND, OR, NOT) motsvaras av en grind.

• Grindar går att kombinera ihop, till mer avancerade operationer, t ex– adderingsoperationer– jämförelseoperationer– etc.

Page 42: Den Digitala Logiska Nivån och Datarepresentation

Grind Exempel 1 - XOR

• använder sig av AND och NOT och OR

• (a AND NOT b) OR (NOT a AND b)

&

&

1

1

>1ab

c

Page 43: Den Digitala Logiska Nivån och Datarepresentation

Grind Exempel 2 - Nibble-jämförare

• Testar om två nibbles (4 bit) är identiska

• Skall ske genom att använda grindarna:– AND, NOT, OR, NAND, NOR och XOR

• Man behöver inte använda samtliga

• Tid för denna övning är 3 minuter

Page 44: Den Digitala Logiska Nivån och Datarepresentation

Grind Exempel 2 - Lösning

=1

=1

=1

=1

&

&&

a0

b0

a1

b1

a2

b2

a3

b3

Nibble a Nibble b Resultat0000 0000 10000 0001 00000 0010 0… … …1001 1001 11001 1010 0… … …1111 1111 1

1

1

1

1

Page 45: Den Digitala Logiska Nivån och Datarepresentation

Grind Exempel 3 - Grindar som kommer ihåg

• Med hjälp av grindar kan man komma ihåg sekvenser av spänningsnivåer, eller snarare komma ihåg en bit.

1

&

&

>1

Load

In

Out

Page 46: Den Digitala Logiska Nivån och Datarepresentation

Alternativa utgångspunkter

• Kvant-datorer• Trinära datorer• Det finns ytterligare alternativ som inte tas

upp på denna föreläsning pga att de i grunden bygger på de ovanståendes logik:– DNA-datorer– Nano-datorer– Photonic -datorer

Page 47: Den Digitala Logiska Nivån och Datarepresentation

Kvant-datorer

• Arbetar med qubit (quantum bit), som befinner sig i en linjär superposition mellan 0 och 1.

• Tack vare superpositionen, görs fenomenet quantum parallellism möjligt, som tillåter expontentiellt många beräkningar simultant.

• Bygger på kvantmekanik.

Page 48: Den Digitala Logiska Nivån och Datarepresentation

Trinära datorer

• Arbetar med tre lägen : 0, 1, 2 eller om man vill Falskt, Kanske och Sant

• Arbetar med s k trit, som kombineras ihop till tryte (9 trit) och tribble (3 trit)

• Logiken väldigt rörig: se http://www.california.com/~mmagee/computer.html

Page 49: Den Digitala Logiska Nivån och Datarepresentation

Sammanfattning

• Grindar motsvarar logiska operationer

• Man kan sätta samman grindar och få sammansatta operationer som t ex en Nibble-jämförare eller en minneskrets

• Det finns alternativa utgångspunkter, t ex kvantdatorer och trinära datorer.

Page 50: Den Digitala Logiska Nivån och Datarepresentation

Den Digitala Logiska Nivån och Datarepresentation

• Inledning

• Datarepresentation

• Den digitala logiska nivån

• Sammanfattning• Övrigt

Page 51: Den Digitala Logiska Nivån och Datarepresentation

Sammanfattning

• Grindar motsvarar logiska operationer

• Man kan sätta samman grindar och få sammansatta operationer som t ex en Nibble-jämförare eller en minneskrets

• Det finns alternativa utgångspunkter, t ex kvantdatorer och trinära datorer.

• Det finns ett antal sätt att representera information på, t ex format för bilder eller heltal.

• Mycket av data/information är reduntant och kan således komprimeras

Page 52: Den Digitala Logiska Nivån och Datarepresentation

Den Digitala Logiska Nivån och Datarepresentation

• Inledning

• Datarepresentation

• Den digitala logiska nivån

• Sammanfattning

• Övrigt

Page 53: Den Digitala Logiska Nivån och Datarepresentation

Övrigt Relevant Material

• Frågor? Skicka dem gärna till [email protected].

• Länkar finns på http://www.dsv.su.se/~johank/courses/dsv1d