TENTAMEN (Något redigerad)

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

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

Digital- och datorteknik

Digital- och datorteknik

Digital- och datorteknik

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

TENTAMEN(Nu anpassad till FLIS- processorn)

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. Lars-Eric Arebrink. 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

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. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

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

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

exempel på Tentamen 2

EDA215 Digital- och datorteknik för Z

Maskinorienterad programmering

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

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

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.

ALU:n ska anslutas hur då?

Maskinorienterad programmering

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen.

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

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

Exempel 3 på Tentamen

Lösningsförslag tenta

Tentamen (Svar och lösningsförslag)

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

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

Digital- och datorteknik

Tentamen med lösningar

Assemblerprogrammeringsuppgifter för FLIS-processorn

Exempel 2 på Tentamen med lösningar

Grundläggande Datorteknik Digital- och datorteknik

Exempel 1 på Tentamen med lösningar

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

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

EDA Digital och Datorteknik

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

CHALMERS TEKNISKA HÖGSKOLA

Programexempel för FLEX

Digital- och datorteknik

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

Maskinorienterad programmering

Digital- och datorteknik

Programmering i maskinspråk (Maskinassemblering)

Digital- och datorteknik

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

Digital- och datorteknik

Extrauppgifter för CPU12

Digital- och datorteknik

Digital- och datorteknik

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

Tentamen. EDA485 Maskinorienterad programmering Z DAT015 Maskinorienterad programmering IT. Tisdag xx yyyy 2006, kl

Exempel på tentamen 1

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Digital- och datorteknik

Digital- och datorteknik

Programmering i maskinspråk (Maskinassemblering)

Digital- och datorteknik

EDA216. Digital- och datorteknik. Diverse kompletterande material

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

Digital- och datorteknik

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

Lösningar till tentamen i EIT070 Datorteknik

Föreläsningsanteckningar 2. Mikroprogrammering I

Laboration nr 3 behandlar

LEU431. Digital- och datorteknik. Diverse kompletterande material

Assemblerprogrammering del 1

Digital- och datorteknik

Lösningar till tentamen i EIT070 Datorteknik

Tentamen i Datakunskap NT

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

EDA451 - Digital och Datorteknik 2010/2011. EDA 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:

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

Digital- och datorteknik

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Tentamen i EIT070 Datorteknik

Tentamen PC-teknik 5 p

Tentamen i Digital Design

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

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

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

Tenta i Digitalteknik

EDA Digital och Datorteknik

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

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

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

Assemblerprogrammering del 3

Centralenheten: ALU, dataväg och minne

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

Digital- och datorteknik

Digital- och datorteknik

Styrenheten styrsignalsekvenser programflödeskontroll

Transkript:

Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN (Något redigerad) KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING Data-, elektro- och mekatronikingenjör Åk / lp LE430 EXAMINATOR Lars-Eric Arebrink TID FÖR TENTAMEN 2009-0-4 kl 4.00 8.00 HJÄLPMEDEL Av institutionen utgiven Instruktionslista för FLEX-processorn (INS) Tabellverk eller miniräknare får ej användas. ANSV LÄRARE: Lars-Eric Arebrink, tel. 772 578 Besöker tentamen kl 5.00 och 6.00 ANSLAG AV RESLTAT ÖVRIG INFORM. BETYGSGRÄNSER. SLTBETYG Resultatlistor anslås senast 2009-0-28 på kursens hemsida. Granskning av rättning på institutionen 2009-0-28 och 2009-0-30 kl 2.30-3.00. Tentamen omfattar totalt 60 poäng. Onödigt komplicerade lösningar kan ge poängavdrag. Svar på uppgifter skall motiveras. (Betyg 3: 24 poäng) Betyg 4: 36 poäng Betyg 5: 48 poäng För slutbetyg 3 på kursen fordras godkända redovisningar av arbetshäften och närvaro på samtliga laborationer. För slutbetyg 4 eller 5 på kursen fordras dessutom betyg 4 eller 5 på tentamen.

