ВЕКТОРНОЕ ВЫЧИСЛИТЕЛЬНОЕ ЯДРО Российский патент 2024 года по МПК G06F9/30 G06F15/16 

Описание патента на изобретение RU2819403C1

ОБЛАСТЬ ТЕХНИКИ

Изобретение относится к области вычислительной техники, в частности, к проблемно-ориентированным векторным процессорам со специализированной системой команд и быстродействующей аппаратной реализацией вычислительно-сложных преобразований данных и может быть применено для построения многоядерных высокопроизводительных процессоров и вычислителей на их основе, предназначенных для выполнения алгоритмов трудоемких научно-технических задач, допускающих распараллеливание по данным на большое число независимых подзадач.

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

Известен проблемно-ориентированный программируемый вычислительный модуль (ВМ) многопоточной обработки для многостадийной многопоточной обработки цифровых данных и способ обработки с использованием данного модуля (RU №2681365 С1, МПК G06F 15/80, G06F 15/16 заявлено 03.08.2018, опубликовано 06.03.2019, Бюл. №7), который содержит С блоков управления, содержащих двухпортовую память команд, стек циклов и подпрограмм, также содержит матрицу, содержащую в качестве элементов разделяемую память, командный регистр, шину коротких сообщений, процессорные элементы, в свою очередь содержащие регистровую память, каналы доступа к разделяемой памяти, группу из S портов чтения операндов, группу из М многовходовых арифметико-логических устройств первого уровня, группу из Р многовходовых арифметико-логических устройств второго уровня, селектор результатов арифметико-логических устройств и данных из памяти, группу из X портов записи в регистровый файл, шину управления и контроллер шины коротких сообщений. ВМ содержит множество идентичных процессорных элементов (ПЭ), предназначенных для выполнения одной и той же программы обработки с различными данными. Проблемная ориентация заключается в выборе состава операций, объемов памяти на разных иерархических уровнях ВМ, пропускной способности коммуникационной сети исходя из вычислительных свойств целевого класса алгоритмов.

Недостатком подобных вычислительных устройств является низкая производительность обработки данных для выполнения трудоемких научно-технических задач.

Причины, препятствующие достижению технического результата, заключаются в том, что система команд и набор функциональных узлов ПЭ, образующих вычислительный ресурс ВУ многопоточной обработки, предусматривают выполнение только элементарных логических и арифметических операций со скалярными операндами. Для получения результатов вычислительно-сложных преобразований данных (ВСПД) в ВУ используются подпрограммы, которые содержат большое число элементарных операций и выполняются длительное время.

Известен процессор нейронной сети (US 11586920 В2, МПК G06N 3/08, G06F 15/80, заявлен 21.01.2021, опубликован 21.02.2023) содержащей множество слоев нейронной сети, причем процессор содержит блок матричных вычислений, сконфигурированный для того, чтобы для каждого из множества слоев нейронной сети принимать множество входных весовых значений и множество входных данных активации для слоя нейронной сети и генерировать множество накопленных значений на основе множества входных весовых значений и множества входных данных активации, и блок векторных вычислений, соединенный с блоком матричных вычислений и сконфигурированный для того, чтобы для каждого из множества слоев нейронной сети применять функцию активации к каждому накопленному значению, сгенерированному блоком матричных вычислений, чтобы генерировать множество активированных значений для слоя нейронной сети. Данный процессор нейронной сети является узкоспециализированным ВУ, в котором для выполнения ВСПД используются быстродействующие аппаратно реализованные блоки для умножения матриц и для операций с векторами. Эффективность узкоспециализированного ВУ достигается за счет выбора при проектировании состава выполняемых операций, маршрутов перемещения, типов и разрядности обрабатываемых данных исходя исключительно из характеристик реализуемого алгоритма.

Недостаток данного устройства заключается в узком множестве решаемых научно-технических задач.

Причины, препятствующие достижению технического результата, заключаются в специализации блоков вычислений, ориентированных на ограниченный класс (группу) алгоритмов.

