Конвейерная система для программного управления

ZIP архив

Текст

ОСУДАРСТ В Е ННЫЙ КОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМПРИ ГКНТ СССР К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ(56) Авторское свидетельство СССРМ 1334106, кл. 6 06 В 19/18, 1986.Авторское. свидетельство СССРВ 1471190, кл, 6 05 Г 9/22, 1985.(54) КОНВЕЙЕРНАЯ СИСТЕМА ДЛЯ ПРОГРАММНОГО УПРАВЛЕНИЯ(57) Изобретение относится к автоматике ивычислительной технике. может применять-,ся в АСУ ТП и группами идентичных объектов, работающих с временнымзапаздыванием друг относительно друга(например, группами станков с ЧПУ и др.), атакже в системах обработки данных с конИзобретение относится к автоматике и . вычислительной технике, может применяться в АСУ ТП и группами идентичных объек-тов,работающих с временным запаздыванием друг относительно друга (например, группами станков с ЧПУ и др,), а также в системах обработки данных с конвейерным выполнением микропрограмм,Цель изобретения - расширение области применения и повышение производительности микропрограммной. управляющей конвейерной системы,Сущность изобретения состоит в расширении области применения системы реализации программ с различными типами параллелизма и повышении производительности микропрограммной управляющей 2вейерным выполнением микропрограмм.Цель изобретения - расширение области применения. Сущность изобретения состо. ит в расширении функциональных воэможностей системы реализации программ с различными типами параллелизма и повышении производительности микропрограммной управляющей конвейерной системы при реализации программ с двойным параллелизмом путем разделения ее на.п независимо функционирующих подсистем.Программа обладает двойным параллелизмом в том случае, если наряду с параллелизмом множества, объектов решаемая задача позволяет выделить параллелизм независимых операций. Конвейерная система содержит центральное устройство управления, блок синхронизации, первую, вторую и третью группы блоков микропрограммного управления, блок регистров, первую и вторую группы коммутаторов 11 ил,конвейерной системы. при реализации про(Ь грамм с двойным параллелизмом путем раз. деления ее на и независимо функционирующих подсистем. Программа ф обладает двойным параллелизмом в том Ь случае, если наряду с параллелизмом мно- О жества объектов решаемая задача позволяет выделить параллелизм независимых операций, Рассмотрим пример вычисления . интеграла. При этом задана функция т(х) и интервал интегрирования х=а, Ъ, ТребуетсяЬвычислитьт(х)бх. Задача сводится к выачислению интегральной суммы. Интервал интегрирования разбивается на Я элементарных участков. Величина й зависит от необходимой точности вычислений Вции "Конец работы" первого блока микропрограммного управления первой группы соединен с пятым управляющим входом центрального управлющего устройства, выход сигнала микрооперации "Конец работы"блока микропрограммного управления К,псоединен с вторым управляющим входомблока синхронизации.,1 УИ 62 УТ+1ВСФОУб,ИЯбеду.УбЮУпУЮ 6 Ж 1РОЖ./,9 иг. ЛСоставитель С. ЗубковРедактор О, Юрковецкая Техред М.Моргентал КорректКучеряваяЗаказ 2391 Тираж 484 ПодписноеВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР113035, Москва, Ж, Раущская наб 4/5Производственно-издательский комбинат "Патент", г. Ужгород, ул.Гагаринасередине каждого К-го участка вычисляетсязначение функции Ф(х), которое умножаетсяна длину участка 3, Сложив результаты, полученные на каждом участке, в итоге мы будем иметь значение интегральной суммыфункции )(х) на интервале х=а, Ь, которое сопределенной степенью точности будет соьответствовать значению1(х)бх.аТеперь разобьем интервал а, Ь на )чучастков. На каждом из участков будет работать один блок микропрограммного управления, причем каждый К-й блокорганизует вычисления по алгоритмуРм = Г (хь) + РМ где Р(х )=Цх - значение элементарногослагаемого интегральной суммы на К-м участке К.й, Ь 1-й точке,Воспользовавшись тем, чтоь С М) Хх)бх = ) 7)х)бх+ ) Хх)бх+ ) 1)х)бх,а а с+1 м+1можно разбить все число блоков микропрограммного управления на и групп блоков й/и в каждой. Теперь задача сводится квычислению суммы интервалов, Таким образом, внутри 1-и групп блоков используется параллелизм множества объектов, аналичие и групп блоков возможно благодаря тому, что задача обладает параллелизмом независимых операций.На фиг, 1 представлена функциональная схема системы; на фиг,2 - функциональная схема центрального устройствауправления; на фиг. 3 - схема блока регистров; на фиг, 4 - схема блока микропрограммного управления; на фиг. 5 - схема блокасинхронизации; на фиг,6 и 7 - схемы первыхи вторых коммутаторов соответственно; нафиг, 8 и 9 - временная диаграмма функционирования й-го блока микропрограммногоуправления элементов системы в режиме"Моносистема"; на фиг. 10 и 11 - то же, врежиме "Полисистема",Конвейерная система для программного управления (фиг. 1) содержит центральное устройство 1 управленйя (ЦУУ), блок 2регистров, блок 3 синхронизации первыйэлемент И 4, группу 5,Ц (1=1 К, )=1,п) блоков(1=1 К, /=1,п) логических условий блоков 5,группу выходов конвейерных микроопераций 14.Ц, сигналов микроопераций "Конецкоманды" 15.Ц, кода операций 16,Ц, второго управляющего сигнала 17.,К.) 0=1 п), первыми и вторыми синхровходами группы блока 5.Ц (1=1,К)=1.й), второй управляющий 50 выход блока 2 регистров соединен с вторымуправляющим входом блока 1, группа входов 13,Ц =ГК, )=1.п) соединена с вторыми информационными входами групп соответствующих блоков 5.Ц, группа выходов 14.Ц 55 =1;К,)=1,й) соответствующих блокоь 5 является группой выходов конвейерного управления системы, выходы 15.Ц и 16.Ц, где 1=1.К, )=1.п, соответствующих блоков 5 соединены с управляющими и первыми управляющими входами блоков 5,+1.), выходы 1015202530354045 микроопераций "Конец работы" 18 и блоков 5.К.п соответственно. На фиг, 1 также обозначены выходы блока 3 синхронизации: 19 - сигнала запуска блока 5, 20 и 21 - первого и второго тактовых импульсов соответственно; выход 22 элемента И 4; выходы ЦУУ 1; 23 - кодов операции, 24 - сигнала запуска блока 2 регистров, 25 - первого управляющего сигнала; группа 26,1-26.п выходов кодов операции блока 2 регистров и выход 27 третьего управляющего сигнала блока 2 регистров. Вход 10 системы соединен с четвертым управляющим входом блока 1 и с первым управляющим входом блока 3 синхронизации, выход 19 сигнала запуска которого соединен с первыми управляющими входами блока 5,1.1, и первой группы 6.1-6,пкоммутаторовсоответственно, выход 20 первого тактовогоимпульса блока 3 синхронизации соединенс первым входом второго элемента И 8 и синхровходом блока 1, выход 21 второго тактового импульса блока 3 синхронизациисоединен с первым входом третьего элемента И 9 и синхровходом блока 2 регистров,вход системы соединен с первым, а вход 12 - с вторым информационными входами блока 1 соответственно, выход 22 элемента И 4 соединен с вторым управляющим входом блока регистров и с управляющим входом блока 1, информационный выход 23 которого соединен с информационным входом блока 2 регистров, выход 24 блока 1 соединен с первым управляющим входом блока 2 регистров, выход 25 блока 1 соединен с вторыми управляющими входами первой группы 6.1-6.п коммутаторов, третий управляющий выход блока 1 соединен стретьим управляющим входом блока 2 регистрое, информационные выходы 26.1 - 26.пблока 2 регистров соединены с адресным входом первого блока 5.1.1 и первыми информационными входами группы 6.1-6.п первых коммутаторов соответственно, выход 27 блока 2 регистров соединен с вторыми входами второго 8 и третьего 9элементов И, выходы которых соединены с17,К.) и 16.К,), где )=2,п соединены с первыми управляющими и информационными входами второй группы 7./-1 коммутаторов, выходы 15.К,1 и 16,К.1 соответствующего блока 5 соединены с управляющими и информационными входами блока 5.К.1, выходы 15,К.) и 17.К,), где)=Га - 1, соответствующих блоков соединены с третьими управляющими входами первойгруппы 6.) коммутаторов и вторыми управ- ляющими входами второй группы 17.) ком-мутаторов соответственно, выходы 16.К. О=1.п - 1) соответствующих блоков соединены с вторыми информационными входами первых 6.) и вторых 7.) коммутаторов, выходы 15. К - 1,1 и 16. К - 1,1 блока 5. К.1 соединены с управляющим и первыми информационными входами блоков 5.К,1, информационные и управляющие выходы первых 6.) 0=1.п) коммутаторов соединены с первыми информационными и управляющими входами блоков 5.1. )+1, информационные и управляющие выходы вторых 7.) 0=1;и) коммутаторов соединены с первыми информационными и управляющими входами блоков 5,К.)+1, выходы 15 сигналов микроопераций "Конец команды" каждого блока 5,а.Ь из группы блоков 5.Ц, где 1=1;К, )=1 и, соединены с группой входов сигналов микроопераций "Конец команды" всех блоков 5.Ц, для которых 1 Ф а, ) Ф Ь, выходы сигналов микроопераций "Конец команды" всех 5.Ц блоков (=ГК, )=1 и) соединены с входами элемента И 4, выход 18.1.1 блока 5,1.1 соединен с пятым управляющим входом блока 1, выход 18.К,п блока 5.К.п соединен с вторым управляющим входом блока 3 синхронизации.Центральное устройство 1 управленияфиг. 2) содержит блок 28 памяти с полями: 1 - кода логических условий, 2- модифицируемого разряда адреса, 3 - немодифицируемого разряда адреса микрокоманды, 4 - микрооперации "Конец команды", 5- кода операции, б - первого управляющего сигнале, регистр 29 адреса. коммутатор 30 адреса, мультиплексор 31, элемент ИЛИ 32, первый 33 и второй 34 элементы И, первый одновибратор 35, ЯЯ-триггер 36 и второй одновибратор 37,Вход 11 кода операции соединен с первым информационным входом коммутатора 30 адреса, выход поля 4 блока 28 памяти - с первым прямым и вторым инверсным управляющими входами коммутатора ЗО, выход поля 1 блока 28 памяти - с управляющим входом мультиплексора 31, вход 12 - с информационным входом мультиплексора 31, выход которого соединен с первым входом 5 10 15 20 25 30 35 40 45 50 55 элемента ИЛИ 32, выход поля 3 блока 28 памяти соединен с вторым входом элемента ИЛИ 32, выход которого соединен с входом модифицируемого разряда адреса второго информационного входа коммутатора 30, выход поля 3 блока 28 памяти - с входом немодифицируемых разрядов адреса второго информационного входа коммутатора 30, выход которого соединен с информационным входом регистра 29, вход 20 соединен с первым входом элемента И 33, вход 22 - с вторыми входами элементов И 33 и И 34, третий управляющий вход ЦУУ соединен с третьим инверсным входом элемента И 33, вход 10 - с Я-входом триггера Зб, вход 18,1.1 - с входом второго одноеибратора 37, выход которого соединен с й-входом триггера 36, единичный выход которого соединен с четвертым входом элемента И.ЗЗ, выход кото-. рого соединен с синхровходом регистра 29, выход которого соединен с информационным входом блока 28 памяти, выход поля 6 которого является выходом 25 ЦУУ 1 и соединен с первым входом элемента И 34, выход которого соединен с входом первого одновибратора 35, выход последнего является выходом 24 сигнала запуска блока 2 регистров, выход поля 5 ф блока 28 памяти является выходом 23 кодов операций ЦУУ 1.Блок 2 регистров (фиг. 3) содержит регистр 38, группу 39.1 - 39,п - 1 регистров, дешифратор 40, первый 41 и второй 42 ВЯ-триггеры, счетчик 43, первый 44 и второй 45 элементы И, прямой выход 46 триггера 42.Информационный вход 23 блока регистров соединен с информационными входами регистра 38 и группы 39,1-39,п - 1 регистров, вход 21 соединен с первым входом второго 45 и вторым входом первого 44 элементов И, а также со счетным входом счетчика 43, вход 22 соединен с первым входом первого элемента И 44, вход 24 соединен с Я-входом триггера 41, третий управляющий вход блока 2 регистров соединен с вторым входом элемента И 44, выход которого соединен с входом синхронизации регистра 38 и груп- пы 39,1-39 ирегистров, выходы дешифратора 40 соединены: нулевой - с управляющим входом регистра 38.1 (и -1)-й - с управляющими входами группы 39.1- 39,п - 1 регистров соответственно, и-й выход дешифратора 40 соединен с Я-входом счетчика 43, Я-входом триггера 42 и К-входом триггера 41, прямой выход которого соединен с управляющим входом счетчика 43, а инверсный - с выходом 27 блока 2 регистров, выход счетчика 43 соединен с информацитонным входом дешифратора 40, прямой выход 46 триггера 42 соединен с управляющим выходом блока 2 регистров и вторым ход которого соединен с информационным входом элемента И 45, выход которого сое- входом блока 47 памяти, выход второго эле- динен с В-входом триггера 42, выходы 26.1 - мента И 60 соединен с синхровходами реги.п регистра 38 и группы регистров стров 52 и 53, первый управляющий выход 391 - 39.п - 1 соответственноявляются выхо регистра 52 соединен с вторым входом и дами кодов операций. является выходом 15.Ц блока 5, информациКаждый блок 5,Ц (фиг. 4) содержит блок онный и второй управляющие выходы пер памяти с полями: 1- немодифицируемых вого регистра 52 являются выходами 14.Ц и разрядов адреса очередной микрокоманды,2 17.Ц блока 5 соответственно, выход второго - кода логических условий, 3 - модифициру регистра 53 является выходом 16.1,) блока. емого разряда адреса, 4- кода микроопера- Блок 3 синхронизации (фиг. 5) содержит ций, 5 - сигнала микроаперации "Конец генератор 61 тактовых импульсов, первый работы", 6- сигнала микрооперации "Конец 62 и второй 63 ВЯ-триггеры и элемент И 64. команды"; регистр 48, коммутатор 49, мульти- Вход 10 пуска системы соединен с В-входом плексор 50, элемент ИЛИ 51, регистры 52 и 15 первого 62 и Я-входом второго 63 триггеров, 53, триггер 54, первый и второй 56.одновиб- вход 18 соединен с Я-входом первого триграторы,.первый 57 и второй 58 элементы И- гера 62, единичный выход которого соеди- НЕ, первый 59 и второй 60 элементы И, нен с управляющим входом генератора 6Первый информационный вход блока 5 тактовых импульсов, первый выход которо- соединен с первым информационным вхо го соединен с вторым входом элемента И 64 дом коммутатора 49, второй вход 13.1,) и является выходом 20 первого импульса (1=1.К, )=1.п) блока 5 соединен с информаци- синхронизации, второй выход генератора онным входом мультиплексора 50, вход 15 является выходом 21 второго импульса синсигналовмикрокоманд"Конец команды" со- хронизации, единичный выход триггера 63 единен с группой 1-(К, й) входов элемента 25 соединен с первым входом элемента И 64, И-НЕ 57, вход 19 - с входом первого одно- выход которого соединен с В-входомтриггевибратора 55, выход которого соединен с ра 63 и выходом 19 блока 3 синхронизации.3-входом триггера 54, вход 20 - с первым Каждый коммутатор 6.) из первой груп- входом первого элемента И 59, вход 21 - с пы 6,1-6,пкоммутаторов(фиг,б) содержит первым входом второго элемента И 60, вы элементы 2 И-ИЛИ 65 и 66. Вход 26.)+1 соеход поля 1 блока 47 памяти соединен с вхо- динен с первым информационным входом дами немодифицируемых разрядов адреса элемента 2 И-ИЛИ 65, вход 16.К.) - с вторым второго информационного входа коммута- информационным входом элемента 2 И- тора 49 и информационным входом регист- ИЛИ 65, вход 25- с первым прямым и втора 53, выход поля 2 - с управляющим 35 рым инверсным входами элемента 2 И-ИЛИ входом мультиплексора 50, выход которого 65, выход которого является информационсоединен с входом элемента ИЛИ 51, выход ным выходом коммутатора, вход 15,К.) соеполя 3- с вторым входом элемента ИЛИ 51, динен с первым прямым входом элемента 2 выход которого соединен с входом модифи- И-ИЛИ 66, вход 19 - с первым входом элецируемого разряда первого информацион мента 2 И-ИЛИ 66, выход которого является ного входа коммутатора 49, выход поля 4- управляющим выходом коммутатора.с информационным входом регистра 52, вы- Каждый коммутатор 7,) из второй групход поля 5 является выходом 18 блока 5 и пы 7,1-7,пкоммутаторов (фиг. 7) содерсоединен с входом одновибратора 56, вы- жит элемент 2 И-ИЛИ 67 и элемент ИЛИ 68, ход которого соединен с В-входом триггера 45 вход 16.К - 1, )+1 соединен с первым, а вход 54 и четвертым входом элемента И 60, выход 16.К,) - с вторым информационными входа- поля 61 соединен с информационным вхо- ми элемента 2 И-ИЛИ 67 соотвественно, дом регистра 52, управляющим входом ре- вход 17.К.) соединен с первым входом элегистра 53, групповым выходом 15 блока 5, мента ИЛИ 68, первым инверсным и вторым первымпрямымивторыминверснымвхода прямым входами элемента 2 И-ИЛИ 67, выми коммутатора 49, выход которого соеди- ход которого является информационным нен с информационным входом регистра 48, выходом коммутатора, вход 15,К-Ц+1 соеединичный выход триггера 54 соединен с динен с вторым входом элемента ИЛИ 68, вторыми входами первого 59 и второго 60 выход которого является выходом управляэлементов И соответственновыход элемен ющего сигнала коммутатора 7.).та И-НЕ 57 соединен с первым входом эле- Центральное устройство 1 управления мента И-НЕ 58, выход которого соединен с предназначено для организации работы третьими входами первого 59 и второго 60 всех блоков системы в соответствии с макэлементов И, выход первого элемента И 59 ропрограммой посредством выдачи после-соединен с синхровходом регистра 48, вы- довательности кодов операции, 1665340де 12, 1=1,д 10 15 20 25 30 35 40 45 50 55 ЦУУ 1 работает следующим образом, Импульс команды "Пуск" с входа 10 переводит триггер 36 в единичное состояние. При наличии на втором и четвертом прямых и третьем инверсном входам элемента И ЗЗ соответствующих разрешающих сигналов через него разрешается поступление на синхровход регистра 29 первого тактового импульса. По этому тактовому импульсу при наличии разрешающего сигнала на управляющих входах коммутатора 30 с входа 11 ЦУУ 1 в регистр 29 заносится код операции макропрограммы. По принятому коду операции на выходе блока 28 памяти формируется соответствующая данному коду операции микрокоманда, т.е. код операции выступает как адрес первой микрокоманды выполняемой макропрограммы. Если вы- . полняемая программа предусматривает функционирование системы в режиме "Полисистема", то на выходе поля 6 блока 28 памяти появляется единичный управляющий сигнал. Этот сигнал поступает на выход 25 ЦУУ 1 и на один из входов элемента И 34, на второй его вход поступает управляющий сигнал, свидетельствующий об исходном состоянии всех блоков 5. При этом на выходе элемента И 34 появляется единичный сигнал, по которому одновибратор 35 формирует импульс, поступающий на выход 24 ЦУУ 1. Если выполняемая программа предусматривает режим работы "Моносистема", то на выходе проля 6 единичный сигнал отсутствует и формирование импульса не происходит.Адрес очередной микрокоманды поступает на второй информационный вход коммутатора 30, при этом на выходе поля 4 блока 28 памяти присутствует нулевой сигнал микрооперации "Конец команды", который разрешает его прохождение на выход коммутатора. По очередному первому тактовому импульсу в регистр 29 заносится адрес очередной микрокоманды. Код операции блоков 5 поступает с выхода поля 5 блока 28 памяти на выход 23 ЦУУ 1.По очередному тактовому импульсу при наличии соответствующих разрешающих сигналов работа устройства повторяется, Исключение составляет режим реализации микрокоманды условного перехода. В этой ситуации адрес следующей микрокоманды формируется с учетом значений логических условий, поступающих на вход 12. Это происходит следующим образом. С выхода поля 1 блока 28 памяти на второй вход мультиплексора 31 поступает код логического условия, а на первый его вход поступает значение проверяемого логического . условия. Мультиплексор 31 реализуетлогическую функциюУ=К 1 К 2 КХ 1+К 1 К 2 КЗ КзХ+К 1 К 2 Кз КзХз где коньюнкции К 1 К 2 Кэ,"Кз задают код про 5 веряемого логического условия К ( КЖ 1 3=о 92 д б - число логических условий; Х - значения логических условий на вхоВ зависимости от значения функции У на выходе мультиплексора 31 на элементе ИЛИ 32модифицируется младший нулевой разряд адреса микрокоманд. При У=О следующей реализуется микрокоманда по адресу А, поступившему с выхода поля 3 адреса блока 28 памяти, а и ри У=1 реализуется микрокоманда по адресу А+1, Таким образом, осуществляется реализация условного перехода. При появлении на входе 18.1.1 единич ного сигнала одновибратор 37 формирует импульс, переводящий триггер36 в нулевое состояние, при этом блокируется прохождение импульсов ,через элемент И 33,Блок 2 регистров предназначендля приема, хранения и одновременной выдачи кодов операций 1 - и группам блоков 5. Одновременно блок 2 регистров может хранить и кодов операций. Он может работать в двух режимах: приема и выдачи кода операции лищь по одному, первому каналу, что соответствует режиму "Моносистема". и распределения кодов операций по и каналам.одновременно - режим "Полисистема",В режиме "Моносистема" триггеры 41 и 42 обнуленн, работа счетчика 43 запрещена, на нулевом выходе дешифратора 40 присутствует единичный сигнал, разрешающий занесение информации с входа 23 в регистр 38. Тактовый импульс т 2 - может попасть на синхровход регистра только при условии наличия на входе 22 и третьем управляющем входе блока регистров единичных сигналов, открывающих элемент И 44, т.е, при условии, что все блоки 5 системы завершили выполнение команды, а блок 1 включен в работу. При нарушении этого условия, тактовый импульс х 2 с входа 22.через заблокированныйэлемент И 44 пройти не сможет,и в регистр 38 информация занесена на будет.В режим "Полисистема" блок 2 регистров переходит при поступлении на вход 24 импульса запуска. Он поступает на Я-вход триггера 41 и переводит его в единичное состояние, после чего разрешается работа счетчика 43. По импульсу т 2 в регистр 38 заносится первый код операции, а на выходе счетчика 43 появляется комбинация, ко5 10 15 20 25 30 35 40 45 50 55 торой соответствует единичный сигнал на первом выходе дешифратора, По следующему импульсу т 2 в регистр 39.1 заносится второй код операции, а единичный сигнал появляется на втором выходе дешифратора, и т.п, По и-му импульсу к 2 и-й код операции заносится в регистр 39.(п - 1), а появившийся на п-м выходе дешифратора 40 сигнал обнуляет триггер 41 и счетчик 43, а триггер 42 переводится в единичное положение. При этом на выходе 46 триггера 42 и инверсном выходе триггера 41, а равно на втором управляющем выходе и на выходе 27 блока регистров соответственно появляются единичные сигналы, При поступлении очередного импульса т 2 триггер 42 обнуляется и единичный сйгнал на его прямом выходе исчезает. По этому же импульсу и-й код операции заносится в регистр 38, но это не существенно, так как к этому времени коды операции уже будут считаны в адресные регистры соответствующих блоков 5, а нулевой сигнал на входе 18 1.1 заблокирует элемент И 44. Блок регистров переходит в ждущий режим работы. При поступлении очередного импульса запуска на вход 24 работа блока регистров повторяется.Блок 3 (фиг. 5) предназначен для синхронизации работы системы по первому т 1 и второму т 2 тактовым импульсам, а также для формирования сигнала запуска блока 5.В исходном состоянии триггеры 62 и 63 обнулены, генерация тактовых импульсов отсутствует, Поступающий на.вход 10 импульс запуска переводит первый 62 и второй 63 триггеры в единичное состояние. Появившийся на единичном выходе триггера 62 сигнал разрешает работу генератора 61. Сигнал с прямого выхода второго триггера 63 разрешает прохождение импульсов через элемент И 64. Второй тактовый импульс, пройдя через элемент И 64, поступает на й-вхсщ триггера 63 и обнуляет его, Таким образом, на выходе блока синхронизации формируется сигнал запуска блоков 5. Генератор 61 формирует последовательность тактовых импульсов 6 и т 2 на выходах 20 и 21 соответственно, Наступающий на вход 18 сигнал обнуляет триггер 62 и прекращает работу генератора 61. Очередной сигнал "Пуск" возобновляет работу блока 3 синхронизации.Элемент И 4 предназначен для определения гнр.сигналам микроопераций "Конец команды" блоков 5.Ц(1=1,К,)=,п).конца такта работы блока 5.Блоки 5,Ц (1-1;К, /=7;и) микропрограммного управления идентичны. Блок 5,Ц микропрограммного управления предназначен для органиэации микропрограммного уп: равления в Ц-м канале управления. Он функционирует следующим образом, В исходном состоянии все элементы памяти обнулены. Поступающий на вход 19 блока 5 сигнал проходит на вход одновибратора 55, который формирует по нему импульс, поступающий на Б-вход триггера 54 и переводящий его в единичное состояние. Сигнал с единичного выхода триггера 54 поступает на вторые входы первого 59 и второго 60 элементов И. Если все остальные блоки 5 закончили выполнение команд, о чем будет свидетельствовать нулевой сигнал на выходе первого элемента И-НЕ 57, поступающий на один вход второго элемента И-НЕ 58, на второй вход которого поступает единичный сигнал микрооперации "Конец команды" этого блока 5, единичный сигнал с выхода элемента И-НЕ 58 поступает на третий вход первого 59 и второго 60 элементов И. Таким образом, через эти элементы по их первым входам разрешается прохождение первого и второго тактовых импульсов с входов 20 и 21 соответственно. По первому тактовому импульсу в регистр 48 с адресного входа через коммутатор 49 заносится код операции. По принятому коду операции на выходе блока 47 памяти микрокоманд формируется соответствующая данному коду операции микрокоманда, т.е, код операции выступает как адрес первой микрокоманды выполняемой микропрограммы.На выходе поля 6 фблока 47 памяти появляется нулевой сигнал "Конец команды". При этом адрес очередной микрокоманды с выхода поля 1 блока памяти через коммутатор 49 поступает на информационный вход регистра 48. Операционная часть микрокоманды поступает на информационный вход регистра 52 и по второму тактовому импульсу считывается в него, По первому тактовому импульсу адрес очередной микрокоманды заносится в регистр 48, по нему с блока 47 памяти считывается очередная микрокоманда. По второму тактовому импульсу работа блока 5 повторяется, Реализация условного перехода происходит аналогично центральному устройству управления, Последняя микрокоманда выполняемой микропрограммы содержит единичную микрооперацию "Конец команды", по сигналу которой с выхода поля 1 блока 47 памяти в регистр 53 заносится код операции для следующего блока 5. По окончании работы блока 5 на выходе блока 47 памяти появляется единичный сигнал микрооперации "Конец работы", поступающий на входодновибратора 56, Поданному сигналу одновибратор 56 формирует импульс, переводящий триггер 54 в нулевое состояние, и по этому же импульсу в регистры 52 и51015 50 55 53 заносится соответствующая информация. После этого пропуск тактовых импульсов на входы блока 5 запрещается. После поступления запускающего импульса на вход 19 работа блока 5 повторяется.Первая группа 6.1 - б.п - 1 коммутаторов (фиг. 6) предназначена для распределения кодов операции между 1-и-й группами блоков 5 в различных режимах работы системы. В режиме "Моносистема" на входе 25 коммутатора 6.Я=1;п=1) присутствует нулевой сигнал, который разрешает поступление на информационный выход коммутатора кода операции со своего второго входа 16.к.), а на управляющий выход - сигнала запуска с входа 15 к,) через элемент 2 И - ИЛИ 66. В режиме "Полисистема" на входе 25 коммутатора присутствует единичный сигнал, разрешающийпоступление на информационный и управляющий выходы кода операции и сигнала запуска блока 5 с входов 26.1+1 и 19 соответственно,Вторая группа 7.1-7.пкоммутаторов (фиг. 7) предназначена для формирования кодов операций на адресных входах блоков 5.к.) О=2,п) в режиме "Моносистема" и на этапе свертки режима "Полисистема".В режиме "Моносистема" и на других этапах режима "Полисистема" коммутатор 7, 9=1,п - 1) функционирует следующим образом. Нулевой сигнал на входе 17.К.) обеспечивает информационному входу коммутатора появление кода операции, поступающего на вход 16.К, )+1 коммутатора. На управляющем входе появляется сигнал с входа 15. К - 1. )+1. На этапе свертки режима "Полисистема" и на входе 17.К. 1.1 появляется единичный сигнал, при этом на информационном выходе появляется сигнал с входа 16.К.).Первый 8 и второй 9 элементы И предназначены для управления подачей синхроимпульсов т 1 и т 2 на синхровходы блоков 5 в соответствии со значением управляющего сигнала на выходе 27 блока 2 регистров, При единичном значении сигнала элементы И 8 и 9 открыты, при нулевом закрыты.Система работает следующим образом, Как уже отмечалось, предлагаемая система может работать в двух режимах: "Моносистема" и "Полисистема".Режим "Моносистема". На вход 10 блока 3 синхронизации поступает сигнал "Пуск". По нему блок 3 синхронизации начинает генерировать тактовые импульсы ,и т 2, а центральное устройство управления переводится в рабочее состояние, По первому импульсу т 1 в ЦУУ по коду макропрограммы, поступающему с входа 11 системы,формируется код операции для блока 5.1.1, который по первому импульсу т 2 заноситсяв регистр 38 блока 2 регистров. На выходе 25 ЦУУ присутствует нулевой сигнал, определяющий работу системы в режиме "Моно- система", По первому же импульсу яблок 5.1,1 микропрограммного управления переводится в рабочее состояние. Появившийся на выходе 27 блока 2 регистров единичный сигнал открывает первый 8 и второй 9 элементы И и разрешает поступление последовательности синхроимпульсов г 1 и г 2 на соответствующие входы блоков 5.Ц (1=1 К, )=1 и). По второму импульсу г 1 код операции с выхода 26.1 блока 2 регистров заносится в адресный регистр блока 5.1.1, формируется очередной код операции. По второму импульсу г 2 этот код операции заносится в первый регистр блока 2 регистров, а в блоке 5.1.1 реализуется первая микропрограмма по занесению в его адресный регистр кода операции.Нулевой сигнал микрооперации "Конец команды" на выходе 15,1.1 обусловливает появление нулевого сигнала на выходе элемента И 4, что приводит к блокировке импульсов г 1 на синхровходе ЦУУ. По последующимтактовымимпульсам т 1 и т 2 блок 5,1.1 реализует последовательность микроопераций, по первому коду операции организует первый такт работы системы, В конце такта работы на выходе 15.1.1 появляется единичный сигнал микрооперации "Конец команды", который переводит в рабочее состояние следующий блок 5.2.1. На выходе элемента И 4 вновь появляется единичный сигнал, разрешающий работу ЦУУ, в котором по очередному импульсу т 1 формируется третий код операции. По этому же импульсу в регистр адреса первого блока 5.1.1 с выхода 26.1 блока 2 регистров заносится второй код операции, а в регистр второго блока 5.2,1 с выхода 16.1,1 первого блока 5.1.1 заносится первый код операции. Во втором такте начинают функционировать первый и второй блоки 5. Далее на каждом последующем такте работы последовательно втягиваютея по одному блоку.Этот режим втягивания заканчивается на такте работы, когда все блоки 5 системы включаются в работу. После выполнения первым блоком 5.1.1 микропрограммы начинается режим выхода. При этом первый блок 5.1 завершает выполнение программы и на его выходе 18,1.1 появляется сигнал микрооперации "Конец работы", он поступает на вход ЦУУ - и блока 2 регистров и блокирует прохождение синхроимпульсов на их входы до поступления очередного сиг 1665340 16нала "Пуск" системы. На втором такте завершает работу второй блок 5.2.1, на третьем - блок 5,3,1 и т,п., на К и-м такте режима "Выход" завершает работу последний блок 5.К,о, сигнал на его выходе 18.К.п останавливает блок 3 синхронизации. Система переходит в ждущий режим работц. Мри поступлении на вход 10 импульса "Пуск" ее работа в режиме "Моносистема" повторяет-. ся.Режим "Молисистема". На вход 10 поступает сигнал "Пуск", По нему блок 3 синхронизации начинает генерировать последовательность тактовых импульсов г 1 и т 2, а на синхровход ЦУУ разрешаетсяпоступление импульсов т 1 . Мо первому импульсу г 1 в адресный регистр ЦУУ заносит, ся код макропрограммы, в блоке памяти формируется первый код операции. На выходе 25 появляется единичный управляю, щий сигнал, переводящий систему в режим "Молисистема". Формируемый на выходе 19 блока 3 синхронизации импульс запуска поступает на управляющий вход блока 5.1.1, а через первую группу 6.1 - 6,п - 1 коммутаторов на управляющие входы первых блоков 5.1.) (1=2,п) 2,п-й групп, Таким образом, в работу сразу включается п групп блоков 5, начинающих одновременно реализовать и участков программы, Мо импульсу с выхода 24 блок 2 регистров переводится в режим "Молисистема". На выходе 27 блока 2 регистров появляется нулевой сигнал, запрещающий прохождение импульсов синхронизации на входы блоков 5. Мо первым и импульсам т 1 в ЦУУ формируются по и кодов операций, которые заносятся в блок 2 регистров по и импульсам г 2 . на его выходах 26.1-26,п появляются и кодов операций для первой - и-й групп блоков 5 соответственно. После поступления на вход 21 блока 2 регистра и-го импульса х 2 на его первом 27 и втором управляющих выходах появляются единичные сигналы,Первый блокирует прохождение (и+1)-гоимпульса т 1 на вход ЦУУ и исчезает после появления на входе 21 блока 2 регистров (и+1)-го импульса т 2. Второй открывает элементы И 8 и 9, чем разрешает поступлдение (и+1)-х и последующих импульсов т 1 и т 2 на соответствующие синхровходы блоков 5.1.) )=1 и). Мо п-му импульсу г 1 в адресные регистры блоков 5.1. считываются соответствующие коды операций, по (и+1)-му импульсу г 2 сформированные по ним коды конвейерных микроопераций появляются на выходах 14,1,3 блока 5.1.) =1 и). На их выходах 15.1,) исчезает сигнал микроопераций "Конец команды", что приводит к появлению нулевого сигнала на выходе 22 элемента И 4, который блокирует синхровходы ЦУУ и блока 2 регистров на время выполнения группой блоков 5, Ц 0=1 п) соответству ющих команд. Когда на выходе 22 элементаИ 4 вновь появится единичный сигнал, что свидетельствует о завершении каждым из блоков 5,1.) 0=1 и) соответствующих команд, на синхровход ЦУУ вновь поступает им пульс ц, импульс на выходе 24 ЦУУ заводитблок 2 регистров, и повторяется процесс формирования и кодов макроопераций, как описано, В следующем такте работы системы в работу включаются блоки 5.Ц Ц=1,2;15 )-1.п). Каждая группа блоков 5 функционирует как система в режиме "Моносистема".Мри выполнении программ, ориентированных на параллелизм независимых ветвей, работа системы заканчивается после 20 выполнения блоками 5,К,) 0=1.п) последнихмикрокоманд.Рассмотрим режим выхода системы изрежима "Полисистема" для программ с параллелизмом смежных операций - этап 25 свертки. Он начинается в момент реализации блоками 5.К.) О=1;и) последних микрокоманд (1 - и)-го участков макропрограммы. По импульсу т 1 на выходах 18,К) блоков 5,К.) О=1, и - 1) появляются сигналы микроопера ций "Конец работы", по которым блокируется устройство 1 и блоки 5,К.). По импульсу г 2 на выходе 17.К,1 блоков 5.К,1 появляется единичный управляющий сигнал, поступающий на второй управляющий вход коммута тора 7.1, После этого на управляющемвыходе коммутатора 7.1 появляется сигнал, запускающий блок 5.К.2. Адрес очередной, микрокоманды поступает с выхода 16.К,1через коммутатор 7.1 на вход блока 5,К.2. Мо 40 импульсу х 1 адрес заносится в блок 5.К,2,где формируется микрокоманда. После выполнения блоками 5,К.2 команды на выходе 18,К.2 появляется сигнал микрооперации "Конец работы", который блокирует синхровходы блоков 5.К.2, а на выходе 17,К,2 появляется управляющий сигнал, поступающий на управляющий вход коммутатора 7.2.При этом включается в работу блок 5,К,З, он реализует команду по коду операции с вы хода 16, К.2 соответствующего блока 5, т.е, врежиме свертки последние 1-е блоки 5(1-и)- х групп с помощью коммутаторов 7.1 - 7,порганизуются в конвейерную систему, в которой в каждом такте работает только один блок; на первом - блок 5.К.1, на втором - блок 5.К,2, на и-м - блок 5.К,п. После того, как на выходе 18.К,п блока 5.К.п появится сигнал микрооперации "Конец работы",этот блок выключается из работы. По этому10 15 20 25 30 35 40 50 же сигналу прекращается работа блока 3 синхронизации. Система переходит в исходное состояние, При поступлении сигнала "Пуск" на вход 10 системы она начнет функционировать в одном из двух описанных режимов. Формула изобретения Конвейерная система для программного управления, содержащая центральное устройство управления, блок синхронизации, группу блоков микропрограммного управления, первый элемент И, причем вход пуска системы соединен с первым управляющим входом блока синхронизации, выход первого тактового импульса которого соединен с входом синхронизации центрального устройства управления, входы операций и логических условий системы соединены с первым и вторым информационными входами центрального устройства управления соответственно, входы логических условий конвейерных микропрограмм системы соединены с входами логических условий блоков микропрограммного управления, выходы микроопераций "Конец команды" которых соединены с соответствующим входом первого элемента И, выход которого соединен с первым управляющим входом центрального устройства управления, о т л и ч а ю щ а я с я тем, что, с целью расширения области применения, система содержит блок регистров, первую и вторую группы коммутаторов, второй и третий элементы И, вход пуска системы соединен с вторым управляющим входом центрального устройства управления, выход сигнала запуска блока синхронизации соединен с первыми управляющими входами первого блока микропрограммного управления и с входами коммутаторов первой группы, выход первого тактового импульса блока синхронизации соединен с первым входом второго элемента И, второй выход тактового импульса блока синхронизации соединен с первым входом третьего элемента И и синхровходом блока регистров, выход первого элемента И соединен с первым управляющим режимом входом блока регистров, информационный выход центрального устройства управления соединен с . информационным входом блока регистров, первый управляющий выход центрального устройства управления соединен с вторым управляющим режимом входом блока регистров, второй управляющий выход центрального устройства управления соединен с вторыми управляющими входами коммутаторов первой группы, третий управляющий выход центрального устройства управления соединен с третьим управляющим режимом входом блока регистров, с первой по и-е группы информационных выходов блока регистров соединены с группой адресных входов первого блока микропрограммного управления и с группой первых информационных входов коммутаторов первой группы соответственно, первый управляющий выход блока регистров соединен с вторыми входами второго и третьего элементов И, выходы которых соединены соответственно с первыми и вторыми синхровходами всех блоков микропрограммного управления, второй управляющий выход блока регистров соединен с вторым управляющим входом центрального устройства управления, первая группа информационных выходов блока микропрограммного управления является группой выходов конвейерного управления системы, вторая группа информационных и первая группа управляющих выходов блока микропрограммного управления ц (1=1 К)=Гй; К - число блоков микропрограммного управления в группе, и - число групп) соединены с группой адресных и с первой группой управляющих входов блоков микропрограммного управления соответственно, первая группа управляющих и первая группа информационных выходов блока микропрограммного управления К - 1.) (=2,п) соединены с первыми группами управляющих и информационных входов коммутаторов второй группы ) - 1, вторые группы управляющих и информационных выходов блоков микропрограммного управления К - 1.1 соединены с группами управляющих и информационных входов блоков микропрограммного управления К.1, первый и второй управляющие выходы блоков К.) 9=1.п) соединены с третьими управляющими входами коммутаторов:. первой группы и с вторыми управляющими входами коммутаторов второй группы соответственно, первый информационный выход блока микоопрограммного управления К,) О,п - 1) соединен с вторыми информационными входами коммутаторов первой и второй групп, информационные и управляющие выходы коммутаторов) первой группы )=1,о) соединены с первыми группами инфсрмационных и управляющих входов блока микропрограммного управления К.)+1, выходы сигналов микроопераций "Конец команды" каждого блока микропрограммного управления аЬ из группы блока микропрограммного управления 1-), где 1=1,К, )-1.п, соединены с группой входов сигналов микроопераций "Конец команды" всех блоков микропрограммного управления Ц, для которыхфа, фЬ, выход сигнала микроопера

Смотреть

Заявка

4687151, 30.03.1989

ПРЕДПРИЯТИЕ ПЯ М-5308

ХАРЧЕНКО ВЯЧЕСЛАВ СЕРГЕЕВИЧ, ВОРОБЬЕВ КОНСТАНТИН ЮРЬЕВИЧ, ТИМОНЬКИН ГРИГОРИЙ НИКОЛАЕВИЧ, ТКАЧЕНКО СЕРГЕЙ НИКОЛАЕВИЧ, ПОДЗОЛОВ ГЕРМАН КОНСТАНТИНОВИЧ, ХЛЕБНИКОВ НИКОЛАЙ ИВАНОВИЧ, ГНЕДОВСКИЙ ЮРИЙ МИХАЙЛОВИЧ, МАСЛОВА ИННА АНАТОЛЬЕВНА

МПК / Метки

МПК: G05B 19/18, G05B 19/418

Метки: конвейерная, программного

Опубликовано: 23.07.1991

Код ссылки

<a href="https://patents.su/14-1665340-konvejjernaya-sistema-dlya-programmnogo-upravleniya.html" target="_blank" rel="follow" title="База патентов СССР">Конвейерная система для программного управления</a>

Похожие патенты