Моделирование работы ЭВМ. 3



10

 

Кафедра__Информационные системы и защита информации__

 

 

 

 

 

 

 

 

Пояснительная записка к курсовому проекту

по дисциплине: «Моделирование систем»

по теме: «Моделирование работы ЭВМ»

 

 

 

 

 

 

                                                             Выполнил: студент группы

 

                                                             Ф.И.О.__________________

 

                                                             Проверил:

 

                                                             Ф.И.О._________________

 

 

 

 

 

 

 

 

              Петушки 2010г.

                            Содержание

Аннотация………………………………………………………………….3

Введение……………………………………………………………………4

Основная часть……………………………………………………………5

   1. Задание…………………………………………………………………5

   2. Структурная схема модели системы………………………………6

   3. Блок-схема…………………………………………………………….7

   4. Листинг программы………………………………………………….8

   5. Описание листинга программы…………………………………...10

   6. Результаты моделирования………………………………………..11

Заключение……………………………………………………………….13

Список литературы………………………………………………………14

Приложение……………………………………………………………….15

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                   Аннотация

         

        В данной курсовой работе была поставлена цель: смоделировать

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

        Описывается процесс моделирования работы ЭВМ при помощи языка моделирования GPSS/РС для WINDOWS,в результате чего, получены результаты моделирования.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

              Введение

 

        В настоящее время полное исследование автоматизированных систем обработки информации и управления на всех этапах разработки невозможно без использования метода моделирования на ЭВМ. Для решения задач по моделированию систем нужно уметь ставить и проводить имитационные эксперименты с моделями процессов функционирования систем на современных ЭВМ для оценки вероятностно – временных характеристик систем.

        Данная курсовая работа предназначена для практического усвоения основных разделов дисциплины «Моделирование систем», закрепления знаний по математическим методам и программным средствам системного моделирования, развития практических навыков комплексного решения задач исследования и проектирования систем на современных ЭВМ.

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

        Система GPSS (General Purpose System Simulator) предназначена для написания имитационных моделей систем с дискретными событиями.  Наиболее удобно в системе GPSS описываются модели систем массового обслуживания,  для которых характерны относительно простые правила функционирования составляющих их элементов.

        К другим методам относятся такие языки моделирования как Stratum, он позволяет представлять группу моделируемых блоков и связей между ними визуально, но описание данной задачи может потребовать немало усилий и выглядеть громоздко. Также методам моделирования можно отнести языки программирования высокого уровня, такие как  С++ или Delphi, но их программный код довольно сложен . Исходя из этого, для решения своей задачи я выбрал язык GPSS\PC для MS Windows.

 

 

 

 

 

 

 

             

 

 

 

 

                                                   Основная часть

 

                   1.Задание

      

         ЭВМ подключено четыре терминала, с которых осуществляется решение задач. По команде с терминала выполня­ют операции редактирования, трансляции, планирования и реше­ния. Причем, если хоть один терминал выполняет планирование, остальные вынуждены простаивать из-за нехватки оперативной памяти. Если два терминала выдают требование на решение, то ос­тавшиеся два простаивают, и если работают три терминала, вы­дающих задания на трансляцию, то оставшийся терминал блокируется. Интенсивности поступления задач различных типов равны. Задачи одного типа от одного терминала поступают через экс­поненциально распределенные интервалы времени со средним значением 160 с. Выполнение любой операции длится 10 с.
Смоделировать работу ЭВМ в течение 4 ч. Определить загрузку процессора, вероятности простоя терминалов и частоту одновре­менного выполнения трансляции с трех терминалов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

Прежде чем начать моделирование системы необходимо определиться с тем, какие элементы входят в её состав. Согласно условию задания можно составить схему вычислительной системы для визуальной представления поставленной задачи:

             

          Рис. 1. Структурная схема вычислительной системы в символике Q-схем

 

 

 

     Опишем используемые блоки:

 

И – источник заданий (транзактов)(терминалы-1,2,3,4);

О – неограниченная очередь, в которой хранятся транзакты пока обрабатывающее устройство занято(очередь наЭВМ,очередь на терминалы);

К – обрабатывающее устройство – ЭВМ;

 

 

 

 

 

 

 

               4. Листинг программы

    Проанализировав структурную схему (Рис.1) составим программу в соответствии с синтаксисом языка GPSS\PC получим:

 

 

NAK_PRO              STORAGE              4

PROST_1              VARIABLE              (X10/X20)/4

PROST_2              VARIABLE              (X11/X21)/4

PROST_3              VARIABLE              (X12/X22)/4

