Buscar

Lista de Atividades 02

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CURSO: ENGENHARIA DA COMPUTAÇÃO 
DISCIPLINA: ENGC50 - SISTEMAS MICROPROCESSADOS 
PROFESSOR: WILD FREITAS DA SILVA SANTOS 
 
LISTA DE ATIVIDADES 02 
NOME DO ALUNO: 
MATRÍCULA: 
 
EXERCÍCIOS PROPOSTOS 
1. Uma palavra em um computador little-endian com palavras de 32 bits tem o valor 
numérico de 3. Se ela for transmitida para um computador big-endian byte por byte e 
ali armazenada com o byte 0 no byte 0, o byte 1 no 1, e assim por diante, qual é seu 
valor numérico na máquina big-endian se for lido como um inteiro de 32 bits? 
 
2. Para as seguintes estruturas de dados, desenhe os layouts big-endian e little-endian, 
usando o formato da Figura 1. 
a. struct { 
double i; //0x1112131415161718 
} s1; 
b. struct { 
int i; //0x11121314 
int j; //0x15161718 
} s2; 
c. struct { 
short i; //0x1112 
short j; //0x1314 
short k; //0x1516 
short l; //0x1718 
} s3; 
 
 
Figura 1 - Exemplo de Big-Endian e Litte-Endian 
3. 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? 
 
4. Considere um processador de 16 bits no qual aparece dentro da memória principal o 
seguinte conteúdo, começando no local 200: 
 
Figura 2 - Exemplo de Memória Principal 
A primeira parte da primeira palavra indica que esta instrução carrega um valor em um 
acumulador. O campo Modo especifica um modo de endereçamento e, se apropriado, 
indica um registrador de origem; presuma que, quando usado, o registrador de origem 
é R1 e tem o valor 400. Há também um registrador base que contém o valor 100. O valor 
500 no local 201 pode ser uma parte do cálculo do endereço. Suponha que o local 399 
contém o valor 999, o local 400 contém o valor 1.000, e assim por diante. Determine o 
endereço efetivo e o operando a ser carregado para os seguintes modos de 
endereçamento: 
a. Direto. 
b. Imediato. 
c. Indireto. 
d. PC relativo. 
e. Deslocamento. 
f. Registrador. 
g. Indireto por registrador. 
h. Autoindexação com incremento 
usando R1. 
 
5. 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. 
 
6. Considere uma máquina com uma memória principal endereçável por byte com 216 
bytes e um tamanho de bloco de 8 bytes. Suponha que uma cache mapeada 
diretamente, consistindo em 32 linhas, seja usada com essa máquina. 
a) Como um endereço de memória de 16 bits é dividido em tag, número de linha e 
número de byte? 
b) Em que linha seriam armazenados os bytes com cada um dos seguintes endereços? 
 
Figura 3 – Endereços 
c) Suponha que o byte com endereço 0001 1010 0001 1010 seja armazenado na cache. 
Quais são os endereços dos outros bytes armazenados junto com ele? 
d) Quantos bytes de memória no total podem ser armazenados na cache? 
e) Por que a tag também é armazenada na cache? 
 
7. Considere um computador com as seguintes características: total de 1 MB de memória 
principal; tamanho de palavra de 1 byte; tamanho de bloco de 16 bytes; e tamanho de 
cache de 64 kB. 
a) Para os endereços de memória principal F0010, 01234 e CABBE, indique os valores 
correspondentes ao tag, ao endereço de linha de cache e ao offset da palavra, para 
uma cache mapeada diretamente. 
b) Indique dois endereços quaisquer da memória principal com diferentes tags que são 
mapeados para a mesma linha de cache para uma cache mapeada diretamente. 
c) Para os endereços da memória principal F0010 e CABBE, indique os valores 
correspondentes de tag e offset para uma cache totalmente associativa. 
d) Para os endereços da memória principal F0010 e CABBE, indique os valores 
correspondentes ao tag, ao conjunto de cache e ao offset, para uma cache 
associativa em conjunto com duas linhas. 
 
8. Considere uma cache com um tamanho de linha de 64 bytes. Suponha que, na média, 
30% das linhas na cache estejam modificadas. Uma palavra consiste em 8 bytes. 
a) Suponha que haja uma taxa de falha de 3% (razão de acerto de 0,97). Calcule a 
quantidade de tráfego da memória principal, em termos de bytes por instrução para 
políticas write through e write back. A memória é lida na cache uma linha por vez. 
Porém, para write back, uma única palavra pode ser escrita da cache para a memória 
principal. 
b) Repita a parte (a) para uma taxa de 5%. 
c) Repita a parte (a) para uma taxa de 7%. 
d) Com esses resultados, a que conclusão você pode chegar? 
 
9. Um sistema de computação contém uma memória principal de 32 K palavras de 16 bits. 
Ele também tem uma cache de 4 K palavras, dividida em conjuntos de quatro linhas com 
64 palavras por linha. Considere que a cache esteja inicialmente vazia. O processador 
busca palavras das localizações 0, 1, 2, ..., 4351, nessa ordem. Depois, ele repete essa 
sequência de busca mais nove vezes. A cache é 10 vezes mais rápida que a memória 
principal. Estime a melhoria resultante do uso da cache. Considere uma política de LRU 
para a substituição em bloco. 
 
10. A memória de um microcomputador em particular é montada a partir de DRAM 64 K × 
1. De acordo com o manual da memória, o array de células da DRAM é organizado em 
256 linhas. Cada linha precisa ter o refresh pelo menos uma vez a cada 4 ms. Suponha 
que se faça refresh da memória em uma base estritamente periódica. 
a) Qual é o período entre as solicitações de refresh sucessivas? 
b) Por quanto tempo precisamos de um contador de endereço de refresh? 
 
11. Para o código de Hamming mostrado na Figura 4, mostre o que acontece quando um bit 
de verificação, em vez de um bit de dados, tem um erro. 
 
 
Figura 4 - Código de Hamming 
 
12. Suponha que uma palavra de dados de 8 bits armazenada na memória seja 11000010. 
Usando o algoritmo de Hamming, determine quais bits de verificação seriam 
armazenados na memória com a palavra de dados. Mostre como você chegou a sua 
resposta. 
 
13. Para uma palavra de 8 bits 00111001, os bits de verificação armazenados com ela seriam 
0111. Suponha, quando a palavra for lida da memória, que os bits de verificação são 
calculados como 1101. Qual palavra de dados foi lida da memória? 
 
14. Considere um drive de disco magnético com 8 superfícies, 512 trilhas por superfície e 
64 setores por trilha. O tamanho do setor é de 1 kB. O tempo de busca médio é de 8 ms, 
o tempo de acesso de uma trilha para outra é de 1,5 ms, e o drive gira a 3.600 rpm. As 
trilhas sucessivas em um cilindro podem ser lidas sem movimento da cabeça. 
a) Qual é a capacidade do disco? 
b) Qual é o tempo médio de acesso? Suponha que esse arquivo seja armazenado em 
setores sucessivos e trilhas de cilindros sucessivos, começando no setor 0, trilha 0 
do cilindro i. 
c) Estime o tempo necessário para transferir um arquivo de 5 MB. 
d) Qual é a taxa de transferência de rajada (burst transfer)? 
 
15. 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: 
• Um barramento de endereço local de 32 bits e um barramento de dados 
local de 16 bits, ou 
• 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?

Continue navegando