Cache-koherens protokoll MESI och MOSI

Relevanta dokument
Rapport (1,5 HP) Lunds Universitet HT15

Improved-MOESI Cache koherens Protokoll

Cache coherence hos multicoreprocessorer

MESI-protokollets funktion i multiprocessorer

MESI protokollet och dess derivater

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

MESI i Intel Core 2 Duo

Schemaläggnings metoderna AMP & SMP i en Multiprocessor

Cacheminne i en Intel Core 2 Duo-processor

Snapdragon 810: Cacheminnet

Cacheminne Intel Core i7

Cacheminne i en AMD Opteron Processor

SYNKRONISERING I EN SHARED MEMORY MULTIPROCESSOR

Jämförelse av skrivtekniker till cacheminne

Datorarkitekturer med Operativsystem

En överblick på cachedesignen i Intels mikroarkitektur Nehalem

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

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

Pipelining i Intel 80486

HF0010. Introduktionskurs i datateknik 1,5 hp

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

Föreläsningsanteckningar 5. Cacheminnen

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

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

Datorsystemteknik för E/D

Öka prestanda i Shared-Cache multi-core processorer

Hyper-Threading i Intelprocessorer

Digitala System: Datorteknik ERIK LARSSON

Tentamen den 18 mars svar Datorteknik, EIT070

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Tentamen den 17 mars 2016 Datorteknik, EIT070

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

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA

Schemaläggningsmetodik för multi-core inom Windows 7 OS Vad är scheduling och hur schemalägger Windows OS sina processer?

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 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Digitalteknik och Datorarkitektur 5hp

Datorsystem. Tentamen

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)

TSEA28 Datorteknik Y (och U)

Introduktion till programmering

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

Hantering av hazards i pipelines

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

TSEA28 Datorteknik Y (och U)

Datorsystem. Tentamen

Hantering av hazards i multi-pipelines

Minnet från processorns sida Datorteknik

Datorhårdvaruteknik 1DV426 - Seminarie 1

Skärmbilden i Netscape Navigator

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

Parallellism i NVIDIAs Fermi GPU

Datorarkitekturer med operativsystem ERIK LARSSON

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

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

Datorarkitekturer med operativsystem ERIK LARSSON

Datorsystem. Exempeltentamen

Grundläggande datavetenskap, 4p

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.

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

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

Inledande programmering med C# (1DV402) Introduktion till programmering

Arm Cortex-A8 Pipeline

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

Mer datorarkitektur. En titt I datorn Minnen

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

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

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

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

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

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

Exempeltentamen Datorteknik, EIT070,

Närliggande allokering Datorteknik

Processor pipelining genom historien (Intel i9-intel i7)

Transaktioner och samtidighet

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

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

Datorarkitekturer med operativsystem ERIK LARSSON

Grafiska pipelinens funktion

Datorteknik ERIK LARSSON

Datorsystem. Tentamen

CE_O5. Cacheminne. Hemlaboration 2.

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

Digitala System: Datorteknik ERIK LARSSON

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Multithreading in Intel Pentium 4 - Hyperthreading

Moderkortet Persondatorer Moderkortet Innehåll

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

KURSMÅL WINDOWS STARTA KURSEN

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

CE_O8. Cacheminne. Hemlaboration 2.

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

Digital- och datorteknik

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

Minneshantering segmentering och virtuellminne. Föreläsning 3

Lösningsförslag till Tenta i Mikrodator

Cacheminne och adressöversättning

Transkript:

Handledare: Erik Larsson Lunds Tekniska Högskola HT2016 Cache-koherens protokoll MESI och MOSI Författare: Adnan Mohamed

Abstrakt Cache koherens protokoll hanterar cacheminnet i ett multiprocessor system, så att ingen data går förlorad eller skrivs över innan data överförs. I ett multiprocessor system har varje processor sitt eget minne (cache), separat från de större RAM minnena som de enskilda processorerna har åtkomst till. För att hålla minnet koherent använder buss-baserade protokollen MESI och MOSI sig av directory based protokoll eller snooping protokoll.

Inledning Bakgrund Genom ökandet av klockhastigheten fås fler antal cykler, det går att exekvera en instruktion på kortare tid vilket gör att arbetet går fortare. Utvecklingen av klockfrekvenser har avstannat på grund av fysikaliska begränsningar och fokus har skiftat till system med flera processorer. Multicore (flerkärniga processorer) ger en snabbare exekvering, lägre energiförbrukning och möjliggör multitasking. Ett problem som har uppstått med multicore processorer är cache koherens, ett problem som har lösts med hjälp av cache koherens protokoll. Syfte Syftet med den här rapporten är att skriva om och jämföra buss-baserade protokollen MESI och MOSI samt undersöka cache-koherens. Frågeställningar Vad är Cache? Hur fungerar Cache-koherens? Hur fungerar MOSI och MESI protokollen? Vad är skillnaden mellan MOSI och MESI protokollen? Metod För att kunna svara på frågeställningarna har jag använt mig av kurslitteratur inom datorarktikektur, examensarbetet som berör området och föreläsningsanteckningar. I sökande för mer information har det använts wikipedia. Cacheminne Cacheminne är ett mindre, snabbare minne som tillfälligt lagrar kopior av frekvent använd data. Cacheminnet är inbyggt i datorns processor, eller nära anslutet till processorn och ligger närmare processorn än vad primärminnet gör. Tiden det tar för en dator att hämta data eller instruktioner till skillnad från att exekvera en instruktion tar lång tid. När processorn gör en förfrågan om data som ligger i minnet, kollas först om datan ligger i cacheminnet. Cache Koherens I multicore processor har varje kärna en minnescache. När innehållet i en minnescache förändras måste andra kärnors minnescache uppdateras för att hålla minnet koherent annars ligger det gamla värdet kvar i de andra minnescacherna. Detta sker på två sätt: genom ett directory based protokoll eller snooping protokoll. I ett directory-based, är datan som delas ut i en gemensam directory som upprätthåller koherens mellan cacheminnen. Directory agerar som ett filter där processorn måste be om tillstånd för att läsa in data post (entry) från primärminnet till sin cache. När en data post ändras uppdateras eller ogiltigförklarar directory andra cacheminnen med samma data post.

Snooping protokoll upprätthåller cache koherens i SMP (symmetric multiprocessing systems). Det finns två typer av snooping protokoll: Write-invalidate: Processorn som skriver data invaliderar kopior i andra cacheminnen. Write-update: Processorn som skriver data uppdaterar kopior i andra cacheminnen. MESI MESI är ett cache koherens protokoll som stödjer write-back cache. Genom användning av write-back sparas bandbredd som vanligtvis går förlorad i en write-through cache. I write-back återfinns alltid dirty tillstånd vilket indikerar att data i cacheminnet inte överensstämmer med primärminnet. Bokstäverna i förkortningen MESI representerar fyra tillstånd. Modified Cachelinjen är närvarande i det aktuella cacheminnet och är dirty. Exklusive Cachelinjen är närvarande i det aktuella cacheminnet och är clean. Cachelinjen matchar primärminnet. Om det finns en begäran kan Exclusive ändras till Shared när som helst eller till Modified (om man skriver till det). Shared Cachelinjen kan lagras i andra cacheminnet och är clean. Cachelinjen matchar primärminnet Invalid Anger att cachelinjen är ogiltig. MOSI MOSI har ett owned tillstånd vilket betyder att den nuvarande processorn äger blocket och kommer betjäna förfrågningar från andra processorer för blocket.

Diskussion MOSI och MESI, även kända som Illinois-protokoll är en förlängning av MSI-protokollet och förbättrar olika funktioner. MOSI fokuserar på att minska write-back och genom att tillsätta ett exklusivt tillstånd minskas antalet busstransaktioner som krävs efter en läs och skriv begäran från en annan processor. Det exklusiva tillståndet i MESI anger att blocket är clean och giltigt (samma värde i primärminnet). Owned tillståndet i MOSI visar att cache värdet är dirty och förekommer i blocket.

Källförteckning CPU cache. Wikipedia. 2016. https://en.wikipedia.org/wiki/cpu_cache MOSI protocol. Wikipedia. 2016. https://en.wikipedia.org/wiki/mosi_protocol MESI protocol. Wikipedia. 2016. https://en.wikipedia.org/wiki/mesi_protocol EDT621: Föreläsning 4-5. Lunds Tekniska Högskola. 2016 http://www.eit.lth.se/fileadmin/eit/courses/edt621/f%f6rel%e4sningar/f%d63-4.16.pdf