Sítio do Piropo

B. Piropo

< Trilha Zero >
Volte de onde veio
12/01/2004

< Paralela ou serial? >


Há duas formas básicas de transferir dados entre o computador e seus periféricos: serial e paralela. Para que as possamos entender, há que saber sob que forma os dados são transferidos.
Tudo o que um computador processa são grandezas codificadas em números expressos em binário, um sistema numérico que usa apenas dois algarismos, o “zero” e o “um”. Esses algarismos binários são conhecidos por “bits” (de “binary digits”, ou “algarismos binários” em inglês).
No sistema binário pode-se exprimir números com quantos algarismos sejam necessários. Mas, para facilitar a organização interna dos micros, padronizou-se usar conjuntos de oito algarismos, ou seja, oito bits. Os números assim expressos são chamados de “bytes”. Um byte, com seus oito bits, pode exprimir 256 valores (de zero a 255). Números maiores são expressos com combinação de bytes. Portanto, transmitir dados é, em última análise, transmitir bytes, ou conjuntos de oito bits. Que são transportados em condutores elétricos sob a forma de pulsos de tensão. Um pulso de, digamos, cinco volts representa “um”. A ausência do pulso (que pode ser interpretada como um “pulso de zero volts”) representa “zero”.
Como eu disse, há duas formas de fazer isso: transmitir oito bits em série, sob a forma de pulsos de tensão um após o outro através de um único condutor (e seu fiel companheiro, o fio terra) em um determinado ritmo – ou freqüência – ou transmiti-los simultaneamente, na mesma freqüência, através de pulsos de tensão em oito condutores paralelos (e seu terra, naturalmente). A primeira forma é a transmissão serial. A segunda, a transmissão paralela.
Qual delas é mais rápida?
Ora, se a freqüência é a mesma, um raciocínio trivial há de indicar que a transmissão paralela deve ser oito vezes mais rápida. E olhe que há condutores paralelos (os “cabos chatos” usados para conectar discos rígidos padrão ATA) que usam 32 condutores paralelos e que, portanto, transmitirão dados 32 vezes mais rapidamente que uma transmissão serial.
Se é assim, então porque os novos padrões de interface de transmissão rápida, como USB 1.1 e 2.0, FireWire e Serial ATA, sem exceção, usam a transmissão serial?
Bem, para que a transmissão paralela funcione nos conformes, é preciso que os bits que partiram juntos da origem cheguem ao destino rigorosamente ao mesmo tempo. Como a eletricidade percorre os condutores com velocidades próximas à da luz, ou seja, 300 quilômetros por segundo, nas freqüências relativamente baixas usadas há alguns anos, isso era muito fácil, já que o intervalo entre dois bytes sucessivos era longo e se o bit transportado por um ou outro condutor atrasasse ou adiantasse um pouco, havia tolerância suficiente.
Hoje, o padrão de transmissão paralelo mais rápido disponível é o ATA 133, capaz de transmitir 133 MB/s (Megabytes por segundo) através de um condutor de 32 cabos paralelos para dados. Para isto ele opera em uma freqüência de 33 MHz, ou 33 milhões de transferências por segundo. Ou seja: uma transferência a cada 30 ns (nanossegundos, ou bilionésimos de segundo). Em intervalos de tempo curtos assim, atrasos, mesmo pequenos, são fatais. E fazer com que dados que saíram ao mesmo tempo da origem cheguem exatamente ao mesmo tempo ao destino é um desafio tecnológico imenso.
Por outro lado, com o aumento da capacidade de processamento dos chips modernos, que operam hoje na casa dos GHz (Gigahertz, ou bilhões de ciclos por segundo), juntar oito a oito os bits que chegam um após o outro em uma conexão serial e montar os bytes correspondentes é uma brincadeira de criança, por menores que sejam os intervalos que os separa. Não é preciso sincronizar condutores paralelos, apenas esperar os pulsos que chegam através de um único condutor. Resultado: a interface paralela ATA que, no “fim de carreira” chegou aos 133 MB/s, já está sendo substituída pela Serial ATA que, como diz o nome, é serial e usa um único condutor para transportar dados bit após bit em uma freqüência de 1,5 GHz. Descartando os bits extras usados para controle de erro e sincronização, ela alcança uma taxa de transferência de dados de 150 MB/s. E essa é apenas a implementação inicial, já que há planos para chegar em futuro próximo a 600 MB/s.
Em suma: a interface paralela tende a desaparecer simplesmente porque a evolução da capacidade de processamento fez com que, nas elevadas freqüências empregadas nos barramentos modernos, seja muito mais fácil desmontar os bytes na origem, transportá-los em série através de um único condutor e remontá-los no destino que, usando condutores em paralelo, fazê-los partir e chegar ao destino exatamente ao mesmo tempo
.

B. Piropo