- •«Кузбасский государственный технический университет
- •1. Описание цикла лабораторных работ
- •2. Описание архитектуры учебной эвм
- •2.1. Программные модели для изучения архитектуры эвм
- •2.2 Структура учебной эвм
- •2.3. Представление данных в модели
- •2.4. Система команд учебной эвм
- •2.5. Состояния и режимы работы учебной эвм
- •2.6. Интерфейс пользователя
- •2.7. Микрокомандный уровень учебной эвм
- •2.8. Внешние устройства
- •2.8.1 Общая характеристика моделей внешних устройств
- •2.8.2 Контроллер клавиатуры
- •2.8.3. Дисплей
- •2.8.4. Блок таймеров
- •2.8.5. Тоногенератор
- •2.8.6. Блок индикаторов
- •2.9. Подсистема прерываний
- •2.9. Программная модель кэш-памяти
- •2.10. Программная модель alu-1
- •2.10.1. Общие сведения о программной модели alu-1
- •2.10.2. Операционный автомат
- •2.10.3. Регистры операционного автомата
- •2.10.4. Арифметико-логический блок
- •2.10.5. Блок сдвигателя
- •2.10.6. Счетчик
- •2.10.7. Микрооперации и логические условия
- •2.10.8. Управляющий автомат с программируемой логикой (уапл)
- •3. Лабораторные работы
- •3.1. Лабораторная работа № 1. Основы работы с программной моделью учебной эвм
- •3.1.1. Цель работы
- •3.1.2. Общие положения
- •3.1.3. Последовательность выполнения работы
- •3.1.4. Варианты заданий
- •3.1.5. Пример выполнения работы
- •3.1.6. Содержание отчета
- •3.2.3. Последовательность выполнения работы
- •3.2.4. Варианты заданий
- •3.2.5. Пример выполнения работы
- •3.2.6. Содержание отчета
- •3.3.3. Последовательность выполнения работы
- •3.3.4. Варианты заданий
- •3.3.5. Пример выполнения работы
- •3.3.6. Содержание отчета
- •3.3.7. Задания повышенной сложности
- •3.3.8. Контрольные вопросы
- •3.4. Лабораторная работа №4. Подпрограммы и стек
- •3.4.1. Цель работы
- •3.4.2. Общие положения
- •3.4.3. Последовательность выполнения работы
- •3.4.4. Варианты заданий
- •3.4.5. Пример выполнения работы
- •3.4.6. Содержание отчета
- •3.5.5 Пример выполнения работы
- •3.5.4 Варианты заданий
- •3.5.5 Пример выполнения работы
- •3.5.6. Содержание отчета
- •3.5.7. Задания повышенной сложности
- •3.5.8. Контрольные вопросы
- •3.6. Лабораторная работа №6. Программирование внешних устройств
- •3.6.1. Цель работы
- •3.6.2. Общие положения
- •3.6.3. Последовательность выполнения работы
- •3.6.4. Содержание отчета
- •3.6.5. Варианты заданий
- •3.6.6. Пример выполнения работы
- •3.6.7. Задания повышенной сложности
- •3.6.8. Контрольные вопросы
- •3.7. Лабораторная работа №7. Принципы работы кэш-памяти
- •3.7.1. Цель работы
- •3.7.2. Общие положения
- •3.7.3. Последовательность выполнения работы
- •3.7.4. Содержание отчета
- •3.7.5. Варианты заданий
- •3.7.6. Контрольные вопросы
- •Рекомендуемая литература
- •Лабораторный практикум по архитектуре эвм и систем
- •230201 «Информационные системы и технологии»
3.3.3. Последовательность выполнения работы
Данная лабораторная работа предполагает выполнение следующих этапов:
1) написать программу определения заданной характеристики последовательности чисел С1, С2, … , Сn (табл. 3.7);
2) записать программу в мнемокодах, введя ее в поле окна Текст программы;
3) сохранить набранную программу в виде текстового файла и произвести ассемблирование мнемокодов;
4) загрузить в ОЗУ необходимые константы и исходные данные;
5) отладить программу;
6) оформить и защитить отчет по лабораторной работе.
3.3.4. Варианты заданий
Таблица 3.7
Варианты задания
Номер варианта |
Характеристика последовательности чисел С1, С2, … , Сn |
1 |
Количество четных чисел |
2 |
Номер минимального числа |
3 |
Произведение всех нечетных чисел |
4 |
Номер последнего отрицательного числа |
5 |
Количество чисел, равных введенному в IR |
6 |
Количество отрицательных чисел |
7 |
Максимальное отрицательное число |
8 |
Номер последнего положительного числа |
9 |
Минимальное положительное число |
10 |
Номер максимального числа |
11 |
Количество нечетных чисел |
12 |
Количество чисел, меньших введенного в IR |
13 |
Разность сумм четных и нечетных элементов массивов |
14 |
Отношение сумм четных и нечетных элементов массивов |
Под четными (нечетными) элементами массивов понимаются элементы массива, имеющие четные (нечетные) индексы. Четные числа – элементы массивов, делящиеся без остатка на 2.
3.3.5. Пример выполнения работы
Пусть требуется разработать программу вычисления суммы элементов массива чисел С1, С2, … , Сn. Исходными данными в этой задаче являются: n – количество суммируемых чисел и С1, С2, … , Сn – массив суммируемых чисел. При этом должно выполняться условие n > 1, так как алгоритм предусматривает, по крайней мере, одно суммирование. Кроме того, предполагается, что суммируемые числа записаны в ОЗУ подряд (в ячейки памяти с последовательными адресами). Результатом является сумма S.
Составим программу для вычисления суммы со следующими параметрами: число элементов массива – 10, элементы массива расположены в ячейках ОЗУ по адресам 040, 041, … , 049. Используемые для решения задачи промежуточные переменные имеют следующий смысл: Ai – адрес числа Ci, i = 1, 2, … , 10; М(Ai) – число по адресу Ai, S – текущая сумма; k – счетчик цикла, определяющий число повторений тела цикла.
Примем следующее распределение памяти. Программу разместим в ячейках ОЗУ, начиная с адреса 000, примерная оценка объема программы – 20 команд; промежуточные переменные: Ai – в ячейке ОЗУ с адресом 030, k – по адресу 031, S – по адресу 032.
Граф-схема алгоритма решения задачи показана на рис. 3.3, а текст программы с комментариями приведен в табл. 3.8.
Рис. 3.3. Граф-схема алгоритма
Таблица 3.8
Текст программы с комментариями
-
Адрес
Команда
Примечание
000
RD #40
Загрузка начального адреса массива 040 в ячейку 030
001
WR 30
002
RD #10
Загрузка параметра цикла k=10 в ячейку 031
003
WR 31
004
RD #0
Загрузка начального значения суммы S=0 в ячейку 032
005
WR 32
006
M1: RD 32
Добавление к текущей сумме очередного элемента массива
007
ADD @30
008
WR 32
009
RD 30
Модификация текущего адреса массива (переход к следующему адресу)
010
ADD #1
011
WR 30
012
RD 31
Уменьшение счетчика (параметра цикла) на 1
013
SUB #1
014
WR 31
015
JNZ M1
Проверка параметра цикла и переход при k ≠ 0
016
RD 32
Вывод результата
017
OUT
018
HLT
Стоп