Conceitos e Gerenciamento de Memória
Introdução Num sistema computacional, temos diferentes tipos de memórias, para diferentes finalidades, que se interligam de forma estruturada e que formam o subsistema de memória.
Introdução Conceitualmente pode ser definida como um local para o armazenamento de informações onde as duas únicas ações possíveis são a leitura e a escrita. A informação pode ser representada pelo bit ou por um conjunto de n bits que possuem um endereço definido.
Características das Memórias As características mais importantes numa memória são: tempo de acesso (leitura); ciclo de memória; capacidade de armazenamento; volatilidade; tecnologia de fabricação; temporariedade; e. custo.
Tempo de Acesso Indica quanto tempo é necessário para que a memória realize uma operação de leitura, ou seja, quanto tempo leva para o dado ser transportado da célula de memória para o barramento após uma dada posição ter sido endereçada. Este tempo é expresso em: ms (milissegundos = 10-3 ) µs (microssegundos = 10-6 ) ns (nanossegundos = 10-9 )
Tempo de Acesso Nas memórias eletrônicas (RAM, ROM etc), o tempo de acesso é igual, independentemente da distância física entre o local de um acesso e o local do próximo acesso. O mesmo não ocorre nos dispositivos eletromecânicos
Ciclo de Memória Parâmetro utilizado somente em memórias eletrônicas, indica o tempo decorrido entre duas operações sucessivas de acesso à memória (escrita ou leitura). Este valor tende a ser zero em memórias atuais, podendo assim o ciclo de memória ser igual ao tempo de acesso.
Capacidade de Armazenamento É a quantidade de informação que pode ser armazenada na memória. A unidade mais comum é o byte, embora também possam ser usadas outras unidades como células (MP ou cache), setores (discos) e bits (registradores).
Volatilidade Uma memória pode ser: Volátil: para manter os dados na memória é necessária que esta esteja sendo constantemente alimentada (energia). Ao desligar o computador perdemos todos os dados desse tipo de memória. Não Volátil: mesmo sem ser alimentada, sem energia, a memória continua com os dados gravados.
Memória Volátil RAM Memória de acesso randômico DRAM Dynamic RAM RAM convencional SRAM Static RAM Mais veloz Usada em cache
Memória Volátil DDR SDRAM (memória de acesso aleatório dinâmica síncrona de dupla taxa de transferência ) - Derivada do padrão SDRAM e combinada com a técnica DDR, que consiste em transferir dois bits por pulso de clock. DDR 2 e 3 velocidade(2400mhz) 4 e 8 bits e consumo de energia 30% menor
Memória Não-Volátil ROM - Read Only Memory PROM - ROM programável Conteúdo colocado por equipamento especial pelo usuário EPROM - Erasabel PROM Reprogramável após ter seu conteúdo apagado por raios ultravioleta EEPROM - Electrically EPROM Reprogramável por impulsos elétricos especiais
Memória Não-Volátil Memórias Flash Semelhantes às EEPROMs são mais rápidas e de menor custo CD-ROM São discos ópticos que retêm os dados não permitindo sua alteração (exceção CD-RW) DVD-ROM são discos ópticos, tal como os CD-ROM, mas de alta densidade BLU-RAY
Tecnologia de Fabricação Tecnologias mais utilizadas: Memórias de semicondutores: rápidas, caras e de baixa capacidade. Ex.: registradores, cache e memória principal. Memórias de meio magnético: armazena informações sob a forma de campos magnéticos ou ópticos. São memórias baratas, de alta capacidade e mais lentas. Dependem de dispositivos eletro-mecânicos para funcionarem. Ex.: floppy, HD, CD, DVD e Blu-Ray.
Temporariedade Indica o tempo de permanência da informação em um dado tipo de memória: Permanente: são memórias com capacidade de armazenamento de dados por longos períodos sem a necessidade de realimentação de energia. Ex. CDs. Transitória: armazenam os dados por curto espaço de tempo e necessitam ser sempre realimentadas para manter esses dados. Ex. registradores, RAM.
Custo O custo de uma memória é muito variável. Uma boa medida de custo é verificar quanto custa um byte de memória, para aí sim comparar com o valor de um byte em outros tipos de memória.
Comparativo Em função de características como tempo de acesso, capacidade de armazenamento, custo etc., podemos estabelecer uma hierarquia de dispositivos de armazenamento em computadores. Tipo Capacidade Velocidade Custo Localização Volatilidade Registrador Bytes muito alta muito alto UCP Volátil Memória Cache Mbytes alta alto UCP/placa Volátil Memória Principal Gbytes média médio Placa Volátil Memória Auxiliar Tbytes baixa baixo Externa Não Volátil
Hierarquia de Memória Custo, Velocidade Registradores Memória Cache Memória Principal Memória Secundária Tempo de Acesso, Capacidade
Registradores O destino final de qualquer tipo de memória é o processador. No entanto, antes que a instrução seja interpretada e as unidades da CPU sejam acionadas, o processador necessita buscar a instrução de onde ela estiver armazenada (memória cachê ou principal) e armazená-la em seu próprio interior, em um dispositivo de memória chamado registrador de instrução.
Registradores O registrador é, portanto, o elemento superior da pirâmide de memória, por possuir a maior velocidade de transferência dentro do sistema (menor tempo de acesso), menor capacidade de armazenamento e maior custo.
Exercício Analise os diversos parâmetros abaixo em relação aos registradores: 1. Tempo de acesso/ciclo de memória 2. Capacidade 3. Volatilidade 4. Tecnologia 5. Temporariedade 6. Custo
Memória Cache Em toda execução de uma instrução, a CPU acessa a memória principal (sem cachê), pelo menos uma vez para buscar a instrução e transferi-la para um de seus registradores. E mais ainda, muitas instruções requerem outros acessos à memória, seja para a transferência de dados para a CPU, seja para a transferência do resultado de um operação da CPU para a memória.
Memória Cache Em resumo, para a realização do ciclo de uma instrução há sempre a necessidade de ser realizado um ou mais ciclos de memória. Como o ciclo de memória é mais lento do que a CPU, a execução de um ciclo de instrução é bastante afetada pela demora da memória. Na busca de uma solução para este problema, foi incluído um dispositivo de memória entre a CPU e MP, denominada memória cache.
Exercício Analise os diversos parâmetros abaixo em relação à memória cache: 1. Tempo de acesso/ciclo de memória 2. Capacidade 3. Volatilidade 4. Tecnologia 5. Temporariedade 6. Custo
Memória Principal Memória básica de um sistema de computação desde seus primórdios (arquitetura de sistema definida por Von Neumann). É o dispositivo onde o programa (e seus dados) que vai ser executado é armazenado para que a CPU acesse instrução por instrução.
Memória Principal RAM Memória de acesso randômico Conteúdo alterável gravação e leitura Necessita de energia elétrica volátil ROM Memória somente de leitura Conteúdo gravado pelo fabricante Não depende de energia elétrica não volátil Menor que a RAM Usada para fins específicos quando o computador é ligado
Exercício Analise os diversos parâmetros abaixo em relação à MP: 1. Tempo de acesso/ciclo de memória 2. Capacidade 3. Volatilidade 4. Tecnologia 5. Temporariedade 6. Custo
Memória Secundária Esta memória, denominada também de memória auxiliar ou memória de massa, tem por objetivo garantir um armazenamento mais permanente a toda a estrutura de dados e programas do usuário, razão por que deve naturalmente possuir maior capacidade que a memória principal.
Disco Rígido (HD) A cabeça de leitura/gravação flutua sobre a superfície (óxido de ferro) do meio magnético que cobre o disco de metal (alumínio), de forma que uma fina camada de ar é formada (0,00015 ). Vantagens: Custo por Kbyte armazenado é pequeno Velocidade de acesso seek (aproximadamente 100x mais rápido que o disquete) Velocidade de recuperação taxa de transferência
Disco Rígido
Dimensão do HD - Comparativo
Exercício Analise os diversos parâmetros abaixo em relação à memória secundária: 1. Tempo de acesso/ciclo de memória 2. Capacidade 3. Volatilidade 4. Tecnologia 5. Temporariedade 6. Custo
Memória Virtual É uma técnica que utiliza hardware e software especiais. A memória principal neste caso pode funcionar como uma cache para a memória secundária, usualmente implementada em disco magnético.
Memória Virtual A técnica de Memória Virtual gerencia automaticamente os dois níveis da hierarquia de memória, representados pela Memória Principal e pela Memória Secundária.
Memória Virtual Um bloco de tamanho fixo é chamado de página Uma falha no acesso à memória virtual é chamada de falta de página Para usar a MV o processador gera um endereço virtual que é traduzido para endereço real por meio de hardware e software Mapeamento de páginas da MV na MP: mapeamento da memória ou tradução de endereços
Endereços Virtuais
Funcionamento da Memória RAM Arquivos Linguagens Aplicativos Sistema Operacional ROM
Arquitetura Interna - Resumida
Arquitetura Interna - Completa
Fatores que Afetam a Velocidade de Processamento Registradores Memória Relógio Interno (clock) Barramento Memória Cache
Registradores Indica a quantidade de dados que o computador pode trabalhar em um certo momento Quanto maior o tamanho do registrador mais rápido um computador consegue processar um grupo de dados O tamanho dos registradores tamanho da palavra
Barramento Introduzido pela IBM em 1981 Número de linhas paralelas que conecta a memória e outros dispositivos de hardware (placas de expansão) à placa mãe Quanto maior o número de linhas do barramento, maior é a velocidade de processamento
Memória Quanto maior a quantidade de RAM maior e mais complexo poderá ser o programa SWAP troca de dados entre a memória e o disco rígido (memória virtual). Quanto maior a memória principal menor será a necessidade de se fazer SWAP. O disco rígido é mais lento do que a RAM
Memória Cache O processador é muito mais rápido do que a RAM A transferência de dados entre a CPU e a memória é, portanto, lenta Cache memória interna à CPU, extremamente rápida quando comparada com a RAM Antes de buscar os dados da RAM o computador verifica se eles estão na memória cache Exemplo de utilização: laços (loops( loops) ) de programas