Sei sulla pagina 1di 85

INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

DISPOSITIVOS DE ENTRADA E SAÍDA

ÍNDICE:

1. Dispositivos Externos ...................................................................................... 2

2. Módulos de E/S ................................................................................................. 6

3. E/S Programada .............................................................................................. 10

4. E/S Dirigida por Interrupção .......................................................................... 14

5. Acesso Direto á Memória (DMA) .................................................................... 20

6. Canais e Processadores de E/S ..................................................................... 23

7. A Interface Externa: SCSI e FireWire ............................................................ 26

8. Dispositivos de Entrada e Saída .................................................................... 43

9. Bibliografia ...................................................................................................... 82

1 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

1. DISPOSITIVOS EXTERNOS

Além do processador e da memória, um terceiro elemento fundamental de um


sistema de computação é o conjunto de módulos de E/S. Cada módulo se conecta com
o barramento do sistema ou com o comutador central e controla um ou mais dispositivos
de periféricos. Um módulo de E/S não é simplesmente um conjunto de conectores
mecânicos que ligam um dispositivo ao barramento do sistema. Ele contém certa
‘inteligência’, isto é, uma lógica dedicada a desempenhar a função de comunicação
entre o periférico e o barramento.
Você pode se perguntar por que os periféricos não são diretamente conectados ao
barramento do sistema. Isso não ocorre pelos seguintes motivos:
• Existe uma grande variedade de periféricos, com diferentes mecanismos de
operação. Seria impraticável incorporar ao processador a lógica necessária
para controlar vários dispositivos diferentes.
• Como a taxa de transferência de dados dos periféricos é, freqüentemente,
muito menor do que a taxa de transferência de dados da memória ou do
processador, torna-se impraticável usar barramentos do sistema de alta
velocidade para a comunicação direta com um periférico.
• Os periféricos usam freqüentemente formatos de dados e tamanhos de
palavras diferentes dos usados no computador ao qual estão conectados.
Por essas razões é requerido um módulo de E/S, que deve desempenhar duas
funções principais (figura 1):
• Fornecer uma interface com o processador e a memória, através do
barramento do sistema ou do comutador central.
• Permitir a interface com um ou mais dispositivos periféricos, através de
conexões de dados adequadas.

2 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 1: Modelo geral de um módulo de E/S

As operações de E/S são efetuadas por meio de grande variedade de dispositivos


externos, que oferecem um meio para a troca de dados entre o ambiente externo e o
computador. Um dispositivo externo é conectado ao computador através de uma
conexão de um módulo de E/S (figura 1). Essa conexão é usada para transferência de
dados, informações de controle e informações de estado entre o módulo de E/S e o
dispositivo externo. Um dispositivo externo conectado a um módulo de E/S é
freqüentemente denominado dispositivo periférico ou, simplesmente, periférico.
Os dispositivos externos podem ser classificados em três categorias:
• Dispositivos voltados para a comunicação com o usuário;
• Dispositivos voltados para a comunicação com a máquina;
• Dispositivos voltados para a comunicação com dispositivos remotos.

Alguns exemplos de dispositivos voltados para a comunicação com o usuário são os


terminais de vídeo e impressoras. Dispositivos voltados para a comunicação com a
máquina são, por exemplo, os discos magnéticos e os sistemas de fitas, e os sensores e
controladores aplicados na robótica. Estes dispositivos são do ponto de vista funcional
parte da hierarquia de memória e do ponto de vista estrutural, eles são controlados por
módulos de E/S e, por isso, considerados dispositivos de E/S.
Os dispositivos voltados para a comunicação com dispositivos remotos possibilitam
a um computador trocar dados com dispositivos remotos, que podem ser dispositivos
voltados para a comunicação com o usuário, tal como um terminal ou para a
comunicação interna ou mesmo ser um outro computador.
A figura 2 mostra um modelo geral de um dispositivo externo. A interface com o
módulo de E/S é constituída de sinais de controle, dados e estado. Os sinais de controle
determinam a função a ser executada pelo dispositivo, tal como enviar dados para o
módulo de E/S (INPUT ou READ), receber dados do módulo de E/S (OUTPUT ou
WRITE), informar o estado do dispositivo ou desempenhar alguma função de controle
particular do dispositivo. Os dados formam um conjunto de bits a serem enviados ou
para serem recebidos do módulo de E/S. Os sinais de estado indicam o estado do
dispositivo. Por exemplo, os sinais READY/READY-NOT indicam se o dispositivo está
pronto ou não para efetuar uma transferência de dados.

3 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 2: Dispositivo externo

A lógica de controle associada ao dispositivo controla sua operação, em resposta a


um comando recebido do módulo de E/S. Um transdutor é usado para converter dados
codificados como sinais elétricos para alguma outra forma de energia, em uma operação
de saída, ou dessa outra forma de energia para sinais elétricos, em uma operação de
entrada. Tipicamente, é associada ao transdutor uma área de armazenamento
temporário para os dados a serem transferidos entre o módulo de E/S e o ambiente
externo; essa área normalmente tem um tamanho de 8 ou 16 bits.

Teclado / Monitor de vídeo


A forma mais comum de interação entre computador e usuário ocorre por meio da
combinação teclado / monitor de vídeo. Os dados são fornecidos pelo usuário por meio
do teclado. Essa entrada é então transmitida ao computador, podendo também ser
exibida no monitor de vídeo. Além disso, o monitor exibe os dados fornecidos como
resultado de operações realizadas pelo computador.
A unidade básica de troca de dados é o caractere. A cada caractere é associado um
código tipicamente de 7 ou 8 bits. A codificação mais usada é um código de 7 bits
conhecido como ASCII (American Standard Code for Information Interchange). Cada
caractere é representado por um código binário distinto de 7 bits; dessa maneira, podem
ser representados até 128 caracteres diferentes. A Tabela 1 relaciona todos esses
códigos de caracteres. Nessa tabela, os bits de cada caractere são rotulados de b7, que
é o bit mais significativo, a b1, que é o menos significativo.

4 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Tabela 1: O código ASCII

Os caracteres são de dois tipos: caracteres imprimíveis e caracteres de controle. Os


caracteres imprimíveis incluem os caracteres alfabéticos, numéricos e especiais que
podem ser impressos ou exibidos na tela. O código do caractere ‘K’, por exemplo, é
1001011. Alguns dos caracteres de controle servem para controlar a impressão ou a
exibição de caracteres; um exemplo é o caractere de retorno de carro. Outros caracteres
de controle dizem respeito a procedimentos de comunicação.
Quando uma tecla é pressionada pelo usuário, gera-se um sinal eletrônico, que é
interpretado pelo transdutor do teclado e traduzido de acordo com o padrão de bits
correspondente do código ASCII. Esse padrão de bits é então transmitido para o módulo
de E/S do computador. Um texto pode ser armazenado no computador, codificado nesse
mesmo código ASCII. Em uma operação de saída de dados, os caracteres em código
ASCII são transmitidos para um dispositivo externo por meio do módulo de E/S. O
transdutor desse dispositivo interpreta os códigos e envia os sinais eletrônicos
correspondentes para o dispositivo de saída, que então exibe o caractere indicado ou
desempenha a função de controle requerida.

5 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Unidade de Disco
A unidade de disco contém circuitos eletrônicos para a troca de dados e de sinais de
controle e de estado com o módulo de E/S, além de circuitos para controlar o
mecanismo de leitura/escrita do disco. Em um disco de cabeçote fixo, o transdutor
converte padrões magnéticos da superfície do disco para bits da área de
armazenamento temporário do dispositivo e vice-versa (Figura 2). Um disco de cabeçote
móvel deve também ser capaz de mover o braço do disco na direção radial, sobre a
superfície do disco.

2. MÓDULO DE E/S

Função do Módulo de E/S


As funções mais importantes de um módulo de E/S podem ser divididas nas
seguintes categorias:
• Controle e temporização
• Comunicação com o processador
• Comunicação com dispositivos
• Área de armazenamento temporário de dados
• Detecção de erros

O processador pode comunicar-se a qualquer momento com um ou mais


dispositivos externos, dependendo das necessidades de E/S do programa. Os recursos
internos do sistema, tais como memória principal e o barramento, são compartilhados
para a realização de diversas atividades, incluindo a E/S de dados. Por isso, um módulo
de E/S inclui funções de controle e temporização, para controlar o fluxo de dados entre
os recursos internos e os dispositivos externos. Por exemplo, o controle de transferência
de dados de um dispositivo externo para o processador pode envolver a seguinte
seqüência de etapas:
1. O processador interroga o módulo de E/S para verificar o estado do
dispositivo a ele conectado.
2. O módulo de E/S retorna o estado do dispositivo.
3. Se o dispositivo estiver em operação e pronto para transmitir, o processador
requisitará a transferência de dados, enviando um comando para o módulo
de E/S.
4. O módulo de E/S obtém uma unidade de dados do dispositivo externo.

6 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

5. Os dados são transferidos do módulo de E/S para o processador.

Se um barramento é usado pelo sistema, cada uma das interações entre o


processador e o módulo de E/S envolve uma ou mais arbitrações do barramento.
O cenário simplificado descrito anteriormente mostra também que o módulo de E/S
deve ser capaz de comunicar-se tanto com o processador quanto com o dispositivo
externo. A comunicação com o processador envolve os seguintes tópicos:
• Decodificação de comando: o módulo de E/S recebe comandos do
processador, enviados tipicamente como sinais, através do barramento de
controle. Por exemplo, um módulo de E/S ao qual é conectada uma unidade
de disco pode aceitar os seguintes comandos: leitura de setor, escrita de
setor, busca de uma determinada trilha e pesquisa por um registro com um
determinado identificador. No caso dos dois últimos comandos, um
parâmetro é enviado através do barramento de dados.
• Dados: os dados são transferidos entre o processador e o módulo de E/S
através do barramento de dados.
• Informação de estado: como os periféricos são, em geral, muito lentos, é
importante conhecer o estado do módulo de E/S. Por exemplo, em uma
operação de leitura, o módulo de E/S pode muitas vezes não estar pronto
para enviar os dados requeridos para o processador porque ainda está
processando o comando de E/S anterior. Essa informação é enviada como
um sinal de estado. Alguns sinais de estado comuns são BUSY (ocupado) e
READY (pronto). Pode também haver sinais que especificam condições de
erro.
• Reconhecimento de endereço: assim como cada palavra de memória,
cada dispositivo de E/S tem um endereço. Dessa maneira, o módulo de E/S
deve reconhecer um endereço distinto para cada periférico que ele controla.
Por outro lado, um módulo de E/S deve ser também capaz de realizar
comunicação com os dispositivos. Essa comunicação envolve comandos, informação
de estado e dados (Figura 2).
Uma tarefa essencial de um módulo de E/S é o armazenamento temporário de
dados. A figura 3 mostra por que essa função é necessária. Enquanto a taxa de
transferência de dados entre a memória principal e o processador é bastante alta, as
taxas da maioria dos dispositivos periféricos são ordens de grandeza menores e
compreendem uma ampla faixa de valores. A transferência de dados da memória
principal para o módulo de E/S é feita rapidamente. Esses dados são temporariamente
armazenados no módulo de E/S e, então, enviados para o dispositivo periférico em uma

7 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

taxa adequada. Na transmissão em sentido oposto, os dados são também armazenados


temporariamente no módulo de E/S, para não reter a memória em uma transferência de
dados a baixa velocidade. Dessa maneira, o módulo de E/S deve ser capaz de realizar
operações tanto à velocidade da memória quanto à do dispositivo externo.

Figura 3: Taxas de transferência de dados típicas de dispositivo de E/S

Finalmente, um módulo de E/S freqüentemente é responsável pela detecção de


erros e pelo envio de informações de erro para o processador. Possíveis erros incluem
mau funcionamento mecânico ou elétrico sinalizado pelo dispositivo, assim como
alterações no padrão de bits transmitido por um dispositivo para o módulo de E/S. Para
detectar erros de transmissão, é usado algum tipo de código de detecção de erros. Um
exemplo comum é o uso de um bit de paridade em cada caractere de dados. Por
exemplo, o código de um caractere ASCII ocupa 7 dos 8 bits de um byte e o valor
atribuído ao oitavo bit é determinado de modo que o número total de 1s no byte seja par
(paridade par) ou ímpar (paridade ímpar). Quando um byte é recebido, o módulo de E/S
verifica a paridade para determinar se ocorreu um erro.

Estrutura do módulo de E/S


A complexidade de um módulo de E/S e o número de dispositivos externos que ele
controla variam consideravelmente. Uma descrição bastante geral é apresentada a
seguir. A figura 4 mostra um diagrama de blocos de um módulo de E/S genérico. O
módulo é conectado ao restante do computador por meio de um conjunto de linhas de
sinal. Os dados transferidos desse módulo e para esse módulo são armazenados
temporariamente em um ou mais registradores de dados. Pode também haver um ou

8 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

mais registradores de estado, que fornecem dados sobre o estado corrente. Um


registrador de estado pode também funcionar como registrador de controle, recebendo
do processador informação de controle detalhada. A lógica interna do módulo interage
com o processador por meio de um conjunto de linhas de controle. Essas linhas são
usadas pelo processador para enviar comandos para o módulo de E/S. Algumas linhas
de controle podem ser usadas pelo módulo de E/S (por exemplo, para sinais de
arbitração e de estado). O módulo de E/S deve também ser capaz de reconhecer e gerar
endereços associados aos dispositivos que ele controla. Cada módulo de E/S tem um
endereço distinto ou, caso ele controle mais de um dispositivo externo, um conjunto de
endereços distintos. Finalmente, o módulo de E/S contém um circuito lógico específico
para a interface de cada dispositivo que ele controla.

Figura 4: Diagrama de blocos de um módulo de E/S

O módulo de E/S tem como função fornecer ao processador uma visão simplificada
de uma ampla gama de dispositivos. Existe um grande espectro de capacidades que
deve ser fornecido. Ele pode esconder detalhes de temporização, de formatos e da
operação eletromecânica de um dispositivo externo, permitindo ao processador operar
em termos de comandos de leitura e escrita simples e, possivelmente, de comandos
para abrir e fechar arquivos. Um módulo de E/S, na sua forma mais simples, pode ainda
deixar visível para o processador grande parte do trabalho do controle de dispositivos.
Um módulo de E/S que se encarrega da maior parte dos detalhes de
processamento de E/S, apresentando uma interface de alto nível para o processador, é
usualmente denominado canal de E/S ou processador de E/S. Um módulo de E/S mais
primitivo, que requer controle mais detalhado, é normalmente denominado controlador
de E/S ou controlador de dispositivo. Controladores de E/S são mais comuns em
9 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

microcomputadores, enquanto canais de E/S são usados em computadores de grande


porte.

3. E/S PROGRAMADA

Três técnicas diferentes podem ser usadas para a realização de operações de E/S.
Na E/S programada, os dados são transferidos entre o processador e o módulo de E/S.
O processador executa um programa e tem controle direto da operação de E/S,
incluindo a detecção do estado do dispositivo, o envio de comandos de leitura ou escrita
e a transferência de dados. Quando o processador envia um comando para o módulo de
E/S, ele tem de esperar até que essa operação seja completada. Se o processador for
mais rápido que o módulo de E/S, essa espera representará um desperdício de tempo
de processamento. Na E/S dirigida por interrupção, o processador envia um comando de
E/S e continua a executar outras instruções, sendo interrompido pelo módulo de E/S
quando este tiver completado seu trabalho. Tanto na E/S programada quanto na E/S
dirigida por interrupção, o processador é responsável por obter dados na memória
principal, em uma operação de saída, e por armazenar dados na memória principal, em
uma operação de entrada. A técnica alternativa é conhecida como acesso rápido à
memória (direct memory access - DMA). Nesse caso, a transferência de dados entre o
módulo de E/S e a memória principal é feita diretamente sem envolver o processador.
A Tabela 3 relaciona essas três técnicas.
Tabela 3: Técnicas de E/S

Sem interrupções Com interrupções


Transferência entre memória e E/S E/S programada E/S dirigida por
por meio do processador interrupção
Transferência direta entre memória Acesso direto à
e E/S memória (DMA)

Visão Geral
Quando um programa está sendo executado pelo processador, a execução de uma
instrução relacionada a E/S faz com que um comando seja enviado para o módulo de
E/S apropriado. Na E/S programada, o módulo de E/S executa a operação requisitada e
sinaliza o término da operação carregando um valor apropriado no registrador de estado
de E/S (Figura 4). Nenhuma outra ação é executada pelo módulo de E/S para alertar o
processador sobre o término da operação. Em particular, o processador não é
interrompido. Portanto. É responsabilidade do processador verificar periodicamente o
estado do módulo de E/S para determinar se a operação foi completada.

10 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Para explicar a técnica de E/S programada, descreveremos primeiramente os


comandos de E/S enviados pelo processador para o módulo de E/S e, em seguida, as
instruções de E/S executadas pelo processador.

Comandos de E/S
Para executar uma instrução relacionada a E/S, o processador gera um comando de
E/S e um endereço, que especifica um módulo de E/S e um dispositivo externo
particular. Quatro tipos de comandos podem ser enviados pelo processador para um
módulo de E/S:
• Controle: usado para ativar um periférico e indicar uma ação a ser executada.
Por exemplo, uma unidade de fita magnética pode receber um comando para
que seja rebobinada ou a cabeça de leitura e gravação seja deslocada um
registro para a frente. Esses comandos são característicos de cada tipo
particular de dispositivo periférico.
• Teste: usado para testar várias condições de estado associadas a um módulo
de E/S e seus periféricos. O processador precisa saber se o periférico requerido
está ligado e se está disponível para uso. Além disso, precisa saber se a última
operação de E/S foi completada e se houve algum erro.
• Leitura: faz com que o módulo de E/S obtenha um item de dado do periférico e
o armazene em uma área de armazenamento temporário interna. O processador
poderá então obter esse item de dado solicitando ao módulo de E/S que o
coloque no barramento de dados.
• Gravação: faz com que o módulo de E/S obtenha um item de dado do
barramento de dados e, em seguida, o transmita para o periférico.

A figura 5 mostra um exemplo do uso de E/S programada para ler um bloco de


dados de um dispositivo periférico para a memória. Uma palavra é lida de cada vez.
Para cada palavra lida, o processador permanece em um ciclo de verificação de estado
até que se determine que uma palavra está disponível no registrador de dados do
módulo de E/S. O fluxograma apresentado na figura assinala a principal desvantagem
dessa técnica: é um processo que consome tempo do processador, mantendo-o
desnecessariamente ocupado.

11 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 5: Três técnicas para a entrada de um bloco de dados

Instruções de E/S
Na E/S programada, há uma estreita correspondência entre as instruções de E/S
que o processador busca na memória e os comandos de E/S que ele envia para o
módulo de E/S, para a execução dessas instruções. Ou seja, as instruções são
facilmente mapeadas em comandos de E/S e, freqüentemente, temos uma simples
relação de um para um. A forma das instruções depende da maneira como os
dispositivos externos são endereçados.
Tipicamente, há diversos dispositivos de E/S conectados ao sistema por meio de
módulos de E/S. A cada dispositivo é associado um identificador ou endereço distinto.
Quando o processador envia um comando de E/S, esse comando contém o endereço do
dispositivo desejado. Dessa maneira, cada módulo de E/S deve interpretar as linhas de
endereço para determinar se o comando lhe é destinado.
Quando o processador, a memória principal e os módulos de E/S compartilham um
barramento comum, dois modos de endereçamento diferentes podem ser usados:
endereçamento mapeado na memória e endereçamento independente. Na E/S
mapeada na memória, existe um único espaço de endereçamento para posições de
memória e dispositivos de E/S. Os registradores de dados e de estado dos módulos de
E/S são vistos pelo processador como posições de memória, e as mesmas instruções de
máquinas são usadas para acessar a memória ou os dispositivos de E/S. Por exemplo,

12 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

com dez linhas de endereço, é possível obter uma combinação com um total de 210 =
1024 endereços de memória e de dispositivos de E/S.
Na E/S mapeada na memória, o barramento precisa ter apenas um alinha de leitura
e um alinha para escrita. Alternativamente, ele pode incluir, além das linhas de leitura e
escrita, linhas de comando de entrada e saída. Nesse caso, uma linha de comando
especifica se um endereço corresponde a uma posição de memória ou a um dispositivo
de E/S. Qualquer endereço pode corresponder a uma posição de memória ou a um
dispositivo de E/S. Com dez linhas de endereço, o sistema pode incluir 1024 posições
de memória e 1024 endereços de E/S. Como o espaço de endereçamento de E/S é
independente do espaço de endereçamento de memória, esse modo é denominado E/S
independente.
A figura 6 compara essas duas técnicas de E/S programada. A figura 6a mostra
como pode ser a interface do programador para um dispositivo de entrada simples; tal
como um teclado, pode aparecer para um programador usando E/S mapeada na
memória. Considere um endereço de 10 bits, uma memória com 512 bytes (endereços
0-511) e até 512 endereços de E/S (endereços 512-1023). Dois desses endereços (516
e 517) são alocados para a entrada de dados a partir do teclado de um terminal
particular. O endereço 516 corresponde ao registrador de dados e o endereço 517, ao
registrador de estado, que também funciona como registrador de controle para a
recepção de comandos do processador. O programa mostrado lê 1 byte de dados do
teclado e armazena o valor lido no registrador AC (acumulador) do processador. Note
que o processador permanece em um laço de teste até que o byte de dados esteja
disponível.
Na E/S independente (figura 6b), o acesso às portas de E/S é feito por meio de
comandos de E/S especiais, que ativam as linhas de comando de E/S do barramento.
Na maioria dos tipos de processador, há um conjunto relativamente grande de
instruções que se referem à memória. Na E/S independente, existe apenas um pequeno
número de instruções de E/S. Dessa maneira, o fato de o repertório grande de
instruções existentes para acessar a memória poder também ser usado para E/S é uma
vantagem da E/S mapeada na memória, possibilitando uma programação mais eficiente.
Uma desvantagem é que alguns endereços não podem ser usados para referência à
memória, sendo associados a dispositivos de E/S. Tanto a E/S mapeada na memória
quanto a E/S independente são comuns.

13 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 6: E/S mapeada na memória e E/S independente

4. E/S DIRIGIDA POR INTERRUPÇÃO

O problema da E/S programada é que o processador tem de esperar um longo


tempo até que o módulo de E/S requerido esteja pronto para receber ou enviar dados.
Enquanto espera, o processador tem de testar, continuamente, o estado do módulo de
E/S. Como resultado, o desempenho global do sistema é severamente degradado.
Uma alternativa é o processador enviar um comando de E/S para o módulo e
continuar a executar outras instruções. O processador será interrompido pelo módulo de
E/S quando este estiver pronto para trocar dados com o processador. O processador
efetua então a transferência de dados, como na técnica anterior, e depois retoma o seu
processamento original.
Vejamos como isso funciona, primeiramente do ponto de vista do módulo de E/S.
Em uma entrada de dados, o módulo de E/S recebe um comando READ (leitura) do
processador. Então, lê o dado requerido do periférico especificado. Quando esse dado
estiver em seu registrador de dados, o módulo de E/S sinaliza a ocorrência de uma
interrupção do processador por meio de uma linha de controle. Ele então espera até que

14 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

o dado lido seja solicitado pelo processador. Quando recebe essa requisição, ele coloca
esse dado no barramento de dados e fica preparado para uma nova operação de E/S.
Do ponto de vista do processador, a entrada de dados é executada do seguinte
modo. O processador envia um comando READ para o módulo de E/S e prossegue com
a execução de outras instruções. No final de cada ciclo de instrução, ele verifica se
existe alguma interrupção pendente. Quando detecta uma interrupção de E/S, ele salva
o contexto do programa corrente e processa a interrupção, lendo a palavra de dados do
módulo de E/S e armazenando-a na memória. Restaura então o contexto do programa
que foi interrompido e reinicia sua execução.
A figura 5b mostra o uso de E/S dirigida por interrupção para a leitura de um bloco
de dados. A E/S dirigida por interrupção é mais eficiente que a E/S programada, pois
elimina ciclos de espera desnecessários. No entanto, ela ainda consome muito tempo do
processador, pois cada palavra de dados transferida do módulo de E/S para a memória,
ou vice-versa, tem de passar pelo processador.

Processamento de Interrupção
Examinemos mais detalhadamente o papel do processador na E/S dirigida por
interrupção. A ocorrência de uma interrupção dispara certo número de eventos, tanto no
hardware quanto no software do processador. A figura 7 mostra uma seqüência de
eventos típica. Quando um dispositivo completa uma operação de E/S, ocorre a seguinte
seqüência de eventos de hardware:
1. O dispositivo envia um sinal de interrupção para o processador.
2. Antes de responder a essa interrupção, o processador termina a execução da
instrução corrente.
3. O processador testa se existe uma interrupção pendente e, quando detectada,
envia um sinal de reconhecimento para o dispositivo que enviou a interrupção. O
recebimento desse sinal faz com que o dispositivo desative seu sinal de
interrupção.
4. O processador agora se prepara para transferir o controle para a rotina de
tratamento da interrupção. Primeiramente, ele armazena, para posterior
recuperação, os dados necessários para retomar a execução do programa
corrente a partir do ponto em que foi interrompida. A informação mínima
necessária consiste (a) no estado do processador, contido em um registrador
denominado palavra de estado do programa (program status word – PSW), e (b)
no endereço da próxima instrução a ser executada, contido no contador de
programa (program counter – PC). Essas informações podem ser armazenadas
na pilha de controle do sistema.

15 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 7: Processamento de interrupção simples

5. O processador carrega então o contador de programa com o endereço da rotina


de tratamento de interrupção. Dependendo da arquitetura do computador e do
projeto do sistema operacional, pode haver uma única rotina de tratamento de
interrupção, ou uma rotina para cada tipo de interrupção, ou uma rotina para
cada tipo de dispositivo e cada tipo de interrupção. Se existir mais de uma rotina
de tratamento de interrupção, o processador deve determinar qual deve ser
chamada. Essa informação pode ser enviada junto com o sinal de interrupção
original ou pode ser obtida pelo envio de uma requisição para o dispositivo que
enviou a interrupção, que então responde com a informação necessária.
Uma vez que o contador de programa tenha sido carregado com o endereço da
rotina de tratamento de interrupção, o processador reinicia o ciclo de execução de
instruções, buscando a próxima instrução a ser executada. Como a busca da instrução é
baseada no conteúdo do contador de programa, o controle é transferido para a rotina de
tratamento de interrupção. A execução dessa rotina resulta nas seguintes operações:
6. Nesse ponto, os valores do contador de programas e do PSW do programa
interrompido já terão sido devidamente armazenados na pilha do sistema para

16 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

posterior restauração. Entretanto, outras informações que fazem parte do


‘estado’ do programa em execução também precisam ser guardadas. Em
particular, o conteúdo dos registradores do processador, uma vez que esses
registradores podem ser usados pela rotina de tratamento de interrupção. Assim
todos esses valores, além de outras informações de estado, precisam ser
salvos. Tipicamente, a rotina de tratamento de interrupção começa armazenando
o conteúdo de todos os registradores na pilha do sistema, como ilustrado na
figura 8a. Nessa figura, o programa de usuário é interrompido após a execução
da instrução de endereço N. O conteúdo de cada registrador, assim como o
endereço da próxima instrução (N + 1) são armazenados na pilha. O apontador
de pilha é atualizado para apontar para o novo topo da pilha, e o contador de
programa é carregado com o endereço de início da rotina de tratamento de
interrupção.
7. A rotina de tratamento de interrupção é então iniciada. O tratamento de
interrupção inclui a verificação de informações de estado relacionadas à
operação de E/S ou a outro evento que tenha causado a interrupção. Isso pode
também envolver o envio de comandos adicionais ou de sinais de
reconhecimento para o dispositivo de E/S.
8. Quando o processamento da interrupção é concluído, os valores anteriormente
armazenados na pilha são restaurados nos registradores (figura 8b).
9. A última operação consiste em restaurar os conteúdos do PSW e PC. Com isso,
a próxima instrução executada será uma instrução do programa previamente
interrompido.

Note que é importante que todos os dados que caracterizam o estado do programa
sejam salvos, para que seja possível retornar a execução desse programa
posteriormente. Isso porque uma interrupção não é uma rotina chamada pelo próprio
programa. Uma interrupção pode ocorrer a qualquer instante e, portanto, em qualquer
ponto da execução de um programa de usuário. Sua ocorrência é imprevisível. O
programa que solicitou a operação de E/S ocasionando a interrupção pode não ter nada
em comum com o programa que é interrompido, podendo até pertencer a um usuário
diferente.

17 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 8: Alterações na memória e nos registradores durante o tratamento de uma


interrupção

Aspectos de Projeto
Duas questões de projeto devem ser consideradas na implementação de E/S
dirigida por interrupção: primeira, como o processador determina, entre os vários
módulos de E/S existentes, qual dispositivo enviou a interrupção, e segunda, quando
ocorrerem várias interrupções, como o processador decide qual ele deve processar.
Consideramos primeiramente, a identificação do dispositivo. Quatro tipos de
técnicas são mais usadas para identificar o dispositivo que enviou uma interrupção:
• Múltiplas linhas de interrupção

18 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

• Identificação por software


• Daisy chain (identificação por hardware, vetorada)
• Arbitração do barramento (vetorada)

A abordagem mais direta para o problema da identificação do dispositivo originador


da interrupção consiste em usar múltiplas linhas de interrupção entre o processador e os
módulos de E/S. Entretanto, na prática, apenas um pequeno número de linhas do
barramento, ou pinos do processador, pode ser usado para as linhas de interrupção. Por
isso, mesmo nesse caso, é bem provável que diversos módulos de E/S sejam
conectados a uma mesma linha. Portanto, uma das três técnicas a seguir terá de ser
usada, em cada linha.
Uma técnica alternativa é a identificação por software. Quando o processador
detecta uma interrupção pendente, ele desvia a execução para uma rotina de tratamento
de interrupção que interroga cada módulo de E/S para determinar qual deles causou a
interrupção. Uma linha de comando especial (por exemplo, TEST I/O) pode ser usada
para isso. Nesse caso, o processador ativa o sinal na linha TEST I/O e coloca o
endereço de um determinado módulo de E/S nas linhas de endereço. O módulo de E/S
correspondente responde afirmativamente caso tenha enviado a interrupção.
Alternativamente, cada módulo pode conter um registrador de estado endereçável, que é
lido pelo processador para identificar o módulo de E/S que causou a interrupção. Uma
vez que o módulo tenha sido identificado, o processador chama a rotina de tratamento
de interrupção específica para esse dispositivo.
A desvantagem da identificação por software é que consome muito tempo. Uma
técnica mais eficiente é usar um daisy chain, que realiza a identificação por hardware,
usando uma conexão ente os módulos e o processador, na forma de uma cadeia
circular. Todos os módulos de E/S compartilham um alinha de requisição de interrupção
comum. A linha de reconhecimento de interrupção é estruturada em uma cadeia circular.
Quando o processador recebe um sinal de interrupção, ele envia um sinal de
reconhecimento de interrupção, que se propaga por meio de uma série de módulos de
E/S até chegar àquele que causou a interrupção. Esse módulo então responde
colocando uma palavra nas linhas de dados. Essa palavra é denominada vetor de
interrupção e consiste no endereço do módulo de E/S ou algum outro tipo de
identificador do módulo. O vetor de interrupção é usado pelo processador para
determinar a rotina de tratamento de interrupção apropriada para aquele dispositivo. Isso
evita a execução inicial de uma rotina genérica de tratamento de interrupção, que
apenas determina o endereço da rotina específica. Essa técnica é conhecida como
interrupção vetorada.

19 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Outra técnica que usa interrupções vetoradas é a arbitração do barramento. Para


enviar um sinal de interrupção, o módulo de E/S precisa primeiramente obter o controle
do barramento. Dessa maneira, apenas um módulo de E/S pode ativar a linha de
interrupção de cada vez. Quando o processador detecta a interrupção, ele responde por
meio da linha de reconhecimento de interrupção. Então, o módulo que causou a
interrupção coloca seu vetor nas linhas de dados.
As técnicas descritas servem para identificar o módulo de E/S que causou uma
interrupção, além de estabelecer prioridades para as interrupções pendentes. Quando
diversas linhas de interrupção são usadas, o processador seleciona a linha de maior
prioridade. Na técnica de identificação por software, a ordem em que os módulos são
interrogados determina suas prioridades. Da mesma maneira, a ordem dos módulos na
conexão em cadeia circular, usada na técnica daisy chain, determina suas prioridades.
Finalmente, na técnica de arbitração do barramento, pode ser usado um esquema de
prioridades.

5. ACESSO DIRETO À MEMÓRIA (DMA)

Desvantagens da E/S Programada e da E/S Dirigida por Interrupções


A E/S dirigida por interrupção, embora mais eficiente que a E/S programada, ainda
requer uma intervenção ativa do processador para transferir dados entre a memória e o
módulo de E/S, e toda transferência é feita por um caminho que passa pelo processador.
Desse modo, essas duas formas de E/S possuem duas desvantagens inerentes:
1. A taxa de transferência de E/S é limitada pela velocidade com que o
processador pode testar e servir um dispositivo.
2. O processador se ocupa de gerenciar a transferência de dados de E/S, tendo de
executar várias instruções a cada transferência.

Essas duas desvantagens são, de certo modo, conflitantes. Considere a


transferência de um bloco de dados. Na E/S programada, o processador é responsável
pela E/S e pode transferir dados a uma taxa mais alta, à custa de não poder executar
outras operações. Na E/S dirigida por interrupção, o processador fica, até certo ponto,
liberado para executar outras operações, mas a preço de uma taxa de transferência de
E/S mais baixa. Contudo, ambos os métodos têm um impacto adverso tanto na atividade
do processador quanto na taxa de transferência de E/S.
Uma técnica mais eficiente para a transferência de grandes volumes de dados é a
técnica de acesso direto à memória (DMA).

20 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Funcionamento da E/S por Acesso Direto à Memória (DMA)


A técnica de acesso direto à memória envolve um módulo adicional no barramento
do sistema. Esse módulo ou controlador de DMA (figura 9) é capaz de imitar o
processador e, de fato, controlar o sistema do processador. Isso é necessário para que o
módulo de DMA possa transferir dados diretamente de e para a memória por meio do
barramento do sistema. Para esse propósito, um módulo de DMA pode tanto usar o
barramento apenas quando este não está sendo usado pelo processador quanto forçar o
processador a suspender sua operação temporariamente. Essa última técnica é mais
comum, sendo conhecida como roubo de ciclo, porque o módulo de DMA de fato rouba
um ciclo de barramento do processador.

Figura 9: Diagrama de blocos de um módulo de DMA

Quando o processador deseja ler ou escrever um bloco de dados, ele envia um


comando ao módulo de DMA com as seguintes informações:
• Indicação de operação de leitura ou de escrita, enviada pela linha de controle de
leitura ou de escrita entre o processador e o módulo de DMA.
• O endereço do dispositivo de E/S envolvido, enviado nas linhas de dados.
• O endereço de memória para início de leitura ou escrita de dados, enviado pelas
linhas de dados e armazenado pelo módulo de DMA, no seu registrador de
endereços.
• Número de palavras a serem lidas ou escritas, também enviado pelas linhas de
dados e armazenado no registrador contador de dados.
21 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Depois de enviar o comando, o processador pode continuar executando outras


instruções. A execução da operação de E/S é delegada ao módulo de DMA. Ele
transfere diretamente todo o bloco de dados, uma palavra de cada vez, diretamente de
ou para a memória, sema intervenção do processador. Quando a transferência é
concluída, o módulo de DMA envia um sinal de interrupção para o processador. Dessa
maneira, o processador é envolvido apenas no início e no fim da transferência do bloco
de dados.
A figura 10 mostra em que pontos do ciclo de instrução o processador pode ser
suspenso. Em todos os casos, o processador é suspenso justamente antes de requerer
o uso do barramento.

Figura 10: Pontos de suspensão de DMA e de interrupção ao longo de um ciclo de


instrução

O módulo de DMA então transfere uma palavra e retorna o controle para o


processador. Note que isso não é uma interrupção; o processador não tem de salvar o
contexto e executar qualquer outra ação. Ele apenas efetua uma pausa, com duração de
um ciclo de barramento. O efeito global é tornar a execução de instruções um pouco
mais lenta. Entretanto, no caso de transferência de um bloco de palavras, a técnica de
DMA é bem mais eficiente que a E/S dirigida por interrupção ou a E/S programada.
O mecanismo de DMA pode ser configurado de diversos modos. Algumas
possibilidades são mostradas na figura 11. No primeiro exemplo, todos os módulos de
E/S compartilham o uso de um mesmo barramento do sistema. O módulo de DMA atua
como um processador substituto, usando E/S programada para transferir dados
diretamente entre a memória e os módulos de E/S. Essa configuração, embora barata, é

22 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

claramente ineficiente. Assim como nos casos da E/S programada controlada por
processador, a transferência de cada palavra consome dois ciclos de barramento.
O número de ciclos de barramento requeridos pode ser diminuído substancialmente
com a integração das funções de acesso direto à memória e de E/S. Como indica a
figura 11b, isso significa que deve existir um caminho entre o módulo de DMA e um ou
mais módulos de E/S, independente do barramento do sistema. A lógica de controle do
DMA pode ser parte de um módulo de E/S ou ser um módulo separado que controla um
ou mais módulos de E/S. Essa idéia pode ser aprimorada, tal como mostrado na figura
11c, com o uso de um barramento exclusivo para E/S, que conecta os módulos de E/S
ao módulo de DMA. Isso reduz para apenas um o número de interfaces de E/S do
módulo de DMA e possibilita uma configuração que pode ser facilmente expandida.
Nesses dois casos (figuras 11b e 11c), o barramento do sistema, compartilhado entre o
módulo de DMA, o processador e a memória, é usado pelo módulo de DMA apenas para
trocar dados com a memória. A transferência de dados entre o módulo de DMA e os
módulos de E/S é feita fora do barramento do sistema.

Figura 11: Configurações alternativas de DMA

6. CANAIS E PROCESSADORES DE E/S

A Evolução da Função de E/S


23 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

À medida que os sistemas de computação evoluíram, seus componentes individuais


tornaram-se mais complexos e sofisticados, principalmente aqueles voltados para
funções de E/S. Parte dessa evolução foi descrita anteriormente, e suas principais
etapas podem ser resumidas como a seguir:
1. A CPU controla diretamente cada dispositivo periférico. Isso pode ser visto no
caso de dispositivos simples controlados por microprocessadores.
2. Um controlador ou módulo de E/S é adicionado. A CPU usa E/S programada
sem interrupções. Nessa etapa, detalhes relativos a interfaces externas de
dispositivos de E/S são isolados da CPU.
3. A configuração é a mesma da etapa 2, mas agora são utilizadas interrupções. A
CPU passa a não mais perder tempo aguardando o término de uma operação de
E/S, o que contribui para aumentar a eficiência.
4. O módulo de E/S efetua acesso direto à memória por meio de um módulo de
DMA. Um bloco de dados pode ser transferido diretamente de ou para a
memória sem envolver a CPU, exceto no início e no fim da transferência.
5. O módulo de E/S é aprimorado, tornando-se um processador com um conjunto
especializado de instruções de E/S. A CPU envia um comando para o
processador de E/S, que executa um programa de E/S carregado na memória. O
processador de E/S busca e executa instruções sem intervenção da CPU. Isso
possibilita à CPU especificar uma seqüência de atividades de E/S a serem
executadas e apenas ser interrompida quando toda a seqüência é completada.
6. O módulo de E/S inclui uma memória local própria e é, portanto, ele próprio, um
computador. Essa arquitetura possibilita controlar grande número de dispositivos
de E/S, com o mínimo envolvimento da CPU. Ela normalmente é usada para
controlar a comunicação com terminais interativos. O processador de E/S cuida
da maior parte das tarefas envolvidas no controle dos terminais.

Ao longo desse caminho evolutivo, mais e mais funções de E/S são


desempenhadas sem o envolvimento da CPU. A CPU é, cada vez mais, liberada de
tarefas relacionadas a E/S, o que contribui para melhorar o desempenho global do
sistema. Nas etapas 5 e 6 ocorre uma mudança importante com a introdução do
conceito de um módulo de E/S capaz de executar um programa. O módulo de E/S da
etapa 5 é freqüentemente denominado canal de E/S. Para o módulo da etapa 6, é mais
usado o termo processador de E/S. Entretanto, esses dois termos são ocasionalmente
usados em ambos os casos.

Características dos Canais de E/S

24 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Um canal de E/S representa uma extensão do conceito de DMA. É capaz de


executar instruções de E/S, o que lhe dá total controle sobre as operações de E/S. Em
um sistema de computação que emprega esses dispositivos, a CPU não executa
instruções de E/S. Essas instruções são armazenadas na memória principal, sendo
executadas por um processador especializado no próprio canal de E/S. Dessa maneira,
a CPU inicia uma transferência de E/S instruindo o canal de E/S para executar um
determinado programa armazenado na memória. Esse programa especifica o dispositivo
ou conjunto de dispositivos, a área ou as áreas da memória para armazenamento ou
leitura de dados, a prioridade e as ações a serem tomadas no caso de determinadas
situações de erro. O canal de E/S executa essas instruções e controla a transferência de
dados.
Dois tipos de canais de E/S são comuns, como ilustrado na figura 12. Um canal
seletor controla vários dispositivos de E/S de alta velocidade e, a cada instante, fica
dedicado para a transferência de dados de um desses dispositivos. Assim, o canal de
E/S seleciona um dispositivo e efetua a transferência de dados. Cada dispositivo ou
grupo de poucos dispositivos é conectado a um controlador de E/S, bastante semelhante
aos módulos de E/S discutidos até agora. Dessa maneira, o canal de E/S controla esses
controladores de E/S no lugar da CPU. Um canal multiplexador pode transferir dados
para vários dispositivos ao mesmo tempo. Para dispositivos de E/S de baixa velocidade,
é usado um multiplexador de bytes, que recebe ou transmite caracteres, o mais rápido
possível, para diversos dispositivos. Por exemplo, caso três dispositivos estejam
conectados, com taxas de transferência de dados diferentes, e cujos fluxos individuais
de caracteres são A1 A2 A3 A4...., B1 B2 B3 B4...., C1 C2 C3 C4...., o fluxo de caracteres
resultantes pode ser A1 B1 C1 A2 B2 C2 A3 B3 C3 A4, e assim por diante. Para dispositivos de
alta velocidade, é usado um multiplexador de blocos, que intercala a transferência de
blocos de dados para os diversos dispositivos.

25 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 12: Arquitetura de canais de E/S

7. A INTERFACE EXTERNA: SCSI E FIREWIRE

Tipos de Interfaces
A interface de um módulo de E/S com um dispositivo periférico depende da
natureza e da operação desse periférico. Uma característica importante é que uma
interface pode ser serial ou paralela (figura 13). Em uma interface paralela, existem
várias linhas de conexão entre o módulo de E/S e o periférico e diversos bits são
transferidos ao mesmo tempo, da mesma maneira como todos os bits de uma palavra
são transferidos simultaneamente através do barramento de dados. Uma interface
serial usa apenas uma linha para transmitir dados, sendo os bits transmitidos um da

26 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

cada vez. A interface paralela é mais usada para periféricos de alta velocidade, tais
como fitas e discos. A serial é mais comum para impressoras e terminais.

Figura 13: E/S paralela e serial

Em ambos os casos, o módulo de E/S tem de interagir com o periférico. Em


termos gerais, a interação em uma operação de escrita pode ser descrita como a
seguir:
1. O módulo de E/S envia um sinal de controle pedindo permissão para enviar um
dado.
2. O periférico reconhece a requisição.
3. O módulo de E/S transfere dados (uma palavra ou um bloco).
4. O periférico sinaliza o recebimento dos dados.
Uma operação de leitura é feita de modo semelhante.
Um ponto importante para a operação de um módulo de E/S é a utilização de uma
área interna de armazenamento temporário, para manter dados que estão sendo
transferidos entre o periférico e o restante do sistema. Isso permite ao módulo de E/S
compensar diferenças de velocidade ente o barramento do sistema e suas linhas
externas.

Configurações Ponto a Ponto e Multiponto


A conexão entre um módulo de E/S e os dispositivos externos pode ser ponto a
ponto ou multiponto. Uma interface ponto a ponto oferece uma linha dedicada entre o
módulo de E/S e o dispositivo externo. Em sistemas pequenos ligações ponto a ponto
são usadas para a conexão com o teclado, impressoras e modem externo. Um
exemplo desse tipo de interface é a especificação EIA-32.

27 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

As interfaces externas multiponto estão se tornando cada vez mais importantes,


sendo usadas para a conexão de dispositivos externos de armazenamento em massa
(discos e fitas) e dispositivos de multimídia (CD-ROMs, vídeo, áudio). Elas são, de fato,
barramentos externos que possuem o mesmo tipo de lógica dos barramentos
discutidos na aula de barramentos. Dois exemplos importantes são examinados a
seguir: SCSi e FireWire.

Interface de Sistemas de Computação Pequenos (SCSI)


Um bom exemplo de interface para dispositivos periféricos externos é a SCSI.
Popularizada inicialmente no Macintosh, a SCSI é empregada atualmente tanto no
Macintosh quanto nos sistemas Windows/Intel, assim como em muitas estações de
trabalho. Ela é uma interface padrão para unidades de CD-ROM, equipamentos de
áudio e dispositivos externos de armazenamento em massa. Usa uma interface
paralela de 8, 16 ou 32 linhas de dados.
A interface SCSI geralmente é referenciada como um barramento, embora os
dispositivos sejam, de fato, conectados em uma cadeia circular. Cada dispositivo SCSI
possui dois conectores: um para a entrada e um para a saída. Todos os dispositivos
são conectados a uma cadeia circular, sendo um ponto dessa cadeia conectado ao
computador. Eles funcionam de maneira independente e podem trocar dados entre si
ou com o sistema hospedeiro. Por exemplo, o conteúdo de um disco rígido pode ser
copiado diretamente para uma fita sem envolver o processador. Os dados são
transferidos na forma de pacotes de mensagens, como descrito a seguir.

A. Versões da SCSI
A especificação SCSI original, atualmente denominada SCSI-1, foi desenvolvida no
início da década de 80. A SCSI-1 contém oito linhas de dados e opera com
velocidade de relógio de 5 MHz ou taxa de transferência de 5 Mbytes/s. Ela possibilita
a conexão de até sete dispositivos ao sistema hospedeiro em uma cadeia circular.
Em 1991, foi introduzida uma revisão dessa especificação, a SCSI-2. As principais
alterações foram a expansão opcional das linhas de dados para 16 ou 32 e o
aumento da velocidade de relógio para 10 MHz. O resultado é uma taxa máxima de
transferência de dados de 20 ou 40 Mbytes/s. Atualmente, está em andamento a
especificação SCSI-3, que oferecerá velocidades ainda maiores.

B. Sinais e Fases
Todas as transferências mediante o barramento SCSI ocorrem entre um iniciador e
um alvo. Tipicamente, o sistema hospedeiro é o iniciador e um controlador de
periféricos o alvo, mas alguns dispositivos podem assumir esses dois papéis. Toda
28 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

atividade no barramento ocorre de acordo com uma seqüência de fases. As fases são
as seguintes:
• Barramento livre: indica que nenhum dispositivo está usando o barramento e,
portanto, ele está disponível para uso.
• Arbitração: permite a um dispositivo ganhar o controle do barramento, de
maneira que possa iniciar ou retomar o processamento de uma E/S.
• Seleção: permite a um iniciador selecionar um alvo para realizar uma
determinada função, tal como um comando de leitura ou de escrita.
• Restabelecimento de conexão: permite a um alvo restabelecer a conexão
com um iniciador para retomar uma operação iniciada anteriormente, mas
suspensa pelo alvo.
• Comando: permite ao alvo requisitar informação de comando ao iniciador.
• Dados: permite ao alvo requisitar a transferência de dados, do alvo para o
iniciador (entrada de dados) ou do iniciador para o alvo (saída de dados).
• Estado: permite ao alvo requisitar a transferência de uma ou mais mensagens,
do alvo para o iniciador (entrada de mensagem) ou do iniciador para o alvo
(saída de mensagem).
• Mensagem: permite ao alvo requisitar a transferência de uma ou mais
mensagens, do alvo para o iniciador (entrada de mensagem) ou do iniciador
para o alvo (saída de mensagem).

A figura 14 mostra a ordem em que essas fases do barramento SCSI ocorrem.


Quando sua operação é iniciada, o barramento entra na fase de Barramento Livre. Essa
fase é seguida por uma fase de Arbitração, que normalmente resulta na aquisição do
controle do barramento por um dispositivo. Caso a Arbitração falhe, o barramento
retorna à fase de Barramento Livre. Se a Arbitração é bem-sucedida, o barramento entra
na fase de Seleção ou de Restabelecimento de Conexão, que determina o dispositivo
iniciador e o dispositivo-alvo para a transferência. Uma vez determinados o iniciador e o
alvo, haverá uma ou mais fases de transferência de informação (Comando, Dados,
Estado ou Mensagem) entre os dois dispositivos. A fase final de transferência de
informação é, normalmente, uma fase de Entrada de Mensagem onde é enviada uma
mensagem de Desconexão ou de Comando Completado para o iniciador seguida pela
fase de Barramento Livre.

29 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura: 14: Fases do barramento SCSI

Uma característica importante da SCSI é a capacidade de restabelecimento da


conexão entre um iniciador e um alvo. Se a execução de um comando é demorada, o
dispositivo-alvo pode liberar o barramento, podendo restabelecer a conexão com o
iniciador mais tarde. Por exemplo, o processador pode enviar um comando de
formatação a uma unidade de disco que efetua essa operação sem prender o
barramento.
A especificação SCSI-1 define um cabo de 18 linhas de sinal, 9 linhas para controle
e 9 linhas para dados (8 linhas de dados e 1 linha de paridade). As linhas de controle
são descritas a seguir:
• BSY: usada por um iniciador ou alvo para indicar que o barramento está
ocupado.
• SEL: utilizada por um iniciador para selecionar um alvo para executar um
comando ou usada por um alvo para restabelecer conexão com seu iniciador,
quando a conexão tiver sido suspensa. O sinal existente na linha I/O distingue
esses dois casos (seleção e restabelecimento de conexão).
• C/D: usada pelo alvo para indicar se o barramento de dados contém
informação de controle (comando, estado ou mensagem) ou dado.
• I/O: utilizada pelo alvo para indicar a direção de transferência de dados por
meio do barramento de dados.
• MSG: usada pelo alvo para indicar ao iniciador que a informação que está
sendo transferida é uma mensagem.
• REQ: empregada pelo alvo para requisitar uma transferência de dados. Em
resposta ao sinal REQ, o iniciador lê o dado do barramento durante uma fase

30 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

de Entrada de Dados ou coloca um dado no barramento durante uma fase de


Saída de Dados.
• ACK: usada pelo iniciador para reconhecer um sinal REQ enviado pelo alvo. O
sinal ACK indica que o iniciador colocou uma informação no barramento em
uma fase de Saída de Dados ou que o iniciador leu o dado do barramento em
uma fase de Entrada de Dados.
• ATN: empregada pelo iniciador para informar ao alvo que ele tem uma
mensagem para transferir. O iniciador envia esse sinal durante a fase de
Seleção ou em qualquer momento depois que o alvo tenha assumido o
controle do barramento.
• RST: usado para reinicializar a operação do barramento.

A tabela abaixo mostra a relação entre os sinais e as fases do barramento. Na


especificação SCSI-2, existem linhas adicionais de dados e de paridade, além de mais
um par de linhas de REQ e ACK.
Tabela 4: Sinais do barramento SCSI

31 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

C. Temporização da SCSI
A figura 15 mostra um diagrama de tempo típico da interface SCSI, que serve para
explicar os diversos sinais e fases do barramento. O exemplo apresenta um comando
de leitura que transfere dados do alvo para o iniciador.

Figura 15: Exemplo de diagrama de tempo de uma operação de leitura no


barramento SCSI

A operação começa na fase de Barramento Livre, sem nenhum sinal em qualquer


uma das linhas. Em seguida, ocorre uma fase de Arbitração, na qual um ou mais

32 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

dispositivos competem pelo controle do barramento. Cada um desses dispositivos


ativa a linha BSY e uma das linhas de dados. Cada um dos oito dispositivos possui
um identificador (ID) distinto, de 0 a 7. Cada dispositivo ativa a linha de dados
correspondente ao seu ID. Cada ID tem uma prioridade associada, onde 7 é a
prioridade mais alta e 0, a mais baixa. Durante a fase de Arbitração, se mais de um
dispositivo ativar a linha de dados correspondente ao seu ID, o controle do
barramento será cedido ao dispositivo cujo ID corresponde à linha de maior
prioridade. Todos os dispositivos observam as linhas de dados, reconhecendo aquele
que deve obter o controle do barramento.
O dispositivo que obteve o controle do barramento passa a ser o iniciador. Ele
entra na fase de Seleção, ativando o sinal SEL. Nessa fase, ele seleciona o alvo
ativando as linhas de dados correspondentes ao seu próprio ID e ao identificador do
alvo. Depois de certo tempo, ele desativa o sinal BSY. Quando o alvo detecta que a
linha SEL está ativada, as linhas BSY e I/O estão desativadas, e reconhece seu ID,
ele ativa o sinal BSY. Quando o iniciador detecta o sinal BSY, ele libera o barramento
de dados e desativa na linha SEL.
Em seguida, o alvo entra na fase de Comando, ativando a linha C/D; essa linha
permanece ativa durante toda essa fase. Ele então ativa a linha REQ para requisitar o
primeiro byte do comando do iniciador. O iniciador coloca o primeiro byte do comando
no barramento de dados e ativa a linha ACK. Depois de ler esse byte, o alvo desativa
a linha REQ e o iniciador, a linha ACK. O primeiro byte do comando contém o código
de operação do comando a ser executado e indica quanto bytes restam para serem
transferidos. Os bytes restantes são transferidos seguindo o mesmo protocolo de
comunicação, com as linhas REQ/ACK.
Depois de receber e interpretar o comando, o alvo coloca o barramento na fase de
Entrada de Dados, desativando a linha C/D (o que indica que o barramento contém
dados) e ativando a linha I/O (o que indica que a transferência é do alvo para o
iniciador). Ele coloca no barramento de dados o primeiro byte requisitado e ativa a
linha REQ. Depois de ler o byte, o iniciador ativa a linha ACK. Os demais bytes de
dados são transferidos seguindo o mesmo protocolo de sincronização com as linhas
REQ/ACK.
Depois de transferir todos os dados requisitados, o alvo coloca o barramento na
fase de Estado e envia um byte de estado para o iniciador, indicando que completou a
transferência com sucesso. Nesse caso, a linha C/D é novamente ativada e a linha de
I/O permanece ativada. O iniciador e o alvo usam as linhas REQ/ACK para coordenar
a transferência dos bytes de estado.
Finalmente, o alvo coloca o barramento na fase de Entrada de Mensagem,
ativando a linha MSG e transferindo um byte contendo a mensagem de Comando
33 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Completado. Quando esse byte é recebido pelo iniciador, o alvo desativa todos os
sinais no barramento, restabelecendo a fase de Barramento Livre.
A transação representada na figura 15 é um exemplo de transferência assíncrona.
Uma transferência assíncrona requer o envio de sinais do protocolo de comunicação
nas linhas REQ/ACK para cada byte transferido para sincronizar a comunicação. A
interface SCSI também possibilita uma transferência síncrona, que requer menor
sobrecarga. O modo de transferência síncrona é usado apenas para as fases de
Entrada de Dados e de Saída de Dados. Como o modo padrão de transferência é
assíncrono, a mudança para o modo síncrono deve ser negociada. Para isso, o alvo
envia para o iniciador uma mensagem de Requisição de Transferência de Dados
Síncrona, indicando seu tempo mínimo de transferência e seu tempo máximo de
espera entre o envio de um sinal na linha REQ e o recebimento de um sinal na linha
ACK correspondente. O iniciador responde com uma mensagem do mesmo tipo,
indicando seu próprio tempo mínimo de transferência e seu tempo máximo de espera
entre um sinal em REQ e um sinal em ACK.
Uma vez trocadas todas essas informações, a transferência passa a ser feita de
modo síncrono, usando o maior dentre os dois tempos mínimos de transferência e o
menor dos dois tempos de espera entre sinais nas linhas REQ e ACK. A transferência
de dados procede da seguinte maneira. Os bytes são enviados, intercalados por um
período de tempo igual ao tempo mínimo de transferência, pulsando a linha REQ a
cada byte transferido. O receptor não precisa sinalizar imediatamente cada byte
recebido, mas deve fazê-lo dentro do tempo máximo estabelecido entre sinais nas
linhas REQ e ACK. O remetente pode, portanto, enviar um fluxo contínuo de bytes,
desde que receba um sinal na ACK correspondente dentro do período de tempo
estabelecido. Caso não seja recebido um sinal em ACK durante esse tempo, ele deve
fazer uma pausa, iniciando nova sincronização por meio de sinais nas linhas REQ e
ACK.

D. Mensagens
As mensagens trocadas entre o iniciador e o alvo têm como propósito gerenciar a
interface SCSI. Existem três formatos de mensagens: de um byte, de dois bytes e
mensagens estendidas de três ou mais bytes. Alguns exemplos de mensagens são:
• Comando completado: enviada pelo alvo para o iniciador para indicar que a
execução do comando foi completada e que foi enviada uma informação de
estado válido para o iniciador.
• Desconexão: enviada pelo alvo para informar ao iniciador que a conexão atual
será interrompida, mas um restabelecimento da conexão será requisitado, mais
tarde, para completar a operação corrente.
34 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

• Detecção de erro pelo iniciador: enviada pelo iniciador para informar ao alvo
que ocorreu um erro, o que não impede que o alvo tente novamente a
operação.
• Aborto: enviada do iniciador para o alvo para cancelar a operação corrente.
• Transferência de dados síncrona: trocada entre o iniciador e o alvo para
estabelecer o modo de transferência de dados síncrona.

E. Comandos
O núcleo do protocolo SCSI é seu conjunto de comandos. Um comando é enviado
por um iniciador para requisitar alguma ação do alvo. O comando pode envolver a
obtenção de dados do alvo (leitura), o envio de dados para o alvo (escrita) ou alguma
outra ação específica de um periférico particular. Em todos os casos, a execução de
qualquer comando envolve alguns ou todos os seguintes passos:
• O alvo recebe e decodifica o comando.
• Dados são transferidos de e para o alvo (não ocorre em todos os comandos).
• O alvo gera informação de estado e retorna essa informação para o iniciador.

Um comando é enviado na forma de um bloco descritor de comando (BDC –


command descriptor block), preparado pelo iniciador. Uma vez estabelecida a conexão
entre um iniciador e um alvo, para iniciar a execução de um comando, o iniciador
transfere um BDC para o alvo por meio do barramento de dado.
A figura 16 mostra o formato geral do BDC, que é constituído dos seguintes campos:
• Código de operação: especifica um comando particular. O código de
operação determina também o restante do DBC.
• Número de unidade lógica: identifica um dispositivo, físico ou virtual,
conectado a um alvo. Os números de unidade lógica podem ser usados para
endereçar múltiplos dispositivos que compartilhem um mesmo controlador ou
para endereçar múltiplos volumes lógicos em um disco.
• Endereço de bloco lógico: no caso de operações de leitura ou escrita, o BDC
inclui o endereço lógico inicial da transferência de dados.
• Tamanho total da transferência: em operações de leitura ou de escrita, esse
campo especifica o número de blocos lógicos contíguos de dados a serem
transferidos.
• Tamanho da lista de parâmetros: especifica o número de bytes enviados
durante a fase de Saída de Dados. Esse campo é usado, tipicamente, para os
parâmetros enviados para um alvo.

35 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

• Tamanho da área alocada: especifica o número máximo de bytes alocados


pelo iniciador para os dados retornados.
• Controle: esse campo inclui os bits LINK e FLAG, que controlam o mecanismo
de ligação de comandos. Se o bit LINK estiver ativado, o comando corrente
não termina com a fase de Barramento Livre, mas inicia imediatamente a
execução do comando seguinte, iniciando uma nova fase de Comando. Se o
bit FLAG estiver ativado, o alvo envia a mensagem de Comando Ligado
Completado, caso o comando seja completado com sucesso, e retorna o
mesmo valor do bit FLAG do BDC. Tipicamente, o valor 1 no bit FLAG é usado
pelo iniciador para causar um interrupção no iniciador entre dois comandos
ligados.

Figura 16: Formato de bloco descritor de comando da SCSI

A especificação SCSI define uma ampla variedade de tipos de comandos. A maioria


é específica de um tipo particular de dispositivo. O padrão SCSI-2 inclui comandos para
os seguintes tipos de dispositivos:
• Dispositivos de acesso direto
• Dispositivos de acesso seqüencial
• Impressoras
• Processadores

36 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

• Dispositivos de escrita única


• CD-ROMs
• Scanners
• Dispositivos de memória óptica
• Dispositivos com troca de mídia
• Dispositivos de comunicação

Além disso, existe um grupo de 17 comandos que se aplicam a qualquer tipo de


dispositivo. Dentre esses, quatro são obrigatórios, e devem ser implementados por todos
os dispositivos:
• Interrogação: requisita que os parâmetros do alvo e dos dispositivos
periféricos a ele conectados sejam enviados para o iniciador.
• Requisição de estado: requisita ao alvo que transfira dados de estado para o
iniciador. Dados de estado incluem condições de erros, informações de
posicionamento e informação de estado lógico.
• Envio de diagnóstico: requisita ao alvo que efetue testes de diagnostico
sobre si próprio, sobre os dispositivos periféricos a ele conectados ou sobre
ambos.
• Teste de unidade pronta: possibilita verificar se uma unidade lógica está
pronta.

O repertório de comandos SCSI é a parte mais importante da especificação. Ele


apresenta uma forma padronizada para tratar os dispositivos periféricos mais comuns de
computadores pessoais e estações de trabalho, simplificando a tarefa de implementar
software de E/S no sistema hospedeiro.

Barramento Serial FireWire


Com as velocidades dos processadores atingindo mais de 100 MHz e os
dispositivos de armazenamento com capacidade de vários gigabits, as demandas por
E/S nos PCs, nas estações de trabalho e nos servidores são formidáveis. As tecnologias
de canal de E/S de alta velocidade desenvolvidas para sistemas de grande porte e
supercomputadores são ainda muito caras e volumosas para serem usadas nesses
sistemas menores. Por isso, há grande interesse em desenvolver uma alternativa para a
SCSI e outras interfaces de E/S de sistemas de pequeno porte, que possibilite a
transferência de dados em alta velocidade. Uma proposta é o padrão IEEE 1394, que
especifica um barramento serial de alto desempenho, conhecido como FireWire.

37 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

O FireWire apresenta diversas vantagens sobre a interface SCSI e outras


interfaces de E/S. Ele tem velocidade muito alta, baixo custo e é de fácil implementação.
Uma das vantagens da interface FireWire vem, principalmente, do fato de utilizar
transmissão serial (um bit de cada vez), e não paralela. Interfaces paralelas, tais como a
SCSI, requerem maior número de fios, o que leva a cabos mais caros e mais largos,
além de conectores mais caros e com maior número de pinos, sujeitos a entortar ou
quebrar. Um cabo com mais fios necessita também de uma blindagem para evitar
interferências elétricas entre os fios. A interface paralela requer ainda a sincronização
entre os fios, problema que se torna mais grave à medida que se utilizam cabos mais
longos.
Além disso, os computadores estão cada vez menores, apesar de terem maior
poder computacional e maior demanda por E/S. Computadores portáteis pequenos,
como os hand-helds e os palmtops, têm pequeno espaço para conectores, mesmo
necessitando de altas taxas de transferência de dados, para manipular imagens e vídeo.
A intenção do FireWire é fornece uma interface de E/S única, com um conector
simples que possa manipular grande número de dispositivos por meio de uma única
porta, de modo que os conectores para componentes como o mouse, a impressora a
laser, a SCSI, as unidades de discos externas, som e redes locais possam ser
substituídos por esse único conector.

A. Configurações FireWire
O FireWire usa uma configuração para conexão de dispositivos na forma de cadeia
circular, possibilitando a conexão de até 63 dispositivos a uma única porta. Além
disso, até 1022 barramentos FireWire podem ser conectados ente si, usando pontes,
o que possibilita ao sistema possuir tantos periféricos quantos forem necessários.
O FireWire fornece um tipo de conexão conhecido como hot plugging (conexão a
quente), que possibilita conectar ou desconectar periféricos sem desligar ou
reconfigurar o sistema de computação. Além disso, ele permite uma configuração
automática, não sendo necessário especificar manualmente os IDs de cada
dispositivo ou se preocupar com suas posições relativas. A figura 17 faz uma
comparação entre o FireWire e a SCSI. Na interface SCSI, as duas extremidades do
barramento devem ter terminadores e a configuração especifica um endereço distinto
para cada dispositivo. No FireWire, não existem terminadores e o sistema efetua a
configuração automaticamente, designando endereços aos dispositivos conectados.
Note também que um barramento FireWire não precisa ser configurado
rigorosamente na forma de uma cadeia circular. É também possível usar uma
configuração com uma estrutura de árvore.

38 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 17: Comparação entre configurações SCSI e FireWire

Uma importante característica do padrão FireWire é especificar um conjunto de


três camadas de protocolos, para padronizar o modo como o sistema hospedeiro
interage com os dispositivos periféricos, através do barramento serial. A figura 18
mostra essa pilha de protocolo. As três camadas dessa pilha são descritas a seguir:
• Camada física: define os meios de transmissão permitidos sob o FireWire e as
características elétricas e de sinalização de cada um.
• Camada de enlace: descreve a transmissão de dados em pacotes.
• Camada de transação: define um protocolo do tipo requisição-resposta, que
esconde os detalhes das camadas inferiores do FireWire das aplicações.

39 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 18: Pilha de protocolos FireWire

B. Camada Física
A camada física do FireWire especifica diversos meios de transmissão alternativos
e seus conectores, com diferentes propriedades físicas e de transmissão de dados.
Taxas de transferências de dados de 25 a 400 Mbps são definidas. A camada física
converte dados binários em sinais elétricos para diversos meios físicos. Ela oferece
também o serviço de arbitração do barramento, o que garante que apenas um
dispositivo transmitirá os dados de cada vez.
O FireWire permite duas formas de arbitração. A mais simples é baseada no
arranjo dos nós do barramento FireWire em estrutura de árvore, como mencionado
anteriormente. A forma de cadeia circular é um caso especial dessa estrutura de
árvore. A camada física contém circuitos lógicos que possibilitam que todos os
dispositivos conectados configurem a si próprio, de modo que um deles seja
designado como a raiz da árvore e os demais sejam organizados em uma relação
pai/filho, formando a topologia da árvore. Uma vez estabelecida essa configuração, o
nó raiz da árvore age como um árbitro central, processando as requisições de acesso
ao barramento, em uma estratégia baseada na ordem de chegada. No caso de
requisições simultâneas, o acesso é cedido ao nó de prioridade mais alta. As
prioridades são estabelecidas atribuindo as mais altas aos nós que estão mais

40 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

próximos da raiz e, entre os nós localizados à mesma distância da raiz, o de


prioridade mais alta é aquele cujo número de ID é menor.
Esse método de arbitração é suplementado por duas funções adicionais:
arbitração imparcial e arbitração urgente. Na arbitração imparcial, o tempo do
barramento é dividido em intervalos imparciais. No início de um intervalo, cada nó
ativa um sinal de habilitação de arbitração. Durante esse intervalo, cada nó pode
competir pelo acesso ao barramento. Uma vez que um nó obtenha acesso ao
barramento, ele desativa seu sinal de habilitação de barramento e não pode competir
novamente por um acesso imparcial nesse intervalo. Esse esquema torna a
arbitração mais imparcial, evitando que um ou mais dispositivos de alta prioridade
monopolizem o barramento.
Além do esquema de arbitração imparcial, alguns dispositivos podem ser
configurados com prioridade urgente. Esses nós podem obter várias vezes o controle
do barramento durante um intervalo imparcial. Em essência, é usado um contador em
cada nó de alta prioridade, que possibilita a esses nós de alta prioridade controlar
75% do tempo disponível do barramento. Para cada pacote transmitido como não-
urgente, três podem ser transmitidos como urgentes.

C. Camada de Enlace
A camada de enlace define a transmissão de dados na forma de pacotes. Ela
possibilita dois tipos de transmissão:
• Assíncrona: uma quantidade variável de dados e diversos bytes de
informação da camada de transação são transferidos, sob a forma de um
pacote, para um endereço específico, e um pacote de reconhecimento (ACK) é
retornado.
• Isócrona: uma quantidade variável de dados é transferida em uma seqüência
de pacotes de tamanho fixo, transmitidos a intervalos regulares. Esse meio de
transmissão usa um endereçamento simplificado e não necessita de
reconhecimento.
A transmissão assíncrona é usada para dados que necessitam de uma taxa de
transferência fixa. Tanto o esquema de arbitração imparcial quanto o de arbitração
urgente podem ser usados para esse tipo de transmissão. O método-padrão é a
arbitração imparcial. Um dispositivo que necessita usar uma fração substancial do
tempo do barramento ou que tenha restrições severas de tempo sobre a latência
deve adotar o método de arbitração urgente. Por exemplo, um nó de alta velocidade,
destinado à coleta de dados de tempo real, pode usar a arbitração urgente, quando
suas áreas de armazenamento temporário de dados críticos estiverem mais da
metade ocupadas.
41 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

A figura 19a apresenta uma transação assíncrona típica. O processo de entrega de


um único pacote é conhecido como subação. Uma subação é constituída de cinco
períodos de tempo:
• Seqüência de arbitração: é a troca de sinais necessária para determinar o
dispositivo que obterá o controle do barramento.
• Transmissão de pacote: cada pacote inclui um cabeçalho, que contém os IDs
dos nós fonte e destino. O cabeçalho também contém informação sobre o tipo
do pacote, um código CRC de verificação de erros e parâmetros específicos do
tipo de pacotes. Um pacote pode também incluir um bloco de dados,
constituído de dados do usuário e de outro CRC.
• Intervalo de reconhecimento: é o tempo de retardo para que o destino
receba e decodifique um pacote e envie outro de reconhecimento (ACK).
• Reconhecimento: o dispositivo que recebeu o pacote retorna outro de
reconhecimento com um código que indica a ação que foi tomada.
• Intervalo entre subações: é um período ocioso obrigatório para assegurar
que outros nós conectados ao barramento não iniciem uma arbitração, antes
de o pacote de reconhecimento ter sido transmitido.
No instante em que o pacote de reconhecimento é enviado, o nó emitente do
pacote detém o controle do barramento. Por isso, se a troca de pacotes é uma interação
de requisição/resposta entre os dois nós, o respondedor pode imediatamente transmitir o
pacote de resposta sem que haja uma seqüência de arbitração (Figura 19b).
Para dispositivos que geram ou consomem dados regularmente, tais como
dispositivos de som ou vídeo digital, é usado o acesso isócrono. Esse método garante
que os dados sejam transmitidos dentro de um intervalo de latência especificado, com
uma taxa garantida de transferência de dados.
Para acomodar uma carga de tráfego composta de fontes de dados assíncronas e
isócronas, um dos nós é designado como mestre do ciclo. Periodicamente, o mestre do
ciclo envia um pacote de início de ciclo, que sinaliza o início de um ciclo isócrono para
os demais nós. Durante esse ciclo, apenas pacotes isócronos podem ser enviados
(Figura 19c). Cada fonte de dados isócrona compete pelo controle do barramento. O nó
que obtém o acesso transmite imediatamente um pacote. Como não é requerido
reconhecimento desse pacote, logo depois que um pacote isócrono é transmitido, outras
fontes de dados isócronas competem pelo controle do barramento. Como resultado,
existe um pequeno intervalo entre a transmissão de um pacote e o período de arbitração
para envio do próximo pacote, ditado por atrasos no barramento. Esse atraso, conhecido
como intervalo isócrono, é menor que o atraso entre subações.

42 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 19: Subações no FireWire

Depois que todas as fontes isócronas são transmitidas, o barramento permanece


ocioso tempo suficiente para que aconteça um intervalo entre subações. Esse é o sinal
para que as fontes assíncronas possam agora competir pelo controle do barramento. As
fontes assíncronas podem então usar o barramento até o início do próximo ciclo
isócrono.
Pacotes isócronos são rotulados com números de canal de 8 bits, previamente
estabelecidos por meio de um diálogo entre os dois nós que estão para iniciar a troca de
dados isócrona. O cabeçalho, que é menor que o de um pacote assíncrono, inclui
também um campo de tamanho dos dados e um CRC do cabeçalho.

8. DISPOSITIVOS DE ENTRADA E SAÍDA

Monitores de Vídeo
O monitor tem uma importância vital, pois, em conjunto com a placa de vídeo,
forma o principal meio de comunicação entre o computador e o usuário. Os fatores que
diferenciam os inúmeros modelos de monitores são: o tamanho da tela, o dot pitch
(distância dos pontos que compõe a tela), as resoluções suportadas e a taxa
(freqüência) de atualização da imagem.
O tamanho da tela é dado pela medida, em polegadas, da diagonal da tela. Os
tamanhos mais comuns são de 14 e 15 polegadas; para trabalhar com aplicativos

43 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

gráficos é comum o uso monitor de 17 polegadas. Além do tamanho, os monitores


maiores geralmente suportam resoluções maiores e maiores taxas de atualização.
O dot pitch é a distância dos pontos que compõem a tela. Se você pegar uma lupa
e examinar a tela de um monitor verá que a imagem é formada por um conjunto de
pontos compostos, ou seja, cada ponto composto é formado por três pontos um verde,
um azul e um vermelhos. O mais comum são monitores com dot pitch de 0,29
milímetros. Alguns monitores, mais recentes, utilizam distâncias menores, de 0,22 mm
ou 0,19mm, que garante uma imagem de melhor qualidade.
A resolução define a quantidade de pontos que serão apresentados na tela. É
dada pelo número de coluna versus o número de linhas, ou seja, quando dizemos que
estamos trabalhando com uma resolução de 320 x 200 significa que temos 320 colunas
por 200 linha de pontos na tela. Quanto maior a resolução, mais refinada será a imagem
apresentada. As resoluções de uso mais comum são de 800 x 600 (comum para
monitores de 14 polegadas) e de 1024 x 768 (comum para monitores maiores).
A última característica, e talvez a mais importante, é a taxa (freqüência) de
atualização da imagem, ou refresh rate. Num monitor CRT (tubo de raios catódico,
também conhecido como tubo de imagem, tecnologia semelhante à utilizada nas
televisões) um feixe de elétrons bombardeia continuamente a tela para formar uma
imagem. A quantidade de vezes por segundo que este feixe atualiza a imagem é
chamada de taxa de atualização. Um bom monitor, deve ser capaz de atualizar a
imagem pelo menos 75 vezes por segundo (75Hz). Alguns monitores de menor
qualidade suportam uma taxa de atualização inferior à 60 Hz (60 vezes por segundo) o
que causa uma cintilação da imagem, chamada de flicker, que é desconfortável e
prejudicial para os olhos.
O flicker ocorre devido à perda de luminosidade das células de fósforo do monitor.
Usando uma taxa de atualização inferior à 60Hz o tempo que o feixe de elétrons demora
para passar é muito longo fazendo com que células de fósforo percam boa parte do seu
brilho e sejam reacendidas bruscamente na próxima passagem do feixe de elétrons. Isto
faz com que elas pisquem tornando instável a imagem.
Uma forma de reduzir o flicker é diminuir o brilho do monitor; o ideal é usar a tela o
mais escura possível, dentro do que for confortável. Uma dica é deixar o controle de
brilho no mínimo e ajustar apenas pelo contraste. Quanto maior for a taxa de atualização
e quanto menor for a claridade da imagem menor será o flicker e menor será o cansaço
dos olhos.

