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

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

TENTAMEN (Något redigerad)

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. Av institutionen utgiven instruktionlista FLEXIBLE INSTRUKTION SET PROCESSOR FLISP

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. 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

EDA215 Digital- och datorteknik för Z

Maskinorienterad programmering

exempel på Tentamen 2

Maskinorienterad programmering

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

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

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

LV6 LV7. Aktivera Kursens mål:

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

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å?

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

Tentamen (Svar och lösningsförslag)

Exempel 3 på Tentamen

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

Grundläggande Datorteknik Digital- och datorteknik

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

EDA Digital och Datorteknik

Assemblerprogrammeringsuppgifter för FLIS-processorn

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

Lösningsförslag tenta

Digital- och datorteknik

Exempel 2 på Tentamen med lösningar

Digital- och datorteknik

Tentamen med lösningar

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

Extrauppgifter för CPU12

Exempel 1 på Tentamen med lösningar

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

Programmering i maskinspråk (Maskinassemblering)

Digital- och datorteknik

CHALMERS TEKNISKA HÖGSKOLA

Maskinorienterad programmering

Digital- och datorteknik

Digital- och datorteknik

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

Programexempel för FLEX

Digital- och datorteknik

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

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

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

Exempel på tentamen 1

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

Digital- och datorteknik

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Programmering i maskinspråk (Maskinassemblering)

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

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

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

Tentamen i Digital Design

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

Digital- och datorteknik

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

Assemblerprogrammering del 1

Digital- och datorteknik

Tentamen i Digitalteknik TSEA22

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

Digital- och datorteknik

LEU431. Digital- och datorteknik. Diverse kompletterande material

Tenta i Digitalteknik

Digital- och datorteknik

Digital- och datorteknik

Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik

Tentamen i Datakunskap NT

Digital- och datorteknik

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

EDA216. Digital- och datorteknik. Diverse kompletterande material

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 i Digitalteknik, TSEA22

Digital- och datorteknik

EDA Digital och Datorteknik

IE1204/IE1205 Digital Design

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

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:

Digital- och datorteknik

Tentamen i EDA320 Digitalteknik för D2

INSTRUKTIONSLISTA för FLEX-processorn

Tenta i Digitalteknik

Digital- och datorteknik

Föreläsningsanteckningar 2. Mikroprogrammering I

Binär addition papper och penna metod

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

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

Transkript:

Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik E PROGRAM: KRSBETECKNING Elektro Åk / lp 4 EDA26/DIT790 EXAMINATOR Lars-Eric Arebrink TID FÖR TENTAMEN 2009-08-20 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: Roger Johansson, tel. 772 5729 Besöker tentamen ca. 5.30 ANSLAG AV RESLTAT ÖVRIG INFORM. BETYGSGRÄNSER. SLTBETYG Resultatlistor anslås senast 2009-09-03 på kursens hemsida. Granskning av rättning på institutionen 2009-09-03 och 2009-09-04 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 simulatorövningar och laborationer. För slutbetyg 4 eller 5 på kursen fordras dessutom betyg 4 eller 5 på tentamen.

. I uppgift a-f nedan används 7-bitars tal X, Y och R. X = 00 och Y = 00000. 2(8) a) Vilket talområde måste X, Y och R tillhöra om de tolkas som tal med tecken? (p) b) Vilket talområde måste X, Y och R tillhöra om de tolkas som tal utan tecken? (p) c) Visa med penna och papper hur räkneoperationen R = X - Y utförs i en dators AL. (p) d) Vilka värden får flaggbitarna N, Z, V och C vid räkneoperationen? (p) e) Tolka bitmönstren R, X och Y som tal utan tecken och ange deras decimala motsvarighet. Vilken eller vilka flaggbitar visar om resultatet är korrekt vid tal utan tecken? f) Tolka bitmönstren R, X och Y som tal med tecken och ange deras decimala motsvarighet. Vilken eller vilka flaggbitar anger om resultatet är korrekt vid tal med tecken? g) Skriv, om det är möjligt, det decimala talet -57 som ett 7-bitars tal med tvåkomplementsrepresentation. (p) (p) (p) h) Omvandla det decimala talet -27,25 till ett 32-bitars flyttal enligt IEEE-standard 754 (23 bitars mantissa och 8 bitars karakteristika). Skriv resultatet på binär och hexadecimal form. (3p) a i) Ge ett minimalt boolesk uttryck för u i grindnätet till höger. = b j) Man behöver en 5-ingångs AND-grind men har bara 2- ingångs NAND-grindar och NOT-grindar. Hur kopplar man upp AND-grinden med dessa på bästa sätt? a b = u (3p) 2. Det booleska uttrycket f(a,b,c) = (a + b + c)(b +c )(a + c ) beskriver en boolesk funktion. Konstruera ett minimalt grindnät som realiserar den booleska funktionen. NOR-grindar med valfritt antal ingångar och NOT-grindar får användas. Endast insignalerna a, b och c 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 0 hos x. Exempel: σ x =...0000000... σ u =...??0000000000000000000000... 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. (5p) b) Realisera en D-vippa med hjälp av en JK-vippa och standardgrindar. (3p)

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: 5 A - 3 (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. NF i tabellens sista rad anger att nästa tillstånd (state) skall vara det första i FETCHsekvensen. State S-term RTN-beskrivning Styrsignaler (=) Q 5 Q 5 I xx X T, SP- SP Q 6 Q 6 I xx SP MA Q 7 Q 7 I xx PC M Q 8 Q 8 I xx B+T R Q 9 Q 9 I xx R PC, NF a) Rita en tabell med styrsignalerna för state Q 5 Q 9 ifyllda. 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. c) Instruktionen nedan skall implementeras för FLEX-processorn med hjälp av styrenheten med fast logik. BLE Adr Instruktionen beskrivs i FLEX-processorns instruktionslista. 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 EXECTE-sekvensen. OPKOD offset (4p)

6. Deluppgifterna nedan avser FLEX-processorn. 4(8) a) I instruktionsuppsättningen finns de två ovillkorliga hoppen JMP och BRA. Vilken skillnad är det mellan dessa? Vilka fördelar och nackdelar har de? b) 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? c) Hur många tillstånd får EXECTE-fasen innehålla om styrenheten med fast logik används. Motivera svaret. d) Översätt programavsnittet nedan till maskinkod. Det skall framgå hur branchinstruktionens offset beräknas. ORG $30 LDAB #0 LDX #TAB LOOP LDAA,X+ STAA $FE DECB BPL LOOP LDAA 2 BRA NEXT TAB RMB NEXT NOP (4p) e) Hur lång tid tar programavsnittet i d) att utföra om klockfrekvensen är MHz? (3p) 7. Skriv en subrutin, CCONT, i assemblerpråk för FLEX-processorn, som tar reda på hur många gånger ASCII-tecknet för bokstaven C förekommer i en nollterminerad textsträng. Vid anrop av subrutinen skall startadressen till textsträngen finnas i X-registret och vid återhopp skall antalet C- tecken finnas i B-registret. ASCII-tecknen i textsträngen är lagrade med udda paritet med paritetsbiten som bit nummer 7. Den avslutande nollan har ingen paritetsbit. ASCII-tabell finns i tabell 2 på sidan 7. För full poäng på uppgiften skall programmet vara korrekt radkommenterat. Endast register B och register CC får vara förändrade vid återhopp från subrutinen. (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 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) k 4 k 3 k 2 k k 0 Med K = k 4 k= 4 k 3 kinverteras 2 k k 0 villkorssignalen G K i tabellen till höger. 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 S 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.