ISA (Industry Standard
Architecture)
O ISA foi o primeiro barramento usado em micros PC, é
a arquitetura de barramento usada nos PCs XT e AT. A versão usada nos PCs AT é
também chamada de barramento AT, e tornou-se um padrão de fato na indústria de
computadores.
Lançada no começo dos anos 90, o barramento ISA
começou a ser substituído pela arquitetura de barramento local PCI nos últimos
anos. Muitos computadores fabricados hoje contém os dois tipos de barramento,
ISA (para dispositivos mais lentos ou antigos) e PCI (para dispositivos que
necessitem de maior performance).
Em 1993, a Intel e Microsoft introduziram uma nova
versão do ISA, chamada de ISA Plug and Play. A especificação Plug and Play
permite o sistema operacional configurar placas de expansão automaticamente, a
fim de que os usuários não necessitem mexer em jumper ou micro-chaves.
O
barramento ISA é formado pelos slots de 8 e 16 bits existentes nas placas de
CPU, além de alguns dos seus circuitos internos. Foi originado no IBM PC, na
versão de 8 bits, e posteriormente aperfeiçoado no IBM PC AT, chegando à versão
de 16 bits. Possui as seguintes características:
·
Transferências em grupos de 8 ou 16 bits
·
Clock de 8 MHz
Os
primeiros computadores pessoais, baseados no Intel 8088 e 8086, funcionavam a
velocidades de 4,77 e 6 MHz. A estas velocidades, o desempenho do barramento é
suficiente para acompanhar o resto do sistema.
Esta implementação define por isso um único barramento para interligar CPU, RAM
e todos os outros dispositivos. Este tipo de barramento surgiu com o IBM XT, é
síncrono com o processador e tem uma largura de 8 bits e uma taxa de transferencia de até 8 Megabytes/s . Posteriormente este barramento adotou o
nome de ISA XT ou ISA de 8 bits.
Em 1984
com o surgimento do processador Intel 80286 surgiu a norma ISA (Industry Standard Architecture),
que é uma evolução do barramento anterior. O i80286 trabalha a velocidades
entre 12-16MHz, o que é substancialmente superior à velocidade permitida pelo
barramento anterior.
Optou-se então pela pela
desincronização entre CPU e barramento. O barramento ISA trabalha sempre a 8
MHz, enquanto a velocidade do CPU varia. O barramento ISA, também denominado
ISA AT para se distinguir do anterior, tem 16 bits de largura e uma
taxa de transferencia de até 8 Megabytes/s .
Esquema do barramento ISA
de 8 bits:
Esquema do barramento ISA
de 16 bits:
Descrição do Barramento ISA
Parte 1 -
Porção A/B
Sinal |
Nome |
Pino |
E/S |
Descrição |
A0-A19 |
A0-A19 |
A31 a A12 |
S |
Barramento de endereços (sinal A0 pino A31, sinal A19 pino A12). |
AEN |
Address Enable |
A11 |
S |
Quando ativo, este sinal indica que a operação executada no barramento é de DMA. Devemos utilizar este sinal em nossos protótipos de modo que o decodificador não capture um dado erroneamente durante uma operação de DMA do micro. |
ALE |
Address Latch Enable |
A11 |
S |
Indica que há um endereço válido no barramento de endereços. Não é ativado durante operações de DMA. |
7CLK |
Clock |
B20 |
S |
Clock do barramento ISA, de 8 MHz. Ele não é simétrico, apresentando um ciclo de carga de 33%, ou seja, 1/3 em nível alto e 2/3 em nível baixo. |
D0-D7 |
D0-D7 |
A9 a A2 |
E/S |
Barramento de dados (D0 pino A9, D7 pino A2). |
/DACK1 |
DMA Acknowledge 1 |
B17 |
S |
Indica que o pedido de DMA 1 foi aceito e que o controlador de interrupção irá iniciá-lo. |
/DACK2 |
DMA Acknowledge 2 |
B26 |
S |
Indica que o pedido de DMA 2 foi aceito e que o controlador de interrupção irá iniciá-lo. |
/DACK3 |
DMA Acknowledge 3 |
B15 |
S |
Indica que o pedido de DMA 3 foi aceito e que o controlador de interrupção irá iniciá-lo. |
DRQ1 |
DMA Request 1 |
B18 |
E |
Faz um pedido de DMA nível 1 ao controlador de DMA. |
DRQ2 |
DMA Request 2 |
B6 |
E |
Faz um pedido de DMA nível 2 ao controlador de DMA. |
DRQ3 |
DMA Request 3 |
B16 |
E |
Faz um pedido de DMA nível 3 ao controlador de DMA. |
/I/O CH CK |
I/O Channel Check |
A1 |
E |
Ativando este sinal, gera-se uma interrupção não-mascarável (NMI). É ativado em situações de erro, como erro de paridade (Obs: este sinal deve ser utilizado com um circuito de coletor aberto). |
/I/O CH RDY |
I/O Channel Ready |
A10 |
E |
Gera wait states para operações de I/O 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. Devemos temporizar esta linha com muito cuidado, para não inserirmos wait states desnecessários (Obs: este sinal deve ser utilizado com um circuito de coletor aberto). |
/IOR |
I/O Read |
A14 |
S |
Indica que uma leitura em I/O está sendo executada. É ativado também durante ciclos de DMA. |
/IOW |
I/O Write |
A13 |
S |
Indica que uma escrita em I/O está sendo executada. É também ativado durante operações de DMA. |
IRQ3 |
Interrupt Request 3 |
B25 |
E |
Faz um pedido de interrupção nível 3 ao controlador de interrupções. |
IRQ4 |
Interrupt Request 4 |
B24 |
E |
Faz um pedido de interrupção nível 4 ao controlador de interrupções. |
IRQ5 |
Interrupt Request 5 |
B23 |
E |
Faz um pedido de interrupção nível 5 ao controlador de interrupções. |
IRQ6 |
Interrupt Request 6 |
B22 |
E |
Faz um pedido de interrupção nível 6 ao controlador de interrupções. |
IRQ7 |
Interrupt Request 7 |
B21 |
E |
Faz um pedido de interrupção nível 7 ao controlador de interrupções. |
IRQ9 |
Interrupt Request 9 |
B4 |
E |
Faz um pedido de interrupção nível 9 ao controlador de interrupções. |
/MEMR |
Memory Read |
B12 |
S |
Indica que está sendo executada uma operação de leitura em memória. É também ativado durante operações de DMA. |
/MEMW |
Memory Write |
B11 |
S |
Indica que está sendo executada uma operação de escrita em memória. É também ativado durante operações de DMA. |
OSC |
Oscilador |
B30 |
S |
Sinal com freqüência de 14, 31818 MHz, utilizado para a sincronização do vídeo CGA. Não é sincronizado com o clock do micro, portanto cuidado. |
RESET DRV |
Reset Driver |
B2 |
S |
Sinal de reset do sistema. |
TC |
Terminal Count |
B27 |
S |
Indica que um dos canais de DMA acabou de realizar a transferência de DMA programada. |
+5V |
+5V |
B3, B29 |
S |
+5V |
-12V |
-12V |
B7 |
S |
-12V |
-5V |
-5V |
B5 |
S |
-5V |
GND |
Terra |
B1, B10, B31 |
S |
Terra |
Sinais
precedidos do símbolo "/" são ativados em nível "0".
Parte 2 -
Porção C/D
Sinal |
Nome |
Pino |
E/S |
Descrição |
A17-A23 |
A17-A23 |
C8 a C2 |
S |
Barramento de endereços, parte alta. Estas linhas não são válidas durante todo o ciclo do barramento, por isto devemos utilizar um latch para armazenarmos seus valores (sinal A17 pino C8, sinal A23 pino C2). |
D8-D15 |
D8-D15 |
C11 a C18 |
E/S |
Barramento de dados, parte alta (sinal D8 pino C11, sinal D15 pino C18). |
/DACK0 |
DMA Acknowledge 0 |
D8 |
S |
Indica que o pedido de DMA 0 foi aceito e que o controlador de interrupção irá iniciá-lo. |
/DACK5 |
DMA Acknowledge 5 |
D10 |
S |
Indica que o pedido de DMA 5 foi aceito e que o controlador de interrupção irá iniciá-lo. |
/DACK6 |
DMA Acknowledge 6 |
D12 |
S |
Indica que o pedido de DMA 6 foi aceito e que o controlador de interrupção irá iniciá-lo. |
/DACK7 |
DMA Acknowledge 7 |
D14 |
S |
Indica que o pedido de DMA 7 foi aceito e que o controlador de interrupção irá iniciá-lo. |
DRQ0 |
DMA Request 0 |
D9 |
E |
Faz um pedido de DMA nível 0 ao controlador de DMA. |
DRQ5 |
DMA Request 5 |
D11 |
E |
Faz um pedido de DMA nível 5 ao controlador de DMA. |
DRQ6 |
DMA Request 6 |
D13 |
E |
Faz um pedido de DMA nível 6 ao controlador de DMA. |
DRQ7 |
DMA Request 7 |
D15 |
E |
Faz um pedido de DMA nível 7 ao controlador de DMA. |
/IOCS16 |
I/O Chip Select 16 bits |
D2 |
E |
Indica que haverá uma transferência de 16 bits no barramento de dados, utilizando endereçamento em I/O (Obs: este sinal deve ser utilizado com um circuito de coletor aberto). |
IRQ10 |
Interrupt Request 10 |
D3 |
E |
Faz um pedido de interrupção nível 10 ao controlador de interrupções. |
IRQ11 |
Interrupt Request 11 |
D4 |
E |
Faz um pedido de interrupção nível 11 ao controlador de interrupções. |
IRQ12 |
Interrupt Request 12 |
D5 |
E |
Faz um pedido de interrupção nível 12 ao controlador de interrupções. |
IRQ14 |
Interrupt Request 14 |
D7 |
E |
Faz um pedido de interrupção nível 14 ao controlador de interrupções. |
IRQ15 |
Interrupt Request 15 |
D6 |
E |
Faz um pedido de interrupção nível 15 ao controlador de interrupções. |
/MASTER |
Master |
D17 |
E |
Este sinal é ativado quando queremos que algum outro dispositivo assuma o controle do barramento (bus master). 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 manipule o barramento como bem entender. O novo mestre de barramento deverá obedecer aos sinais de temporização e devolver o controle no máximo em 15 m s. |
/MEMCS16 |
Memory Chip Select 16 bits |
D1 |
E |
Indica que haverá uma transferência de 16 bits no barramento de dados, utilizando endereçamento em memória (Obs: este sinal deve ser utilizado com um circuito de coletor aberto). |
/MEMR |
Memory Read |
C9 |
S |
É ativado quando é feita uma leitura em uma posição de memória acima de 1 MB. |
/MEMW |
Memory Write |
C10 |
S |
É ativado quando é feita uma escrita em uma posição de memória acima de 1 MB. |
SBHE |
System Bus High Enable |
C1 |
S |
Indica que a transferência de dados utilizará a parte alta do barramento de dados (D8-D15). Este sinal e A0 são decodificados para informar que tipo de transferência será efetuada (vide tabela). |
+5V |
+5V |
D16 |
|
+5 V |
Sinais
precedidos do símbolo "/" são ativados em nível "0".
SBHE |
A0 |
Função |
1 |
0 |
Transferência de 16 bits |
1 |
1 |
Transferência do byte alto |
0 |
0 |
Transferência do byte baixo |
0 |
1 |
Inválido |
Exemplos de aplicação:
Apesar de antiquado e lento, o ISA ainda é usado atualmente para
a conexão de periféricos lentos, como placas de som e modems, para os quais a
transmissão de dados a 8 Megabytes por segundo permitida pelo ISA é suficiente,
porém a tendência é que o ISA seja substituído por outros barramentos, a
maioria das placas mãe modernas traz apenas um slot ISA, e outras nenhum. Cada
vez mais modelos de placas de som e modems são lançados em versão PCI.