Hur det går att minska effektutvecklingen i en processor genom att ändra pipeline

Relevanta dokument
Hantering av hazards i pipelines

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

Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant.

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA

Arm Cortex-A8 Pipeline

Rapport (1,5 HP) Lunds Universitet HT15

Pipelining i Intel Pentium II

Emil Kristiansson Kurs: EDT621 Delmoment: Rapport. En introduktion till Smart cache

Parallellism i CDC 7600, pipelinens ursprung

Hantering av hazards i multi-pipelines

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

Föreläsningsanteckningar 4. Pipelining

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

Parallellism i NVIDIAs Fermi GPU

Pipelining i Intel 80486

Hannes Larsson - IDA 2, LTH Campus Helsingborg. NEC V R 4300i. Interlock-handling EDT621

Hyper Threading Intels implementation av SMT. Datorarkitekturer med operativsystem - EITF60. Felix Danielsson IDA2

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

Pipeline hos ARM Cortex-A53 och ARM Cortex-A73

Hyper-Threading i Intelprocessorer

Så sparas ström i dagens åttabitare

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

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)

Öka prestanda i Shared-Cache multi-core processorer

Spekulativ exekvering i CPU pipelining

32 Bitar Blir 64 Sammanfattning

Processor pipelining genom historien (Intel i9-intel i7)

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Datorarkitekturer med operativsystem ERIK LARSSON

Jacquards vävstol, 1801

Datorteknik. Föreläsning 7 Historia och framtid. Institutionen för elektro- och informationsteknologi, LTH

SIMD i Intel s P5- baserade Pentium MMX

Tentamen den 17 mars 2016 Datorteknik, EIT070

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

Datorteknik ERIK LARSSON

DEC Alpha instruktions Arkitektur

Datorteknik ERIK LARSSON

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Datorarkitekturer med operativsystem ERIK LARSSON

Närliggande allokering Datorteknik

Datorsystem. Tentamen

Datorteknik ERIK LARSSON

Fetch-Execute. Datorteknik. Pipelining. Pipeline diagram (vid en viss tidpunkt)

Anujan Balasingam IDA14 NAND flashminnen

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

4. Pipelining. 4. Pipelining

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

Jämförelse av skrivtekniker till cacheminne

MESI i Intel Core 2 Duo

Prestandapåverkan på databashanterare av flertrådiga processorer. Jesper Dahlgren

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA

SYNKRONISERING I EN SHARED MEMORY MULTIPROCESSOR

Multithreading in Intel Pentium 4 - Hyperthreading

Kärnkraft och värmeböljor

TSEA28 Datorteknik Y (och U)

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

MESI-protokollets funktion i multiprocessorer

En överblick på cachedesignen i Intels mikroarkitektur Nehalem

Exempeltentamen Datorteknik, EIT070,

INSTALLATION OCH KONFIGURATION AV PROGRAM PICBASIC PRO - MICRO CODE STUDIO PLUS - EPIC PLUS

TSEA28 Datorteknik Y (och U)

Superscalar Bra: Hårdvaran löser allt: Hårdvara detekterar poten6ell parallellism av instruk6oner Hårdvara försöker starta exekvering (issue) av så

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON

Cacheminne Intel Core i7

Schemaläggnings metoderna AMP & SMP i en Multiprocessor

Datorsystemteknik DVGA03 Föreläsning 8

Cacheminne i en Intel Core 2 Duo-processor

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON

Grundläggande datavetenskap, 4p

Att köpa ny dator SeniorNet Lidingö Februari-2019

Filöverföring i Windowsmiljö

Komma över Memory wall med 3D stacked minne LTH Ingenjörshögskolan vid Campus Helsingborg Institutionen för datavetenskap

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Tentamen PC-teknik 5 p Lösningar och kommentarer

Digitala System: Datorteknik ERIK LARSSON

Improved-MOESI Cache koherens Protokoll

Tentamen den 18 mars svar Datorteknik, EIT070

Cacheminne i en AMD Opteron Processor

Läsminne Read Only Memory ROM

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

Introduktion till programmering

Parallellprogrammering i C++ 17 EDT621 Datorarkitekturer med Operativsystem Viktor Lindgren

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

Datorsystem. Tentamen

