2 Lista de Exercícios de Arquitetura de Computadores: Questões
2 Lista de Exercícios de Arquitetura de Computadores: Questões
2 Lista de Exercícios de Arquitetura de Computadores: Questões
Questões
1. Um microprocessador realiza uma sondagem periódica (polling) junto a um módulo de
E/S a cada 0,5 ms. Cada sondagem em si gasta 500 ciclos. Assuma que o
microprocessador somente faz este polling durante as fatias de tempo em que os
programas de usuário não estão sendo executados, de modo que não haja tempos de
comutação de contexto envolvidos nas operações de E/S. Quantos ciclos por segundo
o microprocessador gasta com a sondagem?
2. Um módulo de E/S efetua 150 solicitações de interrupção por segundo a um
microprocessador. Cada interrupção demora 10.000 ciclos para ser efetivamente
tratada. Considere que este microprocessador gasta 1.000 ciclos para efetuar uma
mudança de contexto e iniciar o tratamento de interrupções, e outros 1.000 ciclos para
fazer uma comutação de contexto de volta para o programa que estava sendo
executado quando a interrupção ocorreu. Quantos ciclos por segundo o processador
gasta ao todo com as solicitações do módulo de E/S?
3. Considere uma Arquitetura de Von Neumann formada por um microprocessador, uma
Memória Principal e um Módulo de E/S conectado a um disco. Os três primeiros são
interconectados por um barramento, e o disco é conectado ao Módulo de E/S.
Suponha que um arquivo de 10 MB, formado por páginas de 4 KB, seja copiado
integralmente do disco para a Memória Principal. Esse procedimento dura 1 segundo e
custa ao microprocessador 20.000.000 de ciclos. Supondo que o processador opera a
200 MHz, calcule o percentual de tempo gasto com esta operação. Em seguida, insira
no barramento um controlador de DMA que age copiando uma página do arquivo por
vez para a Memória Principal. Considerando que o microprocessador gasta 1.000 ciclos
para iniciar uma operação de DMA e 1.500 ciclos para responder a uma interrupção do
controlador de DMA quando a transferência de uma página é completada, calcule para
este caso qual o percentual de tempo gasto pelo microprocessador na transferência do
arquivo.
4. Considere um disco que possua 96 setores de 512 B por trilha e que gire a 360 rpm.
Um microprocessador lê um setor do disco usando E/S dirigida por interrupção, com
uma interrupção a cada Byte transferido. Se o microprocessador gasta 2,5
microsegundo para processar cada interrupção, qual é a porcentagem do tempo gasto
pelo microprocessador no tratamento de E/S, tomando como base o tempo gasto para
ler um setor? Caso fosse inserido um controlador de DMA capaz de ler um setor inteiro
do disco por vez, qual seria o novo valor do percentual de tempo gasto pelo
microprocessador no tratamento de E/S, tomando como base a mesma referência?
5. Um controlador de DMA transfere 1 B por vez para a Memória Principal utilizando a
técnica de roubo de ciclo, a partir de um Módulo de E/S que transfere dados à taxa de
1.200 B/s ininterruptamente. O microprocessador é capaz de buscar 1.000.000 de
instruções por segundo na Memória Principal. Qual é o percentual de diminuição na
velocidade do microprocessador em virtude da atividade do controlador de DMA?
6. Considere um sistema com 64 MB de Memória Principal. Supondo que a paginação em
nível único é utilizada, que o tamanho da página é de 4 KB e que os endereços físicos e
lógicos atribuídos a um processo são de 32 bits, calcule o percentual de memória
a. 0x22433007
b. 0x13385abc
c. 0xabc89011
11. Um sistema tem endereços virtuais de 32 bits, endereços físicos de 24 bits e páginas
de 2 KB.
23. Mostre o modo de endereçamento utilizado em cada uma das instruções que compõem o
segmento de código abaixo.
24. Considere um processador onde haja um pipeline composto dois estágios, denominados BI
(Busca de Instrução) e EI (Execução de Instrução). Determine quantas instruções são
processadas por ciclo de relógio considerando um programa composto por três instruções
genéricas (I1, I2 e I3), e supondo que os estágios de busca e de execução consomem dois
ciclos de relógio, cada. Calcule qual é o acréscimo percentual no desempenho gerado pelo
pipeline frente a um projeto que não utilize esta estratégia.
25. No pipeline da questão anterior, a duração do estágio de execução é igual a do estágio de
busca. Determine quantas instruções são processadas por ciclo de relógio considerando
que o estágio de busca consome dois ciclos de relógio e que o estágio de execução
consome três ciclos de relógio. Calcule para este caso qual é o acréscimo percentual no
desempenho gerado pelo pipeline frente a um projeto que não o utilize.
26. Considere um processador cujo pipeline seja composto por dois estágios genéricos,
denominados E1 e E2. Considere que E1 e E2 consumam, cada um, seis ciclos de relógio.
Determine quantas instruções são processadas ao longo de 24 ciclos de relógio. Em
seguida, divida o estágio E1 em dois outros, denominados E1a e E1b, e suponha que cada
um consuma três ciclos de relógio. Divida também o estágio E2 em outros dois,
denominados E2a e E2b, e suponha também que cada um deles consuma três ciclos de
relógio. Mais uma vez, determine quantas instruções são processadas ao longo de 24
ciclos de relógio.
27. Com relação a questão anterior, quantas instruções seriam processadas ao longo de 24
ciclos de relógio caso dividíssemos o estágio E1 em outros três (E1a, E1b e E1c), cada qual
consumindo dois ciclos de relógio, e fizéssemos o mesmo com o estágio E2 – isto é, o
dividíssemos em outros três (E2a, E2b e E2c), cada qual consumindo dois ciclos de relógio?
Respostas
1. 1.000.000 ciclos/s.
2. 1.800.000 ciclos/s.
3. 10 % e 3,2 %, respectivamente.
4. 73,7 % e 0,14 %, respectivamente.
5. 0,12 %.
6. 4,7 %.
7. 21 bits e 17 bits, respectivamente.
8. 236 páginas e 224 blocos, respectivamente; 215 (ou 32.768) blocos.
9. (a) 7196; (b) interrupção por falta de página; (c) 379.