Atualmente estou lendo um livro de organização de computadores e estou muito confuso sobre o mecanismo de Entrada / Saída e tenho muitas perguntas em mente.
Como eu entendi, existem dois conceitos para comunicação com periféricos, um deles é I / O de memória mapeada e o outro é E / S mapeada de E / S (porta). Se a arquitetura for baseada em E / S mapeada de memória não há instruções especiais de E / S como "in", "out" etc e os registros de dispositivos são mapeados para o espaço de endereço de memória para que possamos ler ou gravar em portas periféricas pela instrução "mov". Por outro lado, se a arquitetura for baseada em E / S Mapeada I / O, registradores de dispositivo são mapeados para o espaço de endereço de E / S que é completamente separado do espaço de endereço de memória e cpu usa instruções especiais ("in", "out", "ins", "outs") para leitura ou gravar em registros de dispositivos de E / S Mapeados.
Então, aqui estão minhas perguntas;
1.) Se a arquitetura X86 usa a técnica de E / S Mapeada de E / S (Porta, Isolado etc) por que existem espaços de endereço de memória para dispositivos como placa gráfica?
2.) Se a placa gráfica mapeia a memória de 1 gb para o espaço de endereçamento da memória principal, o que significa? Significa a E / S Mapeada na Memória?
3.) Se a arquitetura x86 não usa E / S de memória mapeada como um dispositivo pode se mapear no espaço de endereço de memória?
4.) Se a arquitetura x86 puder usar E / S de memória mapeada, como ela pode ser usada e com quais instruções?
5.) Se o mapeamento de E / S é sobre o mapeamento de registros periféricos, por que a placa gráfica quer tanto espaço para mapeamento?
Tags io