Arquitetura e Organização de Computadores: Guia Completo

Classificado em Computação

Escrito em em português com um tamanho de 5,09 KB

Arquitetura e Organização de Computadores

A arquitetura de um computador refere-se aos atributos de um sistema que são visíveis para o programador. Exemplos: formas de endereçamento da memória.

Uma arquitetura criada há décadas e que é famosa até os dias atuais é a x86, que se iniciou com o processador Intel 8086 em 1978, seguido pelos seus descendentes: 8088, 80286, 80386, 80486 e Pentium. Esse fato demonstra que uma arquitetura pode sobreviver por muitos anos, enquanto sua organização pode mudar conforme a evolução da tecnologia. É possível, portanto, existirem diversas organizações diferentes baseadas em uma única arquitetura. Além disso, a evolução na organização pode gerar alterações na arquitetura, possibilitando maior poder de processamento do sistema.

Organização refere-se às unidades operacionais e suas interconexões que realizam as especificações dadas pela arquitetura. Exemplo: tecnologia da memória utilizada.

Definição de Computador

Um computador pode ser definido como uma máquina de estados finitos cuja lógica de controle é totalmente reconfigurável. É um sistema que fornece níveis lógicos apropriados em tempos apropriados para controlar uma sequência de operações lógicas simples, que juntas executam uma operação mais complexa.

Máquina de Von Neumann

  • Memória principal: armazena dados e instruções.
  • Unidade Lógica e Aritmética (ULA): capaz de realizar operações com dados binários.
  • Unidade de controle: interpreta e executa instruções armazenadas na memória.
  • Dispositivos de entrada e saída: operados pela unidade de controle.

Componentes e Funcionamento

A memória cache é formada por uma pequena quantidade de SRAM, usada para acelerar uma grande quantidade de DRAM, suprindo a necessidade de equilibrar a velocidade do microprocessador e a velocidade da memória.

O coprocessador matemático é uma espécie de microprocessador auxiliar, especializado em realizar cálculos com números reais em alta velocidade.

O 8086 é um processador com 16 bits no barramento de dados e 20 bits no barramento de endereços (endereça até 1MB). Esta CPU pode trabalhar em dois modos: modo mínimo (o processador gera todos os sinais de controle) ou modo máximo (configuração com multiprocessadores, utilizando o circuito integrado 8288).

A Unidade Lógica e Aritmética (ULA) é o circuito que executa operações lógicas (AND, OR, XOR, NOT) e aritméticas (soma, subtração, multiplicação, divisão). Quanto mais complexa for a ULA, menos software e tempo são necessários para efetuar uma operação.

Contador de Programa: constituído de um contador de quatro bits (0h a Fh), é o responsável por enviar à memória o endereço da próxima instrução a ser executada.

Flags: consiste em um registrador de bits de controle que pode ser testado individualmente por instruções condicionais. Possui 16 bits, dos quais apenas 9 têm função para o usuário.

Decodificador de instruções: tem a função de converter as instruções x86 usadas pelos programas nas instruções simples que podem ser executadas pelo processador.

Barramentos

Os barramentos são o meio físico de interconexão dos dispositivos do microcomputador, promovendo a comunicação entre eles:

  • Barramento de Dados: transporte da informação.
  • Barramento de Endereços: indica a localização dos dados.
  • Barramento de Controle: dita as regras para os dados que trafegam nos demais barramentos.

O Clock é um sinal periódico distribuído para todos os componentes, com a função de fornecer sincronismo.

Uma instrução é uma diretriz para o processador. Toda instrução é formada por um elemento básico chamado operador.

Diferença entre dado e instrução: Sob o ponto de vista da memória, não existe diferença. Contudo, para o processador, a palavra buscada na fase de busca é transferida para o registrador de instrução (RI) e decodificada em microcomandos.

Memória Segmentada

  • A memória é dividida em um número arbitrário de segmentos.
  • O tamanho dos segmentos varia de 16 bytes a 64 Kbytes.
  • Cada segmento se inicia em um endereço múltiplo de 16.
  • O endereço de segmento é composto por duas words (16 bits cada).
  • A notação usada é: Segmento:offset.

Pilha Operacional

  • Usada para armazenamento temporário de dados e passagem de parâmetros.
  • É usada do endereço maior para o endereço menor.
  • São enviados e retirados apenas words (16 bits).
  • O controle de overflow é responsabilidade do programador.

Entradas relacionadas: