RU2034329C1 - Device for control - Google Patents
Device for control Download PDFInfo
- Publication number
- RU2034329C1 RU2034329C1 RU93031496A RU93031496A RU2034329C1 RU 2034329 C1 RU2034329 C1 RU 2034329C1 RU 93031496 A RU93031496 A RU 93031496A RU 93031496 A RU93031496 A RU 93031496A RU 2034329 C1 RU2034329 C1 RU 2034329C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- output
- register
- control
- generator
- Prior art date
Links
Images
Landscapes
- Advance Control (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и может быть использовано при построении устройств управления универсальных вычислительных машин и микропроцессоров. The invention relates to computer technology and can be used to build control devices for universal computers and microprocessors.
Предлагаемое устройство управления позволяет повысить сопровождаемость программ, написанных на языке ассемблера, что расширяет область его применения. The proposed control device allows to increase the maintainability of programs written in assembly language, which expands the scope of its application.
На фиг. 1 изображена функциональная схема предлагаемого устройства; на фиг.2 и 3 варианты схемотехнической реализации генератора управляющих сигналов; фиг.4,5 и 6 граф-схемы реализованных конструкций структурного программирования типа "следование", "ветвление" и "цикл" соответственно; на фиг.7 граф-схема работы устройства. In FIG. 1 shows a functional diagram of the proposed device; figure 2 and 3 variants of the circuit implementation of the control signal generator; 4,5 and 6 graph diagrams of implemented structural programming structures of the type "follow", "branching" and "cycle", respectively; 7 is a graph diagram of the operation of the device.
Устройство управления содержит регистр адреса 1, первый блок памяти 2, регистр команд 3, генератор 4 управляющих сигналов, счетчик 5 уровня программы, причем выходы регистра команд 3 соединены с первой группой информационных входов регистра адреса 1, выход которого соединен с входом адреса первого блока памяти 2, выход которого соединен с информационным входом регистра команд 3, выход которого соединен также с входом кода операции генератора 4 управляющих сигналов, вход логических условий устройства соединен с входом логических условий генератора 4 управляющих сигналов, выход первого поля микроопераций которого является выходом микроопераций 7 устройства, с первого по шестой 8-13 выходы второго поля микроопераций которого соединены соответственно с первым и вторым входами синхронизации регистра адреса 1, с входом разрешения чтения первого блока памяти 2, входом синхронизации регистра команд 3, входами прибавления и вычитания единицы счетчика 5 уровня программы, выход которого соединен с входом уровня программы генератора 4 управляющих сигналов, вход сброса которого совместно с входом установки счетчика 5 уровня программы подключен к входу 14 начальной установки устройства. Кроме того, устройство содержит второй блок памяти 15, мультиплексор 16, сумматор 17 и элемент ИЛИ 18, выход которого соединен со входом управления записью-чтением второго блока памяти 15, выход которого соединен со второй группой информационных входов регистра адреса 1, вход адреса с выходом счетчика 5 уровня программы, а вход данных с выходом мультиплексора 16, первый информационный вход которого подключен к выходу регистра команд 3, а второй информационный вход к выходу сумматора 17, первый вход которого соединен с выходом третьего поля микроопераций генератора 4, управляющих сигналов, а второй с выходом регистра адреса 1, кроме того вход 14 начальной установки устройства соединен с входом разрешения мультиплексора 16 и первым входом элемента ИЛИ 18, второй вход которого и вход управления мультиплексора 16 соединены соответственно с седьмым 19 и восьмым 20 выходами второго поля микроопераций генератора 4 управляющих сигналов, выход "Ошибка" которого является выходом ошибки 21 устройства. The control device comprises an
Генератор 4 управляющих сигналов (первый вариант) (фиг.2) содержит дешифратор 22, имеющий три группы входов, генератор 23 тактовых сигналов, кольцевой счетчик 24 и набор логических схем 25, выходы которых образуют первую и вторую группы выходов генератора 4 управляющих сигналов. Вход сброса кольцевого счетчика является входом сброса генератора 4 управляющих сигналов. The control signal generator 4 (first option) (Fig. 2) contains a
Генератор 4 управляющих сигналов (второй вариант) (фиг.3) содержи блок 26 микропрограммного управления, имеющий три группы входов 27, блок 28 постоянной памяти, первая 29 и вторая 30 группы выходов которого образуют соответствующие группы выходов генератора 4 управляющих сигналов, и генератор 31 тактовых сигналов. При этом вход 32 сброса генератора 4 управляющих сигналов связан с входом установки начального состояния блока 26 микропрограммного управления. Последний может быть реализован на микросхеме К589ИКО1, а блок 28 постоянной памяти на микросхемах серии К556. The control signal generator 4 (second option) (Fig. 3) contains a
Все остальные блоки предлагаемого устройства являются стандартными и легко реализуются на интегральных микросхемах, например, серии К555. All other blocks of the proposed device are standard and are easily implemented on integrated circuits, for example, K555 series.
Устройство обеспечивает управление вычислительным процессом в соответствии с многоуровневой программой, размещаемой в блоке 2 памяти. Такая программа содержит блоки команд различных уровней. Команды каждого уровня могут быть операционными или управляющими. Операционной команде соответствует какая-либо арифметическая или логическая операция, а управляющей соответствует одна из возможных программных структур (фиг.4,5,6). В поле кода операции указываетcя один из пяти возможных типов команд: операционная команда ОРС, команда следование SEQ (см.фиг.4), команда ветвления IF (см.фиг.5), команда цикла LOOP (см.фиг.6), команда конца END. В поле адреса управляющих команд указывается один (SEQ и LOOP) или два (IF) адреса начала блоков на следующем, более низком, уровне. The device provides control of the computing process in accordance with a multi-level program located in
Устройство работает в соответствии с граф-схемой (фиг.7). The device operates in accordance with the graph diagram (Fig. 7).
После подачи сигнала "Сброс", поступающего на вход 14 установки начального состояния устройства, счетчик 5 уровня программы устанавливается в состояние n, где n количество уровней. Работа мультиплексора 16 запрещена. Кроме того, устанавливается начальное состояние генератора 4 управляющих сигналов. Фронтом сигнала "Сброс" нулевое состояние с выходов мультиплексора 16 записывается в блок памяти 15 по адресу n, (т.е. на n-уровне устанавливается нулевой адрес команды). After the signal "Reset" is received, input 14 of the initial state of the device, the counter 5 of the program level is set to state n, where n is the number of levels. The operation of the multiplexer 16 is prohibited. In addition, the initial state of the
После снятия сигнала "Сброс" генератор 4 управляющих сигналов на линии 9 второй группы выходов формирует импульс. Благодаря этому будет выполнена микрооперация 40 "Переслать в регистр адреса 1 содержимое из i-й ячейки второго блока памяти 15", поскольку выход второго блока памяти 15 соединен со второй группой информационных входов регистра адреcа 1. Следовательно, в начальный момент в регистр адреса 1 будет записан адрес команды n-го уровня. Каждая микрооперация граф-схемы (фиг. 7) для большей наглядности помечена номерами соответствующих разрядов второй группы выходов генератора 4 управляющих сигналов. Затем генератор 4 управляющих сигналов сделает следующий шаг: 41 "Читать код операции из первого блока памяти 2 в регистр команд 3". При этом генерируются импульсы на выходах 10 и 11 генератора 4 управляющих сигналов. Первый поступает на вход разрешения чтения блока памяти 2, а второй на вход разрешения записи регистра 3 команд. Этим обеспечивается выборка кода операции (КОП) команды из блока 2 памяти и запись его в регистр 3 команд. При первом проходе после сброса в регистре 3 команд будет записан код первой команды n-го уровня. After removing the signal "Reset", the
Далее выполняется микрооперация 42 "Инкрементировать на 1 i-ю ячейку второго блока памяти 15". Это действие обеспечивается импульсами на выходах 19 и 20 генератора 4 управляющих сигналов. С помощью сумматора 17 содержимое регистра адреса 1 складывается с содержимым третьего поля микроопераций генератора 4 управляющих сигналов, где в этот момент установлен код 1, и сумма поступает на второй информационный вход мультиплексора 16, который выбирается импульсом на выходе 20 генератора 4 управляющих сигналов. По импульсу на выходе 19 генератора 4 управляющих сигналов, поступающему через элемент ИЛИ 18 на вход управления записью-чтением второго блока памяти 15, данные с выхода мультиплексора 16 записываются в i-ю ячейку второго блока памяти 15. Next, microoperation 42 "Increment by 1 i-th cell of the
Дальнейшие операции зависят от типа команды. Вначале производится проверка 4к3 "Команда ОРС?". Эта проверка реализуется логикой генератора 4 управляющих сигналов путем сравнения кода операции команды, поступающего с выхода регистра команд 3 на вход кода операций генератора 4 управляющих сигналов, с известным кодом операционной команды ОРС. Если сравнение дает положительный результат, то выполняется микрооперация 44 "Исполнить команду". При этом генератор 4 управляющих сигналов генерирует сигналы первой, второй и третьей группы выходов, чем обеспечивается считывание адресной части команды, выборка из блока памяти 2 операнда адресованного командой, и выполнение команды в операционном устройстве. После этого генератор 4 управляющих сигналов обеспечивает повторение микрооперации, начиная с блока 40. Further operations depend on the type of command. First, a 4k3 check is performed, “OPC Team?”. This check is implemented by the logic of the
Если же код операции не совпадает с кодом операционной команды ОРС, то выполняется проверка 45 "Команда SEQ". Если результат проверки положительный, то выполняются микрооперации 46 "Читать адрес блока команд" аналогично последовательности микроопераций 40 и 41 и далее 47 "Инкрементировать на 1 i-ю ячейку второго блока памяти 15" аналогично микрооперации 42. После этого выполняется микрооперация 48 "i 0". Эта микрооперация выполняется логикой генератора 4 управляющих сигналов путем сравнения кода текущего уровня, поступающего с выходов счетчика 5 уровня программы на входы уровня программы генератора 4 управляющих сигналов, с нулевым кодом. Если результат сравнения проверки 48 поло- жительный, то выполняется микрооперация 49 "Индицировать "Ошибка", генератор 4 управляющих сигналов выставляет соответствующий уровень на выходе "Ошибка" 21 и устройство переходит в состояние "Останов". Если результат сравнения отрицательный, т.е. уровень программы не нулевой, реализуется понижение уровня программы. Это обеспечивается микрооперацией 50 "Декрементировать на 1 счетчик уровня 5". При этом генератор 4 управляющих сигналов формирует импульс на линии 13 второй группы выходов, поступающий на вход вычитания единицы счетчика 5 уровня программы. После этого выполняется микрооперация 51 "Занести в i-ю ячейку второго блока памяти адрес блока команд". Адрес блока команд, поступающий на вход данных второго блока памяти 15 из регистра команд 3 через первый информационный вход мультиплексора 16, записывается импульсом, сформированным генератором 4 управляющих сигналов на линии второй группы выходов 19, поступающий через элемент ИЛИ 18 на вход разрешения чтения-записи второго блока памяти 15. После этого генератор 4 управляющих сигналов обеспечивает повторение микроопераций, начиная с блока 40. If the operation code does not match the code of the OPC operating command, then check 45 "SEQ Command" is performed. If the test result is positive, then
Если проверка 45 дала отрицательный результат, выполняется микрооперация 52 "Команда IF?". Если результат проверки положительный, то выполняется проверка условия CN ветвления 53 "CN1". Эта проверка реализуется логикой генератора 4 управляющих сигналов путем сравнения заданного кода условия CN с истинным значением, поступающим по входу 6 логических условий. Если результат сравнения положительный, то выполняются микрооперации 56, 57 аналогично выполнению микроопераций 46 и 42 соответственно, иначе микрооперации 54, 55 и 47 аналогично выполнению микроопераций 42, 46 и 42 соответственно. Далее, если нет ошибки, после выполнения микроопераций 48, 50 и 51, описанных выше, начинается очередной цикл управления. If check 45 yields a negative result,
Если проверка 52 дала отрицательный результат, выполняется микрооперация 58 "Команда LOOP?". Если результат проверки положительный, то выполняется проверка условия зацикливания 59 "CN 1?" аналогично проверке 53, описанной выше. Если результат проверки положительный, то выполняются микрооперации 61, 62 аналогично выполнению микроопераций 46 и 42 соответственно, иначе микрооперация 60 аналогична выполнению микрооперации 42. Далее после выполнения микроопераций 48, 50 и 51, описанных выше, начинается очередной цикл управления. If check 52 yields a negative result,
Если код операции не совпадает с кодами команд ОРС, SEQ, IF и LOOP (проверки 43, 45, 52, 58), значит, в регистре команд 3 зафиксирована команда END. Тогда выполняется проверка 42 "i n?". Если результат отрицательный, то это означает, что закончилась последовательность команд i-го уровня и необходимо перейти на более высокий программный уровень. В этом случае выполняется микрооперация 64 "Инкрементировать на 1 счетчик уровня 5". Генератор 4 управляющих сигналов в этом случае генерирует импульс на линии 12, который поступает на вход прибавления единицы счетчика 5 уровня программы и увеличивает его содержимое на единицу, обеспечивая переход на более высокий уровень. Если же проверка 63 дает положительный результат, то это означает, что закончена программа наивысшего уровня. В этом случае в генераторе 4 управляющих сигналов происходит блокирование всех выходных импульсов и устройство переходит в состояние "Останов". If the operation code does not match the codes of the OPC, SEQ, IF, and LOOP commands (
Рассматривая циклическую граф-схему работы устройства (см.фиг.7), легко убедиться в том, что запущенная с уровня n программа в зависимости от вложенности за счет управляющих команд может последовательно понижать свой уровень, вплоть до уровня 0. На каждом уровне могут исполняться соответствующие блоки команд. По окончании очередного блока команд i-го уровня (команда END) происходит возврат к (i+1)-му программному уровню и т.д. до тех пор пока не будет обнаружена команда ЕND n-го уровня. На этом выполнение многоуровневой программы заканчивается. Considering the cyclic graph-diagram of the operation of the device (see Fig. 7), it is easy to verify that a program launched from level n, depending on nesting, can sequentially lower its level, up to
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU93031496A RU2034329C1 (en) | 1993-06-10 | 1993-06-10 | Device for control |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU93031496A RU2034329C1 (en) | 1993-06-10 | 1993-06-10 | Device for control |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2034329C1 true RU2034329C1 (en) | 1995-04-30 |
RU93031496A RU93031496A (en) | 1995-10-20 |
Family
ID=20143389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU93031496A RU2034329C1 (en) | 1993-06-10 | 1993-06-10 | Device for control |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2034329C1 (en) |
-
1993
- 1993-06-10 RU RU93031496A patent/RU2034329C1/en active
Non-Patent Citations (2)
Title |
---|
1. Авторское свидетельство СССР N 1042018, кл. G 06F 9/22, 1983. * |
2. Авторское свидетельство СССР N 1417005, кл. G 06F 9/22, 1986. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6167479A (en) | System and method for testing interrupt processing logic within an instruction processor | |
US5450560A (en) | Pointer for use with a buffer and method of operation | |
GB1274830A (en) | Data processing system | |
US4199810A (en) | Radiation hardened register file | |
SU1082341A3 (en) | Control device in data processing system | |
KR100206887B1 (en) | Cpu for debugging program | |
RU2034329C1 (en) | Device for control | |
EP0164418B1 (en) | Microprogram control system | |
US4195339A (en) | Sequential control system | |
US4339796A (en) | System for generating a plurality of different addresses for a working memory of a microcontroller during execution of certain instructions | |
US4566062A (en) | Timing control system in data processor | |
CN101601011B (en) | Method for efficiently emulating computer architecture condition code settings | |
SU1417005A1 (en) | Control apparatus | |
SU1205142A1 (en) | Device for controlling access to scratch-pad memory | |
SU949657A1 (en) | Microprogram control device | |
SU1273934A1 (en) | Device for checking transitions | |
SU1290259A1 (en) | Device for time programmed control | |
SU896623A1 (en) | Device for control of conveyer computing device | |
SU1166109A2 (en) | Microprogram control unit | |
SU1501067A2 (en) | Device for monitoring microprogram run | |
SU1524055A1 (en) | Device for checking programs | |
SU985791A1 (en) | Microprogram processor having checking | |
SU1624532A1 (en) | D flip-flop | |
RU2184389C1 (en) | System for controlling conveyor cycle of large instruction word processor | |
SU964650A1 (en) | Digital data processing device |