7-dispositivos de e_s

118
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 1 de 118

Upload: api-3804195

Post on 07-Jun-2015

816 views

Category:

Documents


1 download

DESCRIPTION

Arquitetura de computadores

TRANSCRIPT

Page 1: 7-Dispositivos de E_s

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

Page 2: 7-Dispositivos de E_s

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.

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

2 de 85

Page 3: 7-Dispositivos de E_s

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

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

Page 4: 7-Dispositivos de E_s

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

Page 5: 7-Dispositivos de E_s

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

Page 6: 7-Dispositivos de E_s

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.

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

6 de 85

Page 7: 7-Dispositivos de E_s

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

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

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

7 de 85

Page 8: 7-Dispositivos de E_s

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

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

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

registrador de estado pode também funcionar como registrador de controle, recebendo

8 de 85

Page 9: 7-Dispositivos de E_s

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

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

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

porte.

9 de 85

Page 10: 7-Dispositivos de E_s

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

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

por meio do processador

E/S programada E/S dirigida por

interrupção

Transferência direta entre memória

e E/S

Acesso direto à

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

Page 11: 7-Dispositivos de E_s

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

Page 12: 7-Dispositivos de E_s

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

Page 13: 7-Dispositivos de E_s

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

Page 14: 7-Dispositivos de E_s

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

Page 15: 7-Dispositivos de E_s

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

Page 16: 7-Dispositivos de E_s

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:

16 de 85

Page 17: 7-Dispositivos de E_s

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

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

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

Page 18: 7-Dispositivos de E_s

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

Identificação por software

18 de 85

Page 19: 7-Dispositivos de E_s

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

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.

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

19 de 85

Page 20: 7-Dispositivos de E_s

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

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).

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

20 de 85

Page 21: 7-Dispositivos de E_s

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

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

Page 22: 7-Dispositivos de E_s

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, é

claramente ineficiente. Assim como nos casos da E/S programada controlada por

processador, a transferência de cada palavra consome dois ciclos de barramento.

22 de 85

Page 23: 7-Dispositivos de E_s

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

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

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

tornaram-se mais complexos e sofisticados, principalmente aqueles voltados para

23 de 85

Page 24: 7-Dispositivos de E_s

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

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

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

24 de 85

Page 25: 7-Dispositivos de E_s

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

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

Page 26: 7-Dispositivos de E_s

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

Page 27: 7-Dispositivos de E_s

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.

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

27 de 85

Page 28: 7-Dispositivos de E_s

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

(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

atividade no barramento ocorre de acordo com uma seqüência de fases. As fases são

as seguintes:

28 de 85

Page 29: 7-Dispositivos de E_s

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

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

Page 30: 7-Dispositivos de E_s

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

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

Saída de Dados.

30 de 85

Page 31: 7-Dispositivos de E_s

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

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

C. Temporização da SCSI

31 de 85

Page 32: 7-Dispositivos de E_s

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

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

dispositivos competem pelo controle do barramento. Cada um desses dispositivos

32 de 85

Page 33: 7-Dispositivos de E_s

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

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

Page 34: 7-Dispositivos de E_s

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

Page 35: 7-Dispositivos de E_s

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

Page 36: 7-Dispositivos de E_s

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

Dispositivos de escrita única

36 de 85

Page 37: 7-Dispositivos de E_s

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

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.

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.

37 de 85

Page 38: 7-Dispositivos de E_s

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

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

Page 39: 7-Dispositivos de E_s

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

Page 40: 7-Dispositivos de E_s

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

Page 41: 7-Dispositivos de E_s

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

Page 42: 7-Dispositivos de E_s

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

Page 43: 7-Dispositivos de E_s

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

Page 44: 7-Dispositivos de E_s

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

Page 45: 7-Dispositivos de E_s

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

Page 46: 7-Dispositivos de E_s

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

Page 47: 7-Dispositivos de E_s

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

Page 48: 7-Dispositivos de E_s

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

Page 49: 7-Dispositivos de E_s

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

Page 50: 7-Dispositivos de E_s

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

Page 51: 7-Dispositivos de E_s

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ásicosAlé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

Page 52: 7-Dispositivos de E_s

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.

- ClippingNuma 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

Page 53: 7-Dispositivos de E_s

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-SortingEste 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

Page 54: 7-Dispositivos de E_s

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

Page 55: 7-Dispositivos de E_s

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

Page 56: 7-Dispositivos de E_s

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

Imagem com o recurso de texture filtering ativado.

- FoggingSe 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 PerspectivaAtravé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

Page 57: 7-Dispositivos de E_s

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 SoftmodemsExistem 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 modemsQualquer 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

Page 58: 7-Dispositivos de E_s

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

Page 59: 7-Dispositivos de E_s

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 Flash

armazena o firmware do modem

Relay conecta o modem com a linha telefônica

Transformador

isola o modem da linha telefônica

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ápidoOs 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

Page 60: 7-Dispositivos de E_s

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

Page 61: 7-Dispositivos de E_s

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 CDsDurante 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 um

61 de 85

Page 62: 7-Dispositivos de E_s

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

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

Page 63: 7-Dispositivos de E_s

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 Phthalocyanine

Mitsui Chemicals Verde claro

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 (fabricada pela

Mitsui)

AdvancedPhthalocyanine

Prateada

Verde Cyanine Dourada (ouro)

Azul Cyanine Prateada

Azul escuro Metallized Azo Prateada

Verde claro(de outros

fabricantes) Formazan Prateada

Dourado esverdeado

Formazan Dourada (ouro)

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.

63 de 85

Page 64: 7-Dispositivos de E_s

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

Recentemente a Mitsui criou um tipo mais sofisticado de Phthalocyanine chamado

de Advanced Phthalocyanine ou Phthalocyanine tipo 5. Esta nova substância

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 DadosUsando 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

64 de 85

Page 65: 7-Dispositivos de E_s

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

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.

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,

65 de 85

Page 66: 7-Dispositivos de E_s

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

esporádica, de uma ou outra mídia caso seja utilizado algum outro programa

durante o processo de gravação.

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

66 de 85

Page 67: 7-Dispositivos de E_s

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

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.

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.

- DVDOriginalmente 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

67 de 85

Page 68: 7-Dispositivos de E_s

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

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

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

Page 69: 7-Dispositivos de E_s

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

Figura 28: Seqüência de bits criada pelo processador e emitida na forma de som pelo alto-falante.

Figura 29: Ilustração de uma onda sonora emitida 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

Page 70: 7-Dispositivos de E_s

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

Page 71: 7-Dispositivos de E_s

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

- Compactação de ÁudioAssim 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 ÁudioAo 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 FMEm 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

Page 72: 7-Dispositivos de E_s

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

Page 73: 7-Dispositivos de E_s

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

Page 74: 7-Dispositivos de E_s

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

Page 75: 7-Dispositivos de E_s

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

Page 76: 7-Dispositivos de E_s

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

Page 77: 7-Dispositivos de E_s

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

Page 78: 7-Dispositivos de E_s

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

Page 79: 7-Dispositivos de E_s

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

Page 80: 7-Dispositivos de E_s

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

Page 81: 7-Dispositivos de E_s

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

Page 82: 7-Dispositivos de E_s

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

Page 83: 7-Dispositivos de E_s

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

SiS: MuTIOL

83 de 85

Page 84: 7-Dispositivos de E_s

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

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

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

84 de 85

Page 85: 7-Dispositivos de E_s

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

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