RU2513759C1 - Heterogeneous processor - Google Patents

Heterogeneous processor Download PDF

Info

Publication number
RU2513759C1
RU2513759C1 RU2012146581/08A RU2012146581A RU2513759C1 RU 2513759 C1 RU2513759 C1 RU 2513759C1 RU 2012146581/08 A RU2012146581/08 A RU 2012146581/08A RU 2012146581 A RU2012146581 A RU 2012146581A RU 2513759 C1 RU2513759 C1 RU 2513759C1
Authority
RU
Russia
Prior art keywords
port
unit
processor
ports
block
Prior art date
Application number
RU2012146581/08A
Other languages
Russian (ru)
Inventor
Павел Николаевич Осипенко
Евгений Авенирович Новожилов
Анатолий Георгиевич Кушниренко
Глеб Олегович Райко
Original Assignee
Федеральное государственное бюджетное учреждение науки Российской академии наук Научно-исследовательский институт системных исследований РАН (НИИСИ РАН)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Федеральное государственное бюджетное учреждение науки Российской академии наук Научно-исследовательский институт системных исследований РАН (НИИСИ РАН) filed Critical Федеральное государственное бюджетное учреждение науки Российской академии наук Научно-исследовательский институт системных исследований РАН (НИИСИ РАН)
Priority to RU2012146581/08A priority Critical patent/RU2513759C1/en
Application granted granted Critical
Publication of RU2513759C1 publication Critical patent/RU2513759C1/en

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Complex Calculations (AREA)

Abstract

FIELD: physics, computer engineering.
SUBSTANCE: invention relates to computer engineering and specifically to digital signal processing. The heterogeneous processor comprises: a universal processor with a port, an input/output unit with a port, a RAM controller with a port, a unit for rapid execution of digital signal processing algorithms with a port, which consists of a memory direct accessing controller, a program memory unit and a computer section control unit, each consisting of a register file unit with ports, connected to the port of the computer section control unit, a local ROM unit and an arithmetic logic unit, consisting of input register units, output register units, multiplier units and adder units, installed in a number which is sufficient to execute B±C×D operations for each circuit, where B, C and D are complex numbers, real and imaginary parts of which are 32-bit floating-point numbers, and the processor is equipped with a buffer memory unit with ports.
EFFECT: low power consumption per unit output and high processor throughput.
3 dwg

Description

Изобретение относится к области вычислительной техники, а именно к области цифровой обработки сигналов, где необходимо совмещение функций универсального микропроцессора и функций процессора цифровой обработки сигналов.The invention relates to the field of computer technology, namely to the field of digital signal processing, where it is necessary to combine the functions of a universal microprocessor and the functions of a digital signal processor.

Известно, что универсальные микропроцессоры традиционно используются для построения компьютеров, серверов (Intel, AMD, IBM), а также для встраивания в другие системы (ARM, MIPS). Для универсальных микропроцессоров характерны задачи с большим количеством условных переходов и незначительным уровнем внутреннего параллелизма, соответственно, универсальные микропроцессоры оптимизируются с целью эффективного предсказания переходов и извлечения встроенного параллелизма команд. Для программирования универсальных микропроцессоров используются языки программирования высокого уровня, такие как язык Си. Другой класс микропроцессоров, называемых процессорами цифровой обработки сигналов, применяется в областях вычислительной техники, где имеется поток входных данных, над которым требуется выполнить набор определенных действий в режиме их поступления. В качестве входных данных могут быть оцифрованные значения с видеокамеры, микрофона, локатора и других источников. Задачи цифровой обработки сигналов характеризуются высокой степенью параллелизма по данным, незначительным количеством условных переходов и высокой скоростью поступления входных данных. Для эффективного программирования процессоров цифровой обработки сигналов традиционно используют языки низкого уровня, типа ассемблер.It is known that universal microprocessors are traditionally used for building computers, servers (Intel, AMD, IBM), as well as for embedding in other systems (ARM, MIPS). Universal microprocessors are characterized by tasks with a large number of conditional transitions and a low level of internal parallelism, respectively, universal microprocessors are optimized to effectively predict transitions and extract built-in parallelism of instructions. For programming universal microprocessors, high-level programming languages such as C are used. Another class of microprocessors, called digital signal processing processors, is used in areas of computer engineering where there is an input data stream on which it is required to perform a set of specific actions in the mode of their arrival. The input data can be digitized values from a video camera, microphone, locator and other sources. The tasks of digital signal processing are characterized by a high degree of parallelism according to the data, a small number of conditional transitions and a high input data rate. For efficient programming of digital signal processing processors, traditionally use low-level languages such as assembler.

С развитием концепции систем-на-кристалле, предполагающей интеграцию на одном кристалле кремния нескольких функциональных устройств, стали появляться микросхемы, объединяющие функциями универсального микропроцессора и процессора цифровой обработки сигналов.With the development of the system-on-chip concept, which implies the integration of several functional devices on a single silicon chip, microcircuits began to appear, combining the functions of a universal microprocessor and a digital signal processing processor.

Наиболее близким по технической сути и достигаемому результату является микропроцессор Cell компании IBM, включающий универсальный процессор с портом, блок ввода/вывода с портом, контроллер оперативной памяти с портом и 8 блоков ускоренного выполнения алгоритмов цифровой обработки сигналов с портом (J.A.Kahle, М.N. Day и др. " Introduction to the Cell multiprocessor", IBM J. RES& DEV. VOL. 49 NO. 4/5, JULY/SEPTEMBER 2005, p.589-504).The closest in technical essence and the achieved result is the IBM Cell microprocessor, which includes a universal processor with a port, an input / output unit with a port, a memory controller with a port and 8 blocks of accelerated execution of digital signal processing algorithms with a port (JAKahle, M.N . Day et al. "Introduction to the Cell multiprocessor", IBM J. RES & DEV. VOL. 49 NO. 4/5, JULY / SEPTEMBER 2005, p. 589-504).

Данный микропроцессор позволяет достаточно эффективно решать задачи, совмещающие задачи управления и задачи цифровой обработки сигналов для большинства типов данных, таких как целочисленные и вещественные данные. Однако существуют задачи, в которых данные представлены в виде комплексных чисел, действительные и мнимые части которых являются 32-разрядными числами с плавающей запятой. Для такого типа данных операция вида B±C×D, которая является основной операций быстрого преобразования Фурье, требует 10 арифметических операций - 4 умножения и 6 сложений/вычитаний с 32-разрядными числами с плавающей запятой. Традиционно, арифметические операции выполняются последовательно, при этом для каждой операции требуется выполнять считывание данных из регистрового файла и сохранение результат в регистровом файле. В описываемом процессоре применены современные схемы умножения и сложения, что позволяет выполнять операции за 1 такт процессорной частоты, в результате чего операция B±C×D с комплексными числами будет выполняться за 10 тактов и потребует 20 считываний и 10 записей в регистровый файл на одну операцию, что приводит к необходимости выполнения значительного количества дополнительных действий, что приводит к увеличению энергопотребления.This microprocessor allows you to effectively solve problems that combine control tasks and digital signal processing tasks for most types of data, such as integer and real data. However, there are problems in which the data is presented in the form of complex numbers, the real and imaginary parts of which are 32-bit floating point numbers. For this type of data, an operation of the form B ± C × D, which is the main operation of the fast Fourier transform, requires 10 arithmetic operations - 4 multiplications and 6 additions / subtractions with 32-bit floating-point numbers. Traditionally, arithmetic operations are performed sequentially, while for each operation it is required to read data from the register file and save the result in the register file. The described processor uses modern multiplication and addition schemes, which allows performing operations in 1 clock cycle of the processor frequency, as a result of which the operation B ± C × D with complex numbers will be performed in 10 clock cycles and will require 20 readings and 10 writes to the register file for one operation , which leads to the need to perform a significant number of additional actions, which leads to increased energy consumption.

Таким образом, недостатком описанного выше процессора является высокое энергопотребление на единицу производительности.Thus, the disadvantage of the processor described above is the high power consumption per unit of performance.

Задачей изобретения является снижение энергопотребления на единицу производительности.The objective of the invention is to reduce energy consumption per unit of productivity.

Техническим результатом от использования изобретения является снижение энергопотребления на единицу производительности и повышение производительности процессора, путем увеличение скорости и энергоэффективности выполнения программ, сочетающих задачи управления и задачи цифровой обработки сигналов.The technical result from the use of the invention is to reduce power consumption per unit of productivity and increase processor performance, by increasing the speed and energy efficiency of program execution, combining control tasks and tasks of digital signal processing.

Указанный технический результат достигается тем, что в гетерогенном процессоре, включающем универсальный процессор с портом, блок ввода/вывода с портом, контроллер оперативной памяти с портом и блок ускоренного выполнения алгоритмов цифровой обработки сигналов с портом, процессор снабжен блоком буферной памяти с портами, один из которых связан с блоком ввода/вывода, а универсальный процессор, блок ускоренного выполнения алгоритмов цифровой обработки сигналов и контроллер оперативной памяти снабжены дополнительными портами каждый, при этом универсальный процессор и блок ускоренного выполнения алгоритмов цифровой обработки сигналов посредством своих портов связаны с портами блока буферной памяти и портами контроллера оперативной памяти, а блок ускоренного выполнения алгоритмов цифровой обработки сигналов состоит из контроллера прямого доступа к памяти, блока памяти программ и блока управления вычислительными секциями, каждая из которых состоит из блока регистрового файла с портами, соединенного с портом блока управления вычислительными секциями, блока локального ОЗУ и блока арифметико-логического устройства, состоящего из блоков входных регистров, блоков выходных регистров, блоков умножителей и блоков сумматоров, установленных в количестве, достаточном для выполнения операции B±C×D каждый такт, где B, C и D - комплексные числа, действительные и мнимые, части которых являются 32-разрядными числами с плавающей запятой.The specified technical result is achieved by the fact that in a heterogeneous processor including a universal processor with a port, an input / output unit with a port, a memory controller with a port and an accelerated block of digital signal processing algorithms with a port, the processor is equipped with a buffer memory unit with ports, one of which is connected with the input / output unit, and the universal processor, the unit for accelerated execution of digital signal processing algorithms and the memory controller are equipped with additional ports each, and this universal processor and the unit for the accelerated execution of digital signal processing algorithms through its ports are connected to the ports of the buffer memory unit and the ports of the RAM controller, and the unit for the accelerated execution of digital signal processing algorithms consists of a direct memory access controller, a program memory unit, and a computing control unit sections, each of which consists of a block of a register file with ports connected to a port of a control unit of computing sections, a block locally RAM and the block of the arithmetic-logic device, consisting of blocks of input registers, blocks of output registers, blocks of multipliers and blocks of adders, set in an amount sufficient to perform the operation B ± C × D each cycle, where B, C and D are complex numbers , real and imaginary, parts of which are 32-bit floating point numbers.

Изобретение поясняется чертежами, где на фиг.1 изображена общая схема гетерогенного процессора, на фиг. 2 - структурная схема блока ускоренной обработки алгоритмов цифровой обработки сигналов, на фиг.3 - структурная схема блока арифметико-логического устройства.The invention is illustrated by drawings, where in Fig.1 shows a General diagram of a heterogeneous processor, in Fig. 2 is a block diagram of an accelerated processing unit for digital signal processing algorithms; FIG. 3 is a block diagram of an arithmetic logic unit.

Гетерогенный процессор состоит из блока ввода/вывода 1 с портами 2 и 3, блока буферной памяти 4 с портами 5, 6 и 7, универсального процессора 8 с портами 9, 10 и 11, контроллера прямого доступа к памяти 12 с портами 13, 14 и 15, блока ускоренной обработки алгоритмов цифровой обработки сигналов 16 с портами 17, 18 и 19.A heterogeneous processor consists of an input / output unit 1 with ports 2 and 3, a buffer memory unit 4 with ports 5, 6 and 7, a universal processor 8 with ports 9, 10 and 11, a direct memory access controller 12 with ports 13, 14 and 15, an accelerated processing unit for digital signal processing algorithms 16 with ports 17, 18 and 19.

К порту 2 блока вода/вывода 1 подключены внешние линии связи, соединяющие гетерогенный процессор с другими внешними устройствами, порт 3 блока ввода/вывода 1 подключен к порту 5 блока буферной памяти 4, порт 6 блока буферной памяти 4 соединен с портом 9 универсального процессора 8, порт 7 блока буферной памяти 4 соединен с портом 18 блока ускоренного выполнения алгоритмов цифровой обработки сигналов 16, порт 10 универсального процессора 8 соединен с портом 14 контроллера прямого доступа к оперативной памяти 12, а порт 11 универсального процессора 8 подключен к порту 17 блока ускоренного выполнения алгоритмов цифровой обработки сигналов 16, порт 19 которого соединен с портом 15 контроллера оперативной памяти 12, порт 13 которого подключен к микросхемам вешней оперативной памяти.External communication lines connecting the heterogeneous processor to other external devices are connected to port 2 of the water / output unit 1, port 3 of the input / output unit 1 is connected to port 5 of the buffer memory unit 4, port 6 of the buffer memory unit 4 is connected to port 9 of the universal processor 8 , port 7 of the buffer memory unit 4 is connected to port 18 of the block for accelerated execution of digital signal processing algorithms 16, port 10 of the universal processor 8 is connected to port 14 of the controller for direct access to RAM 12, and port 11 of the universal processor 8 is for prison to the port block 17 expedite the digital signal processing algorithms 16, the port 19 is connected to the port 15 of RAM controller 12, the port 13 is connected to RAM chips vernal.

Блок ускоренного выполнения алгоритмов цифровой обработки сигналов 16 состоит из блока памяти программ 20, порт 21 которого соединен с портом 11 универсального процессора 8, а порт 22 соединен с портом 23 блока управления вычислительными секциями 24, порт 25 которого соединен с портом 11 универсального процессора 8, порт 26 соединен с портом 27 контроллера прямого доступа к памяти 28, а порт 29 соединен с портом 30 блока регистрового файла 31. Порты 32 контроллера прямого доступа к памяти 28 соединены с вычислительными секциями, каждая из которых состоит из блока арифметико-логического устройства 33, блока регистрового файла 31 и блока локального ОЗУ 34, последовательно соединенных между собой. Порты 18 и 19 блока контроллера прямого доступа к памяти 28 соединены с портами 7 буферной памяти 4 и 15 контроллера оперативной памяти 12 соответственно.The block for accelerated execution of digital signal processing algorithms 16 consists of a program memory block 20, port 21 of which is connected to port 11 of universal processor 8, and port 22 is connected to port 23 of control unit of computing sections 24, port 25 of which is connected to port 11 of universal processor 8, port 26 is connected to port 27 of the direct memory access controller 28, and port 29 is connected to port 30 of the register file block 31. Ports 32 of the direct memory access controller 28 are connected to computing sections, each of which consists of Lok ALU 33, register file unit 31 and the local RAM unit 34 sequentially interconnected. Ports 18 and 19 of the block of the direct memory access controller 28 are connected to ports 7 of the buffer memory 4 and 15 of the RAM controller 12, respectively.

Блок арифметико-логического устройства 33 каждой секции содержит блоки входных регистров 35, 36, 37, с входными портами 38, 39, 40 соответственно, связанных с портами блоков умножителей 41, 42, 43, 44, которые в свою очередь соединены с блоками сумматоров 45, 46. Блоки сумматоров 47, 48, 49, 50 связаны с блоками выходных регистров 51, 52, с выходными портами 53, 54.The block of the arithmetic-logical device 33 of each section contains blocks of input registers 35, 36, 37, with input ports 38, 39, 40, respectively, associated with ports of blocks of multipliers 41, 42, 43, 44, which in turn are connected to adder blocks 45 , 46. Blocks of adders 47, 48, 49, 50 are connected with blocks of output registers 51, 52, with output ports 53, 54.

Блок ввода/вывода 1 предназначен для приема данных, поступающих с внешних линий связи на его порт 2, и записи их в блок буферной памяти 4, а также для чтения данных из блока буферной памяти 4 и передачи их на внешние линии связи через вход 2.The input / output unit 1 is designed to receive data coming from external communication lines to its port 2, and write it to the buffer memory unit 4, as well as to read data from the buffer memory unit 4 and transfer it to external communication lines through input 2.

Блок буферной памяти 4 предназначен для хранения данных, переданных от блока ввода/вывода 1, через порт 5, и обеспечения доступа к этим данным со стороны универсального процессора 8 через порт 6 или со стороны блока ускоренного выполнения алгоритмов цифровой обработки сигналов 16 через порт 7. В блоке буферной памяти 4 также хранятся данные, переданные с порта 9 универсального процессора 8 через порт 6, при этом обеспечивается доступ к этим данным со стороны блока ввода/вывода 1 через порт 5, или блока ускоренного выполнения алгоритмов цифровой обработки сигналов 16 через порт 7. Блок буферной памяти 4 также используется для хранения данных, переданных со стороны блока ускоренного выполнения алгоритмов цифровой обработки сигналов 16 через порт 7, и обеспечения доступа к этим данным со стороны универсального процессора 8 через вход 6, или со стороны блока ввода/вывода 1 через порт 5. Блок буферной памяти 4 может быть построен на основе стандартной статической памяти с произвольным доступом и схемой управления доступом.The buffer memory unit 4 is designed to store data transmitted from the input / output unit 1 through port 5 and to provide access to this data from the universal processor 8 through port 6 or from the side of the accelerated block of digital signal processing algorithms 16 through port 7. The buffer memory unit 4 also stores data transmitted from port 9 of the universal processor 8 through port 6, while providing access to these data from the input / output unit 1 through port 5, or the block for accelerated execution of digital algorithms processing of signals 16 through port 7. The buffer memory unit 4 is also used to store data transmitted from the side of the accelerated block of digital signal processing algorithms 16 through port 7 and to provide access to these data from the universal processor 8 through input 6, or from I / O unit 1 through port 5. The buffer memory unit 4 can be built on the basis of standard random access memory with an access control circuit.

Универсальный процессор 8 предназначен для выполнения задач управления, а также для загрузки управляющей программы с порта 11 в порт 17 блока ускоренного выполнения алгоритмов цифровой обработки сигналов 16. При этом универсальный процессор 8 хранит промежуточные данные во внешней оперативной памяти, к которой он обращается через контроллер оперативной памяти 12.The universal processor 8 is designed to perform control tasks, as well as to download the control program from port 11 to port 17 of the accelerated block of digital signal processing algorithms 16. In this case, the universal processor 8 stores intermediate data in external RAM, which it accesses through the operational controller memory 12.

Контроллер оперативной памяти 12 предназначен для обслуживания запросов к микросхемам внешней памяти со стороны универсального процессора 8, поступающих на порт 14, и со стороны блока ускоренного выполнения алгоритмов цифровой обработки сигналов 16, поступающих на порт 15. Контроллер оперативной памяти 12 может быть построен на основе стандартного контроллера оперативной памяти.The memory controller 12 is designed to serve requests to external memory chips from the universal processor 8, arriving at port 14, and from the accelerated execution unit of digital signal processing algorithms 16, arriving at port 15. The memory controller 12 can be built on the basis of a standard RAM controller.

Блок ускоренного выполнения алгоритмов цифровой обработки сигналов 16, содержащий блок памяти программ 20, блок управления вычислительными секциями 24, контроллер прямого доступа к памяти 28 и несколько вычислительных секций, каждая из которых содержит блок арифметико-логического устройства 33, блок регистрового файла 31 и блок локального ОЗУ 34, предназначен для выполнения арифметических команд с 32-разрядными числами с плавающей запятой каждый такт, в том числе операций типа B±C×D, где В, С и D - комплексные числа, действительные и мнимые, части которых являются 32-разрядными числами с плавающей запятой каждый такт.The block for accelerated execution of digital signal processing algorithms 16, comprising a program memory block 20, a control unit for computing sections 24, a direct access controller for memory 28, and several computing sections, each of which contains a block of an arithmetic-logical device 33, a block of a register file 31, and a block of local RAM 34, is designed to execute arithmetic instructions with 32-bit floating point numbers every clock cycle, including operations of type B ± C × D, where B, C and D are complex numbers, real and imaginary, parts of Which are 32-bit floating point numbers every clock cycle.

Описанный выше гетерогенный процессор работает следующим образом.The heterogeneous processor described above operates as follows.

Блок ввода/вывода 1 записывает данные, поступающие с внешних линий связи на его вход 2, в блок буферной памяти 4, а также производит чтение данных из блока буферной памяти 4 и передает их на внешние линии связи через вход 2. Данные, поступающие с внешних линий связи, могут быть программой для универсального процессора 8, данными для универсального процессора 8, программой для блока ускоренного выполнения алгоритмов цифровой обработки сигналов 16 или данными для блока ускоренного выполнения алгоритмов цифровой обработки сигналов 16.The input / output unit 1 writes the data coming from external communication lines to its input 2 to the buffer memory unit 4, and also reads data from the buffer memory unit 4 and transfers it to external communication lines through input 2. Data coming from external communication lines, can be a program for a universal processor 8, data for a universal processor 8, a program for an accelerated block of digital signal processing algorithms 16 or data for a block of accelerated execution of digital signal processing algorithms 16.

Если гетерогенный процессор выполняет задачу управления, то с внешних линий связи 2 через блок ввода/вывода 1 в блок буферной памяти 4 передается программа для управляющего процессора 8. Управляющей процессор 8 считывает программу из блока буферной памяти 4 и приступает к ее выполнению. В процессе выполнения программы может происходить обмен данными между универсальным процессором 8 и микросхемами внешней оперативной памяти через контроллер оперативной памяти 12.If the heterogeneous processor performs the control task, then the program for the control processor 8 is transmitted from the external communication lines 2 through the input / output unit 1 to the buffer memory unit 4. The control processor 8 reads the program from the buffer memory unit 4 and proceeds to its execution. In the process of executing the program, data can be exchanged between the universal processor 8 and the external memory chips through the memory controller 12.

Если гетерогенный процессор выполняет задачу цифровой обработки сигналов, то с внешних линий связи 2 через блок ввода/вывода 1 в блок буферной памяти 4 передается программа для блока ускоренного выполнения алгоритмов цифровой обработки сигналов 16. Универсальный процессор 8 считывает из блока буферной памяти 4 программу для блока ускоренного выполнения алгоритмов цифровой обработки сигналов 16 и записывает ее в блок памяти программ 20 блока ускоренного выполнения алгоритмов цифровой обработки сигналов 16, после чего передает управление блоку управления вычислительными секциями 24. Блок управления вычислительными секциями 24 управляет следующим процессами:If the heterogeneous processor performs the task of digital signal processing, then the program for the block for the accelerated execution of digital signal processing algorithms 16 is transmitted from external communication lines 2 through the input / output unit 1 to the buffer memory unit 4. The universal processor 8 reads the program for the block from the buffer memory block 4 accelerated execution of digital signal processing algorithms 16 and writes it to the program memory 20 of the accelerated execution block of digital signal processing algorithms 16, after which it transfers control to control section of computing sections 24. The control section of computing sections 24 controls the following processes:

- управляет контроллером прямого доступа к памяти 28 для передачи данных из блока буферной памяти 4 в микросхемы внешней памяти через контроллер оперативной памяти 12 и наоборот;- controls the controller of direct access to the memory 28 for transferring data from the buffer memory unit 4 to the external memory chips via the memory controller 12 and vice versa;

- управляет контроллером прямого доступа к памяти 28 для передачи данных из блока локального ОЗУ вычислительных секций 34 в микросхемы внешней памяти через контроллер оперативной памяти 12 и наоборот;- controls the controller of direct access to the memory 28 to transfer data from the local RAM unit of the computing sections 34 to the external memory chips through the memory controller 12 and vice versa;

- управляет обменом между блоком локального ОЗУ вычислительных секций 34 и блоками регистрового файла вычислительных секций 31.- controls the exchange between the local RAM unit of the computing sections 34 and the blocks of the register file of the computing sections 31.

Все вышеперечисленные операции выполняются одновременно.All of the above operations are performed simultaneously.

Блок арифметико-логического устройства 33, входящий в состав вычислительной секции при выполнении операции вида B±C×D, где В, С и D - комплексные числа, действительные и мнимые части которых являются 32-разрядными числами с плавающей запятой, работает следующим образом:The block of the arithmetic-logical device 33, which is part of the computing section when performing an operation of the form B ± C × D, where B, C and D are complex numbers, the real and imaginary parts of which are 32-bit floating point numbers, works as follows:

из блока регистрового файла 31 считываются три комплексных числа B, C и D и записываются через входные порты 38, 39, 40 в блоки входных регистров 35, 36, 37, при этом с порта 38 в регистр 35 подается число C, с порта 39 в регистр 36 подается число D, с порта 40 в регистр 37 подается число В. Операция умножения комплексных чисел C и D требует четырех умножений, одного сложения и одного вычитания, которые выполняются в блоках умножителей 41, 42, 43, 44 и блоках сумматорах 45 и 46 соответственно. Операция сложения комплексных чисел требует две операции сложения, которые выполняются блоками сумматоров 47 и 48, а операция вычитания комплексных чисел требует двух операций вычитания, которые выполняются блоками сумматоров 49 и 50 соответственно. Результат операции B+C×D запоминается в блоке выходного регистра 51, результат операции B-C×D запоминается в блоке выходного регистра 52, и с их выходных портов 53 и 54 результаты записываются в регистровый файл 31.three complex numbers B, C and D are read from the register file block 31 and written through the input ports 38, 39, 40 to the blocks of the input registers 35, 36, 37, while the number C is sent from the port 38 to the register 35, from the port 39 to register 36 receives the number D, from port 40 the register 37 receives the number B. The operation of multiplying complex numbers C and D requires four multiplications, one addition and one subtraction, which are performed in blocks of multipliers 41, 42, 43, 44 and adder blocks 45 and 46 respectively. The operation of adding complex numbers requires two addition operations, which are performed by adder blocks 47 and 48, and the subtraction of complex numbers requires two subtraction operations, which are performed by adder blocks 49 and 50, respectively. The result of the operation B + C × D is stored in the block of the output register 51, the result of the operation B-C × D is stored in the block of the output register 52, and from their output ports 53 and 54, the results are recorded in the register file 31.

Таким образом, за счет обеспечения возможности выполнения операции вида B±C×D, где В, С и D - комплексные числа, действительные и мнимые части которых являются 32-разрядными числами с плавающей запятой каждый такт, выполняя при этом одно считывание кода команды, одно чтение из регистрового файла и одну запись в регистровый файл, достигается снижение энергопотребления на единицу производительности и повышение производительности процессора.Thus, due to the possibility of performing an operation of the form B ± C × D, where B, C and D are complex numbers, the real and imaginary parts of which are 32-bit floating point numbers every clock cycle, while doing one reading of the command code, one read from the register file and one write to the register file, it reduces power consumption per unit of performance and improves processor performance.

Claims (1)

Гетерогенный процессор, включающий универсальный процессор с портом, блок ввода/вывода с портом, контроллер оперативной памяти с портом и блок ускоренного выполнения алгоритмов цифровой обработки сигналов с портом, отличающийся тем, что процессор снабжен блоком буферной памяти с портами, один из которых связан с блоком ввода/вывода, а универсальный процессор, блок ускоренного выполнения алгоритмов цифровой обработки сигналов и контроллер оперативной памяти снабжены дополнительными портами каждый, при этом универсальный процессор и блок ускоренного выполнения алгоритмов цифровой обработки сигналов посредством своих портов связаны с портами блока буферной памяти и портами контроллера оперативной памяти, а блок ускоренного выполнения алгоритмов цифровой обработки сигналов состоит из контроллера прямого доступа к памяти, блока памяти программ и блока управления вычислительными секциями, каждая из которых состоит из блока регистрового файла с портами, соединенного с портом блока управления вычислительными секциями, блока локального ОЗУ и блока арифметико-логического устройства, состоящего из блоков входных регистров, блоков выходных регистров, блоков умножителей и блоков сумматоров, установленных в количестве, достаточном для выполнения операции B±C×D каждый такт, где B, C и D -комплексные числа, действительные и мнимые, части которых являются 32-разрядными числами с плавающей запятой. A heterogeneous processor, including a universal processor with a port, an input / output unit with a port, a memory controller with a port and an accelerated block of digital signal processing algorithms with a port, characterized in that the processor is equipped with a buffer memory unit with ports, one of which is connected to the unit I / O, and the universal processor, the unit for accelerated execution of digital signal processing algorithms and the memory controller are equipped with additional ports each, while the universal processor and OK, the accelerated execution of digital signal processing algorithms through their ports are connected to the ports of the buffer memory block and the ports of the RAM controller, and the accelerated execution block of digital signal processing algorithms consists of a direct memory access controller, a program memory block, and a control unit for computing sections, each of which consists of a block of a register file with ports connected to a port of a control unit for computing sections, a block of local RAM and a block of arithmetic-logical device consisting of blocks of input registers, blocks of output registers, blocks of multipliers and blocks of adders, set in an amount sufficient to perform the operation B ± C × D every cycle, where B, C and D are complex numbers, real and imaginary, parts which are 32-bit floating point numbers.
RU2012146581/08A 2012-11-01 2012-11-01 Heterogeneous processor RU2513759C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2012146581/08A RU2513759C1 (en) 2012-11-01 2012-11-01 Heterogeneous processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012146581/08A RU2513759C1 (en) 2012-11-01 2012-11-01 Heterogeneous processor

Publications (1)

Publication Number Publication Date
RU2513759C1 true RU2513759C1 (en) 2014-04-20

Family

ID=50481049

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012146581/08A RU2513759C1 (en) 2012-11-01 2012-11-01 Heterogeneous processor

Country Status (1)

Country Link
RU (1) RU2513759C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2681365C1 (en) * 2018-08-03 2019-03-06 Общество с ограниченной ответственностью "Центр инженерной физики при МГУ имени М.В. Ломоносова" Computational module for multi-stage multithreaded processing of digital data and method of processing using this module

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2022364C1 (en) * 1991-01-21 1994-10-30 Институт кибернетики им.В.М.Глушкова АН Украины Digital-analog system for indication and processing of information
RU2084953C1 (en) * 1990-11-13 1997-07-20 Интернэшнл Бизнес Машинз Корпорейшн Parallel processor system
US6173366B1 (en) * 1996-12-02 2001-01-09 Compaq Computer Corp. Load and store instructions which perform unpacking and packing of data bits in separate vector and integer cache storage
US6192427B1 (en) * 1997-05-02 2001-02-20 Texas Instruments Incorporated Input/output buffer managed by sorted breakpoint hardware/software
US6282631B1 (en) * 1998-12-23 2001-08-28 National Semiconductor Corporation Programmable RISC-DSP architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2084953C1 (en) * 1990-11-13 1997-07-20 Интернэшнл Бизнес Машинз Корпорейшн Parallel processor system
RU2022364C1 (en) * 1991-01-21 1994-10-30 Институт кибернетики им.В.М.Глушкова АН Украины Digital-analog system for indication and processing of information
US6173366B1 (en) * 1996-12-02 2001-01-09 Compaq Computer Corp. Load and store instructions which perform unpacking and packing of data bits in separate vector and integer cache storage
US6192427B1 (en) * 1997-05-02 2001-02-20 Texas Instruments Incorporated Input/output buffer managed by sorted breakpoint hardware/software
US6282631B1 (en) * 1998-12-23 2001-08-28 National Semiconductor Corporation Programmable RISC-DSP architecture

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
W0 87/02800 A, 07.05.1987. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2681365C1 (en) * 2018-08-03 2019-03-06 Общество с ограниченной ответственностью "Центр инженерной физики при МГУ имени М.В. Ломоносова" Computational module for multi-stage multithreaded processing of digital data and method of processing using this module

Similar Documents

Publication Publication Date Title
US10445234B2 (en) Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features
US10387319B2 (en) Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US11086816B2 (en) Processors, methods, and systems for debugging a configurable spatial accelerator
US10445451B2 (en) Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features
US10558575B2 (en) Processors, methods, and systems with a configurable spatial accelerator
US10416999B2 (en) Processors, methods, and systems with a configurable spatial accelerator
US20190004878A1 (en) Processors, methods, and systems for a configurable spatial accelerator with security, power reduction, and performace features
Kapasi et al. The Imagine stream processor
Schuiki et al. Stream semantic registers: A lightweight risc-v isa extension achieving full compute utilization in single-issue cores
CN111027690B (en) Combined processing device, chip and method for performing deterministic reasoning
Dehyadegari et al. Architecture support for tightly-coupled multi-core clusters with shared-memory HW accelerators
RU2513759C1 (en) Heterogeneous processor
Bansal et al. Efficient integration of coprocessor in LEON3 processor pipeline for System-on-Chip design
Glossner et al. HSA-enabled DSPs and accelerators
Wei et al. Evaluation of on-chip accelerator performance based on RocketChip
US8966230B2 (en) Dynamic selection of execution stage
Moon et al. A 32-bit RISC microprocessor with DSP functionality: Rapid prototyping
JP7575841B2 (en) Reuse of adjacent SIMD units for fast and comprehensive results
Zhao et al. Accelerating depthwise separable convolutions with vector processor
Makino et al. Analysis of past and present processors
Makino et al. The performance of GRAPE-DR for dense matrix operations
Guo et al. A high performance heterogeneous architecture and its optimization design
McGrath et al. A WE-DSP32 based, low-cost, high-performance, synchronous multiprocessor for cyclo-static implementations
Ramprakash et al. A REVIEW ON ANALYSIS OF 32-BIT AND 64-BIT RISC PROCESSORS
Ghosh et al. ASPEN: An asynchronous signal processor for energy efficient sensor nodes

Legal Events

Date Code Title Description
PD4A Correction of name of patent owner
PC41 Official registration of the transfer of exclusive right

Effective date: 20160808

MM4A The patent is invalid due to non-payment of fees

Effective date: 20171102

NF4A Reinstatement of patent

Effective date: 20180716

PC41 Official registration of the transfer of exclusive right

Effective date: 20180813