Наиболее близким устройством того же назначения к заявленному изобретению, по совокупности признаков является принятый за прототип реконфигурируемый вычислительный модуль (RU №168565 U1, МПК G06F 15/177, заявлено 21.11.2016, опубликовано 08.02.2017, Бюл. №4), построенный на основе композитных ВУ, и содержащий внешний порт для обмена информацией 4, коммутатор PCI-Express 1, интерфейсную ПЛИС 2, группу из N вычислительных ПЛИС 31 32, ..., 3N, высокоскоростные интерфейсы PCI-Express 5 и 61, 62, ..., 6N, блок 9 оперативного конфигурирования интерфейсной ПЛИС, блок контроля и управления питанием 15, блок мониторинга 17, внешний порт контроля и управления JTAG 11, память 16 конфигурации интерфейсной ПЛИС, двунаправленную общую шину 14, группу из N вычислительных СБИС 81, 82, ..., 8N, группу из N памятей 101, 102, ..., 10N стартовых конфигураций вычислительных ПЛИС, блок 13 оперативного реконфигурирования памятей стартовых конфигураций вычислительных ПЛИС и блок синхронизации 20. В данном модуле вычисления осуществляются на N композитных ВУ, содержащих вычислительную ПЛИС, узкоспециализированную вычислительную СБИС и память конфигураций ПЛИС.Узкоспециализированная СБИС обеспечивает высокую производительность выполнения общих для группы прикладных задач ВСПД, а ПЛИС обеспечивает возможность реализации увеличенного числа прикладных задач за счет реализации специфических для прикладных задач ВСПД.

Недостатками реконфигурируемого ВМ является более низкая производительность, чем у узкоспециализированных ВУ, и высокая сложность программирования ПЛИС, входящей в состав композитного ВУ.

Причиной, препятствующей достижению технического результата, является использование с целью расширения множества решаемых научно-технических задач композитного ВУ, включающего узкоспециализированную СБИС и ПЛИС с памятью конфигураций.

ЗАДАЧА ИЗОБРЕТЕНИЯ

Задача, на решение которой направлено предлагаемое изобретение, заключается в создании высокопроизводительного проблемно-ориентированного вычислительного ядра, осуществляющего вычисления в виде программируемой последовательности векторных операций, выполняемых с использованием быстродействующих устройств с аппаратной реализацией вычислительно-сложных преобразований данных, и предназначенного для построения вычислителей, обеспечивающих возможность решения целевого множества трудоемких научно-технических задач.

Техническим результатом предлагаемого изобретения является повышение производительности за счет конвейерной обработки векторных операций и расширение множества решаемых научно-технических задач.

КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

Указанный технический результат при осуществлении изобретения достигается тем, что векторное вычислительное ядро содержит буфер ввода данных 1, блок памяти инструкций 2, блок управления инструкциями 3, устройство памяти 4, в которое введены входной коммутатор 5, блоки памяти векторов данных 61, ..., 6N, выходной коммутатор 7 и коммутатор операндов 8, устройство вычислений 9, в которое введены демультиплексор выбора операции 10, арифметико-логическое устройство 11, блоки выполнения вычислительно-сложных преобразований данных 121, ..., 12M и мультиплексор выбора результата 13, а также введены шина входных данных 14, шина выходных данных 15, внешняя шина управления 16, выходная шина управления 17 и выходная шина статуса 18,

причем шина входных данных 14 соединена с буфером ввода данных 1, который соединен шиной управления 19 с блоком управления инструкциями 3 и шиной управления 20 с блоком памяти инструкций 2,

шина выходных данных 15 соединена с выходом коммутатора 7, внешняя шина управления 16 соединена с соответствующими портами буфера ввода данных 1, выходная шина управления 17 и выходная шина статуса 18 соединены с блоком управления инструкциями 3,

кроме того, шина загружаемых данных 21 соединена с соответствующим выходом буфера ввода данных 1 и соответствующими входами блока памяти инструкций 2 и входного коммутатора 5 устройства памяти 4, который первой шиной управления 22 соединен с буфером ввода данных 1 и второй шиной управления 23 соединен с блоком управления инструкциями 3,

блок памяти инструкций 2 также соединен соответствующими шиной адреса инструкции 24 и шиной кода инструкции 25 с блоком управления инструкциями 3,

блок управления инструкциями 3 шиной управления 26 соединен с коммутатором операндов 8, шиной задания операции 27 соединен с демультиплексором выбора операции 10, шиной выбора результата 28 соединен с мультиплексором выбора результата 13, шиной управления 29 соединен с выходным коммутатором 7 устройства памяти 4, а соответствующие выходы блока управления инструкциями 3 являются шинами регистровых операндов 301, ..., 30X, которые соединены с соответствующими группами входов коммутатора операндов 8,

кроме того, выходная шина 31 входного коммутатора 5 устройства памяти 4 соединена с первыми входами блоков памяти векторов данных 61, ..., 6N, вторые входы которых соответствующими одноименными шинами управления 321, ..., 32N также соединены с входным коммутатором 5,

причем первые шины 331, ..., 33N вывода данных из одноименных блоков памяти векторов данных 61, ..., 6N соединены с соответствующими входами выходного коммутатора 7, который соответствующими шинами управления чтением 341, ..., 34N также соединен с одноименными блоками памяти векторов данных 61, ..., 6N,

вторые шины 351, ..., 35N вывода данных из блоков памяти векторов данных 61, ..., 6N соединены с соответствующими группами входов коммутатора операндов 8, который шиной операнда 36 соединен с первыми входами арифметико-логического устройства 11 и блоков выполнения вычислительно-сложных преобразований данных 121, ..., 12M,

шины выбора операций 370, ..., 37M соединяют соответствующие выходы демультиплексора выбора операции 10 с соответствующими входами арифметико-логического устройства 11 и блоков выполнения вычислительно-сложных преобразований данных 121, ..., 12M,

шины результатов вычислений 380, ..., 38M соединяют выходы арифметико-логического устройства 11 и блоков выполнения вычислительно-сложных преобразований данных 121, ..., 12M с соответствующими входами мультиплексора выбора результата 13, выход которого по шине текущего результата 39 соединен с входным коммутатором 5 устройства памяти 4.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

На фиг. 1 приведена функциональная схема предлагаемого векторного вычислительного ядра.

На фиг. 1 и в тексте приняты следующие обозначения:

ВЯ - вычислительное ядро;

АЛУ - арифметико-логическое устройство;

1 - буфер ввода данных;

2 - блок памяти инструкций;

3 - блок управления инструкциями;

4 - устройство памяти;

5 - входной коммутатор;

61, ..., 6N - блоки памяти векторов данных;

7 - выходной коммутатор;

8 - коммутатор операндов;

9 - устройство вычислений;

10 - демультиплексор выбора операции;

11 - арифметико-логическое устройство (АЛУ);

121, ..., 12M - блоки выполнения вычислительно-сложных преобразований данных (ПД);

13 - мультиплексор выбора результата;

14 - шина входных данных;

15 - шина выходных данных;

16 - внешняя шина управления;

17 - выходная шина управления;

18 - выходная шина статуса;

19 - шина управления блоком управления инструкциями 3;

20 - шина управления блоком памяти инструкций 2;

21 - шина загружаемых данных;

22 - первая шина управления входным коммутатором 5;

23 - вторая шина управления входным коммутатором 5;

24 - шина адреса инструкции;

25 - шина кода инструкции;

26 - шина управления коммутатором операндов 8;

27 - шина задания операции;

28 - шина выбора результата;

29 - шина управления выходным коммутатором 7;

301, ..., 30X - шины регистровых операндов;

31 - выходная шина входного коммутатора 5;

321, ..., 32N - шины управления блоками памяти векторов данных 61, ..., 6N;

331, ..., 33N - первые шины вывода данных из блоков памяти векторов данных 61, ..., 6N;

341, ..., 34N - шины управления чтением из блоков памяти векторов данных 61, ..., 6N на выходную шину 15;

351, ..., 35N - вторые шины вывода данных из блоков памяти векторов данных 61, ..., 6N;

36 - шина операнда;

370, ..., 37M - шины выбора операций;

380, ..., 38M - шины результатов вычислений;

39 - шина текущего результата.

ПОДРОБНОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

Предлагаемое векторное вычислительное ядро (ВЯ) предназначено для выполнения алгоритмов обработки цифровых данных, включающих вычислительно-сложные преобразования данных, арифметические операции, поразрядные логические операции и сдвиги. Обработка выполняется векторами, состоящими из L слов данных разрядности Q байтов. Вектора обрабатываемых данных загружаются с шины входных данных 14 разрядности А байтов. Последовательность операций определяется исполняемой программой, загружаемой в блок памяти инструкций 2. Входные данные, промежуточные значения и результаты обработки хранятся в виде векторов данных в блоках памяти векторов данных 61, ..., 6N, каждый из которых содержит вектор из L элементов (слов).

Вектора данных результатов обработки передаются из блоков памяти векторов данных 61, ..., 6N на шину выходных данных 15 разрядности В байтов через выходной коммутатор 7.

Внешний интерфейс ВЯ содержит шину входных данных 14 разрядности А байтов, шину выходных данных 15 разрядности В байтов, внешнюю шину управления 16, выходную шину управления 17 и выходную шину статуса 18.

Шина управления 16 передает внешние команды для записи программы и входных данных, начала и возобновления вычислений, выдает соответствующие управляющие сигналы для чтения данных с входной шины данных 14. Выходная шина управления 17 сопровождает валидные выходные данные на шине выходных данных 15 соответствующими управляющими сигналами.

Выходная шина статуса 18 отражает состояние основных внутренних устройств и блоков ВЯ на каждом такте работы. Выходная шина статуса 18 содержит признаки загрузки данных с шины 14, выдачи данных на шину 15 и сигнал, отражающий отсутствие простоев в ВЯ.

Буфер входных данных 1 предназначен для формирования данных требуемой разрядности и их выдачу на шину загружаемых данных 21 разрядности С байтов. Буфер входных данных 1 обрабатывает данные с шины входных данных 14 в соответствии с сигналами с внешней шины управления 16. В буфер входных данных 1 по шине 16 поступает внешняя команда, задающая соответствующий блок, в который необходимо записать исполняемую программу или вектор входных данных. Буфер входных данных 1 декодирует поступившую внешнюю команду, по которой формирует данные с шины входных данных 14 в заданных форматах, передает их на шину загружаемых данных 21, подает управляющие сигналы по шине управления 20 для записи данных в блок памяти инструкций 2 или по шине управления 22 для записи данных в устройство памяти 4, подает управляющие сигналы по шине 19 в блок управления инструкциями 3.

Блок памяти инструкций 2 предназначен для хранения кодов инструкций исполняемой программы, которые управляют процессом вычислений. Запись программы в блок памяти инструкций 2 осуществляется с шины загружаемых данных 21 по управляющим сигналам с шины управления 20. По адресу текущей инструкции с шины 24 от блока управления инструкциями 3 блок памяти инструкций 2 выдает соответствующий код инструкции на шину 25.

Блок управления инструкциями 3 предназначен для выполнения программы, хранящейся в блоке памяти инструкций 2, которая может содержать условные переходы. Блок управления инструкциями 3 управляет последовательностью выборки кодов инструкций из блока памяти инструкций 2, формируя адреса текущих инструкций на шину адреса 24, декодирует коды инструкции с шины 25, формирует исполнительные адреса данных из блоков памяти векторов данных 61, ..., 6N и формирует управляющие сигналы на соответствующих шинах управления 23 и 26 - 29. Блок управления инструкциями 3 по внешней команде с шины управления 19 может начинать или возобновлять работу. Блок управления инструкциями 3 содержит регистровый файл из X регистров разрядности D байтов. Данные из регистров используются для внутренних операций блока управления инструкциями 3 и могут быть выданы в коммутатор операндов 8 по соответствующим одноименным шинам 301, ..., 30X. Блок управления инструкциями 3 формирует и выдает на шину управления 17 сигналы валидности данных на шине выходных данных 15. В блоке управления инструкциями 3 формируется информация о статусе блоков ВЯ, которая передается на выходную шину статуса 18.

Устройство памяти 4 хранит входные данные, промежуточные и окончательные результаты вычислений при выполнении алгоритмов обработки данных. Устройство памяти 4 состоит из входного коммутатора 5, блоков памяти векторов данных 61, ..., 6N, выходного коммутатора 7 и коммутатора операндов 8.

Блоки памяти векторов данных 61, ..., 6N содержат по два соответствующих одноименных порта для чтения на первые шины 341, ..., 34N разрядности В байтов и на вторые шины 351, ..., 35N разрядности Q байтов с возможностью параллельного чтения по обоим портам. Также блоки памяти векторов данных 61, ..., 6N содержат один порт для записи с выходной шины 31 входного коммутатора 5 разрядности Q байтов. Входной коммутатор 5 обрабатывает управляющие сигналы с первой 22 и второй 23 шин управления и формирует управляющие сигналы на шинах 321, ..., 32N, которые управляют передачей данных с шин 21 или 39 на выходную шину 31 в блоки памяти векторов данных 61, ..., 6N. Выходной коммутатор 7 обрабатывает управляющие сигналы с шины управления 29 и формирует управляющие сигналы на шинах 341, ..., 34N, которые управляют чтением данных из блоков памяти векторов данных 61, ..., 6N на шину выходных данных 15 разрядности В байтов.

Устройство вычислений 9 выполняет основную вычислительную работу. Устройство вычислений 9 содержит АЛУ 11 и группу из М блоков выполнения вычислительно-сложных преобразований данных 121, ..., 12M, осуществляющих конвейерную обработку операндов из векторов данных, а также демультиплексор выбора операции 10 и мультиплексор выбора результата 13.

В АЛУ 11 и блоки выполнения вычислительно-сложных преобразований данных 121, ..., 12M поступает соответствующий сигнал выбора операции с шин 370, ..., 37M от демультиплексора выбора операции 10, а входные данные поступают по шине операнда 36 из коммутатора операндов 8. После выполнения вычислений значения результатов передаются на соответствующие (М+1) шины 380, ..., 38M, которые передаются на соответствующие информационные входы мультиплексора выбора результатов 13.

Мультиплексор выбора результатов 13 по управляющим сигналам с шины 28 передает значения результатов с шин 380, ..., 38M на шину текущего результата 39 разрядности Q байтов.

Предлагаемое векторное вычислительное ядро работает следующим образом.

Для выполнения вычислений необходимо загрузить обрабатываемые данные в блоки памяти векторов данных 61, ..., 6N и программу вычислений в блок памяти инструкций 2. В начале работы на внешнюю шину управления 16 подаются внешние команды для загрузки программы вычислений и обрабатываемых данных. После выставления на шине управления 16 соответствующей команды на шину входных данных 14 подаются данные в соответствующем формате. Программа вычислений загружается с шины входных данных 14 в блок памяти инструкций 2, а обрабатываемые данные загружаются с шины входных данных 14 в блоки памяти векторов данных 61, ..., 6N.

После загрузки программы вычислений и обрабатываемых данных по внешней шине управления 16 приходит внешняя команда начала вычислений, которая передается в блок управления инструкциями 3 по шине управления 19. Блок управления инструкциями 3 декодирует пришедшую команду и начинает считывание инструкций из блока памяти инструкций 2, обрабатывает считанную инструкцию, управляет последовательностью выборки инструкций и формирует сигналы на выходных шинах управления.

Инструкции подразделяются на вычислительные и служебные. Служебные инструкции управляют последовательностью выборки инструкций, вычислительные определяют сигналы, формируемые на выходных шинах блока управления инструкциями 3.

Поля вычислительной инструкции включают признак завершения вычислений, параметры управления записью в блоки памяти векторов данных 61, ..., 6N и чтением из блоков памяти векторов данных 61, ..., 6N, параметры компоновки операнда, двоичный код вычислительной операции и признак выдачи выходных данных.

При выполнении вычислительной инструкции производится последовательная передача слов векторов данных из блоков памяти векторов данных 61, ..., 6N на соответствующие шины данных 351, ..., 35N коммутатора операндов 8 и опционально на шины 331, ..., 33N выходного коммутатора 7. Запись и чтение данных из блоков памяти векторов данных 61, ..., 6N всегда выполняются полными векторами данных, состоящими из L элементов (слов).

Коммутатор операндов 8 по управляющим сигналам с шины управления 26 выбирает данные, поступающие по X шинам регистровых операндов 301, ..., 30X из блока управления инструкциями 3 и N шинам 351, ..., 35N выходных данных из блоков памяти векторов данных 61, ..., 6N, компонует составной R-байтовый операнд и подает его на шину 36 для обработки в устройстве вычислений 9.

Устройство вычислений 9 в зависимости от заданного в инструкции кода вычислительной операции выполняет обработку составного операнда в АЛУ 11 или в одном из блоков выполнения вычислительно-сложных преобразований данных 121, ..., 12M. АЛУ И является двухвходовым, операнд представляется как два операнда одинаковой разрядности, над которыми выполняется заданная в инструкции операция. Обработка операндов в блоках выполнения вычислительно-сложных преобразований данных происходит по принципу конвейера - параллельное выполнение вычислений с различными операндами на различных этапах конвейера.

Полученный результат вычислительной операции в зависимости от выполнявшего операцию блока, АЛУ 11 или одного из 121, ..., 12M, передается на соответствующую шину 380, ..., 38M и по сигналу с шины управления 28 передается на шину текущего результата 39. Данные с шины текущего результата 39 передаются на вход входного коммутатора 5 устройства памяти 4 и по сигналам управления с шины 23 могут быть одновременно записаны в любое подмножество блоков памяти векторов данных 61, ..., 6N.

Конечные или промежуточные результаты вычислений в виде полных векторов данных считываются из блоков памяти векторов данных 61, ..., 6N устройства памяти 4 на шину выходных данных 15 под управлением сигналов на шинах 341, ..., 34N, которые формируются выходным коммутатором 7 при обработке сигналов с шины управления 29, при этом блок управления инструкциями 3 формирует управляющие сигналы валидности данных на шине выходных данных 15 и выставляет их на выходной шине управления 17.

Работа ВЯ продолжается до тех пор, пока не будут обработаны все инструкции из блока памяти инструкций 2, либо пока в обрабатываемой инструкции не встретится признак завершения вычислений.

ПРИМЕР ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ

Предлагаемое векторное вычислительное ядро может быть реализовано в качестве основной вычислительной компоненты проблемно-ориентированных многоядерных процессоров обработки данных, изготавливаемых в виде сверхбольших интегральных схем (СБИС) по различным (без ограничения) полупроводниковым технологиям, например, КМОП технологии с любыми доступными технологическими нормами. В многоядерном процессоре должны поддерживаться интерфейсы предлагаемого векторного вычислительного ядра, к другим компонентам и функциональным возможностям целевого процессора (внешние интерфейсы, организация взаимодействия вычислительных ядер, подсистема управления и т.п.) требования со стороны предлагаемого векторного вычислительного ядра не предъявляются.

Корректность функционирования вычислительного ядра была подтверждена с использованием разработанной на языке SystemC программной модели ВЯ и представительного множества тестовых задач.

Для приведенного выше структурно-функционального проекта векторного вычислительного ядра разработано формализованное описание на языке описания аппаратного обеспечения, выполнена верификация формализованного описания вычислительного ядра с использованием поведенческого моделирования и осуществлены логическое и топологическое проектирование в системе автоматизированного проектирования СБИС с подтверждением корректности функционирования и заданных временных ограничений на задержки в сигнальных цепях. Выполненные этапы проектирования достаточны для вывода о реализуемости предлагаемого вычислительного ядра в виде составной части процессорной СБИС.

С использованием программной модели ВЯ и поведенческого моделирования ВЯ, специфицированном на языке описания аппаратного обеспечения, были выполнены с получением корректного результата более десяти тестовых научно-технических задач. В силу того, что тестовые задачи, выполнимость которых на предлагаемом ВЯ подтверждена моделированием, являются представительным подмножеством целевого класса научно-технических задач, можно утверждать, что предлагаемое векторное вычислительное ядро обеспечивает выполнение более широкого множества научно-технических задач.

Потактовое моделирование выполнения тестовых научно-технических задач позволило определить число тактов работы ВЯ, затраченных для выполнения задач, а результаты топологического проектирования позволили с высокой вероятностью прогнозировать допустимую рабочую тактовую частоту ВЯ. Совокупность полученных экспериментальных результатов позволила оценить производительность ВЯ как достаточную для выполнения трудоемких научно-технических задач. В сравнении с известными оценками производительности узкоспециализированных СБИС, ВМ многопоточной обработки данных и реконфигурируемых ВУ при выполнении таких же задач производительность предлагаемого векторного ВЯ при равных объемах оборудования и идентичных технологиях изготовления близка к уровню производительности узкоспециализированных СБИС и кратно превышает производительность ВМ многопоточной обработки данных и реконфигурируемых ВУ.

Таким образом, вышеизложенные сведения позволяют сделать вывод, что предлагаемое векторное вычислительное ядро соответствует заявляемому техническому результату - повышение производительности за счет выполнения вычислительно-сложных преобразований данных с использованием векторной обработки на быстродействующих конвейерных устройствах и расширение множества решаемых научно-технических задач.

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

название год авторы номер документа
Вычислительный модуль и способ обработки с использованием такого модуля 2018
  • Елизаров Сергей Георгиевич
  • Лукъянченко Георгий Александрович
  • Советов Петр Николаевич
RU2689433C1
ВЫЧИСЛИТЕЛЬНЫЙ МОДУЛЬ 2017
  • Глухов Александр Иванович
  • Карев Лев Рафаилович
  • Конотопцев Валерий Николаевич
  • Сергеев Игорь Сергеевич
  • Тусеев Роман Георгиевич
  • Шевченко Иван Владимирович
