Você está na página 1de 42

ARQUITETURA

DE
COMPUTADORE
S
Prof: Ellson Silva
Email: ellson.pilartes@gmail.com

1. CONCEITOS BSICOS
1.1. Introduo aos Sistemas de
Computao
1.2 Projecto de Sistemas de
Computao

1.1. Introduo aos Sistemas de


Computao
O principal objetivo apresentar os princpios

que regem a

organizao (sistema / estrutura ) de computadores.


A motivao para criar mquinas de computao sempre foi,
essencialmente, melhorar a velocidade de clculos, uma vez que a
velocidade de calculos humana limitada.
Adicionalmente, buscava-se tambm reduzir fontes de erros, tais
como distraes, descuidos e cansao
A pr-histria das mquinas computacionais foi marcada pela criao
das mquinas de calcular, tais como a Pascalene (Pascal, 164243), o
Stepped Reckoner (Leibniz, 1674) e o Engenho a diferenas (Babbage,
18221842).
Somador/Acumula
dor

Entrada/Operando
Organizao das mquinas de calcular

Primeiros Computadores
Os marcos tecnolgicos que precederam a era da computao foram
a introduo de sequncia de cartes perfurados para controle de tear
(J.-M. Jacquard, 1801) e a concepo da lgebra booleana (G. Boole,
1854).
O Engenho Analtico (1834/71) de Charles Babbage, foi o que se pode
denominar de o primeiro computador (ou algo mais prximo de uma
calculadora programvel
Caracteristicas :
Capacidade de computar qualquer operao matematica
Unidade para quatro operaes bsicas (Mill), com 2 acumuladores principais
e alguns auxiliares
Unidade para armazenar dados (Store), com capacidade para 100 nmeros
Cartes perfurados para operaes e variaveis
Unidades de saida (impressora ou cartos perfurado)
MILL

STORE

OPERATIO
N
CARDS

VARIABL
E
CARDS

Organizao do engenho analtico

PRINTER/
CARD.PER
F

Os computadores eletrnicos
Os primeiros marcos tecnolgicos da era dos computadores eletrnicos foram:
O desenvolvimento da vlvula triodo (L. de Forest, 1906) como uma
extenso da vlvula diodo (J. Fleming, 1904);
Desenvolvimento de circuitos binrios baseados em lgebra booleana (G.
Stibitz, 1937).
John Vincent Atanasoff e Clifford Berry, de Iowa State University,
desenvolveram uma Calculadora eletrnica dedicada para a resoluo de
sistemas de equaes lineares simultneas, denominado ABC (Atanasoff-Berry
Computer)
Alan Turing, na Inglaterra, fez a especificao de computador mecnico que
se tornou operacional em 1940.
Colossus foi o primeiro computador completamente eletrnico, por
Newman com participao de Alan Turing.
Maior impacto teve o Projeto ENIAC (Electronic Numerator, Integrator,
Analyzer, and Computer), desenvolvido entre 1943 e 46, por John W. Mauchly e
J. Presper Eckert, pesava cerca de 30 toneladas e consumia 140 KW. Utilizava
aritmtica decimal, com memria de 20 acumuladores de 10 dgitos, cada dgito
usando 10 bits para sua representao.
Vrios novos projetos surgiram a partir dele.

Os computadores eletrnicos, apesar de representar grande avano em relao


a seus similares eletromecnicos, apresentavam duas grandes limitaes: baixa
capacidade de memria e longo tempo de programao.
O marco para quebrar essa barreira foi a concepo do conceito de programa
armazenado, associada ao projeto EDVAC (Eletronic Discrete Variable Automatic
Computer), um sucessor do ENIAC com ampla capacidade de memria e que
utilizava aritmtica binria.

U.C

Entrad
a

U.A

Memria
(Programas e
dados)
Organizao do EDVAC.

Saida

Sistema de computao
Consiste num conjunto de dispositivos eletrnicos (hardware) capazes de
processar informaes de acordo com um programa (software).
Os principais elementos de um sistema de computao:
CPU
Memria Principal
Subsistema de Entrada e Saida (E/S)
Mecanismos de interconexo entre esses componentes

Pode ainda ser composto:


Rede de computadores,
servidorese cluser, dependendo da situao e das necessidades.
O sistema operacional o software mais importante porque ele fornece
as bases para a execuo das aplicaes, s quais o usurio deseja
executar.
Exemplos de sistemas operacionais so o Windows, o
Macintosh e o Linux, dentre outros

Estrutura geral de um sistema de computao

Aplicativos

Sistema
Operacional

Componentes
Fsicos

Componentes Fsicos

Componentes Bsicos
Perifricos
Componentes Multimdia
Componentes de rede

Sistema Operacional

Ncleo do sistema operacional


Programas de sistema (utilitrios,
bibliotecas, ...)
Arquivos de configurao

Aplicativos

Browser (Netscape, Explorer, Google Chrome,


etc)

Estrutura geral de um sistema de computao

Aplicativos

Sistema
Operacional

Componentes
Fsicos

COMPONENTES FSICOS

Monitor
Teclado
Mouse
Gabinete de sistema
Placa principal
Processador
Memria

Placas controladoras de perifricos


Placa controladora de vdeo, de disco, de rede, etc)

Unidades de armazenamento
Discos Magnticos
Unidade leitora de Floppy

Estrutura geral de um sistema de computao

Aplicativos

Sistema
Operacional

Componentes
Fsicos

SISTEMA OPERACIONAL
composto por:
Ncleo (kernel) do sistema operacional
Permanece carregado em memria
Processos de gerncia
Arquivos de configurao
Utilitrios do sistema
Programas bsicos necessrios para operao do sistema
Ex: DOS: format, dir, edit, copy, type, ....
Ex: UNIX: mkfs, ls, ps, vi, ...
Classificao
Quanto ao nmero de processos simultneos
Monotarefa
Multitarefa
Quanto ao nmero de usurios simultneos
Monousurio
Multiusurio

Estrutura geral de um sistema de computao

Aplicativos

Sistema
Operacional

Componentes
Fsicos

Aplicativos
Browser (Netscape, Explorer)
Programa de editorao eletrnica
Progama de processamento de imagem
CAD
Banco de Dados

Caracterizao de um sistema de
computao
Quanto ao tipo de sistema
Quanto aos servios oferecidos

Microcomputador pessoal
Minicomputador
Estao grfica de trabalho
Servidor
Super estao grfica de
trabalho
Supercomputador
Mainframe

Cliente de servio
Servidor de servio

Microcomputador pessoal
Objetivo:
Utilizao por uma nica pessoa
Baixo custo

Caractersticas
sistema operacional simplificado
custo reduzido (hardware barato e de baixo desempenho)
capacidade de processamento reduzida

Mini Computador
Objetivo:
Sistema que permita utilizao por vrios usurios
Sem necessidade de interface grfica

Caractersticas

Vrios terminais alfanumricos (no grvicos)


Sem interface grfica
Sistema operacional robusto (geralmente UNIX)
Hardware de mdio custo
Processador de mdio desempenho

Workstation (Estao grfica de trabalho)


Objetivo:
Sistema para utilizao em aplicaes que necessitem de interfaces grficas

Caractersticas

Possui uma sistema grfico de alta resoluo (monitor +hardware grfico)


Possui software de gerenciamento de janelas (geralmente o X-Windows)
Sistema operacional robusto (geralmente UNIX)
Hardware de mdio custo
Processador de mdio desempenho

Super estao grfica de trabalho


Objetivo:
Sistema para utilizao em aplicaes que necessitem de interfaces grficas de
altissimo desempenho, geralmente para apresentao de imagens em tempo real

Caractersticas

Possui um hardware acelerador grfico


Alta capacidade de armazenamento (disco)
Alta taxa de E/S (disco)
Hardware de alto custo
Processador de bom desempenho

Servidor
Objetivo:
Sistema cuja finalidade executar um determinado servio

Caractersticas
Sistema operacional robusto (geralmente UNIX)
Processador de bom desempenho
Subsistema de E/S de bom desempenho
Outras caractersticas - de acordo com o tipo de servio oferecido

Supercomputador
Objetivo:
Sistema para execuo de aplicaes que necessitem de grande capacidade de
processamento