44 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 20: Esquema de um monitor CRT mostrando o canhão que bombardeia a


camada de fósforo para formar uma imagem.

A taxa de atualização do monitor também depende da resolução utilizada. Nos


monitores CRT a imagem é atualizada linha a linha, de cima para baixo. A quantidade de
linhas que o monitor é capaz de varrer por segundo é chamada de freqüência horizontal,
medida em KHz. Os monitores de 14 polegadas geralmente têm uma freqüência
horizontal de 49 KHz, ou seja, são capazes de atualizar 49.000 linhas por segundo. Isto
é suficiente quando usamos uma resolução de 640 x 480, ou mesmo 800x600.
Mas, por quê de 75 Hz se 49.000 linhas por segundo dividido por 600 linhas
(resolução 800 x 600) dá como resultado uma taxa de atualização de 81,6 Hz? A
resposta esta ligada com a existência de uma característica chamada de retraço vertical
e horizontal que corresponde ao tempo que o feixe de elétrons, quando chega ao final
de uma linha (retraço horizontal) ou ao final da última linha da tela (retraço horizontal e
vertical), demora para retornar ao ponto de início e reiniciar a varredura da tela.

Figura 21: O caminho percorrido pelo feixe de elétrons cada vez que a imagem é
atualizada no monitor. As linhas na diagonal e na vertical representam o tempo perdido
com o retraço.

O tempo perdido com o retraço varia de monitor para monitor, mas, geralmente,
consome cerca de 5% do tempo total. Apesar dos monitores menores suportarem a
resolução de 1024x768 esta não é recomendável, pois o monitor não seria capaz de
manter uma taxa de atualização de maior que 60Hz, gerando flicker. Monitores maiores
possuem valores maiores de freqüência horizontal, alguns superior à 135 KHz, o que
nos proporciona uma boa taxa de atualização mesmo com resoluções mais elevadas.
45 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

A. Monitores LCD
Os monitores LCD (Liquid Cristal Display ou monitores de cristal líquido) vêm, há
várias décadas, sendo usados em computadores portáteis. Atualmente está
ocorrendo uma relativa popularização desta tecnologia também no mercado de
computadores de mesa, apesar da procura ainda ser pequena devido ao alto preço.
Os monitores LCD trazem várias vantagens sobre os monitores CRT, a primeira é
o tamanho. Os monitores de cristal líquido são mais finos, outra vantagem é o fato de
possuírem uma tela realmente plana o que elimina distorções causadas pelas curvas
dos monitores CRT e aumenta a área útil do monitor, já que não existem espaços
desperdiçados nos cantos. Eles gastam menos eletricidade, enquanto um monitor
tradicional de 14 polegadas consome cerca de 90 W (um de 17 polegadas cerca de
110 W) um LCD dificilmente ultrapassa 40W. Outra importante vantagem é que estes
monitores emitem uma quantidade muito menor de radiação nociva (praticamente
nenhuma em alguns modelos) o que os torna especialmente atraentes para quem fica
muito tempo em frente ao monitor.
Finalmente, nos monitores de cristal líquido não existe flicker pois, ao invés da
imagem ser formada pela ação do feixe de elétrons como nos monitores CRT, cada
ponto da tela atua como uma pequena lâmpada que muda sua tonalidade para formar
a imagem.
Os monitores LCD também têm suas desvantagens: a área de visão é mais
limitada, o contraste é mais baixo e as resoluções permitidas são bem mais limitadas.
Enquanto nos monitores tradicionais podemos ver a imagem exibida praticamente
de qualquer ângulo nos LCD o ângulo de visão é limitado a apenas 90º (45º para a
esquerda e 45º para a direita). Acima disso, a imagem aparece com as cores
distorcidas ou mesmo desaparecerá.
O contraste da imagem é bem mais baixo. Enquanto num monitor convencional
temos normalmente um contraste de 500:1, ou seja, uma variação de 500 vezes na
emissão de luz do branco para o preto. Nos monitores de cristal líquido o contraste
varia entre 250:1 à 300:1, o que prejudica a qualidade da imagem e, principalmente, a
fidelidade das cores.
Temos também a limitação quanto às resoluções suportadas. Nos monitores CRT
temos à disposição várias resoluções que vão desde 320 x 200 até 1600 x 1200,
passando por várias resoluções intermediárias, sendo que em todas as resoluções
temos uma imagem sem distorções. Os monitores de cristal líquido são bem mais
limitados neste aspecto, pois cada ponto da imagem é fisicamente representado por
um conjunto de 3 pontos (verde, vermelho e azul). Num monitor LCD com resolução
de 1024 x 768 por exemplo tempos 3072 pontos horizontais e 768 verticais, sendo

46 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

que cada conjunto de 3 pontos forma um ponto da imagem. Como não é possível
alterar a disposição física dos pontos, temos a resolução máxima limitada ao número
de pontos que compões a tela. Podemos até usar resoluções menores, usando mais
de um ponto da tela para representar cada ponto da imagem, recurso chamado de
fator escala.
Se por exemplo a resolução máxima do LCD é de 640 x 480, e é preciso exibir
uma tela DOS, que usa resolução de 320 x 240, serão usados 4 pontos da tela para
representar cada ponto da imagem. Neste caso o fator escala será 2 (2 x 2 ao invés
de um único ponto) como temos um número inteiro não há distorção na imagem. Se
por outro lado a resolução do LCD é de 1024x 768 e é preciso exibir 800x 600,
teremos um fator escala de 1,28, resultando em distorção da imagem.
Apesar de não deixarem tanto a desejar em termos de qualidade de imagem, e
possuírem algumas vantagens interessantes, os monitores LCD ainda são
extremamente caros. Mesmo no exterior, os modelos mais baratos superam a marca
dos 700 dólares, sendo utilizáveis apenas em ambientes onde suas vantagens
compensam o preço bem mais alto.
Como funciona o LCD. Nos monitores convencionais temos um tubo de raios
catódicos que constantemente bombardeia as células luminosas da tela formando a
imagem. No monitor LCD é usada uma tecnologia diferente, que consiste no uso de
cristais líquidos para formar a imagem.
Os cristais líquidos são substâncias que tem sua estrutura molecular alterada
quando recebem corrente elétrica. Em seu estado normal estas substâncias são
transparentes mas, ao receberem uma carga elétrica, tornam-se opacas impedindo a
passagem da luz. Nos visores de cristal líquido mais primitivos, como os dos relógios
de pulso, temos apenas dois estados, transparente e opaco, ou seja, ou o ponto está
aceso ou está apagado. Nos visores mais sofisticados, como os usados em
notebooks, temos também estados intermediários que formam as tonalidades de
cinza ou as cores. Estes tons intermediários são obtidos usando-se tensões
diferentes.
Para formar a tela de um monitor LCD uma fina camada de cristal líquido é
colocada entre duas finas camadas de vidro. Estas finas placas de vidro possuem
pequenos sulcos, isolados entre si, cada um com um eletrodo ligado a um transistor.
Cada um destes sulcos representa um dos pontos da imagem. Este sanduíche por
sua vez é colocado entre duas camadas de um elemento polarizador. Atrás desta tela
é instalada uma fonte de luz, geralmente composta de lâmpadas fluorescentes
(usadas por gerarem pouco calor) ou então LEDs, responsáveis pela iluminação da
tela.

47 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 22: Esquema de um monitor LCD.

B. Placas de Vídeo
A função da placa de vídeo é preparar as imagens que serão exibidas no monitor.
Já foram criadas placas de vídeo para praticamente todos os tipos de barramento, do
ISA ao AGP passando pelo MCA, EISA, VLB e PCI. Atualmente existem apenas
placas de vídeo para os barramentos PCI e AGP, com predominância das placas de
vídeo para o barramento AGP que utilizam um barramento mais rápido, incorporam
mais recursos e têm melhor desempenho.

- Padrões de Vídeo:
• MDA (Monocrome Display Adapter): é o padrão de vídeo mais primitivo;
limitado à exibição de textos com uma resolução de 25 linhas por 80 colunas;
não suportava a exibição de mais de duas cores.
• CGA (Color Graphics Adapter): permitia trabalhar com gráficos numa
resolução de 320 x 200; possui uma palheta de 16 cores e apenas 4 cores
podem ser exibidas ao mesmo tempo. O CGA também pode trabalhar com
resolução de 640 x 200, mas neste caso exibindo apenas textos no modo
monocromático, como o MDA.
Apesar de serem extremamente antiquados os padrões MDA e CGA atendiam
bem aos primeiros PC que, devido aos seus limitados recursos de processamento,
eram, basicamente, restritos a interfaces texto.
• EGA (Enhanced Graphics Adapter): para equipar o PC AT, lançado em 84, a
IBM desenvolveu um novo padrão de vídeo batizado de EGA. Este novo
padrão suporta a exibição de gráficos com resolução até 640 x 350, permite a
exibição de até 16 cores simultâneas que podem ser escolhidas em uma
palheta de 64 cores e mantinha total compatibilidade com o padrão CGA.
• VGA (Video Graphics Adapter): representa uma grande evolução sobre os
padrões de vídeo mais antigos, suportando resolução até 640 x 480, exibindo
48 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

256 cores simultâneas que podem ser escolhidas em uma palheta de 262.000
cores. Foi aperfeiçoado para trabalhar com a resolução de 800 x 600 com 16
cores simultâneas e manteve compatibilidade com os padrões de vídeo GCA e
EGA.
A IBM também desenvolveu outros 3 padrões de vídeo, chamados de MCGA, XGA
e PGA, que apresentavam algumas melhorias sobre o VGA mas que não
obtiveram aceitação por serem arquiteturas fechadas.
• Super VGA: uma evolução do padrão VGA; o SVGA é o padrão atual. Capaz
de exibir 24 bits de cor (16.777.216 cores), o suficiente para que o olho
humano não consiga perceber diferença nas cores de uma imagem exibida no
monitor (equivalente a uma foto colorida). Justamente por isso, as placas de
vídeo SVGA também chamadas de true-color ou cores reais.
A Video Eletronics Standards Association, associação dos principais fabricantes de
placas de vídeo e responsável pela criação do barramento VLB, criou o padrão
VESA para monitores e placas de vídeo que estabelece os parâmetros para
suporte aos diferentes modos de vídeo que as placas de vídeo SVGA podem
suportar. O padrão VESA 1 estabeleceu o suporte para vários modos de vídeo,
desde 320 x 200 com 32 mil cores até 1280 x 1024 com 16 milhões de cores. Os
padrões VESA 2 e VESA 3 (atual) implementaram novos modos de vídeo com
suporte a resoluções de 320 x 200 até 1600 x 1200.
O modo de vídeo pode ser alterado a qualquer momento pelo sistema operacional
bastando que seja enviado para a placa de vídeo o código correspondente ao novo
modo de exibição.

- Placas 2D x Placas 3D; entendendo as diferenças


As placas de vídeo mais antigas, conhecidas como placas 2D, simplesmente
recebem e enviam imagens para o monitor, o processador é quem faz todo o
trabalho necessário para gerar a imagem. Este sistema funciona com gráficos em
duas dimensões, usados pelos aplicativos de escritório ou para o acesso de
navegação na Internet, pois este tipo de imagem demanda pouco processamento
para ser gerada.
As placas 2D foram usadas, sem maiores implicações, durante mais de uma
década. Com a evolução dos jogos, que passaram a fazer uso intensivo de
imagens 3D, e dos aplicativos para manipulação de gráficos tridimensionais surge
a necessidade de auxiliar o processador na tarefa de geração das imagens. As
placas de vídeo 3D surgiram para executar esta função: auxiliar o processador na
criação e na exibição de imagens tridimensionais.

49 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Apesar do processador ser capaz de criar imagens tridimensionais trabalhando


sozinho ele não é capaz de gerar imagens de qualidade com grande velocidade,
como as demandadas por jogos. Tais imagens exigem muito processamento e o
processador tem que, ao mesmo tempo, executar várias outras tarefas
relacionadas com o aplicativo. As placas 3D, também conhecidas como placas
aceleradoras 3D, possuem processadores dedicados cuja função é, unicamente,
processar imagens com alta velocidade deixando o processador livre para
executar outras tarefas.
Atualmente, gráficos tridimensionais são cada vez mais utilizados tanto em
aplicações profissionais (animações, efeitos especiais, criação de imagens, etc.)
quanto em aplicações de entretenimento (jogos).
Uma imagem em três dimensões é formada por milhares polígonos, formas
geométricas como triângulos, retângulos, círculos etc. Quanto maior a quantidade
de polígonos, maior é o nível de detalhes da imagem. Cada polígono uma posição,
um tamanho e uma cor específica. Para tornar a imagem mais real são aplicadas
texturas sobre o polígonos. Uma textura é uma imagem 2D comum (qualquer
uma). O uso de texturas permite que um muro virtual tenha o aspecto de um muro
de pedras real através da aplicação da imagem de um muro real sobre os
polígonos. O uso das texturas não está limitado apenas as superfícies planas. É
possível moldar uma textura sobre uma superfície de qualquer forma.

Figura 23: Exemplo de aplicação de texturas. À esquerda tempos a imagem


formada somente por polígonos. À direita temos a mesma imagem com a aplicação
de texturas.

Assim como o processador, as placas de vídeo também necessitam de memória


para armazenar as imagens que estão sendo criadas. Numa placa de vídeo 2D a
quantidade de memória, presente na própria placa, não interfere no seu

50 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

desempenho, apenas determina quais as resoluções e a quantidade de cores que


serão suportadas.
Uma placa de vídeo 2D com 1 MB de memória, é capaz de exibir 16 milhões de
cores (24 bits) numa resolução de 640x480 ou 65 mil cores (16 bits) em 800x600;
com 2 MB, é capaz de exibir 16 milhões de cores em 800x600; com 4 MB é capaz
de exibir 16 milhões de cores em 1280x1024. Estes são valores usuais.
Quando tratamos de imagens 3D existem grandes diferenças. Ao processar uma
imagem 3D a placa de vídeo 3D usa a memória de vídeo (existente na própria
placa ou compartilhada com a memória principal, no caso das placas-mãe com
vídeo on-board) para armazenar a imagem que será exibida no monitor e,
principalmente, para armazenar as texturas que são usadas.
Assim, numa placa de vídeo 3D a quantidade de memória de vídeo não determina
apenas as resoluções de vídeo que poderão ser usadas mas influencia
diretamente no desempenho da placa. O motivo é simples: se as texturas a serem
usadas não couberem na memória de vídeo elas terão que ser armazenadas na
memória principal do computador e lidas através do barramento AGP. Isto acarreta
degradação de desempenho, pois demora muito mais tempo para ler uma textura
armazenada na memória principal do que para ler as mesmas informações
armazenadas na memória de vídeo da placa 3D.
As principais diferenças entre uma placa 3D lenta e outra rápida são: a qualidade
da imagem, que inclui as resoluções possíveis, o número de cores, os efeitos 3D
disponíveis e o frame rate, o número de quadros gerados por segundo. Quanto
mais quadros a placa for capaz de gerar por segundo, mais perfeita é
movimentação da imagem. Para que não seja possível perceber qualquer falha na
fluidez da imagem são necessários, pelo menos, 30 quadros por segundo. A
imagem da TV é exibida em 24 quadros, os filmes de desenhos animados variam
entre 16 e 24 quadros. Numa aplicação gráfica de animação, com menos de 30
quadros por segundo, começarão a aparecer saltos nas imagens.
Quanto maior for a resolução de vídeo usada, o número de cores e a quantidade
de efeitos aplicados, maior será o trabalho que a placa de vídeo terá para gerar
cada quadro e, conseqüentemente, mais baixo será o frame rate e mais precária a
movimentação da animação. Existe uma relação inversamente proporcional entre
as duas coisas.

- Recursos das placas de vídeo 3D - Efeitos Básicos


Além de desenhar os polígonos e aplicar, sobre eles, as texturas e as cores as
placas de vídeo 3D também são capazes de gerar vários efeitos vitais para gerar
imagens de boa qualidade. Alguns destes efeitos podem ser feitos através de

51 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

aplicativos e aplicados pelo processador principal, na falta de uma placa


aceleradora, mas com uma velocidade muito baixa.
Parece não existir limite para a imaginação dos desenvolvedores da indústria 3D. A
cada dia são desenvolvidos novos efeitos e os existentes são aperfeiçoados na
constante procura por imagens mais perfeitas.
Todas as placas de vídeo 3D atuais, mesmo as mais simples, são capazes de
aplicar todos estes recursos básicos, apenas as placas muito antigas não possuem
estas capacidades.
Em alguns jogos existe a possibilidade de desabilitar alguns destes recursos para
melhorar o frame rate sacrificando a qualidade das imagens.

- Gourad Shadding
Uma imagem tridimensional é formada por uma série de pequenos polígonos. O
toróide da foto abaixo é formada pela combinação de vários triângulos e retângulos
menores. Devido à incidência da luz, gerada por uma fonte de luz, o toróide não é
todo da mesma cor. Se a luz vier de cima, a parte superior é formada por tons
mais claros do que a parte inferior. Se cada polígono possuir apenas uma cor
poderemos ver, claramente, suas imperfeições.

O recurso de Gourad Shadding corrige este problema. A partir de uma única cor é
feito uma espécie de degrade que vai de um vértice ao outro de cada polígono
tornando a coloração da imagem mais próxima do real. Este efeito é usado,
principalmente, para simular superfícies plásticas ou metálicas.
Algumas das primeiras placas de vídeo 3D (com mais de 4 anos) não suportam
este recurso e usam um outro efeito, mais simples, chamado de Flat Shadding.
Este efeito exige que cada polígono tenha uma única cor sólida resultando em uma
imagem de baixa qualidade onde os contornos dos polígonos são visíveis.

- Clipping
Numa imagem tridimensional um objeto pode ocupar qualquer lugar no espaço,
inclusive ficar na frente de outro objeto. Quando é feita a conversão para exibição
no monitor é preciso determinar quais objetos estarão visíveis (a partir do ponto de
vista do observador) e quais devem ser ocultados. Este recurso também é
chamado de Hidden Surface Removal. Na imagem abaixo temos vários objetos

52 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

sobrepostos: as caixas estão cobrindo parte da parede, a arma está cobrindo parte
do piso e das caixas, etc.

- Z-Sorting
Este recurso é opcional. Tem a mesma função do recurso Clipping, ou seja,
eliminar as partes encobertas da imagem na hora de fazer a conversão para enviar
a imagem ao monitor. A diferença é como os dois processos são realizados.
No Clipping, primeiro são determinados os polígonos visíveis e depois apenas os
que devem ser mostrados são preparados para exibição. Isso economiza
processamento já que menos objetos precisam ser preparados.
O Z-Sorting prepara todos os polígonos (visíveis ou não) para exibição porém
começando com os que estão mais afastados do ponto de vista do observador.
Conforme a imagem é preparada, os objetos que estão mais a frente naturalmente
vão cobrindo os que estão atrás. O resultado final é idêntico porém temos menor
uso do processador pois ele é dispensado de determinar as partes visíveis da
imagem. Por outro lado, a placa de vídeo é mais exigida, pois, tem que texturizar
mais objetos.

- Lighting
Para uma imagem ser perfeita é preciso determinar a intensidade luminosa, ou
seja, a visibilidade que cada objeto tem conforme a distância e o ângulo do foco de
luz. Ao ser processada a imagem, fica a cargo da placa 3D aplicar o recurso de
Lighting calculando os efeitos dos focos de luz.

Na figura abaixo notamos que as partes da parede que estão mais próximas das
luzes aparecem mais claras do que as laterais e o piso.

53 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

- Transparência
Muitos objetos, como a água ou o vidro, são transparentes. Este recurso, também
chamado de Alpha Blending, permite a representação destes objetos numa
imagem 3D. O recurso de transparência consome muito processamento, pois é
necessário misturar as e as texturas cores de dois, ou mais, objetos. Naturalmente,
as placas 3D com mais poder de processamento são as que se saem melhor ao
aplicar este recurso.
Na ilustração abaixo, temos o recurso de Transparência aplicado com diferentes
tonalidades. Note que podemos enxergar claramente os prédios através das
cápsulas.

- Texture Mapping

54 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Esta é um dos efeitos 3D mais simples. Sobre os polígonos que compõe a


imagem, são aplicadas texturas que tem cada uma sua posição exata na imagem.
Este recurso consiste em esticar as texturas que estão mais próximas do ponto de
vista do observador e encolher as mais distantes mantendo inalterada a posição
de cada textura na imagem. O problema deste efeito é que no objeto mais próximo
a textura será esticada.

- Texture Filtering
O uso do recurso de Texture Mapping cria imagem de baixa qualidade onde as
texturas mais próximas aparecem como enormes quadrados, tornando a imagem
pouco real. Para contornar este problema existe o efeito de texture filtering
(filtragem de texturas) que consiste em interpolar os pontos das texturas que estão
mais próximas diminuindo a distorção.
Note que este recurso serve apenas para evitar a granulação da imagem. O nível
de detalhes continua o mesmo, como pode ser observado nas ilustrações abaixo.

Imagem com o recurso de texture filtering desativado.

55 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Imagem com o recurso de texture filtering ativado.

- Fogging
Se você olhar uma montanha que está bem distante perceberá que ela parece
coberta por uma espécie de neblina, que surge devido à umidade do ar, e distorce
a imagem tornando-a pouco nítida. O efeito de Fogging destina-se a proporcionar
este mesmo recurso em imagens 3D. Isso aumenta o realismo da imagem e
diminui o processamento necessário pois as imagens que estarão cobertas por
essa “neblina virtual” podem ser mostradas em uma resolução mais baixa.

- Correção de Perspectiva
Através dele as texturas são moldadas sobre os polígonos respeitando o ângulo de
visão. Lembra um pouco o efeito de texture mapping mas é muito mais avançado
pois permite que as texturas sejam moldadas a objetos de formas irregulares.
Permite imagens extremamente reais mas é um dos que demandam mais
processamento.

+ =

C. Modem
Nada mais intuitivo do que usar as linhas telefônicas, largamente disponíveis, para
realizar a comunicação entre computadores. Porém, usando linhas telefônicas
comuns enfrentamos um problema: os computadores trabalham com sinais digitais,
neles qualquer informação é armazenada e processada na forma de 0 ou 1, e as
linhas telefônicas comuns são analógicas, adequadas para a transmissão de voz mas
não para a transmissão de dados.
Para permitir a comunicação entre computadores, utilizando linhas telefônicas
comuns, foi criado o modem. A sigla Modem é uma contração das palavras
modulador e demodulador. São aparelhos capazes de transformar sinais digitais em
sinais analógicos, que são transmitidos pela linha telefônica, e, em seguida,

56 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

transformar sinais analógicos em sinais digitais. Desta forma, modems são sempre
usados aos pares, um em cada extremidade do caminho de transmissão.
O modem (modulador/demodulador) é uma invenção antiga, mas ainda
fundamental para comunicação entre computadores. O interessante é que há uns
cinco anos atrás apenas uma pequena porção dos computadores de uso pessoal
tinham um modem. A consolidação da Internet e a explosão de transações pela rede
provocou o surgimento de um enorme mercado para os modems.

- Hardmodems x Softmodems
Existem dois tipos de modems que, apesar de terem a mesma função, operam de
maneira diferente. Existem modems que possuem todos os componentes
necessários ao seu funcionamento, restando ao processador do computador
apenas a tarefa de dizer-lhe o que fazer. Estes modems “completos” são
chamados de Hardmodems. Também existem alguns modems que operam via
software, chamados de Winmodems ou Softmodems, e que não possuem alguns
dos componentes dos modems "completos" (Hardmodems). Como não possuem
muitos componentes, estes modems (Softmodems) são muito mais baratos.
Para que os Softmodems funcionem é obrigatória a instalação de um programa,
fornecido pelo seu fabricante, que é um emulador (programa que imita um sistema
valendo-se de um outro sistema distinto) que faz com que o processador do
computador execute as funções que normalmente seriam executadas pelo próprio
modem.
Como é de se esperar, o computador fica mais lento do que o normal enquanto o
Softmodem estiver sendo usado, pois, além de suas funções normais, o
processador acumulará as funções de controle do modem. Este tipo de modem
costuma ser muito mais sensíveis à linhas telefônicas ruidosas, ou de baixa
qualidade, onde apresentam um desempenho bem inferior ao dos Hardmodems.
Apenas observando o “jeitão” do modem, vendo o seu número de componentes, é
possível perceber se ele é um Hardmodem ou se ele é um Softmodem, pois estes
são muito mais simples. Mas se mesmo assim restarem dúvidas, verifique a caixa
e o manual de instruções; se estiver especificado que o modem só funciona no
Windows 9x, e outros, com certeza trata-se de um Softmodem. Outro indicativo é a
necessidade de instalar algum programa para que o modem funcione. Um modem
tradicional só precisa que seja instalado um arquivo .INF (um arquivo de texto com
as configurações e especificações do modem) para funcionar.

- Cuidados no uso dos modems


Qualquer um que utilize a Internet a bastante tempo, já deve ter perdido pelo
menos um, ou dois, modems durante alguma tempestade. Estes acidentes são

57 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

extremamente comuns. As linhas telefônicas, por serem metálicas, funcionam


como pára-raios e não oferecem uma proteção contra descargas tão eficiente
quanto a da rede elétrica (que também não é muito confiável). Os modems são
componentes frágeis que facilmente queimam ao receber uma descarga elétrica.
Se a descarga elétrica for fraca, apenas o Relay (componente do modem
responsável por "pegar" a linha) será queimado. Neste caso, o modem continuará
sendo reconhecido pelo sistema operacional porém, ao discar, ele indicará que
não existe tom de discagem (como se o modem estivesse desconectado da linha
telefônica).
Se o modem receber uma descarga elétrica mais forte, além do Relay, serão
queimados, nesta ordem: o transformador (caso o modem tenha um) e o Mov
(componente que atua como um fusível servindo como uma proteção adicional
contra surtos de voltagem). Se a descarga elétrica atingir o DSP (processador que
coordena o funcionamento do modem) o modem não será reconhecido pelo
sistema operacional. Nestes casos não existe conserto.
Na foto abaixo podemos localizar os principais componentes de um modem. Trata-
se de um Hardmodem, ou seja, um modem completo. Num Softmodem a UART, o
Buffer, o DSP, o CODEC e a memória Flash são substituídos por um único chip,
chamado DAA, que atua como uma interface entre a linha telefônica e o
processador do computador que é quem fará o trabalho dos demais componentes.

Figura 24: Componentes de um Hardmodem:

UART circuito que coordena o fluxo de dados através da porta


serial

58 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Buffer armazena os dados recebidos


DSP processador que coordena o funcionamento do modem
CODEC transforma sinais digitais em sinais analógicos e vice-versa
memória armazena o firmware do modem
Flash
Relay conecta o modem com a linha telefônica
Transforma isola o modem da linha telefônica
dor
MOV atua como um fusível de proteção adicional
Speaker emite os sons que o modem faz ao conectar
Capacitores evitam que falhas de eletricidade atrapalhem o
funcionamento do modem

Obs: Firmware - Conjunto de instruções essenciais para o funcionamento de


um dispositivo armazenado em um chip de memória ROM, ou memória
Flash, no próprio dispositivo.

- Acesso rápido
Os modems tiveram um papel essencial no desenvolvimento e na popularização
da Internet já que são aparelhos relativamente baratos que permitem a qualquer
um, que tenha um computador e uma linha telefônica, acessar à Internet pagando
apenas o custo de uma ligação local.
Os modems são lentos, comparados com outras formas de acesso, e não
permitem que se fique conectado muito tempo, devido ao valor das tarifas
telefônicas e ao fato da linha telefônica ficar ocupada. Somados os impostos, uma
hora conectado à Internet em horário comercial custa cerca de R$ 1,70, apenas
em tarifas telefônicas. Acesse três horas por dia, 5 dias por semana, e aumentará
em cerca de R$ 100,00 a sua conta telefônica (valores estimados). Sempre existe
a opção de acessar à Internet durante a madrugada, quando é cobrado apenas um
pulso por ligação independente do tempo, mas as olheiras começam a incomodar
depois de algum tempo.
O meio mais popular é o acesso via linhas ADSL (Assimetric Digital Subscriber
Line - Linha Digital Assimétrica por Assinatura), oferecidas pelas próprias
empresas de telefonia em várias cidades. Em São Paulo, por exemplo, o acesso
via ADSL é chamado de Speedy. O ADSL utiliza a própria linha telefônica porém de
forma diferente utilizando sinais de alta freqüência. Com isto, alem de não serem
pagos pulsos telefônicos para acessar a Internet, a linha fica desocupada. O
acesso vai de 128Kbps até 2 Mbps, dependendo do plano.
Um segundo meio é o acesso via cabo, oferecido pelas emissoras de TV a cabo. O
acesso via cabo está disponível apenas nas áreas onde a TV a cabo está

59 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

disponível e é obrigatório que se assine também o serviço de TV, o que encarece a


mensalidade. As velocidades variam de 128 K a 1 Mbps, dependendo do plano.
Finalmente, temos o acesso via rádio, onde uma antena é instalada no topo dos
edifícios e cabos são puxados para os apartamentos. Geralmente este serviço está
disponível apenas para prédios e mesmo assim é preciso que haja um número
mínimo de moradores interessados.

D. CD e DVD
O CD (Compact Disk - disco compacto) foi originalmente desenvolvido para
armazenar áudio. Nos CD de áudio, os dados (as músicas) são gravados na forma de
uma grande espiral (como num disco de vinil) ao invés de serem usadas trilhas
concêntricas como num disco rígido. Esta espiral engloba todo o disco dando cerca
de 20.000 "voltas" e tendo um comprimento de quase 5 quilômetros. Esta imensa
espiral pode ser dividida em trilhas lógicas, cada uma contendo uma faixa de áudio,
fisicamente a espiral é ininterrupta.

Cada bit gravado corresponde a um conjunto de sulcos no CD e não a um único


sulco, como é idéia comum. São usados 17 sulcos para formar um bit. O uso desta
grande quantidade de sulcos é necessária para que durante a leitura a cabeça de
leitura tenha tempo suficiente para "perceber" a mudança entre os bits. Um CD possui
cerca de 106 bilhões de sulcos. Se cada sulco correspondesse a um bit de dados
teríamos uma incrível capacidade de armazenamento por CD mas não seria possível,
pelo menos com a tecnologia atual, desenvolver processos de gravação e,
principalmente, leitores de CD com cabeças suficientemente sensíveis para conseguir
ler os dados com tamanha precisão.

Figura 25: Visão ampliada da superfície de um CD.

Um CD tem capacidade de armazenar 74 minutos de música o que corresponde a


cerca de 742 Megabytes. Os dados são agrupados em setores, como ocorre num

60 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

disco rígido, mas a diferença é que num disco rígido cada setor contém 512 bytes e
num CD cada setor contém 2.352 bytes.
Um CD de boa qualidade pode durar mais de um século, desde que seja bem
conservado. Além de tomar cuidado com arranhões, deve ser evitada a exposição
direta ao sol ou outras fontes de calor. O calor pode fundir a camada reflexiva
inutilizando o CD.
Os primeiros drives (leitores) de CD eram capazes de ler dados a uma taxa de 150
KB/s. A geração seguinte de drives era capaz de ler dados a uma taxa de cerca de
300 KB/s, ou seja, o dobro. Estes “novos” drives passaram então a ser chamados de
"2x" já que eram duas vezes mais rápidos que os originais. Em seguida surgiram os
drives com taxa de leitura de 600 KB/s e 900 KB/s chamados, respectivamente, de
"4x" e "6x". Um drive de CD 32x é capaz de ler dados a uma taxa de 4800 KB/s, e
assim por diante.

- Gravação de CDs
Durante vários anos os CD foram mídias somente para leitura. Atualmente está
ocorrendo a popularização dos gravadores de CD. Atualmente, como quase todo
computador possui um acionador de CD a possibilidade de gravar dados em CD é
muito útil para o transporte e a distribuição de dados.
Assim, como nos leitores de CD, a velocidade de gravação também é dada em
múltiplos de 150 KB/s. Um gravador "1x" é capaz de gravar a uma taxa de 150
KB/s, um "2x" é capaz de gravar a uma taxa de 300 KB/s, um "4x" é capaz de
gravar a uma taxa de 600 KB/s e assim por diante. Geralmente os gravadores são
capazes de ler um CD a uma taxa maior do que são capazes de gravar: um
gravador de CD 8x4, por exemplo, é capaz de ler a "8x" e gravar a "4x".

- Mídias

Além do CD prensado (gravado em processo industrial e utilizado somente para


leitura, seja áudio ou dados) existe o CD gravável, que pode ser gravado uma
única vez num gravador de CD, chamado de CD-R. Ao invés de “prensar” o CD, o
gravador de CD grava os dados através de um feixe laser mais forte que queima
alguns pontos da camada de gravação do CD. Existe, também, o CD regravável,
chamado de CD-RW, que pode ser gravado e regravado várias vezes.
Um CD prensado comum é composto de três camadas: uma camada de plástico
(policarboneto) de cerca de 1,2 mm de espessura, uma camada de alumínio, prata
ou platina onde são gravados os dados, e uma camada protetora de verniz. Em

61 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

um CD-R temos estas três camadas e uma quarta camada, entre a camada de
plástico e a camada reflexiva, onde são gravados os dados.
Esta fina camada é composta de produtos sensíveis ao calor que tem sua
composição química alterada devido ao calor gerado pelo feixe laser do gravador,
muito mais potente que o usado na leitura do CD. As partes desta camada
atingidas pelo feixe laser do gravador ficam opacas, e criam pequenas bolhas,
deixando de refletir a luz do leitor. Por isso é que na gíria é usada a expressão
"queimar o CD" para se referir ao processo de gravação.

Figura 26: Camadas de um CD e de um CD-R.

A camada de policarboneto, nos CD prensados, é prensada conta um molde para


a gravação dos sulcos que armazenam os dados. Num CD gravável a camada de
policarboneto também é prensada porém, ao invés de serem gravados os sulcos, é
gravada a espiral de gravação. Todo o CD "virgem" vem com esta espiral pré
gravada onde serão gravados os dados. O gravador de CD não é capaz de gravar
dados fora da espiral.
A camada reflexiva, nos CD prensados, é sempre de uma liga de alumínio, prata
ou platina. Como a camada reflexiva é sempre prateada e a camada de
policarboneto é transparente os CD prensados são sempre prateados. Nos CD
graváveis a camada reflexiva pode ser feita de ouro 24 quilates, de ligas de prata
ou de ligas de alumínio. A camada de gravação, por sua vez, pode ser
transparente, azul ou verde dependendo do material usado. De acordo com a
combinação de cores da camada reflexiva e da camada de gravação podemos ter
CD graváveis de várias cores diferentes.

- Cores
Atualmente existem 5 substâncias diferentes que podem ser usadas para formar a
camada de gravação dos CD-R. Todas estas substâncias podem ser "queimadas"

62 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

pelo laser do gravador. Cada uma foi desenvolvida por uma companhia diferente,
que detêm sua patente, e tem uma cor predominante:

Substância Desenvolvido por Cor Predominante


Cyanine Taiyo Yudem Azul
Phthalocyanine Mitsui Chemicals Transparente
Metallized Azo Verbatim/Mitsubishi Azul
Advanced
Mitsui Chemicals Verde claro
Phthalocyanine
Formazan Kodak Verde claro

Como a camada de gravação é semitransparente, a cor do CD gravável é formada


por uma combinação da cor da camada reflexiva (que pode ser dourada ou
prateada) com a cor da camada de gravação (azul, verde claro ou transparente):

Cor da Mídia Camada de Gravação Camada Reflexiva


Dourado Phthalocyanine Dourada (ouro)
Verde claro
Advanced
(fabricada pela Prateada
Phthalocyanine
Mitsui)
Verde Cyanine Dourada (ouro)
Azul Cyanine Prateada
Azul escuro Metallized Azo Prateada
Verde claro
(de outros Formazan Prateada
fabricantes)
Dourado
Formazan Dourada (ouro)
esverdeado

Durante um certo tempo foram produzidas algumas mídias alaranjadas, estas


mídias usavam cyanine misturado com um tipo de corante e camada reflexiva
prateada.
Além da cor, as substâncias diferem nos quesitos durabilidade e refração da luz. A
Phthalocyanine é, dentre todas, considerada a de melhor qualidade. Como ela é
quase transparente os CD-R feitos com ela possuem uma refração de luz quase
equivalente a dos CD prensados sendo compatíveis com todos os leitores de CD.
A Phthalocyanine também tem uma durabilidade maior, cerca de 100 anos
segundo o fabricante. Isto, claro, também depende das condições de
armazenagem e conservação. Apenas os CDs dourados usam Phthalocyanine.
Recentemente a Mitsui criou um tipo mais sofisticado de Phthalocyanine chamado
de Advanced Phthalocyanine ou Phthalocyanine tipo 5. Esta nova substância
63 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

possui uma refração semelhante a da Phthalocyanine comum mas é bem mais


durável, estimada em 200 anos. Sua cor também é um pouco diferente, ao invés
de transparente ela é verde claro. Esta substância é usada apenas em mídias
verde claro.
A Cyanine foi a primeira substância usada em CD-R e possui algumas
desvantagens em comparação com a Phthalocyanine. Sua durabilidade é
estimada em 50 anos e sua cor azulada causa uma diminuição na refração
tornando as mídias incompatíveis com alguns leitores de CD mais antigos.
Enquanto as mídias douradas, feitas de Phthalocyanine, possuem cerca de 85%
da refração de um CD prensado as mídias verdes e azuis, feitas de Cyanine,
possuem cerca de 70% da refração de um CD prensado.
A Metallized Azo é uma substância desenvolvida recentemente. Sua refração é
semelhante a da Cyanine (apesar de sua coloração ser mais escura) mas sua
durabilidade é maior, sendo estimada em 90 anos segundo o fabricante. Esta
substância é usada apenas em mídias de coloração azul, que podem ser
distinguidas das azuis feitas de Cyanine pela tonalidade mais escura.
O Formazan também é uma substancia desenvolvida recentemente que combina
algumas das características da Cyanine e da Phthalocyanine. Possui uma
durabilidade estimada em 50 anos e uma refração pouco inferior a da
Phthalocyanine.
Independente da cor, mídias de boas marcas dificilmente apresentam qualquer
problema, enquanto que mídias sem marca, mais baratas, são problemática não
importando a sua cor. Em se tratando de mídias graváveis, quase sempre a mais
cara é melhor.

- Áudio x Dados
Usando um gravador de CD podemos, tanto gravar CD de dados, quanto CD de
áudio que poderá ser usado em qualquer CD Player. Existem algumas diferenças
na leitura de um CD de áudio (música) quando feita por um CD Player ou Diskman.
A velocidade padrão de leitura de um CD de música é apenas "1x". O CD Player lê
os CD a esta velocidade e vai tocando a música conforme a lê no CD. Se houver
um erro na leitura de algum setor do CD ele não tentará uma segunda leitura (até
por que não haveria tempo para isso), simplesmente ignorará o dado que não
pôde ser lido e usa uma interpolação (aproximação entre dois valores) para
encobrir o "buraco". Muitas vezes o "remendo" não é nem percebido mas em
outras aparece na forma de um estalo, ruído, distorção no som ou algo parecido.
Quanto mais erros de leitura, pior será a qualidade do som.

64 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Para gravar CD de música, as mídias douradas (de Phthalocyanine) e verde-claro


(de Advanced Phthalocyanine) são melhores. Elas apresentam uma refração maior
do que as verdes e azuis e, com uma refração maior, fica mais "fácil" para o leitor
pois o sinal é mais forte e, consequentemente, ocorrem menos erros de leitura. As
mídias douradas e verde claro também apresentam incompatibilidade com um
número bem menor de leitores.

- Buffer Underrun
A gravação de um CD é um processo lento que não pode ser interrompido, caso
contrário, a mídia que está sendo gravada será perdida. O problema que mais
atormenta os usuários de gravadores de CD é o Buffer Underrun, uma situação
onde a gravação é interrompida por falta de dados.
Todo gravador de CD possui um pequeno buffer, cerca de 2MB nos mais antigos e
de 4 MB nos mais recentes, que funciona como um regulador do processo de
fornecimento de dados. Ele é capaz de manter o fluxo de dados que serão usados
caso haja qualquer interrupção no fornecimento de dados para o gravador,
evitando a perda da mídia.
Pode parecer estranho que qualquer computador razoável não seja capaz de
fornecer um fluxo de dados de apenas 600 KB/s, ou 1200 KB/s, sendo que um
bom disco rígido é quase 20 vezes mais rápido do que isso e, até mesmo uma
porta paralela ECP seja capaz de suportar um fluxo tão pequeno. O problema não
tem a ver com a velocidade da transmissão de dados e sim com a capacidade de
transmitir dados do disco rígido para o gravador de forma ininterrupta. Neste
aspecto, os discos rígidos e os gravadores de CD que utilização a interface SCSI
são melhores do que os que utilizam interface IDE, pois a interface SCSI permite
uma transferência de dados mais estável e menos dependente da disponibilidade
do processador.
A melhor condição é obtida através do uso de um gravador de CD SCSI e de um
disco rígido SCSI o que assegura gravações sem problemas de buffer underrun. A
segunda opção é com o uso de um gravador de CD SCSI e de um disco rígido IDE
rápido, o que também gera bons resultados.
No caso do uso de disco rígido e gravador de CD IDE, é altamente recomendável
instalar o gravador na interface IDE secundária e o disco rígido na IDE primária. Se
o disco rígido for rápido e o gravador possuir cerca de 2 MB de buffer esta
combinação funcionará sem problemas, apesar de existir o risco de perda,
esporádica, de uma ou outra mídia caso seja utilizado algum outro programa
durante o processo de gravação.

65 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Nesta situação, ambos IDE, é recomendável que sejam desativados todos os


programas residentes antes de iniciar o processo de gravação de CD. Uma
especial atenção deve ser dada a desativação dos programas antivírus, somente
durante o processo de gravação, pois eles podem ocasionar o esvaziamento do
buffer do gravador de CD.
Quanto maior for o buffer do gravador de CD, maior é a segurança. Um buffer com
capacidade de 4 MB garante o fornecimento de cerca de seis segundos de dados
numa gravação a velocidade de "4x". Este tempo eqüivale, por exemplo, ao tempo
necessário para abertura de um arquivo do MS-Word.
Também é possível fazer gravações de CD a partir da unidade leitora de CD. A
unidade leitora de CD não deve ser instalada na mesma interface IDE do disco
rígido porém, se já existir uma unidade leitora de CD e um disco rígido IDE e tenha
que ser instalado um gravador de CD também IDE é altamente recomendado que
o gravador de CD seja instalado na IDE secundária e a unidade leitora de CD e o
disco rígido sejam instalados na IDE primária. Neste caso podem ser feitas tanto
gravações de dados do disco rígido para o gravador de CD quanto gravações da
unidade leitora de CD para o gravador de CD com relativa segurança pois, nas
duas situações, o gravador de CD estará instalado numa IDE diferente da do
dispositivo que fornecerá os dados.
Existem gravadores de CD externos que utilizam a porta paralela. São menos
comuns e, apesar da portabilidade, este tipo de gravador de CD apresenta um
desempenho pior pois, além de lenta, a porta paralela consome muitos recursos
do processador durante as transferências de dados o que acaba por causar
freqüentes problemas de buffer underrun.
Evite, ao máximo, os gravadores de CD que utilizam a porta paralela. Se você tiver
que usar um, as dicas para conseguir boas gravações são: configurar a porta
paralela como ECP (Extended Capabilities Port - porta com compatibilidade
estendida; padrão atual para a porta paralela, mais rápido que os anteriores;
transmite dados a 12 mbps - mega bits por segundo - o mesmo que 1.5 MB/s;
utiliza um canal de DMA para diminuir a utilização do processador), desativar todos
os outros programas, principalmente o antivírus, desabilitar a proteção de tela e
não utilizar o computador para mais nada enquanto estiver gravando os CD.
Outra opção de gravador de CD portátil são os que utilizam as portas USB que
ainda não são comuns. A USB é uma interface mais adequada para a gravação de
CD do que a porta paralela; ela é mais rápida e, principalmente, consome muito
menos recursos do processador durante as transferências de dados. Ao usar o um
gravador de CD USB evite ligar outros periféricos na mesma porta USB, reserve
uma para o gravador e ligue todos os demais periféricos na outra.
66 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Seja qual for a configuração em uso, antes de gravar um CD é aconselhável


desfragmentar o disco rígido. O tempo de acesso aos dados e a taxa de
transferência serão melhores, diminuindo muito a possibilidade de ocorrência de
buffer underrun.
No caso de estar gravando um CD com velocidade mais alta, 4x ou maior, evite
usar o computador, para outras tarefas, enquanto estiver gravando CD. Qualquer
acesso ao disco rígido pode resultar no esvaziamento do buffer do gravador de
CD, especialmente nos que utilizam interface IDE. A maioria dos programas para
gravação de CD permitem executar uma simulação. Nesta simulação são
reproduzidas todas as etapas da gravação porém nenhum dado é gravado
permitindo que sejam feitas várias experiências para verificar qual a melhor
condição de configuração do computador, sem arriscar as mídias.
Uma dica para quem usa o Windows 2000: pressione CRTL + ALT + DEL para
abrir o gerenciado de tarefas; localize o programa de gravação e mude a sua
prioridade de Normal para Alta. Isto força o Windows a dar prioridade para o
programa de gravação diminuindo a possibilidade de perder a mídia por causa da
interferência de outros aplicativos.
Seguindo todos estes cuidados é possível realizar a gravação de CD em
praticamente qualquer computador, até mesmo num antigo 486. Para quem
costuma gravar muitos CD, uma boa opção é utilizar um computador dedicado
somente a esta tarefa (um Pentium 166 ou similar). Como a maioria dos problemas
de buffer underrun surgem devido a erros de configuração ou a outros programas
sendo executados durante a gravação; dedicando um computador exclusivamente
para esta tarefa a possibilidade de problemas é muito menor.
Se, mesmo com todos estes cuidados, ainda ocorrerem problemas de buffer
underrun (isso pode acontecer caso o gravador de CD possua um buffer muito
pequeno ou o disco rígido em uso for muito lento) é recomendável diminuir a
velocidade da gravação (de 4x para 2x ou mesmo para 1x). Com uma velocidade
de gravação menor, o buffer demora mais tempo para se esvaziar e o problema
poderá ser resolvido. Vale lembrar que mídias de má qualidade muitas vezes dão
problemas caso sejam gravadas com velocidade igual, ou superior, a 4x. Para
gravar nestas velocidades é imprescindível o uso de mídia de boa qualidade.

- DVD
Originalmente o DVD foi concebido para armazenar filmes e substituir as fitas de
vídeo comuns. Apesar de grande, a capacidade de um CD comum é suficiente
para armazenar apenas poucos minutos de vídeo de alta resolução enquanto um
DVD pode armazenar mais de 2 horas de vídeo com 500 linhas horizontais de

67 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

resolução (o dobro da resolução de um vídeo cassete comum). Outro recurso


interessante do DVD é a possibilidade de serem gravadas até 8 dublagens e até
32 opções de legenda junto com o filme.
Existem 4 tipos de DVD que diferem na capacidade. O DVD 5 é capaz de
armazenar 4,7 GB de dados ou 133 minutos de vídeo. O DVD 10 utiliza a mesma
tecnologia do DVD 5 mas nele são usados os dois lados do disco dobrando a
capacidade, 9,4 GB de dados ou 266 minutos de vídeo. Temos também o DVD 9 e
o DVD 18 que são capazes de armazenar, respectivamente, 8,5 GB e 17 GB de
dados.
Fisicamente um DVD é muito parecido com um CD comum a diferença é que os
seus sulcos são bem menores e mais próximos uns dos outros. No CD cada sulco
mede 0,83 nm (nanômetros) de comprimento e 1,6 nm de largura. Num DVD cada
sulco mede 0,4 nm por 0,74 nm permitindo gravar muito mais dados no mesmo
espaço físico.

Figura 27: Comparação entre a superfície de um CD e de um DVD.

E. Som
Os computadores IBM-PC possuem uma capacidade sonora muito limitada. Todos
são equipados com um pequeno alto-falante, ligado diretamente a um encaixe na
placa mãe, e os sons emitidos são gerados pelo próprio processador que, por lidar
apenas com números binários, somente pode gerar alguns sons rudimentares, como

bips e outros ruídos, geralmente usados para chamar a atenção do usuário quando
ocorre algum erro.

68 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 28: Seqüência de bits criada Figura 29: Ilustração de uma onda
pelo processador e emitida na forma de sonora emitida pelo alto-falante.
som pelo alto-falante.

O som analógico é formado por uma grande onda que pode assumir um número
ilimitado de freqüências. Os aparelhos analógicos, como os gravadores de fitas K-7,
limitam-se a captar esta onda e a transformá-la num sinal magnético, com trechos
mais fortes e mais fracos dependendo da intensidade do som. Quando a fita K-7 é
tocada este sinal magnético é convertido em um sinal elétrico que movimenta o cone
do alto-falante produzindo som.
Como os computadores IBM-PC não podem trabalhar com sinais analógicos,
surgiu a idéia de converter o sinal sonoro analógico para o formato digital através de
uma técnica de amostragem.
Imagine que uma onda sonora fosse colocada em um gráfico cartesiano e que
cada ponto da onda recebesse valores X e Y. Poderíamos pegar amostras desta onda
e atribuir a cada uma um valor numérico que representaria sua posição no gráfico.
Quanto maior for a quantidade de amostras por segundo melhor será a qualidade do
som. Também é importante a amplitude do sinal, ou seja, a quantidade de valores
diferentes que ele poderá assumir. Se, por exemplo, usarmos 8 bits para representar
a amplitude da amostra será possível reproduzir 256 tonalidades diferentes de som.
Se forem usados 16 bits serão possíveis 65.000 valores diferentes, e assim por
diante.

Figura 30: Ilustração da amostragem de uma onda sonora.


Podemos fazer uma analogia entre som digital e a imagem digital, onde temos
uma certa quantidade de pontos e uma determinada quantidade de cores. Quanto
maior for a resolução da imagem (maior quantidade de pontos) e quanto maior for a
quantidade de cores mais perfeita será a imagem. Uma imagem digital com uma

69 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

resolução de 320 x 200 pontos com 256 cores não reproduz todos os detalhes da
imagem original. A mesma imagem com uma resolução de 1600 x 1200 pontos e com
16 milhões de cores (24 bits), apesar de ainda não ser perfeita, representa de forma
muito melhor a imagem original.
Um sinal telefônico, por exemplo, é transportado entre troncos digitais num formato
com 8.000 amostras por segundo e uma amplitude de 8 bits resultando em um som
nítido mas de baixa qualidade. Os CD de áudio (CD comerciais com músicas) são
gravados com uma taxa de amostragem de 44.100 Hz (amostras por segundo) e com
a amplitude de 16 bits (que permite 65.000 valores diferentes) fornecendo uma
reprodução sonora quase perfeita, a ponto de uma pessoa normal não conseguir
distinguir entre o som original e o mesmo som gravado.
Um músico experiente, ou uma pessoa com uma capacidade auditiva mais
desenvolvida, é capaz de perceber a pequena perda de qualidade do som gravado
pois são usados 65.000 tons para representar o som original enquanto que o som
analógico original tem uma quantidade infinita de tons. O som digital nunca será
perfeito pois é impossível gravar um número infinito de amostras. A questão é gravar
uma quantidade de freqüências (ou tons) suficiente para que o ouvido humano não
seja capaz de fazer distinção entre o som digital gravado e o som analógico original.
Em estúdios profissionais já se trabalha com 94 kHz (94.000 amostras por segundo) e
24 bits de amplitude (16 milhões de valores) o que garante uma qualidade de
gravação suficiente para "enganar" até mesmo os ouvidos mais sensíveis.

- Gerando Som Digital


Quem faz a conversão do sinal sonoro analógico para sinal sonoro digital é um
circuito chamado ADC (Analog Digital converter - Conversor Analógico Digital) que
extrai amostras da onda elétrica gerada por um aparelho analógico, como um
microfone, e transforma em sinais digitais. Estes sinais podem ser manipulados
pelo processador e transmitidos como qualquer outro tipo de dado.
Quando é necessário tocar um som digital, previamente gravado, faz-se o caminho
inverso, ou seja, transformar sinais digitais em uma onda analógica que pode ser
"tocada" pelo alto-falante. Esta conversão é feita pelo DAC (Digital Analog
Converter - Conversor Digital Analógico). O ADC e o DAC são os dois
componentes básicos de qualquer placa de som.
Gravar sons em formato digital permite reproduzir qualquer som com qualidade,
mas, o problema é que os arquivos gerados são muito grandes o que dificulta o
uso. Apenas um minuto de áudio gravado em formato digital com qualidade de CD
equivale a um arquivo WAV de 10,5 MB. Para contornar este inconveniente são
usadas duas técnicas: a compactação de áudio e a síntese de áudio.

70 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

- Compactação de Áudio
Assim como podemos compactar um documento texto criado pelo MS-Word, ou
qualquer outro programa de edição de texto, também podemos compactar um
arquivo de áudio através do tratamento conveniente das informações redundantes.
Numa música um longo período com amostras de som de mesmo valor pode ser
substituído por um código que indica que o mesmo valor está repetido n vezes.
Também podem ser eliminadas informações que exercem pouca influência na
qualidade do som.
Até certo ponto é possível compactar um arquivo de áudio sem perda de qualidade
mas existe um limite. Para que possamos obter arquivos ainda menores é
necessário sacrificar uma parte da qualidade do som através da eliminação de
freqüências sonoras que não são captadas pelo ouvido humano (o ouvido humano
é capaz de perceber sons entre 20Hz até 20KHz).
Um formato de compactação eficiente e popular é o MP3, muito utilizado para
transmitir músicas via Internet, pois permite uma compactação de arquivos WAV
de até 10 para 1, ou seja, uma música de 4 minutos, que corresponderia a um
arquivo WAV de 42 MB, pode ser convertida em um arquivo no formato MP3 com
cerca de 4,5 MB sem perda significativa na qualidade sonora.
Outro formato que vem ganhando popularidade é o VQF que usa um algoritmo de
compactação mais eficiente que o do MP3 gerando arquivos até 30% menores
com uma qualidade um pouco melhor. O problema do VQF é que devido à
complexidade do algoritmo a descompactação é extremamente trabalhosa
exigindo um processador poderoso.

- Síntese de Áudio
Ao invés de gravar uma música em formato digital o que, mesmo usando um
formato de compactação de áudio, gera um arquivo grande podemos sintetizar a
mesma música usando o sintetizador da placa de som. Neste caso, teremos que
gravar apenas a seqüência de notas a ser reproduzida gerando um arquivo muito
pequeno. Enquanto 5 minutos de música com qualidade de CD ocupam 52
Megabytes uma música MIDI de 10 minutos não ocupa mais que 100 ou 150
Kbytes. Existem dois tipos de síntese de áudio: a síntese por FM e a síntese porl
Wave Table (tabela de onda).

- Síntese por FM
Em 1971, foi desenvolvida na universidade Stanford eu uma tese que mostrava
que qualquer sinal que varia em amplitude pode ser representado como uma soma

71 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

de várias freqüências, assim qualquer som é na verdade um conjunto de


freqüências harmônicas.
Se um som qualquer pode ser dividido em várias ondas, o contrário também é
válido, ou seja, podemos sintetizar diferentes sons simplesmente calculando e
somando as ondas sonoras que o compõe com base em uma tabela com apenas
algumas ondas de freqüências diferentes. Isto é equivalente a misturar várias
cores para formar novas cores. Através desta técnica é possível produzir desde
sons de instrumentos musicais até vozes humanas passando por quase todo tipo
de ruído.
Com base na tese, a tecnologia de geração de som através de freqüências
moduladas foi criada e licenciada pela Yamaha que até hoje fabrica a maioria dos
sintetizadores FM usados em placas de som e outros equipamentos.
Alguns aplicativos, especialmente jogos, utilizam o sintetizador FM para gerarem
ruídos de tiros, explosões e outros efeitos sonoros evitando o uso de sons
digitalizados, que ocupam muito espaço. Outra aplicação para o sintetizador FM é
a geração de sons de instrumentos musicais que são usados para compor a trilha
sonora da maioria dos jogos.

- MIDI

O MIDI (Musical Instrument Digital Interface) é um padrão usado para garantir que
o som gerado por sintetizadores diferentes corresponda, exatamente, as mesmas
notas dos instrumentos musicais. Usando o MIDI o Dó de um piano será sempre
um Dó, e não um Ré, independente da placa de som utilizada, permitindo que a
mesma música, codificada em um arquivo MIDI, seja tocada com perfeição em
qualquer placa de som.
Os arquivos MIDI representam as notas que devem ser tocadas com a respectiva
ordem e sincronia. É possível tocar várias notas ao mesmo tempo para simular,
por exemplo, uma orquestra. O número de vozes, ou seja, a quantidade de
instrumentos que podem ser tocados simultaneamente depende da placa de som
(uma Sound Blaster AWE 32 é capaz de tocar até 32 notas simultâneas; uma AWE
64 é capaz de tocar até 64 notas).
Os arquivos MIDI são extremamente pequenos. Uma música em formato MIDI
com 10 minutos de duração ocupa cerca de 150 KB, mesmo com vários
instrumentos sendo tocados simultaneamente.
Outro aspecto interessante do MIDI é que é totalmente compatível com a maioria
dos teclados musicais e outros instrumentos digitais que podem ser conectados ao
computador através das saídas Midi In/Out da placa de som.

72 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

- Síntese por Wave Table (Tabela de Onda)

Apesar dos sintetizadores de FM serem extremamente simples e baratos o som


instrumental gerado por eles é de qualidade rudimentar; apesar de parecido com o
dos instrumentos reais, é fácil perceber que se trata de um som sintético.
Para corrigir esta deficiência é usado um sintetizador Wave Table que, ao invés de
sintetizar os som através da combinação de várias freqüências diferentes, usa
amostras de sons gerados por instrumentos reais, o que garante uma qualidade
muito superior.
Inicialmente contrata-se alguns músicos para tocar, individualmente, cada nota de
vários instrumentos. Estas notas são digitalizadas e gravadas em chips de
memória ROM que são incorporados a placa de som. O sintetizador lê estas
amostras de som e as toca na ordem certa.
Como os dois sintetizadores (FM e Wave Table) podem ser usados
simultaneamente é possível misturar os sons gerados fazendo com que a música
de um jogo seja sintetizada por Wave Table enquanto os efeitos sonoros sejam
sintetizados via FM.
Apenas placas de som mais recentes trazem sintetizadores por Wave Table. As
placas mais antigas trazem apenas o sintetizador por FM.

F. BIOS e Setup

BIOS significa Basic Input Output System – Sistema Básico de Entrada e Saída.
Um computador é composto de hardware e software. O hardware é toda a parte física
do computador: placa mãe, processador, memórias, disco rígido, etc. Enquanto que o
software é a parte lógica que coordena o seu funcionamento. O BIOS é justamente a
primeira camada de software do sistema, que fica gravada em um pequeno chip na
placa mãe, e tem a função de "dar a partida", reconhecendo os dispositivos instalados
no micro e realizando o boot. Mesmo depois do carregamento do sistema
operacional, o BIOS continua provendo muitas informações e executando tarefas
indispensáveis para o funcionamento do sistema.

73 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 31: Chip de memória flash Ram encontrado na placa mãe onde fica gravado
o BIOS

Setup

Muitas das funções executadas pelo Bios podem ser personalizadas pelo usuário.
O setup é justamente o programa que permite configurar estas opções. A velocidade
de operação das memórias, o modo de funcionamento dos discos rígidos e, em
muitos casos, até a velocidade do processador são configurados através do Setup.
Uma configuração errada do setup pode tornar o computador muito mais lento do que
com uma configuração otimizada. Claro que esta é uma projeção apocalíptica, que só
seria alcançada por alguém que intencionalmente configurasse o Bios visando obter o
pior desempenho possível, mas que ilustra bem como "simples" erros de
configuração podem tornar nosso sistema lento.

74 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Através do setup podemos personalizar muitas opções relacionadas com o modo


de funcionamento e desempenho do computador. Uma boa configuração pode tornar
o sistema muito mais estável ou rápido
Em quase todos os Setup's, encontramos uma opção de configuração usando
valores default sugeridos pelo fabricante. Estes valores visam que o sistema funcione
com o máximo de estabilidade, porém usando-os sacrificamos um pouco do
desempenho. Geralmente com configurações otimizadas dos valores do Setup,
conseguimos um ganho de performance de 15 ou 20% ou sobre os valores default.
Muitas vezes também precisamos mudar os valores do setup para resolver algum
conflito entre dispositivos, ou mesmo poder instalar algum periférico em especial. Um
exemplo é a Viper v330, que é uma placa aceleradora 3D: ela só funciona
corretamente caso habilitemos no Setup a opção "Assign IRQ to VGA card" que
muitas vezes fica desabilitada usando os valores default.
CMOS significa "Complementary Metal Oxide Semicondutor". Nos primeiros PC,
tais como os antigos XT e alguns 286, todos os dados referentes à configuração dos
endereços de IRQ, quantidade e velocidade das memórias, HD instalados, etc. eram
configurados através de jumpers na placa mãe. Não é preciso dizer que a
configuração de tais jumpers era um trabalho extremamente complicado. Para facilitar
a vida dos usuários, foi criado o Setup, que permite configurar facilmente o sistema. A
função do CMOS é armazenar os dados do setup para que estes não sejam perdidos
quando desligamos a máquina. O CMOS é uma pequena quantidade de memória
Ram, geralmente 128 ou 256 bytes, destinada a guardar as configurações do setup.
Toda vez que o micro é iniciado, o Bios lê estes valores e opera de acordo com eles.
Porém, justamente por ser um tipo de memória Ram, o CMOS é volátil, ou seja: seus
valores são perdidos quando ele deixa de ser carregado eletricamente. Justamente
por isso, é usada na placa mãe uma pequena bateria que se destina alimentar o
CMOS. Claro que esta bateria não dura para sempre, de modo que periodicamente (a
cada 2 ou 3 anos) temos que trocá-la por uma nova

Figura 32: Bateria de relógio usada na placa mãe para manter os dados do CMOS

75 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Post

Durante o boot, o Bios realiza uma série de testes, cuja função é determinar com
exatidão os componentes de hardware instalados no sistema. Este teste é chamado
de Post (pronuncia-se poust), ou "power-on self test". Os dados do post são
mostrados durante a inicialização, na forma daquela tabela que aparece antes do
carregamento do sistema operacional, indicando a quantidade de memória instalada,
assim como os discos rígidos, drives de disquetes, portas serias e paralelas e Drives
de CD-Rom padrão IDE instalados no micro.

Após terminado o Post, o Bios gera um relatório informando detalhes sobre o


hardware instalado no micro, permitindo saber sem margem de erro detalhes sobre
sua configuração. Para paralisar a tela tempo suficiente para ler todas as
informações, basta pressionar a tecla "Pause/Break" do teclado.

Mensagens de Erro

A função do Post é verificar se tudo está funcionando corretamente. Caso seja


detectado algum problema em um componente vital para o funcionamento do
sistema, como as memórias, processador ou placa de vídeo, o Bios emitirá uma certa
seqüência de bips sonoros, alertando sobre o problema. Problemas menores, como
conflitos de endereços, problemas com o teclado, ou falhas do disco rígido serão
mostrados na forma de mensagens na tela.
O código de bips varia de acordo com a marca da Bios (Award ou AMI por
exemplo) ou mesmo difere de uma placa mãe para outra. Geralmente o manual da
placa traz uma tabela com as seqüências de bips usadas.
Geralmente quando tudo está funcionando normalmente, independente da marca,
o Bios emite um bip durante a inicialização do micro, este não deve ser confundido
com o primeiro erro da tabela. Se nenhum som está sendo emitido quando você
inicializa o sistema, verifique se o fio do auto falante está ligado corretamente.
76 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Quando são detectados problemas menores durante o post, que não impedem o
funcionamento do sistema, ao invés de bips são mostradas mensagens de erro na
tela, indicando o problema.

G. Chipset

Chipset é o nome dado ao conjunto de chips (set significa “conjunto”, daí o seu
nome) usado na placa-mãe. Depois do processador, o componente do computador
que executa o maior número de funções é o chipset. Ele comanda toda a
comunicação entre o processador e os periféricos e entre os próprios periféricos.
Pode ser considerado como o principal componente de uma placa-mãe.
Nos primeiros computadores PC, os diversos controladores ficavam espalhados
pela placa-mãe. Isto implicava em distâncias maiores e limitava a freqüência de
trabalho. Com o agrupamento do diversos circuitos em alguns poucos chips foi
possível uma redução no custo de produção. Mas a principal vantagem esta na
proximidade dos componentes, o que permite que a placa-mãe trabalhe com
freqüências mais altas.

Figura 33: Detalhes de uma das primeiras placa-mãe para computador PC. Repare
na grande quantidade de circuitos existentes.

A maioria dos chipset atuais são compostos por dois chips (chamados de ponte
norte e ponte sul), alguns são compostos por apenas 1 chip, outros podem ter de 3
até 4 chips (menos comum). Depois do processador, os maiores chips da placa-mãe
são os do chipset.

77 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 34: Placa-mãe com chipset de 2 chips (esquerda) e outra com chipset de 1
chip (direita). Repare a utilização de dissipador no chipset (alguns usam ventilador).

Ponte Norte
O chip ponte norte, também chamado de MCH (Memory Controller Hub, Hub
Controlador de Memória) é conectado diretamente ao processador e possui
basicamente as seguintes funções:
• Controlador de Memória
• Controlador do barramento AGP (se disponível)
• Controlador do barramento PCI Express x16 (se disponível)
• Interface para transferência de dados com a ponte sul
Alguns chips ponte norte também controlam o barramento PCI Express x1. Em
alguns outros é a ponte sul quem controla o barramento PCI Express x1. Em nossas
explicações assumiremos que a ponte sul é o responsável por controlar as pistas PCI
Express x1, mas tenha em mente que isso pode variar de acordo com o modelo do
chipset.
Na Figura 35 você pode ver um diagrama que mostra a função da ponte norte no
computador

78 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 35: Ponte norte.

Como você pode ver, o processador não acessa diretamente a memória RAM ou a
placa de vídeo. É a ponte norte que funciona como intermediário no acesso do
processador a estes dispositivos. Por causa disso, a ponte norte tem influência direta
no desempenho do micro. Se um chip de ponte norte tem um controlador de memória
melhor do que outro, o desempenho geral do micro será melhor. Isto explica o motivo
pelo qual você pode ter duas placas-mãe voltadas para a mesma classe de
processadores e que obtêm desempenhos diferentes.
Como o controlador de memória está na ponte norte, é este chip que limita o tipo e
a quantidade máxima de memória que você pode instalar no micro (no caso do Athlon
64, quem é o responsável por tais limites é o próprio processador, já que o
controlador de memória está embutido nele).
A conexão entre a ponte norte e a ponte sul é feita através de um barramento. No
início, o barramento utilizado para conectar a ponte norte à ponte sul era o
barramento PCI. Atualmente, o barramento PCI não é mais usado para esse tipo de
conexão e foi substituído por um barramento dedicado. Falaremos mais sobre isso
adiante, já que o tipo de barramento utilizado nesta conexão pode afetar o
desempenho do micro.

Ponte Sul

79 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

O chip ponte sul, também chamado ICH (I/O Controller Hub, Hub Controlador de
Entrada e Saída) é conectado à ponte norte e sua função é basicamente controlar os
dispositivos on-board e de entrada e saída tais como:
• Discos Rígidos (Paralelo e Serial ATA)
• Portas USB
• Som on-board (*)
• Rede on-board (**)
• Barramento PCI
• Barramento PCI Express (se disponível)
• Barramento ISA (se disponível)
• Relógio de Tempo Real (RTC)
• Memória de configuração (CMOS)
• Dispositivos antigos, como controladores de interrupção e de DMA
(*) Se a ponte sul tiver controlador de som on-board, será necessário a utilização
de um chip externo chamado de codec (abreviação de codificador/decodificador) para
funcionar.
(**) Se a ponte sul tiver controlador de rede on-board, será necessário a utilização
de um chip chamado phy (pronuncia-se “fái”, abreviação de physical, camada física,
em português) para funcionar.
A ponte sul é também conectada a dois outros chips disponíveis na placa-mãe: o
chip de memória ROM, mais conhecido como BIOS, e o chip Super I/O, que é o
responsável por controlar dispositivos antigos como portas seriais, porta paralela e
unidade de disquete.
Na Figura 36 você pode ver um diagrama que mostra a função da ponte sul no
computador.

80 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 36: Ponte sul.

Como você pode ver, enquanto que a ponte sul pode ter alguma influência no
desempenho do disco rígido, este componente não é tão crucial no que se refere ao
desempenho geral do micro quanto à ponte norte. Na verdade, a ponte sul tem mais a
ver com as funcionalidades da sua placa-mãe do que com o desempenho. É a ponte
sul que determina a quantidade (e velocidade) das portas USB e a quantidade e tipo
(ATA ou Serial ATA) das portas do disco rígido que sua placa-mãe possui, por
exemplo.

Conexão Entre as Pontes


Quando o conceito de pontes começou ser usado, a comunicação entre a ponte
norte e a ponte sul era feita através do barramento PCI, como mostramos na Figura
37. O problema é que a taxa de transferência máxima do barramento PCI, 132 MB/s,
era compartilhada por todos dispositivos PCI conectados à ponte sul, em especial os
discos rígidos. Naquela época, isso não representava problemas, já que a taxa de
transferência máxima dos discos rígidos era de 8 MB/s ou 16 MB/s.

81 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 37: Comunicação entre a ponte norte e a ponte sul usando o barramento
PCI.

Mas quando placas de vídeo (até então as placas de vídeo eram PCI) e discos
rígidos de alto desempenho foram lançados, foi criado um “gargalo” no barramento
PCI. Para você ter uma idéia, a taxa de transferência máxima de um disco rígido ATA-
133 é a mesma do barramento PCI! Por isso, em teoria, um disco rígido ATA-133
consumiria toda a largura de banda do barramento PCI, reduzindo assim, a
velocidade de comunicação entre os dispositivos conectados ao barramento.
Para placas de vídeo de alto desempenho, a solução foi a criação de um novo
barramento conectado diretamente à ponte norte, chamado AGP (Accelerated
Graphics Port, Porta Gráfica Acelerada).
A solução final veio quando os fabricantes de chipsets começaram a usar uma
nova abordagem: eles criaram um barramento dedicado de alto desempenho entre a
ponte norte e a ponte sul e conectaram os dispositivos PCI na ponte sul.

82 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

Figura 38: Comunicação entre a ponte norte e a ponte sul usando um barramento
dedicado.

Quando a Intel começou usar esta arquitetura, ela passou a chamar as pontes de
“hubs”. A ponte norte passou a ser chamada MCH (Memory Controller Hub, Hub
Controlador de Memória) e a ponte sul passou a ser chamada ICH (I/O Controller
Hub, Hub Controlador de Entrada e Saída). Isto é apenas uma questão de
nomenclatura para indicar o tipo de arquitetura que está sendo usado.
Com a utilização dessa nova arquitetura, que é o tipo de arquitetura usado pelas
placas-mãe de hoje, quando o processador precisa ler dados do disco rígido, os
dados são transferidos do disco para a ponte sul e então repassados para a ponte
norte (através de um barramento dedicado) que por sua vez chega até o processador
(ou diretamente para a memória se o Bus Mastering – também conhecido como DMA
– estiver habilitado). Como você pode ver, agora o barramento PCI ficou mais
“folgado”, o que não acontecia na arquitetura anterior, onde ele estava
sobrecarregado.
A velocidade desse barramento dedicado depende do modelo do chipset. Por
exemplo, no chipset Intel 925X a taxa de transferência máxima deste barramento é de
2 GB/s. Outro detalhe é que os fabricantes adotam nomes diferentes para esse
barramento:
• Intel: DMI (Direct Media Interface) ou Intel Hub Architecture
• ULi/Ali: HyperTransport
• VIA: V-Link

83 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

• SiS: MuTIOL
• ATI: A-Link ou PCI Express
• nVidia: HyperTransport
No Radeon Xpress 200 da ATI, a comunicação entre a ponte norte e a ponte sul é
feita através de duas pistas PCI Express. Isso não afeta o desempenho do sistema,
porque ao contrário do barramento PCI, o barramento PCI Express não é
compartilhado por todos dispositivos PCI Express, já que ele é uma solução ponto-a-
ponto, o que significa que esse barramento é usado para conectar apenas dois
dispositivos, o receptor e o transmissor; nenhum outro dispositivo pode ser
“pendurado” a esta conexão. Uma pista é usada para a transmissão e a outra para
recepção dos dados (comunicação full-duplex).
O barramento HyperTransport também usa dois canais de dados separados, um
para a transmissão e outro para a recepção (comunicação full-duplex).
Como comentamos anteriormente, você pode estar curioso para saber o que são
os “dispositivos PCI on-board” listados nas Figuras 37 e 38. Dispositivos on-board,
como rede e som, podem ser controlados pelo chipset (ponte sul) ou por um chip
controlador adicional. Quando a segunda opção é usada, o chip controlador é
conectado ao barramento PCI.

H. Placas com Componentes Onboard

Em todo o mundo, não apenas no Brasil, placas-mãe com recursos onboard (como
vídeo, som, rede e modem) vêm conquistando um maior espaço no mercado. A
principal vantagem é o baixo custo, ou seja, é muito mais barato comprar uma placa-
mãe com tudo onboard do que comprar uma placa-mãe que precisa ser equipada
com os mesmos componentes em separado.
Esta tendência pode ser facilmente compreendida quando analisamos os recursos
que os modernos chipsets podem oferecer. Atualmente é possível construir um
computador PC com recursos básicos utilizando, aproximadamente, 3 circuitos
principais (processador e dois circuitos do chipset). Quanto ao desempenho, um
computador PC equipado com recursos onboard pode ser considerado satisfatório
para uma enorme quantidade de aplicações. Cabe uma ressalva quanto ao
desempenho do controlador de vídeo onboard, que por compartilhar a memória
principal com o processador, sempre terá um desempenho inferior ao de uma
controladora de vídeo AGP com sua própria memória.
Praticamente todas as placas-mãe com recursos onboard permitem que estes
componentes sejam individualmente desabilitados, através de jumpers (pequenas

84 de 85
INTRODUÇÃO A ORGANIZAÇÃO DE COMPUTADORES – NOTAS DE AULA

chaves localizadas na placa-mãe) ou através da modificação da configuração do


Setup, para serem substituídos por placas convencionais, desde que existam
conectores disponíveis.
Na maioria das placas-mãe com recursos onboard é possível substituir quase
todos os componentes sem maiores problemas. Eventualmente pode ocorrer a falta
do conector AGP, pois, normalmente, o controlador de vídeo onboard ocupa o lugar
do controlador de barramento AGP no chipset.

9. BIBLIOGRAFIA

STALLINGS, William, Arquitetura e Organização de Computadores, São Paulo:


Editora Prentice Hall do Brasil, 2002

MONTEIRO, Mario, Introdução à Organização de Computadores, Rio de Janeiro:


LTC Livros Técnicos e Científicos Editora, 2002

TANENBAUM, Andrew S., Organização Estruturada de Computadores, Rio de


Janeiro: Editora Prentice Hall do Brasil, 2001

85 de 85

Potrebbero piacerti anche