Arquitectura de Computadores Comunicação Série e Paralela (14.3 a 14.5) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 25 de Maio, 2009 José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 1 / 17
Sumário da Aula comunicação paralela síncrona assíncrona comunicação série síncrona assíncrona sistema de interrupções José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 2 / 17
Comunicação Série e Paralela Comunicação Paralela: vários bit são enviados simultaneamente. Comunicação Série: apenas um bit é enviado de cada vez. Vantagens da comunicação série face à comunicação paralela: mais barato! permite ligação através de redes de comunicação existentes (ie, rede telefónica) evita problemas de sincronização entre as diferentes linhas de dados José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 3 / 17
Comunicação Paralela: Sincronização por Impulso Comandado pelo emissor: Dados DOUTVAL 1 2 3 4 José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 4 / 17
Comunicação Paralela: Sincronização por Impulso Comandado pelo emissor: Dados DOUTVAL 1 2 3 4 Comandado pelo receptor: Dados SendData 1 2 3 4 José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 4 / 17
Comunicação Paralela: Sincronização por Handshake Handshake simples: Dados a enviar Dados a enviar Dados DADVAL ACK 1 2 3 4 5 6 7 José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 5 / 17
Comunicação Paralela: Sincronização por Handshake Handshake duplo, comandado pelo emissor: Dados a enviar Dados DADVAL ACK 1 2 3 4 5 6 José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 6 / 17
Comunicação Paralela: Sincronização por Handshake Handshake duplo, comandado pelo emissor: Dados a enviar Dados DADVAL ACK 1 2 3 4 Handshake duplo, comandado pelo receptor: Dados a r eceber 5 6 Dados DADVAL PEDDAD 1 2 3 4 5 6 José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 6 / 17
Interface Paralela Síncrona Os protocolos permitem uma interface assíncrona. Numa comunicação síncrona, o sinal de relógio tem que ser enviado juntamente com os dados. José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 7 / 17
Interface Paralela Síncrona Os protocolos permitem uma interface assíncrona. Numa comunicação síncrona, o sinal de relógio tem que ser enviado juntamente com os dados. protocolos assíncronos adaptam-se naturalmente à velocidade dos periféricos protocolos síncronos são mais simples de usar do ponto de vista externo, mas do lado da interface há o problema de conciliar velocidades de relógio diferentes entre o processador e o periférico protocolos síncronos têm a velocidade limitada pelo clock skew: possível adiantamento ou atraso do sinal de relógio José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 7 / 17
Comunicação Série Assíncrona Pontos de amostragem Duração de um bit Bit de arranque Bits de informação José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 8 / 17
Comunicação Série Assíncrona Pontos de amostragem Duração de um bit Bit de arranque Bits de informação Pontos de amostragem Bit de arranque José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 8 / 17
Comunicação Série Assíncrona Pontos de amostragem Duração de um bit Aqui pode iniciar-se outra transmissão Bit de arranque Bits de informação Bit de paridade Bits de guarda Configurações: paridade par ou paridade ímpar número de bits de guarda, tipicamente, 1 ou 2 número de bits de informação José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 9 / 17
Comunicação Série Síncrona Sinal de relógio enviado juntamente com a linha de dados. Protocolo orientado ao caracter: 1 carácter... SYN SOH Cabeçalho STX Texto ETX BCC SYN... h caracteres t caracteres José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 10 / 17
Comunicação Série Síncrona Sinal de relógio enviado juntamente com a linha de dados. Protocolo orientado ao caracter: 1 carácter... SYN SOH Cabeçalho STX Texto ETX BCC SYN... h caracteres t caracteres Funciona bem para dados em modo de texto. Problema com o envio de dados binários? José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 10 / 17
Comunicação Série Síncrona Protocolo orientado ao bit: 1 octeto... Flag Cabeçalho Informação CRC Flag... Flag: 01111110 h bits n bits 2 octetos José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 11 / 17
Comunicação Série Síncrona Protocolo orientado ao bit: 1 octeto... Flag Cabeçalho Informação CRC Flag... Flag: 01111110 h bits n bits 2 octetos E se os dados incluirem um padrão igual à flag? José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 11 / 17
Comunicação Série Síncrona Protocolo orientado ao bit: 1 octeto... Flag Cabeçalho Informação CRC Flag... Flag: 01111110 h bits n bits 2 octetos E se os dados incluirem um padrão igual à flag? Bit Stuffing No emissor: inserir um 0 a seguir a todas as sequências de 5 uns. No receptor: após 5 uns, se o bit que chega for 0, ignorar, caso contrário detecção da flag. José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 11 / 17
Sistema de Interrupções Processador controla os barramentos do sistema. Os periféricos têm que chamar a atenção do processador quando têm dados para enviar ou receber: interrupção José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 12 / 17
Sistema de Interrupções Processador controla os barramentos do sistema. Os periféricos têm que chamar a atenção do processador quando têm dados para enviar ou receber: interrupção Interrupção leva o processador a executar uma rotina de tratamento à interrupção específica a cada periférico. José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 12 / 17
Sistema de Interrupções Processador controla os barramentos do sistema. Os periféricos têm que chamar a atenção do processador quando têm dados para enviar ou receber: interrupção Interrupção leva o processador a executar uma rotina de tratamento à interrupção específica a cada periférico. Problemas: como identificar o periférico em causa? José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 12 / 17
Sistema de Interrupções Processador controla os barramentos do sistema. Os periféricos têm que chamar a atenção do processador quando têm dados para enviar ou receber: interrupção Interrupção leva o processador a executar uma rotina de tratamento à interrupção específica a cada periférico. Problemas: como identificar o periférico em causa? caso existam 2 interrupções pendentes, qual tratar primeiro? José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 12 / 17
Linhas de Interrupção Independentes Endereços Dados m n UCP IntN Int2 Int1 Int0 Disco Rato Teclado... Memória José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 13 / 17
Linha de Interrupção Partilhada É necessário identificar a origem da interrupção. Interrupções Vectorizadas periférico responsável identifica-se perante o processador Interrupções Não-Vectorizadas processador tem que varrer os periféricos até identificar o responsável José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 14 / 17
Interrupções Não-Vectorizadas Inicializa o endereço de E/S para o primeiro periférico Lê o porto de estado da interface Isola bit de estado de periférico pronto sim pronto? não Salta para rotina de interrupção desse periférico Passa para endereço E/S do periférico seguinte José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 15 / 17
Interrupções Vectorizadas Como resposta ao IAK, o periférico identifica-se. Normalmente, utilizam-se PICs (Programmable Interrupt Controllers). aceitam um conjunto de linhas de interrupção gerem a interface com o processador fornecem o vector da interrupção pendente de mais alta prioridade permitem o mascaramento de interrupções José Monteiro (DEI / IST) Arquitectura de Computadores 2009-05-25 16 / 17
PIC Interrupções pendentes Int0 Int1 Int2 Int3 Int4 Int5 Int6 Int7 Codificador com prioridades 3 Vector de interrupção Linha de interrupção (INT) José Monteiro (DEI Máscara / IST) de Arquitectura de Computadores 2009-05-25 17 / 17