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



Relevanta dokument
4. Pipelining. 4. Pipelining

Föreläsningsanteckningar 4. Pipelining

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

Föreläsning 5 1 CPI Sammanfattning pipelining Cacheminnen

Datorsystemteknik DVGA03 Föreläsning 8

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

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

DatorsystemteknikDAVA14 Föreläsning 9

Digitala System: Datorteknik ERIK LARSSON

Föreläsningsanteckningar 5. Cacheminnen

Tentamen Datorteknik D del 2, TSEA49

Grundläggande datavetenskap, 4p

TSEA28 Datorteknik Y (och U)

Mikroprogrammering I

Föreläsningsanteckningar 2. Mikroprogrammering I

Datorarkitekturer med operativsystem ERIK LARSSON

3. Mikroprogrammering II

TSEA28 Datorteknik Y (och U)

Tenta i Digitalteknik

Digitala System: Datorteknik ERIK LARSSON

Närliggande allokering Datorteknik

Föreläsningsanteckningar 3. Mikroprogrammering II

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.

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

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Institutionen för datavetenskap 2014/15

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)

Associativt minne ... A= adress till PM/CM CL = cachelinens storlek CM = cacheminnets storlek. Tag = A/CL = A/2 4 = A(31:4) Adress. K tag.

6. Minnen. Associativt minne

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

Hantering av hazards i pipelines

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

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

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

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

Läsminne Read Only Memory ROM

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

Digitalteknik och Datorarkitektur 5hp

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

Pipelining i Intel 80486

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

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Datorarkitekturer med operativsystem ERIK LARSSON

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

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

Arm Cortex-A8 Pipeline

Tentamen den 18 mars svar Datorteknik, EIT070

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

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

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt

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

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

Minnet från processorns sida Datorteknik

Hantering av hazards i multi-pipelines

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

Datorsystem Laboration 2: Minnesmappade bussar

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

Omtentamen i CDT204 - Datorarkitektur

Datorarkitekturer med operativsystem ERIK LARSSON

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

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

CE_O1. Nios II. Enkla assembler-instruktioner.

VHDL3. Angående buffer

HF0010. Introduktionskurs i datateknik 1,5 hp

Digitalteknik och Datorarkitektur 5hp

Stack och subrutiner Programmeringskonventionen

TSEA28 Datorteknik Y (och U)

Till assemblersystemet Zuper 80 Assembler krävs en SPECTRAVIDEO 328/318+minst 16K ram extra.

Processor pipelining genom historien (Intel i9-intel i7)

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

Programmerbar logik. Kapitel 4

Pipelining i Intel Pentium II

Datorarkitektur. Fö 9: Datorarkitektur. Datororganisation. Typiska Arkitekturattribut. Introduktion till datorarkitektur.

Att vara fotbollsförälder i Jönköpings Södra IF

TSEA28 Datorteknik Y (och U)

Det finns en hemsida. Adressen är

Datorteknik ERIK LARSSON

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

TSEA28 Datorteknik Y (och U)

Datorteknik ERIK LARSSON

TSEA28 Datorteknik Y (och U)

Datorteknik ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

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

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

Problem: BOW Bowling. Regler för Bowling. swedish. BOI 2015, dag 1. Tillgängligt minne: 256 MB

Generell Analys. 3. Det är viktigt att du väljer ett svar i vart och ett av de åttio blocken.

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

Digitalteknik och Datorarkitektur

Pipeline hos ARM Cortex-A53 och ARM Cortex-A73

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: minuter beroende på variant Material: TI-82/83/84 samt tärningar

Svenska som andraspråk

Programexempel för FLEX

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

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

Assemblerprogrammering för ARM del 2

Transkript:

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 1 2 M mem AR Alltså 11 CPI (clocks per instructions) Vi siktar på 1 CPI! IN Vad bör göras? Parallellism Gör fler saker samtidigt Pipelining Gör fler saker samtidigt RISC(reduced instruction set computer) Förenkla instruktionerna så att pipelining kan införas => gör dem likadana Öka klockfrekvensen x y Leta rätt på längsta tidsfördröjningen mellan två register. alla den T. Då gäller f < 1/T Omplacering av register Ta bort onödiga register Förbättrat mem Nya LDA 13 Hämta 1 CP 2 1CP Absolut 1 CP Steg 1 data adress ADR XR 1 2 SP M AR EXE 1CP IN mem

