
- •Учебное пособие для лабораторных работ
- •По курсу:
- •Организация эвм и систем
- •Содержание
- •Инструкция по использованию программного обеспечения.
- •Описание языка 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, моделирующая функционирование селекторного канала.
Результаты выполнения программы в виде распечатки содержимого поля для вывода
текстовой информации и скриншота в момент завершения выполнения программы.
Пример результатов моделирования работы селекторного канала.
Рассмотрим результат моделирования селекторного канала в соответствии с заданием для варианта N19. Распечатка результатов моделирования имеет вид:
ВАРИАНТ НОМЕР 19
АДРЕС ПЕРВОЙ КАН. КОМАНДЫ 0001F8
КАНАЛЬНАЯ ПРОГРАММА:
01 000014 6000 0006
02 000038 2000 0003
СОДЕРЖИМОЕ ЯЧЕЕК ОП:
000014 00 * 000015 00 * 000016 00 * 000017 00 *
000018 00 * 000019 00 * 00001A 00 * 00001B 00 *
000038 05 * 000039 FC * 00003A F3 * 00003B EA *
00003C E1 * 00003D D8 * 00003E CF * 00003F C6 *
ЧИСЛА, СЧИТЫВАЕМЫЕ С ВУ:
03 46 89 CC 0F 52
**************************************************
RAKK=0001F8
РКК СЧ.БАЙТ РДК РДУ РАКК
01 000014 6000 0006 0 00 00 00 00 00 000200
РKK СЧ.БАЙТ РДК РДУ РАКК
01 000015 6000 0005 1 03 00 00 00 03 000200
РKK СЧ.БАЙТ РДК РДУ РАКК
01 000016 6000 0004 2 03 46 00 00 46 000200
РKK СЧ.БАЙТ РДК РДУ РАКК
01 000017 6000 0003 3 03 46 89 00 89 000200
РKK СЧ.БАЙТ РДК РДУ РАКК
01 000018 6000 0002 0 03 46 89 CC CC 000200
СОДЕРЖИМОЕ ЯЧЕЕК ОП:
000014 03 * 000015 46 * 000016 89 * 000017 CC *
000018 00 * 000019 00 * 00001A 00 * 00001B 00 *
000038 05 * 000039 FC * 00003A F3 * 00003B EA *
00003C E1 * 00003D D8 * 00003E CF * 00003F C6 *
РKK СЧ.БАЙТ РДК РДУ РАКК
01 000019 6000 0001 1 0F 46 89 CC 0F 000200
РKK СЧ.БАЙТ РДК РДУ РАКК
01 00001A 6000 0000 2 0F 52 89 CC 52 000200
СОДЕРЖИМОЕ ЯЧЕЕК ОП:
000014 03 * 000015 46 * 000016 89 * 000017 CC *
000018 0F * 000019 52 * 00001A 00 * 00001B 00 *
000038 05 * 000039 FC * 00003A F3 * 00003B EA *
00003C E1 * 00003D D8 * 00003E CF * 00003F C6 *
РKK СЧ.БАЙТ РДК РДУ РАКК
02 000038 2000 0003 0 05 FC F3 EA 52 000208
РКК СЧ.БАЙТ РДК РДУ РАКК
02 000039 2000 0002 1 05 FC F3 EA 05 000208
РKK СЧ.БАЙТ РДК РДУ РАКК
02 00003A 2000 0001 2 05 FC F3 EA FC 000208
РKK СЧ.БАЙТ РДК РДУ РАКК
02 00003B 2000 0000 3 05 FC F3 EA F3 000208
Данная канальная программа состоит из 2-х канальных команд. Первая из них хранится в ОП, начиная с адреса 0001F8, а второе - с 000200 (определяется как 0001F8+8, т.к. длина одной команды равна 8 байт).
В начале в РАКК помещается адрес первой канальной команды, по которому из ОП выбирается первая канальная команда и помещается на РКК. Т.к. ширина выборки ОП равна 4, то канальная команда выбирается из ОП за 2 обращения. После каждого обращения в ОП при выборке канальной команды РАКК увеличивается на 4.
После выборки команды из ОП анализируется ее поле кода операции (РКК.КОП). Первая команда оказалась командой чтения, поэтому с ВУ (РДУ) начинается побайтно считываться информация на РДК. При передаче каждого байта на РДК значение СБ и РКК.ДЛМ увеличивается на 1, а РКК.ДЛМ - уменьшается на 1. После передачи 4-х байт информации СБ стал равен 0, что означает, что РДК полностью заполнен. При этом на регистр РАП помещается содержимое поля РКК.АДР и в соответствии со значением его старшей части происходит перепись полученной информации из РДК через БР в ОП. Затем в РДК начинает поступать следующая порция информации. После передачи очередных 2-х байт из ВУ РКК.ДЛМ стало равным 0, что означает, что массив информации из ВУ полностью передан. Поэтому на РАП помещается содержимое поля РКК.АДР и в соответствии со значением его старшей части происходит перепись содержимого РДК в ОП (через БР ), при этом значение СБ указывает, сколько байт передается в ОП (сколько байт на РЧП нужно изменить). После записи информации в ОП СБ обнуляется.
Затем анализируется поле признаков РКК.ПРЗ - в данном случае признак "цепочка команд", поэтому выбирается из ОП и помещается на РКК следующая канальная команда и при этом поле РКК.КОП изменяется. Вторая канальная команда оказалась командой записи, поэтому в РАП загружается значение РКК.АДР и из ОП на РДК через БР поступает порция информации, равная ширине выборки ОП. Затем начинается побайтное считывание информации с РДК на ВУ (РДУ). При передаче каждого байта, как и при операции "чтение", увеличивается на 1 значение СБ и РКК.АДР и уменьшается. на 1 значение РКК.ДЛМ. После передачи 3-х байт с РДК на РДУ, РКК.ДЛМ стало равно 0. Это означает, что весь массив информации записан на ВУ. При анализе поля признаков РКК.ПРЗ выясняется, что данная канальная команда была последней. На этом моделирование завершается.