Você está na página 1de 8

ARQUITETURA DE COMPUTADORES

Prof. Ricardo Rodrigues Barcelar


http://www.ricardobarcelar.com.br
- Aula 1 ARQUITETURA DE COMPUTADORES
Em arquitetura de computadores sero estudados aspectos da estrutura e do
funcionamento dos computadores.
O objetivo apresentar de forma clara e abrangente a natureza e as caractersticas dos
sistemas de computao modernos.
O grande problema que encontramos nesta disciplina acompanhar as novas tecnologias
que vem surgindo e se aperfeioando dia-a-dia.
1. INTRODUO
Um sistema de computao consiste em um conjunto de componentes interrelacionados,
por isso mais fcil entender o funcionamento dos computadores se o estudarmos de forma
estruturada, de acordo com sua estrutura hierrquica.
Do ponto de vista da arquitetura importante conhecer os atributos que so visveis para
um programador em linguagem de mquina, e do ponto de vista da organizao as unidades
operacionais e suas interconexes.
Neste sentido, o conceito de computador digital que nortear todo o estudo da
arquitetura e organizao dos computadores.
Computador digital uma mquina que pode resolver problemas executando uma srie
de instrues que lhe so fornecidas (programas).
Partindo do princpio que o computador um equipamento que no pode resolver
problemas sem que haja instrues para tal preciso que haja recursos de hardware ou de
software para que o computador adote determinado comportamento.
As instrues fornecidas, ou o programa, um conjunto de instrues que descreve como
o computador realizar tal tarefa. Um exemplo perfeito disso um rob, que realiza somente um
conjunto de instrues previamente estabelecidas.
Ainda neste prisma, importante ressaltar que o computador no capaz de entender
nossa linguagem de instrues, nem mesmo aquelas linguagem que usamos para programar
(Java, Pascal, C, C++, etc). necessrio que tais instrues, escritas em linguagens de
programao, sejam traduzidas para uma linguagem conhecida pela mquina, denominada
linguagem de mquina. A Linguagem de mquina um conjunto de instrues muito bsicas
e simples implementadas pelos projetistas a fim de dar funcionalidade ao computador. Devido a
sua simplicidade, sua utilizao difcil e tediosa. A linguagem de mquina (binria - baixo nvel)
est muito distante de uma linguagem natural (humana - alto nvel).
Devido a esta dificuldade foi que surgiu a proposta de uma maneira estruturada de
organizar os computadores, denominada Organizao Estruturada de Computadores.
Os circuitos de um computador (Hardware) reconhecem e executam um conjunto limitado e
simples de instrues (linguagem de mquina - binria), como por exemplo, a soma, comparao,
transferncia de dados de uma parte da memria para outra.

ARQUITETURA DE COMPUTADORES
Prof. Ricardo Rodrigues Barcelar
http://www.ricardobarcelar.com.br
As instrues da linguagem de mquina devem:
- Ser simples;
- Ser compatvel com o uso da mquina;
- Ser compatvel com a performance requerida;
- Ter custo e complexidade da eletrnica reduzida (aplicao).
2. LINGUAGENS, NVEIS E MQUINAS VIRTUAIS
Supondo a existncia das linguagens:
L1: linguagem natural, do usurio (alto nvel e complexa)
L0: linguagem da mquina (baixo nvel e simples)
Um questionamento a ser respondido como compatibilizar L1 com L0?
Existem duas solues:
- Usar um tradutor, ou
- Usar um interpretador
2.1. Tradutor
-

Cada instruo de L1 substituda por um conjunto de instrues equivalentes de L0;


Assim, o processador executa o programa em L0;
Todo programa em L0 carregado em memria e executado;
O Programa pode ser traduzido uma nica vez e executado vrias vezes.

2.2. Interpretador
- Cada instruo de L1 substituda por um conjunto de instrues equivalentes de L0;
- O Processador executa instruo de L1 (transformada para L0) antes de executar a
prxima instruo;
- Cada instruo de L1, transformada para L0, carregada na memria e executada;
- No criado um programa em L0;
- Programa deve ser novamente interpretado para ser executado.
No entanto, possvel utilizar uma metodologia hbrida: tradutor + interpretador. Ao invs
de pensar em traduo ou interpretao, pode-se imaginar a existncia de um computador
hipottico, ou de uma mquina virtual M1, cuja linguagem de mquina seja L1 (e uma mquina
real M0 com linguagem L0).
Os programas poderiam ser escritos em L1, para a mquina M1 e:
1. Serem executados diretamente em M1, se esta mquina fosse de custo de construo
baixo; ou
2. Serem traduzidos ou interpretados para L0 e executados em M0;

ARQUITETURA DE COMPUTADORES
Prof. Ricardo Rodrigues Barcelar
http://www.ricardobarcelar.com.br
Na prtica, se implementa a soluo 2. As pessoas escrevem programas para mquinas
virtuais como se elas realmente existissem.
Muitos nveis de mquinas virtuais podem ser implementados. Cada linguagem usa a sua
linguagem antecessora como base, de modo que um computador que use essa tcnica pode ser
visto como um conjunto de camadas ou nveis, um em cima do outro, como mostra a figura que
se segue.

Figura 1- Mquina Multinvel

3. MQUINAS MULTINVEIS CONTEMPORNEAS


A grande maioria dos computadores modernos formada por dois ou mais nveis. A Figura
2 mostra o esquema de um computador com seus nveis:

ARQUITETURA DE COMPUTADORES
Prof. Ricardo Rodrigues Barcelar
http://www.ricardobarcelar.com.br

Figura 2 - Mquina Multinveis (Nveis)

O mtodo por meio do qual cada nvel suportado aparece indicado abaixo do nvel (junto
com o nome do nvel que o suporta)1.
3.1. Nvel 0: Nvel da Lgica Digital
Este o Nvel mais baixo da estrutura. Os objetos de interesse so conhecidos como
portas lgicas, onde cada porta lgica tem uma ou mais entradas digitais (0 ou 1) e calculam
funes lgicas simples sobre essas entradas.
Embora construdas com componentes analgicos, como transistores, as portas podem ser
modeladas com preciso como dispositivos digitais. Cada porta tem uma ou mais entradas digitais
(sinais que representam O ou 1) e computa como sada alguma funo simples dessas entradas,
como E (AND) ou OU (OR). Cada porta composta de, no mximo, um conjunto de transistores.
Um pequeno nmero de portas pode ser combinado para formar uma memria de 1 bit, que pode
armazenar um 0 ou um 1. As memrias de 1 bit podem ser combinadas em grupos de, por
exemplo, 16, 32 ou 64 para formar registradores. Um registrador pode conter de um nico nmero
binrio at algum valor mximo. Portas tambm podem ser combinadas para formar o prprio
mecanismo principal de computao.

Tanenbaum, 2001
4

ARQUITETURA DE COMPUTADORES
Prof. Ricardo Rodrigues Barcelar
http://www.ricardobarcelar.com.br
3.2. Nvel 1: Nvel da Microarquitetura
Normalmente, um conjunto de 8 a 32 registradores que formam uma memria local e um
circuito denominado ALU (Arithmetic Logic Unit), ou ULA (Unidade Lgica e Aritmtica), que
capaz de executar operaes aritmticas simples. Os registradores so conectados ALU para
formar um caminho de dados atravs do qual os dados transitam.
A operao bsica do caminho de dados consiste em selecionar um ou dois registradores,
fazendo com que a ALU efetue algo com eles (por exemplo, some-os) e armazene o resultado em
algum registrador.
Em algumas mquinas a operao do caminho de dados controlada por um programa
denominado microprograma2. Em outras, ela controlada diretamente por hardware.
No princpio este nvel era denominado nvel de microprogramao porque, no passado,
ele era quase sempre um interpretador de software. Atualmente o caminho de dados costuma ser,
de modo parcial, controlado diretamente por hardware.
Em mquinas nas quais o caminho de dados controlado por software, o microprograma
um interpretador para as instrues no nvel 2. Ele busca, examina e executa instrues uma por
uma, usando o caminho de dados para faz-lo. Por exemplo, no caso de uma instruo ADD
(SOME), a instruo seria buscada, seus operandos, localizados e trazidos para dentro do
registrador, a soma seria calculada pela ALU e, por fim, o resultado seria enviado de volta ao lugar
a que pertence. Em uma mquina com controle incorporado do caminho de dados, ocorreriam
etapas semelhantes, mas sem um programa explcito armazenado para controlar a interpretao
das instrues do nvel 2.

