48
Università di Roma “La Sapienza” Dipartimento di Informatica e Sistemistica Middleware Laboratory MID LAB La gerarchia di memoria Calcolatori Elettronici - Ingegneria Gestionale Leonardo Querzoni [email protected] A.A. 2007/2008

La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica

M idd l ewa re L abo r a to r yM I D L A B

La gerarchia di memoriaCalcolatori Elettronici - Ingegneria Gestionale

Leonardo [email protected]

A.A. 2007/2008

Page 2: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Il tipo di memoria ottimale dovrebbe essere caratterizzato da:

■ Costo basso

■ Grande capacità

■ Bassi tempi di accesso

■ La tecnologia ci impone dei compromessi:

Costo Capacità Velocità

Registri Alto Piccola Veloce

Memoria principale Medio Media Media

Dischi Basso Grande Lenta

Page 3: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

CPU

Cache

Memoriadi lavoro

Storage di1° livello

Storage di2° livello

Registri

SRAM

DRAMSDRAM DDR RIMM

Hard Disk Flash ROM

CD/DVD/BD Nastri magnetici

Co

sto

Ve

loci

■ L’uso di una gerarchia con vari tipi di memoria serve a darci l’illusione di una memoria con tutte le caratteristiche descritte.

Page 4: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ All’interno della gerarchia il passaggio dei dati può avvenire solo tra livelli contigui (con qualche eccezione)

■ La differenza di prestazioni tra tecnologie appartenenti a livelli differenti pone delle problematiche.

■ Es:

■ I registri sono realizzati all’interno della CPU ed hanno una velocità pari a questa.

■ La memoria centrale (realizzata ad es. con DRAM) è esterna alla CPU ed è molto più lenta (circa 200 volte più lenta)

■ Quando un dato deve essere trasferito dalla memoria ad un registro per la successiva elaborazione si passa attraverso un “collo di bottiglia” dato dalla velocità massima della memoria centrale.

■ Questo significa che è la memoria centrale ad influenzare maggiormente la velocità dell’elaborazione del dato.

Page 5: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■Gli accessi in memoria non avvengono sempre in modo casuale, ma rispettano due principi:

Località temporale

È probabile che un oggetto a cui si è fatto riferimento venga nuovamente richiesto in tempi brevi.

Es: se consideriamo un ciclo all’interno di un programma, le istruzioni in esso contenute vengono eseguite diverse volte in un certo arco di tempo.

Località spaziale

È probabile che gli oggetti che si trovano vicini ad un oggetto a cui si è fatto riferimento vengano richiesti in tempi brevi.

Es: data un’istruzione di un programma, la probabilità che la successiva istruzione sia collocata vicino ad essa è alta.

Es: se consideriamo un vettore di dati numerici, questi sono posizionati in memoria in modo contiguo.

Page 6: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Le memorie cache sfruttano il principio di località temporale (a volte anche quello spaziale) per incrementare le prestazione dei trasferimenti di dati tra memoria centrale e CPU.

■Una memoria cache non è altro che un blocco di memoria, interposto tra due componenti di memoria appartenenti a due livelli contigui della gerarchia, in cui i dati vengono depositati temporaneamente.

■Ha dimensioni, velocità e costo intermedie rispetto ai due componenti di cui costituisce una specie di interfaccia.

CPU CacheL1

Memoriacentrale

Page 7: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Essendo la cache di dimensioni ridotte rispetto alla memoria centrale, potrà contenere solo un sottoinsieme di tutti i dati.

■Quando la CPU ha bisogno di un dato non presente in un registro, esegue una lettura sulla cache.

■ Se il dato è presente nella cache, si ha un cache hit, ed esso viene immediatamente inviato alla CPU.

■ Se il dato non è presente nella cache, si ha un cache miss. Il dato in questo caso viene letto in memoria e copiato in una locazione della cache, e quindi inviato alla CPU.

■Nel primo caso l’accesso al dato in memoria è molto più veloce (dato che la cache è molto più veloce della memoria centrale)

■Nel secondo caso l’accesso è più lento (perché al tempo normalmente necessario ad una lettura in memoria si aggiungono tempi necessari a copiare il dato nella cache).

■Genericamente, la proprietà di località temporale fa si che il numero di cache hit sia notevolmente maggiore dei cache miss.

Page 8: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Per misurare l’efficienza di una cache si usano:

■ hit rate = n° cache hit / n° accessi in lettura

■miss rate = n° cache miss / n° accessi in lettura = 1 - hit rate

■ Per progettare una cache ben funzionante (ovvero con hit rate il più possibile vicino ad 1) dobbiamo risolvere principalmente tre problemi:

1. Come associamo gli indirizzi nella memoria centrale alle locazioni di memoria della cache ?

2. In caso di cache miss, quale locazione della cache andremo a sovrascrivere ?

3. Quando un dato deve essere scritto in memoria, come si comporta la cache ?

Page 9: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Essendo la cache di dimensioni ridotte rispetto alla memoria centrale, potrà contenere solo un sottoinsieme di tutti i dati.

■Direct mapping: ogni locazione della memoria centrale può essere memorizzata in una singola locazione della cache.

Indirizzo Valore

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

Indirizzo Tag Valore

00

01

10

11

Me

mo

ria

cen

tral

e

Cac

he

Page 10: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ La colonna Tag viene usata per definire quale è la locazione di memoria centrale contenente il dato attualmente memorizzato nella cache.

■ Contiene i bit più significativi dell’indirizzo di memoria.

Indirizzo Valore

0000 A

0001 B

0010 C

0011 D

0100 E

0101 F

0110 G

0111 H

1000 I

1001 L

1010 M

1011 N

1100 O

1101 P

1110 Q

1111 R

Indirizzo Tag Valore

00 00 A

01 11 P

10 11 Q

11 01 H

Me

mo

ria

cen

tral

e

Cac

he

Page 11: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Fully associative: ogni locazione della memoria centrale può essere memorizzata in una qualsiasi locazione della cache.

Indirizzo Valore

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

Indirizzo Tag Valore

00

01

10

11

Me

mo

ria

cen

tral

e

Cac

he

Page 12: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ In questo caso la colonna Tag deve contenere l’indirizzo di memoria completo.

Indirizzo Valore

0000 A

0001 B

0010 C

0011 D

0100 E

0101 F

0110 G

0111 H

1000 I

1001 L

1010 M

1011 N

1100 O

1101 P

1110 Q

1111 R

Indirizzo Tag Valore

00 1101 P

01 0011 D

10 0000 A

11 1111 R

Me

mo

ria

cen

tral

e

Cac

he

Page 13: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

Vantaggi Svantaggi

Realizzazione semplice

Più economica

Poco efficiente (spazio sprecato)

Efficienza massima(nessuno spreco)

Realizzazione complessa

Può essere meno veloce

Più costosa

Dir

ect

map

pin

gF

ull

yas

soci

ativ

e

Page 14: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Set associative o n-way associative: ogni locazione della memoria centrale può essere memorizzata n differenti locazioni della cache.

Indirizzo Valore

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

Indirizzo Tag Valore

00

01

10

11

Me

mo

ria

cen

tral

e

Cac

he

Page 15: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Cache 2-way associative.

■ In questo caso la colonna Tag deve contenere i tre bit più significativi dell’indirizzo di memoria.

Indirizzo Valore

0000 A

0001 B

0010 C

0011 D

0100 E

0101 F

0110 G

0111 H

1000 I

1001 L

1010 M

1011 N

1100 O

1101 P

1110 Q

1111 R

Indirizzo Tag Valore

00 100 I

01 000 A

10 111 R

11 001 D

Me

mo

ria

cen

tral

e

Cac

he

Page 16: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Se abbiamo una cache n-way associative con indirizzi a p bit e una memoria centrale con indirizzi lunghi q bit, allora la colonna tag dovrà contenere

