Краткая теоретическая часть

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

Цель работы

Изучить структурную и функциональную организацию машины Поста.

Краткая теоретическая часть.

Эмиль Пост представлял, что данные, обрабатываемые машиной, размещены на ленте «бесконечной» длины, поделенной на одинаковые секции. Такое представление данных естественно, поскольку свою гипотезу он выдвинул в эпоху бурного развития телеграфной связи (ввод-вывод данных осуществлялся на перфорированную ленту).

Машина Поста состоит из неподвижной ленты и каретки. По ленте влево - вправо движется сенсорная, чувствительная каретка с возможностью записи данных («1» или «0») в секции и их чтения. Каретка в неподвижном состоянии находится на одной секции, а за единицу времени (такт), по команде, каретка может сместиться только на одну секцию. Состояние ленты может меняться в процессе работы машины. Тогда, состояние машины - это состояние ленты и положение каретки (номер секции на которой находится каретка).

Различают начальное и конечное состояния машины. Эти состояния определяются условием прикладной задачи. Рассматривая задачи, решаемые с применением машины Поста, будем говорить о начальном состоянии ленты и положении каретки, а после действия - о конечном состоянии ленты и положении каретки. Например, начальное состояние ленты не изменилось, но каретка переместилась на один шаг (позицию) и изменилось значение в секции ленты, в которую находится каретка.

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

Структурная организация элементов машины Поста.

Структурная схема модели машины Поста представлена на рисунке 1.

Устройство управления
Интерфейс
Исполнительное устройство
Память программ

Рисунок 1 – Структурная схема модели машины Поста

Как видно из рисунка, модель машины Поста состоит из основных блоков:

· Интерфейса, который предназначен для организации работы пользователя с машиной;

· Памяти программ, которая предназначена для хранения команд пользователя;

· Управляющего устройства, которое производит дешифрацию команды и создает управляющие сигналы для их выполнения;

· Исполнительного устройства, которое исполняет команду пользователя, производя действия исходя из управляющих сигналов.

Для того, чтобы имитировать ленту машины Поста достаточно иметь регистр данных RD, который можно построить при помощи RS-триггеров. В этом случае одной секции соответствует один триггер, который может хранить бинарную информацию («1» или «0»).

Каретку можно реализовать при помощи двух дешифраторов DC и мультиплексора MX, которые соединены с регистром данных. Перемещение каретки может задаваться при помощи адреса, генерируемого счетчиком СТ.

Синхронизация операции записи/чтения и перемещения каретки определяется программой или последовательностью команд машины. Действия каретки определены типом операции, указанной в команде.

Устройство управления определяет тип операции, хранимой в регистре команд (RGK), и вырабатывает с помощью дешифратора команд DC(1-5) соответствующие синхронизирующие сигналы Y(1-5).

Запись программы осуществляется при помощи терминала c возможностью непосредственного обращения к памяти программ. Выборка команд из этой памяти осуществляется благодаря адресации к памяти программ и порта ввода-вывода. Так, например, на начальном этапе работы машины, после того, как был произведен аппаратный сброс, пусковой адрес устанавливается равным 1 и далее он определяется при помощи адресной части команды (В или С операнд).

Машина Поста и ЭВМ.

Сходство с ЭВМ

· Вся информация, обрабатываемая в машине, представляется в двоичном виде и распределяется в элементах памяти.

· Как для машины Поста, так и для ЭВМ, указывается некоторый ограниченный набор элементарных операций (действий). За один шаг, ЭВМ, как и машина Поста, может совершить какое-либо действие из этого набора.

· Машина Поста, как и ЭВМ, работает по программе, указывающей, какие действия, и в каком порядке должны быть выполнены.

Отличия от ЭВМ

· Доступ к данным в машине Поста возможен только линейно (последовательный доступ), тогда как ЭВМ имеет ОЗУ с произвольным доступом. Чтобы из одной секции перейти к другой, каретка должна пройти все промежуточные секции.

· В архитектуре ЭВМ, при выполнении программы, порядок выполнения команд определяется исходя из внутреннего состояния специального регистра – счетчика команд, тогда как в машине Поста последовательность выполнения команд определяется в самой программе (В операнд).

Организация машины Поста

Исполнительное устройство

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

Регистр данных (RD), имитирует секции ленты, представлен в виде набора триггеров, каждый из которых имеет два входа: первый (S) - запись «1», второй (R) -запись «0». Прямой выход триггера отображает состояние триггера, т.е. после того, как была произведена запись значения в триггер, это значение будет представлено на его выходе.

Имитатор каретки обеспечивает позиционирование напротив активной секции. Если пронумеровать секции, то каретка должна последовательно обращаться к заданным номерам (например, начальное положение каретки).

Адресация активной секции является функцией счетчика секций (CчС). Так как счетчик секций осуществляет двоичный счет, то на базе счетчика можно имитировать сдвиги каретки влево (СчС: = СчС+1) или вправо (СчС: = СчС-1).

Операции записи обеспечиваются передачей управляющих сигналов на соответствующий вход R или S триггера, что позволяет записать в активную секцию «0» или «1». Чтение состояния секции обеспечивается коммутатором (мультиплексор), для которого адрес активной секции указывает счетчик секций.

Устройство управления

Устройство управления (УУ) в соответствии с его функциями хранит слово «команда», пока не закончено ее исполнение. Поэтому для хранения информации команды можно использовать специальный регистр команд (RGK). В RGK выделим три поля: поле КОП – действия, поле В - нижней и С - верхней отсылки к следующим командам.

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

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

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

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

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

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

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


Таблица 1

  п/п Оператор (КОП) Сигналы микроопераций
Мнемоника КОП Двоичный код КОП Y1 Y2 Y3 Y4 Y5
  Запись «1» Запись «0» Сдвиг Сдвиг ® 1/C áRD = 1ñ? 0/В Останов            

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

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

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

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

Рисунок 2 - Мультиплексор отсылок

Таблица 2

В состав УУ входит коммутатор отсылок, который выполнен при помощи мультиплексора, как показано на рисунке 2. Его таблица истинности приведена в таблице 2. Графа «А» таблицы 2 назначается после вычисления логических условий (ЛУ) в операционном автомате, где выделяется состояние активной секции («0», «1»). Это состояние передается в графу «А» при выполнении команды «Решение». Однако, при выполнении других команд, значение ЛУ определено нулю. Графа MUX определяет значение выхода функции. Это значение соответствует отсылкам В или С, коммутируемым в зависимости от значения графы А.

Терминал

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

Память программ

Память программ предназначена для хранения команд пользователя. Запись этих команд осуществляется при помощи терминала в режиме прямого доступа к памяти. При выполнении программы, по шине данных передается адрес команды, по которому из определенной ячейки памяти извлекается команда, которая отображается на шине данных.

Структура машины Поста

При детальном рассмотрении рисунка 1 «слева направо» и «сверху вниз, можно заметить, что регистр данных RD(n-0) в каждом разряде (секции) имеет R-S триггер, входы S триггеров подключены к соответствующим выходам дешифратора DCS, а входы R – к соответствующим выходам дешифратора DCR. Например, сигналы DCS(0) и DCR(0) подключены соответственно ко входам S и R нулевого разряда регистра RD(n-0). Выходы RD(n-0) подключены ко входам мультиплексора MX, выход которого образует результат «РЕЗ» и подключен к R-S-триггеру, а выход этого R-S-триггера связан с одним входом логической схемы «И». Состояние выхода элемента «И» определяет условия выбора номера следующей команды программы. Выход элемента «И» подключен к адресной зоне мультиплексора MX. (т.н. мультиплексор отсылок). Из рисунка 1 видно, что такие отсылки названы В и С (выход мультиплексора). Слова В и С поступают с выхода регистра команд RGK.

К адресным зонам дешифраторов DC и мультиплексора MX подключен выход счетчика СТ. Состояние этого счетчика указывает адрес секции RD(n-0), с которой работает процессор (активная секция в смысле Поста). Можно заметить, что адрес может изменяться лишь на одно значение (+1, -1). Вход СБРОС этого счетчика СТ, управляется с пультового терминала. Это способ установки начального состояния машины Поста, в частности каретки.

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

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

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

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

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

Модель «Машина Поста»

Модель разработана с целью демонстрации одной из традиционных формализаций понятия процессор наряду с такими формализациями, как машина Тьюринга и т.п.

Управление моделирующей программой осуществляется в диалоговом режиме экранного редактирования путем выбора соответствующего пункта меню. Пояснительные надписи, комментирующие смысл необходимых действий, выводятся на экран.

Результаты работы программ представлены на экране в виде динамических картинок состояния элементов, узлов и устройств машины в процессе интерпретации команд программы пользователя.

При создании программной модели машины Поста в структуру обучающей системы были введены следующие ограничения:

· состав машины Поста определен минимальной конфигурацией, которая включает в себя: процессор, детализированный до уровня: триггер, регистры, мультиплексор, счетчик, шины; оперативное запоминающее устройство, детализированное до уровня: элемент памяти, матрица запоминающих элементов, адресные дешифраторы столбцов и строк матрицы, порт ввода-вывода, регистры и шины; пультовый терминал; системная магистраль, детализированная до уровня шина адреса, шина данных, сигнал управления записи/чтения;

· система команд (в смысле Поста) должна быть минимальной (не более шести), но достаточной для построения алгоритмических структур следования, ветвления и циклов;

· адресное пространство программной памяти - 99 десятичных слов (в модели ограничено 32 адресами, что достаточно для учебных целей), а регистр данных, т.е. лента в смысле Поста - 32-разрядный;

· формат команды содержит поле кода операции и поле адреса следующей команды, причем это поле представляет совокупность двух полей (в смысле Поста - верхняя и нижняя отсылки для команды «Решение»);

· режимов работы моделирующей программы - 2. Первый режим - ручной ввод программы пользователя и ввод исходных данных (соответствующий пункт «Меню») с возможностью сохранения введенной программы в памяти моделирующей ЭВМ и вызова ее в оперативную память, а также с возможностью редактирования программы и данных. Второй режим – исполнение программы в пошаговом или автоматическом режиме. Команды программы разделены символом 'P' - продолжение.

На первом этапе работы с обучающей системой предусмотрено изучение разделов: анализ системы команд (6 команд); организация ветвлений и циклов; примеры программирования.

На втором этапе, многоуровневая система меню предлагает исследователю:

· получить справочную информацию по работе и организации машины Поста;

· ознакомиться с примерами решения типовых задач (например, тест системы команд) и, при желании, повторить их на демонстрационных динамических рисунках;

При этом, система подсказок позволяет закрепить последовательность и содержание шагов решения задачи, а динамические рисунки отражают ситуации на объекте и создает эффект работы с реальной средой.

Запуск и работа с автоматизированной обучающей системой

Для того чтобы запустить модель необходимо открыть cesir\vm\ОЭВМиВС и скопировать на компьютер диск D папку OEVM Win XP. После этого запустите с помощью ярлыка на рабочем столе программу vmware player.

В открывшемся окне выберете пункт «open a virtual machine» и затем укажите путь до того места где лежит файл виртуальной машины.

После запуска виртуальной машины откройте на рабочем столе папку «MAC_POST.AOS». В данной директории найдите файл с именем «aos0.bat» и запустите его. Ознакомьтесь со структурной схемой машины, выделите основные блоки. Обратите внимание на функциональное назначение клавиш, показанных по периметру экрана. Начните с записи команды в память (клавиша F2) в соответствии с примером. Программа АОС 0 покажет Вам подробности процесса. При выполнении команд программы в режиме, определяемом клавишей F4, следите за подсказками.

Изучите структурную схему машины, выведенной на экран. Выделите основные элементы: УУ, ИУ, ОЗУ, терминал, системные шины. Обратите внимание на «окна» и функциональные клавиши.

Воспользуйтесь клавишей F6 «Пример работы». В меню выберите «Тест команд». В окне «Программа» появится текст программы. Проверьте ход исполнения шагов программы и соответствие со схемой алгоритма «TEST». Клавиша F4 «Запуск» откроет меню – «По шагам», ENTER. Следите за подсказками системы. Продвижение по шагам программы – клавиша «ПРОБЕЛ».

Программа АОС 0 позволяет решать три задачи:

· Анализ структуры машины: операционный и управляющий автоматы процессора; оперативная память; пультовый терминал; шины связи устройств.

· Организация шин адресов, данных и управления; структура оперативной памяти и организация записи/чтения данных через порт ввода-вывода.

· Изучение алгоритма работы машины Поста при интерпретации команд на примере TEST-программы системы команд (находится в директории AOS0). Анализ алгоритма программы тестирования. Синтез программы по заданному алгоритму модели элемента 2 И-НЕ.

Исследование поведения работы машины Поста следует с изучения схемы алгоритма, который представлен в виде блок-схемы на рисунке 3. Видно, что функционирование машины начинается с обращения к ОЗУ за выборкой команды программы (3). Далее осуществляется пересылка команды в процессор (4). Затем организована дешифрация поля формата команды (5, 6, 7, 8, 14, 15) и выполнение соответствующей микрооперации (9, 10, 11, 12, 16). При этом формируются логические условия (13, 17), по которым процессор определяет адрес следующей команды программы. Процесс продолжается до конца программы или вмешательства («СТОП») пользователя.

Интерфейс обучающей системы решает следующие задачи:

- вывод на экран структурной схемы;

- поддержку окон «Программа» и «Данные»;

- поддержку функциональных клавиш F2- F7;

- поддержку «Меню» для записи в память и исполнения команд программы;

- визуализацию процессов передачи, хранения и обработки данных и команд.


 
 
 
 
Да
 
 
Нет
 
 
 
Да
Нет
Да
Нет
Да
 
Нет
Да
Да
Да
Да
Да
Нет
Нет
Нет
Нет
Нет
 
 
 
 
 
 
 
 
Нет
Да
НАЧАЛО
КОНЕЦ
RGK: КОП = 1?
M:RA = 1
Начальное состояние СчС СТ = 0
 
 
Установка пускового адреса (ПА)
Чтение
М = 1?
Память занята?
 
M:RS = КОП.В.С
RGK: КОП = 5?
RGK:= RS
RD(СчС):= 1
RGK: КОП = 2?
RD(СчС):= 0
RGK: КОП = 3?
RD(СчС):= СчС+1
RGK: КОП = 4?
RD(СчС):= СчС-1
RGK: КОП = 0?
ЛУ:=0
ОСТАНОВ
ЛУ: = RD(CчC)
ЛУ = 1?
MUXотсыл.: = C
СТОП = 1?
MUXотсыл.: = B
ЛУ:=0
Аварийная остановка
P = 1?
M:RA:= MUXотсыл
 
 
 


Рисунок 3 – Блок схема алгоритма работы машины Поста


3 Задание к лабораторной работе

· Исследовать структуру машины Поста;

· Изучить организацию шин адресов, данных и управления;

· Исследовать элементную базу процессора машины;

· Изучить поведение машины Поста по блок-схеме алгоритма ее работы;

· Составить алгоритм и программу, моделирующую работу логического элемента «2И». Пусть входные значения элемента будут находиться в ячейках RD0, RD1, а результат работы будет записываться в ячейку памяти RD2;

· Подготовить отчет по проделанной работе.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: