Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учеб. пособие по ОЭВМ.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
4.34 Mб
Скачать

Выполнение работы.

Работа буфера моделируется на уровне блоков, т.е. адрес ячейки в блоке не используется. Требуется написать программу моделирования буферной памяти со сквозной записью, моделирующую три обращения к памяти. В качестве примера в данном описании приводится текст программы моделирования буферной памяти с признаковым обменом. Соответствующая MCL-программа находится в рабочей директории и имеет имя CACHESF.MCL.

В программе моделирования буферной памяти с признаковым обменом описаны следующие типы (см. программу).

Типы, используемые подпрограммами.

mem op[32][8] - оперативная память 32 слова по 8 бит

mem bp[16][10] - буферная память 16 слов по 10 бит, при этом 8 бит - данные, 1 бит изменения и 1 бит присутствия. Для работы со словом БП необходимо считать его в структуру BUF_REG[10] (см. ниже)

mem ispadr[3][5] - память исполнительных адресов, содержит три исполнительных адреса

mem inputs[3][8] - числа для записи, содержит 3 числа записываемых в память

mem coper[3][1] - память кодов операции, содержит 3 кода операции (1-чтение, 0-запись)

mem seg_present[2][2] - регистры номеров присутствующих сегментов (два регистра по количеству секторов)

mem rep_seg[3][2] - вытесняемый сегмент, содержит номера сегментов, вытесняемых из БП при замещении

struct iadr[5] - адрес ячейки ОП 32 слова

blok[3], номер блока, всего 8 блоков.

seg [2]; номер сегмента, всего 4 сегмента.

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

struct bpadr[4] адрес ячейки БП 16 слов

blok[3], номер блока, всего 8 блоков.

sect[1]; номер сектора, всего 2 сектора.

Данной структуре присваивается адрес буферной памяти, что позволяет различать в нем номера блока и сегмента.

struct buf_reg[10] структура слова буферной памяти

data[8], данные

ch_bit[1], бит изменения

pres_bit[1]; бит наличия

В эту структуру считывается слово БП при любой обработке, что позволяет различать в нем биты присутствия, изменения и собственно данные.

var i, j, вспомогательная переменная

choice, номер варианта

Переменные используемые в программе моделирования работы БП:

k, l, вспомогательная переменная

s_no; номер сектора, содержащего необходимый сегмент

Следующие переменные используются для упрощения. В них считываются соответственно значения coper, inputs, и rep_seg для данного обращения к памяти:

op_code, код операции

data, данные

replace, номер замещаемого сегмента

Используемые подпрограммы.

1. VARIANT - подпрограмма задания исходных данных по варианту и их

распечатка. При исполнении подпрограммы на экран выводится сообщение:

Введите номер варианта:

после чего необходимо ввести номер варианта от 1 до 15 включительно. При этом подпрограммой задаются начальные значения следующих описанных выше типов:

op, bp, ispadr, inputs, coper, seg_present, rep_seg.

Исходные данные заданы таким образом, что элементы массивов ispadr, inputs, coper и rep_seg с одинаковым индексом относятся к одному обращению к памяти. То есть если первое обращение к памяти - чтение, а второе запись, то inputs[1] не используется вообще, а во втором обращении используются сразу inputs[2]. Значения исходных данных см. ниже.

2. FIRST, SECOND, THIRD - данные подпрограммы используются исключительно подпрограммой VARIANT.

3. PRINT_BP - подпрограмма печати содержимого буферной памяти.

4. PRINT_BR - подпрограмма печати содержимого буферного регистра, используется исключительно подпрограммой PRINT_BP.

5. PRINT_OP - подпрограмма печати содержимого оперативной памяти.

6. PRINT - подпрограмма печати чисел заданных для записи и номеров вытесняемых сегментов, используется подпрограммами FIRST, SECOND и THIRD.

Типы, описанные в данном файле, полностью идентичны типам описанным в программе моделирования БП с признаковым обменом. Отличием является отсутствие поля CH_BIT[1] - бит изменения, структуры BUF_REG. Соответственно иначе описана и память BP. Так же отсутствуют описания переменных используемых собственно в программе моделирования, которые вводятся по усмотрению студентов. Подпрограммы имеющиеся в файле, имеют те же имена и назначение, что и в описанной выше программе.