Рекомендации по программированию процессора MultiClet P1 » History » Version 34
« Previous -
Version 34/36
(diff) -
Next » -
Current version
y.chemodanov, 12/10/2014 04:48 PM
Краткое описание организации исполнения параграфов для процессора MultiClet P1.¶
Выполнение параграфа процессором P1 включает в себя следующие параллельные процессы:- Выборка команд.
- Исполнение команд клетками.
Исполнение команд клетками происходит по мере готовности их аргументов и исполнительных устройств. Т.е. команда будет извлечена из буфера и отправлена в исполнительное устройство, если готовы аргументы команды и выбраны все команды, которые используют результат исполняемой команды. После того, как клеткой достигнут конец параграфа, она не может приступить к исполнению следующего до тех пор, пока не будет закончена запись в регистры, а также в память, если опция контроля очередности чтения — записи не отключена.
h1. Рекомендации по структурной организации параграфов.
- Соседние команды не должны зависеть друг от друга, в противном случае велика вероятность того, что соответствующие клетки перейдут к исполнению этих команд одновременно, однако одна из клеток будет вынуждена ожидать результата от другой клетки. Рекомендуется по возможности избегать ссылок, длиной менее четырёх.
- Команды перехода размещать в параграфе как можно раньше, что позволит производить выборку команд с максимальным опережением. Таким образом исключается задержка в исполнении команд клетками по причине ожидания выборки команд, потребляющих результат текущей операции.
- Размещать команды записи в регистр как можно раньше наряду с командами перехода, поскольку невыполненные команды записи в регистр препятствуют выборке очередного параграфа. Избегать неоправданно частой записи в регистры.
- Писать как можно большими параграфами, что позволит минимизировать простои, связанные с ожиданием записей в регистры по окончанию параграфа, и контролем очередности чтения записи в память.
- Организовывать доступ к памяти с учётом особенностей её организации. Одновременная работа клеток с памятью допускается, только если выполняются обращения производятся к различным блокам памяти данных (см. «Руководство пользователя. Программное обеспечение мультиклеточного процессора MultiClet P1», раздел 4.1.2). В противном случае доступ к памяти будет осуществляться поочередно, что приведет к дополнительным задержкам.
- Избегать чрезмерно длинных ссылок. Использование таких ссылок приведет к простоям в работе клеток при выполнении команды, на которую указывает ссылка, если команды будут выбираться с недостаточным опережением.