O que é a rota de dados dentro do computador durante o download / processamento de um arquivo

0

Eu queria saber se todos os dados no computador têm que passar pelo processador ou se há alguma rota de desvio (como DMA ) por onde passam os dados.

Considere os seguintes casos:

  1. Durante o download de um arquivo : Ao baixar um arquivo, os dados recebidos pelo adaptador de rede vão diretamente para o HDD (via RAM) ou precisam ser processados no processador?
  2. Ao abrir um arquivo : por exemplo, digamos que estou abrindo um arquivo de áudio. O arquivo de áudio precisa ser processado pelo processador ou os dados são diretamente transmitidos para os dispositivos de áudio?
  3. Durante o jogo : O processador gráfico acessa diretamente a RAM (ou HDD) ou precisa obter os dados & instruções do processador central (CPU)?

Gostaria de saber os dados da rota quando fazemos as ações acima.

    
por Deepak Chaudhary 22.07.2016 / 11:44

2 respostas

1

I was wondering that whether all the data in Computer has to go through the Processor or are there any Bypass Routes(like DMA) through which data goes

Entrada / saída (E / S) é quase sempre entre o dispositivo periférico e a memória. As transferências periféricas para periféricas são altamente incomuns, pois exigem hardware especializado e dificultam a detecção / recuperação de erros. Veja Por que as transferências de arquivos entre unidades usam RAM

A E / S pode ser executada pela CPU, chamada de E / S Programada (PIO), ou o driver de dispositivo (SW) pode delegar a tarefa de transferência a um controlador DMA ou a um barramento mestre (por exemplo, adaptador host SCSI) . Consulte o link

  1. While downloading a file: When downloading a file, does the data received by the Network Adapter goes directly to HDD(via RAM) or it has to be processed in Processor ?

Os quadros Ethernet recebidos por um adaptador de rede são normalmente armazenados na memória principal (pela NIC). Alguns controladores Ethernet sofisticados possuem memória FIFO dedicada. Em ambos os casos, o driver de rede (SW) deve copiar cada quadro recebido para um buffer dinâmico para processamento pela pilha de protocolos (SW).

O programa aplicativo que realiza o download lê os dados (em outro buffer de memória) depois que a pilha de protocolos verificou e retirou os quadros de protocolo. Esse programa pode, então, executar a segunda metade do download, gravando os dados em um arquivo em um sistema de arquivos. Para obter uma descrição das operações de sistema de arquivos de baixo nível, consulte Por que copiar a mesma quantidade de dados leva mais tempo se for distribuída em vários arquivos separados?
Para obter uma descrição das operações de baixo nível de disco, consulte Quando ocorre uma leitura de disco ou gravação em disco, para onde vão os dados?

  1. While opening a file: For example, say I'm opening an audio file. So does the audio file needs to be processed by processor or it's data is directly relayed to audio devices?

O arquivo de áudio teria que ser lido na memória para o dispositivo de áudio. O software que executa a transferência normalmente não precisa "processar" esses dados.

  1. While playing a game: Does the Graphics Processor directly access the RAM(or HDD) or it has to get the data & instructions from Central Processor(CPU)?

A GPU pode ter acesso à memória principal como o controlador de DMA, mas para arbitragem de memória ela terá prioridade menor que a CPU. A GPU não teria acesso ou a capacidade de controlar o HDD ou qualquer periférico que não seja o buffer de quadros. Se a GPU obtém seus comandos através de seus registros ou um bloco de memória seria específico da implementação.

Cuidado com como você usa "a CPU faz ..." .
A CPU apenas "faz alguma coisa" porque as instruções que está executando são uma tarefa específica. Essas instruções são parte de um programa.
Identificar esse programa e sua tarefa pode ser mais informativo do que simplesmente dizer que a "CPU faz ..." .

    
por 22.07.2016 / 22:43
1

Para os casos 1 e 2, os dados passam pela CPU. Considere o seguinte: O guindaste não consegue mover um engradado dentro ou fora do caminhão sem que o engradado atravesse o guindaste no processo. Para que uma CPU escreva alguma coisa, em algum momento, lerá os dados primeiro.

Caso 3 é um pouco diferente: Nesse caso, a GPU pode lê-lo, como faz o trabalho em si, mas somente depois que a CPU faz o trabalho de garantir que os dados residam em um local onde a GPU possa alcançá-lo , como na memória de textura. A GPU não acessa o disco diretamente.

    
por 22.07.2016 / 12:38