Модельное время и таймер модельного времени
В моделирующей программе для фиксации моментов времени, в которые происходят события, используется специальная переменная, называемая таймером времени. При этом моделирование изменения времени, в котором функционирует моделируемая система, состоит в изменении значения переменной «таймер времени». Все действия при данном значении таймера моделируют события, происходящие именно в тот момент времени, который задается значением таймера. Благодаря такому подходу моделирующая программа, требуя для себя, множество процессорных операций, выполнение которых занимает какое-то астрономическое время, позволяет последовательно на одном процессоре моделировать множество всех событий, свершающихся мгновенно в один и тот же момент времени. Понятно, что при этом значение таймера не может задавать реальное астрономическое время. Оно задает модельное время, т.е. таймер является таймером модельного времени. Все события в модели системы планируются и происходят в модельном времени.
Для управления модельным временем может использоваться одна из двух стратегий:
- стратегия переменного приращения значений таймера:
- стратегия приращения значений таймера с постоянным шагом.
Стратегия переменного приращения значений таймера состоит в том, что в качестве очередного значения таймеру назначается не следующее число из натурального ряда, а число, соответствующее моменту свершения ближайшего из всех запланированных будущих событий. Такая стратегия в сравнении со стратегией приращения таймера каждый раз на единицу позволяет экономить процессорное время, необходимое для работы моделирующей программы.
|
|
В моделях используются только целочисленные значения модельного времени. Однако это не мешает разработчику модели точно задавать системные величины, измеряемые долями единиц времени. Для этого достаточно правильно выбрать масштаб модельного времени (ММВ), показывающий, сколько единиц реального времени и каких приходится на единицу модельного времени. После этого все системные времена следует выразить в единицах модельного времени, учитывая выбранный масштаб. Можно принять, что единице модельного времени соответствует, например, 1с или Зс, или 1,3 мин, или 1 ч, или 15 мкс, или любая другая величина реального времени. Обычно выбранный ММВ никак не отражается программой моделирования. О нем знает только разработчик модели. Например, необходимо задать в модели времена, равные 3с, 1,1 мин, 5,2с и 15 мин. В качестве ММВ следует взять такой, чтобы все перечисленные времена с учетом масштаба можно было выразить в целых числах. Выберем, например, ММВ = 0,1 с. Тогда перечисленные времена будут задаваться соответственно как 30, 660, 52 и 9000. Если же ММВ = 0,2 с, тогда этот ряд будет следующим: 15, 330, 26, 4500. В данном случае выбрать значение ММВ>0,2с не удается, т.к. числа 15 и 26 взаимно простые. В рассматриваемом примере можно назначить множество других масштабов (например, ММВ = 10 мс), но следует выбирать по возможности большее значение ММВ. При выборе очень маленького значения ММВ может не хватить разрядной сетки, выделенной для представления значений таймера.
|
|
6. Алгоритмы умножения и деления
чисел с фиксированным положением
позиционной точки
Дата добавления: 2016-01-04; просмотров: 16; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!