Что делает процессор, когда я копирую данные с одного USB-диска на другой?

Что делает процессор, когда я копирую данные с одного USB-диска на другой?

Все ли данные, которые я копирую, проходят через него или есть другой, более прямой путь?

решение1

Сложность! Данные на самом деле не проходят через ЦП как таковой.

Данные и критические единицы и нули проходят через чипсет или выделенные микросхемы ввода-вывода и память, однако при копировании файлов команда на выполнение копирования выполняется процессором.

Представьте, что перед вами есть объект (данные), ваши руки (чип/чип ввода/вывода) и ваш мозг (процессор). На самом деле вы не используете свой мозг, чтобы переместить объект, ваш мозг посылает «команду» вашим рукам, чтобы переместить объект.

решение2

Процессор должен запустить программу, которая считывает исходный файл, а затем записывает целевой файл.

Считываемые данные (обычно) считываются в основную память порциями, но фактически не проходят через ЦП.

решение3

На мэйнфрейме с интеллектуальными каналами процессор просто сказал бы каналам сделать копию. Очень эффективно и позволяет быстро делать большие резервные копии с небольшой нагрузкой на процессор.

К сожалению, у нас нет интеллектуальных каналов, поэтому ЦП попадает в цикл, подобный следующему:

для каждого файла(dev1); сделать
   создать файл(dev2);
   copyfilecontent(dev1, dev2);
конец;

Накладные расходы ЦП не так велики, если только нет большого количества мелких файлов, особенно большого количества файлов в одном каталоге. Операция создания файла обычно имеет самые высокие накладные расходы. Копирование с диска на диск просто обрабатывает каждый диск как уже существующий файл.

Связанный контент