Данному образовательному сайту пришлось несколько раз менять свое имя. С 2011 года доступ к нему обеспечивается по URL
http://educomp.runnet.ru

emc.km.ru (2001-2007) ==> educomp.org.ru (2007-2011) ==> educomp.runnet.ru (2011-...)
Более подробно об истории сайта можно прочитать здесь.


Учебные модели компьютера



Модели (software):

"Е14" (parallel !!!)
"S9PU" (parallel)

Модели (hardware):






Награды сайта
Награды сайта

Алгоритм обмена между ПУ

Рассмотрим алгоритм обмена данными между двумя ПУ.

Цель отдельно взятой операции обмена – передать число (аргумент для счета или конечный результат) из одного ПУ в другой. Чтобы это сделать, ПУ-источник данных должен выполнить команду o, а ПУ-приемник – парную ей команду i. Например, чтобы передать число из ПУ0 в ПУ1 нужно, чтобы ПУ0 выполнил команду o1, а ПУ1 - i (строго говоря, команду надо писать i0, но ПУ1 может принимать данные только от ПУ0, так что цифра здесь необязательна). Наоборот, для пересылки данных из ПУ1 в ПУ0 понадобится пара o и i1.

Главная трудность при обмене заключается в том, что все ПУ работают независимо друг от друга и начало вывода данных ПУ-источником не обязательно совпадет по времени с началом их ввода у ПУ-приемника. А значит, в параллельной вычислительной системе нужно предусмотреть специальный механизм согласования (синхронизации) процесса обмена.

Схема алгоритма обмена данными для оптимального случая (когда команды o и i наилучшим образом совпадают по времени) приведена в следующей таблице.
источник данных
(выполняет команду o)
приемник данных
(выполняет команду i)
такт 1: начало команды o
помещает данные из см в регистр вывода, выставляет сигнал готовности данных
проводит вычисления
такт 2: ожидание
ожидает подтверждения приема
такт 1: начало команды i
фиксирует готовность, принимает данные в регистр ввода и выставляет сигнал о приеме
такт 3: завершение
фиксирует прием и завершает операцию
такт 2: завершение
передает число из регистра ввода в см и завершает операцию

Если же один из ПУ занят вычислениями и поэтому к обмену пока не готов, то появляются дополнительные такты ожидания. В команде o ожидание передачи данных в ПУ-приемник сосредоточено в такте 2, а в команде i до появления данных в ПУ-передатчике повторяется такт 1.

Отметим, что описанный алгоритм обмена действительно является одним из возможных механизмов передачи данных между двумя электронными устройствами (например, между процессором и принтером).


© Е.А.Еремин, 2017


Автор сайта - Евгений Александрович Еремин (Пермский государственный педагогический университет). e_eremin@yahoo.com