Ильченко Эдуард писал(а):
Я использовал икону "Синхронизатор" в качестве составной макроиконы в контексте "нормализованного описания" алгоритма. Фактически, она должна раскрываться в реальную схему алгоритма, как показано ниже...
Люди! Может быть, я чего не понимаю? Но ведь в заглавии темы сформулировано отличие "события" от цикла "ждать": процессор не занимается тупой работой, обрабатывая ждущие циклы. Процессор уходит в спячку, или переключается на параллельное решение других задач.
Вообще-то, понятие "
событие" больше свойственно логическим элементам. Эти элементы хоть и считаются цифровыми, но работают в аналоговом режиме (не отвлекая процессор). Имеет ли смысл программная эмуляция "событийной" логики? Да, имеет! Именно для экономии ресурсов процессора.
Кстати, эмуляция логических элементов может быть не только программной, но и без участия центрального процессора: например, ячейками памяти:
• логические входы формируют адресное пространство;
• данные, взятые из каждой ячейки эмулируют на шине данных состояние выходов.
Здесь я не говорю о целесообразности эмуляции самих логических элементов. В специфичных случаях программная эмуляция таких элементов ещё более важна: она позволяет сделать схемы и программы лаконичными: логические функци как уравнения, которые, как известно, «думают за нас».
Мне кажется (интуиция подсказывает), что логические элементы полезны при создании программ как абстрактные понятия: они просто помогают сформировать качественную программную модель (по которой, впоследствии, строиться эффективный ( = простой и безошибочный) алгоритм, в котором логических элементов уже не будет, а будут простые ждущие циклы.