Ví essa questão no livro e mesmo lendo a matéria não consegui fixar o que cada uma é
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á.
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"
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar