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

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

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

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

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

Övning2 Datorteknik, HH vt12 - Programmering

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

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik

Tentamensskrivning 11 januari 2016

Laboration 2 i Datorteknik- Assemblerprogrammering II

Övningsuppgifter i Mikrodatorteknik 4p/5p

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

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

Tentamen i Digital Design

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

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

Datakommunikation med IR-ljus.

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

CE_O3. Nios II. Inför lab nios2time

Digital- och datorteknik

Tentamen. Datorteknik Y, TSEA28

Tentamen i EIT070 Datorteknik

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers

Assemblerprogrammering för ARM del 2

Digital- och datorteknik

Styrteknik: MELSEC FX och numeriska värden

Kontrollskrivning Mikrodatorteknik CDT S2-704

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

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

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

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

Tentamen i Datakunskap NT

Tentamen. Datorteknik Y, TSEA28

Tentamen i IE1204/5 Digital Design onsdagen den 5/

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

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

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

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

A-del motsvarande KS1

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Avbrottshantering. Övningsuppgifter

Arduinokurs. Kurstillfälle 4

CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io.

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

Lösningsförslag till Tenta i Mikrodator

Institutionen för elektro- och informationsteknologi, LTH

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

Assemblerprogrammering, ARM-Cortex M4 del 3

Stack och subrutiner Programmeringskonventionen

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

INSTRUKTION. Instruktion-SMART Rev Vetek AB Box 79 Tel Fax Väddö www. vetek.

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

Assemblerprogrammeringsuppgifter för FLIS-processorn

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

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

Extrauppgifter för CPU12

Exempel 3 på Tentamen

Tentamen i IS1500/IS1200/2G1518 Datorteknik fredagen den 19 augusti 2011 kl

Institutionen för elektro- och informationsteknologi, LTH

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

Läsminne Read Only Memory ROM

Lösningar till tentamen i EIT070 Datorteknik

Digital elektronik CL0090

Datorsystem. Tentamen

Grunderna i stegkodsprogrammering

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

LABORATION. Datorteknik Y

LiTH Lab1: Asynkron seriell dataöverföring via optisk länk Laboration 1. Asynkron seriell dataöverföring via optisk länk

Tentamen. Datorteknik Y, TSEA28

Försättsblad till skriftlig tentamen vid Linköpings universitet

Grundläggande datavetenskap, 4p

Tentamen i Grundläggande Programvaruutveckling, TDA548

EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7)

Digital- och datorteknik

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

F8: Undantagshantering

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: (OS)

TSEA28 Datorteknik Y (och U)

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

Tentamen. Datorteknik Y, TSEA28

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Tentamen. Datorteknik Y, TSEA28

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

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

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

Assemblerprogrammering - fördjupning

Maskinorienterad programmering

LV6 LV7. Aktivera Kursens mål:

Minnen delas in i två huvudgrupper, permanenta och icke permanenta. Non-volatile and volatile.

Tentamen. Datorteknik Y, TSEA28

Tentamen med lösningsförslag

DAT 015 Maskinorienterad programmering 2010/2011. Uppbyggnad_och_funktion.pdf

Dataöverföring på Parallell- och serieform MOP 11/12 1

ALU:n ska anslutas hur då?

PARITETSKONTROLL. Om generatorn i vidstående exempel avkänner ett jämt antal ettor ger den en nolla ut. Detta innebär att överföringen

Laboration Datorteknik TSIU02 2. I/O-programmering

Assemblerprogrammering för ARM del 1

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

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

Digital och Datorteknik EDA /2011. EDA 451 Digital och datorteknik 2010/2011. Uppbyggnad_och_funktion.pdf

Transkript:

TENTAMEN D1/E1/Mek1/Ö1 0900-1300 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ör j e Delistrand tel. 16 7122 alt. 0702-98 63 58 Bilaga (som skall återlämnas): PortO control register In terruptregister l

1. (2p+2p+2p) a) Flyttalet X lagras som l 1000 0100 000 1101 0000 0000 0000 0000. Bit 31 är längst till vänster. Ange värdet av X i decimal fmm. b) Hur lagras talet Y= 17,625 i flyttalsformatet enligt ovan? Ledning: Flyttalet är kodat i IEEE-standarden för enkel precision. För denna gäller (-l) s. l. M. 2 E-127 där bitarna fördelar sig enligt nedan. E M l bit 8 bitar 23 bitar c) Hur lagras talen +50 och -50 som 8-bitars heltal? 2-komplementsrepresentation används för negativa tal. 2. (Sp) (O,Sp/rätt, felaktigt alternativ = -O,Sp. Dock lägst noll poäng. Max Sp) Kombinera en term i den vänstra kolumnen med tillhörande fras( er) i den högra kolumnen. l. Assemblator 2. RISC 3. Refresh 4. Baud 5. Random accessminne 6. Programräknare 7. PROM 8. Paritetsbit 9. ASCII 10. PCON A. asynkron seriell överföring B. synkroniseringsmetod C. datariktningsregister D. översättningsprogram E. alfanumerisk kod F. förenklad instruktionsuppsättning G. alltid samma åtkomsttid H. krävs för dynamiska minnen I. enhet för signaleringshastighet J. generella register K. pekar på nästa instruktion L. kan ej raderas M. här sker beräkningar N. 4 bitar 3. (4p) Figuren visar en A/D-omvandlare. Ange namn, fördelar och nackdelar. Beskriv också utgående från figuren hur omvandling sker. v_ E,el Kodomvandla ro MSB x, x, x, LSB R 2

4. (4p) I ett minnessystem ingår läsminne och läs/skrivminne. Läsminnet ska byggas upp med minneskapslar 4M (512k x 8), se symbol nedan. Minnessystemet adresseras med 24 adressbitar AO - A23. Läsminnet ska ha kapaciteten l Mord x 24 bitar och vara placerat i adressområdet Ox600000 till Ox6FFFFF. Chipselect tillläsminnet ska genereras med en AVK 8-1 (74LS138), till vilken ska anslutas adressbitarna Al9-A23 så att den kan generera chip-select i hela adressområdet Ox400000-0x7FFFFF. Rita schema. Avkoda re A 1-8 B c EN G1 & G2A G2B o 1 2 3 4 5 6 7 ~... A1a ROM 5. (3p) 7-bitars ASCII-kod används för att sända data via ett RS-232 gränssnitt (seriell kommunikation). Följande gäller: 19200 bit/s, 7 databitar, l startbit, l stoppbit och en paritetsbit (udda paritet). a) Hur många ASCII-tecken kan överföras per sekund? b) Beskriv hur överföringen ser ut bitvis. Använd tecknet "a", ASCII-kod Ox61, i din beskrivning. Rita ett tidsdiagram och förklara. 6. (6p) Skriv ett väl kommenterat program i ARM-assembler som ger rinnande ljus på PortO (lysdioderna ska kopplas till PortO, 8 bitar) enl. ex. nedan. Programmet ska vara komplett med portinitiering. En subrutin DELA Y med lämplig tidsfördröjning finns tillgänglig (behöver ej skrivas). Ex. Rinnande ljus med 8 bitar: 00000000, l 0000000, 11000000, 11100000, 11110000, 11111000, 11111100, 1111110, 11111111, 01111111, 00111111, 00011111,00001111, 00000111,00000011,00000001,00000000,... 3

7. (Sp) Anta att vi har ett ARM-kort där PortO är ansluten till 8 insignaler (knappar där en nedtryckt knapp ger en etta). Förutom PortO har vi en minnescell VISA (8 bitar). MAIN ON SLUT VISA LDR LDRb ANDS EORS BEQ LDR B MOV STRb B DS8 RO, =rpdato Rl, [RO] Rl, Rl, #OX70 Rl, Rl, #OX70 ON Rl, =OXO SLUT Rl, #OX20 Rl, VISA MAIN l Anta att ovanstående program körs om och om igen. Här kommer fem påståenden om vad som händer då. Ange för varje påstående, vilket som är sant och vilket som är falskt! (lp/rätt, felaktigt alternativ= -lp. Dock lägst noll poäng. Max Sp) l. Om alla knappar trycks ner, så kommer en bit i VISA att vara l-ställd. 2. Om man trycker ner flera än tre knappar, så kommer alltid en bit i VISA att vara l-ställd. 3. Man kan aldrig få mer än en bit i VISA att vara l-ställd. 4. Det finns inget sätt att l-ställa fler än två bitar i VISA. 5. Om man inte trycker på någon knapp, så l-ställs ändå en bit i VISA. 8. (2p) a) Hur många byte programminne tas i anspråk av programmet i uppgift 7? Motivera! b) På vilken adress (hexadecimal form) hamnar resultatet i uppgift 7 om programmets stmiadress är OxOOOO l 000? Motivera! 9. (4p) Skriv en väl kommenterad avbrottshanterare (handler) för ARM, som tar hand om avbrott från EINTO (knappavbrott, bito) samt från TimerO (bit8). Anta att avbrottskoden för knappavbrottet kallas ALARM och den för TimerO kallas TIMER (koden för subrutinerna ALARM och TIMER behöver ej skrivas). Lokala variabler sparas undan. A v brottshanteraren ska: Läsa av vilket avbrott som skett samt anropa rätt avbrottskod K vittera rätt avbrott Återgå från avbrottet 4