Datorsystemteknik för E/D

Pipelining: Software Optimeringar Av: Gustaf Lagerblad

Aktivitetsschemaläggning för flerkärninga processorer

TSEA28 Datorteknik Y (och U)

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

Utvecklingen från en 8 bitars till en 16 bitars mikroprocessor

SEI, System Efficiency Index det nya sättet att fastställa energieffektivitet

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943

TSEA28 Datorteknik Y (och U)

HF0010. Introduktionskurs i datateknik 1,5 hp

Introduktion till programmering och Python Grundkurs i programmering med Python

Föreläsning 2. Operativsystem och programmering

Transkript:

Hur det går att minska effektutvecklingen i en processor genom att ändra pipeline Linda Wapner HT2018 EITF60

Sammanfattning Effektutvecklingen i en processor har länge ökat genom att klockfrekvensen för prestanda ökats tills den nått en gräns då processorernas kylsystem blivit för stora och kostsamma. När pipeline introducerades minskade effektutvecklingen. För att minska effektutvecklingen ytterligare genom pipeline går det att använda pipeline balancing där pipeline-steg stängs av då processorn behöver mindre prestanda. Denna metod minskar effektutvecklingen med upp till 66 %.Det går även att göra NOP-instruktionen mindre effektkrävande genom att minska på överföringar och på så vis minska effektutvecklingen med 10 %. 1.inledning Effektförbrukningen i en processor är en produkt av kapaciteten, klockfrekvensen och spänningen i kvadrat. Effektutvecklingen består av två delar; den dynamiska och den statiska. Den statiska delen beror på antalet transistorer i processorn och den dynamiska på hur ofta transistorerna switchar mellan 0 och 1, det vill säga hur aktiva de är. Högre aktivitet leder till högre dynamisk effektutveckling. För en processor är bra prestanda viktig. Genom åren har klockfrekvensen ökat för att ge bättre prestanda. Högre klockfrekvens leder till att man kan utföra mer under kortare tid men leder även till att effektförbrukningen blir hög. Effektförbrukningen har nått en gräns, som är även känt som the power wall. the power wall -problemet innebär genom att ökad klockfrekvens leder till ökad effektförbrukning så har effektförbrukningen blivit så hög att det inte är lönsamt att använda dyra kylsystem för att kyla ner processorn på grund av den höga värme som utvecklas. Andra metoder som att minska spänningen, som har kvadratisk påverkan på effektutvecklingen, har använts men även detta har nått en gräns då för låg spänning lett till transistorer börjat läcka mer värme. Bild 1 beskriver hur klockfrekvensen och effektförbrukningen har ökat i korrelation under åren. De senaste åren har forskare lyckats få ner effektförbrukningen något utan att behöva minska klockfrekvensen Detta har forskare lyckats med genom alternativa metoder för att få ner effektförbrukningen utan att tumma på prestanda.

bild 1 2.1 Pipeline; lösningen på the power wall Användandet av pipeline har lett till minskad effektförbrukning genom att effektivisera användningen av processorn och minska klockcykler, utan att minska klockfrekvens och dra ner prestanda. Detta är en alternativ metod att lösa problemet med the power wall. Nedan följer två lösningar på hur man genom att optimera pipeline i processorn kan minska effektförbrukningen ytterligare.(patterson, D. A. and Hennessy, J. L.,2013)

2.2 Pipeline balancing En processor är gjort för att kunna köra flera olika program och se till att alla program har så bra prestanda som möjligt. Men eftersom alla program kräver olika nivåer av prestanda så kör processorn på samma effektivitet på alla program även fast vissa program klarar sig utmärkt med mindre, vilket leder till en onödigt hög effektförbrukning i vissa fall. Det som vill uppnås är att anpassa prestandan efter vilket program som körs och på så vis spara på effektförbrukningen. Detta kan man uppnå med hjälp av en metod som kallas för Pipeline Balancing (PBL). PBL fungerar på det vis att man först kontrollerar hur stort behov av prestanda som programmet behöver. Om programmet inte behöver använda hela processorns kapacitet så går istället processorn in i något som kallas för låg effekt-läge där man minskar på antalet instruktioner som utförs på varje klockcykel. När programmet ändras så återgår processorn till grundläget. Bild 2 På bild 2 syns en superskalär processor med 8 olika pipelines. De 4 översta som är skuggade går att stänga av och på beroende på om man vill vara i lågt effektläge eller om man vill vara i högt effektläge. Det innebär också att som mest kan 8 pipelines vara aktiva och som minst 4 pipelines vara aktiva. I artikeln väljs två olika nivåer av låg effekt-läge ; en där 4 pipelines är aktiva och en där 6 pipelines är aktiva.

