[go: up one dir, main page]

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 PDF

Info

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
Application number
CN201410166209.5A
Other languages
Chinese (zh)
Other versions
CN103955356A (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.)
SHENZHEN ICUBE TECHNOLOGY CORP
Original Assignee
SHENZHEN ICUBE TECHNOLOGY CORP
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 SHENZHEN ICUBE TECHNOLOGY CORP filed Critical SHENZHEN ICUBE TECHNOLOGY CORP
Priority to CN201410166209.5A priority Critical patent/CN103955356B/en
Publication of CN103955356A publication Critical patent/CN103955356A/en
Application granted granted Critical
Publication of CN103955356B publication Critical patent/CN103955356B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

The distribution method and device of general register group in multiline procedure processor
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.
CN201410166209.5A 2014-04-24 2014-04-24 General-purpose register bank distribution method and device in multithreaded processor Active CN103955356B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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