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

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

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 13 mars 2013, klockan 14:00 19:00 i Vic 2 A-D, 3 A-C. Tillåtna hjälpmedel: på tentan utdelad

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

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, HT2013

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

Läs mer

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 7 mars 2012, klockan 14:00 19:00 i Vic 2, 3. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

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

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621 Lunds Universitet LTH Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621 Skrivtid: 8.00-13.00 Inga tillåtna hjälpmedel Uppgifterna i tentamen ger maximalt 60 poäng. Uppgifterna är

Läs mer

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Torsdagen den 13 mars 2014, klockan 14:00 19:00 i MA:10. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

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

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

CE_O2. Nios II. Subrutiner med mera.

CE_O2. Nios II. Subrutiner med mera. IS1500 Lösningsförslag till övning CE_O2 2014 CE_O2. Nios II. Subrutiner med mera. 2.1. Binära lagringsformat R-type: (Register-format) ra (5 bit) rb (5 bit) rc (5 bit) operationskod (17 bit) Detta format

Läs mer

CE_O3. Nios II. Inför lab nios2time

CE_O3. Nios II. Inför lab nios2time IS1200 Exempelsamling till övning CE_O3, 2015 CE_O3. Nios II. Inför lab nios2time 3.1. Logiska operationer (se uppgift 1.2 c) Repetera (eller lär dig) innebörden av de logiska operationerna "bitvis AND",

Läs mer

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering (1)

Läs mer

CE_O8. Cacheminne. Hemlaboration 2.

CE_O8. Cacheminne. Hemlaboration 2. IS1200 Lösningsförslag till övning CE_O8, 2015 CE_O8. Cacheminne. Hemlaboration 2. 8.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 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

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 Tallriksmodellen Stackoperationer Element kan endast

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

IS1200 Datorteknik. Övning CE_O4 Maskinnära programmering med C Förberedelser till hemlaboration 1

IS1200 Datorteknik. Övning CE_O4 Maskinnära programmering med C Förberedelser till hemlaboration 1 IS1200 Datorteknik Övning CE_O4 Maskinnära programmering med C Förberedelser till hemlaboration 1 1 4.1 Little och big endian 2 Nios II? Nios II är Little-endian (men eftersom det är en soft-processor

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

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

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga Datorarkitektur I Tentamen Lördag 10 April 2010 Ekonomikum, B:154, klockan 09:00 14:00 Examinator: Karl Marklund 0704 73 32 17 karl.marklund@it.uu.se Tillåtna hjälpmedel: Penna Radergummi Linjal Följande

Läs mer

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

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte CT3760 Mikrodatorteknik Föreläsning 4 Tisdag 2005-09-06 Stacken I datasammmanhang är en stack ett minnesområde. Det är processorn som använder stacken. För att skapa en stack anger man en adress i stackpekarregistret.

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

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Semantic gap Alltmer avancerade programmeringsspråk tas fram för att göra programvaruutveckling mer kraftfull Dessa programmeringsspråk (Ada, C++, Java)

Läs mer

Exempeltentamen Datorteknik, EIT070,

Exempeltentamen Datorteknik, EIT070, Lunds Universitet LTH Exempeltentamen Datorteknik, EIT070, Skrivtid: xx.00-xx.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 poäng För betyg

Läs mer

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

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp Institutionen för elektro- och informationsteknik Campus Helsingborg, LTH 2016-12-22 8.00-13.00 Uppgifterna i tentamen ger totalt 60

Läs mer

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.

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. F5 Föreläsning i Mikrodatorteknink 2006-09-05 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. Programräknaren

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2015-06-01 Lokal Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen

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 (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

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60) Lunds Universitet LTH Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60) 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

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

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

Datorteknik. Föreläsning 3. Assembler, stack och subrutiner, programmeringskonventionen. Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 3 Assembler, stack och subrutiner, programmeringskonventionen Mål Att veta hur maskinkoden för ett program byggs upp Att börja programmera i assembler på riktigt Att kunna skriva

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 3 Assembler, stack och subrutiner, programmeringskonventionen Mål Att veta hur maskinkoden för ett program byggs upp Att börja programmera i assembler på riktigt Att kunna skriva

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

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

F5: Högnivåprogrammering

F5: Högnivåprogrammering F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via

Läs mer

F5: Högnivåprogrammering

F5: Högnivåprogrammering 1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data

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

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

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

Lösningar till övning CE_O CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io. ösningar till övning CE_O6 2014 CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io. 6.1. äs in data från IN-port ( skjutomkopplare TOGGES18) a) ösningsförslag i Nios-II-assembler..equ

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

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

Mål. Datorteknik. Innehåll. Innehåll (forts) Hur ser ett program ut? Hur skapas maskinkoden? Mål Datorteknik Föreläsning 3 Att veta hur maskinkoden för ett program byggs upp Att börja programmera i på riktigt Att kunna skriva och anropa subrutiner i Att förstå hur stacken fungerar Att veta vad

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

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2016-05-31 Lokal Kåra, T1, T2, U1, U15 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal

Läs mer

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal

Läs mer

Programexempel för FLEX

Programexempel för FLEX Aktivera Kursens mål: Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruera styrenheten. genom att. implementera olika maskininstruktioner i styrenheten. Kunna använda

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

Pipelining i Intel Pentium II

Pipelining i Intel Pentium II Pipelining i Intel Pentium II John Abdulnoor Lund Universitet 04/12/2017 Abstract För att en processor ska fungera måste alla komponenter inuti den samarbeta för att nå en acceptabel nivå av prestanda.

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

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 2 3 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

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

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

Fö 5+6 TSEA81. Real-time kernel + Real-time OS Fö 5+6 TSEA81 Real-time kernel + Real-time OS Stackens användningsområde * JSR / RTS : returadress * Temporärdata (push / pop) void myfunc(void) { int i; // hamnar nog i register int test[10]; // hamnar

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

4. Pipelining. 4. Pipelining

4. Pipelining. 4. Pipelining 4. Pipelining 4. Pipelining Det finns en pipelinad biltvätt i Linköping spoltvätttork spoltvätt tork spolning tvätt tork De tre momenten tar lika lång tid Alla bilar går igenom samma program Väntetid 1/3

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. 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

Datorsystemteknik DVGA03 Föreläsning 8

Datorsystemteknik DVGA03 Föreläsning 8 Datorsystemteknik DVGA03 Föreläsning 8 Processorns uppbyggnad Pipelining Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Innehåll Repetition av instruktionsformat

Läs mer

Digitalteknik och Datorarkitektur

Digitalteknik och Datorarkitektur Digitalteknik och Datorarkitektur Tentamen Tisdag 12 Januari 2010 Pollacksbackens skrivsal, klockan 08:00 13:00 Examinator: Karl Marklund 018 471 10 49 0704 73 32 17 karl.marklund@it.uu.se Tillåtna hjälpmedel:

Läs mer

Datorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål

Datorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål Datorteknik Föreläsning 6 Processorns uppbyggnad, pipelining Mål Att du ska känna till hur processorn byggs upp Att du ska kunna de viktigaste byggstenarna i processorn Att du ska känna till begreppet

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

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

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) Praktiska kommentarer TSEA8 Datorteknik Y (och U) Föreläsning Kent Palmkvist, ISY Dagens föreläsning RISC Mer information om hur arkitekturen fungerar Begränsningar Lab extra tillfälle för redovisning

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

Ö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

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

LABORATION. Datorteknik Y

LABORATION. Datorteknik Y LABORATION Datorteknik Y Avbrottsprogrammering på Darma Version 4.03 Februari 2019 (OA, KP) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering

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

Föreläsningsanteckningar 5. Cacheminnen

Föreläsningsanteckningar 5. Cacheminnen Föreläsningsanteckningar 5. Cacheminnen Olle Seger 2012 Anders Nilsson 2016 1 Inledning Bakgrunden till att cacheminnen behövs för nästan alla datorer är enkel. Vi kan kallt räkna med att processorn är

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

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

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp Institutionen för elektro- och informationsteknik Campus Helsingborg, LTH 2018-01-09 8.00-13.00 (förlängd 14.00) Uppgifterna i tentamen

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

Pipelining i Intel 80486

Pipelining i Intel 80486 Lunds Universitet Pipelining i Intel 80486 EITF60 Datorarkitekturer med operativsystem Martin Wiezell 2017-12-04 Abstract This paper gives a brief description of the instruction pipeline of the Intel 80486

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

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

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

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

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2017-08-15 Lokal TER4 Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen

Läs mer

Tentamen den 17 mars 2016 Datorteknik, EIT070

Tentamen den 17 mars 2016 Datorteknik, EIT070 Lunds Universitet LTH Tentamen den 17 mars 2016 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 poäng

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

Grundläggande datavetenskap, 4p

Grundläggande datavetenskap, 4p Grundläggande datavetenskap, 4p Kapitel 2 Datamanipulation, Processorns arbete Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-09 IT och Medier 1 Innehåll CPU ALU Kontrollenhet Register

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

Hantering av hazards i pipelines

Hantering av hazards i pipelines Datorarkitektur med operativsystem Hantering av hazards i pipelines Lisa Arvidsson IDA2 Inlämningsdatum: 2018-12-05 Abstract En processor som använder pipelining kan exekvera ett flertal instruktioner

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

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

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

Assemblerprogrammering - fördjupning

Assemblerprogrammering - fördjupning Assemblerprogrammering - fördjupning Ur innehållet: Trampoliner tabellerade funktionsadresser Aktiveringspost med ARM Cortex M4 Mer om parameteröverföring Registerspill Kodgenerering - ISA "Kodoptimering"

Läs mer

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

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen 68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder

Läs mer

Hemlaboration Cache Cacheminnen

Hemlaboration Cache Cacheminnen IS1200 Datorteknik IS1500 Datorteknik och komponenter Hemlaboration Cache Cacheminnen 2014-12-15 Kursdeltagarens namn:.. Datum: Godkänd av (assistentens signatur):.. IS1200/IS1500 Hemlab cache: Cacheminnen

Läs mer

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON Datorteknik ERIK LARSSON Program Abstraktionsnivå: Högnivåspråk» t ex C, C++ Assemblyspråk» t ex ADD R1, R2 Maskinspråk» t ex 001101.101 Exekvering av en instruktion (1) Hämta instruktion på 00001000 (där

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

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

Lösningsförslag till Tenta i Mikrodator

Lösningsförslag till Tenta i Mikrodator Lösningsförslag till Tenta i Mikrodator 050113 1. Vilka register finns det i processorn och vad används dessa till? D0 till D7: Dataregister som används för beräkningar A0 till A6: Adressregister som används

Läs mer