3.3. Nvel 2: Nvel da Arquitetura do Conjunto de Instrues ( nvel ISA - Instruction Set

Architeture)
um nvel definido pelo fabricante e dependente da arquitetura da mquina.
Os fabricantes disponibilizam um "Manual de Referncia da Linguagem de Mquina" ou
"Princpios de operao do Computador Modelo XYZ4W), ou algo similar. Nestes manuais deve
constar a descrio de como as instrues so executadas interpretativamente pelo
microprograma ou como elas so executadas diretamente pelo hardware. Quando descrevem o
conjunto de instrues da mquina, esto de fato descrevendo as instrues executadas por
interpretao pelo microprograma ou pelos circuitos de execuo do hardware.
Essas informaes so necessrias para os desenvolvedores de sistemas operacionais.
3.4. Nvel 3: Nvel do Sistema Operacional
No nvel 3 as instrues da linguagem deste nvel tambm podem conter instrues do
nvel ISA.

Microprograma um interpretador para as instrues do nvel 2.


5

ARQUITETURA DE COMPUTADORES
Prof. Ricardo Rodrigues Barcelar
http://www.ricardobarcelar.com.br
Suporta uma organizao diferente de memria e tem capacidade de rodar dois ou mais
programas simultaneamente, suportando inclusive sistemas de comandos ou de janelas
(windows);
Programadores deste nvel, e tambm dos nveis mais baixos, so conhecidos como
programadores de sistema. Os programadores dos nveis mais altos que so chamados
programadores de aplicao.
3.5. Nvel 4: Nvel da linguagem do montador ou de montagem (Assembly language)
Neste nvel encontra-se a Linguagem de montagem que uma forma simblica de
representao das linguagens do nvel mais baixo.
Esse nvel fornece um mtodo para as pessoas escreverem programas para os nveis 1,2 e
3 em uma forma que no seja to desagradvel quanto as linguagens de mquina real em si.
Programas em linguagem de montagem so primeiro traduzidos para linguagem de nvel 1, 2 ou
3, e em seguida interpretados pela mquina real ou real adequada. O programa que realiza a
traduo denominado assembler (montador).
3.6. Nvel 5: Nvel das linguagens orientadas para soluo dos problemas
O nvel 5 habitualmente consiste em linguagens projetadas para ser usadas por
programadores de aplicaes que tenham um problema a resolver. Essas linguagens costumam
ser denominadas linguagens de alto nvel. Neste nvel encontram-se as conhecidas linguagens
de alto nvel como Basic, C, Pascal, Java, LISP, etc;
Os Programas construdos por estas ferramentas so geralmente traduzidos para os nveis
3 e 4 por compiladores; Alguns so interpretados: Exemplo: programas em Java, MatLab, etc.
OBSERVAES IMPORTANTES
- Computadores so projetados como uma srie de nveis, cada um deles construdo em
cima de seu precursor.
- Cada nvel representa uma abstrao distinta, com diferentes objetos e operaes;
- A abstrao permite ignorar, "abstrair", temporariamente detalhes irrelevantes, de nveis
mais baixos, reduzindo uma questo complexa h algo muito mais fcil de ser entendido.
- O conjunto de tipos de dados, operaes e caractersticas de cada um dos nveis
chamado arquitetura do nvel.
- So parte da arquitetura as caractersticas que um programador do nvel deve enxergar,
como por exemplo, a disponibilidade de memria.
4. EVOLUO DAS MQUINAS DE VRIOS NVEIS
Os programas escrito na verdadeira linguagem de mquina de um computador (Nvel 1)
podem ser executados diretamente pelos circuitos eletrnicos/hardware (nvel 0) desse
computador sem necessidade da interveno de interpretadores ou de tradutores.

ARQUITETURA DE COMPUTADORES
Prof. Ricardo Rodrigues Barcelar
http://www.ricardobarcelar.com.br
Em contraste ao hardware, o software composto de algoritmos e por suas representaes
computacionais, que podem ser armazenados em discos, sendo sua essncia o conjunto de
instrues e no o meio fsico no qual eles so gravados.
Com a evoluo dos sistemas, a fronteira entre hardware e software tem desaparecido, por
conta do acrscimo, da remoo e da combinao de nveis.

Hardware e software so equivalentes logicamente


