Exempel på tentamen 1

Relevanta dokument
Tentamen. EDA432 Digital och datorteknik IT INN790 Digital och datorteknik GU. Måndag 23 oktober 2006, kl i V-salar

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

Maskinorienterad programmering

Tentamen. EDA485 Maskinorienterad programmering Z DAT015 Maskinorienterad programmering IT. Tisdag xx yyyy 2006, kl

Maskinorienterad programmering

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen.

Tentamen. DAT015 Maskinorienterad programmering IT. Fredag 21 april 2006, kl i V-salar

Tentamen. EDA485 Maskinorienterad programmering Z. Måndag 6 mars 2006, kl i V-salar

Digital- och datorteknik

Digital- och datorteknik

Digital- och datorteknik

Digital- och datorteknik. Mekatronik-, data- och elektroingenjör Åk 1/ lp 1o2. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen

Assemblerprogrammeringsuppgifter för FLIS-processorn

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Onsdag 12 Januari 2011, kl

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Tentamen. DAT015 Maskinorienterad programmering IT DIT151 Maskinorienterad programmering GU. Tisdag 15 december 2009, kl

Exempel 3 på Tentamen

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

Digital- och datorteknik. Lars-Eric Arebrink. Av institutionen utgiven instruktionlista FLEXIBLE INSTRUKTION SET PROCESSOR FLISP

TENTAMEN(Nu anpassad till FLIS- processorn)

TENTAMEN. Digital- och datorteknik. Institutionen för data- och informationsteknik Avdelningen för datorteknik LEU431. Lars-Eric Arebrink

Maskinorienterad programmering

TENTAMEN (Något redigerad)

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

Tentamen med lösningsförslag

Programmering i maskinspråk (Maskinassemblering)

CHALMERS TEKNISKA HÖGSKOLA

Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

TENTAMEN. Digital- och datorteknik E. Institutionen för data- och informationsteknik Avdelningen för datorteknik. Elektro Åk 1/ lp 4 EDA216/DIT790

Tentamen i Datakunskap NT

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

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

Binär kodning. Binära koder. Tal och talsystem positionssystem för basen 10. Begrepp. Begrepp Tal och talsystem Talomvandling ASCII-kod NBCD Gray-kod

LEU240 Mikrodatorsystem

Tentamen med lösningsförslag

Tentamen 3. EDAxxx Grundläggande Datorteknik DIT791 Grundläggande Datorteknik, GU. Måndag xx Oktober 20xx, kl

Digital- och datorteknik

Digital- och datorteknik

Assemblerprogrammering del 1

Tentamen med lösningsförslag

Tentamen med lösningsförslag

Tentamen med lösningsförslag

Tentamen med lösningar

Digital- och datorteknik

Tentamen. EDA452 Grundläggande Datorteknik, D DIT790 Digital- och datorteknik, GU. Måndag 17 December 2012, kl

Programmering i maskinspråk (Maskinassemblering)

Tentamen med lösningsförslag

Tentamen i EDA320 Digitalteknik för D2

Tentamen. EDA432 Digital- och datorteknik, IT DIT790 Digital- och datorteknik, GU. Måndag 18 Oktober 2010, kl

Digital- och datorteknik

EDA451 - Digital och Datorteknik 2009/2010. EDA Digital och Datorteknik 2009/2010. Binär Kodning, lärobokens kap.2

Exempel 2 på Tentamen med lösningar

Exempel 1 på Tentamen med lösningar

Tentamen (Svar och lösningsförslag)

TENTAMEN (med svar och vissa lösningar)

EDA215 Digital- och datorteknik för Z

Grundläggande Datorteknik Digital- och datorteknik

exempel på Tentamen 2

Tentamen med lösningsförslag

Referensguide för streckkoder

Tentamen med lösningsförslag

EDA Digital och Datorteknik

Tentamen. DIT150 Maskinorienterad programmering GU DAT015 Maskinorienterad programmering IT. Söndag 17 december 2006, kl

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

Tentamen med lösningsförslag

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

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

Lösningar till tentamen i EIT070 Datorteknik

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Måndag 19 oktober 2009, kl

Tentamen med lösningsförslag

Inledning. Statistisk Programmering. UNIVAC 1107 (sextio- och sjuttiotal) Hålkorten. Att använda dator

Lösningar till tentamen i EIT070 Datorteknik

Tentamen med lösningsförslag

Det finns en handledning till kortet på hemsidan. AVR STK500.

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

Tentamen PC-teknik 5 p

Programmering Grundkurs (HI1900) Teoridel

Programmering av inbyggda system 2014/2015

Laboration nr 4 behandlar Assemblerprogrammering

Digital- och datorteknik

Tentamen med lösningsförslag

Avbrottshantering. Övningsuppgifter

Tentamen med lösningsförslag

Tentamen i EIT070 Datorteknik

LABORATION. Datorteknik Y

Tentamen med lösningsförslag

Maskinorienterad programmering

Tentamen med lösningsförslag

Styrenheten 9/17/2011. Styrenheten - forts Arb s 120. LV4 Fo10. Aktivera Kursens mål: Kap 7 Blå

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

F8: Undantagshantering

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

Digital- och datorteknik

Övningsuppgifter i Mikrodatorteknik 4p/5p

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

LABORATION. Datorteknik Y

'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ

Datorsystemteknik Föreläsning 7DAVA14

Transkript:

Maskinorienterad programmering - har du uppnått kursmålen Exempel på tentamen Tisdag xx januari 2005, kl. 08.30-2.30 i M-salar Examinatorer Stig-Göran Larsson, tel. 772 693 Jan Skansholm, tel. 772 02 Kontaktpersoner under tentamen Som ovan Tillåtna hjälpmedel Häftet "Instruktionslista för CPU2" I den får rättelser och understrykningar vara införda, inget annat. Tabellverk och miniräknare får ej användas! Allmänt Siffror inom parentes anger maximal poäng på uppgiften. Maximal poäng kan fås om: - redovisningen av svar och lösningar är läslig och tydlig. OBS! Ett lösningsblad får endast innehålla redovisningsdelar som hör ihop med en uppgift. - din lösning ej är onödigt komplicerad. - du motiverat dina val och ställningstaganden - redovisningen av en hårdvarukonstruktion innehåller funktionsbeskrivning, lösning och realisering. - redovisningen av en mjukvarukonstruktion i assembler är fullständigt dokumenterad, d v s är redovisad både i strukturform (flödesplan eller pseudospråk) och med kommenterat program i assemblerspråk, om inget annat anges i uppgiften. - av en mjukvarukonstruktion i C är dokumenterad på det sätt som lärts ut i kursen, dvs med indenterade rader. När så behövs skall den också vara indelad i moduler med användning av include-filer. Betygsättning För godkänt slutbetyg på kursen fordras att både tentamen och laborationer är godkända. På tentamen fordras 20p, varav minst 0p på datorteknikdelen (uppg -4,7) och 7p på C- delen (uppg 5-6). Tentamen ger slutbetyget: 20p betyg 3 < 30p betyg 4 < 40p betyg 5 Betygslistan anslås såsom anges på kursens hemsida. Granskning Tid och plats anges på kursens hemsida. Institutionen för datorteknik CHALMERS TEKNISKA HÖGSKOLA

Maskinorienterad programmering, tentamen 2005-0-xx 2(9). I figur visas "chip select"-logiken för ett CPU2-system. Via den ansluts diverse enheter till processorn. a. De fyra "chip select"-signalerna är kopplade till fyra olika enheter. Vilken typ av enhet används respektive signal till? Förklara hur du kommer fram till ditt svar. b. Vilka adresser upptar respektive enhet? (4p) c. Vad är anledningen till att signalen E finns med i avkodningen? (p) (3p) E A 5 A 4 A 3 E A 5 CS CS 2 A 4 A 3 A 2 R/W E A 5 A 4 A 3 A 2 A A 0 CS 3 A 3 A 2 R/W A A 0 A 9 A 8 A 3 A 2 A CS 4 A 7 A 0 A 6 A 5 R/W A 4 Figur

Maskinorienterad programmering, tentamen 2005-0-xx 3(9) 2. Här visas början av ett program i CPU2-assemblerspråk (se instruktionslista och bilaga 3): ORG $3250 KLIR EQU $3720 Port EQU $04D0 Number FCB %0 Portcopy RMB LDAA Number JSR KLIR STAB Port STAB Portcopy : a. Rita en bild av aktuellt minnesinnehåll efter att den givna sekvensen är assemblerad och laddad till labbsystemet. b. Vid användningen av monitorn i laboratoriet testade (exekverade) du dina program med g-kommandot (go-kommandot), som startade exekveringen. Vilken startadress skall du använda efter g-kommandot för programmet i uppgift a)? (3p) (p)

