RU2675045C1 - Microprocessor architecture with the micro controllers automatic programming function - Google Patents
Microprocessor architecture with the micro controllers automatic programming function Download PDFInfo
- 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
Links
- 230000009471 action Effects 0.000 claims abstract description 8
- 230000003993 interaction Effects 0.000 claims abstract description 6
- 230000005540 biological transmission Effects 0.000 claims abstract description 4
- 238000010396 two-hybrid screening Methods 0.000 claims abstract description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 239000013543 active substance Substances 0.000 claims description 3
- 238000011017 operating method Methods 0.000 claims description 2
- 239000000126 substance Substances 0.000 abstract 1
- 238000004364 calculation method Methods 0.000 description 28
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000000034 method Methods 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 229940088623 biologically active substance Drugs 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 101100506049 Humicola insolens cel6A gene Proteins 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent 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/3897—Concurrent 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
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)
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)
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)
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 |
-
2017
- 2017-09-18 RU RU2017132477A patent/RU2675045C1/en not_active IP Right Cessation
Patent Citations (5)
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)
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 | |
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 | |
Galante et al. | Exploring cloud elasticity in scientific applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20190919 |