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

Save this PDF as:
 WORD  PNG  TXT  JPG

Storlek: px
Starta visningen från sidan:

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

Transkript

1 Tentamen i IS1500/IS1200/2G1518 Datorteknik fredagen den 19 augusti 2011 kl Examinator: Fredrik Lundevall (IS1500), Johan Wennlund (IS1200, 2G1518). Jourhavande lärare: Johan Wennlund. Tentamensuppgifterna behöver inte återlämnas när du lämnar in din skrivning. Hjälpmedel: Inga. Motivera alla svar. Tabeller och beräkningar ska finnas med i lösningarna, i läsbar form. Programkod ska ha tydliga kommentarer som hjälper läsaren att förstå koden. Om svaret på en fråga är "17" så måste du tala om varför. Ofullständigt motiverade svar ger inte full poäng! Miniräknare ej tillåten. Information om rättning och betyg Denna tentamen består av uppgift 1 till 6. Varje uppgift ger 0 10 poäng. Betygssättning IS1500 och IS1200 < ,5 F FX (komplettering kan ge betyg E) Totalpoäng på tentamen 30 35, , , , , , E D D C B B A 2G1518 (utgången) U U ( komplettering kan ge betyg 3) Resultatet meddelas senast den 9 september Önskemål om komplettering ska ha nått examinator senast 23 september Kompletteringen är skriftlig, eller skriftlig + muntlig, beroende på examinators bedömning. Bra att veta: 2 16 = 65536, 2 14 = 16384, 2 12 = 4096, 2 10 = 1024, 2 8 = 256, 2 6 = 64, 2 4 = 16. IS1200/IS sida 1

2 Uppgift 1. Maskinaritmetik IEEE 754 binary32 är ett 32-bits flyttalsformat. Se figuren. bit 31 bit 23 bit 22 bit 0 Tecken (1 bit) 0 = positivt 1 = negativt Exponent (8 bitar) i excess-127-kod Mantissa (23 bitar av en 24-bits mantissa) Den mest signifikanta biten är alltid 1, och lagras inte. I excess-127-kod lagras exponenten 17 som två (17+127), och så vidare. Mantissan har värden mellan 1 och 2. Därför är den mest signifikanta biten alltid 1, och behöver inte lagras. a) Flyttalet X lagras som Bit 31 är längst till vänster. Ange värdet av X i decimal form. b) Hur lagras talet Z = 4X i flyttalsformatet enligt ovan? c) Hur lagras talet Y = 75,25 i flyttalsformatet enligt ovan? d) Hur lagras de decimala talen +35 och 35 som 8-bitars heltal? 2-komplementsrepresentation används för negativa tal. e) Ange hur flyttalet från deluppgift a) lagras i formatet IEEE 754 binary64. Formatet beskrivs i figuren här nedanför. bit 63 bit 52 bit 51 bit 0 Tecken (1 bit) 0 = positivt 1 = negativt Exponent (11 bitar) i excess-1023-kod Mantissa (52 bitar av en 53-bits mantissa) Den mest signifikanta biten är alltid 1, och lagras inte. IS1200/IS sida 2

3 Uppgift 2. Assemblerprogrammering för Nios II I den här uppgiften ska du skriva assemblerprogram för Nios II. Din programkod ska ha tydliga kommentarer som hjälper läsaren att förstå koden. Programkod med onödiga instruktioner ger inte full poäng. Makrona PUSH och POP får användas. Förutsätt att de finns definierade. PUSHALL och POPALL finns inte definierade och får inte användas. De behövs inte här. Varje subrutin får ändra innehåll i register r2 r15. Behöver register r16 r23 användas så måste innehållet sparas och återställas. Vid returhoppet måste r16 r23 innehålla samma värden som vid anropet. Du ska förutsätta att en subrutin som anropas ändrar alla innehållen i r2 r15, även om du själv har skrivit en version av subrutinen som gör på något annat sätt. a) Skriv kod för en subrutin checkchar Subrutinen har 2 inparametrar: I register R4 finns en 32-bitars adress till första tecknet i en byte-sträng i minnet. De 8 minst signifikanta bitarna i register R5 innehåller ASCII-koden för ett tecken. Det sista elementet i byte-strängen har alltid värdet noll (nullterminated). I vissa fall finns bara ett element i vektorn, och i så fall har det elementet värdet noll. Subrutinen ska undersöka om det i strängen finns minst ett tecken med samma innehåll som i R5. Returparameter i register R2 ska i så fall vara 1, annars 0. (3 poäng) b) Skriv kod för en subrutin replacechar. Subrutinen har 3 inparametrar: I register R4 finns en 32-bitars adress till första tecknet i en byte-sträng i minnet. De 8 minst signifikanta bitarna i register R5 innehåller ASCII-koden för ett tecken. De 8 minst signifikanta bitarna i register R6 innehåller ASCII-koden för ett tecken. Det sista elementet i byte-strängen har alltid värdet noll (nullterminated). I vissa fall finns bara ett element i vektorn, och i så fall har det elementet värdet noll. Subrutinen ska byta ut varje förekomst av tecken enligt innehåll i R5 mot tecknet i R6. Returparameter i register R2 ska vara antal utbytta tecken. (3 poäng) c) Skriv kod för en subrutin Chifer Subrutinen har 1 inparameter: I register R4 finns en 32-bitars adress till första tecknet i en nullterminated byte-sträng Subrutinen ska byta ut alla siffror i strängen mot ASCII-koden för * ('*' = 0x2A) ASCII-koder för siffor är '0' till '9'. (0x30-0x39) Subrutinen Chifer ska anropa subrutinen replacechar för att utföra byte av koder i strängen. Returparameter i register R2 ska vara antal utbytta tecken. (4 poäng) IS1200/IS sida 3

4 Uppgift 3. In- och utmatning och avbrott I denna uppgift ska du skriva assemblerprogram för Nios2. Din programkod ska ha tydliga kommentarer som hjälper läsaren att förstå koden. Programkod med onödiga instruktioner ger inte full poäng. En subrutin får alltid ändra innehåll i register r2 r15. Använder subrutinen andra register så måste innehållen sparas och återställas, så att de är samma efter returhoppet som vid anropet. Förutsätt alltid att en subrutin som anropas ändrar alla innehållen i r2 r15, även om du själv har skrivit en version av subrutinen som gör på något annat sätt. Makrona PUSH och POP får användas. Förutsätt att de finns definierade. PUSHALL och POPALL får inte användas i deluppgifterna a och b (men däremot i c). En dator är försedd med två serieportar med symboliska adresser serie0 och serie1. Varje serieport har 3 stycken 32-bitars register: DataIn, DataOut och Status, som refereras med Memory-Mapped I/O, se figur. Serieport 1 har adresser serie1, serie1 + 4 och serie bitar totalt serie0 serie0 + 4 serie0 + 8 Registren i serieport 0. DataIn DataUt Status bara 8 bitar används Transmitter Ready bit 1 (Output Buffer Empty) bit 0 Receiver Ready (Input Buffer Full) Status Status-registret i serieporten. bit 7, 6, 5, 4, 3, 2 behövs inte i denna uppgift I Status-registret är bit 0 (den minst signifikanta biten) ettställd när en ny byte finns att hämta i DataIn-registret (IBF, Input Buffer Full, även kallad Receiver-Ready). Hårdvaran återställer IBF till noll när DataIn-registret lästs av program. Status-registrets bit 1 (näst minst signifikant bit) är ettställd när sändaren är klar att sända en ny byte (OBE, Output Buffer Empty, även kallad Transmitter-Ready). Hårdvaran återställer OBE till noll när DataUt-registret skrivits av program. Serieportens register ska läsas och skrivas med instruktionerna ldwio och stwio. a) Blocking I/O. Skriv en subrutin SendChar som ska skriva data till DataUt-registret i en serieport. Vid anrop av rutinen innehåller register r4 adressen till den serieport som ska användas. Vid anrop av rutinen innehåller register r5 den byte som ska skrivas till serieporten. Skrivning ska göras först när OBE-biten är ettställd; om OBE är noll ska subrutinen vänta tills OBE-biten har ettställts av hårdvaran. (3 poäng) IS1200/IS sida 4

5 b) Non-blocking I/O. Skriv en subrutin TryReceiveChar som ska fungera på följande sätt. Vid anrop av rutinen innehåller register r4 adressen till den serieport som ska användas och register r5 innehåller adressen till den byte i minnet där ett eventuellt mottaget tecken ska skrivas. Om IBF-biten är nollställd ska värdet 1 returneras i r2. Om IBF-biten är ettställd ska data läsas från DataIn-registret och returneras i register r2, och dessutom skrivas till den byte i minnet vars adress finns i R5. (3 poäng) c) Avbrottsstyrd I/O. Skriv en avbrottsrutin SendByte. Avbrottsrutinen körs när serieporten serie0 kan sända en byte. Vid avbrott körs färdig kod (som Du inte ska skriva) som: 1. Kontrollerar att det var ett avbrott från serie0 på grund av tomt DataUt-register. 2. Subtraherar 4 från ea (Exception Return Address) i Nios II, så att returhoppet efter avbrottshanteringen ska gå till rätt plats. 3. Hoppar till SendByte med instruktionen br SendByte. Avbrottsrutinen SendByte ska genom att anropa TryReceiveChar undersöka om det finns något mottaget tecken att hämta i serieporten. I så fall ska detta tecken skrivas till serieporten, annars ska ett SYN-tecken skrivas till serieporten. ASCII-koden för SYN är 0x16. För att skriva till serieporten ska SendByte anropa SendChar. (4 poäng) PUSHALL och POPALL finns definierade enligt ovan och får användas i c). PUSHALL och POPALL får inte användas i a eller b). Nedan anges lämpligt skelett för kod.data tmp:.byte 0 # tom plats för en byte.text.align 2 SendByte:... IS1200/IS sida 5

6 Uppgift 4. Cacheminnen Här nedanför finns en del av ett assemblerprogram. I varje deluppgift är datacacheminnet alltid tomt när rad 1 körs. rad 1 movia r8, 0x803c00 # lägg adress i r8 (men läs inga data från minnet) rad 2 ldw r12,0(r8) # läs 4 bytes från adress 0x803c00 rad 3 ldw r13,56(r8) # läs 4 bytes från adress 0x803c38 rad 4 ldw r15,32(r8) # läs 4 bytes från adress 0x803c20 rad 5 ldw r15,128(r8) # läs 4 bytes från adress 0x803c80 rad 6 ldw r16,384(r8) # läs 4 bytes från adress 0x803d80 rad 7 stw r17,0(r8) # skriv 4 bytes till adress 0x803c00 rad 8 ldw r18,48(r8) # läs 4 bytes från adress 0x803c30 Kom ihåg att motivera alla svar. a) Förklara vad tidslokalitet innebär. Har läsning/skrivning av data mycket eller lite tidslokalitet när en dator kör assemblerkoden här ovanför? Förklara också vad rumslokalitet innebär. Har läsning/skrivning av data mycket eller lite rumslokalitet när en dator kör assemblerkoden här ovanför? b) För varje ldw och stw i assemblerkoden här ovanför, ange om den ger träff eller miss i datacacheminnet (D-cache). Storlek (cache size): 128 byte (32 ord). Blockstorlek (line size): 16 byte (4 ord). Associativitet (blocks in set): 1-vägs (direktmappat). c) Ändring av storlek (cache size), jämfört med deluppgift b. För varje ldw och stw i assemblerkoden här ovanför, ange om den ger träff eller miss i datacacheminnet (D-cache). Storlek (cache size): 256 byte (64 ord). Blockstorlek (line size): 16 byte (4 ord). Associativitet (blocks in set): 1-vägs (direktmappat). d) Ändring av blockstorlek (block size), jämfört med deluppgift b. För varje ldw och stw i assemblerkoden här ovanför, ange om den ger träff eller miss i datacacheminnet (D-cache). Storlek (cache size): 128 byte (32 ord). Blockstorlek (line size): 64 byte (16 ord). Associativitet (blocks in set): 1-vägs (direktmappat). e) Ändring av associativitet (blocks in set) och storlek (cache size), jämfört med deluppgift b. För varje ldw och stw i assemblerkoden här ovanför, ange om den ger träff eller miss i datacacheminnet (D-cache). Storlek (cache size): 384 byte (96 ord). Blockstorlek (line size): 16 byte (4 ord). Associativitet (blocks in set): 3-vägs associativt. IS1200/IS sida 6

7 Uppgift 5. Processorkonstruktion Nios II gör klart varje instruktion helt innan nästa instruktion, så att inga pipeline-effekter märks för programmeraren. Här ska vi studera vad som händer i andra processorer. Kom ihåg att motivera alla svar. Datorn "Jimmy" har följande femstegspipeline. FI (Fetch Instruction) FO (Fetch Operand from register) ALU (Arithmetic/Logic Unit) MEM (Memory) WB (Write Back to register) Instruktionen närmast efter en hoppinstruktion utförs inte om hoppet tas (no delayed branch). Datorn "Jimmy" har naturligtvis data-forwarding. Här nedanför finns assemblerkod skriven för datorn "Jimmy". a) Datorn "Kalle" har femstegspipeline precis som "Jimmy", men ingen data-forwarding. Utgå från programkoden nedan och lägg till NOP-instruktioner så att "Kalle" kan köra den med korrekt resultat. Motivera tydligt. Mellan 2 beroende instruktioner behövs 2 andra, oberoende instruktioner. b) Datorn "Pelle" har femstegspipeline och data-forwarding precis som "Jimmy". Men "Pelle" har dessutom delayed branch med 1 delay-slot. Utgå från programkoden nedan och lägg till NOP-instruktioner så att "Pelle" kan köra den med korrekt resultat. Några av NOP-instruktionerna kanske kan tas bort. Motivera för varje NOP om den kan tas bort eller inte. c) Datorn "Lisa" har fyrstegspipeline, där ALU- och MEM-stegen har ersatts av ett gemensamt EXE-steg (EXEcute). I EXE-steget kan antingen en ALU-beräkning eller en MEMory-referens göras. "Lisa" har data-forwarding, och har ingen delayed branch. Utgå från programkoden nedan och ändra den så att "Lisa" kan köra den med korrekt resultat. Om du behöver ett ledigt register, använd r11. Det är tillåtet att byta plats på instruktioner och infoga NOP:ar. (3 poäng) d) Hårdvaran i "Jimmy" är konstruerad så att varje hoppinstruktion tar 2 klockcykler om hoppet tas (programräknaren ändras). Om hoppet inte tas (programkörningen fortsätter med nästa instruktion i adressordning) så tar hoppinstruktionen bara 1 klockcykel. Övriga instruktioner tar alltid bara 1 klockcykel. Beräkna genomsnittligt CPI (Clock cycles Per Instruction) för subrutinen CHG i nedanstående assemblerkod. Du ska ange exakt antal exekverade instruktioner och klockcykler. För din beräkning ska du anta att instruktionen vid läget BEE exekveras 5 gånger. (3 poäng) rad 1 CHG: movi r8, 0 # nollställ räknare rad 2 BEE: ldbu r9, VEK(r4) # läs från minnet rad 3 beq r9, r0, NADA # hoppa om noll rad 4 addi r8, r8, 1 # uppdatera räknare rad 5 andi r9, r9, 0xf # maska bort rad 6 stb r9, VEK(r4) # skriv till minnet rad 7 addi r4, r4, 1 # uppdatera pekare rad 8 br BEE # snurra på vetja rad 9 NADA: mov r2, r8 # låt räknare vara returvärde rad 10 ret # returhopp rad 11 FUN: movi r2,163 # tillhör annan subrutin FUN IS1200/IS sida 7

8 Uppgift 6. Trådar och synkronisering En dator har flera olika trådar, och byter tråd med jämna tids-intervall. Tiden mellan två trådbyten kallas time-slice. Efter trådbyte erbjuds den nya tråden alltid en hel time-slice. Anrop av oslab_yield() medför omedelbart trådbyte. Två trådar P1 och P2 beräknar heltal. Varje gång ett heltal är beräknat så anropas funktionen WriteBuf som skriver talet till en Fifo-kö. Två consumer-trådar C3 och C4 hämtar heltal, ett efter ett, från Fifo-kön. Consumer-trådarna anropar funktionen ReadBuf för hämtningen. Varje heltal konsumeras innan nästa tal hämtas. P1 behöver cirka 1/5 time-slice för att beräkna ett heltal, och P2 behöver cirka 1/10 time-slice för att beräkna ett heltal. C3 behöver cirka 1/20 time-slice för att konsumera ett heltal. Samma sak gäller för C4. Det finns 10 platser i FIFO-kön. FIFO-kön är alltid tom när körningen börjar. Tiden för trådbyte kan försummas. Bortse från eventuell idle-tråd och trådbyten till idle. void WriteBuf( int tal) { Wait( &nrempty ); Wait( &wrmutex ); putdata( tal ); Signal ( &wrmutex); Signal ( &nrfull); } int ReadBuf() { int tmp; Wait( &nrfull ); Wait( &rdmutex ); tmp = getdata(); Signal( &rdmutex ); Signal( &nrempty); return( tmp ); } Funktionerna putdata och getdata går väldigt fort att köra. Variablerna nrempty, wrmutex, nrfull och wrmutex är semafor-variabler. Funktionerna Signal och Wait finns på nästa sida. Om trådarna startas i ordningen P1 P2 C3 C4, så blir körningen som i följande diagram. Time-slice Time-slice Time-slice Time-slice nr 1 Time-slice nr 3 Time-slice nr 5 Time-slice nr 7 Time-slice nr 2 nr 4 nr 6 nr 8 P1... P2 C3 C4... trådbyten a) Hur många heltal från P1 har konsumerats efter 8 trådbyten, och hur många från P2? Motivera tydligt. b) Anta att rad 7 i koden för Wait ändras, så att anrop görs till oslab_yield. Då tar det kortare tid totalt sett innan 8 trådbyten har gjorts. Beräkna hur lång tid körningen tar nu, med anrop till oslab_yield i Wait. Ange tiden i procent av körtiden från deluppgift a. Motivera tydligt. c) På nästa sida finns ett felaktigt programförslag för funktionen Signal. Rätta felet, och motivera tydligt varför det var fel. tid IS1200/IS sida 8

9 rad 1 void Signal( int *sem ) rad 2 { rad 1 void Wait( int *sem ) rad 2 { rad 3 *sem = *sem + 1; rad 3 oslab_begin_critical_region(); rad 4 } rad 4 while ( *sem <= 0 ) rad 5 rad 5 { rad 6 oslab_end_critical_region(); rad 7 /* Här finns en tom rad */ rad 8 oslab_begin_critical_region(); rad 9 } rad 10 *sem = *sem 1; rad 11 oslab_end_critical_region(); rad 12 } Här nedanför finns en förenklad version av den kod som körs vid trådbyte. Registernamnet ea är ett annat namn för register r29, där hårdvaran sparar återhoppsadressen vid avbrott. På samma sätt är registernamnet sp ett annat namn för stackpekaren, register r27. a) Beskriv vad som ska utföras av funktionen oslab_internal_threadswitch() som anropas här nedanför. Motivera tydligt! b) Förklara kort vad register ea innehåller vid lägena L1 och L2 i programkoden här nedanför. Motivera tydligt! rad 1 oslab_trap_handler: rad 2 subi sp,sp,108 rad 3 stw r1, 4(sp) rad 4 stw r2, 8(sp) rad 5 stw r3,12(sp) rad 6 stw r4,16(sp) rad 7 stw r5,20(sp) rad 8 stw r6,24(sp) rad 9 stw r7,28(sp) rad 10 stw r8,32(sp) rad 11 stw r9,36(sp) rad 12 stw r10,40(sp) rad 13 stw r11,44(sp) rad 14 stw r12,48(sp) rad 15 stw r13,52(sp) rad 16 stw r14,56(sp) rad 17 stw r15,60(sp) rad 18 stw r16,64(sp) rad 19 stw r17,68(sp) rad 20 stw r18,72(sp) rad 21 stw r19,76(sp) rad 22 stw r20,80(sp) rad 23 stw r21,84(sp) rad 24 stw r22,88(sp) rad 25 stw r23,92(sp) rad 26 stw r26,96(sp) rad 27 stw r28,100(sp) rad 28 stw r31,104(sp) rad 29 stw ea,0(sp) # Special case rad 30 L1: rad 31 mov r4,sp rad 32 call oslab_internal_threadswitch rad 33 mov sp,r2 rad 34 # Restore registers rad 35 ldw r1, 4(sp) rad 36 ldw r2, 8(sp) rad 37 ldw r3,12(sp) rad 38 ldw r4,16(sp) rad 39 ldw r5,20(sp) rad 40 ldw r6,24(sp) rad 41 ldw r7,28(sp) rad 42 ldw r8,32(sp) rad 43 ldw r9,36(sp) rad 44 ldw r10,40(sp) rad 45 ldw r11,44(sp) rad 46 ldw r12,48(sp) rad 47 ldw r13,52(sp) rad 48 ldw r14,56(sp) rad 49 ldw r15,60(sp) rad 50 ldw r16,64(sp) rad 51 ldw r17,68(sp) rad 52 ldw r18,72(sp) rad 53 ldw r19,76(sp) rad 54 ldw r20,80(sp) rad 55 ldw r21,84(sp) rad 56 ldw r22,88(sp) rad 57 ldw r23,92(sp) rad 58 ldw r26,96(sp) rad 59 ldw r28,100(sp) rad 60 ldw r31,104(sp) rad 61 ldw ea,0(sp) # Special case rad 62 addi sp,sp,108 rad 63 L2: rad 64 eret # Return from exception IS1200/IS sida 9

10 Utdrag ur Nios II Processor Reference Handbook IS1200/IS sida 10

11 Utdrag ur Nios II Processor Reference Handbook IS1200/IS sida 11

12 Utdrag ur Nios II Processor Reference Handbook IS1200/IS sida 12

13 Utdrag ur Nios II Processor Reference Handbook IS1200/IS sida 13

14 Utdrag ur Nios II Processor Reference Handbook IS1200/IS sida 14

15 Utdrag ur Nios II Processor Reference Handbook IS1200/IS sida 15

16 Utdrag ur Nios II Processor Reference Handbook IS1200/IS sida 16

17 Utdrag ur Nios II Processor Reference Handbook IS1200/IS sida 17

Lösningsförslag till tentamen i IS1500 Datorteknik

Lösningsförslag till tentamen i IS1500 Datorteknik Lösningsförslag till tentamen i IS1500 Datorteknik 2010-12-13 Obs! Dessa lösningsförlag kan vara felakktiga och/eller ofullständ Uppgift 1. Maskinartmetik a) Flyttalet X lagras som 0 1000 0011 000 1001

Läs mer

CE_O5. Cacheminne. Hemlaboration 2.

CE_O5. Cacheminne. Hemlaboration 2. IS1500 Exempelsamling till övning CE_O5, 2014 CE_O5. Cacheminne. Hemlaboration 2. 5.1. Medeltidshistoria Diskutera förloppet då CPU:n gör en läsreferens i huvudminnet dvs information kopieras från huvudminne

Läs mer

Datorsystem. Tentamen 2011-10-29

Datorsystem. Tentamen 2011-10-29 Datorsystem Tentamen 2011-10-29 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller och beräkningar som används för att nå svaret ska också finnas med i lösningen. Ett svar

Läs mer

Lösningsförslag till tentamen i Datorteknik 2011-05-28

Lösningsförslag till tentamen i Datorteknik 2011-05-28 Lösningsförslag till tentamen i Datorteknik 2011-05-28 Varning: dessa lösningsförslag kan vara felakktiga och/eller ofullstän Uppgift 1. Maskinaritmetik a) Flyttalet X lagras som 1 1000 0110 000 1100 0000

Läs mer

Övning 7. Timer, serieport

Övning 7. Timer, serieport Övning 7 Timer, serieport 7.6 timer_1 Memory-Mapped addresses 0x920 status 0x924 control 0x928 periodl 0x92C periodh 0x930 snapl 0x934 snaph 15 0 Run TO (Time-Out) ITO cont start stop timer_1 start D Q

Läs mer

IS1500 Lösningar övning CE_O7 2014. CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io.

IS1500 Lösningar övning CE_O7 2014. CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io. IS1500 ösningar övning CE_O7 2014 CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io. 6.1. Vad är seriell kommunikation? a) Vad är skillnaden mellan seriell och parallell kommunikation?

Läs mer

Datorsystem. Tentamen

Datorsystem. Tentamen Datorsystem Tentamen 2012-03-17 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller, illustrationer och beräkningar som används för att nå svaret ska också finnas med i lösningen.

Läs mer

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Rahim Rahmani (rahim@dsv.su.se) Division of ACT Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Tentamensdatum: 2013-03-21 Tentamen består av totalt

Läs mer

Övning 6. Parallellport, timer

Övning 6. Parallellport, timer Övning 6 Parallellport, timer 6.1 de2_pio_toggles18 Memory-Mapped addresses LEDG8 LEDR17 LEDR16 LEDR15 LEDR14 LEDR13 LEDR12 LEDR11 LEDR10 LEDR9 LEDR8 LEDR7 LEDR6 LEDR5 LEDR4 LEDR3 LEDR2 LEDR1 LEDR0 LEDG7

Läs mer

Datorsystem Laboration 2: Minnesmappade bussar

Datorsystem Laboration 2: Minnesmappade bussar Datorsystem Laboration 2: Minnesmappade bussar Senast uppdaterad: 14 oktober 2012 Version 1.2 Student: Lärare: Underskrift: Underskrift: Datum: Datorsystem Laboration 2 1 Innehåll 1 Inledning 2 1.1 Introduktion..................................

Läs mer

Tentamen den 18 mars svar Datorteknik, EIT070

Tentamen den 18 mars svar Datorteknik, EIT070 Lunds Universitet LTH Tentamen den 18 mars 2015 - svar Datorteknik, EIT070 Skrivtid: 14.00-19.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30

Läs mer

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

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt

Läs mer

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

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte ARM-instruktioner, A4-format, 17 sidor. Maxpoäng: 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

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering

Läs mer

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

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 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

Läs mer

Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704

Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704 Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704 Svar Svar till uppgifterna lämnas på separat papper. En poäng per uppgift. Max 30 poäng. Bonuspoäng beräknas enligt följande tabell: 6-10 poäng

Läs mer

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

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte ARM-instruktioner, A4-format, 17 sidor. Maxpoäng: 60p 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.

Läs mer

Datorsystemteknik för E/D

Datorsystemteknik för E/D Tentamen i kursen Datorsystemteknik (EDA330 för D och EDA370 för E) 19/8 2000 1(8) Tentamen i kursen Datorsystemteknik (EDA330 för D och EDA370 för E) Datorsystemteknik för E/D 19/8 2000 Tentamensdatum:

Läs mer

Tentamen i EIT070 Datorteknik

Tentamen i EIT070 Datorteknik Tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 10 mars 2010, klockan 08:00 13:00 å Victoriastadion 1 och 2. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

Läs mer

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Huvudled (H) Trafikljus för övergångsställe Trafikljus för huvudled (H) Trafikljus: Sväng vänster (H->T) Gående - vänta Trafikljus för tvärgata (T) Tvärgata (T)

Läs mer

CE_O3. Nios II. Stackhantering och förberedelse för lab nios2time

CE_O3. Nios II. Stackhantering och förberedelse för lab nios2time IS1200 ösningsförslag till övning CE_O3 2015 CE_O3. Nios II. Stackhantering och förberedelse för lab nios2time 3.1. ogiska operationer Nios II kan utföra de logiska operationerna AND, OR, XOR och NOR.

Läs mer

Närliggande allokering Datorteknik

Närliggande allokering Datorteknik Närliggande allokering Datorteknik ERIK LARSSON TID Problem: Minnet blir fragmenterat Paging Demand paging Sida (S) Dela upp primärminnet i ramar (frames) och program i sidor (pages) Program 0 RD.0 1 RD.1

Läs mer

Laboration 2 i Datorteknik- Assemblerprogrammering II

Laboration 2 i Datorteknik- Assemblerprogrammering II Högskolan i Halmstad 1 (8) - Assemblerprogrammering II Målet med laborationen är att få begrepp om Subrutiner. in/utparametrar. Lokala variabler Maska in bitar till ett register Konstruktion av subrutiner

Läs mer

CE_O1. Nios II. Enkla assembler-instruktioner.

CE_O1. Nios II. Enkla assembler-instruktioner. IS1500 ösningsförslag till övning CE_O1 2014 CE_O1. Nios II. Enkla assembler-instruktioner. 1.1. Datorarkitektur för Nios II a) Tabell 3 1 i Nios II Processor Reference Handbook visar processorns register:

Läs mer

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

0.1. INTRODUKTION 1. 2. Instruktionens opcode decodas till en språknivå som är förstålig för ALUn. 0.1. INTRODUKTION 1 0.1 Introduktion Datorns klockfrekvens mäts i cykler per sekund, eller hertz. En miljon klockcykler är en megahertz, MHz. L1 cache (level 1) är den snabbaste formen av cache och sitter

Läs mer

Datorsystem. Exempeltentamen 2011-10-18

Datorsystem. Exempeltentamen 2011-10-18 Datorsystem Exempeltentamen 2011-10-18 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller och beräkningar som används för att nå svaret ska också finnas med i lösningen.

Läs mer

Minnet från processorns sida Datorteknik

Minnet från processorns sida Datorteknik Minnet från processorns sida Datorteknik ERIK LARSSON Processorn ger kommandon/instruktioner med en adress och förväntar sig data. Exempel: READ(ADR) -> DATA Fysisk adress Logisk adress READ 00001000 READ

Läs mer

Datorsystem. Tentamen 2011-10-29

Datorsystem. Tentamen 2011-10-29 Datorsystem Tentamen 20-0-29 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller och beräkningar som används för att nå svaret ska också finnas med i lösningen. Ett svar

Läs mer

IBM POWER4, den första flerkärniga processorn och dess pipelines.

IBM POWER4, den första flerkärniga processorn och dess pipelines. IBM POWER4, den första flerkärniga processorn och dess pipelines. 5 DECEMBER 2016 FÖRFATTARE: OSCAR STRANDMARK EXAMINATOR: ERIK LARSSON Abstract Rapporten redovisar IBM:s POWER-serie, generation ett till

Läs mer

LABORATION DATORTEKNIK D. Pipelining. Namn och personnummer. Version: (OS,OVA,AN)

LABORATION DATORTEKNIK D. Pipelining. Namn och personnummer. Version: (OS,OVA,AN) LABORATION DATORTEKNIK D Pipelining Version: 1.4 2016 (OS,OVA,AN) Namn och personnummer Godkänd 1 blank sida 2 Innehåll 1 Inledning 5 1.1 Syfte................................. 5 1.2 Förberedelser............................

Läs mer

Assemblerprogrammering, ARM-Cortex M4 del 3

Assemblerprogrammering, ARM-Cortex M4 del 3 Assemblerprogrammering, ARM-Cortex M4 del 3 Ur innehållet: Fler pekartyper Användning av stacken Lagringsklasser, synlighet - lokala variabler Funktioner - returvärden och parametrar Läsanvisningar: Arbetsbok

Läs mer

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. 1 3 4 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är

Läs mer

Stack och subrutiner Programmeringskonventionen

Stack och subrutiner Programmeringskonventionen Stack och subrutiner Programmeringskonventionen Du ska förstå hur en instruktion behandlas i processorn Du ska känna till några fler instruktioner Du ska veta hur maskinkoden för ett program byggs upp

Läs mer

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

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1) 2 n stycken tal från 0 till 2 n 1 F1.2) 9 bitar (512 kombinationer) Talsystem - 2-

Läs mer

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

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer

Läs mer

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

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien DIGITAL- OCH MIKRODATORTEKNIK, U2 11-01-12 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar

Läs mer

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)

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) Datorsystem 2 CPU Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur CPU Visning av Akka (för de som är intresserade) En dators arkitektur På en lägre nivå kan vi ha lite olika

Läs mer

Exempelsamling Assemblerprogrammering

Exempelsamling Assemblerprogrammering Exempelsamling Assemblerprogrammering I uppgifterna nedan utgå från följande programskelett: #include.data var1:.word 12 var2:.word 19 sum: prod:.float 0.set noreorder.text.globl start.ent start

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola F-36 FLEX- och FLIS-datorn Ext-8 Tallriksmodellen Stackoperationer

Läs mer

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

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Lösningsförslag för 725G45-tentan 3/11-10 1. Vad menas med Von Neumann-arkitektur? (2p) En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Data och instruktioner lagras i samma

Läs mer

4. Maskinnära programmering i C. Förberedelser till hemlaboration 1.

4. Maskinnära programmering i C. Förberedelser till hemlaboration 1. IS1200 ösningar till exempel, övning 4, 2015 4. Maskinnära programmering i C. Förberedelser till hemlaboration 1. 4.1. Big-endian och little-endian När heltal, flyttal och adresser ska lagras i datorns

Läs mer

Föreläsningsanteckningar 4. Pipelining

Föreläsningsanteckningar 4. Pipelining Föreläsningsanteckningar 4. Pipelining Olle Seger 2012, olles@isy.liu.se 21 januari 2013 1 Inledning Denna föreläsning handlar om pipelining, som är den helt dominerande processorarkitekturen i dag. Man

Läs mer

Datorsystem. Tentamen 2012-03-17

Datorsystem. Tentamen 2012-03-17 Datorsystem Tentamen 2012-03-17 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller, illustrationer och beräkningar som används för att nå svaret ska också finnas med i lösningen.

Läs mer

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

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647 Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

Datorsystemteknik D. Lösningar till tentamen i kursen EDA330 14/1 2000

Datorsystemteknik D. Lösningar till tentamen i kursen EDA330 14/1 2000 1(6) Lösningar till tentamen i kursen EDA330 Datorsystemteknik D 14/1 2000 Följande är skisser till lösningar av uppgifterna. Full poäng på en uppgift kräver i de flesta fall en något fylligare motivering.

Läs mer

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON Datorteknik ERIK LARSSON Laborationer Gå bara på tillfällen där du är anmäld. Moment svarar mot 1.5hp, dvs 40 timmar arbete Schemalagd tid: 4*2 (lektioner)+4*4(laborationer)=20 timmar Material: Finns på

Läs mer

Datorsystemteknik Föreläsning 7DAVA14

Datorsystemteknik Föreläsning 7DAVA14 Datorsystemteknik Föreläsning 7DAVA14 Innehåll Introduktion (forts) Polling (cyklisk avfrågning) Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Exempel

Läs mer

Vad bör göras? Steg 1. RISC => pipelining. Parallellism. Pipelining. Nya LDA 13. RISC(reduced instruction set computer) Öka klockfrekvensen

Vad bör göras? Steg 1. RISC => pipelining. Parallellism. Pipelining. Nya LDA 13. RISC(reduced instruction set computer) Öka klockfrekvensen Föreläsning 11 OR-datorn är för långsam! Alternativa arkitekturer kritik av OR-datorn RISC => pipelining LDA 13 (exempelvis) Hämta : 3CP 2 1 CP Absolut,1: 3 CP EXE: 4 CP Summa: 11 CP mem ADR XR SP DR TR

Läs mer

Polling (cyklisk avfrågning) Avbrott

Polling (cyklisk avfrågning) Avbrott Polling (cyklisk avfrågning) Avbrott Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Att känna till begreppet polling (cyklisk avfrågning) och hur det

Läs mer

CPU. Carry/Borrow IX. Programräknare

CPU. Carry/Borrow IX. Programräknare Laboration:. Jämförelser mellan assembler och C. CPU ACCA ACCD ACCB 8-bitars ackumulatorer eller 16- bitars ackumulator CCR 1 1 1 SXH I NZVC Flaggregister Carry/Borrow IX IY PC Indexregister X Indexregister

Läs mer

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe Kodningskonventioner Viktor Kämpe Varför kodningskonventioner? Förståelse för Skillnaden mellan lokala/globala variabler. Funktionsargument. Returvärde. Möjliggör Mix av assembler och C. Kodningskonventioner/VK

Läs mer

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

Program Datorteknik. Kontrollenhet. Exekvering av en instruktion. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk. Program Datorteknik Abstraktionsnivå: Högnivåspråk ERIK LARSSON» t ex C, C++ Assemblyspråk» t ex ADD R, R Maskinspråk» t ex 000.0 Exekvering av en instruktion Kontrollenhet () Hämta instruktion på 0000000

Läs mer

Laboration Datorteknik TSIU02 2. I/O-programmering

Laboration Datorteknik TSIU02 2. I/O-programmering Laboration Datorteknik TSIU02 2. I/O-programmering Stefan Gustafsson version 1.1 1. Inledning Laboration: I/O-programmering Du skall i denna laboration programmera TUTOR till att signalera i Morsekod.

Läs mer

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

Flyttal kan också hantera vanliga tal som både 16- och 32-bitars dataregister hanterar. FLYTTAL REAL Flyttal används i datorsystem för s k flytande beräkning vilket innebär att decimalkommat inte har någon fix (fast) position. Flyttal består av 2 delar (mantissa och exponent). När ett datorsystem

Läs mer

Tentamen Datorteknik D del 2, TSEA49

Tentamen Datorteknik D del 2, TSEA49 Tentamen Datorteknik D del 2, TSEA49 Datum 2012-05-24 Lokal TER2 Tid 8-12 Kurskod TSEA49 Provkod TEN1 Kursnamn Datorteknik D del 2 Institution ISY Antal frågor 6 Antal sidor (inklusive denna 10 sida) Kursansvarig

Läs mer

Övning2 Datorteknik, HH vt12 - Programmering

Övning2 Datorteknik, HH vt12 - Programmering Övning2 Datorteknik, HH vt12 - Programmering För denna övning behöver man adresskarta och beskrivning av laborationsplattform. Finns bland föreläsningsanteckning samt i bilaga l till Lab l. Använd även

Läs mer

A-del motsvarande KS1

A-del motsvarande KS1 MÄLARDALENS HÖGSKOLA Institutionen för elektroteknik Tentamen Mikrodatorteknik CT3760 Datum 2005-10-28 Tid 08.30 12.30 Svar till A- och B-del A-del motsvarande KS1 Uppgift A1. Vad blir resultatet då instruktionen

Läs mer

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

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet. Datorteknik Tomas Nordström Föreläsning 6 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 6 Vad händer vid uppstart SoC och Kringkretsar, PIO Programmering i Assembler Lab2 genomgång

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2016-08-16 Lokal TER2, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive

Läs mer

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

CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io. IS1200 Exempelsamling till övning CE_O6, 2015 CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io. 6.1. Läs in data från IN-port (skjutomkopplare TOGGLES18) Skriv en subrutin, Get_Data

Läs mer

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU.

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU. Digitala System: Datorteknik Minnets komponenter ERIK LARSSON Enhet för indata CPU Enhet för utdata Sekundärminne Programexekvering Program i högnivåspråk.. Z:=(Y+X)*3. Kompilator Exekverbart program i

Läs mer

OBS!! Detta är DEL 2 av tentan. För att få ut denna måste du ha lämnat in del 1. Om du inte fått ut del 1 bör du meddela skrivningsvakten. OBS!!

OBS!! Detta är DEL 2 av tentan. För att få ut denna måste du ha lämnat in del 1. Om du inte fått ut del 1 bör du meddela skrivningsvakten. OBS!! Sid 1 av 8 Datavetenskap Tentamen för DVG A03 Datorsystemteknik, 7,5 hp, del 2 fredag 2009-01-09 kl. 08.15-13.15 Tentamen del 2 består av 4 sidor. Ansvariga lärare: Tillåtna hjälpmedel: Kerstin Andersson

Läs mer

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621 Lunds Universitet LTH Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621 Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng

Läs mer

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

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers Avbrott generellt F7.1. Avbrott sköts med hårdvara i processorn, man läser av hårdvarumässigt. Polling är en enklare princip för I/O- hantering.

Läs mer

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

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet. Datorteknik Tomas Nordström Föreläsning 2 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 2 Check av övningar Von Neumann arkitekturen Minne, CPU, I/O Instruktioner och instruktionscykeln

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 6: Filhantering Henrik Björklund Umeå universitet 13 oktober 2009 Björklund (UmU) Programmeringsteknik 13 oktober 2009 1 / 22 Textfiler Filer är sekvenser

Läs mer

Tentamen PC-teknik 5 p

Tentamen PC-teknik 5 p Tentamen PC-teknik 5 p Lösningar med kommentarer Program: Di2 Datum: 05-01-10 Tid: 13:30-18:30 Lokal He303 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Bilaga: Ingen Examinator:

Läs mer

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

Ansvarig lärare: Olof Andersson, Telefon 021-101314 (besöker skrivsalen) MÄLRLENS HÖGSKOL Institutionen för elektroteknik Tentamen Mikrodatorteknik T3760 atum 2005-10-28 Tid 08.30 12.30 nsvarig lärare: Olof ndersson, Telefon 021-101314 (besöker skrivsalen) Om du klarat samtliga

Läs mer

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

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1. Hur många unsigned integers kan man göra med n bitar? Vilket talområde får dessa

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2015-01-08 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

Tentamen Datorteknik Y, TSEA28 Datum 2012-08-14

Tentamen Datorteknik Y, TSEA28 Datum 2012-08-14 Tentamen Datorteknik Y, TSEA28 Datum 2012-08-14 Lokal TER2 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Datorteknik Y Institution ISY Antal frågor 6 Antal sidor (inklusive denna sida) 7 Kursansvarig Andreas

Läs mer

Tentamen PC-teknik 5 p

Tentamen PC-teknik 5 p Tentamen PC-teknik 5 p Namn:. Klass:... Program: Di2, Em3, Et3 Datum: 03-08-15 Tid: 13:30-18:30 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C

Läs mer

Institutionen för datavetenskap 2014/15

Institutionen för datavetenskap 2014/15 LUNDS TEKNISKA HÖGSKOLA Datorer och datoranvändning Institutionen för datavetenskap 2014/15 ME en dator 1 Inledning ME är en påhittad dator, men den har likheter med riktiga datorer: det finns ett maskinspråk

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2017-01-17 2 Dagens föreläsning Kort repetition Större programmeringsexempel Subrutiner

