Изобретение относится к вычислительной технике и предназначено для построения программируемых контроллеров (ПК).
Целью изобретения является повышение быстродействия ПК.
На фиг. 1 представлена функциональная схема ПК; на фиг. 2 - блок-схема алгоритма работы ПК; на фиг. 3 - ступенчатая электрическая схема, состоящая из трех логических цепей и являю-, щаяся исходной рабочей программой (РП), которую может обрабатывать ПК; ,«а фиг. 4 - схема расположения инструкций исходной РП (ИсРП) в блоке памяти PHj на фиг. 5 - блок-схема алгоритма работы ПК по преобразованию ИсРП в транслированную РП (ТрРП); на фиг.6...8 - блок-схема алгоритма подпрограммы последовательной трансляции РП; на фиг. 9 - схема расположения
rm
команд базовой ТрРП; на фиг. 10-блок-.., схема алгоритма подпрограммы дополнения; на фиг. 11...22 - блок-схема алгоритма подпрограммы ветвления; на фиг. 23...27 - фрагмент ТрРП.
ПК содержит (фиг. 1)-. операционный блок 1, блок 2 памяти управляющей программы, блок 3 памяти программы транслятора, блок 4 памяти РП, блок 5 памяти транслированной программы, блок 6 памяти состояний, регистр ,
дешифратор 8, генератор 9 импульсов элементы И 10...14, элементы ИЛИ 15 16, элементы 17...21 согласования.
Операционный блок 1 имеет двунаправленные выводы, подключенные к 16-разрядной шине 22 адреса данных (ША/Д 22), выход 23 управления считыванием (DIN),
. выход 24 управления записью (DOUT), выход 25 формирования начала цикла (SYNC), вход 26 синхронизации (RPLY)
сл
со
4
Cfe
и тактовый вход, связанный с выходом генератора 9 импульсов.
ЙЛ/Д 22 связана с информационными выходами блоков 2...Л, с информацион- ными входами-выходами блоков 5, 6, с информационными входами-регистра 7, Выходы регистра 7 подключены ко входам дешифратора 8 и к адресной шине 27 (ША 27), связанной с адресными входами блоков 2.... 6.
Выход 23 операционного блока 1 подключен к первым входам элементов И 10.... 12 н элементов ИЛИ 15/16. Выход 24 операционного блока 1 подключен ко вторым входам элементов ИЛИ 15, 16 и ко сходам управления записью/считыванием блоков 5, 6, Выход 25 операционного блока 1 подключен к синхро- входу регистра 7.
Первый выход дешифратора 8 подключен ко второму входу элемента И и ко входу выборки блока 2, второй выход дешифратора 8 подключен ко второму входу элемента И 11 и ко входу выборки блока 3, третий выход дешифратора 8 - ко второму входу элемента И 12 и ко входу выборки блока 4, четвертый выход - к первому входу элемент И 13, пятый выход - к первому входу элемен- та И 14. Вторые входы элементов И 13 и 14 подключены к выходам соответственно элементов ИЛИ 15 и 16. Выход элемента И 10 подключен ко входу буферного элемента 17 и ко входу управ- ления считыванием блока 2. Выход элемента И 11 подключен ко входу буферного элемента 18 и ко входу управления считыванием блока 3. Выход элемента И 12 подключен ко входу буфер- ного элемента 19 и ко входу управления считыванием блока 4. Выход элемента И 13 подключен ко входу выборки блока 5 и ко входу буферного элемента 20. Выход элемента И 14 подключен ко входу выборки блока 6 и ко входу буферного элемента 21. Выходы буферных элементов 17...21 объединены и подключены ко входу 26 операционного блока 1.
Генератор 9 представляет собой кварцевый генератор импульсов.
Операционный блок 1 представляет собой микропроцессор и может быть выполнен на микросхеме К1801ВМ2,которая имеет 16-разрядную шипу адреса данных и внутренние фпаги Z и С.
В блоке 2 памяти управляющей программы хранятся комлндп пперационно
0 5 0 5 o
5
го блока 1, образующие ал,оритм работы ПК по выполнению подго- овнтель- ных подпрограмм и подпрограмм обмена. Данный блок имеет объем 2К с -оев и выбирается адресами от 000000 до 0077764.
В блоке 3 памяти программы транслятора хранятся команды операционного блока 1, образующие алгори работы ПК по выполнению преобразования ИсРП в ТрРП. Данный блок имеет объем 6К слов и выбирается адресами от 010000ft до 0377768.
Блоки 2 и 3 представляют собой постоянные запоминающие устройства.
В блоке 4 памяти „РП хранятся инструкции РП, последовательность которых воспроизводит ступенчатую электрическую схему управляемого объекта.Каждая инструкция занимает объем - одно 16- разрядное слово. Бг.ок 4 представляет собой перепрограммируемое постоянное запоминающее устройство и содержит ряд микросхем.типа К573РФ4 с ультрафиолетовым стиранием. РП в. микросхемы памяти записывается с помощью отдельных средств, которые не входят в состав РК. Блок 4 имеет объем 4 К слов и выбирается адресами от 040000п до 0577768. .
В блоке 5 памяти ТрРП хранятся команды операционного блока 1, образующие алгоритм работы ПК по обработке РП. Данный блок имеет объем 16 К слов и выбирается адресами от 060000й до 157776V
В блоке 6 памяти состояний имеется область, в которой хранятся .биты состояний каналов вывода, другая область, в которой хранятся биты состояний каналов ввода, и третья область, которая используется операционным блоком 1 для своих нужд, например для хранения .результатов промежуточных вычислений. .Блок 6 имеет объем 2 К слов и выбирается адресами от 160000. до 167776в.
Блоки 5 и 6 представляют собой оперативные запоминающие устройства.
Регистр 7 запоминает 16-разрядный адрес, поступающий на ША/Д 22 с выходов операционного блока 1.Регистр 7 может быть выполнен на микросхемах типа К589ИР12.
Дешифратор 8 обеспечивает формирование сигнала логическоЛ единицы (лог. 1) на одном из своих выходов при поступлении на его входы адреса, соответствующего выбираемому блоку 2...6 памяти. Входы дешифратора под
ключены к восьми стариим выходам регистра 7. Дешифратор может быть выполнен на микросхеме постоянной памяти типа К556РТ5.
Элемент 17 (18...20 или 21) обеспечивает формирование сигнала лог.1 на своем выходе при поступлении на его вход сигнала лог. 1. Иначе элемент находится в третьем высокоимпе- дансном по выходу состоянии. Этот элемент может быть выполнен на микросхеме типа К155ЛП8. -
Входы и выходы элементов и блоков ПК имеют следующее назначение.-
Импульсы с выхода генератора 9 обеспечивают тактирование работы операционного блока 1. На выходе 23 операционный блок 1 формирует сигнал DIN при считывании информации с ША/Д 22 в операционный блок 1. Сигнал DIN активизирует работу блоков ПК для выдачи информации в операционный блок 1.
На выходе 24 операционный блок 1 формирует сигнал DOUT при выдаче ин- формации с операционного блока t в ША/Д 22. Сигнал DOUT активизирует работу блоков ПК для приема информации в них с ША/Д 22.
На выходе 25 операционный блок 1 формирует сигнал SYNC всякий раз, когда в ША/Д 22 поступает код адреса с выхода операционного блока 1. Сигнал SYNC синхронизирует раооты регистра 7. На вход 26 операционного блока 1 поступает сигнал RPLY, который синхронизирует работу операционного блока 1 в цикле записи/считывания информации.
На первом {втором или третьем) вы- ходе дешифратора 8 формируется сигнал лог. 1., обеспечивающий выборку блока 2 (3 или 4) памяти. На выходе элемента И 10 (11 или 12) формируется сигнал лог. 1, обеспечивающий строби- рование выходных буферов соответствующего блока 2 (3 или 4) памяти, nor средством чего информация с выбранного блока 2 (3 или 4) памяти поступает в ША/Д 22. Данный сигнал образуется в цикле считывания посредством сигнала DIN. .
На выходе элемента И 13 (14) формируется сигнал лог. 1, обеспечивающий выборку блока 5 (6) памяти. Данный сигнал образуется посредством сигнала DIN или DOUT в цикле считывания или записи. Кроме того сигнал DOUT обеспечивает управление записью/считыва5
10
15
202530354045 5055
нием информации в блок 5 (6) памяти. Сигнал DOUT, имеющий уровень лог.1, обеспечивает запись информации в ответствуюций блок 5, 6 памяти.
На пыходах элементов 17...21 посредством сигналов DIN/DOUT формируется сигнал RPLY, указывающий на активизацию одного из блоков 2...6 памяти.
Процесс считывания информации с блоков 2...4 постоянной памяти осуществляется следующим образом. Операционный блок 1 в ША/Д 22 устанавливает адрес выбираемой ячейки памяти из блоков 2...4 и формирует сигнал SYNC, посредством которого К9Д данкого адреса записывается в регистр 7. В результате этого на входы дешифратора 8 поступит код адреса, определяющий выбираемый блок 2...4 памяти, а в ША 27 - код адреса, определяющий выбираемую ячейку памяти из блоков 2...4. Затем операционный блок 1 снимает адрес с ША/Д 22 и формирует сигнал DIN, посредством чего с выбранного блока 2...4 считанная информация поступает в ША/Д 22, а под действием сигнала RPLY операционный блок 1 через определенный интервал времени принимает информацию с ША/Д 22 и занимает ее в своих внутренних регистрах. После этого сигнал DIN снимается, вследствие чего снимается сигнал RPLY.
Процесс считывания информации с блока 5, 6 оперативной памяти осуществляется следующим образом. Аналогично формируется адрес и сигнал SYNC. Так как на выходе 24 операционного блока 1 отсутствует сигнал DOUT (уровень лог. 0), то блоки 5, 6 памяти устанавливаются в режим считывания информации. Далее посредством сигнала DIN выбирается соответствующий блок 5, 6 памяти, и информация с его выходов поступает в ША/Д 22. Далее процесс происходит аналогично.
Процесс записи информации в блок 51 6 осуществляется следующим обра- зом. Аналогично формируется адрес И сигнал SYNC. Затем операционный блок 1 снимает адрес с ША/Д 22, устанавливает на этих шинах код записываемой информации и формирует сигнал DOUT, посредством чего осуществляется выборка соответствующего блока 5, 6 памяти и запись информации с ША/Д 22 в выбранную ячейку памяти соответству кяцего блока 5, 6. Аналогичным обра зом формируется сигнал RPLY. . Работает ПК следующим образом (см. фиг. 2).с
.После включения питания операционный блок 1 обращается к блоку 2 памяти управляющей программы и$начиная с адреса 000000в,считывает код первой команды, которая указывает на переходJQ на программу очистки ячеек блока 6 памяти состояний, при этом очищается только область, в которой хранятся биты состояний каналов вывода Очистка обусловлена записью кода 0000 в j ячейки памяти данной области.
Следующей программой является программа сброса, которая обуславливаем сброс каналов вывода. Каналы В/В подключаются к ПК посредством ЫА/Д 22 и 20 могут выбираться операционным блоком 1 аналогично выбору блоков 2... 6 памяти, например каналы В/В могут выбираться адресами от 1700008 до 1701768, что позволяет ПК обслуживать до 1024 25 каналов В/В. При выполнении программы сброса происходит передача информации о состоянии каналов вывода из области состояний каналов вывода блока 6 памяти в каналы вывода и запоми- 30 нание ее, например, в регистрах модулей вывода. При этом 16-разрадный код информации (код 0000) считывается из выбранной ячейки памяти блока 6 во
Образование ТрРП происходит следующим образом. Операционный блок 1 последовательно считывает каждую инструкцию ИсРП из блока 4 памяти и анализирует ее. При этом ИсРП преобразуется .в ТрРП отдельно по каждой логической цепи (ЛЦ).
Фоомирование ТрРП поясняяется примером, представленным на фиг.З,. где показаны три ЛЦ (ЛЦ1, ЛЦ2 и ЛЦЗ). ЛЦ1 и ЛЦ2 состоят из восьми логических ветвей (ЛВ) каждая, ЛЦ2 - из двух ЛВ.
Например, ЛЦ1 содержит ЛВ, в которые входят следующие инструкции:
1)Х2,ХЗ;
2)Х4,Х5;
3)Х4,Х6;
4)Х4,Х7;
а для ЛЦ2:
5) Х9, Х10, YI; 6)УХ11, Х12, Y2;
7)XII, Х13, Y3;
8)XII, Х13, Y4;
1)Х14,Х15,5С16;
2)Х17,Х18,Х19, Х20;
3)Х17,Х18,Х21, Х22;
4)Х17,Х18,Х21, Х23;.
5)Х24,Y5;
6)Х25,Х26,Y6;
7)Х27,Х28,Y7;
8)Х27,Х29,Y8,
т.е. каждая ЛВ выделена элементами, В ИсРП последовательность расположения инструкций в блоке 4 памяти в соответствии с фиг. 3 представлена на фиг. 4 (только ЛЦ1 и ЛЦ2). При этом
внутренние регистры операционного бло-35 необходимо учитывать, что в каждой
ка 1, а затем из операционного блока
а
1 данная информация поступает в каналы вывода по ША/Д 22.
По завершении программы сброса операционный блок 1 переходит на програм-эд му трансляции РП. При этом посредством команд, хранящихся в блоке 3 памяти, из ИсРП, хранящейся в блоке 4 памяти, происходит формирование ТрРП, которая записывается в блок 5 памяти. -45
Исходная РП представляет собой набор инструкций, которые даны в табл.1. Каждая инструкция состоит из кода операции (разряды 11... 14) и номера jo канала В/В (разряды 0...10 для инструкций группы ВХОД и ВЫХОД) или кода 00...О для инструкции КОНЕЦ ВЕТВЕЙ () или группы ПЕРЕХОД. Исключение составляет элемент НАЧАЛО ВЕТВИ (Т), « который занимает пятнадцатый разряд в слове инструкции и может быть за- программирован с инструкциями группы ВХОД, ВЫХОД или ЛИНИЯ.
ЛЦ количество элементов t всегда четное, инструкция 3- всегда заверша- |ет группу ЛВ из инструкций рруппы ВХОД. В свою очередь элементы t делятся на четные и нечетные, например, инструкции t -II-Х2, t -II- Х5, , t-tt-X9 ,имеют нечетный элемент t , .а инструкции t-tf- X4, f - И- Х7, t-N- X11, t-tl-X13, t-0-Y4- четный элемент.
Если инструкция группы ВЫХОД имеет четный элемент t, то она является последней в данной ЛЦ, например, инструкции с элементами Y4, Y8, Y10. Иначе инструкция группы ВЫХОД, находящаяся в ЛВ, не является .последней в ЛЦ. Если инструкций группы ВЫХОД не принадлежит ЛВ, то она является последней и единственной в ЛЦ.
Для образования ТрРП операционный блок 1 использует свои внутренние регистры общего назначения и внешние .регистры (ячейки третьей области блоОбразование ТрРП происходит следующим образом. Операционный блок 1 последовательно считывает каждую инструкцию ИсРП из блока 4 памяти и анализирует ее. При этом ИсРП преобразуется .в ТрРП отдельно по каждой логической цепи (ЛЦ).
Фоомирование ТрРП поясняяется примером, представленным на фиг.З,. где показаны три ЛЦ (ЛЦ1, ЛЦ2 и ЛЦЗ). ЛЦ1 и ЛЦ2 состоят из восьми логических ветвей (ЛВ) каждая, ЛЦ2 - из двух ЛВ.
Например, ЛЦ1 содержит ЛВ, в которые входят следующие инструкции:
1)Х2,ХЗ;
2)Х4,Х5;
3)Х4,Х6;
4)Х4,Х7;
а для ЛЦ2:
5) Х9, Х10, YI; 6)УХ11, Х12, Y2;
7)XII, Х13, Y3;
8)XII, Х13, Y4;
1)Х14,Х15,5С16;
2)Х17,Х18,Х19,
3)Х17,Х18,Х21,
4)Х17,Х18,Х21,
5)Х24,Y5;
6)Х25,Х26,Y6;
7)Х27,Х28,Y7;
8)Х27,Х29,Y8,
ЛЦ количество элементов t всегда четное, инструкция 3- всегда заверша- |ет группу ЛВ из инструкций рруппы ВХОД. В свою очередь элементы t делятся на четные и нечетные, например, инструкции t -II-Х2, t -II- Х5, , t-tt-X9 ,имеют нечетный элемент t , .а инструкции t-tf- X4, f - И- Х7, t-N- X11, t-tl-X13, t-0-Y4- четный элемент.
Если инструкция группы ВЫХОД имеет четный элемент t, то она является последней в данной ЛЦ, например, инструкции с элементами Y4, Y8, Y10. Иначе инструкция группы ВЫХОД, находящаяся в ЛВ, не является .последней в ЛЦ. Если инструкций группы ВЫХОД не принадлежит ЛВ, то она является последней и единственной в ЛЦ.
Для образования ТрРП операционный блок 1 использует свои внутренние регистры общего назначения и внешние .регистры (ячейки третьей области блока 6 памяти состояний), при этом все регистры - 16-разрядные. В табл. 2 представлено назначение регистров в программе трансляции.
Сначала происходит очистка регистров (см. блок 28 на фиг. 5), затем запись (ЗП) в регистр 1 (per. 1) и per. 2 начального адреса блока 4 паоперанд образуется путем прибавления, константы 160000g к коду ОООХХХ,,гдё константа является начальным адресом блока 6 памяти состояний, XXX 2 (O00...177g) - код, содержащийся в разрядах 0...6 инструкции ИсРП .(гм. табл. 1). Операнд приемника (третье слово команды) представляет собой код
мяти, т.е. кода 0 00008 (см. блоки 29 10 О0...001, О0...010г, 00...100 и
15
и 30 на фиг. 5), запись в per. 3 и per. 4 начального адреса блока 5 памяти ТрРП, т.е. кода 0600009 (блоки 31 и 32), после выполняется программа трансляции первой ЛЦ ИсРП.
Программа трансляции одной ЛЦ состоит из следующих подпрограмм:
подпрограммы последовательной трансляции (блок 32);
подпрограммы дополнения (блок 34); 20
подпрограммы ветвления (блок 35).
При выполнении программы трансляции в ПК происходит постоянный контроль конца ЛЦ, что будет рассмотрено ниже, при этом также осуществляется проверка на появление инструкции КОНЕЦ ПРОГРАММЫ ( - В - ) , выявление которой обеспечивает окончание программы трансляции.
т.д., образующийся в соответствии с кодом, содержащимся в разрядах 7... 10 инструкции ИсРП (см. табл. 1), и соот ветствующий адресу бита в слове состояния .
Например, для инструкции -К-24168 операнд источника будет 160050 t (50 есть результат двоичного умножения 24 на 2); а операнд приемника - 0100... Oj
Команда NOP занимает одно слово и используется для резервирования ячейки памяти, которая понадобится при выполнении подпрограммы ветвления. После этих операций осуществляется ана- 25 лиз: находится ли данная инструкция в ЛВ (блок 40), затем содержит ли инструкция элемент t, а также в определенном случае анализируется четность t. (блоки 41...43).
Подпрограмма последовательной тран-30 Примечание: Для более удобного понн- сляции основана на образовании базымания принципа выполнения
алгоритма на блок-схемах на линиях переходов обозначены элементы XI, Х2, ХЗ и т.д., которые соответствуют ЛЦ по фиг. 3. Результатом выполнения алгоритма на фиг. 7 является установка/сброс флагов 1 и 2 {блоки 44...46). Эта 4Q операция обеспечивает контроль ЛВ в ЛЦ и выявление в конечном итоге по- следней инструкции ЛЦ, что является необходимым условием трансляции РП по каждой ЛЦ. 45 Если считанной инструкцией ИсРП
ТрРП одной ЛЦ и осуществляется следующим образом (см. фиг.. 6...9Л Операционный блок 1 в соответствии с программой трансляции сначала считывает (ЧТ) инструкцию ИсРП из блока 4 памяти по адресу, указанному в per. 1, и осуществляет ее анализ (блоки 36, 37 на фиг. 6)
Если считанная инструкция ЛИНИЯ, то происходит переход на считывание последующей инструкции ИсРП (на блок 36). Если считанная инструкция относится к группе ВХОД, то осуществляется запись в ячейки блока 5 памяти .ТрРП по адресу, указанному в per. 3,
35
алгоритма на блок-схемах на линиях переходов обозначены элементы XI, Х2, ХЗ и т.д., которые соответствуют ЛЦ по фиг. 3. Результатом выполнения алгоритма на фиг. 7 является установка/сброс флагов 1 и 2 {блоки 44...46). Эта 4Q операция обеспечивает контроль ЛВ в ЛЦ и выявление в конечном итоге по- следней инструкции ЛЦ, что является необходимым условием трансляции РП по каждой ЛЦ. 45 Если считанной инструкцией ИсРП
является инструкция fT , то сбрасы. команды BIT, ,а в последующую ячейку- вается флаг 1 (блок 47 на фиг. 6). команды NOP (блоки 38,- 39 на фиг. 7). Если считанная инструкция ИсРП отноКоманда BIT занимает три слова, при этом в первом слове задается код ко- манды и метод адресации операнда источника и операнда приемника, причем операнд источника задается абсолютным
сится к группе ВЫХОД, то содержимое g- per. 8 увеличивается на единицу (блок 48 на фиг. 8), затем анализируется тип инструкции (блок 49). пя элементов -о- или --0- происходит увеличение содержимого per. 13 на едика - непосредственным. Операнд источ- 55 ицу (блоки 50 и 51). Для элементов ннка (второе слово команды) представ- -©-или -О-в последующие ячейки
блока 5 памяти ТрРП записывается команда BIS (блок 52), где операнде источника является адрес слова состозг
методом адресации, а операнд приемниляет собой адрес ячейки блока 6 памяти состояний, в которой хранятся слова состояния каналов В/В. Данный
операнд образуется путем прибавления, константы 160000g к коду ОООХХХ,,гдё константа является начальным адресом блока 6 памяти состояний, XXX 2 (O00...177g) - код, содержащийся в разрядах 0...6 инструкции ИсРП .(гм. табл. 1). Операнд приемника (третье слово команды) представляет собой код
5
0
т.д., образующийся в соответствии с кодом, содержащимся в разрядах 7... 10 инструкции ИсРП (см. табл. 1), и соответствующий адресу бита в слове состояния .
Например, для инструкции -К-24168 операнд источника будет 160050 t (50 есть результат двоичного умножения 24 на 2); а операнд приемника - 0100... Oj.
Команда NOP занимает одно слово и используется для резервирования ячейки памяти, которая понадобится при выполнении подпрограммы ветвления. После этих операций осуществляется ана- 5 лиз: находится ли данная инструкция в ЛВ (блок 40), затем содержит ли инструкция элемент t, а также в определенном случае анализируется четность t. (блоки 41...43).
Примечание: Для более удобного понн- мания принципа выполнения
алгоритма на блок-схемах на линиях переходов обозначены элементы XI, Х2, ХЗ и т.д., которые соответствуют ЛЦ по фиг. 3. Результатом выполнения алгоритма на фиг. 7 является установка/сброс флагов 1 и 2 {блоки 44...46). Эта операция обеспечивает контроль ЛВ в Ц и выявление в конечном итоге по- следней инструкции ЛЦ, что является необходимым условием трансляции РП по каждой ЛЦ. Если считанной инструкцией ИсРП
вляется инструкция fT , то сбрасы11153701612
яния соответствующих каналов вывода, ной ЛЦ проанализированы (блок 78), а операндом приемника - код 00...0012, при этом осуществляется сравнение со- О0...010г, 00...100J, ...или 10... держимых per.12 и 13. Если элемент
-о-/-0 не последний в ЛЦ, то в последующую ячейку блока 5 записывается команда ВСС, и происходит переход на считывание последующей инструкции ИсРП (блоки 79, 68), иначе в последую10 щую ячейку блока 5 записывается команда CLC (блок 80), содержимое per. 3 переписывается в per. 5, per, 2 в i per. 1, а содержимое per. 4 в per. 3 (блоки 81...83) и происходит выход из
000г, соответствующий адресу бита в слове состояния канала вывода данной инструкции. Для элементов -0- или -0-аналогичным образом записывается команда BIG с соответствующими операндами (блок 53).
После этого осуществляется анализ на наличие ЛВ, четность t наличие t (блоки 54...58), в результате чего происходит установка/сброс флагов 1
и 2 (блоки 59, 60) или же запись со- § данной подпрограммы, держимого per, 3 в per. 5, per, 8 в g результате выполнения подпро- рег. 7, в per. 12, и выход граммы дополнения, например, для ЛЦ 1 -из подпрограммы последовательной тран- и ЛЦ 2 на фиг. 3, в ячейки блока 5 сляции (блоки 61...63).
В результате последовательной трансляции, например,гЛЦ1 на фиг. 3, в ячейках блока 5 памяти ТрРП получится базовая ТрРП, схема которой представлена на фиг. 9. В табл. 3 представлено содержимое регистров после выполнения данной подпрограммы. - Подпрограмма дополнения выполняется в том случае, если ЛЦ ИсРП содержит элементы -О-/-0-, т.е. содержимое per. 12 не равно О вляется переход на подпрограмму ветвления I (см. блок 34 на фиг. 5).
В подпрограмме дополнения ТрРП данной ЛЦ дополняется новыми командами. Сначала осуществляется возврат на начало ЛЦ ИсРП (блок 64 на фиг.10), затем очистка per. 13 и запись в ячейку блока 5 памяти ТрРП по адресу, указанному в per. 3, команды BR
с операндом, равным 5м, где п - коли- 40 ленных на фиг. 3, а в табл. 6 - виды чество инструкций с элементом-о-/-0-, переходов.
т.е. содержимое per. 12 (блоки 65,66). Подпрограмма ветвления выполняется После этого осуществляется поиск в следующим образом. ИсРП данной ЛЦ инструкции с элемен- Сначала осуществляется очистка тами -О-/-0- (блоки 67...71). Если 45 per. 8 и 13, затем считывается инст- выявлена инструкция с элементом -О-, рукция ИсРП данной ЛЦ по адресу,ука- то в содержимое per. 13 добавляется занному в per. 1jи производится ее единица (блок 72), а в последующие анализ (блоки 84...86 на фиг. 12). ячейки блока 5 памяти ТрРП записыва- Если инструкция относится к группе ются команды SEC и BIC, при этом one- 50 ВХОД, то содержимое per. 3 увеличит ранды соответствуют номеру канала вывода (блоки- 73, 74). Если же выявлена инструкция с,-элементом ф , то аналогичным образом в содержимое
per. 13 добавляется единица (блок 75)т 55 наличия t . При этом в результате и в ячейки блока 5 записываются ко- анализа происходит установка/сброс манды SEC и BIS (блоки 76, 77). флагов 1 и 2 (блоки 89...91, или блоПосле этого проверяется все ли ин- ки 89, 92...94, или блоки 89, 92, 95, струкции с элементами -с-/-0-в дан- дб на фиг. 13). Если процесс выполнезапишутся команды ТрРП, схема распо- 20 ложения которых представлена на
фиг. 11, а в табл. 4 - содержимое регистров.
Подпрограмма ветвления является заключительной в программе трансля- 25 ции и обеспечивает заполнение ячеек блока 5 памяти ТрРП командами ветвления, т«е. командами условных переходов по адресу на величину смещения, указываемого в операнде команды. Ос, иначе осущест- 30 нову подпрограммы составляет определение величины смещения: на какую величину должен измениться адрес для перехода на последующую команду ТрРП, пропустив обработку инструкций, сос- 35 тояние каналов В/В которых не влияет на результат обработки ЛЦ.
В табл. 5 приведены условия перехода от обработки одних инструкций ИсРП к другим для всех ЛЦ, представвается на три единицы (блок 87) и переписывается в per. 4 (блок 88). Далее в соответствии с табл. 6 происходит анализ наличия ЛВ, четности t,
дующую ячейку блока 5 записывается команда ВСС, и происходит переход на считывание последующей инструкции ИсРП (блоки 79, 68), иначе в последую, щую ячейку блока 5 записывается команда CLC (блок 80), содержимое per. 3 переписывается в per. 5, per, 2 в i per. 1, а содержимое per. 4 в per. 3 (блоки 81...83) и происходит выход из
данной подпрограммы, g результате выполнения подпро- граммы дополнения, например, для ЛЦ 1 и ЛЦ 2 на фиг. 3, в ячейки блока 5
Подпрограмма ветвления выполняется следующим образом. Сначала осуществляется очистка per. 8 и 13, затем считывается инст- рукция ИсРП данной ЛЦ по адресу,ука- занному в per. 1jи производится ее анализ (блоки 84...86 на фиг. 12). Если инструкция относится к группе ВХОД, то содержимое per. 3 увеличит
наличия t . При этом в результате анализа происходит установка/сброс флагов 1 и 2 (блоки 89...91, или бловается на три единицы (блок 87) и переписывается в per. 4 (блок 88). Далее в соответствии с табл. 6 происходит анализ наличия ЛВ, четности t,
ния алгоритма проходит по блокам 89, 90, 91, то следующей операцией является анализ наличия в ЛВ инструкции с элементом -о-/- 0-(блок 97).
Алгоритм анализа на наличие в ЛВ элемента-о-/ -0-(блок 97) выполняется следующим образом.
Происходит считывание последующих инструкций ИсРП, пока не появится элемент -о-/- ф( блоки 98... 101 на фиг. 14) или элемент t (блоки 98, ...,100, 102, 103). В -первом случае выполнение подпрограммы ветвления переходит на поиск-T.V (см. блок 104 на фиг. 13 и табл. 6), во втором случае - на поиск-11 (блок 105). В обоих случаях при этом происходит восстановление адреса анализируемой инструкции ИсРП (блоки 101 и 103 на фиг. 14).
Если процесс выполнения алгоритма проходит по блокам 89, 90 или 89, 92...94, то выполнение подпрограммы ветвления переходит на поиск-I (см. блок 106 на фиг. 13 и табл. 6).
Бели процесс выполнения алгоритма проходит по блокам 89, 92, 95, то- следующей операцией является анализ наличия в ЛВ элемента -о- /- 0 - (блок 107). Данный анализ осуществляется по аналогичному алгоритму (см. фиг.4) В случае наличия элемента -о-/- 0- в ЛВ процесс выполнения подпрограммы ветвления переходит на поиск-IV (блок 104). Иначе осуществляется считывание последующих инструкций ИсРП и их анализ, пока не появится инструкция группы ВХОД (блоки 108, 109 на фиг. 13). Затем восстанавливается адрес анализируемой инструкции (блок 110) и осуществляется анализ на наличие Ј. в данной инструкции (блок 111). В результате анализа выполнение подпрограмм ветвления переходит на поиск-11 (блок 105) или на поиск-Ill (блок 112).
Поиск-I (блок 104)) выполняется следующим образом. Сначала содержимое per. 3 увеличивается на единицу (блок 113 на фиг. 15), затем считывается последующая инструкция ИсРП и анализируется (блоки 114, 115). Если инструкция относится к группе ВХОД, то содержимое per. 3 увеличивается на 4 единицы, и считывается последующая инструкция ИсРП (блоки 116, 114). Если инструкция относится к группе ВЫХОД, to содержимое per. 8 увеличивается на единицу и анализируется тил элемента (блоки 117, 118). Для эле- мента -О -/-0 содержимое per. 3 увеличивается на 3 единицы, анализируется: последняя ли инструкция группы ВЫХОД в данной ЛЦ (блоки 119, 120), , и если нет, то происходит переход на считывание последующей инструкции
ИсРП (на блок 114). Для элемента
-о-/-0-содержимое per, 13 увеличивается на единицу, и считывается, команда из блока 5 по адресу в per. 3 (блоки 121, 122).Данной командой являвтся команда BIS/BIC с операндами, соответствующими инструкции -о- Л-0-. Операнды записываются в per. 10 и 11 (блок 123), и производится анализ команды (блок 124 на фиг. 16).
Если выявлена команда BIS, то дальше осуществляется поиск команды BIC с такими же операндами, которая находится в дополнительной части ТрРП (блоки 125...127). Если же выявлена
команда BIC, то дальше осуществ-, ,лпется поиск команды BIS с такими же операндами (блоки 128...130).
После этого вычисляется величина
смещения, при этом содержимое per.4 вычитается от содержимого per. 3, разность уменьшается на 5 единиц, и результат записывается в per. 9 (блок 131). Затем восстанавливается адрес
ячейки ТрРП, относящейся к анализируемой инструкции ИсРП, в которой записана команда NOP (блок 132), анализируется тип элемента исходной инст-. рукции (блок 133).
Если тип элемента есть -Ц-, то в блок 5 ТрРП вместо команды NOP записывается команда BEQ, и величина сме- щения из per. 9 (блок 134). Если же тип элемента есть -tf , то аналогичным образом записывается команда BNE
(блок 135).
После этого содержимое per. 3 и 2 увеличивается на единицу, содержимое per. 2 записывается в per. 1 (блоки
136...138), и на этом операция поиск-t завершается, а подпрограмма ветвления переходит на считывание и обработку последующей инструкции ИсРП (на блок 85 на Фиг. 12).
Поиск-II (блок 105) выполняется - следующим образом. Сначала содержимое per. 3 увеличивается на единицу (блок 139 на фиг. 17), затем осуществляется поиск инструкции группы ВХОД с зле-
151537016
ментом t (блоки 140...142). Если такая инструкция выявлена, то определяется величина смещения, которая записывается в соответствующую ячейку блока 5 ТрРП с командой BEQ/BNE (блоки 143...146 или 143...145, 147), пос ле этого происходит инкремент per.2 и 3, запись содержимого per. 2 в рег.1
16
Если выявлен элемент -О-/-0- , то содержимое per. 13 увеличивается на единицу (блок 181 на фиг. 20), а далее осуществляется поиск команды BIG/ /BIS в дополнительной части ТрРП, Соответствующей команде BIS/BIG элемента o(f с одинаковыми операндами (блоки 182...187/182...184, 188...
(блоки 148...150) и переход на ечиты- ю 190). После этого определяется вели
ванне последующей инструкции ИсРП (на блок 85 на фиг. 12).
Поиск-Ill (блок 112) выполняется следующим образом. Сначала осуществляется поиск инструкции Т (блоки 151, 152 на фиг. 18). Затем, при появлении инструкции 3f в per. 3 добавляется единица, и происходит поиск инструкции группы ВХОД или ВЫХОД (блоки 153...155). При обнаружении пос- ледней происходит определение величины смещения (блок 156), восстановление адреса ячейки блока 5, соответствующей анализируемой инструкции ИсРП (блок 157) и анализ типа элемента анализируемой инструкции (блок 158). Далее, если выявлен элемент -И-, то в ячейку блока 5 записывается команда ВНЕ с соответствующей величиной смещения, иначе - команда BEQ (блок 159 или 160). После этого происходит уве- ричение содержимого per. 2 и 3 на единицу и переход на адрес последующей инструкции ИсРП для ее обработки (блоки 161...163, 85).
Поиск-IV (блок 104) осуществляется следующим ббразом. Сначала осуществляется поиск инструкции группы
Если же выявлен элемент -о-/-$2- ,то содержимое per. 12 уменьшается на единицу (блок 198) и, если элемент О-(Р- не является последним в ЛЦ, то осуществляется поиск команды BIG/ /BIS в дополнительной части ТрРП, соответствующей команде BIS/BIC элемента с одинаковыми операндами (блоки 199...205/199...202, 206... 208). Затем анализируется последующая инструкция ИсРП (блоки 209, 210 на фиг. 22). После этого определяет-
ВЫХОД (блоки 164, 165 на фиг. 19), затем содержимое per. 3 и 8 увеличивает-40 ся величина смещения (блок 211) и по ся на единицу (блоки 166, 167), и ана- адресу, указанному в per. 3, в блок 5 лизируется тип элемента инструкции
1„
записывается величина обратного смещения в дополнительном коде для ко- манды ВСС (блок 212) или же в блок 5 записывается единичное смещение (блоки 213...215). Затем восстанавливается адрес ячейки блока 5 памяти ТрРП, соответствующий проанализированной инструкция ИсРП, происходит увеличение содержимого per. 2 и 3 на . единицу, восстановление адреса последующей инструкции ИсРП и переход на ее обработку (блоки 216...219, 85).
группы-ВЫХОД (блок 168). Если выявлен элемент -G-f-ф-, то проверяется последняя ли инструкция с этим элемен- том в ЛЦ (блоки 169, 170). Если ЛЦ не завершена, то далее осуществляется поиск инструкции группы ВХОД или ВЫХОД с элементом - о-/- 0 - (блоки 171, 172).
Если появится элемент группы ВХОД, то определяется/величина смещения, и аналогичным образом в ячейку блока 5 записывается команда BEQ или ВЫЕ (блоки 173...176 или 173...175, 177), и происходит переход на обработку последующей инструкции ИсРП (блоки 178...180, 85).
16
Если выявлен элемент -О-/-0- , то содержимое per. 13 увеличивается на единицу (блок 181 на фиг. 20), а далее осуществляется поиск команды BIG/ /BIS в дополнительной части ТрРП, Соответствующей команде BIS/BIG элемента o(f с одинаковыми операндами (блоки 182...187/182...184, 188...
5
0
чина смещения (блок 191), и в ячейку блока 5 аналогичным образом записывается команда BEQ/BNE (блоки 174... 180.на фиг. 19).
Если при выполнении подпрограммы ветвления исходной инструкцией является инструкция группы ВЫХОД, то содержимое per. 7 уменьшается на единицу и переписывается в per. 8 (блоки 86, 192, 193 на фиг. 12), а содержимое per. 3 - в рзг. 4 (блоки 194). Далее анализируется тип инструкции (блок 195 на фиг. 21). Если выявлен элемент-©-/-0- и он не является по- 5 сладким в ЛЦ, то ПРОИСХОДИТ переход на считывание последующей инструкции ИсРП (блоки 196, 197, 85).
Если же выявлен элемент -о-/-$2- ,то содержимое per. 12 уменьшается на единицу (блок 198) и, если элемент О-(Р- не является последним в ЛЦ, то осуществляется поиск команды BIG/ /BIS в дополнительной части ТрРП, соответствующей команде BIS/BIC элемента с одинаковыми операндами (блоки 199...205/199...202, 206... 208). Затем анализируется последующая инструкция ИсРП (блоки 209, 210 на фиг. 22). После этого определяет-
0
5
0 ся величина смещения (блок 211) и по адресу, указанному в per. 3, в блок 5
ся величина смещения (блок 211) и по адресу, указанному в per. 3, в блок 5
1„
записывается величина обратного смещения в дополнительном коде для ко- манды ВСС (блок 212) или же в блок 5 записывается единичное смещение (блоки 213...215). Затем восстанавливается адрес ячейки блока 5 памяти ТрРП, соответствующий проанализированной инструкция ИсРП, происходит увеличение содержимого per. 2 и 3 на . единицу, восстановление адреса последующей инструкции ИсРП и переход на ее обработку (блоки 216...219, 85).
По завершении подпрограммы ветвле- ния данной ЛЦ .происходит переход на подпрограмму последовательной трансляции последующей .ЛЦ (блоки 220... 222, 33 на фиг. 5). Этот процесс продолжается до появления инструкции
-Й-, после чего ПК переходит на программу диагностики (см. фнг. 2).
На фиг. 23-37 представлен фрагмен ТрРП, соответствующий ЛЦ1 и ЛЦ2 по фиг. 3, полученный в результате выполнения программы трансляции.
Программа диагностики состоит из следующих подпрограмм:
-подпрограммы проверки памяти ТрРП на несуществующие команды;
-подпрограммы проверки полноты ТрРП.
Первая подпрограмма выполняется путем сравнения кода команд ТрРП с существующим набором команд, хранящимся в блоке 2 памяти. При положительном результате диагностики по данной подпрограмме осуществляется подпрограмма проверки полноты-ТрРП. Для этого осуществляется последо- , вательное считывание всех инструкций ИсРП и подсчет количества К инструкций группы ВХОД, количества L инструкций группы ВЫХОД и количества М инструкций с элементами -о- и - 0- , После этого вычисляется объем Р памяти ТрРП по формуле:
Р - 4К + 3L + 5М +
М М
М
где гг 0 или t - отсутствие/наличие
30 Х22, Х24, Х25, Х26, Х27, Y6, Y7 и далее ХЗО. Действительно, обращаясь к фиг. 22, сначала считывается команда BIT по адресу 060252g, в результате ее выполнения производится анализ бита
35 состояния канала ввода для инструкции с элементом Х14 и установка флага Z в операционном блоке 1. При выполнении следующей команды BEQ обеспечивается переход на адрес по величине смекоманды BR.
Например, для ИсРП, представленной на фиг. 3, объем ТрРП будет 196 слов. Необходимо отметить, что объем памяти ТрРП примерно в 4 раза больше, чем объем памяти ИсРП.
Если результат диагностики отрицательный, то происходит останов работы до щения, в данном случае переход на вы- ПК, иначе осуществляется переход на полнение команды BIT, соответствующей следующую программу - обмена В/В (см. инструкции с элементом Х17. При вы- фиг. 2). Данная программа обеспечнва- полнении этой команды флаг 2 сбрасы- ет вывод данных из первой области вается, тогда следующая команда BEQ блока 6 памяти в каналы вывода и за- 45 обеспечивает переход на считывание последующей команды из блока 5 памяти .ТрРП. В табл. 8 приведены таги выполнения ТрРП для ЛЦ2 в предложенном приполнение второй области блока 6 памяти данными о состоянии каналов ввода, при этом первоначально из первой области памяти выводятся данные, соответствующие нулевому результату.
Программа обработки осуществляется следующим образом. В счетчик ко- Йанд операционного блока 1 записыва- .
мере.
UQ Таким образом, процесс обработки РП происходит путем пропуска отдель- ных команд (инструкций),,которые не изменили бы результат обработки, даж если бы они последовательно считывается адрес первой ячейки блока 5 памяти ТрРП, т.е. код 060000g, после §5 лясь и обрабатывались, чего по данному адресу операционный
блок 1 считывает первую команду и (Формула изобретении осуществляет обработку РП в соответст- Программируемый контроллер, вии с данной командой. Затем последо- жащий операционный блок, блок памяти
вательно считывается очередная команда или же происходит переход по смещению на определенную последующую ко- манду и т.д. до появления команды JMP, соответствующей инструкции -S- . Тогда ПК переходит на программу мена В/В, а затем снопа на программу обработки. Циклы обработки и обмена
В/В повторяются.
В табл. 7 приведено назначение команд ТрРП.
В качестве примера рассматривается обработка ТрРП соответствующей ЛЦ2,
5 приведенной на фнг. 3. Предполагается, что состояния каналов ввода, соответствующие элементам Х17, Х18, X2t, X22,i Х26, Х28 и Х29 равны лог. 1, а состо- яния остальных каналов ввода равны
0 лог.U. Результатом такого предположения является то, что состояние канала вывода, соответствующее элементу Y5, не изменится, состояния каналов вывода, соответствующие элементам Y6 и Y7,
5
О, для Y8 - не изстанут равными лог. менится.
В соответствии с табл. 5 обработка РП по ЛЦ2 будет осуществляться только по элементам XtA, XI7, Х18, Х19, X2t,
0 Х22, Х24, Х25, Х26, Х27, Y6, Y7 и далее ХЗО. Действительно, обращаясь к фиг. 22, сначала считывается команда BIT по адресу 060252g, в результате ее выполнения производится анализ бита
5 состояния канала ввода для инструкции с элементом Х14 и установка флага Z в операционном блоке 1. При выполнении следующей команды BEQ обеспечивается переход на адрес по величине смещения, в данном случае переход на вы- полнение команды BIT, соответствующей инструкции с элементом Х17. При вы- полнении этой команды флаг 2 сбрасы- вается, тогда следующая команда BEQ обеспечивает переход на считывание последующей команды из блока 5 памяти .ТрРП. В табл. 8 приведены таги выполнения ТрРП для ЛЦ2 в предложенном примере.
Таким образом, процесс обработки РП происходит путем пропуска отдель- ных команд (инструкций),,которые не изменили бы результат обработки, даж если бы они последовательно считывалясь и обрабатывались,
рабочей программы, блок памяти управляющей программы, регистр, дешифратор, три элемента И, первый элемент ИЛИ, tpn элемента согласования и блок памяти состояний, причем операционный блок соединен через шину адреса данных с информационными выходами блока памяти рабочей программы, с информацимлти рабочей программы и выборки бло ка памяти состояний, а выходы с первого по третий элементов согласовани подключены к входу синхронизации оп рационного блока, отличающи с я тем, что, с целью повышения бы стродействия, контролллер содержит блок памяти программы транслятора,
онмыми выходами блока памяти управляю- блок памяти транслированной рабочей
J5
щей программы, с информационными входами-выходами блока памяти состояний и с информационными входами регистра, выходы которого соединены с адресными входами «.блоков памяти рабочей программы,управ-i ляющей программы и состояний и с ин формационными входами дешифратора, с адресными входами блоков памяти управляющей программы и состояний, причем уп выход управления считыванием опера циоиного блока подключен к первым входам первого и второго элементов И и первого элемента ИЛИ, выход управления записью операционного блока под- 25 ключей к второму входу .первого элемента ИЛИ и к входу управления записью/считыванием блока памяти состояний, выход формирования начала цикла операционного блока подключен к син- ,« хровходу регистра, первый выход дешифратора подключен к второму входу первого элемента И и к входу выборки блока памяти управляющей программы, второй выход дешифратора подключен к второму входу второго элемента И и к входу выборки блока памяти рабочей программы, третий выход дешифратора прдключен к первому входу третьего элемента И, второй вход которого подключен к выходу первого элемента ИЛИ, выходы первого, второго и третьего элементов И подключены к входам соответственно первого, второго и третьего элементов согласования и к входам соответственно управления считыванием блока памяти управляющей програм- ы, управления считыванием блока папрограммы, четвертый и пятый элементы И, четвертый и пятый элементы со ласования и второй элемент ИЛИ, при этом адресные входы блоков памяти программы транслятора и транслирова ной рабочей программы соединены с выходами регистра, информационные выходы блока памяти программы транс лятора и информационные входы-выходы блока памяти транслированной рабоче программы соединены через шину адре са данных, выход управления считыва нием операционного блока подключен к первым входам четвертого элемента и второго элемента ИЛИ, выход управ ления записью операционного блока подключен к второму входу второго элемента ИЛИ и к входу управления записью/считыванием блока памяти транслированной рабочей программы, четвертый выход дешифратора подключен к второму входу четвертого элем та И и к входу выборки блока памяти программы транслятора, пятый выход дешифратора подключен к первому вхо ду пятого элемента И, второй вход к торого подключен к выходу второго элемента ИЛИ, выходы четвертого и п того элементов И подключены и входа соответственно четвертого и пятого элементов согласования и к входам с ответственно управления считыванием блока памяти программы транслятора выборки блока памяти транслированно 45 рабочей программы, а выходы четверт го и пятого элементов согласования подключены к входу синхронизации о рационного блока.
35
40
млти рабочей программы и выборки блока памяти состояний, а выходы с первого по третий элементов согласования подключены к входу синхронизации операционного блока, отличающий- с я тем, что, с целью повышения быстродействия, контролллер содержит блок памяти программы транслятора,
блок памяти транслированной рабочей
5
п 25 ,« программы, четвертый и пятый элементы И, четвертый и пятый элементы согласования и второй элемент ИЛИ, при этом адресные входы блоков памяти программы транслятора и транслированной рабочей программы соединены с выходами регистра, информационные выходы блока памяти программы транслятора и информационные входы-выходы блока памяти транслированной рабочей программы соединены через шину адреса данных, выход управления считыванием операционного блока подключен к первым входам четвертого элемента И и второго элемента ИЛИ, выход управления записью операционного блока подключен к второму входу второго элемента ИЛИ и к входу управления записью/считыванием блока памяти транслированной рабочей программы, четвертый выход дешифратора подключен к второму входу четвертого элемента И и к входу выборки блока памяти программы транслятора, пятый выход дешифратора подключен к первому входу пятого элемента И, второй вход которого подключен к выходу второго элемента ИЛИ, выходы четвертого и пятого элементов И подключены и входам соответственно четвертого и пятого элементов согласования и к входам соответственно управления считыванием блока памяти программы транслятора и выборки блока памяти транслированной 45 рабочей программы, а выходы четвертого и пятого элементов согласования подключены к входу синхронизации операционного блока.
35
40
ВХОД Опрос состояния бита на вклю- -If- чение
Опрос состояния бита на вы- -W- ключение
Адрес бита в слове
Адрес ячейки памяти в блоке б
23
15370TF
24 Таблица 2
название | год | авторы | номер документа |
---|---|---|---|
Программируемый контроллер | 1985 |
|
SU1509887A2 |
Программируемый контроллер | 1984 |
|
SU1453404A1 |
ФИЛЬТРАЦИЯ ПРОГРАММНОГО ПРЕРЫВАНИЯ В ТРАНЗАКЦИОННОМ ВЫПОЛНЕНИИ | 2012 |
|
RU2568923C2 |
СПОСОБ И СИСТЕМА ДЛЯ УПРАВЛЕНИЯ ВЫПОЛНЕНИЕМ ВНУТРИ ВЫЧИСЛИТЕЛЬНОЙ СРЕДЫ | 2012 |
|
RU2577487C2 |
СОХРАНЕНИЕ/ВОССТАНОВЛЕНИЕ ВЫБРАННЫХ РЕГИСТРОВ ПРИ ТРАНЗАКЦИОННОЙ ОБРАБОТКЕ | 2012 |
|
RU2562424C2 |
БЛОК ДИАГНОСТИКИ ТРАНЗАКЦИЙ | 2012 |
|
RU2571397C2 |
СИСТЕМА ВЗАИМОРАСПРЕДЕЛЕНИЯ РЕСУРСОВ | 2000 |
|
RU2188451C2 |
ВЫПОЛНЕНИЕ ВЫНУЖДЕННОЙ ТРАНЗАКЦИИ | 2012 |
|
RU2549112C2 |
КОМАНДА НА НЕТРАНЗАКЦИОННОЕ СОХРАНЕНИЕ | 2012 |
|
RU2568324C2 |
СРЕДСТВО РАЗДЕЛЕННОЙ ЗАГРУЗКИ/СОХРАНЕНИЯ И КОМАНДА ДЛЯ НЕГО | 2010 |
|
RU2554546C2 |
Изобретение относится к вычисли- тельной технике и предназначено для построения программируемых контроллеров (ПК). Целью изобретения является повышение быстродействия. ПК содержит операционный блок 1, блок 2 памяти управляющей программы, блок 4 памяти рабочей программы, блок 6 памяти состояний, подключенные к операционному блоку 1 посредством шины 22 адреса данных, блок 3 памяти программы транслятора и блок 5 памяти транслированной рабочей программы. Исходная рабочая программа из блока 4 преобразуется в транслированную рабочую программу, которая записывается в блок 5. При обработке рабочей программы ПК считывает команды из блока 5 и выполняет их,управляя объектом, подключенным к ПК, при этом выполняются только команды, изменяющие состояние управляемого объекта. 27 ил., 8 табл. .8
1Счетчик адреса ИсРП (автоинкрементальный способ адресации)
2Адрес начала ЛЦ ИсРП
3Счетчик адреса ТрРП (автоинкрементальный способ адресации)
4Адрес начала ТрРП данной ЛЦ
5Адрес начала дополнительной ТрРП данной Лц или начала ТрРП последующей ЛЦ
6Флаги: 1 - наличие ЛЦ
2 - четность t
7Количество инструкций группы ВЫХОД в ЛЦ
8Счетчик количества инструкций группы ВЫХОД вЛЦ
9Величина смещения для перехода по адресу ТО Операнд источника команды BIC или BIS
11Операнд приемника команды BIC или BIS
12Количество инструкций с элементами-о-/-0 в ЛЦ
13Счетчик количества инструкций с элементами -0-/-0-В ЛЦ
Таблица 3
Номер регистра
i;2
3,4 5 6
7, 8
...11
12,13
Адрес начала данной ЛЦ ИсРП
Адрес начала ТрРП данной ЛЦ
Адрес начала ТрРП последующей ЛЦ
Флаги сброшены
Количество инструкций группы ВЫХОД в ЛЦ
Количество инструкций с элементами -0-/-0- в ЛЦ
Таблица 4
Содержимое
Продолжение табл. 6
-U - в ЛВ, предьщу- XI8 щая t четная
Н|- в ЛВЬ предьщу- щая t нечетйая, в ЛВ нет «о-/- ф- последующая Х15 инструкция группы ВХОД
не имеет tПоиск-И инструкции .-группы ВХОД с Т
t-К- , t нечетная,
в ЛВ HeT-o-f-0-, по- Х2, Х 4, X19,
следующая инструкция Х31
группы ВХОД не имеет
t
-If- в ЛВ, предьщущая
Г нечетная, в ЛВ нет ХЗ, Х16, Х20,
-0-/-0- , последующая Х32
инструкция группы ВХОДПоиск III инструкции
имеет tгруппы ВХОД/ВЫХОД
----- после з
t-II- , t нечетная, в
ЛВ нет-0-/-0-, после- Х5, Х6, Х22
дующая инструкция
группы ВХОД имеет t
-f|- в ЛВ, предыдущаяПоиск IV о-(-ф
t нечетная, в ЛВ Х10, Х26 или -©-/-0- , а заесть -o-f-ф- тем инструкции груп ,,„,, вход или переход
t H-, т нечетная, Х9, Х12, Х24, на последующую ЛЦ
в ЛВ есть-о-/-0-Х25, Х28
Таблица
КомандаОперанд
--- . Функция
источника 1 приемника
BIT Адрес слова сое- Код, пропорциональный Проверка бита состояния: тояния канала адресу бита в слове если бит равен лог. О, то В/Всостояния канала В/В- .флаг Z устанавливается, если
бит равен лог. 1, то флаг Z сбрасывается
BIS Адрес слова сое- Код, пропорциональный
тояния .канала адресу бита в слове Установка бита - вывода состояния канала вывода
BIG To жеТо жеСброс бита
ВНЕВеличина смещенияПереход, если флаг Z О
Фиг.З
tnineciiuil
agptc
ОМОН 040011
mass
04007
ош
0406П M057f
оьоюо
040102 040V4
owns
«01(0 6WW. 0401Г4
«81IJ
WfflW
«оггг
040Ki ЖОШ 040Ш 0450 «ОШ QWQ
Фиг
ч ук - посяедо6атвиьиоя трансляция
чнг.тпмшш и on
Инструкция ™Ьт
С ftwgtf J
С ночам ) j;
tt Oiuifttm pttvem/ef
„ГЖТлмГГ {.yew
иачаяыагв tgpete
M ( Jfl «fH. 2 tesitmeHmfH. I
«Г
1Л 5 pflt J «Tfff/frVffW
ih ст
(ю.(т.з)
„ I nocjttgoloimtmo « l тронехчча
47 ggpggtfffyft идгf J tf
29
1537016
30
Пооцолжение табл.7
команду
-tfХ26
137 140
060420 060426
-ОY6
164 167
060506 060514
t - IIХ27 О
144 147
060436 060444
BIT Сброс флага Z BNE Переход по величине смещения +23
BIC Сброс бита ВСС Переход по величине смещения -22
BIT Установка флага Z BEQ Переход по величине смещения +20
44
34 Наличием j
56 { Наличие t
1 р ДНР«зМ
вг (fei.7h(pR.e)
g {{рег.
С вымд 3
Фиг. 7
Да yf...y&y/g 1
551 Vemmcmtf
urn yt...S3.8t.ff
L
Jfy HOAWfftt j
л
Установит Ф/iati
I Сбросать I флага let
(ftaivvpctw адрес
ТТгДТяГС
| NOPj
3
W - вп | Е хз
{ ОТР t
gir i s C
ЕжЕЖСИЗ
j NOP 1
ЛГГ 1 sXfl
3
NOP} ВП Е 7
iropj
BfT t а Лб
дополнение
С Блок JA
(per.f)+-(pes.2)
Очистка рег.8,13
ЗП в емок S то РП по адресу а рел.З команды BR
±
ЧТ инстр.ИсРП по адресу в рег. 1
68
Группа
нет
-л i инкреггент та I (рег.в)
70 Tun злепента
Ла
8Э(рег.З)-(рег4)
7У| конец лц Г faft{P#$t-Aa
Q/r |«tf I 1
.
ягг hxtoT
3
JA ggl
д/5 i
3
Qir |aXf/ I J
; I а У2 Ij
дг г| х |I Г отя I
BIC I a 93
I ML. I1
(Pi/g.3
недаю- у блоWif/ft
( Выхвё}
Фиг.Щ
I SR +10
ПкП
I ВГС I gftfTI
I BfC I 51/7 CLC |
J
Фиг. Л
С блок 35 ) -f Ветвленм ij.
Фиг. К
raw
ХЗ,15,5,МО,М2, X15.X1S,X}ff,X20. XZt, X2S, X26, Х2в
Шичие JIB a ,3
Ълк1
AV « Л p
Me JUS... Ш, ...Х2Э
нет V, П, X0t x9, x/4,X
92 Четность t {
gp наличие t
нет
91 97
MS Г Поиск-В
Фиг. и
g$ Наличие t
«гт
Г5, Xff, Xf,
Х,Д2.
Х25,28
Сбросать флаг 2
±
Наличие 8 Лв -0/-J&
нет , (выход )
XJ.X5.X6,
xf5, х«. xfg.
Хй
осяедующеА прукциа
чтпаскедую(
инст,
HcPi
М | Наличие Т лг/я
т
П2 Поиск-Щ
С бмя W6 ) -{Поиск-1
Инкренент(рещ -Е
УГ последующей инструкции неРП
1151 Группа
нет
и I Инкремент . W UtibS) на 6 еО.
7/7
инкрепент (рее. 8)
П6 Тап элемента
иикрепеит (рее. 13)
TJT xt панды из блока s по поре- сд врег.з
на инкрепент I (pee.Jjffff Jeff.
120 Конец т |
т
зп операнды коноиды в /fee. ю и 11
С блок 97(1НГ)- -{Нолоюе-О -0. § ЛЬ
±
ЧТ последующей инструкции Ис РП
fSff Тип злетита
1
1
I Boufog 1 3 С D Фаг. W
фаг. tf
« VT яосаедумшеи LKtHoiiw Tppg
ф§ йне/iia пнонды Ktn
Ш1Сравнено оперонаоН I t7petiti)ii {peRiQ
Ранни
w |fpf.s - -frWfi t ;-5|
L 1 - Т1--ИЛ
VJ.L - I - - - - ---WJ (pit.J)(Pet.)
Ю17ir/7 менента иывдШ itntmpfiivw HcPf
)-(ftwr-J Г39Г Ннкрепнт pst,3T
JE
м чтякм9утв И
Т f flW / CjfyVW4VV
окстругиои Hem
f4 ttei№ptiiHpK n (рег.З)- fpc&u/
...I Tun 9fltпентв 1Х оенеО i«J I i/HcmPi/Kuuv He PIT j
iff 0 OTW rf no адресу if рег. З кянанци tiff в величины епешенив из aet.t,
ft6 анализ ынанды|
,,, Сровнено one рая fat I (pettO)ujtf&.n) -I
gg Hmcptntmn tfet.3) 07 ( Инкренект
Фиг,
Ов (fei.l)-( 16
J
„„ (jitmrf.-t-
X3,XtS.fff,X2l
№8™ I
«в
за rfmrt nt L epn.3irofioManlffOe вишчоны смешение
1Щ Инкренанп (ptt.i) I П9 Г Ннкренена (ptt.Q J
i5tnf t-n - (pn-v П
0
Фаг. W
С блок №)--{Поиск-Щ Jt
ЧТ пвиеддюшег инструкции Не РП
152 Анализ инструкции
ЧТ последующей инструкции ИсРП
Ипкрепент (рег.3) Ј
никое нент (рег.З) на 4 единицы
1S6 1рк.9Нрег.эИрк.Ц-1 .()-(рее.4)
tS7 15В
Тип,элепента исхоо ной инструкции НеРП
163 ГТрег./Мрег.г) |
Фиг. 18
С ДдуяЮ Е
JfnoucK-Jj
ГТ
ЧТ лослейугвщеи инструкции ИсРП
165
группа
Да
166 Инкремент (рег.3) |
т (рег.9}+-1регЗНрег.)-1
L
Фиг. 19
Инкрепент (рег.З) на 4 единицы
16Q Ш
Инкрепент (рег.З) на 3 единицы
конец ли
Ла
vr последующей инструкции ИсРП
f74t (рег.3)- (регл)
17S
Тип злемеита исходной инструкции нерп
mm
178 Инкоенент (PR.3)
179 Инкрепент (рег.2) 1 180(pee.t)+-(pee,n
7
Т.
lit Никреныа (pet. 13f
М pf Г м I П9 Ofpttf Iftt.
иб/iotaS
,.. 1ля операндов мнакуа ni 8 pet.toittt
И41 анализ тнацы
мГ ЧТ поелеауащеа команда ТрРП
181 j JjHe/ios команды
«м I Сравнение операндов mle(pft.iOli(pet.il)
№S Tog wcmpq itm
m
UKKptntHm (рег.3) .
Jl fSUMV/ubt I I99
ЛИ
W j
Конец Ли
С Вмявв )
ыил чт пяслеауящев °Pl ктоиумЪШ
ЧГ пвслгдаюшеЛ fyn I
5
fgg I Янаш глюндн
««
.« I Сравнение операндов 187 c{pet.r0).it)
нет
tet | «P f/ gzJJ-fp«4 -4 (m
Kern
.
I99
W j Де репент (pee. 12) fef -O-/-0- |
т
ЧГ капонды из алока д по адресу в рп.3
™ yjgW,
команды
М2 Анализ Korto g
til (ptt.9)(pCt.)
I p II.W Инкренснт (petd t№ Интим ( m(fct.t)-(
Фиг. 22
Физическ адрес
OBSQOOg
050005
060010
080016
0600M
060026
060030
060036
660046
060050
060056
060Ш
060066
060070
060076
066106
Свв (16
Qftqntat уенгбмя Фаг. 23
Физической адрес
0603%
0603SQ
0(0352
060360
060362
060370
mm
06CW8 590402
team oswe
OBOH2S
шш
060US
даям
860MS 0И«
изический адрес
omssg
тзт обот
Ј 60«74
06SSOZ
06Q5M
ОбОШ 0605J4 0605Г5 060520 060526 0(0530
Редактор Н. Каменская
Составитель Ю. Ланцов
Техред Д.Кравчук Корректор В. Гирняк
Фае. 11
Патент США № 4266281, кл | |||
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Программируемый контроллер | 1984 |
|
SU1453404A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1991-04-30—Публикация
1987-03-17—Подача