Intel Core i7. Omid Mirmotahari 4

Like dokumenter
Intel Core i7. Omid Mirmotahari 4

IN1020. Datamaskinarkitektur

Dagens temaer. Mer om adresseringsmodi. Indeksert adressering med offset og auto-inkrement eller dekrement. Register-indirekte adressering

Oppsummering av digitalteknikkdelen

INF2270. Datamaskin Arkitektur

Dagens temaer. Dagens emner er hentet fra Englander kapittel 10 (side ) Mer om adresseringsmodi. RISC og CISC-prosessorer.

IN1020. Minnehierarki

Dagens temaer. tema er hentet fra kapittel 4.3 og 4.4 om pipelining. til neste ukes forelesning (hvis tid) INF ! Mikrokode. !

INF2270. Datamaskin Arkitektur

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Notater: INF2270. Veronika Heimsbakk 10. juni 2014

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

Dagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM)

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design.

Dagens tema. Dagens tema er hentet fra kapittel 4.3 og 4.4. Mer om pipelining Ytelse Hasarder. Pipelining i Pentium-arkitekturen

Oppgave 2 Maskinkode (vekt 12%)

Løsningsforslag til eksamen i INF2270

Fortsetelse Microarchitecture level

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

tema er hentet fra kapittel 4.3 og 4.4 om pipelining Mikroprogrammert Dagens temaer Hard-wired Mikrokode Hasarder Ytelse

Datamaskinens oppbygning

! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon

Dagens tema. Flere teknikker for å øke hastigheten

EKSAMENSOPPGAVE, INF-2200

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

INF2270. Minnehierarki

SIE 4005, 2/10 (2. Forelesn.)

Oppsummering digital-teknikk, teknikk, INF2270

Løsningsforslag til eksamen i INF2270

Oppgave 1 - Linux kommandolinje (%)

UNIVERSITETET I OSLO

INF2270. Input / Output (I/O)

Innhold. Oppgave 1 Oversettelse (vekt 15%)

4/2 enkel pipelining in 147, våren 1997 pipelining 1. Pipelining. når tema læreboka. 11/3 problemer

Dagens temaer. Praktisk anvendelse: Satellittkommunikasjon. eksempler på bruk av assembler/c/arkitektur teknikker for å øke hastigheten

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

INF2270. Input / Output (I/O)

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

befinner seg. Deretter leses instruksjonen fra i registerfilen ved ny stigende klokkepuls.

Dagens temaer. eksempler på bruk av assembler/c/arkitektur teknikker for å øke hastigheten. Organisation and Architecture )

UNIVERSITETET I OSLO

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Dagens temaer. Virtuell hukommelse. Sidetabell. Virtuell hukommelse (forts.)

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Dagens temaer. Virtuell hukommelse (kapittel 9.9 i læreboken) Pentium-arkitekturen i mer detalj INF 1070

Forelesning 5. Diverse komponenter/større system

INF2270. Omid Mirmotahari SUPERSCALAR CPUs

Seksjon 1. INF2270-V16 Forside. Eksamen INF2270. Dato 1. juni 2016 Tid Alle trykte og skrevne hjelpemidler, og en kalkulator, er tillatt.

INF1400 Kap4rest Kombinatorisk Logikk

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

INF1400. Kombinatorisk Logikk

INF1400. Kombinatorisk Logikk

Dataveier og optimalisering. Kapittel 9

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Kapittel 6. Høynivå møter lavnivå Fra C til assembly Fra assembly til maskinkode Linking og lasting

Eksamen INF2270 våren 2018

4/5 store parallelle maskiner /4 felles hukommelse in 147, våren 1999 parallelle datamaskiner 1. når tema pensum.

! Repetisjon: ! Forutsetinger: ! Ideelt sett gir en k-trinns pipeline en faktor k i hastighetsøkning. ! Benyttes derimot ekte pipelining, behøves

Dagens temaer. Dagens temaer er hentet fra Englander kapittel 12 side (2. utgave), side (3. utgave)

TDT4258 Eksamen vår 2013

UNIVERSITETET I OSLO

Fortsetelse Microarchitecture level

Cache (repetisjon) Cache (repetisjon) Cache (repetisjon) Dagens temaer. CPU Cache RAM. om cache-hukommelse (kapittel 6.5 i Computer Organisation

Forelesning Instruksjonstyper Kap 5.5

Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon)

bruksområder og oppbygging om cache-hukommelse (kapittel 6.5 i Computer Organisation Dagens temaer and Architecture ) ROM RAM

SIE 4005, 9/10 (4. Forelesn.)

ulike stegene utføres på egne hardware-enheter som ikke er instruksjon kan deles opp i sekvensielle steg som løses etterhverandre

Institiutt for informatikk og e-læring, NTNU Kontrollenheten Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP

TDT DESEMBER, 2011, 09:00 13:00

Forelesning ISA-nivået Kap 5.1

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse

Dagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser

Dagens tema. Mer om cache-hukommelse Kapittel 6.5 i Computer Organisation and Architecture ) RAM. Typer, bruksområder og oppbygging 2008 ROM

UNIVERSITETET I OSLO

Oppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):

Phu Pham Laboppgave 29. September 2015

Kapittel 4: Microarchitecture level

Forelesning Forgreningspredikering Kap 4.5 Superskalaritet Kap 4.5 Spekulativ utføring Kap 4.5

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene?

INF1400. Digital teknologi. Joakim Myrvoll 2014

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

INF1400. Sekvensiell logikk del 1

Maskinvaredelen av INF 103: oversikt og innhold (1)

IN1020. Logiske porter om forenkling til ALU

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

Vi anbefaler at du setter deg litt inn i maskinen på forhånd. Det er en DELL Optiplex 620.

Løsningsforslag eksamen TDT4160 høsten 2005

INF1400. Karnaughdiagram

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.

Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):

Into da BIOS<3. Bak Skallet

TDT DESEMBER, 2009, 09:00 13:00

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)

Transkript:

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

Eksempel 5

Oppsummering av én-sykel implementasjon Høy effektivitet oppnås gjennom: Omid Mirmotahari 6

(1) Alle instruksjoner bruker én klokkesykel Klokkeperioden må være like lang som den lengste forsinkelsen for enhver instruksjon gjennom data-path en Resultat Mulig løsning Vurdering Omid Mirmotahari 7

(2) Bruke flere identiske komponenter Trenger flere like komponenter som egentlig gjør samme jobb Resultat Mulig løsning Vurdering Omid Mirmotahari 8

(3) Inst. MEM og Data MEM aksesseres samtidig Må kunne aksessere to forskjellig lokasjoner i samme minne-enhet samtidig. Resultat Mulig løsning Vurdering Omid Mirmotahari 9

Forbedring av én-sykel designet Innfører to nye strategier for å øke hastighet: Omid Mirmotahari 10

Multicycle Multi-cycle bruker mer enn én klokkesykel per instruksjon hvis nødvendig De ulike trinnene i en instruksjon kan dele samme komponent Trenger ikke separat data- og instruksjonsminne Trenger ekstra registre for å mellomlagre data Omid Mirmotahari 11

Multi cycle Omid Mirmotahari 12

Pipelining Innfører samlebåndsprinsipp for eksekvering av instruksjoner Hver instruksjon må splittes opp i uavhengige deler (subinstruksjoner) som utføres etter hverandre Hver subinstruksjon kan utføres uavhengig av de andre subinstruksjonene Neste instruksjon settes igang før forrige instruksjon er helt ferdig. NB!! Hver instruksjon tar like lang tid å utføre, men prosessoren utfører flere instruksjoner i et gitt tidsrom! Omid Mirmotahari 13

Pipelining - Analogi Vasking av klær Omid Mirmotahari 14

Omid Mirmotahari 15

Pipelining instruksjonssett Eksempelvis kan vi ha følgende subinstruksjoner i en pipeline PS! Read og write fra register/mem kan gjøres i hver sin halvdel av en sykel (1/2 klokkeperiode) Omid Mirmotahari 16

Omid Mirmotahari 17

Omid Mirmotahari 18

Pipeline med flere trinn Denne 4-trinns pipeline er den korteste som finnes for en CPU. Moderne CPU bruker vesentlig flere trinn Pentium III hadde 16 trinn, Pentium 4 hadde 31 trinn Omid Mirmotahari 19

Speed-up Det å ha en 4 trinns pipeline betyr ikke at man får 4 ganger raskere prosessering. Det går alltid noe tid bort til administrering av instruksjoner. Omid Mirmotahari 20

Effektiv speed-up En k-trinns pipeline som trenger én klokkesykel pr trinn med eksekverering av n instruksjoner vil ha en speed-up på: For veldig store programmer så vil vi nærme oss k, men dette skal vi se i neste foil hvorfor vi ikke klarer. Omid Mirmotahari 21

Komplikasjoner ved pipelining Til enhver tid kan det være subinstruksjoner fra opptil 4 instruksjoner i en pipeline Noen ganger er ikke alle subinstruksjonene gyldige Neste instruksjon kan ikke eksekveres rett etter hvis hoppbetingelsen slår til En slik situasjon kalles HAZARD. Vi har tre typer:. Omid Mirmotahari 22

Resource Hazard Kan oppstå hvis to subinstruksjoner i pipelinen ønsker å aksessere samme ressurs (eks minne) Løsning 1: Løsning 2: Løsning 3: Løsning 4:. Omid Mirmotahari 23

Resource Hazard Andre resources kan også gi harzards, litt avhengig av hvordan CPU arkitekturen er bygget opp Minne Cache Register files Busser ALU osv Omid Mirmotahari 24

Data Hazard Data hazard oppstår fordi to forskjellige instruksjoner trenger å aksessere samme data samtidig. Trenger resultat fra forrige instruksjon før denne har produsert gyldig svar. Omid Mirmotahari 25

Data Hazard Omid Mirmotahari 26

Data Hazard Løsning 1: Løsning 2: Løsning 3: Omid Mirmotahari 27

Data Hazard Løsning 3 er bedre fordi alt skjer i hardware og ikke i kompilatoren. Forwarding benyttes også mellom andre enheter i datapathen, feks mellom utgangen av MEM og inngangen til ALU Omid Mirmotahari 28

Control Hazard I utgangspunktet har vi tenkt en pipeline som innhenter neste instruksjoner fortløpende. Men problemet oppstår når vi får en JUMP instruksjon. Da må vi tømme pipelinen for andre instruksjoner og lese inn den nye. Omid Mirmotahari 29

Control Hazard Omid Mirmotahari 30

Control Hazard Løsning 1: Løsning 2: Løsning 3: Omid Mirmotahari 31