Baixe o app para aproveitar ainda mais
Prévia do material em texto
Tópicos Avançados em Arquitetura de Computadores Professor: André Sobral e-mail: asobral@unicarioca.edu.br Ciência da Computação Sumário � Introdução; � Componentes; � Memória Principal; � Memória Cache; � Processadores Sistema de Computação Memória Cache � Mapeamento de Dados MP/MC: Sistema de Computação � Por conta da grande diferença de tamanho entre a MP e MC, existe uma grande quantidade de blocos da MP que precisarão ser armazenados nas poucas linhas da MC. � Há uma necessidade de se determinar um meio de determinar em qual linha um bloco específico será armazenado. � A relação não pode ser 1:1 entre as memórias. � Necessita estabelecer um método de mapeamento entre os blocos da MP e as linhas da MC. Memória Cache � Mapeamento de Dados MP/MC: Sistema de Computação � Existem três formas de mapeamento: � Mapeamento direto; � Mapeamento associativo; � Mapeamento associativo por conjunto. Memória Cache � Mapeamento de Dados MP/MC: Sistema de Computação � Mapeamento Direto: � Cada bloco da MP tem uma linha da MC previamente definida; � Vários blocos serão destinados para uma mesma linha; � Existe uma regra a ser seguida para a escolha da linha específica de cada bloco; � Os X primeiros bytes da MP constituirão o Bloco 0 o qual estará previamente destinado para a linha 0 da MC. Memória Cache � Mapeamento de Endereços: Sistema de Computação Memória Cache � Mapeamento de Dados MP/MC: Sistema de Computação � Mapeamento Direto: � Exemplo: MP possui 64 células de 1 byte e a MC possui 16 bytes divididos em 4 linhas com 4 bytes cada. Cada linha pode armazenar 4 blocos, um de cada vez. Cada endereço da MP = 6 bits Total de Blocos = 16 Capacidade da MC = 16 bytes Total de linhas = 4 Cada endereço da MC = 2 bits Memória Cache � Mapeamento de Dados MP/MC: Sistema de Computação � Mapeamento Direto: � O endereço da célula da MP precisa ser interpretado pelo sistema de controle da MC: � Tag: define que bloco está armazenado no momento na linha especificada; � Linha: indica o endereço da linha; � Byte: indica qual byte está sendo solicitado Memória Cache � Mapeamento de Endereços: Sistema de Computação MAPEAMENTO DIRETO Memória Cache � Mapeamento de Endereços: Sistema de Computação Memória Cache � Mapeamento Direto: Sistema de Computação � Considere uma MP com espaço de endereçamento de 4 GB. A MC tem capacidade de 64KB dividida em 1K linhas. Determine o formato do endereço para ser interpretado pelo sistema de controle da cache. MP = 4 GB = 232 = endereço de 32 bits 64 bytes bloco 64 bytes por linha 6 bits para representar cada Byte MC = 64 KB = 1024 linhas de 64 bytes Total de Blocos da MP = 4GB/64B = 232 / 26 = 226 Endereço do bloco de 26 bits Total de linhas da MC = 64KB / 64 B = 1024 linhas = Endereço da linha possui 10 bits 65.536 blocos atribuídos à cada linha Memória Cache � Mapeamento Direto: Sistema de Computação � Considere uma MP com 64 MB de capacidade associada a uma MC que possui 2K linhas, cada uma com largura de 16 bytes. Determine o formato do endereço para ser interpretado pelo sistema de controle da cache. MP = 64 MB = 226 = endereço de 36 bits Tag = Total de Blocos / Total de Linhas = 222 / 211 = 211 MC = 2048 linhas de 16 Bytes L = 2K = 211 Linha = 16 Bytes = 24 Total de Blocos = 64 MB / 16 B = 226 / 24 = 222 Memória Cache � Mapeamento Direto: Sistema de Computação � Seja uma MP constituída de blocos com largura de 32 Bytes, associada a uma MC com 128 Kbytes. Em dado instante o processador realiza um acesso, colocando o seguinte endereço 3FC92B6. Determine qual deverá ser o valor binário que será localizada pelo sistema de controle de cahe. Endereço da MP = 7 algarismos em hexadecimal = 7 x 4 bits = 28 bits Quantidade de linhas = Total MC / Largura do Bloco = 128 KB / 32 B = 217 / 25 = 212 = 12 bits para linha Bloco de 32 bytes = 32 Linhas = 25 = 5 bits para Campo byte Memória Cache � Mapeamento Direto: Sistema de Computação � Seja uma MP constituída de blocos com largura de 32 Bytes, associada a uma MC com 128 Kbytes. Em dado instante o processador realiza um acesso, colocando o seguinte endereço 3FC92B6. Determine qual deverá ser o valor binário que será localizada pelo sistema de controle de cahe. Campo Tag = 28 – 12 – 5 = 11 bits Endereço 3FC92B6 = 0011 1111 1100 1001 0010 1011 0110 Dividindo pelos campos: Endereço da linha desejada é : 010010010101 Próxima Aula � Aplicação da AV1 Sistema de Computação
Compartilhar