Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Click to edit Master title style Click to edit Master subtitle style * * William Stallings Arquitetura e Organização de Computadores Capítulo 4 Memória Interna * * * Características Localização Capacidade (importante para o usuário) Unidade de transferência Método de acesso Desempenho (importante para o usuário) Tecnologia Características físicas Organização * * * Localização Processador Interna (principal) Externa (secundária) * * * Capacidade Tamanho da palavra Unidade “natural” da organização da memória Número de palavras Ou bytes * * * Unidade de transferência Interna Normalmente governada pela largura do barramento de dados Externa Normalmente um bloco o qual é muito maior que a palavra Unidade endereçável A menor localização que pode unicamente endereçável Internamente palavra Blocos nos discos * * * Métodos de acesso (1) Seqüencial Começa no início e le em ordem O tempo de acesso depende da localização do dado e e da posição prévia p.e. fita Direto Cada bloco individual possui endereço único O acesso é feito por meio de um acesso direto a uma vizinhança genérica e depois uma pesquisa seqüencial O tempo de acesso depende da localização do dado e e da posição prévia p.e. disco * * * Métodos de acesso (2) Aleatório (randômico) Endereços individuais identificam exatamente as localizações O tempo de acesso é independente da localização ou do acesso anterior p.e. RAM Associativo Uma palavra é buscada na memória com base em uma parte do seu conteúdo O tempo de acesso é independente da localização ou do acesso anterior p.e. cachê * * * Desempenho Tempo de acesso O tempo entre a apresentação do endereço e a obtenção do dado válido Tempo de ciclo Tempo que pode se requerido para a memória “recuperar” antes do próximo acesso Tempo do ciclo é acesso + recuperação Taxa de transferência A taxa na qual o dado pode ser movido * * * Tecnologia Semicondutores RAM Magnéticos Disco e Fita Ópticos CD e DVD Outros Bolha Holograma * * * Características físicas Decadência (Decay) Volatilidade Pode ser apagado Consumo de energia * * * Organização Configuração física dos bits nas palavras Não é sempre obvia p.e. interlaçada (interleaved) * * * A Linha de Fundo Quanto armazena? Capacidade Quanto rápido? Tempo é dinheiro Quanto custa? * * * A hierarquia da memória Memória interna Registradores Memória cachê Memória principal (RAM) Armazenamento externo Disco magnético CD_ROM, CR_RW DVD Armazenamento de segurança Fita magnética, DAT WORM * * * A hierarquia da memória À medida que descemos o custo por bit cai a capacidade aumenta o tempo de acesso aumenta a freqüência de acesso cai * * * Lista da hierarquia Registradores Cachê L1 Cachê L2 Memória principal Cachê de disco Disco Óptico Fita * * * Então queremos rapidez? É possível construir um computador que só usa RAM estático (veja depois) Seria muito rápido Não seria necessário cachê Como usar cachê para cachê? Seria muito caro (financeiramente) * * * Memória de semicondutores RAM (random-access memory) Existem outras memórias de semicondutores que são de acesso aleatório Leitura/escrita Volátil Armazenamento temporário Estática ou dinâmica * * * RAM Dinâmica Bits armazenados como carga em capacitores Os capacitores descarregam Necessitam de regeneração (refresh) mesmo ligados Construção mais simples Menor por bit Mais baratos Necessitam de circuitos de regeneração (refresh) Mais lento Memória principal * * * RAM Estática Bits são armazenados com chaves on/off Não ha cargas para descarregar Não necessitam de regeneração quando ligados Construção mais complexa Maiores por bits Mais caros Não necessitam de circuitos de regeneração (refresh) Mais Rápidos Cachê * * * Memória apenas de leitura ROM Read Only Memory (ROM) Memória permanente Microprogramação Biblioteca de sub-rotinas Programa de sistema (BIOS) Tabelas de funções * * * Tipos de ROM Gravadas durante a fabricação Muito caro para pequenas quantidades Programável (só uma vez) PROM Precisa de equipamentos especiais para gravação “Principalmente” leitura (EPROM - Erasable Programmable) Erased by UV Apaga eletricamente (EEPROM - Electrically Erasable) Demora muito mais para escrever do que para ler Memória Flash Apaga toda memória eletricamente * * * Organização em detalhes Um chip de 16MBit pode ser organizado como 1M de palavras de 16 bits Um sistema de um bit por chip tem 16 fatias de chip de 1 Mbit com o bit 1 de cada palavra no chip 1, e assim por diante Um chip de 16Mbit pode ser organizado como uma matriz 2048 x 2048 x 4 bit Reduz o número de pinos de endereço Multiplexa os endereços de linhas e colunas 11 pinos para endereço (211=2048) Adicionando mais um pino dobra a faixa de valores x4 a capacidade * * * Regeneração - Refreshing Circuito de regeneração incluído no chip Desabilita o chip Conta por linhas Leitura e reescrita Gasta tempo Reduz o desempenho * * * 16 Mb DRAM Típico (4M x 4) RAS row address select CAS column address select WE write enable OE output enable * * * Empacotamento A A address D data Vcc power Vss ground Vpp write CE chip enable B A address D data Vcc power Vss ground CAS column RAS row OE Output enable WE write enable * * * Organização em módulos * * * Organização em módulos (2) * * * Correção de erros Falhas de hardware Defeito permanente Erro moderado randômico, não destrutivo Nenhum dano permanente para memória Detectado usando o código de correção de erros de Hamming * * * Código de correção de erro * * * Localidade da referencia Durante o curso da execução de um programas, as referencias a memória (endereços) tendem a ficarem próximas p.e. loops * * * Temporalidade da referencia Durante o curso da execução de um programas, as referencias a memória (endereços) tendem a ficarem próximas em relação ao tempo p.e. loops * * * Cachê Quantidade pequena de memória rápida Situa-se entre memória principal normal e CPU Pode estar localizada na CPU ou módulo * * * Operação da cachê - avaliação CPU solicita um dado na memória Confira se os dados estão na cachê Se presente, obtenha o dado da cachê (rápido) Senão, leia o bloco da memória para a cachê Então entregue o dado da cachê A cachê inclui rótulos para identificar qual bloco de memória está em cada linha da cachê * * * Projeto de cachê Tamanho Função de mapeamento Algoritmo de substituição Política de escrita Tamanho da linha Número de memórias cachê * * * Tamanho importa Custo Mais cachê e mais caro Velocidade Mais cachê é mais rápida (até certo ponto) Verificar dados na cachê demora tempo * * * Organização típica de cachê * * * Função de mapeamento Cachê de 64kByte Bloco de cachê de 4 bytes p.e a cachê é de 16k (214) linhas de 4 bytes 16MBytes de memória principal 24 bit de endereço (224=16M) * * * Mapeamento direto Cada bloco da memória mapeia em apenas uma linha da cachê p.e. Se um bloco esta na cachê, só estará em um lugar O endereço é composto de duas partes Os w bits menos significativos (LSB) formam um endereço único Os s bits mais significativos (MSB) especificam um bloco de memória OS MSBS são divididos em campo da linha de cachê e um rotulo de s-r (mais significativos) * * * Mapeamento direto estrutura dos endereços Endereço de 24 bits 2 bits identificador da palavra (bloco de 4 byte) Identificador do bloco (22 bits) Rotulo 8 bit (=22-14) Linha de 14 bits Não existe dois blocos na mesma linha com o rotulo igual Verifica o conteúdo da cachê encontrando a linha e verificando o rótulo Tag s-r Line or Slot r Word w 8 14 2 * * * Mapeamento direto tabela das linhas do cachê linha Inicio do bloco 0 0, m, 2m, 3m…2s-m 1 1,m+1, 2m+1…2s-m+1 m-1 m-1, 2m-1,3m-1…2s-1 Formula linha = bloco % (numero de linhas) * * * Organização do mapeamento direto da cachê * * * Exemplo de mapeamento direto * * * Mapeamento direto pros & cons Simples Barato Endereço fixo para um determinado bloco Se um programa acessar 2 blocos que mapeam repetidamente à mesma linha, as falhas de cachê serão muito alta * * * Mapeamento associativo Um bloco da memória pode ser carregado em qualquer linha da cachê Endereço de memória é interpretado como rótulo e palavra O rótulo identifica unicamente um bloco de memória Todo rótulo das linhas são examinados na busca A busca no cachê torna-se cara * * * Organização cachê associativa - totalmente * * * Exemplo de mapeamento associativo * * * Estrutura de endereço no mapeamento associativo Rótulo de 22 bits armazenados com cada bloco de dados de 32 bits Compare o campo TAG com o campo TAG da cache para verificar o acerto Os 2 bits menos significativos do endereço identificam qual palavra de 16 bits é requerida do bloco de dados de 32 bits p.e. Endereço Rótulo Dado linha FFFFFC FFFFFC 24682468 3FFF Tag 22 bit Word 2 bit * * * Mapeamento associativo por conjuntos A cachê é divida em um número de conjuntos Cada conjunto contém um número de linhas Um dado bloco mapeia para qualquer linha e um dado conjunto p.e. o Bloco B pode estar em qualquer linha do conjunto i p.e. 2 linhas por conjunto Mapeamento associativo por conjunto de 2 linhas Um dado bloco pode estar em uma de 2 linhas em um único conjunto * * * Exemplo de mapeamento associativo por conjunto Número do conjunto de 13 bits O número do bloco na memória é módulo de 213 000000, 00A000, 00B000, 00C000 … mapeia para o mesmo conjunto * * * Organização-cachê associativa por conjuntos (2 linhas) * * * Estrutura do endereço do mapeamento associativo por conjunto Use o campo SET para determinar o conjunto da cachê Compare o campo TAG para ver se há um acerto p.e. Endereço Rotulo dado Conjunto 1FF 7FFC 1FF 12345678 1FFF 001 7FFC 001 11223344 1FFF Tag 9 bit Set 13 bit Word 2 bit * * * Mapeamento associativo por dois conjuntos - exemplo * * * Algoritmos de substituição (1) Mapeamento direto Não ha escolha Cada bloco mapeia a uma única linha Substitua esta linha * * * Algoritmos de substituição (2) Associativa & conjuntos Algoritmo implementado em hardware (velocidade) Menos recente usado (LRU) p.e. no mapeamento associativo por conjunto (2) Qual dos 2 blocos é o LRU? Primeiro que entra primeiro que sai (FIFO) Troca o bloco que está na cache a mais tempo Menos freqüentemente usado (LFU) Troca o bloco o qual tem menos acerto Randômico * * * Política de escrita Não se pode sobrescrever um bloco na cachê amenos que a memória é atualizada CPU múltiplas podem ter cachê individuais I/O pode endereçar a memória diretamente * * * Escrita direta (Write through) Todas as escritas vão tanto para a memória como para a cachê CPU múltiplas podem monitora o trafego na memória para manter a cachê local atualizada Muito trafego Reduz a velocidade de escrita * * * Escrita de volta(Write back) Inicialmente atualiza só na cachê Bit de atualização para cada linha da cachê é setado quando ocorre uma atualização Se um bloco é para ser trocado, escreva na memória somente se o bit de atualização está setado Outras cachês ficam dissincronizadas I/O deve acessar a memória através da cachê N. 15% das referencias a memória são escritas * * * Tamanho da linha Aumentar o tamanho do bloco aumenta a taxa de acerto (até certo ponto) Blocos maiores implica em um número menor de blocos na memória Blocos maiores maior a distancia entre as palavras do mesmo bloco * * * Número de cachê Um ou dois níveis L1 L2 Unificada ou separada Dados Instruções
Compartilhar