Sistemas computacionais que usam “Entrada/Saída mapeada em ...
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
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