A maior rede de estudos do Brasil

Qual a diferença entre DMA e NUMA?

Ví essa questão no livro e mesmo lendo a matéria não consegui fixar o que cada uma é


4 resposta(s) - Contém resposta de Especialista

User badge image

RD Resoluções Verified user icon

Há mais de um mês

DMA é o acesso direto à memória. A operação do seu driver lendo ou gravando de / para sua memória HW sem que a CPU esteja envolvida nela. Controlador de DMA - leitura e escrita não podem ser feitas por mágica. se a CPU não fizer isso, precisamos de outro HW para fazer isso.


Muitos anos atrás (na época da ISA / EISA) era comum usar um HW compartilhado na placa-me que fazia essa operação. Nos últimos anos, cada HW tem seu próprio mecanismo DMA HW. Mas, em todos os casos, esse HW específico obtém o endereço de origem e o endereço de destino e passa os dados.


O NUMA é um pouco mais complicado do que o usual I \ O, já que todas as memórias SRC e DST devem estar fisicamente presentes durante a operação de DMA. Se o endereço DST for trocado para disco, o HW gravará em um endereço incorreto e o sistema falhará. Este e outros aspectos do DMA são tratados pelo driver com seções de código às quais você provavelmente se refere como "NUMA Engine"

DMA é o acesso direto à memória. A operação do seu driver lendo ou gravando de / para sua memória HW sem que a CPU esteja envolvida nela. Controlador de DMA - leitura e escrita não podem ser feitas por mágica. se a CPU não fizer isso, precisamos de outro HW para fazer isso.


Muitos anos atrás (na época da ISA / EISA) era comum usar um HW compartilhado na placa-me que fazia essa operação. Nos últimos anos, cada HW tem seu próprio mecanismo DMA HW. Mas, em todos os casos, esse HW específico obtém o endereço de origem e o endereço de destino e passa os dados.


O NUMA é um pouco mais complicado do que o usual I \ O, já que todas as memórias SRC e DST devem estar fisicamente presentes durante a operação de DMA. Se o endereço DST for trocado para disco, o HW gravará em um endereço incorreto e o sistema falhará. Este e outros aspectos do DMA são tratados pelo driver com seções de código às quais você provavelmente se refere como "NUMA Engine"

User badge image

Andre

Há mais de um mês

DMA é o acesso direto à memória. A operação do seu driver lendo ou gravando de / para sua memória HW sem que a CPU esteja envolvida nela. Controlador de DMA - leitura e escrita não podem ser feitas por mágica. se a CPU não fizer isso, precisamos de outro HW para fazer isso.


Muitos anos atrás (na época da ISA / EISA) era comum usar um HW compartilhado na placa-me que fazia essa operação. Nos últimos anos, cada HW tem seu próprio mecanismo DMA HW. Mas, em todos os casos, esse HW específico obtém o endereço de origem e o endereço de destino e passa os dados.


O NUMA é um pouco mais complicado do que o usual I \ O, já que todas as memórias SRC e DST devem estar fisicamente presentes durante a operação de DMA. Se o endereço DST for trocado para disco, o HW gravará em um endereço incorreto e o sistema falhará. Este e outros aspectos do DMA são tratados pelo driver com seções de código às quais você provavelmente se refere como "NUMA Engine"

User badge image

Andre

Há mais de um mês

Sistemas Operacionais


DMA é o acesso direto à memória. A operação do seu driver lendo ou gravando de / para sua memória HW sem que a CPU esteja envolvida nela. Controlador de DMA - leitura e escrita não podem ser feitas por mágica. se a CPU não fizer isso, precisamos de outro HW para fazer isso.


Muitos anos atrás (na época da ISA / EISA) era comum usar um HW compartilhado na placa-me que fazia essa operação. Nos últimos anos, cada HW tem seu próprio mecanismo DMA HW. Mas, em todos os casos, esse HW específico obtém o endereço de origem e o endereço de destino e passa os dados.


O NUMA é um pouco mais complicado do que o usual I \ O, já que todas as memórias SRC e DST devem estar fisicamente presentes durante a operação de DMA. Se o endereço DST for trocado para disco, o HW gravará em um endereço incorreto e o sistema falhará. Este e outros aspectos do DMA são tratados pelo driver com seções de código às quais você provavelmente se refere como "NUMA Engine"

User badge image

Felipe

Há mais de um mês

DMA(Direct memory access) é uma tecnologia que permite que certos hardwares(exemplo:HD) tenham acesso direto a memória sem necessidade processamento continuo. O HD recebe a informação da CPU(processador) de onde ele pode enviar ou receber dados da memória principal(RAM) e o HD faz todo o serviço em seu próprio hardware. NUMA(Non-Uniform Memory Access) imagine que você tem 4 processadores e 4GB de memória principal então é 1GB para cada processador, mas vc tem uma aplicação que o processo consome 1,5 GB da memória principal então um processador conversa com outro pedindo emprestado esse espaço 512mb então sempre antes dele alocar a parte que não pertence a ele negocia com outro processador para utiliza-lá.  

Essa pergunta já foi respondida por um dos nossos especialistas