Rapport (1,5 HP) Lunds Universitet HT15

Storlek: px
Starta visningen från sidan:

Download "Rapport (1,5 HP) Lunds Universitet HT15"

Transkript

1 Rapport (1,5 HP) Lunds Universitet HT15 Cache-koherens protokoll i Intel Core i7 En rapport om cache-koherens och protokollet som används i Intel Core i7 processorer för att hålla minnet koherent Författare: Osama Menim

2 Sammanfattning Utvecklingen av multiprocessorer, eller snarare sagt multi-core processorer, där en processor består av ett flertal kärnor har frambringat ett stort problem. Ett problem som utvecklarna av processorer inte behöver handskas med vid utvecklingen av processorer som innehåller endast en kärna. Ett problem som drabbat de världskända Intel Core i7 processorerna, där samtliga processorer består av minst två kärnor. Detta stora problem kallas nämligen för cachekoherens problemet, där två eller flera olika kärnor kan se olika värden i sina privata cacheminnen för samma plats i primärminnet. Det amerikanska elektronikföretaget vid namnet Intel löste detta cachekoherens problem i deras Intel Core i7 processorer genom att skapa ett så kallat protokoll vid namnet MESIF. Ett protokoll som håller cacheminnet mellan varje kärna i en multi-core processor koherent och som därmed löser cache-koherens problemet. Protokollet MESIF använder sig av en teknik vid namnet snooping för att lösa detta problem. En teknik som fungerar på så sätt att samtliga kärnor i en multi-core processor ser och hör precis allting som sker i cacheminnet för samtliga kärnor med hjälp av en så kallad buss. Nyckelord: Cacheminne Cache-koherens Intel Core i7 MESIF

3 Innehållsförteckning 1 INLEDNING BAKGRUND SYFTE FRÅGESTÄLLNINGAR METOD OCH MATERIAL CACHE-KOHERENS I INTEL CORE I CACHE-KOHERENS PROTOKOLLET MESIF DISKUSSION REFERENSER... 7

4 Inledning Bakgrund Tekniken går snabbt framåt. Från att från första början använda oss av en centralprocessor (CPU) i en dator har vi numera börjat använda oss av multiprocessorer, eller snarare sagt multi-core processorer som består av två eller flera kärnor som samarbetar. Då tekniken går framåt är det dock inte alltid att det medför en positiv utveckling av tekniken och skapar större möjligheter. Det kan även leda till något negativt och skapa nya problem, som i exempelvis denna utveckling av multi-core processorer. Denna utveckling ledde bland annat till att ett nytt problem skapades vid namnet cache-koherens problemet. Ett problem som kan lösas med diverse cache-koherens protokoll. Jag valde att skriva om cache-koherens problemet i Intel Core i7 processorer eftersom det är en väldigt modern processorfamilj, där samtliga processorer består av minst två kärnor och som idag finns ute på marknaden. Detta medförde till att jag blev oerhört intresserad av hur ett flertal kärnor samarbetar och hur cacheminnet mellan varje kärna i en multi-core processor hålls koherent. Syfte Syftet med denna rapport är att undersöka vad cache-koherens är och vad för protokoll Intel Core i7 processorer använder sig av för att hålla minnet koherent och lösa cache-koherens problemet. Jag vill även fördjupa mig i detta protokoll som Intel Core i7s processorer använder sig av vid namnet MESIF och ta reda på hur detta protokoll fungerar och hur den håller minnet koherent i en multi-core processor. Frågeställningar - Vad är cache-koherens? - Hur fungerar cache-koherens? - Vilket protokoll använder Intel Core i7s processorer för att hålla minnet koherent? - Hur fungerar detta protokoll? Metod och material För att besvara mina frågeställningar har jag främst använt mig av en engelsk bok, där boken är en av de rekommenderade kursböckerna och engelska videoklipp på webbplatsen Youtube, där två olika rätt så kunniga föreläsare från olika universitet besvarar en del av mina frågeställningar. Jag har även använt mig av två engelska hemsidor, där ena hemsidan är Wikipedia. Eftersom jag använt mig av bland annat Wikipedia för att besvara mina frågeställningar blir det svårt att vara källkritisk. Jag har i och med det försökt använda mig som mest av kursboken och videoklippen på Youtube, där dessa troligtvis är mer trovärdiga. Fördelen med användningen av både böcker och videoklipp från universitet är att det blir lättare att vara källkritisk. 1

5 Cache-koherens i Intel Core i7 Utvecklingen av multiprocessorer eller snarare sagt multi-core processorer har nämligen bidragit till skapandet av starkare och snabbare processorer, men även skapat nya stora problem. Problem som man inte hade vid användandet av processorer som innehåller endast en kärna. Det stora problemet med multi-core processorer kallas nämligen för cache-koherens problemet, där värdet på exempelvis en plats i primärminnet, som sparats i cacheminnet för två olika kärnor kan ha olika värden. Detta kommer givetvis att leda till problem då två olika kärnor ser två olika värden i sina cacheminnen för samma plats i primärminnet. Detta cache-koherens problem kan lösas genom att cacheminnet mellan varje kärna i en multi-core processor hålls koherent (1). Cacheminnet i varje kärna i en multi-core processor anses vara koherent om varje kärna ser samma värde i sina cacheminnen för samma plats i primärminnet och om en läsning (read) av data utfört av en kärna får det senaste värdet som skrivits (write) på det data lästes. Data som skickas mellan primärminnet och cacheminnet som vid exempelvis en läsning eller en skrivning skickas nämligen i så kallade cache lines, eller närmare sagt datablock. Ett datablock består av data och en adress för dataplatsen i primärminnet. Ett exempel på en situation där cache-koherens problemet kan uppstå i minnet är då två olika kärnor i en multicore processor läser data från en plats i primärminnet och där en av kärnorna därefter skriver ett nytt värde på det data som lästes av båda kärnorna (1). Låt oss ta ett litet exempel där en multi-core processor består av två olika kärnor, kärna A och kärna B. Kärna A gör från första början en läsning av data på plats x i primärminnet och placerar det i sitt cacheminne, där det data som lästes har värdet noll. Kärna B gör därefter också en läsning på plats x i primärminnet och placerar det i sitt cacheminne, där värdet också är noll. Kärna A får senare för sig att skriva ett nytt värde på det data som lästes av kärna A och kärna B och ersätter därmed värdet noll med exempelvis värdet ett. Det stora problemet kommer att ske då kärna B vill läsa värdet på det data som lästes från plats x i primärminnet och placerades i cacheminnet. Värdet i cacheminnet för kärna B är noll, medan värdet för plats x i cacheminnet tillhörande kärna A är ett. Kärna B kommer därmed få det gamla värdet som är noll istället för det nya värdet som är ett, vilket är fel värde och kommer leda till problem (1). Ett annat krav för att cacheminnet mellan varje kärna i en multi-core processor ska hållas koherent är att skrivningar som görs av två olika kärnor till samma plats måste vara serialiserade. Det vill säga att samtliga andra kärnor i multicore processorn måste kunna se skrivningarna i samma ordning. Låt oss ta ett exempel liknande det tidigare exemplet där en multi-processor består av två olika kärnor, kärna A och kärna B. Efter att kärna A och kärna B gjort en läsning av data på plats x i primärminnet och placerat det i sina cacheminnen får kärna A för sig att skriva till plats x och lagrar därmed värdet fem på plats x. Därefter skriver kärna B till plats x i primärminnet och lagrar värdet två. Samtliga kärnor i multi-core processorn kommer därmed aldrig kunna göra en läsning på plats x som värdet två före en läsning på plats x som värdet fem, eftersom kärna A skrev till plats x före kärna B (1). 2

6 Samtliga Intel Core i7 processorer består av minst två kärnor (2) och är därmed också drabbade av cache-koherens problemet. Cache-hierarkin i Intel Core i7 processorerna är uppbyggd på så sätt att L1-cacheminnet och L2-cacheminnet är privata för varje kärna och där L3-cacheminnet delas på samtliga kärnor i multicore processorn. Kärnornas privata cacheminnen (L1 & L2) är den stora orsaken till cache-koherens problemet, då kärnorna kan se olika värden i sina privata cacheminnen för samma plats i primärminnet (3). Men hur har utvecklarna av Intel löst detta cache-koherens problem i Intel Core i7 processorer? Utvecklarna av Intel har nämligen skapat ett så kallat protokoll vid namnet MESIF, som ska kunna lösa cache-koherens problemet som uppstår i Intel Core i7 processorer (4). Cache-koherens protokollet MESIF MESIF är ett protokoll som tidigare nämnt är utvecklat av det amerikanska elektronikföretaget vid namnet Intel. Detta protokoll utvecklades för att lösa cache-koherens problemet i Intel Core i7 processorer, som är väldigt lik ett annat äldre cache-koherens protokoll vid namnet MESI. För att lösa cache-koherens problemet använder sig protokollet MESIF av en teknik vid namnet snooping, där tekniken även kan kallas för bus sniffing (4). Snooping fungerar på så sätt att samtliga kärnor i en multi-core processor ser och hör precis allting som sker i cacheminnet för samtliga kärnor. Det vill säga att varje gång en kärna vill göra en läsning eller skrivning i primärminnet informeras precis alla kärnor. Låt oss ta ett exempel där exempelvis kärna A skriver ett nytt värde på det data som tidigare lästes av kärna A på plats x i primärminnet och ersätter därmed det tidigare värdet som exempelvis var fem med det nya värdet tio. Kärna A kommer då informera samtliga kärnor att den har skrivit ett nytt värde på det data som finns på plats x i primärminnet och ersatt värdet fem med det nya värdet tio. Samtliga kärnor som tidigare hade gjort en läsning av data på plats x i primärminnet och placerat det i sitt cacheminne, har nu som uppgift att uppdatera värdet i sina privata cacheminnen (5). För att det ska vara möjligt för samtliga kärnor i en multi-core processor att kunna se och höra precis allting som sker i cacheminnet använder sig snoopingtekniken av en så kallad buss. Samtliga kärnor sitter och lyssnar på allt som sker på bussen, vilket medför att kärnor som behöver uppdatera sina cacheminnen gör det och cacheminnet mellan varje kärna i multi-core processorn hålls därmed koherent (5). MESIF protokollet består nämligen av fem olika så kallade tillstånd, till skillnad från det tidigare nämnda MESI protokollet som består av endast fyra olika tillstånd. Data som finns lagrade i det privata cacheminnet och som därmed tidigare blivit lästa från primärminnet av en kärna kan därmed vara i dessa fem olika tillstånd (4). Det första tillståndet kallas för Modified (M), där data i datablocket som innehåller det data som blivit läst från primärminnet sägs nämligen ha blivit modifierat, där det har skrivits över av kärnan som tillhör detta cacheminne och där till och med primärminnet inte har rätt värde på dataplatsen. Data i datablocket som finns i cacheminnet kallas i och med det för 3

7 dirty. Detta datablock finns enbart i en kopia i cache-hierarkin och placerad i enbart ett cacheminne som tillhör en kärna (6). Det andra tillståndet kallas för Exclusive (E), där data i datablocket till skillnad från det första tillståndet kallas för clean. Detta tillstånd är väldigt likt det första tillståndet. Den enda skillnaden mellan dessa två tillstånd är att det data som finns i det enda cacheminnet har samma värde som det data som finns i primärminnet (6). Det tredje tillståndet kallas för Shared (S), där skillnaden mellan det andra tillståndet och detta tillstånd är att det i detta tillstånd finns två eller flera liknande datablock i cacheminnet, där samtliga datablock innehåller precis samma data och värde på data. Det vill säga att två eller flera olika kärnor har identiska datablock i sina privata cacheminnen (6). Det fjärde tillståndet kallas för Invalid (I), där det data som finns i datablocket i ett cache-minne anses vara icke-giltig och kan därmed inte användas av en kärna som behöver det data som finns i datablocket (6). Det femte och sista tillståndet kallas för Forward (F), där detta tillstånd är en speciell version av det tredje tillståndet (Shared). Låt oss säga att exempelvis kärna A får för sig att göra en läsning på plats x i primärminnet och andra kärnor redan gjort en läsning på plats x, där data i cacheminnet tillhörande kärna B är i tillståndet F medan data i cacheminnet tillhörande två andra kärnor (C & D) är i tillståndet S. Kärna A kommer därmed att få ett identiskt datablock skickat till sig av enbart kärna B, trots att kärna C och kärna D har ett liknande datablock i sina cacheminnen. En kärna med data som finns i ett datablock i cacheminnet tillhörande kärnan som befinner sig i tillstånd F är därmed den enda kärnan som svarar på andra kärnors förfrågan om just det datablocket. Kärna B kommer även som regel att ge över ansvaret för svarandet på andra kärnors förfrågan om just det datablocket till kärna A. Detta kommer därmed att leda till att kärna A kommer att hamna i tillståndet F och kärna B kommer att hamna i tillståndet S (4). Låt oss ta ett exempel på några läsningar och skrivningar till primärminnet av fyra olika kärnor (A, B, C och D) i en multi-core processor för att reda ut hur MESIF protokollet med alla fem tillstånd fungerar och hur cacheminnet mellan varje kärna i en multi-core processor hålls koherent. Kärna A får för sig att göra en läsning på plats x i primärminnet, och självklart letar kärnan först i sina privata cacheminnen om det data som finns på plats x redan finns lagrad där. Kärna A hittar inte data för plats x i sitt privata cache-minne (L1 & L2) och inte heller i det delade cacheminnet (L3). Vid förfrågan på bussen om data för plats x får kärna A inte heller något svar, då ingen av de tre andra kärnorna har datablocket för plats x lagrat i sina cacheminnen. Detta leder till att datablocket för plats x hämtas från primärminnet och lagras i låt oss säga det privata cacheminnet för kärna A, där data i datablocket hamnar i tillståndet E och anses vara clean (6). 4

8 Senare bestämmer sig kärna B för att göra en läsning på plats x i primärminnet likt kärna A. Kärna B hittar inte data för plats x i sitt privata cacheminne och inte heller i det delade cacheminnet, men det gör den med hjälp av bussen då kärna A tidigare gjort en läsning på plats x i primärminnet och lagrat det i sitt privata cacheminne. Detta leder till kärna A skickar en identisk kopia av datablocket för plats x i primärminnet till kärna B, vilket leder till att data i datablocket som tillhör kärna A hamnar i tillståndet S (6) och data i datablocket som tillhör kärna B hamnar i tillståndet F (4). Kärna C får även för sig att göra en läsning på plats x i primärminnet likt kärna A och kärna B. Likt kärna B hittar den data för plats x i med hjälp av bussen (6). Datablocket för kärna B är som tidigare nämnt i F tillståndet, vilket därmed leder till att kärna B skickar en identisk kopia av datablocket till kärna C. Data i datablocket för kärna C hamnar i och med det i tillståndet F och data i datablocket för kärna B hamnar i tillståndet S (4). Låt oss nu säga att kärna A får för sig att göra en skrivning på plats x i primärminnet och därmed skriva ett nytt värde på det data som lästes tidigare av kärna A, B och C. Detta leder därmed till att kärna A lagrar det nya värdet för plats x i sitt privata cacheminne och data i datablocket för kärna A hamnar i tillståndet M och anses då vara dirty, medan data i datablocket för kärna B och C hamnar i tillståndet I. Detta beror nämligen på att data i cacheminnet för kärna B och kärna C samt i primärminnet har fel och ett gammalt värde i jämförelse med cacheminnet för kärna A (6). Kärna D får nu för sig att göra en läsning till plats x i primärminnet och hittar därmed data för plats x med hjälp av bussen. Detta beror på att kärna A som tidigare nämnt har data i tillståndet M i datablocket i sitt privata cacheminne för plats x. Primärminnet har dock ett fel och gammalt värde i jämförelse med datablocket i cacheminnet för kärna A, vilket leder till att primärminnet först måste uppdatera sitt värde för data på plats x innan en identisk kopia av datablocket kan skickas till kärna D. Detta görs nämligen med en metod som kallas för write-back, där kärna A skickar en identisk kopia av datablocket till primärminnet (6). Då kärna A skickat en kopia av datablocket i sitt cacheminne så hamnar data i det datablocket i tillstånd S och data i datablocket i kärna D hamnar i tillstånd F. Skulle kärna B eller kärna C få för sig att göra en läsning på plats x så skulle data i datablocket för just den kärnan återigen hamna i tillstånd F, medan data i datablocket för kärna D skulle hamna i tillstånd S (4). Detta långa exempel visar därmed hur cacheminnet mellan varje kärna i en Intel Core i7 multi-core processor hålls koherent, där varje kärna i en multi-core processor ser och hör precis allting som sker på bussen. Varje kärna håller därmed deras cacheminne uppdaterat och riskerar inte att använda sig av ett gammalt och inte giltigt värde. Primärminnet hålls även för det mesta uppdaterat, förutom då data i ett cacheminne anses vara dirty. Primärminnet uppdateras dock som tidigare nämnt vid ett senare tillfälle och datan i cacheminnet blir clean. 5

9 Diskussion Användandet av så kallade multi-core processorer har nämligen blivit en trend. En trend som troligtvis kommer att hålla i flera år framöver. Intel Core i7s samtliga processorer består av minst två kärnor och har därmed fått problem med att cacheminnet mellan varje kärna i en multi-core processor måste hållas koherent. Intel kunde nämligen lösa detta problem med ett så kallat cachekoherens protokollet MESIF. Men varför använde inte Intel sig av ett äldre cachekoherens protokoll som exempelvis MESI? Vilka är fördelarna och nackdelarna med detta protokoll? MESIF är väldigt lik protokollet MESI, där en av de troligtvis största skillnaderna är att MESIF protokollet har ett tillstånd vid namnet Forward (F), som däremot inte finns i protokollet MESI. Detta tillstånd är som tidigare nämnt en speciell version av tillståndet Shared (S), som finns i både MESIF och MESI. Intel har troligtvis skapat och lagt till detta tillstånd i MESIF på grund av att lösa problemet där flera kärnor som har data för exempelvis plats x i sitt privata cacheminne skickar det till den kärna som gör en läsning på plats x i primärminnet. Det vill säga att det är flera kärnor som svarar på förfrågan om data för plats x som gjordes av en kärna i multi-core processorn, vilket troligtvis är rätt så onödigt. Intel tänkte troligtvis på att spara bandbredd genom att istället låta en enda kärna som har data för plats x i sitt privata cacheminne att besvara den kärna som frågade efter data för plats x. Att lägga till tillståndet F kan vara en fördel då det troligtvis sparar på bandbredd och bussen behöver inte heller överflödas som i protokollet MESI, där alla kärnor som har ett datablock innehållande det data som en kärna frågat om svarar och skickar en identisk kopia av datablocket. En kärna med ett datablock i cacheminnet tillhörande kärnan som befinner sig i tillstånd F är därmed den enda kärnan som svarar på andra kärnors förfrågan om just det datablocket, vilket löser problemet som protokollet MESI har och anses troligtvis vara ett bättre och effektivare protokoll som passar Intel Core i7 processorer bättre. En nackdel med protokollet MESIF kan vara att den inte innehåller ett tillstånd vid namnet Owned (O), som finns i cache-koherens protokollet MOESI. Det rätt så kända amerikanska företaget AMD använder sig av just detta protokoll i vissa av deras processorer. Ett datablock i ett cacheminne som befinner sig i tillståndet O fungerar på så sätt att det data som finns i datablocket anses vara dirty likt tillståndet M i protokollet MESIF. Skillnaden mellan tillståndet O och tillståndet M är dock att den kan dela med sig data för exempelvis plats x i primärminnet som är dirty med andra kärnor utan att behöva skicka en identisk kopia av datablocket till primärminnet varje gång en kärna frågar om data för plats x. Uppdateringen av primärminnet kan därmed skjutas upp. Det vill säga att kärnorna i en multi-core processor som har ett datablock i sitt privata cacheminne för plats x i primärminnet, förutom den kärna som har ett datablock i tillståndet O hamnar därmed i tillstånd S, trots att deras data anses vara dirty. Datablocket som är i tillstånd O i MOESI protokollet behöver inte heller som i MESIF protokollet (tillståndet M) hamna i tillståndet F utan stannar i tillståndet O (7). Införandet av tillståndet O kan därmed troligtvis spara på bandbredd. 6

10 Referenser (1) Patterson, D, & Hennessy, J 2013, Computer Organization And Design: The Hardware/Software Interface, n.p.: Oxford : Morgan Kaufmann, [2013], cop (2) Intel Core i (Hämtad 22/ ) (3) Snooping Cache Coherence I s12/www/lectures/10_coherence.pdf (Hämtad 22/ ) (4) MESIF protocol (Hämtad 22/ ) (5) David Henty. Multicore Memory Caching Issues - Cache Coherency. Edinburgh Parallel Computing Centre at The University of Edinburgh (EPCC) (Hämtad 23/ ) (6) David Wentzlaff L18S5 Cache Coherence Protocols. Princeton University - Computer Architecture (Hämtad 25/ ) (7) MOESI protocol (Hämtad 28/ ) 7

Cache-koherens protokoll MESI och MOSI

Cache-koherens protokoll MESI och MOSI 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,

Läs mer

Cache coherence hos multicoreprocessorer

Cache coherence hos multicoreprocessorer Cache coherence hos multicoreprocessorer Benjamin Holmqvist, EDT621 December 5, 2016 1 Contents 1 Inledning 3 2 Syfte 3 3 Cache Coherence 3 3.1 Implementering.......................... 4 3.2 Snoop baserade..........................

Läs mer

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

MESI-Protokollet. Richard Elvhammar. Lund Universitet 4/12-16 MESI-Protokollet Richard Elvhammar Lund Universitet 4/12-16 Abstract För att ett system snabbt ska kunna hantera information så används, å sidan åt primärminnet och sekundärminnet, ett cacheminne. I modern

Läs mer

MESI protokollet och dess derivater

MESI protokollet och dess derivater LTH LUNDS TEKNISKA HÖGSKOLA MESI protokollet och dess derivater Peter Persson 2015-12-08 Sammanfattning Dagens multicore processorer använder sig av ett flertal cacheminnen. Därför behövs det metoder för

Läs mer

MESI i Intel Core 2 Duo

MESI i Intel Core 2 Duo MESI i Intel Core 2 Duo Sammanfattning Denna rapport beskriver en processor (Intel Core 2 Duo) vars cache coherence protokoll är MESI. Rapporten beskriver hur processorn är uppbyggd, hur många kärnor den

Läs mer

Improved-MOESI Cache koherens Protokoll

Improved-MOESI Cache koherens Protokoll Improved-MOESI Cache koherens Protokoll Abstrakt I en multicore, flerkärninga processor med delat minne kan koherens problem förekomma. En lösning till detta är att implementera cache koherens protokoll.

Läs mer

MESI-protokollets funktion i multiprocessorer

MESI-protokollets funktion i multiprocessorer LUNDS TEKNISKA HÖGSKOLA CAMPUS HELSINGBORG MESI-protokollets funktion i multiprocessorer Jacob Petersson EDT621 Datorarkitekturer med Operativsystem 2016-HT Abstract Denna rapport syftar till att visa

Läs mer

En överblick på cachedesignen i Intels mikroarkitektur Nehalem

En överblick på cachedesignen i Intels mikroarkitektur Nehalem En överblick på cachedesignen i Intels mikroarkitektur Nehalem Tillsammans med utvecklingen av cacheminnen förekommer det även ett flertal problem med att styra och organisera data. Trots att det sker

Läs mer

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

Emil Kristiansson Kurs: EDT621 Delmoment: Rapport. En introduktion till Smart cache En introduktion till Smart cache 1 Sammanfattning Syftet med den här rapporten är att ge en introduktion till tekniken smart cache för läsaren. Smart cache är en teknik som låter de olika cacheminnena

Läs mer

Schemaläggnings metoderna AMP & SMP i en Multiprocessor

Schemaläggnings metoderna AMP & SMP i en Multiprocessor EDT621 Datorarkitekturer med operativsystem 7,5 HP 2015-12-05 Schemaläggnings metoderna AMP & SMP i en Multiprocessor Författare: Simon Plato Sammanfattning Rapporten beskriver två schemaläggnings metoder.

Läs mer

Snapdragon 810: Cacheminnet

Snapdragon 810: Cacheminnet Snapdragon 810: Cacheminnet Daniel Eckerström dat14dec@student.lu.se Sammanfattnig Snapdragon 810 innehåller två olika processor arkitekturer, ARM Cortex-A53 samt Cortex-A57. Detta för att kunna på ett

Läs mer

Cacheminne i en Intel Core 2 Duo-processor

Cacheminne i en Intel Core 2 Duo-processor 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

Läs mer

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

Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant. Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant. Sammanfattning När processorns klockhastighet ökar medför det en ökning av instruktioner vilket såklart ökar

Läs mer

SYNKRONISERING I EN SHARED MEMORY MULTIPROCESSOR

SYNKRONISERING I EN SHARED MEMORY MULTIPROCESSOR SYNKRONISERING I EN SHARED MEMORY MULTIPROCESSOR EN INBLICK I HUR INTERCONNECTION OCH NUMA FUNGERAR DEN 5 DECEMBER 2016 FÖRFATTARE: NIKLAS SCHLIKER Examinator: Erik Larsson Innehåll Abstrakt:... 2 1.1

Läs mer

Jämförelse av skrivtekniker till cacheminne

Jämförelse av skrivtekniker till cacheminne Jämförelse av skrivtekniker till cacheminne 1 Innehåll 1. Sammanfattning 2. Inledning 3. Diskussion 4. Referenslista 1. Sammanfattning En rapport innehållande jämförelser av olika skrivtekniker till minnen

Läs mer

Hantering av hazards i pipelines

Hantering av hazards i pipelines Datorarkitektur med operativsystem Hantering av hazards i pipelines Lisa Arvidsson IDA2 Inlämningsdatum: 2018-12-05 Abstract En processor som använder pipelining kan exekvera ett flertal instruktioner

Läs mer

Cacheminne i en AMD Opteron Processor

Cacheminne i en AMD Opteron Processor 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

Läs mer

Öka prestanda i Shared-Cache multi-core processorer

Öka prestanda i Shared-Cache multi-core processorer Öka prestanda i Shared-Cache multi-core processorer 1. Abstract Många processorer har nuförtiden flera kärnor. Det är även vanligt att dessa kärnor delar på högsta nivås cachen för att förbättra prestandan.

Läs mer

Cacheminne Intel Core i7

Cacheminne Intel Core i7 EDT621 Datorarkitekturer med operativsystem 7,5 hp 2015-12-07 Cacheminne i Intel Core i7 Författare: Adnan Karahmetovic Handledare: Erik Larsson Innehåll 1. Inledning... 1 1.1 Syfte... 1 1.2 Frågeställning...

Läs mer

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

Hur det går att minska effektutvecklingen i en processor genom att ändra pipeline 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

Läs mer

Datorarkitekturer med Operativsystem

Datorarkitekturer med Operativsystem Lunds Tekniska Högskola Campus Helsingborg Datorarkitekturer med Operativsystem EDT621 Rapport Cacheminneshantering för ARM3-processorer 7 december 2015 Pierre Aupeix dat11pau@student.lu.se 1 Abstract

Läs mer

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

Hannes Larsson - IDA 2, LTH Campus Helsingborg. NEC V R 4300i. Interlock-handling EDT621 Hannes Larsson - IDA 2, LTH Campus Helsingborg NEC V R 4300i Interlock-handling EDT621 Läsperiod 2, 2017 Innehållsförteckning s.2 - Förord s.2 - Inledning s.2 - NEC VR-4305 s.3 - Pipeline s.4 - Interlocks

Läs mer

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

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum: Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60 Superscalar vs VLIW Cornelia Kloth IDA2 Inlämningsdatum: 2018-12-05 Abstract Rapporten handlar om två tekniker inom multiple issue processorer

Läs mer

32 Bitar Blir 64 Sammanfattning

32 Bitar Blir 64 Sammanfattning 32 Bitar Blir 64 Sammanfattning Syftet med rapporten är att ge en insyn i det tillvägagångssätt och problem som uppstod i utvecklingen från 32 bitars CPUs till 64 bitars CPUs samt inblick i skillnaden

Läs mer

Minnet från processorns sida Datorteknik

Minnet från processorns sida Datorteknik Minnet från processorns sida Datorteknik ERIK LARSSON Processorn ger kommandon/instruktioner med en adress och förväntar sig data. Exempel: READ(ADR) -> DATA Fysisk adress Logisk adress READ 00001000 READ

Läs mer

HF0010. Introduktionskurs i datateknik 1,5 hp

HF0010. Introduktionskurs i datateknik 1,5 hp HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se

Läs mer

Parallellism i NVIDIAs Fermi GPU

Parallellism i NVIDIAs Fermi GPU Parallellism i NVIDIAs Fermi GPU Thien Lai Phu IDA2 Abstract This report investigates what kind of computer architecture, based on Flynn s taxonomy, is used on NVIDIAs Fermi-based GPU to achieve parallellism

Läs mer

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Rahim Rahmani (rahim@dsv.su.se) Division of ACT Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Tentamensdatum: 2013-03-21 Tentamen består av totalt

Läs mer

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

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 Datorhistorik Föreläsning 3 Datorhistorik Datorns uppbyggnad, komponenter Processor, primärminne, sekundärminne Minneshierarkier Inbyggda system, stora datorer I think there is a world market for maybe

Läs mer

Datorsystem. Tentamen 2011-10-29

Datorsystem. Tentamen 2011-10-29 Datorsystem Tentamen 2011-10-29 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller och beräkningar som används för att nå svaret ska också finnas med i lösningen. Ett svar

Läs mer

Föreläsningsanteckningar 5. Cacheminnen

Föreläsningsanteckningar 5. Cacheminnen Föreläsningsanteckningar 5. Cacheminnen Olle Seger 2012 Anders Nilsson 2016 1 Inledning Bakgrunden till att cacheminnen behövs för nästan alla datorer är enkel. Vi kan kallt räkna med att processorn är

Läs mer

Pipelining i Intel 80486

Pipelining i Intel 80486 Lunds Universitet Pipelining i Intel 80486 EITF60 Datorarkitekturer med operativsystem Martin Wiezell 2017-12-04 Abstract This paper gives a brief description of the instruction pipeline of the Intel 80486

Läs mer

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

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA CDC6600 - en jämförelse mellan superskalära processorer av: Marcus Karlsson Sammanfattning I denna rapport visas konkret information om hur den första superskalära processorn såg ut och hur den använde

Läs mer

Arm Cortex-A8 Pipeline

Arm Cortex-A8 Pipeline Marcus Havrell Dahl - 941206 Arm Cortex-A8 Pipeline Sammanfattning Arm Cortex-A8 processorn är en energisnål men samtidigt kraftfull enhet. Beroende på implementationen kan den ha en klockhastighet på

Läs mer

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.

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. 1 2 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. Instruk=onerna =ll programmet som exekveras finns

Läs mer

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar Gabriel Gerhardsson Cacheprobe p.1/38 Abstract Kan analytiskt ta reda på associativitet, line storlek och storlek på processorns cacheminnen

Läs mer

Mer datorarkitektur. En titt I datorn Minnen

Mer datorarkitektur. En titt I datorn Minnen Mer datorarkitektur En titt I datorn Minnen von Neumann-modellen von Neumann-modellen CPU (Central Processing Unit) Styrenhet hämtar programinstruktioner ALU (Arithmetic and Logical Unit) utför beräkningar

Läs mer

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013 Rahim Rahmani (rahim@dsv.su.se) Division of SAS Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, HT2013 Tentamensdatum: 2013-10-30 Tentamen består av totalt

Läs mer

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

Dugga 1 status 41 godkända 39 ej godkända ERIK LARSSON Datorteknik Dugga 1 status 41 godkända 39 ej godkända ERIK LARSSON e.g. Harvard or Boston Home About Rankings Survey Universities GRUP Initiative Conference Study in China Advertise with Us Home>> Global

Läs mer

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621 Lunds Universitet LTH Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621 Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng

Läs mer

Datorhårdvaruteknik 1DV426 - Seminarie 1

Datorhårdvaruteknik 1DV426 - Seminarie 1 Datorhårdvaruteknik 1DV426 - Seminarie 1 Marcus Wilhelmsson marcus.wilhelmsson@lnu.se 19 mars 2014 Introduktion Detta seminarie behandlar följande: 1. Processorer 2. Minne 3. Chipset 4. BIOS 5. Moderkort

Läs mer

Datorsystemteknik för E/D

Datorsystemteknik för E/D Tentamen i kursen Datorsystemteknik (EDA330 för D och EDA370 för E) 19/8 2000 1(8) Tentamen i kursen Datorsystemteknik (EDA330 för D och EDA370 för E) Datorsystemteknik för E/D 19/8 2000 Tentamensdatum:

Läs mer

Digitalteknik och Datorarkitektur 5hp

Digitalteknik och Datorarkitektur 5hp Digitalteknik och Datorarkitektur 5hp Minnes-hierarkier och Cache 12 maj 2008 karl.marklund@it.uu.se issa saker använder vi ofta Dessa saker vill vi ha nära till hands Storleken har betydelse Litet är

Läs mer

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

Komma över Memory wall med 3D stacked minne LTH Ingenjörshögskolan vid Campus Helsingborg Institutionen för datavetenskap Komma över Memory wall med 3D stacked minne LTH Ingenjörshögskolan vid Campus Helsingborg Institutionen för datavetenskap Christofer Huynh IDA14 EDT621 Lärare: Erik Larsson Abstrakt Memory wall, något

Läs mer

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

Schemaläggningsmetodik för multi-core inom Windows 7 OS Vad är scheduling och hur schemalägger Windows OS sina processer? LUNDS TEKNISKA HÖGSKOLA Schemaläggningsmetodik för multi-core inom Windows 7 OS Vad är scheduling och hur schemalägger Windows OS sina processer? 2015-12-07 1. Inledning Det är ett faktum idag att multi-core

Läs mer

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60) Lunds Universitet LTH Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60) Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng

Läs mer

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON Datorteknik ERIK LARSSON Laborationer Gå bara på tillfällen där du är anmäld. Moment svarar mot 1.5hp, dvs 40 timmar arbete Schemalagd tid: 4*2 (lektioner)+4*4(laborationer)=20 timmar Material: Finns på

Läs mer

Hantering av hazards i multi-pipelines

Hantering av hazards i multi-pipelines Campus Helsingborg IDA2 Hantering av hazards i multi-pipelines Av: Mounir Salam Abstract Det finns tre olika problem som kan uppstå när vi kör en pipeline med flera steg. De tre problemen även så kallade

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA8 Datorteknik Y (och U) Föreläsning Kent Palmkvi, ISY TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvi 7-4- Dagens föreläsning Latens/genomrömning Minneyper Läsminne (ROM) Läs och skriv minnen

Läs mer

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer LUNDS UNIVERSITET Parallell exekvering av Float32 och INT32 operationer Samuel Molin Kursansvarig: Erik Larsson Datum 2018-12-05 Referat Grafikkort utför många liknande instruktioner parallellt då typiska

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA8 Datorteknik Y (och U), föreläsning, Kent Palmkvist 8-4-6 TSEA8 Datorteknik Y (och U) Föreläsning Kent Palmkvist, ISY Praktiska kommentarer Laboration 4 tips Sorteringsalgoritm använder A > B i flödesschemat

Läs mer

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

Bank Switching. Att nå multipla adressrymder. Av: Drazen Mijatovic Bank Switching Att nå multipla adressrymder Av: Drazen Mijatovic 2016-12-06 Abstrakt: Adressbussen hos processorer och mikrokontroller som används inom inbäddade applikationer utgör en begränsning för

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Parallellberäkning Konstant behov av högre prestanda Prestanda har uppnåtts genom: Utveckling inom halvledarteknik Tekniker som:» Cacheminne» Flera bussar»

Läs mer

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

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 1 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 arkitektur), hårdvara osynlig Assembly- och maskinprogram:

Läs mer

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

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Lösningsförslag för 725G45-tentan 3/11-10 1. Vad menas med Von Neumann-arkitektur? (2p) En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Data och instruktioner lagras i samma

Läs mer

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

Hantering av begränsat antal skrivningar på Solid State diskar LTH - LUNDS TEKNISKA HÖGSKOLA Hantering av begränsat antal skrivningar på Solid State diskar Filip Nilsson 2015-12-07 Sammanfattning På senare år har utvecklingen för SSD (Solid State Drive) enheter kommit

Läs mer

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

0.1. INTRODUKTION 1. 2. Instruktionens opcode decodas till en språknivå som är förstålig för ALUn. 0.1. INTRODUKTION 1 0.1 Introduktion Datorns klockfrekvens mäts i cykler per sekund, eller hertz. En miljon klockcykler är en megahertz, MHz. L1 cache (level 1) är den snabbaste formen av cache och sitter

Läs mer

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)

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) Datorsystem 2 CPU Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur CPU Visning av Akka (för de som är intresserade) En dators arkitektur På en lägre nivå kan vi ha lite olika

Läs mer

Tentamen den 17 mars 2016 Datorteknik, EIT070

Tentamen den 17 mars 2016 Datorteknik, EIT070 Lunds Universitet LTH Tentamen den 17 mars 2016 Datorteknik, EIT070 Skrivtid: 14.00-19.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30 poäng

Läs mer

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

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

Läs mer

Datorsystem. Exempeltentamen 2011-10-18

Datorsystem. Exempeltentamen 2011-10-18 Datorsystem Exempeltentamen 2011-10-18 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller och beräkningar som används för att nå svaret ska också finnas med i lösningen.

Läs mer

CE_O8. Cacheminne. Hemlaboration 2.

CE_O8. Cacheminne. Hemlaboration 2. IS1200 Lösningsförslag till övning CE_O8, 2015 CE_O8. Cacheminne. Hemlaboration 2. 8.1. Medeltidshistoria Diskutera förloppet då CPU:n gör en läsreferens i huvudminnet dvs information kopieras från huvudminne

Läs mer

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

Hyper Threading Intels implementation av SMT. Datorarkitekturer med operativsystem - EITF60. Felix Danielsson IDA2 Hyper Threading Intels implementation av SMT Datorarkitekturer med operativsystem - EITF60 Felix Danielsson IDA2 Sammanfattning Simultaneous multithreading (SMT) är en teknik som används i processorer

Läs mer

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00 Operativsystem ID2206 Tentamen TEN1 4.5 hp 2018-04-03 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa

Läs mer

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621 Lunds Universitet LTH Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621 Skrivtid: 8.00-13.00 Inga tillåtna hjälpmedel Uppgifterna i tentamen ger maximalt 60 poäng. Uppgifterna är

Läs mer

What Is Hyper-Threading and How Does It Improve Performance

What Is Hyper-Threading and How Does It Improve Performance What Is Hyper-Threading and How Does It Improve Performance Ali Muthanna, Lunds Universitet, IDA2, EDT621 Abstract Hyper-Threading (HT) is Intel s version of simultaneous multi-threading (SMT). Hyper-Threading

Läs mer

Lathund Blanketthotell Komma igång

Lathund Blanketthotell Komma igång Lathund Blanketthotell Komma igång Introduktion Denna lathund innehåller lite samlade råd och tips för de som ska använda tjänster från NT Smartwork. (För de som redan börjat använda Blanketthotellet finns

Läs mer

Tentamen den 18 mars svar Datorteknik, EIT070

Tentamen den 18 mars svar Datorteknik, EIT070 Lunds Universitet LTH Tentamen den 18 mars 2015 - svar Datorteknik, EIT070 Skrivtid: 14.00-19.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30

Läs mer

Hyper-Threading i Intelprocessorer

Hyper-Threading i Intelprocessorer Lunds Tekniska Högskola Campus Helsingborg DATORARKITEKTURER MED OPERATIVSYSTEM EITF60 RAPPORT Hyper-Threading i Intelprocessorer 4 december 2017 Rasmus Hanning IDA2 Sammanfattning Det har sedan den första

Läs mer

Skärmbilden i Netscape Navigator

Skärmbilden i Netscape Navigator Extratexter till kapitel Internet Skärmbilden i Netscape Navigator Netscape är uppbyggt på liknande sätt som i de flesta program. Under menyraden, tillsammans med verktygsfältet finns ett adressfält. I

Läs mer

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

Prestandapåverkan på databashanterare av flertrådiga processorer. Jesper Dahlgren Prestandapåverkan på databashanterare av flertrådiga processorer av Sammanfattning Behandling av information bli vanligare i dagens samhälle och för att klara denna uppgiften används ofta en databashanterare

Läs mer

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

Att köpa ny dator SeniorNet Lidingö Februari-2019 Att köpa ny dator SeniorNet Lidingö Februari-2019 Att köpa ny dator Kompakt bordsdator Stationär dator Allt-i-ett-dator Laptop Hybrid (laptop/surfplatta) Agenda Att tänka på innan du köper dator Faktorer

Läs mer

Aktivitetsschemaläggning för flerkärninga processorer

Aktivitetsschemaläggning för flerkärninga processorer Lunds Tekniska Högskola Datorarkitekturer med Operativsystem EDT621 Aktivitetsschemaläggning för flerkärninga processorer Tobias Lilja 5 december 2016 Innehåll 1 Inledning 3 1.1 Syfte................................

Läs mer

Processor pipelining genom historien (Intel i9-intel i7)

Processor pipelining genom historien (Intel i9-intel i7) Processor pipelining genom historien (Intel i9-intel i7) Besnik Redzepi Lunds Universitet Abstrakt/Sammanfattning Syftet med denna uppsats är att jämföra Intels nya generation processorer och deras pipelining.

Läs mer

Datorsystem. Tentamen

Datorsystem. Tentamen Datorsystem Tentamen 2012-03-17 Instruktioner Samtliga svar skall vara motiverade och läsbara. Eventuella tabeller, illustrationer och beräkningar som används för att nå svaret ska också finnas med i lösningen.

Läs mer

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Översikt Minnets komponenter Minneshierarkin Cacheminne Paging Virtuellt minne Minnets komponenter Enhet för indata Primärminne (CPU) Enhet för utdata Sekundärminne

Läs mer

Grundläggande datavetenskap, 4p

Grundläggande datavetenskap, 4p Grundläggande datavetenskap, 4p Kapitel 2 Datamanipulation, Processorns arbete Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-09 IT och Medier 1 Innehåll CPU ALU Kontrollenhet Register

Läs mer

Föreläsningsanteckningar 4. Pipelining

Föreläsningsanteckningar 4. Pipelining Föreläsningsanteckningar 4. Pipelining Olle Seger 2012, olles@isy.liu.se 21 januari 2013 1 Inledning Denna föreläsning handlar om pipelining, som är den helt dominerande processorarkitekturen i dag. Man

Läs mer

Dagens OS. Unix, Linux och Windows. Unix. Unix. En översikt av dagens OS Titt på hur de gör. Många varianter Mycket gemensamt. En del som skiljer

Dagens OS. Unix, Linux och Windows. Unix. Unix. En översikt av dagens OS Titt på hur de gör. Många varianter Mycket gemensamt. En del som skiljer Dagens OS En översikt av dagens OS Titt på hur de gör Unix, Linux och Windows Unix Många varianter Mycket gemensamt Unix En del som skiljer Vanliga program, shell, etc System calls Interupts and traps

Läs mer

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. 1 3 4 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är

Läs mer

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. 1 2 3 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är

Läs mer

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

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 1 2 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 och instruk7onen exekveras. 3 4 Program kan beskrivas

Läs mer

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

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU. Digitala System: Datorteknik Minnets komponenter ERIK LARSSON Enhet för indata CPU Enhet för utdata Sekundärminne Programexekvering Program i högnivåspråk.. Z:=(Y+X)*3. Kompilator Exekverbart program i

Läs mer

IPv6 Jonas Aronsson 3TEa

IPv6 Jonas Aronsson 3TEa IPv6 Jonas Aronsson 3TEa IPv6 IPv6, sjätte generationens Internetprotokoll, det nya sättet att adressera och överföra data i nätverk. Vad lite mer exakt är detta? Det tänkte jag nu gå igenom i två steg.

Läs mer

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering (1)

Läs mer

SIMD i Intel s P5- baserade Pentium MMX

SIMD i Intel s P5- baserade Pentium MMX SIMD i Intel s P5- baserade Pentium MMX Maurits Gabriel Johansson - IDA2 Datorarkitekturer med operativsystem - 4 december 2016 SIMD I INTEL S P5-BASERADE PENTIUM MMX 1 Abstrakt Moderna CPU s (Central

Läs mer

CE_O5. Cacheminne. Hemlaboration 2.

CE_O5. Cacheminne. Hemlaboration 2. IS1500 Exempelsamling till övning CE_O5, 2014 CE_O5. Cacheminne. Hemlaboration 2. 5.1. Medeltidshistoria Diskutera förloppet då CPU:n gör en läsreferens i huvudminnet dvs information kopieras från huvudminne

Läs mer

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

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt

Läs mer

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

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering Fö 2: Minnen Introduktion, Klassificiering Primärminne Sekundärminne Minneshiearki Cache-minne Introduktion Primärminnet används för att lagra program och data som är aktuella att använda. Sekundärminnet

Läs mer

Filöverföring i Windowsmiljö

Filöverföring i Windowsmiljö Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Filöverföring i Windowsmiljö Erik Ljungqvist, Viktor Hjertman 10 januari 2014 Sammanfattning I detta projekt undersöks skillnaden i

Läs mer

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

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1) 2 n stycken tal från 0 till 2 n 1 F1.2) 9 bitar (512 kombinationer) Talsystem - 2-

Läs mer

Parallellism i CDC 7600, pipelinens ursprung

Parallellism i CDC 7600, pipelinens ursprung Lunds universitet Parallellism i CDC 7600, pipelinens ursprung Henrik Norrman EITF60 Datorarkitekturer med operativsystem Kursansvarig: Erik Larsson 4 december 2017 INNEHÅLL Parallellism i CDC 7600 Innehåll

Läs mer

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

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 . Vad är en dator? Introduktion till datorer och nätverk Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 Översikt 2/23 Datorns historia von Neumann-arkitekturen Operativsystem Datornät

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) Praktiska kommentarer TSEA8 Datorteknik Y (och U) Föreläsning Kent Palmkvist, ISY Dagens föreläsning RISC Mer information om hur arkitekturen fungerar Begränsningar Lab extra tillfälle för redovisning

Läs mer

Närliggande allokering Datorteknik

Närliggande allokering Datorteknik Närliggande allokering Datorteknik ERIK LARSSON TID Problem: Minnet blir fragmenterat Paging Demand paging Sida (S) Dela upp primärminnet i ramar (frames) och program i sidor (pages) Program 0 RD.0 1 RD.1

Läs mer

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00 Operativsystem ID2200 Tentamen TEN1 3.8 hp 2018-04-03 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa

Läs mer

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

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp Tentamen i Digitala system EITA5 5hp varav denna tentamen 4,5hp Institutionen för elektro och informationsteknik Campus Helsingborg, LTH 289 8. 3. (förlängd 4.) Uppgifterna i tentamen ger totalt 6 poäng.

Läs mer

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

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Random Access Memory Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Introduktion Historia Vad är RAM? Hur fungerar RAM? Dataöverföring, tidsklocka och termer Vilka är de olika typerna av RAM? Vad

Läs mer

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

IT-GUIDE Version 1.0 Författare: Juha Söderqvist IT-GUIDE Version 1.0 Författare: Juha Söderqvist Innehåll INTRODUKTION... 3 DATOR... 3 persondator... 3 Tablet... 4 Laptop... 4 Telefoner... 4 MODERKORT... 5 PROCESSORN... 5 inbäddade system... 6 RAM-MINNE...

Läs mer

Nätverksteknik A - Introduktion till Routing

Nätverksteknik A - Introduktion till Routing Föreläsning 8 Nätverksteknik A - Introduktion till Routing Lennart Franked Information och Kommunikationssystem (IKS) Mittuniversitetet 2014-12-02 Lennart Franked (MIUN IKS) Nätverksteknik A - Introduktion

Läs mer