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

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

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

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

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

Övning2 Datorteknik, HH vt12 - Programmering

Lösningsförslag TENTA Datorteknik (DO2005) D1/E1/Mek1/Ö1

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: Tid: 14:00-18:00.

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

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

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

Tentamen. Datorteknik Y, TSEA28

Lösningar till tentamen i EIT070 Datorteknik

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

Grundläggande datavetenskap, 4p

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

Tentamen. Datorteknik Y, TSEA28

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

Det finns en hemsida. Adressen är

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

Lösningar till tentamen i EIT070 Datorteknik

Tentamen i EIT070 Datorteknik

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

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 i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.

CE_O3. Nios II. Inför lab nios2time

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

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING

A-del motsvarande KS1

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

Digital- och datorteknik

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

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

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

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

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

Ansvarig lärare: Olof Andersson, Telefon (besöker skrivsalen)

Kontrollskrivning Mikrodatorteknik CDT S2-704

Digital elektronik CL0090

Tentamen. Datorteknik Y, TSEA28

Tentamen den 18 mars svar Datorteknik, EIT070

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers

Digital- och datorteknik

Avbrottshantering. Övningsuppgifter

Laboration 2 i Datorteknik- Assemblerprogrammering II

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

Tentamen. Datorteknik Y, TSEA28

Ett urval D/A- och A/D-omvandlare

Tentamen (Exempel) Datorteknik Y, TSEA28

Datorteknik Övningsuppgifter

LABORATION. Datorteknik Y

Digital- och datorteknik

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

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

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

Datorsystemteknik DAV A14 Föreläsning 1

AD-DA-omvandlare. Mätteknik. Ville Jalkanen. 1

Grunderna i stegkodsprogrammering

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

Datorsystem. Tentamen

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser

Digitala projekt rapport

Datorsystem. Tentamen

Digital- och datorteknik

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

Tentamen PC-teknik 5 p

Laboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.

Digital- och datorteknik

Tentamen i Digitalteknik och Datorarkitektur DV1 5p

LV6 LV7. Aktivera Kursens mål:

Digital- och datorteknik

Tentamen i Digital Design

Tentamen. Datorteknik Y, TSEA28

Tenta i Digitalteknik

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

LEU240 Mikrodatorsystem

Tentamen. Datorteknik Y, TSEA28

Tentamen Datorteknik Y, TSEA28 Datum

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

Tentamen. Datorteknik Y, TSEA28

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Introduktion till ARM Cortex-M4

Digitala System: Datorteknik ERIK LARSSON

Tentamen (Exempel) Datorteknik Y, TSEA28

'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ

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)

Flyttal kan också hantera vanliga tal som både 16- och 32-bitars dataregister hanterar.

Tentamen Datorteknik D del 2, TSEA49

Maskinorienterad programmering

Tentamen (Exempel) Datorteknik Y, TSEA28

Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Elektro och Informationsteknik LTH. Laboration 6 A/D- och D/A-omvandling. Elektronik för D ETIA01

Transkript:

Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i sal T158. Hjälpmedel: Kompendium "Tentahjälpmedel Datorteknik", Version 2012-05- 21, A4- format, 72 sidor. Kompendiet ska lämnas tillbaka efter tentan! Maxpoäng: 60p Betyg 3 24p Betyg 4 36p Betyg 5 48p Frågor under tentamen: Tomas Nordström: 035/167334 eller 070/2888632. Notera att för alla uppgifter gäller att assemblerkod ska skrivas för den mikroprocessor som har används vid laborationerna, en ATMEL SAM3U, vilken i sin tur innehåller en ARM Cortex M3 processor. Utdrag ur datablad och annat referensmaterial som behövs för att lösa tentauppgifterna finns i kompendiet "Tentahjälpmedel Datorteknik". Notera även att all kod som skrivs måste vara väl kommenterad för att ge full poäng.

sida 2 av 5 Uppgift 1. (5p) (0.5p/rätt, felaktigt alternativ = 0.5p. Dock lägst noll poäng. Max 5p) Kombinera en term i den vänstra kolumnen med tillhörande fras(er) i den högra kolumnen. l. Instruktionsregister a. signal från givare omvandlas till lämplig form för datorbearbetning 2. Refresh b. här finns styrkoder för instruktioner c. används vid adressering 3. A/D- omvandling d. DRAM e. krets för seriell in- utmatning 4. ALU f. alfanumerisk kod g. här hamnar instruktioner för avkodning 5. Startbit h. pekar på nästa instruktion i. här sker beräkningar 6. RISC j. kan delas upp i flera tillstånd k. en instruktionsuppsättning 7. ASCII l. programmerad in- utmatning m. assemblator 8. Baud n. PROM o. asynkron seriell överföring 9. Cache p. krets för parallell in- utmatning q. snabbt minne nära processorn 10. Thumb r. handskakning s. load/store arkitektur t. statusregister u. enhet för signaleringshastighet v. assemblerinstruktion x. digital- analog omvandling Uppgift 2. (4p) Du har fått en datafil med innehållet 1010 6A93 40F0 0000 tolkat i hexadecimal kod. Du tar reda på att de 16 första bitarna är ett positivt heltal. Därefter följer 2 st 8- bitars 2- komplementtal och slutligen ett 32- bitars flyttal a) Översätt det positiva heltalet till ett decimaltal. b) Översätt de två 2- komplementtalen till decimaltal. c) Översätt flyttalet till decimaltal. Ledning: Flyttalet är kodat i IEEE- standarden får enkel precision. För denna gäller d) Om strängen Hej Hopp! lagras som ASCII, vilka värden (i hex) motsvarar detta?

sida 3 av 5 Uppgift 3. (4p) I denna uppgift förutsätts 8 bitars ordlängd och 2- komplementkodning. Ange svaren på följande additioner, dels i binär form och dels som decimaltal. Sätt också ut värdet får Carry (C), Overflow (V) och Negate (N) och redovisa som tabellen nedan. Hex Binärt Decimalt Carry Overflow Negate a) 7E+ 2A b) BF+Cl Uppgift 4. (4p) Ovanstående figur visar en 4- bitars A/D- omvandlare av typen successiv approximationsomvandlare. a) Antag att den "okända" analoga ingången har ett värde 8/16 < Uin < 9/16 av fullt utslag. Vad blir det digitala värdet <x3 x2 x1 x0 >efter omvandling? Motivering med ett tidsdiagram som visar omvandlingen, med förklarande text, krävs. b) Hur många klockpulser kräver denna omvandling? c) Hur många bitar skall en AD- omvandlare ha for att upplösningen ska vara l% av största värdet? Uppgift 5. (2p) Vid dokumentation av en subrutin i assembler vilka delar/egenskaper bör åtminstone vara beskrivna för att dokumentationen ska vara acceptabel. Uppgift 6. (5p) Skriv ett program som omvandlar tal som ligger på adress 0x2000 till dess absolutvärden. Talet skall sparas på adress 0x3000 och framåt. Talen avslutas med talet 0.

sida 4 av 5 Uppgift 7. (3p) I en vanlig ARM kod kan vi finna följande instruktion: STMFD R13!,{R0-R4, LR} a) Förklara vad instruktionen gör! b) Var i koden är det mest sannolikt att denna typ av instruktion dyker upp? c) Anta att R13 = 0x20004000 innan instruktionen. Vad är innehållet i R13 efter att ha exekverat instruktionen? Uppgift 8. (3p) Anta man vill läsa in talet 0x12345678 till R1. Detta går att göra på tre sätt. Skriv kod för att göra detta a) Genom att nyttja assemblerdirektiv EQU samt instruktionen LDR b) Genom att nyttja assemblerdirektiv DC32 samt instruktionen LDR c) Genom att bara nyttja instruktionen LDR Uppgift 9. (6p) Man brukar ofta prata om 5 steg i instruktionscykeln för en RISC processor. a) Namnge vilka steg som finns och tala om vad som sker i respektive steg med högst en mening var. b) Om följande instruktioner finns i minnet ifrån adress 0x20000000 TEST LDR R9,[R6,#5] SUBS R1, R1, R9 BNE TEST Förklara vad som händer i alla stegen av instruktionscykeln för de tre instruktionerna. Ange speciellt vad som finns på adressbussen under de olika stegen. Anta att R6 har värdet 0x20001234 innan dessa instruktioner och att en von Neumann arkitektur används (med gemensamt instruktions och data minne) utan pipelining. Uppgift 10. (4p) a) Förklara, kortfattat, vad som menas med löpandebandprincipen (pipelining) inom datorteknik. b) Med superscalar - teknik så utförs flera instruktioner samtidigt. Vad begränsar möjligheterna att använda superscalar - tekniken? Uppgift 11. (6p) a) Skriv den kod som behövs för att konfigurera SYSTICK i den processors som labsystemet använder (ARM Cortex M3 / ATMEL SAM3U) så att avbrott sker 25000 gånger per sekund, anta att processorns klockfrekvens är 5MHz. b) Förklara allt vad som händer i processorn då ett avbrott ifrån SYSTICK kommer. c) Skriv även den kod som behövs för att lägga till en SYSTICK_Handler i den aktuella avbrottsvektorn. Notera att avbrottsvektorn har flyttats till SRAM av en bootloader/debugger så du måste först ta reda på var vektorn ligger i minnet innan den modifieras!

sida 5 av 5 Uppgift 12. (6p) a) Skriv den kod som behövs för att konfigurera PIO PortB som utgångar utan pull- up motstånd på bit1 och bit0. b) Skriv den kod som behövs för att konfigurera PIO PortA som ingångar med pull- up på bit19 och bit18. Konfigurera dessa ingångar också så att de ger avbrott då en knapp kopplad till dessa ingångar trycks in (och drar signalen låg). c) Skapa en avbrottsrutin PIOA_InteruptHandler som tar hand om knappnertryckningsavbrottet. Rutinen ska i sin tur anropa en hanteringsrutin ButtonHandle med R0 som inparameter (R0=2 om knappen till bit19 har tryckts ner; R0=1 om knappen till bit18 har tryckts ner; R0=3 om båda knappar tryckts ner). Uppgift 13. (8p) a) Skriv ett program som genererar en PWM (pulsbreddsmodulerad) utsignal på PortB (bit0). Sätt bit0 hög N gånger och låg 250 N gånger, jämför med figuren nedan. Talet N (0<=N<=250) som styr PWM signalen antas vara lagrat i minnet på adress N_VAL. Periodtiden för PWD signalen måste vara sådan att om detta styr en lampa så får den inte fladdra (dvs > 50 Hz). Därför är SYSTICK initierats så att den genererar ett avbrott (anropar SYSTICK_Handler) 25000 gånger per sekund. Skriv den kod som behövs i SYSTICK_Handler så att datorn genererar den önskade PWM signalen. Amplitud N 250 N Oscilloskopbild Tid b) Vi vill självfallet även kunna ändra talet värdet på N som styr PWM signalen (och lagras på adress N_VAL) och valt att göra detta genom knapptryckningar. Skriv den kod som gör att N ökas om upp- knapp (bit18) eller minskas om nerknapp (bit19) trycks ner. Om båda trycks ner ska N återgå till sitt startvärde = 128. Du kan anta att koden i uppgift 10 finns och att du bara behöver implementera ButtonHandle. Notera att SYSTICK_Handler måste kunna anta att N håller sig inom sina gränser (0<=N<=250). c) Då det blir väldigt många knapptryckningar för att komma till ändlägena skulle man vilja ha en repeat- funktion. Modifiera rutinerna ovan så att en sådan funktion skapas. Om man håller en knapp nedtryckt i minst en sekund N- värdet därefter börja uppdateras 2 gånger per sekund.