You are on page 1of 68

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Запорізький національний технічний університет

МЕТОДИЧНІ ВКАЗІВКИ
до виконання лабораторних робіт з дисципліни
“Архітектура ЕОМ”
для студентів спеціальностей 8.091 501 “Комп’ютерні системи та
мережі” та 7.091 503 “Спеціалізовані комп’ютерні системи”
усіх форм навчання.
Частина 1

2004
Методичні вказівки до виконання лабораторних робіт з дисципліни
“Архітектура ЕОМ” для студентів спеціальностей 8.091 501
“Комп’ютерні системи та мережі” та 7.091 503 “Спеціалізовані
комп’ютерні системи” усіх форм навчання. Частина 1. / Укл.
А. К. Тімовський, М.М. Хохлов, С.С. Сінченко.– Запоріжжя: ЗНТУ,
2004.- 68 c.

Укладачі : А.К. Тімовський, доцент, к.т.н.,


М.М. Хохлов, ас.
С.С. Сінченко, ас.
Рецензент : Р.К. Кудерметов, доцент, к.т.н.

Відповідальний за випуск : А.К. Тімовський, доцент, к.т.н.

Затверджено
на засіданні кафедри
“КС і М”

Протокол № 4
від 11 грудня 2003р.
3

ЗМІСТ

Вступ ................................................................................................4
Лабораторна робота №1 Структури ЕОМ.........................................5
Лабораторна робота №2 Структура і робота
центрального процесор...................................................................18
Лабораторна робота №3 Режими адресації.....................................22
Лабораторна робота №4 Середовище системи імітаційного
моделювання GPSS/PC ...................................................................26
Лабораторна робота №5 Основні оператори мови
програмування системи GPSS/PC...................................................40
Додаток А Оболонка GPSS Edit для GPSS/PC ................................53
Додаток Б Прогон модели и наблюдение за моделированием ........60
Додаток В Імітаційна модель заданої системи................................64
Додаток Г Стандартні числові атрибути ........................................65
Перелік посилань............................................................................67
4

ВСТУП
Лабораторні роботи складаються з двох частин. В першій
частині наведені лабораторні роботи, які спрямовані на засвоєння
складу та функціонування ЕОМ, команд та типів даних, адресацій
операндів та методів аналізу структур ЕОМ і комп’ютерних систем за
допомогою програми GPSS/PC [1].
В другій частині наведені лабораторні роботи, в яких
вивчаються методи проектування ЕОМ на функціональному рівні та
рівні регістрових передач за допомогою програми Activ-HDL [2,3,4].
Результат лабораторної роботи необхідно показати викладачу,
який робить відповідну помітку в журналі. Звіт захищається
індивідуально на наступному занятті або під час консультації. Він
повинен мати титульний лист, на якому вказуються номер
лабораторної роботи, дату виконання, номер варіанта, прізвища
студента та викладача, а також матеріали, відповідно до змісту, який
наводиться в лабораторній роботі. Звіт повинен бути оформлений в
текстовому редакторі Microsoft Word 97 і вище. Шрифт: основний -
Times New Roman 12, полуторний інтервал; шрифт тексту програми -
Courier 10, одинарний інтервал; заголовки - Times New Roman 12,
жирний. Поля: зліва - 2,5 см, справа - 1,5 см, зверху та знизу - 1 см.
Рисунки і таблиці - в відповідності до стандарту підприємства [5,6].
Друк - двосторонній. Захищений звіт підписується студентом і
викладачем з записом дати захисту. Усі захищені звіти постійно
зберігаються у студента и приносяться ним на іспит.
5

1 ЛАБОРАТОРНА РОБОТА №1
СТРУК ТУРИ ЕОМ

Мета роботи – знайомство з структурою ЕОМ: ЦОМ, АОМ і


ГОМ на прикладі ПЕОМ на основі процесора AMD Athlon, АВК-6,
АВК-32, а також знайомство з їх основними функціональними
блоками та принципами їх взаємодії.

1.1 Порядок виконання роботи

1.1.1 Вивчення структури ПЕОМ на основі процесора AMD


Athlon.
- Ознайомитись із внутрішньою будовою ПЕОМ.
- Ознайомитись зі складом і призначенням компонентів
системної плати.
- Ознайомитись із засобами підключення різних
периферійних пристроїв.
1.1.2 Вивчення структури аналогового комп’ютера АВК-6.
- Ознайомитись з описом аналогового комп’ютера.
- Ознайомитись зі структурою і різними блоками
комп’ютера.
- Ознайомитись із роботою АВК-6 на демонстраційній
задачі.
1.1.3 Вивчення структури ГОМ АВК-32.
- Ознайомитись з описом АВК-32 і його основними
системами та взаємодією цих систем.
- Ознайомитись з основними функціональними блоками
та набірним полем.
- Ознайомитись із роботою АВК-32 на демонстраційній
задачі.
1.2 Зміст звіту

1.2.1 Призначення і структура ПЕОМ на основі процесора AMD


Athlon.
1.2.2 Призначення і структура персонального аналогового
комп’ютера АВК-6.
1.2.3 Призначення і структура гібридної ОМ АВК-32.
6

1.3 Структура ЦОМ

У відповідності з формою відображення інформації ЕОМ


поділяються на аналогові АОМ – безперервної дії, цифрові ЦОМ –
дискретної дії та гібридні ГОМ – змішаної дії.
Конструктивно ПЕОМ виконані у виді центрального системного
блоку, до якого крізь рознімання підключаються зовнішні пристрої:
додаткові пристрої пам'яті, клавіатура, дисплей, принтер і ін. (рис.1.2).
Системний блок звичайно містить у собі системну плату, блок
живлення, накопичувачі на дисках, рознім для додаткових пристроїв і
плати розширення з контролерами — адаптерами зовнішніх
пристроїв.

Рисунок 1.1 - Основні елементи та їх розташування на системній платі

На системній платі або материнській платі (рис.1.1), як


правило, розміщуються:
− мікропроцесор;
− математичний співпроцесор;
− генератор тактових імпульсів;
− блоки (мікросхеми) ОЗП і ПЗП;
− адаптери клавіатури, НЖМД і НГМД
− контролер переривань;
− таймер і ін.
7

Мікропроцесор (МП). Це центральний блок ПК, призначений


для керування роботою всіх блоків машини і для виконання
арифметичних і логічних операцій над інформацією.
Генератор тактових імпульсів. Він генерує послідовність
електричних імпульсів; частота імпульсів, що генеруються, визначає
тактову частоту машини.
Системна шина. Це основна інтерфейсна система комп'ютера,
що забезпечує сполучення і зв'язок усіх його пристроїв між собою.
Системна шина забезпечує три напрямки передачі інформації:
− між мікропроцесором і основною пам'яттю;
− між мікропроцесором і портами вводу-виводу
зовнішніх пристроїв;
− між основною пам'яттю і портами вводу-виводу
зовнішніх пристроїв (у режимі прямого доступу до пам'яті).
Основна пам'ять. Вона призначена для збереження й
оперативного обміну інформацією з іншими блоками машини і
містить два види запам'ятовуючих пристроїв: постійний
запам'ятовуючий пристрій (ПЗП) і оперативний запам'ятовуючий
пристрій (ОЗП).
ПЗП служить для збереження незмінної (постійної)
програмної і довідкової інформації, дозволяє оперативно тільки
зчитувати інформацію, що зберігається в ньому, (змінити
інформацію в ПЗП не можна).
ОЗП призначено для оперативного запису, збереження і
зчитування інформації (програм і даних), що безпосередньо
приймають участь у інформаційно-обчислювальному процесі, що
виконується в ПК у поточний період часу.
Зовнішня пам'ять. Вона відноситься до зовнішніх пристроїв
ПК і використовується для довгострокового збереження будь-якої
інформації. Зовнішня пам'ять містить різноманітні види
запам'ятовуючих пристроїв, але найбільш розповсюдженими є
накопичувачі на жорстких (НЖМД) і гнучких (НГМД) магнітних
дисках, оптичних дисках та магнітних стрічках.
Джерело живлення. Це блок, що містить системи автономного і
мережного енергоживлення ПК.
Таймер. Це внутрімашинний електронний годинник, що
забезпечує при необхідності автоматичне фіксування поточного
8

моменту часу (рік, місяць, годинник, хвилини, секунди і частки


секунд). Таймер підключається до автономного джерела живлення —
акумулятора і при відключенні машини від мережі продовжує
працювати.
Зовнішні пристрої (ЗП) досить різноманітні і можуть бути
класифіковані по ряду ознак. Так, по призначенню можна виділити
наступні види ЗП:
− зовнішні запам'ятовуючі пристрої (ЗЗП) або зовнішня
пам'ять ПК;
− пристрої вводу інформації;
− пристрої виводу інформації;
− засоби зв'язку і телекомунікації.
Відеомонітор (дисплей) - пристрій для відображення
інформації, що вводиться або виводиться із ПК.
Пристрої мовного вводу-виводу відносяться до засобів
мультимедіа, що швидко поширюються. Пристрої мовного вводу —
це різні мікрофонні акустичні системи.
Пристрої мовного виводу — це різні синтезатори звуку, що
виконують перетворення цифрових кодів у букви і слова, відтворені
через гучномовці (динаміки) або звукові колонки, приєднані до
комп'ютера.
До пристроїв вводу інформації відносяться:
− клавіатура — пристрій для ручного вводу числової,
текстової і керуючої інформації в ПК;
− графічні планшети (діджитайзери) - для ручного
вводу графічної інформації, зображень шляхом переміщення по
планшету спеціального покажчика (пера); при переміщенні пера
автоматично виконуються зчитування координат його місця
розташування і вводу цих координат у ПК;
− сканери (читаючі автомати) — для автоматичного
зчитування з паперових носіїв і вводу в ПК машинописних текстів,
графіків, малюнків, креслень.
− маніпулятори (пристрої вказівки): джойстик —
важіль, миша, трекбол— куля в оправі, світлове перо та ін. — для
вводу графічної інформації на екран дисплея шляхом керування рухом
курсору по екрану з наступним кодуванням координат курсору і
вводом їх у ПК;
9

Математичний
співпроцесор

Мікропроцесор Основна пам`ять Зовнішня пам`ять

Постійний Оператив- Накопичу- Накопичу-


Аріфметик запом`ято- ний за- вач на вач на
о-логічний вуючий пом`ятову- жорсткому гнучкому
пристрій пристрій ючий магнітном магнітном
(АЛП) (ПЗП) прист- у диску у диску
рій (ПЗП)

си с т е ма
Тай-
Адаптер Адаптер мер
НЖМ Д НГМ Д
М ікропро-
І н т р т е р ф е й сн а

цесорна
пам`ять С и с т е м н а ши н а
(МПП)

Відеоадаптер Адаптер Джерело Сітковий


принтера живлення адаптер

Пристрій
керування Відеомонітор Принтер Канал
(ПК) (дисплей) зв`язку

Інтерфейс клавіатури
Генератор
тактових
імпульсів
Клавіатура

Рисунок 1.2 – Структурна схема персонального комп’ютера

− сенсорні екрани — для вводу окремих елементів


зображення, програм або команд із поліекрана дисплея в ПК.
− До пристроїв виводу інформації відносяться:
− принтери - друкуючі пристрої для реєстрації
інформації на паперовий носій ;
10

− графобудівники (плоттери) — для виводу графічної


інформації (графіків, креслень, малюнків) із ПК на паперовий носій;
плоттери бувають векторні з кресленням зображення за допомогою
пера і растрові: термографічні, електростатичні, стуйні і лазерні.
Пристрої зв'язку і телекомунікації використовуються для
зв'язку з приладами й іншими засобами автоматизації (узгоджувачі
інтерфейсів, адаптери, цифро-аналогові й аналого-цифрові
перетворювачі і т.п.) і для підключення ПК до каналів зв'язку, до
іншим ЕОМ і обчислювальним мережам (мережні інтерфейсні плати,
"стики", мультиплексори передачі даних, модеми).
Багато що з названих вище пристроїв відносяться до умовно
виділеної групи — засобам мультимедіа.
Засоби мультимедіа — це комплекс апаратних і програмних
засобів, що дозволяють людині спілкуватися з комп'ютером,
використовуючи різноманітні, природні для себе середовища: звук,
відео, графіку, тексти, анімацію й ін.
Додаткові схеми. До системної шини і до МП ПК поряд з
типовими зовнішніми пристроями можуть бути підключені і деякі
додаткові плати з інтегральними мікросхемами, що розширюють і
поліпшують функціональні можливості мікропроцесора:
математичний співпроцесор, контролер прямого доступу до пам'яті,
співпроцесор вводу-виводу, контролер переривань і ін.
Математичний співпроцесор широко використовується для
прискореного виконання операцій над двійковими числами з
плаваючою комою, над двійково-кодованими десятковими числами,
для обчислення деяких трансцендентних, у тому числі
тригонометричних, функцій
Контролер прямого доступу до пам'яті звільняє МП від
прямого керування накопичувачами на магнітних дисках, що істотно
підвищує ефективну швидкодію ПК.
Співпроцесор вводу-виводу за рахунок паралельної роботи з МП
значно прискорює виконання процедур вводу-виводу при
обслуговуванні декількох зовнішніх пристроїв (дисплей, принтер,
НЖМД НГМД і ін.); звільняє МП від обробки процедур вводу-
виводу, у тому числі реалізує і режим прямого доступу до пам'яті.
Для підключення периферійних пристроїв до ПК
використовуються 2 типи портів: послідовні та паралельні. Деякі ПК
мають ці порти на системній платі, а інші використовують плату
11

розширення. Паралельний порт отримує і відправляє дані побайтно,


послідовний же порт обмінюється з ПК побайтно, а з зовнішніми
пристроями побітно. Ці перетворення в послідовному порту виконує
спеціальна мікросхема.

1.4 Структура АОМ

Відповідно до визначення задачу на АОМ вирішують у тому


вигляді, у якому вона подана. Функціональні блоки машини повинні
виконувати весь комплекс математичних операцій, що необхідні для
побудови структури досліджуваних рівнянь. Наприклад, якщо задане
диференційне рівняння п-го порядку вигляду:
d n ⋅u d n −1 ⋅ u d n− 2 ⋅ u d n −3 ⋅ u
+ a n −1 ⋅ n −1
+ f1 (u ) ⋅ n −2
− a n− 3 (t ) ⋅ +
d ⋅t n
d ⋅t d ⋅t d ⋅ t n −3
d n −4 ⋅ u
+ f 2 (u ) ⋅ a n− 4 (u ) ⋅ − . . . − a1 ⋅ u = F (t ) ⋅ y ,
d ⋅ t n− 4
то до складу машини повинні входити функціональні блоки для
відтворення операцій додавання, віднімання, множення змінної
величини на постійну, одержання функції довільного аргументу f 1(и),
функції часового аргументу F(t), змінного коефіцієнту від довільного
аргументу αn-4(u) і часу αn-3(t), множення двох змінних величин і
операцій інтегрування і диференціювання. Різноманітний склад
математичних операцій визначає набір функціональних блоків, що
беруть участь у розв'язанні задачі.
Аналогові обчислювальні машини загального призначення
мають приблизно однаковий склад устаткування. Узагальнена
структурна схема сучасної аналогової машини показана на рис. 1.3. Зі
схеми очевидно, що АОМ складається з ряду систем і блоків
Під системою розуміють сукупність технічних засобів,
призначених для забезпечення нормального функціонування машини.
Розрізняють основні системи (керування, установки постійних і
змінних коефіцієнтів, комутації, контролю й індикації) і допоміжні
системи, до яких можна віднести системи живлення,
термостатирування і вентиляції. Під блоком АОМ розуміють частину
АОМ, що має певне функціональне призначення. Розрізняють основні
блоки (наприклад, блоки операційних підсилювачів і операційні
блоки, за допомогою, яких виконуються різноманітні математичні
операції) і допоміжні (наприклад, блоки перевірки підсилювачів і ін.).
12

Рисунок 1.3 - Структурна схема АОМ

Блок операційних підсилювачів. Операційний підсилювач


(ОП) - основний елемент сучасної АОМ. Він являє собою підсилювач
постійного струму (ППС) із великим коефіцієнтом підсилення. На
базі ОП у сполученні з пасивними елементами (резисторами,
конденсаторами, діодами) виконують практично усі математичні
операції в машині. Частина ОП використовується для допоміжних
цілей, наприклад для отримання еталонних напруг. Кількість ОП
визначається потужністю машини. Так, машина малої потужності
МН-10 має 24 підсилювача, машина середньої потужності АВК-2(2)-
64 підсилювача. У машинах великої потужності число ОП може
досягати декількох сотень.
Операційні блоки. У залежності від математичної операції,
що виконується їх поділяють на блоки лінійних і нелінійних операцій.
Блоки лінійних операцій. Ці блоки працюють разом із ОП і
виконують операції інвертування, додавання, інтегрування,
диференціювання, множення на постійний коефіцієнт. Вони містять
набір прецизійних пасивних елементів - резисторів, конденсаторів і
потенціометрів.
13

Блоки нелінійних операцій. Вони також працюють разом із ОП


і призначені для перемножування двох співмножників, ділення, витягу
квадратного кореня, відтворення функцій одного або двох довільних
аргументів і часу. Ці блоки складаються з пасивних лінійних і
нелінійних елементів-діодів, резисторів, тиристорів і т.п. Кількість
блоків може бути різним. У машинах малої потужності нелінійні
блоки часто бувають змінними.
Таким чином, при розв'язанні задач на АОМ блоки лінійних і
нелінійних операцій за допомогою системи комутації приводяться у
взаємодію з блоком ОП. При цьому утворяться пристрої, що
виконують ті або інші функції, або математичні операції. Тому такі
пристрої часто називають функціональними пристроями.
Система керування АОМ. Ця система забезпечує взаємодію в
часі усіх частин АОМ. Оператор, працюючий на машині, за
допомогою пульту керування включає систему керування в роботу в
одному із двох режимів: підготовка або розв'язання задачі (робота).
У режимі підготовки відбувається настроювання блоків і їхня
комутація. У режимі розв'язання задачі здійснюються інтегрування з
заданими початковими умовами і фіксація розрахунку. Розрахунок
може відбуватися однократно або з автоматичним багатократним
повторенням - періодизацією.
Система установки коефіцієнтів. Установка постійних та
змінних коефіцієнтів відповідно до заданого рівняння - один із
важливих етапів підготовки АОМ до розрахунку, що значною мірою
впливають на точність результату. У машинах малої потужності
постійні коефіцієнти звичайно установлюють вручну. У машинах
великої потужності для скорочення часу використовують автоматичну
установку коефіцієнтів. Система установки змінних коефіцієнтів у
АОМ малої потужності може бути відсутньою. У АОМ середньої і
великої потужності змінні коефіцієнти вводяться різноманітними
засобами, наприклад, за допомогою систем, що стежать.
Система контролю й індикації. Система призначена для
контролю стану ОП і операційних блоків у різноманітних режимах
роботи та спостереження за розв'язанням задачі. До складу її можуть
входити стрілочні, цифрові, та друкуючи вольтметри. Для
спостереження за розрахунком використовують багатопроменеві
електронні індикатори. Розрахунок записується для наступного
14

аналізу і збереження звичайно на шлейфові осцилографи, самописи і


графобудівники.
Система живлення. У задачу цієї системи входять
перетворення напруги мережі в напруги, необхідні для роботи блоків,
і стабілізація цих напруг. Зміна живлющих напруг сприймається в
АОМ як зміна змінних, тому до стабільності напруг подаються
підвищені вимоги.
Система комутації. Система забезпечує організацію
необхідних з'єднань між окремими блоками АОМ за допомогою
комутаційних шнурів. Шнури за допомогою вилок вставляють у
гнізда на комутаційному полі і з'єднують блоки у відповідності зі
схемою. У ряді випадків роблять декілька змінних комутаційних
полів, які знімаються, що дозволяє робити комутацію окремо від
машини. Цим досягається більш ефективне використання АОМ. У
сучасних аналогових та аналого-цифрових комплексах керування
комутаційною панеллю і комутація відбуваються автоматично по
програмі, як, наприклад, в аналоговому обчислювальному комплексі
АВК-32.

1.5 Структура ГОМ

Під аналого-цифровим (гібридним) обчислювальним комплексом


або системою будемо розуміти сукупність аналогових, цифрових і
аналого-цифрових машин та пристроїв, між якими в процесі
розрахунку відбувається обмін інформацією. Вони можуть мати
різноманітні схеми побудови в залежності від призначення:
а) для контролю та керування аналоговими об'єктами
використовують цифровий керуючий процесор та пристрій
перетворення та сполучення з об'єктом, що має необхідну кількість
каналів аналого-цифрового та цифро-аналогового перетворення;
б) для моделювання аналогових об'єктів використовують
цифровий керуючий процесор і що сполучається з ним аналоговий
процесор, потужність якого визначається складністю об'єкта, що
моделюється.
в) такі ж обчислювальні засоби необхідні для створення
проблемно-орієнтованих гібридних обчислювальних систем
різноманітного призначення.
15

На рис. 1.4 показана структурна схема АЦОК. Його основу


складають цифровий керуючий ЦКП і аналоговий АП процесори,
пов'язані між собою інформаційними каналами. У схему входить ряд
блоків, що забезпечують нормальне функціонування обох процесорів і
зовнішніх пристроїв.

Рисунок 1.4 - Структурна схема аналого-цифрового комплексу

Цифрова частина АЦО являє собою ЕОМ із розвиненою


системою команд і системою переривання, що забезпечує оперативне
керування аналоговою частиною, реальними об'єктами та
різноманітними периферійними пристроями. Для зв'язку з аналоговою
частиною повинні бути передбачені спеціальний режим роботи і
відповідні команди і канали. Для виконання цієї задачі в систему
керування ЕОМ вводять блок зв'язку з аналоговою частиною.
Робота цифрової частини АЦО аналогічна роботі керуючої ЕОМ
у замкнутому контурі керування. Тому найбільш важливими
16

характеристиками цифрового процесора є швидкість, що дозволяє


працювати в реальному масштабі часу, обсяг оперативної пам'яті,
засіб обміну даними з зовнішніми пристроями, можливість прямого
доступу до пам'яті, робота зі стандартним каналом та ін.
Використання ЕОМ великої потужності і доступ до зовнішніх
пристроїв, що запам'ятовують, дозволяє будувати ГОС, що
відрізняються високою продуктивністю.
Аналогова частина АЦОК повинна мати систему
автоматичного керування операційними блоками (включаючи блоки
комутації), здатну працювати під керуванням цифрових програм.
Операційні блоки повинні мати підвищену точність виконання
математичних операцій та широку смугу робочих частот, щоб
забезпечити режим роботи швидкої періодизації рішення.
Аналоговий процесор забезпечує паралельне відтворення
великої кількості математичних операцій і підключення зовнішніх
пристроїв (осцилографів, графобудівників, цифрових вольтметрів), а
також безпосереднє підключення до стандартного каналу цифрової
ЕОМ.
Аналоговий процесор може працювати й в автономному режимі,
при цьому для забезпечення власного програмного керування і
рішення логічних задач у його склад вводяться елементи паралельної
логіки (регістри, лічильники, одновібратори) та елементи зв'язку
аналогових і цифрових систем (компаратори, електронні ключі й ін.).
Сполучення цифрової й аналогової частин комплексу
провадиться за допомогою АЦП і ЦАП. Якщо використовується один
АЦП, то канали підключаються за допомогою пристрою вибірки-
збереження та електронного комутатора. Для підвищення пропускної
спроможності каналів аналого-цифрового перетворення можлива
одночасна робота двох і більш АЦП.
У схемі звичайно є декілька ЦАП: лінійні (ЦАП) та
перемножуючі ЦАП (ПЦАП). У процесі роботи здійснюється
контроль за роботою АЦП і ЦАП за допомогою спеціальної схеми
контролю по командах з аналогового або цифрового процесорів.
17

1.6 Контрольні запитання

1.6.1 Області використання ЦОМ, АОМ, ГОМ.


1.6.2 Принципи дії ЦОМ, АОМ, ГОМ.
1.6.3 Які функціональні блоки входять до складу АОМ, ГОМ?
1.6.4 Основні компоненти ЦОМ.
1.6.5 Склад системного блоку та системної плати ЦОМ.
1.6.6 Що таке шина?
1.6.7 Системи комутації в АОМ і ГОМ.
1.6.8 Як взаємодіють цифрові та аналогові частини ГОМ?
1.6.9 Склад цифрової частини ГОМ.
18

2 ЛАБОРАТОРНА РОБОТА №2
CТРУК ТУРА І РОБОТА ЦЕН ТРАЛЬНОГО
ПРОЦЕСОРА

Мета роботи - вивчення структурної схеми ЕОМ (ЦОМ) та


її складових частин, а також етапів процесу виконання різноманітних
команд.

2. 1 Порядок виконання роботи

2.1.1 Виконати виклик системи “mmikurs” командою


“\Commons\Comon2\Architecture\mmikurs.exe”. З’явиться вікно
системи:

2.1.2 Вибрати з меню у вікні - “Устройство и работа


Центрального процессора”.
З’явиться вікно:
19

2.1.3 Вибрати “Информационная часть”. З’явиться вікно.


20

У верхній частині вікна розташована структурна схема ЦП, а у


нижній – інформаційне вікно й кнопка “Назад”. В інформаційній
частині наводиться короткий опис вибраних користувачем частин ЦП.
Кнопка “Назад” використовується для повернення у попереднє вікно.
Вибираючи по черзі окремі блоки ЕОМ та МП вивчити й
законспектувати їх призначення. Зрисувати структурні схеми.
2.1.4 Повернутися в попереднє вікно й вибрати пункт
“Моделирование”. З’явиться вікно, в якому відображені окремі
функціональні блоки процесору та шини, що їх зв’язують й, котрими в
процесі моделювання будуть проходити керуючі сигнали, адреси та
данні.

У нижній частині вікна є спеціальне вікно, в якому наводиться


опис кожного кроку (етапу) виконання команди. Праворуч від нього
вказується номер етапу, що виконується, та їх загальна кількість. Під
ними дві стрілки: ⇒ “шаг вперёд”, ⇐ “шаг назад”, що дозволяють або
повернутися на попередній крок, або перейти до наступного. Там же ж
знаходиться кнопка повернення до основного меню: “Назад”. Зліва від
інформаційного вікна знаходиться піктограма “Команды”, натискання
на яку призводить до появи вікна з переліком команд. Під ним в
21

спеціальному вікні з’являється призначення вибраної команди, а ще


нижче розташована кнопка “моделирование”, яка запускає вибрану
команду на виконання. Праворуч знизу над стрілками “⇐ ⇒”
знаходиться регулятор сповільнення процесу моделювання етапів
виконання команд. З початку переліку команд знаходиться команда
“нет”, після виконання якої вікно з командами зникає, тобто
повертається початкове вікно пункту “моделирование”.
2.1.5 Вивчити процес виконання різних команд.
2.1.6 Записати призначення всіх етапів виконання команд
вказаних викладачем.

2.2 Зміст звіту

2.2.1 Мета роботи.


2.2.2 Опис структурної схеми ЕОМ.
2.2.3 Призначення окремих блоків ЕОМ, ЦП та регістрів.
2.2.4 Опис команд вказаних викладачем та етапів їх виконання.

3 Контрольні запитання

2.3.1 Наведіть структурну схему ЕОМ та ЦП.


2.3.2 Вкажіть призначення кожного блоку ЕОМ та ЦП.
2.3.3 Що таке шина?
2.3.4 Що таке біт, байт, слово, подвійне слово?
2.3.5 Назвіть типи команд за їх функціональним призначенням.
2.3.6 Наведіть приклади одно-, двох- та безадресних команд.
2.3.7 Чим відрізняються команди CISC та RISC процесорів?
2.3.8 Що таке конвеєризація команд?
2.3.9 Чим відрізняються елементи пам’яті ОЗП, ЗЗП та ПЗП?
2.3.10 Призначення різних регістрів у ПЕОМ та їх формати.
22

3 ЛАБОРАТОРНА РОБОТА №3
РЕЖИМИ АДРЕСАЦІЇ ДАНИХ
Мета роботи – познайомитися з основними режимами адресації
даних, які використовуються у персональній IBM-сумісній ПЕОМ,
навчитися виконувати операції з адресами.

3.1 Порядок виконання роботи

3.1.1 Викликати систему “mmikurs” командою:


“\Commons\Comon2\Architecture\mmikurs.exe”.
З’явиться вікно системи:

3.1.2 Вибрати в меню у вікні - “Методы адресации”. З’явиться


вікно:
23

3.1.3 Вибрати “Информационная часть”. В інформаційній


частині знаходиться короткий опис основних методів адресації і їх
короткі характеристики. Законспектувати цю інформацію. Кнопка
“Назад” використовується для повернення у попереднє вікно.

3.1.4 Кнопка “Дальше” відкриває вікно:

В лівій частині вікна знаходяться можливі методи адресації:


24

- Прямий;
- Регістровий;
- Непрямий;
- Базовий;
- Індексний;
- Індексний з масштабуванням;
- Базовий – індексний;
- Базовий – індексний з масштабуванням;
- Базовий – індексний з зсувом;
- Базовий – індексний з зсувом і масштабуванням.
В правій частині вікна знаходиться блок-схема формування
лінійної адреси операнда при різних режимах адресації, а нижче
описується, яким чином формується ця адреса, та надається приклад
цієї адресації на мові Асемблера.
В лівій частині вікна внизу знаходяться 3 кнопки:
„Моделирование”, „Назад”, „Выход”.
Кнопка „Моделювання” демонструє формування на схемі
сегмента пам’яті лінійної адреси операнда при вибраному методі
адресації.
За допомогою кнопки „Назад” виконується повернення в
попереднє вікно.
Натиснувши на „Выход” здійснюємо вихід з програми.
3.1.5 В полі “Режимы адресации” вибрати необхідний режим
адресації. Після вибору режиму адресації за допомогою пункту
“Моделирование” отримати моделювання даного режиму. З’явиться
вікно:
25

В лівій частині цього вікна розташована схема пам’яті, де


показані границі сегмента пам’яті, лінійна адреса операнда та його
складові для вибраного метода адресації. В правій частині вікна
зверху у відповідних віконцях задають: розмір операнда, зсув, адресу
бази, значення індексу, масштабний коєфіціент „м.к.” та адресу
сегмента і його розмір.
Нижче наводиться розмір та діапазон значення типу даних, до
якого відноситься вибраний операнд.
Ще нижче є кнопка „Закрыть”, яка вертає нас до попереднього
вікна.
3.1.6 Розглянути та вивчити всі методи адресації, скласти звіт по
даній роботі.

3.2 Зміст звіту

3.2.1 Мета роботи.


3.2.2 Зміст регістрів ЦП після кожної операції.
3.2.3 Формування адреси при різних режимах адресації.
3.2.4 Стислі відповіді на контрольні запитання.

3.3 Контрольні запитання

3.3.1 З якими основними режимами адресації працює


центральний процесор?
3.3.2 Формування адреси при різних режимах адресації.
3.3.3 Як адресуватись до будь-якого елемента масиву слів?;
масиву байтів?
3.3.4 Як формується зсув? Які існують варіанти формування
зсуву?
3.3.5 Режими адресації в RISC процесорах.
26

4 ЛАБОРАТОРНА РОБОТА № 4
СЕРЕДОВИЩЕ СИСТЕМИ ІМІТАЦІЙНОГО МОДЕЛЮВАННЯ
GPSS/PC

Мета работи – ознайомитись з середовищем системи


імітаціоного моделювання GPSS/PC.

4.1 Порядок виконання роботи

4.1.1 Ознайомитись з теоретичною частиною лабораторної


роботи.
4.1.2 Ввійти в середовище системи GPSS/PC, набрати наведену
в лабораторній роботі програму, випробувати можливості
редагування.
4.1.3 Записати програму на диск, зчитати її з диску та запустити
на виконання.
4.1.4 Отримати та пояснити стандартний звіт.

4.2 Зміст звіту

4.2.1 Мета та задачі роботи.


4.2.2 Описати склад системи GPSS/PC та основні команди
вводу, редагування, запису, зчитування і прогону імітаційної моделі .
4.2.3 Описати оператори отримання стандартного звіту,
структуру и зміст самого звіту.

4.3 Теоретична частина


Вступ

Дані методичні вказівки призначені для початкового


ознайомлення із системою імітаційного моделювання GPSS/PC, що
дозволяє досліджувати процеси функціонування різних дискретних
систем, у тому числі й ЕОМ, для оцінки їх ймовірносно-часових
характеристик. Система GPSS/PC з найбільшим успіхом
використовується для моделювання систем, що формалізуються у виді
систем масового обслуговування СМО. Як об'єкти мови GPSS
27

використовуються аналоги таких стандартних компонентів СМО, як


заявки, що обслуговують прилади, черги і т.п.
Системи масового обслуговування мовою GPSS
представляються у виді множини операторів (блоків), що описують
процеси генерації, переміщення, обробки і виходу заявок зі СМО.
Заявки в GPSS називаються транзактами. Послідовність запису
операторів і спеціальних операторів керування задають маршрути
переміщення транзактів між пристроями, накопичувачами, вузлами.
Затримка транзакту в черзі чи в пристрої для обробки викликає
перехід до моделювання нового ланцюга подій відповідно до методу
моделювання за подіями. Моделювання продовжується до вичерпання
заданого числа подій чи заданого часового інтервалу моделювання.
Основний модуль пакету являє собою інтегроване середовище,
що включає крім транслятора з вхідної мови засоби введення і
редагування тексту моделі, її налагодження і спостереження за
процесом моделювання, графічні засоби відображення атрибутів
моделі, а також засоби накопичення результатів моделювання в базі
даних і їхньої статистичної обробки. Крім основного модуля до складу
пакету входить модуль створення стандартного звіту GPSS/PC, а
також ряд додаткових модулів і файлів.
У методичних вказівках наводяться тільки основні можливості
системи і її мови для деяких найпростіших випадків їх застосування.

4.3.1 Технологія роботи з пакетом

Пакет GPSS/PC містить у собі два основних модулі: модуль


GPSSPC.EXE, що представляє інтегроване середовище, у якому
виконується введення, редагування, налагодження і виконання моделі,
модуль GPSSREPT.EXE, призначений для одержання стандартного
звіту GPSS/PC і модуль GPSSEdit (див. додаток А), який також
дозволяє виконувати набір імітаційної моделі в редакторі тексту,
запуск процесу моделювання в системі GPSS/PC, отримання файлу-
звіту (рапорту) роботи поточної моделі. Завантаження модулів
виконується з командного рядка MS-DOS чи з програми-оболонки
Norton Commander.
Після завантаження інтегрованого середовища на екрані
з'являється "заставка" з назвою пакету: починається так званий сеанс
роботи з GPSS/PC. Потім заставка гаситься, і з'являється екран,
28

розділений на дві частини: велика верхня частина містить вікно даних,


менша нижня частина – вікно команд. Вікно даних у початковий
момент пусте, у вікні команд у верхньому командному рядку
висвітлений символ "запрошення" >, що сигналізує про готовність
системи приймати команди.
Вихід з інтегрованого середовища (завершення сеансу)
виконується шляхом введення керуючого оператору

END (закінчити) чи клавіші <F10>.

При цьому виконується вихід у MS-DOS чи в програму-


оболонку Norton Commander.

4.3.2 Введення нової моделі

Введення нової моделі виконується в командному рядку.


Спочатку вводиться номер рядка чергового оператора і натискається
клавіша <Пробіл>. Курсор автоматично переміщується до початку
наступного поля – поля імені мітки, і в позиції курсору висвітлюється
символ L, що сигналізує про те, що ви знаходитеся в полі імені мітки
(LABEL –мітка).
Якщо оператор має ім'я, необхідно ввести його і натиснути
клавішу <Пробіл>, у противному випадку – відразу натиснути
клавішу <Пробіл>. У будь-якому випадку курсор переходить до
початку наступного поля – поля операції, про що сигналізує символ V
(VERB – дієслово) у позиції курсору. Необхідно ввести назву
оператора і натиснути клавішу <Пробіл>. Дуже зручним є те, що
назву оператора не обов'язково вводити цілком: як тільки транслятор
розпізнає оператор з кількох перших літер, він після натискання
клавіші <Пробіл> сам доповнить його до повної назви.
При синтаксичній помилці в операторі під командним рядком
з'являється покажчик на місці помилки, причому помилковий символ
не вводиться. Необхідно в цьому випадку повторити введення
символу.
Аналогічним чином вводяться поля операндів, при цьому в
позиції курсору висвітлюється позначення поточного поля
(A, B,..., G). Для переходу до наступного поля операндів вводиться
29

кома, для переходу до поля коментарів – <Пробіл>. При переході


курсору в поле коментарів у позиції курсору висвітлюється символ ";",
що сигналізує про можливість почати введення коментарю.
По закінченні введення останнього поля операндів чи
коментарів варто натиснути клавішу <Enter>, при цьому введений
оператор транслюється і відображається у вікні даних, а командний
рядок очищається, і в її першій позиції знову з'являється символ
"запрошення".
З введенням нових операторів вікно даних заповнюється, і по
закінченні введення в ньому знаходиться уся програма в послідовності
введення, що необов'язково збігається з послідовністю нумерації
рядків.
Для відображення у вікні даних введеної програми в
послідовності нумерації рядків необхідно ввести в командний рядок
команду DISPLAY (відобразити) чи натиснути клавішу <F4>. Ця
команда, як і всі інші команди GPSS/PC, вводиться без номера рядка.
За допомогою команди DISPLAY можна також вивести у вікно даних
окремий рядок, вказавши його номер у полі A команди, чи
послідовність рядків, вказавши початковий і кінцевий номери в полях
A і B відповідно.

4.3.3 Редагування тексту моделі

Видалити рядки з введеної програми можна командою

DELETE A B - видалити рядки з A по B.

Для видалення одного рядка досить увести лише в поле A номер


рядка, що видаляється.
При необхідності вставити в текст новий оператор, помістивши
його між уже введеними операторами, досить увести його з
проміжним номером рядка. Ви можете перенумерувати рядки,
увівши команду
RENUMBER А В (перенумерувати),

у полі A якої вказується номер першого рядка, а в полі B – крок


перенумерації.
30

Відредагувати вміст рядка можна за допомогою команди

EDIT А (редагувати),

у полі A якої вказується номер рядка, що редагується. При введенні


такої команди в командному рядку з'являється рядок, що редагується.
Підводячи курсор до потрібних позицій рядка, ви можете внести в неї
необхідні зміни. По закінченні редагування треба натиснути клавішу
<Enter>, і відредагований рядок перенесеться у вікно даних,
замінивши у програмі первісний рядок з цим номером. Ви можете
переконатися в цьому, увівши команду DISPLAY.
Якщо оператор, що редагується, короткий, а змін у ньому
багато, то редагування зручніше зробити, увівши змінений оператор з
тим же номером рядка.
Синтаксис рядків у GPSS:
під № рядка GPSS відводить 2-3 знака, для мітки - 10 символів, для
оператора – 11 символів.

4.3.4 Запис і зчитування моделі з диска

Якщо робота з моделлю передбачається і по закінченні даного


сеансу, то після введення і редагування є сенс записати програму на
диск. Для цього необхідно ввести команду

SAVE (зберегти) чи натиснути клавішу F2,

у полі A якої вказується ім'я файлу, у який буде записана модель.


Файл повинний мати розширення GPS.
Записавши модель у файл, ви зможете в наступному сеансі
роботи з GPSS/PC не вводити її знову з клавіатури, а зчитати з диска,
увівши команду

@A.GPS (завантажити модель)

A.GPS – повне ім'я файлу, що ви дали введеній програмі в


команді SAVE, яка включає розширення GPS. При виконанні цієї
команди оператори програми по мірі їх зчитування з файлу
транслюються і виводяться у вікно даних.
31

4.3.5 Прогін моделі і спостереження за моделюванням 1

Після того, як програма моделі введена з клавіатури чи зчитана з


диска й відтрансльована, у пам'яті ПК створилася поточна модель, і
тепер можна виконати її прогін. Для цього в командний рядок
необхідно ввести керуючий оператор

START A

У поле A заноситься кількість створюваних заявок (транзактів) –


початкове значення лічильника завершень.
При натисканні клавіші <F5> виконається команда

START 1 тобто створюється 1 транзакт.

Час моделювання можна задати не тільки кількістю


створюваних заявок, але також і командою

SIMULATE A (А – кількість хвилин, що відводиться на прогін).

Оновлення статистики здійснюється командою

RESET

Очищення моделі здійснюється командою

CLEAR

При спостереженні за процесом моделювання можна


використовувати одночасне натискання клавіші ALT з якою-небудь
функціональною клавішею і візуально спостерігати за зміною якого-
небудь елементу моделі.

1
Більш повно можливості спостереження за моделюванням
описано в додатку Б.
32

Прогін поточної моделі, тобто власне моделювання,


виконується за допомогою спеціальної керуючої програми, що
називають симулятором (від англійського SIMULATE – моделювати,
імітувати). Робота GPSS-моделі під керуванням симулятора полягає в
переміщенні транзактів від одних блоків до інших аналогічно тому, як
у СМО, що моделюється, переміщаються заявки, які відповідають
транзактам.
У початковий момент часу в GPSS-моделі немає жодного
транзакту. У процесі моделювання симулятор генерує транзакти у
визначені моменти часу відповідно до тих логічних потреб, що
виникають у системі, що моделюється. Подібним же чином транзакти
залишають модель у визначені моменти часу в залежності від
специфіки системи, що моделюється. У загальному випадку в моделі
одночасно існує велике число транзактів, однак у кожен момент часу
симулятор здійснює просування тільки одного якого-небудь
транзакту.
Якщо транзакт почав свій рух, він переміщується від блоку до
блоку за шляхом, запропонованим блок-схемою. У той момент, коли
транзакт входить у деякий блок, на виконання викликається
підпрограма симулятора, що відповідає типу цього блоку, а після її
виконання, при якому реалізується функція даного блоку, транзакт
“намагається” ввійти в наступний блок. Таке просування транзакту
продовжується доти, поки не відбудеться одна з наступних можливих
подій:
а) транзакт входить у блок, функцією якого є вилучення
транзакту з моделі;
б) транзакт входить у блок, функцією якого є затримка
транзакту на деякий визначений в моделі час;
в) транзакт “намагається” ввійти в наступний блок, однак блок
“відмовляється” прийняти його. У цьому випадку транзакт
залишається в тому блоці, де знаходився, і пізніше буде повторювати
свою спробу ввійти в наступний блок. Коли умови в моделі зміняться,
така спроба може виявитися успішною, і транзакт зможе продовжити
своє переміщення за блок-схемою.
Якщо виникла одна з описаних вище умов, обробка даного
транзакту припиняється, і починається переміщення іншого транзакту.
Таким чином, виконання моделювання симулятором продовжується
постійно.
33

Проходячи через блоки моделі, кожен транзакт вносить вклад у


вміст лічильників блоків. Значення цих лічильників доступні
програмісту з СЧА блоку: W – поточний вміст блоку і № - загальна
кількість входів у блок.
Кожне просування транзакту в моделі є подією, що повинна
відбутися у визначений момент модельного часу. Для того, щоб
підтримувати правильну часову послідовність подій, симулятор має
таймер модельного часу, що автоматично корегується відповідно до
логіки, яка задається моделлю.
Таймер GPSS/PC має наступні особливості:
а) реєструються тільки цілі значення (усі часові інтервали в
моделі зображуються цілими числами);
б) одиниця модельного часу визначається розробником моделі,
що задає всі часові інтервали в тих самих, обраних ним, одиницях;
в) симулятор не аналізує стан моделі в кожний наступний
момент модельного часу (що відстає від поточного на одиницю
модельного часу), а просуває таймер до моменту часу, коли
відбувається найближча наступна подія.
Значення таймера доступні програмісту через системні СЧА C1
(відносний час) і AC1 (абсолютний час).
Центральною задачею, що виконується симулятором, є
визначення того, який транзакт треба вибрати наступним для
просування в моделі, коли його попередник припинив своє
просування. З цією метою симулятор розглядає кожен транзакт як
елемент деякого списку. У відносно простих моделях
використовуються лише два основних списки: список поточних подій
і список майбутніх подій.
Список поточних подій містить у собі ті транзакти,
розрахований час просування яких дорівнює чи менше поточного
модельного часу (до останнього відносяться транзакти, рух яких було
заблоковано раніше). Він організується в порядку зменшення
пріоритетів транзактів, а в межах кожного рівня пріоритету – у
порядку надходження транзактів.
Список майбутніх подій містить у собі транзакти, розрахований
час просування яких більше поточного часу, тобто події, зв'язані з
просуванням цих транзактів, повинні відбутися в майбутньому. Цей
список організується в порядку зростання розрахованого часу
просування транзактів.
34

Симулятор GPSS/PC поміщає транзакти в залежності від умов у


моделі в той чи інший список і переносить транзакти зі списку в
список, переглядає списки, вибираючи наступний транзакт для
обробки, корегує таймер модельного часу після обробки всіх
транзактів у списку поточних подій.

4.3.6 Одержання та інтерпретація стандартного звіту

По завершенні прогону моделі лунає звуковий сигнал, і в рядку


стану з'являються повідомлення

Writing REPORT.GPS Simulation Complete Reporting...,

що сигналізує про те, що моделювання закінчене й у даний момент


виконується створення звіту про прогін моделі. Потім система
переходить у стан чекання подальших команд.
Звіт, що створюється по завершенні моделювання, записується у
файл зі стандартним ім'ям REPORT.GPS.
Необхідно мати на увазі, що цей звіт є не форматованим, тобто
непридатним для безпосереднього перегляду. Для форматування і
створення стандартного звіту GPSS/PC необхідно завершити сеанс і
виконати програму форматування звіту.
Вихід з інтегрованого середовища (завершення сеансу)
виконується шляхом уведення керуючого оператору

END (закінчити) чи клавіші <F10>.

При цьому виконується вихід у MS-DOS чи в програму-оболонку


Norton Commander.
Для форматування звіту необхідно завантажити модуль
форматування GPSSREPT.EXE. Після його завантаження на екрані
з'являється "заставка" з назвою модуля, двома вікнами в нижній
частині екрана і повідомленнями-підказками. У лівому вікні виведене
ім'я файлу, у якому знаходиться не форматований звіт (за
замовчуванням це файл REPORT.GPS). У правому вікні виведене
позначення пристрою, куди повинний бути виведений форматований
звіт (за замовчуванням це екран дисплея SCRN:).
Для переключення вікон використовується клавіша <Enter>.
35

Для створення звіту на обраному пристрої варто натиснути


клавішу <Пробіл>, для виходу з програми — клавішу <Esc>.
Звіт виводиться на екран посторінково.
Для виводу чергової сторінки необхідно натиснути клавішу
<Пробіл>, для припинення виводу звіту — клавішу <Esc>. По
закінченні виводу звіту на екрані з'являється повідомлення

[SPACE] for another report Any other key to end

Для створення звіту на іншому пристрою чи іншого звіту


треба натиснути клавішу <Пробіл>, для виходу з програми
GPSSREPT – будь-яку іншу клавішу.
Приклад. Нехай у моделі одноканальної системі масового
обслуговування треба визначити завантаженість пристрою. Це може
бути забезпечено способом, показаним у лістингу 1.
Оператор TABLE визначає таблицю з ім'ям TTIME, аргументом
якої служить СЧА М1 – час перебування транзакту в моделі. Блок
TABULATE, що заносить інформацію про час перебування кожного
транзакту в пристрої в таблицю TTIME, розташовується перед блоком
TERMINATE. Діапазон можливих значень часу перебування
транзакту в моделі розбитий в операторі TABLE на 10 частотних
інтервалів, ширина яких (крім останнього) дорівнює 100 одиницям
модельного часу.
Лістинг 1
01 TTIME TABLE M1,10,10,10
02 EXPON FUNCTION RN1,C24
0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38/
.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.81/.96,3.2/
.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
03 GENERATE 5,FN$EXPON
04 QUEUE QQ1
05 SEIZE AA1
06 DEPART QQ1
07 ADVANCE 4,FN$EXPON
08 RELEASE AA1
09 TABULATE TTIME
10 TERMINATE 1
11 START 100
END
36

Запустивши цю програму на виконання і створивши файл звіту,


ми побачимо подібний звіт:

GPSS/PC Report file REPORT.gps. (V 2, # 38123) 04-17-2001 18:51:07


page1

Віл.
Тпоч Ткінц Блоки Прилади Пам’ять
пам’ять
START_TIME END_TIME BLOCKS FACILITIES STORAGES FR_MEM

0 418 7 1 0 317040

Ім’я Значення Тип


NAME VALUE TYPE
COLUMN 10001 2
POSITION 10002 2
SHAPE 10003 2
ROW 10004 2
TO_COLUMN 10005 2
TO_ROW 10006 2
COLOR 10007 2
TTIME 10008 2
EXPON 10009 2
QQ1 10010 2
AA1 10011 2

Рядок № бл. Ім’я блока Т\а через бл. Т\а в блоці


LINE LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT
3 1 GENERATE 104 0
4 2 QUEUE 104 3
5 3 SEIZE 101 1
6 4 DEPART 100 0
7 5 ADVANCE 100 0
8 6 RELEASE 100 0
9 7 TABULATE 100 0
10 8 TERMINATE 100 0
37

Ім’я блока Кільк. Квикор. Тсер 1 т\а


занятть
FACILITY ENTRIES UTIL AVE._TIME
AA1 101 0.904 3.74

Кількість т/а
Ім’я Lмах Lкінц Через Через Lсер Тсер
черги чергу чергу без 0 очікув.
входів
QUEUE МAX CONT ENTRIES ENTRIES(0) AVE.CONT. AVE.TIME
QQ1 16 4 104 10 5.17 20.80

Ім’я Сер. Розкид Інтервал Частота Сумма


табл. знач. %
TABLE MEAN STD.DEV. RETRY FREQUENCY CUM.%
RANGE
TTIME 25.02 18.17 0
0 - 10 22 22.00
10 - 20 32 54.00
20 - 30 16 70.00
30 - 40 6 76.00
40 - 50 7 83.00
50 - 60 15 98.00
60 - 70 2 100.00

Звіт містить наступну інформацію:


а) загальні відомості про модель і її прогін, що включають
модельний час початку (START_TIME) і кінця (END_TIME)
прогону, кількість блоків у моделі (BLOCKS), кількість пристроїв
(FACILITIES), кількість багатоканальних пристроїв (STORAGES),
обсяг вільної пам'яті при прогоні моделі (FREE_MEMORY);
б) звіт про імена об'єктів моделі, що включають для кожного
імені ідентифікатор (NAME), привласнене йому числове значення
(VALUE) і тип імені: 0, якщо числове значення імені привласнене
38

користувачем за допомогою оператора EQU; 1, якщо числове


значення імені привласнено системою; 2, якщо ім'я є ім'ям блоку;
в) звіт про блоки моделі, що включають для кожного блоку
номер рядка вихідної програми (LINE), номер або ім'я блоку (LOC),
назву блоку (BLOCK_TYPE), кількість транзактів, що пройшли через
блок (ENTRY_COUNT), поточну кількість транзактів у блоці в
момент завершення моделювання (CURRENT_COUNT), кількість
транзактів, заблокованих перед блоком у момент завершення
моделювання (RETRY);
г) звіт про пристрої моделі, що включають для кожного прилада
його ім'я або номер (FACILITY), кількість занять пристрою
(ENTRIES), коефіцієнт використання (UTIL.), середній час на одне
зайняття (AVE._TIME) і ряд інших даних;
д) звіт про багатоканальні пристрої моделі, що включають для
кожного БКП його ім'я або номер (STORAGE), ємність (CAP.),
кількість вільних каналів у момент завершення моделювання
(REMAIN.), найменше (MIN.) і найбільше (MAX.) кількість зайнятих
каналів у процесі моделювання, кількість занять БКП (ENTRIES),
середня кількість зайнятих каналів (AVE.C.), коефіцієнт
використання (UTIL.) і ряд інших даних;
е) звіт про черги моделі, що включають для кожної черги її ім'я
або номер (QUEUE), максимальну довжину черги в процесі
моделювання (MAX.), поточну довжину черги в момент завершення
моделювання (CONT.), загальну кількість транзактів, що ввійшли в
чергу у процесі моделювання (ENTRIES), і кількість "нульових"
входів у чергу (ENTRIES(0)), середню довжину черги (AVE.CONT.),
середній час чекання в черзі з обліком усіх транзактів (AVE.TIME) і
без обліку "нульових" входів (AVE.(-0));
є) звіт про статистичні таблиці моделі, що включають для
кожної таблиці її ім'я або номер (TABLE), середнє значення (MEAN) і
середньоквадратичне відхилення (STD.DEV.) величини, що
табулюється, границі частотних інтервалів (RANGE), частоти
(FREQUENCY) і накоплені частоти у відсотках (CUM. %) улучення
спостережень у ці інтервали;
ж) звіт про списки користувача моделі, що включають для
кожного списку його ім'я або номер (USER_CHAIN), кількість
транзактів у списку в момент завершення моделювання
(CHAIN_SIZE), середню кількість транзактів, що ввійшли в список у
39

процесі моделювання (ENTRIES), максимальну кількість транзактів,


що знаходилися в списку (MAX), середній час перебування транзакту
в списку (AVE.TIME);

4.4 Контрольні запитання

4.4.1 Призначення та склад системи GPSS/PC.


4.4.2 Опишіть середовище системи GPSS/PC.
4.4.3 Як виконується введення нової моделі ?
4.4.4 Наведіть основні оператори редагування тексту моделі.
4.4.5 Як записати та зчитати модель з МД?
4.4.6 Наведіть оператори запуску, останову та виходу з системи
GPSS/PC.
4.4.7 Опишіть процес проходження транзакту в моделі.
4.4.8 Призначення симулятора.
4.4.9 Отримання та пояснення стандартного звіту
40

5 ЛАБОРАТОРНА РОБОТА №5
МОВА ПРОГРАМУВАННЯ СИСТЕМИ ІМІТАЦІЙНОГО
МОДЕЛЮВАННЯ GPSS/PC

Мета роботи – ознайомитися з мовою програмування системи


імітаційного моделювання GPSS/PC.

5.1 Підготовка до роботи

5.1.1 Вивчити теоретичну частину роботи.


5.1.2 Скласти блок –схему імітаційної моделі по структурній
схемі системи (рис.5.1).
5.1.3 Скласти імітаційну модель заданої системи.
5.1.4 Прокоментувати кожний її оператор.

Рисунок 5.1- Структурна схема системи , що моделюється

Заявки на обслуговування надходять в чергу до двох


комп’ютерів і з імовірністю р=0.4 виконуються комп’ютером А1, а з
імовірністю р=0.6 - комп’ютером А2. Далі по лінії зв’язку В1
результати надходять в чергу до принтера В2, де і роздруковуються.
Але і з імовірністю р=0.05 дані псуються принтером, а з імовірністю
р=0.1 одним із комп’ютерів. Оцінити довжину черг та коефіцієнти
використання пристроїв.
Примітки:
1) Час обробки заявок у системі розподілені експоненціально із
середнім часом обробки, зазначеним на схемі (цифри над
пристроями).
2) Якщо не зазначені імовірності вибору шляху, то прийняти
імовірності рівними.
41

3) Цифри на вході (n) – середній час між надходженням заявок


(GENERATE n,FN$EXP).

Умовні позначки:
– черга

– пристрій

– вихід запиту із системи


P=k, де k – імовірність проходження по даній гільці

5.2 Порядок виконання роботи

5.2.1 Замінити час обробки в блоці В2 на 1*№ комп’ютера.


5.2.2 Набрати GPSS-модель обчислювальної системи та
запустити на розрахунок.
5.2.3 Створити та пояснити файл звіту.

5.3 Зміст звіту

5.3.1 Мета та задачі роботи.


5.3.2 Стислий опис операторів мови GPSS.
5.3.3 Опис блок-схеми та імітаційної моделі, наведеної у
домашньому завданні, з поясненням кожного оператора.
5.3.4 Результати моделювання та їх розшифровка.
5.3.5 Висновки.

5.4 Теоретичні відомості


5.4.1 Об’єкти GPSS

Мова GPSS створена в припущенні, що моделлю складної


дискретної системи є опис функціонування її об’єктів (елементів) та
логічних правил їх взаємодії .
Після трансляції вихідної програми в пам’яті ПК створюється
так звана поточна модель, яка є сукупністю різного типу об’єктів,
кожний з яких представляє собою деякий набір чисел в пам’яті ПК,
що описують властивості й поточний стан об’єкту. Об’єкти GPSS/PC
42

можна розділити на сім класів: динамічні, операційні, апаратні,


статистичні, обчислювальні, запам’ятовуючі та групуючи.
Динамічні об’єкти, відповідно заявкам в системах масового
обслуговування, називаються в GPSS/PC транзактами. Вони
“створюються” й “знищуються” так, як це необхідно за логікою
моделі в процесі моделювання. З кожним транзактом може бути
зв’язане довільне число параметрів, що несуть в собі необхідну
інформацію про цей транзакт. Крім того, транзакти можуть мати різні
пріоритети.
Операційні об’єкти GPSS/PC, що називаються блоками,
відповідають операторам-блокам вихідної програми. Вони формують
логіку моделі, надаючи транзактам накази: куди йти й що робити далі.
Модель системи на GPSS/PC можна представити як сукупність блоків,
об’єднаних у відповідності з логікою роботи реальної системи в так
звану блок-схему. Блок-схема моделі може бути зображена графічно,
наглядно показуючи взаємодію блоків в процесі моделювання.
Апаратні об’єкти GPSS/PC – це абстрактні елементи, на які
може бути розподілене (декомпозироване) обладнання реальної
системи. До них відносяться одноканальні й багатоканальні пристрої
та логічні перемикачі. Багатоканальний пристрій інколи називають
пам’яттю.
Одноканальні й багатоканальні пристрої відповідають приладам
в СМО, що обслуговують. Одноканальний пристрій, який для
стислості далі будемо називати просто пристроєм, може
обслуговувати одночасно тільки один транзакт. Багатоканальний
пристрій (МКП) може обслуговувати одночасно декілька транзактів.
Логічні перемикачі (ЛП) використовуються для моделювання
двійкових станів логічного або фізичного характеру. ЛП може
знаходитися у двох станах: ввімкнено й вимкнено. Його стан може
змінюватися в процесі моделювання, а також опитуватися для
прийняття відповідних рішень.
Статистичні об’єкти GPSS/PC служать для збору й обробки
статистичних даних про функціонування моделі. До них відносяться
черги й таблиці. Кожна черга забезпечує збір й обробку даних про
транзакти, що затримались в якій-небудь точці моделі, наприклад,
перед одноканальним пристроєм. Таблиці використовуються для
отримання вибіркових розподілень деяких випадкових величин,
наприклад, часу перебування транзакту в моделі.
43

До обчислювальних об’єктів GPSS/PC відносяться змінні


(арифметичні й булеві) та функції. Вони використовуються для
обчислення деяких величин, заданих арифметичними або логічними
виразами, або табличними залежностями.
Запам’ятовуючі об’єкти GPSS/PC забезпечують зберігання в
пам’яті ПК окремих величин, що використовуються в моделі, а також
масивів таких величин. До них відносяться так звані величини, що
зберігаються та матриці величин, що зберігаються.
До об’єктів групуючого класу відносяться списки користувача
та групи. Списки користувача використовуються для організації черг
з дисциплінами, відмінними від дисципліни “раніш прийшов – раніш
обслугований”. Групуючий клас тут розглядатися не буде.
Кожному об’єкту того чи іншого класу відповідають числові
атрибути, що описують його стан в даний момент модельного часу.
Крім того, є ряд так званих системних атрибутів, що відносяться не
до окремих об’єктів, а до моделі в цілому. Значення атрибутів всіх
об’єктів моделі по закінченні моделювання виводяться у стандартний
звіт GPSS/PC. Більша частина атрибутів доступна програмісту й
складає так звані стандартні числові атрибути (СЧА) (див. додаток
Б), які можуть використовуватися у якості операндів операторів
вихідної програми. Всі СЧА в GPSS/PC являються цілими числами.
Кожний об’єкт GPSS/PC має назву й номер. Назви об’єктам
даються в різних операторах вихідної програми, а відповідні їм
номери транслятор привласнює автоматично. Назва об’єкту це
послідовність, яка починається з літер латинського алфавіту, цифр та
символу “підкреслювання”. При необхідності імені будь-якого
об’єкту, окрім імені блока, можна поставити в відповідность будь-
який номер за допомогою оператора опису EQU, який має наступний
формат:
ім’я EQU номер
Блокам привласнюються їх номери за порядком у вихідній
програмі (не плутати з номерами рядків!).
Для посилання на який-небудь стандартний числовий атрибут
деякого об’єкту відповідний операнд оператора вихідної програми
записується одним з цих способів:
44

СЧА $ ім’я чи СЧА j ,


де СЧА - системне позначення (назва) конкретного стандартного
числового атрибута даного об’єкту; ім’я - ім’я об’єкту; j - номер
об’єкту; $ —символ-дільник (перелік СЧА наведений в додатку Г).

5.4.2 Структура операторів GPSS/PS

Вихідна програма на мові GPSS/PC, як і програма на будь-якій


мові програмування, являє собою послідовність операторів.
Оператори GPSS/PC записуються та вводяться у ПК у
наступному форматі:
номер_строки ім’я операція операнди ; коментарі
Усі оператори вихідної програми повинні починатися з
номеру_строки - цілого додатного числа від 1 до 9999999. Після
вводу операторів вони розташовуються у вихідній програмі у
відповідності з нумерацією строк. Звичайно нумерація робиться з
деяким кроком, відміннним від 1, щоб мати можливість добавляти
оператори у потрібне місце вихідної програми. Деякі оператори
зручно вводити, не включаючи їх у вихідну програму. Такі оператори
вводяться без номеру рядка.
Окремі оператори можуть мати ім’я для посилання на ці
оператори в інших операторах. Якщо такі посилання відсутні, тоді цей
елемент оператора не є обов’язковим.
В полі операції записується ключове слово (назва оператора),
вказуючи конкретну функцію, яка виконується даним оператором. Це
поле оператора є обов’язковим.
У полях операндів записується інформація, що уточнює та
конкретизує виконання функції, яка визначена в полі операції. Ці поля
в залежності від типу операції мають до семи операндів,
розташованих у визначеній послідовності та позначених звично
першими літерами латинського алфавіту від A до G. Деякі оператори
зовсім не мають операндів, а в деяких операнди можуть бути опущені,
при цьому встановлюються їх стандартні значення (по умовчанню).
При запису операндів використовується позиційний принцип: пропуск
операнда відмічається комою.
Коментарі необов’язкові, та у випадку їх присутності вони
відділяються від поля операндів крапкою з комою. Коментарі не
можуть містити літер російського алфавіту.
45

Оператори GPSS/PC записуються, починаючи з першої позиції,


у вільному форматі, тобто окремі поля роз’єднані вільною кількістю
відступів. При вводі програми в інтегрованому середовищі GPSS/PC
розміщення окремих полів операторів з визначеною кількістю
інтервалів між ними робиться автоматично.

5.4.3 Основні оператори мови GPSS:

GENERATE - створення заявок (транзактов) та розміщення їх у


списку майбутніх подій;
TERMINATE - знищення заявок (транзактів), зменшення
лічильника закінчених транзактов;
ADVANCE - затримка (обробка) транзакту на визначений час у
обробляючому пристрої;
FUNCTION - визначення функцій;
SEIZE - займання транзактом пристрою;
RELEASE - звільнення транзактом пристрою;
STORAGE – створення багатоканального пристрою (БКП);
ENTER – займання каналів обслуговування БКП;
LEAVE - звільнення каналів обслуговування БКП;
QUEUE - включення транзакту у чергу;
DEPART - вилучення транзакту з черги;
TABLE – збір та обробка даних.
TABULATE - занесення даних в таблицю.
TRANSFER - засилання транзакту на вказаний блок;
GATE - затримка та зміна маршруту транзакту.

5.4.4 Основи програмування на GPSS/PC

Створення транзактів:
GENERATE A, B, C, D, E
А - інтервал між надходженням транзактів, В - модифікатор
середнього значення між надходженням транзактів (інтервал
надходження - випадкова величина, діапазон надходження транзактів
має границі А-В, А+В); може задаватися як інтервалом з рівномірним
законом розподілу, так і будь-якою функцією, С - момент
надходження першого транзакту у модель, D - кількість транзактів, які
46

повинні бути створені блоком GENERATE; E - задає пріоритет (за


умовчанням 0 - найнижчий пріоритет).
Наприклад:
GENERATE 10,3,100,16,5
Транзакти створюються рівномірно в діапазоні 10( ± 3) одиниць
часу, причому перший транзакт створюється у момент часу, який
дорівнює 100, всім 16 транзактам, створеним у цьому блоці,
привласнюється пріоритет 5.
GENERATE 100,FN$EXPON,,150
Транзакти створюються через проміжок часу, який дорівнює
добутку 100 на значення функції EXPON, перший транзакт надходить
у модель без затримки, в блоці генерується тільки 150 транзактів,
пріоритет їх дорівнює "0".

Затримка (обробка) транзактів:


ADVANCE A, B
А та В аналогічно А та В у блоці GENERATE.
Наприклад:
ADVANCE 10,5
При використанні модифікатора-інтервалу час обробки
транзактів розподілений рівномірно у діапазоні 10 ± 5 одиниць часу.
ADVANCE 500,FN2
При використанні модифікатора-функції затримка кожного
створюваного транзакту визначається добутком 500*FN2 одиниць
часу.
Вилучення транзактів з моделі:
TERMINATE A
A - на скільки одиниць зменшить лічильник завершень при
вході транзакту у блок TERMINATE.
Якщо поле А не визначене, то воно вважається рівним 0, і
транзакти , які проходять через такий блок, не зменшують вмісту
лічильника завершень. Відповідно, у моделі повинен бути хоча б один
блок TERMINATE, у якого поле А не менше 1, щоб процес
моделювання закінчився. Якщо в моделі такого блока немає, тоді
відлік буде продовжуватися до тих пір, доки задачу не зупинить
оператор.
47

Наприклад:
TERMINATE 2
Зменшується лічильник завершень на 2.
TERMINATE
Вилучається транзакт, лічильник завершень не змінюється.

Функції:
ім’я FUNCTION A, B
Ім’я - ім’я функції для посилань на неї; А - стандартний
числовий атрибут, що є аргументом функції; В- тип функції та число
точок таблиці, цієї функції (наприклад, С - неперервна числова
функції, D - дискретна, L - спискова);
На рисунку наведені перші дві функції.

Для безперервних функцій проміжні значення між вузловими


точками визначаються шляхом кусочно-лінійної інтерполяції, а для
дискретних - по формулі у = уі для хі ≤ х < хі+1.
Використання функцій для отримання випадкових чисел з
заданим розподіленням дає хоч і менш точний результат за рахунок
похибки апроксимації, але з меншою кількістю розрахунків.
Розглянемо неперервні числові функції .Так, наприклад, у
визначенні безперервної числової функції, таблиця якої містить 24
точки, поле B повинно мати значення C24.
При використанні безперервної функції для генерації
випадкових чисел її аргументом повинен бути один з генераторів
рівномірно розподілених випадкових чисел RNj. Особливістю
48

використання внутрішніх генераторів випадкових чисел RNj у якості


аргументів функцій є те, що їх значення у цьому контексті
тлумачиться як дрібні числа від 0 до 0,999999.
Таблиця з координатами точок функції розташовується у
рядках, що слідують безпосередньо за оператором FUNCTION. Ці
рядки не повинні мати полів нумерації. Кожна точка таблиці задається
парою Xi (значення аргументу) та Yi (значення функції),
відокремлених одне від одного комою. Пари координат відділені одна
від одної символом "/" та розташовані на будь-якій кількості рядків.
Послідовність значень аргументу Xi повинна бути тільки зростаючою.
Наприклад:
ЕХР FUNCTION RN1,C12
0,0/.2,.22/.4,.51/.5,.69/.6,.92/.7,1.2/.8,1.6/
.9,2.3/.95,3/.99,4.6/.999,6.9/1,100
Функція експоненціального розподілу має ім’я EXP,
аргументом цієї функції є генератор рівномірно розподілених
випадкових чисел RN1, неперервна функція EXP визначається з
таблиці, заданої 12 точками (12 пар чисел Xi,Yi) .

Зайняття одноканального пристрою:


SEIZE A
Звільнення одноканального пристрою:
RELEASE A
А - номер чи ім’я пристрою.
Якщо перед SEIZE затримується декілька транзактів, вони
обслуговуються в відповідності з правилом "перший прийшов -
перший обслугований". Розглянемо приклад використання блоків
SIEZE та RELEASE. Обробляючий блок ADVANCE повинен
заходитись між блоками SEIZE та RELEASE, що моделюють зайняття
та звільнення пристрою .
SIEZE SYSTEM
ADVANCE 10,5
RELEASE SYSTEM
Відбувається зайняття пристрою SYSTEM, затримка (обробка)
транзакту від 5 до 15 одиниць часу та звільнення пристрою SYSTEM.
49

Створення багатоканальних пристроїв (БКП)-пам’яті:


ім’я STORAGE A
Ім’я – ім’я чи номер БКП, яке використовується для посилання
на нього, А - ємність (кількість каналів обслуговування) БКУ.

Зайняття каналів обслуговування БКП:


ENTER A, B
A - ім’я чи номер БКП, В – кількість займаних каналів.

Звільнення каналів обслуговування БКП:


LEAVE A, B
A - ім’я чи номер БКП, В - кількість займаних каналів.
Наприклад:
MEM STORAGE 24
ENTER MEM, 12
LEAVE MEM,12
Створюється пам’ять (накопичувач) з ім’ям МЕМ на 24 одиниці.
Транзакт займає 12 одиниць ємності в накопичувачі MEM, а
потім звільняє 12 одиниць пам’яті в накопичувачі MEM

Стати в чергу:
QUEUE A, B
Залишити чергу:
DEPART A, B
А - номер чи ім’я черги, В - число одиниць, на яку поточна
довжина черги у першому операторі збільшується, а в другому -
зменшується.
Оскільки черга використовується для регістрації часу
очікування, то за блоком QUEUE звично слідує такий блок як SEIZE,
який може затримати транзакт.
Наприклад:
QUEUE LINE транзакт стає в чергу LINE
SEIZE SYS він займає пристрій SYS
DEPART LINE якщо SYS вільний, він звільняє чергу,
інакше залишається в черзі LINE.
ADVANCE 80,10 транзакт оброблюється у SYS за час, що
задається генератором RN1 рівномірно в діапазоні [80 -10, 80+10]
50

RELEASE SYS транзакт звільняє пристрій SYS


Для збору та обробки даних про вибірковий розподіл часу
очікування у черзі існують статистичні об’єкти типу Q-таблиць.
Таблиця складається з діапазонів аргументу (частотних класів),
куди заноситься число попадань конкретного числового атрибуту
(аргументу) у кожний конкретний частотний клас. Для кожної таблиці
обчислюється також математичне очікування та середньоквадратичне
відхилення. Ця статистика є стандартною для усіх таблиць.

Створення Q-таблиці:
ім’я QTABLE A, B, C, D
Ім’я - ім’я таблиці, А –ім’я черги (час очікування в якій треба
знайти), В - верхня границя першого частотного інтервалу таблиці, С
- ширина частотних інтервалів, D - кількість частотних інтервалів.
Для отримання вибіркових розподілень любих СЧА будь-яких
об’єктів замість QTABLE використовують:
Ім’я TABLE A, B, C, D
Імя таблиці, А – СЧА, B, C, D - аналогічно QTABLE.
Внесення інформації в Q-таблиці здійснюється автоматично, а в
таблиці , визначені оператором TABLE , за допомогою блока:
TABULATE A
А – номер або ім’я таблиці.
Наприклад:
MAT7 TABLE M1,8,1,5
TABULATE MAT7
Опис таблиці (гістограми) МАТ7, призначеної для табулювання
величини М1 (СЧА М1 – час перебування в моделі) транзакту, що
надходить в оператор TABULATE MAT7, верхня границя лівого
інтервалу гістограми дорівнює 8, ширина кожного наступного
інтервалу дорівнює 1, всього інтервалів 5.

Передача транзактів у блок, відмінний від наступного:


TRANSFER A,B,C
А, В, С залежать від режиму роботи.
Є 9 режимів роботи. Розглянемо 3 основних.
У режимі безумовної передачі поля А та С не вказуються, а
транзакт передається блоку, вказаному у полі В.
Наприклад:
51

TRANSFER , ВК1 транзакт передається блоку ВК1.


У режимі статистичної передачі поле А - ймовірність, з якою
транзакт спрямовується у блок вказаний у полі С, а з ймовірністю 1-А
транзакт спрямовується у блок, вказаний в полі В.
Наприклад:
TRANSFER 0.75 , ВК2, НАТ1
Транзакт з ймовірністю .75 спрямовується у блок НАТ1 і
ймовірністю 1-0.75=0.25 - у блок ВК2.
Третій режим - режим логічної передачі, коли у полі стоїть
ключове слово BOTH. Тоді транзакти передаються блоку, вказаному у
полі В. Якщо цей блок відмовляється його прийняти, то транзакт
спрямовується у блок, вказаний у полі С.
Наприклад:
TRANSFER BOTH , MET1, MET2
Транзакт спочатку спрямовується у блок MET2 або, якщо він
зайнятий, у блок MET1.

Блок для затримки та зміни маршруту:


TEST X A, B, C
X - умова перевірки співвідношення між СЧА і може приймати
наступні значення: L - менше, LE - менше чи дорівнює, Е - дорівнює,
NE - не дорівнює, GE - більше чи дорівнює ,G-більше
Якщо умова , А Х В що перевіряється, виконується, то TEST
пропускає транзакт у наступний блок, якщо ні, то транзакт переходить
до блоку, вказаному у блоці С.

Затримка та зміна маршруту транзакту


від стану апаратних об’єктів моделі
GATE X A, B
X - код стану об’єкту, що перевіряється, який може приймати
наступні значення: FU - пристрій зайнятий, FNU - пристрій вільний,
SE - пам’ять порожня, SNE - пам’ять не порожня, SF - пам’ять
заповнена, SNF - пам’ять не заповнена, LS - логічний перемикач
ввімкнений, LR - логічний перемикач вимкнений, А - ім’я чи номер
об’єкта, що перевіряється, В - ім’я блока, якому передається транзакт
у випадку невиконання умови (у випадку виконання - наступному).
52

Наприклад:
GATE SNE BUF3
Оператор затримує транзакти, що надходять у моменти, коли
пам’ять з ім’ям BUF3 не зайнята.
GATE LR 4,BLOK2
Оператор направляє транзакти у блок з ім’ям BLOK2, якщо у
момент їх надходження логічний перемикач з номером 4 не
вимкнений, тобто ввімкнений, і в наступний блок, якщо перемикач
вимкнений.

5.5 Контрольні запитання

5.5.1 Назвіть класи об’єктів GPSS та їх характеристики.


5.5.2 Наведіть приклади СЧА, що найчастіше
використовуються.
5.5.3 Як описується робота з чергами в GPSS?
5.5.4 Наведіть приклад опису пам’яті, її зайняття та звільнення.
5.5.6 Напишіть оператори генерації транзактів, зайняття та
звільнення пристрою.
5.5.7 Яким чином задаються різноманітні закони розподілу
випадкових чисел, наприклад, часу обслуговування у пристрої?
5.5.8 Напишіть оператори, які змінюють маршрути транзактів.
5.5.9 Як задається вихід результатів моделювання?
5.5.10 Розшифруйте вихідні результати моделювання.
53

Д одаток А

Оболонка GPSS Edit для GPSS/PC

Оболонка GPSSEdit призначена для спрощення роботи з


системою імітаційного моделювання GPSS/PC та дозволяє виконувати
наступні дії: набір імітаційної моделі в редакторі тексту, запуск
процесу моделювання в системі GPSS/PC, отримання файлу-звіту
(рапорту) роботи поточної моделі.

Початок роботи з GPSSEdit

Для завантаження GPSSEdit необхідно виконати команду


GPSSEDIT.EXE. GPSS редактор моделей має собою багатовіконний
редактор, зовнішній вид котрого наведено на рис.А1.

Рисунок А1 – Зовнішній вид редактору моделей GPSSEdit

Примітка. Завантаження та робота з пакетом GPSSEdit й


GPSS/PC повинні виконуватись у Вашій робочій папці. Також слід
відмітити, що текст моделі повинен знаходитись разом з пакетом
моделювання й мати розширення .GPS (наявність у файлу .GPS
54

атрибута «тільки_читання» призведе до неможливості його


моделювання).

Рисунок А2 – Створення й відкриття імітаційної моделі

Створення моделі виконується за допомогою меню File⇒New,


при цьому буде створено новий файл «Untitled» імітаційної моделі:

Для його збереження на носії інформації необхідно


скористатися меню File⇒Save (або клавішею F2), в діалозі, що буде
відкрито, необхідно задати назву моделі й розширення .GPS.
55

Для відкриття раніш створеної моделі необхідно виконати


File⇒Open (або клавіша F3) й вибрати назву файлу імітаційної
моделі.
При описі імітаційної моделі слід дотримуватись форматування,
тобто з початку рядка необхідно задавати його номер (10, 20, 30, …
для резервування номерів під додаткові описи моделі у разі змін або
виправлень її характеристик); далі, через «Пробіл» (“SpaceBar”),
повинна йти назва мітки поточного блоку (якщо мітка відсутня
необхідно все одно залишити вільне місце для неї); далі йде опис
блоку та його параметрів. Для спрощення набору тексту опису моделі
рекомендується в якості відокремлювача полів використовувати не
«Пробіл», а табуляцію (клавіша «Tab») в такому разі імітаційне
середовище моделювання буде правильно інтерпретувати побудовану
модель й однозначно з’єднувати мітки й блоки.
56

Для простоти моделювання після опису моделі можна ввести


додаткові оператори автоматичного запуску моделі й автоматичного
виходу з середовища моделювання по закінченні імітації: для цього
після останнього блоку моделі необхідно задати команду запуску
процесу імітаційного моделювання START кількість_подій та
команду закриття імітаційного середовища по закінченню процесу
моделювання END.
57

Запуск процесу імітаційного моделювання

Для запуску процесу імітаційного моделювання необхідно


вибрати пункт меню GPSS⇒Run GPSS & Report (або F9):

При цьому буде виконано запуск імітаційного процесу й


подальшого створення звіту моделювання.
58

За наявності помилок процес моделювання працювати не буде,


для з’ясування помилок у тексті моделі необхідно вилучити команду
виходу з середовища імітаційного моделювання END в конці файлу
опису моделі (програми), при цьому після запуску GPSS/PC на екрані
будуть відображені номери рядків та їх зміст для аналізу й усунення
помилок.

Після ідентифікації помилки можна ввести команду END й


виправити її в редакторі.

Додаткові відомості щодо роботи з оболонкою GPSSEdit

Перехід між відкритими вікнами в редакторі – Window⇒Next


або F6.
Закриття поточного вікна – Window⇒Close або Alt+F3.
Коментар в тексті опису моделі – символ крапка с комою ’;’.
Запуск моделювання з файлом звіту – GPSS⇒Run GPSS &
Report (або F9).
Запуск моделювання без файлу звіту – GPSS⇒Run GPSS (або
Ctrl+F9).
Отримання файлу звіту – GPSS⇒Run Report (або Alt+F9).
59

Виклик останнього меню – F10.


Виклик меню File – Alt+F.
Виклик меню GPSS – Alt+G.
Виклик меню Edit – Alt+E.
Виклик меню Search – Alt+S.
Виклик меню Windows – Alt+W.
Виклик меню Help – Alt+H.
Отримання довідки щодо блоків (операторів) GPSS/PC – F1.
Пересування у вікні довідки блоків (операторів) – Tab.
Зворотне пересування у вікні довідки блоків (операторів) –
Shift+Tab.

Примітка. При роботі з пакетом в ОС Windows 9x


використання маніпулятору миші у редакторі GPSSEdit призводить
до конфліктів, що, в свою чергу, призводить до неможливості
імітаційного моделювання в середовищі GPSS/PC, тому слід
користуватись визначеними наперед клавішами.
60

Д одаток Б
Прогон модели и наблюдение за моделированием

После того, как исходная программа модели введена с


клавиатуры или считана с диска и оттранслирована, в памяти ПК
создалась текущая модель, и теперь можно выполнить ее прогон. Для
этого в командную строку необходимо ввести управляющий оператор
START, указав в поле A соответствующее начальное значение
счетчика завершений. После нажатия клавиши Enter оператор START
переносится в окно данных, и прогон модели начинается. Об этом
сигнализирует сообщение Simulation in Progress ,появляющееся в
нижней строке командного окна -строке состояния, а также так
называемый индикатор моделирования, мигающий в правой стороне
нижней части окна данных.
Если прогон модели достаточно длинный, то можно наблюдать
за процессом моделирования, открывая те или иные графические окна.
Это производится путем нажатия клавиши Alt одновременно с
символьной клавишей с первой буквой названия окна.
Например, после нажатия клавиш Alt+B в верхней части экрана
на месте окна данных появляется окно блоков (BLOCKS),
изображающее динамику продвижения транзактов через блок-схему
модели. Рядом с каждым блоком выводится текущее число транзактов
в нем, которое обновляется в процессе моделирования.
Нажав клавиши Alt+N, вы можете заменить эту информацию на
общее число транзактов, прошедших через каждый блок. Блок, в
котором находится активный транзакт, выделен повышенной
яркостью (на цветных мониторах -другим цветом).
Нажав клавиши Alt+F, вы можете наблюдать окно устройств
(FACILITIES), в котором наглядно отображена информация о
текущем состоянии каждого устройства модели: его использовании,
занятости, очереди к нему.
Аналогичную информацию о многоканальных устройствах
можно получить, нажав Alt+S и открыв окно памятей (STORAGES).
Если в модели используются статистические таблицы, то, нажав
клавиши Alt+T, вы откроете окно таблиц (TABLES) с гистограммой
распределения соответствующего атрибута модели, обновляющейся в
процессе моделирования. Над гистограммой выводятся также текущие
61

значения среднего и среднеквадратического отклонения


табулируемого атрибута.
Находясь в любом из перечисленных окон, вы можете путем
нажатия клавиш Alt+L включить трассировку активного транзакта.
При этом в верхней части окна появляется строка, содержащая
информацию о текущем модельном времени, номере активного
транзакта и его продвижении через блок-схему модели. Отключить
трассировку можно повторным нажатием этих же клавиш.
Перемещение внутри окна любого типа к тому или иному
объекту этого типа осуществляется путем нажатия клавиш управления
курсором PgUp, PgDn и End. Возвращение в окно данных
производится путем нажатия клавиш Alt+D .
Следует заметить, что наблюдение графических окон и
особенно строки трассировки существенно замедляет моделирование,
и при длинных прогонах моделей этой возможностью не следует
злоупотреблять.
Открытие того или иного окна может быть выполнено также с
помощью команды WINDOW (окно), в поле A которой указывается
имя окна, однако удобнее это делать так, как описано выше.
Кроме графических окон внутри любого из них, кроме окна
данных, может быть открыто до четырех микроокон. Микроокна
открываются и закрываются командой MICROWINDOW (микроокно),
имеющей следующий формат: MICROWINDOW A,B,C;
комментарий
В поле A указывается номер микроокна - константа 1, 2, 3 или
4. Поле B содержит наблюдаемую величину -любой СЧА модели.
Поле C определяет состояние микроокна в результате выполнения
команды: ON -открыто, OFF -закрыто. Если поле C пусто, то по
умолчанию команда открывает заданное микроокно. В поле
комментария может быть задано название микроокна длиной до
восьми символов.
При открытии любого окна заданные микроокна с
обновляющейся в процессе моделирования информацией появляются
в правой части соответствующего окна. Микроокно имеет форму
прямоугольника с названием над рамкой, если оно было задано в
комментарии к команде MICROWINDOW.
В процессе моделирования можно также наблюдать
одновременно до двух графиков зависимостей любых СЧА модели
62

от модельного времени. Для этого необходимо до запуска модели


ввести одну или две команды PLOT (начертить), имеющие
следующий формат: PLOT A,B,C,D ; комментарий
В поле A указывается аргумент зависимости - любой СЧА
модели. Поле B должно содержать максимальное значение этого СЧА,
определяющее масштаб изображения по оси Y. Операнд B задается
константой, значение которой должно быть не менее 13. Поля C и D
определяют начальное и конечное значения модельного времени,
определяющие масштаб изображения по оси X. Эти операнды также
задаются константами. В поле комментария может быть задан
заголовок графика длиной до 34 символов.
График обновляется при каждом изменении модельного
времени, если оно попадает в диапазон, заданный операндами C и D.
Указанный в поле A СЧА-аргумент вычисляется относительно
первого транзакта, обрабатываемого после изменения модельного
времени.
Процесс моделирования можно прервать, нажав одну из клавиш
Esc или Home. При этом в строке состояния командного окна
появляется сообщение о номере активного транзакта,
обрабатываемого симулятором в момент прерывания. Вы можете
узнать значения интересующих вас стандартных числовых атрибутов
модели в момент прерывания, введя команду SHOW (показать),
операндом которой служат отдельные СЧА или выражения из них.
Значение заданного в команде СЧА или выражения выводится в окно
данных или другое активное окно. Введя команду EVENTS (события),
можно увидеть в окне данных содержимое списков текущих и
будущих событий. Команда USERCHAINS (списки пользователя)
позволяет просматривать в окне данных содержимое списков
пользователя . Обе последние команды не имеют операндов.
Инициировать прерывание моделирования можно также с
помощью команды STOP (остановить), имеющей следующий
формат: STOP A,B,C
В поле A указывается номер транзакта, вызывающего
прерывание, задаваемый константой. Если это поле пусто, то
прерывание вызывается любым транзактом. В поле B задается имя
или номер блока, при входе в который происходит прерывание. Если
этот операнд опущен, то прерывание происходит при входе в любой
63

блок. В поле C указывается ON для установки условия прерывания и


OFF для снятия этого условия (по умолчанию ON).
Например, команда STOP 100,MET1 устанавливает условие
прерывания моделирования при входе транзакта с номером 100 в блок
с именем MET1.
Команда STOP 2 будет вызывать прерывание при каждом
продвижении транзакта с номером 2, а команда STOP,CHAIR
при каждом входе любого транзакта в блок с именем CHAIR.
Наконец, команда STOP без операндов будет вызывать
прерывание при каждом продвижении любого транзакта, а команда
STOP,OFF снимает все условия прерывания, установленные ранее
другими командами STOP.
Прервав моделирование, можно также воспользоваться
командой STEP (выполнить шаг) для пошагового выполнения
модели с целью ее отладки. Операнд в поле A команды задает
количество входов активного транзакта в блоки, которое производится
при каждом выполнении команды. Обычно этот операнд равен 1, и
каждое выполнение команды STEP приводит к продвижению
активного транзакта к следующему блоку. Отладку с использованием
команды STEP удобно проводить, находясь в окне блоков.
Для продолжения моделирования после прерывания следует
ввести в командную строку команду CONTINUE (продолжить).
Команды STEP и CONTINUE могут не только вводиться в
командную строку с клавиатуры, но и выбираться из меню команд,
появляющемся в командном окне при активизации любого
графического окна. Выбор производится подводом крестообразного
курсора в прямоугольную область нужной команды и нажатием
клавиши Ins. В окне блоков меню команд предоставляет также
некоторые дополнительные возможности.
Часто используемые команды удобно загрузить на
функциональные клавиши F1-F10. Для этого после ввода загружаемой
команды с клавиатуры необходимо нажать клавиши Ctrl+Fn, где n -
номер выбранной функциональной клавиши. После загрузки команды
на функциональную клавишу для ее выполнения достаточно нажатия
этой клавиши.
64

Д одаток В

Імітаційна модель заданої системи

01 EXPON FUNCTION RN1,C24


0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38/
.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.81/.96,3.2/
.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
02 GENERATE 7,FN$EXPON
03 QUEUE QQ1
04 TRANSFER .6,,M2
05 SEIZE AA1
06 DEPART QQ1
07 ADVANCE 5,FN$EXPON
08 RELEASE AA1
09 TRANSFER ,M3
10 M2 QUEUE QQ1
11 SEIZE AA2
12 DEPART QQ1
13 ADVANCE 4,FN$EXPON
14 RELEASE AA2
15 M3 SEIZE BB1
16 ADVANCE 6,FN$EXPON
17 RELEASE BB1
18 M5 QUEUE QQ2
19 SEIZE BB2
20 DEPART QQ2
21 ADVANCE 7,FN$EXPON
22 RELEASE BB2
23 TRANSFER .1,,M2
24 TRANSFER .05,,M5
25 TERMINATE
26 GENERATE 480
27 TERMINATE 1
65

Д одаток Г
Стандартні числові атрибути

Елемент СЧА Короткий опис


N Лічильник входів
Блоки
W Лічильник поточного вмісту
Час З1 Значення відносного часу
Генератори СЧ RN(1-8) Від 0.000000 до 0.999999
Елемент рядка "а", стовпця "b".
MH(a,b)
Матриці величин, Півслово.
що зберігаються Елемент рядка "а", стовпця "b".
MX(a,b)
Повне слово.
R Вільна ємність
S Поточний уміст
SA Середній уміст
Багатоканальний
SC Лічильник числа входів
пристрій
SR Коефіцієнт використання
Середній час затримки на
ST
одиницю ємності
Q Поточний уміст
QA Середній уміст
Лічильник числа входів (загальне
QC
число)
Черги QM Максимальний уміст
QT Середній час перебування (по QC)
QX Середній час перебування (по QZ)
Лічильник числа входів (нульові
QZ
входи)
BV Значення булевої змінної
Змінні
V Значення арифметичної змінної
Стан приладу (1-зайнятий, 0-
Прилади F
вільний)
FC Лічильник числа зайнятть
FR Коефіцієнт використання
66

Середній час затримки на одне


FT
зайняття
Значення повнословної величини,
X
Величини, що що зберігається
зберігаються Значення полусловної величини,
XH
що зберігається
Середня величина не зважених
TB
коефіцієнтів
Таблиці
TC Кількість не зважених входів
TD Сигма квадрат не зважених входів
P Величина параметра
PR Рівень пріоритету
Транзакти M1 Час перебування в моделі
Час з моменту входу в блок
MP
MARK з номерами (МР2, МР5)
Функції FN Значення функції
CA Середній уміст
CC Загальне число входів
Ланцюги CH Поточний уміст
користувача CM Максимальний уміст
Середній час перебування в
CT
мережі на один вхід
ПЕРЕЛІК ПОСИЛАНЬ

1. Советов Б.Я., Яковлев С.А. Моделирование систем.


Практикум.- М.: Высш. шк., 1999.- 224с
2. В.В. Семенець, І.В. Хаханова, В.І. Хаханов. Проектування
цифрових систем з використанням мови VHDL. Навч. посібник. -
Харків: ХНУРЕ, 2003.- 492 с.
3. Кондратенко Ю.П., Сидоренко С.А., Пiдопригора Д.М.
Поведінковий синтез цифрових пристроїв у середовищі Active-HDL:
Навчальний посiбник.- Миколаїв: МФ НаУКМА, 2002.- 116 с.
4. Шапо Ф.С., Шапо В.Ф. Введение в VHDL - язык
проектирования цифровых систем.- Одесса: Астропринт, 2001.- 220 с.
5. СТП 15 – 96 Пояснювальна записка до курсових та
дипломних проектів. Вимоги та правила оформлення. - Запоріжжя:
ЗНТУ, 1996.- 36с.
6. ГОСТ 7. 01 – 84 Бібліографічні описи документу. Загальні
вимоги і правила складання.

Основна література

1. Каган Б.М. Электронные вычислительные машины и


системы.- М.: Энергоатомиздат, 1991.- 592с.
2. Король Э.Н. Архитектура центра IBM PC.- Харьков:
“Милосердие”, 1997.-205с.
3. Гук М. Аппаратные средства IBM PC. Энциклопедия.- СПб:
Изд. “Питер”, 2000 .- 816с.
4. ЭВМ общего назначения. Под ред. Ю.М. Смирнова.- М.:
Наука, 1990.- 143с.
5. Куприянов М.С. и др. Процессор PENTIUM: Архитектура и
программирование.- С-П.: 1995.- 227с.
6. Степаненко О.С. Досье пользователя: компьютер внутри.- К.:
Логос, 1998.- 127с.
7. Угрюмов Е.П. Цифровая схемотехника. – СПб.: БХВ-
Петербург, 2001.-528с.( Гл.9.)
8. Бибило П.Н. Основы языка VHDL.- М.: Солон-Р, 2000.-200с.
Додаткова література

1. Смирнов А.Д. Архитектура вычислительных систем.- М.:


Наука, 1990.- 320с.
2. Холленд Р. Микропроцессоры и операционные системы:
Краткое справочное пособие: / Пер. с англ.-М.:
Энергоатомиздат,1991.-192c.
3. Архитектура и проектирование микроЭВМ. Организация
вычислительных процессов. Под ред. Преснухина Л.Н.:- М.: Высш.
шк., 1986.- 495с.
4. Амалия М., Танака Ю. Архитектура и искусственный
интеллект.- М.: Мир, 1993.- 400с.
5. Шрайбер Дж. Моделирование на GPSS.- М.: Маш., 1980.-
592с.
6. Максимей И.В. Имитационное моделирование на ЭВМ.-
М: Радио и связь, 1988.- 327с.
7. Норенков И.П. Разработка САПР.- М.: МГТУ, 1994.207с.

You might also like