Arquitetura e organização de computadores Memórias Aula 05 Prof. Diovani Milhorim Memórias TECNOLOGIAS As primeiras tecnologias utilizadas em memórias foram as memórias de núcleos magnéticos. As memórias modernas são compostas por circuitos semicondutores, Memórias HIERARQUIA DE MEMÓRIA A MP não é o único dispositivo de armazenamento de um computador. 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. Registradores Memória cache Memória principal Memória auxiliar. Memórias HIERARQUIA DE MEMÓRIA Memórias HIERARQUIA DE MEMÓRIA REGISTRADORES Registradores são dispositivos de armazenamento temporário, localizados na UCP, extremamente rápidos, com capacidade para apenas um dado (uma palavra). Memórias HIERARQUIA DE MEMÓRIA REGISTRADORES Devido a sua tecnologia de construção e por estar localizado como parte da própria pastilha ("chip") da UCP, é muito caro. O conceito de registrador surgiu da necessidade da UCP de armazenar temporariamente dados intermediários durante um processamento. Registradores são VOLÁTEIS, isto é, dependem de estar energizados para manter armazenado seu conteúdo. Memórias HIERARQUIA DE MEMÓRIA MEMÓRIA CACHE Com o desenvolvimento da tecnologia de construção da UCP, as velocidades foram ficando muito mais altas que as das memórias, que não tiveram a mesma evolução de velocidade . Desta forma, os tempos de acesso às memórias foram ficando insatisfatórios e a UCP ao buscar um dado na memória precisa ficar esperando muitos ciclos até que a memória retorne o dado buscado ("wait states"),. Memórias HIERARQUIA DE MEMÓRIA MEMÓRIA CACHE Por esse motivo, desenvolveram-se outras arquiteturas de memória privilegiando a velocidade de acesso. A arquitetura da memória cache é muito diferente da arquitetura da memória principal e o acesso a ela é muitas vezes mais rápido (p.ex: 5 ns contra 70 ns). Memórias HIERARQUIA DE MEMÓRIA MEMÓRIA CACHE O custo de fabricação da memória cache é muito maior que o da MP. Desta forma, não é econômico construir um computador somente com tecnologia de memória cache. Criou-se então um artifício, incorporando-se ao computador uma pequena porção de memória cache, localizada entre a UCP e a MP, e que funciona como um espelho de parte da MP. Memórias HIERARQUIA DE MEMÓRIA MEMÓRIA CACHE Desenvolveram-se ainda algoritmos que fazem com que, a cada momento, a memória cache armazene a porção de código ou dados (por exemplo, uma sub-rotina) que estão sendo usados pelas UCP. Esta transferência (MP <--> Cache) é feita pelo hardware: ela independe do software, que ignora se existe ou não memória cache. Memórias HIERARQUIA DE MEMÓRIA MEMÓRIA CACHE A memória cache opera em função de um princípio estatístico comprovado: em geral, os programas tendem a referenciar várias vezes pequenos trechos de programas, como loops, sub-rotinas, funções e só tem sentido porque programas executados linearmente, seqüencialmente, são raros. Desta forma, algoritmos (chamados algoritmos de cache) podem controlar qual parte do código ficará copiado na cache, a cada momento. Memórias HIERARQUIA DE MEMÓRIA MEMÓRIA CACHE Quando a MP busca um determinado trecho de código e o encontra na cache, dá-se um "cache hit" , enquanto se o dado não estiver presente na cache será necessário requisitar o mesmo à MP, acarretando atraso no processamento e dá-se um "cache miss" ou "cache fault". O índice de cache hit ou taxa de acerto da cache é geralmente acima de 90%. Memórias cache também são VOLÁTEIS, isto é, dependem de estar energizadas para manter gravado seu conteúdo. Memórias HIERARQUIA DE MEMÓRIA MEMÓRIAS AUXILIARES Memórias auxiliares resolvem problemas de armazenamento de grandes quantidades de informações. A capacidade da MP é limitada pelo seu relativamente alto custo, enquanto as memórias auxiliares tem maior capacidade e menor custo; portanto, o custo por bit armazenado é muito menor. Outra vantagem importante é que as memórias auxiliares não são VOLÁTEIS, isto é, não dependem de estar energizadas para manter gravado seu conteúdo. Memórias HIERARQUIA DE MEMÓRIA MEMÓRIAS AUXILIARES Os principais dispositivos de memória auxiliar são: discos rígidos (ou HD), drives de disquete, unidades de fita, CD-ROM, DVD, unidades ótico-magnéticas,etc. Memórias HIERARQUIA DE MEMÓRIA Memória Principal Memória Principal é a parte do computador onde programas e dados são armazenados para processamento. A informação permanece na memória principal apenas enquanto for necessário para seu emprego pela UCP, sendo então a área de MP ocupada pela informação pode ser liberada para ser posteriormente sobregravada por outra informação. Quem controla a utilização da memória principal é o Sistema Operacional. Memórias HIERARQUIA DE MEMÓRIA ESTRUTURA DA MEMÓRIA PRINCIPAL CÉLULAS E ENDEREÇOS Célula : A memória principal é organizada em células. Célula é a menor unidade da memória que pode ser endereçada. As memórias são compostas de um determinado número de células ou posições. Cada célula é composta de um determinado número de bits. Todas as células de um dado computador tem o mesmo tamanho, isto é, todas as células daquele computador terão o mesmo número de bits. Memórias HIERARQUIA DE MEMÓRIA ESTRUTURA DA MEMÓRIA PRINCIPAL CÉLULAS E ENDEREÇOS Cada célula é identificada por um endereço único, pela qual é referenciada pelo sistema e pelos programas. As células são numeradas seqüencialmente, uma a uma, de 0 a (N-1), chamado o endereço da célula. Endereço é o localizador da célula, que permite identificar univocamente uma célula. Assim, cada célula pode ser identificada pelo seu endereço. Memórias HIERARQUIA DE MEMÓRIA ESTRUTURA DA MEMÓRIA PRINCIPAL CÉLULAS E ENDEREÇOS Memórias HIERARQUIA DE MEMÓRIA ESTRUTURA DA MEMÓRIA PRINCIPAL CÉLULAS E ENDEREÇOS Unidade de transferência é a quantidade de bits que é transferida da (ou para ) memória em uma única operação. O tamanho da célula poderia ser igual ao da palavra, e também à unidade de transferência, porém por razões técnicas e de custo, são freqüentemente diferentes. Memórias HIERARQUIA DE MEMÓRIA ESTRUTURA DA MEMÓRIA PRINCIPAL CÉLULAS E ENDEREÇOS Número de bits para representar um endereço Sendo: x = nº de bits para representar um endereço N = número de endereços. N = 2x logo: x = log2 N Memórias HIERARQUIA DE MEMÓRIA ESTRUTURA DA MEMÓRIA PRINCIPAL CÉLULAS E ENDEREÇOS A capacidade da MP em bits é igual ao produto do nº de células pelo total de bits por célula. T = capacidade da memória em bits N = nº de endereços M = nº de bits de cada célula T=NxM Memórias Exercícios 1) Numa MP com 1kbyte de capacidade, onde cada célula tem 8 bits: a) quantas células tem a MP? b) quantos bits são necessários para representar um endereço de memória? 2) Um computador endereça 1k células de 16 bits cada uma. Pede-se: a) sua capacidade de memória; b) o maior endereço que o computador pode endereçar; 3) A memória de um computador tem capacidade de armazenar 216 bits e possui um barramento de dados de 16 bits. Pede-se: a) o tamanho da célula de memória. Memórias Exercícios 4) Calcular e completar os campos: