Memória Principal Organização da Memória Principal Alguns Conceitos • A MP é o "depósito" de trabalho da UCP, isto é, a UCP e a MP trabalham íntima e diretamente na execução de um programa. – As instruções e os dados do programa ficam armazenados na MP e a UCP vai "buscando-os" um a um à medida que a execução vai se desenrolando; • Os programas são organizados de modo que os comandos são descritos seqüencialmente e o armazenamento das instruções se faz da mesma maneira, fisicamente seqüencial (embora a execução nem sempre se mantenha de forma seqüencial); 2 Palavra • É a unidade de informação do sistema UCP / MP que deve representar o valor de um número (um dado) ou uma instrução de máquina. Desse modo, a MP deveria ser organizada como um conjunto seqüencial de palavras, cada uma diretamente acessível pela UCP. – Na prática isso não acontece porque os fabricantes seguem idéias próprias, não havendo um padrão para o tamanho da palavra e sua relação com a organização da MP. – Por exemplo, os antigos processadores Intel 8086/8088 possuíam palavra com um tamanho igual a 16 bits; a palavra dos processadores Inte180486 e Pentium, bem como dos processadores Motorola 68000, é igual a 32 bits, enquanto a MP associada a todos esses processadores é 3 organizada em células (a unidade de armazenamento) com 8 bits de tamanho. Endereço, conteúdo e posição de MP • Em toda organização composta de vários elementos, que podem ser identificados e localizados individualmente para, com eles, ser realizado algum tipo de atividade, há necessidade de se estabelecer um tipo qualquer de identificação para cada elemento e associar a esta identificação um código (ou coisa parecida) que defina sua localização dentro da organização, de modo que cada elemento possa ser facilmente identificado e localizado. 4 Exemplo dos significados de endereço e conteúdo de uma memória e sua óbvia diferença 5 Unidade de armazenamento • Consiste no grupo de bits que é inequivocamente identificado e localizado por um endereço. • A MP é, então, organizada em unidades de armazenamento; denominadas células, cada uma possuindo um número de identificação - seu endereço- e contendo em seu interior uma quantidade M de bits, que se constitui na informação propriamente dita (pode ser uma instrução ou parte dela, pode ser um dado ou parte dele). • Teoricamente, a unidade de armazenamento da MP deveria ser a palavra, isto é, palavra e célula deveriam ser especificadas com o mesmo tamanho. • Isto, na prática, não acontece, pois os fabricantes têm preferido organizar as MP com células de 1 byte (8 bits) de tamanho, com palavras de 16, 32 e até 64 bits. Há autores que definem célula como o local destinado a armazenar 1 bit e, nesse caso, um grupo de células (ou de bits) é acessado por um único 6 endereço. Unidade de transferência • Consiste na quantidade de bits que é transferida da memória em uma operação de leitura ou transferida para a memória em uma operação de escrita. • Também, teoricamente,deveria ser igual à palavra e à unidade de armazenamento, porém na prática é possível encontrar computadores cuja integração UCP / MP é realizada com uma unidade de transferência diferente não só da palavra, mas também do tamanho da célula (unidade de armazenamento), seja por razões técnicas, seja apenas por interesses comerciais. 7 • A memória principal de qualquer sistema de computação é organizada como um conjunto de N células seqüencialmente dispostas a partir da célula de endereço igual a 0 até a última, de endereço igual a N-1. • Cada célula é construída para armazenar um grupo de M bits, que representa a informação propriamente dita que é manipulado em conjunto (como se fosse uma única unidade) em uma operação de leitura ou de escrita. 8 9 Considerações sobre a Organização da Memória Principal • A quantidade de bits que pode ser armazenada em cada célula é um requisito definido pelo fabricante. • Uma célula contendo M bits permite o armazenamento de 2M combinações de valores, uma de cada vez, é claro. • A relação endereço X conteúdo de uma célula 10 Exemplos de MP com mesma quantidade de células (256), porém com largura de célula diferente. 11 Outros exemplos de organização de MP, dessa vez com memórias de mesmo tamanho de célula, porém com quantidades diferentes de células. 12 • A comparação entre os exemplos indica que os valores de endereço e conteúdo de célula embora associados, ou seja, o endereço IAC5 está associado ao conteúdo B5 no exemplo da 1ª , têm origens diversas. • Em outras palavras, a quantidade de bits do número que representa um determinado endereço, por exemplo, 16 bits do número IAC5 no exemplo da 1ª Fig. define a quantidade máxima de endereços que uma MP pode ter, bem como o seu espaço de endereçamento. • No exemplo citado, este espaço de endereçamento ou capacidade máxima da memória é 64K células, porque 216 = 26 * 210= 64 * K ou 64K. • Como todas as células têm o tamanho de 1 byte, a quantidade de células é sempre igual à quantidade de bytes. 13 Operações com a Memória Principal 14 Exemplo de operação de leitura. 15 Exemplo de operação de escrita. 16 Capacidade de MP - Cálculos • O valor de N representa a capacidade da memória,através da quantidade de células ou de endereços. • O valor de M indica a quantidade de bits que pode ser armazenada em uma célula individual (que é a informação propriamente dita). Como 1 bit representa apenas um entre dois valores (base binária), então podemos concluir que: 17 • 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 FFI6) 18 • a MP tendo N endereços e sendo E = quantidade de bits dos números que representam cada um dos N endereços, então: • N = 2E. • Por exemplo, se N = 512 (porque a MP tem 512 células), então, 512 = 2E, e E = 9, pois 29 = 512. 19 • o total de bits que podem ser armazenados na referida MP é denominado T, sendo: • T = N X M = 2E X M 20 Exercício 1 • Uma memória RAM (MP) tem um espaço máximo de endereçamento de 2K. Cada célula pode armazenar 16 bits. Qual o valor total de bits que pode ser armazenado nesta memória e qual o tamanho de cada endereço? 21 Solução • Se o espaço máximo endereçável é 2K, então: N = 2K (a quantidade máxima de células é 2K). • 1 célula = 16 bits. Então: M = 16 bits (tamanho em bits de cada célula). • Sendo N = 2E, então: N = 2K = 2 X 1024 e convertendo em potências de 2, temos: 21 X 210= 211, • Se N = 2E e N = 211, então: 2E = 211 e E = 11. • Se E = quantidade de bits de cada número que expressa um endereço, e sendo E = 11, então os endereços de cada célula são números que têm 11 bits. • T = N X M = 211 X 16 = 211 X 24 = 215. Convertendo para múltiplo de K = 210, teremos: 25 X 210 = 32K. 22 Resposta • Total de bits da MP: 32K (T) • Tamanho de cada endereço: 11 bits (E) 23 Exercício 2 • Uma memória RAM (MP) é fabricada com a possibilidade de armazenar um máximo de 256K bits. 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 naquela RAM? 24 Solução • Total de bits = T = 256K. – Utilizando potenciação, temos: 256K = 28 X 210 = 218. • 1 célula = 8 bits. Então: M (tamanho de cada célula) = 8 = 23. • Sendo T = N X M, então: N (quantidade de células) = T/M = 256K /8 = 32K. • Pode-se obter o mesmo resultado através de potenciação: 256K/8 = 218/23 = 215 = 25 X 210 = 32K. • Se N = 215 e se sabemos que N = 2E, então: E = 15. • Respostas: Tamanho de cada endereço: 15 bits (E) • Total de células: 32K (N) 25