Beruflich Dokumente
Kultur Dokumente
BARRAMENTOS
ÍNDICE:
1. Componentes do Computador
2. Funções do Computador
3. Estruturas de Interconexão
4. Interconexão de Barramentos
5. Modelos de Barramentos
6. Bibliografia
1 de 1
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
1. COMPONENTES DO COMPUTADOR
Como já visto anteriormente, praticamente todos os projetos de computadores atuais
são fundamentados nos conceitos desenvolvidos por John von Neumann do Instituto de
Estudos Avançados de Princeton. Esse projeto, conhecido como Arquitetura von
Neumann, é baseado em três conceitos básicos:
• Os dados e as instruções são armazenadas em uma única memória de leitura e
escrita.
• O conteúdo dessa memória é endereçado pela sua posição, independentemente do
tipo de dado nela contidos.
• A execução de instruções ocorre de modo seqüencial (exceto quando essa seqüência
é explicitamente alterada de uma instrução para a seguinte).
2 de 2
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
Programar agora ficou muito mais fácil. Em vez de projetar um novo hardware para
cada aplicação, precisamos fornecer apenas uma nova seqüência de códigos. Cada
código corresponde a uma instrução; uma parte do hardware interpreta essas instruções e
gera os sinais de controle correspondentes. Para distinguir esse novo método de
programação, uma seqüência de códigos ou instruções é chamada de software.
A figura 1b indica os dois componentes mais importantes do sistema: o módulo que
interpreta as instruções e o módulo que executa as funções lógicas e aritméticas de
propósito geral. Esses componentes constituem a CPU. Vários outros componentes são
necessários para que um computador possa funcionar. Os dados e as instruções devem
ser introduzidos no sistema de alguma maneira. Para isso, é necessário um módulo de
entrada de dados. Esse módulo contém componentes básicos que recebem dados e
instruções, em algum formato, e os converte em uma representação interna, composta de
sinais usados pelo sistema. Além disso, o sistema deve ser capaz de mostrar os
resultados produzidos; isto é feito por um módulo de saída de dados. Esses dois módulos
são denominados componentes de entrada/saída (E/S).
É necessário, ainda, mais um componente. Um dispositivo de entrada fornece as
instruções e os dados seqüencialmente. No entanto, um programa nem sempre é
executado seqüencialmente, podendo incluir desvios. Do mesmo modo, uma operação
pode precisar acessar mais de um dado de cada vez, em uma seqüência predeterminada.
Dessa maneira, deve existir um local para armazenar instruções e dados temporariamente.
3 de 3
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
4 de 4
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
2. FUNÇÕES DO COMPUTADOR
A função básica desempenhada por um computador é executar um programa que é
constituído por um conjunto de instruções armazenadas na memória. O processador
realiza o trabalho efetivo de executar as instruções especificadas no programa. Em sua
forma mais simples, há dois passos para o processamento de instruções: o processador lê
(busca) instruções na memória, uma de cada vez, e executa cada uma. A execução de um
programa consiste na repetição desse processo de busca e execução de instruções. A
execução de uma instrução pode envolver diversas operações, dependendo da natureza
da instrução.
O processamento necessário para a execução de uma instrução é chamado de ciclo
de instrução. Na figura 3 é mostrado o ciclo de instrução simplificado para dois passos. Os
dois passos são denominados ciclo de busca e ciclo de execução. A execução de
programas encerra-se somente se a máquina for desligada, se ocorrer algum tipo de erro
irrecuperável ou se for executada uma instrução de programa que pare a operação do
computador.
5 de 5
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
6 de 6
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
Nesse exemplo, são necessários três ciclos de instruções, cada um com um ciclo de
busca e um ciclo de execução, para somar os conteúdos dos endereços de memória 940 e
941. Em um computador com um conjunto de instruções mais complexo, um número
menor de ciclos poderia ser necessário. Processadores modernos incluem instruções que
contêm mais de um endereço. Desse modo, o ciclo de determinada instrução pode
envolver mais de uma referência à memória. Uma instrução pode também especificar uma
operação de E/S, em vez de uma referência à memória.
Levando-se em conta essas considerações adicionais, a figura 6 fornece uma visão
mais detalhada do ciclo básico de instrução mostrado na figura 3. Para um dado ciclo de
instrução, alguns estados podem ser nulos e outros podem ser visitados mais de uma vez.
7 de 7
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
8 de 8
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
essencialmente a mesma nos dois casos e, portanto, um único código é necessário para
identificar o estado.
O diagrama possibilita representar ciclos de instruções com múltiplos operandos e
múltiplos resultados, como ocorre em algumas máquinas. Finalmente, em algumas
máquinas uma única instrução pode especificar uma operação a ser executada sobre um
vetor de números ou sobre uma cadeia de caracteres. A execução dessa instrução
envolve repetidas operações de busca de operando e/ou de armazenamento de
resultados.
2.2. Interrupções
Quase todos os computadores possuem algum mecanismo pelo qual componentes
distintos do processador podem interromper a seqüência normal de execução de
instruções no processador. A tabela abaixo contém uma relação das classes mais comuns
de interrupções.
9 de 9
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
termine de capturar os dados. Esse tempo de espera pode ser da ordem de muitas
centenas de ciclos de instrução que não envolvem acesso à memória. Isso constitui um
desperdício de tempo de processamento.
Isso é ilustrado na figura 7a. O programa de usuário efetua uma série de chamadas à
rotina WRITE, intercaladas com processamento. Os segmentos de código 1, 2 e 3
referem-se às seqüências de instruções que não envolvem E/S. As chamadas à rotina
WRITE iniciam a execução de uma rotina do sistema que efetua a operação de E/S
requisitada. Essa rotina de E/S consiste em três partes:
• Uma seqüência de instruções (marcada com rótulo 4 na figura) para preparar a
operação de E/S requisitada. Isso pode incluir a cópia de dados de saída em uma
área de armazenamento temporário especial e a preparação de parâmetros para
um comando de dispositivo;
• O comando de E/S propriamente dito. Se não for usado o mecanismo de
interrupções, uma vez emitido esse comando, o programa deve aguardar o término
da operação de E/S requisitada. Ele realiza essa espera simplesmente efetuando
repetidos testes para determinar se a operação de E/S foi concluída.
• Uma seqüência de instruções (marcadas com o rótulo 5 na figura) para completar a
operação. Isso pode incluir a ativação de um sinal (flag) para indicar sucesso ou
falha da operação.
Como a operação de E/S pode levar um tempo relativamente longo para ser
concluída, a execução da rotina de E/S fica suspensa, esperando pelo término da
operação; por isso, o programa de usuário permanece parado no ponto de chamada à
rotina WRITE por um período de tempo considerável.
10 de 10
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
11 de 11
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
sistema na forma de uma chamada à rotina WRITE. O programa de E/S solicitado, nesse
caso, consiste apenas no código de preparação e no comando de E/S requisitado. Após a
execução dessas instruções, o controle retorna ao programa de usuário. Enquanto isso, o
dispositivo externo se ocupa de obter os dados da memória do computador e imprimi-los.
Essa operação de E/S é conduzida simultaneamente com a execução das instruções do
programa de usuário.
Quando o dispositivo externo estiver pronto para ser utilizado, isto é, quando estiver
pronto para receber mais dados do processador, um sinal de requisição de interrupção é
enviado para o processador pelo módulo de E/S desse dispositivo. Em resposta a esse
sinal, o processador suspende a execução do programa atual, desviando o controle para
uma rotina que controla a operação daquele dispositivo de E/S (conhecida como tratador
de interrupções) e retornando a execução original após os dados terem sido enviados ao
dispositivo. Os pontos em que essas interrupções ocorrem são indicadas na figura 7b por
um asterisco.
Do ponto de vista do programa de usuário, uma interrupção é apenas uma interrupção
da seqüência normal de execução, que depois prossegue normalmente, quando o
processamento dessa interrupção é concluído (figura 8). Assim, o programa de usuário
não precisa de nenhum código especial que considere a possibilidade de ele ser
interrompido; o processador e o sistema operacional são responsáveis por suspender o
programa de usuário e depois por retornar sua execução no mesmo ponto.
13 de 13
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
B. Múltiplas Interrupções
Na discussão precedente, consideramos a possibilidade de ocorrência de uma única
interrupção. Entretanto, supomos que podem ocorrer várias interrupções. Por exemplo, se
um programa estiver recebendo dados de uma linha de comunicação e enviando
14 de 14
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
resultados para impressão, a impressora gera uma interrupção sempre que completar uma
operação de impressão e o controlador da linha de comunicação produz uma interrupção
sempre que chega uma nova unidade de dados. Uma unidade de dados pode ser
constituída de um único caractere ou de um bloco de caracteres, dependendo da natureza
da comunicação. Em qualquer caso, pode ocorrer uma interrupção de comunicação
enquanto uma interrupção da impressora está sendo processada.
Existem duas abordagens possíveis para o tratamento de múltiplas interrupções. A
primeira é desabilitar as interrupções enquanto uma interrupção está sendo processada.
Enquanto as interrupções estiverem desabilitadas, o processador pode ignorar qualquer
sinal de requisição de interrupção. Caso ocorra alguma interrupção durante esse intervalo
de tempo, a interrupção permanecerá pendente e será verificada pelo processador
somente depois que as interrupções forem novamente habilitadas. Dessa maneira, quando
um programa de usuário está sendo executado e uma interrupção ocorre, as interrupções
são imediatamente desabilitadas. Quando o tratador de interrupções termina de ser
executado, as interrupções são novamente habilitadas antes que o controle volte para o
programa de usuário, e o processador verifica se ocorreu alguma outra interrupção. Essa
abordagem é simples e precisa, uma vez que as interrupções são manipuladas em uma
ordem estritamente seqüencial (figura 11a).
A desvantagem dessa abordagem é que ela não leva em consideração prioridades
relativas ou requisitos de tempo críticos.
Uma segunda abordagem possível consiste em definir prioridades para as
interrupções, permitindo que uma interrupção de maior prioridade interrompa a rotina de
tratamento de uma interrupção de prioridade mais baixa (figura 11b). Para mostrar essa
segunda abordagem, considere um sistema com três dispositivos de E/S, uma impressora,
um disco e uma linha de comunicação, com prioridades crescentes: 2, 4 e 5,
respectivamente.
15 de 15