Sistemas computacionais que usam “Entrada/Saída mapeada em ...

Próximas questões
Com base no mesmo assunto
Q886689 Arquitetura de Computadores

Sistemas computacionais que usam “Entrada/Saída mapeada em memória” (Memory Mapped I/O – MM I/O) reservam uma parte de sua capacidade de endereçamento para os dispositivos de entrada e saída. Dessa forma, o acesso a esses dispositivos pode ser realizado com as mesmas instruções de leitura e escrita usadas para a memória. Um sistema computacional com barramento de endereços de 32 bits utiliza MM I/O de forma que a faixa de endereços (representada em hexadecimal) que vai de 0xCAFE0000 até 0xCAFE0FFF é utilizada para entrada e saída.


Nesse sistema, a quantidade de endereços utilizada para posições que correspondem à memória é de

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a C - 232 – 212.

Para compreender essa questão, é essencial entender o conceito de Memory Mapped I/O (MM I/O), que é uma técnica utilizada em sistemas computacionais onde dispositivos de entrada e saída (E/S) são mapeados na mesma área de memória usada pelo programa, permitindo o acesso a esses dispositivos usando instruções regulares de leitura e escrita de memória. Isso significa que parte do espaço de endereçamento que poderia ser usado para a memória RAM é, na verdade, reservada para E/S.

Nesta questão, é mencionado que um sistema com barramento de endereços de 32 bits está usando o MM I/O, com um intervalo de endereços específico reservado para dispositivos de E/S. O intervalo vai de 0xCAFE0000 a 0xCAFE0FFF. Para determinar o tamanho desse intervalo, basta subtrair o endereço inicial do final (em hexadecimal), o que nos dá 0xFFF posições, mais uma posição (pois a contagem começa do zero), resultando em 0x1000 posições, que é igual a 212 quando convertido para potência de dois.

O barramento de 32 bits significa que o sistema pode endereçar 232 posições de memória distintas no total. Para calcular a quantidade de endereços disponíveis para a memória (excluindo a área reservada para E/S), você subtrai o espaço reservado para E/S do espaço total de endereçamento. Então, teríamos 232 – 212, pois 212 é a quantidade de endereços que está sendo utilizada para entrada e saída.

Com isso, a alternativa C é a que corretamente expressa a quantidade de endereços que restam para posições correspondentes à memória RAM no sistema em questão.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A banca foi generosa e deu o conceito de Memory Mapped I/O – MM I/O.

Dado o conceito, a banca quer saber a quantidade de endereços que podem ser utilizados, sabendo que alguns destes endereços são reservados para a tecnologia MM I/O.

 

Bem, a quantidade de endereços possíveis é 2^32, pois o comando da questão nos diz que o barramento é de 32 bits.

Por outro lado, a questão nos diz que os endereços reservados para o MM I/O vão de 0xCAFE0000 até 0xCAFE0FFF. Ou seja, a quantidade de endereços reservados é a quantidade de endereços na faixa dada. Entre outras palavras, a questão só parece difícil mas batava uma subtração em hexadecimal para resolve-la.

 

Endereços reservados: CAFE0FFF - CAFE0000 = 00000FFF = 12 bits iguais a 1 e o restante igual a zero.

Com 12 bits temos 2^12 endereços reservados.

Como o total é 2^32, a quantidade de endereços que podem ser utilizados com o MM I/O é: 2^32 - 2^12

 

Alternativa c)

 

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo