En introduktion till Datorteknik för I. Roger Johansson

Relevanta dokument
Datortekniken ligger till grund för en lång rad välbekanta vardagsprylar

Grundläggande Datorteknik Digital- och datorteknik

Binär addition papper och penna metod

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Digital- och datorteknik

LV6 LV7. Aktivera Kursens mål:

EDA451 - Digital och Datorteknik 2009/2010. EDA Digital och Datorteknik 2009/2010. Binär Kodning, lärobokens kap.2

Binär kodning. Binära koder. Tal och talsystem positionssystem för basen 10. Begrepp. Begrepp Tal och talsystem Talomvandling ASCII-kod NBCD Gray-kod

Datoraritmetik. Binär addition papper och penna metod. Binär subtraktion papper och penna metod. Binär multiplikation papper och penna metod

ALU:n ska anslutas hur då?

Digital- och datorteknik

Digital- och datorteknik

Kursens mål: Grundläggande Datorteknik. Kursens Hemsida. Fatta hur en dator är uppbyggd (HDW) Fatta hur du du programmerar den (SW)

Digital- och datorteknik. Mekatronik-, data- och elektroingenjör Åk 1/ lp 1o2. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen

Digital- och datorteknik

EDA Digital och Datorteknik 2009/2010

Digital elektronik CL0090

Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

EDA Digital och Datorteknik 2010/2011

Digital- och datorteknik

Tentamen. EDA432 Digital och datorteknik IT INN790 Digital och datorteknik GU. Måndag 23 oktober 2006, kl i V-salar

EDA Digital och Datorteknik

TENTAMEN. Digital- och datorteknik E. Institutionen för data- och informationsteknik Avdelningen för datorteknik. Elektro Åk 1/ lp 4 EDA216/DIT790

EDA215 Digital- och datorteknik för Z

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

PARITETSKONTROLL. Om generatorn i vidstående exempel avkänner ett jämt antal ettor ger den en nolla ut. Detta innebär att överföringen

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Styrenheten 9/17/2011. Styrenheten - forts Arb s 120. LV4 Fo10. Aktivera Kursens mål: Kap 7 Blå

Digital- och datorteknik

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik 2010/2011

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

DIGITALA TAL OCH BOOLESK ALGEBRA

Digital- och datorteknik

Digital- och datorteknik

TENTAMEN(Nu anpassad till FLIS- processorn)

Digital- och datorteknik. Lars-Eric Arebrink. Av institutionen utgiven instruktionlista FLEXIBLE INSTRUKTION SET PROCESSOR FLISP

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!

Digital- och datorteknik

Digital och Datorteknik. Kursens mål: Kursens mål: Dator teknik. Digital teknik. Digital teknik Dator teknik. Dig o Dat = DoD

IE1205 Digital Design: F6 : Digital aritmetik 2

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

Grundläggande Datorteknik Digital- och datorteknik

Digital Aritmetik Unsigned Integers Signed Integers"

Switchnätsalgebra. Negation, ICKE NOT-grind (Inverterare) Konjunktion, OCH AND-grind. Disjunktion, ELLER OR-grind

Sekvensnät vippor, register och bussar

Digital elektronik CL0090

TENTAMEN (Något redigerad)

EDA451 - Digital och Datorteknik 2009/2010. EDA Digital och Datorteknik

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Kursens mål: Digital och Datorteknik. Kursens mål: Digital teknik Dator teknik. Dator teknik. Digital teknik. Dig o Dat = DoD

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. Lars-Eric Arebrink

Inledning. Statistisk Programmering. UNIVAC 1107 (sextio- och sjuttiotal) Hålkorten. Att använda dator

F2 Datarepresentation talbaser, dataformat och teckenkodning

Maskinorienterad Programmering /2011. Maskinorienterad Programmering 2010/11. Maskinnära programmering C och assemblerspråk

Digital- och datorteknik

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Måndag 19 oktober 2009, kl

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Onsdag 12 Januari 2011, kl

Grundläggande datorteknik

TENTAMEN. Digital- och datorteknik. Institutionen för data- och informationsteknik Avdelningen för datorteknik LEU431. Lars-Eric Arebrink

Digital- och datorteknik

Tentamen. EDA432 Digital- och datorteknik, IT DIT790 Digital- och datorteknik, GU. Måndag 18 Oktober 2010, kl

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Centralenheten: ALU, dataväg och minne

Digital- och datorteknik

Maskinorienterad programmering

Digital- och datorteknik

Lösningsförslag till tentamen i Digitalteknik, TSEA22

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Kursens mål: Digital och Datorteknik. Kursens mål: Digital teknik Dator teknik. Dator teknik. Digital teknik. Dig o Dat = DoD

exempel på Tentamen 2

Mattias Wiggberg Collaboration

Det finns en hemsida. Adressen är

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Tentamen (Svar och lösningsförslag)

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

Dig o Dat. Digital och Datorteknik. Kursens mål: Digital teknik Dator teknik. Dig o Dat = DoD

Dig o Dat. Digital och Datorteknik. Kursens mål: Digital teknik Dator teknik. Dig o Dat = DoD

Introduktion till digitalteknik

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

Digital och Datorteknik

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1

TSEA22 Digitalteknik 2019!

IE1204 Digital Design

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

Datorsystemteknik DVG A03 Föreläsning 3

Exempel 1 på Tentamen med lösningar

Digital- och datorteknik

Tentamen 3. EDAxxx Grundläggande Datorteknik DIT791 Grundläggande Datorteknik, GU. Måndag xx Oktober 20xx, kl

EDA216. Digital- och datorteknik. Diverse kompletterande material

Kodningskonventioner (XCC12) Specifikation av strncpy: Övningsexempel: Maskinorienterad Programmering 2011/2012

Tenta i Digitalteknik

ÖH kod. ( en variant av koden används i dag till butikernas streck-kod ) William Sandqvist

Tenta i Digitalteknik

Tentamen med lösningar

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Transkript:

En introduktion till Datorteknik ör I Roger Johansson Datortekniken ligger till grund ör en lång rad välbekanta vardagsprlar Mobilteleoner, mediaspelare; mp3, IPOD digitalboar, "laptops, hemma-bio spelkonsoler mikrovågsugnar huslarm, "smartcards" etc.

Samma teknik ligger också till grund ör ett stort antal av samhällets tekniska sstem arbetsstationer bilar lgplan traiksstem larmsstem robotar processmaskiner medicinsk apparatur rmdarkoster m l 3 Alla dessa tekniska "prlar" och sstem innehåller digitala sstem. Datorsstem är programmerbara digitala sstem. Digitala sstem baseras på digital teknik som alltså är undamental ör skapandet av datorsstem. Kärnan i ett datorsstem är en mikroprocessor. 4

Mikroelektronikens utveckling Antalet transistorer som rms på en kiselbricka ördubblas var 8-e månad... 5 Talsstem och talomvandling 6 3

Binär kodning Begrepp Tal och talsstem ASCII-kod NBCD 7 Begrepp vid binär kodning begrepp betdelse eempel... bit/bitar bitsträng binärt ord minsta inormationsenhet, kan anta två värden 0 eller sekvens av bitar 0000000... kodord κ 7 κ 6 κ 5 κ 4 κ 3 κ κ κ 0 också ett binärt ord men med en astställd kodning (betdelse) ordlängd antal bitar i ordet nibble ordlängden 4 bitar 00 bte ordlängden 8 bitar 0000 00000 = A (ASCII) 00000 = 65 (naturligt tal) 00000 = -7 (heltal) 8 4

Positionssstem, 0-decimalt Ett N-bitars tal. N = n+m där n är antalet siror i heltalsdelen och m är antalet siror i bråkdelen skriver vi allmänt: Mest signiikanta sira (MSD) d n dn... dd0. d d... d ( m ) Decimalpunkt d m Minst signiikanta sira (LSD) Eempelvis, talet: 3,456 0 0 3 0 0 4 0 5 0 6 0 3 00 0 3 0,4 0,05 0,006 Där N=6, n=m=3, varje siras vikt avgörs av dess position i talet... 9 Positionssstem, generellt Talbasen kan dock vara praktiskt taget vad som helst... d n n 0 n dn... d d0 d d... d ( m ) ( m ) d m m Eempel: =0 n n 0 ( m ) m dn 0 dn 0... d 0 d0 0 d 0 d 0... d ( m ) 0 d m 0 Eempel: = n n 0 ( m ) m dn dn... d d0 d d... d ( m ) d m Vi använder vanligen det enklare skrivsättet N ( dn dn... dd0. d d... d ( m ) d m ) 0 5

Talbaser Vi använder huvudsakligen tre olika talbaser: Decimalt, ör att vi är vana vid det. Binärt, ör att det motsvarar inormationselementen i det digitala sstemet. Headecimalt, därör att det är ett bekvämt sätt att skriva grupper av binära siror Eempel: (3) 0 = (0) =(D) 6 bas 0 decimalt bas binärt bas 6 headecimalt 0 0000 0 000 000 3 00 3 4 000 4 5 00 5 6 00 6 7 0 7 8 000 8 9 00 9 0 00 A 0 B 00 C 3 0 D 4 0 E 5 F Talomvandlingar För talomvandling till basen 0 använder vi deinitionen direkt... Eempel: Omvandla till decimal orm: a) (0.) b) (A.8F) 6 Lösning: a) (0.) = {N=6, n=m=3, =} = + + 0 0 + - + - + -3 = 4 + + 0+ /+ /4 + /8 = 6 + 7/8 = (6,875) 0 b) (A.8F) 6 = {N=4, n=m=, =6} = 6 + 0 6 0 + 8 6 - + 5 6 - = 6 + 0 + 8/6 + 5/56 = 6 + 43/56 = (6,55859375) 0 6

Omvandling rån N 0 till N. Dela upp N 0 i heltalsdel och bråktalsdel.. Heltalsdelen omvandlas via succesiva divisioner med. 3. Bråkdelen omvandlas via succesiva multiplikationer med. Eempel: Omvandla (,8) 0 till binär orm. Bråkdelen avkortas vid behov till 7 korrekta bråksiror. 3. Omvandla () 0 till binär orm / Heltalsdelen således: = 6 + 0/ d 0 = 0 6/ = 30 + / d = 30/ = 5 + 0/ d = 0 5/ = 7 + / d 3 = 7/ = 3 + / d 4 = 3/ = + / d 5 = / = 0 + / d 6 = (00) Terminerings- villkor 4 7

. Omvandla (0,8) 0 till binär orm 0,8 = 0,36 = 0,7 = 0,44 = 0,88 = 0,76 = 0,5 = 0,36 d - = 0 0,7 d - = 0,44 d -3 = 0,88 d -4 = 0,76 d -5 =,5 d -6 =,04 d -7 = Termineringsvillkor enligt uppgitsteten 7 st. korrekta bråksiror Bråkdelen således: (0.000) 5 Omvandla till headecimal orm Eempel: Omvandla (,8) 0 till headecimal orm. Bråkdelen avkortas vid behov till korrekta bråksiror. Heltalsdelen: Bråkdelen: /6 = 7 + 0/6 d 0 = (0) 0 =(A) 6 7/6 = 0 + 7/6 d = (7) 0 =(7) 6 0,8 6 =,88 d - = () 0 =() 6 0,88 6 = 4,08 d - = (4) 0 =(E) 6 Svar: (,8) 0 7A.E 6 8

Alanumeriska tecken ASCII American Standard Code or Inormation Interchange Tpiskt användningsområde: Tangentbord 7 7-bitars ASCII kodning 0 0 0 0 0 0 0 0 0 0 0 0 κ6κ5κ4 κ3κκκ0 NUL DLE SP 0 @ P ` p 0 0 0 0 SOH DC! A Q a q 0 0 0 STX DC B R b r 0 0 0 ETX DC3 # 3 C S c s 0 0 EOT DC4 $ 4 D T d t 0 0 0 ENQ NAK % 5 E U e u 0 0 ACK SYN & 6 F V v 0 0 BEL ETB 7 G W g w 0 BS CAN ( 8 H X h 0 0 0 HT EM ) 9 I Y i 0 0 LF SUB * : J Z j z 0 0 VT ESC + ; K [Ä k {ä 0 FF FS, < L \Ö l ö 0 0 CR GS - = M ]Å m }å 0 S0 RS. > N ^ n ~ 0 S US /? O _ o RUBOUT (DEL) 8 9

ASCII Eempel Tetsträngen Hej representeras som: 00000 000 000 H e j Tetsträngen 9756 representeras som: 000 00 000 000 9 7 5 6 9 Ecess n kod kvantiserad signal 3 0 0 Används ör att koda bipolära storheter, eempelvis att representera ett spänningsintervall -0 V < analog signal < 0 Volt -,5 -,5-0,5 00 00 000 - - -3 00 0,5,5,5 0 uppmätt analog signal Ecess-3 Men också som eponent i IEEElttal (beskrivs nedan...) 0 0

Flttal Eempel: Omvandla (,8) 0 till normaliserat tal med ltande bråkpunkt (lttal). Lösning: Vi har tidigare sett att: (,8) 0 = (00.000) Men detta kan också skrivas: (.00000) 6 Normaliserad mantissa m < Eponent Teckenbit måste innas, etersom både talet och eponenten är bipolära (+/-0) +(.00000) +6 Teckenbit: 0 = + = - tecken 0/0/.00000 eponent ecess 8 Normaliserad mantissa Här använder vi ecess-n Kodning minst 4 bitar behövs här t 6 = (0), dvs tre bitar Och vi kräver smmetriskt +/-

tecken 0/0/.00000 eponent Normaliserad mantissa Egentligen onödigt att lagra denna, t den är alltid... Vilket leder oss till... 3 IEEE - Flttalsstandard lttalsormat noggrannhet i resultat rån aritmetiska operationer omvandling mellan heltal och lttal omvandling till/rån andra lttalsormat avrundning undantagshantering vid operationer på lttal, eempelvis division med 0 och resultat som ej kan representeras av lttalsormatet. Standarden deinierar ra olika lttalsormat: Single ormat, totalt 3 bitar Double ormat, totalt 64 bitar Single etended ormat, antalet bitar är implementationsberoende Double etended ormat, totalt 80 bitar 4

MSB LSB S C F där: F (ractional part) kallas också signiikand, är den normaliserade mantissan, dvs den örsta (implicita) ettan i mantissan utelämnas i representationen och mantissan skitas ett steg till vänster. På så sätt uppnår vi tterligare noggrannhet etersom vi år tterligare en sira i det lagrade talet. C (karakteristika) är eponenten uttrckt på ecess(n) ormat, n beror på vilket av de ra ormaten som avses. S (sign) är teckenbit ör F. Format S C F Single bit 8 bitar ecess(7) 3 bitar Double bit bitar ecess(03) 5 bitar Etended bit 5 bitar ecess(047) 64 bitar 5 Aritmetik 6 3

Binär addition papper och penna metod Eempel:(5) 0 + (3) 0 =? 0 (5) 0 (3) 0 + 0 00 (8) 0 minnessiror augend addend summa 7 Binär multiplikation papper och penna metod Eempel: (5) 0 () 0 =? (5) 0 00 multiplikand () 0 0 multiplikator 00 00 00000 + 00 (75) 0 00000 produkt 8 4

Binär subtraktion papper och penna metod Eempel:(0) 0 - (43) 0 =? 0 0 minnessiror (0) 0 00 minuend (43) 0-00 subtrahend (67) 0 0000 skillnad 9 Binär division papper och penna metod Eempel:(33) 0 : (6) 0 =? divisor 00 0 0000-000 000-0 000-000 00-0 0 kvot dividend rest (0000) :(0) = (00) + (0) :(0) 30 5

8-bitars addition 5 + 6 000000 + 000000 00000 8 bitar ger talområdet 0.. 8 - = 0..55 54 + 5 0 + 000000 59 000000 000000 Spill! ( Overlow ) 3 Geometrisk tolkning - tallinje 5 6 0 55 3 54 5 Vi säger att C-laggan, genererad rån addition av de mest signiikanta bitarna är en spillindikator. 3 6

8-bitars subtraktion 54-5 0-000000 49 00 5-6 0 0 0 0 0 0 000000-000000 55 För att kunna utöra subtraktionen tvingas vi låna av en tänkt sira med vikt 8. Spill! ( Underlow ) 33 Geometrisk tolkning - tallinje 3 54 0 49 55 5 6 55 Den tänkta lånebiten kallar vi Borrow, en spillindikator. 34 7

Tal med tecken - Tvåkomplementsorm +/- X, N-bitars tal: N- N-... 0 0: X 0 : X<0 X om X N- = 0 N - X om X N- = Eempel: 8-bitars tal +/- 9: +9-9=[56-9=37] 0 0 0 0 0 0 0 35 Tvåkomplementsorm - Metod ör teckenbte X+Y = n Y är -komplementet till X (n-bitars tal) För 8-bitars tal således: Y = X k = 8 X = = ( 8 -) X + = 7 6 5 4 3 0 + Detta kallas -komplement (X k ). Bitvis invertering 36 8

Eempel: Bestäm maskintalet på 8 bitars tvåkomplementsorm ör decimala talet -50 Vi utgår enklast rån X=50 (och söker X k ) (50) 0 = X = 00000 X k = 000 + - (50) 0 = X k = 000 37 Tvåkomplementsorm - addition Relation A och B, om: A,B 0 A 0, B<0, A<0, B 0, A,B<0 Utörs A+B som: A+B A+B k = [A+( N -B)] (mod N )= A-B = A + (-B) A k +B = [( N -A)+B] (mod N )= -A+B = B + (-A) A k +B k = [( N -A)+( N -B)] (mod N )= -A-B = -(A+B) Dvs. Oavsett vilka tecken de ingående talen har så ungerar rättram binär addition. 38 9

Tvåkomplementsorm - subtraktion Vi inser också att en subtraktion kan utöras med hjälp av en adderare t A-B = A+(-B) och B=B k = B k + Eempel: 6 5=6+(-5)= 000000+ 00+ (5) 0 = (000000) Dvs -komplement: (00) k 000000 + 00 0000000 39 Tvåkomplementsorm - talområde n n 0 Eempel: 8-bitars tal -8 0 7 40 0

Tvåkomplementsorm - spillindikatorer A + B där A 0 och B<0 B A -8 0 7 ma B ma A Slutsats: Om A och B har olika tecken vid addition kan -komplementspill inte uppträda 4 A + B = S, där A 0 och B 0 A B -8 0 S 7 S A B Slutsats: Om A och B har samma tecken vid addition kan -komplementspill uppträda. Vi kan konstatera spill genom en teckenöverläggning, dvs: spill = (A 0) (B 0) (S<0) 4

A + B = S, där A<0 och B < 0 B A -8 S 0 7 B A S I detta all kan vi skriva spillvillkoret: spill = (A<0) (B<0) (S 0) 43 Vi sammanattar Tvåkomplementsorm är lämplig representation ör binära negativa heltal. Subtraktion utörs som addition av tvåkomplement Spillindikator vid addition av naturliga tal [0...N] Carr = c n Spillindikator vid subtraktion av naturliga tal [0...N] Borrow = c n Spillindikator vid addition/subtraktion av n-bitars heltal [-M..N] med tvåkomplementsrepresentation: Overlow = s n- n- n- + s n- n- n- 44

Grindar och vippor... 45 Negation, ICKE NOT-grind (Inverterare) satslogik p p Boolesk algebra sanningstabell unktionstabell = IEC-smbol TTL (Transistor- Transistor- Logic) 5 Volt F S S F 0 0 Amerikansk smbol Observera de alternativa skrivsätten inom Boolesk algebra ' 0 Volt 46 3

Disjunktion, ELLER OR-grind satslogik p q p q Boolesk algebra sanningstabell unktionstabell =+ IEC-smbol TTL (Transistor- Transistor- Logic) 5 Volt F F F F S S S F S S S S 0 0 0 0 0 Amerikansk smbol 0 Volt 47 Konjunktion, OCH AND-grind satslogik p q p q Boolesk algebra sanningstabell unktionstabell = IEC-smbol & TTL (Transistor- Transistor- Logic) 5 Volt F F F F S F S F F S S S 0 0 0 0 0 0 0 Amerikansk smbol 0 Volt 48 4

Antalet ingångar kan utökas 5 Volt z w = ( ) (z w) z w = zw z w 0 Volt Antal ingångar (an-in), begränsas av använd kretsteknologi. 49 5 Volt z w = (+)+(z+w) z w = ++z+w z w 0 Volt 50 5

Negerad konjunktion, ICKE-OCH NAND-grind satslogik p q (p q) Boolesk algebra sanningstabell unktionstabell =( ) IEC-smbol & TTL (Transistor- Transistor- Logic) 5 Volt F F S F S S S F S S S F 0 0 0 0 0 Amerikansk smbol 0 Volt 5 Negerad disjunktion, ICKE-ELLER NOR-grind satslogik p q (p q) Boolesk algebra sanningstabell unktionstabell =(+) IEC-smbol TTL (Transistor- Transistor- Logic) 5 Volt F F S F S F S F F S S F 0 0 0 0 0 0 0 Amerikansk smbol 0 Volt 5 6

(NOT) Ekluderande ELLER, (ICKE) XOR-grind Deinition: = + unktionstabell = = IEC-smbol unktionstabell =( ) ( ) = + IEC-smbol 0 0 0 0 0 0 Amerikansk smbol 0 0 0 0 0 0 = Amerikansk smbol 53 Kombinatoriska nät 0 3 4 m 0 ( 0,,,..., m ) ( 0,,,..., m ) ( 0,,,..., m ) n ( 0,,,..., m ) Ett kombinatoriskt nät har it antal ingångar (m-) och it antal utgångar (n-). Varje utgång har i varje ögonblick det värde som entdigt bestäms av insignalerna. Vi introducerar komponenter som bggblock i datorn. 54 7

Se Arbetsbok, kap. 8 Väljare (Multipleer) 0 0 0 0 s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 s 0 0 s 0 s av väljare 3 0 s 0 s 0 0 s 0 3 s 0 s 3 4 4 5 5 6 6 7 7 3 M U X s s 0 s 0 av 8 väljare MUX s 0 0 s 8 s 0 0 3 3 4 4 5 5 6 6 7 av 4 väljare 7 55 Binär addition Uppställning ör addition av två st. n-bitars tal: c n c n- c n-...c i...c a n- a n-...a i...a a 0 + b n- b n-...b i...b b 0 s n s n- s n-...s i...s s 0 vi koncentrerar oss på addition av en bit, säg bit i. c i+ c i i + i = s i a i b i c i s i C i+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Heladderaren, ett kombinatoriskt nät med 3 insignaler och utsignaler a i b i c i Smbol ör heladderare a i b i P Q s i c i CI CO C i+ s i C i+ 56 8

ALU-unktioner D(8) E(8) 3 0 U = (D,E,F,C in ) Operation Resultat 0 0 0 0 Bitvis nollställning 0 0 0 0 D Funktion ALU Flaggor 0 0 0 E 0 0 Bitvis invertering Dk C in 0 0 0 Bitvis invertering Ek U(8) ALU:ns logik- och aritmetikoperationer på indata D och E deinieras av ingångarna Funktion (F) och C in enligt tabellen. F = ( 3,,, 0 ). "+" och "-" avser aritmetiska operationer. D k menas att samtliga bitar i D inverteras. 0 0 Bitvis OR D OR E 0 0 Bitvis AND D AND E 0 Bitvis XOR D XOR E 0 0 0 D + 0 + C in D + C in 0 0 D + FFH + C in D + C in 0 0 D + E + C in 0 D + D + C in D + C in 0 0 D +Ek + C in D E + C in 0 Bitvis nollställning 0 0 Bitvis nollställning 0 Bitvis ettställning FFH 57 Sekvensnät 0 3 4 Kombinatoriskt nät 0 ( 0,,,..., m,q 0,q,...,q i ) ( 0,,,..., m,q 0,q,...,q i ) ( 0,,,..., m,q 0,q,...,q i ) n ( 0,,,..., m,q 0,q,...,q i ) Varje utgång har i varje ögonblick det värde som entdigt bestäms av insignaler och tillstånd. m q 0 e 0 q 0 q e q q i e i q i 58 9

Latch (låskrets) R S Q Q Q kan ettställas eller nollställas ör att däreter behålla värdet. Kopplingen är ett minneselement och kallas SR-latch. R=Reset Funktionstabell S R Q + 0 0 Q 0 0 0 * Smbol S=Set Q Asnkront minneselement 59 Flanktriggad D-vippa D Q CP D CP Q Funktionstabell D Q + 0 0 Q D D CP Q Snkront minneselement 60 30

D-vippa med Load Enable G & S D C S D C G CP R R Strsignalen G ( Gate ) kan användas ör att strpa klockpulsen. Då G=0 behåller vippan sitt värde oavsett vad som inns på D-ingången 6 Laddbart register D 0 D C G Q 0 D 0-7, D in D D D C G D C G Q Q CP LD Register D 3 D C G Q 3 D 4 D C G Q 4 Q 0-7, D ut D 5 D C G Q 5 D 6 D 7 D C G D C G Q 6 Q 7 Registrets innehåll påverkas av ingångarnas nivåer örst vid en klockpuls OCH om LD-signalen är aktiv. CP LD 6 3

Dataväg sammankopplade register Buss D in LD A Register A LD B Register B D ut D ut CP 63 Grind OE Grind OE Grind OEz z z Högst en OE-signal aktiv åt gången... 64 3

Enkel dataväg med ALU CP LD A OE A Reg A CP LD B OE B Reg B F( 0,,, 3 ) C in D CP LD R OE R CP LD T U ALU Reg R Reg T E Flaggor Centralenhet Register Bussar Dataväg Strenhet ALU Strsignaler: LD A LD B LD T LD R OE A OE B OE R F( 0,,, 3 ) C in 65 Minnessstem 66 33

Minnessstem Primärminnen S-RAM, D-RAM, ROM, EPROM, FLASH Sekundärminnen Hårddisk Fleskiveenheten Tertiärminnen Bandstationer Optiska lagringsmedia 67 Statiskt RAM (966) Dnamiskt RAM (DRAM) 970 Intel i03 04-bit Dnamiskt RAM 56-bit TTL RAM (Fairchild) 68 34

ROM (965) EPROM (97) MINNE STYRKRETS Intel 330, 04-bit ROM FLASH 988 BLOCK -minnes åtkomst 69 Hårddisken IBM 350 (956) Kapacitet 5-0 MBte 70 35

Utveckling av lagringskapacitet 7 Fleskivan (967),44 MBte 90 kbte 360 kbte 7 36

Compact Disc(965) Digital Versatile Disc(993) 650-900 MBte 4,7-7 GBte 73 Bandstationer IBM 340 (970) IBM 70 (949) IBM 76 (95) MB IBM MP350 (996) 300GB/kasett 74 37

Centralenhetens arbetssätt 75 Centralenhet och minne 76 38

Centralenhetens arbetssätt En centralenhet har minst tre aser : RESET FETCH EXECUTE Åteställning vid spänningstillslag eller av ttre signal Hämta maskininstruktion rån minne Utör maskininstruktion 77 Eempel: B+ B (INCrement B) 3 0 U = (D,E,F,Cin) Operation Resultat 0 0 0 0 Bitvis nollställning 0 0 0 0 D 0 0 0 E 0 0 Bitvis invertering D k 0 0 0 Bitvis invertering E k 0 0 Bitvis OR D OR E 0 0 Bitvis AND D AND E 0 Bitvis XOR D XOR E 0 0 0 D + 0 + Cin D + Cin 0 0 D + FF 6 + Cin D + Cin 0 0 D + E + Cin 0 D + D + Cin D + Cin 0 0 D +E k + Cin D E + Cin 0 Bitvis nollställning 0 0 Bitvis nollställning 0 Bitvis ettställning FF 6 Observera att en given operation som regel kan utöras på lera olika sätt. Vi etersträvar vanligtvis det eektivaste (minst klockckler). 78 39

I RTN-beskrivningen anger vi, klockpuls ör klockpuls, hur datavägen används. Steg : B D Cin = F=,0,0,0 U R Resultatet B+ inns nu i register R. Etersom bussen är upptagen krävs tterligare steg ör att återöra resultatet till B Steg : R B RTN-beskrivning: B+ R CP: R B CP: CP3: CP4: CP5: 79 Program och data 80 40

Program och minne John Louis Von Neumann (903-957) Det lagrade programmets princip, dvs program och data i samma minne. Maskinprogram i minnet Tillhörande assemblerprogram Instruktion Adress Data 8 Instruktionsormat Eempelvis: ADDB Adr OP-kod Adr LDAB #data OP-kod data TFR B,A OP-kod Adress Maskinprogram 000000 00000 00000 00 0000000 000 000000 00000 00000 Instruktion mnemonic Bte-wide 8 bitar data på varje adress Assemblerprogram operandinormation 8 4

HCSDG56, blockdiagram 83 Registeruppsättning CPU 5 8 7 0 A B D 5 0 X 5 0 Y 5 0 SP 5 0 PC 7 0 S X H I N Z V C 8-BIT ACCUMULATORS A AND B OR 6-BIT DOUBLE ACCUMULATOR D INDEX REGISTER X INDEX REGISTER Y STACK POINTER PROGRAM COUNTER CONDITION CODES REGISTER 84 4

Instruktionsgrupper LOAD-instruktioner Mnemonic Funktion Operation LDAA Load A (M) A LDAB Load B (M) B LDD Load D (M:M+) A:B LDS Load SP (M:M+) SP H :SP L LDX Load inde register X (M:M+) X H :X L LDY Load inde register Y (M:M+) Y H :Y L LEAS Load eective address into SP Eective address SP LEAX Load eective address into X Eective address X LEAY Load eective address into Y Eective address Y STORE-instruktioner Mnemonic Funktion Operation STAA Store A (A) M STAB Store B (B) M STD Store D (A) M, (B) M+ STS Store SP SP H :SP L M:M+ STX Store X X H :X L M:M+ STY Store Y Y H :Y L M:M+ MOVE-instruktioner Mnemonic Funktion Operation MOVB Move bte (8 bitar) (M ) M MOVW Move word (8 bitar) (M:M+) M:M+ 85 EXEMPEL memcop0( rom, to, size ) Kan (inormellt) kodas... memcop0: LDAB size LDX rom LDY to memcop0_loop: memcop0_end: TSTB BEQ LDAA STAA DECB BRA RTS memcop0_end,x+,y+ memcop0_loop 86 43