• Leonardo Ritter

O Passado - Barramento ISA

Atualizado: há 3 dias

Esta série de artigos é exclusiva para detalhar o funcionamento de interfaces de comunicação muito antigas, aparelhos antigos e componentes eletrônicos que foram muito importantes durante a evolução da tecnologia, mas que hoje em dia são obsoletos!

Nos anos 1980 já estava ficando extremamente necessário uma interface para conectar placas de vídeo, placas de som e diversos outros periféricos ao PC, foi quando surgiu uma das interfaces mais populares da história do computador pessoal: a ISA.

A interface ISA, abreviação para "Industry Standard Architeture" (Arquitetura Padrão da Indústria), foi o primeiro barramento para conexão de placas de expansão incorporado em placas de PC. O primeiro computador a utiliza-la foi o IBM PC, de 1981. Já o último à usa-la não se sabe, pois virou uma interface extremamente popular, apesar dos problemas de desempenho. No início dos anos 2000 ainda era possível encontrar placas-mãe para Athlon de socket 462 e até mesmo para o LGA775 da Intel que incluíam suporte ao barramento ISA.

Abaixo, uma placa-mãe para processadores Intel de socket mPGA478 e com suporte à memória RAM DDR1 400:

Imagem 1 - Placa-mãe pós-anos 2000 que ainda implementava o barramento ISA


CURIOSIDADE: A interface ISA, nas suas primeiras versões, também era chamada de XT Bus, devido a ela ter sido incorporada no PC XT, que veio logo após o PC original (conhecido como IBM PC).


Em sua versão original, que foi utilizada em placas baseadas no processador Intel 8088, a interface ISA foi implementada diretamente no barramento da CPU, que tinha apenas apenas 8 bits de largura e operava com um clock de 4,77 Mhz.

No PC XT o barramento ISA (ou XT Bus) passou a trabalhar com um clock de 8,33 Mhz, também tendo o mesmo clock do processador. A interface também manteve os 8 bits de largura. Veja abaixo, a imagem de um XT com Intel 8088:

Imagem 2 - Placa-mãe com CPU INtel 8088


Com a chegada dos processadores 286, a interface ISA foi revisada e passou à usar um barramento de 16 bits, mas mantendo a compatibilidade com as placas de expansão que trabalhavam com apenas 8 bits. Para que isso acontecesse, o conector antigo foi mantido e a nova revisão apenas incluiu algumas linhas a mais, passando de 62 para 98 terminais no conector.

Veja um cartão ISA com interface de 8 bits e um cartão ISA com interface de 16 bits abaixo:

Interface ISA de 8 e de 16 bits

Imagem 3 - Diferença entre conector de 8 e de 16 bits


Veja o conector ISA de 16 bits abaixo:

Imagem 4 - Conector ISA de 16 bits


Um cartão ISA de 8 bits possui 62 contatos (62 terminais no slot), enquanto um cartão de 16 bits possui 98 contatos (98 terminais no slot).

Veja que, como foi dito acima, o slot ISA de 16 bits possui apenas um conector extra de 36 contatos, tornando todos os cartões de 8 e 16 bits retro-compatíveis.

Veja uma placa-mãe com slots ISA abaixo:

Placa-mãe com interface ISA

Imagem 5 - Uma antiga placa-mãe em formato AT cheia de slots


CURIOSIDADE: Na Imagem 5 é possível notar oito conectores brancos acima dos slots ISA. Eles são utilizados para módulos SIMM de memória RAM FPM. Para saber mais sobre memórias RAM FPM e EDO, conectores SIMM de 30 e 72 pinos e muito mais, CLIQUE AQUI!


O controlador ISA era fácil de programar (como eu havia dito acima, era mesmo barramento oferecido pelo processador), sendo muito utilizado por programadores que trabalhavam com automação e robótica. Tão popular que quando o seu fim estava chegando, alguns começaram a fazer estoque de dispositivos compatíveis com ISA.

Por volta de 1988, a AST, Epson, Hewlett-Packard, NEC, Olivetti, Tandy, Wyse e a Zenith, todas elas lideradas pela Compaq, desenvolveram a eISA, abreviação para "Extended Industry Standard Interface" (Arquitetura Padrão da Indústria Estendida), uma opção ao recém lançado barramento Micro Channel Architeture (MCA) da IBM. O eISA vinha com barramento de 32 bits, no entanto, mantinha a compatibilidade com as revisões anteriores desta interface. Ele foi utilizado em placas-mãe com suporte à processadores 386 e 486 por volta do ano 1995, mas logo perdeu espaço para o moderno barramento PCI.

O conector eISA possui o mesmo tamanho do conector ISA comum, só que ele é mais alto e abriga um total de 4 linhas de pinos, divididas em duas camadas, sendo que as duas faixas superiores são para manter a compatibilidade com as versões anteriores da interface, e as duas faixas inferiores são para a interface eISA. Veja abaixo o esquema do slot:

Cartão eISA

Imagem 6 - Como era o conector eISA


Veja a imagem de slots eISA numa placa-mãe:

Placa-mãe com slot's eISA

Imagem 7 - Placa-mãe AT repleta de slots de expansão


Os slots eISA possuem cor marrom em 99% das placas-mãe. Assim, pela imagem, é fácil de confundi-los com o slot AGP, só que ao ver de perto, a diferença de tamanho entre o AGP e o eISA é enorme.

Compare um slot ISA de 16 bits com um slot eISA:

Interface ISA x eISA

Imagem 7 - Diferença entre o ISA e o eISA


Veja abaixo uma placa de vídeo eISA:

Placa de vídeo eISA da S3 Graphics

Imagem 8 - Uma 'dinossaúrica' placa de vídeo eISA


CURIOSIDADE: Estas placas de vídeo utilizavam interfaces VGA muito primitivas, tanto que a interface ISA vinha com uma linha de clock de 14,318 Mhz para sincronismo de vídeo CGA, sendo que os chips gráficos eram limitados apenas à formação de 256 cores, já que não havia largura de banda suficiente para transferir dados de vídeo com qualidade muito alta.

Em todas as revisões da interface ISA permaneram os jumpers nos cartões de expansão para que o usuário configurasse manualmente os endereços de DMA, IRQ e I/O. Quando o PC tinha vários periféricos instalados, a configuração dos jumpers deveria ser feita com muito cuidado, pois caso duas placas utilizassem o mesmo endereço, entrariam em conflito e não iriam funcionar corretamente.

Somente em 1993, uma especificação criada pela Microsoft e pela Intel permitiu que os cartões ISA fossem Plug and Play (Conectar e Usar), poupando o usuário de ter que configurar tudo ao instalar um periférico ISA, já que o BIOS configurava os endereços ao ligar o computador. Com a colocação desta nova tecnologia, os cartões que utilizavam jumpers passaram a ser chamados de placas Legacy ISA (placas ISA Legado).


CURIOSIDADE: Após a chegada do Plug and Play, os cartões Legacy ISA ainda populares eram os antigos modems, que trabalhavam via hardware e ofereciam vantagens em relação aos softmodems avançados lançados em meados de 1990.

Abaixo, a tabela com as principais características de todas as versões da interface ISA:

TABELA 0

Como você pode ver, apesar da interface ISA de 16 bits trabalhar com 8,33 Mhz, ela requer 2 pulsos de clock para enviar um bit por cada linha.

Apesar da interface eISA ter uma taxa de transferência teórica de 33,3 MB/s, na realidade não passa dos 16,6 MB/s a devido natureza lenta da interface, às limitações de implementação dos projetos e interferências eletromagnéticas com taxas mais altas.

Em todas as revisões da interface ISA é necessário tempos de espera entre uma atividade e outra, o que torna a comunicação ainda mais lenta.

Abaixo, você vê a pinagem do slot ISA de 8 bits e a sua extensão, de 16 bits.

Tabela 1 - Reveja a Imagem 4 e a Imagem 6 para entender a organização dos terminais

Veja abaixo, os pinos extras adicionados à interface eISA:

Interface eISA - pinagem do slot

Tabela 2 - Reveja a Imagem 6 para entender a organização dos terminais

Agora, uma breve dissertação sobre a serventia de cada pino:

Pinos A1 / B1 ao A31 / B31:


A0 ao A19: Barramento de endereços (apenas A0 ao A15 são utilizados - endereçamento de 16 bits);


D0 ao D7: Barramento de dados;


AES / AEN: Quando ativo, este sinal indica que a operação executada no barramento é de DMA. Este sinal deve ser utilizado para que o decodificador não capture um dado erroneamente durante uma operação de DMA do computador;


BALE / ALE: Indica que há um endereço válido no barramento de endereços (A0 ao A19). Esta linha é desativada durante operações de DMA. O endereço vindo pelo barramento de endereços é válido a partir da borda descendente de "BALE" até o final do ciclo de barramento. Dispositivos de memória devem travar o barramento "LA" na borda descendente de "BALE";


CLOCK / BCLK: Sinal de sincronismo do barramento ISA, podendo ser de 4,77 Mhz ou de 8,33 MHz. Ele não é simétrico, pois possui um ciclo de carga de 33%, ou seja, 1/3 em nível HIGH e 2/3 em nível LOW;


DRQ1: Faz um pedido de DMA nível 1 ao controlador de DMA;


/DACK1: Indica que o pedido de DMA 1 foi aceito e que o controlador de interrupção irá iniciá-lo;


DRQ2: Faz um pedido de DMA nível 1 ao controlador de DMA;


/DACK2: Indica que o pedido de DMA 2 foi aceito e que o controlador de interrupção irá iniciá-lo;


DRQ3: Faz um pedido de DMA nível 1 ao controlador de DMA;


/DACK3: Indica que o pedido de DMA 3 foi aceito e que o controlador de interrupção irá iniciá-lo;


/I/O CH CK: Quando este sinal está ativo, gera-se uma interrupção não-mascarável (NMI). É ativado em situações de erro, como erro de paridade. Este sinal deve ser utilizado com um circuito de coletor aberto;


/I/O CH RDY: Gera Wait States para operações de Entrada e Saída ou de memória. Se o circuito necessitar de Wait States, basta ativar esta linha após a decodificação do endereço e dos sinais "/MEMR", "/MEMW", "/IOR" ou "/IOW". Esta linha deve ser temporizada com muito cuidado, para que não seja inserido Wait States desnecessários. Manter essa linha em nível LOW por muito tempo pode causar problemas em alguns sistemas. "/I/O CH RDY" e "/NOWS" não devem ser usados ​​simultaneamente, pois isso pode causar problemas com alguns controladores de barramento. Este sinal também deve ser utilizado com um circuito de coletor aberto;


IRQ3: Pedido de interrupção nível 3 ao controlador de interrupções;


IRQ4: Pedido de interrupção nível 4 ao controlador de interrupções;


IRQ5: Pedido de interrupção nível 5 ao controlador de interrupções;


IRQ6: Pedido de interrupção nível 6 ao controlador de interrupções;


IRQ7: Pedido de interrupção nível 7 ao controlador de interrupções;


IRQ8: Pedido de interrupção nível 8 ao controlador de interrupções;


IRQ9: Pedido de interrupção nível 9 ao controlador de interrupções;


/IOR: Indica que uma leitura em I/O está sendo executada. Também é ativado durante ciclos de DMA. Tem um funcionamento análogo à linha "Strobe" da porta LPT (aquela porta rosada, utilizada principalmente para conectar impressoras antigas);

Para saber mais sobre a interface LPT, CLIQUE AQUI!


/IOW: Indica que uma escrita em I/O está sendo executada. Também é ativado durante operações de DMA. Também têm um funcionamento análogo à linha "Strobe" da porta LPT;


/MEMR: Indica que está sendo executada uma operação de leitura em memória. Também é ativado durante operações de DMA;


/MEMW: Indica que está sendo executada uma operação de escrita em memória. Também é ativado durante operações de DMA;


OSC: Sinal de sincronismo com frequência de 14,31818 MHz, utilizado para a sincronização de vídeo CGA. Não tem nada a ver com o clock da interface ISA;


T/C: Indica que um dos canais de DMA acabou de realizar a transferência de DMA programada;


RESET: Indica inicialização ou reinicialização do sistema;


REFRESH: Atualizar;


/NOWS: Nenhum estado de espera. Usado para encurtar o número de estados de espera gerados pelo timer padrão. Isso faz com que o ciclo do barramento termine mais rapidamente, pois os estados de espera não serão inseridos. A maioria dos sistemas irá ignorar o "/NOW" se o "/I/O CH RDY" estiver em nível LOW, só que isso pode causar problemas com alguns controladores de barramento se ambos estes sinais estiverem ativos simultaneamente.

Pinos C1 / D1 ao C18 / D18:


LA17 ao LA23: Barramento de endereços da parte alta, ou seja, dos 8 bits extras adicionados à interface ISA. Estas linhas não são válidas durante todo o ciclo do barramento, desta forma deve ser utilizado um Latch para armazenar seus valores;


D8 ao D15: Barramento de dados;


DRQ0: Faz um pedido de DMA nível 0 ao controlador de DMA;


/DACK0: Indica que o pedido de DMA 0 foi aceito e que o controlador de interrupção irá iniciá-lo;


DRQ5: Faz um pedido de DMA nível 5 ao controlador de DMA;


/DACK5: Indica que o pedido de DMA 5 foi aceito e que o controlador de interrupção irá iniciá-lo;


DRQ6: Faz um pedido de DMA nível 6 ao controlador de DMA;


/DACK6: Indica que o pedido de DMA 6 foi aceito e que o controlador de interrupção irá iniciá-lo;


DRQ7: Faz um pedido de DMA nível 7 ao controlador de DMA;


/DACK7: Indica que o pedido de DMA 7 foi aceito e que o controlador de interrupção irá iniciá-lo;


IRQ10: Pedido de interrupção nível 10 ao controlador de interrupções;


IRQ11: Pedido de interrupção nível 10 ao controlador de interrupções;


IRQ12: Pedido de interrupção nível 10 ao controlador de interrupções;

IRQ14: Pedido de interrupção nível 10 ao controlador de interrupções;


IRQ15: Pedido de interrupção nível 10 ao controlador de interrupções;


IOCS16: Indica que haverá uma transferência de 16 bits no barramento de dados, utilizando endereçamento em I/O. Para que uma transferência de 16 bits ocorra, este sinal deve ser mantido em nível LOW. Para este sinal deve ser utilizado um circuito de coletor aberto;


MEMCS16: Indica que haverá uma transferência de 16 bits no barramento de dados, utilizando endereçamento em memória. Este sinal deve ser utilizado com um circuito de coletor aberto;


/MASTER / MREQx: Este sinal é ativado quando algum outro dispositivo deve assumir o controle do barramento ISA. Deve ser acionado em conjunto com o sinal "DRQ". Quando o sinal "/DACK" correspondente for devolvido, todos os circuitos conectados ao barramento são colocados em Tri-State, permitindo que o dispositivo que mandou o sinal "/MASTER" manipule o barramento do jeito que quiser. O novo mestre de barramento deverá obedecer aos sinais de temporização e devolver o controle em no máximo 15 milissegundos;


MEMR: É ativado quando é feita uma leitura em uma posição de memória acima de 1 MB;


MEMW: É ativado quando é feita uma escrita em uma posição de memória acima de 1 MB;


SBHE: Sigla para System Bus High Enable. Indica que a transferência de dados utilizará a parte alta do barramento de dados, isto é, da linha D8 a linha D15. Este sinal "SBHE" e o "A0" são decodificados para informar que tipo de transferência será efetuada. Abaixo, a tabela com os tipos de transferência:

Modos de transferência de dados

Tabela 3

OBSERVAÇÃO: A parte alta do barramento de dados é os 8 bits extras, e a parte baixa do barramento de dados é os primeiros 8 bits, do pino D0 ao D7.


As linhas "TENSÃO" são para alimentação elétrica do cartão conectado. É utilizado tensões de +5 Volts, -5 Volts, +12 Volts e -12 Volts.

Agora, a descrição dos pinos exclusivos da interface eISA:


D17 ao D31: Barramento de dados;


LA2 ao LA16: Barramento de endereços eISA. Estas linhas não são válidas durante todo o ciclo do barramento, desta forma deve ser utilizado um Latch para armazenar seus valores;


L24# ao L31#: Barramento de endereços eISA. Estas linhas não são válidas durante todo o ciclo do barramento, desta forma deve ser utilizado um Latch para armazenar seus valores. Perceba que está faltando as linhas que vão do "LA17" ao "LA23", mas lembre-se de que elas estão na interface ISA 16 bits;


BE0# ao BE3#: Ativar Byte. 32 bits é igual à 4 Bytes. 1 Byte é enviado através de 8 linhas de dados, sendo que cada grupo de 8 linhas possui um "BEx#" para indicar ao receptor se o Byte enviado é válido ou não;


EX16#: Isso é usado pelo dispositivo escravo para informar ao mestre de barramento que ele é capaz de transferências de 16 bits;


EX32#: Isso é usado pelo dispositivo escravo para informar ao mestre de barramento que ele é capaz de transferências de 32 bits;


EXRDY: Pronto para eISA. Se este sinal for declarado, o ciclo terminará na próxima borda de subida do BCLK. O dispositivo escravo reduz este sinal para inserir estados de espera (os mesmos Walt States inseridos pelo "/I/O CH RDY");


START#: Este sinal é em nível LOW quando o ciclo atual do barramento está na fase inicial. Os sinais de endereço e "M / IO#" são decodificados durante esta fase. Os dados são transferidos durante a fase de comando (indicada pelo "CMD#");


CMD#: Este sinal indica que o ciclo de barramento atual está na fase de comando. Após a fase de início ("START#"), os dados são transferidos durante a fase de "CMD#". O "CMD#" permanece firme desde a borda descendente do "START#" até o final do ciclo do barramento;


W/R#: Escrever ou ler. Usado para indicar se o ciclo de barramento atual é uma operação de leitura ou gravação. Indica leitura quando em nível HIGH e escrita quando em nível LOW;


M/IO#: Isso é usado para indicar se o ciclo de barramento atual é uma operação de leitura / escrita ("/MEMR" / "/MEMW") ou uma operação de Entrada / Saída ("/IOR" / "/IOW");


SLBURST#: O dispositivo escravo coloca esta linha em HIGH para indicar que é capaz de estourar ciclos;


MSBURST#: O mestre de barramento responderá com este sinal se também for necessário estourar ciclos;


MAKx: Indica que a solicitação do barramento mestre ("/MREQx" ou "/MASTER") foi concedida para o cartão inserido no slot "x".


LOCK#: Colocar esta linha em HIGH impede que outros dispositivos solicitem o controle do barramento via "/MASTER" ou /MREQx";

Agora, serão explicado os principais pontos que definem o funcionamento da interface ISA e eISA:

A interface ISA de 8 bits utiliza apenas um ciclo de barramento para efetuar uma leitura ou uma escrita, da mesma forma que ocorre com a interface ISA de 16 e de 32 bits. Repare que, quando digo "ciclo", não estou me referindo aos ciclos de clock na linha "CLOCK", mas sim a quantidade de ciclos de clock necessárias para efetuar uma operação ("/MEMR", "/MEMW", "/IOR" ou "/IOW") pelo barramento.

A interface eISA possui duas linhas extras para indicar que uma transferência vai extrapolar o ciclo de barramento. Estes pinos são o "SLBURST#" e "MSBURST#". Assim, o emissor envia os dados para o receptor numa espécie de "rajada", entregando mais pacotes de dados sem que seja executado todo o protocolo novamente (dos tempos de espera entre atividades...), algo análogo ao Burst-Chop da memória RAM.

As "QUATRO OPERAÇÕES"


Utilizei os termo "quatro operações" para se referir às atividades executadas no barramento, que podem ser sinalizadas pelas linhas "/MEMR", "/MEMW", "/IOR" e "/IOW".

Caso seja utilizada a interface de 16 bits, também são utilizadas as linhas "MEMW" e "MEMR", com funcionamento análogo à "/MEMW" e "/MEMR", mas exclusivas para sinalizar uma leitura ou escrita em memória acima de 1 MB de capacidade.

Na interface eISA, de 32 bits, é utilizado a linha "W/R#" para informar uma escrita ou gravação e a linha "M/IO#" para informar se é uma atividade envolvendo memória (Leitura / Escrita) ou uma atividade envolvendo transferência de dados (Entrada / Saída).

Transferências acima de 8 bits


Na interface de 16 bits, 2 Bytes podem ser transferidos simultaneamente, sendo que o Byte mais significativo (também chamado de Byte alto) é transferido pelas linhas "D8" a "D15", e o Byte menos significativo (também chamado de Byte baixo) é transferido pelas linhas "D0" a "D7".

Para que a transferência de 16 bits seja permitida, um sinal em nível LOW deve ser mandado pela linha "IOCS16". Após isso, a linha "SBHE" e "A0" servem para informar o receptor dos dados a forma com que o barramento de 16 bits será utilizado (ver Tabela 3). A transferência de 16 bits só é permitida se "SBHE" = 1 e "A0" = 0, caso contrário será feita a transferência normal, de 8 bits.


Ao utilizar um cartão eISA, apenas as linhas de endereço "A0" e "A1" da interface ISA de 8 bits são ativadas. Anteriormente vimos que, para a transferência de dados em modo 16 bits acontecer, deve ser utilizado as linhas "SBHE" e "A1" para mostrar a forma com que os 2 Bytes devem ser enviados pelo barramento. No barramento de 32 bits ocorre a mesma coisa: As linhas "SBHE", "A0" e "A1" devem mostrar ao receptor a forma com que 4 Bytes podem ser transmitidos pelo barramento.

Endereçamento


Outra peculiaridade é que, apesar do slot de 8 bits possuir 20 linhas de endereço (A0 ao A19), apenas 16 delas são utilizadas.

Na versão de 16 bits, foi adicionado mais algumas linhas (LA17 ao LA23), permitindo o endereçamento de 24 bits.

No slot eISA, que possui 32 bits, caso for utilizado um cartão eISA, as 19 linhas de endereço da interface de 8 bits são desabilitadas (exceto A0 e A1), restando apenas LA17 ao LA23 da interface de 16 bits e as linhas LA2 ao LA16 e LA24 ao LA31 da interface de 32 bits.

Os tempos de espera


A linha "/I/O CH RDY" serve para adicionar tempos de espera entre os ciclos de atividade ("/MEMR", "/MEMW", "/IOR" ou "/IOW") dos dispositivos inseridos no barramento. Manter a linha "/I/O CH RDY" em nível baixo durante muitos ciclos de clock pode gerar problemas no sistema e, principalmente, lentidões ainda maiores. Perceba que a linha "/NOW" serve justamente para fazer o contrário, isto é, diminuir o tempo de espera entre as atividades do barramento. Manter os dois sinais ativos pode gerar problemas, apesar de o sistema ignorar o "/NOW" enquanto o "/I/O CH RDY" estiver em nível LOW.

A relação com a Memória RAM


Perceba que a interface de 16 bits possui os pinos "MEMR" e "MEMW", presente nos 36 pinos extras do slot de 16 bits, que servem para indicar leitura ou escrita em memória maior que 1 MB.


Mas acessar a memória diretamente? Exatamente!


Na época em que o barramento ISA foi lançado, ele era ligado diretamente ao barramento do processador, que na época tinha uma largura de apenas 8 bits e um clock de 4,77 Mhz.

A memória RAM também era ligada ao barramento do processador, obviamente, portanto, todos os periféricos poderiam trocar dados, fazer interrupções na CPU, gravar e ler na memória RAM, fazer tudo pelo mesmo caminho. Veja o diagrama de blocos de uma placa-mãe para processador 8088 abaixo:

Diagrama de uma placa-mãe para CPU 8088

Diagrama 1 - Como era uma placa-mãe para processador 8088


Perceba o bloco "RAM Dinâmica" e os slots ISA de 8 bits.

Para o processador 286, com um barramento de 16 bits e endereçamento de 24 bits, foi incorporada a interface ISA de 16 bits. Veja o diagrama de uma placa-mãe para CPU 286 abaixo:

Placa-mãe para CPU 286

Diagrama 2 - Como era uma placa-mãe para processador 286


Perceba que nos dois diagramas apresentados, todos os circuitos da placa-mãe eram ligados ao mesmo barramento de dados fornecido pelo processador. Este barramento continha as linhas de endereço, as linhas de dados e as linhas de controle. O que os engenheiros fizeram foi colocar slots na placa-mãe para que o usuário adicionasse mais circuitos ao PC.

Os clocks dos processadores de gerações seguintes (o 386, 486 e etc) foram aumentando, passando dos 10 Mhz, e a interface ISA foi ficando para trás, já que não dava pra fazer aumento do clock devido a manter a compatibilidade com placas antigas e também devido as limitações do barramento. Sendo assim, o barramento ISA foi desconectado da CPU, ganhando um controlador próprio e idêntico ao barramento do processador, que acabou sendo embutido no chipset Ponte Sul das placas-mãe, permitindo que tal interface continuasse a ser utilizada apesar da evolução constante nas 'outras regiões' das PCBs.

Se quiser saber mais sobre a arquitetura das placas-mãe e o agrupamento cada vez maior de blocos de hardware em poucos chips, CLIQUE AQUI!

Alguns detalhes que complementam tudo o que foi dito...


Um detalhe bastante interessante é que a interface ISA já foi utilizada até para conectar o chip do BIOS da placa-mãe. Observe a imagem abaixo:

Imagem 9 - Placa-mãe PC Chips cujo chip de firmware é implementado na interface ISA


O uso foi tão difundido, que ao ver sua aposentadoria chegando a 'dona' Intel resolveu criar um substituto à altura: a interface LPC, barramento com largura de 4 bits e que utiliza o clock da interface PCI e parte da lógica de funcionamento da interface ISA. Para saber mais sobre ela, basta CLICAR AQUI e ler o texto dedicado ao Super I/O.


As placas "desdentadas"


Se você pegar um cartão ISA, verá que em muito casos nem todos os contatos do conector estão presentes. Isso ocorre pois nem todos os circuitos utilizavam todas as linhas do barramento.

Observe este cartão para Joystick:

Cartão adaptador para Joystick

Imagem 10 - Placa de expansão ISA para conectar Joysticks analógicos


Repare no conector ISA de apenas 8 bits. Para saber mais sobre a interface GAME, CLIQUE AQUI!


Observe a seguinte placa de som:

Placa de som ISA

Imagem 11 - Placa de áudio com interface ISA


Esta é uma placa de som da Creative Labs. Além de ter os conectores P2, vem com uma interface GAME. Repare no conector ISA de 16 bits com vários contatos ausentes.


A PCB e o slot


Já que o assunto integrou até a pinagem dos slots, nada melhor que dissertar sobre a confecção destes componentes.

Vamos começar pela PCB, tanto da placa-mãe quanto da placa de expansão, que serve de substrato para a soldagem dos chips e demais componentes.

