Cacheminne i en Intel Core 2 Duo-processor

Relevanta dokument
MESI i Intel Core 2 Duo

Cacheminne i en AMD Opteron Processor

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

Jämförelse av skrivtekniker till cacheminne

Improved-MOESI Cache koherens Protokoll

Cache-koherens protokoll MESI och MOSI

Datorarkitekturer med Operativsystem

Rapport (1,5 HP) Lunds Universitet HT15

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

Cache coherence hos multicoreprocessorer

Cacheminne Intel Core i7

Tentamen den 17 mars 2016 Datorteknik, EIT070

MESI protokollet och dess derivater

En överblick på cachedesignen i Intels mikroarkitektur Nehalem

MESI-protokollets funktion i multiprocessorer

Schemaläggnings metoderna AMP & SMP i en Multiprocessor

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

Öka prestanda i Shared-Cache multi-core processorer

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

Minnet från processorns sida Datorteknik

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

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

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.

Datorsystemteknik för E/D

SYNKRONISERING I EN SHARED MEMORY MULTIPROCESSOR

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

Snapdragon 810: Cacheminnet

Pipelining i Intel 80486

Processor pipelining genom historien (Intel i9-intel i7)

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

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Hyper-Threading i Intelprocessorer

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

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar

Digitala System: Datorteknik ERIK LARSSON

Mer datorarkitektur. En titt I datorn Minnen

Datorhårdvaruteknik 1DV426 - Seminarie 1

Digitalteknik och Datorarkitektur 5hp

Hantering av hazards i pipelines

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

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

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Datorarkitekturer med operativsystem ERIK LARSSON

Hantering av hazards i multi-pipelines

What Is Hyper-Threading and How Does It Improve Performance

Exempeltentamen Datorteknik, EIT070,

Agenda. Syfte med datorbygge Datorns delar. Datorbygge. Moderkort Processor Minne och hårddisk Instickskort Övrigt

CE_O8. Cacheminne. Hemlaboration 2.

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)

Föreläsningsanteckningar 5. Cacheminnen

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

CE_O5. Cacheminne. Hemlaboration 2.

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

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

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

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

Datorteknik ERIK LARSSON

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

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

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

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

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

Toshiba och Intel Centrino Duo mobile teknologi för professionella användare

Parallellism i CDC 7600, pipelinens ursprung

Aktivitetsschemaläggning för flerkärninga processorer

32 Bitar Blir 64 Sammanfattning

HF0010. Introduktionskurs i datateknik 1,5 hp

Datorarkitekturer med operativsystem ERIK LARSSON

Syfte. Praktisk datorkunskap. Personal. Kursinfo. Examination- Krav för godkänt. Agenda idag DVG A06

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

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

SIMD i Intel s P5- baserade Pentium MMX

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

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

Arm Cortex-A8 Pipeline

Datorsystem. Tentamen

IT för personligt arbete F5

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA

Digital- och datorteknik

Grundläggande datavetenskap, 4p

Digitala System: Datorteknik ERIK LARSSON

Cacheminne och adressöversättning

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

Närliggande allokering Datorteknik

Tillverkare processor nummer typ av processor hastighet i gigahertz mängden cache i megabyte busshastighet i meaghertz Arkitekturstorlek i nm Intel

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

Datorarkitekturer med operativsystem ERIK LARSSON

Institutionen för Datavetenskap Department of Computer Science

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

Spekulativ exekvering i CPU pipelining

Tentamen den 18 mars svar Datorteknik, EIT070

Hat-trick! Hat-trick på Dell-produkter - Köp nu! 3.499: :- HAT-TRICK PRIS! 2.999:- HAT-TRICK PRIS! Venue 8 Pro

Datorsystem. Tentamen

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

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

Digital- och datorteknik

Bank Switching. Att nå multipla adressrymder. Av: Drazen Mijatovic

Tentamen PC-teknik 5 p

Multithreading in Intel Pentium 4 - Hyperthreading

4 grundregler. Minneshantering. Problemet. Windows minkrav

Transkript:

Peter Hesslow EDT621 Cacheminne i en Intel Core 2 Duo-processor Abstrakt Det finns många olika sätt att bygga upp ett datorminne på, och med en flerkärnig processor så blir alternativen ännu fler. Denna rapport presenterar hur cacheminnet i en Intel Core 2 Duo-processor fungerar och på vilket sätt cacheminnets struktur påverkas av att processorn har flera kärnor. Cacheminne beskrivs även allmänt för att lättare kunna förstå de olika delar i den specifika processorn

Inledning När man pratar om datorers prestanda är det vanligt att man lägger mycket vikt vid klockfrekvensen hos processorn, när det i själva verket är en mängd olika faktorer som avgör hur hög prestandan är. Det finns flera olika faktorer som är kopplade till minneshierarkin i datorn, och en av dessa är hur cacheminnet är uppbyggt. Syftet med denna rapport är att beskriva ingående hur cacheminnet i en Intel Core 2 Duo-processor fungerar och på vilket sätt cacheminnet påverkas av att processorn har två kärnor. Anledningen till att jag valt att skriva om just denna processor är att Intels Core-processorer är de som är mest populära idag och Core 2 Duo är föregångare till dagens mer välkända i3, i5 och i7-processorer. Allmänt om Cacheminne Cacheminne är den del av minnet som ligger mellan processorn och primärminnet. I cacheminnet brukar oftast den data som använts nyligen lagras för att snabbt kunna få åtgång till den igen. Anledningen till att man använder sig av ett cacheminne är att exekveringen av instruktioner går mycket snabbare än själva hämtningen av data och instruktioner. Genom att implementera ett cacheminne så snabbar man på minnesåtkomsterna så att man på ett bättre sätt kan utnyttja processorns kapacitet. Förutom att cacheminnet ligger fysiskt nära exekveringen så implementerar även cacheminnet någonting som kallas Locality of References för att ytterligare förbättra prestandan. Det finns ett antal olika typer av Locality of References, och två av de man oftast brukar nämna är Temporal Locality och Spatial Locality. Temporal Locality in-

nebär att cacheminnet lagrar den data som använts nyligen för att det är troligt att denna data kommer att användas snart igen. Spatial Locality innebär att cacheminnet lagrar data som ligger i närheten av den data som man behöver för en viss instruktion, då det är sannolikt att man kommer att använda den. Det finns tre stycken olika sorters mappning som cacheminnet implementerar för att avgöra var i cacheminnet en specifik minnesadress lagras. Direktmappning kallas det när en minnesadress endast lagras i en specifik plats i cacheminnet, denna typ av mappning innebär att det går väldigt fort att söka efter data i cacheminnet, men ökar risken för krockar i cacheminnet. Fullt associativ mappning innebär att en minnesadress kan lagras var som helst i cacheminnet, vilket givetvis gör att man kan utnyttja hela utrymmet som finns i cacheminnet, men att man blir tvungen att söka igenom hela cacheminnet för att veta om den data man söker finns där. Den sista typen av mappning kallas Set-associativ och innebär att man delar upp cacheminnet i olika set, där varje minnesadress kan lagras i ett specifikt set. Cacheminne i Intel Core 2 Duo Core 2 Duo producerades i många olika versioner mellan 2006 och 2011, så för just denna rapport har jag valt att inrikta mig på en av de första versionerna som släpptes under tredje kvartalet 2006. Denna modell heter E6400 och består av två olika nivåer av cacheminne, en delad L2-cache på 2 MB och privata L1-cache på 32 kb. Båda nivåerna implementerar 8-vägs set-associativ mappning med 64 bytes storlek på cache lines. Att L1-cachen är privat innebär att det finns en för vardera kärna, och att L2-cachen är delad innebär givetvis att båda kärnor kan utnyttja den. L1-cacheminnet är uppdelat ytterligare genom att man har separat cache för in-

struktioner och data. För L1-cachen så använder man sig av write-back, vilket innebär att data som lagras i L1-cachen endast skrivs tillbaka till primärminnet om det modifieras eller ersätts av ny data. Alternativet till detta är write-through, där man hela tiden uppdaterar primärminnet i samband med ändringar av data som lagras i cacheminnet. Att man valt att ha L2-cachen delad innebär att man kan utnyttja en större del av cacheminnet istället för att allokera delar av minnet för enskilda kärnor. Till exempel så kan en av kärnorna utnyttja hela L2-cachen om det bara är en av kärnorna som är aktiv. Att L2-cachen är delad medför också att man kan undvika att använda olika delar av minnet till samma data, vilket kan inträffa om man skulle haft privat L2-cache. En av nackdelarna som blir en direkt följd av att cachen är delad blir givetvis att man är tvungen att söka igenom en större del av cacheminnet när man söker efter data. Ett vanligt problem med cacheminnet när man har en flerkärnig processor är så kallad cache coherence. Själva problemet uppstår när man har samma data lagrad i olika delar av cacheminnet och ändrar på denna data. För att undvika felaktig data måste man på något sätt kommunicera mellan de olika delarna av cacheminnet för att ändra datan på alla de ställen där de är lagrade. Genom att Intel Core 2 Duo imple-

menterar en delad L2-cache så elimineras detta problem i L2-cacheminnet. Den delade L2-cachen underlättar även för kommunikation mellan de två privata L1-cacheminnena så att man på ett smidigt sätt kan lösa problemen med cache-coherence i hela cacheminnet. Diskussion Cacheminnens uppbyggnad är väldigt komplex och det har varit svårt att förstå alla de funktioner som cacheminnet i en Intel Core 2 Duo-processor består av. Genom att de valt att ha en delad L2-cache så känns det som att man undviker många av de problem som vanligen uppstår i flerkärniga processorers cacheminnen. I en artikel publicerad 2008[I] där man jämfört tre stycken olika tvåkärniga processorer så är Intel Core 2 Duo den som uppvisar bäst prestanda för minnesstrukturen. Författarna nämner att detta bland annat beror på den delade L2-cachen samt Intel Core 2 Duos snabba cache-tillcache kommunikation.

Referenser I. Peng, L, Peir, J, Prakash, T, Staelin, C, Chen, Y, & Koppelman, D 2008, 'Memory hierarchy performance measurement of commercial dual-core desktop processors', Journal Of Systems Architecture, 54, 8, pp. 816-828, Art & Architecture Source, EB- SCOhost, viewed 5 December 2016. II. Intel Corporation (2012). An Overview of Cache ss. 1-3. DOI: http://download.intel.- com/design/intarch/papers/cache6.pdf III. www.intel.com. 2006. Intel Core 2 Duo Processor E6400 (2M Cache, 2.13 GHz, 1066 MHz FSB). Available at: http://ark.intel.com/sv/products/27249/intel-core2- Duo-Processor-E6400-2M-Cache-2_13-GHz-1066-MHz-FSB. [Accessed 6 December 2016].