t = q - (p - log2 n) bit.

■ Es: cache 2-way associative con indirizzi a 2 bit e memoria con indirizzi a 4 bit.

t = 4 - (2 - log2 2) = 3 bit

■ Es: cache 8-way associative con indirizzi a 16 bit e memoria con indirizzi a 32 bit.

t = 32 - (16 - log2 8) = 19 bit

Page 17: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Il parametro n influisce sulle prestazioni della cache:

■ Se n è alto, per ogni lettura è necessario cercare il dato in n diverse locazioni della cache (maggiore energia, circuiti più complessi, più tempo)

■ D’altra parte è più difficile che si verifichino dei cache miss.

Grafico preso da: http://en.wikipedia.org/wiki/CPU_cache

Page 18: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Al verificarsi di un cache miss il dato mancante viene letto dalla memoria centrale e copiato in una locazione della cache.

■Nel caso di cache fully/set associative è necessario avere un meccanismo che ci permetta di scegliere quale locazione della cache sovrascrivere con il dato appena letto.

■ Politiche di rimpiazzo:

■ Politica ottima: sostituisco il dato che verrà utilizzato più tardi di tutti gli altri (non implementabile)

■ Least Recently Used (LRU): sostituisco il dato che non è stato usato da più tempo (l’implementazione può essere costosa).

■ Least Frequently Used (LFU): sostituisco il dato che è stato usato meno volte.

■ Random: sostituisco un dato a caso.

Page 19: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ La politica random ha il vantaggio di essere semplice da implementare.

■ Inoltre non necessariamente è peggiore delle altre (esclusa quella ottima).

■ Es: miss rate per cache 2-way associative:

DimensionePoliticaRandom

PoliticaLRU

16K 5,7% 5,2%

64K 2,0% 1,9%

256K 1,17% 1,15%

Page 20: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Esercizio: sia data una cache con 2-way associative con 8 locazioni e politica di sostituzione LRU, inizialmente vuota. Mostrare l’evoluzione del contenuto nel tempo a seguito della seguente sequenza di accessi in memoria: 10001, 10011, 01001, 10001, 11101

■ Soluzione: la colonna Tag dovrà contenere t = 5 - (3 - log2 2) = 3 bit.

T0 T1 T2 T2 T2

Ind. Tag Valore Tag Valore Tag Valore Tag Valore Tag Valore

000

001

010 100 (10001) 100 (10001) 100 (10001) 100 (10001) 100 (10001)

011 010 (01001) 010 (01001) 111 (11101)

100

101

110 100 (10011) 100 (10011) 100 (10011) 100 (10011)

111

miss miss miss hit miss

Page 21: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■Quando il processore deve scrivere un dato in memoria, come si comporta la cache ?

■ Il dato viene scritto immediatamente in cache.

■ La scrittura sulla memoria centrale può seguire due politiche:

Write through

Il dato viene immediatamente scritto anche in memoria

Vantaggi: semplice da implementare, non crea problemi se i dati in memoria possono essere modificati anche da altri componenti (es. multicore)

Svantaggi: le scritture non si avvantaggiano della velocità della cache.

Write-back

Il dato viene scritto in memoria solo quando avviene una sovrascrittura dello stesso nella cache.

Vantaggi: le scritture diventano molto più veloci

Svantaggi: i casi in cui i dati in memoria possono essere modificati dal altri processori devono essere trattati in modo particolare. Necessita di un bit in più per ogni locazione della cache (validity bit)

Page 22: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■Nei computer moderni l’accesso della CPU in memoria è mediato da più livelli di cache.

■ Alcuni di questi livelli sono fisicamente integrati nella CPU.

■ Alcuni blocchi cache sono “dedicati” ad un particolare uso.

CPUCache

L1

Cache

L2

Cache

L3

Memoria

centrale

CPU

CPU

Cache

L1

Dati

Cache

L2

Cache

L3

Memoria

centrale

Cache

L1

Istruzioni

