Você está na página 1de 8

FUNDAO OSWALDO ARANHA

CENTRO UNIVERSITRIO DE VOLTA REDONDA




Arquitetura de Computadores Sistemas de Informao
Prof. Rafael Teixeira rafael.teixeira@foa.org.br
1
Introduo

Um computador digital uma mquina capaz solucionar problemas por meio da execuo de instrues
que lhe so fornecidas.

Programa uma seqncia de instrues que descrevem como executar uma tarefa.

Os circuitos eletrnicos de cada computador podem reconhecer e executar diretamente um conjunto
limitado de instrues simples. Para serem executados, todos os programas precisam ser convertidos para esta
linguagem primitiva, chamada linguagem de mquina ou linguagem de montagem (assembly language).
Esta a linguagem que a mquina realmente entende. Trata-se do cdigo binrio, correspondente a sinais
eltricos, que o que uma mquina realmente capaz de executar.

Ao se projetar um computador se decide sobre quais dessas instrues primitivas devem estar presentes.
Geralmente os projetistas tentam fazer as instrues primitivas to simples quanto possveis, consistentes com o
uso pretendido e necessidades de desempenho, daquele projeto de mquina, a fim de reduzir a complexidade e
o custo da eletrnica empregada. Devido a esta simplicidade as linguagens de mquinas tornam-se difceis e
tediosas de usar para a realizao de tarefas mais complexas. Este tipo de linguagem tambm chamado de
linguagem de baixo nvel, pois esta mais prxima do hardware (eletrnica da mquina).

Para facilitar a comunicao dos seres humanos com a mquina, foram desenvolvidas linguagens mais
prximas daquelas usadas pelos humanos, as chamadas linguagens de alto nvel (C, C++, Delphi, Pascal,
Fortran, JAVA etc.). Estas linguagens precisam ser convertidas para linguagem de mquina para serem
executadas. H dois mtodos de converso das linguagens de alto nvel: a traduo e a interpretao. Estes
mtodos so similares. Em ambos as instrues de alto nvel so executadas pelas seqncias equivalentes em
linguagem de mquina. A diferena que na traduo o programa completo de alto nvel primeiro convertido
para a linguagem de mquina para ento ser executado. Na interpretao, depois de cada instruo de alto nvel
ser examinada e decodificada, ela executada imediatamente. Nenhum programa traduzido gerado. Ambos os
mtodos so amplamente usados pelos compiladores.


FUNDAO OSWALDO ARANHA
CENTRO UNIVERSITRIO DE VOLTA REDONDA


Arquitetura de Computadores Sistemas de Informao
Prof. Rafael Teixeira rafael.teixeira@foa.org.br
2

Figura 1 Mquina de seis nveis (adaptado de Tanenbaum, 2007).

Mquina Multinvel
A maioria dos computadores modernos possuem dois ou mais nveis. As mquinas de seis nveis so
muito comuns, como est mostrado na Figura 1.

Nvel 0 - o hardware verdadeiro da mquina. Seus circuitos executam os programas em linguagem de
mquina de nvel 1. No nvel de lgica digital, esto as portas lgicas (basicamente portas AND e OR) que so
os elementos primrios de circuitos lgicos mais complexos. H ainda a existncia de outros nveis abaixo do
nvel 0, que no esto representados na figura. Estes nveis situam-se no campo da engenharia eltrica e da
fsica do estado slido. Nestes nveis os projetistas enxergam portas lgicas, transistores individuais e o cristal
semicondutor, que o substrato dos circuitos integrados. O nvel 0 e os nveis abaixo dele fogem ao escopo
desta disciplina.

FUNDAO OSWALDO ARANHA
CENTRO UNIVERSITRIO DE VOLTA REDONDA


Arquitetura de Computadores Sistemas de Informao
Prof. Rafael Teixeira rafael.teixeira@foa.org.br
3

Nvel 1- Nvel de microprogramao, logo acima, que inicia o conceito de programa como uma
seqncia de instrues a serem executadas diretamente pelos circuitos eletrnicos. No nvel 1 h um programa
denominado microprograma, cuja funo interpretar as instrues de nvel 2. Poucas so as mquinas que tm
mais de 20 instrues no nvel do microprograma, e a maior parte destas instrues envolve a movimentao de
dados de uma parte da mquina para outra ou alguns testes simples. A microprogramao utilizada
especialmente nas mquinas classificadas de CISC Complex Instruction Set Computer. Este tipo de mquina
implementa instrues complexas correspondentes ao nvel 2. Isto tende a facilitar a programao de
compiladores de uma linguagem de alto nvel especfica, mas de uma maneira geral compromete o desempenho
da mquina. Isto acontece porque a complexidade dos circuitos lgicos tende a aumentar, criando um caminho
mais longo para a propagao do sinal eltrico gerando um maior atraso. Tal atraso implica em uma menor
freqncia de operao dos circuitos.

Nvel 2 - Corresponde linguagem de mquina ou o cdigo binrio executado pelo hardware. Na Figura 1
este nvel interpretado para o nvel de microprogramao, porm nas mquinas RISC - Reduced Instruction
Set Computer - o nvel 1 (microprogramao) no existe. Neste tipo de mquina, o nvel 2 executado
(interpretado) diretamente no nvel 0. Atualmente este tipo de mquina considerado mais eficiente e flexvel
que as CISC. Isto porque, as instrues delas tendem a ser executadas em poucos (ou mesmo um nico) ciclos
de relgio, permitindo assim ao projetista do compilador, ou ao projetista do Sistema Operacional uma
programao mais sob medida (customizado) para cada situao. Entretanto, o cdigo gerado tende a ser
mais longo e complexo. Cada mquina ou processador tem sua linguagem prpria de nvel 2, a qual
documentada em manuais especficos de cada fabricante.

Nvel 3 O nvel do Sistema Operacional (S.O.) - responsvel por fornecer servios bsicos para os
nveis acima. Tais servios so: interface (grfica ou linha de comando) com o usurio (Shell), gerenciamento
de memria, escalonamento de processos, acionamento de dispositivos de entrada e sada de dados etc. Este
nvel geralmente desenvolvido de forma hbrida, ou seja, parte em uma linguagem de alto nvel (como C ou
C++, por exemplo), e parte diretamente em linguagem de mquina. Aps o seu desenvolvimento, o programa
executvel em cdigo de mquina gerado para ser carregado nas mquinas a que se destina. S.O. complexos
so desenvolvidos em ambientes computacionais apropriados, porm, os mais simples podem ser desenvolvidos
diretamente em linguagem de mquina.

H uma ruptura fundamental entre os nveis 3 e 4. Os trs nveis inferiores no esto projetados para o uso
direto do programador mdio comum. Os interpretadores e tradutores fazem a interface entre o programador
dos aplicativos (os nveis superiores) e os nveis mais prximos ao hardware. Estes interpretadores e tradutores
so escritos pelos chamados de programadores de sistema, que so especialistas em projetar e implementar
novas mquinas virtuais.

Os nveis 4 e superiores so dirigidos aos programadores de aplicao, que desejam usar o computador
apenas como meio para resoluo de problemas. Uma outra mudana que ocorre no nvel 4 no mtodo pelo
qual os nveis superiores so implementados. Os nveis 2 e 3 so sempre interpretados.
Os nveis 4, 5 e superiores so geralmente, mas nem sempre, implementados por traduo.

Uma outra diferena ainda entre os nveis 1, 2 e 3, de um lado, e os nveis 4, 5 e superiores, de outro, a
natureza da linguagem provida. As linguagens de mquina de nveis 1; 2 e 3 so freqentemente numricas
(cdigo binrio, hexadecimal ou octal). Os programas escritos nestas linguagens so timos para as mquinas,
mas pssimos para o entendimento lgico das pessoas. A partir do nvel 4, as linguagens contm palavras e
abreviaturas significativas para as pessoas, ou seja, mnemnicos.


FUNDAO OSWALDO ARANHA
CENTRO UNIVERSITRIO DE VOLTA REDONDA


Arquitetura de Computadores Sistemas de Informao
Prof. Rafael Teixeira rafael.teixeira@foa.org.br
4
O nvel 4, o nvel de linguagem de montagem, realmente uma forma simblica para uma linguagem
subjacente. Todas as linguagens de alto nvel so simblicas, isto , usam agrupamentos de caracteres
alfanumricos que representam palavras ou expresses matemticas que apelidam uma instruo de mquina
ou correspondem a uma seqncia (rotina) de instrues de mquina.

Tais apelidos so mais expressivos para os humanos que os cdigos numricos computacionais. Os
compiladores traduzem estes caracteres em linguagem de mquina. O nvel 4 prov um mtodo para as pessoas
escreverem programas para os nveis 1, 2, e 3 de uma maneira mais agradvel e amigvel.

Neste nvel cada instruo de mquina apelidada por um mnemnico (por exemplo add, load, store etc.)
que normalmente correspondem diretamente a uma nica instruo de mquina. Assim, o mnemnico um
apelido, mais significativo para os humanos, que representa uma instruo de mquina, ou seja, um cdigo
binrio executvel. Os programas em linguagem de montagem so primeiramente traduzidos para uma
linguagem do nvel 1, 2 ou 3, e ento so interpretados pela mquina real ou virtual apropriada. O programa que
executa a traduo denominado montador.

O nvel 5 consiste em linguagens projetadas para serem utilizadas por programadores de aplicao
(software aplicativo) com problemas a serem resolvidos. Tais linguagens possuem muitos nomes, dentre eles
linguagens de alto nvel e linguagens orientadas para problemas. (FORTRAN, PASCAL, Delphi, C, COBOL,
LISP, JAVA etc.). Os programas escritos nestas linguagens so geralmente traduzidos para o nvel 3 ou nvel 4
por tradutores conhecidos como compiladores, embora s vezes sejam interpretados.

Os nveis 6 e superiores (no representados na Figura 1) consistem em colees de programas
projetados para criar mquinas virtuais especialmente adequadas para certas aplicaes (aplicativos
computacionais). Estes nveis contm grandes quantidades de informao acerca da aplicao. Pode-se
imaginar mquinas virtuais voltadas a aplicaes em administrao, educao, projeto de computadores,
realidade virtual etc. Estes nveis esto no terreno da pesquisa atual.

Em resumo, o ponto-chave a ser lembrado que os computadores so projetados como uma srie de
nveis, cada um deles construdo sobre seu predecessor. Cada nvel representa uma abstrao distinta, com
diferentes objetos e operaes presentes. Ao projetar e analisar computadores deste modo, podemos
temporariamente suprimir detalhes irrelevantes dos nveis inferiores, e assim reduzir um assunto complexo a
algo mais fcil de ser compreendido.


FUNDAO OSWALDO ARANHA
CENTRO UNIVERSITRIO DE VOLTA REDONDA


Arquitetura de Computadores Sistemas de Informao
Prof. Rafael Teixeira rafael.teixeira@foa.org.br
5

Figura 2: Etapas de execuo de um programa (adaptado de Patterson e Henessy, 2005).

Modelo de von Neumann
Nos anos 40 o matemtico John von Neumann desenvolveu um modelo terico do funcionamento dos
computadores. Este modelo usado at hoje com apenas algumas modificaes. Von Neumann props
construir computadores que:

FUNDAO OSWALDO ARANHA
CENTRO UNIVERSITRIO DE VOLTA REDONDA


Arquitetura de Computadores Sistemas de Informao
Prof. Rafael Teixeira rafael.teixeira@foa.org.br
6
1. Codificassem instrues que pudessem ser armazenadas na memria e sugeriu que usassem cadeias
de uns e zeros (binrio) para codific-las;
2. Armazenassem na memria as instrues e todas as informaes que fossem necessrias para a
execuo da tarefa desejada;
3. Ao processarem o programa, as instrues fossem buscadas na diretamente na memria. Este o
conceito de programa armazenado.


Figura 3 Diagrama esquemtico da arquitetura proposta por von Neumann.

As principais caractersticas deste modelo so:
Uma nica UCP responsvel por todo controle do fluxo de dados;
Uma memria nica;
Dispositivos de E/S cujas transferncias so feitas por meio da UCP.

A maioria dos computadores tem sido construda desta maneira at o surgimento das arquiteturas
paralelas e redes neurais. O sucesso deste modelo se justifica pelo fato de que o processador (UCP) desempenha
uma funo por vez e toma os dados e programas de um nico banco de memria.

Unidade central de processamento (UCP)
A Unidade Central de Processamento a responsvel pelo processamento e execuo de programas
armazenados na MP (memria principal). Funes:
Executar instrues - realizar aquilo que a instruo determina.
Realizar o controle das operaes no computador.

Memria principal (MP)
A Memria Principal tem por finalidade armazenar toda a informao que manipulada pelo computador
- programas e dados. Para que um programa possa ser manipulado pela mquina, ele primeiro precisa estar
armazenado na memria principal. Obs.: os circuitos da Memria Principal no so combinacionais, eles tem
capacidade de armazenar bits. Os circuitos usados so do tipo seqencial que se baseiam num dispositivo
eletrnico chamado de "flip-flop".

Dispositivos de entrada e sada (E/S)
Tem por finalidade permitir a comunicao entre o usurio e o computador.
Obs.: Para executar um programa, bastaria UCP e MP; no entanto, sem os dispositivos de E/S no haveria
a comunicao entre o usurio e o computador.

Modelo de Barramentos
O modelo de barramentos basicamente o modelo de von Neumann com o acrscimo de maior
flexibilidade de comunicao. Os barramentos interconectam os elementos bsicos UCP, memria e
dispositivos E/S entre si. Fisicamente, barramento um conjunto de linhas de comunicao que permite a
interligao entre dispositivos, como o UCP, a memria e outros perifricos (E/S).

FUNDAO OSWALDO ARANHA
CENTRO UNIVERSITRIO DE VOLTA REDONDA


Arquitetura de Computadores Sistemas de Informao
Prof. Rafael Teixeira rafael.teixeira@foa.org.br
7

Figura 4 Arquitetura de barramentos.


Neste modelo possvel transferncia direta de dados entre os dispositivos de E/S e a memria. Este tipo
de transferncia feito por dispositivos especiais (controlador de DMA direct memory access ou
processador E/S) que assumem momentaneamente o controle do barramento e isolam a comunicao UCP
com a memria e dispositivos E/S.
Estas tcnicas tendem a acelerar a transferncia dos dados entre os dispositivos E/S e a memria. Os
barramentos podem ser unidirecionais (conduzir os sinais em uma nica direo), bidirecionais (conduzir ora
em uma direo e ora em outra de acordo com comandos eletrnicos), serem de trs estados (bidirecionais
acrescidos da possibilidade de se desconectarem eletricamente), ou unidirecional com a possibilidade de
desconexo eltrica. A possibilidade de desconexo eltrica controlada eletronicamente e torna vivel a
comunicao seletiva entre os dispositivos. Por exemplo, a UCP se comunica com a memria e se desconecta
dos dispositivos E/S ou a um dispositivo de entrada transfere dados para memria desconectando a UCP e os
dispositivos de sada do barramento.

H logicamente trs tipos de barramentos:
barramento de dados
barramento de endereos
barramento de controle

Figura 5 Detalhamento da arquitetura de barramentos.

O barramento de dados responsvel pela transferncia de dados entre os dispositivos e instrues entre
a UCP e memria. de trs estados (tri-state) e liga a memria, a UCP e os dispositivos E/S. Frequentemente
o nmero de linhas do barramento de dados um valor que corresponde a uma potncia de 2 (8, 16, 32, 64
etc.).

O barramento de endereos aquele que conduz o endereo a ser selecionado na memria ou
dispositivos E/S. geralmente unidirecional entre a UCP (que define o endereo) e a memria e os dispositivos
E/S. Da mesma forma que o barramento de dados, o nmero de linhas do barramento de endereos um valor
que corresponde a uma potncia de 2.

FUNDAO OSWALDO ARANHA
CENTRO UNIVERSITRIO DE VOLTA REDONDA


Arquitetura de Computadores Sistemas de Informao
Prof. Rafael Teixeira rafael.teixeira@foa.org.br
8

O barramento de controle transfere os sinais de controle que ativam ou desativam os dispositivos, que
selecionam determinado modo de operao ou sincronizam os circuitos. Cada linha ou conjunto de linhas tem
uma caracterstica de operao prpria de acordo com a sua funo.

Algumas vezes os barramentos podem estar multiplexados. A multiplexao uma tcnica que permite a
utilizao das mesmas linhas fsicas por mais de um conjunto de sinais. Em alguns modelos de computadores os
barramentos de dados e de endereos correspondem s mesmas linhas fsicas. Em um determinado instante os
dados esto presentes no barramento e em outro os endereos. Neste caso os sinais de controle coordenam a
operao. A multiplexao torna o sistema mais econmico em termos de hardware, porm diminui a
velocidade de operao.

Em termos fsicos, os tipos de barramentos de um computador so:
Barramento do processador;
Barramento de cach;
Barramento de memria;
Barramento de entrada e sada.


Figura 6 Exemplo de uma arquitetura de barramentos

O Barramento do Processador utilizado pelo processador internamente.

O Barramento de Cache em organizaes de computadores mais recentes, um barramento dedicado
para acesso memria cache do computador. A memria cache de mais alta velocidade que a memria
principal podendo ser interna ou externa a UCP.

O barramento de Memria responsvel pela conexo da memria principal ao processador e possui
velocidade mais baixa que o da memria principal.

O Barramento de Entrada e Sada (ou E/S) um conjunto de circuitos e linhas de comunicao que
possibilitam a ligao dos perifricos com a parte interna do computador (UCP e chipset placa me).

Este barramento normalmente segue padres internacionais e as freqncias de transferncia so mais
baixas que as anteriores. So exemplos de barramentos de entrada e sada: VESA, ISA, MCA, EISA, VLB,
PCI, AGP, PCI Express.