RU2675045C1 - Microprocessor architecture with the micro controllers automatic programming function - Google Patents

Microprocessor architecture with the micro controllers automatic programming function Download PDF

Info

Publication number
RU2675045C1
RU2675045C1 RU2017132477A RU2017132477A RU2675045C1 RU 2675045 C1 RU2675045 C1 RU 2675045C1 RU 2017132477 A RU2017132477 A RU 2017132477A RU 2017132477 A RU2017132477 A RU 2017132477A RU 2675045 C1 RU2675045 C1 RU 2675045C1
Authority
RU
Russia
Prior art keywords
processors
hybrid
instructions
architecture
microprocessor
Prior art date
Application number
RU2017132477A
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 RU2017132477A priority Critical patent/RU2675045C1/en
Application granted granted Critical
Publication of RU2675045C1 publication Critical patent/RU2675045C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
    • G06F9/3897Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Advance Control (AREA)

Abstract

FIELD: electronic equipment.
SUBSTANCE: invention relates to the field of electronics. Technical result is achieved due to the microprocessor architecture with the automatic programming function, which contains electrically connected autonomous computing unit (ACU), configured to decode and separate data and control commands, commands transmission unit (CTU), configured to analyze the task, containing the work order definition unit (WODU), configured to determine the hybrid processors cluster synchronizer (CS) order of actions, create instructions for its operation and issuing them to the cluster synchronizer, and also the programmable logic integrated circuit (PLIC) configured to analyze the actions performed to implement the architecture interaction and system of instructions, configured to create instructions and transmit them to the hybrid processors CS, and at least two hybrid processors, at that the hybrid processors CS is configured to separate instructions into the number of hybrid processors, which are connected to the CS.
EFFECT: technical result consists in increase in speed and increase in reliability.
1 cl, 2 dwg

Description

Изобретение относится к области электроники, в частности к микропроцессорным архитектурам, а именно к гибридным кластерным процессорам.The invention relates to the field of electronics, in particular to microprocessor architectures, namely to hybrid cluster processors.

В описании использованы следующие термины и сокращения.The following terms and abbreviations are used in the description.

API (англ. application programming interface - программный интерфейс приложения, интерфейс прикладного программирования) - набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) или операционной системой для использования во внешних программных продуктах.API (English application programming interface - application programming interface, application programming interface) - a set of ready-made classes, procedures, functions, structures and constants provided by the application (library, service) or operating system for use in external software products.

BIOS (англ. basic input/output system - базовая система ввода-вывода), БИОС, также БСВВ - набор микропрограмм, реализующих API для работы с аппаратурой компьютера и подключенными к нему устройствами.BIOS (English basic input / output system - basic input-output system), BIOS, and BSVV - a set of microprograms that implement APIs for working with computer hardware and devices connected to it.

CISC (англ. complex instruction set computing или complex instruction set computer) - тип процессорной архитектуры, которая характеризуется следующим набором свойств: нефиксированное значение длины команды; арифметические действия кодируются в одной команде; небольшое число регистров, каждый из которых выполняет строго определенную функцию.CISC (English complex instruction set computing or complex instruction set computer) is a type of processor architecture, which is characterized by the following set of properties: non-fixed value of the length of the command; arithmetic operations are encoded in one command; a small number of registers, each of which performs a strictly defined function.

EEPROM (англ. Electrically Erasable Programmable Read-Only Memory) - электрически стираемое перепрограммируемое ПЗУ (ЭСППЗУ), один из видов энергонезависимой памяти.EEPROM (Electrically Erasable Programmable Read-Only Memory) is an electrically erasable reprogrammable ROM (EEPROM), one of the types of non-volatile memory.

EFI (англ. Extensible Firmware Interface - интерфейс расширяемой прошивки) - интерфейс между операционной системой и микропрограммами, управляющими низкоуровневыми функциями оборудования, его основное предназначение: корректно инициализировать оборудование при включении системы и передать управление загрузчику операционной системы.EFI (Extensible Firmware Interface) is the interface between the operating system and the firmware that controls the low-level functions of the equipment, its main purpose is to correctly initialize the equipment when the system is turned on and transfer control to the bootloader of the operating system.

GPU (англ. graphics processing unit - графический процессор) - отдельное устройство персонального компьютера или игровой приставки, выполняющее графический рендеринг.GPU (Eng. Graphics processing unit - graphics processor) - a separate device of a personal computer or game console that performs graphic rendering.

LAN (англ. Local Area Network - локальная вычислительная сеть) - компьютерная сеть, покрывающая обычно относительно небольшую территорию или небольшую группу зданий (дом, офис, фирму, институт).LAN (Local Area Network) is a computer network that usually covers a relatively small area or a small group of buildings (home, office, company, institute).

RISC (англ. reduced instruction set computer - компьютер с сокращенным набором команд) - архитектура процессора, в котором быстродействие увеличивается за счет упрощения инструкций, чтобы их декодирование было более простым, а время выполнения - меньшим.RISC (English reduced instruction set computer) is a processor architecture in which speed is increased by simplifying instructions so that their decoding is simpler and execution time is shorter.

WAN (англ. Wide Area Network - глобальная вычислительная сеть) - компьютерная сеть, охватывающая большие территории и включающая большое число узлов.WAN (Wide Area Network) is a computer network that spans large territories and includes a large number of nodes.

БАВ - блок автономных вычислений.BAS is an autonomous computing unit.

БПК - блок передачи команд.BOD - command transfer unit.

БОПР - блок определения порядка работы.BOPR - unit for determining the order of work.

ВКЕМП - вычислительный кластер единых монтажных вычислительных приборов.VKEMP is a computing cluster of unified mounting computing devices.

ЕМП - единый монтажный вычислительный прибор.EMP - a single mounting computing device.

СК - синхронизатор кластеров.SK - cluster synchronizer.

ПЗУ (постоянное запоминающее устройство) - энергонезависимая память, используется для хранения массива неизменяемых данных.ROM (read-only memory) - non-volatile memory used to store an array of immutable data.

ПЛИС (программируемая логическая интегральная схема) - электронный компонент, используемый для создания цифровых интегральных схем.FPGA (programmable logic integrated circuit) is an electronic component used to create digital integrated circuits.

БШ - блок шифрования.BS - encryption block.

СРВ - синхронизация результатов вычислений.СРВ - synchronization of calculation results.

Известна техника неспециализированных вычислений на графических процессорах (General-purpose computing for graphics processing units) в части того, что вычисления ведутся как неспециализированные вычисления или вычисления широкого профиля на гетерогенном оборудовании.The technique of generalized computing for graphics processing units is known in that the calculations are performed as non-specialized calculations or wide-profile calculations on heterogeneous equipment.

Наиболее близким аналогом заявляемого изобретения является унифицированная шейдерная архитектура, в которой микропроцессор является программируемым. Определенная часть микропроцессора вычисляет, какие инструкции наиболее оптимальны для решения конкретной задачи, и самостоятельно программирует вычислительный блок теми инструкциями и алгоритмами, которые считает оптимальными по решению конкретной вычислительной задачи.The closest analogue of the claimed invention is a unified shader architecture, in which the microprocessor is programmable. A certain part of the microprocessor calculates which instructions are most optimal for solving a specific problem, and independently programs the computing unit with those instructions and algorithms that it considers optimal for solving a specific computing problem.

Основной недостаток шейдерной архитектуры заключается в том, что представляет собой готовую прикладную программу, несмотря на то, что написана и скомпилирована для выполнения на GPU. Во время работы шейдеры обращаются к 3D API GPU строго в рамках, определенных программистом.The main drawback of the shader architecture is that it is a ready-made application, despite the fact that it is written and compiled for execution on the GPU. During operation, shaders access the 3D API of the GPU strictly within the framework defined by the programmer.

Техническая проблема, на решение которой направлено заявляемое изобретение, заключается в создании микропроцессора с функцией автоматического программирования микроконтроллеров системы вычислений, в которой при выходе какой-то части микропроцессоров из строя, по любым причинам, система в целом будет работоспособна. Современные вычислительные кластеры не могут обеспечить высокую надежность без многократного дублирования всей системы.The technical problem to which the claimed invention is directed is to create a microprocessor with a function for automatically programming the microcontrollers of the computing system, in which when some part of the microprocessors fails, for any reason, the system as a whole will be operational. Modern computing clusters cannot provide high reliability without multiple duplication of the entire system.

Техническим результатом заявляемого изобретения является расширение функциональных возможностей микропроцессора, в том числе увеличение быстродействия при повышении надежности, управление вычислительными ресурсами самостоятельно и реализация возможности автоматического программирования микроконтроллеров.The technical result of the claimed invention is to expand the functionality of the microprocessor, including increasing speed while increasing reliability, managing computing resources independently and realizing the possibility of automatic programming of microcontrollers.

Указанный технический результат достигается за счет того, что архитектура микропроцессора с функцией автоматического программирования, где микропроцессор содержит электрически соединенные БАВ, выполненный с возможностью дешифрования и разделение данных и команд управления; БПК, выполненный с возможностью анализа задания, содержащий БОПР, выполненный с возможностью определения порядка действий СК гибридных процессоров, создания инструкций для его работы и выдачи их в синхронизатор кластеров, а так же выполненный с возможностью анализа выполняемых действий; ПЛИС для реализации взаимодействия архитектуры и системы команд, выполненную с возможностью создания инструкций и передачи их в СК гибридных процессоров, и не менее двух гибридных процессоров, при этом СК гибридных процессоров выполнен с возможностью разделения инструкций на то количество гибридных процессоров, которое подключено к СК.The specified technical result is achieved due to the fact that the microprocessor architecture with the automatic programming function, where the microprocessor contains an electrically connected biologically active substances, made with the possibility of decryption and separation of data and control commands; BOD, made with the possibility of analyzing a task, containing BOPR, made with the possibility of determining the order of operations of SC hybrid processors, creating instructions for its operation and issuing them to the cluster synchronizer, and also configured to analyze the actions performed; FPGA to implement the interaction of the architecture and the command system, made with the possibility of creating instructions and transmitting them to the hybrid processor CPUs, and at least two hybrid processors, while the hybrid processor CPUs are capable of dividing the instructions into the number of hybrid processors that is connected to the SK.

Гибридные процессоры выполнены с возможностью сочетания как RISC процессоров, так и CISC процессоров, а БАВ - с возможностью перераспределения работы RISC и CISC процессорами.Hybrid processors are made with the possibility of combining both RISC processors and CISC processors, and biologically active substances - with the possibility of redistributing the work of RISC and CISC processors.

Заявляемая архитектура обеспечивает гибкость разделения ресурсов без зеркального дублирования и возможность не только предоставлять свое оборудование в аренду другим задачам, но и выполнение своих вычислительных задач на другом оборудовании. То есть заявляемое решение позволяет не только предоставлять ресурсы своего компьютера кому-то другому, но и воспользоваться ресурсами другого компьютера. Такого решения не предлагает ни одна конфигурация вычислительных микропроцессоров, а именно динамическое разделение вычислительных ресурсов в зависимости от приоритетов пользователей и поставленных задач.The inventive architecture provides the flexibility of sharing resources without mirroring and the ability to not only provide their equipment for rent to other tasks, but also perform their computing tasks on other equipment. That is, the claimed solution allows not only to provide the resources of your computer to someone else, but also to use the resources of another computer. Such a solution does not offer any configuration of computing microprocessors, namely the dynamic separation of computing resources depending on the priorities of users and tasks.

Построение микропроцессора с функцией автоматического программирования микроконтроллеров, который самостоятельно решает, как проводить вычисления, позволяет построить масштабируемые вычислительные сети, которые будут конфигурироваться самостоятельно. Все это работает на более низком уровне, чем операционная система, и поэтому не привязана к программному обеспечению операционной системы.The construction of a microprocessor with the function of automatic programming of microcontrollers, which independently decides how to carry out calculations, allows you to build scalable computer networks that will be configured independently. All this works at a lower level than the operating system, and therefore is not tied to the operating system software.

Заявляемая архитектура микропроцессора с функцией автоматического программирования микроконтроллеров сама определяет порядок работы при программировании микроконтроллеров. В общем случае представляет собой программируемую логическую интегральную схему, при этом микропроцессор сам программирует и коммутирует часть вычислительного модуля, вследствие чего получается архитектура, состоящая из большого множества независимых микропроцессоров, которые управляются самостоятельно и которые могут заменять друг друга при вычислениях, объединяться для увеличения производительности вычислительных задач, или, но не исключая, объединяться для дублирования вычислений обладая признаками кластерных систем, что увеличивает и производительность и надежность.The inventive architecture of the microprocessor with the function of automatic programming of microcontrollers itself determines the operating procedure when programming microcontrollers. In the general case, it is a programmable logic integrated circuit, while the microprocessor itself programs and commutes a part of the computational module, resulting in an architecture consisting of a large number of independent microprocessors that can be controlled independently and which can replace each other during calculations, combined to increase computational performance tasks, or, but not excluding, to combine to duplicate calculations with the signs of cluster systems, which led It improves both performance and reliability.

Все вычисления происходят в БПК, снабженном микропрограммой взаимодействия архитектуры и системы команд. Именно эта микропрограмма и ведет статистику вычислений, тип данных для вычислений, время затраченное на выполнение работы, какие модули применялись, какие алгоритмы применялись для оптимизации вычислительного процесса, был ли получен положительный результат по итогу уже выполненных вычислений, применение (замена) алгоритмов для нахождения наиболее быстрого решения поставленной вычислительных задачи.All calculations take place in the BOD, equipped with a firmware for the interaction of the architecture and the command system. It is this microprogram that keeps the statistics of calculations, the type of data for calculations, the time taken to complete the work, which modules were used, which algorithms were used to optimize the computing process, whether a positive result was obtained from the results of the calculations already performed, application (replacement) of algorithms to find the most quick solutions to the computational problems.

В общей системе построения вычислительной машины БПК находится посередине, если рассматривать решение задачи в виде пирамиды, где задачи и данные поступают с вершины пирамиды, а решение находиться у ее основания, а сама система управления построена сверху вниз.In the general system for constructing a computer, the BOD is in the middle, if we consider the solution to the problem in the form of a pyramid, where tasks and data come from the top of the pyramid, and the solution is at its base, and the control system itself is built from top to bottom.

Сверху расположен БАВ - общая система обеспечения функционирования и связи для всех остальных микросхем и блоков, при этом во многом достаточно автономная.Above is a biologically active substance - a general system for ensuring functioning and communication for all other microcircuits and units, while in many ways it is quite autonomous.

Посередине расположен БПК. Именно он определяет алгоритмы вычислений, основываясь при выборе на первоначально заложенных алгоритмах, но не ограничиваясь ими. БПК может модифицировать алгоритмы выполнения задач, основываясь на собственной статистике предыдущих вычислений и сравнении результатов проведенных работ, как по эффективности программного кода, так и по задействованию вычислительных ресурсов и времени, затраченного на выполнения задания.BOD is located in the middle. It is he who determines the calculation algorithms, based on the choice of the originally laid down algorithms, but not limited to them. The BOD can modify the algorithms for performing tasks based on its own statistics of previous calculations and comparing the results of the work performed, both in terms of the efficiency of the program code and the use of computing resources and the time spent on the task.

При написании программы программист не может достаточно точно предсказать, на каком оборудовании будет использована программа, есть ли уже готовые «железные» алгоритмы. Программист ориентируется на среду выполнения программы на API, а компилятор только подсказывает общие решения, которые будут работать на оборудовании широкого спектра. Приходится жертвовать производительностью для обеспечения общей совместимости программы. Именно на решение этой проблемы, но не только, и направлена самообучаемая архитектура микропроцессора, в которой реализованы поиск и применение более быстрых алгоритмов выполнения вычислительных задач, запоминание и анализ выполненных вычислений, подбор именно тех микропроцессоров из имеющихся в наличии, которые обеспечат наибольшее быстродействие вычислительной системы.When writing a program, a programmer cannot accurately predict what equipment the program will be used on, whether there are any ready-made "iron" algorithms. The programmer focuses on the API runtime, and the compiler only suggests general solutions that will work on a wide range of equipment. You have to sacrifice performance to ensure overall program compatibility. It is to solve this problem, but not only, that the self-learning microprocessor architecture is aimed at, which implements the search and application of faster algorithms for performing computational tasks, storing and analyzing the performed calculations, selecting exactly those microprocessors from the available ones that will ensure the highest speed of the computing system .

Внизу расположен БОС, в котором происходит непосредственно вычисление.At the bottom is the BFB, in which the calculation takes place directly.

Раскрытие заявляемого изобретения показано с помощью фиг. 1, 2, на которых изображены:The disclosure of the claimed invention is shown using FIG. 1, 2, which depict:

Фиг. 1 - блок схема работы архитектуры микропроцессора;FIG. 1 - block diagram of the microprocessor architecture;

Фиг. 2 - функциональная схема архитектуры микропроцессора.FIG. 2 is a functional diagram of a microprocessor architecture.

Архитектура микропроцессора содержит блок автономных вычислений (БАВ), блок передачи команд, память (БПК), синхронизатор кластеров (СК) и не менее двух гибридных процессоров (Р1-Р4).The microprocessor architecture contains an autonomous computing unit (BAS), an instruction transmission unit, a memory (BOD), a cluster synchronizer (SC), and at least two hybrid processors (P1-P4).

В БПК находится блок определения порядка работы (БОПР). БПК содержит ПЛИС.In the BOD is a block determining the order of work (BOPR). BOD contains FPGA.

Архитектура микропроцессора работает следующим образом. Все данные шифруются при передаче между вычислительными устройствами.The microprocessor architecture works as follows. All data is encrypted during transmission between computing devices.

В БАВ приходит общий поток данных и команд. После расшифровки видны данные и задание, что необходимо сделать с этими данными. Данные и задание отправляются в БПК.In BAS comes a common stream of data and commands. After decryption, the data and the task are visible, what needs to be done with this data. Data and task are sent to the BOD.

Данные напрямую загружаются в память, например, EEPROM.Data is directly loaded into memory, for example, EEPROM.

На первоначальном этапе в БПК происходит выборка, какое действие необходимо выполнить, например, кодирование видео, передача голосового сигнала по линиям связи в реальном времени, просмотр видео из WAN сети, просмотр видео из LAN сети по коммутируемому каналу, работа с базой данных, работа с базой данных в реальном времени.At the initial stage, the BOD selects what action needs to be performed, for example, video encoding, transmitting a voice signal over communication lines in real time, watching video from a WAN network, watching video from a LAN network over a dial-up channel, working with a database, working with real-time database.

Порядок действий определяет БОПР, который из задания БПК создает инструкции для работы и выдает их в СК, где инструкции разделяются на то количество кластеров гибридных процессоров, которое подключено к СК.The procedure determines the BOPR, which from the BOD task creates instructions for work and issues them to the SC, where the instructions are divided into the number of clusters of hybrid processors that are connected to the SC.

Затем происходит определение необходимых инструментов для выполнения задания на основе имеющихся инструкций.Then, the necessary tools are determined to complete the task based on the available instructions.

На втором этапе посредством ЕМП происходит выборка, какой пользователь, т.е. его приоритет в этой вычислительной системе, дает какое задание - работает служба приоритетов пользователей.At the second stage, by means of the EMF, the user is selected, i.e. its priority in this computing system gives what task - the user priority service works.

При регистрации пользователя в системе ему присваивают приоритет в системе (иерархия) и время действия приоритета или условия действий и смены приоритетов во времени.When a user is registered in the system, they are assigned a priority in the system (hierarchy) and the duration of the priority or the conditions of actions and the change of priorities over time.

Затем в БОПР происходит анализ выполняемых действий, т.е. что конкретно нужно сделать, и есть ли возможность выполнить задачу, разделив задание на параллельные процессоры.Then, an analysis of the actions performed, i.e. what exactly needs to be done, and is it possible to complete the task by dividing the task into parallel processors.

Определяют принципиальную возможность распараллеливания на основе предложенных данных, т.е. над одними и теми же данными производить разные вычисления.The fundamental possibility of parallelization is determined on the basis of the proposed data, i.e. to do different calculations on the same data.

Если задание простое, которое определяют по типу вычислительной сложности, то его направляют в RISC процессор и выполняют на аппаратном уровне, если сложное, то - в CISC процессор, который выполняет задание на программном уровне в зависимости инструкций в наличии, или подбирает алгоритм, какой есть.If the task is simple, which is determined by the type of computational complexity, then it is sent to the RISC processor and performed at the hardware level, if it is difficult, then to the CISC processor, which performs the task at the software level depending on the instructions available, or selects an algorithm that is .

БАВ 1 напрямую управляет работой гибридных процессоров 5, сочетающих как RISC процессоры, так и CISC процессоры.BAS 1 directly controls the operation of hybrid processors 5, combining both RISC processors and CISC processors.

Разный тип данных обрабатывают по-разному. В зависимости от типа данных выбирают метод обработки. Это может быть аппаратный, если есть встроенная возможность, или программный, например, одиночный поток команд -множественный поток данных - обеспечивает параллельные вычисления на уровне данных, проведение одной и той же операции над множеством разных данных или выполнение множества команд над одной группой данных. В одних случаях возможно распараллеливания вычислительного процесса, а в других - нет.Different types of data are treated differently. Depending on the type of data, the processing method is selected. It can be hardware, if there is a built-in feature, or software, for example, a single instruction stream — a multiple data stream — provides parallel calculations at the data level, performing the same operation on a variety of different data, or executing multiple commands on a single data group. In some cases, parallelization of the computational process is possible, while in others it is not.

