
- •Учебное пособие для лабораторных работ
- •По курсу:
- •Организация эвм и систем
- •Содержание
- •Инструкция по использованию программного обеспечения.
- •Описание языка mcl.
- •1. Описание языка mcl.
- •2. Алфавит.
- •7. Операции и выражения. Побитовые операции:
- •Операции сдвига:
- •8. Приоритеты и порядок выполнения операций:
- •9. Арифметические преобразования в выражениях.
- •10. Типы языка mcl.
- •11. Переменные языка mcl.
- •12. Операторы языка mcl. Оператор - формат:
- •Оператор - метка:
- •Оператор - безусловный переход: goто
- •Оператор - вызов подпрограммы: gosub
- •Оператор - возврат из подпрограммы: return
- •Оператор - условный оператор: if then
- •Оператор - оператор цикла: for to next
- •Оператор - пауза: pause
- •Оператор - вывод: write writeln
- •Оператор – ввод: read
- •14. Общие замечания.
- •Арифметико-логические устройства эвм и принципы их функционирования.
- •Лабораторная работа № 1. Моделирование функционирования алу при выполнении операции сложения/вычитания. Цель работы:
- •Алгоритм алгебраического сложения/вычитания двоичных чисел с фиксированной запятой при использовании дополнительного кода для представления слагаемых.
- •Моделирование функционирования алу.
- •Проверка на переполнение
- •Результат работы программы:
- •Контрольные вопросы.
- •Содержание отчета.
- •Варианты заданий.
- •Алгоритм умножения двоичных чисел с фиксированной запятой, представленных в дополнительном коде.
- •Моделирование функционирования алу при выполнении операции умножения чисел, представленных в прямом коде.
- •Моделирование функционирования алу при выполнении операции умножения чисел, представленных в дополнительном коде.
- •Контрольные вопросы.
- •Содержание отчета.
- •Варианты заданий.
- •Моделирование функционирования алу при выполнении операции деления методом с восстановлением остатка над числами, представленными в прямом коде.
- •2. Моделирование функционирования алу при выполнении операции деления методом без восстановления остатка над числами, представленными в прямом коде.
- •Контрольные вопросы.
- •Содержание отчета.
- •Варианты заданий.
- •Организация операционной части центрального процессора. Команды эвм.
- •Одноадресные команды.
- •Безадресные команды.
- •Способы адресации.
- •Микропрограмма и структурная схема операционной части цп при выполнении двухадресной команды формата регистр-регистр.
- •Примечания:
- •На рисунке 28 слева на графике расставлены вентили, которые в данной лабораторной работе не используются (они нужны для моделирования блока устройства управления);
- •Задание для выполнения лабораторной работы.
- •Содержание отчета.
- •Поэтапное выполнение программы (см. Файл буу.Mcl):
- •Примечание:
- •Задание для выполнения лабораторной работы.
- •Варианты заданий.
- •Лабораторная работа № 6. Моделирование функционирования селекторного канала.
- •Файл sk.Mcl.
- •Описание подпрограмм для моделирования селекторного канала, хранящихся в файле sk.Mcl. Подпрограмма k_u_k:
- •Подпрограмма w_reg:
- •Подпрограмма out_op:
- •Подпрограмма in_op:
- •Подпрограмма к_ор:
- •Подпрограмма w_op:
- •Подпрограмма z_rdu:
- •Подпрограмма zagr:
- •Задание.
- •Содержание отчета.
- •Пример результатов моделирования работы селекторного канала.
- •Варианты заданий для моделирования селекторного канала. Вариант номер 1
- •Вариант номер 2
- •Вариант номер 3
- •Вариант номер 4
- •Вариант номер 5
- •Вариант номер 6
- •Вариант номер 7
- •Вариант номер 8
- •Вариант номер 9
- •Вариант номер 10
- •Вариант номер 11
- •Вариант номер 12
- •Вариант номер 13
- •Вариант номер 14
- •Вариант номер 15
- •Лабораторная работа № 7. Моделирование функционирования мультиплексного канала.
- •Файл mk.Mcl.
- •Описание подпрограмм для моделирования мультиплексного канала, хранящихся в файле мk.Mcl. Подпрограммы k_u_k, оut_op, in_op и k_op:
- •Подпрограмма w_op:
- •Подпрограмма act:
- •Подпрограмма pas:
- •Подпрограмма w_pk:
- •Подпрограмма zagr2:
- •Задание.
- •Содержание отчета.
- •Пример результатов моделирования работы мультиплексного канала.
- •Варианты заданий для моделирования мультиплексного канала. Вариант номер 1
- •Вариант номер 2
- •Вариант номер 3
- •Вариант номер 4
- •Вариант номер 5
- •Вариант номер 6
- •Вариант номер 7
- •Вариант номер 8
- •Вариант номер 9
- •Вариант номер 10
- •Вариант номер 11
- •Вариант номер 12
- •Лабораторная работа № 8. Моделирование буферной памяти с признаковым обменом и сквозной записью. Сверхбыстродействующая кэш-память и ее моделирование.
- •Моделирование функционирования секторного буфера.
- •Выполнение работы.
- •Типы, используемые подпрограммами.
- •Используемые подпрограммы.
- •Исходные данные.
- •Содержание отчета.
- •Пример выполнения программы с признаковым обменом (файл cachesf.Mcl) для 1-го варианта:
- •Варианты заданий. Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Лабораторная работа № 9. Моделирование буферной памяти с признаковым обменом и сквозной записью. Моделирование функционирования группо-ассоциативного буфера.
- •Выполнение работы.
- •Типы, используемые подпрограммами.
- •Содержание отчета.
- •Пример выполнения программы с признаковым обменом (файл cacheaf.Mcl) для 1-го варианта:
Выполнение работы.
Работа буфера моделируется на уровне блоков, т.е. адрес ячейки в блоке не используется. Требуется написать программу моделирования буферной памяти со сквозной записью, моделирующую три обращения к памяти. В качестве примера в данном описании приводится текст программы моделирования буферной памяти с признаковым обменом. Соответствующая MCL-программа находится в рабочей директории и имеет имя CACHEAF.MCL.
В программе моделирования буферной памяти с признаковым обменом описаны следующие типы (см. программу).
Типы, используемые подпрограммами.
mem op[32][8] - оперативная память 32 слова по 8 бит
mem bp[16][11] - буферная память 16 слов по 11 бит, при этом 8 бит - данные, 1 бит изменения и 2 бита - адресная часть указывающая какому сегменту принадлежит данный блок. Для работы со словом БП необходимо считать его в структуру BUF_REG[11] (см. ниже)
mem ispadr[3][5] - память иcполнительных адpеcов, содержит три исполнительных адреса
mem inputs[3][8] - чиcла для запиcи, содержит 3 числа записываемых в память
mem coper[3][1] - память кодов опеpации, содержит 3 кода операции (1-чтение, 0-запись)
mem rep_seg[3][2] - вытеcняемый сегмент, содержит номера сегментов, вытесняемых из БП при замещении
struct iadr[5] адрес ячейки ОП 32 cлова
blok[3], номер блока, всего 8 блоков
seg [2]; номер сегмента, всего 4 сегмента
В данную структуру считывается исполнительный адрес из памяти, что позволяет различать в нем номера блока и сегмента.
struct bpadr[4] адрес ячейки БП 16 cлов
blok[3], номер блока, всего 8 блоков
sect[1]; номер сектора, всего 2 сектора
Данной структуре присваивается адрес буферной памяти, что позволяет различать в нем номера блока и сегмента.
struct buf_reg[11] структура слова буферной памяти
data[8], данные
ch_bit[1], бит изменения
address[2]; адресная часть
В эту структуру считывается слово БП при любой обработке, что позволяет различать в нем биты присутствия, изменения и собственно данные.
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, 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_DOP - подпрограмма печати чисел заданных для записи и номеров вытесняемых сегментов, используется подпрограммами FIRST, SECOND и THIRD.
Типы, описанные в данном файле, полностью идентичны типам описанным в программе моделирования БП с признаковым обменом. Отличием является отсутствие поля CH_BIT[1] - бит изменения, структуры BUF_REG. Соответственно иначе описана и память BP. Так же отсутствуют описания переменных используемых собственно в программе моделирования, которые вводятся по усмотрению студентов. Подпрограммы имеющиеся в файле, имеют те же имена и назначение, что и в описанной выше программе.
Исходные данные:
Все возможные варианты разбиты на три группы в соответствии с чем задаются исходные данные.
Для вариантов 1-5 задаются следующие данные:
------------T------------------------------T------------¬
¦ Номер ¦ Исполнительный ¦ Код ¦
¦ обращения ¦ адрес ¦ операции ¦
¦ к памяти +-------T------------T---------+ ¦
¦ ¦ адрес ¦ N сегмента ¦ N блока ¦ ¦
+-----------+-------+------------+---------+--------T---+
¦ 1 ¦ 4 ¦ 0 ¦ 4 ¦ запись ¦ 0 ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ 2 ¦ 28 ¦ 3 ¦ 4 ¦ чтение ¦ 1 ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ 3 ¦ 22 ¦ 2 ¦ 6 ¦ запись ¦ 0 ¦
L-----------+-------+------------+---------+--------+----
Для вариантов 6-10 задаются следующие данные:
------------T------------------------------T------------¬
¦ Номер ¦ Исполнительный ¦ Код ¦
¦ обращения ¦ адрес ¦ операции ¦
¦ к памяти +-------T------------T---------+ ¦
¦ ¦ адрес ¦ N сегмента ¦ N блока ¦ ¦
+-----------+-------+------------+---------+--------T---+
¦ 1 ¦ 10 ¦ 1 ¦ 2 ¦ чтение ¦ 1 ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ 2 ¦ 30 ¦ 3 ¦ 6 ¦ запись ¦ 0 ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ 3 ¦ 6 ¦ 0 ¦ 6 ¦ чтение ¦ 1 ¦
L-----------+-------+------------+---------+--------+----
Для вариантов 11-15 задаются следующие данные:
------------T------------------------------T------------¬
¦ Номер ¦ Исполнительный ¦ Код ¦
¦ обращения ¦ адрес ¦ операции ¦
¦ к памяти +-------T------------T---------+ ¦
¦ ¦ адрес ¦ N сегмента ¦ N блока ¦ ¦
+-----------+-------+------------+---------+--------T---+
¦ 1 ¦ 8 ¦ 1 ¦ 0 ¦ запись ¦ 0 ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ 2 ¦ 26 ¦ 3 ¦ 2 ¦ запись ¦ 0 ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ 3 ¦ 10 ¦ 1 ¦ 2 ¦ чтение ¦ 1 ¦
L-----------+-------+------------+---------+--------+----
Содержимое ОП и БП различно для каждого варианта.