2
BARRAMENTOS DO SISTEMA
O mecanismo mais comum de interconexão dos componentes de um
computador (processador, memória principal e módulos de E/S) usa um
barramento do sistema compartilhado com múltiplas linhas.
Os sistemas mais modernos usam uma hierarquia de barramentos para obter
melhor desempenho.
3
BARRAMENTOS DO SISTEMA
O ciclo de execução de uma instrução é formado das seguinte operações:
• Busca da instrução
• Busca dos Operandos (zero ou mais operandos)
• Teste de Interrupção (caso interrupções estejam habilitadas) e
• Execução da Instrução
4
BARRAMENTOS DO SISTEMA
Computador:
– É composto de componentes lógicos básicos que podem ser
combinados de vários modos para armazenar dados binários e
executar operações lógicas e aritméticas sobre os dados
5
BARRAMENTOS DO SISTEMA Processador (programação em hardware)
– Existe um hardware dedicado para uma aplicação particular
6
BARRAMENTOS DO SISTEMA Processador (programação em software)
– Definir configuração de funções lógicas e aritméticas de propósito geral.
– Existe a capacidade de executar várias funções sobre os dados,
dependendo dos sinais de controle que lhe são aplicados. Em vez de definir
um novo hardware para cada nova aplicação, definir um hardware de
propósito geral, um o conjunto de sinais de controle (relativo a aplicação) e
seu respectivo código que será interpretado por um interpretador de
instruções.
NORMALMENTE
UTILIZADO
7
BARRAMENTOS DO SISTEMA Componentes em Alto Nível de um Computador
– A UCP troca dados com a memória e usa dois registradores internos, o MAR e o
MBR.
– MAR: especifica o endereço de memória a ser usado pela instrução de
leitura/escrita
– MBR: especifica o valor a ser gravado /lido na/da memória.
A memória é composta por células Identificadas
numericamente e Armazena um programa
(conjunto de Instruções)
O módulo de E/S transfere dados de
dispositivos externos para UCP e Memória e
vice-versa.
8
BARRAMENTOS DO SISTEMA Componentes em Alto Nível de um Computador
– I/O AR: especifica um determinado dispositivo de E/S.
– I/O BR: é usado para troca de dados entre um módulo de E/S e a UCP
– PC: é usado para guardar o endereço da próxima instrução a ser executada.
– IR: armazena a instrução buscada na memória
A memória é composta por células Identificadas
numericamente e Armazena um programa
(conjunto de Instruções)
O módulo de E/S transfere dados de
dispositivos externos para UCP e Memória e
vice-versa.
9
BARRAMENTOS DO SISTEMA
A função básica de um computador
Executar um programa (conjunto de instruções) armazenadas na memória
O ciclo de instrução
Consiste no processamento necessário para execução de uma instrução.
Interrupção:
Mecanismo pela qual componentes distintos do processador (E/S e memória)
podem interromper a sequência normal de execução de instruções de um
processador (UCP). visa melhorar a eficiência de um processamento.
BARRAMENTOS DO SISTEMA
SEM INTERRUPÇÃO:
Segmentos de código 01,02 e 03 não envolvem
E/S.
As chamadas as rotinas WRITE iniciam a
execução de uma rotina de sistema que efetua a
operação de E/S requisitada.
– Sequencia de instruções 4 prepara a operação de
E/S requisitada (exemplo: cópia de dados de E/S
para área de armazenamento temporário).
– Comando de E/S propriamente dito.
– Sequencia de instruções 5 para completar a
operação (exemplo: ativação de uma FLAG para
indicar o sucesso ou falha da operação).
A operação de E/S pode levar um tempo longo
para ser concluído. O programa do usuário fica
parado por um tempo considerável.
10
BARRAMENTOS DO SISTEMA
SEM INTERRUPÇÃO:
Processador está transferindo dados para
impressora (que é mais lenta) e portanto
tem que esperar o término da operação de
escrita permanecendo ocioso até que a
impressora consiga capturar os dados, o
que constitui um desperdício de tempo de
processamento
11
BARRAMENTOS DO SISTEMA
COM INTERRUPÇÃO:
Com interrupção o processador pode executar
outras tarefas enquanto uma operação de E/S
está em andamento.
Após o comando de E/S, o controle retorna ao
programa do usuário. Enquanto isso o dispositivo
externo (impressora) preocupa-se em obter os
dados da memória do computador e imprimi-lo,
operação conduzida simultaneamente com a
execução do programa do usuário.
Quando o dispositivo externo (impressora)
finalizou a operação de E/S (impressão), uma
requisição de interrupção é enviada ao
processador pelo módulo de E/S deste dispositivo.
O processador suspende a execução do programa
atual transferindo o controle para um tratador de
interrupção
12
13
Funcionamento da E/S
Acesso Direto à Memória (DMA – Direct Memory Acess)
– Um processador pode ler e escrever dados em um módulo de E/S (da
mesma forma que um processador pode ler ou escrever na memória).
– DMA
O processador permite que o acesso de leitura/escrita na memória
seja feita por um módulo de E/S, de modo que a transferência de
dados entre a memória e a E/S sejam realizadas sem a intervenção do
processador, deixando-o livre da responsabilidade pela troca de
dados.
– .
14
Estruturas de Interconexão
O conjunto e caminhos que conectam os vários módulo de um computador
denomina-se estrutura de interconexão. O projeto desta estrutura depende das
informações trocadas entre os módulos.
15
Estruturas de Interconexão(Principais formas de entrada e saída em módulos de um computador
(MEMÓRIA) )
N palavras de mesmo tamanho com endereço único (0,1,...,N-1).
SINAIS DE CONTROLE
– Uma palavra pode ser lida ou escrita na memória, sendo a natureza da operação
indicada por meio de sinais de controle.
ENDEREÇO:
– posição da memória em que é efetuada uma operação (leitura / escrita )
Sinais de
controle
16
Estruturas de Interconexão
(Principais formas de entrada e saída em módulos de um computador (E/S))
Possui funcionamento similar à memória.
Tipos de Operações: Leitura e Escrita
Pode controlar mais de um dispositivo externo
Cada interface de dispositivo externo, chamada porta, tem um endereço
distinto ( por exemplo 0,1,...,M-1)
Podem enviar sinais de interrupção para o processador.
Existem caminhos externos para entrada (leitura) ou saída (escrita) de
dados em cada dispositivo externo
17
Estruturas de Interconexão
(Formas de entrada e saída em módulos de um computador (processador))
Lê dados e instruções
Escreve dados após o seu processamento
Usa sinais de controle para controlar as operações do sistema como um
todo.
Pode receber sinais de interrupção
18
Estruturas de Interconexão(Tipos de transferências que deve suportar)
Memória Processador
– O processador lê uma instrução ou uma unidade de dados da memória
Processador Memória
– O processador escreve uma unidade de dados na memória
E/S Processador
– O processador lê dados de um dispositivo de E/S via um módulo de E/S.
Processador E/S
– O processador envia dados para um dispositivo de E/S
Dispositivo E/S ↔ Memória
– O módulo de E/S pode trocar dados diretamente com a memória sem
interferência do processador, usando DMA
19
Interconexão de Barramentos Barramento
– Caminho de comunicação entre dois ou mais dispositivos.
– consiste em vários caminhos ou linhas de comunicação cada qual capaz de
transmitir sinais que representam um dígito binário, 0 ou 1. Uma unidade de
dados de 8 bits (por exemplo) pode ser transmitida por 8 linhas de barramento.
20
Interconexão de Barramentos Barramento de Sistema
– Barramento utilizado para conectar os componentes principais do
computador (processador, memória e dispositivo de E/S) .
– É um meio de transmissão compartilhado
– Um sinal transmitido por qualquer dispositivo é recebido por todos os
dispositivos conectados no barramento.
– Se dois dispositivos transmitirem sinais ao barramento ao mesmo
tempo, esses sinais irão se sobrepor e serão adulterados.
– Desta maneira, para que haja sucesso, apenas um dispositivo pode
transmitir sinais pelo barramento a cada instante.
21
Estrutura de Barramentos
As linhas de barramento podem ser classificadas em linhas de dados, linhas de
endereço e linhas de controle.
Linha de Dados
– Contém tipicamente 8, 16 ou 32 linhas que constitui o barramento de dados.
– A Largura do barramento de dados é o número de linhas que constitui o
barramento. Como cada linha conduz 01 bit por vez, a largura determina a
quantidade de bits que podem ser transportadas por vez. É um parâmetro
fundamental do desempenho do sistema.
– Exemplo: se um o barramento de dados possui 8 bits e uma instrução possui 16
bits, o processador deve acessar duas vezes o módulo de memória a cada ciclo
de instrução.
22
Estrutura de Barramentos
Linha de Endereços
– São utilizadas para designar a fonte ou o destino dos dados transportados pelo
barramento de dados.
– Exemplo:
– Quando um processador quer ler uma palavra ( de 8, 16 ou 32 bits) na memória,
ele coloca o endereço desejado nas linhas de endereços.
– Largura do barramento de endereços
– Determina a capacidade máxima da memória principal do sistema
– As linhas de endereços são também utilizadas para endereçar as portas de E/S.
23
Estrutura de Barramentos
Linha de Controle
– São utilizadas para controlar o acesso e a utilização das linhas de dados e de
endereço desde que elas são compartilhadas por todos os módulos de um
computador .
– São utilizados tanto para transmitir comandos quanto informações de
temporização entre os módulos do sistema.
– As linhas de temporização indicam a validade das informações de dados e de
endereços
– As linhas de comando especificam as operações a serem realizadas
24
Estrutura de Barramentos Linha de Controle Típicas
– Escrita na memória
– Leitura de memória
– Escrita em porta de E/S
– Leitura de porta de E/S
– Confirmação (ACK) de transferência
• Confirma o envio ou o recebimento de dados no barramento
– Requisição de barramento.
• Indica que um módulo do sistema deseja obter o controle do barramento
– Concessão de barramento
• Indica a concessão do barramento ao módulo que fez a requisição
25
Estrutura de Barramentos Linha de Controle Típicas
– Requisição de interrupção
• Indica a existência de uma interrupção pendente.
– Confirmação (ACK) de interrupção
• Confirma o reconhecimento de uma interrupção pendente
– Relógio
• Utilizado para temporizar as operações
– Inicialização (reset)
• Inicializa as operações do sistema
26
Estrutura de Barramentos MÓDULO “DESEJA” ENVIAR DADOS PARA OUTRO
– Obter controle do barramento
– Transferir dados por meio do barramento
MÓDULO REQUISITA DADOS DE OUTRO MÓDULO
– Exemplo: processador memória
– Obter controle do barramento
– Transferir requisição para outro módulo por meio de linhas de endereço e
controle adequados.
– Esperar que o outro módulo envie os dados requisitados
27
Hierarquia de Barramentos O desempenho do sistema de barramentos pode ser prejudicado caso o número de
dispositivos seja muito grande
– Maior é seu comprimento (atraso de propagação dos dados)
– A demanda por transferência de dados se aproxima da capacidade do
barramento
28
Arquitetura de Barramento Tradicional
A memória principal é conectada apenas ao barramento de sistema (de
forma que a transferência de dados entre módulo de E/S e a Memória
principal por meio do barramento de sistema não interfiram na atividade
do processador).
Uma interface de expansão serve como área de armazenamento
temporário dos dados transferidos entre o barramento de sistema e os
controladores de E/S conectados ao barramento de expansão.
Esse arranjo permite ao sistema conectar uma grande variedade de
dispositivos de E/S ao mesmo tempo em que isola o tráfego entre
processador e memória do tráfego de E/S.
29
BARRAMENTOS DO SISTEMA
Principais aspectos de um sistema de barramento
– Arbitração
• É a permissão para envio de sinais por meio de linhas do
barramento e pode ser centralizada ou distribuída.
– Temporização
• É o envio de sinais por meio dos barramentos. Pode ser
sincronizada por um relógio central (síncrona) ou pode ser
feita de maneira assíncrona, com base na transmissão mais
recente.
– Largura do barramento
• Número de linhas de endereço e de linha de dados
30
ARBITRAÇÃO
Definição:
– Mecanismo que controla que módulo assumirá o controle do barramento, desde
que apenas um módulo pode realizar a transmissão por meio de barramento por
vez. Por exemplo, a E/S pode precisar ler ou escrever diretamente na memória,
sem enviar dados ao processador.
Os métodos de arbitração podem ser centralizados ou distribuídos.
– Centralizado:
– um único dispositivo (módulo em separado ou parte do processador), é
responsável por alocar o tempo de utilização do barramento.
– Distribuído:
– os módulo agem de forma conjunta para compartilhar o barramento.
31
DIAGRAMAS DE TEMPO
A comunicação entre dispositivos conectados em um barramento ocorre
por meio de linhas capazes de carregar sinais (0 ou 1, representados por
níveis de voltagem).
Um diagrama de tempo mostra o nível de sinal em uma linha em função do
tempo e são utilizados para mostrar sequencias de eventos e
dependências entre os eventos.
Os sinais são algumas vezes representados em grupos. Se, por exemplo, a
transmissão de dados é feita em unidades de bytes, 8 linhas são requeridas
Uma transição de sinal em uma linha pode fazer com que um dispositivo conectado
dispare mudanças de sinal em outras linhas. Por exemplo, se um módulo de
memória detecta um sinal de controle de leitura ( transição de 0 ou 1) ele coloca
sinais de dados nas linhas de dados. Essa relação de causa e efeito produz uma
sequencia de eventos ( que nos diagramas de tempo são representados por setas).
32
DIAGRAMAS DE TEMPO
O barramento inclui linhas de relógio. Um relógio eletrônico é conectado à
linha de relógio e fornece uma sequência repetitiva e regular de transições.
Outros eventos podem ser sincronizados ao sinal do relógio.
33
DIAGRAMAS DE TEMPO
34
TEMPORIZAÇÃO em esquema de transmissão síncrona Em um esquema de transmissão síncrona, a ocorrência dos eventos é determinada
pelo relógio. O barramento contem uma linha de relógio, por meio do qual um
relógio transmite uma sequencia de 0s e 1s.
(1) O processador emite um sinal de leitura (1A) e coloca um endereço de memória
no barramento de endereços (1B). (2) Ele também emite um sinal de iniciar para
marcar a presença do endereço e informação de controle no barramento. (3) Um
módulo de memória reconhece o endereço e depois do atraso de um ciclo (neste
caso uma sequência de um 0 e um 1), coloca os dados (3A) e um sinal de
confirmação no barramento (3B).
2
1(a)
1(b)
3(a)
3(b)
35
TEMPORIZAÇÃO em esquema de transmissão assíncrona
A ocorrência de um evento no barramento depende de um evento ocorrido
anteriormente.
(1) O processador coloca sinais de endereço e de leitura no barramento.
(2) Depois de uma pausa para estabilização dos sinais, o processador emite um
sinal MSYN (sincronismo mestre), indicando a presença de sinais válidos de
endereço e de controle.
(3) A memória responde enviando os dados e um sinal SSYN (sincronismo escravo),
que indica o envio de uma resposta.
(4) Depois do processador ler as linhas de dados, o processador retira os sinais
MSYN do barramento.
(5) Isso faz com que a memória retire os dados e o sinal SSYN do barramento.
(6) uma vez retirada a linha SSYN, o processador remove o sinal de leitura e a
informação de endereço
2,4
3,5
1,6
1,6
4
36
Largura do Barramento
Barramento de Dados
– Quanto maior a largura do barramento de dados maior o número de bits
transferidos por vez.
Barramento de Endereços
– Quanto maior a largura do barramento de endereços, maior é o número de
posições de memória que podem ser endereçada
37
Barramento PCI É um barramento de grande largura de banda, que pode funcionar como
barramento periférico. Comparando com outros barramento, apresenta melhor
desempenho para subsistemas de E/S de alta velocidade (tais como adaptadores de
vídeo, placas de rede e controladores de disco)