Escolar Documentos
Profissional Documentos
Cultura Documentos
Adio
Subtrao
Multiplicao
Diviso
Incremento
Decremento
Operao lgica AND
Operao lgica OR
Operao lgica XOR
Operao complemento
Deslocamento direita
Deslocamento esquerda
Tais operaes podem utilizar dois operandos (adio, and, etc..) ou apenas um valor (como, por exemplo, as
operaes de complemento ou deslocamento).
A ULA um aglomerado de circuitos lgicos e componentes eletrnicos simples que, integrados, realizam as
operaes mencionadas acima. Ela pode ser uma parte pequena da pastilha do processador, usada em
pequenos sistemas, ou pode compreender um considervel conjunto de componentes lgicos de alta
velocidade.
A ULA responsvel por processar as operaes aritmticas e lgicas requeridas nas instrues de mquina
(ver Figura 1)
ULA
Sinais de Controle
enviados pela UC
Entradas de Registradores
Figura 1
As operaes matemticas mais comuns so adio, deslocamento, rotao e operaes lgicas realizadas
sobre dois operandos e a de complemento sobre um operando. Outras operaes, como multiplicao, diviso,
etc, podem ser executadas por meio de microprogramas, ou ainda, podem ser realizadas por outro processador
interno, ou externo (co-processador). A ULA recebe um ou dois valores de entrada. Estes valores passam pelos
circuitos internos da ULA, de acordo com o sinal enviado pela UC e apresentam um resultado na sada da
prpria ULA. De acordo com o resultado, a ULA envia sinais para o registrador de FLAG, informando o que
ocorreu, como por exemplo, se o resultado igual a zero, se houve vai-um, etc. Na ULA, encontramos o
circuitos somadores, subtratores, comparadores, registradores de deslocamento, etc., que variam de
processador para processador.
2- Descreva as funes bsicas da Unidade Central de Processamento (UCP)
componentes principais
indicando os seus
Figura 1
Esta figura baseada em uma UCP simplificada, para facilitar a compreenso sobre o assunto. Um
processador real como os microprocessadores Intel, possuem vrios elementos adicionais.
O processamento responsvel pela realizao de atividades relacionadas com a execuo de uma operao.
O controle diz respeito s atividades de busca, interpretao e controle da execuo das instrues, bem como
o controle dos demais componentes do sistema de computao (memria, E/S).
3- Quais so as funes da Unidade de Controle de um processador?
A rea de controle de uma UCP a parte que realiza as seguintes atividades:
a) Busca de instruo que ser executada, armazenando-a em um registrador especialmente projetado para
esta finalidade.
b) Interpretao das aes que sero processadas durante a execuo da instruo. Por exemplo, se uma
soma, um complemento, etc.
c) Gerao dos sinais de controle apropriados para a execuo da instruo identificada. Sinais estes que so
enviados aos diversos componentes do sistema, sejam eles internos ou externos.
A parte de controle projetada para identificar o que deve ser feito, como deve ser feito e enviar os sinais
apropriados para os dispositivos que sero utilizados, no tempo adequado.
Unidade de Controle. Os dispositivos da UCP responsveis pelo controle so:
-
A Unidade de Controle possui a circuitaria necessria para realizar a movimentao de dados e instrues de e
para a UCP, enviando sinais de controle em instantes de tempo programado. Este dispositivo controla, por
exemplo, qual operao ser executada pela ULA. Os sinais de controle enviados pela UC ocorrem em vrios
instantes durante a realizao de um ciclo de instruo.
4- Quando se fala que um determinado computador de 8, 16, 32 ou 64 bits, a que est se referindo?
Ao tamanho da palavra do processador, ou seja, o nmero de bits que o processador capaz de manipular.
Isto diz respeito ao nmero de bits (tamanho) dos registradores internos, o tamanho em bits que a ULA capaz
de processar, o tamanho do barramento de dados.
5- Considere um computador que possua uma UCP com o PC (ou CI) de 16 bits e IR (ou RI) de 38 bits. Suas
instrues possuem dois operandos do mesmo tamanho (16 bits cada), alm do cdigo de operao.
5.1. Qual o tamanho da instruo?
5.2. Qual o tamanho do campo do cdigo de operao?
5.3. Considerando que a configurao bsica desta mquina de 16 K bytes de memria, at que tamanho
pode esta memria ser expandida?
5.1. O tamanho da instruo igual ao tamanho do registrador de instruo, uma vez que este armazena a
instruo que est sendo executada. Portanto, o tamanho da instruo de 38 bits.
5.2. Como a instruo tem tamanho de 38 bits e possuem dois operandos de 16 bits cada, o tamanho do cdigo
de operao :
38 16 16 = 6 bits
Instruo
Cod. Oper
Operando 1
Operando 2
6 bits
16 bits
16 bits
5.3. O tamanho do registrador PC, que usado para apontar para a prxima instruo a ser executada tem
tamanho de 16 bits. Com 16 bits, temos um total de 216 = 64K combinaes possveis que vai de 0 at 216 1,
ou seja, de 0 a 64K 1. Portanto, podemos expandir a memria at 64K palavras.
6- Um computador tem uma REM de 16 bits e um barramento de dados de 20 bits. Possui instrues de 1
operando, todas do tamanho de uma palavra de memria e de mesmo tamanho da palavra do processador.
Ele foi adquirido com uma placa de 4K de memria.
6.1. Qual o tamanho, em bits, do RDM e PC?
6.2. possvel aumentar a capacidade de armazenamento desta memria? At quanto? Por qu?
6.3. Qual a quantidade mxima de instrues de mquina que poderia existir neste computador?
6.1. Como o barramento de dados tem tamanho de 20 bits, o registrador RDM ter o mesmo tamanho, uma vez
que este registrador faz a interface entre o processador e o barramento de dados. O registrador REM, usado
para interconectar o processador ao barramento de endereo. Como REM possui 16 bits, o barramento de
endereo tambm ter 16 bits.
16
6.2. Como o barramento de endereo tem 16 bits, podemos ter uma memria com 2
possvel aumentar a quantidade de palavras de memria at 64K.
6.3. Supondo que o operando faa referncia endereos de memria, este deve ter tamanho de 16 bits. Como
a instruo possui o mesmo tamanho da palavra de memria e palavra do processador, chegamos concluso
que o tamanho da instruo de 20 bits. O tamanho do cdigo de operao dado por 20 16 = 4 bits. Com 4
bits, temos um total de 16 combinaes possveis e portanto, podemos ter no mximo um total de 16 instrues
de mquina.
7- Um computador possui um conjunto de 128 instrues de um operando; supondo que sua memria tenha
capacidade de armazenar 512 palavras e que cada instruo tem o tamanho de uma palavra do processador e
palavra de memria, responda as perguntas a seguir:
7.1 Qual o tamanho em bits do REM, RDM, RI, ACC e PC?
7.2 Qual a capacidade da memria em bytes?
7.3 Se alterarmos o tamanho das instrues para 17 bits, mantendo inalterado o tamanho do REM, quantas
novas instrues poderiam ser criadas?
9
7.1. Como a memria tem 512 palavras, ou seja, 2 palavras chegamos concluso que sero necessrias 9
linhas para enderear todas estas palavras de memria. Portanto o barramento de endereo e o REM so de 9
bits.
Ender (Binrio)
000000000
000000001
000000010
...
111111111
Ender (Hexa)
000
001
002
...
1FF
Ender
(Decimal)
Contedo
0
1
2
...
511
Com 512 palavras de memria, chegamos concluso que o operando dever ter um tamanho de 9 bits, para
enderear qualquer posio (ou palavra) de memria. Como temos um conjunto de 128 instrues,
necessitamos de Log 2 = 7 bits para o cdigo de operao. Portanto, o tamanho da instruo ser de 16 bits:
7 (para o cdigo de operao) mais 9 (para o operando).
128
A palavra de memria e a palavra do processador possuem o mesmo tamanho da instruo. Portanto o ACC e
o RDM tero 24 bits, enquanto o PC ter 16 bits. O total de bits da memria dado por: nmero de palavras x
tamanho da palavra: 64K x 24 = 1.572.864 bits
10- Considere as instrues definidas a seguir, todas elas com apenas um operando:
Instruo
LDA Op
STA Op
ADD Op
SUB Op
MUL Op
DIV Op
Significado
ACC Op
Op ACC
ACC ACC + Op
ACC ACC - Op
ACC ACC * Op
ACC ACC /Op
LDA
ADD
STA
LDA
MUL
SUB
STA
A
C
X
B
D
E
Y
8:
9:
10:
11:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
LDA
ADD
DIV
STA
X
Y
F
X
ACC = A
ACC = ACC + C
X = ACC
ACC = B
ACC = ACC * D
ACC = ACC E
Y = ACC
ACC = X
ACC = ACC + Y
ACC = ACC / F
X = ACC
ACC = A+C
X=A+C
ACC = B * D
ACC = B * D E
Y=B*DE
ACC = A + C
ACC = X + Y = (A + C) + Y = (A + C ) + (B * D E)
ACC = ((A + C) + (B * D E))/F
X = ((A + C) + (B * D E))/F
11- Utilizando as instrues descritas na tabela do exerccio 12, escreva os programas para as equaes a
seguir:
11.1. X = A + (B*(C-A) + (D-E/B) * D)
LDA
SUB
MUL
STA
LDA
DIV
STA
LDA
SUB
MUL
ADD
ADD
STA
C
A
B
T
E
B
Y
D
Y
D
T
A
X
11.2. Y = A + B*(C-D*(E/(B-F)) + B)
LDA
SUB
STA
LDA
DIV
MUL
STA
LDA
SUB
ADD
MUL
ADD
STA
B
F
T
E
T
D
T
C
T
B
B
A
Y
Contedo
00
01
02
03
C6
C7
1C6
4C7
2FE
1B7
1B6
FE
FF
Valores iniciais:
PC = 01H
IR = 317H
ACC = 20BH
REM = B5H
RDM = 65FH
A instruo 1C6 = (0001 1100 0110)2. O cdigo de operao 0001 representa a instruo LDA OP. Portanto
teremos a instruo: LDA C6, ou seja, ACC = [C6].
A prxima instruo: 4C7 = (0100 1100 0111)2. O cdigo de operao 0100 representa a instruo SUB OP.
Portanto teremos a instruo: SUB C7, ou seja, ACC = ACC [C7].
A instruo 2FE = (0010 1111 1110)2. O cdigo de operao 0010 representa a instruo STR OP. Portanto
temos a instruo STR FE: [FE] = ACC.
O programa em Assembly dado por:
LDA C6
SUB C7
STR FE
O endereo da primeira instruo a ser executada est armazenado no registrador PC. Considerando os
valores iniciais, a primeira instruo a ser executada est no endereo 01H, que 1C6. O valor contido em PC
passado para o REM que em seguida, enviado para a memria, atravs do Barramento de Endereo. A
memria ir decodificar este endereo e transferir para o processador, atravs do Barramento de Dados, o valor
contido no endereo 01H. Este valor ser armazenado em RDM e em seguida transferido para o Registrador de
Instruo (RI), para que possa ser decodificado e ento executado. Esta instruo ir armazenar no registrador
ACC, o valor contido no endereo C6. Aps a decodificao desta instruo, ser realizada mais uma operao
de leitura, para buscar o contedo do endereo C6 e armazen-lo em ACC.
ACC = [C6] ACC = 1B7.
De acordo com o ciclo de instruo, o valor do registrador PC incrementado, passando para 02H.
O valor contido em PC (02H) ser transferido para o registrador REM para ento ser enviado para a memria. A
memria ir decodificar este endereo e enviar para o processador o valor 4C7, que ser temporariamente
armazenado em RDM e em seguida, transferido para o registrador RI. Esta instruo ser decodificada e uma
nova operao de leitura ser realizada no endereo C7. O valor contido em C7 ser subtrado do valor do
ACC. Portanto teremos: ACC = ACC [C7] ACC = 1B7H 1B6H ACC = 001H.
O valor de PC incrementado, passando para 03H.
Finalmente, a instruo STR FE, ir armazenar o valor contido em ACC no endereo FE. Para isso, o valor de
PC novamente transferido para REM, que ser enviado para a memria. O valor contido no endereo 03H ser
enviado para o processador, sendo ento armazenado em RDM e em seguida transferido para o registrador RI.
Ser feita uma operao de escrita no endereo FE.
Valores recebidos pelos registradores durante a execuo do programa:
PC = 01H, 02H, 03H, 04H
IR = 317H, 1C6H, 4C7H, 2FEH,
ACC = 20BH, 1B7H, (1B7H 1B6H = 001H),
REM = B5H, 01H, C6H, 02H, C7H, 03H, FEH
RDM = 65FH, 1C6H, 1B7H, 4C7H, 1B6H, 2FEH, 001H
Memria aps a execuo das instrues:
Endereo (em Hexa)
00
01
02
03
C6
C7
FE
FF
Contedo
1C6
4C7
2FE
1B7
1B6
001