lo. (4p) Följande program ska summera 10 siffror lagrade i en sträng TEXT samt lagra summan på platsen SV AR. Koden innehåller ett antal fel. Ange var i koden felet är och korrigera alternativt lägg till salmade delar. Ledning: Se bilaga ASCII -tabell. Rad1: RAM_START EQU OX00001000 Rad2: ORG RAM_START Rad3: LDR R2, TEXT Rad4: MOV R1,#10 Rad5: LOOP SUB R1,R1,#1 Rad6: CMP R1, #O Rad?: BEQ FINISH Rad8: LDR RO, [R2] Rad9: ADD R4,R4,RO Rad10: ADD R2, R2, #1 Rad11: B LOOP Rad12: FINISH STRh R4, [R3] Rad13: QUIT B QUIT Rad14: TEXT DC8 "13128571983758134612846182746" Rad15: SVAR DS16 1 11. (3p+4p+3p) I denna uppgift ska du skriva välkommenterad assemblerkod för ARM. Lokala variabler sparas undan. a) Skriv en subrutin bitset, som ettställer en angiven bit i en operand. Vid anrop av subrutinen finnsinparametrar i R4 och R5. Register R4 innehåller den operand som ska bearbetas, och register R5 innehåller index (0-31) för den bit som ska ettställas. Den minst signifikanta biten har index noll. Det nya värdet ska vid returen från subrutinen återfinnas i register R2. b) Skriv i välkommenterad assemblerkod subrutin rightmostzero, som undersöker en angiven operand. Vid anrop av subrutinen finns operanden i register R4. Vid returen ska register R2 innehålla index för den minst signifikanta nollan i operanden. Den allra minst signifikanta biten har index noll. Om alla bitar i operanden är ettställda ska värdet OXFFFF FFFF returneras i register R2. c) Sicriv i välkommenterad assemblerkod en subrutin Is b_ set, som ettställer den minst signifikanta nollan i det 32-bitars tal som finns i den minnescell vars adress finns i register R4. Du måste använda subrutinerna ovan. Vid retur ska register R2 innehålla index för den nolla som har ettställts, eller värdet OXFFFF FFFF om ingen nolla fanns att nollställa. 5

12. (7p) Pelle behöver en sorteringsmaskin för LEGO-bitar. Du ska i den här uppgiften programmera den ingående styrenheten, som är baserad på ARM-processorn. LEGO-bitarna kommer på ett transportband, som passerar förbi tre fotoceller PI, P2 och P3 placerade med 5 cm mellanrum (se fig.). Tre olika typer av LEGO-bitar förekommer: Små bitar med längden 4 cm, mellanstora bitar med längden 8 cm samt stora med längden 12 cm. De små bitarna ska knuffas av bandet och ner i en låda, så fort de har passerat P2. Detta sker genom att styrsignalen KNUFF l aktiveras. De mellanstora bitarna ska på samma sätt knuffas av bandet, när de har passerat P3, ( styrsignal KNUFF2). De stora bitarna ska fotisätta framåt på bandet. Avståndet mellan LEGO-bitarna är alltid minst l O cm. Insignaler till styrenheten: P l (P0:2), P2 (PO: l) och P3 (PO:O) (aktivt höga). Utsignaler från styrenheten: KNUFFl (P0:7) och KNUFF2 (P0:6) (aktivt höga) Uppgift: Skriv ett komplett, väl kommenterat, ARM-program för styrningen. ll nc l små mellanstora stora 6