Cacheminne i en AMD Opteron Processor

Relevanta dokument
Cacheminne i en Intel Core 2 Duo-processor

Cache-koherens protokoll MESI och MOSI

Datorarkitekturer med Operativsystem

Rapport (1,5 HP) Lunds Universitet HT15

Cacheminne Intel Core i7

MESI i Intel Core 2 Duo

Minnessystem. Minneshierarki. Flyktigt eller icke flyktigt huvudsakliga egenskaper. Minneshierarki

MESI-Protokollet. Richard Elvhammar. Lund Universitet 4/12-16

En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn.

Tentamen den 17 mars 2016 Datorteknik, EIT070

Digital- och datorteknik

Mer datorarkitektur. En titt I datorn Minnen

MESI protokollet och dess derivater

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar

Jämförelse av skrivtekniker till cacheminne

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

Datorsystemteknik för E/D

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU.

Digitalteknik och Datorarkitektur 5hp

Cache coherence hos multicoreprocessorer

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

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

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

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

MESI-protokollets funktion i multiprocessorer

Schemaläggnings metoderna AMP & SMP i en Multiprocessor

Digital- och datorteknik

Snapdragon 810: Cacheminnet

Hantering av hazards i pipelines

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

Digitala System: Datorteknik ERIK LARSSON

Minnet från processorns sida Datorteknik

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering

Grundläggande datavetenskap, 4p

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

Datorarkitekturer med operativsystem ERIK LARSSON

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Aktivitetsschemaläggning för flerkärninga processorer

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

Improved-MOESI Cache koherens Protokoll

Parallellism i CDC 7600, pipelinens ursprung

Filsystem - Inode. Datorteknik. Minnets komponenter. Programexekvering. Enhet för indata. Enhet för utdata CPU. Primärminne.

HF0010. Introduktionskurs i datateknik 1,5 hp

CE_O5. Cacheminne. Hemlaboration 2.

SYNKRONISERING I EN SHARED MEMORY MULTIPROCESSOR

Att köpa ny dator SeniorNet Lidingö September-2017

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne.

Processor pipelining genom historien (Intel i9-intel i7)

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

Föreläsningsanteckningar 5. Cacheminnen

Minnen. Informationsteknologi sommarkurs 5p, Agenda. Slideset 4

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Pipelining i Intel 80486

Läsminne Read Only Memory ROM

Dugga 1 status 41 godkända 39 ej godkända ERIK LARSSON

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)

Tentamen den 18 mars svar Datorteknik, EIT070

IT-GUIDE Version 1.0 Författare: Juha Söderqvist

Datorsystem. Tentamen

En överblick på cachedesignen i Intels mikroarkitektur Nehalem

TSEA28 Datorteknik Y (och U)

Anujan Balasingam IDA14 NAND flashminnen

Hyper-Threading i Intelprocessorer

Att köpa ny dator SeniorNet Lidingö Januari-2016

Uppgift 1: a) u= a c + a bc+ ab d +b cd

F9: Minne. Sammansättning av minnesgrupper Ansluta minne till Interface till olika typer av minnen Användningsområden.

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

Spekulativ exekvering i CPU pipelining

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

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

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

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

Några gamla tentamensuppgifter: Minneshantering

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

Minnen delas in i två huvudgrupper, permanenta och icke permanenta. Non-volatile and volatile.

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

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

CE_O8. Cacheminne. Hemlaboration 2.

Multithreading in Intel Pentium 4 - Hyperthreading

Datorarkitekturer med operativsystem ERIK LARSSON

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

F9: Minne. Minneskonfiguration. Sammansättning av minnesgrupper Ansluta minne till Interface till olika typer av minnen Användningsområden

DIG IN TO Administration av nätverk- och serverutrustning

Öka prestanda i Shared-Cache multi-core processorer

Hantering av hazards i multi-pipelines

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

Exempeltentamen Datorteknik, EIT070,

Datorteknik ERIK LARSSON

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

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

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

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

TSEA28 Datorteknik Y (och U)

Datorhårdvaruteknik 1DV426 - Seminarie 1

Datorsystem. Exempeltentamen

Digitala System: Datorteknik ERIK LARSSON

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

Hantering av begränsat antal skrivningar på Solid State diskar

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

Lösningsförslag till Tenta i Mikrodator

Transkript:

Handledare: Erik Larsson Lunds Tekniska Högskola HT15 Cacheminne i en AMD Opteron Processor En rapport om cacheminne och dess struktur, i en 12 kärnig AMD Opteron Magny-Cours processor. Författare: Hamza Abdulilah

Abstrakt I dagsläget har vi många olika minnestyper och ett av dem är Static Random Acess Memory, SRAM vilket används i cacheminnen för processorer. Metoderna som använts är undersökning av tidigare högkvalitativa arbeten som rör området. Detta arbete visar på hur strukturen för cacheminnet i AMD Magny-Cours ser ut, och hur de olika delarna fungerar ihop med varandra. Det diskuteras och jämförs kort med en annan, nyare processors cacheminne. Nyckelord: Cacheminne Victim Cache AMD Opteron Magny-Cours 1

Inledning Bakgrund Dagens teknik har vi många olika minnestyper för våra vardagliga prylar. Flyktiga minnen (volatile) som exempelvis minneskort eller icke-flyktiga (Non-volatile) som flashminnen, optiska diskar och hårddiskar. Det finns även en andra typer av minnen som kan hittas inuti en dator. En av dessa är DRAM. Det är en förkortning för Dynamic random access memory, är det som används för data och programkod som processorer behöver för att fungera. Den andra minnestypen är SRAM (Static random acess memory), som finns i cacheminnen vilket detta arbete handlar om. Syfte Syftet med detta arbete är att undersöka hur cache fungerar i allmänhet, men speciellt funktion och strukturen av cache i en AMD Opteron processor. Anledningen till varför det just var AMD Opteron för att det är en intressant processor som var en av de första med AMD64 instruktion set arkitekturen. Samt fördjupa mig inom cachestrukturen inom en processor och AMD Opteron processorn kändes som ett bra val för detta. Frågeställningar & Problemformulering Vad är cache? Hur fungerar cache i allmänhet? Hur ser strukturen för cache i en AMD Opteron processor? Hur fungerar de olika nivåerna av cache i denna processor? Metod För att kunna svara på frågeställningarna ovan så har det använts kurslitteratur inom datorarkitektur, studerandet av olika arbeten som rör detta område samt examensarbeten genom Lunds internetbibliotek (LUBsearch) för vetenskapliga artiklar, rapporter eller examensarbete. Så materialet och källorna som valt är ur väldigt god vetenskaplig kaliber. Cache i allmänhet Innan vi diskuterar cacheminnet i en speciell processor kan det vara fördelaktigt att förfriska det vi redan kan om cacheminnen. Det är ett litet men väldigt snabbt minne som oftast är av typen Statisk minne eller Statiskt RAM (SRAM), som innehåller det senaste data som kommits åt av primärminnet. Tiden det tar för dagens system för att hämta instruktioner eller data är väldigt lång jämfört med hur lång tid det tar ett exekvera en instruktion. Cache minnet hjälper genom att minska tiden det tar att flytta information från och till processorn. Det finns även en mellanhand till cache Inledning 2

och primärminnet i en processor. En minneskontroll (memory controller) som är en digital krets, dess uppgift är att hantera dataflödet från och till primärminnet. Att komma åt information i cacheminnet kan vara upp till 4 gånger snabbare än att komma åt informationen på primärminnet (DRAM). Anledning till att cache minne utgör en förbättring för systemet är på grund av fenomenet locality of reference. Det finns olika typer av detta fenomen och två av dem har vi studerat i kursen datorarkitektur redan. Spatial och temporal locality. Själva idén med detta är att vid en viss tidpunkt kommer processorn att vilja komma åt minnet i ett visst område eller en liten region av minnet. Cacheminnet laddar in denna del av minnet för att låta processorn komma åt det snabbare. Hur bra detta fungerar skiljer sig ifrån processor till processor. I detta fall studeras det cache i en AMD processor. (Intel Corporation) Cacheminne i AMD Opteron Cacheminnet i AMD Opteron processor har tre olika nivåer av cache vilket är L3, L2 och L1. Ett block i processorn integrerar sex stycken kärnor med L3 cacheminnet som har en total storlek på 6 MB, men är uppbyggt av flera subcache. L3 cache har även två andra uppgifter. Det är att vara ett vanligt cacheminne för processorn men även ha utrymme för ett undersöknings filter, ett cache directory som är implementerat i SRAM. Minneskontrollern är ansluten till detta directory. L3 cacheminnet är även det som fungerar som victim cache för utkastad data från L2 cache. Syftet med detta cache är att det ska hålla i block som kastats ur L2 cache vid ersättning. Detta är då ofta fullt associativt och ska då minimera antalet konflikter. (Ros et al. 2012) L3 cache allokerar cache lines till ett ledigt subcache och tar hänsyn till adressbaserade regler eller restriktioner och ger företräde till det subcache som innehåller felaktiga poster. Finns det överhuvudtaget inga felaktiga poster så distribuerar en round-robin algoritm allokeringar till subcache med hänsyn till deras storlek. L3 cache stödjer direct adressing (direct mapping) så L3 Inledning 3

delas upp baserat på adresser. Vid användning av direct adressing så är allokeringarna hänvisade till endast halva cacheminnet. Detta baserat på en hash av adressbitarna. Att ha L3 som victim cache reducerar överlappning av data mellan L3 och L2, vilket ger mer plats för cachad minne/data. Kärnorna har separata data och instruktions cache med en storlek på 64 KB, dessa är uppbackade av ett större L2 cache med en storlek på 512 KB för varje kärna. Alla cache minnen i hierarkin har 64 byte rader och detta innefattar även L3. L2 är ett 16-vägs associative cache och som tidigare versioner innan AMD Opteron, så är L2 victim cache av L1 instruktion och data cache. L1 cache är 2-vägs associativa. Hela cache strukturen har även ett smart sätt att minimera latens. Är cacheminnet laddad med endast lite minne så går systemet in i ett latens reducering läge, då det inte behövs att köra på full kraft. Men om requests är höga för innehållet i cacheminnet och L3 inte har resurser nog, så skickar minneskontrollen request till tags. Vilket visar cache status utan datatransfer, sedan om innehållet fortfarande inte finns skickas request vidare till DRAM med kort latens. (Conway et al. 2010) Diskussion I dagsläget så har det kommit ut nyare processorer inom AMD Opteron linjen, då Opteron Magny- Cours släpptes år 2010. Den senaste som släppts inom Opteron linjen är Abu Dhabi. Magny-Cours utrymme i cache L2 och L3 var 12x512KB (totalt 6MB) respektive 2x6MB. I jämförelse med L2 och L3 i Abu Dhabi som har 3x2MB per block (totalt 12MB) respektive 16MB som är delat med båda blocken Slutsatsen av att Abu Dhabi har mer lagring i cache-nivåerna är att ju mer cachad data ju snabbare åtkomst till data i primärminnet. Det är dock inte en helt rättvis jämförelse då Abu Dhabi släpptes lite mer än två år, det är meningen att det ska vara en förbättring. Angående AMD Opteron Magny-Cours cache-strukturen är svårt att hitta några speciella nackdelar eller ens diskutera fördelar, speciellt sett till kunskapsnivån jag befinner mig på som författare är inte hög i jämförelse med de arbeten och källor jag använt för denna rapport. Vid ett eventuellt större arbete hade jag även inkluderat cache-coherence och hur man har försökt lösa detta problem i denna processor som detta arbete är fokuserat kring. Inledning 4

Referenser 1. Ros,A., Cuesta, B., Fernandez-Pascual,R., Gomez, M., Acacio, M., Robles, A., Garcia, J. & Duato, J. (2012). IEEE TRANSACTIONS ON COMPUTERS, vol 61 No. 5: Extending Magny- Cours Cache Coherence. ss. 3-5. 2. Conway, P.,Kalyanasundharam,N., Donley,G., Lepak, K. & Hughes, B. (2010). IEEE Computer Society: Cache Hierarchy and Memory Subsystem of the AMD Opterton Processor. ss.17-25 3. Intel Coporation (2012). An Overview of Cache ss. 1-3. DOI: http://download.intel.com/design/intarch/papers/cache6.pdf Inledning 5

6