Você está na página 1de 5

Arquitetura e Organização de Computadores

Prof. James Blayne Oliveira Reis

Francisco das Chagas Vieira Filho

Lista de Exercícios 2

Obs.: Para as questões a seguir, considere, como referência, a Microarquitetura IJVM Mic-1.

1) Descreva, resumidamente, de quais fatores depende o projeto do Nível da Microarquitetura.

R.
Depende da arquitetura do conjunto das instruções a serem implementadas, bem como dos
objetivos de custo e performance

2) Esboce um diagrama e explique o que é e quais os passos do ciclo de Von Neumman.

1. A unidade de controle busca a próxima instrução do programa na memória principal;


2. O contador de programa é usado pela unidade de controle para determinar onde a instrução está
localizada;
3. A instrução é decodificada para uma linguagem que a unidade lógica aritmética possa entender;
4. Os operandos de dados requeridos para executar a instrução são carregados da memória e
colocados em registradores;
5. A unidade lógica aritmética executa a instrução e coloca os resultados em registradores ou na
memória.

R.

3) Qual a composição básica e quais as funcionalidades dos elementos que formam o Mic-1 (Figura 2)?

R.
Basicamente é composta de um caminho de dados (parte operativa) e uma unidade de controle.
A parte operativa executa as operações elementares sobre os dados e a unidade de controle
coordena e controla a parte operativa.

4) Um registrador pode ser lido e escrito no mesmo ciclo de clock sem produzir lixo? Por que?
R.
Sim, contanto que o tempo do ciclo do clock contemple a somatória dos subciclos implícitos
do caminho de dados: Δw+Δx+Δy+Δz.

5) Cite vantagens e desvantagens da integração das memórias de programa e dados ao circuito


integrado do microprocessador.

R.
Vantagens:
 Reduz o número de pinos do encapsulamento;
 Reduz os custos com componentes externos;
 Diminui as dimensões da montagem;
 Simplifica o circuito de aplicação;
Desvantagens:
 Aumenta o curto do μC;
 Limita a complexidade do programa embarcado;
 Limita o montante de dados manipuláveis;
6) Descreva o que ocorre durante cada subciclo em um ciclo do caminho de dados.

R.
Δw: Os sinais de controle são ajustados;
Δx: Os registradores são carregados no barramento;
Δy: Operação da ULA e deslocador;
Δz: Os resultados se propagam ao longo do barramento C de volta aos registradores.

7) Um chip comum é um somador de 8 bits. Quatro desses chips podem ser conectados para
formar um somador de 64 bits. Quantos pinos você espera que tenha o chip do somador de
8 bits? Por quê?

R.
Como são 8 bits, teremos 8 pinos para a saída que representa cada bit já somado, sabemos
que a soma ocorre bit a bit, logo deve haver o dobro de entradas que de saídas, portanto 16 entradas.
Ademais sabemos que os chips podem ser ligados em cadeia, devem existir então pinos para vai 1 de
entrada e de saída, 2 pinos. Somando o total de pinos mencionados 8+16+2=26 pinos para um somador
de 8bits.

8) Cite todos os pares de registradores do MIC-1 para tratar dados, endereços e microinstruções.
Diferencie-os.

R.
MAR e MDR são responsáveis pelo registro de endereços e dados respectivamente;
PC e MBR são responsáveis por identificar e registrar as instruções respectivamente;
SP e TOS são responsáveis pela movimentação ao logo da pilha de dados;
LV e CPP são responsáveis por apontar para variáveis locais e constantes respectivamente;
OPC e H são registradores temporários para armazenar o valor do registrador PC e o
segundo operando da ULA respectivamente.

9) Qual o objetivo de uma micro instrução? Descreva a função dos sinais que compõem uma palavra de
controle (micro instrução)?
R.
O objetivo da microinstrução é destinar um comando ou palavra de controle a ser
implementada pelo microcontrolador. As funções dos sinais seguem:

Escrita nos registradores: 9 vias;


Leitura dos registradores: 9 vias;
Controle da ULA e do Deslocador: 8 vias;
Leitura/escrita da Memória principal via MAR/MDR: 2 vias;
Busca na Memória principal via PC/BMR: 1 via;

10) O fato de o MAR trabalhar com palavras enquanto a memória física trabalha com bytes é suportado
por um artifício muito interessante. Explique.

R.
Quando o MAR é colocado no barramento de endereços, seus 32 bits não são mapeados
diretamente para as 32 linhas do endereço, 0-31. Em vez disso, 0 bit 0 do MAR é ligado à linha 2
do barramento de endereço, o bit 1 do MAR é ligado à linha 3 do barramento de endereço e assim
por diante. Os 2 bits superiores do MAR são descartados, visto que só são necessários para
endereços de palavra acima de 232, nenhum dos quais é legal para nossa máquina de 4GB.
Usando esse mapeamento, quando MAR é 1, o endereço 4 é colocado no barramento; quando
MAR é 2, o endereço 8 é colocado no barramento e assim por diante.

11) Como a arquitetura IJVM divide a memória? Caracterize cada uma das partes.

F0 F1 ENA ENB INVA INC FUNÇÃO


0 1 1 0 0 0 A
0 1 0 1 0 0 B
0 1 1 0 1 0 Ā
1 0 1 1 0 0 B̄
1 1 1 1 0 0 A+B
1 1 1 1 0 1 A + B +1
1 1 1 0 0 1 A+1
1 1 0 1 0 1 B+1
1 1 1 1 1 1 B–A
1 1 0 1 1 0 B–1
1 1 1 0 1 1 –A
0 0 1 1 0 0 A AND B
0 1 1 1 0 0 A OR B
0 1 0 0 0 0 0
0 1 0 0 0 1 1
0 1 0 0 1 0 –1
Tabela 1: Funções úteis da ULA Figura 1: ULA de 1 bit
R.
A IJVM divide a memória em:
 Pool de constantes:
o Não pode ser escrita pelos programas IJVM;
o Contém constantes, strings e ponteiros para endereços de memória;
o O registrador CPP (Constant pool pointer) aponta para a primeira
palavra do pool de constantes.
 O quadro de Variáveis Locais:
o No início guarda valores dos parâmetros (argumentos) do
procedimento chamado;
o O registrador LV contém o endereço da primeira posição do quadro
de variáveis locais.
 A pilha de Operandos
o Fica imediatamente acima do quadro de variáveis locais;
o O registrador SP.
 A Área do procedimento:
o Região de memória que armazena o programa;
o O registrador PC (Program Counter) aponta para o endereço da
instrução que deve ser buscada em seguida.
Obs. CPP, LV e SP apontam para palavras (4 bytes cada palavra);
PC aponta para bytes (cada instrução ocupa 1byte).

12) Na Figura 2 o campo da microinstrução que controla o acesso ao barramento B está codificado em
4 bits. Mas o campo do barramento C é controlado por um mapa de bits (cada sinal de controle é
representado por um bit da microinstrução). Explique por quê.
R.
O mapeamento bit-a-bit dos sinais de controle do barramento C na memória de controle é
desejável pois permite que uma microinstrução escreva um dado valor em mais de um
registrador ao mesmo tempo; Por outro lado, o mesmo não é verdadeiro para os sinais de
controle do barramento B; A seleção de mais de um registrador ao mesmo tempo geraria
conflito e possivelmente dano físico aos componentes. Uma boa solução para isso é fazer
com que o controle dos sinais de escrita do barramento B seja intermediada por um
decodificador capaz de endereça-los individualmente. Neste caso, poderia empregar um
decodificador comercial do tipo 4 para 16.

13) A Tabela 1 mostra uma maneira de fazer com que A apareça na saída da ULA. Sabendo que cada uma
das 32 ULA de 1 bit é implementado conforme a Figura 1, determine outra combinação binária que
desempenhe a mesma função.

14) Com base no diagrama da Figura 1, demonstre qual função a ULA deve desempenhar quando:
F0 F1 ENA ENB INVA INC
1 1 0 1 1 1
R.
B+1

15) Após implementar o MIC-1 em laboratório (Figura 2), você mede os tempos de propagação do
circuito e averígua que o mesmo gasta 1ns para carregar o MIR, 1ns para habilitar um registrador
para que este coloque seu conteúdo no barramento B, 3ns aguardando a operação da ULA e do
deslocador, e 1ns para que os resultados se propaguem de volta aos registradores. Se o intervalo
alto do clock não pode ser inferior a 2ns para que o sequenciador funcione corretamente, determine
a máxima frequência de clock com que seu microprocessador será capaz de operar (despreze os
tempos de transição de borda). Justifique sua resposta através de um diagrama de tempo indicando
cada intervalo da temporização.

Obs: consulte o microprograma para o MIC-1 no livro-texto (Tanenbaum – fig. 4.17)

Você também pode gostar