Архитектура ЭВМ_ЛР (560335)
Текст из файла
5
Архитектура ЭВМ.
Лабораторные работы.
Введение.
Д
ля выполнения лабораторных работ будет использована программная модель ЭВМ, которая была разработана Жемакиным А.П.[1]. Эта модель позволяет реализовать доступ к различным элементам ЭВМ. На рис.1 представлено главное окно этой программы.
Окно Процессор обеспечивает доступ ко всем регистрам и флагам процессора.
Программно-доступные регистры и флаги:
-
Acc – аккумулятор;
-
PC – счетчик адреса текущей команды;
-
SP – указатель стека;
-
RB – регистр базового адреса;
-
RA – регистр адреса, содержащий исполнительный адрес при косьвенной адресации;
-
IR – входной регистр;
-
OR – выходной регистр;
-
I - флаг разрешения прерываний.
Системные регистры и флаги:
-
DR – регистр данных АЛУ, содержащий второй операнд;
-
MDR – регистр данных ОЗУ;
-
MAR – регистр адреса ОЗУ;
-
RDR – регистр данных блока РОН;
-
RAR – регистр адреса блока РОН;
-
CR – регистр команд, содержащий поля:
-
COP – код операции;
-
TA - тип адресации
-
ADR – адрес или непосредственный операнд.
-
Z – флаг нулевого значения Acc;
S – флаг отрицательного значения Acc;
OV – флаг переплнения
Кнопка R (Reset) устанавливает все регистры в начальное (нулевое) значение.
Окно Текст программы представляет собой окно текстового редактора, в котором можно редактировать тексты программ, загужать в него текстовые файлы и сохранять подготовленный текст в виде файла.
В этом окне присутствует кнопка Компилировать, которая запускает процедуру ассемблирования текста программы. При обнаружении синтаксических ошибок информация о них выводится в окно Сообщения.
Внимание! Откомпилированная программа размещается, начиная с адреса 000. Данные надо располагать в памяти так, чтобы они не пересекались с кодом программы.
Рис.2
Выполнение программы осуществляется нажатием на кнопку Пуск. На рис.2 представлены результаты выполнения программы сложения чисел 5 и 7, которые располагаются в ячейках памяти с адресами 070 и 071. Результат выполнения программы, число 12 записывается в ячейку ОП с адресом 072. Описание этой программы содержится в таблице 1.
Таблица1.
| Адрес | Команда | Комментарий |
| 000 | rd 070 | Загрузка в аккумулятор первого числа. |
| 001 | wr R1 | Запись первого числа в регистр R1 |
| 002 | rd 071 | Загрузка в аккумулятор второго числа |
| 003 | add r1 | Сложение чисел, результат в аккумуляторе |
| 004 | wr 072 | Запись результата в ОЗУ |
| 005 | hlt | Стоп |
Таблица 2. Система команд.
| №п/п | Мнемокод | Название |
| 00 | NOP | Пустая операция |
| 01 | IN | Ввод |
| 02 | OUT | Вывод |
| 03 | RET | Возврат из подпрограммы |
| 04 | HLT | Стоп |
| 05 | JMP | Безусловный переход |
| 06 | JZ | Переход, если 0. |
| 07 | JNZ | Переход, если не 0 |
| 08 | JS | Переход, если отрицательно |
| 09 | JNS | Переход, если положительно |
| 10 | JO | Переход, если переполнение |
| 11 | JNO | Переход, если нет переполнения |
| 12 | CALL | Вызов п/п |
| 13 | RD | Чтение (в аккумулятор) |
| 14 | WR | Запись (из аккумулятора) |
| 15 | ADD | Сложение |
| 16 | SUB | Вычитание |
| 17 | MUL | Умножение |
| 18 | DIV | Деление |
| 19 | ADI | Сложение с данными |
| 20 | SBI | Вычитание с данными |
| 21 | MULI | Умножение с данными |
| 22 | DIVI | Деление с данными |
| 23 | MOV | Пересылка R1← R2 |
Таблица 3. Типы адресации
| Обозначение | Код | Тип адресации | Пример |
| 0 | Прямая (регистровая) | ADD 23 (ADD R3) | |
| # | 1 | Непосредственная | ADD #33 |
| @ | 2 | Косвенная | ADD @33 |
| @R | 3 | Косвенно - регистровая | ADD @R3 |
Задание 1.
Ввести в окно Текст программы, программу представленную в таблице 1. Выполнить ее, проанализировать полученные результаты.
Программирование разветвляющихся процессов.
Для реализации алгоритмов, пути выполнения которых зависят от исходных данных, используются команды условной передачи управления. В качестве примера рассмотрим программу вычисления функции.
| Y={ | (x-11)2-125 при х>=16 |
| x2+72x-680 при х<16 |
| Адрес | Команда | Примечание |
| 000 | IN | Ввод х |
| 001 | WR 30 | Запись х в ячейку 30 |
| 002 | SUB #16 | Сравнение х с границей (16) |
| 003 | JS 010 | Переход по отрицательной разности |
| 004 | RD 30 | Загрузка в аккумулятор х |
| 005 | SUB #11 | Х-11 |
| 006 | WR 31 | Запись х -11 в ячейку 31 |
| 007 | MUL 31 | (х-11)2 |
| 008 | SUB #125 | (х-11)2-125 |
| 009 | JMP 017 | Переход на вывод результата |
| 010 | RD 30 | Загрузка в аккумулятор х |
| 011 | MUL 30 | Х2 |
| 012 | WR 31 | Запись Х2 в ячейку 31 |
| 013 | RD 30 | Загрузка в аккумулятор х |
| 014 | MUL #72 | 72*Х |
| 015 | ADD 31 | Х2+72*Х |
| 016 | ADI 10680 | Х2+72*Х-680 |
| 017 | OUT | Вывод результата в регистр OR |
| 018 | HLT | Стоп |
Задание 2.
Разработать программу вычисления функции в соответствии с заданным вариантом.
| 1. Y={ | x2-5(x+7)+55 x>=10 | 5. Y={ | (3x-7)2 +5x-12 x>=10 |
| 15x-(x-5)2 x<10 | 3x2-12x x<10 | ||
| 2. Y={ | 250- x2+ 12x x>=10 | 6 Y={ | 5x2+6(x+5)-25 x>=10 |
| 12(x2-7)2 x<10 | (x-3)2-12x+30 x<10 | ||
| 3. Y={ | 2x2-7x+12 x>=10 | 7. Y={ | 8(x-2)2-5x+10 x>=10 |
| (x+6)2+120 x<10 | 5x2+4(x+3)-25 x<10 | ||
| 4. Y={ | x2+5(x+12) x>=10 | 8. Y={ | 6(x+1)2-5x+12 x>=10 |
| 3x2-5(x+12)+10 x<10 | 2x2-9(x-3)+31 x<10 |
Программирование циклических процессов.
При решении задач, связанных с обработкой массивов, возникает необходимость изменения исполнительного адреса при повторном выполнении некоторой последовательности команд.
Эта задача может быть решена путем использования косвенной адресации. В качестве примера рассмотрим программу суммирования последовательности чисел
| Адрес | Команда | Примечание |
| 000 | rd #3 | Загрузка в аккумулятор числа повторений цикла |
| 001 | wr r2 | Запись числа повторений цикла в регистр R2 |
| 002 | rd #070 | Загрузка в аккумулятор адреса первого числа |
| 003 | wr r1 | Запись адреса первого числа в регистр R1 |
| 004 | rd #0 | Загрузка в аккумулятор начального значения суммы S=0 |
| 005 | wr r3 | Запись начального значения суммы в регистр R3 |
| 006 | m1:rd @r1 | Загрузка в аккумулятор очередного числа |
| 007 | add r3 | Добавление к текущей сумме очередного числа |
| 008 | wr r3 | Запись текущего значения суммы в регистр R3 |
| 009 | rd r1 | Загрузка в аккумулятор адреса очередного числа |
| 010 | add #1 | Увеличение на 1 адреса очередного числа |
| 011 | wr r1 | Запись адреса очередного числа в регистр R1 |
| 012 | rd r2 | Загрузка в аккумулятор оставшегося числа повторений цикла |
| 013 | sub #1 | Уменьшение на 1оставшегося числа повторений цикла |
| 014 | wr r2 | Запись в R2 оставшегося числа повторений цикла |
| 015 | jnz m1 | Проверка оставшегося числа повторений цикла(R2), и если R2<>0 переход на метку M1 |
| 016 | rd r3 | Загрузка в аккумулятор полученного значения суммы S |
| 017 | wr 080 | Запись результата в ОЗУ |
| 018 | hlt | Стоп |
Задание 3.
| Вариант | Задание |
| 1 | Количество четных чисел |
| 2 | Значение и порядковый номер минимального числа |
| 3 | Сумму нечетных чисел |
| 4 | Значение и номер первого числа >10 |
| 5 | Количество чисел <10 |
| 6 | Сумму чисел >10 |
| 7 | А1-А2+А3-А4+А5……. |
| 8 | Значение и порядковый номер максимального числа |
Задание 4. Решить задачу из Задания 3 для обработки 2х массивов с использованием подпрограммы, с записью полученного результата в ячейку, следующую за последним элементом массива.
Литература.
Жемакин А.П. Архитектура ЭВМ. СПБ.: БХВ - Петербург, 2006.-320с.
16>10>10>10>10>10>10>10>10>10>Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.













