A respeito dos sistemas de computadores, responda:
O que é o árbitro de barramento? Descreva como a sua operação pode levar a roubos de ciclo.

Passo 1

Beleza, o enunciado pede pra gente falar sobre “árbitro de barramento” e como a operação dele acaba gerando “roubos de ciclo”. Isso é conteúdo de Arquitetura de Computadores, mais especificamente de gerenciamento de barramento e acesso direto à memória (DMA).
O que vamos precisar para resolver:
  1. Entender o que é um árbitro de barramento (bus arbiter).
  2. Saber como ele decide quem usa o barramento.
  3. Entender o conceito de roubo de ciclo (cycle stealing) via DMA.

Passo 2

O árbitro de barramento é tipo um “guardinha” que controla quem pode falar no barramento (aquele conjunto de linhas que transporta dados, endereços e sinais de controle). Imagina várias pessoas (CPU, controle de disco, controladora de rede) dando tapa no ombro para usar o mesmo microfone (o barramento). O árbitro ouve quem pediu e diz “pode falar você” (sinal GNT) enquanto os outros ficam em espera (sinal REQ).
Para isso ele:
  • Recebe sinais de requisição (REQ) de cada dispositivo.
  • Aplica uma política (prioridade fixa, round-robin, etc.).
  • Emite sinais de concessão (GNT) para um único mestre, liberando o barramento.

Passo 3

Agora, onde surge o roubo de ciclo? Quando um dispositivo (normalmente um controlador DMA) pede acesso ao barramento, o árbitro pode ceder a ele por um ou alguns ciclos de clock, mesmo que a CPU ainda vá precisar de acesso. Nesse instante, o controlador DMA “rouba” ciclos de barramento da CPU para fazer a transferência entre memória e periférico.
Detalhando:
  1. A CPU está lendo ou escrevendo memória no ciclo T.
  2. O DMA solta REQ no ciclo T; o árbitro dá GNT no ciclo T+1.
  3. No ciclo T+1, o DMA ocupa o barramento, forçando a CPU a esperar (inserindo wait states).
  4. Terminada a transferência de dados do DMA, o árbitro retorna o barramento pra CPU no ciclo T+2.
Cada ciclo que o DMA ocupa é um ciclo a menos que a CPU pode usar — por isso chamamos de “roubo de ciclo”.

Resposta

O árbitro de barramento é o circuito que gerencia quem acessa o barramento compartilhado, recebendo REQ e emitindo GNT segundo uma política de prioridade. Quando um controlador DMA solicita barramento, o árbitro pode ceder a ele apenas por alguns ciclos, interrompendo temporariamente a CPU e inserindo wait states: isso é o roubo de ciclo, pois cada ciclo cedido ao DMA é um ciclo “roubado” da CPU.

Exercícios relacionados