Sistemas de Mirpocessadores I – prova 2 – Primeira avaliação

Transcrição

Sistemas de Mirpocessadores I – prova 2 – Primeira avaliação
Sistemas de Microprocessadores I – Lista de exercícios (questões de provas de semestre anteriores)
1 - Fazendo uma comparação entre a arquitetura proposta por Von Neumann e a arquitetura de um microcomputador
atual, tipo Pentium, cite 4 mudanças que considera como principais?
2 – Quais as duas principais aplicações da memória pilha na estrutura segmentada de um programa?
3 - A partir de que endereço físico de memória está armazenado o dado acessado em cada uma das instruções abaixo?
Qual o modo de endereçamento usado em cada uma delas?
Admita SI = DI = DS = 0100h, BX = ES = 0030h.
a) MOV AX, [SI+03]
b) MOV [DI], AX
c) MOV [BX+SI+05], DX
d) MOV AL, [30h]
e) INC ES:[BX+SI+04]
4 - Dentre as opções apresentadas abaixo, marque com “1” as que são características apenas dos micros de 8 bits, com
“2” as que são características apenas dos micros de 16 bits, com “3” as que são características apenas de micros de 32
bits, com “x1” as que são características dos micros de 8 e 16 bits, com “x2” as que são características dos micros de
16 e 32 bits e com x3 as que são características comuns a todos eles (considere como referência bibliográfica apenas a
apostila do curso).
( ) Capacidade de endereçamento máxima de 1Mbyte;
( ) Estrutura "pipelined";
( ) "Bus" de dados de 8 bits;
( ) "Bus" de endereços de 16 bits;
( ) "Bus" de dados de 32 bits;
( ) Capacidade de endereçamento de 4 Gigabytes de memória física;
( ) Capacidade de executar instruções de acesso a memória com 0 (zero) estados de espera
( ) Unidade aritmética de ponto flutuante interna ao microprocessador
( ) Caché interno
( ) Capacidade de endereçamento máxima de 64 Kbytes de memória;
( ) Estrutura seqüencial
( ) Barramento de endereços limitado a 20 bits.
( ) Busca antecipada de instruções.
5 - Dentre as opções apresentadas abaixo, marque com “1a” as que são características próprias de arquiteturas RISC,
com “2a” as que são características próprias de arquiteturas CISC, com “3a” as que são características próprias de
arquiteturas SISC, com “x1” as que são características comuns dos micros de arquitetura RISC e CISC, com “x2” as
que são características comuns aos micros de arquitetura SISC e RISC e com x3 as que são características comuns a
todos eles (considere como referência bibliográfica apenas a apostila do curso).
( ) Conjunto de instruções baseado na abordagem load/store
( ) Conjunto de instruções voltados a aplicação
( ) Nenhuma instrução aritmética, lógica ou de E/S opera diretamente na memória
( ) Instruções executadas em ciclo único
( ) Instruções e modos de endereçamento simples
( ) Instruções e modos de endereçamento dedicados
( ) Instruções implementadas em hardware
( ) Abordagem otimizada de instruções implementadas em hardware e em software
( ) Estrutura “pipelining” otimizada
( ) Elevado número de registradores de uso geral
( ) Uso de registradores de uso específico a aplicação
( ) Ausência de registradores de uso específico
( ) Caches internos para instruções e dados
( ) Número e formato de instruções tão grande quanto possível
( ) Número de modos de endereçamento tão grande quanto possível
( ) Instruções executadas em múltiplos ciclos
( ) Acesso à memória através dos diversos tipos de instruções
( ) Existência de registradores de uso específico
( ) Controle e interpretação de instruções através de micro-código.
6. Associe cada linha da coluna 1 com uma linha da coluna 2 que melhor se associe. Uma marcação errada ou em
branco anula uma marcação certa.
Coluna 1
Apresenta um conjunto muito específico de instruções
Dados e instruções acessados por barramentos distintos
Mesma memória compartilhando instruções e dados
Modos de endereçamento simples
Acesso direto a memória sem a interferência direta do μprocessador
Unidade de memória de mais rápido acesso de um μComputador
Memória de mais lento acesso de um computador com arquitetura de
Von Neumann
Modo de endereçamento adequado para tratamento de vetores e
matrizes
Indicador de empréstimo em uma operação de subtração
Deslocamento em um segmento de dados, código ou pilha.
Ponteiro do segmento de código
Estrutura desenvolvida a partir do 8086
Primeiro a permitir a inclusão de uma memória cache externa
Memória volátil construída com componentes dinâmicos
Programa residente em ROM
Unidade onde são processadas todas as instruções
Tipo de memória onde estão localizadas as instruções buscadas de
um programa e ainda não decodificadas.
Quando desabilitado impede a ocorrência de interrupções
Define a capacidade de endereçamento de um μProcessador
Microcomputador em um chip
Apontam para a próxima instrução que será executada.
Mapeamento de endereço não utilizado pela linha x86
Instruções de diferentes tamanhos e diferentes tempos de execução
Memória implementada com componentes estáticos.
Define os ciclos de barramento de um μComputador.
Estrutura própria dos micros x86 anteriores ao 8086
Coluna 2
1
80386 DX
2
80486DX
3
ALU
4
Cache
5
CF
6
CISC
7
CPU
8
CS:IP
9
10
11
12
13
14
15
16
17
DMA
DRAM
E/S por mapeamento de memória
Endereçamento efetivo
FIFO
Firmware
Harvard
HD
IF
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Indexado
indexado por base
Memória de Massa
Memória Principal
Microcontrolador
Pipelined
Registrador de Instrução
Registros internos ao μProcessador
RISC
Seqüencial
SISC
Via de Controle
Via de endereços
Von Neumann
7. Sabendo que o clock de processamento de um µprocessador é de 2,50 GHz e que qualquer ciclo de barramento
ocorre em 1 período de clock, qual o tempo necessário para três execuções de um loop com as três instruções
seqüências dadas abaixo? Considere que cada unidade executa sua tarefa num tempo equivalente a um ciclo
barramento. Se forem incluídos dois ciclos de espera em ciclos de leitura a memória de dados, qual o atraso verificado
na execução do mesmo loop? Com zero estados de espera, qual o maior tempo de resposta que uma memória ligada a
este microprocessador pode apresentar?
a) Construa o pipeline para os dez primeiros ciclos de barramento admitindo as quatro unidades do Gx86 (UB –
Unidade de busca, UI – unidade de decodificação, EU – unidade de execução e UA – unidade de geração de endereço
de memória de dados).
I1 = {UB, UI, UE, UA, UB}
I2 = {UB, UI, UA, UB, UE, UA, UB}
I3 = {UB, UI, UE, UA, UB}
UB
UI
UE
UA
1
2
3
4
5
6
7
8
9
10
b) Após a execução dos três loops com as três instruções acima, qual a quantidade total de ciclos gastos e qual a taxa
média de ciclos por instrução, dada por: CPI
Total de C iclos
N
de Instru ções
.
c) Se estas mesmas instruções fossem executadas num computador com estrutura seqüencial, qual o ganho
ou Speedup
CPI ou ciclos seqüencial
da estrutura pipeline para a seqüencial após a três execuções do loop?
CPI ou ciclos pipelined
8. Um programa apresenta as seguintes linhas de código:
1
DOSSEG
2
.MODEL small
3
.stack
4
.DATA
5
var1 DB 0
6
var2 DB 31h, 34h, 38h, 39h, 32h, 33h, 35h, 30h, 00
7
.CODE
8
main PROC
9
MOV AX, @DATA
10
MOV DS, AX
11
MOV BX, OFFSET var1
12
MOV AL,30H
13
XOR AH, AH
14
volte1: CMP AH,[BX+1]
15
JZ fim
16
SUB [BX+1], AL
17
INC BX
18
INC [var1]
19
JMP volte1
20
fim:
MOV AH, 4Ch
21
INT 21h
22
main ENDP
23
END
Com base no programa anterior, responda:
a) Qual o tamanho reservado para a área de pilha? Qual o tamanho do segmento de dados?
b) Após a execução da linha 19, quais os valores armazenados em BX e IP se [var1] = 08
c) Quais os valores finais das variáveis var1 e var2?
d) Escolha quatro linhas com diferentes modos de endereçamento e os referencie na terceira coluna.
09. Qual o tipo de interleave mostrado na figura a e na figura b mostradas abaixo? Qual é o utilizado pelos
microcomputadores que usam processadores x86? Apresente (pelo menos duas) vantagens e desvantagens do
interleave mostrado na figura b com relação ao mostrado na figura a.
Figura a.
M0
M1
0
2
n
n
2n
2 -1
M2
2
2n
3n
2 -1
M3
2
3n
4n
2 -1
2 -1
Figura b
M0
M1
M2
M3
0
1
2
3
2 -4
2 -3
2 -2
2 -1
4n
4n
4n
4n
10. Considere o algoritmo apresentado abaixo e transcreva para linguagem assembly
10.a) todo o laço 2.
10.b) os laços 1 e 5.
Variáveis:
Inteira: I, J, N, K
Vetor Inteiro: X, Y
Início do Programa:
N = 20
I=1
Laço 1: Enquanto I for menor ou igual a N faça
X(I) = 1
I=I+1
Fim do Laço 1
I=2
Laço 2: Enquanto I for menor ou igual a N faça
J=2
Laço 3: Enquanto (I * J) for menor ou igual a N faça
X(I * J) = 0
J=J+1
Fim do Laço 3
I=I+1
Laço 4: Enquanto X(I) for igual a zero e I menor ou igual a N faça
I=I+1
Fim do Laço 4
Fim do Laço 2
I=1
K=1
Laço 5: Enquanto I for menor ou igual a N faça
Se X(I) for igual a 1 então faça
Y(K) = I
K=K+1
Fim do Se
I=I+1
Fim do Laço 5
K=K-1
Fim do Programa
11. Seja o seguinte trecho de código:
...
CMP AL,BL
JC R1
JZ R2
MOV AL,CL
CMP AL,DL
JNC R4
JMP R5
...
Indique qual será o destino de desvio em cada um dos casos a seguir:
a. AL = 10h, BL = 05h, CL = F0h, DL = F0h
b. AL = 9Ah, BL = 12h, CL = 31h, DL = B5h
c. AL = 03h, BL = 03h, CL = 19h, DL = 7Ch
d. AL = 7Fh, BL = A0h, CL = 34h, DL = B6h
12. Para cada uma das afirmações feitas a seguir, assinale V ou F, conforme considerar a afirmação verdadeira ou
falsa.
Cada resposta errada ou em branco anula uma resposta certa.
( ) O endereço de retorno das sub-rotinas é armazenado na pilha pela instrução CALL
( ) Os “flags” do Gx86 são alterados somente por instruções que causam alterações no acumulador.
( ) A instrução RET é usada ao final de uma sub-rotina para retornar ao DOS.
( ) Quando o valor do flag zero é 1, pode-se garantir que há no mínimo um registrador cujo valor é zero.
( ) A instrução POP transfere 2 bytes para a pilha, com o mais significativo sendo movido primeiro para o destino.
( ) A diretiva .CODE é usada para indicar o endereço inicial de um programa.
( ) A Unidade de Controle é responsável pela execução das operações de comparação solicitadas pelos programas.
( ) Registradores e cachês L1 e L2 são componentes internos à CPU.
( ) O chipset não pode ser fabricado por uma empresa diferente da que fabrica a placa-mãe.
( ) Na segmentação de programa, a memória principal é dividida em páginas, relativamente grandes quando
comparadas com os blocos de uma memória cache.
( ) A arquitetura Intel x86, que atualmente está presente na maioria dos microcomputadores, tem suas raízes no
microcomputador 8086. Só foi possível manter esta compatibilidade devido à arquitetura RISC destes processadores.
( ) O ISA foi o primeiro padrão de barramento de 32 bits.

Documentos relacionados