Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Содержание сайт... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Invision Power ... 65285
Организация зап... 63935
Модуль Forms 60855
Создание отчето... 60713
ТЕХНОЛОГИИ ДОСТ... 57039
Создание потоко... 56371
Пример работы с... 54270
Имитационное мо... 52480
Реклама
Сейчас на сайте
Гостей: 11
На сайте нет зарегистрированных пользователей

Пользователей: 13,065
новичок: railval
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование работы узла коммутации сообщений на GPSS + Пояснительная з...
Принадлежит ли точка пересечению двух окружностей на Turbo Pascal + Отче...
Выбор наилучших альтернатив с использованием методов оптимизации на Delp...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Моделирование электронных средств в GPSS 4
1.Построение структурной схемы модели

В соответствии с техническим заданием, структурная схема модели имеет вид:

Рис.1 Структурная схема модели

2. Описание сети в виде системы массового обслуживания

При решении задач моделирования с помощью СМО процесс анализа связан с исследованием прохождения через эти системы заявок (требований). Эти заявки называются транзактами. Все транзакты являются случайными процессами и при моделировании СМО могут быть известны лишь законы распределения и числовые характеристики этих случайных распределений, т.е. СМО носит статистический характер.
Устройства, в которых производится обслуживание транзактов, называются обслуживающими аппаратами (ОА) или каналами. ОА в совокупности образуют статические объекты. Транзакты называются динамическими объектами. ОА (каналы) описываются в СМО с помощью булевых переменных: «свободно» или «занято» («1» или «0»).
В процессе работы СМО могут возникать очереди. Количество очередей может быть бесконечно или с ограничением. Правила, согласно которым заявки выбираются из очереди, называются дисциплиной обслуживания. Величина, выражающая преимущество на право обслуживания называется приоритетом.
В соответствии с полученной структурной схемой модели, представим её в виде СМО. В нашей модели роль транзактов выполняют пакеты данных приходящих от источников А, В и С. Приоритет этих транзактов, согласно заданию, одинаков. В качестве ОА (каналов) выступают блоки обработки данных.

VBUF – входной буфер системы.
Mem1 – буфер первого процессора, первого сегмента конвейера(Ёмкость-10).
Mem2 – буфер второго процессора, первого сегмента конвейера(Ёмкость-10).
Mem3 – буфер первого процессора, второго сегмента конвейера.
Mem4 – буфер второго процессора, второго сегмента конвейера.
Mem5 – буфер третьего процессора, второго сегмента конвейера
Рис.2 Модель в виде СМО


3. Формализация и алгоритмизация задачи

3.1 Алгоритм обработки транзактов

1. Вход транзакта в модель;
2. Вход в буфер системы (VBUF);
3. Переход в буфер первого или второго процессора по критерию минимума входной очереди;
4. Вход в процессор с минимальной входной очередью (если он свободен);
5. Выход из этого буфера;
6. Выход из буфера системы;
7. Занятие соответствующего процессора для обработки;
8. Обработка за время 10-18 мкс (для заявок первого типа) или за 11-23 мкс (для заявок второго типа);
9. Освобождение процессора первого сегмента;
10. Выбор для обработки процессора второго сегмента по критерию минимума входной очереди;
11. Вход в буфер этого процессора;
12. Вход в соответствующий процессор (если он свободен);
13. Выход из буфера соответствующего процессора;
14. Обработка за время 12-32 мкс(для заявок первого типа) или за 20-30 мкс (для заявок второго типа);
15. Освобождение процессора второго сегмента;
16. Уничтожение транзактов.




3.2 Блок-схема программы


4. Имитационный эксперимент

4.1 Текст программы

mem1 equ 1 ;символическое и числовое имена буфера проц. №1
mem2 equ 2 ;символическое и числовое имена буфера проц. №2
vbuf equ 1 ;символическое и числовое имена буфера системы
mem3 equ 2 ;символическое и числовое имена буфера проц. №3
mem4 equ 3 ;символическое и числовое имена буфера проц. №4
mem5 equ 4 ;символическое и числовое имена буфера проц. №5
proc1 equ 1 ;символическое и числовое имена проц. №1
proc2 equ 2 ;символическое и числовое имена проц. №2
proc3 equ 3 ;символическое и числовое имена проц. №3
proc4 equ 4 ;символическое и числовое имена проц. №4
proc5 equ 5 ;символическое и числовое имена проц. №5
initial x$1,14 ;определение значений задержек
initial x$2,17
initial x$3,22
initial x$4,25
initial xh$1,4
initial xh$2,6
initial xh$3,10
initial xh$4,5
simulate ;разрешает моделирование
storage s$mem1,10 ; объём буфера проц. №1
storage s$mem2,10 ;объём буфера проц.№2
generate 24 ;генерация транзактов
assign 1,1 ;транзакты 1-ого типа
transfer ,buf ;безусловный переход к строке Buf
generate 24,,8 ;генерация транзактов
assign 1,2 ;транзакты 2-ого типа
transfer ,buf ;безусловный переход к строке Buf
generate 24,,16 ;генерация транзактов
assign 1,1 ;транзакты 1-ого типа
buf queue vbuf ;занятие входного буфера
test_l s$mem1,s$mem2,prod1 ;определение min очереди
enter mem1 ;вход в mem1
seize proc1 ;занятие proc1
depart vbuf ;покидание входного буфера
leave mem1 ;выход из mem1
advans x$p$1,xh$p$1 ;обработка в proc1
release proc1 ;освобождение proc1
transfer,prod2 ;безусловный переход к строке prod2
prod1 enter mem2 ;вход в mem2
seize proc2 ;занятие proc2
depart vbuf ;покидание входного буфера
leave mem2 ;выход из mem2
advans x$p$1,xh$p$1 ;обработка в proc2
release proc2 ;освобождение proc2
prod2 test_l q$mem3,q$mem4,prod3 ;определение min очереди(+стр. prod3)
queue mem3 ;вход в mem3
seize proc3 ;занятие proc3
depart mem3 ;выход из mem3
advans x$(p$1+2),xh$(p$1+2) ;обработка в proc3
release proc3 ;освобождение proc
transfer,final ;безусловный переход к уничтожению
prod3 test_l q$mem4,q$mem5,prod4 ;определение min очереди
queue mem4 ;вход в mem4
seize proc4 ;занятие proc4
depart mem4 ;выход из mem4
advans x$(p$1+2),xh$(p$1+2) ;обработка в proc4
release proc4 ;освобождение proc
transfer,final ;безусловный переход к уничтожению
prod4 queue mem5 ;вход в mem5
seize proc5 ;занятие proc5
depart mem5 ;выход из mem5
advans x$(p$1+2),xh$(p$1+2) ;обработка в proc5
release proc5 ;освобождение proc
final terminate ;уничтожение транзактов
generate 4000 ;генерация отрезка времени 4мс
terminate 1 ; уменьшение счётчика на 1
start 1 ; установка нач. значения счётчика (1)
end ;конец программы




4.2 Листинг результатов моделирования

LINE BLOCK

1 MEM1 EQU 1
2 MEM2 EQU 2
3 VBUF EQU 1
4 MEM3 EQU 2
5 MEM4 EQU 3
6 MEM5 EQU 4
7 PROC1 EQU 1
8 PROC2 EQU 2
9 PROC3 EQU 3
10 PROC4 EQU 4
11 PROC5 EQU 5
12 INITIAL X$1,14
13 INITIAL X$2,17
14 INITIAL X$3,22
15 INITIAL X$4,25
16 INITIAL XH$1,4
17 INITIAL XH$2,6
18 INITIAL XH$3,10
19 INITIAL XH$4,5
20 SIMULATE
21 STORAGE S$MEM1,10
22 STORAGE S$MEM2,10
23 1 GENERATE 24
24 2 ASSIGN 1,1
25 3 TRANSFER ,BUF
26 4 GENERATE 24,,8
27 5 ASSIGN 1,2
28 6 TRANSFER ,BUF
29 7 GENERATE 24,,16
30 8 ASSIGN 1,1
31 9 BUF QUEUE VBUF
32 10 TEST_L S$MEM1,S$MEM2,PROD1
33 11 ENTER MEM1
34 12 SEIZE PROC1
35 13 DEPART VBUF
36 14 LEAVE MEM1
37 15 ADVANS X$P$1,XH$P$1
38 16 RELEASE PROC1
39 17 TRANSFER,PROD2
40 18 PROD1 ENTER MEM2
41 19 SEIZE PROC2
42 20 DEPART VBUF
43 21 LEAVE MEM2
44 22 ADVANS X$P$1,XH$P$1
45 23 RELEASE PROC2
46 24 PROD2 TEST_L Q$MEM3,Q$MEM4,PROD3
47 25 QUEUE MEM3
48 26 SEIZE PROC3
49 27 DEPART MEM3
50 28 ADVANS X$(P$1+2),XH$(P$1+2)
51 29 RELEASE PROC3
52 30 TRANSFER,FINAL
53 31 PROD3 TEST_L Q$MEM4,Q$MEM5,PROD4
54 32 QUEUE MEM4
55 33 SEIZE PROC4
56 34 DEPART MEM4
57 35 ADVANS X$(P$1+2),XH$(P$1+2)
58 36 RELEASE PROC4
59 37 TRANSFER,FINAL
60 38 PROD4 QUEUE MEM5
61 39 SEIZE PROC5
62 40 DEPART MEM5
63 41 ADVANS X$(P$1+2),XH$(P$1+2)
64 42 RELEASE PROC5
65 43 FINAL TERMINATE
66 44 GENERATE 4000
67 45 TERMINATE 1
68 START 1
69 END



SYMBOL VALUE SYMBOL VALUE
====== ===== ====== =====

BUF 9 FINAL 43
MEM1 1 MEM2 2
MEM3 2 MEM4 3
MEM5 4 PROC1 1
PROC2 2 PROC3 3
PROC4 4 PROC5 5
PROD1 18 PROD2 24
PROD3 31 PROD4 38
VBUF 1

RELATIVE CLOCK 4000 ABSOLUTE CLOCK 4000

BLOCK COUNTS
BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL

1 1 167 2 0 166 3 0 166
4 1 168 5 0 167 6 0 167
7 1 167 8 0 166 9 0 499
10 0 499 11 0 213 12 0 213
13 0 213 14 0 213 15 1 213
16 0 212 17 0 212 18 0 286
19 0 286 20 0 286 21 0 286
22 1 286 23 0 285 24 0 497
25 0 11 26 0 11 27 0 11
28 0 11 29 0 11 30 0 11
31 0 486 32 0 199 33 0 199
34 0 199 35 1 199 36 0 198
37 0 198 38 0 287 39 0 287
40 0 287 41 1 287 42 0 286
43 0 495 44 1 2 45 0 1


FACILITY AVERAGE NUMBER AVERAGE SEIZING PREEMPTING
UTILIZATION ENTRIES TIME/TRAN TRANS.NO. TRANS.NO.
1 0.74 213 13.93 5
2 1.00 286 13.96 8
3 0.04 11 14.18
4 0.70 199 14.03 10
5 0.98 287 13.64 2


STORAGE CAPACITY AVERAGE AVERAGE ENTRIES AVERAGE CURRENT MAXIMUM
CONTENT UTILIZ. TIME/TR CONTENT CONTENT
1 10 0.00 0.00 213 0.66 0 1
2 10 0.00 0.07 286 9.40 0 1


QUEUE MAXIMUM AVERAGE TOTAL ZERO PERC. AVERAGE $AVERAGE TABLE CURRENT
CONTENT CONTENT ENTRIES ENTRIES ZERO TIME/TR TIME/TR NUMBR CONTENT
1 2 0.71 499 165 33.07 5.67 8.47 0
2 1 0.01 11 9 81.82 2.45 13.50 0
3 1 0.08 199 138 69.35 1.70 5.56 0
4 1 0.57 287 25 8.71 7.89 8.64 0




5. Заключение

В заключении приведём анализ файла отчёта, содержащего всю необходимую информацию о результатах моделирования и статистические данные о работе всех узлов схемы.

1. Сначала определим необходимые для нормальной работы объёмы буферов.

Буфер системы должен иметь объём не менее: 2 у.е. памяти*;
Буферы второго сегмента должны иметь объём не менее: 1 у.е. памяти;

*1 у.е. памяти в нашем случае равна объёму одного транзакта.

2. Основные данные о работе очередей:

Очередь к буферу первого микропроцессора:
- максимальное содержимое: 1 транзакт;
- среднее содержимое: 0 транзактов;
- среднее время пребывания в очереди: 0,66 мкс;

Очередь к буферу второго микропроцессора:
- максимальное содержимое: 1 транзакт;
- среднее содержимое: 0,07 транзакта;
- среднее время пребывания в очереди: 9,4 мкс.

Очередь к буферу третьего микропроцессора:
- максимальное содержимое: 1 транзакт;
- среднее содержимое: 0,01 транзакта;
- среднее время пребывания в очереди: 2,45 мкс.

Очередь к буферу четвёртого микропроцессора:
- максимальное содержимое: 1 транзакт;
- среднее содержимое: 0,08 транзакта;
- среднее время пребывания в очереди: 1,7 мкс.

Очередь к буферу пятого микропроцессора:
- максимальное содержимое: 1 транзакт;
- среднее содержимое: 0,57 транзакта;
- среднее время пребывания в очереди: 7,89 мкс.

Очередь на обработку(VBUF):
- максимальное содержимое: 2 транзакт;
- среднее содержимое: 0,71 транзакта;
- среднее время пребывания в очереди: 5,76 мкс.
Опубликовал Kest June 03 2009 18:45:24 · 2 Комментариев · 9204 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Иван December 30 2015 14:49:41
А на какой программе это сделано? в GPSS World не могу запустить
Kest January 07 2016 22:44:39
Судя по отчету то в GPSS World
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
De Knop
База для Allsubmi...
Midi
HTMLredaktor
ComboBox97
EditNew
Система баннеро-о...
Интерактивный инт...
Программирование ...
Панель Наша Кнопка
Панель для реклам...
Таймер и секундомер
Импорт новостей ...
Создание фракталов
LaserTank [Исходн...
Borland C++Builde...
Краснов М. - Open...
Игра в крестики н...
HtmlLerz PRO
AlnComponents

Топ загрузок
Приложение Клие... 100376
Delphi 7 Enterp... 83083
Converter AMR<-... 20046
Borland C++Buil... 11177
GPSS World Stud... 10901
Borland Delphi ... 8124
Turbo Pascal fo... 6973
Visual Studio 2... 4963
Калькулятор [Ис... 4358
FreeSMS v1.3.1 3510
Случайные статьи
Замена подстроки с...
Формат X PixMap
Gamepark 32 (GP32)
В данном примере н...
BUFFER (ВОЗОБНОВИТ...
Тестирование
40-часовая рабочая...
Использование сред...
Популярно о PageRank
Язык С: категории ...
функцию брандмауэр...
Проблемы, связанны...
Структура жесткого...
от его имени
Суммирование двух ...
inf и Hisecdc
Линейная сортировк...
Навыки общения
• Computer (Компью...
Дополнительный ша...
Кардшаринг нтв
Благодарности к пе...
Закругленные уголк...
Стандарт TIFF 6.0
Зачем нужны команд...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?