PROST_4              VARIABLE              (X13/X23)/4

TRNTION              VARIABLE  (X$TRNTION/2)/14400

FREGUEN  TABLE AC1,800,800,18

 

EXPON     FUNCTION  RN1,C24

0,0/.100,.104/.200,.222/.300,.355/.400,.509

.500,.690/.600,.915/.700,1.200/.750,1.380

.800,1.600/.840,1.830/.880,2.120/.900,2.300

.920,2.520/.940,2.810/.950,2.990/.960,3.200

.970,3.500/.980,3.900/.990,4.600/.995,5.300

.998,6.200/.999,7/1,8

 

             

              GENERATE               160,FN$EXPON                            ;ПЕРВЫЙ ТЕРМИНАЛ

              ASSIGN               IDEN,10

              ASSIGN    ETUP,1

              ASSIGN              CONT,4

              ASSIGN              SOL,20

              ASSIGN              KEY,33

              TRANSFER              ,EDIT

 

              GENERATE               160,FN$EXPON                            ;ВТОРОЙ ТЕРМИНАЛ

              ASSIGN               IDEN,11

              ASSIGN    ETUP,1

              ASSIGN              CONT,4

              ASSIGN              SOL,21

              ASSIGN              KEY,44

              TRANSFER              ,EDIT

 

              GENERATE               160,FN$EXPON                            ;ТРЕТИЙ ТЕРМИНАЛ

              ASSIGN               IDEN,12

              ASSIGN    ETUP,1

              ASSIGN              CONT,4

              ASSIGN              SOL,22

              ASSIGN              KEY,55

              TRANSFER              ,EDIT

 

              GENERATE               160,FN$EXPON                            ;ЧЕТВЁРТЫЙ ТЕРМИНАЛ

              ASSIGN               IDEN,13

              ASSIGN    ETUP,1

              ASSIGN              CONT,4

              ASSIGN              KEY,66

              ASSIGN              SOL,23

 

EDIT              GATE LR              P$KEY                            ;РЕДАКТИРОВАНИЕ

              LOGIC S              P$KEY

              GATE LS              PROPUSK,DEV             

              SAVEVALUE              P$IDEN+,1

              GATE LR              PROPUSK                                         

              TRANSFER              ,DEV

 

OTHER              GATE LR               PROPUSK,PROST                            ;ТРАНСЛЯЦИЯ,РЕШЕНИЕ,ПЛАНИРОВАНИЕ

              SAVEVALUE              P$ETUP+,1

              SAVEVALUE              ZVENO,X*$ETUP

              TEST E              X$ZVENO,P$CONT,DEV

              SAVEVALUE CUR_OPER,P$ETUP

              ENTER              NAK_PRO

              PREEMPT               EBM

              FUNAVAIL               EBM,CO,,,RE,PROSTOY,RE,PROSTOY

              LOGIC S              PROPUSK

              ADVANCE               10

              LOGIC R              PROPUSK

              FAVAIL               EBM

              RETURN              EBM

              TRANSFER              ,PROV

 

PROSTOY              TEST NE              X$CUR_OPER,P$ETUP,PROSTOY1 ;БЛОКИРОВАНИЕ ТЕРМИНАЛОВ

              LEAVE               NAK_PRO

              SAVEVALUE              P$IDEN+,1

              GATE LR              PROPUSK

              TRANSFER              ,DEV

PROST              GATE LR              PROPUSK

              TRANSFER              ,OTHER

 

PROSTOY1              TEST E              X$CUR_OPER,3,DEV1   ;ПОДСЧЁТ ЧИСЛА ОДНОВРЕМЕННЫХ ТРАНСЛЯЦИЙ

              SAVEVALUE              TRNTION+,1

              TABULATE  FREGUEN

           TRANSFER              ,DEV1                           

 

COMPLT              SAVEVALUE              P$SOL+,1

              LOGIC R              P$KEY

              TERMINATE                           

             

 

DEV              ENTER              NAK_PRO                                ;ФУНКЦИОНИРОВАНИЕ ЭВМ

DEV1              SEIZE              EBM

              ADVANCE              10

              RELEASE              EBM

         

PROV              SAVEVALUE              P$ETUP-,1

              ASSIGN    ETUP+,1

              ASSIGN              CONT-,1

              LEAVE              NAK_PRO

              TEST NE              P$ETUP,5,COMPLT

              TRANSFER              ,OTHER

 

              GENERATE               1,,14400

              SAVEVALUE              PROST_1,V$PROST_1

              SAVEVALUE              PROST_2,V$PROST_2

              SAVEVALUE              PROST_3,V$PROST_3

              SAVEVALUE              PROST_4,V$PROST_4

              SAVEVALUE              TRNTION,V$TRNTION

              TERMINATE 1

              START              1

              CLEAR             

              START              1

              CLEAR             

              START              1

              CLEAR             

              START              1

              CLEAR             

              START              1

             

 

 

                       5. Описание листинга программы

 

EDIT - выполнение 1-ой задачи,редактирования, на терминалах.

Если первый ключ "KEY" выключен, то в терминале, которому принадлежит транзакт, производится редактирование.

В противном случае транзакты ждут, пока терминал закончит все задачи. Если второй ключ "PROPUSK" выключен, то ЭВМ свободна и транзакт поступает на процессор-метка "DEV",иначе терминал простаивает пока ключ не выключен.

После того как процессор завершит операцию редактирования транзакт переходит в метку "OTHER" - начинается трансляция. Если ЭВМ свободна и терминалов, выполняющих трансляцию, меньше 3-х, то терминал осуществляет трансляцию. В случае когда ЭВМ занята транзакт переходит в метку "PROST" и находится в ней пока ЭВМ не освободится(ключ "PROPUSK", а затем поступает в процессор. Если 3 терминала выполняют трансляцию, то происходит блокирование 4-го терминала в метке "PROSTOY". В блоках с меткой "PROSTOY1" в ячейке "TRNTION" фиксируется факт одновременной трансляции на 3-х терминалах. Дальше процесс развивается по тому же самому сценарию, но уже для оставшихся двух операций "ПЛАНИРОВАНИЕ" и "РЕШЕНИЕ".

IDEN- принадлежность транзакта к одному из 4-х терминалов

CONT- число оставшихся этапов задачи на терминале

SOL- номер ячейки, в которую сохраняется количество решённых задач на терминале

ETUP- выполняемый на терминале этап задачи на текущий момент времени

ZVENO- ячейка для записи числа задач, находящихся на этапе "ETUP"

CUR_OPER- ячейка для записи текущего этапа задачи при простоях терминалов

PROV- анализ состояния транзакта. Если им пройдены все 4 этапа, то он покидает систему через метку COMPLT.В противном случае транзакт отправляется на следующую стадию.

Интервал поступления задач от терминалов распределён по экспоненциальному закону, т.е в одном случае 160 с в другом - 120 и т.д. Поэтому количество задач, сгенерированных за один запуск программы может быть разным. Этот факт в свою очередь отразится на искомых параметрах при каждом запуске модели. Например, на первом запуске все задачи в силу случайности своего интервала поступления приходят через интерал времени больше 160с. Загрузка ЭВМ в этом случае будет меньше, чем при,скажем, втором запуске,когда большая часть задач поступает через интервал времени меньше 160 c. Т.е нельзя точно сказать сколько будет простоев на каждом терминале, какова будет загрузка процессора. Поэтому необходимо прогнать модель несколько раз(чем больше, тем лучше)(в моем случае-5 раз) и собрать статистику по работе  моделируемой системы, а затем найти среднее арифметическое для каждого искомого параметра.

 

                     6. Результаты моделирования

   В результате работы программы была определена загрузка процессора на распечатке она обоззначена так :

 

FACILITY         ENTRIES    UTIL.  

EBM               1773    0.914

 

А также вероятности простоя терминалов и частота одновре­менного выполнения трансляции с трех терминалов,которые на распечатке выглядят так :

 

PROST_1                0         0.573                           

PROST_2                  0          0.618                           

PROST_3                  0          0.607                           

PROST_4                  0          0.639                           

TRNTION                  0          0.008                           

 

Табличные данные одновременной трансляции с трех терминолов имеют вид:

TABLE    MEAN    STD.DEV.       RANGE           RETRY FREQUENCY CUM.%

FREGUEN 7253.801 4047.568                           0

                              _  -      800.000             6     2.96

                         800.000  -     1600.000            13     9.36

                        1600.000  -     2400.000            14    16.26

                        2400.000  -     3200.000             9    20.69

                        3200.000  -     4000.000            12    26.60

                        4000.000  -     4800.000             8    30.54

                        4800.000  -     5600.000            14    37.44

                        5600.000  -     6400.000            12    43.35

                        6400.000  -     7200.000            14    50.25

                        7200.000  -     8000.000            13    56.65

                        8000.000  -     8800.000            11    62.07

                        8800.000  -     9600.000            12    67.98

                        9600.000  -    10400.000            13    74.38

                       10400.000  -    11200.000            10    79.31

                       11200.000  -    12000.000             8    83.25

                       12000.000  -    12800.000            10    88.18

                       12800.000  -    13600.000            13    94.58

                       13600.000  -  _                      11   100.00

 

 

Где RANGE(Область) время работы модели,разделенное на 18 диапозонов по 800 сек. каждый.  FREQUENCY(частота),показывает сколько транзактов одновременной трансляции с трех терминалов попало в данный диапозон.

По этим данным построим Гистограмму№1.

 

 

 

 

 

 

 

 

   Гистограмма №1.

Все результаты моделирования находятся в приложении,которые сведены в таблицу №1.

       Таблица №1                 Таблица. Результаты моделирования

 

№прогона

 

 

           1                      

 

 

           2

 

           3

 

           4

 

           5

Средняя

величина

 

Загрузка

процессора

 

 

        0,987  

 

 

 

        0,972

 

        0,985

 

        0,914

 

        0,995

 

 

       0,9706

Вероятность

Простоя терминалов

 

 

         №1

 

 

        0,573

 

        0,727

 

        0,654

 

        0,386

 

        0,660

 

       0,6000

 

         №2

 

 

        0,618

 

        0,736

 

        0,640

 

        0,518

 

        0,640

 

       0,6304

 

         №3

 

 

        0,607

 

        0,764

 

        0,734

 

        0,500

 

        0,622

 

       0,6454

 

         №4

 

 

        0,639

 

        0,768

 

        0,709

 

        0,391

 

        0,664

 

       0,6342

Частота

трансляции

   с  трех

терминалов

 

        0,008 

 

        0,008

 

        0,007

 

       0,006

 

        0,007

 

       0,007

                                                                Заключение

 

В настоящее время машинное моделирование стало эффективным средством решения различных задач. В ходе выполнения курсовой работы были получены основные навыки решения задач по моделированию систем в среде языка имитационного моделирования дискретных систем GPSS/PC . В ходе работы  научились ставить и проводить имитационные эксперименты с моделями процессов функционирования систем на современных ЭВМ для оценки вероятностно – временных характеристик систем. Проведя моделирование данного мне задания, были получены характеристики исследуемой системы. Коэффициент загрузки для ЭВМ – 97,06%,

Вероятность простоя терминолов-0,6,а частота одновре­менного выполнения трансляции с трех терминалов равна 0,007 транзакта в секунду или примерно один транзакт в две с половиной минуты.

  Из полученных данных можно сделать заключение, что ЭВМ загружена полностью и для того ,чтобы терминалы не простаивали нужно увеличивать память.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                Список литературы

 

1.                 Советов Б.Я., Яковлев С.А. Моделирование систем. Практикум: Учеб. пособие для вузов по спец. «Автоматизир. системы обработки информ. и упр.». – М.: Высш. шк., 1999. – 224 с.: ил.

2.                 Сосновиков Г.К., Воробейчиков Л.А. «Основы моделирования на GPSS/PS», Московский технический университет связи и информатики, кафедра вычислительной математики и программирования, - Методические указания для слушателей ФПКП, - М, 1993.

3.                 Брусленко Н.П. «Моделирование сложных систем.»- М.:Наука, 1978.-400 с.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

 

 

 

 

 

 

 

 

 

                                                              Приложение

 

GPSS World Simulation Report - Untitled Model 1.1.5

 

 

                   Tuesday, May 18, 2010 08:57:34 

 

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000          14400.000    78        1          1

 

 

LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE            82             0       0

                    2    ASSIGN              82             0       0

                    3    ASSIGN              82             0       0

                    4    ASSIGN              82             0       0

                    5    ASSIGN              82             0       0

                    6    ASSIGN              82             0       0

                    7    TRANSFER            82             0       0

                    8    GENERATE            92             0       0

                    9    ASSIGN              92             0       0

                   10    ASSIGN              92             0       0

                   11    ASSIGN              92             0       0

                   12    ASSIGN              92             0       0

                   13    ASSIGN              92             0       0

                   14    TRANSFER            92             2       0

                   15    GENERATE            96             0       0

                   16    ASSIGN              96             0       0

                   17    ASSIGN              96             0       0

                   18    ASSIGN              96             0       0

                   19    ASSIGN              96             0       0

                   20    ASSIGN              96             0       0

                   21    TRANSFER            96             1       0

                   22    GENERATE           101             0       0

                   23    ASSIGN             101             0       0

                   24    ASSIGN             101             0       0

                   25    ASSIGN             101             0       0

                   26    ASSIGN             101             0       0

                   27    ASSIGN             101             7       0

EDIT               28    GATE               361             0       0

                   29    LOGIC              361             0       0

                   30    GATE               361             0       0

                   31    SAVEVALUE           21             0       0

                   32    GATE                21             0       0

                   33    TRANSFER            21             0       0

OTHER              34    GATE              1075             0       0

                   35    SAVEVALUE         1075             0       0

                   36    SAVEVALUE         1075             0       0

                   37    TEST              1075             0       0

                   38    SAVEVALUE          638             0       0

                   39    ENTER              638             0       0

                   40    PREEMPT            638             0       0

                   41    FUNAVAIL           638             0       0

                   42    LOGIC              638             0       0

                   43    ADVANCE            638             0       0

                   44    LOGIC              638             0       0

                   45    FAVAIL             638             0       0

                   46    RETURN             638             0       0

                   47    TRANSFER           638             0       0

PROSTOY            48    TEST              1247             0       0

                   49    LEAVE              902             0       0

                   50    SAVEVALUE          902             0       0

                   51    GATE               902             0       0

                   52    TRANSFER           902             0       0

PROST              53    GATE                 0             0       0

                   54    TRANSFER             0             0       0

PROSTOY1           55    TEST               345             0       0

                   56    SAVEVALUE          203             0       0

                   57    TABULATE           203             0       0

                   58    TRANSFER           203             0       0

COMPLT             59    SAVEVALUE          357             0       0

                   60    LOGIC              357             0       0

                   61    TERMINATE          357             0       0

DEV                62    ENTER             1700             3       0

DEV1               63    SEIZE             1420             0       0

                   64    ADVANCE            795             1       0

                   65    RELEASE            794             0       0

PROV               66    SAVEVALUE         1432             0       0

                   67    ASSIGN            1432             0       0

                   68    ASSIGN            1432             0       0

                   69    LEAVE             1432             0       0

                   70    TEST              1432             0       0

                   71    TRANSFER          1075             0       0

                   72    GENERATE             1             0       0

                   73    SAVEVALUE            1             0       0

                   74    SAVEVALUE            1             0       0

                   75    SAVEVALUE            1             0       0

                   76    SAVEVALUE            1             0       0

                   77    SAVEVALUE            1             0       0

                   78    TERMINATE            1             0       0

 

 

FACILITY       ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

EBM            2058    0.995       6.959  1      354    0    0     0     3

 

 

STORAGE           CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

NAK_PRO            4    0   0     4     2338   1    2.488  0.622    0    0

 

 

TABLE        MEAN    STD.DEV.       RANGE           RETRY FREQUENCY CUM.%

FREGUEN 7253.801 4047.568                           0

                                _  -      800.000             6     2.96

                          800.000  -     1600.000            13     9.36

                         1600.000  -     2400.000            14    16.26

                         2400.000  -     3200.000             9    20.69

                         3200.000  -     4000.000            12    26.60

                         4000.000  -     4800.000             8    30.54

                         4800.000  -     5600.000            14    37.44

                         5600.000  -     6400.000            12    43.35

                         6400.000  -     7200.000            14    50.25

                         7200.000  -     8000.000            13    56.65

                         8000.000  -     8800.000            11    62.07

                         8800.000  -     9600.000            12    67.98

                         9600.000  -    10400.000            13    74.38

                        10400.000  -    11200.000            10    79.31

                        11200.000  -    12000.000             8    83.25

                        12000.000  -    12800.000            10    88.18

                        12800.000  -    13600.000            13    94.58

                        13600.000  -  _                      11   100.00

 

 

SAVEVALUE               RETRY       VALUE

1                        0           -360                           

2                        0          2.000                           

3                        0          1.000                           

4                        0              0                           

10                       0        214.000                           

11                       0        228.000                           

12                       0        234.000                           

13                       0        247.000                           

20                       0         81.000                           

21                       0         89.000                           

22                       0         94.000                           

23                       0         93.000                           

PROST_1                  0          0.660                           

PROST_2                  0          0.640                           

PROST_3                  0          0.622                           

PROST_4                  0          0.664                           

TRNTION                  0          0.007                           

ZVENO                    0          2.000                           

CUR_OPER                 0          4.000                           

 

 

  GPSS World Simulation Report - Untitled Model 1.1.4

 

 

                   Tuesday, May 18, 2010 08:57:33 

FACILITY      ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

EBM          1773    0.914       7.422  1        0    0    0     0      0

Моделирование работы ЭВМ. 3