Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга бельфер.docx
Скачиваний:
228
Добавлен:
20.09.2019
Размер:
9.74 Mб
Скачать

6.1. Программа p6

Выделение памяти для формирования принятого информационного кадра “I”, подтверждающего правильный прием всех переданных на противоположную сторону информационных кадров “I” (лаб. 3).

На рис.1 приведен этот формат этого кадра, включающий 1 байт заголовка кадра, 2 байта заголовка пакета, 128 байт информационной части пакета и 2 байта КПК этого кадра. Начальный адрес этого кадра с КПК - A(RGвх). Он имитирует входной регистр RGвх с канала, в котором в действительности аппаратным образом проверяется с помощью КПК был ли искажен кадр в канале. Как видно из рис.1 регистр состоит из 133-х байтов.

байты

1

2

128

2

начальный адрес A(RGвх)

Заголо-вок

кадра

Заголо-вок

пакета

Информационная часть пакета

КПК

… ………………… кадр ……………………………………

……….. ………..…………. пакет ………………….

Рис.1. Формат принятого информационного кадра “I” во входной регистр с начальным адресом A(RGвх)

Сформировать поля принятого кадра (значения приведены для контрольного примера):

- записать данные m+5 в поле информационной части пакета (для контрольного примера m+5=6, т.е. 110).

- установить ноль в поле заголовка пакета.

Установить параметры заголовка принятого кадра (значения приведены для контрольного примера):

- установить тип кадра “I”: биты кадра <1>:= 0

- установить V1(S):=Z2; переменный параметр очередного информационного кадра “I” на передачу с противоположной стороны (т.е. N1(S) принятого кадра совпадает с ожидаемым)

- установить N1(S):= V1(S) и записать в биты принятого кадра <2-4>:=001

- установить V1(S) := V1(S) +1

- установить N1(R):=V1(R) в биты кадра <6-8>:=100; в программе лаб.3 в контрольном примере на противоположную сторону были отправлены три “I” кадра соответственно с N(S) (битами в заголовке <6-8>:= 010, 011, 100). Биты принятого кадра с N1(R) <6-8>:=100 показывают, что приняты правильно первые два из них (ожидается на противоположной стороне “I” кадр с N(S) = 100.

- установить КПК (старший байт равен нулю, младший байт – 10000100, т.е. суммированные по модулю 2 все байты кадра (10000010 – заголовок кадра, информационная часть пакета - 110). Это означает, что кадр

принят неискаженным в канале.

D:=D+1

GO TO DISP6

6.2. Программа p7

Записать в массив первого блока по адресу А(N2+1) очереди свободных блоков Освоб принятый с канала связи кадр “I”, подтверждающий правильный прием с противоположной стороны двух (из трех переданных) информационных кадров “I” (рис.2). Значения полей заголовка принятого кадра приведены для контрольного примера.

А(N2+1)

Биты

16 бит

16 бит

8

7

6

5

4

3

2

1

Значения

0

0

1

0

0

0

0

0

1

0

.…адр. часть…… ….кадр “I” …………..

Рис. 2. Заголовок кадра “I” в массиве очереди свободных блоков Освоб

- откорректировать поля характеристики очереди Нсвоб очереди свободных блоков Освоб, (т.е. снять свободный блок с начальным адресом массива по А(N2+1) из очереди свободных блоков Освоб (рис.3).

АНсвоб

А(N2+2)

А(N1)

N1- N2 -1

Рис.3. Характеристика Нсвоб

- установить в ноль первое адресное поле первого массива свободного блока очереди свободных блоков Освоб с начальным адресом А(N2+2).

D:=D+1

GO TO DISP6