Методические указания к лабораторной работе CUU-2016
Описание файла
Документ из архива "Методические указания к лабораторной работе CUU-2016", который расположен в категории "". Всё это находится в предмете "вычислительные сети и системы" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "вычислительные средства асоиу" в общих файлах.
Онлайн просмотр документа "Методические указания к лабораторной работе CUU-2016"
Текст из документа "Методические указания к лабораторной работе CUU-2016"
МГТУ им. Н.Э.Баумана
Методические указания по выполнению лабораторных работ на эмуляторе CUU-2016
по курсу «Вычислительные средства АСОИУ»
2016
Оглавление
1. Теоретическая часть. 2
1.1. Используемые обозначения. 2
1.2. Введение. 2
1.3. Состав ЦУУ. 3
1.4. Машинные команды. 4
1.5. Условия перехода. 7
1.6. Микрооперации. 8
2. Работа с макетом. 10
2.1 Запуск макета. 10
2.2 Начало работы. 10
2.3 Создание нового файла. 10
2.4 Открытие существующего файла. 10
2.5 Сохранение файла. 11
2.6 Работа с таблицей переходов. 12
2.7 Работа с ОП. 12
2.8 Выполнение программы. 13
2.9 Выход. 13
3. Порядок выполнения работы. 14
4. Варианты. 17
5. Примеры. 20
1. Теоретическая часть.
1.1. Используемые обозначения.
ОП – оперативная память.
КОП – код операции.
РК – регистр команд.
РОН – регистр(ы) общего назначения.
А – аккумулятор.
В – буферный регистр.
РС – программный счетчик.
SP – указатель стека.
РИ – индексный регистр.
РА – регистр адреса.
РВ – регистр возврата.
R – адрес(номер) одного из РОН / адрес слова в ОП – для модификации адресов.
R1/R2 – адрес (номер) одного из РОН.
S1/S2/S3 – адрес в ОП.
Х4, X3, X2, X1 – флаги разрядов КОП.
Z, N, C, P – флаги результата операции.
Y<число> - управляющий сигнал.
a<число> - состояние.
D6 – D1 – сигналы возбуждения.
ПЛМ – программируемая логическая матрица.
Каждое из указанных понятий далее рассмотренно подробно.
1.2. Введение.
Любое операционное устройство всегда можно представить состоящим из двух частей: операционной и управляющей.
Центральное устройство управления (ЦУУ) – управляющая часть процессоров. ЦУУ процессоров различных ЭВМ отличаются друг от друга структурой и выполняемыми функциями.
Типовые функции ЦУУ:
-
Формирование начального(загрузочного) адреса программы.
-
Выборка команды из ОП и ее хранение до выборки следующей команды.
-
Расшифровка КОП для выбора соответствующей микропрограммы.
-
Выборка операндов из А, РОН или ОП.
-
Запись результата в РОН или ОП.
-
Формирование адреса следующей команды.
-
Контроль выполнения команд (ошибки в КОП, переполнение и т.д.).
-
Остановка процессора.
-
Обработка прерываний.
1.3. Состав ЦУУ.
-
Регистры
-
Регистр команд(РК) – для приема и хранения машинных команд(см. п.1.4. – Машинные команды). Размер – 4 байта.
-
Программный счетчик(РС) – для хранения адреса ОП текущей команды (см. п.1.4. – Машинные команды).
-
Регистр адреса(РА) – для хранения адреса ОП, по которому происходит чтение и запись некоторой информации.
-
Регистр возврата(РВ) – для хранения адреса возврата в основную программу при обращении к подпрограмме. Иногда для этого используется РОН, стек или ОП.
-
Индексный регистр(РИ) – для хранения индекса массива. Иногда для этого используется РОН или ОП.
-
Аккумулятор(А), буферный регистр(В) – для хранения адресов, операндов и результатов операций.
-
Указатель стека(SP) – адрес первой свободную ячейку в стеке.
-
Регистры общего назначения(РОН) – для хранения любых возможных данных. Имеют номера от 0 до 15.
-
Регистры РС, РА, РВ, РИ, А, В, SP и РОН занимают 1 байт. Следует понимать, что физически они ничем не отличаются, в каждом из них технически возможно хранить любые данные, а их назначение обусловлено давним соглашением.
-
Стек – для запоминания текущего состояния процессора. ЦУУ знает только адрес первой свободной ячейки стека (хранится в SP).
-
Схема инкремента–декремента(СИД) – используется для увеличения или уменьшения значения операнда на 1.
-
Управляющий автомат(УА)
Взаимодействие устройств между собой и с ОП происходит через шины Ш1, Ш2, Ш3.
Структурная схема ЦУУ представлена на рисунке 1.
Рис.1. Структурная схема ЦУУ.
1.4. Машинные команды.
Машинная команда представляет собой некоторое количество байтов в ОП(объем ОП – 256 байт).
Первый байт каждой команды состоит из КОП(4 бита) и R(4 бита). При чтении команды из ОП флаги X4, X3, X2, X1 устанавливаются соответственно разрядам КОП в двоичном коде, где Х4 – старший разряд, Х1 – младший.
R используется для модификации адресов.
-
Если индекс хранится в РОН, в R указывается номер РОН.
-
Если индекс хранится в ОП, в R указываются последние 4 бита адреса(индекс хранится по адреcу F.R).
-
Если для хранения индекса используется индексный регистр, в R записывается 0.
В последующих байтах хранятся адреса или операнды. Количество адресов/операндов определяет адресность команды. Команды могут быть одно-, двух-, трехадресными и безадресными.
Типы адресации:
-
Прямая – указываются адреса операндов в ОП.
-
Непосредственная – указываются операнды.
-
Косвенная регистровая – указываются адреса(номера) РОН, в которых хранятся адреса операндов в ОП.
-
Прямая регистровая – указываются адреса(номера) РОН, в которых хранятся операнды.
Команды считываются из ОП в регистр команд(РК) с помощью одного из управляющих сигналов:
Y62 (РК[31:16] := ОП[PA]) – для одноадресных команд.
Y63 (РК[31:8] := ОП[PA]) – для двухадресных команд.
Y64 (РК[31:16] := ОП[PA]) – для трехадресных команд.
Для безадресных команд регистр команд не используется.
Пример: Рассмотрим 2 байта, расположенных в ОП по адресам 1А и 1В, в первом из которых записано число 12, а во втором 3F (в оперативной памяти используются только шестнадцатиричные числа).
Данные байты в совокупности могут представлять собой следующие команды:
-
Одноадресную команду с прямой адресацией (3F – адрес операнда в ОП).
-
Одноадресную команду с непосредственной адресацией (3F – операнд).
-
Двухадресную команду с косвенной регистровой адресацией(в РОН[3] хранится адрес ОП первого операнда, в РОН[15] – второго).
-
Команду с прямой регистровой адресацией(в РОН[3] хранится первый операнд, в РОН[15] – второй)
R = 2, следовательно используется команда с модификацией адресов и индекс
хранится либо в РОН[2], либо в ОП[2F].
КОП = 1 (0001 в двоичном коде).
Для считывания команды из ОП запишем в регистр адреса (РА) адрес первого байта(1А) и выставим управляющий сигнал Y62. Будет выполнена микрооперация РК[31:16] = ОП[1А], в результате которой:
РК = 12 3F 00 00, X4 = 0, X3 = 0, X2 = 0, X1 = 1.
Типовые машинные команды, используемые в работе:
S1,S2,S3 – занимают 1 байт, хранят операнды/адреса в ОП.
R1,R2 – занимают ½ байта, хранят адреса(номера) РОН.
* - некоторая операция.
И – индекс, хранится в РИ, ОП[F.R] или РОН[R] в зависимости от варианта.
Программный счетчик – хранится в PC или РОН в зависимости от варианта.
Адрес возврата – хранится в SP, PB, ОП[F.R] или РОН[R] в зависимости от варианта.
-
Трехадресная команда с прямой адресацией и модификацией.
ОП[S3 + И] := ОП[S1 + И] * ОП[S2 + И]
-
Двухадресная команда с прямой адресацией и модификацией.
ОП[S1 + И] := ОП[S1 + И] * ОП[S2 + И]
-
Одноадресная команда с прямой адресацией и модификацией.
(ОП[S1 + И] и/или А) := А * ОП[S1 + И]
-
Двухадресная команда с косвенной адресацией и модификацией.
ОП[РОН[R1] + И] := ОП[РОН[R1] + И] * ОП[РОН[R2] + И]
-
Одноадресная команда с косвенной адресацией и модификацией.
(ОП[POH[R1] + И] и/или A) := А * ОП[POH[R1] + И]
-
Команда с прямой регистровой адресацией.
(РОН[R1] и/или А) := РОН[R1] * POH[R2]
Используется для установки начальных значений адресов, индексов и т.д. S1 записывается в РОН[R]/РИ/ОП[F.R]/… в зависимости от предназначения команды.
Программный счетчик := адрес возврата.
Программный счетчик := S1
-
Переход с возвратом(обращение к подпрограмме).
PC := S1
-
Условный переход.
П рограммный счетчик := S1, если условие выполнено.
Переход к следующей команде, если условие не выполнено(программный счетчик увеличивается на 1).
(См п. 1.5. - Условия перехода.). Аналогично можно использовать двух- и трехадресные команды для более сложных ветвлений.
-
«СТОП»
Завершение программы.
1.5. Условия перехода.
Для организации ветвления используются 9 флагов:
-
Х4, Х3, Х2, Х1 – соответствуют битам КОП текущей команды.
-
Z – нулевой результат.
-
N – отрицательный результат.
-
С – перенос.
-
P – переполнение.
-
B – запуск.
Z, N, C, P устанавливаются в соответствии с результатом операции в АЛУ.
Условия перехода задаются различными комбинациями флагов. Условием может быть как положительное, так и отрицательное значение флага.
B может использоваться только отдельно от других флагов.
Для условного перехода необходимо указать исходное состояние(состояние, в котором ЦУУ проверит условия), следующее состояние(состояние, в которое перейдет ЦУУ при выполнении условий) и сами условия.
Пример 1: В данном фрагменте ЦУУ перейдет в состояние 2 при положительном результате операции, в состояние 3 – при нулевом, в состояние 4 – при отрицательном.
Рис.2. Условия перехода, пример 1.
Пример 2. В данном фрагменте ЦУУ перейдет в состояние 2 при КОП = 1, в состояние 3 – при КОП = 2.
Рис.3. Условия перехода, пример 2.
При одновременном задании условий перехода и управляющих сигналов, сначала будут выполнены микрооперации, соответствующие управляющим сигналам, затем проверены условия.