Aula 19 - Rodrigo Hausen

Propaganda
Organização de Computadores
Aula 19
Barramentos: Estruturas de Interconexão
Rodrigo Hausen
14 de outubro de 2011
http://cuco.pro.br/ach2034
Rodrigo Hausen - OCD
1/40
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”
Rodrigo Hausen - OCD
2/40
Arquitetura Exemplo
Memória Principal
R1
...
Rn
Barramento
do Sistema
ULA
Módulo de E/S
Rodrigo Hausen - OCD
3/40
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
Rodrigo Hausen - OCD
4/40
Módulos de um Computador
Rodrigo Hausen - OCD
5/40
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)
●
Rodrigo Hausen - OCD
6/40
Subsistema de Entrada/Saída
●
Similar à memória, do ponto de vista da CPU
Interface 0
dados
controle
...
endereço
Módulo de
E/S
Interface 1
Interface n-1
●
Dispositivo
externo n-1
Cada interface (porta) é identificada por um endereço
Rodrigo Hausen - OCD
7/40
Conexão de Entrada/Saída
●
Operação de Saída
– Recebe dados do computador
– Envia dados para a interface de um dispositivo externo
Rodrigo Hausen - OCD
8/40
Conexão de Entrada/Saída
●
Operação de Entrada
– Recebe dados da interface de um dispositivo externo
– Envia dados para o computador
Rodrigo Hausen - OCD
9/40
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)
●
Rodrigo Hausen - OCD
10/40
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
Rodrigo Hausen - OCD
11/40
Tipos de Transferência (1)
●
Memória principal para processador
Memória Principal
R1
...
Rn
Barramento
do Sistema
ULA
Módulo de E/S
Rodrigo Hausen - OCD
12/40
Tipos de Transferência (2)
●
Processador para memória principal
Memória Principal
R1
...
Rn
Barramento
do Sistema
ULA
Módulo de E/S
Rodrigo Hausen - OCD
13/40
Tipos de Transferência (3)
●
Subsistema de E/S para processador
Memória Principal
R1
...
Rn
Barramento
do Sistema
ULA
Módulo de E/S
Rodrigo Hausen - OCD
14/40
Tipos de Transferência (4)
●
Processador para subsistema de E/S
Memória Principal
R1
...
Rn
Barramento
do Sistema
ULA
Módulo de E/S
Rodrigo Hausen - OCD
15/40
Tipos de Transferência (5)
●
(Opcional) Entre memória e subsistema de E/S (DMA)
Memória Principal
R1
...
Rn
Barramento
do Sistema
ULA
Módulo de E/S
Rodrigo Hausen - OCD
16/40
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.
●
Rodrigo Hausen - OCD
17/40
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.
●
Rodrigo Hausen - OCD
18/40
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
Rodrigo Hausen - OCD
19/40
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)
●
Rodrigo Hausen - OCD
20/40
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
Rodrigo Hausen - OCD
21/40
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
●
Rodrigo Hausen - OCD
22/40
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)
●
Rodrigo Hausen - OCD
23/40
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.
Rodrigo Hausen - OCD
24/40
Aspecto de um Barramento
●
Linhas paralelas em placas de circuito impresso
Rodrigo Hausen - OCD
25/40
Aspecto de um Barramento
●
●
Linhas paralelas em placas de circuito impresso
Cabos paralelos (ribbon cable)
Rodrigo Hausen - OCD
26/40
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)
Rodrigo Hausen - OCD
27/40
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
Rodrigo Hausen - OCD
28/40
Realização Física de um
Barramento Único de Sistema
●
Estrutura em “backplane”
Rodrigo Hausen - OCD
29/40
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
●
Rodrigo Hausen - OCD
30/40
Arquitetura em Mezanino
Memória
Principal
CPU
Barramento do Sistema
Interface
de rede
Interface
de disco
Interface de
expansão do
barramento
Interface
de modem
Interface
serial
Barramento de Expansão
Rodrigo Hausen - OCD
31/40
Arquitetura de Alto Desempenho
Memória
Principal
CPU
Barramento do Sistema
Interface
de disco
Ponte de
Barramento
Interface
de vídeo
Interface
de rede
Barramento de Alta Velocidade
Interface
de fax
Interface de
expansão do
barramento
Interface
de modem
Interface
serial
Barramento de Expansão
Rodrigo Hausen - OCD
32/40
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)
●
Rodrigo Hausen - OCD
33/40
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.
Rodrigo Hausen - OCD
34/40
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
Rodrigo Hausen - OCD
35/40
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
●
Rodrigo Hausen - OCD
36/40
Diagrama: Temporização Síncrona
(do barramento)
(fornecido pelo mestre)
(fornecido pelo mestre)
(fornecidas pelo mestre)
(retornadas pelo escravo)
(retornada pelo escravo)
Rodrigo Hausen - OCD
37/40
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
●
Rodrigo Hausen - OCD
38/40
Diagrama: Temporização Assíncrona
(fornecido pelo mestre)
(retornado pelo escravo)
(fornecido pelo mestre)
(fornecidas pelo mestre)
(retornadas pelo escravo)
Rodrigo Hausen - OCD
39/40
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/
Rodrigo Hausen - OCD
40/40
Download