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

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

Övning2 Datorteknik, HH vt12 - Programmering

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

Laboration 2 i Datorteknik- Assemblerprogrammering II

Lösningar till tentamen i EIT070 Datorteknik

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

Lösningar till tentamen i EIT070 Datorteknik

Tentamen. Datorteknik Y, TSEA28

A-del motsvarande KS1

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin.

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

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

CE_O3. Nios II. Inför lab nios2time

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

Kontrollskrivning Mikrodatorteknik CDT S2-704

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

F8: Undantagshantering

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

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

Digital- och datorteknik

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Stack och subrutiner Programmeringskonventionen

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

Tentamen i EIT070 Datorteknik

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers

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

CPU. Carry/Borrow IX. Programräknare

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

Lösningsförslag till Tenta i Mikrodator

Tentamen. Datorteknik Y, TSEA28

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

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

Tentamen. Datorteknik Y, TSEA28

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

Institutionen för elektro- och informationsteknologi, LTH

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

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

Lösningsförslag till Tenta i Mikrodator

Övningsuppgifter i Mikrodatorteknik 4p/5p

Assemblerprogrammering för ARM del 2

Tentamen i Digitalteknik, EITF65

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.

Tentamen. Datorteknik Y, TSEA28

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

Mål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A

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

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

LABORATION. Datorteknik Y

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.

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

TSEA28 Datorteknik Y (och U)

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

Extrauppgifter för CPU12

Assemblerprogrammering, ARM-Cortex M4 del 3

Avbrottshantering. Övningsuppgifter

Institutionen för elektro- och informationsteknologi, LTH

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

TSEA28 Datorteknik Y (och U)

Tentamen med lösningsförslag

Tentamen PC-teknik 5 p

Tentamen. Datorteknik Y, TSEA28

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

Maskinorienterad programmering

Tentamen i Digitalteknik och Datorarkitektur DV1 5p

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

Digital- och datorteknik

Datorsystem. Tentamen

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

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

Läs igenom hela laboration 5 innan du börjar beskriva instruktionsavkodaren i VHDL!

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

F5: Högnivåprogrammering

F5: Högnivåprogrammering

Assemblerprogrammeringsuppgifter för FLIS-processorn

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

Assemblerprogrammering del 3

Styrteknik: MELSEC FX och numeriska värden

Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.

Datorsystemteknik DVGA03 Föreläsning 8

Uppgift 1: a) u= a c + a bc+ ab d +b cd

Tentamen. Datorteknik Y, TSEA28

LABORATIONSINSTRUKTION

LABORATION. Datorteknik Y

Maskinorienterad programmering

Tentamensskrivning 11 januari 2016

Grunderna i stegkodsprogrammering

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

Programexempel för FLEX

Lösningar till tentamen i EIT070 Datorteknik

Mål. Datorteknik. Innehåll. Vad händer med en add-instruktion? Vad händer med en add-instruktion. Instruktioner som bitmönster i minnet

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

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

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

LV6 LV7. Aktivera Kursens mål:

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

CE_O1. Nios II. Enkla assembler-instruktioner.

Assemblerprogrammering för ARM del 1

Transkript:

TENTAMEN D1/E1/Mek1/Ö1 1400-1800 Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor Maxpoäng: Betyg 3 Betyg 4 Betyg 5 60p 24p 36p 48p Frågor under tentamen: Börje Delistrand tel. +46702986358 Bilaga (som skall återlämnas): PortO contro l register lnterruptregister l

1. {7p) a) Sicriv det hexadecimala talet OxA3 på binär form. b) Slaiv talet -98 på binär 8 bitars tvåkomplementsform. c) Registret R l O innehåller värdet OxAE. Slaiv en assemblerinstruktion som nollställer bit5 och bit3 men lämnar övriga bitar opåverkade. d) V ad är det för skillnad på en RISC processor gentemot en CISC processor? Ange minst två skillnader. e) Vad innehåller programräknaren och vad används den till? f) Anta att hela PortO ska konfigureras till att vara utgångar. Vilket register behöver ändras och vilket värde ska registret sättas till? Ledning: Se bilaga. g) stackpekaren innehåller värdet OxlFOC. Vad får stackpekaren för värde om ett registervärde hämtas från stacken med en LDMFD instruktion? 2. {2p) Ett program i assembler kan innehålla både subrutiner och interruptrutiner. Beskriv hur subrutinen anropas och hur interruptrutinen anropas. Vad är skillnaderna? 3. (2p) Flyttalet X lagras som O l 0000000 l O l 00000000000000000000. Bit 31 är längst till vänster. Ange värdet av X i decimal form. Ledning: Flyttalet är kodat i IEEE-standarden för enkel precision. För denna gäller där bitarna fördelar sig enligt nedan. lsl E M l bit 8 bitar 23 bitar 4. (3p) Beslaiv ARM- processorns instruktionsexekvering (förklara de olika stegen då en instruktion utförs). 5. {4p) Sätt samman ett ROM-minne på 2 Mbyte (8-bitars ordlängd), med hjälp av minneskomponenter 512kx4bit (se komponenten). Placeras i adressområdet OxOOOOOO- OxlFFFFF. Använd en 3-8 avkodare, 74LS138, för att generera CS-signalerna. Rita tydligt schema. A(l8:0) ROM Minne D(3:0) 2 ~~OU~~UlCND SH(Cl ENAOLE

6. (3p) a) Vad har länkregistret LR for uppgift i ARM? b) Vad har stackpekaren SP for uppgift i ARM? c) Vad har statusregistret CPSR for uppgift i ARM i samband med villkorliga hopp? 7. (4p) Vilka adresseringsmoder används i följande fall: a) Addition av innehåll i två register. Summan läggs i ett tredje register. b) Inläsning från en minnesposition. c) R3 innehåller adressen till början av en tabell. Vi villläsa det tredje talet från bötjan av tabellen. d) Addera talet 5 till Rl och lägg svaret i R2. 8. (2p) Hur kan ARM-instruktionen LDR R2,=TAL läsa in 32-bitars tal i R2 då instruktionerna i ARM endast är 32-bitar långa? Motivera väl. 9. (3p) Skriv en subrutin som multiplicerar två binära 32-bitars tal. Om produkten blir for stor ska register RO laddas med talet O, annars ska produkten lätnnas i register RO. Instruktionen MUL får inte användas. Inparametrar: Talen finns i register RO och R1. Utparameter: Produkten lämnas i RO om produkten ryms inom 32 bitar, annars lämna värdet O. lo. (4p) Anta att register R1 innehåller Ox55555555. Ange N-, Z-, C- samt V- flaggans värde plus R3:s innehåll efter det att instruktionerna nedan har exekverats. Observera att a till d är enskilda instruktioner och inte ett program. Motivera väl. a) LDR R2, =OXAAAAAAAA ANDS R3,Rl,R2 b) LDR R2, =OXAAAAAAAA ORRS R3, R1,R2 c) LDR R2, =OXAAAAAAAB ADDS R3, R1, R2 d) LDR R2, =OXBCBCBCBC SUBS R3,R1,R2 3

11. (5p) I minnet finns följande tabell lagrad: Adress Ox1100 Ox1101 Ox1102 Ox1103 Oxl104 Ox1105 Oc1106 Ox1107 Ox1108 Oxl109 Värde Ox43 Ox21 Ox56 Ox12 Ox54 Ox43 Ox59 Ox85 Ox06 Ox01 Skriv en väl kornmenterad subrutin i ARM-assernbler som läser de tio dataelementen från tabellen, ökar varje värde med ett och därefter sparar de nya värdena i en ny tabell på adress Ox1200- Ox1209. Efter att subrutinen har exekverats skall registren vara opåverkade/återställda. 12. {4p) Sicriv väl kornmenterad kod i ARM-assernbler for att initiera ett externt avbrott på pinne EINTO ("knappavbrott"). Använd register INTMSK, EINTMOD och EINTCON. Anta att man vill ha avbrott på positiv flank på signalen. Lägg även in ett hopp till avbrottshanteraren IRQ_ handler på korrekt ställe i vektortabellen. Ledning: Se bilaga. 4

13. (7p) En hiss i ett källarlöst trevåningshus skall styras med en ARM-processor. In- och utsignaler ska vara kopplade till PortO enligt följande: Insignaler: P0:7 AKTILL3, P0:6 AKTILL2, P0:5 AKTILLl, P0:4 ARP A3, P0:3 ARP A2, P0:2 ARP Al. Utsignaler: PO: l HISSUPP, PO:O HISSNED Skriv ett komplett, väl kommenterat assemblerprogram för styrningen enligt nedanstående flödesschema. Använd gärna symboliska beteckningar för programlägen, styrsignaler och villkor. lo --[ HISSNEDj! 11 ~ To. J,' r.:::-:.-::-l~ J~ _o._!'>"~-~~ ' -- ~)$>- Jo, /)l1.j 5

14. (3+3+4p) I den här uppgiften ska du skriva assemblerprogram for ARM. Din programkod ska ha tydliga kommentarer som hjälper läsaren att forstå koden. Programkod med onödiga instruktioner ger inte full poäng. a) Skriv kod for subrutin SWAP. Subrutinen anropas med en 4-bytes {32 bitar) inparameter i R4. Subrutinen ska skapa ett nytt värde genom att byta plats på dessa bytes enligt figuren nedan, och returnera det nya värdet i R2. före byte3 byte2 l / "L efter byte O l byte1 l )(~ byte1 byte O byte2 byte3 l b) Skriv kod for en subrutin ORDER. Subrutinen anropas med en adress som inparameter i R4. På den adress som R4 anger finns ett 4-bytes heltal. Subrutinen ORDER ska byta plats på de fyra bytes som ingår i heltalet, enligt figuren ovan, och skriva tillbaka resultatet till minnet så att det ersätter original-heltalet. Subrutinen ORDER måste anropa subrutinen SW AP for detta arbete. c) Skriv kod for en subrutin ARRA Y. Subrutinen anropas med två inparametrar: en adress i R4, och ett heltal i R5. På den adress som R4 anger finns forsta elementet i en tabell av 4-bytes heltal. Register R5 innehåller antalet element i tabellen. Antalet kan vara noll eller positivt. Subrutinen ARRA Y ska gå igenom hela tabellen och byta plats på de fyra bytes som ingår i varje tabell-element, enligt figuren ovan. Subrutinen ARRA Y måste anropa subrutinen ORDER for detta arbete. 6