Em geral, a placa de circuito impresso pode ter uma ou mais camadas, todas feitas em FR4, isto é, cada camada é composta por uma fina folha de poliepóxido reforçado com um tecido de lã de vidro (fibra de vidro).


As trilhas são feitas de Cobre puro (CU1100) depositado sobre a superfície polimérica. Já os contatos elétricos do módulo podem ser feitos de Cobre puro galvanizado com Ouro, ou, geralmente, materiais mais comuns, como aqueles que serão descritos mais abaixo, neste tópico.


Já o slot também é plástico, obviamente, mais especificamente LCP, sigla para "Liquid Crystal Polymer", um material muito utilizado em slots e conectores de placas de circuito devido a sua boa rigidez dielétrica e resistência a altas temperaturas.


De qualquer forma, a indústria faz uso apenas de termoplásticos, e que devem seguir a norma UL 94V-0. Para saber mais sobre tal norma, CLIQUE AQUI! e leia o tópico "Indicador de Flamabilidade".


Já os terminais destes slots podem ser feitos a base de ligas de Cobre com algum tipo de galvanização:


-> Bronze fosforado com dupla galvanização a frio (Estanho sobre Níquel);

-> Bronze fosforado com dupla galvanização a frio (Ouro sobre Níquel);

-> Bronze fosforado galvanizado a frio com Estanho ou Ouro;

-> Cobre galvanizado a frio com Estanho ou com Ouro (como é o caso dos pinos de processadores).


Para saber mais sobre polímeros e elastômeros, comece CLICANDO AQUI!

Para saber mais sobre cristais líquidos, CLIQUE AQUI!

Para saber mais sobre as ligas não-ferrosas com base no Cobre, CLIQUE AQUI!

Para saber mais sobre o FR4, CLIQUE AQUI! (exemplos de uso de polímeros e elastômeros) e CLIQUE AQUI! (aditivações em compósitos).


Os barramentos e a Lógica TTL


Este conteúdo veio a calhar como exemplo para outro texto do blog: Aquele sobre "Pares Diferenciais". Para acessa-lo, basta CLICAR AQUI!


O TTL (Lógica Transistor-Transistor) é um circuito simples, muito conhecido no meio dos entusiastas e técnicos em eletrônica, sendo demasiadamente utilizado em barramentos com várias linhas de dados em paralelo, como é o caso da interface ISA, seja ela com barramento de 8, 16 ou 32 bits (eISA). Por operar apenas com 5 e 12 Volts, não faz uso da lógica LVTTL (que trabalha com 3,3 Volts).

Após o barramento ISA veio o VLB. Se quiser saber mais sobre esta interface, que também é paralela, CLIQUE AQUI!

O barramento PCI surgiu para eliminar as duas anteriores, sendo também um barramento paralelo, porém, com maior taxa de transferência. Para aprender mais sobre o PCI, CLIQUE AQUI!

Com as limitações do PCI, a indústria criou uma versão "melhorada" desta interface que era exclusiva para placas de vídeo: o AGP. Para conhecer melhor esta tecnologia, CLIQUE AQUI!


E assim evoluímos até chegar no ápice, com o PCI Express, que se mantém a "bola da vez" há mais de 10 anos, recebendo atualizações constantes, mas sem perder a retro-compatibilidade!


Ficou com alguma dúvida? Achou que falta alguma coisa? Mande um e-mail para hardwarecentrallr@gmail.com.


Gostou do artigo? É só curtir e compartilhar nas redes sociais! Ajude a espalhar conteúdo de qualidade!

 

FONTES e CRÉDITOS

Imagens: Leonardo Ritter, Google Imagens;

Tabelas e diagramas: Leonardo Ritter;

Fontes: Clube do Hardware; Hardware.com; Universidade Federal do Rio Grande do Sul; Pinouts.ru.


Última atualização: 24 de Abril de 2022.

1.129 visualizações