Qualquer operao realizada por software pode tambm ser realizada por hardware, pois o
hardware simplesmente o software petrificado. Neste caso, a recproca verdadeira e o
inverso pode ocorrer. Exemplo claro so os DVD's e placas criptogrficas.
A deciso em deixar algumas funes a cargo de hardware ou de software baseia-se em
fatores como custo, velocidade, confiabilidade e freqncia esperada de mudanas.
4.1. A inveno da microprogramao
Na dcada de 40 os computadores tinham somente dois nveis: O nvel ISA, onde toda
programao realizada e o nvel da lgica digital, onde os programas so executados. Os
circuitos do nvel da lgica digital eram complicados, difceis de entender e construir, alm de
pouco confiveis.
Na dcada de 50, surgiu a idia de se construir um computador em trs nveis. Este
deveria ter acoplado a si um interpretador (microprograma) com a funo de executar programas
escritos no nvel ISA por interpretao, fazendo com que os computadores precisassem de menos
circuitos eletrnicos. H de se considerar que os computadores da poca eram construdos com
vlvulas e sua diminuio aumentava a confiabilidade dos sistemas.
Em 1970 essa prtica tornou-se comum.
4.2. A inveno do Sistema Operacional
Nos primrdios, os computadores eram operados pelo prprio programador, o qual com
seus cartes perfurados carregavam um programa na memria e ele executava sua tarefa.
Por volta de 1960, pare reduzir o tempo gasto na execuo de programas, automatizando
os trabalhos de operao da mquina, foi criado o sistema operacional. Este era mantido na
memria do computador durante todo o tempo automatizava e gerenciava as atividades antes
desenvolvidas pelo programador.
Com o tempo os sistemas operacionais evoluram incorporando novas funes ao nvel ISA,
incluindo novas operaes para tratamento de entrada e sada. Estas instrues foram conhecidas
como macros do sistema operacional ou como chamadas ao supervisor. Atualmente usada
a expresso chamada de sistema.
Os primeiros Sistemas Operacionais eram conhecidos como sistemas batch e consumiam
algumas horas para execuo de alguns programas.
Ainda em 1960, foram concebidos os primeiros sistemas de tempo compartilhado,
onde vrios usurios poderiam compartilhar o uso do processador.

ARQUITETURA DE COMPUTADORES
Prof. Ricardo Rodrigues Barcelar
http://www.ricardobarcelar.com.br
4.3. Migrao de Funcionalidade para o Microcdigo
Nos idos de 1970 o conceito de microprograma tornou-se muito comum, oportunidade em
que os projetistas acrescentaram novas instrues ao conjunto de instrues do processador
simplesmente expandindo o microprograma.
Instrues como as abaixo relacionadas foram incorporadas:
- Instrues para multiplicao e para diviso de nmeros inteiros;
- Aritmtica em ponto flutuante;
- Chamada e retorno de procedimentos;
- Acelerar a execuo de loops;
- Manipular strings e caracteres.
Pela facilidade incluram algumas funcionalidades:
- Funcionalidade para acelerar o processamento de programa envolvendo clculo matricial;
- Funcionalidade para permitir que os programas pudessem ser deslocados de posio na
memria ps o incio da execuo;
- Sistemas de interrupo que enviam um sinal para o processador to logo uma operao
de entrada ou de sada termine;
- Capacidade de suspender a execuo de um programa e iniciar a execuo de outro,
usando para isso um nmero muito pequeno de instrues.
4.4. A Eliminao da Microprogramao
Durante a chamada era de ouro da microprogramao (1960-1970), os microprogramas
cresceram muito e tornaram-se muito lentos. Em alguns casos, o projeto dos computadores dava
uma volta de 360 voltando situao anterior inveno da microprogramao.
Com isso, pode-se provar que a fronteira entre o hardware e o software arbitrria e est
sempre em mudana.
Do ponto de vista do programador no interessa muito como uma instruo realmente
implementada, exceto se a implementao influir na velocidade de execuo da instruo.
5. CONCLUSO
Com isso, verificamos principalmente os nveis de organizao dos sistemas computacionais
bem como um breve relato de sua evoluo. Sabe-se que tal posicionamento nunca constante,
podendo evoluir no decorrer dos tempos de acordo com a evoluo da tecnologia, como visto com
a eliminao da microprogramao. Contudo, tais circunstncias sevem para nos trazer uma noo
de como os sistemas computacionais esto estruturados e organizados em nveis bastante
distintos.
6. BIBLIOGRAFIA
TANENBAUM, Andrew S. de. Organizao Estruturada de Computadores, 4 Edio, 2001
STALLINGS, William. Arquitetura de Computadores.

Você também pode gostar