Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная №3

.pdf
Скачиваний:
1
Добавлен:
25.01.2025
Размер:
664.53 Кб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронновычислительных систем (КИБЭВС)

ОРГАНИЗАЦИЯ МАШИНЫ ПОСТА

Отчет по лабораторной работе №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