УСТРОЙСТВО ДЛЯ ПАРАЛЛЕЛЬНОЙ ОБРАБОТКИ ИНФОРМАЦИИ
PARALLEL INFORMATION PROCESSING DEVICE

Изобретение относится к вычислительной технике и может быть использовано при построении систем обработки информации в нейросетевом базисе.
Известно монолитное устройство для обработки информации, содержащее в пределах кристалла взаимосвязанные коммутационной средой операционные блоки, блоки памяти, блоки ввода данных и блоки вывода данных, ориентированное на параллельное выполнение операций [Паттерсон Д., Андерсон Т., Кадвел Н., Фромм Р., Китон К., Козяракис К., Томас Р., Елик К. Доводы в пользу IRAM. - Компьютерра, №15, 1998, Приложение С.3-14].
Недостатками устройства являются ограниченное число скалярных процессорных блоков и концепция последовательного командного управления, противоречащая нейросетевому подходу решения задач с высокой степенью распараллеливания вычислительного процесса.
Известно также устройство для параллельной обработки информации, содержащее процессорные блоки, взаимосвязанные с блоками локальной памяти команд, локальной памяти данных, блоками стековой памяти результатов, выходы которых соединены с входами соответствующих блоков локальной памяти данных, а также блоки ввода данных и блоки вывода данных, подключенные к параллельной шине [Компьютеры на СБИС: в 2-х кн. Кн. 1: Пер. с япон. / Мотоока Т., Томита С. и др. - М.: Мир, 1988, С.102-107].
В качестве недостатка этого устройства следует отметить программный подход к распараллеливанию вычислений. На этапе компиляции определяется возможность параллельного выполнения программных фрагментов и производится их жесткое закрепление за процессорными блоками, что не позволяет реализовать потенциальные возможности распараллеливания процесса решения нейросетевых задач. Кроме того, архитектура последнего устройства не ориентирована на выполнение операций нейросетевого базиса.
Наиболее близким техническим решением к предлагаемому изобретению, выбранным авторами за прототип является устройство для параллельной обработки информации, содержащее кольцевую шину передачи командных пакетов, с которой взаимосвязаны выходные шины блоков локальной памяти данных, блоков локальной памяти готовности данных, блоков локальной памяти команд, блоков локальной функциональной памяти, которые образуют соответствующие блоки локальной памяти командных пакетов, входные шины операционных блоков и выходы триггеров занятости, соединенных с управляющими выходами одноименных операционных блоков, шину для передачи пакетов данных, соединенную с блоками ввода данных и блоками вывода данных [Патент 2179739 РФ, МПК G06F 15/00. Устройство для обработки информации / Г.Ф.Нестерук, Ф.Г.Нестерук. - №2000108883/09; Заявлено 10.04.2000; Опубл. 20.02.2002. Бюл. №5. Приоритет от 10.04.2000].
Недостатками прототипа являются ограниченная скорость распределения пакетов данных с выходов операционных блоков по блокам стековой памяти результатов и неравномерное обслуживание операционных блоков, обусловленные спецификой кольцевой шины.
Задачей настоящего изобретения является повышение производительности устройства для параллельной обработки информации за счет буферизации пакетов результатов, формируемых операционными блоками, и обеспечения равновероятного обслуживания операционных блоков путем использования механизма циклического назначения приоритетов.
Поставленная задача достигается тем, что устройство для параллельной обработки информации содержит блок стековой памяти данных, соединенный по входу с шиной для передачи пакетов результатов, а по выходу - с шиной для передачи пакетов данных, локальные блоки стековой памяти результатов, входная шина и первый управляющий выход каждого из которых соединены соответственно с выходной шиной и с управляющим входом соответствующего операционного блока, а выходная шина - с шиной для передачи пакетов результатов, приоритетную цепь с циклическим изменением приоритетов, первые входы и первые выходы которой взаимосвязаны со вторыми управляющими выходами и управляющими входами блоков стековой памяти результатов, а второй вход приоритетной цепи с циклическим изменением приоритетов - с управляющим выходом блока стековой памяти данных, схемы сравнения, входные фиксаторы, каждый из которых образован адресным регистром и регистром данных, а также блоки вентилей, причем входные фиксаторы взаимосвязаны с шиной для передачи пакетов данных, входной шиной соответствующего из блоков вентилей, выходная шина которого соединена с соответствующим блоком локальной памяти командных пакетов, а каждая из схем сравнения соединена с соответствующими адресным регистром, шиной адреса и управляющим входом соответствующего блока вентилей.
Кроме того, в заявляемом устройстве для параллельной обработки информации приоритетная цепь с циклическим изменением приоритетов содержит сдвигающий регистр, взаимосвязанный с генератором тактовых импульсов, пары последовательно включенных двухвходовых логических элементов И и ИЛИ по числу разрядов сдвигающего регистра, соединенные в кольцо, трехвходовые логические элементы, первые входы которых соединены со вторым входом приоритетной цепи с циклическим изменением приоритетов, вторые входы трехвходовых логических элементов И - с одноименными первыми входами приоритетной цепи с циклическим изменением приоритетов и входом одноименного инвертора, первые входы двухвходовых логических элементов И соединены с выходами соответствующих инверторов, вторые входы двухвходовых логических элементов И - с третьими входами соответствующих трехвходовых логических элементов И и выходами двухвходовых логических элементов ИЛИ соответствующей пары последовательно включенных двухвходовых логических элементов И и ИЛИ, первые входы двухвходовых логических элементов ИЛИ - с выходами двухвходовых логических элементов И предыдущей пары последовательно включенных двухвходовых логических элементов И и ИЛИ, вторые входы двухвходовых логических элементов ИЛИ - с соответствующими выходами сдвигающего регистра.
При реализации устройств для параллельной обработки информации в соответствии с заявляемым изобретением возникает технический результат - повышение оперативности вычислений, выполняемых нейронной сетью, вследствие устранения задержек в обслуживании готовых к обработке командных пакетов. Дополнительным важным техническим результатом является повышение защищенности данных в устройстве для обработки информации вследствие того, что:
- размещение данных в блоках локальной памяти командных пакетов производится по безадресному ассоциативному принципу;
- операция выборки из блоков локальной памяти командных пакетов инициируется внутренним механизмом готовности командного пакета к обработке без явного указания адреса и формирования управляющего сигнала «чтение», что препятствует несанкционированному доступу к информации.
На фиг.1 представлена структурная схема предлагаемого устройства для параллельной обработки информации, а на фиг.2 - один из возможных вариантов построения приоритетной цепи с циклическим изменением приоритетов.
Устройство для параллельной обработки информации содержит кольцевую шину передачи командных пакетов СВ 1, с которой взаимосвязаны блоки локальной памяти данных DM 2, блоки локальной памяти готовности данных RM 3, блоки локальной памяти команд СМ 4, блоки локальной функциональной памяти FM 5, которые образуют одноименные блоки локальной памяти командных пакетов СРМ 6, операционные блоки PU 7, триггеры занятости ВТ 8, шину для передачи пакетов данных DB 8, соединенную с блоками ввода данных IN 9 и блоками вывода данных OUT 10, блок стековой памяти данных DS 11, соединенный по входу с шиной для передачи пакетов результатов DR 12, а по выходу - с шиной для передачи пакетов данных DB 8, локальные блоки стековой памяти результатов RS 13, взаимосвязанные с одноименными операционными блоками PU 7 и с шиной для передачи пакетов результатов DR 12, приоритетную цепь с циклическим изменением приоритетов PC 15, первые входы 16 и первые выходы 17 которой взаимосвязаны со вторыми управляющими выходами 18 и управляющими входами блоков стековой памяти результатов RS 13, а второй вход 19 - с управляющим выходом блока стековой памяти данных DS 11, схемы сравнения CS 20, входные фиксаторы IR 21, каждый из которых образован адресным регистром AR 22 и регистром данных DR 23, а также блоки вентилей DG 24, причем схемы сравнения CS 20 взаимосвязаны с одноименными адресными регистрами AR 22 и шиной адреса АВ 25.
Приоритетная цепь с циклическим изменением приоритетов PC 15 может содержать сдвигающий регистр SR 26, взаимосвязанный с генератором тактовых импульсов PG 27, пары соединенных в кольцо последовательно включенных двухвходовых логических элементов И 28 и ИЛИ 29 по числу разрядов сдвигающего регистра SR 26, трехвходовые логические элементы И 30, первые входы 31 которых соединены со вторым входом 19 приоритетной цепи с циклическим изменением приоритетов PC 15, вторые входы 32 трехвходовых логических элементов И 30 - с одноименными первыми входами 16 приоритетной цепи с циклическим изменением приоритетов PC 15 и входом одноименного инвертора 33, первые входы 34 двухвходовых логических элементов И 28 соединены с выходами соответствующих инверторов 33, вторые входы 35 двухвходовых логических элементов И 28 - с третьими входами 36 соответствующих трехвходовых логических элементов И 30 и выходами двухвходовых логических элементов ИЛИ 29 соответствующей пары последовательно включенных двухвходовых логических элементов И 28 и ИЛИ 29, первые входы 37 двухвходовых логических элементов ИЛИ 29 - с выходами двухвходовых логических элементов И 28 предыдущей пары последовательно включенных двухвходовых логических элементов И 28 и ИЛИ 29, вторые входы 38 двухвходовых логических элементов ИЛИ 29 - с соответствующими выходами сдвигающего регистра SR 26.
Рассмотрим функционирование устройства для параллельной обработки информации, изображенного на фиг.1, в котором использована приоритетная цепь, выполненная в соответствии с фиг.2.
При вводе исходных данных блоки ввода данных IN 9 формируют пакеты данных в формате:
Адрес блока СРМ
Адрес командного пакета
Адрес в пакете
Значение
1
r
Пакеты данных поступают на шину для передачи пакетов данных DB 8, откуда заносятся во входные фиксаторы IR 21, причем адресные поля пакета данных фиксируются в адресных регистрах AR 22, а поле «Значение» пакета данных - в регистры данных DR 23. В схемах сравнения CS 20 производится параллельное сравнение поля «Адрес блока СРМ» пакета данных с адресами AB, …, АВ, где r - число блоков локальной памяти командных пакетов СРМ 6, сформированных на шинах адреса АВ 25. Совпадение сравниваемых кодов может произойти только в одной из схем совпадения CS 20, которая сформирует сигнал разрешения передачи на управляющем входе только одного из блоков вентилей DG 24, который транслирует в соответствующий блок локальной памяти командных пакетов СРМ 6 все поля пакета данных за исключением поля «Адрес блока СРМ». Причем адресные поля «Адрес командного пакета» и «Адрес в пакете» определят адресное сечение в блоке локальной памяти командных пакетов СРМ 6, по которому поле «Значение» пакета данных будет занесено в ячейку памяти блока локальной памяти данных DM 2. Одновременно в том же адресном сечении блока локальной памяти готовности данных RM 3 будет установлен бит готовности.
Установка всех битов готовности в некотором адресном сечении блока локальной памяти готовности данных RM 3 инициирует выборку командного пакета из данного адресного сечения блока локальной памяти командных пакетов СРМ 6, а именно: блока локальной памяти данных DM 2, блока локальной памяти готовности данных RM 3, блока локальной памяти команд СМ 4 и блока локальной функциональной памяти FM 5 и передачу выбранного командного пакета на кольцевую шину передачи командных пакетов СВ 1 устройства. При этом адресное сечение блока локальной памяти готовности данных обнуляется.
В процессе обработки командный пакет по кольцевой шине передачи командных пакетов СВ 1 достигает операционного блока PU 7, триггер занятости ВТ 8 которого сброшен. Фиксация командного пакета во входных цепях операционного блока PU 7 удаляет его с шины передачи командных пакетов СВ 1 и устанавливает соответствующий триггер занятости ВТ 8, что приводит к перенаправлению других командных пакетов, находящихся на шине передачи командных пакетов СВ 1, к оставшимся операционным блокам PU 7. В случае занятости всех операционных блоков PU 7 командные пакеты циркулируют по шине передачи командных пакетов СВ 1 до сброса одного из триггеров занятости ВТ 8.
Зафиксированный во входных цепях операционного блока PU 7 командный пакет содержит полный набор значений данных, подлежащих обработке, указание на реализуемую функцию и коды адресов командных пакетов - приемников результата. Операционный блок PU 7 после завершения обработки анализирует первый управляющий выход 14 блока стековой памяти результатов RS 13, на котором формируется признак «блок стековой памяти результатов не заполнен». Если на первом управляющем выходе 14 - логическая единица, то операционный блок PU 7 формирует и заносит в блок стековой памяти результатов RS 13 пакеты результатов по числу адресов командных пакетов - приемников результата и по управляющему выходу сбрасывает одноименный триггер занятости ВТ 8.
Приоритетная цепь с циклическим изменением приоритетов PC 15 генерирует на первых выходах 17 унитарный код выбора одного из блоков стековой памяти результатов RS 13, содержащих пакеты результатов, на шину для передачи пакетов результатов DR 12 в соответствии с правилами: в блоке стековой памяти данных DS 11 сформирован признак «блок стековой памяти данных не заполнен» (на втором входе 19 приоритетной цепи с циклическим изменением приоритетов PC 15 - сигнал логической единицы); наивысший приоритет предоставляется блоку стековой памяти результатов RS 13, положение которого в структуре устройства соответствует положению единицы в унитарном коде регистра сдвига SR 26; выбирается самый приоритетный или ближайший, но менее приоритетный блок стековой памяти результатов RS 13 с готовыми пакетами результатов.
Пакеты результатов от выбранного приоритетной цепью с циклическим изменением приоритетов PC 15 блока стековой памяти результатов RS 13 выдаются на шину для передачи пакетов результатов DR 12 и заносятся в блок стековой памяти данных DS 11.
Блок стековой памяти данных DS 11 и блоки стековой памяти результатов RS 13 представляют собой память типа FIFO, поэтому процессы занесения и выдачи данных могут быть совмещены во времени. В случае заполнения блока стековой памяти данных DS 11 поступившими пакетами результатов на его управляющем выходе формируется признак «блок стековой памяти данных заполнен» (на втором входе 19 приоритетной цепи с циклическим изменением приоритетов PC 15 - сигнал логического нуля), который блокирует дальнейшее извлечение из пакетов результатов из блоков стековой памяти результатов RS 13 на шину для передачи пакетов результатов DR 12.
Аналогично блоки стековой памяти результатов RS 13 управляют через первые управляющие выходы 14 процессом загрузки пакетов результатов из одноименных операционных блоков PU 7 посредством признака «блок стековой памяти результатов заполнен» (на первом управляющем выходе 14 - логический ноль).
Пакеты данных в темпе работы шины для передачи пакетов данных DB 8 извлекаются из блока стековой памяти данных DS 11 и заносятся во входные фиксаторы IR 21, как было описано выше для режима ввода исходных данных.
Следует отметить, что форматы пакетов результатов и пакетов данных аналогичны рассмотренным ранее в режиме ввода исходных данных.
При выводе пакеты данных, находящиеся на шине для передачи пакетов данных DB 8, фиксируются в том из блоков вывода данных OUT 10, в котором адресное поле «Адрес блока СРМ» совпало с адресом блока вывода данных OUT 10.
Режим программирования устройства для параллельной обработки информации. Программирование заявляемого устройства осуществляется перед его использованием в режиме функционирования. При программировании необходимо для каждого командного пакета в соответствующее адресное сечение блока локальной памяти команд СМ 4 ввести коды адресов командных пакетов - приемников результата. В этом случае значение адреса командного пакета - приемника результата (поле "значение") пакета данных, формируемого в блоке ввода данных IN 9, через шину для передачи пакетов данных DB 8 и входные фиксаторы IR 21 заносится в адресное сечение (поле "Адрес командного пакета" и поле "Адрес в пакете") заданного блока локальной памяти команд СМ 4 (поле "Адрес блока СРМ").
Настройка функциональных параметров устройства для параллельной обработки информации производится после осуществления программирования заявляемого устройства, но перед его использованием в качестве нейронной сети. Процесс занесения значений функциональных параметров аналогичен вышерассмотренной последовательности программирования с той лишь разницей, что поле "значение" пакета данных помещается в адресное сечение соответствующего блока локальной функциональной памяти FM 5. Выполнение процедуры настройки после осуществления программирования устройства существенно при решении задач в нейросетевом логическом базисе, т.к. процесс программирования задает топологию нейронной сети, а функциональные параметры подбираются в процессе обучения уже сформированной нейронной сети и заносятся в локальную функциональную память FM 5. Если же функциональные параметры заранее известны (нейронная сеть обучена), то порядок программирования и настройки заявляемого устройства для параллельной обработки информации может быть произвольным.
Реализуемость устройства для параллельной обработки информации обусловлена использованием в составе заявляемого устройства общепринятых технических решений блоков, узлов и элементов (см., например, Каган Б.М. Электронные вычислительные машины и системы. - М.: Энергоатомиздат, 1991), учетом функциональных особенностей нейросетевого базиса (см., например, Negnevitsky М. Artificial intelligence: a guide to intelligent systems. Addison-Wesley, 2002), а также следует из вышеприведенного описания работы устройства для параллельной обработки информации в различных режимах его функционирования.
На основе вышеизложенного заявляемая совокупность компонентов устройства для параллельной обработки информации позволяет решить поставленную задачу повышения производительности защищенного устройства для параллельной обработки информации за счет буферизации пакетов результатов, формируемых операционными блоками, и обеспечения равновероятного обслуживания операционных блоков путем использования механизма циклического назначения приоритетов, а также организации безадресного обращения к блокам локальной памяти командных пакетов, что говорит о достижении поставленной цели.
Эффект защиты информации в заявляемом устройстве обусловлен описанной в предлагаемом изобретении взаимосвязью его компонентов, которая обеспечивает, во-первых, размещение данных в блоках локальной памяти командных пакетов по безадресному ассоциативному принципу, что повышает целостность данных, во-вторых, операция выборки из блоков локальной памяти командных пакетов инициируется внутренним механизмом готовности командного пакета к обработке без явного указания адреса и формирования управляющего сигнала «чтение», что препятствует несанкционированному доступу к информации.