terça-feira, 5 de abril de 2011

Como funcionam os controladores IDE

Introdução

Não importa que função tenha o seu computador, a capacidade de armazenamento é uma importante parte do seu sistema. Na verdade, a maioria dos computadores pessoais possui um ou mais dos seguintes dispositivos:

A combinação disco rígido e placa de circuitos
que caracteriza os dispositivos IDE
Normalmente, esses dispositivos se conectam ao computador através de uma interface IDE (Integrated Drive Electronics). Basicamente, IDE é uma forma padrão para um dispositivo de armazenamento se conectar ao computador. Mas esse, na verdade, não é o nome técnico real para a interface. O nome original é AT Attachment (ATA), devido ao fato de que a interface foi desenvolvida inicialmente para o computador AT da IBM. Neste artigo, você irá aprender sobre a evolução da IDE/ATA, o que são os pinouts (função de cada fio em um cabo ou cada pino em um conector) e o que os termos "slave" e "master" na IDE significam exatamente para a interface IDE.



Evolução da IDE

A IDE foi criada como uma forma de padronizar o uso de discos rígidos em computadores. O conceito básico por trás da IDE é que o disco rígido e o controlador deveriam ser um só. O controlador é uma pequena placa de circuito com chips que fornecem orientação de exatamente como o disco rígido armazena e acessa os dados. A maioria dos controladores possui também um pouco de memória, que age como buffer para melhorar a performance do disco rígido.
Antes da IDE, os controladores e os discos rígidos eram separados e freqüentemente eram de marcas específicas. Em outras palavras, o controlador de um fabricante poderia não funcionar com o disco rígido de outro fabricante. A distância entre o controlador e o disco rígido poderia resultar em uma qualidade de sinal ruim ou afetar a performance. Evidentemente, isso causou grande frustração para os usuários de computador.

O nascimento da IDE levou à integração de um controlador como esse com um disco rígido
Em 1984, a IBM introduziu o computador AT com duas inovações significativas:
  • os slots de expansão para a colocação de novas placas no computador utilizavam uma nova versão do barramento ISA (Industry Standard Architecture). O novo barramento era capaz de transmitir 16 bits de informação por vez, comparado aos 8 bits no barramento ISA original.
  • a IBM ofereceu também um disco rígido para o AT que utilizava um novo drive/controlador integrado. Um flat cable saía dele para uma placa ISA a fim de se conectar ao computador, dando origem à interface ATA (AT Attachment).
Em 1986, a Compaq introduziu drives IDE em seu Deskpro 386. Essa combinação drive/controlador baseava-se no padrão ATA desenvolvido pela IBM. Pouco tempo depois, outros fornecedores passaram a oferecer drives IDE, que se tornou o termo que abrangia toda a linha de dispositivos drive/controlador integrados. Como quase todos os drives IDE são baseados no padrão ATA, os dois termos são utilizados sem distinção. 


Controladores, drives e adaptadores host

A maioria das placas-mãe vem com uma interface IDE. Essa interface é normalmente referida como controlador IDE, o que é incorreto. A interface é um adaptador host, o que significa que ela proporciona uma forma de conectar um dispositivo completo a um computador (host). O controlador propriamente dito está localizado em uma placa de circuitos anexa ao disco rígido. É esse o motivo pelo qual ela é chamada de Drive Eletrônico Integrado (Integrated Drive Eletronics).

