Sistemas Microprocessados – Trabalho AP1
Prof. Walfredo Lucena
Aluno :
QUESTÕES
1) Explique a lei de Moore.
2) Qual é a principal característica que distingue um microprocessador?
3) Qual é a diferença entre DRAM e SRAM em termos das características como velocidade, tamanho, custo e
aplicação?
4) Explique por que um tipo de RAM é considerado como analógico e o outro digital.
5) Quais são algumas aplicações para a ROM?
6) Quais são as diferenças entre EPROM, EEPROM e memória flash?
7) Qual a diferença entre memória flash NAND e NOR?
8) Considere uma célula de uma MP cujo endereço é, em hexa, A32E7 e que tem armazenado em seu conteúdo
um valor igual a, em hexa, 81. Pergunta-se:
a) Qual deve ser o tamanho, em bits, do REM e do RDM nesse sistema?
b) Qual deve ser a máxima quantidade de bytes que podem ser armazenados nessa memória?
9) Um computador possui um RDM com 32 bits de tamanho e um REM com capacidade para armazenar
números com 24 bits. Sabe-se que o tamanho da célula de memória deste computador é de 8 bits e que ele
possui uma quantidade N de células, igual à sua capacidade máxima de armazenamento.
a) Qual é o tamanho do barramento de endereços?
b) Quantas células de memória são lidas em uma única operação de leitura?
10) Considere um microprocessador de 32 bits hipotético com instruções de 32 bits, compostas de dois
campos: o primeiro byte contém o opcode e o restante, o operando imediato ou o endereço de um
operando.
a) Qual é a capacidade de memória máxima endereçável diretamente (em bytes)?
b) Discuta o impacto sobre a velocidade do sistema se o barramento do microprocessador tiver:
1. Um barramento de endereço local de 32 bits e um barramento de dados local de 16 bits, ou
2. Um barramento de endereço local de 16 bits e um barramento de dados local de 16 bits.
c) Quantos bits são necessários para o contador de programa e o registrador de instrução?
11) Considere dois microprocessadores tendo barramentos de dados externos de 8 e 16 bits, respectivamente.
Os dois processadores são idênticos em outros aspectos e seus ciclos de barramento ocupam o
mesmo espaço.
a) Suponha que todas as instruções e operandos tenham 2 bytes de extensão. Por que fator diferem
as taxas de transferência de dados máximas?
b) Repita considerando que metade dos operandos e instruções tenham 1 byte de extensão.
12) Quais são as diferenças entre mapeamento direto, mapeamento associativo e mapeamento associativo
em conjunto?
13) Para uma cache mapeada diretamente, um endereço de memória principal é visto como consistindo
em três campos. Liste e defina os três campos.
14) Para uma cache associativa, um endereço de memória principal é visto como consistindo em dois campos.
Liste e defina os dois campos.
15) Para uma cache associativa em conjunto, um endereço da memória principal é visto como consistindo
em três campos. Liste e defina os três campos.
16) Qual é a diferença entre localidade espacial e localidade temporal?
17) Considere uma Memória Principal com 64 MB de capacidade associada a uma memória cache
(mapeamento direto) que possui 2K linhas, cada uma com largura de 16 bytes. Determine o formato do
endereço (tag, linha e palavra) para ser interpretado pelo sistema de controle da cache.
18) Uma cache associativa em conjunto consiste em 64 linhas, ou slots, divididas em conjuntos de quatro
linhas. A memória principal contém 4 K blocos de 128 palavras cada. Mostre o formato dos endereços
da memória principal.
19) Uma cache associativa por conjuntos, com duas linhas por conjuntos, possui linhas de 16 bytes e um
tamanho total de 8 KBytes. A memória principal de 64 MBytes é endereçável por byte. Mostre o formato dos
endereços da memória principal.
20) Qual a função dos seguintes registradores?
a) Contador de Instrução (PC - Program Counter)
b) Registrador de Status (PSW - Program Status Word)
21) Qual a vantagem do uso de muitos registradores em um processador?
22) Um computador possui uma memória principal com palavras de 24 bits. O conjunto de instruções consiste
de 150 operações diferentes. Todas as instruções possuem um campo de código de operação (opcode) e um
campo de operando (permitindo somente um endereço). Cada instrução é armazenada em uma palavra de
memória.
a) Quantos bits são necessários para o opcode?
b) Quantos bits são necessários para o operando?
c) Qual o tamanho máximo permitido para a memória?
d) Qual é o maior número binário sem sinal que pode ser armazenado em uma palavra de memória?
23) Considere um processador que possua uma parte do conjunto de instruções mostrada na tabela a seguir.
Neste processador todos os endereços possuem 16 bits e as instruções possuem um formato único e ele possui
um conjunto de 16 registradores de dados. Suponha que em um determinado instante, correspondente ao
término da execução de uma instrução qualquer, o PC (Program Counter) tenha armazenado o seguinte valor:
PC = 2B78, e que o RI (Registrador de Instrução) tenha armazenado o valor: RI = 2C4F08D9.
Opcode Reg. Op.
Tabela com algumas instruções do conjunto de instruções do processador
Opcode
(base 16) Assembly Descrição
00 HLT Parar
01 MOV R, Op. R ← (Op.)
02 MOVM OP.,R (Op.) ← R
10 JMP R, Op. PC ← Op.
11 JP R, Op. Se R > 0, então: PC ← Op.
12 JN R, Op. Se R < 0, então: PC ← Op.
13 JZ R, Op. Se R = 0, então: PC ← Op.
20 ADD R, Op. R ← R + (Op.)
21 SUB R, Op. R ← R – (Op.)
Pergunta-se:
a) Qual deverá ser a largura, em bits, do campo Opcode?
b) Qual deverá ser a largura do campo Reg.?
c) Quantos acessos à memória devem ser realizados para executar o ciclo completo da instrução cujo
Opcode é igual a 11?
d) E para a instrução com Opcode igual a 21?
24) Suponha que as instruções a seguir sejam encontradas nas respectivas posições de memória.
20 LDA 50
21 ADD 51
:
50 724
51 6
a) Mostre o conteúdo do PC e do Acumulador após a instrução no endereço 20.
b) Mostre o conteúdo do PC e do Acumulador após a instrução no endereço 21.
25) Defina resumidamente:
a) endereçamento imediato?
b) endereçamento direto?
c) endereçamento indireto?
d) endereçamento por registradores?
e) endereçamento indireto de registradores? modos de endereçamento.
26) Um campo de endereço em uma instrução contém o valor decimal 14. Onde está o operando
correspondente para
a) endereçamento imediato?
b) endereçamento direto?
c) endereçamento indireto?
d) endereçamento por registradores?
e) endereçamento indireto de registradores?
27) Considere um processador constituído de um RI (Registrador de Instrução) com 24 bits, um PC (Contador
de programa) de 12 bits, ULA, Unidade de Controle e vários registradores. Esse processador tem um conjunto
de 256 instruções de formato único, mostrado a seguir, e modos de endereçamento direto, indireto e por
registrador:
opcode R1 R2 operando
a) Quantos registradores de uso geral podem ser endereçados nesse processador?
b) Supondo duas instruções A e B, em que a instrução A acessa a MP (Memória principal) no modo indireto
e a instrução B acessa a MP no modo indireto por registrador, qual delas executa seu ciclo de instrução mais
rápido? Por quê?
28) Em um processador cuja memória principal é orientada a byte e possui endereços com 16 bits cada. Dado
que a memória contém os valores abaixo:
15B9 7C
15BA 82
15BB 15
15BC BE
15BD 9A
15BE 75
Pergunta-se:
a) Se uma instrução usa o modo direto e o campo operando possui o valor 15B9, qual será o valor do dado?
b) Se uma instrução usa o modo indireto e o campo operando possui o valor 15BB, qual será o valor do
dado?
29) Dados os valores de memória a seguir, e um processador com instruções de um operando. Quais valores
as seguintes instruções carregam no acumulador?
Considere que um caractere na frente do operando representa os seguintes modos de endereçamento:
sem caractere = imediato, # = direto e @ = indireto.
Endereço Dado Instrução Valor do
20 40 Acumulador
30 50 load 20
40 60 load #20
50 70 load @20
load 30
load #30
load @30
30) Considere as instruções definidas a seguir:
1 operando 3 operandos
load X -
store X -
add X add X,Y,Z (X ← Y+Z)
sub X sub X,Y,Z (X ← Y-Z)
mul X mul X,Y,Z (X ← Y*Z)
div X div X,Y,Z (X ← Y/Z)
Escreva o código em assembly para calcular o valor da expressão
X = (A + B x C) / (D – E x F)
a) Utilize somente instruções de 1 operando.
b) Utilize somente instruções de 3 operandos.
31) Considerando as instruções a seguir, indique a quantidade de ciclos de memória (operações de leitura e
escrita) despendidos para realizar seu ciclo de instrução completo:
INCR Op1 (Op1) ← (Op1) + 1
LD Op1,Op2 (Op1) ← (Op2)
ADD Op1,Op2 (Op1) ← (Op1) + (Op2)
32) Considere as instruções definidas a seguir (de 2 operandos):
MOV Op1,Op2 (Op1) ← (Op2) MPY Op1,Op2 (Op1) ← (Op1) ∗ (Op2)
ADD Op1,Op2 (Op1) ← (Op1) + (Op2) DIV Op1,Op2 (Op1) ← (Op1) / (Op2)
SUB Op1,Op2 (Op1) ← (Op1) − (Op2)
Escreva o código em assembly para calcular o valor da expressão X = A * (B + C * D - E / F)
33) Considere as instruções definidas a seguir (de um operando):
LDA Op. ACC ← (Op. ) STA Op. (Op. ) ← ACC
ADD Op. ACC ← ACC + (Op. ) SUB Op. ACC ← ACC − (Op. )
MPY Op. ACC ← ACC ∗ (Op. ) DIV Op. ACC ← ACC/(Op. )
Deduza a equação matemática cuja solução resultou no seguinte programa, criado com estas instruções:
LDA A
ADD C
STA X
LDA B
MPY D
SUB E
STA Y
LDA X
ADD Y
DIV F
STA X