Begin
D:= 1
IF D = 1 THEN GO TO P1 ELSE IF D = 2 THEN GO TO P2 ELSE
IF D= 3 THEN GO TO P3 ELSE IF D= 4 THEN GO TO P4 ELSE
IF D= 5 THEN GO TO P5 ELSE
END
Программы:
P1 – формирование очереди из N1 свободных блоков.
P2 – формирование двух пакетов “Данные” (Д), находящихся в очереди принятых пакетов с канального процессора КПР=5.
P3 – перенос пакетов Д из очереди массивов принятых пакетов ОДпм (5) (с канального процессора КПР=5) в очередь пакетов на передачу в канальный процессор.
P4 – формирование двух пакетов “Данные” (Д), находящихся в очереди принятых пакетов с канального процессора КПР=4.
P5 – перенос пакетов Д из очереди массивов принятых пакетов (с канального процессора КПР=4) ОДпм (4) в очередь пакетов на передачу в канальный процессор.
8.1. Программа P1
а) Выделение памяти под N1 свободных блоков (для контрольного примера N1=50). Каждый свободный блок занимает 134 байта:
- 2 байта под адрес предыдущего блока в списке блоков (первое адресное поле связки очереди);
- 2 байта под адрес следующего блока в списке блоков (второе адресное поле связки очереди);
- 12 бит под логический канальный номер LCN
- 4 бит под тип пакета «данные»;
- 128 байт информационных данных пакета.
Очистить память, занятую свободными блоками.
б) Установление адресов связки в N1 свободных блоках:
- выделить память под характеристику очереди свободных блоков Нсвоб с начальным адресом АНсвоб. Установить поля характеристики Нсвоб (рис. 1).
АНсвоб
А(1) | А(N1) | N1 |
Рис. 1. Характеристика Нсвоб
Здесь
А(1) – адрес начала массива первого свободного блока в очереди Освоб
А(N1) – адрес начала массива последнего свободного блока в очереди Освоб.
Под массивом блока будем понимать блок (пакет, кадр, ячейка и др.) с адресными полями связки очереди.
- установить адресные поля связки первого (рис. 2, а) и N1 – го (рис. 2, б) свободного блока в очереди Освоб.
А(1)
А(N1) |
а)
А(N1)
А(N1) -1 |
б)
Рис. 2. Формат первого (а) и последнего (б) свободного блока в списке очереди Освоб.
- установить адреса связки всех свободных блоков, кроме первого и последнего
FOR i=2, 3 …. (N1-1) DO
Запись в первое адресное поле i-го блока адрес начала i-1 блока списка очереди;
Запись во второе адресное поле i-го блока адрес начала i+1 блока списка очереди.
i=i+1
END
D:=D+1
GO TO DISP8
8.2. Программа P2
В таблице 1 приведена таблица маршрутизации ЦКП по логическим канальным номерам LCN, которая получена в главе 7.
Таблица 1. Таблица маршрутизации ЦКП по логическим канальным номерам LCN
Номер канального процессора пакета, входящего в ЦКП | Номер канального процессора пакета, исходящего из ЦКП | LCN входящего пакета в ЦКП | LCN исходящего пакета из ЦКП | Признак использования Освн при формировании строки таблицы маршрутизации (да/нет) |
да | ||||
нет | ||||
да | ||||
нет |
Эта таблица составлена на примере структуры центра коммутации пакетов, приведенном на рис. 1 лабораторной работы 7..
1) Формирование первого пакета “Данные” (Д), находящегося в очереди принятых пакетов с канального процессора КПР=5.
На рис. 2 показано формат полей массива пакет “Данные”, поступившего с канального процессора КПР=5 и размещенного в первом массиве свободных блоков Освоб с начальным адресом A(1).
Число байт | ||||
Начальный адрес A(1) | Первое адресное поле | Второе адресное поле | Заголовок пакета “Данные” (Д) – логический канальный номер LCN 12 бит (биты <1-8> 1 байта и биты <5-8> 2 байта), идентификатор пакета “Д” – (бит <1> 2 байта | Информационная часть |
Рис. 2. Формат размещения пакета “Данные” (“Д”) в свободном блоке Освоб с начальным адресом A(1)
Установим значение поля LCN этого пакета Д в биты <1-8> 1 байта и биты <5-8> 2 байта заголовка. В десятичном выражении LCN= 179.
Записать в информационную часть пакета значение m (исходные данные вариантов и контрольного примера приведены ниже в разд. 12.6).
Перенести массив этого пакета в очередь массивов принятых пакетов ОДпм (5) с канального процессора КПР=5 т.е. из очереди Освоб.
Откорректировать очередь свободных блоков Освоб. На рис. 3 приведена характеристика этой очереди Нсвоб.
АНсвоб.
А(2) | А(N1) | N1-1 |
Рис. 3. Характеристика Нсвоб.
- установить характеристику очереди НДпм (5) массивов принятых пакетов ОДпм (5) с канального процессора КПР=5.
На рис. 4 приведена характеристика очереди НДпм (5).
АНДпм (5)
А(1) | А(1) |
Рис. 4. Характеристика НДпм (5)
2) Формирование второго пакета “Данные” (Д), находящегося в очереди принятых пакетов с канального процессора КПР=5.
Установим значение поля LCN этого пакета Д в биты <1-8> 1 байта и биты <5-8> 2 байта заголовка. В десятичном выражении LCN= 193.
Записать в информационную часть пакета значение m +1.
Перенести массив этого пакета в очередь массивов принятых пакетов ОДпм (5) с канального процессора КПР=5 т.е. из очереди Освоб..
Откорректировать Освоб., ОДпм (5), Нсвоб., НДпм (5). На рис. 5 приведена характеристика этой очереди Нсвоб.
АНсвоб.
А(3) | А(N1) | N1-2 |
Рис. 5. Характеристика Нсвоб.
На рис. 6 приведена характеристика очереди НДпм (5).
АНДпм (5)
А(1) | А(2) |
Рис. 6. Характеристика очереди НДпм (5).
D:=D+1
GO TO DISP8
8.3. Программа P3
1) Перенос первого пакета Д в очереди массивов принятых пакетов (с канального процессора КПР=5) ОДпм (5) в очередь пакетов на передачу в канальный процессор).
- определить номер строки таблицы маршрутизации для входящих пакетов с канального процессора 5 (табл. 1), в которой LCN входящего пакета в ЦКП совпадает с LCN в массиве пакета очереди ОДпм (5) по адресу A(1). В данном примере LCN=179.
- заменяем LCN в массиве пакета по адресу A(1) на LCN исходящего пакета из ЦКП. В данном примере LCN=3201.
- снимаем этот массив пакета из ОДпм (5) и устанавливаем в конец очереди на передачу из ЦКП в канальный процессор, номер которого определяется из определенной строки таблицы маршрутизации. В данном примере это в очередь Опд(4), т.е. в канальный процессор 4.
- производится коррекция очередей ОДпм (5), Опд (4) и характеристик НДпм (5), Нпд (4).
На рис. 7 приведена характеристика очереди НДпм (5).
АНДпм (5)
А(2) | А(2) |
Рис. 7. Характеристика очереди НДпм (5).
На рис. 8 приведена характеристика очереди Нпд (4).
А Нпд (4)
А(1) | А(1) |
Рис. 8. Характеристика очереди НДпм (4).
2) Перенос пакета Д в очереди массивов принятых пакетов (с канального процессора КПР=5) ОДпм (5) в очередь пакетов на передачу в канальный процессор).
Эта операция производится самостоятельно аналогично приведенному выше переносу первого пакета.
Производится коррекция очередей ОДпм (5), Опд (4) и характеристик НДпм (5), Нпд (4).
На рис. 9 приведена характеристика очереди Нпд (4)..
А Нпд (4)
А(1) | А(2) |
Рис. 9. Характеристика очереди НДпм (4).
D:=D+1
GO TO DISP8
8.4. Программа P4
Формирование двух пакетов “Данные” (Д), находящихся в очереди принятых пакетов с канального процессора КПР=4.
Эта операция производится самостоятельно на базе опыта, полученного при освоении программы P2. Записать в информационную часть первого и второго пакета соответственно значение n и n +1 (исходные данные n для вариантов и контрольного примера приведены в разд. 8.6).
На рис. 10 приведена характеристика очереди НДпм (4).
АНДпм (4)
А(3) | А(4) |
Рис. 10. Характеристика очереди НДпм (4).
D:=D+1
GO TO DISP8
8.5. Программа P5
Перенос пакетов Д из очереди массивов принятых пакетов (с канального процессора КПР=4) ОДпм (4) в очередь пакетов на передачу в канальный процессор.
Эта операция производится самостоятельно на базе опыта, полученного при освоении программы P3.
На рис. 11 приведена характеристика очереди НДпм (5). ?????????????????????????????????
А Нпд (4)
А(3) | А(4) |
Рис. 11. Характеристика очереди НДпм (5). 77777777777777777?????????????
D:=D+1
GO TO DISP8