Aula Teórica 9 - w3.ualg.ptw3.ualg.pt/~apcosta/pin/Teoricas/Teorica09.pdf · dados. Isto poupa no...

7
Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa 1 Aula Teórica 9 Sumário: Os sistemas de barramentos: A arquitectura de 8 bits, a arquitectura de 16 bits, os sistemas ISA, EISA, VLB e PCI. Leitura Recomendada: Capítulos 20, 21, 22, 24 e 25 - Hans-Peter Messmer, The Indispensable PC Hardware Book, Addison- Wesley. Arquitectura de 8 bits (PC/XT) A parte central é o processador (8086). Também pode ser instalado um coprocessador matemático (8087). O 8284 é o circuito oscilador, gerador do relógio do sistema. Um outro componente essencial é a RAM. O processador está ligado por um bus de dados de 16 bits para transferência de dados, um bus de endereços de 20 bits para endereçamento da memória, e um bus de controlo. Os sinais de controlo são gerados pelo controlador do bus (8088) de acordo com as instruções do processador. Figura nº 1 – A arquitectura de 8 bits. O 8086 tem quatro buses de endereços e quatro buses de dados, são eles: Buses locais. Buses do sistema, que ligam aos slots de expansão (são de 8 bits). Buses de memória, que ligam aos chips DRAM (*). Buses X, que ligam às unidades E/S e à ROM BIOS. (*) O multiplexador é usado para descodificar o endereço enviado pelo processador durante o acesso à memória. Em cada acesso é feito o teste de paridade para verificar a validade dos dados lidos da memória. O PIC (Programmable Interrupt Controller – 8259A) serve de suporte à comunicação entre o CPU e os periféricos, fazendo a gestão das interrupções de hardware enviadas pelos periféricos, tem 8 linhas IRQ. Além do PIC, está presente um outro chip de suporte, o PIT (Programmable Interval Timer – 8253). Tem três contadores individuais, o contador 0 é usado para fazer a actualização periódica do relógio interno do sistema. Para isso, o contador está ligado à linha IRQ0 do PIC. O contador 1, juntamente com os chips DMA, realizam o refrescamento da memória. E o contador 2 gera uma frequência de som para o speaker.

Transcript of Aula Teórica 9 - w3.ualg.ptw3.ualg.pt/~apcosta/pin/Teoricas/Teorica09.pdf · dados. Isto poupa no...

Page 1: Aula Teórica 9 - w3.ualg.ptw3.ualg.pt/~apcosta/pin/Teoricas/Teorica09.pdf · dados. Isto poupa no número de linhas necessárias, mas aumenta a quantidade de tempo necessária para

Periféricos e Interfaces Ano lectivo 2003/2004Docente: Ana Paula Costa

1

Aula Teórica 9

Sumár io:Os sistemas de barramentos: A arquitectura de 8 bits, a arquitectura de 16 bits, os sistemas ISA, EISA,VLB e PCI.

Leitura Recomendada:Capítulos 20, 21, 22, 24 e 25 - Hans-Peter Messmer, The Indispensable PC Hardware Book, Addison-Wesley.

Arquitectura de 8 bits (PC/XT)

A parte central é o processador (8086). Também pode ser instalado um coprocessador matemático (8087).O 8284 é o circuito oscilador, gerador do relógio do sistema. Um outro componente essencial é a RAM. Oprocessador está ligado por um bus de dados de 16 bits para transferência de dados, um bus de endereçosde 20 bits para endereçamento da memória, e um bus de controlo. Os sinais de controlo são gerados pelocontrolador do bus (8088) de acordo com as instruções do processador.

Figura nº 1 – A arquitectura de 8 bits.

O 8086 tem quatro buses de endereços e quatro buses de dados, são eles:• Buses locais.• Buses do sistema, que ligam aos slots de expansão (são de 8 bits).• Buses de memória, que ligam aos chips DRAM (* ).• Buses X, que ligam às unidades E/S e à ROM BIOS.

(* ) O multiplexador é usado para descodificar o endereço enviado pelo processador durante o acesso àmemória. Em cada acesso é feito o teste de paridade para verificar a validade dos dados lidos da memória.

O PIC (Programmable Interrupt Controller – 8259A) serve de suporte à comunicação entre o CPU e osperiféricos, fazendo a gestão das interrupções de hardware enviadas pelos periféricos, tem 8 linhas IRQ.

Além do PIC, está presente um outro chip de suporte, o PIT (Programmable Interval Timer – 8253). Temtrês contadores individuais, o contador 0 é usado para fazer a actualização periódica do relógio interno dosistema. Para isso, o contador está ligado à linha IRQ0 do PIC. O contador 1, juntamente com os chipsDMA, realizam o refrescamento da memória. E o contador 2 gera uma frequência de som para o speaker.

Page 2: Aula Teórica 9 - w3.ualg.ptw3.ualg.pt/~apcosta/pin/Teoricas/Teorica09.pdf · dados. Isto poupa no número de linhas necessárias, mas aumenta a quantidade de tempo necessária para

Periféricos e Interfaces Ano lectivo 2003/2004Docente: Ana Paula Costa

2

O teclado é ligado ao bus do sistema por um PPI (Programmable Peripheral Interface – 8255).

Antes da existência da CMOS e do relógio de tempo real, a configuração do sistema era feita através deswitches (DIP switches). Com a introdução da CMOS os DIP switches deixaram de ser necessários.

Os componentes de hardware instalados nos slots de expansão são acedidos via portos. Os endereços e osdados são transferidos nos buses X, de E/S.

Para além do processador, existe um outro chip capaz de realizar acessos directos à memória: O DMA(8237), que é usado para transferir dados rapidamente entre a RAM e as unidades de E/S, tais como ocontrolador de disquetes ou o controlador do disco rígido. O 8237 tem quatro canais para transferência,que podem ser programados separadamente. O canal 0 é reservado para fazer o refrescamento damemória e é activado periodicamente pelo PIT. Os restantes três canais estão disponíveis paratransferência de dados (o canal 2 normalmente é atribuído ao controlador de disquetes e o canal 3 aocontrolador do disco rígido).

Figura nº 2 – A arquitectura de 16 bits.

Page 3: Aula Teórica 9 - w3.ualg.ptw3.ualg.pt/~apcosta/pin/Teoricas/Teorica09.pdf · dados. Isto poupa no número de linhas necessárias, mas aumenta a quantidade de tempo necessária para

Periféricos e Interfaces Ano lectivo 2003/2004Docente: Ana Paula Costa

3

Arquitectura de 16 bits (PC/AT)

Em comparação com o XT, a arquitectura do AT é bastante avançada (AT significa mesmo AdvancedTecnology), vamos ver as principais diferenças:

O AT tem um processador 80286, com um endereçamento de 24 linhas (o que possibilita um máximo de16 MBytes de espaço de endereçamento) e pode correr tanto em modo real como em modo protegido. Obus de dados continua a ser de 16 bits.

Tem um bus de endereços a mais, constituído pelas linhas adicionais do bus de endereços.

Os slots de expansão no AT são de 16 bits.

Tem dois controladores PIC, um funciona como mestre e o outro como escravo. Assim, tem 16 linhasIRQ.

O teclado está ligado a um controlador do teclado e não ao PPI 8255, que deixa de existir.

Em vez dos switches DIP, no AT encontram-se a CMOS e o relógio de tempo real, pelo que deixa de sernecessário trabalhar com jumpers para configurar o sistema.

O AT tem dois chips DMA em cascata, o que leva à existência de sete canais disponíveis paratransferência de dados.

O bar ramento ISA

ISA é a abreviatura de Industrial Standard Architecture e define um standard obrigatório para todos osfabricantes, estipulando, entre outras, as características do bus dos slots de expansão do AT.No AT, o bus dos slots funciona a uma frequência máxima de 8.33 MHz (tem a ver com os limites físicosdos chips, que aquecem demasiado se tentarem trabalhar a frequências mais elevadas).

A arquitectura EISA (Extended ISA)

Com a introdução dos microprocessadores de 32 bits, com buses de endereços e dados também de 32 bits,foi necessário estender também o bus ISA. Daí resultou a arquitectura EISA, que mantém acompatibilidade com o sistema ISA. Desta forma, pode-se incorporar componentes ISA no sistema EISA,sem problemas.

Os componentes ISA, embora continuem a funcionar no sistema EISA, não conseguem tirar o máximopartido do sistema, só os componentes EISA (que têm uma arquitectura melhorada) conseguem retirartodo o partido do sistema EISA.

O gerador do relógio fornece um sinal de relógio ao CPU e ao bus EISA (o que faz com que amboscorram sincronizados). A frequência máxima do bus EISA é de 8.33 MHz, o que determina a taxa deacesso do processador a todas as unidades externas. O acesso à memória pode ser feito na frequênciamáxima do relógio.

O buffer do bus EISA controla as transferências de dados entre o bus local e o bus EISA. O coração dobus EISA é o seu controlador, que faz a distinção entre componentes e funcionamento EISA ou ISA econtrola todas as operações.

Placas EISA com o seu bus master próprio têm uma interface que permite ao CPU local (o bus master)controlar o bus EISA. Isto torna possível que um processador externo ou uma placa EISA também tenhamcontrolo sobre o bus, e consigam aceder à RAM, ao disco rígido e a todos os outros componentes dosistema por sua conta, sem terem que ser suportados pelo processador.

Os chips EISA podem ser acedidos através de portos, cada slot de expansão pode ser acedidoindividualmente.

Page 4: Aula Teórica 9 - w3.ualg.ptw3.ualg.pt/~apcosta/pin/Teoricas/Teorica09.pdf · dados. Isto poupa no número de linhas necessárias, mas aumenta a quantidade de tempo necessária para

Periféricos e Interfaces Ano lectivo 2003/2004Docente: Ana Paula Costa

4

A informação de configuração das placas EISA é armazenada numa CMOS estendida, com 4 KBytes paraesse propósito. Programas de instalação especiais fornecem suporte para configuração das placas EISA, eautomaticamente escrevem os dados na CMOS estendida. Informação típica guardada são quais os portosde E/S utilizados pela placa, que linhas IRQ e DMA estão atribuídas à placa, etc.. Esta informação dosistema EISA pode ser acedida (lida/escrita) através de vários serviços da função D8H da interrupção 15H( consultar páginas 671 a 674 do livro The Indispensable PC Hardware Book).

Figura nº 3 – O barramento EISA.

Nos componentes que requerem taxas de transferência de dados muito elevadas (como as placas gráficasou o disco rígido) os 8 MHz do bus EISA rapidamente se tornaram insuficientes. Com o conceito de buslocal tentou-se colocar o bus desses equipamentos a trabalhar à mesma frequência do CPU.

A Intel desenvolveu o bus PCI (Peripheral Component Interconnect) e o comité VESA desenvolveu oVLBus. Eles foram introduzidos independentemente e são ambos standards de bus local.

O bus local VESA (VLB)

O VLB representa uma expansão dos sistemas ISA/EISA e funciona à mesma frequência do processador.Está ligado directamente ao bus local do CPU de um 80386, 80486 ou Pentium. O VLB está situado entreo sistema processador/memória e o bus de expansão standard. O controlador do sub-sistema VLB geratodos os sinais necessários (endereços, dados e controlo), e regula todo o funcionamento do bus.

Usando slots de expansão, o VLB corre a um máximo de 50 MHz (seis vezes mais do que o sistemaEISA). Se não existir nenhum slot de expansão, o VLB poderá operar até 66 MHz.

É incluído apenas um contacto de interrupção na especificação VLB (linha IRQ9), que está directamenteligado à linha IRQ9 do bus (E)ISA. Normalmente uma placa VLB também utiliza o slot (E)ISA existente,pelo que estão disponíveis linhas de interrupção suficientes.

O VLB suporta uma área de endereços de E/S de 64 KBytes para portos de 8, 16 ou 32 bits.

Page 5: Aula Teórica 9 - w3.ualg.ptw3.ualg.pt/~apcosta/pin/Teoricas/Teorica09.pdf · dados. Isto poupa no número de linhas necessárias, mas aumenta a quantidade de tempo necessária para

Periféricos e Interfaces Ano lectivo 2003/2004Docente: Ana Paula Costa

5

Figura nº 4 – Arquitectura do VLB.

O VLB não implementa DMA.

O bar ramento PCI

PCI é hoje a solução standard para os PC´s, e para as placas gráficas a interface mais utilizada é a AGP(Accelerated Graphics Ports).

A estrutura do bus PCI é a seguinte:

Figura nº 5 – O barramento PCI.

Page 6: Aula Teórica 9 - w3.ualg.ptw3.ualg.pt/~apcosta/pin/Teoricas/Teorica09.pdf · dados. Isto poupa no número de linhas necessárias, mas aumenta a quantidade de tempo necessária para

Periféricos e Interfaces Ano lectivo 2003/2004Docente: Ana Paula Costa

6

A ponte PCI representa a ligação entre o sistema processador/RAM e o bus PCI. Todas as unidades PCIindividuais (adaptador SCSI, adaptador LAN, adaptador gráfico, porto de expansão do bus) estão ligadosao bus PCI. Ao contrário do VLB, estas unidades podem ser integradas na motherboard, mas na maioriados casos são construídas como adaptadores.

A interface do bus de expansão é um outro tipo de unidade PCI. Com ela é possível ter um sistema de busISA, EISA ou outro, ligado ao sistema PCI, sendo assim considerado como mais uma unidade PCI. Nototal, é possível ter até dez unidades PCI ligadas ao bus PCI.

• A ponte PCI

Figura nº 6 – Estrutura da ponte PCI.

A parte do bus local ligada ao CPU é conhecida como bus primário (Northbridge). A parte ligada ao busPCI é conhecida como bus secundário (Southbridge). O registo de configuração guarda os dados deconfiguração. Os prefetch buffers (leitura) e os posting buffers (escrita) servem para armazenartemporariamente os dados a serem transferidos.

No bus PCI as mesmas linhas são usadas alternadamente como linhas de endereços ou como linhas dedados. Isto poupa no número de linhas necessárias, mas aumenta a quantidade de tempo necessária pararealizar uma transferência.

Uma característica essencial da ponte PCI (que é a grande diferença em relação aos restantes sistemas debarramento) é a capacidade de juntar operações de leitura e escrita individuais, se os endereços dos doisacessos individuais forem sequenciais um ao outro.

O PCI inclui uma área de endereços de configuração. É utilizada para aceder aos registos de configuraçãoe memória de configuração de cada unidade PCI. A memória de configuração são cerca de 256 bytes paracada unidade PCI.

Desde que o CPU não esteja a aceder a nenhuma unidade PCI, a ligação do sistema CPU/RAM e do busPCI através da ponte PCI é suficientemente poderosa para permitir que a ponte e o CPU operem emparalelo. Desta forma, é possível trocar dados entre duas unidades PCI, através da ponte PCI, enquanto oprocessador está a realizar outras operações.

Ao contrário dos sistemas ISA e EISA, o bus PCI não implementa DMA (Direct Memory Access ).

O PCI suporta Plug & Play. Quando no PC só se utilizam placas Plug & Play (PCI ou ISA Plug & Play) aBIOS encarrega-se de fazer automaticamente a atribuição das interrupções. Em muitos casos, váriosdispositivos PCI utilizam a mesma linha IRQ. Não é necessário preocuparmo-nos com isso, pois o PCIpermite fazer partilha de interrupções. No entanto, podem surgir problemas se o driver do sistema

Page 7: Aula Teórica 9 - w3.ualg.ptw3.ualg.pt/~apcosta/pin/Teoricas/Teorica09.pdf · dados. Isto poupa no número de linhas necessárias, mas aumenta a quantidade de tempo necessária para

Periféricos e Interfaces Ano lectivo 2003/2004Docente: Ana Paula Costa

7

operativo (Windows) para um dispositivo particular não tiver a funcionalidade de partilha deinterrupções. Tal pode fazer com que o componente não funcione adequadamente.

Os portos num PC com um bus PCI estão todos localizados abaixo dos 64 KBytes e a sua utilização éidêntica à dos sistemas (E)ISA.

O PCI armazena dois registos numa área de endereços de E/S. São dois registos de 32 bits, oconfig_address e o config_data, que são usados para aceder à zona de endereços de configuração, e estãolocalizados nos endereços 0CF8H e 0CFCH, respectivamente. Quando se pretende aceder à área deconfiguração de uma unidade PCI, primeiro é necessário indicar qual o endereço a aceder, através doregisto config_address. E depois ler/escrever nessa localização, através do registo config_data.

Figura nº 7 – Estrutura do registo config_address.

Para se aceder efectivamente à área de configuração, o bit ECD tem que estar activo (= 1). Bus define onúmero do bus PCI numa estrutura hierárquica que pode conter um máximo de 256 buses PCI. Unitselecciona qual a unidade a ser acedida. Function selecciona uma das oito funções possíveis numaunidade PCI multifunção. Register endereça uma das 64 entradas possíveis na área de endereços deconfiguração especificada. Type define se o conteúdo do registo deve ser copiado para o bus deendereços/dados, ou não.

Para além do acesso directo à área de configuração de cada unidade PCI, através dos portos de E/S, osPC´s com bus PCI, em geral, têm à disposição a interrupção 1AH da BIOS que realiza o mesmo serviço(vamos ver na próxima aula).