Lösningsförslag tenta

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

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

Programexempel för FLEX

Exempel 3 på Tentamen

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

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

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

Tentamen med lösningar

Digital- och datorteknik

CHALMERS TEKNISKA HÖGSKOLA

Exempel 2 på Tentamen med lösningar

Exempel 1 på Tentamen med lösningar

TENTAMEN(Nu anpassad till FLIS- processorn)

Tentamen. EDA452 Grundläggande Datorteknik, D DIT790 Digital- och datorteknik, GU. Måndag 17 December 2012, kl

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

Digital- och datorteknik

TENTAMEN (Något redigerad)

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

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

Digital- och datorteknik

ALU:n ska anslutas hur då?

Avbrottshantering. Övningsuppgifter Lösningsförslag Uppgift (Reservation för diverse fel!)

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

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

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

Digital- och datorteknik

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

EDA215 Digital- och datorteknik för Z

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

Digital- och datorteknik

LV6 LV7. Aktivera Kursens mål:

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

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

LEU431. Digital- och datorteknik. Diverse kompletterande material

Extrauppgifter för CPU12

Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller

Digital- och datorteknik

Villkorliga hopp: 9/26/2011. Dagens mål: Du ska kunna.. Villrorliga (Relativa) hopp - forts Arb s 140. LV5 Fo12. LV5 Fo12. Aktivera Kursens mål:

9/22/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke...

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

Tentamen (Svar och lösningsförslag)

11/16/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke...

Facit till övningsuppgifter Kapitel 13 Anslutning av minnes- och I/O-moduler till buss 13-1

EDA Digital och Datorteknik

Digital- och datorteknik

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

Digital- och datorteknik

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP.

Förenklad förklaring i anslutning till kompedieavsnitten 6.3 och 6.4

Assemblerprogrammering del 3

Assemblerprogrammering

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

Maskinorienterad programmering

Avbrottshantering. Övningsuppgifter

Laboration nr 3 behandlar

Reducerad INSTRUKTIONSLISTA för FLIS-processorn

Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik

FLEXIBLE INSTRUCTION SET PROCESSOR FLISP

EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7)

Digital- och datorteknik

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

Assemblerprogrammering del 2

Digital- och datorteknik

Assemblerprogrammeringsuppgifter för FLIS-processorn

Ext-14 (Ver ) Ext-14. FLEX-processorns styrenhet med fast logik

Digital- och datorteknik

FLEXIBLE INSTRUCTION SET PROCESSOR FLISP

Centralenheten: ALU, dataväg och minne

Föreläsningsanteckningar 2. Mikroprogrammering I

Föreläsningsanteckningar 3. Mikroprogrammering II

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin.

Maskinorienterad programmering

3. Mikroprogrammering II

Grundläggande datorteknik - exempelsamling. Grundläggande datorteknik - exempelsamling

Adressavkodning - busskommunikation

Digital och Datorteknik EDA /2011. EDA 451 Digital och datorteknik 2010/2011. Uppbyggnad_och_funktion.pdf

Styrenheten styrsignalsekvenser programflödeskontroll

CPU. Carry/Borrow IX. Programräknare

CE_O3. Nios II. Inför lab nios2time

Grundläggande datorteknik exempelsamling

exempel på Tentamen 2

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

Digital- och datorteknik

MANUALBLAD MODULER TILL DIGITALMASKINEN

EDA Digital och Datorteknik

LEU240 Mikrodatorsystem

TSEA28 Datorteknik Y (och U)

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Tentamen. Datorteknik Y, TSEA28

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

TSEA28 Datorteknik Y (och U)

Bilda styrsignalerna till datavägen RESET FETCH EXECUTE NF NF NF. Digital och Datorteknik EDA /2011. Digital och Datorteknik EDA /2011

Lösningsförslag till Tenta i Mikrodator

Tentamen. Datorteknik Y, TSEA28

F8: Undantagshantering

TENTAMEN (med svar och vissa lösningar)

Mikroprogrammering I

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

Transkript:

Lösningsförslag tenta 2013-12-16 (Version 5 med reservation för eventuella fel. Uppdaterad 140417.) 1. X = 1010 0101 2 ; Y = 0101 1011 2 (8 bitars ordlängd) a) [0, 2 n 1] = [0, 2 8 1] = [0, 255] b) [ 2 n-1, +2 n-1-1] = [ 2 8-1, +2 8-1 1] = [ 128, +127] c) S = X+Y 876543210 bitnummer 111111110 carry 10100101 X +01011011 Y 00000000 = S d) N = s 7 = 0 Z = 1 (S = 0) V = x 7 *y 7 *s 7 + x 7 *y 7 *s 7 = 1*0*0 + 1 *0 *0 = 0 C = c 8 = 1 NZVC = 0101 e) D = X+Y 1k +1 876543210 bitnummer 101001011 carry 10100101 X +10100100 Y 1k 01001010 = D f) N = d 7 = 0 Z = 0 (D 0) V = x 7 *y 71k *d 7 + x 7 *y 71k *d 7 = 1*1*0 + 1 *1 *0 = 1 C = c 8 = 1 = 0 NZVC = 0010 g) X = 1010 0101 2 = A5 16 = 10*16 + 5 = 165 Y = 0101 1011 2 = 5B 16 = 5*16 + 11 = 91 S = 0000 0000 2 = 0 Resultatet S är felaktigt eftersom C = 1. D = 0100 1010 2 = 4A 16 = 4*16 + 10 = 74 Resultatet D är korrekt eftersom C = 0. h) (x 7 = 1, neg ) X 2k = 2 8 165 = 256 165 = 91 X motsvarar 91 (y 7 = 0, pos) Y = 91 (s 7 = 0, pos) S = 0000 0000 2 = 0 Resultatet S är korrekt eftersom V = 0. (d 7 = 0, pos) D = 74 Fel eftersom V = 1. i) N = 125,125 10 = 1111101.001 = 1.111101001*2 6 Format: s/c/f s = 0 (pos); c = exp + 2 8-1 - 1 = 6 + 127 = 133 = 10000101 2 ; f = mantissa - 1 N flyt = 0/100 0010 1/111 1010 0100 0000 0000 0000 2 = 42FA4000 16 2. a) a u = [(ac ) (a+b)] = c X 1 = (ac )(a+b) + (ac ) (a+b) = =1 u = ac +abc + (a +c)a b = a = ac +abc + a b +a b c = 1 X b = ac + a b = (a + b )(a + c ) (Nr 4) b) ab cd 00 0 1 0 1 01 1 0-0 11-1 - 0 10 0-1 0 bc 0 1 1 0 0 1 1 0 0 1 NAND-gindar "ettor" f = a (b c d) + ad (Nr 5) [Nr 8 ger också korrekt funktion, men utgår från "nollor" och är därför inte lämpligt för NAND-grindar. ] a (4p)

3. a) T Q Q + D Q 0 0 0 0 D 0 1 0 1 1 1 T 0 0 1 1 0 1 1 1 1 0 1 1 0 0 T =1 1D Q D = T Q + TQ = T Q b) För T-vippor gäller att q + = q för T = 0 och q + = q för T = 1. q 2 q 1 q 0 T 2 T 1 T 0 q + 2 q + 1 + q 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 1 0 1 0 1 T 2 q 1 q 0 q 0 0 0 0 1 2 1 1 0 0 0 T 1 q 1 q 0 q 0 0 1 0 0 2 1 0 0 1 0 T 2 = q 2 q 1 q 0 + q 2 q 1 q 0 = (q 2 q 1 )q 0 T 1 = q 2 q 1 q 0 + q 2 q 1 q 0 = (q 2 q 1 ) q 0 T 0 = (q 2 q 1 q 0 ) = (q 2 q 1 ) q 0 T 0 q 1 q 0 q 0 1 0 1 0 2 1 0 1 0 1 q 0 =1 T 0 1T q 0 q 0 q 1 q 2 =1 q 0 1 T 1 1T q 1 q 1 q 0 T 2 1T q 2 q 2 (6p) 4. Styrsignaler (=1) RTN A(8) B(8) T(8) R(8) 1 O B, LD T B T C8 64?? 2 O A, f 3, f 2, LD R A T 1 R C8 64 64? 3 O R, f 3, f 1, f 0, LD R, LD T 2R R, R T C8 64 64 63 4 O R, f 3, f 1, LD R R + T R C8 64 63 C6 5 O R, LD B R B C8 64 63 29 6?? C8 29 63 29 (4p)

5. a) FLISP: State Summaterm RTN-beskrivning Styrsignaler Q 4 Q 4 I xx M(PC) T, PC+1 PC MR, LD T, INC PC Q 5 Q 5 I xx X + T R O X, f 3, f 1, f 0, LD R Q 6 Q 6 I xx R X, (New Fetch) O R, LD X, NF FLX: State Summaterm RTN-beskrivning Styrsignaler Q 5 Q 5 I xx PC MA, PC+1 PC O PC, LD MA, IncPC Q 6 Q 6 I xx M(MA) T MR, LD T Q 7 Q 7 I xx X + T R O X, f 3, f 1, LD R Q 8 Q 8 I xx R X, (Next Fetch) O R, LD X, NF Detta är: LAX n,x b) FLISP: State S-term RTN-beskrivning Styrsignaler (=1) Q 4 Q 4 I DF M(PC) TA, PC+1 PC MR, LD TA, INC PC Q 5 Q 5 I DF M(X) T MR, g 13, g 12, LD T Q 6 Q 6 I DF M(TA) + T R, 0 T, ALU(NZVC) CC MR, g 14, f 3, f 1, f 0, LD R, LD CC, CLR T Q 7 Q 7 I DF R M(X) O R, g 13, g 12, MW Q 8 Q 8 I DF X + 1 R O X, f 3, f 0, LD R Q 9 Q 9 I DF R X, (New Fetch) O R, LD X, NF OPKOD Adr FLX: State S-term RTN-beskrivning Styrsignaler (=1) Q 5 Q 5 I DF PC MA, PC+1 PC O PC, LD MA, IncPC Q 6 Q 6 I DF M(MA) MA MR, LD MA Q 7 Q 7 I DF M(MA) T MR, LD T Q 8 Q 8 I DF X MA O X, LD MA Q 9 Q 9 I DF M(MA) + T R, Flags CC MR, f 3, f 1, LD R, LD CC Q A Q A I DF R M(MA) O R, MW Q B Q B I DF X + 1 R O X, f 3, g 0, LD R Q C Q C I DF R X, (Next Fetch) O R, LD X, NF (4p)

6. a) Funktionen hos signalen NF är att ladda tillståndsräknaren med värdet 3, som motsvarar första tillståndet i FTCH. Om sista tillståndet i XCUT inte aktiverar NF så fortsätter tillståndsräknaren räkna tills den varvar efter 15 och börjar om med RST följt av FTCH, dvs processorn startar om på det aktuella programmets startadress. b) Vi förutsätter att båda talen har ordlängden 8 bitar och därmed talområdet [ 128 10,+127 10 ], eftersom hoppvillkoret för BPL avser tal med tecken. Det villkorliga hoppet BPL Adr utförs om N-flaggan = 0, dvs. om subtraktionen ger ett resultat 0. Värdet 97 16 = 151 10 motsvarar det negativa talet (256 151) 10 = 105 10. Hoppvillkoret blir W ( 105 10 ) 0; W 105 10 ; 105 10 W 127 10 Om overflow inträffar får N-flaggan i detta fall värdet 1 vilket medför att hoppet då inte utförs. Overflow inträffar om W ( 105 10 ) 128 10 dvs. W 128 10 105 10 = 23 10. Hoppet görs därför om W tillhör intervallet: 105 10 W 22 10. ftersom 2-komplementrepresentation används för negativa tal delar vi upp intervallet i en negativ och en positiv del, 105 10 W 1 och 0 W 22 10. Det verkliga intervallet för den negativa delen blir: 256 10 105 10 W 256 10 1 dvs. 151 10 W 255 10. Hoppet utförs alltså om W tillhör något av intervallen: 0 W 22 10 eller 151 10 W 255 10. c) Assemblerkod Adr Data ~ Läge Operation Operand LDA #10 4 JSR DLAY Offset CONST QU 5 ORG $80 80 10 3 DLAY PSHA 81 10 3 PSHA 82 F0 05 2 YLOOP LDA #CONST 84 08 3 ILOOP DCA 85 25 FD 4 BN ILOOP 84 87 = FD 87 48 00 4 DC 0,SP 89 25 F7 4 BN YLOOP 82 8B = F7 8B 14 3 PULA 8C 14 3 PULA 8D 43 2 RTS d) JSR DLAY tar 4 klockpulser. A-reg innehåller värdet 10 vid anropet, så yttre slingan (YLOOP) utförs 10 gånger. T = 4+3+3+[2+(3+4) 5+4+4] 10+3+3+2 = 18+[10+7 5 ] 10 = 468 st (μs)

7. BOS QU $FA Bottom of stack INPORT QU $FB DIPSWITCH UTPORT QU $FC Ljusdiodramp (LD) DLAY QU $80 Färdig fördröjningsrutin (200 ms) ORG $10 Huvudprogrammets startadress START LDSP #BOS Initiera stackbotten CLR UTPORT Alla ljusdioder släckta PLOOP LDX #PATTRN Pekare till tabell för diodmönster WAIT TST INPORT Starta visning? BPL WAIT Nej, bit7 = 0 ; LDA,X+ Ja, bit7 = 1. Hämta bitmönster från tabell STA UTPORT Visa bitmönster JSR DLAY Vänta 200 ms CMPX #PATTRN+8 Hela tabellen avverkad? BQ PLOOP Ja, börja om från startläget BRA WAIT Nej, kolla om nästa bitmönster skall visas ; Tabell med samtliga bitmönster PATTRN FCB %10000001,%01000010,%00100100,%00011000 FCB %00011000,%00100100,%01000010,%10000001 (7p)

8. 0000H 01FFH 0200H Upptaget för styrregister mm ROM Passiv 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 512 = 2 9 Start: 0000H = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Slut: 01FFH = 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 9 st RWM 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 2k = 2 11 Start: F800H = 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 F7FDH F7FH I/O-port 1 F7FFH I/O-port 2 F800H 2 kbyte RWM FFFDH FFFH Inport3 FFFFH Inport4 64 kbyte ROM Slut: FFFFH = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 st I/O-port 1 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Adr: F7FH = 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 I/O-port 2 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Adr: F7FFH = 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 Inport 3 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Adr: FFFH = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 () Inport 4 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Adr: FFFFH = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A 14 A 13 A 12 A 11 A 10 A 9 PA. IN3 PA IN1 IN2 IN3 IN4 RWM A 14 A 13 A 12 A 11 IN3 IN4 ROM RWM A 1 A 12 A 11 A 10 A 1.. IN4 IN1 IN2 OUT1 OUT2 (7p)