Ermeson Andrade. Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se...

42
Barramento Ermeson Andrade

Transcript of Ermeson Andrade. Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se...

Page 1: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

BarramentoErmeson Andrade

Page 2: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si

Ele é uma rede de componentes básicos e devem existir caminhos de conexão entre esses componentes

A coleção de caminhos que conectam os vários componentes ou módulos é chamada estrutura de interconexão

Estruturas de Interconexão

Page 3: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Módulos do computador

Dados

MemóriaMemória

N Palavras N Palavras

0 0 . . . . . . N NDados

Endereço

Leitura

Escrita

Dados Int

Dados Ext

InterruptMódulo de Módulo de E/SE/S

Dados Int

Endereço

LeituraEscrita

Dados Ext

Sinal Ctrl

Dados

CPUCPU

Interrupt

Instrução

Dados

As setas grossas representa as linhas de sinais transportando informação.

Page 4: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Tipos de transferências geralmente suportada:

Estrutura de Interconexão

MemóriaMemória

N Palavras N Palavras

0 0 . . . . . . N N

CPUCPU

Módulo Módulo dedeE/SE/S

CPU lê dados e Instruções

CPU escreve dados

DM

A

Page 5: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Várias estruturas de interconexão tem sido utilizada ao longo dos anos

As estruturas mais comuns são o barramento e múltiplos barramentos

Barramento é um caminho de comunicação entre dois ou mais dispositivos

Interconexão de Barramentos

Page 6: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Características:◦ Meio de transmissão Compartilhado◦ Um sinal pode ser recebido por todos os

dispositivos conectados ao barramento◦ Somente um dispositivo pode transmitir sinais

pelo barramento em um determinado instante (Evitar adulteração de sinais)

Um barramento consiste em várias linhas de comunicação

Cada linha é capaz de transmitir apenas um dígito binário (0 e 1)

Interconexão de Barramentos

Page 7: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Barramento

Page 8: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Transmissão Serial◦ Um bit é transmitido por vez

Transmissão Paralela◦ Vários bits podem ser transmitidos

simultaneamente. Para 1 byte (8 bits) é necessário 8 linhas de comunicação (caminhos)

Barramento de Sistema◦ Conecta principais componentes do computador

Barramentos

Page 9: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Um barramento do sistema contém de 50 a 100 linhas distintas

Cada linha tem uma função particular

Barramentos

Page 10: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

As linhas de dados fornecem o caminho para transferência de dados entre os módulos

A largura (quantidade de linhas) determina a quantidade de dados transmitidos por vez

Parâmetro fundamental para o desempenho global do sistema

Barramento de Dados

CPU Memória Memória E/S E/S

Linhas de Endereço

. . .

Linhas de Controle

Linhas de Dados

. . .

Page 11: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

São as linhas de Endereço destinadas a informar a fonte e destino dos dados no barramento de dados

A largura (quantidade de linhas) determina a quantidade máxima da memória do sistema

São também usadas para endereçar as portas de E/S

Barramento de Endereço

CPU Memória Memória E/S E/S

Linhas de Endereço

. . .

Linhas de Controle

Linhas de Dados

. . .

Page 12: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Usadas para controlar o acesso das linhas de dados e endereços

Utilizados tanto para transmitir comandos quanto para transmitir informações de temporização

Temporização informa a validade de dados e endereços

Controle especificam as operações

Barramento de Controle

CPU Memória Memória E/S E/S

Linhas de Endereço

. . .

Linhas de Controle

Linhas de Dados

. . .

Page 13: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Exemplo de linhas de controle◦ Escrita na memória◦ Leitura de memória◦ Escrita em porta de E/S◦ Confirmação (ACK) de transferência: Aceitação de

dados no barramento.◦ Requisição de Barramento◦ Concessão do Barramento◦ Requisição de interrupção◦ Confirmação (ACK) de interrupção◦ Relógio◦ Inicialização (Reset)

Barramento de Controle

Page 14: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Envio de dados de um módulo para outro:◦ Obter o controle do Barramento◦ Transferir os dados por meio do barramento

Requisitar dados de outro módulo◦ Obter o controle do barramento◦ Transferir uma requisição para o outro módulo por

meio das linhas de endereço e controle apropriadas

◦ Aguardar que os dados sejam enviados

Operações dos barramentos

Page 15: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Fisicamente, barramento do sistema é um conjunto de condutores elétricos paralelos

Esses condutores são linhas de metal impressas em uma placa (placa de circuito impresso)

Barramento

Page 16: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

O desempenho do sistema pode ser prejudicado caso o número de dispositivos conectados a um barramento seja muito grande.

As principais causas são:◦ Para muitos dispositivos, é necessário um

barramento comprido. Maior atraso na propagação dos sinais

◦ O barramento pode se tornar um gargalo devido ao aumento da transferência de dados

Hierarquia de Barramento

Page 17: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Solução: Utilização de Múltiplos Barramentos organizados de forma hierárquica

Hierarquia de Barramento

Processador CacheLocal Bus

ControladorLocal de E/S

Barramento de Sistema

MemóriaPrincipal

Barramento de Expansão

Rede SCSI Modem Serial

Interface do Barramento de Expansão

Page 18: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Evita que o tráfego Memória-componentes de E/S afetem as atividades do processador

Interface de expansão de Barramentos serve como área de armazenamento temporário.

Permite conectar uma grande variedade de dispositivos, e isola o tráfego da comunicação Processador - Memória

Hierarquia de Barramento

Page 19: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Arquitetura Mezanino◦ Bom desempenho◦ Barramento de Alta Velocidade para dispositivos de E/S

modernos◦ Menos impacto de dispositivos mais lentos

Hierarquia de Barramento

ProcessadorCache /

ControladorLocal BusLocal Bus Memória

Principal

Barramento de Expansão

FAX Modem Serial

Interface do Barramento

de Expansão

Barramento de Alta Velocidade

P1394 SCSI Gráficos VídeoLAN

BarramentoBarramentode Sistemade Sistema

Page 20: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Tipo Largura do barramento

Dedicado Endereço

Multiplexado Dados

Método de Arbitração Tipo de Transferência de Dados

Centralizado Leitura

Distribuído Escrita

Temporização Lê-Modifica-Escreve

Síncrono Lê-Após-Escrita

Assíncrono Bloco

Elementos do Projeto de Barramento

Page 21: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Dedicado◦ Cada linha do barramento tem função fixa ◦ Ex: Linhas de Endereços e Dados separadas◦ Alta taxa de transferência de Dados◦ Custo Maior e Requer mais Espaço

Multiplexado◦ Dados e endereços utilizam as mesmas linhas◦ Linha de controle informa o tipo de dado◦ Custo menor ($) e Requer menos espaço◦ Menor taxa de transferência e Mais complexo

Tipo de Barramento

Page 22: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Linhas Compartinhadas Endereço e Dados

Módulo 1 Módulo 2 Módulo 3

Linha de Controle

Exemplo Requisição de Dados

Tipo de Barramento

Page 23: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Endereço

Módulo 1 Módulo 2 Módulo 3

Linha de Controle : Endereço

Endereço colocado no Barramento Compartilhado

Tipo de Barramento

Page 24: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Endereço

Módulo 1 Módulo 2 Módulo 3

Linha de Controle : Endereço

Todos módulos recebem

Tipo de Barramento

Page 25: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Endereço

Módulo 1 Módulo 2 Módulo 3

Linha de Controle : Endereço

O módulo associado ao endereço aguarda a remoção do sinal de endereço da linha de controle

Tipo de Barramento

Page 26: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Dados

Módulo 1 Módulo 2 Módulo 3

Linha de Controle

Depois de um tempo o master remove o sinal de endereço. Multiplexação por Tempo

Tipo de Barramento

Page 27: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Somente um componente pode usar o barramento por vez

Necessário de um mecanismo de arbitração para indicar quem irá usar o barramento

Métodos:◦ Centralizado◦ Distribuído

Métodos de Arbitração

Page 28: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Centralizado◦ Dispositivo de Hardware (Controlador de

Barramento ) que é responsável por alocar tempo de utilização do barramento a cada módulo

◦ Pode fazer parte do processador Distribuído

◦ Cada módulo tem uma lógica de controle de acesso

◦ Os módulos agem de forma conjunta para compartilhar o barramento

Métodos de Arbitração

Page 29: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Em ambos os métodos, o objetivo é designar um dispositivo como mestre (seja processador ou um módulo de E/S)

O mestre é a unidade que controla a transferência de dados (leitura ou escrita) com outros dispositivos (escravo)

O Mestre tem o controle do barramento e determina quem poderá usar o barramento em cada instante

Métodos de Arbitração

Page 30: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Se o algoritmo de arbitragem não é bom o suficiente pode acontecer de uma unidade requisitando uso do barramento nunca ser atendida.

Métodos de Arbitração

Page 31: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

A temporização refere-se ao modo pelo qual os eventos nesse barramento são coordenados

Formas:◦ Síncrona : Os eventos do barramento é

determinado por um clock.◦ Assíncrona: A ocorrência de um evento em um

barramento segue e depende da ocorrência de um evento anterior.

Temporização

Page 32: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Barramento de Dados◦ Impacto sobre o desempenho do sistema◦ Quanto maior a largura, maior o número de bits

transferidos por vez

Barramento de Endereços◦ Impacto sobre a capacidade do sistema◦ Quanto maior a largura, maior é o número de

posições de memória que podem ser endereçadas

Largura do barramento

Page 33: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Escrita e leitura sem multiplexação◦ Todos os barramentos permitem transferência de leitura e

escrita. Escrita com multiplexação

◦ Primeiro especifica os endereços e depois a transferência de dados

Operação de Leitura com multiplexação◦ Primeiro especifica os endereços e aguarda um tempo de

espera enquanto o valor está sendo buscado pelo escravo, para começar a leitura

Tipos de Transferência de Dados

Page 34: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Tipos de Transferência de Dados

Page 35: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Leitura-Modificação-Escrita◦ Uma leitura seguida imediatamente por uma escrita sobre o mesmo

endereço◦ O endereço é transmitido apenas uma vez ,no início◦ A operação é indivisível, afim de proteger que o conteúdo de um mesmo

endereço não seja alterado por outros mestre durante a operação

Leitura-Após-Escrita◦ Operação Indivisível◦ Escrita seguida imediatamente por um leitura no mesmo endereço◦ Essa leitura pode ser feita com o propósito de verificação

Transferência de Blocos de Dados◦ Um ciclo de endereço é seguido por n ciclos de dados◦ O primeiro dado está relecionado com o endereço especificado, os

demais dados são transferidos usando os endereços subsequentes

Tipos de Transferência de Dados

Page 36: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Tipos de Transferência de Dados

Page 37: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

ISA (Industry Standard Architecture)◦ Originalmente era barramento de 8 bits depois foi

expandido para 16 bits (1981)◦ Utilizados para conectar placas de expansão e periféricos

à placa mãe.◦ Caiu em desuso devido ao aumento do poder de

processamento dos processadores.

Barramentos usados no PC

Page 38: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

EISA (Extended Industry Standard Architecture)◦ Permitia Transferência de 32 bits de dados◦ Compatibilidade com ISA 8 e 16 bits◦ Não ganhou grande aceitação: Complexo, Caro e Lento

Barramentos usados no PC

Page 39: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

PCI (Peripheral Component Interconnect) - 1992◦ Barramento 32 bits e 64 bits◦ Frequência de 33 ou 66 MHz◦ Desenvolvido pela Intel

Barramentos usados no PC

Page 40: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

AGP (Advanced Graphic Port) 1997◦ Usados para o processamento de gráficos 3D.◦ 32 bits(primeira versão)◦ Possui uma linha direta para memória, permitindo que os

gráficos sejam guardadas na memória do sistema em vez da memória de vídeo

◦ Substituído pelo PCI Express

Barramentos usados no PC

Page 41: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

USB (Universal Serial Bus) 1996◦ Barramento Externo◦ USB 1.1 - Velocidade 12 Mbps◦ USB 3.0 - 4.8 Gbit/s ◦ Até 127 dispositivos conectados◦ Plug and Play

Barramentos usados no PC

Page 42: Ermeson Andrade.  Um computador consiste de um conjunto de componentes (memória, CPU, E/S) que se comunicam entre si  Ele é uma rede de componentes.

Bluetooth É um padrão de comunicação sem fio e de

baixo consumo de energia que permite a transmissão de dados entre dispositivos compatíveis com a tecnologia.◦ Classe 1: potência máxima de 100 mW, alcance

de até 100 metros;◦ Classe 2: potência máxima de 2,5 mW, alcance de

até 10 metros;Classe 3: potência máxima de 1 mW, alcance de até 1 metro.

Barramentos usados no PC