56
1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

Embed Size (px)

Citation preview

Page 1: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

1

SSC114 Arquitetura de ComputadoresArquiteturas ParalelasArquiteturas MIMD

Memória CompartilhadaAulas 11 e 12

08/10/10 (Turma 1 e 2)

Profa. Sarita

Page 2: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

2

Arquiteturas MIMD

As arquiteturas MIMD dividem-se em dois grandes grupos: Memória Compartilhada

Cada processador pode endereçar toda a memória do sistema

Memória Distribuída Cada processador endereça somente a própria memória

local

Page 3: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

3

Arquiteturas MIMD com memória compartilhada Vantagens

A comunicação entre os processos é bastante eficiente, pois os dados não precisam se movimentar fisicamente

A programação não difere muita da programação para um único processador, não necessitando particionar código nem dados

Page 4: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

4

Arquiteturas MIMD com memória compartilhada Desvantagens

Primitivas de sincronização são necessárias para acesso às regiões compartilhadas Em algumas linguagens isso fica a cargo do

programador Linguagens mais novas escondem alguns detalhes do

programador Esse tipo de arquitetura não é muito escalável,

devido ao limite da memória

Page 5: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

5

Arquiteturas MIMD com memória distribuída Vantanges

Altamente escalável, permitindo a construção de MPPs (computadores massivamente paralelos)

A forma de comunicação (através de troca de mensagens) resolve tanto os problemas de comunicação como sincronização

Page 6: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

6

Arquiteturas MIMD com memória distribuída Desvantagens

A programação exige que os problemas possuam uma natureza paralela

É necessária a distribuição da carga entre os processadores, seja de maneira automática ou manual

Page 7: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

7

Computador com as seguintes características: dois ou mais processadores com capacidade semelhante processadores compartilham a mesma memória e I/O processadores conectados por um barramento ou outra conexão

interna tempo de acesso à memória é aproximadamente o mesmo para

todos os processadores Também denominado por arquitetura UMA (Uniform Memory Access)

processadores compartilham acesso a I/O podem usar o mesmo canal ou possuírem caminhos independentes para

cada dispositivo processadores podem fazer as mesmas funções (são simétricos) sistema operacional integrado controla a arquitetura

fornece interação entre processadores, jobs, tarefas, threads, arquivos e níveis de elementos de dados

SMP – Symmetric MultiProcessors

Page 8: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

8

SMP - Vantagens

Desempenho, caso algum trabalho possa ser feito em paralelo

Disponibilidade de recursos todos os processadores podem fazer as mesmas funções,

falhas de um processador não param a máquina Aumento incremental

usuário pode aumentar o desempenho adicionando novos processadores, mas sempre limitado pela memória

Diferentes faixas de equipamentos (scaling) fornecedores oferecem diferentes produtos, baseados no

número de processadores

Page 9: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

9

Diagrama de um bloco multiprocessador com memória compartilhada

Page 10: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

10

SMP - Organização

Barramento de tempo compartilhado ou comum

Memória multiportas (ou multiportos) Unidade de Controle Central

Page 11: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

11

SMP – Barramento Compartilhado Forma mais simples Estrutura e interface similares às arquiteturas

monoprocessadas endereçamento – distingue módulos no barramento arbitragem – qualquer módulo pode ser o mestre

temporariamente time sharing – se um módulo tem o barramento, outros

dispositivos esperam Diferença em relação aos monoprocessados:

múltiplos processadores além de múltiplos dispositivos de I/O

Page 12: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

12

SMP – Barramento Compartilhado

Page 13: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

13

SMP – Barramento Compartilhado Vantagens

simplicidade flexibilidade confiabilidade

Desvantagens: desempenho limitado pelo clock do barramento cada processador deveria ter cache local

reduz número de acessos ao barramento gera problemas com a coerência da cache

Page 14: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

14

SMP – Memória Multiportas

Acesso direto e independente dos módulos de memória pelos processadores

Lógica necessária para solucionar conflitos Pouca ou nenhuma modificação nos

processadores ou módulos de memória

Page 15: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

15

SMP – Memória Multiportas

Mais complexa precisa de um login extra no sistema de memória

Desempenho melhor cada processador tem o seu próprio caminho aos módulos

de memória Pode configurar porções da memória como

“privada” para um ou mais processadores aumenta a segurança

Política write through para atualização da cache

Page 16: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

16

SMP – Considerações sobre o SO Encapsula detalhes, fornece visão de uma

arquitetura monoprocessada Trabalha com:

processos concorrentes escalonamento sincronização gerência de memória confiabilidade e tolerância a falhas

Page 17: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

17

Exemplo – IBM S/390 mainframe

Page 18: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

18

Memória Compartilhada Distribuída Implementação de uma memória que é

logicamente compartilhada mas implementada com o uso de um conjunto de memórias locais

Pode ser de três classes: NUMA (Non-uniform Memory Access) CC-NUMA (Cache Coherent Non-Uniform

Memory Access) COMA (Cache-Only Memory Access)

Page 19: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

19

NUMA (Non-Uninform Memory Access) NUMA - quando o acesso à memória NÃO é

uniforme todos os processadores têm acesso a toda

memória normalmente usando load & store

tempo de acesso à memória difere em função da região

diferentes processadores têm acesso às regiões da memória em diferentes velocidades, o que faz necessário um certo cuidado na hora de programar

Page 20: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

20

NUMA (Non-Uninform Memory Access)

Page 21: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

21

COMA (Cache Coherent Non-Uniform Memory Access) Assemelham-se a uma arquitetura NUMA, onde cada nó de

processamento possui uma parte da memória global.

O particionamento dos dados entre as memórias de cada nó não é estático -> as memórias funcionam como caches de nível 3.

O problema de partição de dados e balanceamento dinâmico de carga é realizado automaticamente.

Conforme o algoritmo de coerência utilizado, os dados migram automaticamente para as caches locais dos processadores onde é mais necessária.

Page 22: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

22

COMA (Cache Coherent Non-Uniform Memory Access)

Page 23: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

23

CC-NUMA (Cache Coherent Non-Uniform Memory Access) Solução de compromisso entre as

arquiteturas NUMA e COMA. Cada nó processador possui uma cache local

para reduzir o tráfego na rede de interconexão.

O balanceamento de carga é realizado dinamicamente pelos protocolos de coerência das caches.

Page 24: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

24

CC-NUMA (Cache Coherent Non-Uniform Memory Access)

Page 25: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

25

CC-NUMA – Uma possível organização

Page 26: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

26

SSC114 Arquitetura de Computadores

Arquiteturas ParalelasProtocolos de Coerência de Cache

Aulas 11 e 1208/10/10 (Turmas 1 e 2)

Profa. Sarita

Page 27: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

27

Memórias CachePolíticas de Atualização As memórias caches possuem dois modos básicos

para trabalhar em relação à atualização dos dados na memória principal durante uma escrita: Write-through: Os dados são atualizados tanto na memória

cache como na memória principal. Write-back: Os dados são atualizados apenas na memória

cache, e copiados para a memória principal, apenas quando da substituição do bloco/linha modificado na cache.

Page 28: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

28

Problema de Coerência de Cache Os sistemas multiprocessados com memória

compartilhada apresentam os seguintes problemas: Conteção de memória: o módulo de memória pode

manipular somente uma requisição de memória por vez Contenção de comunicação: contenção dos links de

comunicação, mesmo que deseje-se acessar módulos diferentes da memória

Tempo de latência: tempo de comunicação utilizando as redes de interconexão tende a aumentar quando o número de processadores aumenta e a interconexão se torna mais complexa

Page 29: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

29

Tempo de acesso à memória

Fonte: Organização e Projeto de Computadores (Patterson & Hennesy), 2003

Page 30: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

30

Problema de Coerência de Cache Para solucionar os problemas citados, utiliza-

se memórias cache, objetivando reduzir o número de acessos à memória principal

Problema: várias cópias de um mesmo bloco compartilhado por diversos processos ao mesmo tempo As várias cópias devem estar consistentes Problema denominado “Problema de coerência

de cache” ou “Problema de consistência de cache”

Page 31: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

31

Exemplo de algoritmos com compartilhamento de variáveis Problema do Produtor/Consumidor

Variáveis compartilhadas: buffer, in, out e count

Page 32: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

32

Políticas de coerência de cache Write-invalidate: política que mantém a

consistência da seguinte maneira: Requisições de leitura são tratadas localmente

caso já exista uma cópia local do bloco Todas as outas cópias são invalidadas caso o

bloco seja atualizado Uma próxima atualização pelo mesmo processador

pode ser feita localmente, já que as outras cópias estão invalidadas

Múltiplos leitores, um escritor

Page 33: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

33

Políticas de coerência de cache Write-invalidate

Page 34: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

34

Políticas de coerência de cache Write-update: política que mantém a

consistência da seguinte maneira: Ao invés de invalidar as cópias, esta política

atualiza todas as outras cópias Múltiplos leitores e escritores

Page 35: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

35

Políticas de coerência de cache Write-update

Page 36: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

36

Exemplo 1Produtor/consumidor Considere um processo produtor P e um

processo consumidor C Cada processo está executando em uma

máquina diferente O processo P executa k entradas na região crítica

(inserções) seguidas O processo C executa k entradas na região crítica

(remoções) seguidas

Page 37: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

37

Exemplo 1Produtor/consumidor Comparação do custo de comunicação para

acesso à variável count para k execuções consecutivas na região crítica

Page 38: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

38

Exemplo 2

Considere a seguinte seqüencia de instruções

Conte o número de transações do barramento utilizando os protocolos write-update e write-invalidate (com write-back) e que o tamanho do bloco é igual a uma palavra (4 bytes)

Etapa Processador Atividade da memória Endereço de memória

1 P1 Leitura 100

2 P2 Escrita 104

3 P1 Leitura 100

4 P2 Leitura 104

5 P1 Leitura 104

6 P2 Leitura 100

Page 39: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

39

Protocolos para manter a consistência Independente da política utilizada (write-invalidate

ou write-update), as mensagens para manter a consistência dos dados devem ser enviadas para pelo menos as que possuem uma cópia do dado

Para redes onde o custo de se fazer um broadcast não é muito alto, utiliza-se um protocolo denominado Snoopy Cache Protocol

Para redes de interconexão mais complexas utiliza-se um protocolo denominado Directory Protocol

Page 40: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

40

Snoopy Cache Protocol ou snooping O snooping distribui a responsabilidade da

coerência entre os controles de cache, os quais reconhecem que a linha é compartilhada

Esse monitoramento pode invalidar (política write-invalidate) ou atualizar (política write-update) a cópia do bloco na memória cache local que esteja sendo alterado por uma operação de escrita no barramento

Page 41: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

41

Snoopy Cache Protocol ou snooping

Fonte: Organização e Projeto de Computadores (Patterson & Hennesy), 2003

Page 42: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

42

Directory Protocol

Utilizado quando os processadores não são conectados por barramento

Existe um controlador central, o qual faz parte do controlador da memória principal, que coleta e mantém informações sobre as cópias dos dados nas caches

Quando uma linha da cache é refenciada, a base de dados é verificada para saber onde é “limpa” (shared) ou “suja” (modified)

Page 43: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

43

Directory Protocol

Antes de um processador atualizar os dados compartilhados, este deve requisitar ao controlador acesso exclusivo à linha desejada

Para obter o acesso exclusivo, o controlador envia uma mensagem a todos os processadores com uma cópia cacheada dessa linha, forçando cada processador a invalidar sua cópia

Page 44: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

44

Directory Protocol

O controlador tem que receber uma mensagem de cada processador antes de dar o acesso exclusivo

Quando um processador tenta ler uma linha que está com acesso exclusivo a outro processador, é enviada uma notificação de falha de acesso para o controlador

O controlador requisita que o processador que tem acesso exclusivo faça a atualização da linha na memória principal e passa o acesso exclusivo ao processador que requisitou a linha e compartilha para leitura para o processador que detinha o acesso exclusivo

Page 45: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

45

Directory Protocol

Problema: é centralizado, criando um gargalo central e sobrecarregando a comunicação entre os vários controladores de cache e o controlador central

São eficientes em sistemas de larga escala, os quais envolvem múltiplos barramentos ou interconexões mais complexas

Page 46: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

46

Protocolo MSI

Este protocolo é utilizado com as políticas write-invalidate e write-back

Os exemplos das transições a seguir consideram a utilização de snooping

Baseia-se em uma máquina de estados finitos com 3 estados: Shared (Compartilhado - somente leitura): esse bloco na

cache é “limpo” (não escrito) e pode ser compartilhado Modified (Modificado – leitura/escrita): esse bloco na

cache é “sujo” (escrito) e pode não ser compartilhado Invalid (Inválido): esse bloco de cache não possui dados

válidos

Page 47: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

47

Protocolo MSI

Transições ocorrem em três situações: Falha de leitura

Se estiver nos estados M ou S, o dado local é utilizado Se estiver no estado I, deve-se verificar se o bloco não está em outras

caches Se estiver em outras caches no estado M, esta deve escrever o bloco de

volta na memória principal e mudar seu estado para I Falha de escrita

Se houver outra cópia no estado S, adquire o barramento, envia sinal de invalidação, copia o bloco da MP, atualiza e modifica o estado para M

Se estiver no estado M, idem para falha de leitura Acerto de escrita

Se estiver no estado M, nada acontece Se estiver no estado S, adquire o barramento e envia uma mensagem de

invalidação para bloquear outras cópias Acertos de leitura não alteram o estado da cache

Page 48: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

48

Protocolo MSI

Fonte: Organização e Projeto de Computadores (Patterson & Hennesy), 2003

Page 49: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

49

Protocolo MSI

Fonte: Organização e Projeto de Computadores (Patterson & Hennesy), 2003

Page 50: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

50

Protocolo MESI

Divide o estado Shared (compartilhado) em dois outros estados: Shared (compartilhado): existem múltiplas cópias

do bloco Exclusive (exclusivo): existe apenas uma cópia

Existe apenas uma cópia do bloco e um acerto de escrita não precisa invalidar

Protocolo utilizado pelo Pentium 4

Page 51: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

51

Protocolo MESI

Resumo dos 4 estados

M (Modified) E (Exclusive) S (Shared) I (Invalid)

A linha é válida? Sim Sim Sim Não

A cópia da MP é... Desatualizada Válida Válida -

Existe cópia em outra cache?

Não Não Talvez Talvez

Uma escrita nessa linha...

Não precisa do barramento

Não precisa do barramento

Precisa do barramento e

atualiza a cache

Acessa direto o barramento

Fonte: Computer Organization and Architecture (William Stallings), 2003

Page 52: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

52

Protocolo MESI

Fonte: Computer Organization and Architecture (William Stallings), 2003

Page 53: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

53Fonte: Structured Computer Organization (Andrew S. Tananbaum), 2006

Page 54: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

54

Protocolo MOESI

Acrescenta o estado Owner, no qual a cache que possui o bloco neste estado, fornece o dado em caso de falha de leitura no barramento, uma vez que a memória não possui o dado atualizado

Pode existir cópias do dado em outras caches

Page 55: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

55

Exercício

Conte o número de transações no barramento para a seqüência de instruções, explicitando as transições na máquina de estado finito de um protocolo MESI

Considere que os processadores utilizam as políticas write-invalidate, write-back, tamanho de bloco de uma word e que os blocos não estão na memória cache (estado inicial Invalid)

Page 56: 1 SSC114 Arquitetura de Computadores Arquiteturas Paralelas Arquiteturas MIMD Memória Compartilhada Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita

56

Exercício

Etapa Processador Atividade da memória Endereço de memória

1 P1 Leitura 100

2 P1 Escrita 100

3 P3 Leitura 104

4 P2 Escrita 100

5 P3 Escrita 104

6 P3 Escrita 100

7 P1 Leitura 100