Arquitectura de Computadores

Notas de estudo

Alberto José Proença

1999/00

 

Índice geral

 

  1. Organização e arquitectura dum computador
  1. Representação da informação no computador
  2. Funcionamento básico dum computador
  3. Estrutura do processador
  4. Níveis de abstracção num computador
  5. Tradutores ou conversores de níveis
  6. Estrutura interna dum computador

 

O estudo da organização e arquitectura dum computador começa por uma reflexão sobre o que é um computador. No contexto desta disciplina, e sob a perspectiva dum engenheiro, iremos considerar um computador como um sistema (máquina) que tem como finalidade processar informação.

Então, a primeiro questão que se coloca de imediato é a seguinte: o que é informação e como é que essa informação se encontra representada dentro de um computador? A representação da informação num computador faz a introdução ao funcionamento dum computador.

A análise das diversas formas de representar informação dentro de um computador será efectuada nas primeiras aulas: desde os textos que representam a forma de os seres humanos se comunicarem entre si, às formas compactas de representação de quantidades numéricas, e aos comandos específicos para execução directa nos computadores. Este assunto é introduzido nas aulas teóricas e complementado em aulas teórico-práticas com o estudo da representação de valores do tipo int e do tipo real , minimamente cobertas em 4.2b e 4.8 (este tipo de referência vai ser sempre utilizado para capítulos/secções do texto base proposto). Um resumo dos aspectos mais relevantes da representação de valores inteiros e em vírgula flutuante é incluído como anexo destas notas de estudo.

O modo como funciona um computador - e respectivo metodologia de programação - pode ser encarado sob diversas perspectivas, ou níveis de abstracção: desde o nível de programação em linguagem máquina em binário, ao nível de programação em "linguagens de alto nível" (ver 1.1 e 1.2). Esta introdução será mais detalhada no Cap. III quando se fizer referência aos mecanismos para a execução de programas.

A ilustração da estrutura interna dum computador que lhe segue é apoiada pelo texto (ver 1.3 e 1.4) e por uma sessão laboratorial onde se apresenta um computador aberto e se identificam os principais componentes. Esta apresentação é mista: real e virtual. Partes do computador (real) circulam por todos os presentes para que tenham uma noção física desses elementos constituintes dum computador; complementarmente a estrutura dum computador é analisada interactivamente com o CD How Multimedia Computers Work.. Este CD vem incluído no livro How Computers Work de Ron White, publicado por Ziff-Davis Press em 1994. A parte correspondente nestas notas de estudo é constituído apenas por um resumo dos principais componentes de um computador, já que o material didático disponível é de muito boa qualidade.

 

  1. Representação da informação no computador

• Os símbolos do "alfabeto"

• As "palavras" com informação, no computador, são usadas essencialmente para:

 

  1. Funcionamento básico dum computador

• Execução de sequência de comandos; por razões de eficiência esses comandos deverão estar já armazenados na memória rápida do computador, no formato codificado associado ao processador que o vai executar e usando o "alfabeto" do computador: a linguagem máquina.

• Execução da linguagem máquina; passos que um processador faz sempre:

 

  1. Estrutura do processador

Os principais blocos que constituem um processador podem ser identificados como sendo:

A unidade de controlo é também designada na literatura anglo-saxónica por control path, enquanto que o bloco que processa directamente a informação - e que é constituído pelos registos e unidades funcionais - é normalmente designado por data path.

 

  1. Níveis de abstracção num computador

Na utilização de um computador é possível identificar vários níveis de abstracção, sendo os mais relevantes, no ãmbito desta disciplina:

 

  1. Tradutores ou conversores de níveis

Dado que o processador apenas "entende" os comandos em linguagem máquina, é necessário converter os programas escritos em linguagens dos níveis de abstracção superiores para níveis mais baixos, até eventualmente se chegar à linguagem máquina. Estes tradutores ou conversores de níveis são normalmente designados por:

A Fig. 1.1 do texto ilustra estes níveis de abstracção e respectivos mecanismos de conversão, através de um pedaço de código em HLL (em C) e da sua representação em assembly dum dado processador (MIPS) e em linguagem máquina em binário (para o mesmo MIPS).

Existe ainda outro mecanismo que permitem executar programas escritos em HLL sem usar a compilação: a interpretação. Com um interpretador, as instruções de HLL são analisadas uma a uma, e o interpretador para cada instrução em HLL, gera o código correspondente em linguagem máquina e executa de imediato esse código, sem o guardar. Não há propriamente uma tradução de um programa noutro, mas sim a análise dum programa seguida de geração e execução do código máquina associado.

Posteriormente se verá ainda que poderão existir outros níveis de abstracção num computador.

 

  1. Estrutura interna dum computador

Os principais blocos funcionais que se podem encontrar num computador podem ser agrupados em apenas 3: a entidade que processa a informação, a entidade que armazena a informação que está a ser processada, e as unidades que estabelecem a ligação deste par de entidades (processador-memória) com o exterior. Mais concretamente, os blocos são:

• dispositivos que fazem interface com o ser humano: monitor, teclado, rato, impressora, colunas de som, ...

• dispositivos que armazenam grandes quantidades de informação, também designados por memória secundária: disco, banda magnética, CD-ROM, ...

• dispositivos de interface para comunicação com outros equipamentos: interfaces video, placas de rede local, modems, interface RDIS, ...

• dispositivos internos auxiliares, como um temporizador, um controlador de interrupções, um controlador de acessos directos à memória (DMA), ...

Indispensável ainda num computador é o sistema de interligação dos diversos componentes nele presentes, que genericamente se designa por barramento (bus); este barramento é constituído por um elevado número de ligações físicas, podendo estar agrupados de forma hierárquica. As principais categorias de barramentos são normalmente designadas por: