CN103955356B - General-purpose register bank distribution method and device in multithreaded processor - Google Patents
General-purpose register bank distribution method and device in multithreaded processor Download PDFInfo
- Publication number
- CN103955356B CN103955356B CN201410166209.5A CN201410166209A CN103955356B CN 103955356 B CN103955356 B CN 103955356B CN 201410166209 A CN201410166209 A CN 201410166209A CN 103955356 B CN103955356 B CN 103955356B
- Authority
- CN
- China
- Prior art keywords
- thread
- software
- general register
- software thread
- register group
- 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 55
- 230000005059 dormancy Effects 0.000 claims abstract description 61
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000000284 resting effect Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 3
- 230000002618 waking effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
The invention relates to a general-purpose register bank distribution method in a multithreaded processor. The method comprises the following steps: judging whether software threads are initially created or awakened after dormancy, if the software threads are initially created, finding and obtaining a free general-purpose register bank, distributing to the software threads, and uploading to a command processing assembly line of physical threads distributed to the software threads; if the software threads are awakened after dormancy, finding an allocated general-purpose register bank of the software threads before dormancy, and uploading to a command processing assembly line of physical threads redistributed to the software threads again; forming threads and running the threads; if the software threads go dormancy, maintaining the general-purpose register bank of the software threads under the action of a thread controller. The invention also relates to a device for realizing the method. The general-purpose register bank distribution method and device in the multithreaded processor of the implementation of the invention have the following beneficial effects of lower cost of the processor and higher efficiency.
Description
Technical field
The present invention relates to processor, more particularly, it relates in a kind of multiline procedure processor general register group distribution
Method and device.
Background technology
Multiline procedure processor design in, each instruction pipeline in addition to having control logic and performance element, also
One group of general register (GPR-set), for preserving the intermediate result of computing, or preserves from memorizer the data for reading back.One
As for, the general register group of software thread is taken down notes equivalent to the work of software thread, needs in store running software
Intermediate variable and ephemeral data, such as stack pointer, subroutine call return address etc..It is general before and after software thread dormancy
Data in depositor group must be consistent, and otherwise software thread operation can make a mistake.Generally, traditional multiline procedure processor,
The relation of instruction pipeline and general register group is fixed, and in other words streamline and depositor group are bound together.Example
Such as, one has 4 physical threads for being marked as T0-T3(Hardware)Processor, correspondence 4 groups of GPR-set (GS0-
GS3), in physics realization, T0 and GS0 bind together, and T1 and GS1 are fixed together, and so on.The software of T0 operations
The content that can not be accessed on GS1, GS2 or GS3 of thread;Equally, the software thread for running on T1 can not access GS0, GS2
Or the content on GS3, the relation of the group of the general register between remaining physical thread and its different physical thread be also with
Above-mentioned record is similar.Currently, software multithread is designed as making full use of hardware resource, software thread generally wait pending data or
When certain event occurs, hardware resource is actively discharged.For example, the software thread (K1) on T1 is operated in DMA from outside
The substantial amounts of data of memorizer copy, when DMA does data and carries, software thread K1 does not have what thing can be done, and at this moment it can
Instruction pipeline resource is conceded, allows other software threads for waiting to use.Complete when DMA carries data, DMA is notified
Thread controller (THDC), if THDC has found there is available hardware resource (such as T3), THDC just wakes up K1, then K1
Can be scheduled for being continued executing with T3.During superincumbent, K1 (concedes rear software thread conceding instruction pipeline resource
K1 enters dormancy) the front operation on T1, the intermediate result that it runs is stored on GS-1, and K1 runs upon awakening on T3,
At this moment its GPR-set is GS-3.GS-1 and GS-3 are diverse two groups of GPR-set.Therefore, in order to ensure software K1
Can correctly run upon awakening, it is desirable to which K1 preserved the content of GS-1 before dormancy, preserving after being waken up
Content recovery is in GS-3.Because this sleep-wakeup is very frequent in multi-thread software, this preservation-recovery
It is very big expense that (context switch) is operated for multiline procedure processor, so that the performance of the processor becomes
It is relatively low.
The content of the invention
The technical problem to be solved in the present invention is, for the above-mentioned general register group content of prior art preservation-
Recover the larger processor expense brought of behaviour and then cause the relatively low defect of processor performance, there is provided a kind of processor expense
The distribution method and device of general register group in the higher multiline procedure processor of less, performance.
The technical solution adopted for the present invention to solve the technical problems is:Construct general deposit in a kind of multiline procedure processor
The distribution method of device group, it is to be assigned to physical cord in software thread that the processor instruction processes the general register group of streamline
It is assigned to during journey on its instruction processing pipeline;The distribution method comprises the steps:
A)Receive for software thread configure general register group request, judge the software thread be initial creation or
It is waken up after dormancy, in this way initial creation, execution step B);Wake up after dormancy in this way, execution step C);
B)The general register group of a free time is searched and obtained, the software thread is distributed to, the software line is uploaded to
On the instruction processing pipeline of the physical thread that journey is assigned to, and execution step D);
C)The general register group of the configuration before the software thread dormancy is searched, the software thread weight is uploaded to again
On the instruction processing pipeline of the physical thread being newly assigned to, and execution step D);
D)Thread is formed, and runs the thread;
E)Judge whether the software thread in active thread is required to enter dormancy, in this way, the software thread enters dormancy,
And the general register group is deposited with the depositor group pond of the thread controller;Otherwise, the thread is continued to run with;
F)When the software thread operation is completed, the general register group is discharged.
Further, step A)In, by comparing No. ID of the software thread and being currently assigned to software line
No. ID of journey is judging the software thread whether software thread of initial creation;No. ID of the software thread is system in wound
Its numbering is given when building software thread.
Further, step B)Middle idle general register group is that in waiting list, and its numbering only has
The general register group of register number;Step B)Further include:The idle register group be assigned to one it is soft
After part thread, its numbering includes the numbering of register number and place software thread.
Further, step C)In, by whether including the software line in relatively more described depositor group #
Journey numbers to judge that whether the general register group is the general register group before the software thread dormancy.
Further, step D)In, also include being configured to instruction execution pipeline and physical thread described soft
Part thread is forming a complete thread running environment.
Further, step E)Further include:The numbering of the general register is recorded and transmitted to institute
Thread controller is stated, makes the thread controller keep the general register group.
The invention further relates to a kind of device for realizing said method, the general deposit of the processor instruction process streamline
Device group is assigned to when software thread is assigned to physical thread on its instruction processing pipeline;Described device includes:
Software thread judging unit:For receiving the request for configuring general register group for software thread, judge that this is soft
Part thread is waken up after initial creation or dormancy, in this way initial creation, calls idle register allocation unit;Such as
It is to wake up after dormancy, allocating register upload element again;
Idle register allocation unit:For searching and the general register group of a free time is obtained, distribute to the software
Thread, uploads on the instruction processing pipeline of the physical thread that the software thread is assigned to;
Depositor upload element again:The general register group of the configuration before for searching the software thread dormancy, weight
Newly upload on the instruction processing pipeline of the physical thread that the software thread is re-assigned to;
Thread forms unit:For forming thread, and run the thread;
Dormancy judging unit:Whether the software thread in for judging active thread is required to enter dormancy, in this way, described
Software thread enters dormancy, and the general register group is deposited with the depositor group pond of the thread controller;Otherwise,
Continue to run with the thread.
Further, in the software thread judging unit, by No. ID and current point of relatively more described software thread
No. ID of dispensing software thread is judging the software thread whether software thread of initial creation;No. ID of the software thread
It is that system gives its numbering when software thread is created.
Further, general register group idle in the idle register allocation unit be in waiting list,
And its numbering only has the general register group of register number;The idle register allocation unit is further included:
Register number modified module:After a software thread is assigned to, change in the idle register group
Its numbering makes it include the numbering of register number and place software thread.
Further, whether the depositor is again in upload element, by wrapping in relatively more described depositor group #
Include the software thread to number to judge that whether the general register group is the general register group before the software thread dormancy.
Implement the distribution method and device of general register group in the multiline procedure processor of the present invention, with following beneficial effect
Really:During due to the general register being originally fixed together with instruction processing pipeline group being changed into into distribution physical thread, produce
The request of raw configuration general register group, and to operate in the configuration general register group of the software thread on the physical thread, though
So general register group in physical connection or be connected on instruction processing pipeline.But, its logically with software
Thread is bound.Therefore, when software thread enters resting state, in the presence of thread controller, this still can be kept soft
The general register group of part thread.As for the physical thread, can process in the case where other general register group is configured other
Software thread.Therefore, it does not preserve-recovers (context switch) operation, so its processor expense is less, efficiency
It is higher.
Description of the drawings
Fig. 1 is general deposit in the distribution method and device embodiment of general register group in multiline procedure processor of the present invention
The flow chart of device component formula method;
Fig. 2 is the structural representation of device in the embodiment.
Specific embodiment
Below in conjunction with accompanying drawing, embodiments of the present invention is further illustrated.
As shown in figure 1, in multiline procedure processor of the present invention in the distribution method and device embodiment of general register group,
The distribution method of the general register group comprises the steps:
Step S11 receives the request of configuration general register group:In the present embodiment, processor instruction processes streamline
General register group be to be assigned to when software thread is assigned to physical thread on its instruction processing pipeline.Namely
Say, in the prior art, general register group is integrally fixed on instruction processing pipeline and divides with instruction processing pipeline
It is fitted on or is fixed on physical thread.And in the present embodiment, general register group is not fixed on instruction pipeline
's.Although general register group is also a part for instruction processing pipeline, its role also can be identical in prior art, its
May be also identical with prior art with the annexation of instruction processing pipeline, but, general register group is for physics
It is configured to during thread configuration instruction processing pipeline on the instruction processing pipeline.From for another angle, in the present embodiment
In, processor has multiple instruction processing pipelines without connection universal depositor group, also have it is multiple individually, not with instruction at
The general register group of reason streamline connection, these general register groups are in above-mentioned instruction processing pipeline(Now, these instructions
It is incomplete to process streamline, it is impossible to work)When being configured to physical thread, the general register group being configured just connects
To the instruction processing pipeline, to form a complete instruction processing environment.In the present embodiment, these operations are by thread
What control unit was realized.Similarly, when needing that general register group is configured on instruction processing pipeline line, system is produced
Configuration general register group request, be also transmitted to the Thread Control Unit, realized leading to by the Thread Control Unit
With the configuration of depositor group.
Step S12 judges whether software thread is waken up by dormancy, in this way, execution step S13;Otherwise, execution step
S14;In this step, Thread Control Unit has received the configuring request of general register group, meanwhile, also wrap in configuration information
Software thread and its numbering are included, has shown that the general register group will be used for that software thread.Here, needing to judge that this is soft
Part thread is a newly-established thread or the thread that dormancy is entered after having run.In the present embodiment, by comparing
State software thread No. ID and be currently assigned to software thread No. ID are judging the soft of the software thread whether initial creation
Part thread, if No. ID of the software thread is equal to and is currently assigned to No. ID of software thread, judges that the software thread is stylish
The thread built, is not by the thread waken up in dormancy;If No. ID of the software thread is not to be currently assigned to software line
No. ID of journey, but it is less or larger(Depending on the order of No. ID of viewing system distribution software thread), then the software thread is it
The thread of front establishment.It is to be waken up by resting state.No. ID of software thread is that system gives it when software thread is created
Numbering.
Step S13 is searched the general register group before software thread dormancy and is configured:In this step, due to having sentenced
Break the software thread be by resting state wake up software thread, so, need to look for and find what is used before the software thread
General register group, the general register group is kept in software thread dormancy, and content therein does not change, for this purpose, working as
When the general register group is configured to the software thread(More precisely, it is to be configured to the physics that the software thread runs
During the instruction processing pipeline of thread), can be used directly, it is not necessary to be any preservation-recovery (context
Switch) operate.In this step, by relatively more described depositor group(The general register for being kept by Thread Control Unit
Group)Numbering in whether include software thread numbering to judge whether the general register group is the software thread dormancy
Front general register group.If including the numbering of the software thread in the numbering of the general register group, it is judged as it
The general register group used before the software thread, otherwise, be judged as the general register group be not before the software post
The general register group that storage group is used.With regard to the numbering of general register group, behind have more detailed description.
Step S14 is searched idle general register group and is configured:In this step, due to judging that the software thread is
Newly-established thread, therefore the general register group of its configuration previous need not be searched, and be to look for the general of free time and post
Storage, and the idle general register group is configured to into the software thread(More precisely, it is to be configured to the software thread
The instruction processing pipeline of the physical thread of operation).In the present embodiment, for processor, if a general deposit
Device group is idle, then only only one of which is used for representing the depositor of the depositor group position or order the general register group
Group #;Additionally, multiple idle depositor groups are when waiting software thread or instruction processing pipeline to use, it can form one
Individual waiting list, waits to be called.That is, in the present embodiment, idle general register group be exactly in waiting list,
And its numbering only has register number(The numbering is given when system brings into operation)General register group.And in this step
In, the numbering also including general register group changes step, that is, once general register group be configured to it is soft
After part thread, system will change its numbering, in order in above-mentioned steps(In practical operation, time tangible this step of the step
After rapid)General register group holding.That is, idle register group is after a software thread is assigned to,
System can be in the numbering of the general register group plus the thread number of the software thread, so, the numbering of the depositor group
Just include the numbering of register number and place software thread.From for other side, when software thread operation is completed, discharge
During the depositor group, need also exist for being deleted in the numbering by the numbering of the software thread by its general register group so that this leads to
Only it is left depositor group # with the numbering of depositor group, represents that the general register group is idle such that it is able to enter etc.
Treat queue, waiting system is called or distributed next time.
Step S15 forms thread and runs:In the present embodiment, no matter occur it is any in above-mentioned situation, perform
After complete above-mentioned steps S14 or S13, this step can be all continued executing with.That is, no matter the software thread be create before also
It is new establishment, after its corresponding general register group is obtained, all instruction execution pipeline and physical thread can be configured to
The software thread is forming a complete thread running environment;When software thread is uploaded on streamline, its is corresponding
GPR also on the streamline of upload software thread operation, so, is just formed and active thread.
Whether step S16 software thread is required dormancy:In this step, due to having formed thread in previous step
And run, therefore this step is to judge to be whether the thread is required dormancy in thread operation, if it is, execution step
S17, necessary process is made to thread into dormancy;If it is not, then return to step S15, continues to run with thread(In this step
In, if return to step S15, because the environment of thread operation is ready-made, so again any variation will not be made to the environment,
But continue to run with thread).In fact, in the present embodiment, in some cases, this step can also be considered as step S15
A kind of extension step during active thread.When thread runs, constantly take out and instruct and perform, under normal circumstances the thread is not
Can stop.But, in some cases, for example, it is desired to wait external data, the now thread dormancy can make making for processor
With in hgher efficiency, then, system sends the trigger of dormancy, and after the trigger is received, the software thread stops just
Normal fetching operation, performs this step, is made whether the judgement for entering dormancy.
Step S17 enters dormancy:In this step, it is determined that software thread needs to enter dormancy, then, phase is taken
The action answered so that the software thread enters resting state.Although it is noted that other action all with prior art in
It is identical, but, for the process of general register group is different.Conventionally, as general register group is solid
It is scheduled on instruction to process on draining device, and instruction processing pipeline is disposed on physical thread, therefore, when software thread enters
When entering dormancy, release physical thread is needed to go to process other software thread, it is therefore desirable to the instruction processing stream in physical thread
The content of the general register group on waterline carries out preserving-recover (context switch) operation, and the software thread by
When waking up in resting state, the same but contrary action of data moving direction is carried out, to ensure software thread energy after being waken up
Enough normal operations.In this step, because general register group is separately configured.So, in software thread dormancy, not
General register group can be discharged with physical thread.But individually keep the general register group, wait software line
The wake-up of journey.So, the data-moving for successively carrying out twice in general register group is avoided the need for, processor is substantially increased
Operational efficiency.In the present embodiment, for the method that general register group keeps is the volume that records and transmit the general register
Number to thread controller so as in being deposited with the depositor group pond of thread controller.That is, in the present embodiment, soft
The stage of part thread dormancy, the general register group is treated as depositor group in thread controller.The general register group
Both without other software thread is configured to physical thread, the waiting list of general register group it is not put into yet
In, but content therein is maintained, wait the software thread of its original configuration to be waken up a specific position.
When software thread needs dormancy, thread controller is deposited with the general register group for belonging to dormancy thread before dormancy
In depositor group pond in thread controller.When software thread is waken up, thread controller is fetched and wakes up the logical of software thread
Depositor group is used, is reloaded on the instruction processing pipeline for distributing to the physical thread for waking up software thread.
In the present embodiment, after the completion of a software thread is performed, the instruction of its physical thread and configuration processes flowing water
Line will be released, and be designated the free time, wait the use of follow-up software thread.At the same time, above-mentioned instruction processing pipeline
General register group is also released, but is not and the instruction processing pipeline binding, and the general register group is independent
Release, according to methods described above, software thread numbering is deleted in being numbered, and only retains its register number, and representing should
General register group is currently at idle condition, and puts it in the waiting list of general register group, and wait is assigned to finger
Order processes streamline.Its again sub-distribution instruction processing pipeline be probably before that instruction processing pipeline, it is also possible to
It is other instruction processing pipelines.
In the present embodiment, a kind of device for realizing said method is further related to.Similarly, at the processor instruction of the device
The general register group of reason streamline is assigned to when software thread is assigned to physical thread on its instruction processing pipeline.
As shown in Fig. 2 the device includes that software thread judging unit 11, idle register allocation unit 12, depositor upload list again
Unit 13, thread forms unit 14 and dormancy judging unit 15.Wherein, software thread judging unit 11 is used to receive as software
The request of thread configuration general register group, judges that the software thread is waken up after initial creation or dormancy, in this way
Initial creation, call idle register allocation unit;Wake up after dormancy in this way, allocating register upload element again;It is empty
Not busy depositor allocation unit 12 is used to searching and obtaining the general register group of a free time, distributes to the software thread, uploads
On the instruction processing pipeline of the physical thread being assigned to the software thread;Again upload element 13 is used to search depositor
The general register group of the configuration before the software thread dormancy, uploads to the physics that the software thread is re-assigned to again
On the instruction processing pipeline of thread;Thread forms unit 14 and is used to form thread, and runs the thread;Dormancy judging unit 15
Whether the software thread in for judging active thread is required to enter dormancy, and in this way, the software thread enters dormancy, and
The general register group of the thread controller effect lower holding software thread;Otherwise, the thread is continued to run with.
In the present embodiment, software thread judging unit 11 is by comparing No. ID of the software thread and being currently assigned to
No. ID of software thread is judging the software thread whether software thread of initial creation;No. ID of the software thread is to be
System gives its numbering when software thread is created.Idle general register group is that in waiting list, and its numbering only has
The general register group of register number;And idle register allocation unit 12 further includes register number modified module
121;Register number modified module 121 is used in the idle register group after a software thread is assigned to, and changes it
Numbering makes it include the numbering of register number and place software thread.
Additionally, in the present embodiment, depositor again upload element 13 by relatively more described depositor group # whether
Number to judge that whether the general register group is the general register before the software thread dormancy including the software thread
Group.
Embodiment described above only expresses the several embodiments of the present invention, and its description is more concrete and detailed, but and
Therefore the restriction to the scope of the claims of the present invention can not be interpreted as.It should be pointed out that for one of ordinary skill in the art
For, without departing from the inventive concept of the premise, some deformations and improvement can also be made, these belong to the guarantor of the present invention
Shield scope.Therefore, the protection domain of patent of the present invention should be defined by claims.
Claims (10)
1. in a kind of multiline procedure processor general register group distribution method, it is characterised in that at the instruction of the processor
The general register group of reason streamline is assigned to when software thread is assigned to physical thread at the instruction of the physical thread
On reason streamline;The distribution method comprises the steps:
A)The request for configuring general register group for software thread is received, judges that the software thread is initial creation or dormancy
It is waken up afterwards, in this way initial creation, execution step B);Wake up after dormancy in this way, execution step C);
B)The general register group of a free time is searched and obtained, the software thread is distributed to, the software thread point is uploaded to
On the instruction processing pipeline of the physical thread being fitted on, and execution step D);
C)The general register group of the configuration before the software thread dormancy is searched, the software thread is uploaded to again and is divided again
On the instruction processing pipeline of the physical thread being fitted on, and execution step D);
D)Thread is formed, and runs the thread;
E)Judge whether the software thread in active thread is required to enter dormancy, in this way, the software thread enters dormancy, and
The general register group is deposited with the depositor group pond of thread controller;Otherwise, the thread is continued to run with.
2. in multiline procedure processor according to claim 1 general register group distribution method, it is characterised in that it is described
Step A)In, judge the software line be currently assigned to software thread No. ID by No. ID of relatively more described software thread
The journey whether software thread of initial creation;No. ID of the software thread is that system gives its volume when software thread is created
Number.
3. in multiline procedure processor according to claim 2 general register group distribution method, it is characterised in that it is described
Step B)Middle idle general register group is that in waiting list, and its numbering only has the general register of register number
Group;After a software thread is assigned to, its numbering includes register number and place software thread to the idle register group
Numbering.
4. in multiline procedure processor according to claim 3 general register group distribution method, it is characterised in that it is described
Step C)In, judge the general deposit by whether including software thread numbering in relatively more described depositor group #
Whether device group is the general register group before the software thread dormancy.
5. in multiline procedure processor according to claim 4 general register group distribution method, it is characterised in that it is described
Step D)In, also include instruction execution pipeline and physical thread are configured to into the software thread to form a complete line
Journey running environment.
6. in multiline procedure processor according to claim 5 general register group distribution method, it is characterised in that it is described
Step E)Further include:The numbering of the general register is recorded and transmitted to the thread controller, the thread is made
Controller keeps the general register group.
7. it is a kind of carry out multiline procedure processor in general register component formula method device, it is characterised in that the processor
Instruction processing pipeline general register group be assigned to when software thread is assigned to physical thread its instruction processing stream
On waterline;Described device includes:
Software thread judging unit:For receiving the request for configuring general register group for software thread, the software line is judged
Journey is waken up after initial creation or dormancy, in this way initial creation, calls idle register allocation unit;Stop in this way
Wake up after dormancy, allocating register upload element again;
Idle register allocation unit:For searching and the general register group of a free time is obtained, distributes to the software thread,
Upload on the instruction processing pipeline of the physical thread that the software thread is assigned to;
Depositor upload element again:The general register group of the configuration before for searching the software thread dormancy, goes up again
It is downloaded on the instruction processing pipeline of the physical thread that the software thread is re-assigned to;
Thread forms unit:For forming thread, and run the thread;
Dormancy judging unit:Whether the software thread in for judging active thread is required to enter dormancy, in this way, the software
Thread enters dormancy, and the general register group is deposited with the depositor group pond of thread controller;Otherwise, continue to run with
The thread.
8. device according to claim 7, it is characterised in that in the software thread judging unit, by relatively more described
No. ID of software thread and No. ID of software thread is currently assigned to judging the software thread whether software of initial creation
Thread;No. ID of the software thread is that system gives its numbering when software thread is created.
9. device according to claim 8, it is characterised in that idle in the idle register allocation unit general to post
Storage group be in waiting list, and its numbering only have register number general register group;The idle register distribution
Unit is further included:
Register number modified module:For after a software thread is assigned to, changing its volume in the idle register group
Number it is set to include the numbering of register number and place software thread.
10. device according to claim 9, it is characterised in that the depositor is again in upload element, by comparing
State and whether include in depositor group # software thread numbering to judge whether the general register group is the software line
General register group before journey dormancy.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410166209.5A CN103955356B (en) | 2014-04-24 | 2014-04-24 | General-purpose register bank distribution method and device in multithreaded processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410166209.5A CN103955356B (en) | 2014-04-24 | 2014-04-24 | General-purpose register bank distribution method and device in multithreaded processor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103955356A CN103955356A (en) | 2014-07-30 |
CN103955356B true CN103955356B (en) | 2017-05-10 |
Family
ID=51332633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410166209.5A Active CN103955356B (en) | 2014-04-24 | 2014-04-24 | General-purpose register bank distribution method and device in multithreaded processor |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103955356B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002322B (en) * | 2018-06-26 | 2021-07-23 | 飞腾技术(长沙)有限公司 | Register allocation and release method and component for performing component module level verification |
CN114816529A (en) * | 2020-10-21 | 2022-07-29 | 上海壁仞智能科技有限公司 | Apparatus and method for configuring cooperative thread bundle in vector computing system |
CN114168197B (en) * | 2021-12-09 | 2023-05-23 | 海光信息技术股份有限公司 | Instruction execution method, processor and electronic device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6092175A (en) * | 1998-04-02 | 2000-07-18 | University Of Washington | Shared register storage mechanisms for multithreaded computer systems with out-of-order execution |
CN1547695A (en) * | 2001-08-27 | 2004-11-17 | ض� | Multithreaded microprocessor with register allocation based on number of active threads |
-
2014
- 2014-04-24 CN CN201410166209.5A patent/CN103955356B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6092175A (en) * | 1998-04-02 | 2000-07-18 | University Of Washington | Shared register storage mechanisms for multithreaded computer systems with out-of-order execution |
CN1547695A (en) * | 2001-08-27 | 2004-11-17 | ض� | Multithreaded microprocessor with register allocation based on number of active threads |
Also Published As
Publication number | Publication date |
---|---|
CN103955356A (en) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102460377B (en) | Data processing apparatus and method | |
CN105893126B (en) | A task scheduling method and device | |
CN103635875B (en) | For by using by can subregion engine instance the memory segment that is performed come support code block of virtual core | |
US9547530B2 (en) | Data processing apparatus and method for processing a plurality of threads | |
CN103336718B (en) | A kind of GPU thread scheduling optimization method | |
CN100549943C (en) | Multithreaded microprocessor with the optimization thread scheduler that is used to promote the streamline service efficiency | |
CN1332303C (en) | Method and apparatus for thread-based memory access in a multithreaded processor | |
CN102855121B (en) | Branching processing method and system | |
WO2016113105A1 (en) | Parallel slice processor having a recirculating load-store queue for fast deallocation of issue queue entries | |
JPH08147165A (en) | Processor and processing method supporting multiple contexts | |
CN108710536B (en) | A multi-level fine-grained optimization method for virtualized GPU scheduling | |
CN101763285A (en) | Zero-overhead switching multithread processor and thread switching method thereof | |
JP2007200288A (en) | System and method for grouping execution threads | |
JP4956891B2 (en) | Arithmetic processing apparatus, information processing apparatus, and control method for arithmetic processing apparatus | |
CN106575220B (en) | Multiple clustered VLIW processing cores | |
US20100083261A1 (en) | Intelligent context migration for user mode scheduling | |
CN105183698A (en) | Control processing system and method based on multi-kernel DSP | |
CN102129390A (en) | Task scheduling system of on-chip multi-core computing platform and method for task parallelization | |
CN103955356B (en) | General-purpose register bank distribution method and device in multithreaded processor | |
CN100592255C (en) | 32-bit multi-mode microprocessor | |
WO2013100998A1 (en) | Processor with second jump execution unit for branch misprediction | |
CN115374923A (en) | RISC-V expansion based universal neural network processor micro-architecture | |
US20080209164A1 (en) | Microprocessor Architectures | |
CN102057357A (en) | Multiprocessor system | |
US7509511B1 (en) | Reducing register file leakage current within a processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: Unit 06-08, 7th Floor, Changhong Science and Technology Building, 18 Science and Technology South 12 Road, Nanshan District, Shenzhen City, Guangdong Province Patentee after: Shenzhen ICube Technology Corp. Address before: Room 706-8, Changhong Science and Technology Building, 18 Science and Technology South 12 Road, Nanshan High-tech Park, Shenzhen City, Guangdong Province, 518057 Patentee before: Shenzhen ICube Technology Corp. |
|
CP02 | Change in the address of a patent holder |