Barramento ISA Barramento ISA z z z z Industry Standard Architecture Barramento Industrial desenvolvido pela IBM em 1980. O primeiro computador pessoal IBM (1981) inclui uma adaptação do barramento ISA de 8 bits, para a interligação dos diversos controladores e periféricos. Slot de expansão ISA a 8 bits. Barramento ISA z z No XT (8088) o barramento surgiu como necessidade de expansão do computador devido às limitações tecnológicas Inicialmente era uma extensão do barramento do CPU Barramento ISA z Placas ISA de 8 bits: usam apenas 62 pinos Barramento ISA z Placas ISA de 16 bits: usam 98 (62+36) pinos Barramento ISA z z Inicialmente (PC-XT) apenas foram ligadas 10 linhas de endereços o que limitava o espaço IO a 3FFh. Sendo descodificadas apenas 10 linhas significa que poderia existir sobreposição de endereços, por exemplo: 300H=0011 0000 0000 700H=0111 0000 0000 Barramento ISA z z z z z Sinal de relógio do Barramento: 8MHz Largura do Bus de dados: 16 bits Taxa máxima de transferência de dados (teórica) : (8 Mbytes/s = 64 Mbits/s) Vantagens: Baixo custo, fácil desenvolvimento. Desvantagens: Baixa velocidade, não permite implementação de mecanismos “plug-play”, obsoleto! Barramento ISA Barramento ISA Barramento ISA Barramento ISA Barramento ISA Cuidado com a notação: Como a designação dos pinos no barramento é por A, B, C e D. As designações A1 a A31 são frequentemente confundidas com as linhas de endereços! Barramento ISA z Linhas de endereços: • z A0..A19, Apenas as linhas de A0 a a15 são usadas para endereços I/O Linhas de dados • D0..D7 z Linhas de alimentação • GND, -5V, +5V, -12V, +12V Barramento ISA z Linhas de relógio: • BCLK • (Bus Clock), é o sinal de relógio do barramento os ciclos de leitura e escrita no barramento são referenciados a este relógio. Não existe um valor único para a frequência deste relógio, pode variar de 4.77MHz a 14MHz (típico a 8 MHz) OSC (Oscillator) é uma linha de relógio de período de 70 ns (14.31818MHz). Este sinal não é síncrono com o relógio do sistema. Barramento ISA z Linhas de controlo: • AEN (Adress ENable), indica que nas linhas de endereços existem valores de endereços válidos • ALE (Adress Latch Enable) pode ser usada para efectuar o sincronismo da descodificação de endereços • IOR (I/O Read), strobe para a leitura de dados • IOW (I/O Write), strobe para a escrita de dados • I/O CS16, Colocada nível baixo, pelo dispositivos de forma a indicar a sua capacidade para efectuar transferência de dados a 16 bits. Este sinal é colocado a zero pela lógica de descodificação das linhas SA15 a SA0. • BHE, usada para indicar transferência nas linhas de dados de D8 a D15 Barramento ISA Ciclo de leitura I/O Barramento ISA Ciclo de escrita I/O Barramento ISA z z z Na implementação de porto IO de 8 bits o fluxo de dados é efectuado pelas linhas D0..7 independente do endereço IO ser par ou impar A transferência é efectuada realizando apenas um ciclo de leitura ou escrita São usadas as instruções inportb(..) e outportb(..) Barramento ISA z Na implementação de porto IO de 16 bits, é possível efectuar a transferência (leitura ou escrita) dos 16 bits num único ciclo, para isso: • O byte menos significativo (D0..7) • O byte mais significativo (D8..15) • Quando estiver seleccionado o endereço a placa deve colocar a linha IO CS16 a nível baixo, caso contrário a apenas são usadas as linhas D0..D7 Barramento ISA z z z O endereço par é seleccionado por A0=0 e o endereço impar por /BHE=0 Se o endereço para a transferência de 16 bits não for par são realizados 2 ciclos de IO São usadas as instruções inport(..) e outport(..) Barramento ISA z z z Devem ser colocados buffers nas linhas de dados e de endereços, para efectuar isolamento eléctrico e evitar sobrecarregar o barramento (será o buffer a fornecer a corrente e tensão necessária para os níveis lógicos) Linhas de endereços unidireccionais (‘244) Linhas de dados bi-direccionais (‘245) Barramento ISA Modelo de expansão no barramento ISA DISPOSITIVO Descodificador de endereços Barramento de endereços n /CS Bar ra me nto PC ISA A0, A1, … A0, A1,… Linhas de controlo /RD, /WR, … 8 Barramento de dados D0..7 Barramento ISA Implementação de Porto de Entrada/Saída Barramento ISA Conversor Digital/Analógico DAC0832