Tema for denne forelesningen: tilpassing til pipeline. forwarding. eliminere NOP. faktisk MIPS. in 147, våren 1999 pipelining 1 9
|
|
- Anders Thorbjørnsen
- 6 år siden
- Visninger:
Transkript
1 Tema for denne forelesningen: tilpassing til pipeline forwarding eliminere NOP faktisk IPS in 147, våren 1999 pipelining 1 9
2 Schedulering av instruksjoner #include <stdio.h> int kombiner( int antall, int* x, int* y, int* z ) { int i; int a, b, c; for ( i = 0; i < antall; i ++ ) { a = *x; if ( a < 0 ) a = a; x++; b = *y; if ( b < 0 ) b = b; y++; if ( a > b ) c = a + b; else c = a b; *z = c; z++; } } main( int argc, char** argv ) { int i; int a[5] = { 1, 2, 3, 4, 7}; int b[5] = { 5, 6, 1, 7, 4}; int c[5] = {1, 2, 2, 1, 1}; if ( argc > 5 ) i = 5; else i = argc; if ( argc & 0x01 ) kombiner( i, &a[0], &b[0], &c[0] ); else kombiner( i, &c[0], &b[0], &a[0] ); for ( i = 0; i < 5; i ++ ) { printf(" %d %d %d\n", a[i], b[i], c[i] ); } } nori> program nori> in 147, våren 1999 pipelining 2 0
3 Assemblykode for virtuell maskin Dvs. instruksjoner blir utført én etter én, ovenifra og nedover kombiner: move t1,zero # i = 0; igjen: lw t0,0(a1) # a = *x; bgez t0,a_ok # if (a<0) goto a_ok subu t0,zero,t0 # a = a; a_ok: addiu a1,a1,4 # x++; lw v1,0(a2) # b = *y; bgez v1,b_ok # if (b<0) goto b_ok subu v1,zero,v1 # b = b; b_ok: addiu a2,a2,4 # y++; slt v0,v1,t0 # bne v0,zero,adder # if (a<=b) goto adder subu v0,t0,v1 # c = a b; b skriv # goto skriv adder: addu v0,t0,v1 # c = a + b; skriv: sw v0,0(a3) # *z = c; addiu a3,a3,4 # z++; addiu t1,t1,1 # i ++ slt v0,t1,a0 # bne v0,zero,igjen # if (i<antall) goto igjen jr ra # retur in 147, våren 1999 pipelining 2 1
4 Pipelinehasarder i IPS R3000 Strukturelle hasarder Datahasarder ingen, HW har tilstrekkelig med ressurser forwarding er selvsagt delayed load, men nyere implementasjoner steiler om nødvendig, men sikker gevinst hvis det kan unngås Kontrollhasarder instruksjonen etter en forgrening blir alltid utført, men nyere revisjoner av instruksjon settet har noen alternative varianter av forgreninger in 147, våren 1999 pipelining 2 2
5 Avhengigheter kombiner: move t1,zero # igjen: lw t0,0(a1) # bgez t0,a_ok # subu t0,zero,t0 # a_ok: addiu a1,a1,4 # lw v1,0(a2) # bgez v1,b_ok # subu v1,zero,v1 # b_ok: addiu a2,a2,4 # slt v0,v1,t0 # bne v0,zero,adder # subu v0,t0,v1 # b skriv # adder: addu v0,t0,v1 # skriv: sw v0,0(a3) # addiu a3,a3,4 # addiu t1,t1,1 # slt v0,t1,a0 # bne v0,zero,igjen # jr ra # in 147, våren 1999 pipelining 2 3
6 Program execution order (in instructions) beq $1, $2, 40 Time Instruction fetch ALU Data access add $4, $5, $6 (Delayed branch slot) lw $3, 300($0) 2 ns Instruction fetch 2 ns Instruction fetch ALU Data access ALU Data access 2 ns Time (in clock cycles) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Value of register $2 : / Value of EX/E : X X X 20 X X X X X Value of E/WB : X X X X 20 X X X X Program execution order (in instructions) sub $2, $1, $3 I D and $12, $2, $5 I D or $13, $6, $2 I D add $14, $2, $2 I D sw $15, 100($2) I D in 147, våren 1999 pipelining 2 4
7 Datahasarder: ingen «forwarding» kombiner: move t1,zero # igjen: lw t0,0(a1) # f d e m w bgez t0,a_ok # f d e m w subu t0,zero,t0 # a_ok: addiu a1,a1,4 # lw v1,0(a2) # f d e m w bgez v1,b_ok # f d e m w subu v1,zero,v1 # f d e m w b_ok: addiu a2,a2,4 # f d e m w slt v0,v1,t0 # f d e m w # f d e m bne v0,zero,adder # # f d e f d subu v0,t0,v1 # f d e m w b skriv # f d e m w adder: addu v0,t0,v1 # f d e m w skriv: sw v0,0(a3) # f d e m w addiu a3,a3,4 # addiu t1,t1,1 # f d e m w slt v0,t1,a0 # f d e m w # f d e m # f d e bne v0,zero,igjen # f d jr ra # in 147, våren 1999 pipelining 2 5
8 Datahasarder: med «forwarding» kombiner: move t1,zero # igjen: lw t0,0(a1) # f d e m w bgez t0,a_ok # f d e m w subu t0,zero,t0 # a_ok: addiu a1,a1,4 # lw v1,0(a2) # f d e m w bgez v1,b_ok # f d e m w subu v1,zero,v1 # b_ok: addiu a2,a2,4 # slt v0,v1,t0 # bne v0,zero,adder # subu v0,t0,v1 # b skriv # adder: addu v0,t0,v1 # skriv: sw v0,0(a3) # addiu a3,a3,4 # addiu t1,t1,1 # slt v0,t1,a0 # bne v0,zero,igjen # jr ra # in 147, våren 1999 pipelining 2 6
9 Kontrollhasarder: kombiner: move t1,zero # igjen: lw t0,0(a1) # # bgez t0,a_ok # f d e m w subu t0,zero,t0 # f d e m w a_ok: addiu a1,a1,4 # lw v1,0(a2) # # bgez v1,b_ok # f d e m w subu v1,zero,v1 # f d e m w b_ok: addiu a2,a2,4 # slt v0,v1,t0 # bne v0,zero,adder # f d e m w subu v0,t0,v1 # f d e m w b skriv # f d e m w adder: addu v0,t0,v1 # f d e m w skriv: sw v0,0(a3) # addiu a3,a3,4 # addiu t1,t1,1 # slt v0,t1,a0 # bne v0,zero,igjen # f d e m w jr ra # f d e m w alternativer: steile/stall delayed branch (som her) in 147, våren 1999 pipelining 2 7
10 Teknikker ved eliminering av NOP er a. From before b. From target c. From fall through add $s1, $s2, $s3 if $s2 = 0 then Delay slot sub $t4, $t5, $t6 add $s1, $s2, $s3 if $s1 = 0 then add $s1, $s2, $s3 if $s1 = 0 then Delay slot Delay slot sub $t4, $t5, $t6 Becomes Becomes Becomes if $s2 = 0 then add $s1, $s2, $s3 add $s1, $s2, $s3 if $s1 = 0 then sub $t4, $t5, $t6 add $s1, $s2, $s3 if $s1 = 0 then sub $t4, $t5, $t6 in 147, våren 1999 pipelining 2 8
11 Assemblykode eliminere er #include <regdef.h>.text.globl kombiner.set noreorder # kombiner: move t1,zero # i = 0; igjen: lw t0,0(a1) # a = *x; # delayed load bgez t0,a_ok # if ( a < 0 ) goto a_ok # delayed branch subu t0,zero,t0 # a = a; a_ok: addiu a1,a1,4 # x++; lw v1,0(a2) # b = *y; # delayed load bgez v1,b_ok # if ( b < 0 ) goto b_ok # delayed branch subu v1,zero,v1 # b = b; b_ok: addiu a2,a2,4 # y++; slt v0,v1,t0 # bne v0,zero,adder # if ( a <= b ) goto adder # delayed branch subu v0,t0,v1 # c = a b; b skriv # # delayed branch adder: addu v0,t0,v1 # c = a + b; skriv: sw v0,0(a3) # *z = c; addiu a3,a3,4 # z++; addiu t1,t1,1 # i ++ slt v0,t1,a0 # bne v0,zero,igjen # if ( i < antall ) goto igjen # delayed branch jr ra # # delayed branch.set reorder # in 147, våren 1999 pipelining 2 9
12 kombiner: move t1,zero igjen: lw t0,0(a1) bgez t0,a_ok subu t0,zero,t0 a_ok: addiu a1,a1,4 lw v1,0(a2) bgez v1,b_ok subu v1,zero,v1 b_ok: addiu a2,a2,4 slt v0,v1,t0 bne v0,zero,adder subu v0,t0,v1 b skriv adder: addu v0,t0,v1 skriv: sw v0,0(a3) addiu a3,a3,4 addiu t1,t1,1 slt v0,t1,a0 bne v0,zero,igjen jr ra kombiner: move t1,zero igjen: lw t0,0(a1) lw v1,0(a2) bgez t0,a_ok addiu a1,a1,4; subu t0,zero,t0 a_ok: bgez v1,b_ok addiu a2,a2,4 subu v1,zero,v1 b_ok: slt v0,v1,t0 bne v0,zero,skriv addu v0,t0,v1 subu v0,t0,v1 skriv: sw v0,0(a3) addiu t1,t1,1 slt v0,t1,a0 bne v0,zero,igjen addiu a3,a3,4 jr ra in 147, våren 1999 pipelining 3 0
13 Alle ene i løkken eliminert! #include <regdef.h>.text.globl kombiner.set noreorder kombiner: move t1,zero # i = 0; igjen: lw t0,0(a1) # a = *x; lw v1,0(a2) # b = *y; bgez t0,a_ok # if ( a < 0 ) goto a_ok addiu a1,a1,4 # x++; subu t0,zero,t0 # a = a; a_ok: bgez v1,b_ok # if ( b < 0 ) goto b_ok addiu a2,a2,4 # y++; subu v1,zero,v1 # b = b; b_ok: slt v0,v1,t0 # bne v0,zero,skriv # if ( a <= b ) goto skriv addu v0,t0,v1 # c = a + b; [denne hører til «adder»] subu v0,t0,v1 # c = a b; skriv: sw v0,0(a3) # *z = c; addiu t1,t1,1 # i ++ slt v0,t1,a0 # bne v0,zero,igjen # if ( i < antall ) goto igjen addiu a3,a3,4 # z++; jr ra # # men denne overlevde!.set reorder hva hvis.set noreorder fjernes? hva produserer gcc/cc av C koden? in 147, våren 1999 pipelining 3 1
14 Kompilering med gcc O2: 0x400a20: lui 0x400a24: addiu 0x400a28: addu 0x400a2c: addiu 0x400a30: sw 0x400a34: sw 0x400a38: blez gp,0xfc1 gp,gp, gp,gp,t9 sp,sp, 24 gp,0(sp) gp,16(sp) a0,0x400a94 0x400a3c: move t1,zero 0x400a40: lw t0,0(a1) 0x400a44: 0x400a48: bgez t0,0x400a54 0x400a4c: 0x400a50: subu t0,zero,t0 0x400a54: lw v1,0(a2) 0x400a58: 0x400a5c: bgez v1,0x400a68 0x400a60: addiu a1,a1,4 0x400a64: subu v1,zero,v1 0x400a68: slt v0,v1,t0 0x400a6c: beq v0,zero,0x400a7c 0x400a70: addiu a2,a2,4 0x400a74: b 0x400a80 0x400a78: addu v0,t0,v1 0x400a7c: subu v0,t0,v1 0x400a80: sw v0,0(a3) 0x400a84: addiu t1,t1,1 0x400a88: slt v0,t1,a0 0x400a8c: bne v0,zero,0x400a40 0x400a90: addiu a3,a3,4 0x400a94: jr ra 0x400a98: addiu sp,sp,24 Tilsammen 31 instruksjoner, hvorav 7 i prolog Til sammenligning resulterer kompilering med cc O2 i 101 instruksjoner! in 147, våren 1999 pipelining 3 2
15 Er det mulig å fjerne forgreninger og de tilhørende hasardene? kombiner: move t1,zero # i = 0; igjen: lw t0,0(a1) # a = *x; lw v1,0(a2) # b = *y; bgez t0,a_ok # if ( a < 0 ) goto a_ok addiu a1,a1,4 # x++; subu t0,zero,t0 # a = a; a_ok: bgez v1,b_ok # if ( b < 0 ) goto b_ok addiu a2,a2,4 # y++; subu v1,zero,v1 # b = b; b_ok: slt v0,v1,t0 # bne v0,zero,skriv # if ( a <= b ) goto skriv addu v0,t0,v1 # c = a + b; subu v0,t0,v1 # c = a b; skriv: sw v0,0(a3) # *z = c; addiu t1,t1,1 # i ++ slt v0,t1,a0 # bne v0,zero,igjen # if ( i < antall ) goto igjen addiu a3,a3,4 # z++; jr ra # # Ja, hvis «conditional move» er tilgjengelig se oppgavene 6.28 og 6.29 in 147, våren 1999 pipelining 3 3
16 En «fullstendig» IPS pipeline (fig. 6.55) IF.Flush ID.Flush EX.Flush u x Hazard detection unit ID/EX WB 0 u x EX/E IF/ID Control 0 ux EX Cause 0 ux WB E/WB WB PC 4 Instruction memory Shift left 2 isters = Except PC u x ALU Data memory ux ux Sign extend u x Forwarding unit in 147, våren 1999 pipelining 3 4
17 En moderne IPS pipeline PClock Phase Cycle Φ1 Φ2 Φ1 Φ2 Φ1 Φ2 Φ1 Φ2 Φ1 Φ2 IC RF EX DC WB Instr. Fetch Instr. Decode. File Read ITLB ICF ITC IDEC RFR Arithmetic/Logical Operations ALU RFW Load/Store Operations DVA DTLB DTC DCR LA RFW DCW Jump/Branch Operations BCP IVA Cycle Phase nemonic Descriptions IC RF EX DC WB Φ1 Φ2 ICF ITLB No activity Instruction Cache Fetch Instruction micro-tlb read Φ1 ITC Instruction cache Tag Check Φ2 Φ1 Φ2 Φ1 Φ2 Φ1 Φ2 RFR IDEC IVA BCP ALU DVA DCR DTLB LA DTC DCW RFW ister File Read Instruction Decode Instruction Virtual Address Calculation Branch Compare Arithmetic Logic Operation Data Virtual Address Calculation No new activity started Data Cache Read Data TLB look-up Load Data Alignment Data Cache Tag Check Data Cache Write ister File Write No activity Figure 7 Pipeline Activities Kilde: in 147, våren 1999 pipelining 3 5
Hva er datamaskinarkitektur?
Hva er datamaskinarkitektur? Datamaskinarkitektur forholder seg til informatikk som motorlære forholder seg til samferdsel! Motorlære: bil buss motorsykkel generator bremse akselerere... Datamaskinarkitektur:
Detaljerdynamiske data dynamiske data statiske data program dynamiske data statiske data reservert program dynamiske data statiske data reservert program
Alle prosesser får et helt adresserom! antall prosesser varierer hele tiden! in 47, våren 997 hukommelseshierarki 2 Mange prosessers og ett fysiske adresserom? Jo, bruk den fysiske hukommelsen som en cache
Detaljerytelsen til hukommelseshierarkier
Tema for denne forelesningen: virtuell hukommelse ytelsen til hukommelseshierarkier andre ting å cache e in 47, våren 999 hukommelseshierarki 2 Alle prosesser får et helt adresserom! stakk stakk stakk
Detaljer4/2 enkel pipelining in 147, våren 1997 pipelining 1. Pipelining. når tema læreboka. 11/3 problemer
Pipelining når tema læreboka 4/2 enkel pipelining 6. 6.3 /3 problemer 6.4 6.7 in 47, våren 997 pipelining Time 6 P 7 8 9 2 2 A Task order A B C D Time 6 P 7 8 9 2 2 A Task order A B C D in 47, våren 997
DetaljerOppgave 1 Oversettelse (total vekt 20%)
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 47 Program- og maskinvare Eksamensdag: 27. mai 998 Tid for eksamen: 9. 5. Oppgavesettet er på 8 sider. Vedlegg: Tillatte hjelpemidler:
DetaljerLøsningsforslag til eksamen i IN147(A)
Løsningsforslag til eksamen i IN147(A) Dag Langmyhr Øystein Gran Larsen 27. mai 1998 Oppgave 1: Oversettelse En ganske rett frem oversettelse ser slik ut: 1 #include 2.text 4.globl iavg 6 #
DetaljerInnhold. Oppgave 1 Oversettelse (vekt 15%)
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 147 Program- og maskinvare Eksamensdag: 29. mai 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 10 sider. Vedlegg: Tillatte
DetaljerIntel Core i7. Omid Mirmotahari 4
INF2270 Pipeline Hovedpunkter Oppsummering av én-sykel implementasjon Forbedring av én-sykel designet Introduksjon til pipelining Oppbygning av datapath med pipelining Intel Core i7 Omid Mirmotahari 4
DetaljerIN1020. Datamaskinarkitektur
IN1020 Datamaskinarkitektur Hovedpunkter Von Neumann Arkitektur BUS Pipeline Hazarder Intel Core i7 Omid Mirmotahari 4 Von Neumann Arkitektur John von Neumann publiserte i 1945 en model for datamaskin
DetaljerOppgave 1 Oversettelse (vekt 16%)
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 147 Program- og maskinvare Eksamensdag: 31. mai 1999 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider. Vedlegg: Tillatte
Detaljertema er hentet fra kapittel 4.3 og 4.4 om pipelining Mikroprogrammert Dagens temaer Hard-wired Mikrokode Hasarder Ytelse
Dagens temaer 1 Dagens Mer tema er hentet fra kapittel 4.3 og 4.4 om pipelining Ytelse Pipelining Hasarder i Pentium-arkitekturen Mikrokode Hard-wired RISC Mikroprogrammert og CISC Fordeler og ulemper
DetaljerDagens temaer. tema er hentet fra kapittel 4.3 og 4.4 om pipelining. til neste ukes forelesning (hvis tid) INF ! Mikrokode. !
agens temaer! agens! Mer tema er hentet fra kapittel 4.3 og 4.4 om pipelining! Ytelse! Hasarder! Mikrokode! Hard-wired! Mikroprogrammert! RISC! Introduksjon og CISC! ordeler og ulemper til neste ukes forelesning
Detaljer4/5 store parallelle maskiner /4 felles hukommelse in 147, våren 1999 parallelle datamaskiner 1. når tema pensum.
Parallellitet når tema pensum 27/4 felles hukommelse 9.2 9.3 4/5 store parallelle maskiner 9.4 9.6 in 147, våren 1999 parallelle datamaskiner 1 Tema for denne forelesningen: kraftigere enn én prosessor
DetaljerDagens tema: Enda mer MIPS maskinkode
Dagens tema: Enda mer MIPS maskinkode (P&H: 3.6 3.8 + 6.1 + A.6 + A.10) Pseudoinstruksjoner Flere instruksjoner Mer om funksjonskall Stakken Avhengigheter Direktiver Alt er bit! Kommunikasjon med C Ark
DetaljerOppgave 2 Maskinkode (vekt 12%)
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 47 Program- og maskinvare Eksamensdag: 29. mai 2 Tid for eksamen: 9. 5. Oppgavesettet er på 8 sider. Vedlegg: Ingen Tillatte
DetaljerLøsningsforslag til eksamen i IN 147(A)
Løsningsforslag til eksamen i IN 147(A) Dag Langmyhr (oppgave 1, 4 og 6) ØysteinGranLarsen (oppgave 2, 3 og 5) 31. mai 1999 1 Oversettelse Funksjonen strxxx går gjennom en tekst og finner adresessen til
Detaljerulike stegene utføres på egne hardware-enheter som ikke er instruksjon kan deles opp i sekvensielle steg som løses etterhverandre
Dagens temaer Dagens er tema er hentet fra kapittel 4.3 og 4.4 om pipelining Ytelse Pipelining Hasarder i Pentim-arkitektren ikrokode Hard-wired ikroprogrammert RISC og CISC og lemper ordeler er om pipeling
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: Eksamensdag: 12. juni 2015 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 11 sider. Vedlegg: Tillatte hjelpemidler: INF2270
DetaljerTDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science
Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 4. DESEMBER, 214, 9: 13: Kontakt under eksamen: Gunnar
DetaljerTDT4160 17. AUGUST, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science
Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 17. AUGUST, 213, 9: 13: Kontakt under eksamen: Gunnar
DetaljerTDT4160 16. DESEMBER, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science
Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 16. DESEMBER, 213, 9: 13: Kontakt under eksamen: Gunnar
DetaljerITPE/DATS 2400: Datamaskinarkitektur og Nettverk
ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning 9: Instruksjonsettarkitektur 3 Knut H. Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and
Detaljerbefinner seg. Deretter leses instruksjonen fra i registerfilen ved ny stigende klokkepuls.
SIE 4005, 15/10 (5. Forelesn.) Andre forelesning: litt repetisjon 8.4 Hardwired Control 8.7 Microprogrammed Control 8.8 A simple computer architecture Femte forelesning: noe repetisjon. 8.9 Single-Cycle
DetaljerTDT DESEMBER, 2012, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science
Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS EKSAMEN 17. DESEMBER, 2012, 09:00 13:00 Kontakt under eksamen:
DetaljerHW for koordinering med omverdenen. OS syr HW og SW sammen. Tema for denne forelesningen: in 147, våren 1999 Input/Output 2 1
Tema for denne forelesningen: OS syr HW og SW sammen HW for koordinering med omverdenen in 147, våren 1999 Input/Output 2 1 Operativsystemets ansvar er å koordinere programmers bruk av systemet blir delt
DetaljerOversikt over IN147(A):
Oversikt over IN147(A): Programmerings- og operativsystem-delen Oppsummering for IN147(A) Bit-mønstre Tallsystemer MIPS assemblerspråk C Datatyper Tillegg for de som tar hele IN147 Operativsystemer Parallellisering
DetaljerOppsummering av digitalteknikkdelen
Oppsummering av digitalteknikkdelen! Følgende hovedtemaer er gjennomgått! Boolsk Algebra! von Neuman-arkitektur! Oppbygging av CPU! Pipelining! Cache! Virtuelt minne! Interne busser 09.05. INF 1070 1 Boolsk
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 14. juni 2007 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 9 sider. Vedlegg: INF1070 og INF2270 Datamaskinarkitektur
DetaljerIntel Core i7. Omid Mirmotahari 4
INF2270 Pipeline Hovedpunkter Oppsummering av én-sykel implementasjon Forbedring av én-sykel designet Introduksjon til pipelining Oppbygning av datapath med pipelining Intel Core i7 Omid Mirmotahari 4
DetaljerEKSAMENSOPPGAVE, INF-2200
EKSAMENSOPPGAVE, INF-2200 Eksamen i : INF-2200 Datamaskinarkitektur og organisering Eksamensdato : Mandag 20. februar 2012 Tid : 09:00 13:00 Sted Tillatte hjelpemidler : Aud. max. : Ingen Oppgavesettet
DetaljerEKSAMENSOPPGAVE I FAG TDT4160 DATAMASKINER GRUNNKURS. D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.
Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap EKSAMENSOPPGAVE I FAG TDT4160 DATAMASKINER GRUNNKURS Faglig kontakt under eksamen: Jon Olav
DetaljerTDT4160 Datamaskiner Grunnkurs Gunnar Tufte
1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Kapittel 4: Microarchitecture level 3 Auka yting IJVM 4 IJVM: MicrArch vs Instruction Set Architecture Instruksjonsset: Minnemodell: MIC 1 MIC 2 ISA
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF2270 Datamaskinarkitektur Eksamensdag: 11. juni 2009 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 10 sider. Vedlegg: Ingen
DetaljerTDT4160 Datamaskiner Grunnkurs Gunnar Tufte
1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Kapittel 4: Microarchitecture level 3 Kapittel 4: Microarchitecture level Nivå mellom Under Instruction Level Architecture (ISA) Over Digital logic
DetaljerTDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte
1 TDT4160 Datamaskiner Grunnkurs 2008 Gunnar Tufte 2 Dagens forelesing Kapittel 1 Datamaskinsystem Kapittel 2 start 3 Gunnar Fakta Datamaskingruppa Biologisk inspirerte system: Unconvential Computing Machines
DetaljerTDT4160 Datamaskiner Grunnkurs Gunnar Tufte
1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Kapittel 4: Microarchitecture level 3 Ny Arkitektur: IJVM 4 Instruksjonsett Stack basert 5 Mikroprogramm 0001010010000000000000111 001111000000010000001000
DetaljerLøsningsforslag til eksamen i IN 147(A)
Løsningsforslag til eksamen i IN 147(A) Dag Langmyhr (oppgave 1, 2 og 6) Sigbjørn Næss (oppgave 3, 4 og 5) 29. mai 2000 1 Oversettelse Assemblerversjonen av split ser slik ut: 1 #include 2 3.text
DetaljerLX5380 RISC-DSP for New Internet Applications. Pat Hays, Chris Hanna, Jonah Probell October 25, 2001
LX5380 RISC-DSP for New Internet Applications Pat Hays, Chris Hanna, Jonah Probell October 25, 2001 Outline Benefits of RISC-DSP Cores The LX5380 RISC-DSP Example: 3G Wireless Handset Example: VoIP Gateway
DetaljerDagens tema. Dagens tema er hentet fra kapittel 4.3 og 4.4. Mer om pipelining Ytelse Hasarder. Pipelining i Pentium-arkitekturen
Dagens tema Dagens tema er hentet fra kapittel 4.3 og 4.4 Mer om pipelining Ytelse Hasarder Pipelining i Pentium-arkitekturen Mikrokode Hard-wired Mikroprogrammert RISC og CISC Fordeler og ulemper 1/41
DetaljerIN 147 Program og maskinvare
Dagens tema: Tallsystemer (P&H: 4.1 4.2) Generelt Binære, oktale og heksadesimale tall Tall, bit og byte Negative tall Assemblerspråk (P&H: 3.1 3.3 + A.9) Datamaskinens oppbygging Enkel aritmetikk Flytting
DetaljerSIE 4005, 2/10 (2. Forelesn.)
SIE 4005, 2/10 (2. Forelesn.) Første forelesning: 7.1 Datapaths and operations 7.2 Register Transfer operations 7.3 Microoperations (atitm., logic, shift) 7.4 MUX-based transfer 7.5 Bus-based transfer
DetaljerKap. 8 del 1 kodegenerering INF5110 Vår2007
Kap. 8 del 1 kodegenerering INF5110 Vår2007 Stein Krogdahl, Ifi UiO Forelesninger framover: Tirsdag 8. mai: Vanlig forelesning Torsdag 10. mai: Ikke forelesning Tirsdag 15. mai: Vanlig forelesning (siste?)
DetaljerINF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer
INF3430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer Innhold Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard biblioteker
DetaljerLøsningsforslag til eksamen i IN147(A)
Løsningsforslag til eksamen i IN147(A) Dag Langmyhr Øystein Gran Larsen 12 mai 1997 Oppgave 1: JK-flip-flop Boolsk ligning D-signalet bestemmer neste utgang, dvs Q(t + 1), og D-signalet tar derfor de samme
DetaljerPensumoversikt - kodegenerering. Kap. 8 del 1 kodegenerering INF5110 v2006. Hvordan er instruksjonene i en virkelig CPU? Arne Maus, Ifi UiO
Pensumoversikt - kodegenerering Kap. 8 del 1 kodegenerering INF5110 v2006 Arne Maus, Ifi UiO 8.1 Bruk av mellomkode 8.2 Basale teknikker for kodegenerering 8.3 Kode for referanser til datastrukturer (ikke
Detaljerhvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.
Oppbygging av RAM Sentrale begreper er adresserbarhet og adresserom Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon (lese- eller skrive-operasjon). 9.. INF Antall bit som kan
DetaljerTDT4160 DATAMASKINER GRUNNKURS EKSAMEN
Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS EKSAMEN 17. DESEMBER, 2012, 09:00 13:00 Kontakt under eksamen:
DetaljerTDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science
Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 4. DESEMBER, 214, 9: 13: Kontakt under eksamen: Gunnar
DetaljerDet viktigste i en moderne datamaskin er hovedkortet («motherboard»):
Hovedkortet Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Hovedkortet Grovt sett inneholder et hovedkort En prosessor Minne (for både program og data) Klokke Kontrollere for periferutstyr.
DetaljerINF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer
INF3430/4430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer 2005-10-26 Agenda Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard
DetaljerDet viktigste i en moderne datamaskin er hovedkortet («motherboard»):
Hovedkortet Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Data.data Stakk %EAX %ECX %EDX %EBP %ESP Prosessor Kode Minne.text Hovedkortet Grovt sett inneholder et hovedkort En prosessor
Detaljer! Repetisjon: ! Forutsetinger: ! Ideelt sett gir en k-trinns pipeline en faktor k i hastighetsøkning. ! Benyttes derimot ekte pipelining, behøves
agens temaer er om pipeling! agens! er tema er hentet fra kapittel 4.3 og 4.4 om pipelining! Ytelse! Hasarder! ikrokode! RISC! Introdksjon! Hard-wired! ikroprogrammert og CISC! ordeler og lemper til neste
DetaljerITPE/DATS 2400: Datamaskinarkitektur og Nettverk
ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning Knut Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and Akershus University College of Applied
DetaljerKapittel 4: Microarchitecture level
1 Kapittel 4: Microarchitecture level 2 Kapittel 4: Microarchitecture level 3 Kva er og Kva gjer Realisera Instruction Level Architecture (ISA) 4 Nivå 2: Instruksjonssetarkitektur (ISA) Instruksjonssettark.
DetaljerDagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen
Dagens temaer Fra kapittel 4 i Computer Organisation and Architecture Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Register Transfer Language (RTL) Instruksjonseksekvering Pipelining
DetaljerIN 147 Program og maskinvare
Dagens tema: Oversikt over min del av IN147A Bit-mønstre Tallsystemer MIPS assemblerspråk C Datatyper... samt for de som tar hele IN147 Operativsystemer Parallellisering Pensum Eksamen Veien videre Ark
DetaljerDet viktigste i en moderne datamaskin er hovedkortet («motherboard»):
Hovedkortet Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Data.data Stakk %EAX %ECX %EDX %EBP %ESP Prosessor Kode Minne.text Hovedkortet Grovt sett inneholder et hovedkort En prosessor
DetaljerINF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer
INF3430/4431 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer Innhold Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard biblioteker
DetaljerFortsetelse Microarchitecture level
1 Fortsetelse Microarchitecture level 2 Implementasjon Kva kan gjerast for å auke ytinga 3 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga
DetaljerINF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer
INF3430/4430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer 19.09.2006 Agenda Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard
DetaljerOperativsystemets ansvar er å koordinere. programmers bruk av I/O
Operativsystemets ansvar er å koordinere programmers bruk av systemet blir delt av flere programmer som også deler prosessoren bruker ofte avbrudd for å melde tilbake om status til operasjoner avbrudd
DetaljerDagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)
Dagems temaer Fra Kort Organisering Register kapittel 4 i Computer Organisation and Architecture om hurtigminne (RAM) av CPU: von Neuman-modellen Transfer Language (RTL) Instruksjonseksekvering Pipelining
DetaljerTDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte
1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Bussar og busshierarki Tape Optical Bus 3 CPU og buss komunikasjon Tape Optical Bus 4 Buss linjer Bus Adr/data Bit 0 Adr/data Bit 1 Adr/data Bit 2 Adr/data
DetaljerOppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):
Oppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Grovt sett inneholder det En prosessor Minne (for både program og data) Klokke Kontrollere for periferutstyr.
DetaljerTDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte
1 TDT4160 Datamaskiner Grunnkurs 2008 Gunnar Tufte 2 I dag Kva er inni 8051, P4 og UltraSparc Digital logic level (start kapitel 3) VIKTIG MELDING Alle som har brukt NTNU-passord for AoC pålogging må skifte
DetaljerFortsetelse Microarchitecture level
1 Fortsetelse Microarchitecture level IJVM 2 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga Teknologi (prosess) Transistor implementasjon
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 15. juni 2006 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 7 sider. Vedlegg: INF1070 Datamaskinarkitektur Ingen
DetaljerForelesning 5. Diverse komponenter/større system
Forelesning 5 Diverse komponenter/større system Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU En minimal RISC - CPU 2 Komparator Komparator sammenligner to 4 bits tall
DetaljerFortsetelse Microarchitecture level
1 Fortsetelse Microarchitecture level 2 Kva kan datamaskiner (frå 1. forelesing) Aritmetiske Logiske funksjonar Flytte data frå ein plass til ein anna Test er eit tal 0? Gjere desse operasjonane FORT Berekne
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 13. juni 2013 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 9 sider. Vedlegg: Tillatte hjelpemidler: INF2270 Datamaskinarkitektur
DetaljerDagens tema. Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene
Dagens tema Dagens tema Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene Inkludering av filer Cs preprosessor Før selve kompileringen går C-kompilatoren gjennom
DetaljerForelesning ISA: IJVM Kap 4.2
TDT4160 Datamaskiner Grunnkurs Forelesning 27.10 ISA: IJVM Kap 4.2 Dagens tema Repetisjon: ISA vs. mikroarkitektur ISA: IJVM (4.2) Lagring av lokale variable Minnemodell Instruksjonssett Metodekall Kompilering
DetaljerLøsningsforslag til eksamen i IN 147 og IN 147A
Løsningsforslag til eksamen i IN 17 og IN 17A Dag Langmyhr Øystein Gran Larsen Våren 1996 1 Oversettelse I vårt forslag har vi lagt større vekt på at oversettelsen skal vært «rett frem» og lett forståelig
DetaljerEKSAMEN. Operativsystemer. 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater.
EKSAMEN Emnekode: ITF22506 Emne: Operativsystemer Dato: 12. desember 2007 Eksamenstid: kl. 9.00 til kl. 13.00 Hjelpemidler: 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre
DetaljerEksamen INF2270 våren 2018
Generell informasjon Eksamen INF2270 våren 2018 Dette oppgavesettet består av 14 oppgaver som kan løses uavhengig av hverandre. Dersom du synes noe i oppgaveteksten er uklart, må du gjøre dine egne forutsetninger;
DetaljerDagens tema INF1070. Info om C. Cs preprosessor. Feilsøking. Dag Langmyhr,Ifi,UiO: Forelesning 31. januar 2005 Ark 1 av 29
Dagens tema Info om C Cs preprosessor Feilsøking Dag Langmyhr,Ifi,UiO: Forelesning 31. januar 2005 Ark 1 av 29 Informasjon om C Den viktigste kilden til informasjon om C (utenom en god oppslagsbok) er
DetaljerInformasjon om C. Dagens tema INF1070 INF1070 INF1070 INF1070. Den viktigste kilden til informasjon om C (utenom en god. C-funksjonene.
Dagens tema Info om C Cs preprosessor Feilsøking Dag Langmyhr,Ifi,UiO: Forelesning 31. januar 2005 Ark 1 av 29 Dag Langmyhr,Ifi,UiO: Forelesning 31. januar 2005 Ark 2 av 29 NAME sqrt - square root function
DetaljerProgrammeringsspråket C
Programmeringsspråket C Bakgrunn Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI standard i 1988; omtrent alle følger
DetaljerOversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays
Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF103 Fra brukergrensesnitt til maskinvare Eksamensdag: 16. desember 2002 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider.
DetaljerOppgaver til kodegenerering etc. INF-5110, 16. mai, 2014
Oppgaver til kodegenerering etc. INF-5110, 16. mai, 2014 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet, side 539 a) Se på detaljene i hvorfor
DetaljerLøsningsforslag til eksamen i INF2270
Løsningsforslag til eksamen i INF2270 Omid Mirmotahari (oppgave 1 4) Dag Langmyhr (oppgave 5 6) 14. juni 2012 Eksamen inf2270 V12 - fasit 1) (5%) Forkort følgende uttrykk med karnaugh diagram zw xy 00
DetaljerDagens tema INF2270. Cs preprosessor. Separat kompilering av C funksjoner. C og minnet. Dag Langmyhr,Ifi,UiO: Forelesning 5. februar 2007 Ark 1 av 15
Dagens tema Cs preprosessor Separat kompilering av C funksjoner C og minnet Dag Langmyhr,Ifi,UiO: Forelesning 5. februar 2007 Ark 1 av 15 Cs preprosessor Før selve kompileringen går C kompilatoren gjennom
DetaljerKap. 8 del 1 kodegenerering INF april, 2008
Kap. 8 del 1 kodegenerering INF5110 22. april, 2008 Stein Krogdahl, Ifi UiO Forelesninger framover: Torsdag 24 april: Ikke forelesning Tirsdag 29. april: Vanlig forelesning Torsdag 1. mai: Fridag Tirsdag
DetaljerKapittel 6. Høynivå møter lavnivå Fra C til assembly Fra assembly til maskinkode Linking og lasting
Kapittel 6 Høynivå møter lavnivå Fra C til assembly Fra assembly til maskinkode Linking og lasting CISC eller RISC Komplekst eller enkelt. Hva er raskest? Pipelining Smart bruk av registre Kode for lavt
DetaljerForhistorien Menneskene har alltid prøvd å lage maskiner for å løse sine problemer. Dagens tema
Forhistorien Menneskene har alltid prøvd å lage maskiner for å løse sine problemer. Dagens tema Datamaskinenes historie Når, hvor og hvorfor ble de første datamaskiner laget? Charles Babbage Midt på 1800-tallet
DetaljerDatamaskinenes historie Når, hvor og hvorfor ble de første datamaskiner laget? Hvordan har utviklingen gått? Hva inneholder en datamaskin?
Dagens tema Datamaskinenes historie Når, hvor og hvorfor ble de første datamaskiner laget? Hvordan har utviklingen gått? Hva inneholder en datamaskin? Intel-prosessoren Enkel assemblerprogrammering Dag
DetaljerForelesning Adresseringsmodi Kap 5.4
TDT4160 Datamaskiner Grunnkurs Forelesning 21.11 Adresseringsmodi Kap 5.4 Dagens tema Adresseringsmodi (5.4) Hva? Gjennomgang av 6 forskjellige modi Bruk av stakk Eksempler Repetisjon: Instruksjonsformat
DetaljerDel 4 Noen spesielle C-elementer
Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include
DetaljerTDT AUGUST, 2015, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science
Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 6. AUGUST, 215, 9: 13: Kontakt under eksamen: Odd Rune
DetaljerDagens tema. LC-2 LC-2 er en «ekstrem-risc»; den har 16 instruksjoner og 3 adresseringsmåter.
Dagens tema Mer programmering i assemblerspråk Masking Hopp, tester og flagg Varianter over ld og st Vektorer og tekster Rutiner Stakker Programmering i assembler Dere kjenner sikkert den gamle gåten:
DetaljerTDT4160 2. DESEMBER, 2011, 09:00 13:00
Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS
DetaljerForelesning Mikroprogram for IJVM Kap 4.3
TDT4160 Datamasiner Grunnurs Forelesning 31.10 Miroprogram for IJVM Kap 4.3 Dagens tema Repetison: IJVM Miroaritetur IJVM-Instrusoner Registerbru Miroprogram for IJVM (4.3) Micro Assembly Language (MAL)
DetaljerDagens tema. Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene
Dagens tema Dagens tema Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene Inkludering av filer Cs preprosessor Før selve kompileringen går C-kompilatoren gjennom
DetaljerOppsummering digital-teknikk, teknikk, INF2270
Oppsummering digital-teknikk, teknikk, INF227 Grovt sett kan digital-teknikk-delen fordeles i tre: Boolsk algebra og digitale kretser Arkitektur (Von Neuman, etc.) Ytelse (Pipelineling, cache, hukommelse,
DetaljerITPE/DATS 2400: Datamaskinarkitektur og Nettverk
ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Instruksjonsettarkitektur 2 Knut Nygård / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and Akershus University
DetaljerAnatomien til en kompilator - I
Anatomien til en kompilator - I program Symboltabell tekst tokens syntaks-tre beriket syntaks-tre Finne struktur i programmet OK i henhold til grammatikk? Preprocessor Makroer Betinget kompilering Filer
DetaljerForelesning Instruksjonstyper Kap 5.5
TDT4160 Datamaskiner Grunnkurs Forelesning 22.11 Instruksjonstyper Kap 5.5 Dagens tema Instruksjonstyper (5.5) Datatransport Datamanipulering Betingede hoppinstruksjoner Prosedyrekall Løkker I/O Eksempler
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 14. juni 2011 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 12 sider. Vedlegg: Tillatte hjelpemidler: INF2270
Detaljer