Datorarkitekturer med operativsystem ERIK LARSSON
|
|
- Jan-Erik Martinsson
- för 5 år sedan
- Visningar:
Transkript
1 Datorarkitekturer med operativsystem ERIK LARSSON
2 Översikt Reduced instruction set computers (RISC) Superscalar processors
3 Semantic gap Alltmer avancerade programmeringsspråk tas fram för att göra programvaruutveckling mer kraftfull Dessa programmeringsspråk (Ada, C++, Java) ger högre abstraktionsnivå, konsistens och kraft Det semantiska gapet ökar (högnivåspråk-maskinspråk) Abstraktionsnivå Högnivåspråk Maskinspråk Semantiskt gap
4 Utvärdering av applikationsprogram Många studier har gjorts för att ta fram karaktärsdrag av maskinkod som genererats från högnivåspråk Intressanta aspekter: Hur ofta används varje instruktion? Hur används operander? Och hur ofta? Hur mycket används hopp, loopar, anrop till procedurer/ funktioner/subrutiner?
5 Utvärdering av applikationsprogram Typ Instruktioner i högnivåspråk (%) Instruktioner i maskinspråk (%) Minnesreferenser (%) Pascal C Pascal C Pascal C Tilldelning Loop Call Villkor (if) Andra Många tilldelningar i högnivåspråk men dessa ger få instruktioner i maskinspråk och relativt få minnesreferenser Relativt få loopar men looparna resulterar i många maskininstruktioner och många minnesreferenser
6 Utvärdering av applikationsprogram Typ Instruktioner i högnivåspråk (%) Instruktioner i maskinspråk (%) Minnesreferenser (%) Pascal C Pascal C Pascal C Tilldelning Loop Call Villkor (if) Andra Få CALL (anrop till funktioner/ procedurer/subrutiner) men de ger många instruktioner i maskinspråk och relativt många minnesreferenser Relativt många villkor med de ger relativt få maskininstruktioner och relativt få minnesreferenser
7 Utvärdering av applikationsprogram Fördelning av maskininstruktioner (frekvens av användande): Flytta data (move): ~33% Villkorliga hopp: ~20% ALU operationer: ~16% Adressering Komplexa adressering: ~18% (memory indirect, indexed+indirect, displacement+indexed, stack) Enkel adressering: vanligast (adress kan beräknas i en klockcykel, register, register indirekt, displacement)
8 Utvärdering av applikationsprogram Typer av operander 74-80% av operander är skalärer (heltal, flyttal, tecken, etc), vilka kan lagras i register (icke-skalär, t ex array) Resterande (20-26%) är arrayer; 90% är globala variabler 80% av skalärer är lokala variabler Slutsats: Lagring i register
9 Utvärdering av applikationsprogram Trots att endast 10-15% av högnivå instruktionerna var funktion/procedure/ subrutin anrop, så svarar dessa CALL och RETURN instruktioner för: 31-43% av maskininstruktionerna 44-45% av minnesreferenserna För procedurer: Endast 1.25% har fler än 6 parametrar Endast 6.7% har fler än 6 lokala variabler Antal nästlingar är ofta få (korta) och mycket sällan längre än 6 int x, y; float z; void proc3(int a, int b, int c) { } void proc2(int k) { int j, q; proc3(j, 5, q); } void proc1() { int i; proc2(i); } main () { proc1(); }
10 Karaktärsdrag hos RISC processorer Enkla och få instruktioner Enkla och få adresseringsmöjligheter Fixt (fast) instruktionsformat Stort antal register Load-and-store architecture
11 Karaktärsdrag hos RISC processorer Målet med enkla och få instruktioner är att kunna exekvera snabbare. De flesta instruktion exekveras i en enda maskincykel (efter fetch och decode) Pipeline (utan minnesreferenser): FI DI EI Med enkla och få instruktioner, blir kontrollenheten enklare.
12 Karaktärsdrag hos RISC processorer Load-and-store architecture: Endast LOAD och STORE instruktioner refererar data i minnet (primärminnet). Pipeline vid minnesreferenser: FI DI CA TR CA: Compute adress, TR: Transfer
13 Karaktärsdrag hos RISC processorer Instruktioner använder få adresseringsmöjligheter: Typiskt: register, direkt, register indirekt, displacement Instruktioner har fixt (fast) längd och uniformt format Detta förenklar och snabbar upp laddning och avkodning. Processorn behöver inte vänta på att hela instruktionen är laddad innan avkodning kan påbörjas Uniformt format, dvs opcode och adressfält är placerat på samma position för olika instruktioner, gör att avkodning förenklas.
14 Karaktärsdrag hos RISC processorer Stort antal register Register kan användas för att lagra variabler och för mellanlagring resultat. Det minskar behov av att använda upprepade load och store med primärminnet. Alla lokala variabler från CALL/RETURN strukturer (anrop till funktioner, procedurer, subrutiner) kan lagras i register. Vad händer vid anrop till funktioner och procedurer? Register innehåll måste sparas, parametrar ska föras över, återhopps adresser ska sparas. Relativt mycket minnes access, vilket tar mycket tid. Med många register, kan nya register allokeras vid anrop
15 Hopp till subrutiner (och funktioner) R 0 Alla register R N Level i Register window In Local Out CWP: Current Window Pointer Level i+1 Level i+2 CWP CWP In Local Out In Local Out instruktion 1 call proc A instruktion 3 instruktion 4 call proc A instruktion 6 proca: instruktion 11 call proc B instruktion 13 return procb: Instruktion 21 Instruktion 22 return CWP
16 Delayed load problem LOAD och STORE instruktioner refererar data i minnet (primärminnet). Alla andra instruktioner opererar enbart på register (register-till-register instruktioner). LOAD och STORE instruktioner hinner inte bli exekverade på en klockcykel. LOAD R1, X ADD R2, R1 ADD R4, R3 FI DI CA TR FI DI EI FI DI EI Här är R1 tillgängligt
17 Delayed load problem Två alternativ: Hårdvaran gör delay (stall) av instruktioner som följer efter LOAD Kompilatorn ändrar ordningen genom delayed load (jämför med delayed branching) Med delayed load exekveras alltid instruktionen som följer en LOAD instruktion (inget stall). Det är programmerarens (kompilatorns) ansvar att se till att instruktionen direkt efter LOAD inte behöver just det värde som laddas.
18 Delayed load problem Om programmet är: LOAD R1, X ADD R2, R1 ADD R4, R3 SUB R2, R4 Genererar kompilatorn: LOAD R1, X ADD R4, R3 ADD R2, R1 SUB R2, R4 FI DI CA TR FI DI EI FI DI EI FI DI CA TR FI DI EI FI DI EI FI DI EI FI DI EI Här är R1 tillgängligt Här används R1 Här är R1 tillgängligt Här används R1
19 Delayed load problem Om programmet är: LOAD R1, X ADD R2, R1 ADD R4, R2 SUB R4, X Genererar kompilatorn: LOAD R1, X NOP ADD R2, R1 ADD R4, R2 STORE R4, X FI DI CA TR FI DI EI FI DI EI FI DI CA TR FI DI EI FI DI EI FI DI EI FI DI EI Här är R1 tillgängligt Här används R1 Här är R1 tillgängligt Om kompilatorn inte hittar en instruktion, tas en NOP (no operation) instruktion Här används R1 FI DI CA TR
20 RISC eller CISC? Ett entydigt svar är svårt att ge Flera prestanda jämförelser (benchmarking) visar att RISC exekverar snabbare än CISC Men, det är svårt att identifiera vilket karaktärsdrag som är avgörande. Det är svårt att jämföra; t ex olika halvledartekniker, kompilatorer Ett argument för CISC: Den enklare RISC konstruktionen gör att program behöver mer minne (fler instruktioner) jämfört med samma program för en CISC processor Processorer av idag använder sig ofta av lite RISC och lite CISC
21 Några exempel CISC VAX 11/780 Nr. of instructions: 303 Instruction size: 2 57 bytes Instruction format: not fixed Addressing modes: 22 Number of general purpose registers: 16 Pentium Nr. of instructions: 235 Instruction size: 1 11 bytes Instruction format: not fixed Addressing modes: 11 Number of general purpose registers: 8 (32-bitar mode), 16 (64-bitar mode)
22 Några exempel RISC Sun SPARC Nr. of instructions: 52 Instruction size: 4 bytes Instruction format: fixed Addressing modes: 2 Number of general purpose registers: up to 520 PowerPC Nr. of instructions: 206 Instruction size: 4 bytes Instruction format: not fixed (but small differences) Addressing modes: 2 Number of general purpose registers: 32
23 Några exempel ARM (Advanced RISC Machine och Acorn RISC Machine) Antal instruktioner (standard set): 122 Instruktions storlek: 4 (standard), 2 (Thumb) byte Instruktions format: fixerat (olika mellan standard och Thumb) Adresserings modes: 3 Antal general purpose register: 27 (16 kan användas samtidigt) Dagens ARM processorer kan exekvera både standard set (32 bitars instruktioner och 16 bitars Thumb instruktions set. Thumb består av en delmängd av 32-bitars setet, kodat som 16-bitars instruktioner).
24 Sammanfattning Både RISC och CISC försöker lösa samma problem minska det semantiska gapet. CISC alternativet innebär att instruktioner görs alltmer komplexa RISC alternativet innebär att göra instruktionerna enklare Viktiga kännetecken för RISC arkitekturer är: Få och enkla instruktioner Få adresserings möjligheter Load-store arkitektur Instruktioner har fix längd och format Många register är tillgängliga Viktigt för RISC utveckling är att maximera effektiviteten i pipelines En processorer av idag använder sig ofta av lite RISC och lite CISC kännetecken
25 Översikt Reduced instruction set computers (RISC) Superscalar processors
26 Superscalar architecture En superscalar architecture (SSA) tillåter att mer än en instruktion initieras samtidigt och exekveras oberoende av varandra. Skalär: heltal, flyttal Icke-skalär: array, matris, vektor I pipelining är flera instruktioner aktiva men de är alla i olika pipeline steg Utöver pipelining, tillåter SSA att flera instruktioner exekverar samtidigt (i samma pipeline steg). Det är möjligt att initiera flera instruktioner i samma klockcykel; instruction level parallelism (ILP)
27 Pipelining Tid SSA SP P Pipelining Superpipelining FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO WO Superscalar pipelining FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI FI DI CO FO EI WO WO
28 Superpipelining Superpipelining är en teknik där varje steg i en pipeline delas i substeg Genom att dela upp varje steg i två, innebär det att pipelinen ger resultat två gånger snabbare (jämför med att ha flera steg i pipeline) Att dela upp steg mer eller att ha fler pipeline steg blir svårare; svårt att få alla steg lika långa och mycket konflikter Alternativ: superscalar architecture
29 Superscalar architecture (SSA) Ett exempel, tre parallella enheter: en flyttalsinstruktion och två heltalsinstruktioner Kan exekveras samtidigt (som tidigare kan flera instruktioner vara aktiva i en pipeline) Flyttal: Heltal: Heltal: FI DI CO FO EI FI DI CO FO EI FI DI CO FO EI WO WO WO
30 SSA Decode, dispatch, rename Instruktions buffert Fetch unit Instructions cache Floatingpoint unit Register file Instruktionsfönster Instruction issuing Integer unit Minne Integer unit Data cache Commit
31 Instruktionsfönster Instruktions fönster (instruction window) är de instruktioner som processorn har att välja mellan vid en viss tidpunkt. Instruktions fönstret ska vara så stort som möjligt för att ge möjlighet att effektivt välja instruktioner som ska exekveras Problem: Svårt att hämta instruktioner i hög hastighet Konflikter i pipeline (branches, struktural, data)
32 Instruktionsfönster (instruction window) Lite C kod: for (i=0; i<last; i++){ } if (a[i]>a[i+1]){ } temp = a[i]; a[i] = a[i+1]; a[i+1] = temp; Basic block 1 Basic block 2 Basic block 3 Assembly kod: R7: adress till a[i], R3: adress till a[i], a[i+1], R4: last, R6: i L2 move R3, R7 lw R8, (R3) R8 <- a[i] add R3, R3, 4 lw R9, (R3) R9 <- a[i+1] ble R8, R9, L3 move R3, R7 sw R9, (R3) a[i] <- R9 add R3, R3, 4 sw R8, (R3) L3 add R6, R6, 1 add R7, R7, 4 blt R6, R4, L2
33 Instruktionsfönster (instruction window) Instruktionsfönstret kan göras större (än basic blocks) genom branch prediction; spekulativ exekvering Med spekulativ exekvering, tas instruktioner från predicted path får ses i instruktions fönstret Instruktioner från predicted path exekveras; Om prediction är rätt; fortsätt (commit) Annars, ta bort (effekten blir att de inte exekverats)
34 Problem med parallell exekvering Problem som förhindrar parallell exekvering i SSA liknar de problem som skapade problem i pipelines Konflikter i pipelines: Resource (resurs) konflikter Kontrollkonflikter Datakonflikter» True data dependency» Output dependency» Anti-dependency
35 True data dependency True data dependency (data konflikt/hazard) uppkommer när resultat (output) från en instruktion behövs som indata i följande instruktion: MUL R4, R3, R1 R4 R3 * R ADD R2, R4, R5 R2 R4 + R5
36 True data dependency MUL R4, R3, R1 FI DI R4 CO R3 FO * R1 EI ADD R2, R4, R5 R2 R4 + R5 Här vill I2 ha resultat från * WO Här görs * FI DI CO FO EI WO FO EI WO FI DI CO STALL FO CO EI WO FO EI Här skrivs resultatet till R4 WO FI DI CO FO CO EI WO FO EI WO
37 True data dependency True data dependency måste detekteras och hanteras Enklast är att göra stalls Alternativ, för att undvika stalls, är att låta hårdvara eller kompilator leta upp instruktioner som kan exekveras (tills konflikt undvikts)
38 True data dependency MUL R4, R3, R1 FI DI R4 CO FO R3 * EI R1 Här vill I2 ha resultat från * FI DI CO WO FO WO WO FI DI CO EI WO FO EI ADD R2, R4, R5 R2 R4 + R5 EI FI DI CO EI WO FO EI WO WO FI DI CO EI WO FO EI WO FI DI CO EI WO FO EI WO Här skrivs resultatet till R4 FI DI CO EI WO FO EI WO FI DI CO EI WO FO EI WO
39 Output dependency Output dependency existerar om två instruktioner skriver till samma plats. Om den senare instruktionern exekveras före den första blir det fel: MUL R4, R3, R1 R4 R3 * R ADD R4, R2, R5 R4 R2 + R5
40 Anti-dependency En anti-dependency existerar om en instruktion använder en plats (minne/register) medan någon nästföljande instruktion skriver till den platsen. Om den första instruktionen inte är klar medan en efterföljande instruktion skriver på samma plats, blir det fel: MUL R4, R3, R1 R4 R3 * R ADD R3, R2, R5 R3 R2 + R5
41 Output dependency och antidependency Output dependency och anti-dependency är inte inbyggda konflikter på grund av programmet De är lagringskonflikter som uppkommer på grund av hur programmeraren eller kompilatorn använder register och minnesplatser I exemplen ovan Output dependency: R4 används av båda instruktioner för att lagra resultat Anti-dependency: R3 används av den senare instruktionen för att lagra resultat Om fler register används, kan dessa problem avhjälpas med register renaming
42 Register renaming Reservation stations and reorder buffers för register renaming Vid instruction issue Om operand är tillgänglig i register eller reorder buffer» Kopieras till reservation station (värde behövs ej längre i register(kan skrivas över)) Om operand ej tillgänlig än» Kommer bli tillgängligt från funktionell enhet
43 Register renaming: Output dependency och anti-dependency Output dependency Givet var: MUL R4, R3, R ADD R4, R2, R5 Med nya register: MUL R4, R3, R ADD R7, R2, R5 R4 R3*R1 R4 R2+R5 R4 R3*R1 R7 R2+R5 Anti dependency Givet var: MUL R4, R3, R ADD R3, R2, R5 Med nya register: MUL R4, R3, R ADD R6, R2, R5 R4 R3*R1 R3 R2+R5 R4 R3*R1 R6 R2+R5
44 Spekulering Branch prediction och continue issuing Commit när branch villkor är kännt Load speculation Undvik load och cache miss delay» Prediktera effektiv adress» Prediktera load value» Load för väntande store» Bypass store värden till load enhet
45 Parallell exekvering Instruktioner kan alltså exekveras i en annan ordning än den som är given i programmet. Detta är inget problem så länge resultatet blir rätt. Exekveringspolicies: In-order issue with in-order completion In-order issue with out-of-order completion Out-of-order issue with out-of-order completion
46 Parallell exekvering Antag en superscalar processor: Två instruktioner kan hämtade (fetch) och avkodade (decoded) Tre funktionella enheter kan arbeta parallellt; en flyttals enhet, en heltals adderare, och en heltals multiplicerare Resultat från två instruktioner kan skrivas tillbaka (written back) samtidigt Decode, dispatch, rename Instruktions buffert Fetch unit Instructions cache Floating-point unit Register file Instruktions-fönster Instruction issuing Integer unit (+) Minne Integer unit (*) Commit Data cache
47 Parallell exekvering I3 och I4 är i konflikt om samma functionella funktionella enhet (*) Antag ett program: I1: ADDF R12, R13, R14 R12 R13 + R14 (float. pnt.) I2: ADD R1, R8, R9 R1 R8 + R9 I3: MUL R4, R2, R3 R4 R2 * R3 I4: MUL R5, R6, R7 R5 R6 * R7 I5: ADD R10, R5, R7 R10 R5 + R7 I6: ADD R11, R2, R3 R11 R2 + R3 I5 behöver resultatet från beräkningen i I4 Alla instruktioner kräver 1 klockcykel för exekvering förutom I1 som kräver två klockcykler I2, I2, I5 I5 och och I6 I6 är är i i konflikt om om samma functionella funktionella functionella enhet (+) (+)
48 In-order issue with in-order completion I1: ADDF R12, R13, R14 R12 R13 + R14 (flyttalsberäkning) I2: ADD R1, R8, R9 R1 R8 + R9 I3: MUL R4, R2, R3 R4 R2 * R3 I4: MUL R5, R6, R7 R5 R6 * R7 I5: ADD R10, R5, R7 R10 R5 + R7 I6: ADD R11, R2, R3 R11 R2 + R3 Decode/ Issue Execute FP ADD MUL Writeback/ complete Cykel I1 I2 1 I3 I4 I1 I2 2 I5 I6 I1 STALL 3 I3 I1 I2 4 I4 I3 5 I5 I4 6 I6 I5 7 I6 8
49 In-order issue with in-order completion Instruktioner startar och exekverar i exakt samma ordning som om instruktionerna skulle exekverats sekventiellt Resultat skrivs tillbaka (completion) i samma ordning En instruktion får inte starta (issued) förrän tidigare instruktioner har startat För att garantera in-order completion görs stalls vid konflikter och när en instruktion behöver fler klockcykler Utnyttjandet av parallellsim begränsas, t ex om I3 och I6 bytte plats kan I4 och I6 samt I3-I5 exekveras parallellt I SSA, målet är hårdvarulösningar för att maximera parallellism
50 In-order issue med out-of-order completion I1: ADDF R12, R13, R14 R12 R13 + R14 (flyttalsberäkning) I2: ADD R1, R8, R9 R1 R8 + R9 I3: MUL R4, R2, R3 R4 R2 * R3 I4: MUL R5, R6, R7 R5 R6 * R7 I5: ADD R10, R5, R7 R10 R5 + R7 I6: ADD R11, R2, R3 R11 R2 + R3 Decode/ Issue Execute FP ADD MUL Writeback/ complete Cykel I1 I2 1 I3 I4 I1 I2 2 I5 I6 I1 I2 3 I3 I1 4 I4 I3 5 I5 I4 6 I6 I5 7 I6 8 Out-of-order completion
51 Out-of-Order Issue (OOI) med Out-of- Order Completion (OOC) Med In-order issue kan inte nya instruktioner exekveras när processorn detekterat en konflikt och därför gör stall Processorn kan med Out-of-order issue se framåt för nya instruktioner som skulle kunna exekveras parallellt med de som för tillfället körs Med Out-of-order issue försöker processorn lösa dessa problem genom att se framåt (look ahead) bland de avkodade instruktionerna och starta (issue) någon eller några instruktoioner i någon ordning, givet att programmet exekveras korrekt
52 OOI med OOC Om kompilatorn genererade följande sekvens: I1: ADDF R12, R13, R14 R12 R13 + R14 (float. pnt.) I2: ADD R1, R8, R9 R1 R8 + R9 I6: ADD R11, R2, R3 R11 R2 + R3 I4: MUL R5, R6, R7 R5 R6 * R7 I5: ADD R10, R5, R7 R10 R5 + R7 I3: MUL R4, R2, R3 R4 R2 * R3 Decode/Issue Execute Writeback/ complete FP ADD MUL Cykel I1 I2 1 I6 I4 I1 I2 2 I5 I3 I1 STALL 3 I6 I4 I1 I2 4 I5 I3 I6 I4 5 I5 I I4 och I6 exekveras parallellt, liksom I3 och I5
53 OOI med OOC I1: ADDF R12, R13, R14 R12 R13 + R14 (flyttalsberäkning) I2: ADD R1, R8, R9 R1 R8 + R9 I3: MUL R4, R2, R3 R4 R2 * R3 I6 kan starta före I5 och parallellt I4: MUL R5, R6, R7 R5 R6 * R7 med I4. Programmet tar bara 6 I5: ADD R10, R5, R7 R10 R5 + R7 cykler (jämfört med 8 i fallet med inorder issue and in-order I6: ADD R11, R2, R3 R11 R2 + R3 completion) Decode/Issue Execute Writeback/ Cykel FP ADD MUL complete I1 I2 1 I3 I4 I1 I2 2 I5 I6 I1 I3 I2 3 I6 I4 I1 I3 4 I5 I4 I6 5 I
54 Konflikthantering Med in-order issue med in-order-completion behöver processorn bara hantera true data dependency, men inte output dependency och anti-dependency. Med out-of-order issue med out-of-order completion behöver processorn hantera true data dependency, output dependency och anti-dependency Output dependency MUL R4, R3, R1 R4 R3 * R ADD R4, R2, R5 R4 R2 + R5 Antidependency MUL R4, R3, R1 R4 R3 * R ADD R3, R2, R5 R3 R2 + R5
55 Arkitekturer PowerPC oberoende exekverings enheter:» 1 branch execution unit» 1 load/store unit» 3 integer units» 1 flyttals enhet In-order issue PowerPC 620 Som PowerPC604 men out-of-order issue
56 Arkitekturer Pentium 3 oberoende exekverings enheter» 2 heltals enheter» 1 flyttals enhet In-order issue (2 instruktioner per klockcykel) Pentium II till 4 Som Pentium men med out-of-order exekvering 5-7 oberoende exekverings enheter
57 Effektförbrukning Komplexitet pga dynamisk schemaläggning och spekulering kräver mer effekt Multipla kärnor (cores) kan vara bättre Microprocessor Year Clock Rate Pipeline Stages Issue width Out-of-order/ Speculation Cores i MHz 5 1 No 1 5W Power Pentium MHz 5 2 No 1 10W Pentium Pro MHz 10 3 Yes 1 29W P4 Willamette MHz 22 3 Yes 1 75W P4 Prescott MHz 31 3 Yes 1 103W Core MHz 14 4 Yes 2 75W UltraSparc III MHz 14 4 No 1 90W UltraSparc T MHz 6 1 No 8 70W
58 Sammanfattning Typiskt för superscalar architectures är: Flera pipelines som verkar parallellt; Out-of-order issue&out-of-order completion; Register renaming. Alla teknikerna syftar till att öka prestandan.
59 Sammanfattning Experiment har visat: Att enbart lägga till extra enheter (typ pipelines) är inte effektivt; Out-of-order är väldigt viktigt; det tillåter look ahead för independent instruktioner; Register renaming kan förbättra prestanda med mer än 30%; in this case performance is limited only by true dependencies. Viktigt med fetch/decode där instruktions fönstret är tillräckligt stort
60
Datorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Semantic gap Alltmer avancerade programmeringsspråk tas fram för att göra programvaruutveckling mer kraftfull Dessa programmeringsspråk (Ada, C++, Java)
Läs merDatorteknik ERIK LARSSON
Datorteknik ERIK LARSSON Så här långt. FÖ2 RISC/CISC FÖ1 Primärminne Instruktioner och data Address Instruction 00001000 0000101110001011 00001001 0001101110000011 00001010 0010100000011011 00001011 0001001110010011
Läs merDatorteknik ERIK LARSSON
Datorteknik ERIK LARSSON Programexekvering (1) Hämta instruktion på 00001000 (där PC pekar) Fetch (2) Flytta instruktionen 0000101110001011 till CPU (3) Avkoda instruktionen: 00001 MOVE, 01110001 Adress,
Läs merDatorteknik ERIK LARSSON
Datorteknik ERIK LARSSON Fetch-Execute Utan pipelining: Tid: 1 2 3 4 5 6 Instruktion 1 Instruktion 2 Instruktion 3 Fetch Execute Fetch Execute Fetch Execute Med pipelining: Tid: 1 2 3 4 Instruktion 1 Instruktion
Läs merDatorteknik ERIK LARSSON
Datorteknik ERIK LARSSON Program Abstraktionsnivå: Högnivåspråk» t ex C, C++ Assemblyspråk» t ex ADD R1, R2 Maskinspråk» t ex 001101.101 Exekvering av en instruktion (1) Hämta instruktion på 00001000 (där
Läs merProgram 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 merFetch-Execute. Datorteknik. Pipelining. Pipeline diagram (vid en viss tidpunkt)
Datorteknik ERIK LRSSON Fetch- Utan pipelining: Tid: 1 2 3 4 5 6 Instruktion 1 Instruktion 2 Instruktion 3 Fetch Fetch Fetch Med pipelining: Tid: 1 2 3 4 Instruktion 1 Instruktion 2 Instruktion 3 Fetch
Läs merNä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 merDatorarkitekturer 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 merLunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:
Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60 Superscalar vs VLIW Cornelia Kloth IDA2 Inlämningsdatum: 2018-12-05 Abstract Rapporten handlar om två tekniker inom multiple issue processorer
Läs merPipelining i Intel Pentium II
Pipelining i Intel Pentium II John Abdulnoor Lund Universitet 04/12/2017 Abstract För att en processor ska fungera måste alla komponenter inuti den samarbeta för att nå en acceptabel nivå av prestanda.
Läs merTentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng
Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal
Läs merTentamen 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 merSvar 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 merDatorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Pipelining Tid SSA P Pipelining FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO Superscalar pipelining FI DI CO FO EI WO FI DI
Läs merDigitala System: Datorteknik ERIK LARSSON
Digitala System: Datorteknik ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering (1)
Läs merDigitala 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 merExempeltentamen Datorteknik, EIT070,
Lunds Universitet LTH Exempeltentamen Datorteknik, EIT070, Skrivtid: xx.00-xx.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30 poäng För betyg
Läs merTentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621
Lunds Universitet LTH Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621 Skrivtid: 8.00-13.00 Inga tillåtna hjälpmedel Uppgifterna i tentamen ger maximalt 60 poäng. Uppgifterna är
Läs merDatorsystem 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 merDatorarkitekturer 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 merGrundläggande datavetenskap, 4p
Grundläggande datavetenskap, 4p Kapitel 2 Datamanipulation, Processorns arbete Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-09 IT och Medier 1 Innehåll CPU ALU Kontrollenhet Register
Läs merPipelining i Intel 80486
Lunds Universitet Pipelining i Intel 80486 EITF60 Datorarkitekturer med operativsystem Martin Wiezell 2017-12-04 Abstract This paper gives a brief description of the instruction pipeline of the Intel 80486
Läs merIBM 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 merSuperscalar Bra: Hårdvaran löser allt: Hårdvara detekterar poten6ell parallellism av instruk6oner Hårdvara försöker starta exekvering (issue) av så
1 Superscalar Bra: Hårdvaran löser allt: Hårdvara detekterar poten6ell parallellism av instruk6oner Hårdvara försöker starta exekvering (issue) av så många instruk6oner som möjligt parallellt Hårdvara
Läs merTentamen 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 merArm Cortex-A8 Pipeline
Marcus Havrell Dahl - 941206 Arm Cortex-A8 Pipeline Sammanfattning Arm Cortex-A8 processorn är en energisnål men samtidigt kraftfull enhet. Beroende på implementationen kan den ha en klockhastighet på
Läs merEn 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 merHantering av hazards i pipelines
Datorarkitektur med operativsystem Hantering av hazards i pipelines Lisa Arvidsson IDA2 Inlämningsdatum: 2018-12-05 Abstract En processor som använder pipelining kan exekvera ett flertal instruktioner
Läs merPipeline hos ARM Cortex-A53 och ARM Cortex-A73
Lunds universitet Pipeline hos ARM Cortex-A53 och ARM Cortex-A73 Kevin Eriksson EITF60 Kursansvarig: Erik Larsson 2017-12-04 Innehållsförteckning Syfte 2 Sammanfattning 2 Jämförelse 3 Pipelinebredd 3 Out
Läs merProcessor pipelining genom historien (Intel i9-intel i7)
Processor pipelining genom historien (Intel i9-intel i7) Besnik Redzepi Lunds Universitet Abstrakt/Sammanfattning Syftet med denna uppsats är att jämföra Intels nya generation processorer och deras pipelining.
Läs merPipelining 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 merDatorsystemteknik DVGA03 Föreläsning 8
Datorsystemteknik DVGA03 Föreläsning 8 Processorns uppbyggnad Pipelining Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Innehåll Repetition av instruktionsformat
Läs merDatorteknik ERIK LARSSON
Datorteknik ERIK LARSSON Program Abstraktionsnivå: Högnivåspråk» t ex C, C++ Assemblyspråk» t ex ADD R1, R2 Maskinspråk» t ex 001101.101 Semantiskt gap Alltmer avancerade programmeringsspråk tas fram för
Läs merTentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp
Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp Institutionen för elektro- och informationsteknik Campus Helsingborg, LTH 2016-12-22 8.00-13.00 Uppgifterna i tentamen ger totalt 60
Läs merTSEA28 Datorteknik Y (och U)
Praktiska kommentarer TSEA8 Datorteknik Y (och U) Föreläsning Kent Palmkvist, ISY Dagens föreläsning RISC Mer information om hur arkitekturen fungerar Begränsningar Lab extra tillfälle för redovisning
Läs merSVAR 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 merTSEA28 Datorteknik Y (och U)
Praktiska kommentarer TSEA8 Datorteknik Y (och U) Föreläsning Kent Palmkvist, ISY Dagens föreläsning Latens/genomströmning Pipelining Laboration tips Sorteringsalgoritm använder A > B i flödesschemat Exemplet
Läs merF2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen
68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder
Läs mer0.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 merDEC Alpha instruktions Arkitektur
DEC Alpha instruktions Arkitektur David Ekberg December 4, 2017 Innehållsförteckning 1 Sammanfattning...3 2 Bakgrund...3 3 Syfte...3 4 Pipeline...4 4.1 Datatyper...4 4.2 Instruktions arkitektur...5 5 Slutsats...6
Läs merMinnet 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 merHannes Larsson - IDA 2, LTH Campus Helsingborg. NEC V R 4300i. Interlock-handling EDT621
Hannes Larsson - IDA 2, LTH Campus Helsingborg NEC V R 4300i Interlock-handling EDT621 Läsperiod 2, 2017 Innehållsförteckning s.2 - Förord s.2 - Inledning s.2 - NEC VR-4305 s.3 - Pipeline s.4 - Interlocks
Läs merDatorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Parallellberäkning Konstant behov av högre prestanda Prestanda har uppnåtts genom: Utveckling inom halvledarteknik Tekniker som:» Cacheminne» Flera bussar»
Läs merDatorteknik 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 merDatorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga
Datorarkitektur I Tentamen Lördag 10 April 2010 Ekonomikum, B:154, klockan 09:00 14:00 Examinator: Karl Marklund 0704 73 32 17 karl.marklund@it.uu.se Tillåtna hjälpmedel: Penna Radergummi Linjal Följande
Läs merProgram 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 merDatormodell. 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 merParallellism i CDC 7600, pipelinens ursprung
Lunds universitet Parallellism i CDC 7600, pipelinens ursprung Henrik Norrman EITF60 Datorarkitekturer med operativsystem Kursansvarig: Erik Larsson 4 december 2017 INNEHÅLL Parallellism i CDC 7600 Innehåll
Läs merMoment 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 merDatorarkitektur. Fö 9: Datorarkitektur. Datororganisation. Typiska Arkitekturattribut. Introduktion till datorarkitektur.
Fö 9: Datorarkitektur Introduktion till datorarkitektur. RISC eller CISC? Datorarkitektur Datorarkitektur: De attribut hos ett datorsystem som är synliga för programmerare, eller har en direkt påverkan
Läs merF5: Högnivåprogrammering
F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via
Läs merDatorteknik. 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 merF5: Högnivåprogrammering
1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data
Läs merProgram som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas
1 2 Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas och instruk7onen exekveras. 3 4 Program kan beskrivas
Läs merInstitutionen 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 merVad 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 merFöreläsning 2. Operativsystem och programmering
Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data
Läs merLUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer
LUNDS UNIVERSITET Parallell exekvering av Float32 och INT32 operationer Samuel Molin Kursansvarig: Erik Larsson Datum 2018-12-05 Referat Grafikkort utför många liknande instruktioner parallellt då typiska
Läs merMinnets 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 merc a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11
A basic -bit Select between various operations: OR, AND, XOR, and addition Full Adder Multiplexer Digitalteknik och Datorarkitektur hp Föreläsning : introduktion till MIPS-assembler - april 8 karlmarklund@ituuse
Läs merDatorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3
Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström Datorarkitektur Slideset 3 Agenda Datorns
Läs merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 14, Kent Palmkvist 2018-05-14 3 Praktiska kommentarer TSEA28 Datorteknik Y (och U) Föreläsning 15 Kent Palmkvist, ISY Lab 4 extra tillfälle för redovisning Tisdag
Läs merDatorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål
Datorteknik Föreläsning 6 Processorns uppbyggnad, pipelining Mål Att du ska känna till hur processorn byggs upp Att du ska kunna de viktigaste byggstenarna i processorn Att du ska känna till begreppet
Läs merTentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)
Lunds Universitet LTH Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60) Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng
Läs merLösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 13 mars 2013, klockan 14:00 19:00 i Vic 2 A-D, 3 A-C. Tillåtna hjälpmedel: på tentan utdelad
Läs merLå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 merSystem 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 merMulti-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant.
Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant. Sammanfattning När processorns klockhastighet ökar medför det en ökning av instruktioner vilket såklart ökar
Läs merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 16, Kent Palmkvist 2018-05-21 3 Dagens föreläsning TSEA28 Datorteknik Y (och U) Föreläsning 16 Kent Palmkvist, ISY Mer avancerade sätt att öka prestanda Applikationsspecifika
Läs merCDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA
CDC6600 - en jämförelse mellan superskalära processorer av: Marcus Karlsson Sammanfattning I denna rapport visas konkret information om hur den första superskalära processorn såg ut och hur den använde
Läs merHantering av hazards i multi-pipelines
Campus Helsingborg IDA2 Hantering av hazards i multi-pipelines Av: Mounir Salam Abstract Det finns tre olika problem som kan uppstå när vi kör en pipeline med flera steg. De tre problemen även så kallade
Läs merDigitalteknik 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 merElektroteknik 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 merDatorsystemteknikDAVA14 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 merStack 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 merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 16, Kent Palmkvist 2019-05-16 3 TSEA28 Datorteknik Y (och U) Föreläsning 16 Kent Palmkvist, ISY Praktiska kommentarer Lab 1-3 redovisningstillfälle Fredag 24/5
Läs merDigitalteknik och Datorarkitektur 5hp
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 = + Digitalteknik och Datorarkitektur hp path & Control maj 2 karl.marklund@it.uu.se
Läs merTentamen den 17 mars 2016 Datorteknik, EIT070
Lunds Universitet LTH Tentamen den 17 mars 2016 Datorteknik, EIT070 Skrivtid: 14.00-19.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30 poäng
Läs mer4. Pipelining. 4. Pipelining
4. Pipelining 4. Pipelining Det finns en pipelinad biltvätt i Linköping spoltvätttork spoltvätt tork spolning tvätt tork De tre momenten tar lika lång tid Alla bilar går igenom samma program Väntetid 1/3
Läs merPer 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 merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U) Föreläsning 16 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 16, Kent Palmkvist 2017-05-22 2 Praktiska kommentarer Lab 5 redovisningstillfälle Onsdag 24/5 kl
Läs merFö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 merDataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte
CT3760 Mikrodatorteknik Föreläsning 4 Tisdag 2005-09-06 Stacken I datasammmanhang är en stack ett minnesområde. Det är processorn som använder stacken. För att skapa en stack anger man en adress i stackpekarregistret.
Läs merSVAR TILL TENTAMEN I DATORSYSTEM, HT2013
Rahim Rahmani (rahim@dsv.su.se) Division of SAS Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, HT2013 Tentamensdatum: 2013-10-30 Tentamen består av totalt
Läs merDigital- och datorteknik
Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Tallriksmodellen Stackoperationer Element kan endast
Läs merProgramräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.
F5 Föreläsning i Mikrodatorteknink 2006-09-05 Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion. Programräknaren
Läs merÖ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 merLABORATION 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 merFoto: 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 merSpekulativ exekvering i CPU pipelining
Spekulativ exekvering i CPU pipelining Max Faxälv Datum: 2018-12-05 1 Abstrakt Speculative execution is an optimisation technique used by modern-day CPU's to guess which path a computer code will take,
Läs merIntroduktion till ARM Cortex-M4
Introduktion till ARM Cortex-M4 Ur innehållet: Historik - ARM ARM/Thumb instruktionsuppsättning Register Adresseringssätt 1 ARM Tidiga datorer Programmering av inbyggda system 1979 Acorn Computers Acorn
Läs merDigitalteknik och Datorarkitektur
Digitalteknik och Datorarkitektur Tentamen Tisdag 12 Januari 2010 Pollacksbackens skrivsal, klockan 08:00 13:00 Examinator: Karl Marklund 018 471 10 49 0704 73 32 17 karl.marklund@it.uu.se Tillåtna hjälpmedel:
Läs merDatorsystem. 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 merExtra 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 merImperativ programmering. Föreläsning 2
Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.
Läs merPARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll
PARALLELL OCH SEKVENTIELL DATABEHANDLING Innehåll Parallellism i VHDL Delta delays och Simuleringstid VHDLs simuleringscykel Aktivering av Processer Parallella och sekventiella uttryck 1 Controller PARALLELLISM
Läs merDatorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943
Datorhistorik Föreläsning 3 Datorhistorik Datorns uppbyggnad, komponenter Processor, primärminne, sekundärminne Minneshierarkier Inbyggda system, stora datorer I think there is a world market for maybe
Läs merEn 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 merEn något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.
1 2 3 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är
Läs mer