Данному образовательному сайту пришлось несколько раз менять свое имя. С 2022 года доступ к нему обеспечивается по URL
emc.km.ru (2001-2007) ==> educomp.org.ru (2007-2011) ==> educomp.runnet.ru (2011-2021) ==> emc.orgfree.com (2022-...)
Более подробно об истории сайта можно прочитать здесь.
|
Алгоритм обмена между ПУРассмотрим алгоритм обмена данными между двумя ПУ. Цель отдельно взятой операции обмена – передать число (аргумент для счета или конечный результат) из одного ПУ в другой. Чтобы это сделать, ПУ-источник данных должен выполнить команду o, а ПУ-приемник – парную ей команду i. Например, чтобы передать число из ПУ0 в ПУ1 нужно, чтобы ПУ0 выполнил команду o1, а ПУ1 - i (строго говоря, команду надо писать i0, но ПУ1 может принимать данные только от ПУ0, так что цифра здесь необязательна). Наоборот, для пересылки данных из ПУ1 в ПУ0 понадобится пара o и i1. Главная трудность при обмене заключается в том, что все ПУ работают независимо друг от друга и начало вывода данных ПУ-источником не обязательно совпадет по времени с началом их ввода у ПУ-приемника. А значит, в параллельной вычислительной системе нужно предусмотреть специальный механизм согласования (синхронизации) процесса обмена. Схема алгоритма обмена данными для оптимального случая (когда команды o и i наилучшим образом совпадают по времени) приведена в следующей таблице.
Если же один из ПУ занят вычислениями и поэтому к обмену пока не готов, то появляются дополнительные такты ожидания. В команде o ожидание передачи данных в ПУ-приемник сосредоточено в такте 2, а в команде i до появления данных в ПУ-передатчике повторяется такт 1. Отметим, что описанный алгоритм обмена действительно является одним из возможных механизмов передачи данных между двумя электронными устройствами (например, между процессором и принтером). © Е.А.Еремин, 2017 |