Tentamen i Digitalteknik och Datorarkitektur DV1 5p

Relevanta dokument
Grundläggande datavetenskap, 4p

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

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

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:

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

Datorsystemteknik DVGA03 Föreläsning 8

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

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Det finns en hemsida. Adressen är

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

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

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Digitala System: Datorteknik ERIK LARSSON

Kursplanering för Mikrodatorteknik 4p/5p

Tentamen den 18 mars svar Datorteknik, EIT070

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

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

Datorsystemteknik DAV A14 Föreläsning 1

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

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet.

Tentamen. Datorteknik Y, TSEA28

Digitalteknik och Datorarkitektur

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.

Lösningar till tentamen i EIT070 Datorteknik

Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas

Institutionen för elektro- och informationsteknologi, LTH

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

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)

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

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

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

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

LV6 LV7. Aktivera Kursens mål:

Tentamen. Datorteknik Y, TSEA28

Lösningar till tentamen i EIT070 Datorteknik

Datorarkitekturer med operativsystem ERIK LARSSON

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

Föreläsningsanteckningar 2. Mikroprogrammering I

HF0010. Introduktionskurs i datateknik 1,5 hp

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

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

Omtentamen i CDT204 - Datorarkitektur

Lösningsförslag till Tenta i Mikrodator

Datorsystem. Tentamen

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

Processor pipelining genom historien (Intel i9-intel i7)

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

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

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

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

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Kontrollskrivning Mikrodatorteknik CDT S2-704

Lösningar till tentamen i EIT070 Datorteknik

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

Övning2 Datorteknik, HH vt12 - Programmering

Stack och subrutiner Programmeringskonventionen

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

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

TSEA28 Datorteknik Y (och U)

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

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

TSEA28 Datorteknik Y (och U)

Tentamen i Informationsteknologi 5p Fredagen den 13 augusti 2004

Datorsystem. Tentamen

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte" ARM-instruktioner", A4-format, 17 sidor. Maxpoäng: 60p

TSEA28 Datorteknik Y (och U)

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

Närliggande allokering Datorteknik

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

Datorarkitekturer med operativsystem ERIK LARSSON

Övningsuppgifter i Mikrodatorteknik 4p/5p

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

Datorarkitekturer med operativsystem ERIK LARSSON

Lösningsförslag till Tenta i Mikrodator

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

Tentamen. Datorteknik Y, TSEA28

Tentamen PC-teknik 5 p

TSEA28 Datorteknik Y (och U)

Tentamen Datorteknik D del 2, TSEA49

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Styrenheten styrsignalsekvenser programflödeskontroll

Tentamen i EIT070 Datorteknik

Datorsystemteknik DAV A14 Föreläsning 1

ALU:n ska anslutas hur då?

Laboration 2 i Datorteknik- Assemblerprogrammering II

Program Datorteknik. Kontrollenhet. Exekvering av en instruktion. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk.

Datorteknik ERIK LARSSON

Tentamen den 17 mars 2016 Datorteknik, EIT070

DatorsystemteknikDAVA14 Föreläsning 9

CE_O3. Nios II. Inför lab nios2time

TSEA28 Datorteknik Y (och U)

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Tentamen PC-teknik 5 p

Digitalteknik och Datorarkitektur 5hp

Digital- och datorteknik

Transkript:

Institutionen för Informationsteknologi Avdelningen för Datorteknik Per O Foyer Tentamen i Digitalteknik och Datorarkitektur DV1 5p Torsdag 1999-08-12 Lokal: Skrivtid: 09.00-15.00. Polacksbackens skrivsal, MIC Hjälpmedel: Inga hjälpmedel förutom penna, suddgummi och glatt humör. Tentamen omfattar 42 skrivningspoäng. Totalt 20 poäng på tentamen ger garanterat godkänt. För att erhålla betyg på hela kursen krävs förutom avklarad tentamen även att samtliga laborationer och inlämningsuppgifter redovisats och godkänts. Allmänt: Om du är osäker på vad som avses i någon fråga, skriv då vad du gör för antaganden! Skriv endast en uppgift per blad och skriv bara på ena sidan av papperet. Skriv namn på alla papper. Referera inte mellan olika svar. Oläsliga/Oförståeliga svar samt okommenterade och/eller otydliga programmeringslösningar rättas inte vilket per definition ger noll poäng! Under tentamenstid nås Per O Foyer på telefon 0708-80 88 60. som en rosa dröm med volanger och sånt och sedan blir det bara svart eller nå t fast jag vet inte Ur filmen Yrrol Information Logotypen längst upp till vänster på denna sida är Uppsala universitets nya logotyp vars officiella invigning ägde rum den första juli 1999. 1. Var sak på sin plats Vilka är delstegen i instruktionscykeln i en von Neumann-dator? Per O Foyer Postadress Besöksadress Telefon Elektronisk post Institutionen för Box 325 Polacksbacken 018-471 00 00 per.foyer@docs.uu.se Informationsteknologi, 751 05 Uppsala Hus 1 0708-80 88 60 Telefax Avd. för Datorteknik 018-55 02 25

2. Den itusågade damen Beskriv punktvis vad som händer i en dator vid ett vektoriserat avbrott, från det att en I/Oenhet begär avbrott tills dess att den får service. Beskriv också minst två sätt på vilket CPU:n kan få reda på orsaken till avbrottet. OBS: Du ska beskriva det generella fallet, inte specifikt vad som sker i en MIPS-processor. 3. Persons parfymeri Beskriv en enkel ALU. Den ALU du beskriver bör vara kapabel att utföra några olika operationer. Rita ett diagram som visar vilka komponenter som finns och hur de är förbundna (både internt och externt) med varandra. (2p) 4. I glassboxen Förklara kortfattat följande begrepp: a) Interleavat minne b) Ofullständig avkodning c) FPU d) Pipeline e) Control Unit (CU) (5p) Ungarnas favorit sommaren 1999 5. Öppna ditt fönster, släpp in lite sol En RISC-processor har betydligt fler interna register än en CISC-processor. En teknik som kan användas i en RISC-processorarkitektur är överlappande registerfönster (overlapping register windows). Antag att det totala antalet tillgängliga register i en RISC-CPU är 128 stycken och att fönsterstorleken är totalt 24 register. a) Förklara, helst med en illustration, med ovanstående antagande hur parametrar överförs till och från subrutiner med hjälp av fönsterteknik och ange dessutom eventuella hjälpregister samt hur registerfönstren i sig är organiserade. b) Vad händer och varför med exekveringsprestandan i ett RISC-baserat system när subrutinanrop är djupt nästlade (där omfattande rekursion är ett extremfall)? 2(6)

6. Det är en evighetsmaskin! Nedanstående processorarkitektur är given. Förutom styrsignalerna på bilden finns även signalerna FETCH, DECODE och WFMFC. a) Skriv mikrokoden för processorns hämtfas. b) Skriv mikrokoden till exekveringsfasen för assemblerinstruktionen MOVI #<data>,<adr> vars funktion är: Ladda minnescell <adr> med <data>, det vill säga (<adr>) <= <data>. c) Studera arkitekturen. Är det möjligt att i denna maskin implementera villkorliga hopp (i stil med JZ LABEL Jump if Zero)? Motivera svaret. d) Förklara kortfattat i ord strategin för hur instruktioner för relativa hopp kan implementeras i ovanstående arkitektur. OBS #1: All mikrokod ska skrivas i mnemoteknisk form (till exempel PCout, TEMPin). OBS #2: Okommenterad kod ger noll (zero, ingen, null, nada) poäng. (6p) 3(6)