Page 23: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Es: IBM PowerPC 970FX (G5) - Registri 1K, Cache L1 Dati 32K, Cache L1 Istruzioni 64K, Cache L2 512K.

User’s M

anual IB

M P

owerP

C 970FX

RIS

C M

icroprocessor

Pow

erPC

970FX

Overview

Page 30 of 445

01_970fx.fm.(1.6)

Decem

ber 19, 2005

Figure

1-1.970FX

Block D

iagram

Core Interface Unit

512KB

Bus Interface Unit

PowerPC 970FX Bus

L2 Cache

GlobalCompletion Table

InstructionDecode Unit

64KBI-Cache

InstructionFetch Unit

Dispatch Buffer

Register Maps - GPR, FPR, VRF, CR, CTR, LK

CRIssue Queue

CR

cr RF

BRIssue Queue

FPUIssue Queue

Vector PermuteIssue Queue

Vector ALUIssue Queue

FXU1/LSU1Issue Queue

FXU2/LSU2Issue Queue

FXU1 LSU1

GPR GPR

FXU2 LSU2VALU

VRF

VPERM

VRF

FPU1 FPU2

FPR

BR

ctr/lk RF

32KBD-Cache

STS

CORE

NCU L2 Dir/Cntl

Page 24: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Es: IBM PowerPC 970FX (G5) - Registri 1K, Cache L1 Dati 32K, Cache L1 Istruzioni 64K, Cache L2 512K.

User’s Manual

IBM PowerPC 970FX RISC Microprocessor

03_970FX.fm.(1.6)December 19, 2005

Storage SubsystemPage 73 of 445

3. Storage Subsystem

The 970FX storage subsystem (STS) encompasses the core interface unit (CIU), non-cacheable unit (NCU), the L2 cache control and L2 cache, and the bus interface unit (BIU).

This section provides an overview and a high-level block diagram of the storage subsystem. It summarizes key design fundamentals and the storage hierarchy. The functional units are described in detail.

The following key features are fundamental to the design:

• Store-through L1 D-cache.• No castouts or snoop pushes by the core.• Non-blocking snoop invalidates to the core (both instruction and data invalidates).• Integrated L2 Controller.• L2 controller handling of cacheable instruction fetches, loads and stores, and dcbz instructions.• Non-cacheable unit handling of other storage type instructions.

3.1 Storage Hierarchy

Table 3-1. Storage Hierarchy Characteristics

Characteristic L1 Instruction Cache L1 Data Cache L2 Cache

Data type Instructions only Data only Instructions and data

Size 64KB 32KB 512KB

Associativity (replacement policy) Direct map 2-way set associative (LRU) 8-way set associative (LRU)

Line size (sector) 128 bytes (4 * 32-bytes) 128 bytes 128 bytes

Operation granularity 128 bytes 128 bytes 128 bytes

Index Effective address Effective address Physical address

Tags Physical address Physical address Physical address

Number of ports 1Read or 1Write (directory has 2Read or 1Write) 2Read and 1Write 1Read or 1Write

Inclusiveness N/A N/A Inclusive of L1 D-cachenot inclusive of L1 I-cache

Hardware coherency No Yes Yesseparate snoop ports

Store policy N/A Store-throughno allocate on store miss

Store backallocate on store miss

Enable bit Yes Yes No

Reliability, availability, service-ability (RAS)

Parity with invalidate on error for data and tags

Parity with invalidate on error for data and tags

ECC on data; parity on tags (recoverable with redundant tags)

Page 25: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Es: IBM PowerPC 970FX (G5) - Registri 1K, Cache L1 Dati 32K, Cache L1 Istruzioni 64K, Cache L2 512K.

L2 cache512K

L1istruz.

64K

L1dati32K

Page 26: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Es: Struttura cache del processore AMD Athlon64 (K8)

Grafico preso da: http://en.wikipedia.org/wiki/CPU_cache

Page 27: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Es: IBM Power4

3. POWER4 Chip

The components of the POWER4 chip are shown in Figure 1. The chip has two processors

on board. Included in what we are referring to as the processor are the various execution

units and the split first level instruction and data caches. The two processors share a unified

second level cache, also onboard the chip, through a Core Interface Unit (CIU) in Figure 1.

The CIU is a crossbar switch between the L2, implemented as three separate, autonomous

cache controllers, and the two processors. Each L2 cache controller can operate

concurrently and feed 32 bytes of data per cycle. The CUI connects each of the three L2

controllers to either the data cache or the instruction cache in either of the two processors.

Additionally, the CUI accepts stores from the processors across 8-byte wide buses and

sequences them to the L2 controllers. Each processor has associated with it a Noncacheable

(NC) Unit, the NC Unit in Figure 1, responsible for handling instruction serializing functions

and performing any noncacheable operations in the storage hierarchy. Logically, this is part

of the L2.

Figure 1: POWER4 Chip Logical View

power4 Page 5 of 33

Processor Core 1

IFetch Store Loads

Processor Core 1

IFetch Store Loads

CIU Switch

L2Cache

L2Cache

L2CacheCore1

NCUnit

Core2NCUnit

Trace &

Debug

BIST Engines

Perf Monitor

SP

Controller

POR

Sequencer

Error DetectAnd Logging

Fabric Controller

L3Directory

GX ControllerL3 Controller

Mem Controller

32B

32B

32B

32B

32B

32B

32B

8B

32B

8B

32B

8B

8B

8B

8B

8B

8B

8B

8B

16B

16B

16B

8B

16B

16B

16B

16B

16B

4B

4B

32B

8B 32B

32B

8B

JTAG

L3/Mem Bus(3:1)

MCM-MCM(2:1)

MCM-MCM(2:1)

GX Bus(n:1)

Chip-ChipFabric(2:1)

Chip-ChipFabric(2:1)

32B

Processor Core 1

IFetch Store Loads

Processor Core 1

IFetch Store Loads

CIU Switch

L2Cache

L2Cache

L2CacheCore1

NCUnit

Core2NCUnit

Trace &

Debug

BIST Engines

Perf Monitor

SP

Controller

POR

Sequencer

Error DetectAnd Logging

Fabric Controller

L3Directory

GX ControllerL3 Controller

Mem Controller

32B

32B

32B

32B

32B

32B

32B

8B

32B

8B

32B

8B

8B

8B

8B

8B

8B

8B

8B

16B

16B

16B

8B

16B

16B

16B

16B

16B

4B

4B

32B

8B 32B

32B

8B

JTAG

L3/Mem Bus(3:1)

MCM-MCM(2:1)

MCM-MCM(2:1)

GX Bus(n:1)

Chip-ChipFabric(2:1)

Chip-ChipFabric(2:1)

32B

Processor Core 1

IFetch Store Loads

Processor Core 1

IFetch Store Loads

CIU Switch

L2Cache

L2Cache

L2CacheCore1

NCUnit

Core2NCUnit

L2Cache

L2Cache

L2Cache

L2Cache

L2Cache

L2CacheCore1

NCUnit

Core2NCUnit

Core1NCUnit

Core2NCUnit

Trace &

Debug

BIST Engines

Perf Monitor

SP

Controller

POR

Sequencer

Error DetectAnd Logging

Trace &

Debug

BIST Engines

Perf Monitor

Trace &

Debug

BIST Engines

Perf Monitor

SP

Controller

POR

Sequencer

Error DetectAnd Logging

SP

Controller

POR

Sequencer

Error DetectAnd Logging

Fabric Controller

L3Directory

GX ControllerL3 Controller

Mem Controller

32B

32B

32B

32B

32B

32B

32B

8B

32B32B

8B

32B

8B

32B32B

8B

32B

8B

32B32B

8B

8B

8B

8B

8B

8B

8B

8B

16B

16B

16B

8B

16B

16B

16B

16B

16B

4B

4B

32B

8B 32B

32B

8B

JTAG

L3/Mem Bus(3:1)

L3/Mem Bus(3:1)

