föreläsning 5 måndag 5e november 2007

30
Föreläsning 5 måndag 5e november 2007 Datorsystem 1 och Datorarkitektur 1 Föreläsning 5 måndag 5e november 2007 Datorsystem 1 och Datorarkitektur 1

Upload: keaton-morin

Post on 03-Jan-2016

59 views

Category:

Documents


0 download

DESCRIPTION

Datorsystem 1 och Datorarkitektur 1. Datorsystem 1 och Datorarkitektur 1. Föreläsning 5 måndag 5e november 2007. Föreläsning 5 måndag 5e november 2007. Dessa saker vill vi ha nära till hands. Vissa saker använder vi ofta. Litet är snabbt Stort är långsamt. Storleken har betydelse. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Föreläsning 5 måndag 5e november 2007

Föreläsning 5 måndag 5e november 2007

Datorsystem 1 och Datorarkitektur 1

Föreläsning 5 måndag 5e november 2007

Datorsystem 1 och Datorarkitektur 1

Page 2: Föreläsning 5 måndag 5e november 2007
Page 3: Föreläsning 5 måndag 5e november 2007
Page 4: Föreläsning 5 måndag 5e november 2007
Page 5: Föreläsning 5 måndag 5e november 2007
Page 6: Föreläsning 5 måndag 5e november 2007

Storleken har betydelse Litet är snabbt

Stort är långsamt

Vissa saker använder vi ofta Dessa saker vill vi ha nära till hands

Samma principer gäller för hur en dator använder sitt minne.

Vadå vissa saker?

Vadå ofta?

Page 7: Föreläsning 5 måndag 5e november 2007

Lista med de senast slagna nummren.

Temporal Locality

If a data location is referenced then it is very likely to be accessed soon again.

Page 8: Föreläsning 5 måndag 5e november 2007

De flesta av oss läser böcker från början till slut, dvs efter sida n läser vi sida n+1 osv.

Spatial Locality

If a data location is referenced, data locations with nearby addresses are likely to be accessed soon.

Page 9: Föreläsning 5 måndag 5e november 2007

Level 0 – register!

Minne i flera nivåer (hierarki):

• snabbt och litet (dyrt) och litet minne nära processorn

• långsamt och stort (billigt) minne längre bort från processorn.

Page 10: Föreläsning 5 måndag 5e november 2007
Page 11: Föreläsning 5 måndag 5e november 2007
Page 12: Föreläsning 5 måndag 5e november 2007

Cache från franska cacher - "gömma“.

A hiding place, esp. of goods, treasure, etc.

Page 13: Föreläsning 5 måndag 5e november 2007

Example – Read Data

Op Address

Load 10110

Index V Tag Data

000 N

001 N

010 N

011 N

100 N

101 N

110 N 10 [10110]

111 N

10110 mod 8 = 110

Y

Page 14: Föreläsning 5 måndag 5e november 2007

Example – Read Data

Op Address

Load 10110

Load 11010

Index V Tag Data

000 N

001 N

010 N 11 [11010]

011 N

100 N

101 N

110 Y 10 [10110]

111 N

11010 mod 8 = 010

Y

Page 15: Föreläsning 5 måndag 5e november 2007

Example – Read Data

Op Address

Load 10110

Load 11010

Load 10110

Index V Tag Data

000 N

001 N

010 Y 11 [11010]

011 N

100 N

101 N

110 Y 10 [10110]

111 N

HIT

Page 16: Föreläsning 5 måndag 5e november 2007

Example – Read Data

Op Address

Load 10110

Load 11010

Load 10110

Load 11010

Index V Tag Data

000 N

001 N

010 Y 11 [11010]

011 N

100 N

101 N

110 Y 10 [10110]

111 N

HIT

Page 17: Föreläsning 5 måndag 5e november 2007

Example – Read Data

Op Address

Load 10110

Load 11010

Load 10110

Load 11010

Load 10000

Index V Tag Data

000 N 10 [10000]

001 N

010 Y 11 [11010]

011 N

100 N

101 N

110 Y 10 [10110]

111 N

MISS

Y

Page 18: Föreläsning 5 måndag 5e november 2007

Example – Read Data

Op Address

Load 10110

Load 11010

Load 10110

Load 11010

Load 10000

Load 10010

Index V Tag Data

000 N 10 [10000]

001 N

010 Y 11 [11010]

011 N

100 N

101 N

110 Y 10 [10110]

111 N

MISS

10 [10010]

Page 19: Föreläsning 5 måndag 5e november 2007

OK, så långt har vi utnyttjat temporal locality.

Vore bra om vi kunde utnyttja även spatial locality…

Page 20: Föreläsning 5 måndag 5e november 2007
Page 21: Föreläsning 5 måndag 5e november 2007

Cache Size

Page 22: Föreläsning 5 måndag 5e november 2007

Example continued...

Op Address

Load 10110

Load 11010

Load 10110

Load 11010

Load 10000

Load 10010

Write 10010

Index V Tag Data

000 N 10 [10000]

001 N

010 Y 10 [11010]

011 N

100 N

101 N

110 Y 10 [10110]

111 N

???

[10010]

Page 23: Föreläsning 5 måndag 5e november 2007

Example continued...

Op Address

Load 10110

Load 11010

Load 10110

Load 11010

Load 10000

Load 10010

Write 10010

Load 11010

Index V Tag Data

000 N 10 [10000]

001 N

010 Y 10 [10010]

011 N

100 N

101 N

110 Y 10 [10110]

111 N

MISS

[11010]11

Men nu suddade vi ju ut det som den förra operationen skrev…

Page 24: Föreläsning 5 måndag 5e november 2007

Direkt-mappad cache

Ett block i minnet mappas till exakt ett bestämt block i cache.

Fullständigt associativt cache

Ett block i minnet kan mappas till vilket block som helst cache.

Partiellt associativt cache (set-associative)

Ett block i minnet kan mappas till två eller flera block i cache.

Enkel hårdvara men data kan tvingas ut ur cachet i onödan…

Komplicerad hårdvara för att kolla om data finns i cache eller inte…

En kompromiss!

Page 25: Föreläsning 5 måndag 5e november 2007
Page 26: Föreläsning 5 måndag 5e november 2007
Page 27: Föreläsning 5 måndag 5e november 2007
Page 28: Föreläsning 5 måndag 5e november 2007

Vilket block skall vi slänga ut ur cachet när ett nytt vill in?

Page 29: Föreläsning 5 måndag 5e november 2007

Direkt-mappad cache

Ett block i minnet mappas till exakt ett bestämt block i cache.

Fullständigt associativt cache

Ett block i minnet kan mappas till vilket block som helst cache.

Partiellt associativt cache (set-associative)

Ett block i minnet kan mappas till två eller flera block i cache.

Enkel – vi har inget val!

Kan välja vilket som helst… vilket är det bästa valet?

Kan endast välja att kasta ut något från det set som blocket tillhör.

Page 30: Föreläsning 5 måndag 5e november 2007

LRU (Least Recently Used)

Kasta ut det block som förblivit orört under längs tid!

Men vilket block skall vi välja ur ett set?