Caractersticas

Usualmente possui uma nica interface para operao (no necessriamente grfica)
Alta capacidade de armazenamento (disco)
Alta Taxa de E/S (disco)
Processador de altssimo desempenho
Sistema de custo muito elevado

Mainframe
Objetivo:
Sisteam para execuo de aplicaes que necessitem de confiabilidade de processamento

Caractersticas
No possui interface grfica
Bom subsistema de E/S
Processador de bom desempenho
Sistema geralmente no interopervel (no um Sistema Aberto)
Geralmente confivel

Cliente de servio
Cliente de servio de arquivos
cliente de servio de impresso
cliente de servio de e-mail
cliente de servio de WEB
cliente de servio de FTP
cliente de servio DNS
cliente
de
servio
de
processamento

Servidor de servio
Servidor
Servidor
Servidor
Servidor
Servidor
Servidor
Servidor

de arquivos
de impresso
de e-mail
WEB
FTP
DNS
de processamento

1.2. Projecto de Sistemas de Computao


No projeto de sistemas computacionais no nvel de processador, os tipos de
componentes so: Processadores ,
Memrias,
Dispositivos de entrada e sada,
e meios de interconexo.
Processadores. Contemplam componentes tais como CPU, controladores e
coprocessadores. Tm um conjunto de instrues (de propsito geral para a CPU,
especializado para coprocessadores) operando
sobre instrues e dados (obtidos e armazenados externamente) organizados em
palavras.
Memrias. Incluem dois subsistemas principais, memria principal e memria
secundria. O custo associado memria est diretamente relacionado sua
capacidade de armazenamento e sua velocidade de operao.
Dispositivos de entrada e sada. So conversores de representao fsica de
dados. Em geral, so lentos quando comparados com o processador.
Meios de interconexo. Estabelecem a comunicao entre componentes
atravs de barramentos sob seu controle. Um problema crtico na utilizao dos
meios de interconexo a conteno, a disputa pelo uso simultneo de recursos
compartilhados.

Ilustrao de uma CPU

RD
RE
ACC
PC
RI
ULA

Registrador de dados
Registrador de endereos da memria
Registrador acumulador
Registrador contador de programa
Registrador de instrues
Unidade lgica e aritmtica

1.2. Projecto de Sistemas de Computao


O projeto de um sistema de computadores com arquitetura de alto desempenho
oferece diversas alternativas. Em alguns casos, possvel atingir os resultados esperados
atravs da manipulao do algoritmo para melhor ajust-lo organizao do sistema. Em
outros casos, mudanas na organizao bsica do sistema podem ser necessrias. H
ainda casos onde organizaes alternativas, tais como o uso de paralelismo, podem ser
mais adequadas.

Durante o processo de definio de arquitetura, algumas questes de interesse so:


Qual o espao de armazenamento necessrio para um dado conjunto de programas ou
dados?
Qual o fator de utilizao dos diversos componentes do sistema?

Assim, no desenvolvimento de um sistema computacional de alto desempenho, os


aspectos relevantes a serem considerados so:
Projeto de processadores: os fatores que mais afetam o desempenho da unidade
central de processamento.
Como acelerar o processamento (decodificao e execuo) de instrues. As
contribuies da abordagem RISC.
Sistemas de memria hierrquica: estratgias para melhorar velocidade de acesso
nos diversos nveis
da hierarquia de memria, com nfase para cache.
Sistemas paralelos: vantagens e dificuldades relacionadas.

Classificao bsica
Com base no relacionamento e organizao dos componentes de um sistema
computacional, esses sistemas podem ser classificados entre mquinas von Neumann e
mquinas no-von Neumann.
2.1.1 Mquinas von Neumann
A caracterstica de mquinas von Neumann a composio do sistema a partir de trs
subsistemas bsicos: CPU, memria principal e sistema de entrada e sada
Eles Utilizam o conceito de programa armazenado, a execuo seqencial de
instrues e a existncia de um caminho nico entre memria e unidade.
A CPU (unidade central de processamento), por sua vez, tem trs blocos principais:
unidade de controle (UC), unidade lgico-aritmtica (ALU) e registradores, incluindo-se a
um registrador contador de programa (PC) que indica a posio da instruo a executar.
Memoria principal

CPU
Registrador
Registrador
es
es
PC

AL
U

Unidade
Unidade de
de controlo
controlo

Sistema de E/S
Arquitetura de mquinas von Neumann

Mquinas no-von Neumann


As mquinas que no se enquadram na definio de mquinas von Neumann so
denominadas mquinas no-von Neumann. Essa categoria ampla, incluindo sistemas
computacionais tais como:
Mquinas paralelas: vrias unidades de processamento executando programas de forma
cooperativa, com controle centralizado ou no;
Mquinas de fluxo de dados: no executam instrues de um programa, mas realizam
operaes de acordo com a disponibilidade dos dados envolvidos;

Redes neurais artificiais: tambm no executam instrues de um programa, trabalhando


com um modelo onde resultados so gerados a partir de respostas a estmulos de entrada;
Processadores sistlicos (VLSI): processamento ocorre pela passagem de dados por
arranjo de clulas de processamento executando operaes bsicas, organizadas de forma a
gerar o resultado desejado.

2. CIRCUITOS DE APLICAO
ESPECFICA
2.1.
2.2.
2.3.
2.4.

Unidade de Processamento
Unidade de Controlo
Linguagem de Descrio do Hardware
Unidade Lgica e Aritmtica

2. CIRCUITOS DE APLICAO ESPECFICA


Descreveremos projecto de sistemas digitais em termos de duas componentes:
- Unidade de Processamento, tambm chamada de circuito de dados, que contm
toda a lgica que faz os clculos propriamente ditos bem como os registos onde os
dados so guardados.
- Unidade de Controlo que gere quais as operaes que a unidade de processamento
deve efectuar em cada ciclo de relgio.
Para permitir descrever de maneira clara o algoritmo de realizao de operaes
complexas em termos das operaes bsicas da unidade de processamento, foram
desenvolvidas linguagens de descrio de hardware.
Embora as unidades de processamento possam ser projectadas para um fim especfico,
em muitos casos opta-se por usar unidades que disponibilizam um conjunto de
operaes aritmticas e lgicas tpicas, chamadas Unidades Aritmticas e Lgicas ou
ULA
O projecto de sistemas complexos envolve diferentes nveis de abstraco, o projecto
incia no mais abstracto, descendo sucessivamente para nveis mais concretos. projecto
sucessivamente dividido em mdulos mais pequenos, o que permite ir aumentando o
nvel de detalhe, mantendo-o sempre como um problema gervel em cada nvel. este
processo de dividir para conquistar que faz o sucesso deste conceito de nveis de
abstraco.
Os sistemas digitais so, assim, normalmente estruturados em duas unidades
principais, a Unidade de Processamento e a Unidade de Controlo

A unidade de processamento constituda por pequenos mdulos interligados para


armazenar e processar a informao til do sistema. Recebe as entradas a processar.
As unidades de processamento so tipicamente construdas usando os mdulos
combinatrios de mdia complexidade
A unidade de controlo responsvel por gerar os sinais de controlo que
sequenciam as operaes bsicas da unidade de processamento de forma a que o
sistema realize operaes complexas.
O conjunto de sinais de controlo que saem da UC para a unidade de processamento
chama-se palavra de controlo. A sequncia de sinais de controlo gerada pela unidade
de controlo pode depender dos resultados dos clculos efectuados pela unidade de
processamento. Esta informao fornecida unidade de controlo por bits de estado
ou flags,

Linguagem de Descrio de Hardware

a Linguagem de especificao de sistemas mais complexos. Faz a descrio


com um nvel de abstraco mais elevado do que as funes booleanas ou os
diagramas de estado (HDL).
Embora o nvel de abstraco possa variar, em geral esta descrio feita ao
nvel de transferncia entre registos, em que o projectista define quais as microoperaes efectuadas entre registos em cada ciclo de relgio
Existem vrios formatos possveis para as linguagens de descrio de
hardware: AHDL (Altera Hardware Description Language) e os padres VHDL e
Verilog.

3. Arquitectura de um
Computador
3.1 Tipos de Computadores
3.2 Organizao Interna
3.3 Interaco com o
Exterior

ARQUITECTURA DE UM COMPUTADOR
Um computador um sistema digital programvel atravs de uma sequncia de instrues
guardadas em memria, que o intruem a executar operaes elementares de manipulao de
dados. O seu elemento crucial a sua unidade central de processamento, ou processador.

A ideia de um sistema de processamento de informao que seja


reconfigurvel atravs de um programa guardado em alguma forma de
memria muito antiga, remontando aos princpios do sculo XIX. Charles
Babbage projectou o primeiro computador mecnico capaz de desempenhar
sequncias de operaes automaticamente, o difference engine (engenho
Diferencial)
ENIAC, foi o 1 computador funcional, que ficou operacional em 1946 e
podia ser programado para calcular tabelas matemticas relacionadas com
aplicaes militares. Usava uma tecnologia baseada em vlvulas electrnicas
e era programado atravs de um conjunto de cabos que, conforme estivessem
ligados ou desligados, especificavam o contedo da memria do programa. Os
seus resultados eram escritos em cartes perfurados ou numa mquina de
escrever elctrica.
Este conceito de usar a memria para guardar tanto o programa como os
dados atribuda a John von Neumann, Por essa razo, as arquiteturas em
que uma s memria guarda tanto os dados como os programas, de
arquitetura de von Neumann . Esta arquitetura veio a impr-se alternativa
de ter duas memrias separadas para os dados e para o cdigo, que
conhecida como arquitetura de Harvard .

A utilizao de transstores como tecnologia de base veio


permitir a evoluo para a segunda gerao de
computadores, que j usavam tecnologias de discos
magnticos para guardar a informao de forma no voltil e
tinham memrias baseadas em ferrites.
A 3 gerao de computadores surgiu com o advento dos
circuitos integrados, em 1961, o que permitiu uma grande
reduo no tamanho dos computadores e o consequente
aumento do nmero de portas lgicas.
A criao do circuito integrado com grande escala de
integrao (VLSI ) veio permitir a criao de processadores
inteiramente contidos num s circuito integrado, o que fez baixar
o preo de um computador por forma a permitir o seu uso como
um computador pessoal.
O 1 processador disponvel num nico circuito integrado foi
4004, da Intel
O 1 computador pessoal tenha sido baseado no processador
8080, da Intel, mas o passo mais importante para os
computadores pessoais foi a definio pela IBM, de um modelo
padro para computadores pessoais, ou PCs , baseados no

3.1 Tipos de Computadores


Apesar de existir um maior numero de PCs baseados nos processadores
Intel, existem ainda muitos outros tipos de processadores, tais como:
os computadores da Apple, nos processadores da srie 680X0 e na famlia
de processadores PowerPC, ambos da Motorola.
A criao dos circuitos integrados possibilitou a utilizao de processadores
para controlar sistemas electrnicos autnomos, geralmente conhecidos
como micro-controladores, so mais simples, menos dispendiosos e mais
flexveis no que respeita aos sistemas de
entrada/sada.
Um outro tipo de processadores dedicados so os processadores de sinal,
que so projetados para serem extremamente eficientes em aplicaes de
processamento de sinal, e so usados em sistemas para telecomunicaes
tais como telefones e televises.

3.2 Organizao Interna de um Computador


Um computador um sistema digital programvel atravs de uma
sequncia de instrues guardada em memria. Estas instrues especificam
qual a sequncia de operaes de manipulao de dados que deve ser
executada.
A unidade que processa a sequncia de instrues a unidade central de
processamento (CPU) , ela constituda por circuitos combinatrios que
permitem efetuar operaes lgicas e aritmticas, e por registos que permitem
guardar os dados e os resultados dessas operaes.
A memria encontra-se ligada unidade central de processamento atravs
de dois barramentos

Esquematicamente, a execuo de uma instruo guardada em memria


passa pelas seguintes fases:

A UCP envia para a memria o endereo da prxima instruo a


executar e recebe uma palavra de memria que guarda a codificao
da instruo a executar.

A UCP descodifica a instruo, identificando quais os operandos e qual o


tipo

A UCP faz um ou mais acessos memria para carregar os operandos


especificados pela instruo para registos internos.
Na posse de todos os operandos, a unidade central de processamento
executa a operao especificada na instruo.
Aps obter o resultado, a UCP escreve o mesmo em memria, caso seja
necessrio, ou num registo interno.

3.3 Interaco com o Exterior


A CPU e a memria, so o ncleo central de um computador, mas, por si
s, no podem desempenhar qualquer funo til. Para comunicar com os
utilizadores, o computador usa diversos dispositivos perifricos tais como
teclados, ratos, monitores, impressoras, discos e fitas magnticas para
armazenar dados, e interfaces de rede para comunicar com outros
computadores.
A comunicao com os outros dispositivos feita por portos de
entrada/sada, os mesmos controlam os perifricos usando protocolos que
variam de perifrico para perifrico.
A CPU, a memria e os portos de entrada/sada so acoplados numa
nica unidade fsica, para que possam comunicar atravs de barramentos
curtos e de alta velocidade
O tratamento que cada porto de entrada/sada d aos dados depende
do perifrico que lhe est ligado. Por exemplo, um porto de entrada/sada
que corresponda a uma porta srie envia os dados recebidos para uma
linha srie. Esses dados so depois interpretados por um perifrico que
entenda o protocolo srie, como, por exemplo, um modem.

Outros portos de entrada/sada tratam os dados de forma diferente. Um


porto paralelo pode ser usado para comunicar comuma impressora. Outros
portos correspondem a perifricosmais complexos, como, por exemplo, placas
grficas e controladores de disco. e

4. ARQUITECTURA DE CONJUNTO DE INSTRUES

4.1 Linguagem Assembly


4.2 Instrues Assembly
4.3 Especificao dos Operandos
4.4 Codificao das Instrues
4.5 Instrues do P3

ARQUITECTURA DE CONJUNTO DE
INSTRUES

O processador P3 semelhante a processadores comerciais, exibindo muitas das suas


caractersticas, evitando, no entanto, as idiossincrasias inerentes a estes. Almde se
apresentar a linguagem assembly deste processador, descreve-se tambm a forma
como uma instruo assembly traduzida para linguagem mquina, sendo assim
abordados os nveis 2 e 3

Um computador , de facto, um sistema digital programvel ou configurado a diversos


nveis de abstraco. A figura acima, ilustra os diversos nveis de abstraco a que um
computador pode ser visto.
da responsabilidade dos programadores interpretarem as especificaes que definem
o funcionamento de uma aplicao e escreverem o cdigo em linguagem de alto nvel que
as realiza. Este cdigo de alto nvel no directamente executado pelo computador,
sendo primeiro traduzido, por um outro programa, chamado compilador, para uma
linguagem muito mais simples, a linguagem assembly.
Apesar da sua simplicidade, a linguagemassembly no ainda directamente
executada pelo processador. Temde ser traduzida para linguagemmquina, que, essa sim,

Instrues Assembly
Uma instruo guardada em memria como uma combinao de bits que
especifica, de forma nica, uma sequncia de operaes de transferncias entre
registos que deve ser executada pelo processador.
De um modo geral, as instrues so executadas pela ordem em que esto
ordenadas em memria. Em alguns casos, esta sequncia de execuo alterada,
quer porque executada uma instruo de controlo, quer porque o processador
recebe um pedido externo e tem de alterar a ordem de execuo das instrues.
Existem trs grandes classes de instrues:
As instrues de transferncia de dados transferem informao de um local
(registo, posio dememria ou porto de entrada/sada) para outro, sem alterar a
informao original.

As instrues de manipulao de dados aplicam um operador aritmtico ou lgico


ao operando ou operandos, especificados pela sua localizao, e guardam o
resultado da mesma.

As instrues de controlo permitem alterar a sequncia normal de instrues e


definir qual a prxima instruo a ser executada.

As instrues de transferncia de dados so usadas para copiar ou salvaguardar


dados. Copiam valores para registos ou posies de memria onde possam ser
manipulados, para criar diversos tipos de estruturas de dados como, por exemplo,
arrays e listas, e, ainda, para efectuar operaes de entrada e sada.
No processador P3, a instruo de transferncia de dados mais simples a instruo
MOV. Por exemplo, a instruo MOV R1, M[00A0h] copia o contedo da posio de
memria 00A0h para o registo R1.

