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