Bild 3 I bild 3 syns de olika states som processorn kan befinna sig i. För att inte förlora prestanda så går processorn alltid tillbaka till det normala tillståndet, det vill säga där 8 pipelines är aktiva. I de två olika låg effekt-lägena stänger man av olika funktioner. För att PBL ska fungera maximalt mäter man hur föregående programs behov som körts på processorn sett ut under en viss tid. PÅ det viset kan man förutse hur programmen som körs i framtiden kommer bete sig och på det viset maximera vinsterna av PBL. Minskningen i effektutveckling kan genom PBL bli upp till 66 %(R.I. Bahar.,S.Manne,2002)

2.3 Optimera NOP-instruktionen Det finns tre olika typer av hazards som kan ske i en pipeline-processor; Data, kontroll och struktrella. Data hazards innebär att en intruktion vill ha resultat från en föregående intruktion som ej har skrivit över sitt nya resultat än. Data hazards går att lösa genom att använda en forward-unit som försöker hitta något den kan göra under tiden som är oberoende av resultatet från den instruktion som inte är klar och på så vis utnyttja alla steg i pipeliningen och minska antalet klockcykler. Bild 4 visar hur forwarding effektiviserar processorn. Bild 4 Men om forward unit inte hittar något att göra under tiden kommer istället en kontroll-signal göra en stall och sätta in en NOP-intruktion. När en NOP-operation sätts in leder det till minskad prestanda på grund av mindre effektiv pipeline. Kontroll-signalen avaktiverar andra signaler när den sätter in en NOP, bland annat skriva till minne. Detta kommer leda till ökade övergångar som innebär att transistorerna switchar mellan 0 och 1 fler gånger. Detta leder i sin tur till ökad dynamisk effektutveckling. Data-delen från föregående operation blir låst och ändras till data för NOP-instruktionen. Detta leder också till ökade övergångar när ändringen sker. Övergångarna sker i onödan då data i NOP inte bidrar till någon nytta. För att minska på dessa övergångar kan data i NOP ändras till den data från föregående eller efterföljande instruktion. På grund av att data från efterföljande instruktion ännu är okänd väljs data från den föregående att användas. På det viset minskas övergångar. För att genomföra detta har signalen som möjliggör att ladda data avaktiveras när NOP sätts in. Det leder till att ny data inte laddas in och övergångarna minskar. Denna lösning har

visat sig minska effektutvecklingen i processorn med 10 %.(Lofti-Kamran et al,2008) 3. slutsats Användning av pipeline i en processor har minskat effektutvecklingen i processorn. För att göra pipeline ännu mer effektsnål går det att använda pipeline balancing där man utnyttjar det faktum att alla program behöver olika hög prestanda. På det viset kan man anpassa effektförbrukningen genom att stänga av pipeline-steg när mindre prestanda behövs och på det viset spara på effektförbrukningen. En annan metod för detta är att ändra på NOPinstruktionen. Dessa två metoder är oberoende av varandra och går därför att användas samtidigt. Båda har en väsentlig minskning i effektutvecklingen då den första visar minskning med upp till 66 % och den andra visar en minskning med 10 %. I den första beror effektminskningen på vilka program det är som körs och därav kan minskningen variera enormt.

4. referenser 1. Patterson, D. A. and Hennessy, J. L. (2013). Computer organization and design: the hardware/software interface. Oxford: Morgan Kaufmann, cop. 2014 (The Morgan Kaufmann series in computer architecture and design). 2. R.I. Bahar.,S.Manne. (2002) Power and enery reduction via pipeline balancing. IEEE Micro. 3. Lotfi-Kamran P., Rahmani A., Salehpour A., Afzali-Kusha A. och Navabi Z. (2008). Stall Power Reduction in Pipelined Architecture Processors. IEEE Micro.