Lösningar till valda övningsuppgifter i. Computer Organization & Design The Hardware / Software Interface (2nd ed.)

Save this PDF as:
 WORD  PNG  TXT  JPG

Storlek: px
Starta visningen från sidan:

Download "Lösningar till valda övningsuppgifter i. Computer Organization & Design The Hardware / Software Interface (2nd ed.)"

Transkript

1 Lösningar till valda övningsuppgifter i Computer Organization & Design The Hardware / Software Interface (2nd ed.) David A. Patterson & John L. Hennessy Lösningarna gjorda av: Jonas Alowersson, Mats Brorsson, Fredrik Dahlgren, Hans Lindqvist, Håkan Nilsson, Jonas Skeppstedt, Patrik Sundström, Bengt Öhman och Sven Karlsson. Kapitel I denna uppgift skall vi beräkna CPI-talet för två olika system, M1 och M2. CPI-talet får ur formeln: T exe = I * CPI * T c där T exe är den totala exekveringstiden, I är antalet instruktioner och T c är cykeltiden. Vi vet följande från uppgiften: Insatt i formeln får vi att: 2.10 System T exe (sek) I T c (sek) M * /200* 10 6 M * /300* 10 6 CPI(S1) = 10 * 200* 10 6 / 200* 10 6 = 10 CPI(S2) = 5 * 300* 10 6 / 160* 10 6 = 9.4 Peak performance är den högsta hastighet som en maskin kan exekvera en instruktionssekvens vald för att ge maximal prestanda. Detta innebär att man skall välja en instruktionssekvens bestående av instruktioner med så lågt CPI-tal som möjligt. För implementation M1 fås: f(m1) / CPI min (M1) = 500* 10 6 / 1 = 500 MIPS och för M2 fås: f(m2) / CPI min (M2) = 750* 10 6 / 2= 375 MIPS

2 2.11 Vi skall jämföra två olika implementeringar, M1 och M2 map exekveringstid. Vi använder åter formeln: T exe = I * CPI * T c Genomsnittligt CPI-tal fås genom att vikta samman CPI-talen för de olika instruktionsklasserna. Insatt i formeln får vi: T exe (M1) = I * (0.25*1 0.25*2 0.25*3 0.25*4) * 1/500* 10 6 = I * 2.5/500* 10 6 T exe (M2) = I * (0.25*2 0.25*2 0.25*4 0.25*4) * 1/750* 10 6 = I * 3/750* 10 6 Speedup beräknas som kvoten mellan den långsammare implementeringen och den snabbare implementeringen. SP = T exe (M1) / T exe (M2) = (I * 2.5/500* 10 6 ) / (I * 3/750* 10 6 ) = 1.25 M2 är alltså 25% snabbare än M I förra uppgiften beräknades CPI-talen för de två implementeringarna till; CPI(M1) = 2.5 och CPI(M2) = 3. Vi skall nu beräkna den klockfrekvens som M1 måste ha för att ha samma prestanda som M2, mao vi sätter T exe (M1) = T exe (M2). Detta ger: Kapitel Orginalkoden ser ut så här: CPI(M1) * T c (M1) = CPI(M2) * T c (M2) => 2.5 * T c (M1) = 3 * 1/750* 10 6 => Fq(M1) = 1/T c (M1) = 2.5 * 750* 10 6 / 3 = 625 MHz Loop: add add add lw bne add j Exit: $t1,$s3,$s3 $t1,$t1,$t1 $t1,$t1,$s6 $t0,0($t1) $t0,$s5,exit $s3,$s3,$s4 Loop På 10 iterationer blir detta 7*10=70 instruktioner.

3 Den första optimeringen vi kan göra är att eliminera det sista hoppet. Detta gör vi genom att alltid addera j på i. Vi kan då göra om bne instruktionen till en beq! Tyvärr kommer vi då att addera en gång för mycket men det kan vi kompensera för: Loop: add $t1,$s3,$s3 add $t1,$t1,$t1 add $t1,$t1,$s6 lw $t0,0($t1) add $s3,$s3,$s4 beq $t0,$s5,loop sub $s3,$s3,$s4 ; kompensera för den extra additionen På 10 iterationer blir detta 6*10=60 instruktioner i loopen och 1 utanför dvs totalt 61 instruktioner. Som vi ser går de flesta instruktioner åt till att skapa adressen till minnet. Vi kan faktiskt ta bort även dessa instruktioner genom att använda pekare in i vektorn i stället för index! För att i skall vara korrekt efter exekveringen måste pekaren räknas om! ; före loop sll $s3,$s3,2 ; gör om från index till adresser sll $t1,$s4,2 ; gör om inkrementen add $s3,$s3,$s6 ; addera på baspekare Loop: lw $t0,0($s3) ; nu används $s3 som pekare add $s3,$s3,$t1 ; som innan beq $t0,$s5,loop ; efter loop sub $s3,$s3,$t1 ; kompensera för den extra additionen sub $s3,$s3,$s6 ; subtrahera bort baspekare srl $s3,$s3,2 ; shifta tillbaka till index På 10 iterationer får vi 3*10=30 och 6 instruktioner utanför dvs 36 instruktioner totalt! Man kan även optimera på andra sätt som är effektivare. Mer om detta i fortsättningskursen Datorarkitektur. Fotnot: Vi har i lösningen inte tagit hänsyn till pipeline effekter. Mer om detta i senare kapitel Vi skall räkna ut CPI-talet för MIPS mha instruktionsfrekvenserna från figur 3.38 på sidan 189. Vi får: CPI = 0.49* * * *1.2 = 1.2

