Baixe o app para aproveitar ainda mais
Prévia do material em texto
Memória Principal: Uma das principais características definidas no projecto de arquitectura do sistema de Von Neumann, o qual se constitui a primeira geração de computadores, consistia no facto de ser uma máquina “de programa armazenado”. O facto de as instruções, uma após a outra, poderem ser imediatamente acessadas pela UCP é o que garante o automatismo do sistema e aumenta a velocidade de execução dos programas. 9 Tempo de acesso: possuem tempo de acesso entre 50 ns e 150 ns. 9 Capacidade: os valores típicos para microcomputadores, minicomputadores e de grande porte, estão na faixa de 16 até 1024 M byte, embora eles possam endereçar memória de 4G byte. 9 Volatilidade: sendo construído com semicondutores e circuitos electrónicos, este tipo de memória também é volátil. 9 Temporalidade: para que um programa seja executado é necessário que ele seja armazenado na memória principal. Actualmente esta afirmação é parcialmente verdadeira, visto que não é mais necessário que o programa completo esteja na MP, e sim apenas armazenado a instrução que será acessada pela UCP. No entanto, a transitoriedade com que as informações permanecem armazenadas na MP é, em geral, mais duradoura que na memória cache e registradores. A tabela abaixo mostra os modelos típicos. 1 2 Conforme foi definido anteriormente, 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 sob regravada por outra informação. Quem controla a utilização da memória principal é o Sistema Operacional. Estrutura da Memória Principal Células e Endereços: A memória precisa ter uma organização que permita ao computador guardar e recuperar informações quando necessário. Não teria nenhum sentido armazenar informações que não fosse possível recuperar depois. Portanto, não basta transferir informações para a memória. É preciso ter como encontrar essa informação mais tarde, quando ela for necessária, e para isso é preciso haver um mecanismo que registe exactamente onde a informação foi armazenada. Célula: é a unidade de armazenamento do computador. A memória principal é organizada em células. Célula é a menor unidade da memória que pode ser endereçada (não é possível buscar uma "parte" da célula) e tem um tamanho fixo (para cada máquina). 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 têm o mesmo tamanho, isto é, todas as células daquele computador terão o mesmo número de bits. Cada célula é identificada por um endereço único, pela qual é referenciada pelo sistema e pelos programas. As células são numeradas sequencialmente, uma a uma, de 0 a (N- 1), chamado o endereço da célula. Endereço: é o localização da célula, que permite identificar univocamente uma célula. Assim, cada célula pode ser identificada pelo seu endereço. Unidade de transferência é a quantidade de bits que é transferida da memória em uma única operação de leitura ou transferida para a memória em uma única operação de escrita. 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 frequentemente diferentes. OBS.: Uma célula não significa o mesmo que uma palavra; uma célula não necessariamente contém uma palavra. Palavra: é a unidade de processamento da UCP. Uma palavra deve representar um dado ou uma instrução, que poderia ser processada, armazenada ou transferida em uma única operação. No entanto, em geral não é assim que acontece e os computadores comerciais não seguem um padrão único para a organização da UCP e MP. Computadores comerciais (tais como por exemplo, os baseados nos processadores Intel 486) podem ter o tamanho da palavra definido como de 32 bits, porém sua estrutura de memória tem células de 16 bits. A estrutura da memória principal é um problema do projecto de hardware: 9 mais endereços com células menores ou 3 9 menos endereços com células maiores? 9 O tamanho mais comum de célula era 8 bits (1 byte); hoje já são comuns células contendo vários bytes. Número de bits para representar um endereço Expressão geral: MP com endereços de 0 a (N-1) sendo x = nº de bits para representar um endereço e N o número de endereços. Capacidade da Memória Principal A capacidade da MP em bits é igual ao produto do nº de células pelo total de bits por célula. T = N x M T = capacidade da memória em bits N = nº de endereços (como vimos anteriormente, N=2x sendo x = nº de bits do endereço) M = nº de bits de cada célula Para encontrar a capacidade em bytes, bastaria encontrar a capacidade em bits e depois multiplicar por 8 (cada byte contém 8 bits) ou então converter o tamanho da célula para bytes e depois multiplicar pelo número de células. O último endereço na memória é o endereço N-1 ( os endereços começam em zero e vão até N-1). 4 5 EXERCÍCIOS 1) Numa MP com 1 kbyte 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; 4) Uma memória de um computador 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 podem ser armazenados nesta memória e qual o tamanho de cada endereço? 5.Uma memória é 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 na memória? Operações com Memória Principal É possível realizar duas operações em uma memória: 9 escrita (“write”) – armazenar informação na memória; 9 leitura (“read”) – recuperar uma informação armazenada na memória. A operação de leitura não destrói o conteúdo da memória, ela apenas providencia a transferência de uma cópia do que está armazenado, enquanto a informação desejada continuar armazenada. Somente a operação de escrita é destrutiva. Vamos descrever, com um pouco mais de detalhe, como se acontece uma operação de leitura e uma escrita na MP de um sistema de computação. Portanto, há necessidade de se definir os elementos que compõem a estrutura UCP/MP e que são utilizados naquelas operações, veja Figura. Ou 6 Barramentos: de dados – bidirecional de endereços –unidirecional de controle - bidirecional Registrador de Dados da Memória (RDM)/ Memory Buffer Register (MBR) - registrador que armazena temporariamente a informação (conteúdo de uma ou mais células) que está sendo transferida da MP para a UCP (em uma operação de leitura) ou da UCP para a MP (em uma operação de escrita). Permite armazenar a mesma quantidade de bits do barramento de dados. Barramento de dados interliga o RDM à MP, para transferência de informações entre MP e a UCP (sejam instruções ou dados). É bidireccional, isto é, ora os sinais percorrem o barramento da UCP para a MP (operação de escrita), ora percorrem o caminho inverso (operação de leitura). 7 8 Registrador de Endereços da Memória (REM)/ Memory AddressRegister (MAR) registrador que armazena o endereço de acesso a uma posição de memória, ao se iniciar uma operação de leitura ou de escrita. Em seguida, o referido endereço é encaminhado à área de controle da MP para codificação e localização da célula desejada. Permite armazenar a mesma quantidade de bits do barramento de endereços. Barramento de Endereços interliga o REM à MP para transferência dos bits que representam um determinado endereço. É unidirecional, visto que somente a UCP aciona a MP para realização de operações de leitura e escrita. Possui tantos fios (ou linhas de transmissão) quantos são os bits que representam o valor do endereço. Barramento de controle interliga a UCP (Unidade de Controle) à MP para passagem de sinais de controle durante uma operação de leitura ou escrita. É bidirecional, porque a UCP pode enviar sinais de controle para a MP, como sinal indicador de que a operação é de leitura ou escrita e a MP pode enviar sinais do tipo WAIT (para a UCP se manter aguardando o término de uma operação). Para simplificar a descrição dos procedimentos e operações realizadas internamente em um sistema de computação vamos adoptar uma convenção genericamente conhecida como Linguagem de Transferência entre Registradores (LTR), Princípios básicos da LTR: Caracteres alfanuméricos significam abreviaturas de nomes de registradores ou posição de memória. EX: REM, MP, R1. b) Parênteses indicam conteúdo, no caso de registradores, ou que o valor entre parênteses é um endereço de MP. c) Uma seta indica atribuição, isto é, transferência de conteúdo de um registrador para outro ou para a MP ou vice-versa. EXEMPLO: (REM) (CI) (significa que o conteúdo do registrador cujo nome é CI é transferido para o registrador REM). (RDM) (MP(REM)) (significa que o conteúdo da célula da MP cujo o endereço está no REM é transferido para o RDM. Operações de leitura: A Figura 5.5 mostra um exemplo de operação de leitura de um dado armazenado no endereço 1324 da MP (o valor do dado é 5C) para a UCP. Os passos que descrevem a referida operação de leitura são: 1. (REM) (outro registrador) o endereço é colocado no barramento de endereços. 2. Sinal de leitura na barra de controle 3. (RDM) (MP(REM)) pelo barramento de dados 4. (outro registrador) (RDM) 9 No primeiro passo, a unidade de controle – UC da UCP inicia a operação de leitura através da transferência do endereço 1324, de um de seus registradores específicos para a REM e coloca o sinal de leitura (READ) no barramento de controle para indicar aos circuitos de controle da MP o que fazer em seguida. A MP decodifica o endereço recebido e transfere seu conteúdo para o RDM através do barramento de dados. Do RDM, então, a informação é transferida para o elemento da UCP destinatário final. Operações de escrita: A realização de uma operação de escrita segue o procedimento semelhante ao da operação de leitura, mas pelo sentido de transferência inverso, isto é, da UCP para a MP. A Figura 5.6 mostra um exemplo de operação de escrita de um dado, de valor igual a F7, da UCP para a MP, a ser armazenado no endereço 21C8. Os passos que descrevem a referida operação são: 1. (REM) (outro registrador) (a UCP coloca o endereço no REM de endereços) endereço é colocado no barramento de endereços. 2. (RDM) (outro registrador) (a UCP coloca no RDM o dado a ser transferido) 3. Sinal de escrita (a UCP aciona o sinal WRITE pelo barramento de controle) 4. (MP(REM)) (RDM) (o dado é transferido para a célula de memória pelo barramento de dados) 10 Nos primeiros passos a UC coloca o endereço desejado no REM e o dado a ser transferido no RDM. O endereço é colocado no barramento de endereço, o dado no barramento de dados e o sinal de escrita (WRITE) é acionado no barramento de controle. Como resultado da descodificação do endereço pelos dispositivos de controle da memória, o valor F7 é colocado na célula desejada, de endereço 21C8. Conforme explicado para a operação de leitura, a realização dos passos necessários à efectivação de uma operação de escrita gastas um tempo de acesso e a MP pode ou não estar preparada para imediatamente realizar nova operação. EXERCÍCIO: 6) Um computador, cuja a MP tem capacidade máxima de 2K palavras de 16 bits cada, possui um REM e um RDM. Qual o tamanho destes registradores; qual o valor 11 do maior endereço dessa MP e qual a quantidade total de bits que nela podem ser armazenados? ACESSO À MEMÓRIA PRINCIPAL O acesso à MP é ALEATÓRIO, portanto qualquer que seja o endereço (a posição) de memória que se queira acessar, o tempo de acesso é o mesmo (constante). Obs.: Embora a MP seja endereçada por célula, a UCP em geral acessa a MP por palavra. O endereçamento por célula dá maior flexibilidade de armazenamento, em compensação o número de acessos é em geral maior. FUNCIONAMENTO A MP pode ser acessada através de duas operações: ACESSO Tipo LER ou ESCREVER a) LEITURA: LER DA MEMÓRIA Significa requisitar à MP o conteúdo de uma determinada célula (recuperar uma informação). Esta operação de recuperação da informação armazenada na MP consiste na transferência de um conjunto de bits (cópia) da MP para a UCP e é não destrutiva, isto é, o conteúdo da célula não é alterado. SENTIDO: da MP para a UCP PASSOS EXECUTADOS PELO HARDWARE: a.1) a UCP armazena no REM o endereço onde a informação requerida está armazenada; a.2) a UCP comanda uma leitura; a.3) o conteúdo da posição identificada pelo endereço contido no REM é transferido para o RDM e fica disponível para a UCP. b) ESCRITA: ESCREVER NA MEMÓRIA 12 13 Significa escrever uma informação em uma célula da MP (armazenar uma informação). Esta operação de armazenamento da informação na MP consiste na transferência de um conjunto de bits da UCP para a MP e é destrutiva (isto significa que qualquer informação que estiver gravada naquela célula será sobregravada). SENTIDO: da UCP para a MP PASSOS EXECUTADOS PELO HARDWARE: b.1) a UCP armazena no REM o endereço de memória da informação a ser gravada e no RDM a própria informação; b.2) a UCP comanda uma operação de escrita; b.3) a informação armazenada no RDM é transferida para a posição de memória cujo endereço está contido no REM. Tipos de Memória Principal: Conforme já mencionamos diversas vezes a memória principal da maioria dos computadores atuais é fabricada com tecnologia de semicondutores. Tendo em vista as características desses elementos electrónicos, este tipo de dispositivo possui uma particularidade muito importante e única: o tempo de acesso a qualquer célula é igual, independente da localização física da célula. Em outras palavras, se o tempo de acesso de uma determinada memória de semicondutor é 70 ns, isto significa que este será o tempo para acessar a célula de endereço 0 (1a célula) ou para acessar a 20a célula. Qualquer que seja o endereço, aleatoriamente ou randomicamente escolhido, o tempo de acesso será o mesmo. Esse tipo de memória é denominado memória de acesso aleatório, sendo, no entanto, mais conhecida pela sigla de seu nome em Inglês: RAM - Random Access Memory. Memória RAM são normalmente utilizadas na implementação do espaço de endereçamento da MP dos computadores. No que se refere ao processo de fabricação e desempenho, há dois tipos de RAM no mercado: 14 memórias RAM Estáticas (Static RAM – SRAM) e memórias RAM Dinâmicas (Dynamic RAM – DRAM). A MP é a memória de trabalho da UCP, onde os programas (e seus dados) se sucedem em execução, uns após os outros. Além de a MP ter de permitir que um programa sejaarmazenado em seguida ao outro (isto significa que são realizadas sucessivas operações de escrita nas mesmas células) durante a execução normal de um programa, suas instruções são sucessivamente lidas pela UCP, que, por sua vez, também realiza operações de escrita sobre a MP, armazenando resultados das operações realizadas. Desta forma, a MP, utilizada para armazenamento dos programas e dados rotineiramente executados em um sistema de computação, deve ser do tipo leitura/escrita (R/W – Read/Write). Por outro lado, memórias de semicondutores são do tipo RAM, sendo usadas como MP dos computadores. Se uma memória é de acesso aleatório (RAM) para leitura, invariavelmente também o será para realizar ciclos de escrita. Assim, as memórias do tipo RAM, que permitem leitura/escrita, são usadas como MP e este termo – RAM – passou a ser tão comum com estas memórias que se confundem com o próprio nome da memória (comumente se usa no comércio e na indústria o termo RAM quando se refere à MP). Embora seja rápida e de acesso aleatório, a RAM possui algumas desvantagens, entre as quais a volatilidade. Por outro lado, as memórias R/W apresentam o inconveniente de permitindo que se escreva normalmente em suas células, ser possível a acidental eliminação do conteúdo de uma ou mais de suas células. Uma vez que o processador nada realiza sem as instruções, é óbvio que ele deve possuir uma certa quantidade de memória não volátil. Isto é, um local onde estejam permanentemente armazenadas instruções que automaticamente iniciam a operação e a inicialização do sistema, tão logo a alimentação elétrica seja ligada. Em microcomputadores costuma-se chamar de programa bootstrap ou simplesmente boot, alguns fabricantes chamam de IPL – Initial Program Load (Carregamento do Programa Inicial). Esse tipo de memória além de ter que ser não-volátil, também não deve permitir que haja eliminações acidentais. Trata-se de um programa que deve estar permanentemente armazenado e não sofrer alterações por parte de nenhum outro programa. Em outras palavras, memórias que armazenam este tipo de programa devem permitir apenas leitura. Chamam-se estas memória de ROM – Read Only Memory (memória somente para leitura) e elas devem ser não voláteis. No entanto, o tempo de acesso em memória ROM também é constante, independentemente da localização física da célula, logo elas também são memória RAM. Porém, o mercado caiu no engano de chamar de RAM apenas as memórias R/W, talvez para claramente diferença-las do outro tipo, ROM (somente para leitura), já que as siglas são bem parecidas. A Figura 5.7 apresenta a distribuição espacial das memórias R/W, RAM e ROM em um microcomputador, indicando o conceito correto e o conceito usado na prática pelo mercado. 15 16 Memórias dos Tipos ROM: � PROM - Programmable Read Only Memory ou memória apenas de leitura, programável. Esta memória é uma ROM programável (em condições e com máquinas adequadas, chamadas queimadores de PROM) e geralmente é comprada "virgem" (sem nada gravado), sendo muito utilizada no processo de testar programas no lugar da ROM, ou sempre que se queira produzir ROM em quantidades pequenas. Uma vez programada (em fábrica ou não), não pode mais ser alterada. EPROM - Erasable Programmable Read Only Memory ou memória apenas de leitura, programável (com queimadores de PROM) e apagável (com máquinas adequadas, à base de raios ultra-violeta). Esta memória é uma PROM apagável. Tem utilização semelhante à da PROM, para testar programas no lugar da ROM, ou sempre que se queira produzir ROM em quantidades pequenas, com a vantagem de poder ser apagada e reutilizada. EEPROM (ou E2PROM) - Electrically Erasable Programmable Read Only Memory ou memória apenas de leitura, programável e eletronicamente alterável. Também chamada EAROM (Electrically Alterable ROM). Esta memória é uma EPROM apagável por processo eletrônico, sob controle da UCP, com equipamento e programas adequados. É mais cara e é geralmente utilizada em dispositivos aos quais se deseja permitir a alteração, via modem, possibilitando a carga de novas versões de programas à distância ou então para possibilitar a reprogramação dinâmica de funções específicas de um determinado programa, geralmente relativo ao hardware (p.ex., a reconfiguração de teclado ou de modem, programação de um terminal, etc).
Compartilhar