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.