4 Kapitel I uppgift 4.44 och 4.45 används bokens notation för operationerna AND och OR. Dvs * är AND och är OR i logiska ekvationer. Som förkortad notation används också ab för a*b. Ekv 1: g i = a i * b i p i = a i b i Ekv 2: G i,i-3 = g i (p i g i-1 ) (p i p i-1 g i-2 ) (p i p i-1 p i-2 g i-3 ); P i,i-3 = p i p i-1 p i-2 p i-3 för i = 3,7,...,31. Exempelvis: G0 blir G 3,0 = g 3 (p 3 g 2 ) (p 3 p 2 g 1 ) (p 3 p 2 p 1 g 0 ) P0 blir P 3,0 = p 3 p 2 p 1 p 0 c 4 = G 3,0 (P 3,0 c 0 ) c 8 = G 7,4 (P 7,4 G 3,0 ) (P 7,4 P 3,0 c 0 ) c 12 = G 11,8 (P 11,8 G 7,4 ) (P 11,8 P 7,4 G 3,0 ) (P 11,8 P 7,4 P 3,0 c 0 ) c 16 = G 15,12 (P 15,12 G 11,8 ) (P 15,12 P 11,8 G 7,4 ) (P 15,12 P 11,8 P 7,4 G 3,0 ) (P 15,12 P 11,8 P 7,4 P 3,0 c 0 ) 4.45 Ekv. 1 och 2 enligt uppgift Ekv. 3: G i,i-15 = G i,i-3 (P i,i-3 G i-4,i-7 ) (P i,i-3 P i-4,i-7 G i-8,i-11 ) (P i,i-3 P i-4,i-7 P i-8,i-11 G i-12,i-15 ) P i,i-15 = P i,i-3 P i-4,i-7 P i-8,i-11 P i-12,i-15 för i = 15, 31, 47, 63 c 16 = G 15,0 (P 15,0 c 0 ) c 32 = G 31,16 (P 31,16 G 15,0 ) (P 31,16 P 15,0 c 0 ) c 48 = G 47,32 (P 47,32 G 31,16 ) P 47,32 P 31,16 G 15,0 ) (P 47,32 P 31,16 P 15,0 c 0 ) c 64 = G 63,48 (P 63,48 G 47,32 ) (P 63,48 P 47,32 G 31,16 ) (P 63,48 P 47,32 P 31,16 G 15,0 ) (P 63,48 P 47,32 P 31,16 P 15,0 c 0 ) <fin figur enligt fig4.24 i boken>

5 4.46 Ripple-carry: c 4 a 3 FA s b 3 3 c 3 c 4 a 2 FA s b 2 2 a 1 c 2 FA s b 1 1 c 1 A B 4-bits RC add. S a 0 FA s b 0 0 c 0 c 0 Tid = 4 * 2T = 8T Carry lookahead: a 3 b 3 a 2 b 2 a 1 b 1 a 0 b 0 p 3 g 3 p 2 g 2 p 1 g 1 p 0 g 0 4.bit GP calc. c 4 c 3 c 2 c 1 a 3 FA s b 3 3 a 2 FA s b 2 2 a 1 FA s b 1 1 a 0 FA s b 0 0 A B c 4 4-bits CLA add. c0 S c 0 Tid = 2T T 2T = 5T Uppsnabbning med carry lookahead = 8T / 5T = 1.6 => 60% förbättring. OBS. man använder inte carry-utgången på FA-blocken. Det medför att man kan realisera heladderarna med mindre antal grindar, men inte med mindre fördröjning. FA-block används här för att tydliggöra.

6 4.47 Tid för 4 st 4 bits ripple-carry adderare, kopplade sinsemellan i ripple-carry: c 16 4-bits RC add. 4-bits RC add. 4-bits RC add. 4-bits RC add. c 0 Tid = 4* 8T = 32T Tid för 4st 4 bits carry-lookahead adderare, kopplade sinsemellan i ripple-carry: c 16 4-bits CLAadd. 4-bits CLAadd. 4-bits CLAadd. 4-bits CLAadd. c 0 Tid = 4* 5T = 20T Tid för 4st 4 bits carry-lookahead adderare, kopplade sinsemellan i carry-lookahead: c 16 4-bits GP calc. 4.bit GP calc. c 12 c 8 c 4 4-bits CLA adderare c 0 Tid = T 2T 2T 5T = 10 T

7 4.50 Tre 4-bits ripple-carry adderare i trädkoppling: Tal 1 4-bits RC adderare Tal 2 Tal 3 Tal 4 Summa Tid = 8T 8T = 16T Observera att hela talområdet i detta fall inte kan representeras eftersom summan av två fyrabitars tal generellt kräver 5 bitar för att representeras. Carry-save med ripple-carry på slutet: s 4 s 4 d 3 c 3 b 3 a 3 d 2 c 2 b 2 a 2 d 1 c 1 b 1 a 1 d 0 c 0 b 0 a s 3 s 2 s 1 s 0 Tid = 2T 2T 8T = 12T 4.51 Antalet carry-save steg beror ej på bitbredd utan på antal summander så att antal steg ~ log 3 (antal summander). Det medför att det är endast den slutliga summationen som beror på antalet bitar, antalet carry-save steg är detsamma som i Tid för 3 st 16 bits carry lookahead adderare, vardera med fördröjningen 5T enl. 4.46: 2 * 5T = 10 T

8 Observera att man i detta fallet inte kan unyttja hela talområdet pga samma anledning som i Tid för 2 steg av carry save struktur följt av 1 st 16 bits carry lookahead adderare: 2T 2T 5T = 9T 4.55 Med guard och round siffror: Normaliserat och avrundat: Inga guard eller round siffror: Normalisera: Med guard och round siffror: Normaliserat och avrundat: Inga guard eller round siffror: Normalisera:

9 Kapitel Se figur 5.29 sidan 372. Vi behöver skriva PC4 till register $31. Lägg till en ingång till muxen som anger Write-register till vänster om registerbanken. Denna nya ingång ska ha värdet 31 för att tvinga skrivning till register 31. Förut hade denna mux endast en bits styrsignal, men nu behöver den två bitars styrsignal. Vidare behöver vi en dataväg som går från den adderaren som utför PC4 till Write-data i registerbanken. Detta kan göras genom att lägga till en tredje ingång till muxen längst ner till höger, vars utgång är ingång till Write-data på registerbanken. Också denna mux behöver nu två bitars styrsignal Se figur 5.33 sidan 383. Vi behöver skriva PC4 till register $31. Lägg till en ingång till muxen som anger Write-register till vänster om registerbanken. Denna nya ingång ska ha värdet 31 för att tvinga skrivning till register 31. Förut hade denna mux endast en bits styrsignal, men nu behöver den två bitars styrsignal. Datavägen för att beräkna PC4, och skriva detta till registerbanken finns redan. 1. Instruction fetch step: Hämta instruktionen från minnet och öka program-räknaren. IR = Memory[PC]; PC = PC4; Detta är samma för alla instruktioner, eftersom vi ännu inte vet vilken instruktion som ska exekveras. 2. Instruction decode step Samma som beskrivet i boken. 3: Jump step: PC går via ALUn till register data write. Detta förutsätter har funktionen att kopiera A operanden direkt till ALUoutput, vilket vi antar är fallet. SkiftaInstruction[25-0] två steg till vänster och konkatenera medpc[31-28]. Välj detta till nytt PC-värde vid nästa klockpuls.

10 1 Inför nytt tillstånd 12 enligt nedan: 12 ALUSelA=0 ALUOp=11 MemToReg=0 RegDst=10 RegWrite PCSource=10 PCWrite (Op= JAL ) Till tillstånd 0 Vi har här antagit att koden 11 som ALUOp betyder att A-operanden kopieras till ALU:ns utgång Instruction Fetch och Instruction Decode/Register Fetch utförs likadant som för alla andra instruktioner, dvs enligt sid i boken. Execution-steget utförs vid en addi-instruktion genom att ALU:n adderar värdet från läsport 1 med värdet av bit 15-0 i instruktionsformatet: ALUoutput = A sign_extend(ir[15-0]) Efter Execution-steget skrivs resultatet i rätt register, på samma sätt som för allalw-instruktioner: Reg[IR[20-16]] = ALUoutput Inför nya tillstånd 13 och 14 enligt nedan: 1 (Op= addi ) 13 ALUSelA=1 ALUSelB=10 ALUOp=00 14 ALUSelA=1 ALUSelB=10 ALUOp=00 RegDst=0 RegWrite MemToReg=0 Till tillstånd 0 Observera att ALUOp ej skall vara 10 som i R-typ operationer (tillstånd 6 och 7 i grafen på sid 349) utan 0, d.v.s. addition. Anledningen är att typen av ALU-operation i instruktioner av I-typ bestäms av op-fältet, ej av funct-fältet i instruktionen.

11 Kapitel IF/ID ID/EX EX/MEM MEM/WB PC 32 bitar Instruktion 32 bitar Summa 64 bitar PC 32 bitar Reg data 1 32 bitar Reg data 2 32 bitar Offset 32 bitar TReg 5 bitar SReg 5 bitar Summa 138 bitar Branch target 32 bitar Zero 1 bit ALU result 32 bitar Reg data 2 32 bitar WriteReg 5 bitar Summa 102 Memory data 32 bitar ALU data 32 bitar WriteReg 5 bitar Summa 69 bitar 6.9 IF-steget Det kan vara vilken instruktion som helst. Omöjligt att bestämma. ID-steget rs = 10, rt = 11, rd = 1, offset = 2090 ALUop = 10, RegDst = 1, ALUsrc = 0 Branch = 0, MemWrite = 0, MemRead = 0 ALUop => R-typ instruktion, 6 minst signifikanta bitarna i offset ger funktion. funct = = 42 => slt enligt figur A.19

12 Instruktion slt $1,$10,$11 EX-steget rs = 5, rt = 6, rd = 0, offset = 16 RegDst = 0, ALUop = 00, ALUsrc = 1 ALUop = 00 => lw el. sw-instruktion RegWrite = 0 => sw-instruktion Instruktion sw $6,16($5) MEM-steget Branch = 1 => Branch-instruktion Vi vet dock inte hoppadressen eller vilka register som jämförts. WB-steget RegWrite = 1, MemToReg = 1 => lw-instruktion rt = 15 (se i ID-steget) Vi vet dock inget om adress eller källregister. Instruktion lw $15,????($??) 6.7 IF: Samma som för load i figur 6.13u. ID: Samma som för load i figur 6.13n. EX: Muxen i EX-stegen är i läge 0. ALUn utför addition. MEM: Inget sker, mer än att ALUoutput kopieras från EX/MEM vippor till MEM/WB vippor. WB: Muxen i WB-steget är i läge 0, och muxens utsignal skrivs i registerbanken Vi har en pipeline med full forwarding och som stallar vid databeroenden mellan load och instruktionen efter load. Den ursprungliga sekvensen är: lw $3,0($5) lw $4,4($5) add $7,$7,$3 add $8,$8,$4 add $10,$7,$8 sw $6,0($5) beq $10,$11,Loop

13 Vi vill minimera prestandan dvs maximera exekveringstiden. Det gör vi genom att maximera antalet databeroenden mellan instruktionerna. Den riktigt dåliga instruktionssekvensen blir: lw $3,0($5) add $7,$7,$3 sw $6,0($5) lw $4,4($5) add $8,$8,$4 add $10,$7,$8 beq $10,$11,Loop ;$3 är resultatet av load => 1 stall ;$6 är oberoende av alla instr så ; vi sätter denna instruktion så ; långt bort från beroenden som möjligt ;$4 är resultatet av load => 1 stall ; beroende av tidigare instruktion ; beroende av tidigare instruktion Vi får alltså 2 extra stalls Sista frågan (ändrade forwarding-ekvationer) ingår ej IF / ID ID / EX EX / MEM MEM / WB Control RegWrite WB WB WB ALUSelA rs rt rt rd Forwarding unit ALUSelB rt rd rs = Instruction[25-21] rt = Instruction[20-16] rd = Instruction[15-11] RegWrite: bestämmer om instruktionen skriver resultat i register ALUSelX: Väljer återkopplingsväg Observera att i det här fallet ingen återkoppling sker från MEM / WB-registret.

14 6.20 lw $2,100($1) IM Reg DM Reg sw $2,100($3) IM Reg DM Reg Forwarding-muxarna vid ALU:n arbetar som tidigare, alltså enligt ekvationern på sid En ny forwarding-mux tillkommer vid dataminnets skrivport för att möjliggöra forwarding enligt figuren ovan. Styrvillkoret för denna mux är: if (MEM/WB.RegWrite and (MEM/WB.WriteRegister = EX/MEM.ReadRegister2) and EX/MEM.MemWrite) MemSel=1 det krävs alltså att informationen ReadRegister2 transporters längre i pipelinen än förut Hazardvillkoret på sid. 490 måste ändras så att instruktioner som kan exekveras tack vare den nya forwarding-muxen ej stoppas: if (ID/EX.memRead and ((ID/EX.WriteRegisterRt = IF/ID.ReadRegisterRs) or ((ID/EX.WriteRegisterRt = IF/ID.ReadRegisterRt) and not store-instruction))) stall the pipeline Eftersom hazarddetekteringsenheten ligger redan i Instruction-decode-steget har den inte tillgång till signalen MemWrite utan måste själv kunna avgöra om den nya instruktionen är en store-instruktion Ursprunglig version med predict-branch-not-taken. 36 sub $10,$4,$8 40 beq $1,$3,28 44 and $12,$2,$ lw $4,50($7) Eftersom det inte finns data beroende mellan sub och beqd, kan vi byta plats på dessa instruktioner, och låta sub vara i delay-slot för branch. 36 beqd $1,$3,32 <-- delayed branch 40 sub $10,$4,$8 <-- delay-slot 44 and $12,$2,$ lw $4,50($7)

15 6.27 Beslutet att hoppa måste tas i steg 2, vilket medför att exakt en instruktion (den i steg 1) kan behöva annuleras. För detta behöver vi en adderare för PC branchoffset i steg 2, samt en komparator för att avgöra ifall hoppet ska tas eller ej. Detta illustreras i Labhandledningen på sidan 29 i figur 2. En separat adderare och en komparator finns där i steg 2. Kapitel Minnesreferenser som missar i cacheminnet är markerade med M och de som träffar är markerade med H. Träffar respektive missar: M M M M M M M M M M M M H M H H Sluttillståndet i cachen är följande: Block nr. Adress Block nr. Adress Träffar respektive missar: M M M H M M H M M H M M H H M H

16 Sluttillståndet i cachen är följande: Block nr. Adress (till första ordet i blocket) Träffar respektive missar: M M M M M M M M M M H M H M H H Sluttillståndet i cachen är följande: Mängd nr. Block 1 adress Block2 adress Träffar respektive missar: M M M M M M M M M M H M H M H H

17 Sluttillståndet i cachen är följande: Block nr. Adress Block nr. Adress Träffar respektive missar: M M M H M M H M M H M M H H H M Sluttillståndet i cachen är följande: Block nr. Adress (till första ordet i blocket) Den totala storleken för sidtabellerna är antalet poster multiplicerat med storleken på varje post. Antalet poster är lika med antalet sidor i den virtuella adressrymden som är: 2 40 bytes = Kbytes = 2 26 Varje post innehåller 4 22 = 26 bitar. Totalt innehåller sidtabellen alltså 26 * 2 26 = 1664 Mbitar eller 208 Mbyte. 2 40

18 7.33 Page, 26 bitar Offset, 14 bitar 7 Tag VPDU 128 poster i varje Fysisk sidnummer Tag VPDU Fysisk sidnummer 19 =? =? Valid-bit & & 1 Träff/Miss? Page, 22 bitar Tag är 26-7 = 19 bitar VPDU = 4 bitar Offset, 14 bitar

19 7.27 Vi skall beräkna antalet cykler (per instruktion) som läggs till CPI på grund av cache-missar för tre olika cache-system. C miss = MPI * (1-H) * T m = (MPI instr * (1-H instr ) MPI data * (1-H data )) * T m I alla tre fallen gäller: MPI instr = 1, MPI data = 0.5 Sensmoral: Även om en större blockstorlek har högre misskostnad än för en mindre blockstorlek kan man få bättre prestanda genom att träffsannolikheten höjs. Genom högre grad av associativitet kan träffsnnolikheten höjas ytterligare. Detta fungerar dock till en viss gräns, se t ex laborationen om cache-minnen eller figur 7.12 i kursboken (s 559) Cache 1-H instr 1-H data T m C miss =7 (1* *0.08)*7 = =10 (1* *0.05)*10 = =10 (1* *0.04)*10 = 0.4 Enligt uppgift 7.13 är CPI för maskinen med cache 1, CPI 1 = 2, CPI = CPI orig C miss => CPI orig = = 1.44 Cache T exe 1 I*( )*2 = I*4 ns 2 I*( )*2 = I*3.78 ns 3 I*( )*2.4 = I*4.42 ns Sensmoral: Om nu förbättringen i 7.28 genom att göra cachen 2-vägs, mängdassociativ leder till längre klockcykeltid så hjälper det inte att själva misskostnaden i klockcykler blir mindre eftersom alla cacheträffar också straffas med en längre klockcykeltid. Make the common case fast! 7.11 (a) (b) (c) 1 16 * * 1 = 177 cykler 1 4 * 10 4 * 1 = 45 cykler 1 4 * * 1 = 57 cykler

20 Kapitel 8 8.1! To be added later on. Tills dess besvaras frågor av 8.2! A: Den 10e måste vänta 20 ms 1s 1s/20ms = 50 block a 10 operationer På 1s hinnes 500 I/O-operationer B: som ovan hinnes 500 I/O-op med på 18 * 500/10 = 900ms och 10 * 100ms/25ms = 40 I/O-op på reserande 100 dvs på 1 s hinnes 540 I/O-op ReadRq tid Data Ack DataRdy accept address memory latency 4 ggr överföring av fyra ord med handskakning för varje ord.

21 200 MHz buss => 5 ns busscykel. Varje handskakningssteg tar 20 ns. Minnessaccess tar 60 ns. Asynkront protokoll enligt exempel på s. 661: Steg 1: 20 ns Steg 2,3,4: max(3 * 20 ns, 60 ns) = 60 ns Steg 5,6,7: 3 * 20 = 60 ns (första ordet) Steg 4,5,6,7: 3* (4 * 20 ns) = 240 ns (de efterföljande 3 överföringarna) Total överföringstid = 380 ns. Maximal bandbredd = 64/ 380 = 168 MB/s Synkront protokoll enligt exempel s. 665: OBS! Detta system använder en 64-bitars buss. 1. Skicka adress till minnet: 5 ns (en busscykel) 2. Läs i minnet: 60 ns 3. Skicka 16 ord: 4 *(22) * 5 ns = 80ns Total överföringstid = 145ns. Maximal bandbredd = 64/145= 441 MB/s. Detta systemet är 2.6 gånger snabbare trots hälften så bred buss f(bus) = 200 MHz Minnessystem 32 bits gränssnitt, 4 ords överföring. Vid skrivning accepteras ett ord i varje klockcykel för fyra cykler sedan vila i fyra klockcykler. DMA-gränssnitt 4 ord / block, Initiering av access tar 1ms. I/O - buss 10 MB/s, ett ord/överföring => BW = 2.5 Mord / s. Disk seek rot. latency = 12 ms, BW = 5 MB / s. Skall läsa 16 KB från disk till minne. Minnet kan ta emot 16 bytes / 8 busscykler => 2 bytes / cykel. T 1 = tid att initiera läsning från disk till minne = 1 12 ms = 13 ms. Processor-minnebussen har en bandbredd på 200 MB/s (50 MHz * 4 bytes), varför tiden att läsa från disk via I/O-bussen blir begränsande för överföringstiden. T 2 = tid att läsa från disk = 16 KB / 5 MB/s = 3.2 ms. Total tid T 1 T 2 = = 16.2 ms I en write-back cache sker skrivningar i cachen och ej till minnet. Minnet uppdateras först då

22 blocket behöver bytas ut och blocket har blivit ändrat under tiden det har befunnit sig i cachen. Vi beräknar först antalet stallcykler för blockstorleken 8 ord. Det inträffar 0.05 cachemissar per instruktion. 40 % av missarna kräver förutom att ett nytt block skall läsas in även att det nuvarande cacheblocket skrivs till minnet. För resterande missar krävs endast en läsning. Enligt exemplet på sid 665 kostar en access till minnet 45 klockcykler för de första 4 orden. Resterande block om 4 ord kostar 4 cykler. Misskostnad: Läsdel = 45 4 = 49 cykler Write-back del = 45 4 = 49 cykler Total misskostnad = 0.4*49 49 = 68.6 cykler Antal misscykler per instruktion = 0.05*68.6 = 3.43 cykler För blockstorlekar om 16 ord inträffar 0.03 cachemissar per instruktion. Misskostnad: Läsdel = = 57 cykler Write-back del = = 57 cykler Total misskostnad = 0.4*57 57 = 79.8 cykler Antal misscykler per instruktion = 0.03*79.8 = 2.39 cykler Trots att det nu tar längre tid att läsa och skriva ett cacheblock till minnet blir antalet misscykler färre.

Foto: Rona Proudfoot (some rights reserved) Datorarkitektur 1. Datapath & Control. December

Foto: Rona Proudfoot (some rights reserved) Datorarkitektur 1. Datapath & Control. December Datorarkitektur Datapath & Control December 28 karl.marklund@it.uu.se Foto: Rona Proudfoot (some rights reserved) Vi skall nu kolla närmare på hur det går till när en instruktion utförs. Fetch PC = PC+4

Läs mer

DatorsystemteknikDAVA14 Föreläsning 9

DatorsystemteknikDAVA14 Föreläsning 9 DatorsystemteknikDAVA14 Föreläsning 9 epetition: MP likainstruktioneri Exempel på instruktionstyper Processorns uppbyggnad Pipelining törre delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson

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

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

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

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

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

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

Tentamen i kursen EDA330. Datorsystemteknik D 1/ Lösningar: Anslås tisdag 1/6 på institutionens anslagstavla utanför laboratoriet

Tentamen i kursen EDA330. Datorsystemteknik D 1/ Lösningar: Anslås tisdag 1/6 på institutionens anslagstavla utanför laboratoriet 1(8) Tentamen i kursen EDA330 Datorsystemteknik D 1/6 1999 Tentamensdatum: Tisdag1/6 1999 kl. 8.45 i sal VV Examinator: Jonas Vasell Institution: Datorteknik Förfrågningar: Jonas Vasell (ankn. 1689) Lösningar:

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

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

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

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

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

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2010-06-01 Skrivtid 9.00-14.00 (5 timmar) Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376

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

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

Ö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

Pipelining i RISC-processorn. Joakim Lindström Institutionen för informationsbehandling Åbo Akademi E-post: jolindst@abo.fi

Pipelining i RISC-processorn. Joakim Lindström Institutionen för informationsbehandling Åbo Akademi E-post: jolindst@abo.fi Pipelining i RISC-processorn Joakim Lindström Institutionen för informationsbehandling Åbo Akademi E-post: jolindst@abo.fi Innehållsförteckning 1. Inledning 2. Historia: Intel 8086 (1978) till Pentium

Läs mer

Tentamen i kursen EDA330. Datorsystemteknik D 14/ Lösningar: Anslås måndag 17/1 på institutionens anslagstavla utanför laboratoriet

Tentamen i kursen EDA330. Datorsystemteknik D 14/ Lösningar: Anslås måndag 17/1 på institutionens anslagstavla utanför laboratoriet 1(9) Tentamen i kursen EDA330 Datorsystemteknik D 14/1 2000 Tentamensdatum: Fredag 14/1 2000 kl. 8.45 i sal MN Examinator: Jonas Vasell Institution: Datorteknik Förfrågningar: Thomas Lundqvist (ankn. 1165)

Läs mer

Omtentamen i CDT204 - Datorarkitektur

Omtentamen i CDT204 - Datorarkitektur Omtentamen i CDT204 - Datorarkitektur 2012-11-05 Skrivtid: 08.10-12.30 Hjälpmedel: Miniräknare och valfritt skriftligt (ej digitalt) material. Lärare: Stefan Bygde, kan nås på 070-619 52 83. Tentamen är

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

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

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner Ext-3 (Ver 203-04-2) Exempel på RTN-beskrivning av FLEX-instruktioner. Figur på sidan 2 i detta häfte visar hur datorn FLEX är uppbyggd. På sidan visas dessutom hur ALU:ns funktion väljs med styrsignalerna

Läs mer

Digitalteknik och Datorarkitektur 5hp

Digitalteknik och Datorarkitektur 5hp Digitalteknik och Datorarkitektur 5hp Minnes-hierarkier och Cache 12 maj 2008 karl.marklund@it.uu.se issa saker använder vi ofta Dessa saker vill vi ha nära till hands Storleken har betydelse Litet är

Läs mer

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet Datorarkitektur - en inledning Organisation av datorsystem: olika abstraktionsnivåer System S den mest abstrakta synen på systemet A B C Ett högnivåperspektiv på systemet a1 b1 c1 a2 b3 b2 c2 c3 En mera

Läs mer

Talrepresentation. Heltal, positiva heltal (eng. integers)

Talrepresentation. Heltal, positiva heltal (eng. integers) Talrepresentation Ett tal kan representeras binärt på många sätt. De vanligaste taltyperna som skall representeras är: Heltal, positiva heltal (eng. integers) ett-komplementet, två-komplementet, sign-magnitude

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

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2008-08-29 Skrivtid 9.00-13.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Johan Eriksson Tel 070 589 7911 Tillåtna

Läs mer

Läsminne Read Only Memory ROM

Läsminne Read Only Memory ROM Läsminne Read Only Memory ROM Ett läsminne har addressingångar och datautgångar Med m addresslinjer kan man accessa 2 m olika minnesadresser På varje address finns det ett dataord på n bitar Oftast har

Läs mer

IE1205 Digital Design: F6 : Digital aritmetik 2

IE1205 Digital Design: F6 : Digital aritmetik 2 IE1205 Digital Design: F6 : Digital aritmetik 2 Talrepresentationer Ett tal kan representeras binärt på många sätt. De vanligaste taltyperna som skall representeras är: Heltal, positiva heltal (eng. integers)

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

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

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2011-08-26 Skrivtid 9.00-14.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna hjälpmedel

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

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion Moment 2 Digital elektronik Föreläsning Inbyggda system, introduktion Jan Thim 1 Inbyggda system, introduktion Innehåll: Historia Introduktion Arkitekturer Mikrokontrollerns delar 2 1 Varför lär vi oss

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

Datorsystemteknik för D/E

Datorsystemteknik för D/E Tentamen i kursen Datorsystemteknik (EDA330 för D och EDA370 för E) 25/5 2002 1(7) Tentamen i kursen Datorsystemteknik (EDA330 för D och EDA370 för E) Datorsystemteknik för D/E 25/5 2002 Tentamensdatum:

Läs mer

Datorsystemteknik för D/E

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

Läs mer

HF0010. Introduktionskurs i datateknik 1,5 hp

HF0010. Introduktionskurs i datateknik 1,5 hp HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se

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

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

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

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

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2012-12-17 Skrivtid 9.00-14.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna hjälpmedel

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

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

Datorsystemteknik DVG A03 Föreläsning 3

Datorsystemteknik DVG A03 Föreläsning 3 Datorsystemteknik DVG A03 Föreläsning 3 Datoraritmetik Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Hur stora tal kan vi få med N bitar? Största

Läs mer

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

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

Läs mer

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

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Datormodell Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Intel 4004 från 1971 Maximum clock speed is 740 khz Separate program and data

Läs mer

Styrenheten styrsignalsekvenser programflödeskontroll

Styrenheten styrsignalsekvenser programflödeskontroll Styrenheten styrsignalsekvenser programflödeskontroll Kontroll av programflöde Instruktionerna är ordnade sekventiellt i minnet och utförs normalt i denna ordning. Vissa programkonstruktioner kräver dock

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2010-08-27 Skrivtid 9.00-14.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

Centralenheten: ALU, dataväg och minne

Centralenheten: ALU, dataväg och minne Centralenheten: ALU, dataväg och minne Dagens föreläsning: Kompendium kapitel 7 Arbetsbokens kapitel 11,12 RTN - Register Transfer Notation Förenklat skrivsätt för att specificera operationer där register

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

Digital Aritmetik Unsigned Integers Signed Integers"

Digital Aritmetik Unsigned Integers Signed Integers Digital Aritmetik Unsigned Integers Signed Integers" Slides! Per Lindgren! EISLAB! Per.Lindgren@ltu.se! Original Slides! Ingo Sander! KTH/ICT/ES! ingo@kth.se! Talrepresentationer" Ett tal kan representeras

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

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

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP. Övningsuppgifter Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP. F.2 Ett antal på varandra följande minnesord har

Läs mer

Föreläsning 5 1 CPI. Sammanfattning pipelining Cacheminnen

Föreläsning 5 1 CPI. Sammanfattning pipelining Cacheminnen Föreläsning 5 1 CPI Sammanfattning pipelining Cacheminnen associativt minne som cache associativt minne som BPT direkt-mappad cache flervägscache (2,4) I/D-cache DSP = digital signal processor PC pmem

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

Datorsystemteknik DAV A14 Föreläsning 1

Datorsystemteknik DAV A14 Föreläsning 1 Innehåll Datorsystemteknik DAV A14 Föreläsning 1 Kursinformation Introduktion till datorsystem Programmeringsmodellen Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec

Läs mer

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

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod

Läs mer

Datorsystemteknik för IT

Datorsystemteknik för IT Tentamen i kursen Datorsystemteknik (EDA440 för IT) 12/3 2003 1(9) Tentamen i kursen Datorsystemteknik (EDA440 för IT) Datorsystemteknik för IT 12/3 2003 Tentamensdatum: Onsdag 12/3 2003 kl. 8.45 i sal

Läs mer

Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/

Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/ CT3760 Mikrodatorteknik Föreläsning 1 Torsdag 2005-08-25 Upprop. Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/ Kurslitteratur är Per Foyer Mikroprocessorteknik. Finns på bokhandeln.

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

Föreläsningsanteckningar 2. Mikroprogrammering I

Föreläsningsanteckningar 2. Mikroprogrammering I Föreläsningsanteckningar 2. Mikroprogrammering I Olle Seger 2012 Anders Nilsson 2016 Innehåll 1 Inledning 2 2 En enkel dator 2 3 Komponenter 3 3.1 Register............................... 3 3.2 Universalräknare..........................

Läs mer

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/ Tentamen i IE1204/5 Digital Design onsdagen den 5/6 2013 9.00-13.00 Tentamensfrågor med lösningsförslag Allmän information Examinator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista

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

Öka prestanda i Shared-Cache multi-core processorer

Öka prestanda i Shared-Cache multi-core processorer Öka prestanda i Shared-Cache multi-core processorer 1. Abstract Många processorer har nuförtiden flera kärnor. Det är även vanligt att dessa kärnor delar på högsta nivås cachen för att förbättra prestandan.

Läs mer

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45 Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45 Adderare Addition av två tal innebär att samma förfarande upprepas för varje position i talet. För varje position sakapas en summasiffra och en minnessiffra.

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

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

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

NUV 647E. Digitalteknik och Datorarkitektur 5hp. 3x12 = 36 2x12 = 24 1x12 = 12 0x12 = 18

NUV 647E. Digitalteknik och Datorarkitektur 5hp. 3x12 = 36 2x12 = 24 1x12 = 12 0x12 = 18 Digital kommer från latinets digitus som betyder "finger" eller "tå" (jfr engelskans digit). Uttrycket kommer från den gamla seden att räkna på fingrarna, och avslöjar att det rör sig om räkning med diskreta

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Översikt Minnets komponenter Minneshierarkin Cacheminne Paging Virtuellt minne Minnets komponenter Enhet för indata Primärminne (CPU) Enhet för utdata

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

IT för personligt arbete F5