Maskinorienterad programmering, tentamen 2005-0-xx 4(9) 3. I borrmaskinlaborationen har du som uppgift att göra ett tillägg till systemet, så att operatören via två switchar skall kunna Switchar för extern styrning Operatör - avbryta pågående program och ge ett larm, samt - nödstoppa systemet och förbereda det för en ny borruppgift. Mikrodator Tangentbord för borrkommando Genom tillägget får systemet det Anpassningselektronik blockmässiga utseendet i figur 3. De två nya funktionerna skall realiseras m h a avbrott som begärs på CPU2- processorns IRQ-ingång. Figur 3 Borrmaskin Switcharna skall anslutas till avbrottsingången via var sin D-vippa och en NOR-grind. En nedtryckning (= positiv puls) av någon av switcharna skall medföra att IRQ-signalen (Interrupt ReQuest) aktiveras. D-vipporna kan anslutas till bitpositionerna 7 och 6 av inporten IRQSRC, så att den innehåller avbrottsvippornas status. a. Visa kopplingen för hur switcharna ansluts till CPU2 och port IRQSRC. (2p) b. Skriv initieringsrutinen IRQINIT i CPU2-assemblerspråk. (4p) c. Skriv avbrottsrutinen IRQR i CPU2-assemblerspråk. (4p) IRQINIT och IRQR har beskrivningarna: IRQINIT Beskrivning: Rutinen initierar kopplingen och CPU2 för IRQ-avbrott. Den använder laborationsdatorns inportar IRES och IRES2 för eventuella "dummy-läsningar". Anrop: Indata: Utdata: Registerpåverkan: Anropade subrutiner: BSR IRQINIT Inga Inga Ingen Inga IRQR Beskrivning: Avbrottsrutinen reagerar på begäran om nödstopp och larm beroende på på vilken switch som aktiverats. Förloppen är mycket snabba varför man kan förutsätta att endast en av switcharna begär avbrott åt gången. Skulle både nödstopp och larm begäras samtidigt så skall nödstopp ha högre prioritet än larm. Därför skall också ett larm avbrytas av en begäran om nödstopp. Anrop: Indata: Utdata: Registerpåverkan: Anropade subrutiner: Avbrottsbegäran på IRQ Status på port IRQSRC Inga Ingen SIGNAL

Maskinorienterad programmering, tentamen 2005-0-xx 5(9) 4. Antag att ASCII-tecken överförs m h a ett asynkront serieinterface. Överenskommelsen är ett format om 6 teckenbitar, jämn paritet och två stoppbitar, samt bithastigheten 0 kbps. Relativt startbitens början läggs då bitarna ut vid de tidpunkter som visas i figur 4. sändningstider viloläge 0 00 200 300 400 500 600 700 800 900 s stoppbit 2 Figur 4 Mottagaren använder sig av frekvensen f m = k 0 khz = 60 khz för att sampla den mottagna signalen. Periodtiden är då T m = / f m = 6,25 s. Mottagaren samplar då signalen vid tidpunkterna t s = t s2 = + 8 T m t s3 = + 24 T m t s4 = + 40 T m osv a. Det första samplet tas alltså vid tidpunkten. Förklara bakgrunden till det. Vilka värden kan ha? I en tillämpning upptäcker man på mottagarsidan, vid undersökning av serieinterfacets statusregister, att fel uppstår i överföringen. För ett visst sänt ord så får man både paritetsfel och ramfel ("framing error"). b. Vad beror detta på? c. Förklara hur det uppstår! (2p) (3p) (p)

Maskinorienterad programmering, tentamen 2005-0-xx 6(9) 5. Till laborationsutrustningen kan man som bekant ansluta ett kort (ML3) som bl.a. innehåller en displayenhet. En sådan innehåller sex indikatorer vilka var och en kan visa en hexadecimal siffra. Följande beskrivning är klippt ur hjälptexten till XCC: ML3 Display can be used with two different interfaces; ML5 or ML5. ML3 illustrates a ramp of six "7-segment-display ". ML3 can show six digits at a time ML3 maps bit-pattern to segments different ML5 emulation The interface is two 8-bit registers located at addresses BASE and BASE+.: An indicator is activated by writing zero to the corresponding bit in the register at address BASE+.

Maskinorienterad programmering, tentamen 2005-0-xx 7(9) The following table shows how bit patterns (Decimal numbers 0 to 5) are translated to segment patterns. Decimal Segment codes Binary Hex 0 0 0 77 000 000 24 2 00 0 5D 3 00 0 6D 4 000 0 2E 5 00 0 6B 6 0 0 7B 7 000 00 25 8 0 7F 9 00 6F 0 00 3F 0 00 7A 2 00 000 58 3 0 00 7C 4 00 0 5B 5 000 0 B Uppgiften är att skriva en C-funktion display_hex som använder gränssnittet ML5 för att visa ett heltal på hexadecimal form på displayenheten. Basadressen till ML5 är 0xC02. Parametern till funktionen skall vara av typen unsigned int. Alla sex indikatorerna i displayenheten skall användas för att visa talet. Om en unsigned int består av fler än 24 bitar så skall de 24 minst signifikanta bitarna visas. För enkelhets skull får du förutsätta att när man tänt en viss indikator i displayenheten så kommer denna att förbli tänd, även om den inte längre är aktiverad. (Så fungerar det inte i praktiken, men det kanske borde göra det.) Utorma din lösning så att att definitioner av portar samt de typer som behövs för att beskriva dem ligger i en egen include-fil. Använd också en separat includefil som innehåller en deklaration av funktionen display_hex. (0p)

Maskinorienterad programmering, tentamen 2005-0-xx 8(9) 6. Skriv en egen version av C-standardfunktionen strcmp. Du måste använda pekare, inte indexering! I denna uppgift får du inte använda dig av några färdiga standardfunktioner, utan du måste skriva allt själv. (8p) 7. Frågor a. Förklara kortfattat begreppen händelse, aktivitet och svarstid så som de används i realtidssammanhang. b. Förklara, gärna med en figur, begreppen seriell exekvering (non-pre-emptive) och pseudoparallell exekvering (pre-emptive) i realtidssammanhang. (2p) (2p)

Maskinorienterad programmering, tentamen 2005-0-xx 9(9) Bilaga - Assemblerspråket för mikroprocessorn CPU2. Assemblerspråket använder sig av de mnemoniska beteckningar som processorkonstruktören MOTOROLA specificerat för maskininstruktioner och instruktioner till assemblatorn, s k pseudoinstruktioner eller assemblatordirektiv. Pseudoinstruktionerna framgår av följande tabell: Direktiv ORG N Förklaring Placerar den efterföljande koden med början på adress N (ORG för ORiGin = ursprung) L RMB N Avsätter N bytes i följd i minnet (utan att ge dem värden), så att programmet kan använda dem. Följden placeras med början på adress L. (RMB för Reserve Memory Bytes) L EQU N Ger label L konstantvärdet N (EQU för EQUates = beräknas till) L FCB N, N2 Avsätter i följd i minnet en byte för varje argument. Respektive byte ges konstantvärdet N, N2 etc. Följden placeras med början på adress L. (FCB för Form Constant Byte) L FDB N, N2 Avsätter i följd i minnet ett bytepar (två bytes) för varje argument. Respektive bytepar ges konstantvärdet N, N2 etc. Följden placeras med början på adress L. (FDB för Form Double Byte) L FCS "ABC" Avsätter en följd av bytes i minnet, en för varje tecken i teckensträngen "ABC". Respektive byte ges ASCII-värdet för A, B, C etc. Följden placeras med början på adress L. (FCS för Form Caracter String) Bilaga 2 - ASCII-koden. 0 0 0 0 0 0 0 0 0 0 0 0 b 6 b 5 b 4 b 3 b 2 b b 0 NUL DLE SP 0 @ P ` p 0 0 0 0 SOH DC! A Q a q 0 0 0 STX DC2 2 B R b r 0 0 0 ETX DC3 # 3 C S c s 0 0 EOT DC4 $ 4 D T d t 0 0 0 ENQ NAK % 5 E U e u 0 0 ACK SYN 6 F V f v 0 0 BEL ETB 7 G W g w 0 BS CAN ( 8 H X h x 0 0 0 HT EM ) 9 I Y i y 0 0 LF SUB * : J Z j z 0 0 VT ESC + ; K [Ä k {ä 0 FF FS, < L \Ö l ö 0 0 CR GS - = M ]Å m }å 0 S0 RS. > N ^ n ~ 0 S US /? O _ o RUBOUT (DEL)