ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.10.2024
Просмотров: 142
Скачиваний: 0
гых линий, по которому происходит освобождение линий. Текущую длину списка обозначим .4. Каждая строка в данном списке име ет v разрядов, из них и— 1 разряд равен нулю, а один разряд равен единице. Номер этого разряда совпадает с номером данной линии (считая слева).
Заметим, что изложенным способом можно моделировать не любые НС. Нельзя, например, моделировать схемы со сдвигами, так как согласно алгоритму моделирования номера линий в каж дой группе должны идти в возрастающем порядке, а в этих схемах порядок нарушается. Но это несущественное ограничение, потому что согласно принципам выбора оптимальных НС (см. § 5.1) сдви ги увеличивают вероятность потерь и ими пользоваться не реко мендуется.
Переходим к изложению блок-схемы программы моделирова ния. Ее отдельные блоки имеют номера вида а(Ь, с), где а — номер
блока |
по порядку; |
|
Ь — номер блока, к |
которому передается уп |
|||||
равление при выполнении логического условия, содержащегося в |
|||||||||
блоке а; |
с — номер |
|
блока, к которому передается управление при |
||||||
невыполнении |
логического |
условия. В |
случае |
арифметического |
|||||
блока Ь = |
с. |
|
|
|
|
|
х и |
|
|
1 |
|
(2,9). |
Выбор псевдослучайного |
числа |
проверка услови |
||||
х > — — |
(рис. 8.2). Переход к блоку 2 означает «поступил вы- |
||||||||
зов», |
к блоку 9 — «осво |
|
/Л |
|
|
||||
бождение одной из А за |
|
|
|
||||||
нятых линий». |
|
|
|
|
|
|
|||
2(3,3). Выбор псевдо |
|
|
|
|
|||||
случайного числа у и оп |
|
А |
\ \ |
|
|||||
ределение номера группы |
/ |
|
|||||||
i=i[yn]+il, где квадратная |
|
|
|
||||||
оу- |
|
|
|
||||||
скобка — знак целой ча |
/ |
|
|
|
|||||
сти. |
|
|
|
|
|
/ |
|
\ |
\ |
3(4,5). Определение нали |
/ |
|
|||||||
/ |
|
|
\\ |
||||||
чия свободной линии в 1-Й |
|
|
|||||||
группе контактов, т. е. ус |
0 L |
|
А |
\ |
|||||
танавливаем, |
отлично ли |
|
Поступление |
||||||
от нуля |
логическое про |
Освобождение |
|||||||
|
|
Вызова |
|||||||
изведение строки R запи |
Рис- ^.2. Схема выбора событий на основе чи- |
||||||||
си ЛИНИЙ схемы на ст.ро- |
|||||||||
Ку ■.записи ЛИНИЙ |
’ |
ДОС- |
равномерно распределенных на [0, 1], чис- |
||||||
J |
|
. „ |
|
кон- |
ло jc— соответствует событию |
«поступил вы- |
|||
тупных г-и группе |
|
30в>> |
|
|
|
||||
тактов. |
|
|
|
|
|
|
|
|
|
4(6,6). |
Занятие очередной свободной |
линии, |
т. е. нахождение |
. номера / первого справа разряда, равного единице в результате произведения, и замена /-го разряда строки R записи свободных линий на 0, соответственно увеличение описка занятых линий на од ну строчку.
5(6,6). Суммирование отказов.
6 (7,7). Суммирование поступивших вызов он.
161
7(8,1). Достаточна ли длина серии произведенных 'вызовов.
8(8,8). Вывод результатов и останов.
9(1,1). Выбор при помощи случайного числа z освобождае
мой линии с номером к — [.гЛ]+1, вычеркивание ее из списка заня тых линий и замена в указателе свободных линий R соответствую щего разряда с 0 на 1. Вместо записи освобожденной липни в спи ске ставится последняя запись из описка. Длина описка становится равной А— 1.
Программа выдает оценку (вероятности потерь по .вызовам
л
л (Л) = N q!N, где N — общее число вызовов; N0 — число потерян ных вызовов.
8.2.ДВУХКАСКАДНАЯ НЕПОЛНОДОСТУПНАЯ СХЕМА
Коммутаторы первого каскада обозначим через /1, второго— через В. Вся 2/г-я схема состоит из s 2/г-х блоков. Каждый блок имеет вид, представленный на рис. 8.3. Введем параметры отдель
ного 2&-го блока: п — число входов одного А коммутатора; k — число А коммутаторов; т — число В коммутаторов; f — число про межуточных линий между каждой парой Л и В коммутаторов (связность); I — число групп выходов; q — 'число выходов /в одной труппе.
Необходимость рассматривать 2&-ю схему в целом вместо s блоков возникает из-за того, что по-разному можно закоммутировать выходы одноименных В /коммутаторов в (различных блоках, образуя неиолнодоступные включения. Предположим, что комму тируются выходы лишь одноименных В коммутаторов, т. е. В ком мутаторов, расположенных в различных блоках, но имеющих один и тот же номер в блоке. Отдельная группа взаимно закоммутированных выходов определяет одну выходную линию. Выходные ли нии В коммутаторов разбиваются на ср частей, иными словами, на <р направлений (ср — произвольное целое число).
162
Проиллюстрируем дальнейшее 'описание алгоритма моделиронания на примере простой 2/г-й схемы (рис. 8.4), которая имеет сле дующие параметры: s = 2 , п = 3 , k = 2 , 1= 2, т — 2, /=1. Число на правлений ф = 2, в первом направлении имеется 3 линии, во вто ром — 2. Общее число входов в схеме N = -12, число занятых вхо дов а = 3. В данной ситуации возможны потери по двум причинам: 1) теряются все вызовы, поступающие на второе направление изза занятости всех линий этого направления; 2) из-за занятости всех промежуточных линий, выходящих из первого А коммутатора первого блока, теряются также вызовы, поступающие на первое направление, хотя и в этом направлении есть 2 свободные линии.
1. Кодирование 2к-й схемы
При моделировании сложных коммутационных систем чрез вычайно важно выбрать экономичный способ кодирования ее структуры и состояний в памяти ЭВМ. Состояния 2£-й схемы за даются тремя массивами информации. Массив 1 характеризует за нятые входы и пути; массив 2 — занятые промежуточные линии, массив 3 характеризует структуру коммутации выходных линий и запоминает занятые выходные линии. Ниже учитываются особен ности ячейки памяти машины БЭСМ-2М: трехадресная ячейка по 11 двоичных разрядов; код занимает шесть первых разрядов.
Массив 1 (таблица входов). Информация о занятых путях хранится в таблице входов. Каждому входу соответствует одна
ячейка памяти. |
Занятый п у т ь записывается в виде табл. 8.1. |
|||
Т А Б Л И Ц А |
S.1 |
|
|
|
Код |
I адрес |
11 адрес |
III |
адрес |
/ -1 |
М |
И |
Г |
i |
В таблице / — номер В коммутатора; М — адрес ячейки, в ко торой записана занятая промежуточная линия (пл) (в массиве 2); Н — адрес ячейки, в которой записан занятый выход выбранно го направления (в массиве 3).
Свободному входу в массиве 1 соответствует ячейка, в которой занят лишь III адрес, где через г обозначен номер блока (5 раз рядов), через I — номер А коммутатора, которому принадлежит рассматриваемый вход (6 разрядов).
В начале списка расположены занятые входы, за ними свобод ные, что облегчает их выбор. По мере работы программы порядок входов в списке соответственно меняется.
Массив 2 (указатель промежуточных линий). Информация о пл одного А коммутатора записывается в f ячейках. Каждой пл
153
соответствует один разряд, притом 1 соответствует случаю, когда пл свободна; 0 — пл занята. Таким образом, массив 2 состоит из ksf ячеек, в каждой из которых используется т двоичных разря дов:
т разрядов
По адресу ячейки М (одной из ksf в массиве 2), указанной в мас сиве 1, можно полностью восстановить, какой из т разрядов за менен на 0 (признак занятой пл), и определить i — номер А ком мутатора.
Массив 3 (характеристика выходов по направлениям). Рас смотрим запись информации о коммутации выходов и их занятии для одного отдельного направления, поскольку для остальных это делается аналогично. Список линий рассматриваемого 'направле ния разделяем на т классов так, что в отдельный класс входят все линии, коммутирующие выходы одноименных В коммутаторов. Определяем число ф как максимальное число линий среди классов. Для рассматриваемого примера (см. рис. 8.4) три линии первого направления делятся на два класса: к первому классу принадлежит одна (первая) линия, ко второму — две линии (вторая и третья). Следовательно, ф = 2. Максимальное число выходных линий не пре восходит тф, а отсюда следует, что для записи состояния выход ных линий достаточно тф разрядов. При отсутствии взаимной ком мутации выходов эта информация полностью определяла бы также состояния выходов. Однако в нашем случае каждая линия может быть закоммутирована с любой комбинацией выходов из s блоков. Поэтому каждой выходной линии вообще необходимо сопоставить s разрядов, указывающих номера закоммутированных блоков.
Переходим к подробному описанию организации записи инфор мации о выходах. Порядок размещения информации обусловлен стремлением к максимальному использованию логических опера ций машины. Информация о состоянии выходных линий и коммута ции выходов отдельного рассматриваемого направления состоит из ф наборов по (s-Ы) ячейке, в каждой из которых используется т
1:54
разрядов. Первая ячейка в каждом из ф наборов характеризует со
стояние некоторых т или меньшего числа выходных |
линий, а ос |
|
тальные s |
ячеек указывают коммутацию этих линий по s блокам. |
|
В каждой |
из первых ячеек набора первый разряд |
соответствует |
выходной линии первого коммутатора, второй — второму комму татору и т. д. Единица в каком-то из т разрядов первой ячейки набора указывает на то, что линия свободна, 0 указывает, что ли ния занята или отсутствует. Для остальных s ячеек этого набора 1 в t-м разряде /-й ячейки (1 ^ / ^ s ) указывает на то, что t-я линия имеет коммутацию с /-м блоком, 0 — что коммутация отсутствует. Присутствие 0 в t-м разряде (l^ tscrm ) всех s ячеек указывает на
отсутствие выходной линии. |
||
Проиллюстрируем сказанное на первом направлении рассмат |
||
риваемого примера |
|
(см. рис. 8.4). Как отмечено выше, для первого |
направления ф = 2. |
|
В начальном состоянии схемы (все линии сво |
бодны) информация о входах и выходах линий имеет вид |
||
т — 2 |
||
,-------1 |
||
1 |
1 |
|
|
ОО |
|
s = 2 |
Оо |
|
|
О 1 |
|
Информация занимает б ячеек, так как ф(s + 1) = 6. При занятии |
выходных линий меняется содержание первых ячеек в каком-то из ф наборов. В состоянии, изображенном на рис. 8.4, в первом на правлении занята одна линия (третья), что отмечается засылкой О во второй разряд 4-й ячейки.
На этом описание массивов информации заканчивается. Общее
ф
количество занятых ячеек равно n k s+ fk s+ (s -Ь 1J 2 фс, если т не
С=\
превосходит число разрядов в одной ячейке машины.
2. Работа программы моделирования
После представления 2 /г-й схемы в виде описанных трех мас сивов соединения устанавливаются на основе таких быстродейст вующих операций, как логическое умножение, логическое сложе ние и др.
Рассмотрим, каким образом происходит занятие при условии, что вызов 'поступил по'определенному входу, т. е. из массива 1 вы брана ячейка а, соответствующая свободному входу, следовательно, известны номер блока г и номер коммутатора t. Согласно набору Ри..., Рч> выбираем направление с. Выбор свободной линии зависит от вида поиска. Предположим, что поиск упорядоченный. Тогда из массива 2 выбираем f ячеек, соответствующих t-му А коммутатору
155
r -го блока, и они логически суммируются. В итоге получаем одну ячейку р, которая указывает доступные свободные промежуточные линии (пл).
Переходим к массиву 3 направления с. Выбираем 1 и (г+1)-ю ячейки первого 'набора и их логически умножаем. Получаем уь Если в ячейке -уг есть хотя бы одна единица, то в направлении с из блока г исходят свободные линии. Логическим умножением ячеек р и у! проверяем, доступны ли выделенные свободные линии сво
бодным пл. Если результат |
совпадает с 0 |
( 0 — пустая ячейка), |
то переходим к следующему |
набору, получаем уг и т. д. до у |
|
(так как имеется всего фс наборов), т. е. до потери вызова. |
||
Если на /-м шаге у ; Д р ^ 0 , 1г£;/г^фс |
(Д — знак логического |
умножения), то имеется, по крайней мере, одна доступная свобод ная линия. Определяем место первой единицы (обозначим его че рез j) справа1) (или слева). Занимаем выделенную свободную и доступную линию, т. е. записываем 1 в соответствующем у'-м разря де массива 3, находим тот же у'-п разряд в одной из р ячеек пл и тоже занимаем. Информацию о занятии промежуточной и выход ной линий записываем в ячейку а массива 1, как указано при опи сании массива 1.
И, наконец, рассмотрим, как освобождаются занятые линии при выборе ячейки а, соответствующей какому-то обслуживаемому вы зову. На основе информации, содержащейся в коде, в первом и втором адресах ячейки а освобождаем занятую промежуточную и выходную линии, т. е. заменяем 0 на 1 в соответствующих местах массивов 2 и 3.
8.3. АЛГОРИТМ МОДЕЛИРОВАНИЯ ШЕСТИКАСКАДНОЙ СХЕМЫ
Рассмотрим еще один пример моделирования сложной коммута ционной системы, который одинаково хорошо иллюстрирует как процесс статистического моделирования во время исследований пропускной способности системы, так и организацию памяти спе циализированной управляющей ЭВМ. Имея это в виду, алгоритм моделирования изложим схематично, без учета особенностей маши ны (набор команд, число адресов, длина ячейки). Для упрощения изложения предположим, что ячейка памяти имеет переменную длину (в современных ЭВМ это применяется, а в специализирован ных управляющих ЭВМ могут быть организованы блоки памяти с разной длиной ячейки для хранения разного рода информации).
') Приводим алгоритм выделения первой единицы справа: |
i . |
— исходное число в ячейке а складывается (без нормализации) |
с числом |
«11 ...111» и посылается в ячейку Ь; |
|
—берется отрицание числа в ячейке Ь и там же записывается;
—логическое умножение а н Ь, искомый результат в ячейке Ь.
Приме р : 1) 10110 2) отриц. 10101 3) 10110
^ГТГТТГ |
01010 л 0- ^ ___ |
10 10 1 |
ооою |
156
Пусть требуется установить соединение между определенным входом и определенным выходом в шестикаскадной (6/г) схеме, приведенной на рис. 8.5 [Glj. Через / г и т обозначены числа входов и выходов в коммутаторах различных каскадов, индекс указывает номер каскада. Каждая пара соединенных коммутаторов имеет по одной пл, т. е. /=1. Выполняется также равенство
Т Е Ш |
Ш Y |
Ш |
Координаты '(номера) входов я выходов обозначим прописными буквами N и М с соответствующими 'индексами. Тогда задачу мож но сформулировать так: требуется установить соединение между
входом |
с координатами АД N% АД N,k и выходом с координатами |
Мв, М5, |
М,и М3, т. е. определить АД N6 и М2, Mi. Координаты при |
нимают'значения 0, 1,..., п—;1 или 0, 1,..., т— 1 с индексами у п и т
соответственно. |
три массива: |
Для кодирования состояния бй-й схемы введем |
|
1) указатели пл по каскадам; 2) таблица входов; |
3) таблица вы |
ходов.
Первый массив состоит из пяти блоков (согласно числу типов пл). На каждую пл отводится по одному двоичному разряду: пи шем 1, если пл свободна, и 0, если занята. Нумеруем разряды спра
157
ва налево, т. е. в первом справа разряде содержится информация о состоянии ил с номером 0 в соответствующем блоке пл. Характе ристики блоков приведены в табл. 8.2.
Т А Б Л Л Ц A |
S.2 |
|
Таблица |
входов |
состоит |
из |
|||
|
|
|
nin2n3n.ik ячеек по числу входов, |
а |
|||||
Название |
Число разря |
Число ячеек |
каждая ячейка в |
случае занятого |
|||||
блока |
дов в ячеПке |
в блоке |
входа |
содержит |
информацию о |
||||
|
|
|
соединительном пути (о занятых |
||||||
пл/-// |
пц |
п 2п 3П4 |
пл) между |
входом и выходом и |
|||||
пл//—ш |
т2 |
"ЦПз«4 |
координаты |
выхода, |
с которым |
||||
данный вход соединен. Ниже уви |
|||||||||
|
|
т3пц |
|||||||
U J l ! l / - I V |
//г1то = / г6и5 |
дим, как формируется информа |
|||||||
n n I V - V |
«5 |
/1вт 4т я |
ция о занятых пл. |
|
|
|
|||
Таблица |
выходов |
состоит |
из |
||||||
|
Пл |
т5т4т3 |
|||||||
|
пц1Пь1щт 3 ячеек по числу выходов. |
||||||||
|
|
|
Каждая ячейка в 'случае занятого |
||||||
|
|
|
выхода |
содержит номер входа, |
с |
которым он соединен. Предположим, что все ячейки по массивам информации в блоках и таблицах занумерованы, начиная с номе ра 0. Соединение устанавливается следующим образом. В момент
вызова известны координаты входа Nlk Nz, N3t |
Nik и координаты вы |
хода Мс, М5, Mi, М3. Это значит, что вход с |
номером Ni + nlN2+ |
-}-tiitizN3-f-niti2ti3Nit следует соединить с выходом, имеющим номер Мс+ т 6М-а + т6т5М /,+т3тъ1щМ3. Согласно координатам входа и выхода известно, что соединение должно произойти через свобод ные пл, указанные в (m 3Nik+ M 3)-ii ячейке блока nsim -iv- Обозна чим ее содержание через р. Надо только определить, свободны ли пл со стороны входа (посредством блоков пл/_л и плп - ш ) , а также со стороны выхода (посредством блоков пл/r-v и пл^-г/)- Для выяснения этого формируем два указателя пл (обозначим их а и у соответственно) длины тлт2 разрядов каждый. Указатель а состоит из nii частей по т2 разрядов в каждой. Он формируется из nii ячеек блока пли - ш соответственно тем разрядам из общего их числа nii, которые равны 1 в ячейке с номером N2 + n2N3+ n2n3Nlk в блоке пл/—л (если разряд равен 0, т. е. пл занята, то в соответст вующих ему т2 разрядах пишутся нули). Подобным же образом формируется указатель у на основе блоков плv -v i и пл/v-v- После их формирования результат логического умножения а Д р Д у = б указывает номера свободных пл. Согласно выбранной дисциплине занятия, например, выбором первой справа свободной пл в указа теле б выбирается пл между III и IV каскадами.
Пусть выделен х-и справа разряд, тогда решение задачи следую
щее: |
|
|
|
|
М2 = |
X |
- 1 ; |
Mi = х — т2М2— 1; |
|
тг |
||||
|
|
|
||
N 6= |
X |
- 1 ; Ne = х — nbN&— 1. |
||
Us J |
||||
|
|
|
158