IT för personligt arbete F5 IT för personligt arbete F5 Datalogi del 1 DSV Peter Mozelius 1 En dators beståndsdelar 1) Minne 2) Processor 3) Inmatningsenheter 1) tangentbord 2) scanner 3) mus 4) Utmatningsenheter 1) bildskärm 2)

Läs mer

F5 Introduktion till digitalteknik

F5 Introduktion till digitalteknik Exklusiv eller XOR F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant På övning 2 stötte ni på uttrycket x = (a b) ( a b) som kan utläsas antingen a eller b, men inte både a och

Läs mer

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

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

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 9 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 2 Dagens föreläsning Byggblocken i en processor Hur de fungerar Grundläggande

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

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

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

Tentamen i IS1500/IS1200/2G1518 Datorteknik fredagen den 19 augusti 2011 kl Tentamen i IS1500/IS1200/2G1518 Datorteknik fredagen den 19 augusti 2011 kl 14.00 19.00 Examinator: Fredrik Lundevall (IS1500), Johan Wennlund (IS1200, 2G1518). Jourhavande lärare: Johan Wennlund. Tentamensuppgifterna

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

Filsystem - Inode. Datorteknik. Minnets komponenter. Programexekvering. Enhet för indata. Enhet för utdata CPU. Primärminne.

Filsystem - Inode. Datorteknik. Minnets komponenter. Programexekvering. Enhet för indata. Enhet för utdata CPU. Primärminne. Datorteknik Filsystem - Inode ERIK LARSSON ABBA: Dancing Queen Minnets komponenter Programexekvering Enhet för indata CPU Enhet för utdata Program i högnivåspråk.. Z:=(Y+X)*3. Kompilator Exekverbart program

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

EDA215 Digital- och datorteknik för Z

EDA215 Digital- och datorteknik för Z EDA25 Digital- och datorteknik för Z Tentamen Måndag 7 december 2007, kl. 08.30-2.30 i M-salar Examinatorer Rolf Snedsböl, tel. 772 665 Kontaktpersoner under tentamen Som ovan. Tillåtna hjälpmedel Häftet

Läs mer

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45 Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45 Adderare Addition av två tal innebär att samma förfarande upprepas för varje position i talet. För varje position sakapas en summasiffra oh en minnessiffra.

Läs mer

Föreläsningsanteckningar till Konstruktionsmetoder 981027

Föreläsningsanteckningar till Konstruktionsmetoder 981027 Föreläsningsanteckningar till Konstruktionsmetoder 981027 Jämförelse mellan 68705P3 och 16F84 externt MC68705P3 PIC16F84 I/O 20 13 Kapsling 28-pin DIL 18-pin DIL Drivförmåga på pinnar PortB 10mA Sink,

Läs mer

Digital elektronik CL0090

Digital elektronik CL0090 Digital elektronik CL9 Föreläsning 3 27--29 8.5 2. My Talsystem Binära tal har basen 2 Exempel Det decimala talet 9 motsvarar 2 Den första ettan är MSB, Most Significant Bit, den andra ettan är LSB Least

Läs mer

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning... UMEÅ UNIVERSITET Tillämpad fysik och elektronik 2014 John Berge et al. DIGITAL ELEKTRONIK Laboration DE3 VHDL 1 Namn... Personnummer... Epost-adress... Datum för inlämning... Introduktion Syftet med denna

Läs mer

Mikroprogrammering I

Mikroprogrammering I ikroprogrammering I Olle Roos-datorn (fö2+) Björn Lindskog-datorn (lab) Att bygga en CPU Pipelinad dator (fö4,lab2) Variabel exekveringstid Variabelt format Inget överlapp Central styrenhet, som är mikroprogrammerad

Läs mer

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

Tentamen. EDA432 Digital och datorteknik IT INN790 Digital och datorteknik GU. Måndag 23 oktober 2006, kl i V-salar EDA432 Digital och datorteknik IT INN790 Digital och datorteknik GU Tentamen Måndag 23 oktober 2006, kl. 08.30 12.30 i V-salar Examinatorer Rolf Snedsböl, tel. 772 1665 Kontaktpersoner under tentamen Som

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

Sekvensnät vippor, register och bussar

Sekvensnät vippor, register och bussar ekvensnät vippor, register och bussar agens föreläsning: Lärobok kap.5 Arbetsbok kap 8,9,10 Ur innehållet: Hur fungerar en -latch? Hur konstrueras JK-, - och T-vippor? er och excitationstabeller egister

Läs mer

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

Försättsblad till skriftlig tentamen vid Linköpings Universitet Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 03-05-3 Salar U, KÅRA, U3 Tid -8 Kurskod TSEA Provkod TEN Kursnamn Digitalteknik Institution ISY Antal uppgifter som ingår

Läs mer

Faltningsreverb i realtidsimplementering

Faltningsreverb i realtidsimplementering Faltningsreverb i realtidsimplementering SMS45 Lp1 26 DSP-system i praktiken Jörgen Anderton - jorand-3@student.ltu.se Henrik Wikner - henwik-1@student.ltu.se Introduktion Digitala reverb kan delas upp

Läs mer

Lösningsförslag tenta

Lösningsförslag tenta Lösningsförslag tenta 2013-12-16 (Version 5 med reservation för eventuella fel. Uppdaterad 140417.) 1. X = 1010 0101 2 ; Y = 0101 1011 2 (8 bitars ordlängd) a) [0, 2 n 1] = [0, 2 8 1] = [0, 255] b) [ 2

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