НЕЗАВИСИМАЯ ПРОГРАММА

НЕЗАВИСИМАЯ ПРОГРАММА

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

– Повторно ассемблировать программу
так, чтобы она начиналась с требуемой
ячейки.

– Использовать перемещающий загрузчик,
который принимает от ассемблера
специально подготовленные перемещаемые
двоичные коды.

– Создавать программы, перемещающие
себя после загрузки.

– Писать позиционно-независимые программы.

Повторное ассемблирование чаще
используется на малых машинах. Если
позволяют ресурсы памяти, то предпочтительнее
иметь перемещающий загрузчик. Программы,
перемещающие себя, оказываются
экономически нецелесообразными,
поскольку требуют перестройки сотен
или даже тысяч адресов. Возможность
создания позиционно-независимых программ
определяется структурой машины, на
которой они реализуются. В частности,
система PDP-11 допускает позиционно-независимое
кодирование (PIC) программ. Для этого
служат те методы адресации, в которых
исполни тельный адрес формируется
относительно счетчика команд (PC).
Следовательно, при любом перемещении
команды перемещаются и другие связанные
с ней элементы программы, а расстояние
между ними не меняется. ^ Такое постоянное
относительно PC значение смещения можно
вычислять для всех адресов программы.
При PIC для ссылки на ячейку используется
ее смещение относительно той, в которой
осуществляется обращение. Абсолютные
ссылки в PIC-программах возможны только
к тем ячейкам памяти, которые занимают
постоянное место даже если сама программа
перемещается.

Позиционно-независимые методы адресации

Существуют три типа позиционно-независимых
команд.

1. Переходы — команды условного
перехода и безусловный переход JMP
позиционно-независимые, в них адрес
вычисляется как смещение относительно
счетчика команд PC.

2. Относительные ссылки к ячейкам
памяти — ссылки б форме «CLRX» или «MOV
X, Y» позиционно-независимые, потому что
смещение в этих командах ассемблируется
относительно значения PC. Под смещением
понимается расстояние между текущим
значением PC и ячейкой, на которую
выполняется ссылка.

непосредственного
задания данных, в этом случае часть
команды ассемблируется как значение
операнда. Непосредственные операнды
могут быть позиционно-независимыми
только в том случае, если ими представлены
константы, а не адреса. Тогда команда
SUB ф2, HERE позиционно-независимая, так как
здесь ф2 не адрес; в то же время команда
MOV #А, ADRPTR позиционно-зависимая, поскольку
А — символический адрес. Это справедливо,
несмотря на то, что в обоих случаях
операнд выбирается с использованием
PC в автоинкрементном режиме.

Для обеспечения безопасности программная
секция зависимостей системы разделена
на две части, А и В, каждая из которых
обрабатывает зависимости. Каждая из
этих двух частей использует свой
собственный формат данных. И каждая из
этих двух частей вырабатывает свои
собственные приказы, которые передаются
на объектные контроллеры. Эти приказы
затем сравниваются между собой двумя
программами А и В и объектными
контроллерами.

Эта технология называется диверсицированным
программированием. Программа А независима
от программы В и наоборот. Для этого эти
две программы разрабатываются двумя
отдельными группами программистов. Для
обеспечения аппаратной безопасности
программы А и В работают в разных
процессорах.


НЕЗАВИСИМАЯ ПРОГРАММА

Рис. 7. Принцип А и В диверситета

На блок-схеме рис. 8 система программного
обеспечения сокращена до:

Эти программы достаточны для иллюстрации
потока данных.

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


НЕЗАВИСИМАЯ ПРОГРАММА

Рис. 8. Поток данных в общем

Обработка данных в компьютере централизации
– циклическая. Время цикла 0.6 сек. За
время каждого цикла:

Команды от системы управления и
отображения обрабатываются в фоновом
режиме и не являются частью фиксированного
цикла.


НЕЗАВИСИМАЯ ПРОГРАММА

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

Географический метод означает, что
внутренние объекты связываются с
различными напольными объектами, такими
как стрелки, сигналы и т.д. Рис. 9 показывает
принципы географического метода. Каждый
объект имеет связанную с ним область
данных с интерфейсами к:

Интерфейсы к соседним объектам одни и
те же для всех объектов, в то время как
интерфейсы к системе управления и
напольным объектам одни и те же для
каждого типа объекта.

Для каждого блока данных в области
данных, как показано на рис. 9. Существует
описание того, как блок данных должен
реагировать на входные сообщения и
какие сообщения блок должен посылать
своим соседям, своему собственному
объекту и системе управления.

Система включает в себя различные типы
блоков (например):

Соседние файлы в папке лабораторные

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *