Baixe o app para aproveitar ainda mais
Prévia do material em texto
6ºAula Organização da memória Vamos conhecer a organização de memória de um computador? Se ao final desta aula tiverem dúvidas, vocês poderão saná-las através das ferramentas “fórum” ou “quadro de avisos” e “chat”. Comecemos, então, analisando os objetivos e verificando as seções que serão desenvolvidas ao longo desta aula. Bom trabalho! Boa aula! Objetivos de aprendizagem Ao término desta unidade, o aluno será capaz de: 39 Introdução a Computação 38 Saber Mais Mecanismo de Gerência de Cache: é implementado em Hardware (faz parte do hardware). Mecanismo de Gerência de Memória Virtual: é suportado pelo Hardware, mas implementado pelo Software. Saber Mais Um tipo de memória muito utilizada é a memória RAM (Random Access Memory – Memória de Acesso Aleatório), onde programas e dados são armazenados e manipulados. É dividida em DRAM (dinâmica) e SRAM (estática). 1 2 - Tipos de memórias Seções de estudo 1 - Hierarquia de memória Em termos ideais, desejaríamos dispor de uma e que pudesse disponibilizar imediatamente o conteúdo de qualquer das suas palavras[...] Somos forçados a reconhecer a possibilidade de construir um sistema de memória estruturado hierarquicamente, no qual cada um dos componentes da hierarquia tenha mais capacidade de armazenamento e um tempo de acesso maior do que aqueles que o precedem. Design of an Eletronic Computing Instrument, 1946 (PATTERSON, 2005, pag.317). Os computadores atuais possuem uma memória principal rápida, mas cara (custo) e com pequena capacidade de armazenamento, diferentemente da memória secundária, com grande capacidade de armazenamento, um custo bem menor, mas extremamente lenta. O uso indiscriminado desses dois tipos de memória pode ocasionar um sistema extremamente caro ou insuportavelmente lento. Portando, um sistema de computação deve ser suprido de uma hierarquia de memória na qual as memórias mais rápidas (e, portanto mais caras e de menor capacidade de armazenamento) estejam mais próximas do processador. Essas memórias de alta velocidade contêm os dados e instruções que o processador precisa a cada momento. As memórias mais lentas, com grande capacidade de armazenamento, podem ser usadas para guardar os dados e instruções que não estão sendo necessários naquele momento preciso de operação (WEBER, 2000). O objetivo que se deseja alcançar ao dividir em uma hierarquia é ter um sistema de memória com desempenho (velocidade) próximo ao da memória mais rápida e custo por bit próximo ao da memória de menor custo (WEBER, 2000). Na figura a seguir é demonstrada uma hierarquia de memória. Fonte: elaborado pelo autor, baseado em: http://www.di.ufpb.br/raimundo/ Hierarquia/Hierarquia.html. Acesso em 20 ago. 2013. Capacidade elevada Custo alto Velocidade alta Registradores Memória cache SDRAM Memória pricipal DRAM Memória secundária HD, DVD, CD, pendrive, etc. Em função de características como tempo de acesso, capacidade de armazenamento, custo, etc., pode ser estabelecida 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. Cache KB Alta Alto UCP Volátil Mem. Prin- cipal MB/GB Média Médio Placa Volátil Mem. GB Não Volátil * Volátil depende de energia para manter os dados armazenados. Fonte: elaborado pelo autor. A UCP vê nesta ordem e acessa primeiro a que está mais próxima. Subindo na hierarquia, quanto mais próximo da UCP, maior velocidade, maior custo, porém menor capacidade de armazenamento. Entre as tecnologias de memória utilizadas na hierarquia de memória temos a memória principal, que é implementada a partir da memória DRAM (memória dinâmica de acesso randômico), enquanto que os níveis mais próximos do processador utilizam a memória SRAM (memória estática de acesso randômico). A memória principal (DRAM) é mais lenta que os registradores e a memória cache (SRAM). Os registradores e memória cache são utilizadas pela CPU na execução das instruções de baixo nível, conhecida como linguagem de máquina. Para o processador executar as instruções, dados e instruções são armazenadas na memória DRAM (principal). Dados e instruções são mantidas na DRAM para que o processador acesse com mais rapidez. Se o processador não encontrar o que necessita na DRAM terá que buscar processamento mais lento. Gerenciadores de Memórias Para que o processador disponha a cada momento da informação necessária, o sistema deve ser suprido de mecanismo que mantenham, nas memórias mais rápidas, os dados e instruções certos, nos instantes de tempo apropriados, trazendo-os das memórias mais lentas e atualizando-os quando necessário. Esse mecanismo é conhecido como Gerenciadores de Memórias (WEBER, 2000). 40 39 O gerenciador de memória tem como função monitorar quais partes da memória está em uso e quais estão disponíveis, alocar e liberar memória para os processos, gerenciar a troca de processos entre memória principal e secundária, pois a memória principal não é capaz de armazenar todos os processos. Processador Registrador Cache M.Principal M.Secundária Controle e gerência da Cache Fonte: elaborado pelo autor. 2 - Tipos de memórias A memória física (RAM, cache, vídeo, ROM) é fabricada com diversas tecnologias diferentes, apresentando funcionalidades distintas. Grande parte da memória encontrada em um computador pessoal é memória RAM (Random Access Memory – Memória de Acesso Aleatório), onde programas e dados são armazenados e manipulados. A memória RAM permite ao processador tanto a leitura quanto a escrita (leitura/Gravação) dos dados. É volátil, perde os dados quando é desligada, necessitando de energia para manter os dados armazenados. Para manter a informação mesmo na ausência de energia, utiliza memória ROM (Read Only Memory – Memória somente para a leitura) e suas variações: PROM, EPROM, EAROM, Flash ROM. A memória ROM contém o programa que é executado toda vez que um PC é ligado ou reinicializado e também um grande número de rotinas do BIOS (WEBER, 2000). - PROM (Programmable Read Only emory) - um dos primeiros tipos de memória ROM. A gravação é realizada utilizando um equipamento especial de programação chamado programador de PROM. Os dados gravados na memória - EPROM (Electrically Programmable Read Only emory) - Esse tipo de memória possui uma janela transparente na qual é possível fazer incidir luz ultravioleta para apagar os dados. Essa memória é usada para armazenar a BIOS do computador. - EAROM (Electrically lterable Read Only emory) - são similares às memórias EPROM. O conteúdo deste tipo de memória pode ser apagado aplicando-se uma voltagem Atualmente, a memória FlashROM substituiu a EPROM na BIOS do computador. A FlashROM é um chip de memória que permite a atualização através de softwares apropriados, sendo mais fácil apagar e reprogramar, não sendo necessário remover a memória do circuito para expô-la a luz ultravioleta, como ocorre com a EPROM. Memória FlashROM. Fonte: http://www.clubedohardware.com.br/dicionario/ termo/355. Acesso em 18 nov. 2013. Em um chip de memória DRAM, cada bit é formado pelo conjunto de um transístor e um capacitor. A função do transístor é controlar a passagem da corrente elétrica, enquanto o capacitor a armazena por um curto período. Se o capacitor estiver com o bit 1 é porque contém um impulso elétrico, se estive com um bit 0 é que está descarregado. Os capacitores conservam o impulso elétrico por apenas uma fração de segundo. Para não haver perda dos dados, foi inserido na placa mãe um circuito conhecido como refresh, que faz a regravação da memória várias vezes por segundo. Esse processo além de consumir energia (e gerar calor), deixa o acesso à memória mais lento. O processador possui duas frequências de operação: uma interna, que é utilizada internamente pelo processador para executar as instruções, e uma externa, usada peloprocessador para acessar os dispositivos externos, especialmente a memória DRAM. O ideal em um sistema de computação é que a memória DRAM alcançasse o desempenho do processador, mas é pouco provável que ocorra, pois atualmente, com os a memória DRAM ainda processa a uma frequência bem abaixo. O baixo desempenho da memória DRAM é um dos principais motivos pelos quais os computadores não alcançam todo o seu poder computacional. A memoria DRAM é bem mais lenta que o processador, que necessita dos dados que vem da DRAM. Muitas vezes o processador fica ocioso esperando a lenta memória DRAM concluir o seu trabalho para então receber um determinado dado. As memórias DDR (double data rate ou duplo fluxo de dados) são capazes de realizarem duas transferências por ciclo, ou seja, realiza uma transferência no início do ciclo de clock e outra no final do ciclo, pois contém em seus chips de memória circuitos adicionais responsáveis por gerar comandos de acesso e receber dados de leitura duas vezes por ciclo de clock. Internamente as memórias DDR são divididas em bancos, onde contem os endereços de memória disponíveis. Os bancos são divididos em linhas e colunas. A junção de 41 Introdução a Computação 40 endereçamento de banco, linha e coluna, é a localização dos dados na memória. No banco de memória, em um determinado tempo, somente uma linha é ativada, mas sendo em endereços diferentes, não impede que haja acesso simultâneo na memória. transferências por ciclo, tem desempenho de memórias de Memórias DDR2 As memórias DDR2 realizam o dobro de transferência da DDR, ou seja, realizam quatro transferências por ciclo enquanto a DDR realiza duas. Na memória DDR2, as células de memória trabalham na mesma frequência da DDR, mas o que difere são os circuitos de entrada e saída, que realiza a leitura dos dados, operando o dobro da frequência da memoria DDR. Quando é realizada uma leitura, o controlador de memória emite quatro sinais diferentes, ativando a leitura de quatro endereços adjacentes. Essas leituras são realizadas simultaneamente. Os dados então são entregues ao buffer, uma memória pequena e rápida, encarregado de enviar para o barramento principal. Os pentes de memória DDR e DDR2 são bem parecidos, possuem o mesmo tamanho. O que diferem são as quantidades de terminais (contatos), onde a DDR possui 184 terminais e a DDR2 240 terminais. Outra diferença é o chanfro, uma pequena abertura localizada entre os terminais, posicionada em locais diferentes das DDR e DDR2 conforme demonstra a figura abaixo. O uso do chanfro é para impedir que módulos de diferentes tecnologias sejam utilizados em placas incompatíveis. Memória DDR2 acima e DDR abaixo Fonte: http://www.infowester.com/memddr2.php. Acessado em: 21 nov. 2013 As memórias DDR3 realizam 8 acessos por ciclo, contra os 4 acessos por ciclo das memórias DDR2. O controlador de memória emite oito sinais diferentes, ativando a leitura de oito endereços adjacentes e as leituras realizadas simultaneamente. Curiosidade Como realizam 8 acessos por ciclo, teoricamente processa a 1.600 Os módulos DDR2 e DDR3 utilizam o mesmo formato e mesma quantidade de terminais (contatos), ou seja, 240 terminais. O que difere é a posição do chanfro conforme demonstra a figura a seguir. Posicionamento do chanfro. Fonte: http://midiaseinformatica.blogspot.com. br/2013/08/reconhecendo-memorias-ddr.html. Acesso em: 25 nov. 2013 Comparativo: memórias DDR3, DDR2 e DDR Fonte: http://www.infowester.com/memddr3.php. Acesso em: 25 nov. 2013. Segundo Vasconcelos (1999) “a memória cache é for¬mada por uma pequena quantidade de SRAM, usada para acelerar uma grande quantidade de DRAM”. A memória cache hierarquicamente está situada entre o registrador e a memória DRAM, localizada no chip do processador, é formada por uma pequena quantidade de memória SRAM. Quando o processador necessita de dados, primeiramente é buscada na memória cache, que é bem mais rápida. Caso não encontre, o controlador de Cache irá buscar e transferir os dados da DRAM para a memória cache. A figura abaixo ilustra a posição da memória cache que fica localizada entre a entre o processador e a memória DRAM. Localização da memória cache. Fonte: (VASCONCELOS, 1999). 42 41 Retomando a aula Vamos recordar o aprendizado desta aula. As memórias SRAM são mais rápidas que a DRAM, volátil, não necessita de refresh, retendo as informações quando ligada e consumindo pouca energia. Seria perfeitamente possível construir um PC que usasse memória SRAM como memória principal, mas o custo seria proibitivo. Foi devido ao custo que as memórias DRAM passaram a ser mais utilizadas. O processador vê a memória DRAM como uma espécie de mesa de trabalho, ou seja, tudo que estiver aberto sejam programas ou arquivos é armazenado na memória DRAM. É necessário ter memória suficiente, caso contrário, o processador não será capaz de abrir mais programas ou arquivos. Em muitas situações, ter uma boa quantidade de memória DRAM instalada é mais importante do que o próprio desempenho do processador. Os sistemas operacionais atuais, como o Windows e Linux, utilizam a Memória Virtual (também chamada de memória Swap, arquivo de troca, Swap file, etc.), um recurso que permite aos programas ou arquivos serem abertos mesmo depois da memória DRAM estar sem espaço de armazenamento. A memória virtual utilizada no Windows é armazenada em um arquivo no disco rígido, ou no Linux, em uma partição dedicada. A eficiência com que ela é usada depende do sistema operacional, permitindo que o sistema continue funcionando, mesmo com pouca memória disponível. Quando não há mais espaço na memória DRAM, o Sistema Operacional move o conteúdo da memória DRAM que não esta sendo utilizada para o disco rígido, conseguindo liberar espaço para novos dados e instruções que serão processados. Quando é necessário executar um programa, mas sem espaço suficiente para alocá-lo totalmente na memória, parte do código é enviada para a DRAM e o restante fica armazenado no disco rígido esperando ser utilizado. Caso seja necessário o retorno dos dados enviados ao disco rígido, os dados serão carregados na memória DRAM (procedimento de troca de memória, ou swap). Sistema Operacional Espaço do usuário Armazenamento secundário Swap out Transferência para armazenamento secundário (HD) Memória DRAM Bloco 1 Swap in Transferência para Memória DRAM Troca de dados entre Memória DRAM e Armazenamento secundário (Disco Rígido). Fonte: (SILBERSCHATZ; GALVIN; GAGNE, 2008). Com pouca Memória DRAM será necessário usar muita Memória Virtual, e ao acessar dados na Memória Virtual, o desempenho fica limitado a performance do Disco Rígido. ainda é bem mais lento que a memória mais lenta encontrada no mercado. Nos sistemas atuais, com memória DRAM acima de 8 GB e não utilizando programas de editoração ou manipulação de gráficos em alta resolução, muitos dados serão copiado para a DRAM e o disco rígido irá fazer sua função básica, que é armazenar dados, não sendo utilizado constantemente para operações de leitura e escrita. A figura a seguir demonstra a estrutura de memória utilizando a memória virtual. Registradores Memória SRAM Memória DRAM Memória Secundária Memória Virtual Fonte: elaborado pelo autor. Registradores Conforme descrito na Aula 05, registradores são pequenos elementos de armazenamento temporário, rápidos, localizados na UCP, estando no topo da hierarquia de memória. A necessidade em utilizar esse tipo de armazenamento foi armazenar dados intermediários durante um processamento. 1 - Hierarquia de memória Nesta seção você conheceu a hierarquia de memória, onde as memórias, mais rápidas estão perto do processador, mas com pouca capacidade de armazenamento e alto custo. E também o gerenciador de memória, que tem a função de monitorar quais partes da memória está em uso e quais estão disponíveis, alocar e liberar memóriapara os processos, gerenciar a troca de processos entre memória principal e secundária. Nesta seção foi descrito sobre os tipos de memórias existentes em um sistema de computação, como as memórias DRAM (e os tipos de memória DDR), as SRAM utilizadas na memória cache, memória virtual e registradores, além dos tipos de memórias ROM. Organização e Projeto de Computadores: Software. 3ª ed. Rio de Janeiro: Campus/Elsevior, 2005. Vale a pena Vale a pena ler 43 Introdução a Computação 42 VASCONCELOS, Laércio. Como fazer expansões de hardware em seu PC. WEBER, Raul Fernando. Arquitetura de Computadores Pessoais. 2º ed. Porto Alegre: Editora Sagra Luzzatto, 2000. WEBER, Raul Fernando. Fundamentos de Arquitetura de Computadores. 2º ed. Porto Alegre: Editora Sagra Luzzatto, 2001. VASCONCELOS, Laércio. Teoria de microprocessadores. Disponível em: <http://www.laercio.com.br/artigos/ hardware/hard-009/hard-009.htm>. Acesso em: 19 nov. 2013. Especial Memória RAM. Disponível em: <http://e.cdn-hardware.com.br/static/ . Acesso em: 20 nov. 2013. Sistemas operacionais com Java. 7ª ed. Revista e atualizada. Rio de Janeiro: Elsevier, 2008. Vale a pena acessar Lembre-se de fazer as atividades referentes a esta aula. Minhas anotações 44
Compartilhar