. I uppgift a-d nedan används talen X = 000 och Y = 0000. 2(8) a) Visa med penna och papper hur räkneoperationen R = X-Y utförs i en 6-bitars AL. (p) b) Vilka värden får flaggbitarna N, Z, V och C vid räkneoperationen? Motivera varför. (p) c) Tolka bitmönstren R, X och Y som tal utan tecken och ange deras decimala motsvarighet. Hur vet man i detta fall om den uträknade skillnaden är korrekt? d) Tolka bitmönstren R, X och Y som tal med tecken och ange deras decimala motsvarighet. Hur vet man i detta fall om den uträknade skillnaden är korrekt? (p) (p) e) Genomför subtraktionen (5872) 0 (7594) 0 med 0-komplementaritmetik. Hur många decimala sifferpositioner behövs? Hur skall man tolka resultatet? (3p) f) Omvandla talet (000) 2 till hexadecimal form. (p) a g) Ge ett minimalt boolesk uttryck för u i grindnätet till höger. = b (3p) u a & b 2. Det booleska uttrycket f(x,y,z,w) = (x + y + w )(y + z + w)(y + z + w)(x + y +w ) beskriver en boolesk funktion. Konstruera ett minimalt grindnät som realiserar den booleska funktionen. NORgrindar med valfritt antal ingångar, XOR-grindar och NOT-grindar får användas. Endast insignalerna x, y, z och w finns tillgängliga. (4p) 3. Ett synkront sekvensnät skall ha en insignal x och en utsignal u. tsignalen u skall ges värdet "" under ett bitintervall för varje insignalsekvens som består av exakt två st nollor följda av en etta och en nolla hos x. Exempel: σ x =...000000000... σ u =...0?00000000000... tsignalen skall som i exemplet ges värdet "" när den sista biten i en korrekt insignalsekvens anländer på x-ingången och behålla värdet "" så länge x har kvar sitt värde under detta bitintervall. a) Rita en tillståndsgraf för sekvensnätet. (4p) b) Realisera en T-vippa med hjälp av en SR-vippa och standardgrindar. (4p)

4. Ge RTN-beskrivning och styrsignaler för de tillstånd krävs för att utföra operationen enligt nedanstående RTN-beskrivning: 3(8) RTN-beskrivning: 4 (A + ) - 5 (B + ) B (Aritmetisk multiplikation avses) Använd den enkla datavägen till höger och ge ditt svar i tabellform. Förutsätt att register A och B från början innehåller de data som skall behandlas enligt uttrycket ovan och att innehållen i register R och T är okända. Register A får inte ändras. Bortse från risken för overflow. Använd så få tillstånd som möjligt. Samtliga funktioner AL:n kan utföra framgår av bilaga. LD A OE A Reg A LD B OE B Reg B 0 0 M C 2 X C 3 2 g g 0 Funkt C in D LD R OE R LD T AL Reg R Reg T E (5p) Flaggor 5. Figur i bilaga 4 visar hur datorn FLEX är uppbyggd. Bilaga visar hur AL ns funktion väljs med styrsignalerna f 3 - f 0 och C in. I tabellen nedan visas RTN-beskrivningen av EXECTE-sekvensen för en av FLEX-processorns instruktioner. State Summaterm RTN-beskrivning Aktiva styrsignaler (=) Q 5 Q 5 I xx PC MA Q 6 Q 6 I xx M MA Q 7 Q 7 I xx M MA Q 8 Q 8 I xx M PC, NF NF i tabellens sista rad anger att nästa tillstånd (state) skall vara det första i FETCH-sekvensen. a) Fyll i styrsignalkolumnen i tabellen. Endast styrsignaler = skall anges. (p) b) Förklara vad instruktionen med EXECTE-sekvensen ovan utför i varje klockcykel. Skriv instruktionen med assemblerspråk för FLEX-processorn. (2p) c) Instruktionen nedan skall implementeras för FLEX-processorn med hjälp av styrenheten med fast logik. Operationskoden F0H skall användas. IBNE B,Adr RTN: B + B, Flags CC If Z = 0: PC + offset PC Samtliga funktioner AL:n kan utföra framgår av bilaga. FLEX-datorn visas i bilaga 4. Gör en tabell liknande tabellen ovan för den efterfrågade EXECTEsekvensen. OPKOD offset (5p)

6. Besvara kortfattat följande frågor rörande FLEX-processorn. 4(8) a) Förklara vad som händer under processorns FETCH-fas. (2p) b) I instruktionsuppsättningen finns de två ovillkorliga hoppen JMP och JSR. Vilken skillnad är det mellan dessa? (2p) c) Det finns två principer för att ansluta inportar och utportar till processorns bussar, separatadresserad resp. minnesorieterad in- och utmatning. Vilken av dessa används i FLEX-processorn? Vilka är fördelarna med denna metod? (2p) d) De villkorliga hoppinstruktionerna i instruktionsuppsättningen använder en eller flera flaggor för att bilda hoppvillkoret. Förklara hur och varför flaggorna används då hoppvillkoret avser tal med tecken. (4p) e) Översätt instruktionssekvensen nedan till maskinkod och visa hur den placeras i minnet. ORG 0 LDX #DATA LDAA 3,X WAIT LDAB,X WAIT2 DECB NOP BNE NOP DECA BNE WAIT2 WAIT BRA P2 DATA FCB 0,,2,4,8,6,32,64,28 P2 LDAA $FD (3p) f) Hur lång tid tar instruktionssekvensen i e) att köra om FLEX-processorn klockas med frekvensen MHz? (3p) 7. En FLEX-dator skall användas för att styra ett elektroniskt lås. I låsprogrammet skall ingå en subrutin som jämför en sträng med inmatade ASCII-tecken med en annan sträng med 8-bitars ord, som innehåller nyckeln till låset. Bit 7 i varje inmatat ASCII-tecken har okänt värde medan motsvarande bit i nyckelsträngen är noll. Bägge strängarna är lika långa, relativt korta och nollterminerade. Skriv en subrutin i assemblerpråk för FLEX-processorn som jämför de två strängarna och returnerar antal fel i A-registret. Vid anrop av subrutinen skall startadressen till den inmatade strängen finnas i X- registret. Startadressen till nyckelsträngen finns i minnet på adressen C0H. Endast register A och register CC får vara förändrade vid återhopp från subrutinen. För full poäng på uppgiften skall programmet vara korrekt kommenterat. (8p)

Bilaga AL:ns funktion 5(8) D(8) E(8) Funktion C in AL Flaggor (8) AL:ns logik- och aritmetikoperationer på indata D och E definieras av ingångarna Funktion (F) och C in enligt tabellen nedan. F = (f 3, f 2, f, f 0 ). I kolumnen Operation förklaras hur operationen utförs. f 3 f 2 f f 0 = f(d,e,c in ) Operation 0 0 0 0 bitvis nollställning Resultat 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 + 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 2D + C in 0 0 D +E k + C in D E + C in 0 bitvis nollställning 0 0 Carryflaggan (C) innehåller minnessiffran ut (carry-out) från den mest signifikanta bitpositionen (längst till vänster) om en aritmetisk operation utförs av AL:n. Vid subtraktion gäller för denna AL att C = om lånesiffra (borrow) uppstår och C = 0 om lånesiffra inte uppstår. Carryflaggans värde är 0 vid andra operationer än aritmetiska. Overflowflaggan (V) visar om en aritmetisk operation ger "overflow" enligt reglerna för 2-komplementaritmetik. V-flaggans värde är 0 vid andra operationer än aritmetiska. Zeroflaggan (Z) visar om en AL-operation ger värdet noll som resultat på -utgången. Signflaggan (N) är identisk med den mest signifikanta biten (teckenbiten) av utsignalen från AL:n. Half-carryflaggan (H) är minnessiffran (carry) mellan de fyra minst signifikanta och de fyra mest signifikanta bitarna i AL:n. H-flaggans värde är 0 vid andra operationer än aritmetiska. 0 bitvis nollställning 0 bitvis ettställning FFH I tabellen ovan avser "+" och " " aritmetiska operationer. Med t ex D k menas att samtliga bitar i D inverteras.

