CN104615412B - The method and system of execution control stream based on triggering command structure - Google Patents

The method and system of execution control stream based on triggering command structure Download PDF

Info

Publication number
CN104615412B
CN104615412B CN201510069989.6A CN201510069989A CN104615412B CN 104615412 B CN104615412 B CN 104615412B CN 201510069989 A CN201510069989 A CN 201510069989A CN 104615412 B CN104615412 B CN 104615412B
Authority
CN
China
Prior art keywords
instruction
predetermined number
operator
arithmetic unit
condition
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201510069989.6A
Other languages
Chinese (zh)
Other versions
CN104615412A (en
Inventor
刘雷波
王俊斌
朱建峰
尹首
尹首一
魏少军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201510069989.6A priority Critical patent/CN104615412B/en
Publication of CN104615412A publication Critical patent/CN104615412A/en
Application granted granted Critical
Publication of CN104615412B publication Critical patent/CN104615412B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Advance Control (AREA)

Abstract

The present invention proposes a kind of method of the execution control stream based on triggering command structure, includes the following steps:S1, initial configuration;S2, according to the state of processing unit and the triggering expression formula of a plurality of instruction, the trigger condition of acquisition instruction;S3, the instruction for meeting trigger condition is chosen from a plurality of instruction, the instruction for meeting trigger condition is divided into the sub-instructions of predetermined number according to operator, by for indicating that the bit of control planning between the instruction of predetermined number operator is delivered to the output control terminal of corresponding arithmetic unit to select the control stream executed, while the sub-instructions of predetermined number being sequentially allocated to the arithmetic unit of predetermined number;S4, each arithmetic unit execute operation corresponding with operator, obtain and export including the operation result for indicating processing unit state;And S5, step S2~S4 is repeated, until reaching cycle cut-off condition.The method of the present invention, real-time are good, efficient.The present invention also proposes a kind of system of the execution control stream based on triggering command structure.

Description

The method and system of execution control stream based on triggering command structure
Technical field
The present invention relates to field of computer technology more particularly to a kind of sides of the execution control stream based on triggering command structure Method and system.
Background technology
Coarseness reconfigurable processor is that one kind having both flexibility and high performance new types of processors framework, compared to tradition Single core processor, special chip, Field Programmable Logic Array etc., especially have in terms of the algorithm of processing computation-intensive The advantage for highly significant is a direction of further circuits structural development.But exist very for the intensive algorithm of control Big limitation is the bottleneck of current reconfigurable processor improving performance.
Coarseness reconfigurable processor structure can be divided into centralized control structure and distributed control structure.In centralized control In structure, entire (process element, PE) array shares a Configuration Control Unit.And for distributed control structure, often A PE has respective Configuration Control Unit.Triggering command structure (triggered instruction architecture, TIA) it is A. Parshar " Triggered instructions:a control paradigm for spatially A kind of distributed control structure proposed in programmed architectures " in ISCA2013.When executing operation, It is primary to take 16 instruction/configurations, and execute wherein one by trigger mechanism.The structure completely removes program counter (program counter, PC), solves the problems, such as that program excessively serializes.In this configuration, next instruction/configuration Execution be determined by the implementing result of upper item instruction/configuration, and single PE resources limitation, lead to executing that control stream special It is not when handling larger control stream, parallel instructions are difficult.
Control stream can be divided into long branch, short branch, uneven branch, nested branches, bounding cycle (recurring number determination), The types such as unbounded cycle (recurring number is indefinite) structure.The division methods of wherein long branch and short branch are based on the length of branch It is short.Uneven branch refers to two or with the different branched structure of the length of top set.Nested branches refer to having multiple condition phases Mutually nested branched structure.The loop structure of indefinite recurring number refers to that recurring number is by loop body a certain dynamic in the process of implementation Specified conditions mark as end loop of the variable of variation in satisfaction.Currently, had many methods for solve control Flow the bottleneck problem for reconfigurable processor.Such as part statement execution (partial predication execution), Statement executes (full predication execution) completely, double transmittings singly execute (dual issue single Execution), branch prediction (branch prediction), parallel condition (parallel condition) etc..But when Preceding proposed method all can only be effective for the control stream of some types.Wherein " parallel condition " is in J.Zhu " A Hybrid Reconfigurable Architecture and Design Methods Aiming at Control-Intensive It is proposed in Kernels " in TVLSI2014.Acquisition is higher when this method to execute control stream by parallel condition and branch Performance.But since its basic structure is still centralized control structure, the lower flexibility of controller makes it handle not Superior performance cannot be obtained when Bifurcation of The Equilibrium.On the whole, it due to the limitation of structure or method itself, proposes at present The method for solving control flow problem based on reconfigurable structures, coping with all types of controls streams without one kind, especially For the control stream of uneven branch and unbounded cyclical patterns, basic none of these methods or structure can ensure correct work Under the premise of ensure higher performance.
Invention content
The present invention is directed to solve at least some of the technical problems in related technologies.For this purpose, the present invention the One side purpose is to propose a kind of side of real-time, efficient, the at low cost execution control stream based on triggering command structure Method.
Second aspect of the present invention purpose is to propose a kind of system of the execution control stream based on triggering command structure.
To achieve the goals above, the execution control based on triggering command structure of first aspect present invention embodiment is flowed Method includes the following steps:S1, initial configuration, including read a plurality of instruction and touched correspondingly with a plurality of instruction Send out expression formula, and be configured in processing unit, every instruction comprising predetermined number operator and for indicate predetermined number operator it Between control planning bit;S2 refers to according to the state of the processing unit and the triggering expression formula of a plurality of instruction, acquisition The trigger condition of order;S3 chooses the instruction for meeting the trigger condition from a plurality of instruction, will be described according to the operator The instruction for meeting trigger condition is divided into the sub-instructions of predetermined number, by described for indicating to control between the instruction of predetermined number operator The bit of relationship processed is delivered to the output control terminal of corresponding arithmetic unit to select the control stream executed, while will be described predetermined The sub-instructions of number are sequentially allocated to the arithmetic unit of predetermined number;S4, each arithmetic unit execute and the operator pair The operation answered is obtained and is exported including the operation result for indicating the processing unit state;And S5, repeat step S2~S4, until reaching cycle cut-off condition.
The method of execution control stream according to the ... of the embodiment of the present invention based on triggering command structure, chooses from a plurality of instruction Meet the instruction of trigger condition so that instruction is triggered by trigger mechanism.To include for indicating that predetermined number operator instructs it Between control planning bit triggering command be delivered to the output control terminal of corresponding arithmetic unit with select execute control stream, Branch's jump instruction is eliminated, condition and branch parallel are realized, improves performance.
In some instances, the predetermined number is at least 2.
The system of the execution control stream based on triggering command structure of second aspect of the present invention embodiment, including multiple processing Unit, each processing unit includes command register, and for storing a plurality of instruction, every instruction includes predetermined value The bit of control planning between basic operator and basic operator for indicating the predetermined value;Instruction triggers expression formula is deposited Reservoir, for storing and a plurality of one-to-one triggering expression formula of instruction;Status register, it is single for storing the processing The current state of member, and configure the value of the triggering expression formula all elements of each item instruction;Scheduler, for according to the shape The value of each element and the triggering expression formula, the trigger condition of acquisition instruction in state register;The arithmetic unit of predetermined number;Institute Scheduler is stated for choosing the instruction for meeting the trigger condition from a plurality of instruction, is met described according to the operator The instruction of trigger condition is divided into the sub-instructions of predetermined number, by described for indicating to control pass between the instruction of predetermined number operator The bit of system is delivered to the output control terminal of corresponding arithmetic unit to select the control stream executed, while by the predetermined number Sub-instructions be sequentially allocated to the arithmetic unit of the predetermined number;The arithmetic unit executes operation corresponding with the operator, obtains It takes and exports including the operation result for indicating the processing unit state.
The system of execution control stream according to the ... of the embodiment of the present invention based on triggering command structure, chooses from a plurality of instruction Meet the instruction of trigger condition so that instruction is triggered by trigger mechanism.To include for indicating that predetermined number operator instructs it Between control planning bit triggering command be delivered to the output control terminal of corresponding arithmetic unit with select execute control stream, Branch's jump instruction is eliminated, condition and branch parallel are realized, improves performance.
In some instances, the system also includes:Data register, for storing the operation result.
In some instances, the predetermined number is at least 2.
The additional aspect of the present invention and advantage will be set forth in part in the description, and will partly become from the following description Obviously, or practice through the invention is recognized.
Description of the drawings
Fig. 1 is the flow of the method for the execution control stream according to an embodiment of the invention based on triggering command structure Figure;
Fig. 2 is that the implementation procedure of the method for the execution control stream based on triggering command structure of one embodiment of the invention is shown It is intended to;
Fig. 3 is the execution time diagram of one embodiment of the invention;
Fig. 4 is the block diagram of the system of the execution control stream according to an embodiment of the invention based on triggering command structure;
Fig. 5 is the CDFG schematic diagrames of the control stream of the simple nested type of mapping of one embodiment of the invention.
Specific implementation mode
In the description of the present invention, it is to be understood that, term "center", " longitudinal direction ", " transverse direction ", " length ", " width ", " thickness ", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom" "inner", "outside", " up time The orientation or positional relationship of the instructions such as needle ", " counterclockwise ", " axial direction ", " radial direction ", " circumferential direction " be orientation based on ... shown in the drawings or Position relationship is merely for convenience of description of the present invention and simplification of the description, and does not indicate or imply the indicated device or element must There must be specific orientation, with specific azimuth configuration and operation, therefore be not considered as limiting the invention.
In addition, term " first ", " second " are used for description purposes only, it is not understood to indicate or imply relative importance Or implicitly indicate the quantity of indicated technical characteristic.Define " first " as a result, the feature of " second " can be expressed or Implicitly include at least one this feature.In the description of the present invention, the meaning of " plurality " is at least two, such as two, three It is a etc., unless otherwise specifically defined.
In the present invention unless specifically defined or limited otherwise, term " installation ", " connected ", " connection ", " fixation " etc. Term shall be understood in a broad sense, for example, it may be being fixedly connected, may be a detachable connection, or integral;Can be that machinery connects It connects, can also be electrical connection;It can be directly connected, can also can be indirectly connected through an intermediary in two elements The interaction relationship of the connection in portion or two elements, unless otherwise restricted clearly.For those of ordinary skill in the art For, the specific meanings of the above terms in the present invention can be understood according to specific conditions.
In the present invention unless specifically defined or limited otherwise, fisrt feature can be with "above" or "below" second feature It is that the first and second features are in direct contact or the first and second features pass through intermediary mediate contact.Moreover, fisrt feature exists Second feature " on ", " top " and " above " but fisrt feature be directly above or diagonally above the second feature, or be merely representative of Fisrt feature level height is higher than second feature.Fisrt feature second feature " under ", " lower section " and " below " can be One feature is directly under or diagonally below the second feature, or is merely representative of fisrt feature level height and is less than second feature.
The embodiment of the present invention is described below in detail, examples of the embodiments are shown in the accompanying drawings, wherein from beginning to end Same or similar label indicates same or similar element or element with the same or similar functions.Below with reference to attached The embodiment of figure description is exemplary, it is intended to for explaining the present invention, and is not considered as limiting the invention.
As shown in Figure 1, the method for the execution control stream based on triggering command structure of first aspect present invention embodiment, packet Include following steps:
S1, initial configuration, including read a plurality of instruction and trigger expression formula correspondingly with a plurality of instruction, and configure Into processing unit, bit of the every instruction comprising predetermined number operator and for indicating control planning between predetermined number operator Position;
S2, according to the state of processing unit and the triggering expression formula of a plurality of instruction, the trigger condition of acquisition instruction;
S3 chooses the instruction for meeting trigger condition from a plurality of instruction, is drawn the instruction for meeting trigger condition according to operator It is divided into the sub-instructions of predetermined number, it will be for indicating that the bit of control planning between predetermined number operator instructs is delivered to accordingly Arithmetic unit output control terminal to select the control stream executed, while the sub-instructions of predetermined number being sequentially allocated to predetermined number Purpose arithmetic unit;
S4, each arithmetic unit execute operation corresponding with operator, obtain and export including being used to indicate processing unit state Operation result;And
S5 repeats step S2~S4, until reaching cycle cut-off condition.
The method of the execution control stream based on triggering command structure of the embodiment of the present invention, it is real by the PE arrays of multiple interconnections It is existing.The interconnection of PE arrays can be there are many selection, interconnection of details are not described herein again PE arrays etc. content.In conjunction with the list of Fig. 2 The structural schematic diagram of a processing unit (process element, PE), concrete implementation process description are as follows:
Step S1, initial configuration, including read a plurality of instruction and trigger expression formula correspondingly with a plurality of instruction, and It is configured in processing unit, every instruction is comprising predetermined number operator and for indicating control planning between predetermined number operator Bit.
In the example of the present invention, predetermined number is at least 2.In a specific example, it is 3 to take predetermined number It is a.This 3 Liang Ge branches for having corresponded to condition and selection cycle respectively.
The a plurality of instruction of stores, instruction triggers expression formula register are more with stores for storing The one-to-one triggering expression formula of item instruction.Wherein, every instruction contains up to predetermined number operator and for indicating predetermined number The bit of control planning between mesh operator.
Initial configuration carries out some settings to operating parameter, such as set the setup time of every instruction, trigger and hold The capable time is 1.These instructions are configured to before the operation of entire PE arrays in each PE.It is corresponding with these instructions Triggering expression formula is also stored in instruction triggers expression formula register.
Step S2, according to the state of processing unit and the triggering expression formula of a plurality of instruction, the trigger condition of acquisition instruction.
Status register stores the operating status of PE, and determines the value of the triggering expression formula all elements of each item instruction.It adjusts Degree device is made of the simple combinational logic of a pile, corresponding according to the value of each element in status register and the instruction of each item Expression formula is triggered, obtains the predetermined condition of triggering command, i.e., the instruction that will be triggered in real time.
Step S3 chooses the instruction for meeting trigger condition from a plurality of instruction, the finger of trigger condition will be met according to operator The sub-instructions for being divided into predetermined number are enabled, it will be for indicating that the bit of control planning between predetermined number operator instructs is delivered to The sub-instructions of predetermined number are sequentially allocated to pre- by the output control terminal of corresponding arithmetic unit with selecting the control stream executed Fixed number purpose arithmetic unit.
The instruction conduct to conform to a predetermined condition will be chosen in a plurality of instruction that scheduler is stored from command register to be triggered Instruction, is sent to data path (data path) (part for arithmetic unit).On data path, triggering command is wrapped according to it The operator of the predetermined number contained is divided into the sub-instructions of predetermined number.The respectively corresponding calculation of the sub-instructions of this predetermined number Son, and the sub-instructions of predetermined number are sequentially allocated to going on the arithmetic unit of predetermined number.Meanwhile indicating the operator of predetermined number The bit of control planning is also transported to the output control terminal of corresponding arithmetic unit to select the control stream executed.That is in Fig. 2, The parallel control process of condition and spoke 1 and spoke 2.In this way, instruction triggers and operation with control planning can be parallel It executes.
Step S4, each arithmetic unit execute operation corresponding with operator, obtain and export including being used to indicate processing unit The operation result of state.
Arithmetic unit executes operation corresponding with operator, and from arithmetic unit output including data update and state update Operation result.The newer port of state of control arithmetic unit can also be simultaneously used as control signal, to other two arithmetic unit Output valve addition label.Whether these labels can be stored into corresponding register, memory or shape with the action of characterize data In state register.
Below by taking one section of simple C code as an example, in conjunction with Fig. 2, come illustrate the embodiment of the present invention method implementation procedure:
Originally, initial configuration, setting executes time Tconfig to the implementation procedure of this section of simple C code.Execution condition (a!=b), and executing for the Liang Tiao branches (and if else) of condition can be overlapped a part with the execution of condition, if condition is held The row time, Tcond, Liang Ge branch were respectively Tpath_sel_exe and Tpath_unsel_exe the execution time, and lap is held Row time Toverlap.Therefore for a simple control stream, total execution time may be considered Ttotal= Tconfig+Tcond+ Tpath_sel_exe-Toverlap.Whether the operator that the length of lap depends on the branch is right ((such as next period) can access the critical registers of PE quickly for such as data register of storage final result or other positions The register arrived.) and memory etc. have change.If only had an impact to the critical data on PE there are one operator, in output end Increased control bit position can make condition directly and branch parallel.From figure 3, it can be seen that not increasing register pressure Under the premise of, the execution time that stream is controlled in the execution example of this section of C code has obtained maximum reduction.
S5 repeats step S2~S4, until reaching cycle cut-off condition.
The cycle cut-off condition of C code as escribed above is a=b.
In a specific example, by taking 16 instructions as an example.The scale of instruction is according to depending on scheduler.
(1) 16 instruction is configured in PE, wherein every instruction can contain up to 3 operators and indicate this 3 operators Between control planning bit.It is also stored into corresponding storage simultaneously with the one-to-one triggering expression formula of 16 instructions simultaneously Device.
(2) external trigger PE brings into operation.By scheduler according to the operating status and all instructions of the PE of status register Triggering expression formula complete logical operation, obtain predetermined condition, select in 16 instructions conform to a predetermined condition one as tactile Send instructions and is sent to data path.
(3) on data path, triggering command is divided into three parts, this three parts respectively corresponds to an operator, successively It is assigned to three arithmetic units up.Meanwhile indicating that the bit of three operator control plannings is also transported to corresponding arithmetic unit Output control terminal.
(4) each arithmetic unit executes operation corresponding with its operator, and it includes data update and state to be exported from arithmetic unit Including update and operation result.The newer operation result of state is stored to status register.Control the state update of arithmetic unit Port can also be simultaneously used as control signal, to other two arithmetic unit output valve add mark.These labels can be with table Whether the action for levying data, i.e., be stored into corresponding register, memory or status register.
(5) after the completion of status register is updated, (2)~(4) are repeated, the execution that so moves in circles down until Meet cut-off condition.
The method of execution control stream according to the ... of the embodiment of the present invention based on triggering command structure, chooses from a plurality of instruction Meet the instruction of trigger condition so that instruction is triggered by trigger mechanism.To include for indicating that predetermined number operator instructs it Between control planning bit triggering command be delivered to the output control terminal of corresponding arithmetic unit with select execute control stream, Branch's jump instruction is eliminated, condition and branch parallel are realized, improves performance.
The system of the execution control stream based on triggering command structure of second aspect of the present invention embodiment, including:Multiple places Manage unit, each processing unit, as shown in figure 4, including command register 400, instruction triggers expression formula memory 100, shape The arithmetic unit 500 of state register 200, scheduler 300 and predetermined number.
For command register 100 for storing a plurality of instruction, every instructs the basic operator and use for containing up to predetermined value The bit of control planning between the basic operator for indicating predetermined value.Instruction triggers expression formula memory 100 is for storing With the one-to-one triggering expression formula of a plurality of instruction.Status register 200 is used for the current state of storage processing unit, and matches Set the value of the triggering expression formula all elements of each item instruction.Scheduler 300 is used for the value according to each element in status register With triggering expression formula, the predetermined condition of triggering command is obtained.Scheduler 300 be additionally operable to from a plurality of instruction choose meet it is predetermined The instruction to conform to a predetermined condition is divided into the sub-instructions of predetermined number according to operator, will be used to indicate predetermined by the instruction of condition The bit of control planning is delivered to the output control terminal of corresponding arithmetic unit 500 to select execution between the instruction of number operator Control stream, while the sub-instructions of predetermined number being sequentially allocated to the arithmetic unit 500 of predetermined number.Arithmetic unit 500 is executed and is calculated The corresponding operation of son, obtains and exports including the operation result for indicating processing unit state.
In one embodiment of the invention, system further includes:Data register 600.Data register 600 is for storing Operation result.
It should be noted that the specific reality of the system of the execution control stream based on triggering command structure of the embodiment of the present invention Existing mode is similar with the specific implementation of method part, refers to the description of method part, in order to reduce redundancy, does not do herein It repeats.
In a specific example, CDFG (the control-data flow of the control stream of a simple nested type Graph) as shown in Figure 5:
In Fig. 5, C represents condition (condition), and P represents branch (path).Fig. 5 (a) is that original CDFG schemes, altogether Three layers of nesting belong to the control stream of nested branches structure type.The CDFG of Fig. 5 (a) schemes, and PE according to the ... of the embodiment of the present invention has two CDFG figures after being converted shown in the method for kind mapping, Fig. 5 (b) and Fig. 5 (c) may map to the PE of the embodiment of the present invention On.Fig. 5 (b) is to be performed simultaneously nested condition in advance, i.e. condition C 1-C2-C3 is executed in advance, then determines the branch executed, In the execution probability difference of each branch, execute the time determines this method relatively, thus for branch execute probability it is uncertain and It, can be as the selection of mapping when the nested number of plies is more.Fig. 5 (c) can be with using branch and condition in the PE of the embodiment of the present invention Parallel feature, i.e. C0-P0-P1 condition Cs 0 execute parallel with the operator P0 and P1 in its Liang Tiao branch.In this way in control is flowed When the execution probability of certain branches can determine, higher performance may be implemented.In addition to the example of Fig. 5, also many types Control stream, such as short branched structure, long branched structure and unbalanced construction and the combined nesting etc. between them.According to not Same situation can select corresponding method.
The system of execution control stream according to the ... of the embodiment of the present invention based on triggering command structure, chooses from a plurality of instruction Meet the instruction of trigger condition so that instruction is triggered by trigger mechanism.To include for indicating that predetermined number operator instructs it Between control planning bit triggering command be delivered to the output control terminal of corresponding arithmetic unit with select execute control stream, Branch's jump instruction is eliminated, condition and branch parallel are realized, improves performance.
In the description of this specification, reference term " one embodiment ", " some embodiments ", " example ", " specifically show The description of example " or " some examples " etc. means specific features, structure, material or spy described in conjunction with this embodiment or example Point is included at least one embodiment or example of the invention.In the present specification, schematic expression of the above terms are not It must be directed to identical embodiment or example.Moreover, particular features, structures, materials, or characteristics described can be in office It can be combined in any suitable manner in one or more embodiments or example.In addition, without conflicting with each other, the skill of this field Art personnel can tie the feature of different embodiments or examples described in this specification and different embodiments or examples It closes and combines.
Although the embodiments of the present invention has been shown and described above, it is to be understood that above-described embodiment is example Property, it is not considered as limiting the invention, those skilled in the art within the scope of the invention can be to above-mentioned Embodiment is changed, changes, replacing and modification.

Claims (3)

1. a kind of method of the execution control stream based on triggering command structure, which is characterized in that include the following steps:
S1, initial configuration, include setting every instruction operating parameter, read it is a plurality of instruction and with it is described it is a plurality of instruction one by one Corresponding triggering expression formula, and be configured in processing unit, every instruction contains up to predetermined number operator and for indicating pre- The bit of control planning between fixed number mesh operator, wherein predetermined number is at least 3, and every instruction is more comprising a condition A branch, to support the multiple branch parallels of a condition to execute, the operating parameter of every instruction of setting specifically includes:Setting Setup time, triggering and the execution time of every instruction;
S2 obtains the triggering item of each item instruction according to the state of the processing unit and the triggering expression formula of a plurality of instruction Part specifically includes:By the operating status of status register storage processing unit, and determine the triggering expression formula institute of each item instruction There is the value of element, scheduler instructs corresponding triggering expression formula according to the value of each element in status register and each item, real When obtain triggering command predetermined condition;
S3 chooses the instruction for meeting the trigger condition from a plurality of instruction, will meet the triggering according to the operator The instruction of condition is divided into the sub-instructions of predetermined number, by the bit for indicating control planning between predetermined number operator Position is delivered to the output control terminal of corresponding arithmetic unit to select the control stream executed, while by the sub-instructions of the predetermined number It is sequentially allocated to the arithmetic unit of predetermined number, specifically includes:It is selected in a plurality of instruction that scheduler is stored from command register It takes the instruction to conform to a predetermined condition as triggering command, is sent to data path, and on data path, triggering command is according to it Including the operator of predetermined number be divided into the sub-instructions of predetermined number, the sub-instructions of these predetermined numbers are respectively one corresponding Operator, and the sub-instructions of predetermined number are sequentially allocated to going on the arithmetic unit of predetermined number, meanwhile, indicate the calculation of predetermined number The bit of sub- control planning is also transported to the output control terminal of corresponding arithmetic unit to select the control stream executed;
S4, each arithmetic unit execute operation corresponding with the operator, obtain and export including being used to indicate the processing The operation result of location mode, specifically includes:Each arithmetic unit executes operation corresponding with operator, and includes from arithmetic unit output Operation result including data update and state update, control letter can also be simultaneously used as by controlling the state update of arithmetic unit Number, it adds and marks to other arithmetic unit output valves, wherein whether these labels can be stored into phase with the action of characterize data In register, memory or the status register answered, at the end of condition executes, erroneous branch stop execute, correct branch after It is continuous to execute;And
S5 repeats step S2~S4, until reaching cycle cut-off condition.
2. a kind of system of the execution control stream based on triggering command structure, which is characterized in that including multiple processing units, each The processing unit includes,
Command register, for storing a plurality of instruction, every instructs the operator for containing up to predetermined number and for indicating described The bit of control planning between the operator of predetermined number, wherein predetermined number is at least 3, and every instruction includes an item The multiple branches of part, to support the multiple branch parallels of a condition to execute;
Instruction triggers expression formula memory, for storing and a plurality of one-to-one triggering expression formula of instruction;
Status register, the current state for storing the processing unit, and the triggering expression formula for configuring each item instruction is all The value of element;
Scheduler, for according to the value of each element in the status register and the triggering expression formula, obtaining each item instruction Trigger condition, specifically include:The scheduler is corresponding according to the value of each element in status register and the instruction of each item Expression formula is triggered, obtains the predetermined condition of triggering command in real time;
The arithmetic unit of predetermined number, the scheduler meet the finger of the trigger condition for being chosen from a plurality of instruction It enables, the instruction for meeting trigger condition is divided into the sub-instructions of predetermined number according to the operator, by described for indicating The bit of control planning is delivered to the output control terminal of corresponding arithmetic unit to select the control executed between predetermined number operator System stream, while the sub-instructions of the predetermined number being sequentially allocated to the arithmetic unit of the predetermined number, it specifically includes:Scheduler The instruction to conform to a predetermined condition is chosen from a plurality of instruction that command register stores as triggering command, and it is logical to be sent to data Road, and on data path, triggering command according to it includes the operator of predetermined number be divided into the sub-instructions of predetermined number, The sub-instructions of these predetermined numbers respectively correspond to an operator, and the sub-instructions of predetermined number are sequentially allocated predetermined number Arithmetic unit gets on, meanwhile, indicate that the bit of the operator control planning of predetermined number is also transported to the defeated of corresponding arithmetic unit Go out control terminal to select the control stream executed;
The arithmetic unit executes operation corresponding with the operator, obtains and exports including being used to indicate the processing unit state Operation result, specifically include:The arithmetic unit executes operation corresponding with operator, and it includes data update to be exported from arithmetic unit Operation result including being updated with state, control signal can also be simultaneously used as by controlling the state update of arithmetic unit, to other Arithmetic unit output valve addition label, wherein whether these labels can be stored into corresponding deposit with the action of characterize data In device, memory or status register, at the end of condition executes, erroneous branch stops executing, and correct branch continues to execute.
3. system as claimed in claim 2, which is characterized in that the system also includes:
Data register, for storing the operation result.
CN201510069989.6A 2015-02-10 2015-02-10 The method and system of execution control stream based on triggering command structure Active CN104615412B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510069989.6A CN104615412B (en) 2015-02-10 2015-02-10 The method and system of execution control stream based on triggering command structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510069989.6A CN104615412B (en) 2015-02-10 2015-02-10 The method and system of execution control stream based on triggering command structure

Publications (2)

Publication Number Publication Date
CN104615412A CN104615412A (en) 2015-05-13
CN104615412B true CN104615412B (en) 2018-11-09

Family

ID=53149875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510069989.6A Active CN104615412B (en) 2015-02-10 2015-02-10 The method and system of execution control stream based on triggering command structure

Country Status (1)

Country Link
CN (1) CN104615412B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947564B (en) * 2019-03-07 2023-04-11 蚂蚁金服(杭州)网络技术有限公司 Service processing method, device, equipment and storage medium
CN112463717B (en) * 2020-11-05 2022-07-22 上海交通大学 Conditional branch implementation method under coarse-grained reconfigurable architecture
CN112165499B (en) * 2020-12-01 2021-02-12 南京芯驰半导体科技有限公司 Control flow monitoring method and device and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1746842A (en) * 2004-09-08 2006-03-15 三星电子株式会社 The hardware unit and the manner of execution thereof that are used for condition commands in disorder
CN101965554A (en) * 2008-03-11 2011-02-02 高通股份有限公司 System and method of selectively committing a result of an executed instruction

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005527037A (en) * 2002-05-24 2005-09-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Configurable processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1746842A (en) * 2004-09-08 2006-03-15 三星电子株式会社 The hardware unit and the manner of execution thereof that are used for condition commands in disorder
CN101965554A (en) * 2008-03-11 2011-02-02 高通股份有限公司 System and method of selectively committing a result of an executed instruction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Triggered Instructions: A Control Paradigm for Spatially-Programmed Architectures";Angshuman Parashar et al.;《ACM Sigarch Computer Architecture News》;20130630;第41卷(第3期);142-153 *

Also Published As

Publication number Publication date
CN104615412A (en) 2015-05-13

Similar Documents

Publication Publication Date Title
EP3776241B1 (en) Loop thread order execution control of a multi-threaded, self-scheduling reconfigurable computing fabric
US8429385B2 (en) Device including a field having function cells and information providing cells controlled by the function cells
US8686549B2 (en) Reconfigurable elements
US8686475B2 (en) Reconfigurable elements
CN109144688B (en) Method and device for task scheduling on heterogeneous multi-core reconfigurable computing platform
US6901502B2 (en) Integrated circuit with CPU and FPGA for reserved instructions execution with configuration diagnosis
KR102159730B1 (en) Scheduling tasks in a multi-threaded processor
CN104615412B (en) The method and system of execution control stream based on triggering command structure
KR100497078B1 (en) Program product and data processor
CN104007954B (en) Processor and the control method for processor
EP1209573A2 (en) Multiprocessor system and control method thereof
CN112416853A (en) Stacked programmable integrated circuit system with intelligent memory
US10885996B2 (en) Processor having a programmable function unit
CN106990942A (en) branch processing method and system
CN103646005B (en) Reconfigurable processor, controlling equipment and its method based on micronucleus
CN105718245B (en) Reconfigurable Computation cyclic mapping optimization method
JP5285915B2 (en) Microprocessor architecture
KR20150019349A (en) Multiple threads execution processor and its operating method
CN103119555B (en) Next-instruction-type-field
US20140101670A1 (en) Computing system including multi-core processor and load balancing method thereof
CN105930186A (en) Multi-CPU (Central Processing Unit) software loading method and multi-CPU-based software loading device
CN106293736B (en) Two-stage programmer and its calculation method for coarseness multicore computing system
CN102799418A (en) Processor architecture and instruction execution method integrating sequence and VLIW (Very Long Instruction Word)
CN104951300B (en) The method and apparatus that virtual objects movement is realized in interface
CN104111817B (en) Arithmetic processing device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant