Caches de memória - Tamanhos de níveis individuais

1

Eu estava imaginando quando um programa como CPU-Z ou CPU-ID detecta seus níveis de cache e diz, por exemplo:

Tamanho do cache L1 D: 16Kb "x 8" (associativo de 4 vias) Tamanho do cache I L1: 64 Kb "x 4" (associativo conjunto de 2 vias)

A que se referem os x 8 e x 4? Por favor, forneça um pouco de fundo, se possível. Tenho algumas reflexões sobre o que isso pode significar, mas não quero continuar desinformado.

Estou interessado neste seres como eu já estou descrevendo os diferentes níveis de cache da minha CPU em um papel.

Para aqueles que apreciam visuais, aqui estão as imagens do programa: link link

Muito obrigado!

    
por Tyler 27.03.2017 / 22:10

1 resposta

0

Tomando seu exemplo de uma CPU AMD FX-8350, que tem 8 núcleos.

Um "cache" pode ser dedicado a um único núcleo ou compartilhado entre núcleos.

Quando a CPU-Z diz x8 , significa que há 8 desses caches, portanto, cada núcleo obtém um cache para si mesmo. x4 significa 4 caches, então cada um desses caches é compartilhado entre 2 núcleos.

Se houvesse uma entrada x2 , isso significaria 2 caches, cada um compartilhado entre 4 núcleos. E o cache L3 é efetivamente x1 (o CPU-Z deixa em branco) para que esse cache seja compartilhado entre todos os núcleos. Espero que isto faça sentido. AMD diz é assim: :

  • 16-Kbyte 4-Way Associative, Write-through ECC-Protected L1 Data Cache per Core
  • 64-Kbyte 2-Way Associative Parity-Protected L1 Instruction Cache Shared between Two Cores
  • 1024-Kbyte 16-Way Associative ECC-Protected L2 Cache Shared between Two Cores
  • 8192-Kbyte (8-Mbyte) Maximum 64-way Associative Cache Shared between All Cores on a Node
    
por 28.03.2017 / 00:56