Memória apenas de leitura (ROM), também conhecida como firmware, é um circuito integrado (chip) programado com dados específicos, no momento de sua construção. Circuitos integrados de ROM não são usados somente em computadores, mas em muitos outros equipamentos eletrônicos.
Vamos começar identificando os diferentes tipos de ROM.
Existem 5 tipos básicos de ROM:
* ROM
* PROM
* EPROM
* EEPROM
* memória Flash
Cada tipo possui características únicas, mas são todos tipos de memória com duas coisas em comum:
* os dados armazenados nesse chip são não voláteis , ou seja, não são perdidos quando a energia elétrica é retirada;
* os dados armazenados nesse chip são também imutáveis, ou requerem uma operação especial para serem alterados (diferentemente da memória RAM, que pode ser alterada tão facilmente como lida).
Desse modo, remover a energia elétrica desse circuito não causará a perda de nenhum dado.
Mémoria ROM em funcionamento
Parecida com a RAM, o circuito ROM contém uma matriz com colunas e linhas. Mas na intersecção das colunas e linhas, as ROMs são fundamentalmente diferentes das RAMs. Enquanto a RAM usa transistores para ligar e desligar o acesso a um capacitor em cada intersecção, a ROM usa um diodo para conectar as linhas se o valor for 1. Se o valor for 0, a linha não é conectada.
Um diodo normalmente permite que a corrente circule por ele somente em uma direção e possui um limiar, conhecido como tensão máxima de ruptura, que determina quanta corrente é necessária antes que o diodo a deixe passar. Em itens de circuito integrados baseados em silício, como processadores e memória, a tensão máxima de ruptura é de aproximadamente 0,6 volts. Tirando vantagem dessa propriedade única de um diodo, um circuito integrado ROM pode enviar uma carga que está acima do limite de ruptura para a coluna apropriada com a linha selecionada aterrada para conectar uma célula específica. Se um diodo está presente na célula, a carga será conduzida até a terra; no sistema binário, a célula será lida como sendo "ligada" (um valor de 1). A melhor parte da ROM é que se o valor da célula é 0, não há diodo na intersecção para ligar a linha à coluna. Então a carga carga na coluna não é transferida para a linha.
Como podemos ver, a maneira de um chip de ROM funcionar depende de uma programação completa e sem erros dos dados quando ela é criada. Não se pode programar ou regravar um circuito impresso padrão de ROM. Caso haja alguma imperfeição, ou os dados necessitem ser atualizados, precisamos jogá-lo fora e começar nova gravação. Criar um primeiro gabarito para um circuito impresso de ROM constitui um processo trabalhoso repleto de tentativas e erros. Os benefícios de um circuito impresso de ROM são mais vantajosos do que seus empecilhos. Uma vez que o gabarito é completado, o circuito integrado baseado nele pode custar pouco, como alguns centavos cada um. Eles consomem pouca energia, são muito confiáveis e, na maioria dos casos de pequenos aparelhos, contêm todo o programa necessário para controlá-los. Um bom exemplo é o pequeno circuito impresso no brinquendo do peixe cantador. O circuito impresso, com o tamanho aproximado de uma unha, possui um "clip" de uma música de 30 segundos em uma ROM e os códigos de controle para sincronizar os movimentos (do peixe) motores à música.