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