RU2643622C1
КОНВЕЙЕРНЫЙ ПРОЦЕССОР 1992
  • Соколов А.А.
  • Агапов В.М.
  • Бяков А.Ю.
  • Губанов А.Ю.
  • Зак Л.А.
  • Жуковский В.А.
  • Ли В.Л.
  • Отто В.А.
  • Чайковский Л.Ф.
  • Смирнов В.И.
RU2032215C1
Специализированная вычислительная система, предназначенная для вывода в глубоких нейронных сетях, основанная на потоковых процессорах 2022
  • Шадрин Антон Викторович
  • Чуприк Анастасия Александровна
  • Кондратюк Екатерина Владимировна
  • Михеев Виталий Витальевич
  • Киртаев Роман Владимирович
  • Негров Дмитрий Владимирович
RU2793084C1
РЕКОНФИГУРИРУЕМАЯ ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА 2022
  • Будкина Ольга Анатольевна
  • Воротников Константин Игоревич
  • Демин Федор Вячеславович
  • Морозов Илья Александрович
  • Парамонов Виктор Викторович
  • Симонов Аркадий Васильевич
  • Цыбов Александр Альбертович
RU2798443C1
ВЫЧИСЛИТЕЛЬНЫЙ МОДУЛЬ ДЛЯ МНОГОСТАДИЙНОЙ МНОГОПОТОЧНОЙ ОБРАБОТКИ ЦИФРОВЫХ ДАННЫХ И СПОСОБ ОБРАБОТКИ С ИСПОЛЬЗОВАНИЕМ ДАННОГО МОДУЛЯ 2018
  • Елизаров Сергей Георгиевич
  • Марков Денис Сергеевич
  • Чернышов Алексей Александрович
RU2681365C1
МИКРОПРОЦЕССОР ГИБРИДНЫЙ 2007
  • Бобков Сергей Геннадиевич
  • Аряшев Сергей Иванович
  • Барских Михаил Евгеньевич
  • Бычков Константин Сергеевич
  • Зубковский Павел Сергеевич
RU2359315C2
Вычислительная система 1989
  • Бабаян Борис Арташесович
  • Волконский Владимир Юрьевич
  • Горштейн Валерий Яковлевич
  • Ким Александр Киирович
  • Назаров Леонид Николаевич
  • Сахин Юлий Хананович
  • Семенихин Сергей Владимирович
SU1777148A1
МНОГОПРОЦЕССОРНАЯ ВЕКТОРНАЯ ЭВМ 1995
  • Миллер Л.Я.
  • Мухтарулин В.С.
RU2113010C1
ВЫЧИСЛИТЕЛЬНЫЙ МОДУЛЬ ДЛЯ МНОГОЗАДАЧНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ 2021
  • Будкина Ольга Анатольевна
  • Воротников Константин Игоревич
  • Демин Федор Вячеславович
  • Морозов Илья Александрович
  • Парамонов Виктор Викторович
  • Симонов Аркадий Васильевич
  • Цыбов Александр Альбертович
RU2780169C1

Иллюстрации к изобретению RU 2 819 403 C1

Реферат патента 2024 года ВЕКТОРНОЕ ВЫЧИСЛИТЕЛЬНОЕ ЯДРО

Изобретение относится к области вычислительной техники. Технический результат заключается в повышении производительности за счет конвейерной обработки векторных операций и расширении множества решаемых научно-технических задач. Технический результат достигается тем, что устройство содержит буфер ввода данных, блок памяти инструкций, блок управления инструкциями, устройство памяти, в которое введены входной коммутатор, блоки памяти векторов данных, выходной коммутатор и коммутатор операндов, устройство вычислений, в которое введены демультиплексор выбора операции, арифметико-логическое устройство, блоки выполнения вычислительно-сложных преобразований данных и мультиплексор выбора результата, а также введены шина входных данных, шина выходных данных, внешняя шина управления, выходная шина управления и выходная шина статуса. 1 ил.

Формула изобретения RU 2 819 403 C1

Векторное вычислительное ядро, содержащее буфер ввода данных (1), блок памяти инструкций (2), блок управления инструкциями (3), устройство памяти (4), в которое введены входной коммутатор (5), блоки памяти векторов данных (61, ..., 6N), выходной коммутатор (7) и коммутатор операндов (8), устройство вычислений (9), в которое введены демультиплексор выбора операции (10), арифметико-логическое устройство (11), блоки выполнения вычислительно-сложных преобразований данных (121, ..., 12M) и мультиплексор выбора результата (13), а также введены шина входных данных (14), шина выходных данных (15), внешняя шина управления (16), выходная шина управления (17) и выходная шина статуса (18),

причем шина входных данных (14) соединена с буфером ввода данных (1), который соединен шиной управления (19) с блоком управления инструкциями (3) и шиной управления (20) с блоком памяти инструкций (2),

шина выходных данных (15) соединена с выходом коммутатора (7), внешняя шина управления (16) соединена с соответствующими портами буфера ввода данных (1), выходная шина управления (17) и выходная шина статуса (18) соединены с блоком управления инструкциями (3),

кроме того, шина загружаемых данных (21) соединена с соответствующим выходом буфера ввода данных (1) и соответствующими входами блока памяти инструкций (2) и входного коммутатора (5) устройства памяти (4), который первой шиной управления (22) соединен с буфером ввода данных (1) и второй шиной управления (23) соединен с блоком управления инструкциями (3),

блок памяти инструкций (2) также соединен соответствующими шиной адреса инструкции (24) и шиной кода инструкции (25) с блоком управления инструкциями (3),

блок управления инструкциями (3) шиной управления (26) соединен с коммутатором операндов (8), шиной задания операции (27) соединен с демультиплексором выбора операции (10), шиной выбора результата (28) соединен с мультиплексором выбора результата (13), шиной управления (29) соединен с выходным коммутатором (7) устройства памяти (4), а соответствующие выходы блока управления инструкциями (3) являются шинами регистровых операндов (301, ..., 30X), которые соединены с соответствующими группами входов коммутатора операндов (8),

кроме того, выходная шина (31) входного коммутатора (5) устройства памяти (4) соединена с первыми входами блоков памяти векторов данных (61, ..., 6N), вторые входы которых соответствующими одноименными шинами управления (321, ..., 32N) также соединены с входным коммутатором (5),

причем первые шины (331, ..., 33N) вывода данных из одноименных блоков памяти векторов данных (61, ..., 6N) соединены с соответствующими входами выходного коммутатора (7), который соответствующими шинами управления чтением (341, ..., 34N) также соединен с одноименными блоками памяти векторов данных (61, ..., 6N),

вторые шины (351, ..., 35N) вывода данных из блоков памяти векторов данных (61, ..., 6N) соединены с соответствующими группами входов коммутатора операндов (8), который шиной операнда (36) соединен с первыми входами арифметико-логического устройства (11) и блоков выполнения вычислительно-сложных преобразований данных (121, ..., 12M),

шины выбора операций (370, ..., 37M) соединяют соответствующие выходы демультиплексора выбора операции (10) с соответствующими входами арифметико-логического устройства (11) и блоков выполнения вычислительно-сложных преобразований данных (121, ..., 12M),

шины результатов вычислений (380, ..., 38M) соединяют выходы арифметико-логического устройства (11) и блоков выполнения вычислительно-сложных преобразований данных (121, ..., 12M) с соответствующими входами мультиплексора выбора результата (13), выход которого по шине текущего результата (39) соединен с входным коммутатором (5) устройства памяти (4).

Документы, цитированные в отчете о поиске Патент 2024 года RU2819403C1

ИСПОЛНИТЕЛЬНЫЙ КЛАПАН С ПНЕВМАТИЧЕСКИМ ПРИНУДИТЕЛЬНЫМ ЗАПИРАНИЕМ 0
  • И. Взоров, Н. С. Николаев, Л. Я. Переплетчиков А. С. Романо Ь.
SU168565A1
СКАЛЯРНО-ВЕКТОРНЫЙ ПРОЦЕССОР 2021
  • Петричкович Ярослав Ярославович
  • Солохина Татьяна Владимировна
  • Кузнецов Денис Александрович
  • Беляев Андрей Александрович
  • Александров Юрий Николаевич
  • Деревянко Дмитрий Александрович
  • Беляев Иван Андреевич
  • Миронова Юлия Викторовна
  • Гаврилов Виталий Сергеевич
RU2781355C1
Способ сравнения шумовых сигналов 1958
  • Махлин Р.Е.
SU124013A1
Станок для придания концам круглых радиаторных трубок шестигранного сечения 1924
  • Гаркин В.А.
SU2019A1
Электромагнитный прерыватель 1924
  • Гвяргждис Б.Д.
  • Горбунов А.В.
SU2023A1

RU 2 819 403 C1

Авторы

Конотопцев Валерий Николаевич

Сергеев Игорь Сергеевич

Даты

2024-05-20Публикация

2023-12-25Подача