Prévia do material em texto
<p>UNIVERSIDADE FEDERAL DO CEARÁ – CAMPUS SOBRAL</p><p>CURSO DE ENGENHARIA ELÉTRICA / DE COMPUTAÇÃO</p><p>DISCIPLINA: ELETRÔNICA DIGITAL</p><p>PROFESSOR: RÔMULO NUNES DE CARVALHO ALMEIDA</p><p>PRÁTICA Nº 9</p><p>MEMÓRIAS</p><p>ALUNO</p><p>MATRÍCULA</p><p>Léo Matias Araújo 470785</p><p>Sobral – CE</p><p>2023.1</p><p>SUMÁRIO</p><p>1. INTRODUÇÃO...................................................................................................... 3</p><p>2. OBJETIVOS........................................................................................................... 5</p><p>3. MATERIAL UTILIZADO .................................................................................... 5</p><p>4. PROCEDIMENTO EXPERIMENTAL ................................................................ 6</p><p>5. QUESTIONÁRIO................................................................................................... 14</p><p>6. CONCLUSÃO........................................................................................................ 17</p><p>7. REFERÊNCIAS BIBLIOGRÁFICAS ................................................................... 18</p><p>3</p><p>1. INTRODUÇÃO</p><p>Os sistemas digitais modernos requerem uma grande capacidade de</p><p>armazenamento e acesso rápido a vastas quantidades de informações. Embora discos e</p><p>fitas sejam meios de armazenamento, eles são considerados lentos devido à presença de</p><p>componentes mecânicos. As memórias semicondutoras, presentes em circuitos integrados</p><p>ou como dispositivos independentes, são amplamente utilizadas como memórias</p><p>principais em sistemas de todos os tamanhos, com capacidades de vários mbytes. O</p><p>objetivo é manter o custo por bit baixo, buscando alta densidade, baixo consumo de</p><p>energia e operação rápida.</p><p>Em termos gerais, a capacidade de armazenamento é medida em bits, pois cada</p><p>bit é armazenado individualmente em um flip-flop ou outro tipo de registrador. Um byte</p><p>(8 ou 9 bits) ou um grupo de bytes, chamado de palavra, é armazenado em uma posição</p><p>específica identificada por um endereço. Uma característica importante dos sistemas de</p><p>memória é que durante cada ciclo de operação de memória, apenas uma palavra é</p><p>acessada em um único endereço.</p><p>As memórias semicondutoras comerciais ou utilizadas em circuitos dedicados</p><p>podem ser divididas em dois grupos principais: as RAM (memórias de acesso aleatório)</p><p>e as ROM (memórias apenas de leitura). Nas RAM, os dados podem ser lidos ou escritos</p><p>em qualquer ordem durante o mesmo tempo, enquanto as ROM são de leitura somente.</p><p>Na prática, as memórias ROM também possuem acesso aleatório, mas o termo RAM foi</p><p>adotado para diferenciá-las das memórias dependentes do tempo, como fitas e discos.</p><p>As memórias RAM são chamadas de memórias de acesso aleatório porque os</p><p>endereços de memória podem ser acessados em qualquer ordem, tanto para leitura quanto</p><p>para escrita, e no mesmo tempo. O núcleo de armazenamento de uma RAM é composto</p><p>por células organizadas em colunas e linhas, permitindo o compartilhamento de conexões.</p><p>As linhas horizontais, conhecidas como linhas de palavra, são controladas externamente</p><p>ao núcleo, enquanto as linhas verticais, chamadas de linhas de bit, são os caminhos pelos</p><p>quais os sinais armazenados são transmitidos. Para ler ou escrever em uma célula</p><p>específica, uma coluna e uma linha são selecionadas.</p><p>A DRAM, ou RAM dinâmica, é um dos tipos mais simples de memória RAM,</p><p>onde cada bit consiste basicamente em um capacitor e um transistor, sendo que a carga</p><p>do capacitor determina seu nível lógico. Graças a essa simplicidade, esta memória permite</p><p>a construção de chips com elevada densidade, sendo muito empregadas em</p><p>4</p><p>computadores, para o armazenamento de programas em execução e dados sendo tratados.</p><p>Porém, como o capacitor eventualmente perde sua carga após algum tempo, é necessário</p><p>fazer o refresh da memória constantemente, isto é, recarregar os capacitores que devem</p><p>estar carregados. Por essa razão, estas memórias recebem o nome de RAM dinâmica. Em</p><p>geral as memórias já possuem internamente um circuito adequado para realizar esta</p><p>recarga, a partir de um sinal temporizado gerado pelo processador.</p><p>A SRAM, ou RAM estática é o tipo mais convencional de memória RAM. Cada</p><p>bit da memória consiste em um flip-flop D, e por essa razão seu estado não é mantido na</p><p>ausência de alimentação, embora a denominação Static possa dar esta impressão. Na</p><p>realidade, essa denominação vem do fato de que esta memória não necessita de ciclo de</p><p>refresh para manter seu conteúdo. Porém, como cada bit é construtivamente mais</p><p>complexo do que na memória DRAM, as densidades conseguidas com este tipo de</p><p>memória são menores.</p><p>Também há o tipo NVSRAM, ou RAM estática não-volátil, que consiste</p><p>basicamente de memórias SRAM com uma bateria integrada, que mantém o conteúdo da</p><p>memória na ausência de alimentação. A figura 1 mostra uma representação gráfica da</p><p>rede de armazenamento (core) de uma memória RAM.</p><p>Figura 1 – Core de uma memória RAM.</p><p>Fonte:</p><p>https://edisciplinas.usp.br/pluginfile.php/3397135/mod_resource/content/1/MEMORIAS_versao_3451.pd</p><p>f</p><p>5</p><p>2. OBJETIVOS DA PRÁTICA</p><p> Montar um circuito com uma memória RAM, executando escrita e leitura;</p><p> Estudar e discutir as principais características deste tipo de circuito.</p><p>3. MATERIAL UTILIZADO</p><p> Protolab Bastidor LEG2000;</p><p> Módulo MED40 – Memória RAM;</p><p> Cabos banana;</p><p>6</p><p>4. PROCEDIMENTO EXPERIMENTAL</p><p>O procedimento experimental consistiu em fazer a alimentação de um circuito</p><p>digital integrado contendo uma memória RAM, logo em seguido aplicando a execução</p><p>de escrita e leitura de dados. Toda memória randômica apresenta 3 tipos de barramento</p><p>(endereço, dados e controle). O barramento de dados é bidirecional, em memórias que</p><p>podem ser gravadas, sendo que sinais de controle apropriados determinam se a memória</p><p>deve fornecer o dado no barramento, ou deve gravar o dado presente neste barramento</p><p>em seu interior.</p><p>Este barramento pode ter tamanhos diferentes, sendo que os tamanhos mais</p><p>freqüentes são de 1, 8, 16 ou 32 bits. O barramento de endereços, como o nome sugere,</p><p>indica qual posição de memória está sendo acessada. O seu tamanho é função da</p><p>capacidade da memória. Por exemplo, uma memória de 32K x 8 (32 kilobytes) deverá ter</p><p>15 bits de endereços, pois 215 = 32768, ou 32KB.</p><p>O barramento de controle determina que operações devem ser realizadas. Em</p><p>geral, neste barramento, encontramos os sinais 𝐶𝑆̅̅̅̅ ̅̅̅̅ ̅̅̅̅ ̅̅̅̅ (Chip Select, que, em nível lógico zero,</p><p>habilita o chip), 𝑂𝐸̅̅̅̅ ̅̅̅̅ ̅̅̅̅ ̅̅̅̅ (Output Enable, que, em nível lógico 0, determina que a memória</p><p>deve fornecer dados ao barramento de dados, e não o contrário) e 𝑊̅̅̅̅ 𝑅 (Write-Read, que,</p><p>em nível lógico 0, determina que a memória deve armazenar o dado presente no</p><p>barramento). O circuito integrado à placa digital utilizada no procedimento experimental</p><p>é o C.I. 62256, equivalente à memória RAM de 32 Kb. A figura 2 apresenta uma visão</p><p>gráfica do circuito integrado e suas pinagens correspondentes, juntamente com uma lista</p><p>de alguns fabricantes do componente:</p><p>7</p><p>Figura 2– Circuito digital integrado 62256</p><p>Fonte: upgrade.kongju.ac.kr/data/memory/2114.html</p><p>Utilizando cabos do tipo banana, foram realizadas as ligações no bastidor</p><p>Protolab, conforme o guia prático apresentou, para começar a etapa de gravação de dados</p><p>na memória.</p><p>Figura 3 – Bastidor Protolab LEG2000 – Gravação de dados na memória.</p><p>8</p><p>Fonte: Guia de roteiro da prática.</p><p>É notório que foi disposto apenas 8 geradores de níveis lógicos, sendo que quatro</p><p>deles foram ligados aos bits menos significativos do barramento de endereços, e os outros</p><p>quatro foram ligados aos bits menos significativos do barramento de dados.</p><p>Nesta configuração, são acessados os 15 primeiros endereçamentos, cada um</p><p>contendo 4 bits. Como a escrita pôde ser realizada com dados de até 4 bits, foi possível</p><p>usufruir de 16 valores binários (0-F em numeração hexadecimal).</p><p>Inicialmente, para a gravação de dados, foi mantido o sinal de "OE̅̅̅̅ " (Output</p><p>Enable) em nível alto. Esse sinal controla a habilitação da saída da memória, garantindo</p><p>que os dados não sejam lidos durante o processo de gravação. Em seguida, foi escolhido</p><p>o endereço específico onde desejou-se gravar os dados na memória. O endereço é uma</p><p>localização única na memória que identifica a posição onde os dados serão armazenados.</p><p>Definido o dado para ser gravado na memória, atribuindo um valor específico aos</p><p>bits de dados que foram armazenados na posição de endereço selecionada, colocamos o</p><p>sinal "CS̅̅̅̅ " (Chip Select) em nível baixo. Esse sinal é utilizado para selecionar o chip de</p><p>memória específico quando vários dispositivos estão conectados em um barramento de</p><p>dados. Ao colocar o sinal "CS̅̅̅̅ " em nível baixo, o aplicador está indicando que a memória</p><p>escolhida está pronta para receber os dados de gravação.</p><p>Colocou-se o sinal "WR̅̅̅̅ " (Write) em nível baixo. Esse sinal indica que o processo</p><p>de gravação está prestes a ocorrer. Ao colocar o sinal "WR̅̅̅̅ " em nível baixo, o usuário</p><p>informa à memória que deseja escrever os dados definidos anteriormente no endereço</p><p>selecionado. Após um curto período de tempo, para garantir que os dados tenham sido</p><p>gravados corretamente, retornou-se os sinais "CS̅̅̅̅ " e "WR̅̅̅̅ " para nível alto. Isso indica que</p><p>9</p><p>a operação de gravação foi concluída com sucesso. Atentou-se para o aviso importante</p><p>do guia prático, tomando cuidado para não colocar OE̅̅̅̅ e CS̅̅̅̅ em nível lógico baixo quando</p><p>o barramento estava operando como saída. Abaixo é possível conferir uma imagem que</p><p>mostra a visão real do circuito alimentado em um modo de escritura de dados.</p><p>Figura 4 – Escrita de dados na memória.</p><p>Fonte: Autor</p><p>Conforme o diagrama abordado na figura 5, o dado deve permanecer válido</p><p>durante as bordas de subida de WR e CS. Para evitar erros de gravação, o dado foi mantido</p><p>estático durante todo o ciclo de gravação (que se inicia com CS transitando para 0, e</p><p>termina com CS e WR retornando a nível 1).</p><p>Figura 5 – Ocorrência de operação de escritura de dados.</p><p>Fonte: Guia de roteiro da prática.</p><p>10</p><p>Para a leitura dos dados gravados ser efetuada, o barramento de dados teve que</p><p>ser ligado aos indicadores de nível lógico como mostrado na figura 5, a seguir. Foi</p><p>necessário que as ligações fossem feitas com o painel ligado para que a memória não</p><p>perdesse o conteúdo gravado. Antes de serem realizadas, foi certificado de que 𝐶𝑆 ̅̅̅̅ ̅̅̅̅ ̅̅̅̅ ̅̅̅̅ e 𝑊 ̅̅̅̅ 𝑅</p><p>estivessem em nível lógico alto, a fim de evitar gravações acidentais.</p><p>Figura 6 – Bastidor Protolab LEG2000 – Leitura de dados na memória.</p><p>Fonte: Guia de roteiro da prática.</p><p>Para o procedimento de leitura de dados, manteve-se o sinal "WR̅̅̅̅ " (Write) em</p><p>nível alto. Esse sinal indica que o processo de escrita não será realizado e que a memória</p><p>está pronta para realizar a leitura dos dados. Manteve-se também os sinais "CS̅̅̅̅ " (Chip</p><p>Select) e "OE̅̅̅̅ " (Output Enable) em nível baixo. O sinal "CS̅̅̅̅ " é utilizado para selecionar</p><p>o chip de memória específico quando múltiplos dispositivos estão conectados em um</p><p>barramento de dados, e ao mantê-lo em nível baixo, isso indica que a memória escolhida</p><p>está pronta para ser lida. O sinal "OE̅̅̅̅ " é responsável por habilitar a saída da memória,</p><p>permitindo que os dados sejam lidos.</p><p>Foi escolhido o endereço específico que desejou-se ler na memória. Com os sinais</p><p>corretamente configurados e o endereço selecionado, tudo ficou pronto para ler os dados</p><p>armazenados na memória. Ao acessar o endereço especificado, a memória irá fornecer os</p><p>dados armazenados para serem lidos. O diagrama abaixo demonstra a pulsação de um</p><p>ciclo de leitura de dados.</p><p>11</p><p>Figura 7 – Ocorrência de pulsos de uma operação de leitura.</p><p>Fonte:</p><p>https://edisciplinas.usp.br/pluginfile.php/3397135/mod_resource/content/1/MEMORIAS_versao_3451.pd</p><p>f</p><p>Na figura 8, podemos verificar a visão real e geral da placa montada e alimentada</p><p>no modo de leitura de dados. A Tabela 1 mostra um registro dos dados endereçados e</p><p>gravados, preenchidos com seus respectivos valores:</p><p>Figura 8 – Leitura de dados na memória.</p><p>Fonte: Autor</p><p>12</p><p>Tabela 1 – Endereços e dados gravados na memória.</p><p>ENDEREÇO DADO GRAVADO</p><p>BINÁRIO HEXADECIMAL BINÁRIO HEXADECIMAL</p><p>0000 0 0000 0</p><p>0001 1 1011 B</p><p>0010 2 1110 E</p><p>0011 3 1101 D</p><p>0100 4 1110 E</p><p>0101 5 1100 C</p><p>0110 6 1010 A</p><p>0111 7 0000 0</p><p>1000 8 0101 5</p><p>1001 9 1101 D</p><p>1010 A 1010 A</p><p>1011 B 1101 D</p><p>1100 C 0000 0</p><p>1101 D 0101 5</p><p>1110 E 0000 0</p><p>1111 F --- ---</p><p>Fonte: Autor</p><p>Como pode ser visto conforme o preenchimento da tabela, a mensagem gravada</p><p>na bancada foi 0BEDECA05DAD050 (“Obedeça os dados!”). A terceira etapa da prática</p><p>foi a realização de troca entre as bancadas, com o objetivo de cada equipe realizar a leitura</p><p>da mensagem armazenada pela outra. Foi importante manter o painel ligado para este</p><p>processo, a fim de que os dados não se perdessem na memória. A tabela 2 mostra o</p><p>resultado da leitura dos dados gravados pela equipe vizinha de laboratório.</p><p>13</p><p>Tabela 2 – Endereços e dados gravados da equipe vizinha.</p><p>ENDEREÇO DADO GRAVADO</p><p>BINÁRIO HEXADECIMAL BINÁRIO HEXADECIMAL</p><p>0000 0 1100 C</p><p>0001 1 1010 A</p><p>0010 2 0101 5</p><p>0011 3 1010 A</p><p>0100 4 1101 D</p><p>0101 5 0000 0</p><p>0110 6 0101 5</p><p>0111 7 0101 5</p><p>1000 8 0000 0</p><p>1001 9 1100 C</p><p>1010 A 1010 A</p><p>1011 B 1111 F</p><p>1100 C 0000 0</p><p>1101 D 1111 F</p><p>1110 E 0000 0</p><p>1111 F --- ---</p><p>Fonte: Autor</p><p>Com todas estas etapas concluídas, o último passo do procedimento experimental</p><p>foi desligar o bastidor didático e mantê-lo desligado por uns 15 segundos. Em seguida, o</p><p>bastidor foi ligado novamente e a leitura de dados foi realizada mais uma vez. Foi possível</p><p>notar que os dados não se preservaram, e a memória foi lendo dados desconexos e fora</p><p>da ordem estabelecida na gravação. Isso acontece pois a memória RAM n��o é capaz de</p><p>reter as informações enquanto ela não está alimentada, e o que ocorreu foi uma leitura de</p><p>dados descartados para a lixeira interna da memória.</p><p>14</p><p>5. QUESTIONÁRIO</p><p>5.1) Implemente em casa a simulação utilizando o Proteus de um sistema de</p><p>escrita e leitura de um chip de memória RAM. Repita o processo de gravação</p><p>e leitura dos dados que você obteve em laboratório.</p><p>A fim de exemplificar as simulações no Proteus, seguem abaixo algumas figuras</p><p>que demonstram o processo de gravação de dado e leitura de dado na memória</p><p>simulada.</p><p>Figura 9.1 – Estado de memória limpa (aguardando informação a ser gravada).</p><p>Fonte: Autor</p><p>Figura 9.2 – Estado de escrita de dados.</p><p>Fonte: Autor</p><p>15</p><p>Na figura acima, a informação equivalente a 1111 em binário ou F em</p><p>hexadecimal, é escrita e gravada dentro da memória, ocupando o barramento de</p><p>endereço no endereçamento inicial equivalente a 0000.</p><p>Figura 9.3 – Desocupação do barramento de dados</p><p>Fonte:Autor</p><p>Neste momento, após a estabilização de dados, o dispositivo desocupou o</p><p>barramento de dados, deixando o item pronto para a leitura do dado.</p><p>Figura 9.4 – Leitura do dado gravado.</p><p>Fonte: Autor</p><p>16</p><p>Conforme pode ser verificado na figura acima, os pinos D0, D1, D2 e D3 em nível</p><p>lógico alto mostram que a leitura ocorreu de forma correta, representando o dado</p><p>que foi gravado.</p><p>17</p><p>6. CONCLUSÃO</p><p>Em conclusão, as memórias RAM desempenham um papel crucial em sistemas</p><p>computacionais, permitindo o armazenamento temporário e o acesso rápido aos dados. A</p><p>gravação de dados em memória RAM envolve etapas precisas, como manter os sinais</p><p>corretamente configurados, escolher o endereço apropriado e definir os dados a serem</p><p>gravados. É essencial garantir que os sinais de controle, como "CS̅̅̅̅ " e "WR̅̅̅̅ ", estejam</p><p>corretamente configurados para evitar gravações acidentais e manter o dado estático</p><p>durante todo o ciclo de gravação.</p><p>Da mesma forma, a leitura de dados em memória RAM requer a configuração</p><p>adequada dos sinais, como "WR̅̅̅̅ ", "CS̅̅̅̅ " e "OE̅̅̅̅ ". Ao manter esses sinais corretamente</p><p>configurados e selecionar o endereço desejado, podemos acessar os dados armazenados</p><p>na memória RAM. A leitura de dados permite recuperar informações previamente</p><p>gravadas e utilizá-las para diversos fins, como processamento, exibição ou manipulação.</p><p>É importante observar que, tanto na gravação quanto na leitura de dados em</p><p>memória RAM, é necessário consultar as especificações técnicas da memória utilizada, a</p><p>fim de garantir o correto funcionamento e evitar erros ou perda de dados. O conhecimento</p><p>e o entendimento das etapas envolvidas nesses processos são fundamentais para a</p><p>eficiência e confiabilidade do armazenamento e acesso aos dados na memória RAM.</p><p>Em resumo, as memórias RAM desempenham um papel essencial em sistemas</p><p>computacionais, permitindo o armazenamento temporário e o acesso rápido aos dados. A</p><p>gravação e a leitura de dados nessa memória requerem procedimentos específicos e a</p><p>configuração correta dos sinais de controle. Compreender esses processos contribui para</p><p>o uso adequado e eficiente da memória RAM em diversas aplicações computacionais.</p><p>18</p><p>7. REFERÊNCIAS BIBLIOGRÁFICAS</p><p>[1] WANG, J.; CHAU. MEMÓRIAS SEMICONDUTORAS. [s.l: s.n.]. Disponível</p><p>em:</p><p><https://edisciplinas.usp.br/pluginfile.php/3397135/mod_resource/content/1/MEMORI</p><p>AS_versao_3451.pdf>. Acesso em: 08 jul. 2023.</p><p>[2] MEMÓRIAS 2 Definições. [s.l: s.n.]. Disponível em:</p><p><https://www.feg.unesp.br/Home/PaginasPessoais/ProfMarceloWendling/memorias_20</p><p>19.pdf>. Acesso em: 08 jul. 2023.</p><p>[3] Memory Data. Disponível em:</p><p><http://upgrade.kongju.ac.kr/data/memory/2114.html>. Acesso em: 08 jul. 2023.</p>