Você está na página 1de 35

Microcontroladores e Interfaces

3 Ano Eng. Electrnica Industrial

Carlos A. Silva
2 Semestre de 2004/2005 http://www.dei.uminho.pt/lic/mint

Assunto: Busses Aula #11

O que um bus
BUS: Traduz-se como barramento e no autocarro !!!

O barramento

Uma ligao partilhada para comunicao. Conjunto de linhas usado para conectar mltiplos sub-sistemas

2 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

O que um bus
Processador
Unidade de Controlo Caminho de Dados

Entradas

Memria Sadas

O barramento tambm usado como uma ferramenta fundamental na composio de sistemas complexos

Permite a abstraco da ligao de sub-sistemas

3 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Barramentos

4 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Vantagens do barramento
Dispositivos Dispositivos
I/O

Dispositivos
I/O

Processador

I/O

Memory

Versatilidade

Novos dispositivos podem ser adicionados Perifricos podem ser movidos entre computadores que usem o mesmo standard para o barramento (p. ex., USB)

Baixo Custo

Um simples conjunto de fios pode ser partilhado de diversas maneiras

5 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Desvantagens do barramento

Dispositivos

Dispositivos
I/O

Dispositivos
I/O

Processador

I/O

Memory

O barramento cria um afunilamento na comunicao


A largura de banda do barramento pode limitar o throughput mximo do sistema I/O

A velocidade mxima do barramento ser grandemente limitada pelos seguintes factores:


Comprimento do barramento Nmero de dispositivos pendurados no barramento A necessidade de suportar uma gama de dispositivos com Grande variabilidade de latncia Grande variabilidade na velocidade de transferncia de dados

6 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Organizao geral de um barramento


linhas de controlo linhas de dado

Linhas de Controlo

Sinalizam pedidos (requests) e confirmaes (acknowledgements) Indicam qual o tipo de dado presente na linha de dados

Linha de Dados

Transporta endereos e dados Comandos complexos

7 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Transaco: Topologia Mestre / escravo


Mestre envia comandos

Bus Master

Dados podem ir em ambas direces

Bus Slave

Uma transaco do barramento envolve duas fases


Envio de um comando (e endereo) request Transferncia de dados aco

O mestre responsvel por iniciar a transaco ao


Enviar o comando (e endereo)

O escravo aquele que responde ao comando ao


Enviar dados pedidos pelo mestre se este pedir dados Receber dados do mestre se este quiser enviar dados

8 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Tipos de barramentos

Existem trs tipos de barramentos Barramento processador-memria (especfico ao projecto do processador)


Curto e de alta velocidade Precisa apenas se adaptar as caractersticas do sistema de memria


Maximizar a largura de banda da ligao processadormemria

Conecta directamente ao processador Optimizado para transferncia de blocos de dados da cache

9 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Tipos de barramentos

Barramento I/O (standard industrial)


Geralmente comprido e lento Tem que ser adaptado a uma larga gama de dispositivos I/O Liga ao barramento processador-memria ou ao barramento backplane

Barramento backplane

Backplane:

Estrutura de ligao dentro do chassis

Permite a coexistncia entre processadores, memria e dispositivos I/O Vantagem do baixo custo:

Um barramento para todos os componentes

10 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Exemplo: Organizao do Sistema Pentium

barramento processador-memria bridge ou hub

barramento PCI (barramento backplane)

barramento I/O
11 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Sistema com um s barramento: barramento backplane


Backplane Bus

Processor

Memory

I/O Devices

Barramento nico (barramento backplane) usado para:


Comunicao processador-memria Comunicao entre dispositivos I/O e memria

Vantagens:

Simples e de baixo custo

Desvantagens:

Lento (o barramento pode se tornar no maior afunilamento do sistema)

Exemplo:

IBM PC AT

12 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Sistema com dois barramentos


Processor Memory Bus Processor Bus Adaptor I/O Bus Bus Adaptor I/O Bus Bus Adaptor I/O Bus Memory

O barramento I/O ligado ao barramento processadormemria atravs de uma adaptador de barramento (bridge)

Barramento processador-memria: usado essencialmente para o trfico processador-memria Barramento I/O: fornece slots de expanso para dispositivos I/O

Apple MacIntosh-II

Barramento NuBus: processador, memria e alguns dispositivos de I/O previamente seleccionados Barramento SCCI: responsvel pelo resto dos dispositivos I/O

13 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Sistema com trs barramentos


Processor Memory Bus

Processor
Bus Adaptor Bus Adaptor Backplane Bus Bus Adaptor I/O Bus I/O Bus

Memory

Um pequeno nmero de barramentos backplane so ligados ao barramento processador-memria


O barramento processador-memria usado apenas para o trfego processador-memria Os barramentos I/O so ligados ao barramento backplane A carga no barramento do processador reduzida consideravelmente

Vantagem

14 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Arquitectura com bridges Norte/Sul: Barramentos separados


Processor backside cache
Backplane Bus Processor Memory Bus

Memory

Bus Adaptor Bus Adaptor

North bridge
I/O Bus I/O Bus

South bridge

Conjunto de pinos diferentes para diferentes funes


Barramento de memria Caches Barramento grfico (frame buffer rpido) Barramentos I/O so ligados ao barramento backplane

15 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Arquitectura com bridges Norte/Sul: Barramentos separados


Vantagens

Os barramento de podem operar a diferentes velocidades A carga total muito menor

Exemplo: Pentium III


North bridge South bridge

16 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

O que define um barramento ?


Protocolo de transaco Especificao temporal e da sinalizao Conjunto de fios Especificao elctrica Caractersticas fsicas e mecnicas conectores

17 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Barramento sncrono e barramento assncrono


Barramento sncrono

Inclui um sinal de relgio nas linhas de controlo Protocolo de comunicao pr-fixado (relativo ao relgio) Vantagem:

Requer pouca lgica e permite velocidades mais elevadas

Desvantagens:

Cada dispositivo no barramento tem que suportar a mesma velocidade De modo a evitar o skew do sinal de relgio, o comprimento do barramento deve ser curto para poder atingir velocidades elevadas

18 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Barramentos sncronos e barramentos assncronos


Barramentos assncronos

No tem sinal de relgio Pode acomodar um largo espectro de dispositivos Pode atingir comprimentos maiores sem o problema do skewing do sinal de relgio Requer o uso de um protocolo de handshaking

19 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Transaco no barramento

Trs questes bsicas:


Arbitragem

Quem ter acesso ao barramento ?

Pedido

O que se pretende fazer ?

Aco

O que acontecer na resposta ?

20 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Arbitragem: Obtendo acesso ao barramento


Control: Master initiates requests Bus Master Data can go either way Bus Slave

O aspecto mais importante no projecto do barramento:


Como o barramento reservado pelo dispositivo que pretende us-lo ?


Quem ter acesso ao barramento ?

O caos impedido atravs da topologia mestre-escravo


Apenas o bus master pode controlar o acesso ao barramento


Ele inicia e controla todos os pedidos de acesso ao barramento

Um escravo apenas responde a um pedido de leitura ou de escrita

21 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Arbitragem: Obtendo acesso ao barramento


Control: Master initiates requests Bus Master Data can go either way Bus Slave

O sistema mais bsico ser


O processador o nico mestre do barramento Todos os pedidos de acesso ao barramento so controlados pelo processador Principal limitao:

O processador est envolvido em todas as transaces

22 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Barramento com mltiplos mestres: Necessidade de arbitragem


Esquema de arbitragem do barramento


Um dos mestres do barramento ao querer usar o barramento sinaliza que quer o barramento Um dos mestres do barramento no pode usar o barramento at que este lhe tenha sido cedido O mestre do barramento sinaliza ao rbitro do barramento que terminou de utilizar o barramento

O esquema de arbitragem da utilizao do barramento procura balancear dois factores:


Prioridade no uso do barramento


O dispositivo com maior prioridade deve ser servido primeiro Mesmo o dispositivo com menor prioridade nunca deve ser completamente impedido de usar o barramento

Equidade

23 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Barramento com mltiplos mestres: Necessidade de arbitragem


Os esquemas de arbitragem do barramento podem ser divididos em quatro grandes classes:


Arbitragem em daisy chain Arbitragem paralela centralizada Arbitragem distribuda por auto-seleco:

Cada dispositivo que queira o barramento coloca um cdigo no barramento indicando a sua indentidade

Arbitragem distribuda por deteco de coliso:


Cada dispositivo simplesmente avana. Qualquer problema resolvido a posterior.

24 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Esquema de arbitragem: Arbitragem por Daisy Chain


Device 1 Highest Priority Grant Grant Device 2 Device N Lowest Priority Grant Release Request

Bus Arbiter

wired-OR

Vantagem:

Simplicidade

Desvantagem:

No pode assegurar equidade no acesso ao barramento Um dispositivo de menor prioridade pode no conseguir o acesso ao barramento O uso do daisy chain tambm limita a velocidade do barramento

25 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Esquema de arbitragem: Arbitragem paralela centralizada


Device 1
Grant

Device 2 Req

Device N

Bus Arbiter

usado praticamente em todos os barramentos processador-memria e em barramentos I/O de elevado desempenho

26 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Paradigma mais simples de arbitragem do barramento

Todos os agentes operam sincronamente Todos podem transaccionar dados mesma taxa Trata-se do protocolo mais simples

Apenas tem-se que gerir o dispositivo fonte e o destino

27 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Forma mais simples do protocolo sncrono

BReq BG R/W Address Data Cmd+Addr Data1 Data2

O barramento de memria geralmente mais complexo do que este


A memria (dispositivo escravo) pode precisar de tempo para responder

28 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Tpico protocolo sncrono


BReq BG R/W Address Wait Cmd+Addr

Data

Data1

Data1

Data2

O dispositivo escravo indica quando est preparado para a transferncia de dados A taxa de transferncia a do barramento

29 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Como aumentar a largura de banda do barramento ?


Linhas de endereo e de dados: separadas ou multiplexadas


Os endereos e os dados podem ser transmitidos num nico ciclo do barramento se as linhas de endereo e de dados forem distintas Custo

mais linhas no barramento aumento da complexidade do barramento

Largura do barramento de dados


Ao aumentar a largura do barramento de dados, a transferncia de mltiplas palavras requerer menos ciclos do barramento Exemplo:

SPARC Station 20: o barramento de dados tem uma largura de 128 bits

30 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Como aumentar a largura de banda do barramento ?


Transferncia de blocos de dados


Permite que o barramento transfira mltiplas palavras em ciclos Apenas necessrio enviar um endereo no incio O barramento no libertado at que a ltima palavra tenha sido transferida Custo:

Aumento da complexidade Diminuio do tempo de resposta por pedido

31 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Handshake para protocolo assncrono (4 fases)


Write transaction address data read req ack t0

master asserts address master asserts data

next address

t1

t2

t3

t4

t5

t0: O master obteve o controlo e emite o endereo, a direco e os dados. Espera durante um determinado tempo a fim de que os slaves descodifiquem o destinatrio t1: O master activa a linha de req (resquest)

32 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Handshake para protocolo assncrono (4 fases)


Write transaction address data read req ack t0

master asserts address master asserts data

next address

t1

t2

t3

t4

t2: O slave activa a linha ack (acknowledge), indicando a recepo dos dados t3: O master desactiva a linha de req (request) t4: O slave desactiva a linha de ack (acknowledge)

33 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Transaco na leitura
Read transaction address data read req ack t0

master asserts address slave data

next address

t1

t2

t3

t4

t0: O master obteve o controlo e emite o endereo e a direco. Espera durante um determinado tempo a fim de que os slaves descodifiquem o destinatrio t1: O master activa a linha de req (resquest)

34 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva

Transaco na leitura
Read transaction address data read req ack t0

master asserts address slave data

next address

t1

t2

t3

t4

t2: O slave activa a linha ack (acknowledge), indicando estar pronto para transmitir dados t3: O master desactiva a linha de req (request), os dados so recebidos t4: O slave desactiva a linha de ack (acknowledge)

35 Microcontroladores e Interfaces 2004/2005 Carlos A. Silva