Visão geral da organização de um sistema computacional

Um computador digital é uma combinação de dispositivos e circuitos digitais que realizam uma sequência programa de operações [7, 8]. A sequência de operações é chamada de programa [5]. Resume-se a um conjunto de instruções codificadas e dados que serão processados para alcançar o objetivo computacional pretendido, sendo ambos armazenados na memória [5, 7]. Considerando isso, a função do computador é acessar a memória para obter e processar as operações indicadas. Para tal, um sistema computacional possui um conjunto de estruturas para possibilitar que esses procedimentos possam ser executados.

Um dos principais componentes de um sistema computacional é o processador [6]. Tem função de realizar cálculos, processar e enviar requisições para dispositivos periféricos e efetuar todos os processos que permitem o funcionamento do sistema [3]. Embora seja o principal componente, o processador deve ser capaz de interagir com dispositivos periféricos como memórias, dispositivos de entrada e saída, conversores de sinais, entre outros.

Embora os sistemas computacionais tenham suas peculiaridades, a estrutura interna pode ser generalizada em algumas unidades especificas. Sabendo disso, um sistema computacional pode ser representado por cinco blocos convencionais: a unidade lógica e aritmética - ULA, a unidade de memória, a unidade de controle - UC, e as unidades de entrada e saída [7].

Definição de memória

A memória pode ser definida como um conjunto de elementos que armazenam informação. Em uma memória semicondutora, o elemento básico é chamado célula de memória [1]. A célula de memória é capaz de armazenar a informação de 1 bit, isto é, apresenta dois estados estáveis, 1 ou 0. Além disso, deve possibilitar que a informação seja definida (gravada) e verificada (lida).

Um conjunto de células de memória formam uma palavra, por exemplo: 8 bits formam uma palavra de um byte. De modo geral, a memória consiste de um grupo de palavras, sendo cada uma identificada de maneira unívoca por um endereço. Uma característica da palavra é a sua capacidade de armazenar informação, isto é, a quantidade de bytes – ou bits - que a palavra representa.

Sistema de interconexão

A conexão entre todos esses módulos é realizada pelo sistema de interconexão, também chamado de barramento [1, 6]. Por meio do barramento os módulos do sistema podem se comunicar, isto é, trocar informações. Para tal, deve admitir os seguintes tipos de transferências [1]:

  • Memória para processador;

  • Processador para memória;

  • E/S para processador;

  • Processador para E/S;

  • E/S de ou para a memória.

Em geral, um barramento é organizado como um grupo de vias – conexões físicas – em que cada via é capaz de transmitir sinais representando o binário 1 e o binário 0. Existem três tipos de barramentos em um sistema.

Barramento de Dados:

  • caminho para movimentação de dados entre os módulos;

  • Largura é uma das chaves do desempenho (8,16,32 bits).

Barramento de Endereço:

  • Determinam a origem ou o destino dos dados no barramento de dados;

  • Largura determina capacidade máxima de memória.

Barramento de Controle:

  • Informações de tempo e controle;

  • Sinais de leitura/escrita de memória, requisições de interrupção.

Estrutura da unidade de processamento

Internamente, o processador – unidade central de processamento - é dividido em duas unidades, cada uma com um propósito específico. Compõe-se basicamente de uma ULA e uma UC. Tem como função principal buscar e executar instruções [1].

A ULA é capaz de operar os dados binários, executando operações simples sobre um ou mais operandos [5]. Já a unidade de controle é utilizada para coordenar as operações entre as outras unidades, determinando o fluxo de operações do sistema [1,5].

É importante também citar que a UCP possui registradores especiais e registradores de propósito geral. Registrador refere-se a um elemento de memória com uma determinada capacidade de armazenamento.

Em algumas arquiteturas há somente um registrador de propósito geral, chamado de acumulador [5]. O acumulador tem função de servir como operando da ULA, e para armazenar o resultado da operação realizada. Em arquiteturas com vários registradores de propósito geral, todos podem servir a mesma função do acumulador.

Os registradores especiais desempenham funções específicas na unidade controle [1, 4, 5, 7]:

  • Contador de programa – Esse registrador tem como função apontar o endereço de memória da próxima instrução que será buscada e executada.

  • Registrador de instrução – Utilizado para armazenar a instrução codificada que é lida da memória no endereço apontador pelo contador de programa.

  • Registrador de estado – Sempre que uma operação é executada pelo processador algumas informações são armazenadas nesse registrador, por exemplo, se uma operação na ULA resultou em zero.