Digitalteknik och Datorarkitektur

Relevanta dokument
Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

Digitalteknik och Datorarkitektur 5hp

Foto: Rona Proudfoot (some rights reserved) Datorarkitektur 1. Datapath & Control. December

Lösningar till tentamen i EIT070 Datorteknik

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

Datorsystem. Tentamen

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

OBS!! Detta är DEL 2 av tentan. För att få ut denna måste du ha lämnat in del 1. Om du inte fått ut del 1 bör du meddela skrivningsvakten. OBS!!

Tentamen i IE1204/5 Digital Design måndagen den 15/

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

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

Tentamen. Datorteknik Y, TSEA28

Datorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål

Lösningar till tentamen i EIT070 Datorteknik

Tenta i Digitalteknik

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

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

rd, rs, rt Digitalteknik och Datorarkitektur 5hp ALU register) 32 bit register b 5 bit 32 Registers 32 bit MIPS is a Register-toregister

Datorsystemteknik DVGA03 Föreläsning 8

IE1204/IE1205 Digital Design

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Exempelsamling Assemblerprogrammering

Digitalteknik och Datorarkitektur 5hp

NUV 647E. Digitalteknik och Datorarkitektur 5hp. 3x12 = 36 2x12 = 24 1x12 = 12 0x12 = 18

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen. Datorteknik Y, TSEA28

Digitala System: Datorteknik ERIK LARSSON

Grundläggande datavetenskap, 4p

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

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Datorsystem. Tentamen

Tentamen PC-teknik 5 p

Tenta i Digitalteknik

Tentamen. Datorteknik Y, TSEA28

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tenta i Digitalteknik

Stack och subrutiner Programmeringskonventionen

Tentamen PC-teknik 5 p

Tentamen. Datorteknik Y, TSEA28

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

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

Datorsystemteknik D. Lösningar till tentamen i kursen EDA330 14/1 2000

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Lösningar till tentamen i EIT070 Datorteknik

Pipelining i Intel Pentium II

Tenta i Digitalteknik

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

Datorarkitekturer med operativsystem ERIK LARSSON

IBM POWER4, den första flerkärniga processorn och dess pipelines.

Tentamen i IE1204/5 Digital Design Torsdag 29/

Pipelining i Intel 80486

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

Tentamen. Datorteknik Y, TSEA28

Tentamen i Algoritmer & Datastrukturer i Java

Tentamen. Datorteknik Y, TSEA28

Datorsystemteknik DAV A14 Föreläsning 1

Datorarkitekturer med operativsystem ERIK LARSSON

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Hannes Larsson - IDA 2, LTH Campus Helsingborg. NEC V R 4300i. Interlock-handling EDT621

Datorarkitekturer med operativsystem ERIK LARSSON

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Datorsystem. Exempeltentamen

DEC Alpha instruktions Arkitektur

ÖH kod. ( en variant av koden används i dag till butikernas streck-kod ) William Sandqvist

Tentamen i Digital Design

Tentamen i Digitalteknik, EITF65

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

CE_O3. Nios II. Inför lab nios2time

Tentamen (Exempel) Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

IE1204 Digital Design

Mål. Datorteknik. Innehåll. Innehåll (forts) Hur ser ett program ut? Hur skapas maskinkoden?

Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 3. Assembler, stack och subrutiner, programmeringskonventionen. Institutionen för elektro- och informationsteknologi, LTH

Tentamen EDAA05 Datorer i system

Tentamen i EIT070 Datorteknik

Omtentamen IE Digital Design Måndag 14/

Tentamen i IE Digital Design Fredag 21/

Tentamen i EIT070 Datorteknik

Styrteknik: Binära tal, talsystem och koder D3:1

Tentamen. Datorteknik Y, TSEA28

LABORATION DATORTEKNIK D. Pipelining. Namn och personnummer. Version: (OS,OVA,AN)

Datorarkitekturer med operativsystem ERIK LARSSON

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/

Tenta i Digitalteknik

IE1205 Digital Design: F6 : Digital aritmetik 2

Tentamen (Exempel) Datorteknik Y, TSEA28

Tentamen den 18 mars svar Datorteknik, EIT070

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Tentamen i Digitalteknik och Datorarkitektur DV1 5p

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

Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 2. Programmering i C och assembler MIPS instruktionsarkitektur. Institutionen för elektro- och informationsteknologi, LTH

Tentamen (Exempel) Datorteknik Y, TSEA28

Transkript:

Digitalteknik och Datorarkitektur Tentamen Tisdag 12 Januari 2010 Pollacksbackens skrivsal, klockan 08:00 13:00 Examinator: Karl Marklund 018 471 10 49 0704 73 32 17 karl.marklund@it.uu.se Tillåtna hjälpmedel: Penna Radergummi Linjal Följande gäller: Du får endast skriva dina svar på avsedd plats i detta häfte (linjerat område). Observera att lösningar som inte uppfyller kravet ovan ej kommer att rättas. Du får ej skriva dina lösningar med röd färg. Lösningar som är skrivna med röd färg kommer inte att rättas. You may answer in swedish or english. Skrivningstid: 5 timmar Vid inlämning Efternamn: Förnamn: Personnummer (10 siffror): Kurs: Vid rättning Fråga Din poäng Maxpoäng 1 Digitalteknik 7 2 Aritmetik 4 3 MIPS-instruktioner 4 4 Minne 3 5 Cache 5 6 Datapath 5 7 MIPS-assembler 7 KandDv (1DT033) 8 Exceptions and Interrupts 5 IT (1DT038) EI (1DT016) Distans (1DT016) Äldre variant på IT (1IT050) 9 Input/Output 4 10 Pipelining 6 Summa 50 Gräns för godkänt 25 Betyg Termin då jag först registrerades på kursen: Klockslag för inlämning: The question of whether computers can think is just like the question of whether submarines can swim. Edsger W. Dijkstra

1 Digitalteknik En logisk funktion F av de fyra binära variablerna x, y, z och w definieras av sanningstabellen nedan. x y z w F 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 xy zw 00 01 11 10 00 01 11 10 Visa med hjälp av Karnough-mappen ovan till höger hur uttrycket för F kan förenklas till: F = Visa hur F kan implementeras genom att färdigställa kretsen nedan. Du får endast använda dig av ledningar och grindar av typ NOT, AND och OR. Sida 2 av 15

En multiplexer kan bland mycket annat användas för att lagra sanningstabeller. Visa hur F kan implementeras genom att använda endast en multiplexer. Du får inte använda några grindar, endast en multiplexer, inputs, outputs och ledningar. Rita din krets inom det markerade området nedan. (2p) Givet att du har tillgång till ett register och en adderare, visa hur du kan konstruera en krets som räknar upp från 0 till 7 för att sedan börja om från 0, dvs sekvensen 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4,... osv. Om du gör antaganden om komponenter mm skall du ange dessa. Rita din krets inom det markerade området nedan. (2p) Antaganden: Sida 3 av 15

2 Aritmetik Låt M10 = 2710 vara ett decimalt tal. Ange M10 = -2710 på 8 bitars binär två-komplementsform: -M2 = Låt T = 0xC5A9 vara ett hexadecimat tal. Ange talet T på binär form: T2 = För att representera flyttal i MIPS delas bitarna upp enligt IEEE 754 på följande sätt: 1 8 23 Sign Epxonent Fraction (aka mantissa) För att tolka bitarna som ett flyttal används följande formel: (-1) sign x (1.fraction) x 2 (exponent - 127) Nedan ges ett exempel på ett 32 bitars tal N. Tolka detta som ett flyttal enligt IEEE 754 (32 bitar) och ange på decimal form. Sign Exponent Fraction 1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 N10 = (2p) Sida 4 av 15

3 MIPS-instruktioner Vad menas med att MIPS är en så kallad load-store architecture? Vad menas med att en instruktion är en så kallad pseudoinstruktion? Ett exempel på en så kallad immediate instruktion i MIPS är: addi rd, rs, imm Ange två orakser till varför det i MIPS finns en gräns på hur stor immediatekonstanten imm kan vara? Orsak 1: Orsak 1: Sida 5 av 15

4 Minne Minnet i MIPS är uppdelat i ett stort antal celler. Hur stor är en sådan cell, dvs den minsta adresserbara enheten S? S = Antag att ordet T= 0xDEADBEEF lagrats i ett register. När innehållet i registret sedan skall skrivas till minnesadress M kan detta göras på två olika sätt. Ange (hexadecimalt) innehållet i minnet med start på address M efter skrivningen samt ange namnet på den metod som använts. Word at address M Method Name A) B) M M+1 M+2 M+3 M M+1 M+2 M+3 Sida 6 av 15

