40
1/40 Rodrigo Hausen - OCD Organização de Computadores Aula 19 Barramentos: Estruturas de Interconexão Rodrigo Hausen 14 de outubro de 2011 http://cuco.pro.br/ach2034

Organização de Computadores - cuco.pro.brcuco.pro.br/ach2034/aula19.pdf · Rodrigo Hausen - OCD 1/40 Organização de Computadores Aula 19 Barramentos: Estruturas de Interconexão

  • Upload
    letram

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

1/40Rodrigo Hausen - OCD

Organização de Computadores

Aula 19Barramentos: Estruturas de Interconexão

Rodrigo Hausen

14 de outubro de 2011

http://cuco.pro.br/ach2034

2/40Rodrigo Hausen - OCD

Apresentação

● 1. Bases Teóricas● 2. Organização de computadores– 2.1. Introdução– 2.2. Execução de instruções– 2.3. Estruturas de Interconexão

● 3. Histórico, evolução e performance

● Aula de hoje: Stallings (5a. edição), “3.3. Estruturas de Interconexão” e “3.4. Interconexão de Barramentos”

3/40Rodrigo Hausen - OCD

Arquitetura ExemploMemória Principal

Módulo de E/S

ULA

Barramentodo SistemaR1 Rn...

4/40Rodrigo Hausen - OCD

Conexões

● Todas as unidades de um sistema computacional precisam estar conectadas

● Tipo diferente de conexão para tipo diferente de módulo:– Memória– Módulo de Entrada/Saída– CPU

5/40Rodrigo Hausen - OCD

Módulos de um Computador

6/40Rodrigo Hausen - OCD

Conexão da Memória Principal

● Tipicamente, a memória principal é composta de N palavras de mesmo tamanho.

● Recebe e envia palavras● Recebe endereços (de posições)● Recebe sinais de controle:– Leitura– Escrita– Temporização

(para sincronizar operação com CPU)

7/40Rodrigo Hausen - OCD

Subsistema de Entrada/Saída

● Similar à memória, do ponto de vista da CPU

● Cada interface (porta) é identificada por um endereço

Módulo deE/S

Interface 0

Interface 1

Interface n-1

...

Dispositivoexterno n-1

endereço

controle

dados

8/40Rodrigo Hausen - OCD

Conexão de Entrada/Saída

● Operação de Saída– Recebe dados do computador– Envia dados para a interface de um dispositivo externo

9/40Rodrigo Hausen - OCD

Conexão de Entrada/Saída

● Operação de Entrada– Recebe dados da interface de um dispositivo externo– Envia dados para o computador

10/40Rodrigo Hausen - OCD

Conexão de Entrada/Saída

● Recebe signais de controle do computador● Envia sinais de controle para os dispositivos externos

(também chamados periféricos)– p. ex. ligar motor do disco rígido (HD)

● Recebe endereços do computador– p. ex. número da porta para identificar periférico

● Envia sinais de interrupção (controle)

11/40Rodrigo Hausen - OCD

Conexão da CPU

● Lê instruções e dados● Escreve dados (após processamento)● Envia sinais de endereçamento para outras unidades● Envia sinais de controle para outras unidades● Recebe (e processa) as interrupções

12/40Rodrigo Hausen - OCD

Tipos de Transferência (1)● Memória principal para processador

Memória Principal

Módulo de E/S

ULA

Barramentodo SistemaR1 Rn...

13/40Rodrigo Hausen - OCD

Tipos de Transferência (2)● Processador para memória principal

Memória Principal

Módulo de E/S

ULA

Barramentodo SistemaR1 Rn...

14/40Rodrigo Hausen - OCD

Tipos de Transferência (3)● Subsistema de E/S para processador

Memória Principal

Módulo de E/S

ULA

Barramentodo SistemaR1 Rn...

15/40Rodrigo Hausen - OCD

Tipos de Transferência (4)● Processador para subsistema de E/S

Memória Principal

Módulo de E/S

ULA

Barramentodo SistemaR1 Rn...

16/40Rodrigo Hausen - OCD

Tipos de Transferência (5)● (Opcional) Entre memória e subsistema de E/S (DMA)

Memória Principal

Módulo de E/S

ULA

Barramentodo SistemaR1 Rn...

17/40Rodrigo Hausen - OCD

Barramento (Bus)

● Há diversas maneiras de se projetar um sistema de interconexão

● Mais comuns:– Barramento separado em linhas de dados, endereço e

controle: Master System (proc. Z-80), PCs atuais– Barramento compartilhado (multiplexado) para vários

tipos de informação: PC-XT, baseado no processador Intel 8086/8088, tinha barramento multiplexado para dados e endereço.

18/40Rodrigo Hausen - OCD

Que é um Barramento?

● Meio de comunicação entre dois ou mais dispositivos● Geralmente, sinais colocados em um barramento são

recebidos por todos os dispositivos (broadcast)● Apenas um módulo pode escrever em um barramento em

um dado instante!● Geralmente é agrupado:– Vários canais de comunicação em um só barramento

(barramento paralelo)– p. ex. Barramento de dados de 32 bits é um conjunto de

32 canais de um só bit.● Geralmente, não se representam as conexões para a

bateria/fonte de tensão.

19/40Rodrigo Hausen - OCD

Diagrama de Interconexão

● No diagrama acima o barramento está dividido em:– Barramento de dados: transmite dados– Barramento de endereço: identifica a fonte/destino dos

dados– Barramento de controle: transmite informações de controle

e temporização

20/40Rodrigo Hausen - OCD

Barramento de dados

● Transmite dados– Observe que não há distinção entre “dado” e “instrução”

neste nível (estamos fora da CPU)● Largura do barramento é um fator determinante no

desempenho (via de regra, quanto mais largo, melhor)● Larguras de barramento de dados comuns:– 8 bits (Z-80, Intel 8088)– 16 bits (Intel 8086)– 32 bits (Intel Pentium)– 64 bits (Intel Xeon)

21/40Rodrigo Hausen - OCD

Barramento de Endereço● Usado para identificar a fonte e o

destino dos dados que trafegam no barramento de dados.

● p. ex. CPU precisa ler uma instrução (dado) de uma determinada posição na memória

● Largura do barramento de endereço determina a capacidade de memória máxima do sistema

22/40Rodrigo Hausen - OCD

Barramento de Endereço● Usado para identificar a fonte e o

destino dos dados que trafegam no barramento de dados.

● p. ex. CPU precisa ler uma instrução (dado) de uma determinada posição na memória

● Largura do barramento de endereço determina a capacidade de memória máxima do sistema

– p. ex. Z-80 tem um barramento de endereço de 16 bits. Memória máxima: 216 = 65536 posições de memória

23/40Rodrigo Hausen - OCD

Barramento de Endereço● Usado para identificar a fonte e o

destino dos dados que trafegam no barramento de dados.

● p. ex. CPU precisa ler uma instrução (dado) de uma determinada posição na memótia

● Largura do barramento de endereço determina a capacidade de memória máxima do sistema

– p. ex. Z-80 tem um barramento de endereço de 16 bits. Memória máxima: 216 = 65536 posições de memória (de 8 bits, cada)

24/40Rodrigo Hausen - OCD

Barramento de Controle

● Controle e temporização da informação– Sinais de leitura e escrita para a memória principal ou para

dispositivos de E/S– Requisições de interrupção– Sinais de clock– Sinais de controle gerais, tais como: requisição de uso do

barramento por um módulo, término de uso do barramento, inicialização (reset) de dispositivos, etc.

25/40Rodrigo Hausen - OCD

Aspecto de um Barramento● Linhas paralelas em placas de circuito impresso

26/40Rodrigo Hausen - OCD

Aspecto de um Barramento● Linhas paralelas em placas de circuito impresso● Cabos paralelos (ribbon cable)

27/40Rodrigo Hausen - OCD

Aspecto de um Barramento● Linhas paralelas em placas de circuito impresso● Cabos paralelos (ribbon cable)● Conectores de borda de placa de expansão (p. ex. PCI)

28/40Rodrigo Hausen - OCD

Aspecto de um Barramento● Linhas paralelas em placas de circuito impresso● Cabos paralelos (ribbon cable)● Conectores de borda de placa de expansão (p. ex. PCI)● Conjuntos de fios unidos

29/40Rodrigo Hausen - OCD

Realização Física de um Barramento Único de Sistema● Estrutura em “backplane”

30/40Rodrigo Hausen - OCD

Barramento Único

● Apesar de ser mais simples de implementar, há desvantagens de se usar um único barramento de sistema.

– Condutores longos: tempo maior de propagação– Muitos dispositivos ligados no mesmo meio de transmissão

significa que a coordenação do uso do barramento pode afetar o desempenho geral do sistema

– Se houver dispositivos com diferentes velocidades de transmissão ligados ao barramento?

– Taxa de transferência total de dados é limitada à taxa de transferência no barramento do sistema

● Solução: usar múltiplos barramentos

31/40Rodrigo Hausen - OCD

Arquitetura em Mezanino

Barramento do Sistema

Barramento de Expansão

MemóriaPrincipal CPU

Interfacede rede

Interfacede disco

Interfacede modem

Interfaceserial

Interface deexpansão dobarramento

32/40Rodrigo Hausen - OCD

Arquitetura de Alto Desempenho

Barramento do Sistema

Barramento de Expansão

MemóriaPrincipal CPU

Interfacede rede

Interfacede fax

Interfacede modem

Interfaceserial

Interface deexpansão dobarramento

Ponte deBarramento

Barramento de Alta Velocidade

Interfacede vídeo

Interfacede disco

33/40Rodrigo Hausen - OCD

Classificação de Barramentos● Dedicado– Linhas separadas para dados e endereços

● Multiplexado– Linhas compartilhadas– Necessita de mais uma linha de controle, para indicar se

há dados ou endereços trafegando no barramento naquele instante

– Vantagem: necessita de menos condutores– Desvantagens

● Controle mais complexo● Pode diminuir o desempenho (pois compartilha um só

canal para endereços e dados)

34/40Rodrigo Hausen - OCD

Arbitragem do Barramento

● Confome já dissemos, apenas um módulo pode controlar o barramento por vez (apesar de mais de um módulo poder ler o que está sendo transmitido).

● O que acontecer se mais de um módulo solicitar o controle do barramento?

● Claramente, precisamos estabelecer regras para ceder o controle do barramento: arbitragem do barramento.

● As regras definem mestre (que controla) e escravo(s) (que é/são controlado/os)

● A arbitragem pode ser centralizada ou distribuída.

35/40Rodrigo Hausen - OCD

Tipos de Arbitragem

● Centralizada– Somente um módulo controla o acesso ao barramento

● Controlador de barramento ou árbitro decide quem poderá controlar o barramento

– Pode ser parte da CPU, ou um dispositivo dedicado a essa tarefa

● Distribuída– Cada módulo pode decidir controlar o barramento– Necessária logica de controle em todos os módulos

36/40Rodrigo Hausen - OCD

Temporização

● Coordenação de eventos no barramento● Síncrona– Eventos determinados por um sinal de controle– Barramento de controle inclui uma linha de clock– Uma transmissão de 1 seguido de 0 define um ciclo do

barramento– Todos os dispositivos têm acesso à linha de clock– Geralmente, sincronismo é dado pela borda de subida do

clock (sync on leading edge)– Geralmente, apenas um ciclo por evento

37/40Rodrigo Hausen - OCD

Diagrama: Temporização Síncrona

(do barramento)

(fornecido pelo mestre)

(fornecido pelo mestre)

(fornecido pelo mestre)

(fornecidas pelo mestre)

(retornadas pelo escravo)

(retornada pelo escravo)

38/40Rodrigo Hausen - OCD

Temporização Assíncrona

● Mais complexo, porém mais flexível● Permite que dispositivos mais lentos e mais rápidos

compartilhem o mesmo barramento, sem degradação de desempenho aos mais rápidos (permite melhor a mistura de tecnologias mais novas com mais antigas)

● Evento no barramento depende de evento ocorrido anteriormente

– MSYN: sincronismo mestre, de quem controla o barramento

– SSYN: sincronismo escravo, de quem está sendo controlado

39/40Rodrigo Hausen - OCD

Diagrama: Temporização Assíncrona

(fornecido pelo mestre)

(fornecidas pelo mestre)

(fornecido pelo mestre)

(retornado pelo escravo)

(retornadas pelo escravo)

40/40Rodrigo Hausen - OCD

Para Casa

● Ler seções 3.3 e 3.4 e o apêndice do capítulo

● Ler seção 3.5, sobre o barramento PCI, para ver como a teoria se aplica na prática

● Fazer exercícios do capítulo

● Cultura geral:– http://www.pcguide.com/ref/mbsys/buses/