Baixe o app para aproveitar ainda mais
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?
Compartilhar