Bilaga 2 Resetadress till styrminnet (00H) 000 I(8) 6(8) Styrsignaler till datavägen (30 st) Villkor, se tabell nedan till höger Reset M X G k Reset NE & LD µpc IncµP µpc 0 D C MX 0 MX Styrminnesadress Styrminne 2k 48 bitar Styrminnesadress ( bitar) NE (Används av styrenheten själv) Nästa styrminnesadress ( bitar) Villkorsnummer k (5 bitar) Mikroprogrammerad EXECTE-sekvens för instruktionen DEC Adr: CMadress Hoppvillkor Hoppadress RTN Styrsignaler (hex) Kod (hex) G K (hex) (aktiva) 046 0 F G 0F = 230 PC MA, PC+ PC OE PC, LD MA, IncPC 230 0 0 G 00 = 0 - M MA MR, LD MA 23 0 0 G 00 = 0 - M- R, Flags CC MR, f 3, f 0, LD R, LD CC 232 0 F G 0F = 08 R M, Next Fetch OE R, MW k 4 k 3 k 2 k k 0 K = k 4 k 3 k 2 k k 0 Med k 4 = inverteras villkorssignalen G K i tabellen till höger. k 3 k 2 k k 0 G K 0000 0 000 C 000 V 00 Z 000 N 00 0 00? 0 0 000 0 00 C+Z 00 N V 0 Z+(N V) 00 0 0 0 0 0

Bilaga 3 Assemblerspråket för FLEX-processorn. 7(8) Assemblerspråket använder sig av mnemoniska beteckningar liknande dem som processorkonstruktören MOTOROLA specificerat för maskininstruktioner för mikroprocessorerna 68XX och instruktioner till assemblatorn, s k pseudoinstruktioner eller assemblatordirektiv. Pseudoinstruktionerna listas i tabell. Tabell Direktiv Förklaring Exempel Förklaring ORG N Sets the origin to location N, so succeding code is written, starting at location N. L RMB N Allocates N words and designates L as the label of the first word of the area being allocated. ORG $00 Puts the next and following bytes beginning in location $00. L RMB 0 Makes the label L have the value of the current location; increments the location counter by 0. L EQ N Declares label L to have value N. L2 EQ $0 Makes the symbol L2 have the value L FCB N, N2 Forms (generates) one byte per argument, assigns label L to the first byte. $0. L3 FCB $20, $34 Makes the symbol L3 have the value of the current location; initializes the current location to the value $20 and the next location to $34. Tabell 2 7-bitars ASCII 0 0 0 0 0 0 0 0 0 0 0 0 b 6 b 5 b 4 b 3 b 2 b b 0 NL DLE SP 0 @ P ` p 0 0 0 0 SOH DC! A Q a q 0 0 0 STX DC2 2 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 e u 0 0 ACK SYN & 6 F V f v 0 0 BEL ETB 7 G W g w 0 BS CAN ( 8 H X h x 0 0 0 HT EM ) 9 I Y i y 0 0 LF SB : 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 S /? O _ o RBOT (DEL)

Bilaga 4 8(8) Processor MA Adressbuss LD A Reg A LD B Reg B 0 0 M C 2 X C 3 2 g g 0 Funkt C in D LD R LD T AL Reg R Reg T E Flaggor g 2 LD CC 0 MX Reg CC LD X Reg X IncS DecS LD S SP IncPC LD PC PC LD MA MR MW Adress Minne Data ut Data in OE A OE B OE R OE CC OE X OE S OE PC MR Styrsignaler LD I Reg I Reset Styrenhet Figur. Datorn FLEX.