Digital- och datorteknik

Relevanta dokument
Digital- och datorteknik

Digital- och datorteknik

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. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

TENTAMEN(Nu anpassad till FLIS- processorn)

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

Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen. 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

TENTAMEN (Något redigerad)

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

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

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

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

Maskinorienterad programmering

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

Maskinorienterad programmering

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

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

EDA215 Digital- och datorteknik för Z

exempel på Tentamen 2

LV6 LV7. Aktivera Kursens mål:

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

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

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

ALU:n ska anslutas hur då?

Exempel 3 på Tentamen

Maskinorienterad programmering

Tentamen (Svar och lösningsförslag)

Grundläggande Datorteknik Digital- och datorteknik

Assemblerprogrammeringsuppgifter för FLIS-processorn

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

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

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

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

Tentamen med lösningar

Exempel 2 på Tentamen med lösningar

Exempel på tentamen 1

EDA Digital och Datorteknik

Exempel 1 på Tentamen med lösningar

Digital- och datorteknik

Lösningsförslag tenta

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

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

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

CHALMERS TEKNISKA HÖGSKOLA

Digital- och datorteknik

Digital- och datorteknik

TENTAMEN (med svar och vissa lösningar)

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Programmering i maskinspråk (Maskinassemblering)

Extrauppgifter för CPU12

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

Assemblerprogrammering del 1

Programexempel för FLEX

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

Digital- och datorteknik

EDA216. Digital- och datorteknik. Diverse kompletterande material

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

Lösningar till tentamen i EIT070 Datorteknik

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

Digital- och datorteknik

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

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

Digital- och datorteknik

EDA Digital och Datorteknik

Tenta i Digitalteknik

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

Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik

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

Programmering i maskinspråk (Maskinassemblering)

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Digital- och datorteknik

Digital- och datorteknik

Digital- och datorteknik

Digital- och datorteknik

LEU431. Digital- och datorteknik. Diverse kompletterande material

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

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

Centralenheten: ALU, dataväg och minne

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

Tentamen i Datakunskap NT

Digital- och datorteknik

Laboration nr 3 behandlar

Tentamen i Digitalteknik TSEA22

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

Tentamen i Digital Design

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

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

Digital- och datorteknik

Tentamen i EDA320 Digitalteknik för D2

INSTRUKTIONSLISTA för FLEX-processorn

Reducerad INSTRUKTIONSLISTA för FLIS-processorn

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

Tenta i Digitalteknik

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 KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Mekatronikingenjör (samt data- och elektroingenjör) Åk / lp 2 () LEU43 EXAMINATOR Lars-Eric Arebrink TID FÖR TENTAMEN 2-4-26 kl 8.3 2.3 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 ANSLAG AV RESULTAT vid flera tillfällen Resultatlistor anslås senast 2-5- på kursens hemsida. Granskning av rättning på institutionen 2-5- och 2-5- kl 2.3-3.. ÖVRIG INFORM. BETYGSGRÄNSER. Tentamen omfattar totalt 6 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 SLUTBETYG För slutbetyg 3, 4 eller 5 på kursen fordras betyg 3, 4 eller 5 på tentamen och godkända laborationer.

. I uppgift a-d nedan används -bitars tal. X = och Y =. 2(7) a) Visa med penna och papper hur räkneoperationen R = X + Y utförs med en -bitars ALU. (p) b) Vilka värden får flaggbitarna N, Z, V och C vid räkneoperationen? (p) c) Tolka bitmönstren R, X och Y som tal utan tecken och ange deras decimala motsvarighet. Är resultatet R korrekt? Hur kan man avgöra detta med hjälp av flaggbitarna? d) Tolka bitmönstren R, X och Y som tal med tecken och ange deras decimala motsvarighet. Är resultatet R korrekt? Hur kan man avgöra detta med hjälp av flaggbitarna? (p) (p) e) Tolka två n-bitars bitmönster X och Y som tal med tecken och ge ett booleskt uttryck f(n,z,v,c) som har värdet om och endast om X + Y. Flaggvärdena är de som gäller efter additionen. Det booleska uttrycket skall ge korrekt värde även när overflow inträffar. f) Antag att N max är det största positiva tal som kan representeras som ett 32-bitars flyttal enligt flyttalsstandarden IEEE 754-985 (dvs 23 bitar av mantissan). Skriv, på hexadecimal form, det packade flyttal som motsvarar N max. (Du behöver inte räkna ut vilket värde N max har.) (2p) g) Ge ett minimalt boolesk uttryck för u i grindnätet till höger. a a b c = & 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, XOR-grindar och NOT-grindar får användas. Endast insignalerna a, b, c och d finns tillgängliga. ab cd 3. a) Ett synkront sekvensnät skall ha en insignal x och en utsignal u. Utsignalen u skall ges värdet "" under ett bitintervall för varje insignalsekvens som består av en etta följd av en nolla och fyra ettor hos x. Exempel: x =... u =...?... (6p) Utsignalen 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? (3p+p) b) Realisera en räknare med räknevillkoret x och räknesekvensen Q = q 2 q q. x = : Q + = x = :,,,,,,,,, T-vippor, NAND-grindar med valfritt antal ingångar, XOR-grindar och NOT-grindar får användas. Det får förutsättas att räknaren startar i tillståndet q 2 q q =. (6p)

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(7) RTN-beskrivning: 6A 7(B + ) A (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 B får inte ändras. Bortse från risken för overflow. Använd så få tillstånd som möjligt. Samtliga funktioner ALU:n kan utföra framgår av bilaga. (5p) 5. Figur i bilaga 3 visar hur datorn FLEX är uppbyggd. Bilaga visar hur ALU ns funktion väljs med styrsignalerna f 3 - f och C in. I tabellen nedan visas styrsignalerna för de olika tillstånden i EXECUTE-sekvensen för en av FLEXprocessorns instruktioner. State S-term RTN-beskrivning Styrsignaler (=) Q 5 Q 5 I xx OE PC, LD MA. Q 6 Q 6 I xx MR, LD T. Q 7 Q 7 I xx OE X, f 3, f, LD R. Q 8 Q 8 I xx OE R, LD PC, NF. a) Rita en tabell med State - och RTN-kolumner enligt ovan och fyll i RTN-beskrivningen. Förklara vilken assemblerinstruktion som beskrivs. (2p) b) Instruktionen Move byte nedan skall implementeras för FLEX-processorn med hjälp av styrenheten med fast logik. Instruktionen består av två ord. Den läser dataordet på adressen Adr i minnet och skriver det i minnet på den adress som finns i X-registret. Efter skrivningen i minnet skall innehållet i X-registret ökas med. Register A, B, SP eller CC får ej påverkas. Operationskoden F9 6 skall användas. MOVB Adr,,X+ RTN: M(Adr) M(X) X+ X OPKOD Adr Gör en tabell liknande tabellen ovan för den efterfrågade EXECUTE-sekvensen. (4p)

6. Besvara kortfattat följande frågor rörande FLEX-processorn. a) Förklara vad som händer under processorns EXECUTE-fas. (p) b) I instruktionsuppsättningen finns de två villkorliga hoppen BMI och BLT. Om dessa instruktioner utförs direkt efter en aritmetisk operation så kommer de ibland att fungera på samma sätt och ibland på olika sätt beroende på den aritmetiska operationen. Vad är det hos den aritmetiska operationen som orsakar denna skillnad? (2p) c) Vad händer om man låter FLEX-processorn utföra en instruktion där man har glömt att sätta styrsignalen NF = i sista tillståndet i EXECUTE om man använder styrenheten med fast logik? (2p) 4(7) d) För vilka värden W ( W 255) utförs hoppet till adressen Hopp nedan? LDAB #$5 CMPB #W BGE Hopp e) Översätt instruktionssekvensen 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. f) Hur lång tid tar instruktionssekvensen i e) att köra om FLEX-processorn klockas med frekvensen MHz? ORG $4 LDAA #- LOOP LDX #-6 LOOP2 LEAX 4,X X # BNE LOOP2 INCA BMI LOOP GOON LDX #$6 7. Skriv en subrutin TCHK i assemblerpråk för FLEX-processorn som undersöker en tabell med 8-bitars tal (med tecken) i minnet. Tabellen avslutas med ett dataord med värdet noll. Vid återhopp från subrutinen skall A-registret innehålla antalet negativa tal i tabellen och B-registret antalet tal med bit 6 = och bit 3 =. Vid anrop av TCHK innehåller X-registret startadressen till tabellen. För full poäng på uppgiften skall programmet vara korrekt radkommenterat. Endast register A, B och CC får vara förändrade vid återhopp från subrutinen. (7p)

Bilaga ALU:ns funktion 5(7) D(8) E(8) Funktion C in ALU Flaggor U(8) ALU: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 ). I kolumnen Operation förklaras hur operationen utförs. f 3 f 2 f f U = f(d,e,c in ) Operation bitvis nollställning Resultat D E bitvis invertering D k bitvis invertering E k bitvis OR D OR E bitvis AND D AND E bitvis XOR D XOR E D + + C in D + C in D + FFH + C in D + C in D + E + C in D + D + C in 2D + C in 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 ALU:n. Vid subtraktion gäller för denna ALU att C = om lånesiffra (borrow) uppstår och C = om lånesiffra inte uppstår. Carryflaggans värde är 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 vid andra operationer än aritmetiska. Zeroflaggan (Z) visar om en ALU-operation ger värdet noll som resultat på U-utgången. Signflaggan (N) är identisk med den mest signifikanta biten (teckenbiten) av utsignalen U från ALU:n. Half-carryflaggan (H) är minnessiffran (carry) mellan de fyra minst signifikanta och de fyra mest signifikanta bitarna i ALU:n. H-flaggans värde är vid andra operationer än aritmetiska. D +E k + C in D E + C in bitvis nollställning bitvis nollställning bitvis ettställning FFH I tabellen ovan avser "+" och "" aritmetiska operationer. Med t ex D k menas att samtliga bitar i D inverteras.

b 6 b 5 b 4 b 3 b 2 b b Bilaga 2 6(7) Assemblerspråket för FLEX-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 EQU N Ger symbolen L konstantvärdet N. (EQU för EQUates = 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 NUL DLE SP @ P ` p SOH DC! A Q a q STX DC2 2 B R b r ETX DC3 # 3 C S c s EOT DC4 $ 4 D T d t ENQ NAK % 5 E U e u ACK SYN & 6 F V f v BEL ETB 7 G W g w BS CAN ( 8 H X h x HT EM ) 9 I Y i y LF SUB * : J Z j z VT ESC + ; K [Ä k {ä FF FS, < L \Ö l ö CR GS - = M ]Å m }å S RS. > N ^ n ~ S US /? O _ o RUBOUT (DEL)

Bilaga 3 7(7) Processor MA Adressbuss LD A Reg A LD B Reg B C 2 M U X C 3 2 g g Funkt C in D LD R LD T U ALU Reg R Reg T E Flaggor g 2 LD CC MUX 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.