PCI Express - Endereçamento de Memória vs Memória Física na Memória Transações de Leitura / Gravação

2

Estou tentando encontrar o link entre as BARRAS de Memória (Registros de Endereço de Base) e a Memória Física em Transações PCI Express. Na minha última pergunta comecei a entender o que acontece quando uma CPU lê / grava em um determinado endereço de memória, agora eu preciso ir fundo na Transação PCI Express.

Eu preciso entender se a RAM física está envolvida em cada transação de leitura / gravação de memória PCI Express.

1) A memória física endereçada por um dispositivo Memory BAR reside no próprio dispositivo? Ou reside na RAM?

2) Quando inicio uma transação de leitura / gravação de memória para um dispositivo PCI Express sem memória física interna, especificando um endereço de memória, como o dispositivo pode acessá-lo se não estiver mapeado para uma memória física interna? Quando meu dispositivo retorna um pacote de transações com dados, o complexo raiz fornece os dados para a CPU e os insere na RAM física?

    
por Jacopo Reggiani 14.06.2013 / 11:24

1 resposta

5

RAM do sistema principal não tem nada a ver com um BAR. O BAR simplesmente configura o dispositivo para decodificar o acesso a esses endereços. Normalmente, o dispositivo contém vários registros de configuração. O BAR permite que a CPU acesse esses registradores como se eles fossem um bloco de memória RAM, mas na verdade não existe memória RAM. O complexo raiz PCIe é configurado para rotear a maioria do acesso à memória para RAM, e acesso a um bloco de endereços, normalmente na área de 3-4 GB, ao barramento PCIe. A BAR em um determinado dispositivo a configura para responder a um bloco específico desses endereços.

Por outro lado, alguns dispositivos, principalmente placas de vídeo, possuem seu próprio RAM a bordo que é acessado via BAR.

    
por 14.06.2013 / 16:41