
Лабораторная №3
.pdfМинистерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Кафедра комплексной информационной безопасности электронновычислительных систем (КИБЭВС)
ОРГАНИЗАЦИЯ МАШИНЫ ПОСТА
Отчет по лабораторной работе №3 по дисциплине «ОЭВМиВС»
Студенты гр. 723-1
______ Е.М. Лысенко
______ Д.А. Софрин
10.11.2023
Принял
Преподаватель кафедры КИБЭВС
______ О.В. Пехов
10.11.2023
Томск 2023
Введение
Цель работы:
Изучение принципов работы простейшего управляющего устройства
(УУ)на примере машины Поста. Задание на лабораторную работу:
1.исследовать структуру машины Поста;
2.изучить организацию шин адресов, данных и управления;
3.исследовать элементную базу процессора машины;
4.изучить поведение машины Поста по блок-схеме алгоритма ее
работы;
5.составить алгоритм и программу, моделирующую работу логического;
6.подготовить отчет по проделанной работе;
Схема рассматриваемой модели машины Поста представлена на
рисунке 1.1
2
1 ИССЛЕДОВАНИЕ СТРУКТУРЫ МАШИНЫ ПОСТА
Машина Поста состоит из следующих структурных элементов:
1.Каретка (Или считывающая и записывающая головки);
2.Лента, которая в обе стороны бесконечна. Она содержит в себе бесконечное количество ячеек, в которые можно записать 0 или 1. Это означает, что машина поста работает с двоичными числами и кодом. С помощью небольшого набора команд для машины поста, этими данными числами можно манипулировать:
•n ← m – осуществляет переход по ячейке влево;
•n → m – осуществляет переход по ячейке вправо;
•n V m – осуществляет закрашивание (поставление 1 в ячейку) ячейки и переход к команде m;
•n X m – осуществляет удаление элемента из ячейки и переход к команде m;
•n ? m,k – осуществляет задание условия. К примеру, если значение ячейки для даннного номера команды равно 1, то осуществляется переход к команде m, а иначе к k;
•n ! - осуществляет завершение программы.
Однако выше представлена структура оригинальной машины поста, которая имела физическую вариацию. В данной же лабораторной работе используется ее программный вариант, который имеет следующую структуру:
•Интерфейс, предназначенный для организации взаимодействия пользователя с машиной;
•ОЗУ. Предназначена для хранения команд машины;
•УУ. Производит дешифрацию команды и создает управляющие сигналы для их выполнения;
3

• ИУ — имитатор ленты и имитатор каретки.
1.1 Описание исполнительного устройства
Имитатор ленты представляет собой набор триггеров, каждый из которых может хранить один байт. По сути триггер — это регистр.
Регистр данных (RD) имитирует секции ленты и представляет собой набор RS-триггеров. R – выход триггера, отвечающий за запись нуля, а S – выход триггера, отвечающий за запись единицы на ленту. Отдельная секция ленты является отдельным триггером.
За проверку(чтение) записи значения в триггер отвечает коммутатор(мультиплексор), для которого адрес активной секции указывает счетчик секций.
Имитатор каретки. Секции ленты в программной вариации машины Поста пронумерованы и каретка перемещается последовательно по каждому из них. Сама каретка реализована в виде двух дешифраторов DC и мултиплексора MX, которые соединены с регистром данных, причем мултиплексор является конечной для всех элементов каретки(рисунок 1).
Рирунок 1 — устройство имитатора каретки
4

Перемещение каретки задается при помощи адреса, который генерирует счетчик СТ. Адресация активной секции является функцией счетчика секций (СчС). С помощью этого счетчика осуществляют сдвиг каретки влево и вправо, так как число счетчика секций — двоичное.
1.2 Описание устройства управления
Если обобщить, то УУ работает с RGK - регистром, в котором хранится команда. Так как это первое упоминание данного регистра, стоило бы разобрать устройство команды для машины Поста. Команда состоит из трех полей: КОП(наименование команды в виде двоичного числа), отсылка B и отсылка C (номер первой команды и второй). Рассмотрим рисунок 2, на котором изображена таблица с интерпретацией команд.
Рисунок 3 — Таблица интерпретации команд
С КОП все предельно ясно, это одна из составляющих команды, а сигналы микроопераций это синхронизирующие сигналы, которые вырабатываются дешифратором DC.
Имитатор УУ содержит коммутатор отсылок B и С. Выбор отсылки зависит от состояния ленты управления, которое вычисляется ИУ в зависимости от состояния активной секции ленты и сигнала У5 по логике «И». 2 ИССЛЕДОВАНИЕ ШИН АДРЕСОВ, ДАННЫХ И УПРАВЛЕНИЯ В машине поста существуют две шины: шина адреса(шА) и шина данных(шД).
5

Если смотреть по рисунку, представленному в методическом пособии(рисунок 4), то можно сказать, что шА начинает свой путь от блока «Память программ», в двух местах соединяется с терминалом и входит в регистр адреса с отсылкой B – верхняя,C – нижняя. Они поступают в память для выборки команды.
Рисунок 4 — схема модели машины Поста
Про соединение с терминалом можно сказать следующее: один из выходов терминала представляет собой «Пуск», который отвечает за запуск программы и, если она работает, то продолжение ее работы. А другие два выхода за режим работы программы: «ПДП» - прямой доступ к памяти и вычисления(страница 4, 7 абзац). Если детальнее рассмотреть рисунок 4, то становится ясно каким именно образом сочетаются два режима работы.
6

Машина поста может получать напрямую команду из памяти программ, потому как на схеме в ОЗУ есть шаблон команды(рисунок 5), содержимое которого передается путем шины адреса и схем логических элементов, которые отвечают за «запись-чтение». W1 – запись, W0 – чтение. Данные о команде, прежде, чем выйти из памяти программы проходят через дешифратор, который в свою очередь имеет два выхода A и B, указывающие адрес запоминающего элемента, установленного на пересечении столбцов B и строк А матрицы RAM.
Рисунок 5 — Команда в памяти программ
Шина данных (шД). Она является связующим звеном для ОЗУ, RGK и Терминала. Путь ее начинается в терминале, продолжается на регистре RS(регистр слова), причем передача данных между шиной и этим регистром возможно только в том случае, если клавиша «P» на терминале не нажата или же другими словами программа была запущена через «ПУСК». Заканчивается путь шины данных в RGK – регистр команд.
3 Исследование элементной базы процессора
В ходе лабораторной работы уже была разобрана элементная база процессора, которая включает в себя: «Cостав машины Поста определен минимальной конфигурацией, которая включает в себя: процессор, детализированный до уровня: триггер, регистры, мультиплексор, счетчик, шины» - описание всего этого представлено выше.
7

4 ОПИСАНИЕ ВАРИАНТА ЗАДАНИЯ
Вариант 3ИЛИ-НЕ. Первым делом, стоило бы составить для данной схемы таблицу истинности(таблица 1):
Таблица 1 — таблица истинности ИЛИ-НЕ для трех элементов
a |
b |
c |
d |
|
|
|
|
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 |
|
|
|
|
5 ПРИМЕНЕНИЕ ЗНАНИЙ НА ПРАКТИКЕ
Рисунок 6 — Пример кодировки команды
Первая цифра отвечает за КОП( номер команды по таблице из рисунка 3), вторые две цифры означают отсылку на команду - ее номер, и последние две цифры это отсылка на другую команду.
Например, есть команда 50208. 5 — Проверка секции ленты на наличие там единицы, 02 — отсылка на первую команду машины поста и переход на нее в случае, если там окажется ноль, 08 — отсылка на вторую
8

команду машины поста в случае, если в секции окажется единица. По такому принципу и строится команда.
Рисунок 7 — Готовый код по варианту 3ИЛИ-НЕ
Код программы и его объяснение:
1.50208 // Команда сверяет значение в начальной ячейке, если 0, то переходит к команде 2, если 1, то переходит к команде 8.
2.30300 // Сдвиг на одну ячейку влево, переход к 3 команде.
3.50409 // Команда сверяет значение в следующей ячейке, если 0, то переходит к 4 команде, если 1, то к 9 команде.
4.30500 // Сдвиг на одно ячейку влево, переход к команде 5.
5.50610 // Команда сверяет значение в последней ячейке, если 0, то переходит к команде 6, если 1, то переходит к команде 10.
9

6.30700 // Сдвиг на одно ячейку влево, переход к 7 команде.
7.11100 // Записывает в ячейку 3 значение 1, переход к команде 11.
8.30900 // Сдвиг на одну ячейку влево, переход к команде 9.
9.31000 // Сдвиг на одну ячейку влево, переход к команде
10.31100 // Сдвиг на одну ячейку влево, переход к команде
11.00000 // Конец
Число в ячейке 3 — это ответ.
Рассмотрим пример работы программы на входных данных (Рисунок 8-15).
Рисунок 8 — Результат работы программы с входными данными 0 0 0
10