7. Inget onödigt tjaffs här inte! En RISC-processor, nanorisc, har 256 stycken generella 32-bitarsregister benämnda R0,...,R255. Det finns dessutom en 32-bits programräknare PC och ett statusregister RS som innehåller en Z-flagga (zero) och en C-flagga (carry). Instruktionsrepertoaren är mycket spartansk och de enda instruktioner som kan accessa minne är LOAD och STORE. LOADI som används för att ladda ett register med direktdata kan endast hantera 24-bitsvärden. Vid en LOADI behåller alltid destinationsregistrets översta åtta bitar sitt tidigare värde. nanoriscprocessorn arbetar inte med någon traditionell stack utan programmeraren hänsvisas till att använda de generella register som finns. Varje instruktion är exakt ett 32-bitarsord stor. Tillgängliga register: R0, R1,..., R255 : generella register (32-bit) RS PC Tillgängliga instruktioner: : statusregister (2-bit) : programräknare (32-bit) Nedan står Rx och Ry för godtyckliga R-register (R0,..., R255) Syntax Operation LOAD (Rx),Ry : Ry @Rx (OBS! 32-bitsoperation) LOADI #<data>,rx : Rx #<data> (OBS! endast 24-bit data) STORE Rx,(Ry) : @Ry Rx ADD Rx,Ry : Ry Ry + Rx SUB Rx,Ry : Ry Ry - Rx OR Rx,Ry : Ry Ry + Rx (bitvis OR) AND Rx,Ry : Ry Ry Rx (bitvis AND) XOR Rx,Ry : Ry Ry Rx (bitvis XOR) JAL Rx : PC Rx (ovillkorligt hopp) JC Rx : PC Rx (hopp om C-flagga i RS satt) JZ Rx : PC Rx (hopp om Z-flagga i RS satt) JSUB Rx,Ry : Ry PC + 1 (returadress), PC Rx (hopp) RET Rx : PC Rx (retur från subrutin) Hopp, och hopp till subrutiner, är lite speciella. Hopp sker till en adress som finns lagrad i ett R-register. Endast de 24 minst signifikanta bitarna i R-registret används som adress. Vid hopp till subrutin sker hoppet till den adress ett R-register anger och returadressen lagras samtidigt i ett annat R-register som sedan används i RET-instruktionen. I nanorisc-assembler används alltid endast hexadecimala tal. En programmeringsteknisk konvention är att register i området R128 till R192 används som temporära register och att registren i området R193 till R255 används till adressrelaterade lagringar. Vänd! 4(6)

Uppgift Skriv en subrutin, NEG, i nanorisc-assembler. Subrutinen NEG ska omvandla ett givet 32- bitarstal till tvåkomplementform. Subrutinen ska använda register R1 som in- och utparameter vilket innebär att R1 vid subrutininträdet innehåller det tal som ska tvåkomplementeras och vid utträdet svaret. Returadressen ska i subrutinen förutsättas finnas i register R255. Ett exempelanrop av NEG skulle kunna se ut så här: * Exempelanrop: Hämta ett 32-bits tal på adress A000, tvåkomplementera * och lagra på samma adress.. XOR R193,R193 ;nollställ hela R193 (32-bit) LOADI #A000,R193 ;R193 := A000 LOAD (R193),R1 ;R1 := talet på adress A000 (32-bit) XOR R254,R254 ;nollställ hela R254 (32-bit) LOADI #NEG,R254 ;R254 := adress till subrutin (24-bit) JSUB R254,R255 ;Hoppa till NEG med returadress i R255 STORE R1,(R193) ;lagra resultatet på adress A000.. Kommentera din lösning väl! (6p) 8. Co-driver Förklara principerna för direktmappad respektive minnesmappad I/O-adressering. (2p) 9. Notis Förklara hur en programmerare kan dra nytta av principen locality of reference för att optimera exekveringshastigheten i samband med cache-minnen. (1p) 10. Knyppling i den högre skolan a) Vad innebär interleaving i minnessammanhang? Rita en figur samt förklara principen för adressavkodning jämte fördelar och nackdelar med minnes-interleave-tekniken som sådan. b) Vad innebär interleaving i disksammanhang? Illustrera med en enkel principskiss och förklara motivet till att ibland interleava diskar. 5(6)

11. Att motionera sitt minne DRAM-minnen utgör en central del i datorer med måttliga prestanda, speciellt persondatorer. a) Förklara vad förkortningen DRAM betyder och förklara det principiella funktionssättet hos ett minne av DRAM-typ. b) Vilken CPU-busstyp är sannolikt enklast att använda DRAM-minnen tillsammans med, en synkron eller asynkron buss? Motivera svaret. c) En MIPS-processor ska utrustas med DRAM-minne uppbyggt kring minneskapslar om vardera 4Mbit x 1 (det vill säga 4M individuellt adresserbara bitar i varje kapsel). Hur stort blir minnesutrymmet mätt i Mb (megabyte) för den minsta möjliga minneskonfiguration som medger läsning och skrivning av processorns samtliga storlekar på data? Motivera svaret. d) Visa och förklara med en enkel skiss hur 2 n individuellt adresserbara minnesceller kan adresseras med färre än n adressledningar. 12. En krans av tusensköna Förklara hur daisy chain-teknik kan användas för att ordna I/O-enheter i ett prioritetssystem. (6p) (2p) Tentamen slut! 6(6)