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

Relevanta dokument
Pipelining i Intel Pentium II

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)

Datorarkitekturer med operativsystem ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON

Datorsystemteknik DVGA03 Föreläsning 8

Datorarkitekturer med operativsystem ERIK LARSSON

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.

Grundläggande datavetenskap, 4p

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

Processor pipelining genom historien (Intel i9-intel i7)

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

Pipelining i Intel 80486

Hantering av hazards i pipelines

4. Pipelining. 4. Pipelining

Närliggande allokering Datorteknik

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

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

Digitala System: Datorteknik ERIK LARSSON

Arm Cortex-A8 Pipeline

Hantering av hazards i multi-pipelines

TSEA28 Datorteknik Y (och U)

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

Datorarkitekturer med operativsystem ERIK LARSSON

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

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

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

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

DatorsystemteknikDAVA14 Föreläsning 9

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

TSEA28 Datorteknik Y (och U)

Parallellism i CDC 7600, pipelinens ursprung

Datorarkitekturer med operativsystem ERIK LARSSON

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

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

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

Introduktion till ARM Cortex-M4

Cacheminne i en Intel Core 2 Duo-processor

Tenta i Digitalteknik

Datorteknik ERIK LARSSON

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

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

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

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

Digitalteknik och Datorarkitektur

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON

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

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

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

DEC Alpha instruktions Arkitektur

Digitalteknik och Datorarkitektur 5hp

IT för personligt arbete F5

Datorsystem. Tentamen

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

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

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

Tentamen den 18 mars svar Datorteknik, EIT070

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

Spekulativ exekvering i CPU pipelining

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

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

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

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

Parallellism i NVIDIAs Fermi GPU

MESI i Intel Core 2 Duo

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

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

Omtentamen i CDT204 - Datorarkitektur

Cache-koherens protokoll MESI och MOSI

Exempeltentamen Datorteknik, EIT070,

Digitalteknik och Datorarkitektur 5hp

OBS!! Detta är DEL 2 av tentan. För att få ut denna måste du ha lämnat in del 1. Om du inte fått ut del 1 bör du meddela skrivningsvakten. OBS!!

Program Datorteknik. Kontrollenhet. Exekvering av en instruktion. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk.

Datorteknik ERIK LARSSON

Föreläsningsanteckningar till Konstruktionsmetoder

Tentamen PC-teknik 5 p

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

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

Föreläsningsanteckningar 4. Pipelining

Datorarkitekturer med operativsystem ERIK LARSSON

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

Hyper-Threading i Intelprocessorer

Läsminne Read Only Memory ROM

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

Datorarkitekturer med operativsystem ERIK LARSSON

Datorsystemteknik för E/D

Datorsystem. Tentamen

Tentamen PC-teknik 5 p

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

Global Positioning System GPS i funktion

Tentamen. Datorteknik Y, TSEA28

Pipeline hos ARM Cortex-A53 och ARM Cortex-A73

Cacheminne i en AMD Opteron Processor

Snapdragon 810: Cacheminnet

TSEA28 Datorteknik Y (och U)

Datorsystem. Exempeltentamen

Datorteknik ERIK LARSSON

Tenta i Digitalteknik

Transkript:

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 fyra och visar hur dem prestandan av dem samt visar hur mycket av en förbättring en flerkärnig mikroprocessor sett ur en prestandavinkel. POWER4 mikroprocessorns pipelines förklaras även steg för steg i detalj utan att diskutera synkroniseringen mellan kärnorna.

Bakgrund År 2001 släppte IBM världens första mikroprocessor med flera kärnor, POWER4. Den använde sig av 64-bitars PowerPC arkitekturen som skapades av Apple IBM Motorola alliansen 1992. POWER4 processorn är den 4:e generationen av IBM:s POWER serie. Versionerna ett genom fyra kommer diskuteras för att ge ett perspektiv på hur utvecklingen i mikroprocessorer såg ut upp till att POWER4 processorn släpptes. POWER1 POWER1 introducerades år 1990 i samband med introduktionen av IBM RS/600 POWERserver servern och POWERstation arbetsdatorn, vilket innehöll en POWER1 klockad på 20, 25 eller 30 MHz. POWER1 hade två uppgraderade versioner, POWER1+ som hade klockhastigheterna 25, 33 och 41 MHz och POWER1++ som hade hastigheterna 25, 33, 41.6, 45, 50 och 62.6 MHz. POWER2 POWER2 introducerades år 1993 som var uppföljaren till POWER1-generationen. Dem första POWER2 maskinerna använde modellerna 58H, 590 och 990 som hade respektive hastigheter 55, 66.5 och 71.5 MHz. Den största förbättringen från POWER1 var att två floating-point multipliceringar/additioner kunde utföras under en klockcykel. POWER3 POWER3 introducerades år 1998 och kombinerade designen av POWER2 mikroarkitekturen och PowerPC arkitekturen för att nå en hastighet på 200 MHz. En uppgraderad version, POWER3-II lyckades nå en hastighet på 450 MHz genom att använda kopparteknologi. POWER4 POWER4 introducerades år 2001 och var den första kommersiella flerkärniga processorn. Basmodellen lyckades uppnå en hastighet på 1.1 och 1.3 GHz medans en uppgraderad version, POWER4+ lyckades nå 1.9 GHz. POWER4 processorn innehåller två stycken mikroprocessorkärnor varav båda har 64KB L1 instruktionscache och ett 32 KB L1 datacache.

Syfte Syftet med denna rapport är att ge läsaren insikt i utvecklingen mellan den första flerkärniga mikroprocessorn och dem enkelkärniga mikroprocessorerna med fokus på dess pipelines. Avgränsning Datainsamlingen till denna rapport skedde till största delen genom att granska en instruktionsmanual som gavs ut av samma företag som skapade POWER4 mikroprocessorn, IBM. Synkronisering krävs även mellan de olika kärnorna men denna rapport tar bara upp pipelines inom var kärna. Pipelining För att läsaren lättare ska kunna förstå och tolka hur pipelining fungerar i POWER4 mikroprocessorn kommer simpel pipelining förklaras i denna del. Pipelining är ett sätt att öka genomströmning i en processor då inte alla steg i en processor inte används samtidigt. En instruktion kan delas in i fem steg. Instruction Fetch IF, Instruction Decode ID, Execute EX, Memory Access MEM, Register Write Back WB. En uppdelad instruktion sker alltid I samma ordning, då till exempel instruktioner hämtas i IF används inte samma del av processorn som i ID. På så sätt kan man lägga flera instruktioner på varandra och öka genomströmningen.

POWER4 Pipelinen Pipelinen i en POWER4 processor är uppdelad i 17 olika steg som kan ses i bilden nedan. Varje steg kommer att diskuteras och förklaras i ett eget stycke. Steg 1 IF Instruction Fetch I det första steget IF, Instruction Fetch kan vilka instruktioner som ska hämtas bestämmas av Branch Redirects, Branch Prediction och Interrupts och Flushes. Dessa kommer att förklaras i sina egna steg. Steg 2 IC Instruction Cracking/Millicoding I det andra steget sker det som är kallat cracking och millicoding, vilket är när mer komplexa PowerPC instruktioner bryts ner i två eller fler simplare instruktioner. Detta sker för att senare kunna dela upp dem i grupper i stegen D0 D3. När en PowerPC instruktion bryts ner i två simplare instruktioner kallas det cracking, exempel på vanliga instruktioner är: Alla load/store-update, bryts ner i load/store + addi. X-form fixed-point stores, bryts ner i add + store. Load Algebraic, bryts ner i load + sign extend. När en PowerPC instruktion bryts ner i fler än två instruktioner kallas dem millicoded instruktioner, exempel på några vanliga instruktioner är: Lmw (Load Multiple Word) och lswi (Load String Word Immediate), bryts ner i flera load word och load word Immediate instruktioner. Mtcrf (Move to Condition Register Fields) Mtxer och mfxer (Move to Special-Purpose Register) Steg 3 BP Branch Prediction Branch Prediction analyserar vilka instruktioner som skickats vidare från steg två och letar efter villkorliga instruktioner som kan ändra vilka instruktioner som ska skickas ut när det redan skickats ut de instruktioner som kom efter det villkorliga branch-instruktionen. En förutsägelse görs och säger till IF att skicka instruktioner. Om en felaktig förutsägelse görs kan minst 12 cykler förloras.

Steg 3 8 D0-D4, Xfer, GD Instruction Grouping Grupper om upp till fem instruktioner formas där var instruktion tar upp en plats i gruppen numrerade 0 4. Efter en grupp ställts samman görs den redo för dispatch, vilket är processen av att sända instruktionsgruppen till respektive köer vilket sker i stegen Xfer och GD. Steg 9 MP Mapping Under Mapping-cykeln bestäms till vilken av de fyra pipelines gruppen ska till beroende av innehållet i grupperna. Steg 10 16 Pipelines Dem fyra pipelines behandlar olika sorters instruktioner. Dem alla har fyra steg som alla pipelines går igenom. Dessa förklaras tillsammans medans stegen 12 14 förklaras var för sig. BR Behandlar branch-operationer. LD/ST Behandlar load/store-operationer. FX Behandlar enkel aritmetik, logiska och shifting-operationer FP Samma som FX men behandlar även SPR (Special-Purpose Register) operationer. Steg 10-11 ISS, RF Issue och Register File access Under ISS steget, instruktioner som är redo att exekveras dras ut ur deras respektive grupp och går in i RF-steget. I RF-steget läser dem av sina operander från register. Om det är mer än två instruktioner i en speciell kö redo att exekvera, exekveras den äldsta instruktionen först för att förhindra förseningar och eventuella hazards. Steg 12-14 BR Branch Pipeline Branchpipelinen har bara ett steg, EX, som exekverar och ser om villkorliga branchinstruktioner uppfylls. Om villkoren uppfylls skickas en Branch Redirect signal tillbaka till steg 1. Steg 12-14 LD/ST Load/Store Pipeline Load/Store Pipelinen har tre unika steg. EA, DC och Fmt. Alla dessa tre stegens uppgift är att se till att data kan hämtas och lagras medans samtidigt undvika data hazards och liknande. Steg 12-14 FX Fixed-Point Execution Pipeline Fixed-Point Execution Pipelinen behandlar enkel aritmetik, logiska operationer som AND, ELSE och liknande och samt även shifting-operationer. Steg 12-14 FP Floating-Point Execution Pipeline Floating-Point Execution Pipelinen behandlar samma saker som Fixed-Point Execution Pipelinen men hanterar även SPR (Special-Purpose Register) operationer. Steg 15 17 WB, Xfer och CP Write Back, Xfer och Group Completion WB är ett av dem sista stegen, och i detta steget skrivs data tillbaka i minnen. Därefter samlas gruppen upp igen i Xfer och går tillsammans till CP. En instruktion eller grupp av instruktioner anses inte som färdiga om inte alla instruktioner i gruppen är slutförda.

Slutdiskussion Målet med rapporten var att förklara för läsaren hur en POWER4-mikroprocessors pipelines såg ut, vilket är ett relativt avancerat system som kräver att läsaren kan förstå grunder inom datateknik samt en rad olika tekniska termer som har med ämnet i fråga att göra. Rapporten försöker förklara var steg i pipelineprocessen inom var kärna utan att diskutera synkroniseringen runt att ha flera kärnor då rapporten fokuserar på pipelines i en av POWER4 mikroprocessorns kärnor.

Referenser Behling, S., Bell, R., Farrell, P., Holthoff, H., O Connell, F. and Weil, W. (2016). The POWER4 Processor Introduction and Tuning Guide. [ebook] Redbooks. Available at: http://www.redbooks.ibm.com/redbooks/pdfs/sg247041.pdf.