
- •Учебное пособие для лабораторных работ
- •По курсу:
- •Организация эвм и систем
- •Содержание
- •Инструкция по использованию программного обеспечения.
- •Описание языка 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-го варианта:
Исходные данные.
Все возможные варианты разбиты на три группы в соответствии с чем задаются исходные данные.
Для вариантов 1-5 задаются следующие данные:
┌───────────┬──────────────────────────────┬────────────┐
│ Номер │ Исполнительный │ Код │
│ обращения │ адрес │ операции │
│ к памяти ┼───────┬────────────┬─────────┼ │
│ │ адрес │ N сегмента │ N блока │ │
├───────────┼───────┼────────────┼─────────┼────────┬───┤
│ 1 │ 4 │ 0 │ 4 │ запись │ 0 │
│ 2 │ 29 │ 3 │ 5 │ чтение │ 1 │
│ 3 │ 15 │ 1 │ 7 │ запись │ 0 │
└───────────┴───────┴────────────┴─────────┴────────┴───┘
Для вариантов 6-10 задаются следующие данные:
┌───────────┬──────────────────────────────┬────────────┐
│ Номер │ Исполнительный │ Код │
│ обращения │ адрес │ операции │
│ к памяти ┼───────┬────────────┬─────────┼ │
│ │ адрес │ N сегмента │ N блока │ │
├───────────┼───────┼────────────┼─────────┼────────┬───┤
│ 1 │ 10 │ 1 │ 2 │ чтение │ 1 │
│ 2 │ 30 │ 3 │ 6 │ запись │ 0 │
│ 3 │ 19 │ 2 │ 3 │ чтение │ 1 │
└───────────┴───────┴────────────┴─────────┴────────┴───┘
Для вариантов 11-15 задаются следующие данные:
┌───────────┬──────────────────────────────┬────────────┐
│ Номер │ Исполнительный │ Код │
│ обращения │ адрес │ операции │
│ к памяти ┼───────┬────────────┬─────────┼ │
│ │ адрес │ N сегмента │ N блока │ │
├───────────┼───────┼────────────┼─────────┼────────┬───┤
│ 1 │ 21 │ 2 │ 5 │ чтение │ 1 │
│ 2 │ 8 │ 1 │ 0 │ чтение │ 1 │
│ 3 │ 24 │ 3 │ 0 │ запись │ 0 │
└───────────┴───────┴────────────┴─────────┴────────┴───┘
Содержимое ОП и БП различно для каждого варианта.
Содержание отчета.
Формулировка задания.
Исходные данные.
Программа на языке MCL, моделирующая буферную память со сквозной записью.
Результаты выполнения программы в виде распечатки содержимого поля для вывода
текстовой информации и скриншота (пример на рис. 50) в момент завершения выполнения программы.
Пример выполнения программы с признаковым обменом (файл cachesf.Mcl) для 1-го варианта:
Рис. 50. Результат моделирования секторного буфера с признаковым обменом
*******************************************************************
* model' sektornoi KES pamati s priznakovim obmenom *
*******************************************************************
Vvedite nomer varianta :
1
Soderjimoe bufernoi pamati :
Cektor 0 Sektor 1
Blok Izm. Pris. Dannie Izm. Pris. Dannie
0 0 1 4 0 1 12
1 0 1 5 0 1 13
2 0 0 1 0 1 14
3 0 0 2 0 1 15
4 0 0 3 0 1 16
5 0 0 4 0 1 17
6 0 1 10 0 1 18
7 0 1 11 0 1 19
Soderjimoe RNPS:
--------------------------------
! sektor ! segment !
--------------------------------
! 0 ! 0 !
! 1 ! 1 !
--------------------------------
Soderjimoe operativnoi pamati:
Blok # 0 1 2 3 4 5 6 7
Cegment #0 4 5 6 7 8 9 10 11
Cegment #1 12 13 14 15 16 17 18 19
Cegment #2 20 21 22 23 24 25 26 27
Cegment #3 28 29 30 31 32 33 34 35
------------------------------------
! N obras. ! Cisla dla ! N vitesn. !
! ! zapisi ! segmenta !
------------------------------------
! 1 ! 8 ! 0 !
! 2 ! 9 ! 0 !
! 3 ! 10 ! 0 !
------------------------------------
Ispolnitel'nii adres - 4
Blok 4 segmenta 0 otsutstvuet v bufernoi pamati
Ctenie bloka iz operativnoi pamati...
Zapisani dannie 8
Soderjimoe bufernoi pamati :
Cektor 0 Sektor 1
Blok Izm. Pris. Dannie Izm. Pris. Dannie
0 0 1 4 0 1 12
1 0 1 5 0 1 13
2 0 0 1 0 1 14
3 0 0 2 0 1 15
4 1 1 8 0 1 16
5 0 0 4 0 1 17
6 0 1 10 0 1 18
7 0 1 11 0 1 19
Soderjimoe RNPS:
--------------------------------
! sektor ! segment !
--------------------------------
! 0 ! 0 !
! 1 ! 1 !
--------------------------------
Soderjimoe operativnoi pamati:
Blok # 0 1 2 3 4 5 6 7
Cegment #0 4 5 6 7 8 9 10 11
Cegment #1 12 13 14 15 16 17 18 19
Cegment #2 20 21 22 23 24 25 26 27
Cegment #3 28 29 30 31 32 33 34 35
Ispolnitel'nii adres - 29
Segment 3 otsutstvuet v bufernoi pamati
Vitesnenie segmenta 0
Perezapis' bloka 4 segmenta 0 v OP
Blok 5 segmenta 3 otsutstvuet v bufernoi pamati
Ctenie bloka iz operativnoi pamati...
Procitani dannie 33
Soderjimoe bufernoi pamati :
Cektor 0 Sektor 1
Blok Izm. Pris. Dannie Izm. Pris. Dannie
0 0 0 4 0 1 12
1 0 0 5 0 1 13
2 0 0 1 0 1 14
3 0 0 2 0 1 15
4 0 0 8 0 1 16
5 0 1 33 0 1 17
6 0 0 10 0 1 18
7 0 0 11 0 1 19
Soderjimoe RNPS:
--------------------------------
! sektor ! segment !
--------------------------------
! 0 ! 3 !
! 1 ! 1 !
--------------------------------
Soderjimoe operativnoi pamati:
Blok # 0 1 2 3 4 5 6 7
Cegment #0 4 5 6 7 8 9 10 11
Cegment #1 12 13 14 15 16 17 18 19
Cegment #2 20 21 22 23 24 25 26 27
Cegment #3 28 29 30 31 32 33 34 35
Ispolnitel'nii adres - 15
Zapisani dannie 10
Soderjimoe bufernoi pamati :
Cektor 0 Sektor 1
Blok Izm. Pris. Dannie Izm. Pris. Dannie
0 0 0 4 0 1 12
1 0 0 5 0 1 13
2 0 0 1 0 1 14
3 0 0 2 0 1 15
4 0 0 8 0 1 16
5 0 1 33 0 1 17
6 0 0 10 0 1 18
7 0 0 11 1 1 10
Soderjimoe RNPS:
--------------------------------
! sektor ! segment !
--------------------------------
! 0 ! 3 !
! 1 ! 1 !
--------------------------------
Soderjimoe operativnoi pamati:
Blok # 0 1 2 3 4 5 6 7
Cegment #0 4 5 6 7 8 9 10 11
Cegment #1 12 13 14 15 16 17 18 19
Cegment #2 20 21 22 23 24 25 26 27
Cegment #3 28 29 30 31 32 33 34 35
Содержимое таблицы переменных
00 Переменная: ZF типа регистр; разрядность 1 бит; значение = 1
01 Переменная: NF типа регистр; разрядность 1 бит; значение = 0
02 Переменная: CF типа регистр; разрядность 1 бит; значение = 0
03 Переменная: I типа простая переменная; Значение = 4
04 Переменная: J типа простая переменная; Значение = 8
05 Переменная: CHOICE типа простая переменная; Значение = 1
06 Переменная: K типа простая переменная; Значение = 29
07 Переменная: L типа простая переменная; Значение = 3
08 Переменная: OP_CODE типа простая переменная; Значение = 0
09 Переменная: DATA типа простая переменная; Значение = 10
10 Переменная: REPLACE типа простая переменная; Значение = 0
11 Переменная: S_NO типа простая переменная; Значение = 1
12 Переменная: OP типа память; из 32 ячеек по 8 бит
13 Переменная: BP типа память; из 16 ячеек по 10 бит
14 Переменная: ISPADR типа память; из 3 ячеек по 5 бит
15 Переменная: INPUTS типа память; из 3 ячеек по 8 бит
16 Переменная: COPER типа память; из 3 ячеек по 1 бит
17 Переменная: SEG_PRESENT типа память; из 2 ячеек по 2 бит
18 Переменная: REP_SEG типа память; из 3 ячеек по 2 бит
19 Переменная: IADR типа структура; разрядность 5 бит; значение = 15
Поле: BLOK; разярдность 3 бит;
Поле: SEG; разярдность 2 бит;
20 Переменная: BPADR типа структура; разрядность 4 бит; значение = 15
Поле: BLOK; разярдность 3 бит;
Поле: SECT; разярдность 1 бит;
21 Переменная: BUF_REG типа структура; разрядность 10 бит; значение = 778
Поле: DATA; разярдность 8 бит;
Поле: CH_BIT; разярдность 1 бит;
Поле: PRES_BIT; разярдность 1 бит;
22 Переменная: SUBIADR типа структура; разрядность 5 бит; значение = 31
Поле: BLOK; разярдность 3 бит;
Поле: SEG; разярдность 2 бит;
23 Переменная: SUBBPADR типа структура; разрядность 4 бит; значение = 15
Поле: BLOK; разярдность 3 бит;
Поле: SECT; разярдность 1 бит;
24 Переменная: SUBBUF_REG типа структура; разрядность 10 бит; значение = 778
Поле: DATA; разярдность 8 бит;
Поле: CH_BIT; разярдность 1 бит;
Поле: PRES_BIT; разярдность 1 бит;