Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU Måndag 19 oktober 2009, kl. 08.30-12.30 Examinatorer Rolf Snedsböl, tel 772 1665 Kontaktperson under tentamen Som ovan Tillåtna hjälpmedel Häften Instruktionslista för FLE Instruktionslista för CPU12 I dessa får rättelser och understrkningar vara införda, inget annat. Tabellverk och miniräknare får ej användas! Lösningar se kursens hemsida. Granskning Tid och plats anges på kursens hemsida. Allmänt Tentamen är uppdelad i del A och del B. På del A kan 30 poäng uppnås och på del B 20 poäng. Totalt 50 poäng på del A och del B tillsammans. För att del B av tentamen skall granskas och rättas krävs minst 20 poäng på del A. Del A bedöms och betgssätts utifrån bifogat svarsblankett. Poängsättning på del A anges vid varje uppgift. Siffror inom parentes anger poängintervallet på uppgiften. Fel svar kan ge poängavdrag. En obesvarad uppgift ger inte poängavdrag. De olika svarsalternativen a, b, c etc. kan innehålla korrekt svar nästan korrekt svar mer eller mindre fel svar helt fel svar inget korrekt svarsalternativ Svara med endast ett krss på varje uppgift Poängsättning på del B anges vid varje uppgift. Siffror inom parentes anger maximal poäng på uppgiften. För full poäng krävs att: redovisningen av svar och lösningar är läslig och tdlig. ett lösningsblad får endast innehålla redovisningsdelar som hör ihop med en uppgift. lösningen ej är onödigt komplicerad. du har motiverat dina val och ställningstaganden redovisningen av hårdvarukonstruktioner innehåller funktionsbeskrivning, lösning och realisering. redovisningen av mjukvarukonstruktioner i assembler är dokumenterade. Betgsättning För godkänt slutbetg på kursen fordras att både tentamen och laborationer är godkända. Tentamen ger slutbetget: 20p betg 3 < 30p betg 4 < 40p betg 5
Digital- och datorteknik, 2009-01-14 2(14) DEL A fll i svarsblanketten sist i tesen och lämna in denna Uppgift 1 Talomvandling, koder, aritmetik och flaggor. Tvåkomplementsaritmetik. I uppgift a-c nedan används 5-bitars tal. = 11010 2 och Y = 10010 2.. Uppgift 1a Vad blir resultatet R efter räkneoperationen R = Y a R = 00001 2 b R = 00000 2 c R = 01001 2 d R = 00010 2 e R = 01000 2 f R = 00111 2 Uppgift 1b Tolka R, och Y som tal utan tecken och ange dess decimala motsvarighet. a R = 8, = 18, Y = 26 b R = 7, = 26, Y = 17 c R = 0, = 26, Y = 15 d R = 8, = 26, Y = 18 e R = 7, = 26, Y = 18 f R = 2, =25, Y = 18 Uppgift 1c Tolka R, och Y som tal med tecken och ange dess decimala motsvarighet a R = 7, = 26, Y = -18 b R = 18, = -26, Y = -6 c R = 18, = 12, Y = -6 d R = 8, = 16, Y = -8 e R = 2, = 12, Y = -14 f R = 8, = -6, Y = -14 Uppgift 1d Vad blir flaggbitarna NZVC efter räkneoperationen R = + Y när = 1110 2 och Y = 1101 2. (En ettställd flaggbit anges med vesal och en nollställd flaggbit anges med gemen; exempelvis anger nzvc att N = 0, Z = 0, V = 1 och C = 1.) a NzVC b nzvc c NzVc d Nzvc e NzvC f nzvc Uppgift 1e Talomvandling Om det är möjligt, ange talet R = -64 10 som ett tal P och som ett tal Q. P och Q är båda 7-bitars tal. P anges på tvåkomplementsform och Q anges på teckenbeloppsform. a P = 1000000, Q = 1000000 b P = 1111111, Q = 1111111 c P går ej, Q går ej d P går ej, Q = 1000000 e P = 1000000, Q går ej f P = 1000000, Q = 1111111 Poäng på uppgiften: [-1, 2]
Digital- och datorteknik, 2009-01-14 3(14) Uppgift 2 Kombinatorik, switchnätalgebra Uppgift 2a Du har följande funktion disjunktiv minimal form. a b c d e f g h i j Uppgift 2b Du har följande funktion konjunktiv normal form. a b c d e f g h i j. Skriv funktionen på Poäng på uppgiften: [-1, 2]. Skriv funktionen på Poäng på uppgiften: [-1, 2]
Digital- och datorteknik, 2009-01-14 4(14) Uppgift 2c Ett kombinatoriskt nät med fra insignaler x,, z, w och en utsignal f skall konstrueras. Insignalerna bildar ett binärtal (xzw) 2 [0,15] 10. För utsignalen f skall gälla att: f=0 för 3 (xzw) 2 9 f=1 i övrigt Vilket av nedanstående karnaughdiagram skall användas. x a) zw b) zw c) zw 00 01 11 10 00 01 11 10 00 01 11 10 00 0 0 1 0 00 0 0 1 0 00 1 1 0 1 01 1 1 1 1 01 1 1 1 1 01 0 0 0 0 x x 11 0 0 0 0 11 0 0 0 0 11 1 1 1 1 10 1 1 0 0 10 1 1 0 1 10 0 0 1 1 x d) zw e) zw f) zw 00 01 11 10 00 01 11 10 00 01 11 10 00 0 0 1 1 00 1 1 0 0 00 1 1 0 1 01 1 1 1 1 01 0 0 0 0 01 0 0 0 0 x x 11 0 0 0 0 11 1 1 1 1 11 1 1 1 1 10 1 1 0 0 10 0 0 1 1 10 0 0 1 0 Poäng på uppgiften: [-1, 2] Uppgift 3 Sekvensnät Uppgift 3a Ange funktionstabellen för en JK.vippa. a) b) c) d) e) f) QQ + J K QQ + J K QQ + J K JK Q + J K Q + J K Q + 0 0 0-0 0-1 0 0 0-0 0 Q 0 0 Q 0 0 Q 0 1 1-0 1-1 0 1-1 0 1 0 0 1 0 0 1 1 1 0-1 1 0 1-1 0 1-1 0 1 1 0 1 1 0 1 1 1-0 1 1 1-1 1-0 1 1 * 1 1 Q 1 1 0 Uppgift 3b Ange excitationstabellen för en SR.vippa. a) b) c) d) e) f) S R Q + S R Q + S R Q + QQ + S R QQ + S R QQ + S R 0 0 1 0 0 Q 0 0 Q 0 0 0-0 0 0-0 0 0-0 1 0 0 1 0 0 1 0 0 1 1-0 1 1 0 0 1 1-1 0 1 1 0 1 1 0 1 1 0-1 1 0 0 1 1 0-1 1 1 * 1 1 * 1 1 Q 1 1-0 1 1 * * 1 1 * *
Digital- och datorteknik, 2009-01-14 5(14) Uppgift 3c Analsera räknaren nedan. Vilken tabell motsvarar räknaren? CP Q 0 Q 1 Q 2 1T 1T 1T C1 CP C1 CP C1 a) b) c) Q 2 Q 1 Q 0 T 2 T 1 T 0 Q + 2 Q + + 1 Q 0 Q 2 Q 1 Q 0 T 2 T 1 T 0 Q + 2 Q + + 1 Q 0 Q 2 Q 1 Q 0 T 2 T 1 T 0 Q + 2 Q + + 1 Q 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - - 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 - - - 1 0 0 0 0 1 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 d) e) f) Q 2 Q 1 Q 0 T 2 T 1 T 0 Q + 2 Q + + 1 Q 0 Q 2 Q 1 Q 0 T 2 T 1 T 0 Q + 2 Q + + 1 Q 0 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 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 1 - - - 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 Poäng på uppgiften: [-1, 3]
Digital- och datorteknik, 2009-01-14 6(14) Uppgift 4 FLE strenhet Uppgift 4a En instruktion för FLE-processorn är SBCB Adr. Se instruktionslistan för FLE. Ange RTNbeskrivningen för utförandefasen för denna instruktion. (S anger aktuellt State) a b c S RTN-beskrivning S RTN-beskrivning S RTN-beskrivning 5 PC MA, PC+1 PC 5 PC MA, PC+1 PC 5 PC MA, PC+1 PC 6 M MA 6 M MA 6 M T 7 M T 7 M T 7 B T R, Flaggor CC 8 B T - C R, Flaggor CC 8 B T R, Flaggor CC 8 B - C R 9 R B 9 R - C R 9 R B 10 R B d e f S RTN-beskrivning S RTN-beskrivning S RTN-beskrivning 5 PC MA, PC+1 PC 5 PC MA, PC+1 5 PC MA 6 M T 6 M MA 6 M MA 7 B T C R, Flaggor CC 7 M T 7 M T 8 R B 8 B T 1K + C R, Flaggor CC 8 B+T 1K + C R, Flaggor CC 9 R B 9 R B Poäng på uppgiften: [-1, 2] Uppgift 4b I tabellen intill visas strsignalerna för EECUTE-sekvensen för en instruktion för FLE-processorn. NF i tabellens sista rad anger att nästa tillstånd (state) skall vara det första i FETCH-sekvensen. Vilken instruktion är det? S Strsignaler (= 1) 5 OE PC, LD MA, IncPC 6 MR, LD MA 7 MR, f 1, f 0, LD R, LD CC 8 OE R, MW, NF a INC Adr b NEG Adr c TST Adr d DEC Adr e COM Adr f CMP Adr
Digital- och datorteknik, 2009-01-14 7(14) Uppgift 4c Ange vilken tabell som beskriver utförandet av operationen enligt nedanstående RTN-beskrivning: RTN-beskrivning: 3A -6B A Förutsätt att register A och B innehåller de data som skall beräknas. Register B får inte ändras. Använd så få tillstånd som möjligt. Vilket svarsalternativ väljer du? a b c S RTN-beskrivning S RTN-beskrivning S RTN-beskrivning 1 B T 1 2B R 1 2A R, A T 2 B+T R 2 R T 2 R+T R 3 R T 3 A-T R 3 R A 4 A-T R 4 2R R, R T 4 2B R, B T 5 R T 5 R+T R 5 R+T R 6 R+T R 6 R A 6 2R R 7 R+T R 7 R T 8 R+T R 8 A-T R 9 R A 9 R A d e f S RTN-beskrivning S RTN-beskrivning S RTN-beskrivning 1 2B R 1 2B R, 1 3A R 2 R T 2 R T 2 R A 3 A-T R 3 A-T R 3 6B R 4 2R R 4 2R R, R T 4 A-R R 5 R+T R 5 R+T A 5 R A 6 R A Poäng på uppgiften: [-1, 3]
Digital- och datorteknik, 2009-01-14 8(14) Uppgift 5 FLE programmering Uppgift 5a Ange maskinkoden för FLE-processorn för instruktionssekvensen till höger. ORG $E4 Div2 EQU $A6 NEGA BSR Div2 LDAA #%00010010 INC Adr LD #Adr LDAA Data LEA $A, STAB -3, Data RMB 2 Adr FCB %1,11,10 SUBA Data a b c d e f Adr Maskin -kod Adr Maskin -kod Adr Maskinkod Adr Maskinkod Adr Adr Maskinkod Maskinkod E4 A6 E4 A6 E4 38 E4 38 E4 38 E4 38 E5 38 E5 38 E5 6B E5 6B E5 6B E5 6B E6 6A E6 6A E6 BF E6 BF E6 A6 E6 A6 E7 BF E7 BF E7 0F E7 0F E7 0F E7 0F E8 0F E8 0F E8 12 E8 12 E8 12 E8 12 E9 12 E9 12 E9 43 E9 43 E9 43 E9 43 EA 43 EA 43 EA F5 EA F3 EA F5 EA F5 EB F5 EB F6 EB 11 EB 11 EB 0D EB 0D EC 11 EC 11 EC F5 EC F3 EC F5 EC F5 ED F5 ED F6 ED 0B ED 0B ED 0F ED 0F EE 0F EE 0F EE F3 EE F2 EE F3 EE F3 EF F3 EF F4 EF 76 EF 77 EF 76 EF 76 F0 77 F0 76 F0 0A F0 90 F0 0A F0 0A F1 90 F1 0A F1 90 F1 FD F1 90 F1 90 F2 FD F2 90 F2 FD F2?? F2 FD F2 FD F3?? F3 FD F3?? F3 01 F3?? F3?? F4?? F4?? F4?? F4 0B F4?? F4?? F5 01 F5?? F5 01 F5 0A F5 01 F5 01 F6 0B F6 01 F6 0B F6 30 F6 0B F6 0B F7 0A F7 0B F7 0A F7 F2 F7 0A F7 0A F8 32 F8 0A F8 30 F8 F8 32 F8 32 F9 F3 F9 32 F9 F3 F9 F9 F3 F9 F3 FA FA F3 FA FA FA FA FB FB FB FB FB FB Poäng på uppgiften: [-1, 3]
Digital- och datorteknik, 2009-01-14 9(14) Uppgift 5b För vilka värden på (0 255) kommer hoppet att utföras för BLO respektive BLT instruktionerna? LDAA # CMPA #132 BLO hoppa LDAA # CMPA #132 BLT hoppa a b c BLO: (0 131) BLO: (0 < 132) BLO: (0 131) BLT: (128 131) BLT: (0 < 132) BLT: (132 255) d e f BLO: (0 <132) BLO: (0 130) BLO: (0 131) BLT: Går Ej BLT: Går Ej BLT: (132 < 255) Poäng på uppgiften: [-1, 2] Uppgift 6 DEL B Svara på separata ark. Blanda inte uppgifter på samma ark. Vid simulatorpassen och i labbet använde du stömbrtarna (ML4 INPUT) och sifferindikatorn (ML4 OUTPUT). Du skall nu skriva ett program för CPU12 som hela tiden läser två NBCD-siffror P och Q från strömbrtarna (Inport, 8 bitar) visar P och Q på två sifferindikatorer utför en additionen R=P+Q skriver summan R till den tredje sifferindikatorn. P Q R Från inporten (8 bitar) läses två 4-bitars binära tal P och Q samtidigt. P hittas på [b 7,b 4 ] och Q hittas på [b 3,b 0 ]. Summan skall placeras i [b 3,b 0 ] för att omvandlas till segmentkod och skrivas till sifferindikatoren. Om summan P+Q är större än nio skall ett E (ERROR) skrivas ut. Du får förutsätta att P 9 och Q 9. Du har tillgång till en tabell med segmentkoder och följande defenitioner: Inport EQU xxxx Adress för inport UtportP EQU Adress för utport 1 UtportQ EQU zzzz Adress för utport 2 UtportR EQU wwww Adress för utport 3 Error EQU pp Segmentkod för E (Error) SegCode FCB xx,,zz,etc Tabell med segmentkoder för [0,9] Rita flödesplan och dokumentera ditt program (7p)
Digital- och datorteknik, 2009-01-14 10(14) Uppgift 7 Ett grindnät med utsignalen f och de fra insignalerna x,, z och w är givet. x z 1 1 Grindnätet är uppbggt med OCH-, ELLER- och INVERTERARgrindar enligt figuren till höger. w 1 f Konstruera ett minimalt grindnät med NAND-grindar och INVERTERARE, som realiserar funktionen f? w 1 z w z (7p) Uppgift 8 Man vill införa en n mikroprogrammerad instruktion i FLE-datorn: MOVB n,,adr Move bte from n, (Indexed) to Adr (Absolute) Instruktion: MOVB n,,adr RTN: M(n +) M(Adr) Flaggor: Påverkas ej Beskrivning: Kopierar ett dataord från en minnesadress till en annan minnesadress. Maskininstruktionen består av tre btes och instruktionsformat och OP-kod visas av figuren: F5 n Adr Ledigt utrmme i mikrominne, adresser 4C0-4CF. Ledning: Instruktionen kan tänkas vara sammansatt av följande FLE-instruktioner: LDAA n, och STAA Adr Observera att MOVB n, inte ändrar register A. Visa hur instruktionens exekveringsfas kan implementeras hos en FLE med mikroprogrammerad strenhet. Svara i tabellform genom att kopiera följande uppställning: (6p) Adress Transfervillkor G K Transferadress Aktiva strsignaler RTN-beskrivning
Digital- och datorteknik, 2009-01-14 11(14) LÖSNINGAR: Upg 6 Start LD #SegCode Pekare till tabell LDAB Inport Läs inporten TFR B,A Kopiera LSRA Skifta fram P LSRA LSRA LSRA MOVB A,,UtportP Skriv P ANDB #$0F Maska fram Q MOVB B,,UtportQ Skriv Q ABA Summan R CMPA #10 Giltigt värde BLO OK..hoppa om JA LDAB #Error Skriv Error STAB UtportR BRA End OK LDAB A, Översätt R till Segmentkod STAB UtportR.. och skriv ut End BRA Start Rita en flödesplan! Upg 7 1) Anals ger: 2) Funktionstabell x z w f 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 01 x 11 10 RITA MED NAND NAND. 3) Karnaughdiagram z w f 00 01 11 10 00 1 1 1 1 1 1 1
Digital- och datorteknik, 2009-01-14 12(14) x 1 z f w Upg 8 Transfervillkor G K adress Transfer- Adress Aktiva strsignaler RTN-beskrivning F5 G F =1 4C0 OE PC, LD MA, IncPC PC MA, PC+1 PC 4C0 MR, LD T M T 4C1 OE, f 3, f 1, LD R, +T R 4C2 OE R, LD MA R MA 4C3 MR, f 0, LD R M R 4C4 OE PC, LD MA, IncPC PC MA, PC+1 PC 4C5 MR, LD MA M MA 4C6 G F =1 108 OE R, MW, NF R M, NF
Anonm kod: Digital- och datorteknik, 2009-01-14 13(14) Svarsblankett för del A Uppg 1 1a uppgiften besvaras inte inget rätt svarsalternativ a b c d e f g h i j poäng 1b 1c 1d 1e Uppg 2 2a uppgiften besvaras inte inget rätt svarsalternativ a b c d e f g h i j poäng 2b 2c Uppg 3 3a uppgiften besvaras inte inget rätt svarsalternativ a b c d e f g h i j poäng 3b 3c Uppg 4 4a uppgiften besvaras inte inget rätt svarsalternativ a b c d e f g h i j poäng 4b 4c Uppg 5 5a uppgiften besvaras inte inget rätt svarsalternativ a b c d e f g h i j poäng 5b