Высокоуровневое проектирование встраиваемых систем. Платунов А.Е - 42 стр.

UptoLike

реализации программных алгоритмов вполне возможно разделение таких
ресурсов системы, как процессорное время тдельные функции могут
выполняться последовательно и независимо), так и память (отдельные функции,
выполняясь последовательно, могут использовать одни и те же ячейки памяти).
Аппаратная схема трактуется как набор подсистем, существующих и
работающих одновременно и выполняющих одно и тоже действие во времени.
Так как традиционно вся функциональность аппаратной реализации существует
одновременно (параллельность во времени), невозможно так же легко как в
случае программной реализации обеспечить разделение ресурсов памяти кода и
данных (параллельность в ресурсах). Очевидно, что в особых случаях можно
применить различные техники распараллеливания вычислений, чтобы сделать
одновременным выполнение функций в программной реализации и обеспечить
последовательность в аппаратной реализации.
Переход от разделяемых” локальных переменных к строго выделенным
ресурсам имеет смысл только в случае, если интерпретатор имеет возможность
обрабатывать наборы данных за одну инструкцию, так называемые SIMD
(Single-Instruction Multiple-Data
) процессоры. В противном случае сокращения
времени выполнения функций не добиться. Еще нужно иметь в виду, что для
объединения вычисления функций необходимо, чтобы к определенному
моменту были готовы данные для обеих ветвей алгоритма. Имея в
распоряжении только один последовательный интерпретатор, нет
необходимости создавать отдельные копии кода функции в памяти. В РИУС
зачастую дело обстоит иначе. В распоряжении разработчиков имеется
множество вычислителей, и данные для функций могут быть готовы
совершенно в различные моменты времени, так что объединить их выполнение
на практике будет
невозможно.
Тот или иной способ реализации вычислительного процесса не влияет на
общую модель системы на высоких уровнях рассмотрения. Данное
утверждение позволяет сделать вывод о том, что представление на уровне ФБ
позволяет абстрагироваться от специфики реализации отдельных
вычислительных механизмов и дает возможность описать систему без
предварительного разбиения на программную и аппаратную составляющие. На
последнем этапе проектирования при генерации кода программного компонента
и аппаратного компонента ФБ могут быть заменены аналогичными элементы
моделирования в выбранных языках реализации. Например, при генерации кода
программного компонента на языке C/C++ ФБ адекватно замещается объектом,
при генерации кода аппаратного компонента на языке VerilogHDL ФБ
замещается модулем (module
). Во всех случаях иерархия ФБ моделей
осуществляется за счет использования реализаций более мелких ФБ при
описании структуры более крупных ФБ. То же самое можно утверждать про
создание объектов/модулей в упомянутых языках.
Для проведения моделирования необходимо абстрагироваться от способа
внутренней организации конкретного ФБ и тонкостей его реализации.
41