Cache coherence hos multicoreprocessorer

Storlek: px
Starta visningen från sidan:

Download "Cache coherence hos multicoreprocessorer"

Transkript

1 Cache coherence hos multicoreprocessorer Benjamin Holmqvist, EDT621 December 5,

2 Contents 1 Inledning 3 2 Syfte 3 3 Cache Coherence Implementering Snoop baserade Directory baserade MESI-protokollet De fyra tillstånden Mer om exclusive Referenser 7 2

3 1 Inledning Information är någonting som är otroligt viktigt i dagens samhälle. Man försöker se till att alla får ta del av samma information för att till exempel forskning och flera andra områden ska kunna fungera så effektivt som möjligt. Detsamma gäller inom datorn. Ska man undvika att det blir fel inuti datorn gäller det att alla moduler har samma information så att när det ska genomföras ett handskak så är båda parter lika välinformerade. När hemsidor ska tolkas behöver man vara underfund vilka protokoll som ska användas och så vidare. Tittar man på en ännu lägre nivå som jag och mina klasskamrater har gjort på universitetet en längre tid nu förstår man just hur stor roll det kan spela inne i datorn mellan processorer och olika typer av minnen. I den här rapporten har jag valt att fokusera på cache coherence och MESI protokollet. 2 Syfte Att ge läsaren ökad förståelse för vad Cache Coherence är och hur MESIprotokollet fungerar. 3 Cache Coherence När man har ett multiprocessorsystem där varje processor har ett eget cacheminne och flera processer(trådar) körs samtidigt är det viktigt att se till att man läser rätt värden. Det finns flera ställen som kopior kan sparas på i detta fallet, både i huvudminnet som delas av processorerna i systemet och i varje separat cacheminne. När någon process gör en ändring till ett värde i cacheminnet måste även de andra kopiorna där värdet lagras ändras för att undvika fel i andra processer. Cache coherence är den metod som ser till att detta sköts så att värdena uppdateras i hela systemet utefter behov. 3

4 Condition of Coherency: 1) A read by a processor P, to a location X follows a write by P to X, with no writes of X by another processor occurring in between, always returns the value written by P. 2) A read by P to location X that follows a write by another processor to X returns the newly written value if the read and write are sufficiently separated. 3) Writes to the same location are serialized: that is two writes to the same location by any two processors are seen in the same order by all processors. Neupane, Mahesh (2004) Detta är alltså enligt Mahesh dem tre förhållanden som införande av cache coherence innebär. Den första punkten säger att så länge bara en processor läser/skriver till en plats i minnet utan att någon annan processor gör någon ändring så kommer det värdet som processorn skrev till den platsen att läsas. Punkt nummer två säger att om en annan processor däremot skriver till samma plats som den första processorn vill läsa kommer det nyskrivna värdet bara läsas om det gått tillräckligt lång tid från dess att värdet skrevs tills att en processor vill läsa värdet. Den tredje och sista punkten säger att om två processorer vill skriva till samma plats i minnet så kommer alla andra processorer se dessa två skrivningar i samma ordning. Om dessa förhållanden uppfylls kan man säga att systemet är cache coherent. 3.1 Implementering Det finns flera sätt att införa coherence till ett system. De två vanligaste metoderna kallas för Directory-Based och Snoop-based. 3.2 Snoop baserade Snoop-baserade protokoll går ut på att för varje transaktion på bussen måste det göras en cache-lookup som kollar om det finns en cache-line som tillhör transaktion en på bussen. När detta sker kommer alla andra kärnor att tjuvlyssna på bussen, de kommer snoopa på bussen. Detta gör att alla kärnor håller sig uppdaterade på vad som ändras i det delade minnet och vad som inte ändras. Eftersom denna variant använder en slags broadcast till alla processorer kräver det mer bandbredd på bussen och gör det svårare att skala upp denna metod om man vill ha fler processorer till exempel. Det går dock väldigt snabbt med så kallad cache-to-cache överföring av data. 4

5 3.3 Directory baserade När det kommer till protokoll som implementerar en Directory-based lösning så använder man ett slags filter mellan processorn och det delade cacheminnet. Processorn måste ges tillåtelse att få läsa in/skriva i primärminnet som delas. När en directory till en processor får reda på att en ändring gjorts i det delade minnet kommer den uppdatera eller invalidera datan på de andra icke-delade kända platserna som datan lagras. Den här metoden är att föredra när man har fler processorer och minnet är mer fördelat. Eftersom man inte behöver broadcast för att nå ut till alla processorer sparar man här på bussens bandbredd och gör den lättare att skala upp till flera processorer. 4 MESI-protokollet Det här är ett protokoll som bygger vidare på MSI protokollet. Det utvecklades på University of Illinois at Urbana-Champaign i delstaten Illinois i USA och kallas därför även för Illinois protokollet. Det här protokollet är ett av dem protokoll som använder Snooping för att bibehålla cache coherence. När en processor vill skriva till cacheminnet finns det två olika policyer som kan användas, write-through och write-back. Det här protokollet implementerar det senare alternativet som i kort innebär att skrivningen enbart görs till cacheminnet och inte som backup i primärminnet. Write-back är lite mer invecklat att implementera än vad write-through är eftersom man på något sätt behöver hålla reda på vilken av datans platser i cacheminnet som skrivits över, det här gör man med en så kallad dirty bit. I MESI-protokollet så används denna dirty bit inte bara för att markera att denna data blivit invalid som MSI-protokollet gör. Man får en ledtråd till detta genom förkortningen, MESI står nämligen för Modified Exclusive Shared Invalid. Här behövs den så kallade dirty bit:en kunna signalera fler stadier än enbart invalid. Denna bit beskriver datan likt ett tillståndsdiagram. Det finns fyra stycken tillstånd och de kommer behandlas i kronologisk ordning. 5

6 4.1 De fyra tillstånden Modified innebär att denna data enbart existerar inom det cache man nu befinner sig i och att den är dirty, den har blivit modifierad och är inte samma som värdet den hade innan i primärminnet. Denna data måsted skrivas tillbaka till primärminnet innan någon annan läsning utav denna data får ske. När denna skrivning sker ändras tillståndet till Shared. Exclusive innebär att datan enbart existerar inom det cache man nu befinner sig i men inte är dirty utan att den är så kallad clean, det är samma information som när den lästes från primärminnet. Denna data kan kastas bort när som helst utan att en backup skrivs till primärminnet. Shared visar att denna data kan vara lagra även på andra cacheminnen och är clean. Invalid betyder att denna data inte ska användas. 4.2 Mer om exclusive Införningen av detta exklusiva tillstånd innebär att processorn kan skriva till datan som är i exclusive tillstånd utan att behöva samtala med de andra kärnorna för att kunna gå från exclusive till modified eftersom exclusive tillstånd innebär att det är den enda kopian i cacheminnet just då. Det här är den största skillnaden gentemot MSI till exempel där det exklusiva tillståndet inte finns. Processorn behöver alltså inte göra ett anrop till de andra kärnorna och detta sparar på transaktion över bussen. Denna ändring medför signifikant förbättring i tidsåtgång när processorn vill skriva till data som har tillståndet exclusive. 6

7 5 Referenser En.wikipedia.org. (2016). Cache coherence, [viewed 2 December 2016], Neupane, M.(2004). Cache coherence edu/schubert/tutorials/csci610/w04/mn_cache_coherence.pdf Ulfsnes, R.(2013). Design of a Snoop Filter for Snoop Based Cache Coherency Protocols. Norwegian University of Science and Technology /FULLTEXT01.pdf En.wikipedia.org. (2016).MESI protocol, [viewed 2 December 2016], En.wikipedia.org. (2016).MSI protocol, [viewed 2 December 2016], En.wikipedia.org. (2016).Bsu Snooping, [viewed 3 December 2016], Shen, K. (2011). Shared Memory Multiprocessors and Cache Coherence. lecture6-mpcoherence.pdf Patterson, D. (1996). Snooping vs. Directory Based Coherency.Berkeley Electrical Engineering and Computer Sciences. Brorsson, M.(2014). Intro to Coherence. [video] [ ] Brorsson, M.(2014). More on Coherence. [video] [ ] Trigonakis, V. (2015). MESI Cache Coherence Protocol. [video] [ ] Luo, Y. (2013). Cache Coherence part 2. [video] [ ] Henty, D. (2012). Multicore Memory Caching Issues - Cache Coherency [video] [ ] 7

Rapport (1,5 HP) Lunds Universitet HT15

Rapport (1,5 HP) Lunds Universitet HT15 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:

Läs mer

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

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-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 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

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

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

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

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

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

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

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

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

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

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

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

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

Ö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

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

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 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

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

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, 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

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

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

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

Tentamen PC-teknik 5 p

Tentamen PC-teknik 5 p Tentamen PC-teknik 5 p Namn:. Klass:... Program: Di2, Em3, Et3 Datum: 03-08-15 Tid: 13:30-18:30 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C

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

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

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

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

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

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

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 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

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 6: Filhantering Henrik Björklund Umeå universitet 13 oktober 2009 Björklund (UmU) Programmeringsteknik 13 oktober 2009 1 / 22 Textfiler Filer är sekvenser

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

Spekulativ exekvering i CPU pipelining

Spekulativ exekvering i CPU pipelining Spekulativ exekvering i CPU pipelining Max Faxälv Datum: 2018-12-05 1 Abstrakt Speculative execution is an optimisation technique used by modern-day CPU's to guess which path a computer code will take,

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang)

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang) Tentamen i Programmeringsteori Institutionen for datorteknik Uppsala universitet 1996{08{14 Larare: Parosh A. A., M. Kindahl Plats: Polacksbacken Skrivtid: 9 15 Hjalpmedel: Inga Anvisningar: 1. Varje bevissteg

Läs mer

Beijer Electronics AB 2000, MA00336A, 2000-12

Beijer Electronics AB 2000, MA00336A, 2000-12 Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this

Läs mer

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i

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

Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24

Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24 Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24 FÖRSÄTTSBLAD Inlämnas ifyllt tillsammans med tentan. Skriv namn på samtliga blad. Ange nedan vilka uppgifter du besvarat. Uppgift Besvarad

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

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

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

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

Läsminne Read Only Memory ROM

Läsminne Read Only Memory ROM Läsminne Read Only Memory ROM Ett läsminne har addressingångar och datautgångar Med m addresslinjer kan man accessa 2 m olika minnesadresser På varje address finns det ett dataord på n bitar Oftast har

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

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

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn. Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E Föreläsning 4: Villkor och rekursion Konverterar mellan de grundläggande typerna: >>> int("") >>> int(.999) >>> float().0

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

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

TDDC76 - Programmering och Datastrukturer

TDDC76 - Programmering och Datastrukturer TDDC76 - Programmering och Datastrukturer Klasser - speciella medlemsfunktioner Eric Elfving Institutionen för datavetenskap En klass ansvarar ofta för en resurs. Ibland är resursen så enkel som en datamedlem

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

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion Introduktion till programmering Föreläsning 4: Villkor och rekursion 1 1 Några inbyggda funktioner (med resultat!) Konverterar mellan de grundläggande typerna: >>> int("32") 32 >>> int(3.999) 3 >>> float(32)

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

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

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

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt Flera processer Minneshantering Operativsystem lektion 6 Potentiellt problem: Den sida som plockas bort behöver inte vara den sida som används minst!! Det kan finnas andra processer som inte körs eller

Läs mer

Guido van Robot och olika UNIX-kommandon

Guido van Robot och olika UNIX-kommandon Guido van Robot och olika UNIX-kommandon Till denna session är det tänkt att ni ska ha arbetat en del med både UNIX-kommandon och börjat med Guido van Robot. Vi ska nu studera dessa båda saker med hjälp

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

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA PARALLELLISERING AV ALGORITMER FÖR FLERKÄRNIGA PROCESSORER 870928 3017 Johan Gustafsson 870303 4952 Gustaf David Hallberg 880525 8210 Per Hallgren 801117 0597 Wuilbert Lopez 1/7 Innehållsförteckning Table

Läs mer

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p)

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p) UMEÅ UNIVERSITY Department of Mathematics and Mathematical Statistics Pre-exam in mathematics Linear algebra 2012-02-07 1. Compute the following matrix: (2 p 3 1 2 3 2 2 7 ( 4 3 5 2 2. Compute the determinant

Läs mer

Grafisk teknik IMCDP IMCDP IMCDP. IMCDP(filter) Sasan Gooran (HT 2006) Assumptions:

Grafisk teknik IMCDP IMCDP IMCDP. IMCDP(filter) Sasan Gooran (HT 2006) Assumptions: IMCDP Grafisk teknik The impact of the placed dot is fed back to the original image by a filter Original Image Binary Image Sasan Gooran (HT 2006) The next dot is placed where the modified image has its

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

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

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

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap

Karlstads universitet Institutionen för Informationsteknologi Datavetenskap TENTAMEN FÖR KURS DAV B02, DATAKOMMUNIKATION I 5p Sid. 1 av 8 Ansvarig lärare: Johan Garcia Tillåtna hjälpmedel: Kalkylator Betygsgränser: 3=30-39p, 4=40-49p, 5=50-60p Frågor av resonerande karaktär (beskriv,

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

Multithreading in Intel Pentium 4 - Hyperthreading

Multithreading in Intel Pentium 4 - Hyperthreading Multithreading in Intel Pentium 4 - Hyperthreading Sammanfattning Hyper-threading är en implementation av SMT(Simultaneous Multithreading) teknologi som används på Intel processorer. Implementationen användes

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

Grafisk teknik IMCDP. Sasan Gooran (HT 2006) Assumptions:

Grafisk teknik IMCDP. Sasan Gooran (HT 2006) Assumptions: Grafisk teknik Sasan Gooran (HT 2006) Iterative Method Controlling Dot Placement (IMCDP) Assumptions: The original continuous-tone image is scaled between 0 and 1 0 and 1 represent white and black respectively

Läs mer

Säkra pausade utskriftsjobb. Administratörshandbok

Säkra pausade utskriftsjobb. Administratörshandbok Säkra pausade utskriftsjobb Administratörshandbok April 2013 www.lexmark.com Innehåll 2 Innehåll Översikt... 3 Konfigurera säkra pausade utskriftsjobb... 4 Konfigurera och säkra programmet...4 Använda

Läs mer

Grafisk teknik. Sasan Gooran (HT 2006)

Grafisk teknik. Sasan Gooran (HT 2006) Grafisk teknik Sasan Gooran (HT 2006) Iterative Method Controlling Dot Placement (IMCDP) Assumptions: The original continuous-tone image is scaled between 0 and 1 0 and 1 represent white and black respectively

Läs mer

Delta i undervisning online via Zoom

Delta i undervisning online via Zoom Delta i undervisning online via Zoom 2 Innehåll Välkommen till undervisning i Zoom!... 3 Innan du börjar använda Zoom... 3 Använd headset med mikrofon!... 3 Aktivera Zoom... 3 Installera klient... 4 Ladda

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

Lösningsförslag till Tenta i Mikrodator

Lösningsförslag till Tenta i Mikrodator Lösningsförslag till Tenta i Mikrodator 050113 1. Vilka register finns det i processorn och vad används dessa till? D0 till D7: Dataregister som används för beräkningar A0 till A6: Adressregister som används

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

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2017-06-02 Lokal G35, TER2, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor

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

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering

Läs mer

Swedish National Data Service

Swedish National Data Service University of Gothenburg Karolinska Institutet Lund University Stockholm University Swedish University of Agricultural Sciences Umeå University Uppsala University Swedish National Data Service An infrastructure

Läs mer