5 Cache Förklara begreppet locality och varför detta gör införandet av cache användbart. (2p) I diagrammet nedan visas mätdata för miss-rate i relation till block-storlek för olika storlek på cache (4K, 16K, 64K och 256K). Vilka slutsatser kan du dra från diagrammet - motivera. (3p) Sida 7 av 15

6 Datapath I figuren nedan finns en schematisk bild av en datapath för MIPS. För att styra funktionen används bland annat fyra stycken multiplexrar (A, B, C och D). Förklara varför multiplexer A behövs? Förklara till vad ALUn används vid en load-instruktion? Sida 8 av 15

Vilket problem med en single-cycle-implementation försöker man lösa genom en multi-cylcleimplemenation av en datapath för MIPS. I bilden över en single cycle datapath för MIPS ovan återfinns en komponent märkt sing extension. Vad gör denna komponent och varför behövs den? Antag att ett bitmönster E finns lagrat. Om E tolkas utan tecken får vi på hexadecimal notation Eunsigned = 0xAB. E skall skickas på en 16-bitars bus med hjälp av sign extension. Vilket värde (på hexadecimal form) kommer att skickas på bussen? E = Sida 9 av 15

7 MIPS-assembler Vad säger register-konventionen om användandet av s-register? Ge två exempel på varför vi i MIPS behöver stacken. Exempel 1 Exempel 2 Sida 10 av 15

Nedan återfinns kod för en subrutin i MIPS-assembler. På några ställen har dock text fallit bort. Färdigställ subrutinen genom att skriva på linjerna på raderna markerade med A, B, C och D. ############################################################################ # DESCRIPTION: Checks wether or not two integer arrays A and B are equal. # # INPUT: $a0 - Address to first element of array A. # # $a1 - Address to first element of array B. # # $a2 - Size of arrays, i.e. number of elements to compare. # # OUTPUT: $v0-1 if the arrays are equal, othterwise 0. # ############################################################################ array_equal: li $v0, 1 # Initialize result R = 1 = true/equal li $t0, 0 # Initialize element counter i = 0 for_all_elements: beq $t0, $a2 end_for_all_elements $t2, $t0, 2 # i*4 ### A ### add $t1, $a0, $t2 # A + i*4 $t3, # Element a = A[i] ### B ### add $t1, $a1, $t2 # B + i*4 $t4, # Element b = B[i] ### C ### $t3, $t4, # A[i] =?= B[i] ### D ### (2p) addi $t0, $t0, 1 # i++ j for_all_elements # Next element not_equal: li $v0, 0 # Result R = 0 (arrays not equal) end_for_all_elements: jr $ra # Return to caller Sida 11 av 15

8 Exceptions och Interrupts I kursboken gör man skillnad på exceptions och interrupts. Redogör för dessa skillnader. Exceptions: Interrupts: Beskriv kortfattat vad som sker vid ett exception/interrupt samt ett subrutinanrop genom att i förkekomande fall beskriva hur registren PC, RA, EPC och CAUSE används. Exception/Interrupt (2p) PC: RA: EPC: CAUSE: Subroutine calls PC: RA: EPC: CAUSE: Sida 12 av 15

9 Input/Output Vilken nackdel med pollad I/O löses med hjälp av interruptstyrd I/O?: Förklara hur REQUEST- och ACKNOWLEDGE-signaler används vid överföring av data på en buss som använder ett protokol med handskakning. (2p) Fördelen med hand-skakning är: Sida 13 av 15

10 Pipelining I samband med pipelining kan olika problem (hazards) uppstå. Ett sådant problem är en så kallad datahazard. Förklara vad detta innebär. Det finns flera andra typer av pipeline hazards. Namge ytterligare en hazard samt ge ett exempel på när detta inträffar. -hazard Exempel Sida 14 av 15

En datapath för MIPS med pipelining visas i figuren nedan. Pipelinen består av 5 steg: Instruction Fetch, Instruction Decode, Execution, Memory, Write-Back. 5 Olika instruktioner befinner sig i pipelinen. IF/ID, ID/EX, EX/MEM och MEM/WB betecknar hårdvara som inte återfinns i en single cycle datapath. Vad är detta för något och varför behövs denna hårdvara? (3p) Typ av hårdvara: Denna hårdvara behövs för att: (2p) Sida 15 av 15