As instrues de manipulao de dados so as que efectivamente executam as


operaes teis num programa. Todos os processadores suportam instrues aritmticas
bsicas tais como adio e subtraco. Suportam ainda operaes lgicas bsicas, como
a disjuno e a conjuno, e operaes de deslocamento.
Muitos processadores executam tambm operaes aritmticas mais complexas como
multiplicao, diviso e outras funes matemticas sobre nmeros inteiros ou reais.
Entre estas instrues encontram-se, tipicamente, instrues como ADD, SUB, INC,
MULT, AND, OR e XOR.
Por exemplo, no processador P3, a instruo ADD R1,M[00B0h] soma o contedo do
registo R1 ao contedo da posio de memria 00B0h, guardando o resultado no registo
R1.
A sequncia de instrues a executar controlada por um registo especial, o contador de
programa, este registo designado por PC (program counter), que contm o endereo
de memria onde se encontra a prxima instruo a ser executada.
As instrues de transferncia e de manipulao de dados incrementam o contador de
programa para o valor correspondente posio de memria onde se inicia a instruo
que se segue na sequncia normal de execuo, o que faz com que essa instruo seja a
prxima a ser executada.
As instrues de controlo permitem alterar a ordem de execuo de instrues,
incondicionalmente ou, em alternativa, apenas se a operao anterior produzir um
resultado que satisfaa certas condies. Mais especificamente, as instrues de
controlo permitem especificar qual o endereo da prxima instruo a executar, atravs
da alterao do registo contador de programa, PC.

4.3 - Especificao dos Operandos


Existem quatro origens possveis para os operandos de uma instruo: registos
internos do processador, constante especificada na prpria instruo, uma localizao
em memria, e portos de entrada/sada.

Registos Internos
A utilizao de operandos em registos vantajosa por duas razes.
1. O acesso a dados guardados num registo interno muito mais rpido do que o
acesso a dados em memria.
2. Existem menos registos internos do que posies de memria, o que permite
utilizar menos bits para especificar um registo do que uma posio de memria.
Isto leva a que as instrues que utilizam apenas registos necessitem de menos
bits para a sua codificao, ocupando menos memria e sendo lidas e executadas
mais rapidamente.

Memria e Portos de Entrada/Sada


Existem duas formas possveis de tratar os dados provenientes de portos de
entrada/sada. Uma filosofia, adoptada em muitas famlias de processadores, consiste
emdisponibilizar umconjunto de instrues especiais para a entrada e sada de dados.
Esta soluo equivale a ter entradas/sadas independentes do sistema dememria
(independent IO). Neste caso, existe um espao de endereamento especfico para
operaes de entrada sada.
Um acesso a um dado porto de entrada/sada especificado colocando um dado valor
nos bits de endereo do processador (ou em parte deles) e controlando uma ou mais
linhas adicionais que especificam que a operao uma operao de entrada ou
sada e no um acesso a memria.

Codificao das Instrues


Na maioria dos processadores, as instrues bsicas de manipulao de dados actuam
sobre um mximo de dois operandos.
Por exemplo, uma instruo de adio poder calcular RES=OP1 + OP2. Para
especificar completamente uma instruo deste tipo, necessrio especificar qual o tipo
de operao, quais os operandos OP1 e OP2 bem como qual a localizao de destino do
resultado. Para analisar as diversas possibilidades de codificao das instrues de um
processador, considere-se um processador com a seguinte configurao:
Registos: o processador possui 8 registos internos de 16 bits cada um, numerados de 0
a 7.
Memria: o processador acede a uma memria de 216 palavras de 16 bits cada, o que
significa que cada posio de memria acedida com um endereo de 16 bits. Isto
corresponde a uma capacidade total de endereamento de 64K palavras ou 128K octetos.
Portos de entrada/sada: os portos de entrada sada so mapeados em memria,
fazendo-se o acesso aos mesmos atravs de instrues normais de transferncia de
dados.
Instrues: o conjunto de instrues contm 40 instrues.