О) 00 , 1 Изобретение относитс к вычислительной технике и может быть исполь зовано дл исследонани графов, в частности дл охфеделени доступности графа дл любой вершины наличи циклов в графе и максимального пути в графе. Цель изобретени - повьшение быс родействи . На фиг. 1 приведена функциональна схема предлагаемого устройства дл исследовани графов; на фиг. 2 структура блока св зи; на фиг. 3 структура узла св зи; на фиг. 4 структура блока записи св зей; на фиг. 5 - элемент св зи; на фиг. 6 временные диаграммы, Функциональна схема устройства дл исследовани графов включает счетчик 1, линию 2 задеротси, управл емые ключевые элементы 3, триггеры 4 тактовьй вход 5 устройства, вход 6 начальной установки устройства, вы ход 7 конца испытани устройства, элементы ИЛИ 8, первый многовходово элемент ИЛИ 9, второй многовходовой элемент ИЛИ 10, третий многовходовой элемент ИЛИ 11, элемент НЕ 12, триггеры 13 состо ни , элемент И 14 входы 15 состо ни (вторые информац онные входы) устройства, блоки 16 записи св зей, блок 17 св зи, входы 18изменени адреса (вход задани логической единицы) устройства, вхо 19задани режима, первые информаци онные входы 20 (ответа),, входы 21 разрешени записи, информационные выходы 22 блоков записи св зей и адресные входы блока св зи, выходы От вета блока св зи.и входы ответа бло записи св зей 23, выходы запроса бл ка записи св зей и входы запроса бл ка св зи 24, входы 25 ответа блока св зи, выходы 26 запроса блока св з модели вершин 27.1-27.2N, вход. 28 сброса блока св зи. Блок 17 св зи включает регистры 29, образующие пары регистров 30.130 .N, блок 31 синхронизации, узлы св зи 32.1,1-32, NM, образующие матрицу КхМ, входы 33 ответа узла св зи, выходы 34 ответа узла св зи, выходы 35 запроса узла св зи, входы 36 запроса узла св зи, адресные, выходы 37 узла св зи, адресные входы 3 узла св зи, входы .39 синхронизации узла св зи. 763 .2 . Схема узла 32 св зи включает элементы И 40, образзтощие группы элементов И 41.1-41.2, элементы св зи 42.142 .2, второй вход ответа узла 43 св зи , второй выход 44 ответа узла св зи , первый адресный вход 45 элемента св зи, второй адресный вход 46 элемента св зи, первый вход 47, второй вход 48. Функциональна схема блока 15 записи св зей включает узел 49 пам ти, элемент ИЛИ 50, счетчик 51 адреса, элемент 52 сравнени , регистр 53, вход 54 сброса, тактовый вход 55. Функциональна схема элемента 42 св зи включает первый элемент ИЛИ 56, элемент 57 запрета, первые элементы И 58, второй триггер 59, мультиплексор 60, второй элемент ИЛИ 61, первый триггер 62, вторые элементы И 63. Рассмотрим функционирование устройства при определении максимального пути в графе по фиг. 1. Исходное состо ние блоков устройства-следу- . ющеео В счетчике 1 находитс О, который заноситс сигналом с шины 6, одновременно привод щем в состо ние готовности блок 17 св зи через элемент ИЛИ 11. В блоки 16 записи св зей занесены исход щие св зи соответствующих вершин в )зиде двоичных номеров вершин, св занных с данной. Функционирование блока 1b записи св зей , при записи рассмотрим по фиг. 4. Исход щие св зи занос тс через вход 20. Адрес записи очередной исход щей -св зи определ етс содержанием счетчика 51, которое наращиваетс при помощи подачи единиц на вход 18. После записи последней исход щей св зи в счетчик 51 добавл етс еще одна 1 и в регистр 53 заноситс новое содержимое счетчика 51 при помощи подачи разрешающего сигнала на вход 21. Режи1 1 записи в узле 49 пам ти определ етс состо нием шины 19. В исходном состо нии содержимое счетчика 51 равно О, т„е. он указьгоает на адрес хранени первой исход щей св зи . Если некотора вершина не имеет исход щих св зей, то содержимое счетчика 51 будет равно содержимому регистра 53 и тогда схема 52 сравнени вырабатывает О на инверсном выходе. Если у данной вершины имеетс хот бы одна исход ща св зь, то содержимое счетчика 51 в исходном состо нии 3 и регистра 53 не совпадают и на инверсном выходе схемы 52 сравнени будет 1. Таким образом, если данна вершина не имеет исход щих св зей, то на выходе 24 будет О, в противном случае - 1. Если на выходе 24 некоторого блока 16 имеетс О, то соответствующий управл емый ключевой элемент 3 будет закрыт. В противном случае, соответствующий элемент 3 будет открыт, так как триггеры 13 состо ни в исходном состо нии наход тс в единичном состо нии, а триггеры 4 - в нулевом. Если хот бы в одном из блоков 16 записана исход ща св зь, то на выходе элемента ИЛИ 10 будет I, а на первом входе счетчика 1 по витс 0. На выходе окончани испытани 7 также-будет 0. Единргчное сост,о ние триггеров13 устанавливаетс в исходный момент путем установки триггеров 4 в единич ное состо ние через щины (входы) 15 и последующей переписи их состо ни в триггеры 13 после окончани записи в блоки 16 сигналом с выхода элемента НЕ 12. Сигнал с выхода блока 10, пройд через линию 2 задержки, сбросит триггеры 4 в О и приведет в исходное состо ние счетчик 51. Устройство работает следующим образом. При подаче тактовых импульсов на вход 6 импульсы проход т через откры тые управл емые ключевые элементы 3 на тактовые входы блоков 49 (лини 1 на фиг, 6). Рассмотрим ситуацию, когда в двух соседних вершинах с номерами 2 к 1 и 2к + 2 имеютс исход щие св зи и первые разр ды обоих адресов равны 1 а следующие разр ды - соответственно О и 1. Из узлов 49 пам ти производител на выходы 22 чтение исход щей св зи по адресу, определ емому содер жимым счетчика 51. По сигналу на вхо де 28 производитс сброс всех узлов 32 св зи в- исходное состо ние и запись содержимого шин (входов) 22 в регистры 29. При поступлении на тактовый выход 35 импульсов производитс вьщвижение очередного разр да исход щей св зи на выход (линии 2 и 3) При по влении на выходе первого раз р да исход щей св зи на первом выход 31.1 блока 31 синхронизации по вл ет с тактовый импульс, который вл ет- 63 с разрешающи - дл узлов 32 св зи первого столбца (лини 4, фиг. 6). Единицы с входов запроса 24 обоих моделей вершин поступают на входы 36 запроса ( К + 1)-го узла 32 св зи первого столбца (линии 5 и 6 на фиг. 6). Если запрос отсутствует, то на выходах обоих пар элементов И 40 будет 0. При наличии запроса, если разр д адреса равен О, то единица по витс на выходе левого элемента И, в противном случае - на выходе правого элемента И (линии 7 и 8 на фиг. 6). На входы 45 и 46 могут быть поданы следующие сочетани сигналов: либо две единицы, либо два нул , либо ноль и единица (общим случаем вл ютс две единицы). При подачена входы 45 и 46 двух единиц на выходе элемента ИЛИ 61 по витс единица (лини 9, фиг. 6). Элемент 57 запрета выдает на выходе нуль (лини 10, фиг. 6). Таким образом, на установочном входе триггера 62 будет 1, а на установочном входе триггера 59-0. При приходе разрешаемого сигнала по шине 39 триггеры установ тс в соответствующее состо ние (линии 11 и 12). Выход триггера 62 формирует разрешающий сигнал дл мультиплексора 60, который подключает один из входов на выход в соответствии с состо нием адресного входа, который определ етс выходом триггера 59о При наличии О на выходе триггера 59 на выход мультиплексора 60 подключаетс первый вход 47, в противном случае - второй вход 48. При подаче следующего сигнала на вход 5 разрешающий сигнал из блока 31 синхронизации подаетс только на узлы св зи второго столбца, а на выходах сдвиговых регистров 29 по вл етс следуюпщй разр д исход щей св зи (линии 2 и 3 на фиг. 6). Он проходит по каналу св зи, подключенному первым разр дом адреса в узлах 32 св зи первого столбца на входы 38 соответствующего узла св зи второго столбца (лини 13, фиг. 6). Описанный процесс повтор етс до тех пор, пока на соответствующих выходах 35 запроса узлов св зи 32 / -го столбца не по витс единица. Пусть на первом выходе 35 8 -го уэла рв зи столбца по вилась 1, причем этот выход соответствует адресу первой исход щей св зи вершины с номером +1 51 ( лини 14, фиг. 6), Адресные выходы 32 узлов св зи последнего столбца не используютс . При по влении на выхо дах 26 запроса единицы триггер 4 через элемент ИЛИ 8 перейдет в единичное состо ние - лини 15„ На первый вход 33 ( , |W )-го,.узла св зи постзшит 1. В зависимости от состо ни триггера 59 единица с входа 33 по витс на выходе либо первого 58, либо второго элемента И 63. Если на входе 33 будет О, то в формировании состо ни выхода 34 принимает участи вход 43 через элемент ИЛИ 56. Рассмотрим описанный процесс дл (И +1) то узла св зи 1-го столбца. В этом случае на первом входе 33 будет 1, а на втором - О (линии 16 и 17). Тогда на выходе с номером (2К +1) по витс 1, а на выходе 23 с номером (2К +2) - О (линии 18 и 19). В случа 1 через элемент ИЛИ 50 в счетчик 51 добавл етс 1 и производитс чтение следующей исход щей св зи из запоминающего устройства 49 на выходы 22. В то же врем через элемент ИЛИ 11 на вход 28 подаетс 1, котора сбросит в О триггеры 59 и 62-(линии 20, 11 и 12) и разрешит запись информации в 29. Описанный процесс будет повтор тьс до тех пор, пока из всех блоков 16 записи св зей, в которых были записаны адреса исход щих св зей, не будут отправлены все св зи и полу „чены ответы. Если из некоторого бло- ка 16 записи св зей был отправлен запрос, но ответ не пришел, то в следующем передачи запрос отправл етс по старому адресу во второй раз, так как содержимое счетчика 51 не изменилось. Если из данного блока 16 записи св зей прочитаны все исход щие св зи и получены ответы , то содержимое счетчика 51. равно содержимому регистра 53 и ин версный выход элемента 52 сравнени устанавливаетс в 0. Когда на всех выходах 24 окажутс О (линии 4 и 5), то на выходе элемента ИЛИ 10 по витс О, после чего на первом входе блока 14 по витс единица (линии 21 и 22). В это врем состо ние выхода 7 равно единице, что позвол ет добавить в счетчик 1 единицу. Одновременно по сигналу с выхода 12 содержимое триггеров 4 перепишетс в триггеры 13. Если имеетс хот бы одна вершина с исход щими св з ми, у которой со63держимое триггера 13 равно единице, то описанный процесс повтор етс снова , но предварительно через линию Т задержки сигналом с выхода злеме{ та ИЛИ 10 будут сброшены в О триггеры 4 (лини 15) и счетчики 51 в блоках 16 записи св зей. Когда после очередного цикла ни один из триггеров 4 не будет находитс в единичном состо НИИ , на выходе 7 будет также О и в счетчик 1 не будет добавл тьс единицы . Это говорит об успешном окончании испытани , а содержимое счетчика равно максимальному пути в графе. Дл определени доступности некоторой вершины необходимо в исходном состо нии установить триггер 13 состо ни вершины нужной вершины в единичное состо ние,, а все остальное в 0. Дальнейшее аналогично описанному . Дл опреде.лени наличи циклов . в графе исходное состо ние устанавливаетс как дл случа определени максимального пути в графе. Если в процессе функционировани в счетчике 2 окажетс число, большее числа вершин в графе, то это говорит о наличии циклов в исследуемом графе. Врем решени задачи равно сумме двух времен: времени настройки устройства на структуру исследуемого графа и времени определени требуемых характеристик. За счет исполь- зовани введенных блоков по вл етс возможность быстро измен ть структуру исследуемого графа и производить перенастройку на новую структуру. вследствие чего достигаетс сокращение времени решени задачи в 2,5 раза по сравнению с известным устройством . Формула изобретени Устройство дл исследовани графов , содержащее счетчик, линию задержки , 2N моделей вершин (где N 2), кажда из которых включает управл емый ключевой элемент, элемент ИЛИ и триггер, причем тактовый вход устройства соединен с первыми управл ющими входами всех управл емых ключевых элементов 2N моделей вершин, входначальной установки устройства подключен к входу сброса счетчика, во всех модел х вершин выход элемента ИЛИ соединен с единичным входом триггера, отличающеес тем, что, с целью повышени быстродействи , введены три многовходовых элемента ИЛИ, элемент НЕ, элемент И, блок св зи, включающий N пар регистров, узел синхронизации и матрицу из N х М узлов св зи (где М log22N), каждый из которыхвключает две группы из двух элементов И и два элемента св зи, каждый из которых состоит из ;двух элементов ИЛИ, первого и второго элементов И, двух триггеров, элемента запрета и мультиплексора, каждую модель вершины введен тригге состо ни и блок записи св зей, включающий узел пам ти, элемент ИЛИ . счетчик, элемент сравнени и регист причем в каждом блоке записи св зей пе вый вход элементов ИЛИ соединен с вход задани логической единицы устройства а выход элемента ИЛИ подключен к счетному входу счетчика, выход которо соединен с адресным входом узла пам ти, первым входом элемента сравнени и входом регистра, вход разрешени записи которого подключен к входу разрешени записи устройства, а выход - соединен с вторым входом элемента сравнени , первый информационный вход устройства соединен с информационным входом узла пам ти, вход записи считывани которого сое динен с входом задани режима устро ства, в каждой модели вершины тактовый вход узла пам ти соединен с выходом управл емого ключевого элемента , информационный вход которого подключен к выходу элемента сравнени блока задани записи св зей, второй управл емый вход управл емого ключевого элемента каждой модели вершины соединен с выходом триггера состо ни , вход которого подключен к выходу триггера модели вершины, . первый вход элемента ИЛИ модели вершины соединен с вторым информационным входом устройства, выходы всех триггеров всех моделей вершин соединены с соответствующими входами первого многовходового элемента ИЛИ, выход которого подключен к выходу окончани испытани устройства и первому входу элемента И устройства, второй вход которого соединен с разрешающими входами всех триггеров состо ни моделей вершин, выход элемента И устройства соединен со счетным входом счетчика, выход вторагх многовходового элемента ИЛИ соединен с входом элемента НЕ и входом линии задержки, входы второго многовходового , элемента ИЛИ подключены к выходам соответствующих элементов сравнени блоков записи св зей соответствующих моделей вершин, выход линии задержки соединен с нулевыми входами триггеров и входами сброса счётчиков блоков записи св зей всех моделей вершин, вторые входы элементов ИЛИ блоков записи св зей моделей вершин соединены с соответствующими входами группы третьего многовходового элемента ИЛИ, вход которого соединен с входом начальной установки устройства , информационные выходы узла, пам ти блока записи св зей (2к+1) и ( 2R+2)-и моделей вершин соединены соответственно с входами первого и второго регистров (К + 1)-й пары блока св зи (где К 1, N), выходы первых элементов ИЛИ первого и второго элементов св зи (х+1)-го узла св зи первого столбца матрицы блока св зи соединены соответственно с вторыми входами элементов ИЖ блоков записи св зей (2Ы-1) и (2к+2)-й моделей вершин, выходы элементов сравнени которых подключены соответственно к пр мому входу первого и первому входу второго элементов И первой и второй групп (к + 1 )-го узла св зи первого столбча матрицы блока св зи, выходы триггеров (2К+1) и (2к + 2)-й модели вершин соединены соответственно с первыми входами элементов И первого и второго элементов св зи (К + 1)-го узла св зи М-го столбца матрицы блока св зи, вькоды первых триггеров которых подключены соответственно к вторым входам элементов ИЛИ (2К + 1) и (.К + 2)-й моделей вершин, выход третьего многовходового элемента ИЛИ соединен с входами сброса первого и второго триггеров св зи и разрешающими входами регистров блока св зи, сдвиговые входы которых подключены к тактовому входу устройства и входу узла синхронизации , i -и выход которого соединен с разрешающими входами триггеров элементов св зи -го столбца матрицы из NxM узлов св зи, первые входы элементов И и первой и второй групп (X, i )-го столбца блока св зи соединены с выходом первого элемента ИЛИ соответствующего элемента св зи соответствующего узла св зи (j+1)-ro столбца матрицы блока св зи, пр мой вход первого и первый вход второго элементов И соответствующей группы которого подключены к выходу перво триггера, разрешающему входу мульти плексора и вторым входам элементов элемента св зи (K,j)-ro узла св зи выход мультиплексора которого соединен с инверсным входом первого элемента И и вторым входом второго элемента И соответствующей группы соответствующего узла св зи (i+1)-r столбца матрицы, причем в каждом узле св зи второй вход второго элемента И первой группы подключен к первому входу мультиплексора второг элемента св зи и второму входу с мультиплексора первого элемента св зи, выход первого элемента И первой группы подключен к первым входам второго элемента ИЛИ и элемента запрета первого элемента св зи, выход второго элемента И первой группы соединен с вторыми входами второго элемента ИЛИ и элемента запрета второго элемента св зи,, выход второго элемента И которого подключен 63 к первому входу первого элемента ИЛИ первогоэлемента св зи, выход второго элемента И которого соединен с вторым входом первого эле 1ента ИЛИ второго элемента св зи, выход первого элемента И второй группы подключен к вторым входам второго элемента ИЛИ и элемента запрета первого элемента св зи, выход второго элемента И второй группы соединен с первыми входами второго элемента ИЛИ и элемента запрета второго элемента св зи, второй вход второго элемента И второй группы соединен с первым входом мультиплексора первого элемента св зи и вторым входом мультиплексора второго элемента св зи, причём в каждом элементе св гзи выход первого элемента И соединен с вторым входом первого элемента ИЛИ, выход второго элемента ИЛИ подключен к установочному входу первого триггера, выход, элемента запрета соединен с установочным входом первого триггера, ВЫХОД которого соединен с адресным входом мультиплексора, инверсным входом первого элемента И и третьим входом второго элемента И.
Риг.З
J5 38
.f
48
Фиг. 5