Cursos / Jogos Digitais / Arquitetura de Computadores / Aula
Como visto em aula anterior, a organização interna de sistemas computacionais está fortemente baseada na possibilidade de operações e dados dos algoritmos serem armazenados em circuitos com capacidade de reter as informações por tempo indeterminado: as memórias. Um circuito de memória pode ser entendido como aquele circuito capaz de reter informações. A importância e a necessidade de os sistemas computacionais possuírem memórias estão no fato de as informações e operações a ser processadas necessitam de armazenamento. Isso ocorre devido à natureza dos circuitos eletrônicos que compõem esses sistemas: um circuito pode ser entendido como uma caixa preta que possui alguma funcionalidade, entradas e saídas.
O funcionamento das memórias ocorre pela leitura das entradas, as quais são processadas, e uma ou mais saídas são geradas. As entradas são os operandos, o processamento são as operações (realizadas pela ULA do processador) e as saídas são os operandos destino. No entanto, os circuitos conseguem apenas processar (operar sobre) as informações, mas não retê-las ou armazená-las para posterior processamento. Ao estudarmos a execução de algoritmos, fica bastante evidente que muitas variáveis são reutilizadas que irá identificar tão somente aquela posição de memória. Então, para que não se percam, é necessário que sejam armazenadas. O mesmo acontece com as instruções: observe atentamente um algoritmo e verá que muitas instruções aparecem mais de uma vez ao longo do código.
Memórias podem ser pensadas como um vetor, onde em cada posição dele as informações são armazenadas. No caso de sistemas computacionais, precisamos determinar qual o tamanho (em bits) de cada uma das posições, ou seja, qual a quantidade de bits que podem ser armazenados em cada posição. Além disso, assim como em vetores, cada posição necessita ser determinada através de um endereço único, que é o endereço que irá identificar aquela e somente aquela posição. Dessa forma, é possível que cada posição seja acessada sem ambiguidade para ser modificada.
Veja na Figura 1 onde as posições de memória e os endereços são ilustrados.
Naturalmente, as operações que são realizadas em memórias se restringem à leitura e escrita, uma vez que nenhuma operação é executada sobre informações armazenadas em memórias. Pode-se pensar, então, em memórias como estruturas auxiliares, que servem para que dados e operações permaneçam dentro do sistema pelo tempo necessário para serem processados e (possivelmente) reprocessados.
Devido à necessidade de armazenamento, não há como se construir um sistema computacional sem a presença de memórias: na memória de dados são armazenadas todas as variáveis que os algoritmos executam e na memória de instruções são armazenadas todas as instruções dos algoritmos. Veja também que é nessa memória que os processadores buscam as instruções que executam.
Versão 5.3 - Todos os Direitos reservados