38
1 Paulo N.M. Sampaio Arquitectura de Sistemas Computacionais Prof. Dr. Paulo Sampaio Universidade da Madeira - UMA Paulo N.M. Sampaio Organização da disciplina Programa Teórico 1. Introdução (IPCHW 1) 2. Microprocessadores para PCs (IPCHW 3-14) 3. Chips de Memória (IPCHW 15) 4. Chipsets (IPCHW 16) 5. Interrupções e DMA (IPCHW 17) 6. RAM CMOS e RealtimeClock (IPCHW 18, 19) 7. Arquitecturas e Sistemas de BUS (IPCHW 20, 22, 25) 8. Dispositivos de Amazenamento (IPCHW 28, 29, 30, 31) 9. Periféricos (IPCHW 32, 33, 34, 35, 37)

Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

Embed Size (px)

Citation preview

Page 1: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

1

Paulo N.M. Sampaio

Arquitectura de Sistemas Computacionais

Prof. Dr. Paulo Sampaio

Universidade da Madeira - UMA

Paulo N.M. Sampaio

Organização da disciplina

Programa Teórico

1. Introdução (IPCHW 1)

2. Microprocessadores para PCs (IPCHW 3-14)

3. Chips de Memória (IPCHW 15)

4. Chipsets (IPCHW 16)

5. Interrupções e DMA (IPCHW 17)

6. RAM CMOS e RealtimeClock (IPCHW 18, 19)

7. Arquitecturas e Sistemas de BUS (IPCHW 20, 22, 25)

8. Dispositivos de Amazenamento (IPCHW 28, 29, 30, 31)

9. Periféricos (IPCHW 32, 33, 34, 35, 37)

Page 2: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

2

Paulo N.M. Sampaio

Barramentos

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Barramento• Bus é um conjunto de condutores elétricos em um

computador que permite a comunicação entre vários componentes do computador, tais como; CPU, memória, dispositivos de I/O.

• Que sinais trafegam no barramento?• dados• relógio• endereços• sinais de controle

• Bus standard (protocolo) é um conjunto de regras que governam como as comunicações no barramento serão efetuadas.

7. Arquitecturas e Sistemas de BUS

Page 3: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

3

Paulo N.M. Sampaio

Barramento• Vantagens

– Baixo custo na comunicação entre componentes, desde que um simples conjunto de fios écompartilhado em múltiplo sentidos

– Versatilidade, que permite a fácil adição de novos dispositivos no computador

• Desvantagens– Criação de engarrafamento (bottleneck) na

comunicação, limitando a máxima vazão de dados (throughput) para dispositivos de I/O.

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Barramento - Classificação• Quanto à Funcionalidade

– Linhas de dados (barramento de dados) - fornecem o meio de transmissão de dados entre os módulos do sistema.

– Linhas de endereço (barramento de endereços) - usadas para designar fonte e destino dos dados do barramento de dados.

– Linhas de controle (barramento de controle) - usadas para controlar o acesso e o uso de linhas de dados e endereços.

7. Arquitecturas e Sistemas de BUS

Page 4: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

4

Paulo N.M. Sampaio

Barramento• Sinais típicos de controle

– Memory Write - Causa a escrita de dados do barramento de dados no endereço especificado no barramento de endereços.

– Memory Read - Causa dados de um dado endereço especificado pelo barramento de endereço ser posto no barramento de dados.

– I/O Write - Causa dados no barramento de dados serem enviados para uma porta de saída (dispositivo de I/O).

– I/O Read - Causa a leitura de dados de um dispositivo de I/O, os quais serão colocados no barramento de dados.

– Bus request - Indica que um módulo pede controle do barramento do sistema.Reset - Inicializa todos os módulos

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Barramento• Características de acesso

– Todo dispositivo de memória ou I/O deve ser exclusivo no acesso ao barramento.

– A seleção é feita através de sinais especiais de controle como:

• Memory Read• Memory Write• I/O Read

• I/O Write• .............

– Todo dispositivo deve escrever no barramento através de “buffers Tristate”.

saída de dadosentrada de dados

controle

7. Arquitecturas e Sistemas de BUS

Page 5: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

5

Paulo N.M. Sampaio

Barramento• Dispositivos

– Ativos ou Mestres - dispositivos que controlam o protocolo de acesso ao barramento para leitura ou escrita de dados

– Passivos ou Escravos - dispositivos que simplesmente obedecem a requisição do mestre.

Exemplo:- CPU ordena que o controlador de disco leia ou escreva um bloco de dados.

A CPU é o mestre e o controlador de disco é o escravo.

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Barramento - Classificação • Quanto à temporização

– Barramento assíncrono• O controle ocorre exclusivamente por meio de

sinais trocados entre os dispositivos. Os ciclos de barramentos podem ter qualquer duração e não precisam ser iguais para todos as situações.

• São barramentos mais rápidos que os síncronos.

7. Arquitecturas e Sistemas de BUS

Page 6: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

6

Paulo N.M. Sampaio

Barramento - Assíncrono

Ciclo de leituraCPU ativa sinais decontrole e libera endereço no barra-mento de endereços

Memória libera e informa que dadosestão disponíveis

CPU lê dadose desabilita sinais

de controle.

MREQ - 0RD - 0MSYN

Memória liberadadosSSYN - 0

CPU lê dadose desabilitaMREQ - 1RD - 1MSYN -1

MSYN - sinal de sincronização do mestre

SSYN - sinal de sincronização do escravo

MREQ

RD

dados dados

endereço endereço de memória a ser lido

SSYN

MSYN

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Barramento - Classificação • Quanto à temporização

– Barramento síncrono• Este tipo de barramento exige que todo o tráfego

de dados e controle seja sincronizado sob uma mesma base de tempo chamado de relógio (clock)

7. Arquitecturas e Sistemas de BUS

Page 7: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

7

Paulo N.M. Sampaio

Barramento - SíncronoCiclo de leitura

relógio

endereço

dados

MREQ

RD

dados

endereço de memória

T1 T2 T3

T1 - CPU ativasinais de controlee endereço

T2 - Endereço estável no barra-mento

T3 - Memória li-bera dados nobarramento

-Dados são lidospela CPU-CPU desabilitacontrole

MREQ - 0RD - 0

Memória deco-difica endereço

Memória colocadados no barra -mento de dados

MREQ - 1RD - 1

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Barramento - Classificação • Barramento síncrono:

Incluindo wait-states• Usando um sinal extra (wait) este barramento

pode se comportar como um misto de síncrono e assíncrono.

• Sempre que o dispositivo escravo não puder responder no tempo padrão do barramento, este liga o sinal de wait para fazer com que o mestre páre o protocolo. Quando o escravo puder prosseguir, desliga o wait.

7. Arquitecturas e Sistemas de BUS

Page 8: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

8

Paulo N.M. Sampaio

Barramento - Síncrono com Wait

Ciclo de leitura

relógio

endereço

dados

MREQ

RD

dados

endereço de memória

T1 T2 T3

T1 - CPU ativasinais de controlee endereço

T2 - Endereço estável no barra-mento

T5 - Memória li-bera dados nobarramento

-Dados são lidospela CPU-CPU desabilitacontrole

MREQ - 0RD - 0

Memória deco-difica endereço

Espera (WAIT)

Memória colocadados no barra -mento de dados

MREQ - 1RD - 1

T4 T5 T6

WAIT

T3, T4 - Espere sinal de waitdesligar

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Barramento - Arbitragem • O que acontece quando dois ou mais

dispositivos querem se tornar mestres do barramento ao mesmo tempo?

• Pode existir uma inviabilidade de operações (caos) do sistema se não houver um mecanismo adequado de arbitragem do barramento.

• A arbitragem decide qual mestre terá o controle do barramento num dado instante

– Arbitragem centralizada– Arbitragem descentralizada

7. Arquitecturas e Sistemas de BUS

Page 9: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

9

Paulo N.M. Sampaio

Barramento - Arbitragem Centralizada

Árbitro PCI GN

TR

EQ

GN

TR

EQ

GN

TR

EQ

Disp.PCI A

Disp.PCI B

Disp.PCI C

Arbitragem no barramento PCI (centralizado)⎯ Exemplo para três dispositivos⎯ O árbitro decide qual mestre controla o barramento

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Barramento - Arbitragem Híbrida

(centralizada e distribuída)

• Este tipo de arbitragem é gerenciado por um árbitro que, juntamente com um daisy chain, estabelece a ordem de acesso ao barramento.

• Barramento de um nível usando daisy-chaining

Características1. Todos os dispositivos são ligados em série, assim a permissão, dada pelo árbitro,

pode ou não se propagar através da cadeia.2. Cada dispositivo deve solicitar acesso ao barramento.3. O dispositivo mais próximo do árbitro tem maior prioridade.

maior prioridade D1 D2 D3 D4

Árbitro

barramento de requisição

a informação pode ou nãose propagar através da cadeia

Page 10: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

10

Paulo N.M. Sampaio

Arbitragem com dois níveis de prioridade

Características1. Cada dispositivo se liga a um dos níveis de requisição.2. Os dispositivos com tempos mais críticos se ligam aos níveis de maior prioridade.3. Se múltiplos níveis de prioridade são requeridos ao mesmo tempo, o árbitro solta a

permissão apenas para os de prioridade mais alta.

Árbitro

D1 D2 D3 D4

permissão 1permissão 2

requisição nível 1requisição nível 2

Barramento - Arbitragem Híbrida(centralizada e distribuída)

Paulo N.M. Sampaio

Barramento - Arbitragem Descentralizada

• Um dos tipos de barramento descentralizado é o barramento Multibus (Daisy Chain sem árbitro).

Características:1. Quando nenhum dispositivo quer barramento, a linha de arbitragem ativada é propagada através

de todos os dispositivos.2. Para obter o barramento um dispositivo primeiro verifica se o barramento está disponível, e se a

linha de arbitragem que está recebendo, in, está ativada.3. Se in estiver desativada, ela não poderá tornar-se mestre do barramento.4. Se in estiver ativada, o dispositivo requisita o barramento, desativa out, o que faz com que todos os

seguintes na cadeia desativem in e out.5. O tempo de propagação do sinal in do primeiro dispositivo (D1) ao out do último dispositivo (D4)

tem que ser menor que 1 período de clock.

Requisita barramentoocupado

linha ativadapelo mestre dobarramento

D1 D2 D3 D4

in out in out in out in

+5 V

Linha de arbritagem

7. Arquitecturas e Sistemas de BUS

Page 11: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

11

Paulo N.M. Sampaio

Barramento - Arbitragem Descentralizada

• Barramento Multibus– O dispositivo mais próximo do início da cadeia

que requer o barramento tem maior prioridade. Portanto, este esquema é similar ao sistema híbrido com daisy chain, exceto por:

• Não existe mais a figura do árbitro• É mais rápido

• Não vulnerável a falhas do árbitro• O barramento Multibus também oferece arbitragem

centralizada, permitindo que os projetistas façam a escolha.

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Barramento - Classificação

• Quanto aos dispositivos a ele acoplados

– Barramentos de Memória (CPU-memory buses)

– Barramentos de Entrada e Saída (CPU-I/O buses)

7. Arquitecturas e Sistemas de BUS

Page 12: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

12

Paulo N.M. Sampaio

Barramentos de Memória

• Características:– São pequenos– Operam em alta velocidade– São em geral conectados diretamente a CPU

para maximizar a largura de banda entre memória e CPU (bandwidth)

– Tipos de dispositivos são conhecidos

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Barramentos de E/S (I/O)• São em geral barramentos de ordem geral,

permitindo que vários dispositivos diferentes possam ser conectados.

• Características:– Podem ser longos.– Podem ter diferentes tipos de dispositivos conectados

a ele.– São, em geral, mais lentos que os barramentos de

memória.

7. Arquitecturas e Sistemas de BUS

Page 13: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

13

Paulo N.M. Sampaio

Barramento - Aspectos de projeto

• Considerações na implementação de um sistema de barramento:

Opções Alta Performance Baixo custo

Largura do barramento Endereços e dados separados Multiplexação das linhas deendereço/dados

Largura de dados 16 bits, 32 bits, ... (Quantomaior mais rápido)

Menor, mais barato

Transações por pacotes Múltiplas palavras menosoverhead

Transferência por palavraé mais simples

Barramentos masters Múltiplos mestres (requerarbitragem)

Apenas um mestre (semarbitragem)

Relógio (Clocking) Assíncrono Síncrono

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Tipos de barramentos de dados

• ISA bus• EISA bus• VL Local bus• PCI bus• IDE• EIDE• SCSI

7. Arquitecturas e Sistemas de BUS

Page 14: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

14

Paulo N.M. Sampaio

Barramento convencional

placa dememória

placa de E/S

placa de E/S

co-processador

registradores

barramentos

ALU

barramento interno

barramento do sistema

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

ISA Bus • ISA bus - Industry Standard Architecture

– Lançado por volta de 1984 pela IBM no PC-AT, o barramento ISA virou um barramento padrão utilizado por todos os demais fabricantes de clones IBM na época.

– Características• Conecta CPU, memória e dispositivos de E/S

• Barramento de 16 bits (2 bytes)

• Frequência de operação de 8 MHz

• Taxa de 8MB/s (dois pulsos de clock por transação de modo a manter compatibilidade com o barramento do PC-XT, o XT-bus, que era de 8 bits)

• Permite mais de um mestre mas de forma precária

• Extensões => Plug-and-Play ISA

7. Arquitecturas e Sistemas de BUS

Page 15: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

15

Paulo N.M. Sampaio

ISA bus - Standard System

ISA bus

CPU

Controlador de barramento

ISA slots

Memória

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

ISA bus - Conectores

Placa de expansão8 bits 16 bitsXT-bus ISA-bus

Conectores na placa mãe8 bits 16 bits

7. Arquitecturas e Sistemas de BUS

Page 16: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

16

Paulo N.M. Sampaio

ISA bus - Conectores

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

EISA bus

• EISA bus - Extended ou Enhanced ISA– Desenvolvido por volta de 1987 por 9 competidores

da IBM, para melhorar a performance e competir com o barramento MCA (Micro-ChannelArchitecture) lançado pela IBM.

– Características• Compatível com ISA

• Extensão para 32 bits de dados (4 bytes)

• Relógio de 8 MHz

• Taxa de 32MB/s (1 pulso de clock por transação)

7. Arquitecturas e Sistemas de BUS

Page 17: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

17

Paulo N.M. Sampaio

EISA bus - Extended ISA

EISA bus

CPU

Controlador de barramento

EISA slots

Memória

32 bits

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

EISA bus - Extended ISA

7. Arquitecturas e Sistemas de BUS

Page 18: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

18

Paulo N.M. Sampaio

VL - VESA Local Bus

• VL Bus - VESA (Video Electronics Standards Association) - 1992

– CPU 80486 (33 MHz) e dispositivos de alta performance (ex. placa de vídeo) em barramento (E)ISA => gargalo

– Características

• Barramento conectado diretamente à CPU => velocidade do barramento = velocidade da CPU.

• Dependente do tipo de CPU usado (80486)

• 32 bits no barramento de dados.• Suporta apenas 2 cartões => outras expansões devem

ser feitas via barramento ISA ou EISA.

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

VL Local bus

CPU

Controlador de barramento

EISA bus ou ISA bus

ISA ou EISA slots

Memória

VL-VESA Local bus

7. Arquitecturas e Sistemas de BUS

Page 19: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

19

