O documento discute o conceito de associatividade de cache e sua importância para o desempenho. Explica como caches mais associativos permitem mais opções de mapeamento de endereços de memória, reduzindo misses de cache. Detalha a associatividade dos diferentes níveis de cache em sistemas z13, como L1 de 6 vias e L4 de 44 vias.
Lei geral de proteção de dados por Kleber Silva e Ricardo Navarro (Pise4)
Cache Associativity Importância
1. Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
17 de Maio de 2.017
LUIZ CARLOS ORSONI
Cache Associativity:
Qual a Importância deste Conceito?
2. Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Abstract + Agenda
Na z13, o Cache L1I é 6-way Set Associative, os Caches L1D, L2I
e L2D são 8-way Set Associative, já o L3 é 16-way Set Associative.
O cache L4 é 30-way Set Associative mais um diretório NIC que é
14-way Set Associative, totalizando 44-way Set Associative.
O nível de Associatividade tem sido sempre crescente:
Qual o significado disso, suas vantagens e desvantagens?
#1 = Fundamentos:
Fatos, Conceitos e Consequências
#2 = Diagramas Conceituais: DM = Direct Mapped,
FA = Fully Associative e SA = Set Associative
#3 = Comparações: zEC12 x z13
#4 = Funcionamento na z13:
L1I, L1D + L2I + L2D, L3, L4 + NIC
#5 = Comentários
#6 = Conclusões
3. Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
#1 = Fundamentos
Consequências:
MISSes são demorados para serem ‘resolvidos’ [MF=List e Execute]
MISSes provocam ‘replacement’, segundo uma Política (LRU, . . .)
Lines podem ser Shared para Leitura, ou Exclusive para Alteração
Alterações implicam em invalidações em outros Caches . . . (Coerência)
Conceitos: Relacionados a RNI=Relative Nest Intensity
HIT Foi encontrado no Cache o que o Processador necessita
MISS Não encontrado, tem que vir de outros níveis de Cache
Não encontrando nos Caches, tem que vir da Memória
[Há vários tipos de MISS, que não serão detalhados...]
Caches de nível mais alto podem ser divididos em I=Instrução e D=Dados
Teoricamente, Instruções não são modificadas, alguns Dados sim!
Fatos:
O Ciclo dos circuitos do Processador é muito menor que o da Memória
Os Ciclos dos circuitos de Caches são menores do que o da Memória
É possível e desejável que hajam Caches em vários Níveis
Processadores necessitam de Caches para não ter que esperar
L1
L2
L3
L4
4. Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
#2 = Diagramas Conceituais: DM
000.... 01010110011110001001 0010 10111100
!
Compare Bits Select Bits Line Offset
Toda a Memória e
todos os Caches
são tratados em
‘fatias’ de 256 bytes,
chamadas Lines,
as unidades de
transporte entre eles.
Os últimos 8 bits
dos Endereços
determinam qual o
Byte dentro da Line.
?
Diretório+Lines
HIT
MISS
Bits:
Invalid
“Dirty”
PKeys
LRU
. . .
5. Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
#2 = Diagramas Conceituais: FA
?
0000000.... 010101100111100010010010 10111100
? ?? ? ? ? ?
Compare Bits Line Offset
!
Os circuitos de
Comparação operam
em paralelo e
terminam no
mesmo Ciclo.
6. Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
#2 = Diagramas Conceituais: SA
000.... 01010110011110001001 0010 10111100
? !? ? ? ? ??
Compare Bits Select Bits Line Offset
Nível de Associatividade = 8: # Mágico!
?
7. Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
#3 = Comparações: zEC12 x z13
6
IBM J. RES. & DEV. VOL. 59 # 4/5
Paper 3 JULY/SEPTEMBER 2.015
IBM z13 Technical Guide
SG24-8251-00 January 2015
8. Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Inclusive x Non Inclusive
IBM J. RES. & DEV. VOL. 59 # 4/5
Paper 1 JULY/SEPTEMBER 2.015
IBM z13 Technical Guide
SG24-8251-00 January 2015
L3
L1D
L2D
L1I
L2I
L1D
L2D
L1I
L2I
L1D
L2D
L1I
L2I
L1D
L2D
L1I
L2I
L1D
L2D
L1I
L2I
L1D
L2D
L1I
L2I
L1D
L2D
L1I
L2I
L1D
L2D
L1I
L2I
Store Through
Store In
L3L3 X
Bus
X
Bus
L4 Até 1.536L4
L3 L3L3
S Bus
X
Bus
X
Bus
Memórias DIMM
até 2,5TB por Drawer
9. Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
#4 = Funcionamento na z13: L1I = 6 way
000.... 01010110011110001001 0010 10111100
Compare Bits Select Bits Line Offset
?
As Lines de Instrução não podem ser alteradas!
Podem haver Lines de Page, Segment e Region Tables
Podem haver Lines de Dicionários da CMPSC
10. Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
#4= Funcionamento na z13: L1D, L2I, L2D = 8 way
000.... 01010110011110001001 0010 10111100
Compare Bits Select Bits Line Offset
?
L2I: Todas as Lines deste Cache não podem ser alteradas!
L1D+L2D: Todas Lines de Dados: podem ser alteradas.
[os Caches de Dados possuem um Store Buffer]
11. Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
#4 = Funcionamento na z13: L3 = 16 way
000.... 01010110011110001001 0010 10111100
Compare Bits Select Bits Line Offset
?
Algumas Lines de Instrução, outras de Dados
estes Caches também são chamados Unificados
L3s são 16way porque atendem até 16 L2s!
12. Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
#4 = Funcionamento na z13: L4 = 30+14 = 44 way
000.... 01010110011110001001 0010 10111100
Compare Bits Select Bits Line Offset
NIC
L3L3L3
Diretórios NIC apontam
para Lines dos L3 do Node
?
Diretório+Lines
Algumas Lines de Instrução,
outras de Dados e muitas de Canais!
L4s atendem 3 L3s mais Canais!
13. Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
#5 = Comentários
#1 = Statement FREQUENCY do FORTRAN em 15/10/1.956!
#2 = Separar o que é mais usado do opcional eventual
#3 = Não misturar Instruções com Dados
#4 = Agrupar os Dados que podem sofrer Alteração
#5 = CPUMF + HIS podem indicar ‘como andam’ . . .
#6 = Ficar “de olho” nas Opções de Compiladores!
14. Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
#6 = Conclusões
#1 = Foram implementados nas decisões de Design
#2 = Evoluem, à medida que a Tecnologia permite
#3 = É bom saber como funcionam
#4 = Site LSPR: RNI determina a Performance!
#5 = Algumas ações podem melhorar a Performance
#6 = Acompanham a “Tecnologia de Ponta”!
Qual a Importância deste Conceito?