Professional Documents
Culture Documents
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
Arquitetura de Computadores
Arquitetura de Computadores
Arquitetura de Computadores
Arquitetura de Computadores
Arquitetura de Computadores
Arquitetura de Computadores
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
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.
entradas D0 D Q CK OE Q0 Q1 sadas
Arquitetura de Computadores Profa Luiza Mourelle 10
BC D2 D Q D Q D3 CK OE1 OE2
D1 D Q
Q2
Q3
BA
BB
Nvel de Microprogramao
Um multiplexador tem 2n 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.
entrada A B
controle
2x1
sada
Um demultiplexador o inverso de um multiplexador, direcionando a entrada para uma dentre 2n sadas, de acordo com as n linhas de controle.
Arquitetura de Computadores Profa Luiza Mourelle 11
Nvel de Microprogramao
Um decodificador tem n linhas de entrada e 2n linhas de sada. De acordo com o cdigo binrio da entrada, uma das sadas ativada.
0 1 2 4 x 16 . . . 14 15
Um codificador o inverso de um decodificador, possuindo 2n entradas e n sadas. Somente uma das entradas estar ativa.
Arquitetura de Computadores Profa Luiza Mourelle 12
Nvel de Microprogramao
A Unidade Lgica e Aritmtica possui duas entradas e uma sada para dados, havendo outras entradas e sadas de controle.
A F0 F1 ULA F(A,B) B N Z
Um deslocador um circuito com capacidade para deslocar direita ou esquerda, ou mesmo no deslocar.
S0 S1 deslocador
Arquitetura de Computadores
13
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
14
Nvel de Microprogramao
CPU endereo controle MAR barramento barramento de endereo
barramento de dados WR RD
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.
Arquitetura de Computadores Profa Luiza Mourelle 15
Nvel de Microprogramao
Um formato de microinstruo, contendo alguns campos codificados, pode ser:
1 A M U X 2 C O N D 2 A L U 2 S H 1 1 1 1 1 4 C 4 B 4 A 8 ADDR M M E RW B A N D R R R C
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
Arquitetura de Computadores Profa Luiza Mourelle 16
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 Profa Luiza Mourelle 17
GSC
MC
R W E N C D R C
A D D R
DESL
Arquitetura de Computadores
18
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
19
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 Profa Luiza Mourelle 20
Nvel de Microprogramao
A microlinguagem de montagem consiste dos seguintes comandos: 1 - atribuio: 2 - aritmtica: 3 - lgica: AC := A; PC := PC + 1; 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 21
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
22
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
23
BC BB BA
AND
DECR1 DECR2
4 4 /
4 3 2 1
GSC
R1
R2
MIR
4 2/
DECOP
2_
/ 2
DESL
2 /
RD WR
Arquitetura de Computadores
24