модуль мультимикропрограммной системы
Классы МПК: | G06F9/22 микроуправление или устройства с микропрограммой |
Автор(ы): | Зотов И.В., Колосков В.А., Титов В.С. |
Патентообладатель(и): | Курский государственный технический университет |
Приоритеты: |
подача заявки:
1997-02-18 публикация патента:
27.07.1998 |
Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении алгоритмически распределенных устройств микропрограммного управления вычислительных и управляющих систем высокой производительности, реализующих параллельные алгоритмы обработки информации. Устройство содержит блок памяти микропрограмм, блок формирования адреса микрокоманд, регистр микрокоманд, N регистров передачи управления, триггер управления, два генератора тактовых импульсов, счетчики выборки и опроса, схему сравнения, дешифраторы выборки и опроса, две группы из N блоков тристабильных элементов, группу из N элементов ИЛИ-НЕ, три группы из N элементов И, три элемента ИЛИ, группу из N элементов задержки, одновибратор, формирователь признака принадлежности, счетчик времени ожидания, четыре триггера, два блока тристабильных элементов, элемент ИЛИ-НЕ, тринадцать элементов И, четыре элемента задержки. 1 з.п. ф-лы, 5 ил.
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5
Формула изобретения
1. Модуль мультимикропрограммной системы, содержащий блок памяти микропрограмм, блок формирования адреса микрокоманд, регистр микрокоманд, N регистров передачи управления, триггер управления, первый генератор тактовых импульсов, счетчики выборки и опроса, первый триггер, дешифраторы выборки и опроса, схему сравнения, группу из N элементов ИЛИ - НЕ, первую и вторую группы из N элементов И, с первого по третий элементы И, с первого по третий элементы ИЛИ, группу из N элементов задержки, одновибратор, шину передачи управления и шину синхронизации параллельных участков, причем прямой выход триггера управления соединен с управляющим входом первого генератора тактовых импульсов, первый и второй информационные входы блока формирования адреса микрокоманд являются соответственно входами логических условий и кода операции модуля, информационный выход блока формирования адреса микрокоманд соединен с адресным входом блока памяти микропрограмм, выход которого соединен с информационным входом регистра микрокоманд, выходы адреса и кода логического условия которого подключены к третьему информационному и управляющему входам блока формирования адреса микрокоманд соответственно, выход микроопераций регистра микрокоманд является выходом микроопераций модуля, выход счетчика выборки соединен с входом дешифратора выборки, выходы с первого по N-й которого подключены к первым входам элементов И первой группы с первого по N-й соответственно, выходы которых соединены с входами синхронизации регистров передачи управления с первого по N-й соответственно, выход N-го элемента ИЛИ - НЕ группы соединен с первым входом первого элемента И, выход которого подключен к счетному входу счетчика опроса, выход которого соединен с входом дешифратора опроса, выходы с первого по N-й которого подключены к первым входам элементов И второй группы с первого по N-й соответственно, выходы которых соединены с входами элементов задержки группы с первого по N-й соответственно, выходы которых соединены с входами сброса регистров передачи управления с первого по N-й соответственно, выходы элементов ИЛИ - НЕ группы с первого по N-й подключены к вторым входам элементов И второй группы с первого по N-й соответственно, первый вход, второй вход и выход первого элемента ИЛИ соединены с управляющим входом модуля, выходом второго элемента И и входом сброса триггера управления соответственно, отличающийся тем, что введены первая и вторая группы из N блоков тристабильных элементов, формирователь признака принадлежности, второй генератор тактовых импульсов, счетчик времени ожидания, второй, третий и четвертый триггеры, первый и второй блоки тристабильных элементов, третья группа из N элементов И, элемент ИЛИ - НЕ, элемент И - НЕ, с четвертого по тринадцатый элементы И, с первого по четвертый элементы задержки, линия состояния параллельных участков, причем выход метки передачи управления/инициализации регистра микрокоманд соединен с первыми входами третьего и четвертого элементов И, выходы которых соединены с входом сброса и счетным входом счетчика выборки соответственно, выход управляющей информации регистра микрокоманд подключен к первому входу схемы сравнения, информационному входу первого блока тристабильных элементов и информационным входам регистров передачи управления с первого по N-й, инверсные выходы которых соединены с входами элементов И третьей группы с первого по N-й соответственно, выход статуса регистра микрокоманд соединен с первым входом пятого элемента И, выход которого соединен с входом одновибратора, выход которого подключен к входу первого элемента задержки и входу установки второго триггера, инверсный выход которого подключен к управляющему входу второго блока тристабильных элементов, прямой выход второго триггера соединен с управляющим входом первого блока тристабильных элементов, выход которого подключен к шине синхронизации параллельных участков, которая соединена с информационным входом второго блока тристабильных элементов, выход которого подключен к входам элемента ИЛИ - НЕ, адресному входу формирователя признака принадлежности и второму входу схемы сравнения, первый и второй выходы первого генератора тактовых импульсов подключены к первым входам шестого и седьмого элементов И, выход шестого элемента И соединен с входом синхронизации блока формирования адреса микрокоманд, четвертый информационный вход которого подключен к шине передачи управления, выход седьмого элемента И соединен с входом синхронизации регистра микрокоманд и с входом второго элемента задержки, выход которого соединен с вторым входом третьего элемента И, инверсный выход второго триггера подключен к первому входу элемента И - НЕ, второй вход которого подключен к выходу формирователя признака принадлежности, выход элемента И - НЕ соединен с первым входом второго элемента ИЛИ, выход которого подключен к линии состояния параллельных участков, выход первого элемента задержки соединен со счетным входом второго триггера, а также с первыми входами восьмого и девятого элементов И, вторые входы которых подключены к линии состояния параллельных участков, выходы восьмого и девятого элементов И соединены соответственно с входом установки первого триггера и первым входом третьего элемента ИЛИ, прямой выход первого триггера соединен с управляющим входом второго генератора тактовых импульсов, выход которого соединен со счетным входом счетчика времени ожидания, выход которого подключен к входам десятого элемента И, выход которого подключен к входам сброса первого триггера и счетчика времени ожидания, выходы элементов И третьей группы с первого по N-й подключены к третьему входу третьего элемента И, третий выход первого генератора тактовых импульсов соединен с вторым входом четвертого элемента И, первым входом одиннадцатого элемента И и входом третьего элемента задержки, выход которого подключен к вторым входам элементов И первой группы с первого по N-й, второму входу первого элемента И и входу четвертого элемента задержки, выход которого соединен с первым входом двенадцатого элемента И, второй вход и выход которого подключены к N-му выходу дешифратора опроса и входу сброса счетчика опроса соответственно, выход метки конца участка регистра микрокоманд подключен к первому входу тринадцатого элемента И, второй вход которого соединен с выходом второго элемента задержки, выход тринадцатого элемента И подключен к счетному входу третьего триггера, прямой выход которого подключен к вторым входам шестого и седьмого элементов И, инверсный выход третьего триггера соединен с вторым входом пятого элемента И, третий, четвертый и пятый входы которого соединены соответственно с инверсным выходом четвертого триггера, инверсным выходом первого триггера и с выходом элемента ИЛИ - НЕ, выход схемы сравнения подключен к второму входу второго элемента ИЛИ, выход метки конца микропрограммы регистра микрокоманд соединен с выходом конца микропрограммы модуля и первым входом второго элемента И, второй вход которого подключен к третьему выходу первого генератора тактовых импульсов, управляющий выход блока формирования адреса микрокоманд подключен к входу установки триггера управления и второму входу третьего элемента ИЛИ, выход которого подключен к входу установки четвертого триггера, прямой выход которого соединен с вторым входом одиннадцатого элемента И, выход которого соединен с входом установки третьего триггера и счетным входом четвертого триггера, прямые выходы регистров передачи управления с первого по N-й подключены к информационным входам блоков тристабильных элементов первой группы с первого по N-й соответственно, выходы которых подключены к шине передачи управления, которая соединена с информационными входами блоков тристабильных элементов второй группы с первого по N-й, выходы которых соединены с входами элементов ИЛИ - НЕ группы с первого по N-й соответственно, выходы элементов И второй группы с первого по N-й соединены с управляющими входами блоков тристабильных элементов первой и второй групп с первых по N-е соответственно. 2. Модуль по п.1, отличающийся тем, что блок формирования адреса микрокоманд содержит шифратор начального адреса, мультиплексор, первый и второй блоки элементов ИЛИ, первый и второй элементы ИЛИ, регистр, одновибратор и регистр адреса микрокоманды, причем вход шифратора начального адреса является четвертым информационным входом блока формирования адреса микрокоманд, управляющий и информационный входы мультиплексора являются соответственно управляющим и первым информационным входами блока формирования адреса микрокоманд, n - 1 старшими разрядов третьего информационного входа которого (где n - разрядность адреса микрокоманды) соединены с n - 1 старшими разрядами первого входа первого блока элементов ИЛИ, а младший разряд подключен к первому входу первого элемента ИЛИ, второй вход и выход которого соединены соответственно с выходом мультиплексора и младшим разрядом первого входа первого блока элементов ИЛИ, вход синхронизации регистра адреса микрокоманды подключен к входу синхронизации блока формирования адреса микрокоманд, а выход является информационным выходом блока формирования адреса микрокоманд, второй информационный вход которого соединен с первым входом второго элемента ИЛИ и первым входом второго блока элементов ИЛИ, выход которого соединен с информационным входом регистра, вход сброса которого соединен с входом синхронизации блока формирования адреса микрокоманд, а выход подключен к второму входу первого блока элементов ИЛИ, выход которого подключен к информационному входу регистра адреса микрокоманд, выход шифратора начального адреса соединен с вторым входом второго блока элементов ИЛИ и вторым входом второго элемента ИЛИ, выход которого соединен с входом одновибратора, выход которого подключен к входу синхронизации регистра и управляющему выходу блока формирования адреса микрокоманд.Описание изобретения к патенту
Изобретение относится к области автоматики и цифровой вычислительной техники и может быть использовано при построении алгоритмически распределенных устройств микропрограммного управления вычислительных и управляющих систем высокой производительности, проектируемых на базе однотипных БИС (СБИС) и реализующих параллельные алгоритмы обработки информации. Известно микропрограммное устройство управления, содержащее блок постоянной памяти, блок формирования адреса микрокоманд, регистр микрокоманд, регистр начала микропрограммы, регистр конца микропрограммы, дешифратор адреса, триггер управления, генератор импульсов, четыре элемента ИЛИ, группу из N-1 элементов ИЛИ, блок элементов ИЛИ, пять элементов И, два блока элементов И, элемент задержки, триггер конца микропрограммы, триггер начала микропрограммы, пять одновибраторов, N-1 коммутатор и элемент ИЛИ-НЕ (а. с. N 1168936 СССР, кл. G 06 F 9/22; опубл. 23.07.85, БИ N 27). Недостатком этого устройства является значительное число внешних входов/выходов, используемых для организации взаимодействия с другими аналогичными устройствами (приема и выдачи адресов передачи управления), что обуславливает резко ограниченную наращиваемость формируемых на его основе управляющих систем, а следовательно, и узкую область применения устройства. Наиболее близким к предлагаемому устройству по технической сущности является микропрограммное устройство управления с контролем, включающее блок постоянной памяти, блок формирования адреса микрокоманд, регистр микрокоманд, группу из N регистров записи (где N - количество автономных микропрограмм), коммутатор управления счетчиком, счетчик выборки, дешифратор выборки, четыре группы из N шинных формирователей, блок управления пуском, блок управления остановом, группу из N элементов задержки, группу из N коммутаторов записи, счетчик опроса, дешифратор опроса, N+1 блоков элементов И, 2N+1 элементов И, группу из N элементов ИЛИ-НЕ, элемент ИЛИ, триггер режимов работы, триггер управления, генератор импульсов (а.с. N 1142832 СССР, кл. G 06 F 9/22; G 06 F 11/00; опубл. 28.02.85, БИ N 8). Недостатком указанного устройства является отсутствие возможности опроса состояния (завершены/не завершены) параллельных участков микропрограмм, закрепленных за другими аналогичными устройствами в составе мультимикропрограммной управляющей системы, и, как следствие, узкая область его применения. Технической задачей изобретения является расширение области применения устройства на основе организации возможности опроса состояния других аналогичных устройств и синхронизации завершения произвольных групп параллельных участков микропрограмм при функционировании устройства в составе мультимикропрограммной управляющей системы. Техническая задача решается тем, что модуль мультимикропрограммной системы, содержащий блок памяти микропрограмм, блок формирования адреса микрокоманд, регистр микрокоманд, N регистров передачи управления, триггер управления, первый генератор тактовых импульсов, счетчики выборки и опроса, первый триггер, дешифраторы выборки и опроса, схему сравнения, первую и вторую группы из N блоков тристабильных элементов, группу из N элементов ИЛИ-НЕ, первую и вторую группы из N элементов И, с первого по третий элементы И, с первого по третий элементы ИЛИ, группу из N элементов задержки, одновибратор, шину передачи управления и шину синхронизации параллельных участков, причем прямой выход триггера управления соединен с управляющим входом первого генератора тактовых импульсов, первый и второй информационные входы блока формирования адреса микрокоманд являются соответственно входами логических условий и кода операции модуля, информационный выход блока формирования адреса микрокоманд соединен с адресным входом блока памяти микропрограмм, выход которого соединен с информационным входом регистра микрокоманд, выходы адреса и кода логического условия которого подключены к третьему информационному и управляющему входам блока формирования адреса микрокоманд соответственно, выход микроопераций регистра микрокоманд является выходом микроопераций модуля, выход счетчика выборки соединен с входом дешифратора выборки, выходы с первого по N-й которого подключены к первым входам элементов И первой группы с первого по N-й соответственно, выходы которых соединены с входами синхронизации регистров передачи управления с первого по N-й соответственно, прямые выходы которых подключены к информационным входам блоков тристабильных элементов первой группы с первого по N-й соответственно, выходы которых подключены к шине передачи управления, которая соединена с информационными входами блоков тристабильных элементов второй группы с первого по N-й, выходы которых соединены с входами элементов ИЛИ-НЕ группы с первого по N-й соответственно, выход N-го элемента ИЛИ-НЕ группы соединен с первым входом первого элемента И, выход которого подключен к счетному входу счетчика опроса, выход которого соединен с входом дешифратора опроса, выходы с первого по N-й которого подключены к первым входам элементов И второй группы с первого по N-й соответственно, выходы которых соединены с управляющими входами блоков тристабильных элементов первой и второй групп с первых по N-е соответственно, а также с входами элементов задержки группы с первого по N-й соответственно, выходы которых соединены с входами сброса регистров передачи управления с первого по N-й соответственно, выходы элементов ИЛИ-НЕ группы с первого по N-й подключены к вторым входам элементов И второй группы с первого по N-й соответственно, первый вход, второй вход и выход первого элемента ИЛИ соединены с управляющим входом модуля, выходом второго элемента И и входом сброса триггера управления соответственно, дополнительно включает формирователь признака принадлежности, второй генератор тактовых импульсов, счетчик времени ожидания, второй, третий и четвертый триггеры, первый и второй блоки тристабильных элементов, третью группу из N элементов И, элемент ИЛИ-НЕ, элемент И-НЕ, с четвертого по тринадцатый элементы И, с первого по четвертый элементы задержки, линию состояния параллельных участков, причем выход метки передачи управления/инициализации регистров микрокоманд соединен с первыми входами третьего и четвертого элементов И, выходы которых соединены с входом сброса и счетным входом счетчика выборки соответственно, выход управляющей информации регистра микрокоманд подключен к первому входу схемы сравнения, к информационному входу первого блока тристабильных элементов и к информационным входам регистров передачи управления с первого по N-й, инверсные выходы которых соединены с входами элементов И третьей группы с первого по N-й соответственно, выход статуса регистра микрокоманд соединен с первым входом пятого элемента И, выход которого соединен с входом одновибратора, выход которого подключен к входу первого элемента задержки и входу установки второго триггера, инверсный выход которого подключен к управляющему входу второго блока тристабильных элементов, прямой выход второго триггера соединен с управляющим входом первого блока тристабильных элементов, выход которого подключен к шине синхронизации параллельных участков, которая соединена с информационным входом второго блока тристабильных элементов, выход которого подключен к входам элемента ИЛИ-НЕ, адресному входу формирователя признака принадлежности и к второму входу схемы сравнения, первый и второй выходы первого генератора тактовых импульсов подключены к первым входам шестого и седьмого элементов И, выход шестого элемента И соединен с входом синхронизации блока формирования адреса микрокоманд, четвертый информационный вход которого подключен к шине передачи управления, выход седьмого элемента И соединен с входом синхронизации регистра микрокоманд и с входом второго элемента задержки, выход которого соединен с вторым входом третьего элемента И, инверсный выход второго триггера подключен к первому входу элемента И-НЕ, второй вход которого подключен к выходу формирователя признака принадлежности, выход элемента И-НЕ соединен с первым входом второго элемента ИЛИ, выход которого подключен к линии состояния параллельных участков, выход первого элемента задержки соединен со счетным входом второго триггера, а также с первыми входами восьмого и девятого элементов И, вторые входы которых подключены к линии состояния параллельных участков, выходы восьмого и девятого элементов И соединены соответственно с входом установки первого триггера и первым входом третьего элемента ИЛИ, прямой выход первого триггера соединен с управляющим входом второго генератора тактовых импульсов, выход которого соединен со счетным входом счетчика времени ожидания, выход которого подключен к входам десятого элемента И, выход которого подключен к входам сброса первого триггера и счетчика времени ожидания, выходы элементов И третьей группы с первого по N-й подключены к третьему входу третьего элемента И, третий выход первого генератора тактовых импульсов соединен с вторым входом четвертого элемента И, первым входом одиннадцатого элемента И и с входом третьего элемента задержки, выход которого подключен к вторым входам элемента И первой группы с первого по N-й, второму входу первого элемента И и к входу четвертого элемента задержки, выход которого соединен с первым входом двенадцатого элемента И, второй вход и выход которого подключены к N-му выходу дешифратора опроса и к входу сброса счетчика опроса соответственно, выход метки конца участка регистра микрокоманд подключен к первому входу тринадцатого элемента И, второй вход которого соединен с выходом второго элемента задержки, выход тринадцатого элемента И подключен к счетному входу третьего триггера, прямой выход которого подключен к вторым входам шестого и седьмого элементов И, инверсный выход третьего триггера соединен с вторым входом пятого элемента И, третий, четвертый и пятый входы которого соединены соответственно с инверсным выходом четвертого триггера, инверсным выходом первого триггера и с выходом элемента ИЛИ-НЕ, выход схемы сравнения подключен к второму входу второго элемента ИЛИ, выход метки конца микропрограммы регистра микрокоманд соединен с выходом конца микропрограммы модуля и с первым входом второго элемента И, второй вход которого подключен к третьему выходу первого генератора тактовых импульсов, управляющий выход блока формирования адреса микрокоманд подключен к входу установки триггера управления и к второму входу третьего элемента ИЛИ, выход которого подключен к входу установки четвертого триггера, прямой выход которого соединен с вторым входом одиннадцатого элемента И, выход которого соединен с входом установки третьего триггера и счетным входом четвертого триггера, а в блок формирования адреса микрокоманд, включающий шифратор начального адреса, мультиплексор, первый блок элементов ИЛИ, первый элемент ИЛИ и регистр адреса микрокоманды, причем вход шифратора начального адреса является четвертым информационным входом блока формирования адреса микрокоманд, управляющий и информационный входы мультиплексора являются соответственно управляющим и первым информационным входами блока формирования адреса микрокоманд, n-1 старших разрядов третьего информационного входа которого (где n - разрядность адреса микрокоманды) соединены с n-1 старшими разрядами первого входа первого блока элементов ИЛИ, а младший разряд подключен к первому входу первого элемента ИЛИ, второй вход и выход которого соединены соответственно с выходом мультиплексора и младшим разрядом первого входа первого блока элементов ИЛИ, вход синхронизации регистра адреса микрокоманды подключен к входу синхронизации блока формирования адреса микрокоманд, а выход является информационным выходом блока формирования адреса микрокоманд, дополнительно введены второй блок элементов ИЛИ, второй элемент ИЛИ, регистр и одновибратор, причем второй информационный вход блока формирования адреса микрокоманд соединен с первым входом второго элемента ИЛИ и первым входом второго блока элементов ИЛИ, выход которого соединен с информационным входом регистра, вход сброса которого соединен с входом синхронизации блока формирования адреса микрокоманд, а выход подключен к второму входу первого блока элементов ИЛИ, выход которого подключен к информационному входу регистра адреса микрокоманды, выход шифратора начального адреса соединен с вторым входом второго блока элементов ИЛИ и вторым входом второго элемента ИЛИ, выход которого соединен с входом одновибратора, выход которого подключен к входу синхронизации регистра и управляющему выходу блока формирования адреса микрокоманд. Сущность предлагаемого изобретения состоит в следующем. Предлагаемый модуль совместно с другими аналогичными устройствами образует мультимикропрограммную систему (ММПС), которая предназначается для реализации сложных комплексов микропрограмм, предусматривающих как последовательное, так и параллельное выполнение различных микрокоманд, образующих соответственно последовательные и параллельные участки. Каждый модуль реализует некоторое подмножество параллельных и последовательных участков, выделяемых при разбиении (декомпозиции) исходного комплекса микропрограмм. В процессе выполнения тех или иных участков микропрограмм модули системы могут обмениваться управляющей информацией через соответствующие информационные шины и осуществлять запуск параллельных или последовательных участков, закрепленных за другими модулями, а также производить опрос модулей ММПС с целью определения состояния реализуемых ими параллельных участков. Наряду с инициализацией участков микропрограмм (основных микропрограмм) модули ММПС аналогично прототипу могут выдавать задания на выполнение автономных микропрограмм, стандартных микроподпрограмм, а также инициировать передачу результатов их реализации, при этом в отличие от прототипа шины системы используются только для передачи управляющих сообщений, в то время как данные между операционными устройствами транслируются по собственной шине данных (или через собственную коммуникационную подсистему) управляемой системы (объекта). Для идентификации участков микропрограмм при их запуске используются специальные признаки (коды), присваиваемые таким образом, что одновременно инициализируемые в соответствии с реализуемым алгоритмом участки (участки, открывающиеся единой вершиной распараллеливания) получают одинаковые признаки, а признаки участков микропрограмм, относящихся к различным вершинам (микрокомандам) распараллеливания, являются различными. Аналогичные признаки применяются и для идентификации автономных микропрограмм и стандартных микроподпрограмм, однако в дальнейшем для упрощения описания между автономными микропрограммами, стандартными микроподпрограммами и участками микропрограмм различий условно не делается. Процедура параллельных участков состоит в следующем. Модуль Mi, инициирующий запуск, формирует и выдает на шину ММПС (шину передачи управления) код признака инициализируемых параллельных участков Пs. Данный код одновременно воспринимается всеми остальными модулями ММПС и, если за некоторым модулем Mj, j


Схема 11 сравнения введена для сопоставления кода НТС Tr, поступающего с шины 50, с кодом НТС Ts, соответствующим точке синхронизации, которая закрывает параллельный участок, выполненный текущим модулем. Элемент ИЛИ 26 служит для формирования сигнала состояния Si текущего модуля. Элемент ИЛИ 26 имеет выходной каскад с "открытым" коллектором, нагрузкой для которого является внешнее сопротивление R (фиг. 1). Элемент И-НЕ 36 обеспечивает формирование сигнала - маски, который осуществляет блокировку передачи сигнала с выхода схемы 11 сравнения на линию 51 состояния параллельных участков. Элемент 45 предназначен для задержки подачи импульса p с выхода одновибратора 29 на счетный вход триггера 30 и входы элементов И 40.1 и 40.2 на время формирования сигнала обобщенного состояния Z на линии 51 при работе модуля в режиме опроса состояния параллельных участков. Генератор 14, триггер 13, счетчик 15 времени ожидания и элемент И 41 предназначены для отсчета времени T между двумя смежными циклами опроса состояния параллельных участков, при этом триггер 13 используется для управления запуском генератора 14 и блокировки элемента И 38, а элемент И 41 служит для формирования сигнала "Тайм-аут", являющегося сигналом сброса триггера 13 и счетчика 15 и отмечающего конец требуемого временного интервала Т. Элементы И 40.1 и 40.2 служит для формирования сигналов запуска процесса отсчета времени ожидания Т и инициализации текущего модуля после завершения всех требуемых параллельных участков соответственно. Назначение элементов блока 2 формирования адреса микрокоманд (фиг. 2) состоит в следующем. Шифратор 56 служит для формирования начального адреса параллельного или последовательного участка микропрограммы в блоке 1 при передаче управления данному модулю. Мультиплексор 57 предназначен для формирования значения опрашиваемого логического условия. Регистр 61 служит для приема, хранения и выдачи исполнительного адреса следующей микрокоманды. Регистр 62 введен для предварительной записи адресов инициализации модуля (кодов операции) и исключает необходимость длительной фиксации информации на третьем и четвертом информационных входах блока 2 до момента появления первого тактового импульса t1 на выходе генератора 6. Элемент ИЛИ 60 предназначен для модификации значения младшего разряда адреса следующей микрокоманды в точках ветвления микропрограммы. Блок 59 элементов ИЛИ обеспечивает объединение адресов инициализации модуля, поступающих с входа 53 кода операции модуля и выхода шифратора 56, и передачу адресов на вход регистра 62. Блок 58 элементов ИЛИ обеспечивает объединение адресов инициализации и адреса следующей микрокоманды, поступающих соответственно с выхода регистра 62 и третьего информационного входа блока 2, и передачу адресов на вход регистра 61. Элемент ИЛИ 64 служит для формирования сигнала, индицирующего появление адреса инициализации на выходе шифратора 56 или кода операции на входе 53 модуля. Одновибратор 63 предназначен для формирования импульса запуска текущего модуля при появлении адреса на выходе шифратора 56 или кода операции на входе 53 модуля. Работу предлагаемого устройства (условно обозначаемого Mi) рассмотрим на примере функционирования ММПС, состоящей из множества идентичных модулей и реализующей микропрограмму сложного параллельного алгоритма управления. Первоначально все регистры, триггеры и счетчики (фиг. 1, 2), за исключением счетчика 8, установленного в состояние "11...1", находятся в состоянии логического нуля, поэтому генераторы 6 и 14 выключены, на всех выходах дешифратора 9 выборки присутствует нулевой уровень сигнала, на выходах дешифратора 10 опроса находится код "100...0", а элементы блоков 16.1-16.N-1 и 33 находятся в состоянии высокого импеданса ("отключено") (цепи начальной установки на фиг. 1, 2 условно не показаны). В ячейках блока 1 с ненулевыми адресами записаны микрокоманды, составляющие участки микропрограмм, закрепленные за рассматриваемым модулем. На шинах 49 и 50 присутствует нулевой, а на линии 51 - единичный уровень сигнала. Функционирование ММПС начинается с момента подачи на вход 53 одного из ее модулей (допустим, модуля Mi) кода выполняемой операции (фиг.1). Код операции (КОП), представляющий собой адрес начала соответствующей микропрограммы (адрес начального последовательного участка), с входа 53 поступает (фиг. 2) на первые входы элемента ИЛИ 64 и блока элементов ИЛИ 59. Поскольку КОП содержит по меньшей мере одну единицу, на выходе элемента 64 возникает положительный перепад уровня сигнала, который воздействует на одновибратор 63 и возбуждает на его выходе импульс "Пуск". Одновременно КОП проходит через блок 59, на втором входе которого присутствует нулевой код, обусловленный отсутствием информации на шине 49, и устанавливается на информационном входе регистра 62. Импульс с выхода одновибратора 63 подается на вход синхронизации регистра 62 и задним фронтом (срезом) фиксирует в нем поступивший КОП. КОП с выхода регистра 62 через блок элементов ИЛИ 58 (на первом входе которого находится нулевой код, обусловленный нулевым состоянием регистра 3) проходит на информационный вход регистра 61 адреса микрокоманд. Одновременно импульс с выхода одновибратора 63 поступает (фиг.1) на вход установки триггера 5, а также через элемент ИЛИ 27 - на вход установки триггера 32 и переключает указанные триггеры в единичное состояние. Единичный сигнал с прямого выхода триггера 32 открывает элемент И 42, а единичный сигнал с прямого выхода триггера 5 подается на управляющий вход генератора 6 и разрешает формирование на его выходах импульсных последовательностей t1, t2 и t3. Поскольку триггер 31 находится в исходном (нулевом) состоянии и нулевой сигнал с его прямого выхода блокирует элементы И 39.1, 39.2, первые импульсы t1 и t2 с первого и второго выходов генератора 6 соответственно не проходят на выходы элементов 39.1 и 39.2. В свою очередь импульс t3 с третьего выхода генератора 6 через открытый элемент 42 поступает на вход установки триггера 31 и переводит его в состояние логической единицы. Единичный сигнал с прямого выхода триггера 31 открывает элементы 39.1 и 39.2, а нулевой сигнал с инверсного выхода блокирует элемент И 38, предотвращая тем самым срабатывание одновибратора 29. Кроме того, импульс t3 с выхода элемента 42 поступает на счетный вход триггера 32 и срезом возвращает его в состояние логического нуля. Одновременно импульс с третьего выхода генератора 6 передается на вход элемента 47 задержки и далее - на второй вход элемента И 22 и вход элемента 48 задержки. Если на первом входе элемента 22 находится единичный сигнал, то импульс t3 поступает на счетный вход счетчика 8 и переключает его в нулевое состояние, в противном случае передача импульса t3 на счетный вход счетчика не происходит и состояние последнего не изменяется. Импульс t3 с выхода элемента 48 спустя определенное время поступает на первый вход элемента И 43 и если счетчик 8 все еще находится в состоянии "11...1" и на N-м выходе дешифратора 10 соответственно присутствует единичный сигнал, через элемент 43 проходит на вход сброса счетчика 8 и переводит его в состояние "00...0". В противном случае счетчик 8 уже установлен в состояние "00...0", на всех выходах дешифратора 10 присутствует нулевой уровень сигнала и импульс через элемент 43 не проходит. Таким образом, первый импульс t3 обеспечивает переключение счетчика 8 в состояние "00...0" и формирует на выходах дешифратора 10 нулевой уровень сигнала, блокируя тем самым элементы И 20.1-20.N. Второй тактовый импульс последовательности t1 c первого выхода генератора 6 через открытый элемент И 39.1 передается на вход синхронизации блока 2 (фиг. 2) и, поступая далее на вход синхронизации регистра 61, фронтом фиксирует в нем ранее установленный на его информационном входе КОП, инициируя процесс считывания первой микрокоманды. Одновременно импульс t1 поступает на вход сброса регистра 62 и возвращает его в нулевое состояние; на выходе регистра 62 появляется нулевой код. КОП с выхода регистра 61 подается на адресный вход БПМП 1 (фиг. 1) и формирует на его выходе первую микрокоманду реализуемого участка микропрограммы (начального последовательного участка реализуемой микропрограммы). С выхода блока 1 данная микрокоманда поступает на информационный вход регистра 3. Очередной тактовый импульс t2 через открытый элемент 39.2 проходит на вход синхронизации регистра 3 и фиксирует в нем считанную из блока 1 микрокоманду. Далее в зависимости от формата считанной микрокоманды (фиг. 3) устройство может функционировать в одном из следующих режимов; выполнения операционной микрокоманды (режим А), передачи управления другим (другому) аналогичным устройствам системы или инициализации параллельных участков (режим B) и синхронизации завершения параллельных участков микропрограммы (режим C). Рассмотрим работу устройства в каждом из перечисленных режимов. Режим A. Функционирование устройства в режиме A начинается с момента фиксации в регистре 3 микрокоманды формата A или Ak (фиг. 3б,в). Первоначально предположим, что считанная микрокоманда имеет формат А (фиг. 3б). На выходах 3.4-3.8 регистра 3 устанавливаются сигналы логического нуля; на выходах 3.1 и 3.2 появляются соответственно адрес следующей микрокоманды (Aсл) и код опрашиваемого логического условия (ЛУ) (который, в частности, может быть нулевым), а на выходе 3.3 формируется операционная часть микрокоманды, содержащая информацию об инициируемых в данном такте работы устройства микрооперациях. Операционная часть (ОЧ) микрокоманды с выхода 3.3 регистра 3 передается на выход 54 модуля и возбуждает требуемые микрооперации (МО). Нулевой сигнал с выхода 3.5 регистра 3 блокирует элементы И 24 и 37; нулевой сигнал с выхода 3.6 регистра 3 формирует нулевой уровень сигнала на выходе элемента И 38; нулевой сигнал с выхода 3.7 регистра 3 блокирует элемент И 44, не допуская тем самым обнуления триггера 31; сигнал логического нуля с выхода 3.8 регистра 3 блокирует элемент И 23, предотвращая срабатывание триггера 5 управления. Одновременно адрес следующей микрокоманды и код опрашиваемого логического условия с выходов 3.1 и 3.2 регистра 3 соответственно поступает на третий информационный и управляющий входы блока 2 (фиг. 2). Код логического условия далее подается на управляющий вход мультиплексора 57 и обеспечивает передачу на его выход значения опрашиваемого логического условия с входа 52 модуля. Старшая часть адреса следующей микрокоманды с третьего информационного входа блока 2 через блок элементов ИЛИ 58, на втором входе которого находится нулевой код с выхода регистра 62, проходит на информационный вход регистра 61, а младший разряд (который является модифицируемым и может изменяться в точках ветвления микропрограммы) поступает на первый вход элемента ИЛИ 60. Если опрашиваемое логическое условие истинно, то на выходе мультиплексора 57 возникает единичный сигнал, который поступает на второй вход элемента ИЛИ 60 и, проходя на его выход, изменяет значение младшего разряда адреса на единичное. Если опрашиваемое логическое условие ложно или код логического условия является нулевым, на выходе мультиплексора 57 сохраняется нулевой уровень сигнала и на выход элемента 60 передается исходное значение младшего разряда адреса. Младший разряд адреса с выхода элемента 60 через соответствующий элемент ИЛИ блока 58 передается на информационный вход регистра 61. Таким образом, на информационном входе регистра 61 появляется исполнительный адрес очередной микрокоманды реализуемого участка микропрограммы, сформированный с учетом значения требуемого логического условия. Очередной тактовый импульс t1 (фиг. 1) через элемент И 39.1 проходит на вход синхронизации блока 2 (фиг. 2) и, поступая далее на вход синхронизации регистра 61, обеспечивает прием исполнительного адреса следующей микрокоманды. Этот же импульс подтверждает нулевое состояние регистра 62. Адрес следующей микрокоманды с выхода регистра 61 поступает (фиг. 1) на адресный вход блока 1 и обеспечивает считывание очередной микрокоманды. Считанная микрокоманда с выхода блока 1 подается на информационный вход регистра 3 и записывается в данный регистр по фронту очередного импульса t2, приходящего через элемент 39.2 с выхода генератора 6. Далее модуль приступает к выполнению считанной микрокоманды. Ход выполнения очередной микрокоманды аналогичен ходу реализации предшествующей микрокоманды. Если считанная микрокоманда имеет формат Aк (фиг. 3в), то на выходах 3.1-3.7 регистра 3 формируется нулевой уровень сигнала, а на выходе 3.8 появляется единичный сигнал - метка конца реализуемой микропрограммы (Мкмп). Метка Мкмп поступает на выход 55 конца микропрограммы модуля и индицирует завершение выполнения текущей операции и готовность системы к реализации очередной. Одновременно эта же метка открывает элемент И 23. Импульс t3 с третьего выхода генератора 6 проходит через элемент И 23, элемент ИЛИ 25 и поступает на вход сброса триггера 5, переключая его в нулевое состояние. Нулевой сигнал с прямого выхода триггера 5 блокирует работу генератора 6; таким образом, текущий модуль (и система в целом) заканчивает выполнение конечного последовательного участка микропрограммы и переходит в состояние ожидания задания на реализацию очередной микропрограммы (операции). Перед началом выполнения очередной операции элементы устройства вновь устанавливаются в исходное состояние, после чего на вход 53 соответствующего модуля подается КОП и система переходит к реализации следующей микропрограммы. Переход модуля в пассивное состояние может быть также осуществлен путем подачи на первый вход элемента ИЛИ 25 сигнала "Стоп". Режим B. Переход устройства в режим функционирования B происходит после записи в регистр 3 микрокоманды формата B (фиг. 3г). Текущий модуль Mi переходит в режим инициализации группы P параллельных участков микропрограммы, закрепленных за другими аналогичными модулями управляющей системы. На выходах 3.6-3.8 регистра 3 появляются сигналы логического нуля, на выходах 3.1 и 3.2 формируются соответственно адрес следующей микрокоманды и код логического условия, а на выходе 3.3 образуется либо нулевой код, либо ненулевой код, определяющий выполняемые микрооперации. Нулевой сигнал с выхода 3.6 регистра 3 блокирует элемент И 38, предотвращая срабатывание одновибратора 29; нулевой сигнал с выхода 3.7 блокирует элемент 44; нулевой сигнал с выхода 3.8 регистра 3 закрывает элемент И 23. Одновременно на выходе 3.5 регистра 3 образуется единичный сигнал - метка передачи управления или инициализации (Мпуи), а на выходе 3.4 устанавливается код признака инициализируемых участков микропрограммы (КПУ) Пр. КПУ с выхода 3.4 регистра 3 передается на информационные входы регистров 4.1-4.N, а единичная метка Мпуи поступает на входы элементов И 24 и 37 и разрешает прохождение тактовых импульсов, управляющих работой счетчика 7 выборки. Код, характеризующий текущее состояние регистров 4.1-4.N и формируемый элементами И 21.1-21.N, поступает на третий вход элемента И 24. Импульс t2 с выхода элемента И 39.2 через элемент 46 поступает на второй вход элемента И 24 и, если состояние регистров 4.1-4.N является нулевым и, следовательно, на третьем входе элемента 24 присутствует код "11...1", проходит через элемент 24 на вход сброса счетчика 7 и переключает его в нулевое состояние (подтверждает его исходное состояние). Нулевой код с выхода счетчика 7 поступает на вход дешифратора 9 и формирует на его выходах нулевой уровень сигнала, обеспечивая тем самым блокировку элементов И 19.1-19.N. Если же состояние по крайней мере одного из регистров 4.1-4.N отлично от нулевого, на выходах элементов И 21.1-21.N устанавливается "неединичный" код и состояние счетчика 7 при поступлении импульса t2 не изменяется. Очередной импульс t3 с третьего выхода генератора 6 через элемент И 37 проходит на счетный вход счетчика 7 и фронтом увеличивает его содержимое на единицу. Образующийся код ("00...01") с выхода счетчика 7 передается на вход дешифратора 9 и возбуждает его k-й (первый) выход. Единичный сигнал с k-го (первого) выхода дешифратора 9 открывает элемент И 19.k (19.1). Импульс t3, проходя через элемент 47 задержки, подается на второй вход элемента И 22, на первом входе которого образуется сигнал, определяемый состоянием шины 49 и формируемый элементом ИЛИ-НЕ 18.N. Если информация на шине 49 отсутствует, то нулевой код с шины 49 через открытый блок 17.N поступает на входы элемента 18. N и формирует на его выходе сигнал логической единицы. Этот сигнал подается на первый вход элемента И 22, импульс t3 проходит на выход элемента 22 и фронтом увеличивает содержимое счетчика 8 на единицу. Код с выхода счетчика 8 поступает на вход дешифратора 10 и возбуждает его i-й выход. Если шина 49 занята, то на выходе элемента 18.N устанавливается нулевой сигнал, который блокирует элемент 22 и не допускает прохождение импульса t3 на счетный вход счетчика 8. В то же время импульс t3 с выхода элемента 47, будучи задержанным на время, достаточное для формирования очередного кода на выходах счетчиков 7 и 8, подается на входы элементов И 19.1-19.N, а также на вход элемента 48. Так как единичный сигнал присутствует только на k-м (первом) выходе дешифратора 9, импульс t3 проходит через элемент 19.k (19.1) и фронтом фиксирует код Пр в регистре 4.k (4.1). Единичный сигнал с i-го выхода дешифратора 10 поступает на первый вход элемента И 20.i и в случае, если шина 49 свободна и на второй вход элемента 20. i подается единичный сигнал с выхода элемента 18.i, передается на выход элемента 20. i. Единичный сигнал с выхода элемента 20.i поступает на управляющие входы блоков 16. i и 17.i и обеспечивает передачу информации (кода признака участков либо нулевого кода) с прямого выхода регистра 4.i (в общем случае i


Класс G06F9/22 микроуправление или устройства с микропрограммой
развертывание образа микропрограммы при наличии множества собственников - патент 2510952 (10.04.2014) | ![]() |
самоконтролируемый автомат - патент 2502121 (20.12.2013) | ![]() |
обработка электронных чернил - патент 2358308 (10.06.2009) | ![]() |
устройство программного управления - патент 2261470 (27.09.2005) | ![]() |
модуль системы микропрограммного управления - патент 2152071 (27.06.2000) | |
модуль мультимикроконтроллерной сети - патент 2151421 (20.06.2000) | |
устройство программного управления - патент 2146064 (27.02.2000) | |
модуль системы программного управления - патент 2145434 (10.02.2000) | |
мультимикроконтроллерная система - патент 2120135 (10.10.1998) | |
модуль микроконтроллерной сети - патент 2112272 (27.05.1998) |