Skilda program- och dataminnen Bredare programminne, så att hela instruktionen kan hämtas på 1 CP OP M byte Steg 2 Flera register! adress ADR pmem R0 R1 R2 R3 R0 R1 R2 R3 Nya LDA 13 Hämta 1 CP 2 1CP Absolut EXE 1 CP AR XR SP 1 2 M byte mem Eempelis: Exempelvis: ; R3 = R2R1 RISC = reduced instruction set computer Steg 3 1 Vi avskaffar XR,SP och inför generella register Vi avskaffar a-moderna ADD Rx,Ry,Rz inga andra a-moder! LD Rx,(Ry) enda sättet att läsa i minnet! ST (Rx),Ry enda sättet att skriva i minnet! Vi avskaffar M och mikroprogrammering Alla snuttar tar 1 CP ADD Rx,Ry,Rz LD Rx,(Ry) ST (Ry),Rx JMP N ADDI Rx,Ry, pmem byte Instruction decoder Hämta 1CP Exe 1CP Förhämtning! 1 CPI, clock per instruction R0 R1 R2 R3

lassisk 5-stegs pipeline pmem 4 Inspirerad av OpenRISC Annat exempel: ARM (mobiltelefon) 5 steg IF: instruction fetch RR: register read EXE: execute MEM: read/write WB: write back register Några instruktioner 6 5 5 5 ADD Rd, Ra, Rb ; Rd=RaRb OP d a b - 16 ADD Rd, Ra, ; Rd=Ra OP d a 16 MOVHI Rd, ; RdH=,RdL=0 OP d - 16 LD Rd, (Ra) ; Rd=(Ra) OP d a 11 ST (Ra), Rb ; (Ra)=Rb OP a b SFEQ Ra, Rb ; F = (A==B)?1:0 OP - a b - 26 JMP ; = OP BF ; = F? : 4 OP 4:LD R6,(R5) 0 pmem 4 4:LD R6,(R5) 4 pmem 4 Några snälla instruk- tioner

4:LD R6,(R5) 8 pmem 4 4:LD R6,(R5) C pmem 4 LD R6,(R5) SFEQ R7,R8 R1 R2 LD R6,(R5) R5 R1R2 4:LD R6,(R5) 10 pmem 4 4:LD R6,(R5) 14 pmem 4 XXX YYY R3 SFEQ R7,R8 XXX LD R6,(R5) R5 SFEQ R7,R8 F R1R2 LD R6,(R5) DM(R5)

Problem Hårdvarukonflikter, redan fixat i vår maskin Två minnen, pmem och Separat adderare för adresser Fördröjda hopp Instruktionen efter hoppet exekveras alltid Databeroenden Registren läses i steg 2 men skrivs i steg 5 Pipelinen måste i vissa lägen stängas av stall 0:SFEQ 4:BF 8:XXX C:YYY... 20:ZZZ Fördröjt hopp med branch penalty 8 pmem 4 BF SFEQ 4 0:ADD R5,R2,R1 4:ADD R6,R5,R5 pmem 4 Databeroende Registerfilen kan innehålla gamla data! Var kan nya resultat finnas?,, Databeroende ADD R6,R5,R5 5 5 ADD R5,R2,R1 3 Hur ska muxarna styras? if.op == instruktion som läser reg. if.op == instruktion som skriver reg. if.a ==.d muxarn = ; else /

0:LD R3,(R2) 4:ADD R4,R3,R3 pmem 4 Det finns mer! Pipeline stall ADD R4,R3,R3 LD R3,(R2) R3 R3 ADD R4,R3,R3 LD R3,(R2) Vi låter LD fortsätta -> -> -> -> När ska vi stalla? an man göra något åt hoppen? BPT: Branch Prediction Table Utformat som associativt minne Dyrt en komparator per rad Strongly not taken Not taken Taken Strongly taken BPT pmem 4 BPT Hoppets adress Hoppadress Hoppstatistik Hoppets adress Hoppadress Hoppstatistik Hoppets adress Hoppadress Hoppstatistik Skiss: Varje gång ett hopp påträffas 1) Finns inte i BPT: stoppa in det och uppdatera hoppstatistiken 2) Finns i BPT: läs ut hoppadressen