MCM-MCM(2:1)

MCM-MCM(2:1)

MCM-MCM(2:1)

MCM-MCM(2:1)

GX Bus(n:1)

GX Bus(n:1)

Chip-ChipFabric(2:1)

Chip-ChipFabric(2:1)

32B

Page 28: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■Gli Hard Disk costituiscono oggi la tecnologia più usata per la memorizzazione di grandi quantità di dati.

■ Costo per Megabyte molto basso

■ Velocità ragionevole

■ Tecnologia affidabile

■ Mantiene i dati memorizzati anche in assenza di corrente

■ Il funzionamento è basato sulla “polarizzazione” di piccole aree di una disco con superficie magneticamente sensibile.

Page 29: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

Page 30: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Primo Hard Disk (1956):

■ IBM 305 RAMAC

■ Dimensione: 5 Mb

■ 50 dischi da 24 pollici

■ alimentazione proprietaria

a corrente alternata

■ dimensioni di un armadio

■Oggi:

■ Seagate 7200.10

■ Dimensione: 750 Gb

■ 5 dischi da 3,5 pollici

■ latenza media: 4,16 ms

■ velocità di rotazione 7200 rpm

■ consumo: 13 watt a regime

■ dimensioni di un piccolo libro

80 GB to 750 GB • SATA 1.5Gb/s or 3Gb/s and PATA 100 Key Advantages

• First 3.5-inch drive to utilize capacity- and reliability-boosting perpendicular recording technology

• First drive to reach 750 GB—a full year ahead of competition—enabling new solutions for data-intensive applications.

• Industry’s most proven and established desktop hard drive available today—more than 16 million shipped to date*

• “One-stop shopping” with a broad range of capacity, cache and interface options for all your computing needs

• Best-in-class environmental specifications and reliability features

• Adaptive Fly Height offers consistent read/write performance from the beginning to the end of your computing workload.

• Clean Sweep automatically calibrates your drive.

• Directed Offline Scan runs diagnostics when storage access is not needed.

• RoHS-compliant design assures an environmentally conscious product.

• Enhanced G-Force Protection™ defends against handling damage.

• Seagate® SoftSonic™ motor enables whisper-quiet operation.

• Backed by a 5-year limited warranty

Best-Fit Applications

Desktop and High-Performance PCs

• Gamer PCs

• Workstations

• High-end PCs

• Desktop RAID

• Mainstream PCs

• Point-of-sale devices/ATMs

*16 million Barracuda 7200.10 drives shipped as of 4/18/07

Barracuda 7200.10Experience the industry’s proven flagship perpendicular 3.5-inch hard drive

Data Sheet

Low-Cost Servers and External Storage

• SATA/xATA servers

• USB/FireWire/eSATA external storage

Page 31: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■ Costruire dischi molto grandi o molto costosi era (ed è tutt’oggi) costoso.

■ Redundant Array of Inexpensive Disks (RAID)

■ Si tratta di un insieme di tecniche per aumentare:

■ l’integrità dei dati

■ la tolleranza ai guasti

■ le prestazioni

■ Si basa sull’uso di più dischi contemporaneamente.

■ Lo spazio fisico messo a disposizione da questi dischi viene “ricombinato” in un disco logico con caratteristiche differenti.

■ A seconda delle tecnologie utilizzate distinguiamo diversi livelli dai RAID.

Page 32: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID 0 (striping)■ I dati vengono partizionati in segmenti di uguale lunghezza. La

grandezza di ogni segmento è detta unità di striping.

■Ogni segmento viene scritto su un disco diverso

■ Se il numero di segmenti che formano il dato è maggiore del numero D di dischi che costituiscono l’array, allora il segmento D+1 verrà posizionato sul primo disco, etc.

Vantaggi:

■ La capacità del disco logico è pari alla somma delle capacità dei D dischi fisici.

■ La velocità del disco logico è D-volte quella di un disco fisico.

Svantaggi:

■ L’affidabilità del disco logico è 1/D quella di un disco fisico.

■ I dischi fisici devono essere tutti identici.

Page 33: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID 0 (striping)

RAID 0

DISK 1 DISK 2

A1 A2

DISK 3

A3

A4 A5

Page 34: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID Linear (JBOD o concatenazione)■ Più dischi fisici vengono “concatenati” per formare un unico disco

logico di grandi dimensioni.

■ Le scritture avvengono in modo sequenziale come su un qualsiasi disco non RAID.

Vantaggi:

■ Più dischi possono essere concatenati per fornire l’astrazione di un disco più grande.

■ I dischi non devono necessariamente essere identici.

Svantaggi:

■ L’affidabilità del disco logico è minore di quella dei singoli dischi fisici che lo compongono, ma è comunque più facile recuperare i dati in caso di rottura rispetto a RAID 0

Page 35: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID Linear (JBOD o concatenazione)

RAID Linear

DISK 1 DISK 2

A1

DISK 3

A2

A3

A4

A5

B1

B2

B3

C1

C2

Page 36: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID 1 (mirroring)■Due dischi.

■ Il secondo disco rappresenta la copia speculare del primo.

■ Le scritture avvengono contemporaneamente su entrambi i dischi.

■ Le letture possono avvenire alternativamente sui due dischi.

Vantaggi:

■ La ridondanza dei dati sui due dischi incrementa l’affidabilità del disco logico risultante.

■ I dischi devono necessariamente essere identici.

■ La velocità in lettura è maggiore.

Svantaggi:

■ Lo spazio a disposizione sul disco logico è pari a quello di un singolo disco fisico.

Page 37: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID 1 (mirroring)

RAID 1

DISK 1 DISK 2

A1

A2

A3

A4

A5

A1

A2

A3

A4

A5

Page 38: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID 2■Ogni dato viene scritto bit per bit su dischi diversi. Per ogni dato

vengono anche scritti dei codici per il controllo e la correzione degli errori (ECC) su appositi dischi.

■ Servono un minimo di 14 dischi (10 per i dati e 4 per l’ECC)

■Oggi inutilizzato dato che il controllo tramite ECC viene realizzato automaticamente su ogni singolo disco.

Vantaggi:

■ E’ possibile correggere errori su diversi bit, fino a poter sostituire completamente un disco rotto senza perdita di dati.

Svantaggi:

■ Estremamente complesso e costoso.

■ Scritture lente (per il calcolo dell’ECC).

■ Al giorno d’oggi completamente inutile.

■ Richiede dischi identici

Page 39: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID 3■Ogni dato viene scritto byte per byte su dischi diversi. Per ogni

dato vengono anche scritti dei codici per il controllo e la correzione degli errori (ECC) su un singolo disco dedicato.

■ Servono x dischi per i dati ed un disco dedicato al codice ECC.

Vantaggi:

■ E’ possibile correggere errori su diversi bit, fino a poter sostituire completamente un disco rotto senza perdita di dati. Anche il disco che contiene la parità può essere sostituito in caso di guasto.

Svantaggi:

■ Letture non particolarmente veloce (la lettura di un dato richiede l’accesso a tutti i dischi).

■ Scritture lente. Il disco contenente l’ECC è un collo di bottiglia per il sistema.

■ Richiede dischi identici

Page 40: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID 4■ Come RAID 3, ma il dato viene suddiviso in blocchi distribuiti dui

vari dischi.

■Dato che i file vengono letti a blocchi, questo permette letture contemporanee di più file da dischi diversi.

■ Servono x dischi per i dati ed un disco dedicato al codice ECC.

Vantaggi:

■ E’ possibile correggere errori su diversi bit, fino a poter sostituire completamente un disco rotto senza perdita di dati. Anche il disco che contiene la parità può essere sostituito in caso di guasto.

■ Letture veloci

Svantaggi:

■ Scritture lente. Il disco contenente l’ECC è un collo di bottiglia per il sistema.

■ Richiede dischi identici

Page 41: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID 4

RAID 4

DISK 1 DISK 2

A1

A4

B1

C1

A2

A5

B2

C2

DISK 3 DISK 4

A3

B3

Ap

Bp

Cp

Page 42: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID 5■ Come RAID 4, ma i blocchi contenti l’ECC sono distribuiti su tutti

i dischi fisici.

■ Richiede un minimo di tre dischi.

■ Associa i vantaggi dello striping a quelli della ridondanza

■ E’ il più usato

Vantaggi:

■ E’ possibile correggere errori su diversi bit, fino a poter sostituire completamente un disco rotto senza perdita di dati.

■ Letture veloci

■ Scritture veloci

Svantaggi:

■ Richiede dischi identici

Page 43: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID 5

RAID 5

DISK 1 DISK 2

A1

A4

A7

Ap4

A2

A5

Ap3

A10

DISK 3 DISK 4

A3

Ap2

Ap1

A6

A9A8

A11 A12

Page 44: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID 6■ Come RAID 5, ma per ogni sottoinsieme del dato calcola due

blocchi ECC invece di uno solo.

■ I due blocchi vengono memorizzati a rotazione su dischi distinti.

■ Serve ad aumentare la ridondanza dei dati.

■ Poco usato a causa del costo e della poca sicurezza che aggiunge.

Vantaggi:

■ E’ possibile poter tollerare la rottura contemporanea di due dischi.

■ Letture veloci

Svantaggi:

■ Richiede dischi identici

■ Più lento di RAID 5

Page 45: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID 0+1■ Supponiamo di avere 10 dischi fisici e di dividerli in due gruppi.

■ Ad ogni gruppo viene applicato RAID 0. Ai due dischi logici risultanti viene applicato RAID 1.

Striped + Mirrored Logical DISK X

Striped Logical DISK A

RAID 0+1

DISK 0 DISK 1 DISK 2 DISK 3 DISK 4

Striped Logical DISK B

DISK 5 DISK 6 DISK 7 DISK 8 DISK 9

MIRROR A,B

Page 46: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

RAID 1+0■ Supponiamo di avere 10 dischi fisici e di dividerli in coppie.

■ Ad ogni coppia viene applicato RAID 1. Ai cinque dischi logici risultanti viene applicato RAID 0.

Mirrored + Striped Logical DISK X

Mirrored Logical DISK E

Mirrored Logical DISK D

Mirrored Logical DISK C

Mirrored Logical DISK B

Mirrored Logical DISK A

RAID 1+0

DISK 0 DISK 1 DISK 2 DISK 3 DISK 4

DISK 5 DISK 6 DISK 7 DISK 8 DISK 9

Page 47: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■Ma RAID 0+1 ed 1+0 sono la stessa cosa ?

■ RAID 1+0 è più affidabile. Infatti in caso di guasto di un disco:

Striped + Mirrored Logical DISK X

Striped Logical DISK A

RAID 0+1

DISK 0 DISK 1 DISK 2 DISK 3 DISK 4

Striped Logical DISK B

DISK 5 DISK 6 DISK 7 DISK 8 DISK 9

MIRROR A,B

Page 48: La gerarchia di memoria - UniNa STiDuEunina.stidue.net/CalcolatoriElettronici2_DMCA... · Middleware Laboratory MID LAB Essendo la cache di dimensioni ridotte rispetto alla memoria

Mid

dle

war

e L

abo

rato

ryM

IDL

AB

■Ma RAID 0+1 ed 1+0 sono la stessa cosa ?

■ RAID 1+0 è più affidabile. Infatti in caso di guasto di un disco:

Mirrored + Striped Logical DISK X

Mirrored Logical DISK E

Mirrored Logical DISK D

Mirrored Logical DISK C

Mirrored Logical DISK B

Mirrored Logical DISK A

RAID 1+0

DISK 0 DISK 1 DISK 2 DISK 3 DISK 4

DISK 5 DISK 6 DISK 7 DISK 8 DISK 9