Digitalteknik och Datorarkitektur 5hp

Relevanta dokument
Minnet från processorns sida Datorteknik

Jämförelse av skrivtekniker till cacheminne

Pipelining i Intel 80486

CE_O5. Cacheminne. Hemlaboration 2.

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga

Tentamen den 17 mars 2016 Datorteknik, EIT070

Föreläsningsanteckningar 5. Cacheminnen

Digitala System: Datorteknik ERIK LARSSON

4 grundregler. Minneshantering. Problemet. Windows minkrav

Datorarkitekturer med Operativsystem

Mer datorarkitektur. En titt I datorn Minnen

Datorteknik ERIK LARSSON

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

Hantering av hazards i pipelines

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

Cache coherence hos multicoreprocessorer

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

CE_O8. Cacheminne. Hemlaboration 2.

Datorarkitekturer med operativsystem ERIK LARSSON

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.

Digitalteknik och Datorarkitektur

Cacheminne i en AMD Opteron Processor

Snapdragon 810: Cacheminnet

Datorarkitekturer med operativsystem ERIK LARSSON

Grundläggande datavetenskap, 4p

Digitala System: Datorteknik ERIK LARSSON

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

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

Datorarkitekturer med operativsystem ERIK LARSSON

MESI i Intel Core 2 Duo

Digitala System: Datorteknik ERIK LARSSON

Cacheminne i en Intel Core 2 Duo-processor

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

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

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

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

Digitalteknik och Datorarkitektur 5hp

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

TSEA28 Datorteknik Y (och U)

HF0010. Introduktionskurs i datateknik 1,5 hp

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

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

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

TSEA28 Datorteknik Y (och U)

Arm Cortex-A8 Pipeline

Öka prestanda i Shared-Cache multi-core processorer

Datorsystemteknik för E/D

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

Pipelining i Intel Pentium II

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

Vad bör göras? Steg 1. RISC => pipelining. Parallellism. Pipelining. Nya LDA 13. RISC(reduced instruction set computer) Öka klockfrekvensen

Foto: Rona Proudfoot (some rights reserved) Datorarkitektur 1. Datapath & Control. December

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

Cacheminne Intel Core i7

Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn

Tenta i Digitalteknik

Cache-koherens protokoll MESI och MOSI

Spekulativ exekvering i CPU pipelining

TSEA28 Datorteknik Y (och U)

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

Parallellism i NVIDIAs Fermi GPU

Läsminne Read Only Memory ROM

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

Tentamen PC-teknik 5 p

Datorsystem. Tentamen

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

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

32 Bitar Blir 64 Sammanfattning

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

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

Några gamla tentamensuppgifter: Minneshantering

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

Tentamen. Datorteknik Y, TSEA28

Närliggande allokering Datorteknik

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

Datorarkitekturer med operativsystem ERIK LARSSON

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

Datorsystemteknik D. Lösningar till tentamen i kursen EDA330 14/1 2000

Tentamen PC-teknik 5 p Lösningar och kommentarer

Rapport (1,5 HP) Lunds Universitet HT15

Cacheminne och adressöversättning

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Får endast utföras av behörig personal. May only be carried out by authorized electrician

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

Tentamen den 18 mars svar Datorteknik, EIT070

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.

Beijer Electronics AB 2000, MA00336A,

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

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

Styrteknik: Binära tal, talsystem och koder D3:1

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

Diskprestanda Tester

Rastercell. Digital Rastrering. AM & FM Raster. Rastercell. AM & FM Raster. Sasan Gooran (VT 2007) Rastrering. Rastercell. Konventionellt, AM

Omtentamen i CDT204 - Datorarkitektur

Schemaläggnings metoderna AMP & SMP i en Multiprocessor

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

Det finns en hemsida. Adressen är

Transkript:

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 snabbt Stort är långsamt adå ofta? Samma principer gäller för hur en dator använder sitt minne. adå vissa saker? 1

Temporal Locality If a data location is referenced then it is very likely to be accessed soon again. Spatial Locality If a data location is referenced, data locations with nearby addresses are likely to be accessed soon. Lista med de senast slagna nummren. De flesta av oss läser böcker från början till slut, dvs eftersidan läservi sida n+1 osv. Level 0 register! Minne i flera nivåer minnes-hierarki: snabbt och litet (dyrt) minne nära processorn långsamt och stort (billigt) minne längre bort från processorn. Det finns snabbt minne...... som är dyrt. Det finns billigt minne...... som är långsamt. Typsiska siffror från år 2004. SRAM DRAM Mag. Disk. Tid 0.5 5 ns 50 70 ns 5 20 ms $/GB 4 0-200 0.5-2 2

Hårddisk DRAM SRAM olatile Snabb åtkomst Pris/Bit Hårddisk DRAM SRAM olatile ej Ja Ja Snabb åtkomst ej ja.. Ja Pris/Bit Billigt Dyrt Dyrast Cache från franska cacher -"gömma. A hiding place, esp. of goods, treasure, etc. Example Read alid Bit Cache med 8 platser Example Read alid Bit Cache med 8 platser 22 22 De log 2 (size of cache) bitarna av adressen mod 8 = 1 0 0 1 De bitar i adressen som är unika för samma index, i detta fall de två mest signifikanta bitarna. De log 2 (size of cache) bitarna av adressen mod 8 = 1 0 0 1 De bitar i adressen som är unika för samma index, i detta fall de två mest signifikanta bitarna. 1 [] 1 [] Kopia av data på adresses Kopia av data på adresses 3

Example Read Example Read 1 1 mod 8 = 0 0 [1] 1 1 mod 8 = 0 0 [1] 0 0 1 1 1 [] 1 [] Example Read Example Read 1 1 0 [1] 0 [1] 1 HIT På index 1 finns valid data med tag träff i cache behöver ej läsa från minnet utan kan läsa från cache som ligger närmare processorn spar tid. Träff 0 1 1 [] 0 1 1 [] Example Read Example Read Lägg in i cache. [] 1 1 1 0 [1] 1 0 [1] 0 0 1 1 1 [] 1 [] 4

Example Read Example Read 1 Ej rätt tag. [] 1 Knuffa ut det gamla [] 0 [1] 0 [0] [1] 1 0 1 0 0 1 0 1 1 [] 1 [] OK, så långt har vi utnyttjat temporal locality. ore bra om vi kunde utnyttja även spatial locality I detta exempel sparar vi inte enskilda byte i cache utan hela ord. Miss rate ökar om block-storleken är stor i förhållande till storleken på hela cache. Cache Size Example continued... [] 1 0 [1] [0] 1??? 0 0 1 Write 0 1 [] Stora block färre block i cache fler missar pga dålig förmåga att ta tillvara temporal locality. 5

Example continued... Men nu suddade vi ju ut det som den förra operationen skrev [] ad händer om jag byter telefonnummer? 1 0 [0] [1] 1 Write 0 0 1 0 1 1 [] Hitta.se måste få reda på det... Alla dina vänner måste uppdatera sina lokala adressregister... Xbox 360 CPU med 3 stycken kärnor. RAM Write-Through: Enkelt Skrivning sker alltid både till cache och minne. Samma innehåll? cache-konsistens. Två- nivå cache: tar upp nästan 25% av ytan. Write-Back: Skrivning till minnet endast då blocket knuffas ut ur cache. Skrivning till RAM tar tid dålig prestanda. Färre skrivnignar till minnet bättre prestanda. Mer komplicerad hårdvara (dyrare) Direkt-mappad cache Ett block i minnet mappas till exakt ett bestämt block i cache. Enkel hårdvara men data kan tvingas ut ur cachet i onödan Partiellt associativt cache (setassociative) två eller flera block i cache. En kompromiss! Fullständigt associativt cache vilket block som helst cache. Komplicerad hårdvara för att kolla om data finns i cache eller inte I ett direktmappat cache behöver vi endast kolla på ett ställe 6

Med ett two-way set associative cache behöver vi kolla på två platser Med ett fullständigt associativt cache måste vi söka igenom samtliga platser för att se om vi träffar I cahce eller inte. Direkt-mappad cache Ett block i minnet mappas till exakt ett bestämt block i cache. Enkel vi har inget val! Kan endast välja att kasta ut något från det set som blocket tillhör. Partiellt associativt cache (setassociative) två eller flera block i cache. ilket block skall vi slänga ut ur cachet när ett nytt vill in? Fullständigt associativt cache vilket block som helst cache. Kan välja vilket som helst vilket är det bästa valet? Men vilket block skall vi välja ur ett set? Är det någon skillnad på hur data och instruktioner läses och skrivs till och från minnet? Two potential advantages to a unified cache are: A greater hit rate than split caches because the load between instruction and data fetches are balanced automatically. Only one cache needs to be designed and implemented. LRU (Least Recently Used) Kasta ut det block som förblivit orört under längs tid! The key advantage of the split cache design is that it eliminates contention for the cache between the instruction fetch/decode unit and the execution unit. This is important for designs that rely on pipelining of instructions. Split Cache: Separat cache (i varje nivå) för data och instruktioner. 7