Таким образом, исходя, из анализа общего потока данных и инструкций, БАВ перераспределяет работу между RISC и CISC процессорами, т.е. происходит подбор вычислительных возможностей из существующих вычислителей -гибридных процессоров.Thus, based on the analysis of the general data stream and instructions, the biologically active substance redistributes the work between RISC and CISC processors, i.e. there is a selection of computing capabilities from existing calculators-hybrid processors.

СК отправляет на гибридные процессоры часть инструкций, предназначенных только для каждого гибридного процессора. После выполнения программы на гибридном процессоре результаты вычислений передают в СК, который их обрабатывает и общий результат вычислений передает в БПК.SK sends to hybrid processors part of the instructions intended only for each hybrid processor. After executing the program on a hybrid processor, the results of the calculations are transferred to the SC, which processes them and transfers the general result of the calculations to the BOD.

Микропроцессор сам программирует и коммутирует часть вычислительного модуля, вследствие чего получается архитектура, состоящая из большого множества независимых микропроцессоров, которые управляются самостоятельно и которые могут заменять друг друга при вычислениях, объединяться для увеличения производительности вычислительных задач, или но не исключая, объединяться для дублирования вычислений, обладая признаками кластерных систем, что увеличивает и производительность и надежность.The microprocessor itself programs and commutes part of the computing module, resulting in an architecture consisting of a large number of independent microprocessors that can be controlled independently and which can replace each other during calculations, combine to increase the performance of computing tasks, or, but not exclude, combine to duplicate calculations, possessing signs of cluster systems, which increases both productivity and reliability.

ПЛИС реализует микропрограмму взаимодействия архитектуры и системы команд.FPGA implements a microprogram of interaction between the architecture and the command system.

Пример обработки задачи.An example of processing a task.

Необходимо кодировать видео, файл f1 из формата avi1 в формат avi2 и сохранить как f2. Задача и данные перекодирования видео из одного формата в другой поступают в БПК. Устанавливают приоритет задачи на основании приоритета пользователя. Определяют с помощью БПК задачи и возможности вести вычисления параллельно. Определяют свободные вычислительные ресурсы, подходящие для решения вычислительной задачи. Обеспечивают построение матрицы аппаратных модулей для выполнения задания и разделение задания на модули вычислений. Осуществляют отправку задания на множество аппаратных устройств CISC процессоров и RISC процессоров и получение БАВ модулей вычисления. Производят расшифровку и разделение данных и команд управления. Определяют порядок работ с помощью БОПР и отправляют задания в кластер гибридных процессоров. Получают с помощью БПК результаты вычислений. Через БПК на периферийные устройства отправляют результаты вычислений.It is necessary to encode the video, file f1 from avi1 format to avi2 format and save as f2. The task and video transcoding data from one format to another are received in the BOD. Set the priority of the task based on the priority of the user. Using BOD, tasks and possibilities are determined to conduct calculations in parallel. Free computing resources suitable for solving a computing problem are determined. They provide the construction of a matrix of hardware modules for performing the task and dividing the task into calculation modules. The task is sent to many hardware devices of CISC processors and RISC processors and receiving BAS calculation modules. Decrypt and separate data and control commands. They determine the order of work with the help of the BOPR and send tasks to the cluster of hybrid processors. Using BOD, calculation results are obtained. Calculation results are sent to peripheral devices through the BOD.

Таким образом, в данном примере при кодировании видео будут задействованы только RISC процессоры, так как CISC процессоры отключаться, когда они не нужны или малоэффективны, а для кодирования ключевых кадров будут задействованы CISC процессоры, так как они более эффективны. В БОПР происходит анализ вычислительного задания, и на основе него выбирают алгоритм работы гибридных процессоров. Неиспользуемые процессоры полностью отключаются, что значительно повышает энергоэффективность и обеспечивает низкие показатели тепловой нагрузки на систему охлаждения. Таким образом, гибридные процессоры потребляют электричество и нагреваются только под нагрузкой. Этим достигаются высокие показатели энергоэффективности без снижения производительности. Но основное качество -это увеличение производительности и обеспечение работы неограниченного числа процессоров параллельно.Thus, in this example, only RISC processors will be involved in video encoding, since CISC processors will be turned off when they are not needed or inefficient, and CISC processors will be used to encode key frames, since they are more efficient. In BOPR, an analysis of the computational task takes place, and on the basis of it, the algorithm of the hybrid processors is selected. Unused processors are completely turned off, which significantly increases energy efficiency and provides low thermal load on the cooling system. Thus, hybrid processors consume electricity and heat up only under load. This achieves high energy efficiency without compromising performance. But the main quality is an increase in productivity and ensuring the work of an unlimited number of processors in parallel.

