Материал: ЛР3

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

6

Имитатор УУ содержит коммутатор отсылок В и С, которые указывают на адрес следующей команды. Выбор отсылки определен состоянием линии управления (ЛУ), которое вычисляется ИУ при выполнении команды в зависимости от состояния активной секции ленты и сигнала У5 по логике «И».

Отсылка, выбранная с помощью коммутатора, В - нижняя или С -

верхняя, является адресом, который поступает в память для выборки очередной команды. Команды, сформированные списком, как показаны в таблице 1. Порядковый номер в списке определяет код операции (КОП). В

столбце КОП показана двоичная запись одноименного номера.

Терминал предназначен для указания режима работы (ПДП или ВЫ-

ЧИСЛЕНИЯ), а также для управления «Пуском» машины или продолжением выполнении программы. Кроме того, с пульта управления оператор указывает пусковой адрес (ПА).

В таблице 1 выделены следующие группы операций поддерживаемые машиной Поста:

позиции 1-2 - группа «Запись» в активную ячейку;

позиции 3-4 - группа «Сдвиг»;

позиция 5 - команда «Решение»;

позиция 6 - команда «Останов».

Таблица 1

п/п

Оператор (КОП)

 

Сигналы микроопераций

 

 

 

 

 

 

 

 

 

 

 

 

Мнемоника КОП

Двоичный

Y1

 

Y2

Y3

Y4

 

Y5

 

 

код КОП

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

Запись «1»

001

1

 

0

0

0

 

0

 

 

 

 

 

 

 

 

 

 

2

Запись «0»

010

0

 

1

0

0

 

0

 

 

 

 

 

 

 

 

 

 

3

Сдвиг

011

0

 

0

1

0

 

0

 

 

 

 

 

 

 

 

 

 

4

Сдвиг

100

0

 

0

0

1

 

0

 

 

 

 

 

 

 

 

 

 

5

1/C RD = 1? 0/В

101

0

 

0

0

0

 

1

 

 

 

 

 

 

 

 

 

 

6

Останов

000

0

 

0

0

0

 

0

 

 

 

 

 

 

 

 

 

 

7

При выполнении команды «Останов» никакие управляющие сигналы не генерируются и выполнение программы прекращается.

В графе «Сигналы микроопераций» указаны наименования сигналов управления и момент их активизации - логическая «1».

Эти сигналы могут быть отображены функцией, которая реализуется дешифратором команд DC, как показано на рисунке 4.

Рисунок 2 – Дешифратор команд

Дешифраторы DCS и DCR использованы для записи «1» и «0» в секцию регистра, а мультиплексор для чтения состояния секции, указанной счетчиком СТ. Входы С (синхронизация) дешифраторов и входы (+1, -1) счетчика подключены к источнику управляющих сигналов (У), хотя на рисунке это явно не показано. Такие сигналы вырабатывает дешифратор кодов операций (КОП),

подключенный к полю КОП регистра команд RGK. Сигнал У5 поступает на другой вход логического элемента «И», который определяет условие выбора отсылки В или С.

Справа на рисунке 1 дано обобщенное описание оперативного запоминающего устройства (RAM) и терминала. Оперативное запоминающее устройство связано посредством шины адресной (шА) и шины данных (шD) с

процессором (все, что размещено на рисунке левее ОЗУ и терминала).

Шина адреса (шА) подключена ко входу регистру адреса (RA) памяти ОЗУ и соединена с выходом мультиплексора отсылок и пультовым терминалом. Шину шА загружают отсылкой (В, С) с выхода мультиплексора отсылок по команде «Р» (продолжить), которая формируется с пультового терминала.

8

Шина шD связывает ОЗУ с регистром RGK команд и терминалом. ОЗУ имеет порт ввода-вывода RS (регистр слова). Передача слова из порта RS на

RGK возможна при условии, что клавиша Р (продолжить) не нажата, другими словами, команда «Р» пультового терминала не введена, и был произведен запуск программы («ПУСК»). Через порт RS в память по шине шD данные вводятся с пультового терминала (управляющий сигнал «W»).

Ко входам WO и W1 элемента RAМ подключена схема (четыре логических элемента) выбора режима «чтение-запись» работы ОЗУ. Эта схема синхронизируется сигналом «W», т.е. когда W=1 - запись, иначе - чтение. К

выходу регистра RA адреса ОЗУ подключен дешифратор, имеющий два выхода А и В, которые указывают адрес запоминающего элемента,

установленного на пересечении столбцов В и строк А матрицы RAМ.

2.2. Написание программы Для того чтобы запустить модель машины Поста необходимо скачать

архив «MAC_POST.AOS» из электронного курса. Распаковать этот архив и запустить файл «AOS0.bat».

Рисунок 3 – Запуск программы Для нашего задания составим таблицу истинности.

9

Таблица 2 – Таблица истинности

m0

m1

m2

m3

0

0

0

1

0

0

1

0

 

 

 

 

0

1

0

0

 

 

 

 

0

1

1

0

 

 

 

 

1

0

0

0

 

 

 

 

1

0

1

0

 

 

 

 

1

1

0

0

 

 

 

 

1

1

1

0

 

 

 

 

В ходе выполнения работы была написана программа, представленная

на рисунке 4.

Рисунок 4 – Готовая программа

2.3.Алгоритм и код программы и его объяснение

1)50208 // Команда сверяет значение в начальной ячейке, если 0, то переходит к команде 2, если 1, то переходит к команде 8.

2)30300 // Сдвиг на одну ячейку влево, переход к 3 команде.

3)50409 // Команда сверяет значение в следующей ячейке, если 0,

то переходит к 4 команде, если 1, то к 9 команде.

4)30500 // Сдвиг на одно ячейку влево, переход к команде 5.

10

5)50610 // Команда сверяет значение в последней ячейке, если 0, то переходит к команде 6, если 1, то переходит к команде 10.

6)30700 // Сдвиг на одно ячейку влево, переход к 7 команде.

7)11100 // Записывает в ячейку 3 значение 1, переход к команде 11.

8)30900 // Сдвиг на одну ячейку влево, переход к команде 9.

9)31000 // Сдвиг на одну ячейку влево, переход к команде 10.

10)31100 // Сдвиг на одну ячейку влево, переход к команде 11.

11)00000 // Конец

Число в ячейке 3 — это ответ. Алгоритм программы представлен на рисунке 5.

Рисунок 5 – Алгоритм программы

Источник: https://studfile.net/preview/16487994/