Você está na página 1de 56

Sistemas, Processadorese Perifricos Aula 11 Entradas e Sadas (E/S) e Barramentos

(Captulo 8)

Prof. Frank Sill Torres DELT Escola de Engenharia UFMG

Adaptado a partir dos Slides de Organizao de Computadores 2006/02 do prof. Leandro Galvo DCC/UFAM e Ricardo de Oliveira Duarte (UFMG/DELT)

Introduo
Arquitetura de von Neumann

CPU
Barramento

Memria

Barramentos

Barramentos
Barramento o meio de comunicao compartilhado por vrios dispositivos, constitudo por sinais de dados, endereos e controle

Barramentos
Barramento de dados
Transporta informaes (dados ou instrues) Bidirecional

Barramento de endereos

Utilizado pelo processador para enviar endereos de memria ou dos dispositivos de E/S Largura depende do nmero de locais de memria que se pretende acessar Unidirecional

Barramento de controle

Utilizado para sinalizar solicitaes e confirmaes Bidirecional Exemplos: clock; reset; memory read/write; I/O read/write; bus request/grant; interrupt request/acknowledgement
5

Barramentos Vantagens
versatilidade o uso de um nico esquema de ligao permite adicionar mais perifricos e mover perifricos entre diferentes computadores que usem o mesmo tipo de barramento; baixo custo um nico conjunto de ligaes partilhado por vrios dispositivos;

Desvantagens
disputa compartilhado por vrios dispositivos, o barramento pode representar um gargalo de velocidade de comunicao limitao na velocidade a velocidade mxima de transmisso de dados limitada pelo comprimento e o nmero de dispositivos ligados
6

Barramentos :: Definies
Transao de Barramento
Sequncia de aes para completar uma atividade bem definida Exemplos: leitura de memria, escrita de memria

Iniciada por um dispositivo mestre

Operao de barramento
Uma transao pode envolver uma ou mais operaes de barramento

Ciclo de barramento
Perodo do clock do barramento

Maior que o ciclo de clock do processador


7

Barramentos
Largura Tipo Arbitragem Temporizao Hierarquia

Barramentos :: Largura
A largura de barramento o nmero de caminhos eltricos
Largura

(linhas) que o compem

Do ponto de vista do barramento de endereos, quanto mais


Tipo

linhas de endereo um barramento possui, mais espaos de memria ele poder acessar diretamente
diferentes

Um barramento com n linhas pode acessar 2n locais de memria


Temporizao

Barramentos mais largos, contudo, requerem mais linhas, ou


Arbitragem

seja, implicam em maior custo de material e ocupam mais espao

Hierarquia
9

Barramentos :: Largura
Do ponto de vista do barramento de dados, para aumentar a
Largura

largura de banda de transmisso de dados pelo barramento, h duas opes:


Aumentar a largura do barramento (mais bits por transferncias)

Tipo

Temporizao

Arbitragem

Reduzir o perodo de ciclo (mais transferncias por segundo)

Hierarquia
10

Barramentos :: Largura
Largura do barramento de dados
Largura

Reduzir o perodo de ciclo implica em dois problemas:

Incompatibilidade com sistemas legados


Tipo

Pequenas diferenas de velocidade entre linhas

diferentes do mesmo barramento (bus skew)


A largura do barramento de dados no corresponde

Temporizao

necessariamente ao tamanho das instrues da arquitetura

Arbitragem

Hierarquia
11

Barramentos :: Tipo
Largura

Barramento Dedicado
Barramentos distintos carregam informaes de dados e de endereos Alto desempenho Alto custo

Tipo

Temporizao

Barramento Multiplexado
Informaes de dados e de endereos so multiplexados em um barramento compartilhado Reduo de custos Sistema mais lento
12

Arbitragem

Hierarquia

Barramentos :: Temporizao sncrona


Barramentos sncronos
Largura

So barramentos que incluem um sinal de clock nas

Tipo

linhas de controle e um protocolo fixo para comunicao, que relativo ao clock


Aplicao: barramentos processador-memria

Temporizao

Vantagens
simplicidade fcil de implementar velocidade o barramento pode funcionar com clocks de alta frequncia

Arbitragem

Desvantagens
homogeneidade todos os componentes tm de se comunicar mesma velocidade comprimento devido ao clock skew, no pode ser comprido; quanto mais rpido o clock, mais curto tem de ser

Hierarquia

13

Barramentos :: Temporizao sncrona


Largura

Tipo

Temporizao

Arbitragem

Hierarquia
14

Barramentos :: Temporizao assncrona


Barramentos assncronos
Largura

No h sinal de clock

Utilizam um protocolo de handshaking para coordenar o


Tipo

uso do barramento
Exemplo bsico de uma sequncia de handshaking:

Temporizao

Arbitragem

Hierarquia
15

Barramentos :: Temp. assncrona :: Protocolo de handshaking


Largura

ReqLeitura

1 3 Endereo 2 2 4 4 Dado 6

Tipo

Dados

Temporizao

Ack DadoPronto

5 7

Arbitragem

Hierarquia

Este smbolo indica que a linha possui dados vlidos nesse perodo, mas o valor no conhecido
16

Barramentos :: Temp. assncrona :: Protocolo de handshaking


Largura

Tipo

Temporizao

Arbitragem

0. Dispositivo E/S sinaliza uma requisio, enviando um sinal ReqLeitura alto e colocando endereo nas linhas de dados 1. Memria v sinal alto em ReqLeitura, l endereo na linha de dados, e confirma, levantando o sinal de Ack 2. Dispositivo E/S v sinal Ack e libera linhas ReqLeitura e de dados 3. Memria detecta ReqLeitura em baixa e libera sinal Ack 4. Memria, quando pronta, coloca os dados na linha de dados e ativa sinal DadoPronto 5. Dispositivo E/S v DadoPronto, l dados do barramento e ativa Ack 6. Memria v sinal Ack, abaixa DadoPronto e libera linha de dados 7. Dispositivo E/S detecta liberao de DadoPronto e desativa Ack
17

Hierarquia

Barramentos :: Temporizao assncrona


Largura

Vantagens:
Heterogeneidade os dispositivos podem se comunicar a diferentes velocidades Comprimento o barramento pode ser mais longo do que os sncronos, pois no existem problemas de desvio de clock

Tipo

Temporizao

Desvantagens:
Arbitragem

Hierarquia

Complexidade implementao complexa Velocidade normalmente mais lentos do que os barramentos sncronos
18

Barramentos :: Arbitragem
Uma disputa acontece quando dois ou mais dispositivos E/S
Largura

tentam acessar ao mesmo tempo o barramento comum:

Tipo

E/S
Temporizao

E/S

Para evitar disputa e disciplinar o acesso dos dispositivos E/S,

utiliza-se um arranjo master-slave:


Arbitragem

Somente o mestre do barramento (bus master) pode

controlar o acesso ao barramento


Ele inicia e controla todas as requisies do barramento
Hierarquia

Um bus slave responde s requisies


19

Barramentos :: Arbitragem :: Taxonomia


Largura

Prioridade fixa
Tipo

Polticas de alocao

Prioridade rotativa

Esttica
Temporizao

Com justia (Fair)


Hbrida Baseada em transaes Baseada em demanda

Arbitragem Dinmica

Arbitragem

Polticas de liberao
Hierarquia

Nopreemptiva Preemptiva

20

Barramentos :: Arbitragem esttica dinmica


Largura

Arbitragem esttica
Tipo

Arbitragem dinmica
Barramento somente alocado em resposta a uma requisio Duas linhas: O mestre usa a linha de bus request para solicitar uso do barramento Antes de usar o barramento, o mestre deve receber permisso pela linha bus grant

Temporizao

Arbitragem

O controle do barramento compartilhado de forma pr-determinada Implementao fcil No leva em considerao necessidades dos dispositivos Utilizao ineficiente: o barramento alocado mesmo quando no preciso

Hierarquia
21

Barramentos :: Arbitragem :: Polticas de alocao


Largura

Polticas de alocao
Prioridade fixa Prioridade Rotativa Com justia Hbrida
Prioridade e justia incorporadas em uma mesma poltica Cada Prioridade no Evitam o dispositivo problema de fixa mestre starvation, Vrias maneiras associado a um quando um de mudana de nmero fixo de elemento no prioridade: prioridade tem acesso ao Funo do barramento O dispositivo de tempo de devido a maior espera constantes prioridade Menor pedidos de sempre tem prioridade maior acesso ao para o prioridade barramento dispositivo No utiliza que acabou prioridades de usar o barramento

Tipo

Temporizao

Arbitragem

Hierarquia

Barramentos :: Arbitragem :: Polticas de liberao


Largura

Polticas de liberao
No preemptiva Baseada em transaes No preemptiva Baseada em demanda Preemptiva
Fora o mestre corrente a liberar o barramento mesmo sem ter completado sua transao Libera o barramento no Libera o barramento final da transao somente quando um corrente outro mestre solicita Requer o barramento de Evita requisies novo se houver mais desnecessrias da transaes, garantindo poltica anterior justia Mais eficiente Implementao fcil Overhead desnecessrio se apenas um mestre precisa do barramento.

Tipo

Temporizao

Arbitragem

Hierarquia
23

Barramentos :: Arbitragem Dinmica :: Implementao


Largura

Tipo

Daisy-chaining

Temporizao

Implementao de Arbitragem Dinmica

Centralizada

Requisies Independentes

Arbitragem

Distribuda

Hbrida

Hierarquia
24

Barramentos :: Arbitragem Centralizada Distribuda


Largura

Arbitragem dinmica centralizada


Um rbitro central recebe todas as requisies de barramento Polticas de alocao so utilizadas para determinar quais requisies sero confirmadas Tal confirmao transportada pela linha de

Arbitragem dinmica distribuda


O hardware de arbitragem est distribudo entre os dispositivos mestres Um algoritmo de arbitragem distribudo usado para determinar quem deve utilizar o barramento

Tipo

Temporizao

Arbitragem

bus grant

Hierarquia

Quando a transao termina, o barramento liberado atravs de alguma poltica


25

Barramentos :: Arbitragem :: Daisy Chaining


Implementa arbitragem dinmica centralizada
Largura

Quando o rbitro v uma requisio de barramento, envia uma confirmao atravs da linha bus grant O dispositivo mais prximo ao rbitro, verifica se foi ele quem pediu acesso
Caso positivo, ele toma controle do barramento, sem propagar o sinal de grant

Tipo

Temporizao

Caso negativo, repassa o sinal de grant para frente

Arbitragem

Hierarquia
26

Barramentos :: Arbitragem :: Daisy Chaining


Largura

Vantagem
Tipo

Implementao simples

Temporizao

Desvantagens
No garante justia, pois implementa poltica de prioridade fixa um dispositivo de baixa prioridade pode ficar bloqueado indefinidamente O uso do sinal daisy chain grant limita a velocidade do barramento
27

Arbitragem

Hierarquia

Barramentos :: Arbitragem :: Requisies independentes


Largura

Tipo

Cada dispositivo mestre conectado ao rbitro central por linhas de grant e request separadas O rbitro central pode utilizar diversas polticas de alocao para definir quem deve ter acesso ao barramento Tcnica utilizada pelo barramento PCI Desvantagem: implementao complexa

Temporizao

Arbitragem

Hierarquia
28

Barramentos :: Arbitragem :: Hbrida


Largura

Dispositivos mestre com prioridades semelhantes so divididos em classes Cada classe possui suas prprias linhas de request e grant Dentro de cada classe, o barramento conectado usando

Tipo

daisy-chaining

Temporizao

Arbitragem

Hierarquia
29

Barramentos :: Arbitragem Distribuda


Largura

Os prprios dispositivos mestres determinam quem deve acessar o barramento no prximo ciclo de transaes Podemos ter verses distribudas dos esquemas de daisychaining e de requisies independentes

Tipo

Temporizao

Arbitragem

Hierarquia
30

Barramentos :: Hierarquia
Devido s diferentes necessidades de velocidade dos
Largura

dispositivos de E/S, as arquitetura de computadores so geralmente compostas de diferentes barramentos, interconectados por interfaces (bridges)

Tipo

Temporizao

Arbitragem

Hierarquia
31

Barramentos :: Hierarquia
Largura

Processor bus

on-chip

Tipo

Memory bus

Backside bus conecta a cache ao processador Front-side bus conecta o subsistema de memria e o processador Barramento de alta velocidade para conectar perifricos de desempenho crtico memria e ao processador Exemplos: PCI, VESA Local Bus Conecta perifricos mais lentos ao barramento local Exemplos: ISA

Temporizao

Local I/O bus

Arbitragem

Standard I/O bus

Hierarquia

External bus

Conecta interconecta dispositivos externos. Exemplos: USB e Firewire


32

Barramentos :: Hierarquia - Estrutura de um PC (quase) atual


Largura

Cache
CPU

DDRIII

Control. de Memria

Mem BUS

Channel 1
DDRIII

Channel 2
Tipo CPU BUS

Ponte Norte On-board Graphics

Temporizao

PCI Express 16

placa grfica externa

Ponte Sul
Arbitragem

PCI Express 1 PCI


Adap. p/ rede Placa de som
33

USB
control.

IDE
control.

SATA
control.

Hierarquia

Mouse/ tecaldo

DVD Drive

Hard Disk

Barramentos :: Hierarquia - Estrutura de um PC atual


Largura

Tipo

Temporizao

Arbitragem

Hierarquia
34

Barramentos :: DRAM : Introduo


DRAM - Dynamic Random Access Memory (memria de acesso aleatrio dinmica)
Geralmente usada para memria principal (Caches: com memria esttica - SRAM) Colocado em DIMMs - Dual In-line Memory Module (mdulo de memria em linha dupla)

35

Barramentos :: DRAM : Arquitetura da Clula (1T1C)


Escrita 1 Leitura 1

sensoriamento

Bit est armazenado em um capacitor (CS) Linha de palavra (WL) controla acesso ao CS

Linha de bit (BL) para:


Armazenamento de um bit (BL = GND ou VDD) Leitura de um bit (BL = VDD/2 + Vx, Vx: positivo/negativo)
Fonte: Rabaey Dig. Int. Cir.
36

Barramentos :: DRAM : Realizao


Word line
Insulating Layer Cell Plate Si Capacitor Insulator Storage Node Poly Si Substrate 2nd Field Oxide Refilling Poly Transfer gate Isolation

Cell plate Capacitor dielectric laye

Storage electrode

Tipo: Trench Cell Trench Cell


Fonte: Rabaey Dig. Int. Cir.

Stacked-capacitor Cell Tipo: Stacked-capacitor Cell


37

Barramentos :: DRAM : Observaes


Amplificador sensor (sense amplifier) necessrio para cada linha de bit para leitura Leitura destrutiva da clula leitura e reescrita necessrio Pelo vazamento capacitor perde carga clula precisa ser refrescada periodicamente por isso: memria dinmica

38

Barramentos :: DRAM : Estrutura da Memria - Tipo Matriz


Linha de bit Decod. da linha Clula DRAM Linha de palavra

Amplificador

Decod. da coluna

Fonte: Rabaey Dig. Int. Cir.

E/S
39

Barramentos :: DRAM : Temporizao - Bsicos


Cclo de leitura Leitura
Acesso de leitura Acesso de leitura

Cclo de escrita

Escrita Dados esto validos Dados Dados esto escritos


Fonte: Rabaey Dig. Int. Cir.
40

Acesso de escrita

Barramentos :: DRAM : Temporizao Sinais Principais


Barramento de Endereo Endereo das dados (para escrita e leitura) Endereo consiste de endereo da coluna e da linha CAS - Column Address Select Seleo do endereo da coluna

Mostra que endereo da coluna est no barramento


RAS Row Address Select Seleo do endereo da linha Mostra que endereo da linha est no barramento
41

Barramentos :: DRAM : Temporizao Sequncia Bsica


tRAC Tempo de acesso tRP - tempo de prcarregamento

RAS
CAS End. Dados
X

tRCD - Atraso RAS/CAS

Lin. i

Col. n

Lin. j

CL - Latncia CAS
Dados n

Sequncia de acesso
RAS ativado e endereo da linha colocado no barramento de endereo Depois do atraso RAS-to-CAS tRCD: CAS ativado e endereo da coluna colocado no barramento de endereo

Depois da latncia CAS CL: transferncia de dados


Pr-carregamento: At BL = VDD/2
Fonte: Rappoport Comp. Arch.
42

Barramentos :: DRAM : DRAM sncrona (SDRAM)


Todos os sinais referenciados ao clock externo Temporizao com outros sistemas mais preciso Arquitetura com vrios blocos (bancos)
Menos fios no bloco Consumo menor (s um bloco est ativo)

Controle baseado em instrues em vez de sinais


ACTIVE: Seleo do bloco e da linha RD: Seleo da coluna

Pr-carregamento automtico

Refrescamento automtico
43

Barramentos :: DRAM : Estrutura - Tipo Hierarquia (SDRAM)


Bloco 0 Endereo da linha Endereo da coluna Endereo do bloco Bloco i

Barramento global de dados Seletor do bloco Amplificador global E/S 0


Fonte: Rabaey Dig. Int. Cir.

Endereo de um Byte:

Bloco
31

Linha

Coluna

Fonte: Rabaey Dig. Int. Cir.

44

Barramentos :: DRAM : DDR-SDRAM


Double Date Rate - SDRAM (SDRAM de dupla taxa de transferncia) Barramento de dados interno o dobro da largura do barramento de dados externo Dados so capturados duas vezes por ciclo de clock Dados so da mesma linha (burst)
0:n-1
SDRAM matriz

0:2n-1 n:2n-1

0:n-1

clock
Fonte: Rappoport Comp. Arch.
45

Barramentos :: DRAM : DDR-SDRAM - Temporizao


clock Instr.
ACT NOP NOP RD NOP ACT NOP

NOP

RD

NOP

ACT

NOP

NOP

tRCD t RRD t RC
Bloco Ender.
Bl 0 X X Bl 0 X Bl 1 X X Bl 1 X Bl 0 X X

Lin i

Col j

Lin m

Col n

Lin l

CL=2

Dados

+1 +2 +3

n +1 +2 +3

tRRD - tempo entre acesso a duas linhas diferentes em blocos diferentes

tRC tempo entre acesso a duas colunas diferentes no mesmo bloco


Fonte: Rappoport Comp. Arch.
46

Barramentos :: DRAM : Especificao da Memria


Memrias especificadas pelo conjunto CL tRCD tRP em ciclos de clock Exemplo: 9-9-9

CAS Latency (CL): 9 ciclos de clock


RAS to CAS Delay (tRCD): 9 ciclos de clock Row Precharge Delay (tRP): 9 ciclos de clock

47

Barramentos :: DRAM : Tipos de DDR-SDRAM


DDR1
Frequncias tpicas: 133 / 200 / 266 MHz Taxas de dados tpica: 266 / 400 / 533 Mbps

DDR2
Frequncia interna duas vezes mais alta do que frequncia externa

Frequncias tpicas: 133 / 200 / 266 MHz


Taxas de dados tpica: 533 / 800 / 1066 Mbps

DDR3
Frequncia interna quatro vezes mais alta do que frequncia externa Frequncias tpicas: 133 / 200 / 266 MHz Taxas de dados tpica: 1066 / 1600 / 2133 Mbps
48

Barramentos :: Exemplos para Barramentos Paralelos


Largura

Tipo

Temporizao

Arbitragem

Hierarquia Fonte: Carlos A. Silva


49

Barramentos :: Tendncias
Hoje: barramentos paralelos (como IDE, AGP, PCI-X, ...) no so suficientes para velocidades desejadas (> 250 MHz, > 1 GB/s ) Barramentos novos so seriais e ponto-a-ponto: PCI Express (placa de vdeo) Serial ATA (disco rgido)

Universal Serial Bus USB (mouses, teclados, ...)


FireWire (cmeras, ...) ...

Barramentos :: PCI Express : Viso Geral


Interconexo de alto desempenho para E/S Sucessor de PCI e PCI-X, mas com diferenas significas Interconexo serial de tipo ponto-a-ponto entre dois dispositivos Aplicao de um protocolo baseado em pacotes Desempenho escalvel que depende de nmero de caminhos de sinais Muito usada para placas grficas
Nmero dos caminhos (Link width)

x1
PCIe 1.x (GB/s) PCIe 2.x (GB/s) PCIe 3.0 (GB/s) 0,5 1 2

x2
1 2 4

x4
2 4 8

x8
4 8 16

x12
6 12 24

x16
8 16 32

x32
16 32 64
51

Barramentos :: PCI Express : Topologia


CPU
Ponte na placa-me
Dispositivo PCIe

memria

switch

Dispositivo PCIe

Ponte PCIe ao PCI/PCI-X

Dispositivo PCIe
Fonte: PCI-SGI, 2010

Dispositivo PCIe

Barramento PCI/PCI-X

52

Barramentos :: PCI Express : Comunicao


Core do dispositivo Core do dispositivo

Comunic. por pacotes tipo TLP

Interface entre PCIe e core


Camada de transaes Camada de ligao de dados Camada fsica

Interface entre PCIe e core


Camada de transaes Camada de ligao de dados Camada fsica

Comunic. por pacotes tipo TLP

Conexo fsica

Fonte: PCI-SGI, 2010

53

Barramentos :: PCI Express : Estrutura de pacotes tipo TLP


- Transaction Layer Packets (pacotes da camada de transaes) xCRC - Cdigo de redundncia cclica TLP
Incio
1 Byte

Sequncia
2 Byte

Cabea
3-4 palavras

Dados
0-1024 palavras

ECRC
1 pal.

LCRC
1 pal.

Fim
1 Byte

Criado pela camada de transaes Anexado pela camada de ligao de dados Anexado pela camada fsica
Fonte: PCI-SGI, 2010
54

Barramentos :: PCI Express : TLP - Estrutura do Cabealho


Sinalizao no PCI-X

Integrao no cabealho do TLP do PCIe

Fonte: PCI-SGI, 2010

55

O que vocs aprenderam hoje?


Barramentos
Definio Vantagens e desvantagens Arbitragem Temporizao

Hierarquia
Tendncias

Comunicao com memria principal

56