Таким образом, заявляемая архитектура обеспечивает:Thus, the claimed architecture provides:

- увеличение быстродействия, за счет параллельного вычисления;- increase in speed due to parallel computing;

- повышение надежности, за счет заявляемой структуры микропроцессора;- improving reliability, due to the claimed structure of the microprocessor;

- увеличение быстродействия в самом микропроцессоре, за счет разделения потоков данных и команд при вычислении;- increased performance in the microprocessor itself, due to the separation of data streams and commands in the calculation;

- увеличение быстродействия, выполнения всех вычислений в одном массиве памяти и отсутствия необходимости переправлять на другой ВКЕМП при дальнейшем вычислении;- increase in speed, performance of all calculations in one memory array and the absence of the need to redirect to another VKEMP for further calculation;

- обеспечение безопасности, за счет того, что все данные пересылаются в зашифрованном виде по любым каналам связи;- security, due to the fact that all data is sent in encrypted form via any communication channel;

- быстрое шифрование данных, за счет применения аппаратных средств шифрования с ассиметричным ключом, что обеспечивает также высокую безопасность;- fast data encryption, due to the use of hardware encryption with an asymmetric key, which also provides high security;

- безопасность системы обеспечивается за счет разделения всех процессов на параллельные потоки и отсутствие возможности прикладных программ вмешиваться в управление операционной системой;- system security is ensured by dividing all processes into parallel threads and the absence of the ability of applications to intervene in the management of the operating system;

- особая система построения взаимодействия множества микропроцессоров, позволяющая создать мощный вычислительный кластер.- A special system for constructing the interaction of many microprocessors, which allows you to create a powerful computing cluster.

Приведенные примеры являются частными случаями и не исчерпывают всех возможных реализаций заявляемого изобретения.The above examples are special cases and do not exhaust all possible implementations of the claimed invention.

Специалисту в данной области техники должно быть понятно, что различные вариации заявляемого изобретения не изменяют сущность изобретения, а лишь определяют его конкретные воплощения.The person skilled in the art should understand that various variations of the claimed invention do not change the essence of the invention, but only determine its specific embodiment.

Claims (2)

1. Архитектура микропроцессора с функцией автоматического программирования, характеризующаяся тем, что микропроцессор содержит электрически соединенные блок автономных вычислений (БАВ), выполненный с возможностью дешифрования и разделения данных и команд управления, блок передачи команд (БПК), выполненный с возможностью анализа задания, содержащий блок определения порядка работы (БОПР), выполненный с возможностью определения порядка действий синхронизатора кластеров (СК) гибридных процессоров, создания инструкций для его работы и выдачи их в синхронизатор кластеров, а также выполненный с возможностью анализа выполняемых действий, программируемую логическую интегральную схему (ПЛИС) для реализации взаимодействия архитектуры и системы команд, выполненную с возможностью создания инструкций и передачи их в СК гибридных процессоров, и не менее двух гибридных процессоров, при этом СК гибридных процессоров выполнен с возможностью разделения инструкций на то количество гибридных процессоров, которое подключено к СК.1. The architecture of the microprocessor with an automatic programming function, characterized in that the microprocessor contains an electrically connected unit of autonomous computing (BAS), configured to decrypt and separate data and control commands, a command transmission unit (BOD), configured to analyze a job, containing a block determine the operating procedure (BOPR), made with the possibility of determining the order of actions of the cluster synchronizer (SC) of hybrid processors, creating instructions for its operation and issuing download them to the cluster synchronizer, as well as configured to analyze the actions performed, a programmable logic integrated circuit (FPGA) to implement the interaction of the architecture and the command system, configured to create instructions and transfer them to the hybrid processor ICs, and at least two hybrid processors, wherein the SC of hybrid processors is configured to separate instructions into the number of hybrid processors that is connected to the SC. 2. Архитектура микропроцессора с функцией автоматического программирования по п. 1, характеризующаяся тем, что гибридные процессоры выполнены с возможностью сочетания как RISC процессоров, так и CISC процессоров, а БАВ - с возможностью перераспределения работы RISC и CISC процессорами.2. The microprocessor architecture with the automatic programming function according to claim 1, characterized in that the hybrid processors are capable of combining both RISC processors and CISC processors, and the biologically active substances are capable of redistributing the work of RISC and CISC processors.
RU2017132477A 2017-09-18 2017-09-18 Microprocessor architecture with the micro controllers automatic programming function RU2675045C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2017132477A RU2675045C1 (en) 2017-09-18 2017-09-18 Microprocessor architecture with the micro controllers automatic programming function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2017132477A RU2675045C1 (en) 2017-09-18 2017-09-18 Microprocessor architecture with the micro controllers automatic programming function

Publications (1)

Publication Number Publication Date
RU2675045C1 true RU2675045C1 (en) 2018-12-14

Family

ID=64753204

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017132477A RU2675045C1 (en) 2017-09-18 2017-09-18 Microprocessor architecture with the micro controllers automatic programming function

Country Status (1)

Country Link
RU (1) RU2675045C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2809336C1 (en) * 2023-01-09 2023-12-11 Алексей Валентинович Кузицын Method for setting output voltage level of dc-dc converter

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2374675C2 (en) * 2003-10-14 2009-11-27 Майкрософт Корпорейшн System and methods for use of synthesised commands in virtual machine
US7661014B2 (en) * 2003-04-23 2010-02-09 Dot Hill Systems Corporation Network storage appliance with integrated server and redundant storage controllers
US9170812B2 (en) * 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
RU2586022C2 (en) * 2013-03-15 2016-06-10 Интел Корпорейшн Method, device and system to reduce down time for root port and endpoint integrated into the root port to resume operation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160055120A1 (en) * 2002-02-05 2016-02-25 Pact Xpp Technologies Ag Integrated data processing core and array data processor and method for processing algorithms
US9170812B2 (en) * 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US7661014B2 (en) * 2003-04-23 2010-02-09 Dot Hill Systems Corporation Network storage appliance with integrated server and redundant storage controllers
RU2374675C2 (en) * 2003-10-14 2009-11-27 Майкрософт Корпорейшн System and methods for use of synthesised commands in virtual machine
RU2586022C2 (en) * 2013-03-15 2016-06-10 Интел Корпорейшн Method, device and system to reduce down time for root port and endpoint integrated into the root port to resume operation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2809336C1 (en) * 2023-01-09 2023-12-11 Алексей Валентинович Кузицын Method for setting output voltage level of dc-dc converter

Similar Documents

Publication Publication Date Title
Markovskiy et al. Analysis of quasi-static scheduling techniques in a virtualized reconfigurable machine
RU2597556C2 (en) Computer cluster arrangement for executing computation tasks and method for operation thereof
US9396021B2 (en) Techniques for dynamically assigning jobs to processors in a cluster using local job tables
US8239524B2 (en) Techniques for dynamically assigning jobs to processors in a cluster based on processor workload
US8291360B2 (en) Data conversion apparatus, method, and computer-readable recording medium storing program for generating circuit configuration information from circuit description
US9384042B2 (en) Techniques for dynamically assigning jobs to processors in a cluster based on inter-thread communications
JP2021504829A (en) Software-defined quantum computer
CN117762484A (en) Processor, method and system with configurable spatial accelerator
US20070150895A1 (en) Methods and apparatus for multi-core processing with dedicated thread management
US20020184291A1 (en) Method and system for scheduling in an adaptable computing engine
US8122132B2 (en) Techniques for dynamically assigning jobs to processors in a cluster based on broadcast information
CN112463709A (en) Configurable heterogeneous artificial intelligence processor
CN104536937A (en) Big data appliance realizing method based on CPU-GPU heterogeneous cluster
Javaid et al. Low-power adaptive pipelined mpsocs for multimedia: An h. 264 video encoder case study
CN113849296A (en) Apparatus and method for closed loop dynamic resource allocation control framework
Cowan et al. Mscclang: Microsoft collective communication language
Silvano et al. 2PARMA: parallel paradigms and run-time management techniques for many-core architectures
RU2675045C1 (en) Microprocessor architecture with the micro controllers automatic programming function
Patel et al. Hybrid Computing for Interactive Datacenter Applications
Nadezhkin et al. Realizing fifo communication when mapping kahn process networks onto the cell
CN112346390B (en) Optical module control method, device, equipment and computer readable storage medium
Arras et al. Dkpn: A composite dataflow/kahn process networks execution model
KR102309764B1 (en) Fpga device for performing distributed processing for multiple gpus and method for performing distributed processing using the same
CN112804297B (en) Assembled distributed computing and storage system and construction method thereof
Werner et al. Virtualized on-chip distributed computing for heterogeneous reconfigurable multi-core systems

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20190919