Interfaces IDE primária e secundária
em uma placa mãe
Apesar de ter sido desenvolvida originalmente para conectar discos rígidos, a interface IDE evoluiu para uma interface universal utilizada na conexão de drives de disquetes e CD-ROM e até mesmo alguns drives de fitas de backup. Embora muito popular para drives internos, a IDE raramente é utilizada para conectar um dispositivo externo.
Existem diversas variações da ATA, cada uma melhorando as versões anteriores e mantendo a compatibilidade com elas. Vejamos alguns desses padrões:
  • ATA-1 - especificação original incluída no Deskpro 386 pela Compaq. Ela institucionalizou o uso da configuração master/slave. A ATA-1 era baseada em um sub-conjunto do conector padrão ISA de 96 pinos, que utiliza cabos e conectores de 40 ou 44 pinos. Na versão de 44 pinos, os quatro pinos extras são utilizados para o fornecimento de energia a um drive que não possui um conector de força separado. Além disso, a ATA-1 fornece sinal de sincronia para o DMA (direct memory accessDMA significa que o drive envia informações diretamente para a memória, enquanto que PIO significa que a unidade central do processamento (CPU) gerencia as transferências de informação. A ATA-1 é popularmente conhecida como IDE. - acesso direto de memória) e funções PIO (programmed input/output - entrada/saída programadas).
  • ATA-2 - o DMA foi completamente implementado com a versão ATA-2. A taxa de transferência padrão do DMA aumentou de 4,16 megabytes por segundo (4,16 MBps), na ATA-1, para 16,67 MBps. A interface ATA-2 oferece gerenciamento de energia, suporte ao cartão PCMCIA e suporte a dispositivos removíveis. A ATA-2 é freqüentemente chamada de EIDE (Enhaced IDE - IDE avançada), Fast ATA ou Fast ATA-2. O tamanho total de disco rígido suportado aumentou para 137,4 gigabytes. A ATA-2 fornecia métodos de tradução padrão para o CHS (Cylinder Head Sector -  Cilindro/Cabeça/Setor) para discos rígidos com tamanho até 8,4 gigabytes. O CHS é a maneira pela qual o sistema determina onde os dados estão localizados no disco rígido. A razão para tamanha discrepância entre o tamanho total do drive de disco rígido e o suporte para drives de disco rígido CHS se deve ao tamanho em bits utilizados pelo BIOS (basic input/output system- sistema básico de entrada e saída), O CHS possui um comprimento fixo para cada parte do endereço. Veja este quadro:
    Cilindro
    10 bits
    1024
    Cabeça
    8 bits
    256
    Setor
    6 bit
    63*
    Você deve ter notado que o número de setores é 63 ao invés de 64. Isso acontece porque um setor não pode começar com zero. Cada setor comporta 512 bytes. Se você multiplicar 1.024 x 256 x 63 x 512 terá 8.455.716.864 bytes ou aproximadamente 8,4 gigabytes. As versões mais novas de BIOS aumentaram o tamanho em bits para o CHS, proporcionando um suporte completo a 137,4 gigabytes.

  • ATA-3 - com a adição da tecnologia SMART (Self-Monitoring Analysis and Reporting Technology - Tecnologia de Auto-monitoramento, Análise e Relatório), os drives IDE ficaram mais confiáveis. O ATA-3 adicionou também a proteção com senha para acessar os discos rígidos, oferecendo uma valiosa característica de segurança.
  • ATA-4 - provavelmente as duas maiores adições ao padrão nessa versão são o suporte ao Ultra DMA e a integração do padrão ATAPI (AT Attachment Program Interface). A ATAPI oferece uma interface comum para drives de CD-ROM, drives de backup de fitas e outros dispositivos de armazenamento removível. Antes da ATA-4, a ATAPI era um padrão completamente separado. Com a sua inclusão, a ATA-4 melhorou imediatamente a qualidade do suporte ATA à mídia removível. O Ultra DMA ampliou a taxa de transferência do DMA de 16,67 MBps, do ATA-2, para 33,33 MBps. Além dos cabos existentes que utilizam 40 pinos e 40 condutores (fios), essa versão introduz um cabo que possui 80 condutores. Os outros 40 condutores são fios-terra espelhados entre os 40 condutores padrão para melhorar a qualidade do sinal. A ATA-4 também é conhecida como Ultra DMA, Ultra ATA e Ultra ATA/33.
  • ATA-5 - o maior avanço na ATA-5 é a autodetecção de qual cabo é utilizado: se a versão de 40 condutores ou a versão de 80 condutores. O Ultra DMA tem uma melhora para 66,67 MBps com a utilização do cabo com 80 condutores. A ATA-5 também é chamada de Ultra ATA/66. 

Cabo

Dispositivos IDE utilizam um cabo flat  (flat cable) para se conectarem uns aos outros. Todos os fios desses cabos são estendidos lado a lado de forma chata, ao invés de agrupados em maços. Os cabos flat IDE possuem 40 ou 80 fios. Existe um conector em cada ponta do cabo e outro a cerca de dois terços do seu comprimento. Esse cabo não pode exceder 46 cm de comprimento total (cerca de 30 cm do primeiro ao segundo conector e cerca de 15 cm do segundo ao terceiro) de forma a manter a integridade do sinal. Os três conectores normalmente são de cores diferentes e conectam-se a itens específicos:
  • o conector azul conecta-se à placa mãe;
  • o conector preto conecta-se ao drive primário (master);
  • o conector cinza conecta-se ao drive secundário (slave);
Ao longo da lateral do cabo existe uma listra, que indica que o fio daquele lado deve estar conectado ao Pino 1 de cada conector. O fio 20 não é conectado a nada. Na verdade, não existe nenhum pino nessa posição - ela é usada para garantir que o cabo esteja conectado ao drive na posição correta. Outra maneira pela qual os fabricantes se certificam de que o cabo não está invertido é utilizando uma trava no cabo, que não é nada mais que um pequeno quadrado plástico no topo do conector. Isso permite que o cabo se conecte apenas em uma posição.

Conector em um cabo IDE
Pino Descrição Pino Descrição
1 Reset 23 -IOW
2 Terra 24 Terra
3 Bit de dados 7 25 -IOR
4 Bit de dados 8 26 Terra
5 Bit de dados 6 27 Canal de I/O pronto
6 Bit de dados 9 28 SPSYNC: seleção de cabo
7 Bit de dados 5 29 -DACK 3
8 Bit de dados 10 30 Terra
9 Bit de dados 4 31 RQ 14
10 Bit de dados 11 32 -IOCS 16
11 Bit de dados 3 33 Endereço de bit 1
12 Bit de dados 12 34 -PDIAG
13 Bit de dados 2 35 Endereço de bit 0
14 Bit de dados 13 36 Endereço de bit 2
15 Bit de dados 1 37 -CS1FX
16 Bit de dados 14 38 -CS3FX
17 Bit de dados 0 39 -DA/SP
18 Bit de dados 15 40 Terra
19 Terra 41 +5 Volts (lógico - opcional)
20 Trava no cabo (sem pino) 42 +5 Volts (motor - opcional)
21 DRQ 3 43 Terra (opcional)
22 Terra 44 -Type (opcional)
Observe que os últimos quatro pinos são utilizados apenas por dispositivos que requerem energia proveniente do flat cable. Normalmente, esses dispositivos são discos rígidos pequenos demais (de 6,5 cm por exemplo) para precisarem de uma fonte de energia separada. 


Masters e slaves

Uma única interface IDE suporta dois dispositivos. A maioria das placas-mãe vem com uma interface IDE dupla (primária e secundária) para até quatro dispositivos. Como o controlador está integrado ao drive, não existe um controlador geral para determinar qual dispositivo está se comunicando com o computador em um dado momento. Isso não é um problema, desde que cada dispositivo esteja em uma interface separada, mas adicionar suporte para um segundo drive no mesmo cabo exigiu uma certa engenhosidade.
Para permitir dois drives em um mesmo cabo, a IDE utiliza configurações especiais chamadas master (mestre) e slave (escravo). Essas configurações permitem que um controlador do drive diga ao outro quando pode enviar e receber dados do computador. O que acontece é que o drive slave faz uma solicitação ao drive master para verificar se ele está se comunicando com o computador no momento. Se o drive master estiver inativo, ele diz ao drive slave que prossiga. Do contrário, ele o avisa que aguarde e informa quando poderá prosseguir.
O computador determina se existe um segundo drive (slave) conectado através do uso do Pino 39 no conector. Esse pino possui um sinal especial, chamado DASP (Drive Ativo/Slave Presente), que verifica se um drive slave está presente.
Embora funcione em qualquer posição, é recomendado que o drive master esteja conectado ao conector no final do cabo IDE. Um jumper na parte de trás do drive, próximo ao conector IDE, deve ser configurado na posição correta para identificar o drive como master. O drive slave tem de ter o jumper removido ou configurado na posição correta, dependendo do drive. Além disso, o drive slave é ligado ao conector próximo ao meio do cabo IDE. Cada placa controladora dos drives observa a configuração dos jumpers para determinar se é um drive master ou slave. Isso indica à placa como agir. Todo drive é capaz de ser tanto master quanto slave quando chega do fabricante. Se apenas um drive for instalado, este deverá ser sempre o drive master.
Muitos drives apresentam uma opção chamada Cable Select (CS - Seleção pelo cabo). Com o tipo correto de cabo IDE, esses drives podem ser configurados tanto como master quanto como slave. O CS funciona assim: um jumper em cada drive é configurado para a opção CS. O cabo é como um cabo IDE normal, exceto pelo fato de que o Pino 28 conecta-se apenas ao conector do drive master. Quando seu computador é ligado, a interface IDE envia um sinal pelo fio para o Pino 28. Apenas o drive ligado ao conector master recebe o sinal. Esse drive então se autoconfigura como drive master. Como o outro drive não recebeu nenhum sinal, é configurado como slave por padrão.

Um comentário:

  1. Seria possivel fazer uma união entre o cabo IDE ou SATA? através da a emenda de fios ou algo assim gostei muito da ''aula'' e queria saber se é possivel?

    ResponderExcluir