Memórias RAM e ROM – DE Parte 22

No tutorial anterior, foi mencionado que memória primária pode ser de dois tipos – memória de acesso aleatório e memória somente leitura. Essas memórias são parte essencial de qualquer sistema baseado em processador ou controlador. Neste tutorial, essas memórias serão discutidas em detalhes.

Imagem Típica de Memórias Primárias – RAM e ROM

Figura 1: Imagem Típica de Memórias Primárias – RAM e ROM

Memória de acesso aleatório (RAM)

A memória de acesso aleatório é usada para armazenar informações binárias durante o tempo de execução de um programa. Os dados e instruções são carregados na RAM a partir de um armazenamento secundário quando um programa é executado pelo processador. Os dados e instruções e os resultados retornados pelo processador permanecem temporariamente na RAM até que o programa seja executado. Depois que o programa é encerrado, os dados e instruções na RAM também são apagados (ou podem permanecer na RAM como valor lixo até que novos dados e instruções sejam gravados na RAM na execução de outro programa).

RAM é memória de leitura/gravação. O processo de armazenamento de dados na memória é denominado operação de gravação. O processo de transferência dos dados armazenados na memória para o processador ou armazenamento secundário é denominado operação de leitura. RAM é uma memória de acesso aleatório, portanto os dados podem ser lidos ou gravados diretamente de qualquer local da memória. Leva o mesmo tempo para ler ou gravar dados em qualquer local da RAM. Isto é diferente das memórias de acesso sequencial, nas quais o tempo necessário para ler ou escrever dados depende da localização na memória. Como em uma RAM, o tempo de acesso para ler ou gravar informações binárias de ou para qualquer local, respectivamente, permanece o mesmo e é sempre extremamente menor em comparação com qualquer armazenamento secundário, geralmente é caro.

RAM é uma memória volátil, ou seja, os dados armazenados nela são perdidos quando a energia é desligada ou sempre que há uma falha de energia. Conseqüentemente, a maioria dos sistemas de computação desktop usa um sistema de energia ininterrupta (UPS) de backup para ganhar tempo para concluir o processamento e desligar os programas em execução de maneira adequada. RAM é uma memória semicondutora, portanto geralmente tem tamanho compacto. Por serem caras e do tipo semicondutor, as memórias RAM disponíveis comercialmente geralmente têm capacidade limitada.

Os dados são armazenados na RAM em grupos de bits chamados palavras. Em qualquer operação de leitura ou gravação, palavras completas são lidas ou escritas na memória, respectivamente. O comprimento das palavras é geralmente um múltiplo de 8 bits, ou seja, 8 bits, 16 bits, 32 bits, 64 bits e assim por diante. O comprimento das palavras depende do tipo de sistema de computação, seja ele de 8 bits, 16 bits, 32 bits, 64 bits e assim por diante. O grupo de 8 bits é denominado byte. Portanto, as palavras podem ter comprimento de 1 byte, 2 bytes, 3 bytes, 4 bytes e assim por diante. Os dados armazenados na memória são lidos por meio de linhas paralelas de saída de dados e gravados na memória por meio de linhas paralelas de entrada de dados. O número de linhas de entrada e saída de dados deve ser igual ao comprimento das palavras armazenadas na memória, pois uma palavra completa é lida ou escrita a qualquer momento.

Cada palavra na memória é identificada por um endereço único. Deve haver n número de linhas de endereço para ler 2n palavras de uma memória. Além da entrada de dados, saída de dados e linhas de endereço, existem duas entradas de controle para especificar a direção de transferência de dados para a memória. Essas entradas de controle são de leitura e gravação. A leitura faz com que os dados sejam transferidos da memória para o processador e a gravação faz com que os dados sejam transferidos do processador ou do armazenamento secundário para a memória.

Os endereços das palavras na memória são utilizados para acessar o local da memória identificado pelo endereço. Os endereços variam de 0 a 2n – 1 onde há n número de linhas de endereço.

A capacidade de qualquer memória RAM é expressa em bytes como Kilobytes, Megabytes e Gigabytes pelo número de palavras e comprimento da palavra. Por exemplo, pode-se dizer que a memória RAM que armazena palavras de 16 bits com capacidade para armazenar 1K palavras tem capacidade de 1K X 16 palavras ou 16 KB de capacidade.

Operação de leitura e gravação

Existem duas operações que podem ser realizadas em qualquer memória RAM – Leitura e Gravação. A operação de gravação é executada implementando as seguintes etapas –

1) Aplique o endereço binário da palavra que deve ser escrita na memória nas linhas de endereço.

2) Aplique bits de dados escritos no endereço de memória selecionado nas linhas de entrada de dados.

3) Ative a entrada de controle de gravação, para que os bits de dados sejam gravados no endereço de memória especificado.

A operação de leitura é executada implementando as seguintes etapas –

1) Aplique o endereço binário da palavra que deve ser lida da memória nas linhas de endereço.

2) Ative a entrada de controle de leitura, para que os bits de dados do endereço de memória especificado sejam lidos através das linhas de saída de dados.

Em algumas memórias RAM existe uma entrada de controle adicional chamada habilitação de memória. Esta entrada deve estar ativa para aplicação de qualquer operação de leitura ou escrita. As operações de leitura e gravação na memória são controladas pelo processador (ou unidade central de processamento em sistemas desktop e servidores). O tempo necessário para ler os dados da memória RAM é chamado de tempo de acesso. O tempo necessário para gravar dados na RAM é chamado de tempo de ciclo. A CPU é sincronizada por seu próprio relógio, a memória não possui nenhum relógio interno para ativar a operação de leitura ou escrita. Portanto, o tempo de acesso e o tempo de ciclo devem ser sempre menores que um tempo igual a um número fixo de ciclos de CPU. Por exemplo, se o tempo de ciclo da RAM for 50 ns, o tempo de acesso será inferior a 50 ns e o ciclo da CPU tiver um período de 20 ns, a operação de leitura e gravação poderá ser executada em três ciclos da CPU.

Quando os dados precisam ser gravados na RAM, os sinais de habilitação da memória e de leitura/gravação devem ser ativados depois que os sinais na linha de endereço e nas linhas de entrada de dados estiverem estáveis, caso contrário, os dados serão perdidos. Os sinais de controle – habilitação de memória e leitura/escrita devem permanecer ativos por tempo igual ao tempo de ciclo da memória. Os sinais nas linhas de endereço e de entrada de dados devem permanecer estáveis ​​por um curto período, mesmo após as entradas de controle serem desativadas.

O tempo de acesso geralmente é bem menor que o tempo de ciclo da memória RAM. Durante a operação de leitura, algum período de tempo deve ser poupado para lidar com outra solicitação da operação de leitura. As operações de leitura e gravação na RAM são geralmente demonstradas por diagramas de temporização. Os diagramas de temporização mostram o status de habilitação da memória, sinal de controle de leitura/gravação, linha de endereço e linha de entrada ou saída de dados em contraste com os ciclos da CPU.

Tipos de RAM

As memórias RAM são categorizadas pelo seu modo de operação. Com base no modo de operação, a RAM é classificada em dois tipos –

1) RAM estática – A RAM estática consiste em travas internas que armazenam as informações binárias. Como as travas podem reter dados até receberem a fonte de alimentação, os dados armazenados na SRAM permanecem intactos até que a energia seja fornecida a eles. Em caso de falha de energia ou desligamento, os dados armazenados na SRAM são perdidos. SRAM tem acesso e tempos de ciclo curtos. É fácil de interagir e usar, pois os dados permanecem nele até que a fonte de alimentação seja interrompida. Os chips SRAM usam uma matriz de 6 transistores sem o uso de capacitores. Os transistores não necessitam de energia para evitar vazamentos, portanto a SRAM não precisa ser atualizada regularmente.

Devido ao espaço extra na matriz, a SRAM utiliza mais chips para o mesmo armazenamento. É por isso que a SRAM é bastante cara. Algumas RAM estáticas também são usadas como memórias de cache. Essas SRAM têm capacidade muito limitada e acesso e tempos de ciclo extremamente pequenos.

2) RAM dinâmica – A RAM dinâmica armazena informações binárias como carga armazenada em capacitores dentro de um chip de transistores MOS. À medida que os capacitores são descarregados durante um período de tempo, os dados na RAM dinâmica precisam ser atualizados periodicamente. A atualização dos dados é feita percorrendo as palavras periodicamente durante alguns milissegundos, restaurando a carga nos capacitores. Portanto, a RAM dinâmica é atualizada centenas de vezes por segundo. DRAM consiste em células de memória onde cada célula de memória é construída a partir de um transistor e um capacitor. Devido a esta construção, a RAM dinâmica é pequena e mais barata em comparação com a RAM estática.

Decodificação de memória

Durante a operação de leitura ou gravação, os endereços de memória são selecionados aplicando o número do endereço às linhas de endereço. Os sinais nas linhas de endereço são decodificados por um circuito decodificador para selecionar um local de memória. A entrada de habilitação de memória geralmente é conectada ao circuito decodificador para habilitar ou desabilitar operações de leitura/gravação.

Detecção e correção de erros

Existem possibilidades de erro no armazenamento e leitura de dados da memória. Portanto, o emprego de técnicas de detecção e correção de erros é uma prática comum durante operações de leitura e gravação. A técnica de detecção de erros mais comum é o bit de paridade. O bit de paridade é gerado e armazenado junto com a palavra na memória. Quando os dados são gravados na memória, eles são aceitos quando a paridade dos bits está correta, enquanto quando os dados são lidos, a paridade é novamente verificada para confirmar a precisão da palavra. Se a paridade não corresponder, significa que ocorreu um erro na operação de leitura/gravação. Caso haja algum erro, os bits de verificação geram um padrão que é chamado de síndrome. O padrão é usado para identificar o bit da palavra que contém erro. O bit específico é invertido para corrigir o erro. Os códigos de detecção de erros geram vários bits de verificação de paridade que são armazenados junto com as palavras.

Memória somente leitura (ROM)

Memória somente leitura (ROM) é uma memória primária da qual apenas os dados podem ser lidos, mas não podem ser gravados por um usuário. Esta é uma memória não volátil na qual os dados, uma vez transferidos, permanecem na memória mesmo sem qualquer fonte de alimentação para a unidade de memória. A informação binária é armazenada permanentemente nessas memórias durante sua própria fabricação.

A ROM geralmente armazena as instruções exigidas pelo sistema de computação quando é ligado. Esta operação é conhecida como bootstrap. Essas memórias são comumente usadas em computadores desktop e servidores. Muitos dispositivos embarcados, como máquinas de lavar, televisores e fornos de micro-ondas, também usam essas memórias para inicializar programas embarcados.

O processo de transferência de dados binários na ROM é chamado de gravação ou programação. Na gravação, interconexões fixas entre portas lógicas são formadas no chip ROM que representa a informação binária. Os dados na ROM são lidos usando um circuito decodificador.

Tipos de ROM

Existem os seguintes tipos de memórias ROM –

1) ROM mascarada (MROM) – As primeiras ROMs eram dispositivos conectados que continham um conjunto pré-programado de dados ou instruções. Esses tipos de ROMs são conhecidos como ROMs mascarados. Essas memórias ROM não são muito caras.

2) Memória somente leitura programável (PROM) – A PROM é uma memória somente leitura que pode ser modificada apenas uma vez por um usuário. O usuário compra uma PROM em branco e insere o conteúdo desejado utilizando um programador PROM. Dentro do chip PROM existem pequenos fusíveis que queimam durante a programação. Pode ser programado apenas uma vez e não pode ser apagado. A maioria dos microcontroladores programáveis ​​​​de uso único possui PROM para armazenar a lógica da aplicação.

3) Memória somente leitura apagável e programável (EPROM) – Uma EPROM pode ser apagada expondo-a à luz ultravioleta por um período que pode ir até 40 minutos. Normalmente, um apagador de EPROM é usado para apagar dados da EPROM. Para programar a EPROM, uma carga elétrica fica presa em uma região de porta isolada. A carga pode ser retida por mais de dez anos porque não tem caminho de vazamento. Para apagar esta carga, a luz ultravioleta passa através de uma janela de cristal de quartzo (tampa). Esta exposição à luz ultravioleta dissipa a carga armazenada para apagar os dados binários armazenados. A tampa de quartzo permanece selada com um adesivo durante o uso normal do chip.

4) Memória somente leitura eletricamente apagável e programável (EEPROM) – A EEPROM é programada e apagada eletricamente. Pode ser apagado e reprogramado até dez mil vezes. Tanto o apagamento quanto a programação levam cerca de 4 a 10 ms (milissegundos). Na EEPROM, qualquer local pode ser apagado e programado seletivamente. A EEPROM pode ser apagada um byte de cada vez, em vez de ser necessário apagar todo o chip. Conseqüentemente, o processo de reprogramação é flexível, embora bastante lento.

Related Content

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.