Läs mer

Tentamen PC-teknik 5 p Lösningar och kommentarer

Tentamen PC-teknik 5 p Lösningar och kommentarer Tentamen PC-teknik 5 p Lösningar och kommentarer Program: Di2, Em3, Et3 Datum: 04-08-10 Tid: 13:30-18:30 Lokal E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific

Läs mer

HI1024 Programmering, grundkurs TEN2 2014-03-13

HI1024 Programmering, grundkurs TEN2 2014-03-13 HI1024 Programmering, grundkurs TEN2 2014-03-13 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

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

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien DIGITAL- OCH MIKRODATORTEKNIK, U2 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar skall inlämnas.

Läs mer

Dynamiskt minne. Vad är dynamiskt minne Motivering Hur gör man i C Övningar

Dynamiskt minne. Vad är dynamiskt minne Motivering Hur gör man i C Övningar Dynamiskt minne Agenda Vad är dynamiskt minne Motivering Hur gör man i C Övningar Minne Datorns primärminne används till olika ändamål De flesta system partitionerar minnet efter användningen: Programkoden

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Översikt Processorn Maskininstruktioner Dator Primärminne Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction

Läs mer

Föreläsningsanteckningar 3. Mikroprogrammering II

Föreläsningsanteckningar 3. Mikroprogrammering II Föreläsningsanteckningar 3. Mikroprogrammering II Olle Seger 2012 Anders Nilsson 2016 1 Inledning Datorn, som vi byggde i förra föreläsningen, har en stor brist. Den saknar I/O. I denna föreläsning kompletterar

Läs mer

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

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 Mål Datorteknik Föreläsning 2 Att ge en inblick i programspråket C Att veta varför assemblerprogrammering är viktigt Att börja arbeta med MIPS-assembler Att känna till något om programmeringstekniker Att

Läs mer

Extra lab. Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination

Extra lab. Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination Extra lab Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination Erfarenheter från projektstart Läs på i Downey om klasser och objekt! När kan/ska man använda self? När bollarna

Läs mer

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

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin. 1(5) Övningstentamen i Mikrodatorer och assemblerprogrammering, ELGA05 Hjälpmedel: Bifogad lista med memokoder för MC68xxx. Samtliga programmeringsuppgifter ska innehålla flödesschema med förklaringar

Läs mer

Tentamen Datorteknik Y, TSEA28 Datum 2012-06-02 TER2, TER4, TERE Tid 14-18

Tentamen Datorteknik Y, TSEA28 Datum 2012-06-02 TER2, TER4, TERE Tid 14-18 Tentamen Datorteknik Y, TSEA28 Datum 2012-06-02 Lokal TER2, TER4, TERE Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Datorteknik Y Institution ISY Antal frågor 7 Antal sidor (inklusive denna sida) 10

Läs mer

Assemblerprogrammeringsuppgifter för FLIS-processorn

Assemblerprogrammeringsuppgifter för FLIS-processorn 1 (2013-05-02) Assemblerprogrammeringsuppgifter för FLIS-processorn 1. I simulatorn för FLISP-datorn kan man ansluta strömbrytarmodulen DIPSWITCH till en inport och sifferindikatorn 7-SEGMENT till en utport.

Läs mer

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

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 1 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 arkitektur), hårdvara osynlig Assembly- och maskinprogram:

Läs mer

Datorsystemteknik DVGA03 Föreläsning 5

Datorsystemteknik DVGA03 Föreläsning 5 Datorsystemteknik DVGA03 Föreläsning 5 Stack och subrutiner Programmeringskonventionen Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Registren i MIPS

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2009-08-28 Skrivtid 9.00-13.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna

Läs mer

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010 STYRNING - i Mikrodatorteknik för U2 2010 1. Uppgift M10 (5p) aug-09 Skriv ett program i PIC-assembler som - gör PortB till utport - ettställer bit 0, 3 och 4 i PortB - nollställer bit 5 och 6 i PortB

Läs mer

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C 1 of 7 Örebro universitet Institutionen för teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen fredag 15

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Abstrakta datatyper Listor Stackar

Läs mer

HI1024 Programmering, grundkurs TEN2 2015-10-30

HI1024 Programmering, grundkurs TEN2 2015-10-30 HI1024 Programmering, grundkurs TEN2 2015-10-30 KTH STH Haninge 8.15-13.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator Programmering C: Tentamen 2008-05-31 1 of 5 Örebro universitet Institutionen för teknik Thomas Padron-McCarthy (Thomas.Padron-McCarthy@tech.oru.se) Tentamen i Programmering grundkurs och Programmering

Läs mer

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok Namn: Laborationen godkänd: Laboration 2. Cacheminne Laborationens syfte I laborationen ska du bekanta dig med cacheminnen. Genom laborationen fås kunskap om hur cacheminnen är konstruerade och hur de

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2009-06-04 Skrivtid 9.00-13.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2015-08-18 Lokal TERE, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive

Läs mer

Linköpings Tekniska Högskola Instutitionen för Datavetenskap (IDA) Torbjörn Jonsson, Erik Nilsson Lab 2: Underprogram

Linköpings Tekniska Högskola Instutitionen för Datavetenskap (IDA) Torbjörn Jonsson, Erik Nilsson Lab 2: Underprogram Mål Lab 2: Underprogram Följande laboration introducerar underprogram; procedurer, funktioner och operatorer. I denna laboration kommer du att lära dig: Hur man skriver underprogram och hur dessa anropas.

Läs mer

Övningsuppgifter i Mikrodatorteknik 4p/5p

Övningsuppgifter i Mikrodatorteknik 4p/5p Övningsuppgifter i Benny Thörnberg Mittuniversitetet Inst. för Informationsteknologi och medier Hösten 2005 1 Exekvering av assemblerkod 1.1 Statusflaggors beteende Vad blir C-, N- och Z- flaggornas värden

Läs mer

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Tentamen ID1004 Objektorienterad programmering October 29, 2013 Tentamen för ID1004 Objektorienterad programmering (vilande kurs), 29 oktober 2013, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.

Läs mer