Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA ARQUITETURA DE COMPUTADORES Exercícios – Lista 3 1. Considere um computador com um barramento síncrono com ciclo de 50 ns, durante o qual ele pode ler ou escrever uma palavra de 16 bits na memória. O computador tem um disco que usa este barramento e que tem uma taxa de transferência de 20 Mbytes/s. A CPU normalmente busca e executa uma instrução de 16 bits a cada 50 ns. Em quanto o disco torna a CPU mais lenta? Resposta: a CPU processa 1 instrução a cada 50 ns, portanto em 1 segundo ela processa 1 / 50.10-9 = 0,02 .109 = 20 M instruções. O disco, por sua vez, requer uma banda (taxa) de 20 Mbytes/s, mas o barramento permite 2 bytes (16 bits) em cada transferência. Assim, o disco irá requerer 20/2 = 10 M transferências por segundo. Portanto, 10 M / 20 M = 0,5 ou 50% é o quanto o disco torna a CPU mais lenta. 2. Quanto tempo é gasto para ser lido um disco de 1200 cilindros, cada um com seis trilhas de 32 setores? Primeiramente, todos os setores da trilha 0 são lidos começando do setor 0. Então, todos os setores da trilha 1 a partir do setor 0, e assim por diante. O tempo de rotação é de 30 ms, e um seek gasta 10 ms entre cilindros adjacentes e 60 ms para o pior caso. A comutação entre trilhas no mesmo cilindro pode ser feita instantaneamente. Resposta: T = 60 + (6 . 30) + 1199. (6 . 30 + 10) = 228.050 ms = 228,05 segundos 3. Um computador pode executar 1.000.000 instruções por segundo. Um programa rodando neste computador realiza em média uma leitura de setor e uma escrita de setor para cada 200 instruções que ele executa. A unidade de disco cuidando das transferências de E/S requer 0,0010 segundos para realizar cada uma das operações de leitura e escrita. Assumindo que não haja sobreposição destas operações, calcule a porcentagem de tempo de espera da CPU. Resposta: a cada 0,2 ms, uma leitura e uma escrita ( 1ms + 1ms) serão necessários, totalizando um tempo de 2,2ms. A porcentagem de espera da CPU será 2/2,2 => 91% 4. Um dispositivo de E/S transfere 10Mb de dados para a memória pelo barramento de E/S. Os 10Mb/s de dados são transferidos com 2500 blocos independentes, cada dos quais com 4Kb de comprimento. Se o processador opera a 2GHz e demora 1000 ciclos para iniciar uma operação de DMA e 1500 ciclos para responder à interrupção do dispositivo quando uma transferência de DMA é completada, qual a fração de tempo da CPU é gasta tratando de transferência de dados? Resposta: Para cada bloco temos que programar a DMA o que custa 1000 ciclos da CPU e no final desta operação a CPU gasta mais 1500 ciclos, ou seja 2500 ciclos do processador para cada bloco. Como temos 2500 blocos de dados a CPU gastaria 625*104 ciclos. A CPU tem 2.000.000.000 ciclos por segundo, ou seja, 2*109 ciclos. Desse modo basta efetuar a divisão entre o número de ciclos gastos e os ciclos que a CPU tem a disposição, ou seja, 625*104 / 2*109 = 312,5*10-5 = 0,3125%. 5. Uma empresa precisa projetar um sistema consistindo de um processador, com 16 linhas para endereçamento, uma memória com 32Kbytes, e um dispositivo de E/S com 4 bytes endereçáveis. No entanto, eles só possuem pastilhas de memória de 16K. Proponha um projeto para a decodificação de endereços do sistema apresentado. Resposta: podemos mapear a primeira pastilha de 16K para os endereços 0 a 16K-1, a segunda pastilha para os endereços 32K a 48K-1, e o dispositivo de E/S para os últimos 4 bytes do espaço de endereçamento da CPU. Desta forma, a lógica de decodificação analisaria os 2 bits de mais alta ordem: se forem 00 ativaria os primeiros 16K, se forem 10 ativaria a segunda pastilha de 16K, e se forem 11 ativaria o dispositivo de E/S.
Compartilhar