A movimentação de dados entre memória e dispositivo de armazenamento secundário precisa passar por registradores de cpu?

0

Na hierarquia de memória / armazenamento: registrador cpu - cache cpu - memória principal - dispositivo de armazenamento secundário, copiar ou mover dados entre armazenamentos em alguns níveis passa o armazenamento em algum nível superior ou sem passar por terceiros? Especificamente:

  1. A cópia ou movimentação de dados entre locais dentro da memória principal passa por registradores cpu ou algum outro dispositivo de armazenamento?

  2. A cópia ou movimentação de dados entre a memória principal e o disco rígido interno ou externo passa por registradores cpu ou algum outro dispositivo de armazenamento?

  3. A cópia ou movimentação de dados entre diferentes locais no disco rígido interno passa pela memória principal ou por algum outro dispositivo de armazenamento?

  4. Copiar ou mover dados entre o disco rígido interno ou um flash externo passa a memória principal ou algum outro dispositivo de armazenamento?

  5. A cópia ou movimentação de dados entre o disco rígido externo e a unidade flash passa pela memória principal ou por algum outro dispositivo de armazenamento?

Obrigado.

Tim
fonte
1
Existem três métodos de transferência de dados entre memória e um periférico. PIO - E / S programada usando um registrador de CPU. DMA - transferência pelo controlador de DMA para aliviar a CPU desta tarefa. DMA de Terceiros ou Masterização de Barramento - semelhante ao DMA, mas usando o controlador de um periférico.
serragem
Obrigado. Como sobre a memória principal, dentro de um disco rígido e entre um disco rígido interno e um disco rígido externo?
Tim
1
1. Depende do programador. Você pode fazer cópias de memória para memória via registradores, mas isso é lento. Ou você pode usar as instruções de movimentação da memória do bloco, em cujo caso os dados não passam pelos registradores, mas os registradores estão envolvidos nas instruções. 2. Não, nada mais está envolvido. Todos os HDs modernos usarão o DMA. Os registradores da CPU estarão envolvidos nas instruções que configuram a transferência de DMA, mas os dados reais não passam por eles. 3, 4, 5: Todos esses envolvem DMA do dispositivo de origem para a RAM e, em seguida, para o dispositivo de destino - consulte o ponto 2.
Jamie Hanrahan
(Muito tempo? Hah!)
Jamie Hanrahan
btw, você irá de tempos em tempos ouvir alegações de que alguma interface de armazenamento como SCSI (em qualquer uma de suas variações) ou 1394 permite que "dispositivos falem diretamente uns com os outros". A implicação é que se você estivesse copiando um arquivo de, digamos, um disco SCSI para outro, os dados passariam apenas pelo barramento SCSI e não teriam que passar pela memória do host. Isso não é verdade. Na prática, os discos rígidos SCSI e 1394, unidades de fita, etc., nunca são criados com a capacidade de iniciar comandos. Eles só podem responder a comandos de iniciadores. E os únicos iniciadores são os controladores nos sistemas host.
Jamie Hanrahan