Anda di halaman 1dari 24

Arquitetura de Computadores Prof

a
Luiza Mourelle
1
Introduo Arquitetura de Computadores
Um programa pode ser definido como uma seqncia de instrues que
descrevem como executar uma determinada tarefa.
Uma instruo pode ser definida como um comando para o processador.
Linguagem de mquina corresponde ao conjunto de instrues
primitivas do computador. Devem ser simples, reduzindo a complexidade
e custo dos circuitos.
Traduo o mtodo pelo qual um programa escrito numa linguagem
L2 substitudo por um outro programa escrito em L1, ento executado
pela mquina M1, cuja linguagem de mquina L1.
Arquitetura de Computadores Prof
a
Luiza Mourelle
2
Introduo Arquitetura de Computadores
Interpretao o mtodo pelo qual um programa escrito em L1 executa
cada instruo do programa escrito em L2, atravs de uma seqncia de
instrues L1 equivalentes.
Mquina virtual compreende um computador hipottico para uma
determinada linguagem, tendo esta como linguagem de mquina.
Para uma melhor compreenso da arquitetura de um computador,
podemos divid-lo em nveis de hierarquia. Nvel compreende uma
mquina M com sua linguagem de mquina L, dentro de um computador.
Uma mquina define uma linguagem, assim como uma linguagem define
uma mquina.
Arquitetura de Computadores Prof
a
Luiza Mourelle
3
Introduo Arquitetura de Computadores
Um computador com n nveis pode ser visto como n diferentes
mquinas virtuais, cada uma com a sua linguagem de mquina.
Um programador de nvel n no precisa conhecer os nveis inferiores.
Nvel 0 ou nvel de lgica digital o hardware verdadeiro da mquina,
cujos circuitos executam os programas em linguagem de mquina de
nvel 1. No existe aqui o conceito de programa como uma seqncia
de instrues a serem executadas. Neste nvel, os objetos so
denominados portas.
Arquitetura de Computadores Prof
a
Luiza Mourelle
4
Introduo Arquitetura de Computadores
Nvel 1 ou nvel de microprogramao o verdadeiro nvel de mquina,
havendo um programa denominado microprograma, cuja funo
interpretar as instrues de nvel 2. A instruo neste nvel denominada
microinstruo.
Nvel 2 ou nvel convencional de mquina o primeiro nvel de mquina
virtual. A linguagem de mquina deste nvel comumente denominada
linguagem de mquina. As instrues so executadas interpretativamente
pelo microprograma. Em mquinas que no tenham o nvel de
microprogramao, as instrues de nvel convencional de mquina so
executadas diretamente pelos circuitos.
Arquitetura de Computadores Prof
a
Luiza Mourelle
5
Introduo Arquitetura de Computadores
Nvel 3 ou nvel de sistema operacional apresenta a maior parte das
instrues em linguagem de nvel 2, um conjunto de novas instrues,
organizao diferente da memria, capacidade de execuo de dois ou
mais programas em paralelo. As novas facilidades so realizadas por um
interpretador denominado sistema operacional, em execuo no nvel 2.
As instrues de nvel 3 idnticas s de nvel 2 so executadas
diretamente pelo microprograma.
Arquitetura de Computadores Prof
a
Luiza Mourelle
6
Introduo Arquitetura de Computadores
Nvel 4 ou nvel de linguagem de montagem consiste de uma forma
simblica para uma linguagem de nvel inferior. Os programas em
linguagem de montagem so traduzidos para uma linguagem de nvel 2
ou 3, e, ento, interpretados pela mquina apropriada. O programa que
executa a traduo denominado montador.
Nvel 5 ou nvel de linguagem orientada para problemas consiste de
linguagem de alto-nvel. Os programas escritos nessas linguagens so,
normalmente, traduzidos para o nvel 3 ou 4 por tradutores conhecidos
como compiladores.
Arquitetura de Computadores Prof
a
Luiza Mourelle
7
Introduo Arquitetura de Computadores
Os nveis 2 e 3 so sempre interpretados, enquanto os nveis 4 e 5 so,
geralmente, traduzidos.
As linguagens de mquina dos nveis 1, 2 e 3 so numricas, ao passo
que as dos nveis 4 e 5 so simblicas, contento palavras e abreviaturas.
O hardware constitudo pelos circuitos eletrnicos e o software
constitudo pelos programas. O firmware consiste no software embutido
em dispositivos eletrnicos durante a fabricao. Em muitos
computadores, o microprograma est em firmware.
Arquitetura de Computadores Prof
a
Luiza Mourelle
8
Introduo Arquitetura de Computadores
Hardware e software so logicamente equivalentes, isto , qualquer
operao efetuada pelo software pode tambm ser implementada pelo
hardware e qualquer instruo executada pelo hardware pode tambm
ser simulada pelo software.
A deciso de colocar certas funes em hardware e outras em software
baseia-se em fatores tais como: custo, velocidade, confiabilidade e
possveis modificaes.
Arquitetura de Computadores Prof
a
Luiza Mourelle
9
Nvel de Microprogramao
O nvel de microprogramao tem uma funo especfica: executar
interpretadores para outras mquinas virtuais.
Um microprograma compreende um programa que controla os
registradores, os barramentos, a ULA, as memrias e outros componentes
do hardware.
Os registradores esto localizados fsicamente dentro do processador.
Um barramento uma coleo de fios usados para transmitir sinais em
paralelo. Pode ser unidirecional ou bidirecional.
Arquitetura de Computadores Prof
a
Luiza Mourelle
10
Nvel de Microprogramao
Um barramento tri-state possui dispositivos capazes de apresentarem na
sada 0, 1 ou alta impedncia. Utilizados quando h muitos dispositivos
ligados a um mesmo barramento.
D
Q
D
Q
D
Q
D
Q
D0 D1 D2 D3
CK
OE
Q0 Q1 Q2 Q3
entradas
sadas
BC
BA BB
CK
OE1
OE2
Arquitetura de Computadores Prof
a
Luiza Mourelle
11
Nvel de Microprogramao
Um multiplexador tem 2
n
entradas, uma sada da mesma largura da
entrada e uma entrada de controle de n bits, que seleciona uma das
entradas e a direciona para a sada.
2 x 1
A B
sada
entrada
controle
Um demultiplexador o inverso de um multiplexador, direcionando a
entrada para uma dentre 2
n
sadas, de acordo com as n linhas de controle.
Arquitetura de Computadores Prof
a
Luiza Mourelle
12
Nvel de Microprogramao
Um decodificador tem n linhas de entrada e 2
n
linhas de sada. De acordo
com o cdigo binrio da entrada, uma das sadas ativada.
4 x 16
.
.
.
0
1
2
14
15
Um codificador o inverso de um decodificador, possuindo 2
n
entradas e
n sadas. Somente uma das entradas estar ativa.
Arquitetura de Computadores Prof
a
Luiza Mourelle
13
Nvel de Microprogramao
A Unidade Lgica e Aritmtica possui duas entradas e uma sada para
dados, havendo outras entradas e sadas de controle.
A
B
F(A,B)
F0
F1
N
Z
Um deslocador um circuito com capacidade para deslocar direita ou
esquerda, ou mesmo no deslocar.
deslocador
S0
S1
ULA
Arquitetura de Computadores Prof
a
Luiza Mourelle
14
Nvel de Microprogramao
A maioria dos computadores tem um barramento de endereo, um
barramento de dados e sinais de controle para a comunicao entre a UCP
e os demais componentes do sistema.
Um acesso memria quase sempre consideravelmente mais demorado
que o tempo necessrio para executar uma nica microinstruo.
O registrador MAR responsvel pelo armazenamento do endereo da
memria. O registrador MBR responsvel pelo armazenamento do
dado.
Arquitetura de Computadores Prof
a
Luiza Mourelle
15
MAR
MBR
endereo
controle
controle
sada de dados
entrada de dados WR
RD
barramento de dados
barramento de endereo
CPU barramento
A linha de controle de MBR permite carregar o registro com dado da
UCP. O sinal RD carrega o registro com dado do barramento. O sinal WR
libera o contedo do registro no barramento.
Nvel de Microprogramao
Arquitetura de Computadores Prof
a
Luiza Mourelle
16
Nvel de Microprogramao
Um formato de microinstruo, contendo alguns campos codificados,
pode ser:
C
O
N
D
A
L
U
S
H
ADDR A B C
M
B
R
M
A
R
R
D
E
N
C
1 2 2 2 1 1 1 1 1 4 4 4 8
AMUX : 0 = latch A; 1 = MBR
COND: 0 = no salta; 1 = salta se N=1;
2 = salta se Z=1; 3 = salta sempre
ALU: 0 = A+B; 1 = A.B; 2 = A; 3 = NOT A
SH: 0 = no desloca; 1 = desloca 1 bit direita;
2 = desloca 1 bit esquerda; 3 = x

A
M
U
X
W
R
Arquitetura de Computadores Prof
a
Luiza Mourelle
17
Nvel de Microprogramao
Um ciclo bsico consiste em colocar os valores nos barramentos A e B,
armazen-los nos dois latches, pass-los pela ALU e pelo deslocador, e
armazen-los na memria local ou no MBR. O seqenciamento dos
eventos compreende:
1 - carregar a prxima microinstruo no registrador de microinstruo
(MIR);
2 - colocar o contedo dos registros nos barramentos A e B, e guard-los
nos latches A e B;
3 - dar tempo ALU e ao deslocador para produzirem um resultado e
carregar o MAR, se necessrio;
4 - armazenar o valor existente no barramento C, na memria local ou
no MBR.
Arquitetura de Computadores Prof
a
Luiza Mourelle
18
LA LB
AMUX
MAR
MBR
ALU
DESL
N
Z
A
M
U
X
C
O
N
D
A
L
U
S
H

M
B
R

M
A
R

R
D
W
R

E
N
C
C B A
A
D
D
R
LMS
1
2
3
4
DECA
DECB
DECC
MUX
MPC INC R
E
G
S MC
GSC
Arquitetura de Computadores Prof
a
Luiza Mourelle
19
A escolha da prxima microinstruo determinada pela lgica de
microsequenciamento, durante T4, quando N e Z so vlidos.

As condies de desvio so:

0 = no salte (a prxima microinstruo est em MPC + 1);
1 = desvie para ADDR, se N = 1;
2 = desvie para ADDR, se Z = 1;
3 = desvie indondicionalmente para ADDR.

Arquitetura de Computadores Prof
a
Luiza Mourelle
20
Nvel de Microprogramao
O microprograma, para a arquitetura proposta, deve realizar a busca,
decodificao e execuo da instruo do programa de nvel
convencional de mquina.
O registrador AMASK a mscara de endereo (Ox007777) usada para
separar os bits de endereo do restante da instruo.
O registrador SMASK a mscara de pilha (Ox000377) usada para
separar a constante, associada s instrues INSP e DESP, do restante da
instruo.
Para realizar uma subtrao utiliza-se complemento a dois:
x - y = x + y + 1
Arquitetura de Computadores Prof
a
Luiza Mourelle
21
Nvel de Microprogramao
A microlinguagem de montagem consiste dos seguintes comandos:
1 - atribuio: AC := A;
2 - aritmtica: PC := PC + 1;
3 - lgica: A := band (IR,SMASK);
B := inv (C);
4 - deslocamento: TIR:= lshift (TIR);
D := rshift (A + B)
5 - desvios: goto 0;
if N then goto 50;
Arquitetura de Computadores Prof
a
Luiza Mourelle
22
Nvel de Microprogramao
Em muitos computadores, a microarquitetura tem suporte de hardware
para extrair cdigo de operao da macroinstruo e coloc-lo
diretamente no MPC.
No h instrues de E/S, utilizando E/S mapeada em memria.
(4092) - dado a ser lido
(4093) - o bit de sinal indica dado para leitura (=1)
(4094) - dado a ser escrito
(4095) - o bit de sinal indica dispositivo pronto (=1)
Arquitetura de Computadores Prof
a
Luiza Mourelle
23
Microprogramao horizontal: microinstruo com campos muito pouco
codificados.

Microprogramao vertical: microinstruo com campos mais
codificados.

Um microprograma mais vertical quanto maior for o grau de
codificao da microinstruo.

Uma microinstruo extremamente vertical poderia ter um cdigo de
operao e operandos.
Arquitetura de Computadores Prof
a
Luiza Mourelle
24
LA LB
AMUX
MAR
MBR
ALU
DESL
N
Z
LMS
1
2
3
4
DECR2
DECR1 AND
MUX
MPC INC R
E
G
S
MC
GSC
/
/
4
4
NZ
RD
WR
DECOP
MIR
OP R1 R2
/
2
_
2
/
2
/
2
4 4 4
BA
BB
BC

Anda mungkin juga menyukai