Buscar

Introducao_a_Arquitetura_de_Computadores

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Arquitetura de Computadores Profa Luiza Mourelle 1 
Introdução à Arquitetura de Computadores 
Um programa pode ser definido como uma seqüência de instruções que 
descrevem como executar uma determinada tarefa. 
Uma instrução pode ser definida como um comando para o processador. 
Linguagem de máquina corresponde ao conjunto de instruções 
primitivas do computador. Devem ser simples, reduzindo a complexidade 
e custo dos circuitos. 
Tradução é o método pelo qual um programa escrito numa linguagem 
L2 é substituído por um outro programa escrito em L1, então executado 
pela máquina M1, cuja linguagem de máquina é L1. 
Arquitetura de Computadores Profa Luiza Mourelle 2 
Introdução à Arquitetura de Computadores 
Interpretação é o método pelo qual um programa escrito em L1 executa 
cada instrução do programa escrito em L2, através de uma seqüência de 
instruções L1 equivalentes. 
Máquina virtual compreende um computador hipotético para uma 
determinada linguagem, tendo esta como linguagem de máquina. 
Para uma melhor compreensão da arquitetura de um computador, 
podemos dividí-lo em níveis de hierarquia. Nível compreende uma 
máquina M com sua linguagem de máquina L, dentro de um computador. 
Uma máquina define uma linguagem, assim como uma linguagem define 
uma máquina. 
Arquitetura de Computadores Profa Luiza Mourelle 3 
Introdução à Arquitetura de Computadores 
Um computador com n níveis pode ser visto como n diferentes 
máquinas virtuais, cada uma com a sua linguagem de máquina. 
Um programador de nível n não precisa conhecer os níveis inferiores. 
Nível 0 ou nível de lógica digital é o hardware verdadeiro da máquina, 
cujos circuitos executam os programas em linguagem de máquina de 
nível 1. Não existe aqui o conceito de programa como uma seqüência 
de instruções a serem executadas. Neste nível, os objetos são 
denominados portas. 
Arquitetura de Computadores Profa Luiza Mourelle 4 
Introdução à Arquitetura de Computadores 
Nível 1 ou nível de microprogramação é o verdadeiro nível de máquina, 
havendo um programa denominado microprograma, cuja função é 
interpretar as instruções de nível 2. A instrução neste nível é denominada 
microinstrução. 
Nível 2 ou nível convencional de máquina é o primeiro nível de máquina 
virtual. A linguagem de máquina deste nível é comumente denominada 
linguagem de máquina. As instruções são executadas interpretativamente 
pelo microprograma. Em máquinas que não tenham o nível de 
microprogramação, as instruções de nível convencional de máquina são 
executadas diretamente pelos circuitos. 
Arquitetura de Computadores Profa Luiza Mourelle 5 
Introdução à Arquitetura de Computadores 
Nível 3 ou nível de sistema operacional apresenta a maior parte das 
instruções em linguagem de nível 2, um conjunto de novas instruções, 
organização diferente da memória, capacidade de execução de dois ou 
mais programas em paralelo. As novas facilidades são realizadas por um 
interpretador denominado sistema operacional, em execução no nível 2. 
As instruções de nível 3 idênticas às de nível 2 são executadas 
diretamente pelo microprograma. 
Arquitetura de Computadores Profa Luiza Mourelle 6 
Introdução à Arquitetura de Computadores 
Nível 4 ou nível de linguagem de montagem consiste de uma forma 
simbólica para uma linguagem de nível inferior. Os programas em 
linguagem de montagem são traduzidos para uma linguagem de nível 2 
ou 3, e, então, interpretados pela máquina apropriada. O programa que 
executa a tradução é denominado montador. 
Nível 5 ou nível de linguagem orientada para problemas consiste de 
linguagem de alto-nível. Os programas escritos nessas linguagens são, 
normalmente, traduzidos para o nível 3 ou 4 por tradutores conhecidos 
como compiladores. 
Arquitetura de Computadores Profa Luiza Mourelle 7 
Introdução à Arquitetura de Computadores 
Os níveis 2 e 3 são sempre interpretados, enquanto os níveis 4 e 5 são, 
geralmente, traduzidos. 
As linguagens de máquina dos níveis 1, 2 e 3 são numéricas, ao passo 
que as dos níveis 4 e 5 são simbólicas, contento palavras e abreviaturas. 
O hardware é constituído pelos circuitos eletrônicos e o software é 
constituído pelos programas. O firmware consiste no software embutido 
em dispositivos eletrônicos durante a fabricação. Em muitos 
computadores, o microprograma está em firmware. 
Arquitetura de Computadores Profa Luiza Mourelle 8 
Introdução à Arquitetura de Computadores 
Hardware e software são logicamente equivalentes, isto é, qualquer 
operação efetuada pelo software pode também ser implementada pelo 
hardware e qualquer instrução executada pelo hardware pode também 
ser simulada pelo software. 
A decisão de colocar certas funções em hardware e outras em software 
baseia-se em fatores tais como: custo, velocidade, confiabilidade e 
possíveis modificações. 
Arquitetura de Computadores Profa Luiza Mourelle 9 
Nível de Microprogramação 
O nível de microprogramação tem uma função específica: executar 
interpretadores para outras máquinas virtuais. 
Um microprograma compreende um programa que controla os 
registradores, os barramentos, a ULA, as memórias e outros componentes 
do hardware. 
Os registradores estão localizados fìsicamente dentro do processador. 
Um barramento é uma coleção de fios usados para transmitir sinais em 
paralelo. Pode ser unidirecional ou bidirecional. 
Arquitetura de Computadores Profa Luiza Mourelle 10 
Nível de Microprogramação 
Um barramento tri-state possui dispositivos capazes de apresentarem na 
saída 0, 1 ou alta impedância. 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 
saídas 
BC 
BA BB 
CK 
OE1 
OE2 
Arquitetura de Computadores Profa Luiza Mourelle 11 
Nível de Microprogramação 
Um multiplexador tem 2n entradas, uma saída da mesma largura da 
entrada e uma entrada de controle de n bits, que seleciona uma das 
entradas e a direciona para a saída. 
2 x 1 
A B 
saída 
entrada 
controle 
Um demultiplexador é o inverso de um multiplexador, direcionando a 
entrada para uma dentre 2n saídas, de acordo com as n linhas de controle. 
Arquitetura de Computadores Profa Luiza Mourelle 12 
Nível de Microprogramação 
Um decodificador tem n linhas de entrada e 2n linhas de saída. De acordo 
com o código binário da entrada, uma das saídas é ativada. 
4 x 16 
. 
. 
. 
0 
1 
2 
14 
15 
Um codificador é o inverso de um decodificador, possuindo 2n entradas e 
n saídas. Somente uma das entradas estará ativa. 
Arquitetura de Computadores Profa Luiza Mourelle 13 
Nível de Microprogramação 
A Unidade Lógica e Aritmética possui duas entradas e uma saída para 
dados, havendo outras entradas e saídas de controle. 
A B 
F(A,B) 
F0 
F1 
N 
Z 
Um deslocador é um circuito com capacidade para deslocar à direita ou à 
esquerda, ou mesmo não deslocar. 
deslocador 
S0 
S1 
ULA 
Arquitetura de Computadores Profa Luiza Mourelle 14 
Nível de Microprogramação 
A maioria dos computadores tem um barramento de endereço, um 
barramento de dados e sinais de controle para a comunicação entre a 
UCP e os demais componentes do sistema. 
Um acesso à memória é quase sempre consideravelmente mais demorado 
que o tempo necessário para executar uma única microinstrução. 
O registradorMAR é responsável pelo armazenamento do endereço da 
memória. O registrador MBR é responsável pelo armazenamento do 
dado. 
Arquitetura de Computadores Profa Luiza Mourelle 15 
MAR 
MBR 
endereço 
controle 
controle 
saída de dados 
entrada de dados WR 
RD 
barramento de dados 
barramento de endereço 
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 conteúdo do registro no barramento. 
Nível de Microprogramação 
Arquitetura de Computadores Profa Luiza Mourelle 16 
Nível de Microprogramação 
Um formato de microinstrução, 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 = não 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 = não desloca; 1 = desloca 1 bit à direita; 
 2 = desloca 1 bit à esquerda; 3 = x 
 
A 
M 
U 
X 
W 
R 
Arquitetura de Computadores Profa Luiza Mourelle 17 
Nível de Microprogramação 
Um ciclo básico 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 memória local ou no MBR. O seqüenciamento dos 
eventos compreende: 
1 - carregar a próxima microinstrução no registrador de microinstrução 
 (MIR); 
2 - colocar o conteúdo 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 necessário; 
4 - armazenar o valor existente no barramento C, na memória local ou 
 no MBR. 
Arquitetura de Computadores Profa 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 Profa Luiza Mourelle 19 
A escolha da próxima microinstrução é determinada pela lógica de 
microsequenciamento, durante T4, quando N e Z são válidos. 
 
As condições de desvio são: 
 
0 = não salte (a próxima microinstrução 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 Profa Luiza Mourelle 20 
Nível de Microprogramação 
O microprograma, para a arquitetura proposta, deve realizar a busca, 
decodificação e execução da instrução do programa de nível 
convencional de máquina. 
O registrador AMASK é a máscara de endereço (Ox007777) usada para 
separar os bits de endereço do restante da instrução. 
O registrador SMASK é a máscara de pilha (Ox000377) usada para 
separar a constante, associada às instruções INSP e DESP, do restante da 
instrução. 
Para realizar uma subtração utiliza-se complemento a dois: 
 x - y = x + y + 1 
Arquitetura de Computadores Profa Luiza Mourelle 21 
Nível de Microprogramação 
A microlinguagem de montagem consiste dos seguintes comandos: 
1 - atribuição: AC := A; 
2 - aritmética: PC := PC + 1; 
3 - lógica: 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 Profa Luiza Mourelle 22 
Nível de Microprogramação 
Em muitos computadores, a microarquitetura tem suporte de hardware 
para extrair código de operação da macroinstrução e colocá-lo 
diretamente no MPC. 
Não há instruções de E/S, utilizando E/S mapeada em memória. 
 (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 Profa Luiza Mourelle 23 
Microprogramação horizontal: microinstrução com campos muito pouco 
codificados. 
 
Microprogramação vertical: microinstrução com campos mais 
codificados. 
 
Um microprograma é mais vertical quanto maior for o grau de 
codificação da microinstrução. 
 
Uma microinstrução extremamente vertical poderia ter um código de 
operação e operandos. 
Arquitetura de Computadores Profa 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

Outros materiais