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
- 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?
- 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.
- 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 ..." .