TENTAMEN(Nu anpassad till FLIS- processorn)

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

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

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

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

TENTAMEN (Något redigerad)

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

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

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

Maskinorienterad programmering

Maskinorienterad programmering

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

EDA215 Digital- och datorteknik för Z

exempel på Tentamen 2

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

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

Exempel 3 på Tentamen

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

Assemblerprogrammeringsuppgifter för FLIS-processorn

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

Lösningsförslag tenta

ALU:n ska anslutas hur då?

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

LV6 LV7. Aktivera Kursens mål:

CHALMERS TEKNISKA HÖGSKOLA

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

Exempel 2 på Tentamen med lösningar

Digital- och datorteknik

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

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 med lösningar

Maskinorienterad programmering

Exempel 1 på Tentamen med lösningar

Tentamen (Svar och lösningsförslag)

Programexempel för FLEX

Digital- och datorteknik

Digital- och datorteknik

Digital- och datorteknik

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

Digital- och datorteknik

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

Digital- och datorteknik

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

Digital- och datorteknik

Digital- och datorteknik

Digital- och datorteknik

EDA Digital och Datorteknik

Programmering i maskinspråk (Maskinassemblering)

Extrauppgifter för CPU12

Digital- och datorteknik

Exempel på tentamen 1

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

LEU431. Digital- och datorteknik. Diverse kompletterande material

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)

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

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

Assemblerprogrammering del 1

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

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

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

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

Digital- och datorteknik

Lösningar till tentamen i EIT070 Datorteknik

Tentamen i EDA320 Digitalteknik för D2

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

EDA216. Digital- och datorteknik. Diverse kompletterande material

Digital- och datorteknik

Tenta i Digitalteknik

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Reducerad INSTRUKTIONSLISTA för FLIS-processorn

Laboration nr 3 behandlar

Tentamen i Digital Design

Digital- och datorteknik

Digital- och datorteknik

Digital- och datorteknik

TENTAMEN (med svar och vissa lösningar)

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

IE1204/IE1205 Digital Design

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

Föreläsningsanteckningar 2. Mikroprogrammering I

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

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

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

Tenta i Digitalteknik

Digital- och datorteknik

Tentamen i Datakunskap NT

Digital- och datorteknik

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Assemblerprogrammering del 3

Tentamen i Digitalteknik TSEA22

Transkript:

Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN(Nu anpassad till FLIS- processorn) KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING Elektro Åk / lp 4 EDA26 EXAMINATOR Lars-Eric Arebrink TID FÖR TENTAMEN 202-05-24 kl 8.30 2.30 HJÄLPMEDEL Av institutionen utgiven Instruktionslista för FLEX- eller FLIS-processorn (INS) Tabellverk eller miniräknare får ej användas. ANSV LÄRARE: Lars-Eric Arebrink, tel. 772 578 Besöker tentamen ANSLAG AV RESLTAT ÖVRIG INFORM. vid flera tillfällen När rättningen är färdig anslås resultatet med anonyma koder och tid för granskning på kursens hemsida. Tentamen omfattar totalt 60 poäng. Den som är inskriven före HT 202 kan använda FLEXprocessorn istället för FLIS-processorn! Onödigt komplicerade lösningar kan ge poängavdrag. Svar på uppgifter skall motiveras. BETYGSGRÄNSER. Betyg 3: 24 poäng Betyg 4: 36 poäng Betyg 5: 48 poäng SLTBETYG För slutbetyg 3, 4 eller 5 på kursen fordras betyg 3, 4 eller 5 på tentamen och godkända laborationer.

. I uppgift a-h nedan används 5-bitars tal X, Y, S och D. X = 00 och Y = 00. 2(7) a) Vilket talområde måste X, Y, S och D tillhöra om de tolkas som tal utan tecken? (p) b) Vilket talområde måste X, Y, S och D tillhöra om de tolkas som tal med tecken? (p) c) Visa med penna och papper hur räkneoperationen S = X + Y utförs i en 5-bitars AL. (p) d) Vilka värden får flaggbitarna N, Z, V och C vid räkneoperationen i c)? (p) e) Visa med penna och papper hur räkneoperationen D = X Y utförs i en 5-bitars AL. (p) f) Vilka värden får flaggbitarna N, Z, V och C vid räkneoperationen i e)? (p) g) Tolka bitmönstren X, Y, S och D som tal utan tecken och ange deras decimala motsvarighet. Avgör och motivera med hjälp av flaggorna om resultaten S och D är korrekta eller felaktiga. h) Tolka bitmönstren X, Y, S och D som tal med tecken och ange deras decimala motsvarighet. Avgör och motivera med hjälp av flaggorna om resultaten S och D är korrekta eller felaktiga. (p) (p) i) Flera av de olika binära koderna för representation siffrorna i decimala tal har egenskapen att det är enkelt att ta fram koden för 9-komplementet av varje siffra. Förklara varför denna egenskap är viktig. (p) j) Talet C3C8D000 6 är ett 32-bitars flyttal packat enligt IEEE-standard 754 (23 bitar av mantissan). Skriv talet på binär och decimal form. (2p) k) Tag fram de två minimala booleska PS-uttrycken för u i grindnätet till höger. a b & a c = (4p) u 2. En boolesk funktion f(a,b,c,d) har karnaughdiagrammet till höger. Realisera funktionen med så få grindar som möjligt. NOR-grindar med valfritt antal ingångar och NOT-grindar får användas. Endast insignalerna a, b, c och d finns tillgängliga. Rutor med - representerar dont care -termer som får användas vid behov. ab cd 00 0 0 00 0 0 0 0-0 - - 0 0-0 3. a) 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 en etta följd av två nollor och två ettor hos x. Med exakt menas här att det inte får vara fler än en etta. Exempel: σ x =...00000000000000000... σ u =...000000000000000000000000000... 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. Rita en tillståndsgraf för sekvensnätet. Hur många vippor skulle minst krävas vid realiseringen? (4p) (4p) b) Realisera en autonom räknare med räknesekvensen q 2 q q 0 : 000, 00, 0, 00, 0,, 0, 00, 000, D-vippor, NAND-grindar med valfritt antal ingångar, XOR-grindar och NOT-grindar får användas. (6p)

4. I datavägen till höger innehåller register A och B från början värdena 27 0 resp. 50 0 på binär form. Därefter ges styrsignaler och klockpulser enligt tabellen nedan. Rita av tabellen! Fyll sedan i RTN-beskrivning samt hexadecimalt registerinnehåll för alla klockpulsintervall. Vid laddning av ett register skall det nya innehållet synas på raden efter laddningen i tabellen. 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 3(7) Reg T E Flaggor AL-funktioner: Se bilaga. OE A OE B OE R Styrsignaler (=) RTN Reg A Reg B Reg T Reg R OE B, LD T B 32?? 2 OE A, f 3, f, g 0, LD R 3 OE R, f 3, f, f 0, LD R, LD B 4 OE R, LD T 5 OE A, f 3, f 2, g 0, LD R 6 OE R, f 2, f, LD R 7 OE R, LD A 8? (4p) 5. Figuren på sidan 45 i INS visar hur FLISP-datorn är uppbyggd. På sidan 44 i INS visas hur AL ns funktion väljs med styrsignalerna f 3 - f 0 och C in. I tabellen nedan visas styrsignalerna för de olika tillstånden i EXECTE-sekvensen för en av FLISprocessorns instruktioner. State S-term RTN-beskrivning Styrsignaler (=) Q 4 Q 4 I xx OE PC, LD T, LD TA Q 5 Q 5 I xx MR, f 3, f, f 0, g 0, g 4,LD R, INC PC Q 6 Q 6 I xx ((N V)+Z)' OE R, LD PC Q 6 I xx NF a) Rita en tabell med State - och RTN-kolumner enligt ovan eller nedan och fyll i RTNbeskrivningen. Förklara vilken assemblerinstruktion som beskrivs. Som alternativ kan FLEX-datorn som visas i bilaga 3, AL'n i bilaga och tabellen nedan användas istället för FLISP-datorn. State S-term RTN-beskrivning Styrsignaler (=) Q 5 Q 5 I xx OE PC, LD MA, LD T Q 6 Q 6 I xx MR, f 3, f, g 0, LD R, IncPC Q 7 Q 7 I xx ((N V)+Z)' OE R, LD PC Q 7 I xx NF (2p)

5(forts.) b) Instruktionen Branch if bits set nedan skall implementeras för FLIS- eller FLEXprocessorn med hjälp av styrenheten med fast logik. Instruktionen består av fyra ord. Den utför bitvis AND mellan masken i instruktionen och -komplementet av dataordet på Adress och låter resultatet påverka Z-flaggan. Om Z-flaggan får värdet så utförs ett programräknarrelativt hopp till Adress2. Tänk på att programräknarrelativa hopp alltid utförs från adressen till nästa OP-kod! Register A, X, Y eller SP får ej påverkas. Operationskoden DF 6 skall användas. BRSET Adr,#mask,Adr2 RTN: M(Adr) k AND mask If Z = : PC + offset PC else: (Next instruktion) Gör en tabell liknande tabellen i uppgift a) för den efterfrågade EXECTE-sekvensen. 4(7) OPKOD Adr mask offset (6p) 6. Besvara kortfattat följande frågor rörande FLIS- eller FLEX-processorn. a) Före de villkorliga hoppen BMI och BLT i ett program utförs en addition som påverkar flaggorna. Förklara vad som händer för vardera hoppet om additionen före är 87 6 + A3 6. (3p) b) Översätt subrutinen till höger till maskinkod på hexadecimal form och visa hur den placeras i minnet. Det skall framgå hur offset för branch-instruktionerna beräknas. (3p) c) Subrutinen i b) anropas i huvudprogrammet nedan. LDSP #$FA LDA #5 JSR TIME STOP BRA STOP Hur lång tid tar subrutinen att köra från och med JSR till och med RTS om FLIS-(FLEX)-processorn klockas med frekvensen MHz? XVAL EQ -0 ORG $80 TIME PSHA PSHX LOOP LDX #XVAL LOOPX LEAX,X TEXIT CMPX #0 BNE LOOPX DECA BNE PLX PLA RTS LOOP (3p) d) FLISP-datorn som visas på sidan 45 i INS och FLEX-datorn som visas i bilaga 3 saknar in- och utportar. En sådan dator skall nu kompletteras med en utport på adressen 0. Principen för en utport visas i figuren till höger. Konstruera ett grindnät som bildar signalen LD. Standardgrindar med valfritt antal ingångar får användas. (2p) LD C D Till omgivningen Data (8) Register (8) Databuss (8) 7. I minnet i ett datorsystem med FLIS- eller FLEX-processorn finns en nollterminerad sträng med sjubitars ASCII- tecken. Varje ASCII-tecken har en paritetsbit för udda paritet som bit nr 7. Skriv en subrutin HXCONV i assemblerpråk för processorn som ersätter de ASCII-tecken i strängen som motsvarar hexadecimala siffror (0-9 och A F) med motsvarande binära värden 0000-2 (och skriver tillbaka dem i strängen). De ASCII-tecken som inte motsvarar hexadecimala siffror ersätts med värdet 80 6 i strängen och den avslutande nollan (nolltermineringen) ersätts med värdet FF 6 i strängen. Den avslutande nollan saknar paritetsbit. Vid anrop av subrutinen skall startadressen till strängen finnas i X-registret. Endast register CC får vara förändrat vid återhopp från subrutinen. För full poäng på uppgiften skall programmet vara korrekt radkommenterat. (8p)

Bilaga AL:ns funktion 5(7) 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 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 0 D +E k + C in D E + C in 0 bitvis nollställning 0 bitvis nollställning 0 0 bitvis ettställning FFH I tabellen ovan avser "+" och " " aritmetiska operationer. Med t ex D k menas att samtliga bitar i D inverteras.

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 6(7) Bilaga 2 Assemblerspråket för FLEX- och FLIS-processorn. Assemblerspråket använder sig av mnemoniska beteckningar liknande dem som processorkonstruktören MOTOROLA (FREESCALE) 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 ORG N Placerar den efterföljande koden med början på adress N. (ORG för ORiGin = ursprung) L RMB N Avsätter N bytes i följd i minnet (utan att ge dem värden), så att programmet kan använda dem. Följden placeras med början på adressen L. (RMB för Reseve Memory Bytes) L EQ N Ger symbolen L konstantvärdet N. (EQ för EQates = beräknas till) L FCB N,N2 Avsätter en byte för varje argument i följd i minnet. Respektive byte ges konstantvärdet N, N2 etc. Följden placeras med början på adressen L. (FCB för Form Constant Byte) L FCS ABC Avsätter en byte för varje tecken i teckensträngen ABC i följd i minnet. Respektive byte ges ASCII-värdet för A B C, etc. Följden placeras med början på adressen L. (FCS för Form Character String) Tabell 2 7-bitars ASCII 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 3 (Observera att bilden visar FLEX-datorn) 7(7) 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 IncSP DecSP LD SP 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.