Paulo N.M. Sampaio

VESA Local bus

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

PCI Bus (Peripheral Component Interconnect)

• Definido pela Intel para estabelecer um padrão de barramento de alta performance que permitisse diferenciações na implementação.

• Características– Barramento síncrono.

– Arbitragem centralizada– 32 ou 64 bits, 33 MHz (ou 66MHz, na versão 2.1).

– Dados e endereços são multiplexados.

– 133 MB/s (4 bytes x 33MHz) até 533 MB/s (8 bytes x 66 MHz)

– Cada controlador permite cerca de 4 dispositivos

– Plug-and-Play

7. Arquitecturas e Sistemas de BUS

Page 20: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

20

Paulo N.M. Sampaio

PCI bus - Características

• Controlador do PCI e interfaces das placas de expansão são independentes (isso não acontece com o VL-bus).– Transição eficiente para futuras gerações de

processadores e multiprocessadores.– Permite que CPUs diferentes usem este barramento

(ex. computadores Macintosh) fazendo com que fabricantes de placas de expansão possam vender para qualquer sistema com barramento PCI.

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

PCI Bus

Bridge para o ISA ou EISA

EISA bus ou ISA bus

ISA ou EISA slots

DRAM

PCI bus

CPU

Bridge/Cont. de memória

PCI slots

Cache

LANSCSI

7. Arquitecturas e Sistemas de BUS

Page 21: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

21

Paulo N.M. Sampaio

PCI Bus - ExemploEspecificaçãoPCI - to PCI Bridge da Digital (21152)

64 bits no barramento primário

32 bits no barramento secundárioPermite até dois barramentos PCIconcorrentes5 ou 3.3 Vchip com 256 pinos

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

PCI Bus• Controlador 21153 PCI-to-PCI

– Controlador LAN chips

7. Arquitecturas e Sistemas de BUS

Page 22: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

22

Paulo N.M. Sampaio

PCI Bus - Pinout

End./Dados

Controle decomunicação

Info. Erro

Arbitragem

Extensões 64bits

Interrupções

Controle cache

Testes(Boundary Scan)

}}}

}

{{

{{{Sistema

Trans. atômicas}

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

PCI Bus - Pinout• AD(x) - Address/Data Lines• C/BE# - Command/Byte Enable. Define comando (fase de end.).

Durante a fase de dados informa quais dos 4 bytes (a via de dados tem 32 bits) estão sendo usados na transação.

• FRAME# - Informa se está na fase de end. ou dados• IRDY# - O mestre está pronto p/ a transação• TRDY# - O escravo está pronto p/ a transação

• STOP# - O escravo deseja parar a transação atual• DEVSEL# - Escravo reconheceu seu endereço e está selecionado• IDSEL - Usado como chip select na configuração do sistema

• REQ(x) - Req. p/ controlar barramento (tornar-se mestre)• GNT(x) - Req. concedida

7. Arquitecturas e Sistemas de BUS

Page 23: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

23

Paulo N.M. Sampaio

PCI Bus - C/BE

• C/BE - comandos na fase de endereçamento

C/BE[3::0] Comando0000 Interrupção reconhecida0001 Ciclo especial (broadcast)0010 Leitura Entrada/Saída (I/O Read)0011 Escrita Entrada/Saída (I/0 Write)0100 Reservado0101 Reservado0110 Leitura de Memória (Memory Read)0111 Escrever na memória (Memory Write)1000 Reservado1001 Reservado1010 Ler configuração1011 Escrever configuração1100 Multipla leitura à memória1101 Duplo ciclo de endereçamento1110 Ler linha de memória1111 Escrever na memória e invalidação

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

PCI Bus

T

1 2 3 4 5 6 7 8 9 Clock

FRAME

AD

C/BE[3:0]

IRDY

TRDY

DEVSEL

Endereço dados-1 dados-2 dados-3

Bus Cmd Habilita bytes Habilita bytes habilita bytes

Waitmaster

Waitslave

Ciclo de transação no barramentofase de ender. fase de dados fase de dados fase de dados

Operação de Leitura

7. Arquitecturas e Sistemas de BUS

Page 24: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

24

Paulo N.M. Sampaio

PCI Bus

Árbitro PCI GN

TR

EQ

GN

TR

EQ

GN

TR

EQ

Disp.PCI A

Disp.PCI B

Disp.PCI C

Arbitragem no barramento PCI (centralizado)⎯ Exemplo para três dispositivos

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

PCI Bus

T

1 2 3 4 5 6 7 Clock

REQ-A

REQ-B

GNT-A

GNT-B

FRAME

IRDY

TRDY

AD Endereço dados Endereço dados

Mestre A Mestre B

Arbitragem do barramento PCI entre dois mestres A e B

7. Arquitecturas e Sistemas de BUS

Page 25: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

25

Paulo N.M. Sampaio

PCI Bus

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

PCI Bus

7. Arquitecturas e Sistemas de BUS

Page 26: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

26

Paulo N.M. Sampaio

E depois do PCI ?...

AGP - Advanced Graphics Port (1997)• Conecta apenas CPU e placa de vídeo • Não há disputa com outros dispositivos• 32 bits, 66 MHz => 266 MB/s• 2X-mode => 2 transf. por clock => 533 MB/s• 4X-mode => 4 transf. por clock => 1,066 GB/s

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Advanced Graphics Port (AGP)

• Even PCI Bus can become a bottleneck for 3D Graphics

• Problem is made worse because many devices can compete for the bus

• The Accelerated Graphics Port (AGP) interface is a bus specification that enables high performance graphics capabilities, especially 3D, for PCs

7. Arquitecturas e Sistemas de BUS7. Arquitecturas e Sistemas de BUS

Page 27: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

27

Paulo N.M. Sampaio

AGP (2)

• The AGP Port is independent of the PCI bus

• AGP is an additional connection point in the system

• AGP is intended exclusively for visual display devices; all other I/O devices will remain on the PCI bus.

• AGP uses a new connector body which is not compatible with the PCI connector

• PCI and A.G.P. boards are not mechanically interchangeable.

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

AGP and PCI

Page 28: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

28

Paulo N.M. Sampaio

AGP in Multiprocessor Environment

Paulo N.M. Sampaio

AGP In System

• AGP provides a high speed port to allow movement of data betweenthe PC’s graphics controller and system memory

• The AGP interface is positioned between the PC's chipset and graphics controller

• Significantly increases the bandwidth available to a graphics accelerator (current peak bandwidth is 528 MB/s)

• Future AGP systems should support a peak bandwidth over 1 GB/s

7. Arquitecturas e Sistemas de BUS

Page 29: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

29

Paulo N.M. Sampaio

AGP – Fast Lane for Graphics data

• AGP provides a high memory bandwidth "fast lane" for graphics data

• AGP enables the hardware-accelerated graphics controller to execute texture maps directly from system memory– instead of caching them in the relatively limited local video memory– also helps speed the flow of decoded video from the CPU to the

graphics controller

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

AGP Data Movement Diagram

Page 30: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

30

Paulo N.M. Sampaio

Data Movement without AGP

Paulo N.M. Sampaio

Data Movement with AGP

Page 31: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

31

Paulo N.M. Sampaio

AGP System Benefits

• Graphics Controller can use smaller local video memory– Reduces costs because video memory is dearer than normal

system memory.

• The PCI Bus is relieved of a lot of high-speed graphics data allowing other devices to achieve greater throughput.

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

AGP Data Transfer

• AGP max data transfer rate: 533Mbyte/s at 66MHz

• Data transferred on both the rising and falling edges of the 66 MHz clock

• AGP also uses more efficient data transfer modes.

• 1Gbyte/s transfers allowed for in the AGP Spec.– Allow four data transfers per 66MHz clock cycle.

7. Arquitecturas e Sistemas de BUS

Page 32: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

32

Paulo N.M. Sampaio

AGP Pipelining

• AGP overlaps the memory or bus access times for a request ("n") with the issuing of following requests ("n+1"..."n+2"... etc.)

• In the PCI bus, request "n+1" does not begin until the data transfer of request "n" finishes

• Both AGP and PCI can "burst" (transfer multiple data items continuously in response to a single request)– Bursting only partly alleviates the non-pipelined nature of PCI

– Depth of AGP pipelining is implementation dependent and remains transparent to application software

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Memory Latency: AGP vs PCI

7. Arquitecturas e Sistemas de BUS

Page 33: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

33

Paulo N.M. Sampaio

AGP Sideband Addressing

• AGP used 8 extra "sideband" address lines which allow the graphics controller to issue new addresses and requests simultaneously – Even though data continues to move from previous requests on

the main 32 data/address lines.

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

AGP Memory Mapping

• AGP memory is really dynamically allocated areas of system memory that the graphics controller can access quickly

• Access speed comes form built-in hardware in the Chipset, which translates addresses– Allows the graphics controller and its software to see a contiguous space in main

memory even though the pages are disjointed– Graphics controller can access large data structures (1Kbyte – 128Kbyte) as a single

entity

7. Arquitecturas e Sistemas de BUS

Page 34: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

34

Paulo N.M. Sampaio

AGP Memory Mapping: GART

• Built-in Chipset hardware is called the GART (Graphics Address Remapping Table)

• For accesses to AGP memory, the graphics controller and CPU use a contiguous aperture of several megabytes

• The GART translates these to various, possibly disjointed, 4 KByte page addresses in system memory

• PCI devices that access to the AGP memory aperture (for example, for live video capture) also go through the GART.

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Summary: Key benefits of AGP (1)

• Peak bandwidth four-times higher than the PCI bus due to pipelining, sideband addressing, and data transfers that occur on both rising and falling edges of the clock

• Direct execution of texture maps from system memory. AGP enableshigh-speed direct access to system memory by the graphics controller,rather than forcing it to pre-load the texture data into local video memory.

7. Arquitecturas e Sistemas de BUS

Page 35: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

35

Paulo N.M. Sampaio

Summary: Key benefits of AGP (2)

• Less PCI bus congestion– The PCI bus attaches a wide variety of I/O devices– AGP operates concurrently with, and independent from, most transactions

on PCI– CPU accesses to system memory can proceed concurrently with AGP

memory reads by the graphics controller.

• Improved system concurrency: Pentium II or III processor can perform other activities while the graphics chip is accessing texture data in system memory.

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

AGP

7. Arquitecturas e Sistemas de BUS

Page 36: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

36

Paulo N.M. Sampaio

AGP

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

AGP

7. Arquitecturas e Sistemas de BUS

Page 37: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

37

Paulo N.M. Sampaio

AGP

7. Arquitecturas e Sistemas de BUS

Paulo N.M. Sampaio

Page 38: Arquitectura de Sistemas Computacionais - cee.uma.ptcee.uma.pt/edu/asc/2004-2005/material/Cap07.pdf · entrada saída de dados de dados controle 7. Arquitecturas e Sistemas de BUS

38

Paulo N.M. Sampaio

Organização da disciplina

Programa Teórico

1. Introdução (IPCHW 1)

2. Microprocessadores para PCs (IPCHW 3-14)

3. Chips de Memoria (IPCHW 15)

4. Chipsets (IPCHW 16)

5. Interrupções e DMA (IPCHW 17)

6. RAM CMOS e RealtimeClock (IPCHW 18, 19)

7. Arquitecturas e Sistemas de BUS (IPCHW 20, 22, 25)

8. Dispositivos de Amazenamento (IPCHW 28, 29, 30, 31)

9. Periféricos (IPCHW 32, 33, 34, 35, 37)

Paulo N.M. Sampaio

Prof. Dr. Paulo Sampaio

Universidade da Madeira - UMA

Arquitectura de Sistemas Computacionais