ELECTRÓNICA DE COMPUTADORES Aulas nº14 e15 I/O Interfaces e protocolos em barramentos Electrónica de Computadores EC 14.1 11-11-2008 Sumário • Interligação de dispositivos: barramentos e protocolocos • Interface do microprocessador com o exterior – I/O Addressing – Interrupções – Acesso Directo à Memória (DMA) • Barramentos com múltiplos mestres – Esquemas para arbitragem de acesso – Esquemas hierárquicos • Protocolos – Série e paralelo – Comunicação sem fios Electrónica de Computadores EC 14.2 11-11-2008 1 Esquema básico de um barramento rd/!wr Processor porto Memória enable ender[0-15] dados[0-7] Estrutura • • Ligação física através de fiosbarramento ou pistas em PCB: Barramentos – Conjunto de ligações • Endereços, dados e controlo – Protocolos associados • Regras para comunicação • Interface com periféricos ou ligação do processador à memória • Porto – Geralmente um pino do CI que liga ao PCB, ou bola metálica (BGA) Electrónica de Computadores EC 14.3 11-11-2008 Protocolo: diagramas temporais • Sinais de controlo: nível ‘0’ ou ‘1’ – Usar termos activar (assert) e desactivar (deassert) – Activar !wr significa wr=0 – Sinal de dados: não válido ou válido rd/!wr enable end. dados • • Protocolo pode ter vários sub-protocolos – Ciclo de barramento,e.g: leit., escrita – Um ciclo pode corresponder a múltiplos ciclos de relógio Exemplo de leitura – rd/!wr colocado a ‘0’,endereço colocado no end pelo menos tsetup antes de activar enable, enable dispara memória para colocar os dados nos portos data em tleitura tsetup tleiturat Ciclo de leitura rd/!wr enable end. dados tsetup tescrita Ciclo de escrita Electrónica de Computadores EC 14.4 11-11-2008 2 Conceitos básicos associados a barramentos • Controlo do barramento – Mestre (master) inicia a transacção e escravo (slave) responde • Endereços: tipo especial de dados – Multiplexagem no tempo: reduz número de portos e ligações mas aumenta o tempo da transacção Transferência de dados com multiplexagem no tempo Mestre Escravo req dados(15:0) dados(15:0) mux demux Mestre addr req data Escravo addr mux data demux data(8) End./data req req dados End./dados 7:0 15:8 endr Serialização dados dados Endereço/dados mux. Electrónica de Computadores EC 14.5 11-11-2008 Protocolos Mestre Escravo req Mestre Escravo req ack dados dados req dados 1 req 3 2 4 taccess ack 1 3 2 4 dados 1. Mestre activa req para receber dados 2. Escravo demora tempo taccess a colocar dados 3. Mestre recebe dados e desactiva req 1. Mestre activa req para receber dados 2. Escravo põe dados no barramento e activa ack 3. Mestre recebe dados e desactiva req 4. Escravo pronto para o pedido seguinte 4. Escravo pronto para o pedido seguinte Protocolo simples Electrónica de Computadores Protocolo com handshake EC 14.6 11-11-2008 3 Protocolos (solução de compromisso) Mestre Escravo req wait dados req 1 req 1 3 wait dados wait 2 dados 4 taccess 1. Mestre activa req para receber dados 2. Escravo coloca dados dentro do tempo taccess (sinal de wait não é activado) 3. Mestre recebe dados e desactiva req 4. Escravo pronto para o pedido seguinte 4 3 2 5 taccess 1. Mestre activa req para receber dados 2. Escravo não coloca dados dentro do tempo taccess: activa o sinal de wait 3. Escrave coloca dados no barramento e desactiva o sinal de wait 4. Master recebe dados e desactiva req 5. Escravo pronto para o pedido seguinte Resposta rápida Resposta lenta Electrónica de Computadores EC 14.7 11-11-2008 Protocolo do barramento ISA • ISA: Industry Standard Architecture – Usado bos 80x86’s • Características principais – 20-bit de endereço – Protocolo de compromisso • CHRDY • Por defeito 4 ciclos de relógio do barramento • Barramento assíncrono • Se CHRDY desactivado – ciclos de espera adicionais (até 6 ciclos) • E.g.: acesso à memória Microprocess. Memória Dispositivo I/O ISA bus Ciclo de barramento: leitura de memória CICLO CLOCK C1 C4 C2 WAIT C3 DATA D[7-0] ADDRESS A[19-0] ALE /MEMR CHRDY Ciclo de barramento: escrita na memória CICLO CLOCK D[7-0] A[19-0] C1 C4 C2 WAIT C3 DATA ADDRESS ALE /MEMW CHRDY Electrónica de Computadores EC 14.8 11-11-2008 4 Endereçamento dos dispositivos de I/O • Memory-Mapped I/O: – Registos de periféricos ocupam endereços no espaço de memória – E.g., Barramento16-bit address – 32K endereços mais baixos correspondem a memória – 32k endereços mais elevados correspondem a periféricos • I/O-mapped I/O – Sinais específicos do barramento (M/IO) indicam se o acesso é à memória ou ao periférico • E.g., Barramento16-bit address – 64K endereços correspondem a memória quando M/IO a “0” – 64K endereços correspondem a periféricos quando M/IO a “1” Electrónica de Computadores EC 14.9 11-11-2008 ISA bus • ISA suporta acesso padrão a I/O – /IOR em vez de /MEMR para leitura de periféricos • /IOW para escrita em periféricos – 16-bit de endereço para I/O vs. 20-bit address de endereço para memória – Protocolo semelhante para acesso a memória e periféricos Protocolo de leitura de I/O no barramento ISA CICLO C1 C2 WAIT C3 C4 CLOCK D[7-0] A[15-0] DATA ADDRESS ALE /IOR CHRDY Electrónica de Computadores EC 14.10 11-11-2008 5 Interface com o microprocessor: interrupções • Supondo que um periférico recebe dados de uma forma não periódico, que devem ser lidos pelo µP – µP pode fazer regularmente verificar regularmente se o periférico tem novos dados (pooling)– perdese tempo e possívelmente dados – O periférico pode interromper o µP quando tem novos dados • Requer portos extra: Int – Se Int estiver a “1”, o µP suspende o program e salta executa Rotina de Serviço da Interrupção (ISR)- interrupt-driven I/O Electrónica de Computadores EC 14.11 11-11-2008 Interface com o microprocessor: interrupções • Qual é o endereço (interrupt address vector) da ISR? – Fixa • Endereço pré-estabelecido: a ISR ou, caso a capacidade não seja suficiente, uma instrução de salto encontram-se neste endereço – Vectored interrupt • Os periféricos fornecem o endereço • Solução usual quando o µP tem múltiplos periféricos ligados a um barramento comum – Compromisso: tabela com endereço de interrupções Electrónica de Computadores EC 14.12 11-11-2008 6 Interrupt-driven I/O Exemplo: Endereço pré estabelecido de ISR (16 para P1) Memória programa ISR 16: MOV R0, 0x8000 17: # modifica R0 18: MOV 0x8001, R0 19: RETI # ISR return ... Prog. principal ... 100: instrução 101: instrução Memória dados µP Barrameto Int PC P1 P2 0x8000 0x8001 1(a): µP está a executar o programa principal 1(b): Entram dados no periférico P1 através do registo com o endereço 0x8000. Electrónica de Computadores EC 14.13 11-11-2008 Interrupt-driven I/O Exemplo: Endereço pré estabelecido de ISR (16 para P1) Memória programa ISR 16: MOV R0, 0x8000 17: # modifica R0 18: MOV 0x8001, R0 19: RETI # ISR return ... Prog. principal ... 100: instrução 101: instrução Memória dados µP Barramento Int PC 1 P1 P2 0x8000 0x8001 2: P1 activa Int para ser atendido pelo microprocessador Electrónica de Computadores EC 14.14 11-11-2008 7 Interrupt-driven I/O Exemplo: Endereço pré estabelecido de ISR (16 para P1) Memória programa ISR 16: MOV R0, 0x8000 17: # modifica R0 18: MOV 0x8001, R0 19: RETI # ISR return ... Prog. principal ... 100: instrução 101: instrução Memória dados µP Barramento Int PC P1 P2 0x8000 0x8001 100 3: Depois de completar instrução no endereço 99 , o µP verifica que Int está activado e: Guarda o valor de next PC (100) Coloca 16 (endereço do ISR) no PC Electrónica de Computadores EC 14.15 11-11-2008 Interrupt-driven I/O Exemplo: Endereço pré estabelecido de ISR (16 para P1) Memória programa ISR 16: MOV R0, 0x8000 17: # modifica R0 18: MOV 0x8001, R0 19: RETI # ISR return ... Prog. principal ... 100: instrução 101: instrução Memória dados µP Barramento Int PC 0 P1 P2 0x8000 0x8001 100 4(a): ISR lê dados de 0x8000, modifica-os e escreve o resultado em 0x8001. 4(b): Depois da leitura P1 desactiva Int. Electrónica de Computadores EC 14.16 11-11-2008 8 Interrupt-driven I/O Exemplo: Endereço pré estabelecido de ISR (16 para P1) Memória programa ISR 16: MOV R0, 0x8000 17: # modifica R0 18: MOV 0x8001, R0 19: RETI # ISR return ... Prog. principal ... 100: instrução 101: instrução Memória dados µP Barramento P1 P2 0x8000 0x8001 Int PC 100 5: Retorna-se de ISR, colocando PC=100 e retomando a execução do programa principal Electrónica de Computadores EC 14.17 11-11-2008 Interrupt-driven I/O Exemplo: Interrupção vectorizada Memória programa ISR 16: MOV R0, 0x8000 17: # modifica R0 18: MOV 0x8001, R0 19: RETI # ISR return ... Prog. principal ... 100: instrução 101: instrução µP Memória dados Barrameto Int PC P1 16 0x8000 P2 0x8001 1(a): µP está a executar o programa principal 1(b): Entram dados no periférico P1 através do registo com o endereço 0x8000. Electrónica de Computadores EC 14.18 11-11-2008 9 Interrupt-driven I/O Exemplo: Interrupção vectorizada Memória programa ISR 16: MOV R0, 0x8000 17: # modifica R0 18: MOV 0x8001, R0 19: RETI # ISR return ... Prog. principal ... 100: instrução 101: instrução Memória dados µP Barramento P1 16 Int 1 PC 0x8000 P2 0x8001 2: P1 activa Int para ser atendido pelo microprocessador Electrónica de Computadores EC 14.19 11-11-2008 Interrupt-driven I/O Exemplo: Interrupção vectorizada Memória programa ISR 16: MOV R0, 0x8000 17: # modifica R0 18: MOV 0x8001, R0 19: RETI # ISR return ... Prog. principal ... 100: instrução 101: instrução Memória dados µP Barramento Inta Int PC 100 1 P1 P2 16 0x8000 0x8001 3: Depois de completar instrução no endereço 99 , o µP verifica que Int está activado e: Guarda o valor de next PC (100) Activa o sinal de Inta Electrónica de Computadores EC 14.20 11-11-2008 10 Interrupt-driven I/O Exemplo: Interrupção vectorizada Memória programa ISR 16: MOV R0, 0x8000 17: # modifica R0 18: MOV 0x8001, R0 19: RETI # ISR return ... Prog. principal ... 100: instrução 101: instrução Memória dados µP Barramento 16 Inta Int P1 P2 16 PC 0x8000 100 0x8001 4: P1 detecta Inta e coloca o interrupt address vector 16 no barramento (dados) Electrónica de Computadores EC 14.21 11-11-2008 Interrupt-driven I/O Exemplo: Interrupção vectorizada Memória programa ISR 16: MOV R0, 0x8000 17: # modifica R0 18: MOV 0x8001, R0 19: RETI # ISR return ... Prog. principal ... 100: instrução 101: instrução Memória dados µP Barramento Int PC 100 0 P1 16 0x8000 P2 0x8001 5(a): PC salta para o endereço no barramento (16). ISR lê dados de 0x8000, modifica-os e escreve o resultado em 0x8001. 5(b): Depois da leitura P1 desactiva Int. Electrónica de Computadores EC 14.22 11-11-2008 11 Interrupt-driven I/O Exemplo: Interrupção vectorizada Memória programa ISR 16: MOV R0, 0x8000 17: # modifica R0 18: MOV 0x8001, R0 19: RETI # ISR return ... Prog. principal ... 100: instrução 101: instrução µP Memória dados Barramento Int PC P1 P2 0x8000 0x8001 100 6: Retorna-se de ISR, colocando PC=100 e retomando a execução do programa principal Electrónica de Computadores EC 14.23 11-11-2008 Outros aspectos das interrupções • Mascaráveis (maskable) vs. não-mascaráveis (non-maskable) – Maskable: programador pode programar o µP para ignorar interrupção • Importante quando se está a executar códico com tempo crítico – Non-maskable: um porto específico para a interrupção • Reservado para situações de excepção: e.g, falha de energia que requer o armazenamento de dados em memória não-volátil • Salto do programa para ISR – Muito dos processadores só guardam o valor do PC antes de atender a interrupção • ISR não pode alterar os registos, ou pelo menos deve guardar o seu valor antes de alterar • Na programação em linguagem Assembly programador tem que ter em atenção os registos a guardar Electrónica de Computadores EC 14.24 11-11-2008 12 Acesso directo à memória • Buffering – Armazenamento temporário da informação antes de processar; dados recebidos nos periféricos são buffered • µP pode controlar transferência do periférico para a memória na ISR – Ineficiente porque tem que guardar estado e repôr à entrada e à saído do ISR e o programa principal tem que aguardar • Controlador para Acesso Directo à Memória (DMA) mais eficiente – µP delega controlo do barramento ao controlador de DMA – µP pode entretanto continuar a executar o programa • Em arquitecturas Harvard o µP pode continuar a fazer fetch e a executar instruções desde que não aceda à memória de dados – quando isso acontece o µP fica parado à espera (stalled) Electrónica de Computadores EC 14.25 11-11-2008 DMA Memória programa µP 0x0000 Memória dados 0x0001 Não existe ISR ! Barramento ... Prog. principal ... 100: instrução 101: instrução Dack Dreq PC Ctrl. DMA ack 0x8000 req P1 0x0001 100 0x8000 1(a): µP está a executar o programa principal. Já configurou os registos de ctrl para DMA 1(b): P1 recebe dados de entrada no registo com endereço 0x8000. Electrónica de Computadores EC 14.26 11-11-2008 13 DMA Programa memória µP 0x0000 Memória dados 0x0001 Não existe ISR! Barramento ... Prog. principal ... 100: instrução 101: instrução Dack Dreq PC Ctrl DMA ack 0x8000 req P1 0x0001 1 100 0x8000 1 2: P1 activa req para solicitar o serviço do controlador de DMA 3: Ctrl de DMA activa Dreq para solicitar o controlo do barramento Electrónica de Computadores EC 14.27 11-11-2008 DMA Memória programa µP 0x0000 Memória dados 0x0001 Não existe ISR! Barramento ... Prog. principal ... 100: instrução 101: instrução Dack Dreq 1 PC 100 Ctrl. DMA ack 0x8000 req P1 0x0001 0x8000 4: Depois de executar instrução 99 o µP detecta Dreq activo, liberta o barramento, activa Dack, e continua execução do programa µP stalls apenas se precisar do barramento para executar o programa Electrónica de Computadores EC 14.28 11-11-2008 14 DMA Memória programa µP 0x0000 Memória dados 0x0001 Não existe ISR! Barramento ... Prog. principal ... 100: instrução 101: instrução Dack Dreq Ctrl DMA ack 0x8000 req 0x0001 PC P1 1 0x8000 100 5: Ctrl. DMA (a) activa ack, (b) lê dados de 0x8000 e (c) escreve dados para 0x0001. Electrónica de Computadores EC 14.29 11-11-2008 DMA Memória programa µP 0x0000 Memória dados 0x0001 Não existe ISR! Barramento ... Prog. principal ... 100: instrução 101: instrução Dack Dreq PC 100 0 Ctrl DMA ack 0x8000 req 0x0001 0 P1 0x8000 6: Ctrl. DMA desactiva Dreq e ack terminando handshake com P1. Electrónica de Computadores EC 14.30 11-11-2008 15 Barramento ISA e ciclos DMA Processador Memória ISA-Bus R A R DMA A DispositivoI/O Ciclo de barramento de ecrita na memória com DMA C1 C7 CICLO CLOCK C2 C3 C4 C5 Ciclo de barramento de leitura da memória com DMA C6 CLOCK C2 C3 C4 ADDRESS C5 C6 DATA D[7-0] DATA D[7-0] A[19-0] C1 C7 CICLO ADDRESS A[19-0] ALE ALE /IOR /MEMR /MEMW /IOW CHRDY CHRDY Electrónica de Computadores EC 14.31 11-11-2008 Arbitragem: estabelecimento de prioridades • Na situação em que múltiplos periféricos solicitam o serviço de um recurso partilhado (e.g., microprocessador, controlador de DMA) simultaneamente, quem é atendido primeiro? • Árbitro centralizado – Periféricos solicitam ao árbitro para solicitar o recurso – Árbitro ligado ao barramento apenas para configuração µP Barramento Inta Int 5 3 Árbitro (prioridades) Ireq1 Iack1 6 Ireq2 7 Periférico 1 2 Periférico 2 2 Iack2 Electrónica de Computadores EC 14.32 11-11-2008 16 Arbitragem: estabelecimento de prioridades • Tipos de prioridades • Fixas – Cada periférico tem uma ordem de prioridade préestabelecida – Ordem superior implica escolha prioritária aquando de solicitações imultâneas • Rotativas (round-robin) – Prioridades alteram-se em função da história dos serviços – Distribuição mais equilibrada dos serviços, especialmente entre periféricos com exigências de prioridade semelhantes Electrónica de Computadores EC 14.33 11-11-2008 Arbitragem em Daisy-chain • Arbitragem efectuada de uma forma descentralizada pelos periféricos – Implementada nos periféricos ou em lógica externa • Sinais de entrada req e de saída ack por periférico – req circula na direcção do periférico mais afastado para o mais próximo do µP e o ack circula no sentido contrário (problema de FIABILIDADE) – Periférico ligado a µP bloqueia ack para mais afastados – Perioridade fixa: máxima para periférico mais próximo do µP µP Barramento Inta Int Periférico Periférico Ack_in Ack_out Req_out Req_in Ack_in Ack_out Req_out Req_in 0 Daisy-chain Electrónica de Computadores EC 14.34 11-11-2008 17 Arbitragem com múltiplos mestres • Por exemplo quando múltiplos processadores partilham um barramento – Arbitragem faz parte do protocolo do barramento – Podem vários processadores tentar escrever simultaneamente, causando colisões • Arbitra-se externamente o mestre que pode controlar o barramento • Dados têm que ser reenviados • Exemplo: Peripheral Component Interconnect (PCI) Electrónica de Computadores EC 14.35 11-11-2008 Barramentos de sistemas: Multinível • Não se pretende um único barramento para todos os periféricos – Alguns periféricos requerem rapidez e interfaces específicas com o processador – Muitos periféricos tornam o barramento lento • • Processador-barramento local (nível 0) – Rápido, elevado paralelismo, comunicação muito frequente – Interliga microprocessador, cache, controladores de memória – Barramentos dedicados (AMD, INTEL, IBM, etc) Barramento de periféricos (nível 1) – Mais lentos, paralelismo mais reduzido, comunicação menos frequente – Tipicamente barramentos padrão para portabilidade (ISA, PCI) • Pontes µP Cache Ctrl Memória Ctrl DMA Barramento nível 0 Periférifo Periférico Periférico Ponte Barram. nível 1 Barramentos nível 2: interligam computadores – Interfaces e conversores para interligação de barramentos Electrónica de Computadores EC 14.36 11-11-2008 18 Tipos de barramento: camada física • Comunicação – Tem várias ligações na camada física que suportam o transporte de múltiplos bits em paralelo • Comunicação série – Tem uma ligação na camada física que permite o transporte de um bit de cada vez • Comunicação sem fios (Wireless) communication – Não há ligação na camada física e a comunicação é do tipo série Electrónica de Computadores EC 14.37 11-11-2008 Comunicação sem fios • Infravermelhos (IR) – Ondas eléctricas com frequência inferior à da luz visível – Foto-diodos e foto-transistores emitem e detectam sinais luminosos com um comprimento de onda na zona do espectro dos infra-vermelhos – Necessita que o emissor e o emissor estejam em linha de vista • Radio Frequência (RF) – Ondas electromagnéticas com frequência no espectro de rádio – Antenas e moduladores/desmoduladores no emissor e no receptor – Não é necessário que o emissor e o transmissor estejam em linha de vista, em que a potência do transmissor determina o alcance Electrónica de Computadores EC 14.38 11-11-2008 19 Detecção e correcção de erros • Normalmente faz parte do protocolo • Detecção de erros: capacidade do receptor detectar erros que ocorrem durante a transmissão • Correcção de erros : capacidade do receptor corrigir erros que ocorrem durante a transmissão • Paridade: extra bit enviado com a palavra transmitida – Paridade ímpar: palavra de dados mais bit de paridade contêm (sem erros) um número ímpar de 1’s – Paridade par: palavra de dados mais bit de paridade contêm (sem erros) um número ímpar de 1’s • Checksum: palavra extra eviada por pacote de dados constituída por múltiplas palavras – e.g., palavra extra word contém soma XOR de todas as palvras no pacote de dados Electrónica de Computadores EC 14.39 11-11-2008 Protocolo série: I2C • I2C (Inter-IC) (usado para configurar a câmara no laboratório) – Barra,emto série com dois fios e protocolo desenvolvido pela Philips Semiconductors há 20 anos – Permite que os ICs dos periféricos comuniquem usando hardware simples – Taxas de transferência até 100 kbits/s e endereçamento com 7bits (128 periféricos) no modo normal – 3.4 Mbits/s e 10-bit de endereço addressing no modo rápido – Dispositivos que têm vulgarmente interface I2C : • EPROMS, Flash, relógios de tempo real, microcontroladores Electrónica de Computadores EC 14.40 11-11-2008 20 Estrutura do barramento I2C SCL SDA Microcontrolador (maestre) EEPROM (escravo) End.=0x01 SDA Sensor Temp. (escravo) End.=0x02 SDA SCL < 400 pF End=0x03 SDA SCL Condição início Controlador LCD (escravo) SDA SCL SCL Envia 0 Envia 1 Condição de fim Do receptor Do escravo D C S T A R T A 6 A 5 A 0 R / w A C K D 8 D 7 D 0 A C K S T O P Ciclo típico de escrita/leitura Electrónica de Computadores EC 14.41 11-11-2008 Protocolo série: CAN • CAN (Controller Area Network) – Protocolo para aplicações de tempo real – Desenvolvido por Robert Bosch GmbH – Originalmente para comunicação entre componentes de carros – Applicações de CAN: • Controladores de elevadores, copiadoras, instrumentos médicos – Taxas de transferência até 1 Mbit/s e 11-bit de endereçamento Electrónica de Computadores EC 14.42 11-11-2008 21 Protocolo série : FireWire • FireWire (a.k.a. I-Link, Lynx, IEEE 1394) – Barramento série de elevado desempenho desenvolvido pela Apple Computer Inc. – Especificado para interligar componentes electrónicos independentes: • e.g., Desktop, scanner – Taxa de transferência de dados de 12.5 a 400 Mbits/s, 64-bit de endereçamente – Capacidade de Plug-and-play – Estrutura baseada em pacotes – Applications using FireWire include: • impressoras, scanners, câmaras – Capaz de suportar uma LAN semelhante à Ethernet • 64-bit endereçamento: – 10 bits para ids de rede, 1023 subredes – 6 bits para ids de nós, cada subrede pode ter 63 nós – 48 bits para endereçamento de memória, cada nó pode ter 281 terabytes de posiçõe de memória Electrónica de Computadores EC 14.43 11-11-2008 Protocolo série: USB • USB (Universal Serial Bus) – Fácil interligação de PC e monitors, impressoras, modems, scanners, câmaras digitais, joysticks, etc. – 2 taxas de transferência: • 12 Mbps para dispositivos de elevada largura de banda • 1.5 Mbps para dispositivos de mais reduzida largura de banda (joysticks, game pads) – Topologia em rede pode ser usada • Um dispositivo USB (hub) ligado ao PC • Múltiplos dispositivos USB podem estar ligados ao hub • Até 127 dispositivos podem estar assim ligados – Controlador de USB • Gere e controlo a largura de banda fornecendo o controlador para cada um dos periféricos Electrónica de Computadores EC 14.44 11-11-2008 22 Protocolos sem fios: IrDA • IrDA – Protocolo para comunicação ponto-a-ponto com infra-vermelhos – Criado e promovido pela Infrared Data Association (IrDA) – Transferência de dados de 9.6 kbps e4 Mbps – IrDA apliacado em computadores portáteis, impressoras, PDAs, câmaras digitais, telefones móveis – Windows 2000/XP incluem drivers Electrónica de Computadores EC 14.45 11-11-2008 Protocolos sem fios : Bluetooth • Bluetooth – Padrão para interligação sem fios – Baseado em ligação de rádio de baixo custo e curta distância – Comunicação até 10 meters – Não é necessário estar em linha de vista • e.g., Ligação do computador a uma impressora que está noutra sala Electrónica de Computadores EC 14.46 11-11-2008 23 Sumário • • • • • Conceitos básicos sobre barramentos Processadores de uso geral – Endereçamento de I/O: Memory mapped I/O ou Standard I/O – Atendimento de interrupções: fixa ou vectorizado – Direct memory access Arbitragem no acesso ao barramento – Esquemas de prioridade (fixo/rotativo) ou em daisy chain Barramentos hierárquicos – Barramentos nível 0 e 1 Tipos de protocolos: camada física – Paralelo vs. série, sem fios, detecção/correcção de erros – Protocolos série: I2C, CAN, FireWire, e USB – Protocolos série sem fios: IrDA, Bluetooth Electrónica de Computadores EC 14.47 11-11-2008 24