ARQUITETURA DE COMPUTADORES II
Mapeamento de Entrada / Saída
em Sistemas Digitais
Prof. César Augusto M. Marcon
2/7
Introdução
• Tarefas localizadas em diferentes dispositivos
necessitam se comunicar. Qual mecanismo adotar para
transferir os dados?
• Uma solução é compartilhar uma área de dados
comum, com políticas adequadas para acesso a dados
– Mapeamento em Memória
• Outra solução é acessar diretamente uma porta do
dispositivo, tendo um protocolo de comunicação de
baixo nível que permita identificar o endereço dos
dados
–
Mapeamento em Portas
3/7
Mapeamento em Memória
• Único espaço de endereçamento
• Destina-se um conjunto de endereços aos periféricos
• Instruções à memória podem ser
–
–
Operações de entrada / saída
Operações como processador
• Mapeamento em memória
tem vantagem de permitir
maior proteção ao acesso
direto a dispositivos
– Endereços de E/S podem ser
controlados mais facilmente
pelo sistema operacional
4/7
Mapeamento em Portas
• Dois espaços de endereçamento. Cada dispositivo tem
seu próprio espaço de endereçamento
• Entrada e saída acessadas por instruções específicas
–
IN, OUT
• Exemplo:
– processador x86 Intel
•
•
•
IN
AL, porta
OUT porta, AL
64Kb portas E/S de 8 bits, 32
Kb com 16 bits
– Diversos DSPs
• Acesso à porta com pino
especial habilitado gera
endereço inicial
• Demais acessos à porta tem
endereço auto-incremento pelo
DSP
5/7
Exemplos de Programação
•
Exemplo de programação (dois métodos)
–
Supor endereços dos registradores do controlador de impressão sejam:
•
•
–
Dois bits de estado
•
•
–
2F8H (caractere)
2F9H (estado)
AL = 1 indica erro
AL = 0 indica caractere sendo impresso
Trecho do programa para imprimir o caractere ‘A’
Mapeado em memória
le_status:
Mapeado com portas
le_status:
mov AL, 2F9H
or AL, 00
jnz le_status
mov AL, ‘A’
mov 2F8, AL
in AL, 2F9H
or AL, 00
jnz le_status
mov AL, ‘A’
out 2F8, AL
6/7
Comparação entre Mapeamentos
• Mapeamento em portas permite acesso direto aos
dispositivos de E/S
• Normalmente oferece maior desempenho
• Proteção por parte do S.O. é dificultada
• Maioria dos processadores permitem ao projetista a
escolha de mapeamento de entradas e saídas em
memória ou em portas de E/S
– Processador dispõe ou de um pino IO / M (High IO, Low M) ou 2
conjuntos de pinos independentes
•
Havendo 2 conjuntos pode-se sobrepor com acesso à memória
7/7
Exercícios
1. Descreva diferenças entre entrada/saída (E/S) mapeada
em memória e entrada e saída mapeada em portas
2. Idealize um hardware (e talvez software) mínimo
necessário para fazer uma comunicação entre três
dispositivos. Considere tanto o mapeamento em
memória, quanto o mapeamento em portas
Download

Mapeamento de Entrada e Saida