Hierarquia de Memória Arquitetura de Computadores Aula 4 – Memória 23/08/2012 Bruno Iran Ferreira Maciel Mestrando em Ciências da Computação – Cin/UFPE Revisão da aula passada Memória secundária (memória de massa) Não é acessada diretamente pela CPU acesso é feito através de interfaces ou controladoras especiais Memória do tipo permanente não se apaga quando o computador está desligado para armazenamento de programas e dados por um longo período Tem alta capacidade de armazenamento Custo muito mais baixo que o da memória principal 1GB de RAM custa cerca de R$ 90,00 disco rígido de 500 GB custa cerca de R$ 300 Revisão da aula passada Não é formada por chips Formada por dispositivos que utilizam outras tecnologias de armazenamento Exemplos de memória secundária disco rígido, disquetes, CD-ROM e fita magnética Revisão da aula passada Aula de hoje Hoje vamos ver Memória principal e cache Memória principal Memória principal Definição: “Parte do computador onde programas e dados são armazenados”. Bit (Binary Digit): Unidade básica de memória. 1 Bit pode armazenar os valores 0 ou 1. É possível realizar duas operações em uma MP: escrita e leitura. Memória principal Endereços de memória Memórias são organizadas em células Cada célula possui um número associado: endereço Programas referenciam uma célula a partir deste endereço Se uma memória possui n células, tais células possuirão os endereços 0 à n – 1. Memória principal Endereços de memória Todas as células de uma memória possuem o mesmo número de bits. Memória principal Endereços de memória A quantidade de bits de endereçamento está relacionado com o número de células e não com o tamanho das mesmas Três organizações possíveis para uma memória de 96 bits: 12 palavras de 8 bits → 4 bits de endereçamento 8 palavras de 12 bits → 3 bits de endereçamento 6 palavras de 16 bits → 3 bits de endereçamento Memória principal Memória principal Endereços de memória Células adjacentes tem endereços consecutivos Computadores que utilizam sistemas de numeração binária expressam endereços de memória como número binário Memória principal Capacidade As memórias são organizadas em conjunto de células, cada uma podendo armazenar uma quantidade de bits: instruções ou dados. Capacidade de memória é a quantidade de informações que nela podem ser armazenadas em um instante de tempo. A unidade básica de representação de informação é o bit. Memória principal Memória principal A quantidade de bits que pode ser armazenada em cada célula (valor M da figura anterior) é um requisito definido pelo fabricante. A quantidade de bits do número que representa um determinado endereço, define a quantidade máxima de endereços que uma MP pode ter, bem como o seu espaço de endereçamento. Memória principal Capacidade Conjunto de 8 bits → byte Os bytes são agrupados em palavras Um computador com palavras de 32 bits tem 4 bytes/palavra 64 bits implicam em 8 bytes/palavra A maioria da instruções operam sobre palavras Memória principal Endereços de memória Uma memória com 212 células de 8 bits cada e uma memória de 212 células de 64 bits cada, precisam de endereços de 12 bits. MP com endereços de 0 a (N – 1). X representa número de linhas de endereço: N = 2X X=log2 N Memória principal Cálculos com a Capacidade de Memória • Como 1 bit representa apenas um entre dois valores (base binária), então podemos concluir que: Pode-se armazenar em cada célula um valor entre 0 e (2M– 1), porém um de cada vez. São 2M combinações possíveis. Por exemplo, se M = 8 bits, temos 28= 256. Seriam armazenados valores entre: 00000000 (010 ou 016) e 11111111 (25510 ou FF16). Memória principal Cálculos com a Capacidade de Memória A memória tem N endereços: N = 2E, sendo E = quantidade de bits dos números que representam cada um dos N endereços. Por exemplo, se N=512 (512 células), então, 512 = 2E, ou E=9, pois 29 =512 Memória principal Cálculos com a Capacidade de Memória O total de bits que podem ser armazenados na referida memória é T, sendo: T = N x M ou T = 2Ex M Do exemplo anterior temos: N = 512 células, M = 8 bits, E = 9 bits, T = 4096 bits N = 2E ->512 = 29 T = N x M = 2Ex M = 4096 bits = 4K bits Memória principal Exemplo 1 Uma memória RAM tem um espaço máximo de endereçamento de 16K. Cada célula pode armazenar 16 bits. Qual o valor total de bits que podem ser armazenados nesta memória e qual o tamanho de cada endereço? Se o espaço máximo endereçável é 2K, então N = 2K 1 célula = 16 bits. Então: M = 16 bits = 24 bits N=2E, N=16K=21x1024=21x210=211 Se N=2E e 211,então: 2E=211 e E=11 E = quantidade de bits de cada número que expressa um endereçamento, ou seja: os endereços de cada célula são números que têm 11 bits. T= N x M=211x16=215=32Kbit Memória principal Exemplo 2 Uma memória RAM é fabricada com a possibilidade de armazenar um máximo de 256kbits. Cada célula pode armazenar 8 bits. Qual é o tamanho de cada endereço e qual é o total de células que podem ser utilizadas na RAM? Total de bits = T = 256K = 28x210= 218 1 célula=8bits=M=23 Sendo T=NxM ,então:N=T/M=218/23=215 Se N=2E,então:215=2E, E=15 N = 215= 25x210= 32k Memória cache Memória cache Significado da palavra cache – Lugar seguro para guardar (esconder coisas) Considerando que a cache só pode ter parte dos dados do nível mais abaixo, por causa do menor tamanho, temos dois problemas: Como identificar se o dado procurado está na cache e Se ele estiver na cache, como acessá-lo de forma rápida Memória cache Memória cache Memória cache O processador não sabe que está sendo enganado e gera um endereço para um espaço de endereçamento que não necessariamente existe fisicamente Endereçar a cache com este endereço não faz nenhum sentido (na maioria dos casos a cache nem teria essa posição gerada por ser muito menor) Uma varredura seqüencial também não é uma solução aceitável, pelo tempo que levaria (não esquecer que o objetivo é acelerar o acesso) Memória cache Problema: CPUs são mais rápidas que memórias do sistema CPUs devem esperar vários ciclos p/ que o dado requerido seja carregado Problema de custo e não de engenharia: é possível construir memórias tão rápidas quanto a CPU (Precisam ficar dentro do chip da CPU). CUSTO MUITO ALTO Organização da memória Organização da memória Perguntas ? Exercício Hoje tem exercício em aula e p/ entregar na próxima aula