Organização de Computadores - cuco.pro.brcuco.pro.br/ach2034/aula19.pdf · Rodrigo Hausen - OCD...
Transcript of Organização de Computadores - cuco.pro.brcuco.pro.br/ach2034/aula19.pdf · Rodrigo Hausen - OCD...
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
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.
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/