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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000013439 planning Methods 0.000 claims abstract description 24
- 230000001960 triggered effect Effects 0.000 claims description 10
- 230000009471 action Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000010977 unit operation Methods 0.000 claims 1
- 230000007246 mechanism Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- 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/30072—Arrangements 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
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.
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 (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116126538A (en) * | 2019-03-07 | 2023-05-16 | 创新先进技术有限公司 | 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 |
GB2625512A (en) * | 2022-12-12 | 2024-06-26 | Advanced Risc Mach Ltd | Triggered-producer and triggered-consumer instructions |
Citations (2)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005527037A (en) * | 2002-05-24 | 2005-09-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Configurable processor |
-
2015
- 2015-02-10 CN CN201510069989.6A patent/CN104615412B/en active Active
Patent Citations (2)
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)
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 |
---|---|---|
CN104615412B (en) | The method and system of execution control stream based on triggering command structure | |
EP3776241B1 (en) | Loop thread order execution control of a multi-threaded, self-scheduling reconfigurable computing fabric | |
US8686475B2 (en) | Reconfigurable elements | |
CN104778083B (en) | The method and apparatus of task scheduling in heterogeneous multi-core reconfigurable computing platform | |
US6901502B2 (en) | Integrated circuit with CPU and FPGA for reserved instructions execution with configuration diagnosis | |
US20100095088A1 (en) | Reconfigurable elements | |
KR102159730B1 (en) | Scheduling tasks in a multi-threaded processor | |
CN102855121B (en) | Branching processing method and system | |
US20060245225A1 (en) | Reconfigurable elements | |
CN104007954B (en) | Processor and the control method for processor | |
EP1209573A2 (en) | Multiprocessor system and control method thereof | |
JP4152319B2 (en) | Data processing system and control method thereof | |
US10885996B2 (en) | Processor having a programmable function unit | |
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 | |
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 | |
US20080320276A1 (en) | Digital Computing Device with Parallel Processing | |
JP4456864B2 (en) | Reconfigurable element | |
CN106843816A (en) | A kind of branch prediction control method and device | |
CN104951300B (en) | Method and device for realizing virtual object movement in interface | |
CN109656641A (en) | A kind of operating system and method for multilayer circulation program | |
CN102520913A (en) | Parallel branch prediction device of packet-based updating historical information |
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 |