CN101799771B - 一种线程切换的矢量现场切换方法和装置 - Google Patents

一种线程切换的矢量现场切换方法和装置 Download PDF

Info

Publication number
CN101799771B
CN101799771B CN 201010144661 CN201010144661A CN101799771B CN 101799771 B CN101799771 B CN 101799771B CN 201010144661 CN201010144661 CN 201010144661 CN 201010144661 A CN201010144661 A CN 201010144661A CN 101799771 B CN101799771 B CN 101799771B
Authority
CN
China
Prior art keywords
vector
thread
vector register
site
incision
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
CN 201010144661
Other languages
English (en)
Other versions
CN101799771A (zh
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.)
Huawei Technologies Co Ltd
Shanghai Huawei Technologies Co Ltd
Original Assignee
Shanghai Huawei Technologies Co Ltd
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 Shanghai Huawei Technologies Co Ltd filed Critical Shanghai Huawei Technologies Co Ltd
Priority to CN 201010144661 priority Critical patent/CN101799771B/zh
Publication of CN101799771A publication Critical patent/CN101799771A/zh
Application granted granted Critical
Publication of CN101799771B publication Critical patent/CN101799771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种线程切换的矢量现场切换方法和装置,本发明实施例通过读取矢量寄存器归属标识,若矢量寄存器归属标识为切出线程的标识,则保存矢量寄存器组中的数据到切出线程的现场保存区,将矢量寄存器归属标识更新为切入线程的标识,从切入线程的现场保存区中为矢量寄存器组加载数据;若矢量寄存器归属标识为切入线程的标识,从切入线程的现场保存区中为矢量寄存器组加载数据。实施本发明实施例,根据矢量寄存器归属标识判断矢量寄存器的数据归属,在有必要保存矢量现场时,才进行矢量现场保存,减少了保护开销,提高了切换效率。

Description

一种线程切换的矢量现场切换方法和装置
技术领域
本发明涉及计算机技术领域,具体涉及一种线程切换的矢量现场切换方法和装置。
背景技术
现代通信技术和的发展对可编程体系结构的处理性能提出越来越高的要求,矢量体系结构和由此发展起来的矢量处理器是提高处理性能的有效途径。
参见图1,是现有技术中线程切换的矢量现场切换流程示意图,现有技术中的矢量处理器的矢量现场切换方法为:首先,在线程切换过程中,把矢量寄存器组中的矢量数据(矢量现场)保存到切出线程的现场保存区,然后,更新线程,从切入线程的现场保存区中为矢量寄存器组加载数据(恢复矢量现场),线程切换结束。
在对现有技术的研究和实践过程中,本发明的发明人发现,上述的切换方法,存在一些不必要的操作。
发明内容
本发明实施例提供一种线程切换的矢量现场切换方法和装置。
一种线程切换的矢量现场切换方法,包括:
读取矢量寄存器归属标识,所述矢量寄存器归属标识为矢量处理器的矢量寄存器组中的数据归属的线程的标识;
若矢量寄存器归属标识为切出线程的标识,则保存矢量寄存器组中的数据到切出线程的现场保存区,将矢量寄存器归属标识更新为切入线程的标识,从切入线程的现场保存区中为矢量寄存器组加载数据;若矢量寄存器归属标识为切入线程的标识,从切入线程的现场保存区中为矢量寄存器组加载数据。
相应地,一种矢量现场切换装置,包括:
归属标识读取模块,用于读取矢量寄存器归属标识,所述矢量寄存器归属标识为矢量处理器的矢量寄存器组中的数据归属的线程的标识;
矢量现场保存模块,用于在矢量寄存器归属标识为切出线程的标识时,保存矢量寄存器组中的数据到切出线程的现场保存区,将矢量寄存器归属标识更新为切入线程的标识;
矢量现场恢复模块,用于在矢量现场保存模块保存矢量寄存器组中的数据到切出线程的现场保存区后,从切入线程的现场保存区中为矢量寄存器组加载数据;或者,在矢量寄存器归属标识为切入线程的标识,从切入线程的现场保存区中为矢量寄存器组加载数据。
本发明实施例通过读取矢量寄存器归属标识,根据矢量寄存器归属标识判断矢量寄存器组中的数据归属情况,从而根据矢量寄存器归属标识,判断是否有必要对矢量寄存器组的数据进行保存,避免了在不需要对矢量寄存器组中的数据进行保存时,对矢量寄存器组中的数据的无效保存操作,减少了保护开销,提高了矢量现场切换效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术线程切换中矢量现场切换的方法流程示意图;
图2是本发明线程切换的矢量现场切换的方法的第一实施例中的矢量处理器的结构示意图;
图3是本发明线程切换的矢量现场切换的方法的第一实施例流程示意图;
图4是本发明线程切换的矢量现场切换方法的第二实施例中初始化过程的流程示意图;
图5是本发明线程切换的矢量现场切换方法的第二实施例的流程示意图;
图6是本发明线程切换的矢量现场切换方法执行之前的线程切换流程示意图;
图7是本发明线程切换的矢量现场切换方法的第三实施例的流程示意图;
图8是本发明线程切换的矢量线程切换方法中调用原语划分线程的矢量处理时段和标量处理时段的示意图;
图9是本发明实施例中矢量寄存器占用原语处理过程示意图;
图10是本发明实施例中矢量寄存器释放原语处理过程示意图;
图11是本发明应用场景中线程1和线程2之间切换过程示意图;
图12是本发明实施例提供的矢量现场切换装置的结构示意图。
具体实施方式
本发明实施例提供一种线程切换中,选择性保存矢量现场的矢量现场切换方法。本发明实施例还提供相应的矢量现场切换装置。以下分别进行详细说明。
参见图2,是矢量处理器的结构示意图,矢量处理器的基本结构包括标量处理部分和矢量处理部分,其中,标量处理部分包括用于解释和分发指令的取指译码单元、用于存取和处理标量数据的标量寄存器组和控制程序流的标量功能单元,矢量处理部分包括矢量寄存器组,用于实现执行矢量运算指令所需要的流水线控制矢量指令控制单元,用于完成矢量数据在矢量寄存器组和存储器之间的传递的矢量存取单元,以及和矢量指令对应的矢量功能单元。
与传统的标量处理器的情况类似,将多线程编程模式引入矢量处理部分的矢量现场切换装置可以大大简化现代无线通信的软件的设计。由于各个线程承载事物不同的实时性的要求,各个线程被赋予不同的优先级,通常,承载较高实时性事务的线程抢占承载较低实时性事务的线程,从而获得矢量寄存器的处理。线程之间的抢占和切换过程通常由操作系统完成,在切换的过程中,切出线程是一次线程切换过程中失去处理器资源的一方,切入线程是一次线程切换过程中得到处理器资源的一方,矢量寄存器组中运行的数据也叫矢量现场,标量寄存器组中运行的数据也叫标量现场,切入线程和切出线程发生线程切换时,既要对切换过程中切出线程的当前运行现场的标量现场和矢量现场进行现场保护(将矢量寄存器组的数据保存到切出线程的现场保存区),也要对切入线程的运行现场的标量现场和矢量现场进行现场恢复(将切入线程现场保存区中的数据装载到矢量寄存器组中)。
实施例一的线程切换的矢量现场切换方法基本流程示意图,可参考图3,在执行矢量现场切换方法之前,要对矢量寄存器设置一个矢量寄存器归属标识(VRO,vector registers owner),VRO为矢量处理器中的矢量寄存器组当前所处理的矢量数据归属的线程的标识,用于指示矢量寄存器组处理的数据的归属情况和矢量寄存器组中是否有数据,每个寄存器组都有一个对应的VRO。例如,若矢量处理器当前处理线程1的数据,那么,当前VRO的标识为线程1的标识,若矢量寄存器组中没有数据,可以将VRO设置为空或任何可以表示矢量寄存器组中没有数据的形式,本实施例以VRO设置为空为例,用于指示矢量寄存器组中没有数据。
该方法主要包括:
步骤101,读取矢量寄存器归属标识。
若矢量寄存器归属标识为切出线程的标识,则进入步骤102,若矢量寄存器归属标识为切入线程的标识,则进入步骤104。
步骤102,保存矢量寄存器组中的数据到切出线程的现场保存区,进入步骤103。
步骤103,将矢量寄存器归属标识更新为切入线程的标识,进入步骤104。
步骤104,从切入线程的现场保存区中为矢量寄存器组加载数据。
实施例通过读取矢量寄存器归属标识,判断矢量寄存器归属标识是否为切入线程,进而判断在矢量现场切换时,是否有必要对矢量寄存器组的数据进行保存,在判断为需要保存数据时才对矢量寄存器组的数据进行保存,避免了在矢量寄存器组没有在进行数据处理时,对矢量现场进行的无效保存操作,减少了保护开销,提高了矢量现场切换效率。
为便于理解,下面对第二实施例中的线程切换的矢量现场切换方法进行详细描述。
在进行矢量现场切换之前,预先设置矢量寄存器归属标识,为每个线程设置一个矢量现场有效性标识(VCV,vector context validity),VCV用于表示线程的现场保存区中的矢量数据有效与否,可看作线程本身的一个属性,本实施例中,以VCV设置为“有效”来表示现场保存区中的矢量数据有效,以VCV设置为“无效”来表示现场保存区中的数据无效为例。
初始化过程可参见图4,首先,把矢量寄存器归属标识(VRO)赋值为“空”,说明初始条件下矢量寄存器组不包含任何一个线程的矢量数据;然后,把所有线程的矢量现场有效性标志(VCV)都赋值为“无效”,说明所有线程的现场保存区在初始条件下都不包含有效的数据,初始化过程结束。
参见图5,是第二实施例中线程切换的矢量现场切换方法的流程示意图。第二实施例在从现场保存区中为矢量寄存器组加载数据前,还要判断现场保存区中的数据是否有效,在判断为有效时,才从现场保存区中为矢量寄存器组加载数据。该矢量现场的切换方法包括:
步骤201,读取矢量寄存器归属标识。
若矢量寄存器归属标识为空,表示矢量寄存器不包含任何一个线程的矢量数据,不需要保存矢量寄存器组的矢量现场,则进入步骤205,若矢量寄存器归属标识为非空,表示矢量寄存器组中有数据,则进入步骤202。
步骤202,判断矢量寄存器归属标识是否是切入线程的标识,在矢量寄存器归属标识为切出线程的标识时,进入步骤203;在矢量寄存器归属标识为切入线程的标识时,进入步骤206。
步骤203,保存矢量寄存器组的数据到切出线程的现场保存区中,进入步骤204。
步骤204,将切出线程的VCV更新为有效,进入步骤205。
步骤205,将矢量寄存器归属标识更新为切入线程的标识,进入步骤206。
步骤206,判断切入线程的VCV是否有效,若是,则进入步骤207,若否,则进入步骤209。
步骤207,将切入线程现场保存区中的数据装载到矢量寄存器组中,进入步骤208。
步骤208,将切入线程的VCV赋值为无效,表示其线程保存区不包含未使用完的矢量数据,不需要恢复矢量寄存器的矢量现场。
步骤209,结束矢量现场恢复操作。
实施例通过读取矢量寄存器归属标识,根据矢量寄存器归属标识,进而判断在矢量现场切换时,是否有必要对矢量寄存器组的数据进行保存,在判断为需要保存数据时才对矢量寄存器组的数据进行保存,避免了在矢量寄存器组没有在进行数据处理时,对矢量现场进行的无效保存操作,减少了保护开销。根据矢量现场有效性标识,在有必要恢复矢量现场时,才对切入线程的矢量现场进行恢复,提高了矢量现场切换效率。
为便于理解,下面对第三实施例中的线程切换的矢量现场切换方法进行详细的描述,第三实施例增加了异常保护机制,矢量现场切换过程不一定在线程切换过程中完成,在线程切换结束且标量现场切换完毕后,切入线程访问关闭的矢量寄存器组(被控制寄存器禁止访问的矢量寄存器组)时,会触发异常机制,此时,通过增加了异常保护机制的矢量现场切换方法进行矢量现场切换。
在进行线程切换之前,本实施例初始化过程与第二实施例相同,在此不再赘述,线程切换过程可参加图6,图6是本实施例矢量现场切换方法执行之前的线程切换流程示意图。
步骤501,保存切出线程的标量寄存器组的标量现场。
步骤502,线程切入。
步骤503,判断VRO是否为切入线程的标识,在判断为是时,进入步骤504,在判断为否时,进入步骤505。
步骤504,控制寄存器使能矢量寄存器访问。
步骤505,控制寄存器禁止矢量寄存器访问。
步骤506,恢复切入线程的标量寄存器线程,结束线程切换操作。
在线程切换过程中并没有进行矢量现场的切换。若在切换过程中,控制寄存器使能寄存器访问,切入线程可以正常访问矢量寄存器,不需要对矢量现场进行切换和保存,若在切换过程中,控制寄存器禁止矢量寄存器访问,切入线程访问矢量寄存器时,就会触发异常机制,根据异常机制处理方法来完成矢量现场的切换,该矢量现场的切换方法可参见图7,图7是第三实施例中线程切换的矢量现场切换方法的流程示意图,该矢量现场切换方法包括:
步骤601,切入线程访问矢量寄存器(在控制寄存器禁止矢量寄存器访问的情况下,当切入线程访问矢量寄存器时,就会触发异常)。
步骤602,使能矢量寄存器访问。
步骤603,读取矢量寄存器归属标识,判断矢量寄存器归属标识是否为空。
若矢量寄存器归属标识为空,则进入步骤607,若矢量寄存器归属标识为非空,则进入步骤604。
步骤604,判断矢量寄存器归属标识是否为切入线程的标识,在矢量寄存器归属标识不为切入线程的标识时,进入步骤605;在矢量寄存器归属标识为切入线程的标识时,进入步骤608。
步骤605,将矢量寄存器组中的数据保存到切出线程的现场保存区中,进入步骤606。
步骤606,将切出线程的VCV更新为有效,进入步骤607。
步骤607,将矢量寄存器归属标识更新为切入线程的标识,进入步骤608。
步骤608,判断切入线程的VCV是否有效,若是,则进入步骤609,若否,则进入步骤611。
步骤609,将切入线程的现场保存区中的数据装载到矢量寄存器组中,进入步骤610。
步骤610,将切入线程的VCV赋值为无效。
步骤611,结束矢量现场恢复操作。
可选的,本实施例还提供矢量寄存器占用原语(VRHOLD)和矢量寄存器释放原语(VRFREE),这两个原语用于把对各个线程的完整的线程切换时间划分为矢量处理时段和标量处理时段(矢量空闲时段),其中,线程调用矢量寄存器占用原语表示矢量处理时段开始,线程调用矢量寄存器释放原语标识矢量处理时段结束。参见图8,是矢量寄存器占用原语和矢量寄存器释放原语划分矢量处理时段的示意图,在标量处理时段1和标量处理时段2调用VRHOLD,矢量处理时段1和矢量处理时段2就开始了,在矢量处理时段1和矢量处理时段2调用VRFREE,矢量处理时段1和2就结束了。
参见图9,是矢量寄存器占用原语的处理过程:调用VRHold开始,判断VRO是否为空,若是,则将VRO赋值为当前线程并使能寄存器访问,若否,则退出VRHold的调用。在图9所示的VRHold处理过程中,当矢量寄存器组不包含任何线程的矢量数据,也就是不被任何线程占用时,VRHold使当前线程占用矢量寄存器组并使能矢量寄存器访问,这样,当前线程在调用VRHold原语后执行任何矢量指令都不会产生矢量寄存器访问异常,从而避免一次不必要的矢量寄存器现场保护。反之,当VRO非“空”,即矢量寄存器组被某个线程占用时,VRHold直接退出,当前线程在调用VRHold原语后所执行的第一条矢量指令就会触发矢量寄存器访问异常,从而进入异常处理过程,保存VRO所指线程的矢量寄存器组现场。
参见图10是矢量寄存器释放原语的处理过程:调用VRFree开始,判断当前线程的标识是否等同于VRO,若是,则将VRO赋值为空并禁止矢量寄存器访问,若否,则退出VRFree的调用。在图10所示的VRFree处理过程中,若VRO就是当前线程,即矢量寄存器组被当前线程所占用,VRFree将VRO置为“空”并禁止矢量寄存器访问,表示矢量寄存器组已经不包含任何线程的矢量数据。
在带有异常访问机制的矢量现场切换方法,以及矢量寄存器占用原语(VRHold)和矢量寄存器释放原语(VRFree)的共同作用下,被延迟的矢量寄存器组现场保护根据VRO和切入线程的VCV分为四种场景,表1显示了在这四种场景下不同的矢量寄存器组现场保护操作。
表1  四种场景下的不同的矢量寄存器组现场保护操作
  VRO当前值   切入线程VCV的取值   矢量寄存器组现场保护操作
无效   切入线程的第一条矢量指令不触发矢量寄存器访问异常,“既无保存操作、又无恢复操作”。
非空 无效   切入线程的第一条矢量指令触发矢量寄存器访问异常,“只有保存操作、没有恢复操作”。
有效   切入线程的第一条矢量指令触发矢量寄存器访问异常,“只有恢复操作、没有保存操作”。
非空 有效   切入线程的第一条矢量指令触发矢量寄存器访问异常,“既有保存操作、又有恢
  复操作”。
根据表1,只有在第四种场景下,矢量寄存器组现场保护才包括保存和恢复两种操作,特别在第一种场景下,切入线程的第一条矢量指令甚至不触发矢量寄存器访问异常,因此不存在矢量寄存器组现场保存开销。
为便于理解,下面以具体的应用场景对上述实施例进行详细描述,具体的:可同样参见图11,是一个具有两个线程的矢量现场切换装置中的线程切换过程,途中箭头表示线程切换轨迹。
当切换发生在两个线程的标量处理时段之间,切入线程的第一条矢量指令不触发异常;当一个线程在矢量处理时段切换到另一个线程的标量处理时段,切入线程的第一条矢量指令触发异常,只发生切出线程的矢量寄存器组现场保存操作;当一个线程在标量处理时段切换到另一个线程的矢量处理时段,切入线程的第一条矢量指令触发异常,只发生切入线程的矢量寄存器组现场恢复操作;当切换发生在两个线程的矢量处理时段之间,切入线程的第一条矢量指令触发异常,既发生切出线程的矢量寄存器组现场保存操作,又发生切入线程的矢量寄存器组现场恢复操作。
需要指出的是,根据本实施例各组成部分之间的逻辑关系,矢量寄存器占用原语(VRHold)和矢量寄存器释放原语(VRFree)并不是保证线程切换正确性的必要条件,它们只是划分线程标量和矢量处理时段,从而更好的实现条件保护,从而避免无效保存操作和无效恢复操作的手段。
实施例通过读取矢量寄存器归属标识,根据矢量寄存器归属标识判断矢量寄存器组是否正在处理数据,进而判断在矢量现场切换时,是否有必要对矢量寄存器组的数据进行保存,在判断为需要保存数据时才对矢量寄存器组的数据进行保存,避免了在矢量寄存器组没有在进行数据处理时,对矢量现场进行的无效保存操作,减少了保护开销。根据矢量现场有效性标识,在有必要恢复矢量现场时,才对切入线程的矢量现场进行恢复,提高了矢量现场切换效率。此外,矢量现场切换是在线程切换后,切入线程访问矢量寄存器时才进行,缩短了线程切换的时间。
下面对用于执行上述线程切换的矢量现场切换装置进行说明,其结构示意图参考图12。
该矢量现场切换装置包括:
归属标识读取模块71,用于读取矢量寄存器归属标识,该矢量寄存器归属标识为矢量处理器的矢量寄存器组中的数据归属的线程的标识;
矢量现场保存模块72,用于在矢量寄存器归属标识为切出线程的标识时,保存矢量寄存器组中的数据到切出线程的现场保存区,将矢量寄存器归属标识更新为切入线程的标识;
矢量现场恢复模块73,用于在矢量现场保存模块保存矢量寄存器组中的数据到切出线程的现场保存区后,从切入线程的现场保存区中为矢量寄存器组加载数据;或者,在矢量寄存器归属标识为切入线程的标识,从切入线程的现场保存区中为矢量寄存器组加载数据。
优选的,该矢量现场恢复模块73包括:
现场恢复单元731,用于在切入线程的矢量现场有效性标识指示为有效时,从切入线程的现场保存区中为矢量寄存器组加载数据,或者在切入线程的矢量现场有效性标识指示为无效时,结束操作,所述矢量现场有效性标识指示线程的现场保存区中的数据是否有效;
标识更新单元732,用于在现场恢复单元从切入线程的现场保存区中为矢量寄存器组加载数据后,将切入线程的矢量现场有效性标识更新为无效。
优选的,该标识更新单元732还用于在矢量现场保存模块保存矢量寄存器组中的数据到切出线程的现场保存区之后,将切出线程的现场有效性标识更新为有效。
优选的,该矢量现场切换装置还包括:异常触发模块74,用于在切入线程访问矢量寄存器时,判断是否触发异常,在判断为是时,使能寄存器访问。
优选的,该矢量现场保存模块72还用于在矢量寄存器归属标识指示矢量寄存器中没有数据时,将矢量寄存器归属标识更新为切入线程的标识,并从切入线程的现场保存区中为矢量寄存器组加载数据。
该装置的各个模块的详细操作步骤与本发明方法实施例对应,同样的,参见图6和图7,该装置执行流程为:
在线程切换过程中,VRO不为切入线程的标识,禁止矢量寄存器访问。
步骤601,切入线程访问矢量寄存器时,异常触发模块74判断为触发异常。
步骤602,异常触发模块74使能矢量寄存器访问。
步骤603,归属标识读取单元71读取矢量寄存器归属标识。
若矢量寄存器归属标识为空,则进入步骤607,若矢量寄存器归属标识为切出线程的标识时,进入步骤605。若矢量寄存器归属标识为切入线程的标识时,进入步骤608。
步骤605,矢量现场保存模块72从切出线程的现场保存区中加载数据到矢量寄存器组,进入步骤606。
步骤606,标识更新单元732将切出线程的VCV更新为有效。
步骤607,矢量现场保存模块72将矢量寄存器归属标识更新为切入线程的标识,进入步骤608。
步骤608,矢量现场恢复模块73判断切入线程的VCV是否有效,若是,则进入步骤609,若否,则进入步骤611。
步骤609,矢量现场恢复模块73的恢复单元731将切入线程的现场保存区中的数据装载到矢量寄存器组中,进入步骤610。
步骤610,标识更新单元732将切入线程的VCV赋值为无效。
步骤611,结束操作。
实施例通过读取矢量寄存器归属标识,根据矢量寄存器归属标识判断矢量寄存器组是否正在处理数据,进而判断在矢量现场切换时,是否有必要对矢量寄存器组的数据进行保存,在判断为需要保存数据时才对矢量寄存器组的数据进行保存,避免了在矢量寄存器组没有在进行数据处理时,对矢量现场进行的无效保存操作,减少了保护开销。根据矢量现场有效性标识,在有必要恢复矢量现场时,才对切入线程的矢量现场进行恢复,提高了矢量现场切换效率。此外,矢量现场切换是在线程切换后,切入线程访问矢量寄存器时才进行,缩短了线程切换的时间。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对实施例所提供的矢量现场切换方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种线程切换的矢量现场切换方法,其特征在于,包括:
读取矢量寄存器归属标识,所述矢量寄存器归属标识为矢量处理器的矢量寄存器组中的数据归属的线程的标识;
若矢量寄存器归属标识为切出线程的标识,则保存矢量寄存器组中的数据到切出线程的现场保存区,将矢量寄存器归属标识更新为切入线程的标识,从切入线程的现场保存区中为矢量寄存器组加载数据;若矢量寄存器归属标识为切入线程的标识,从切入线程的现场保存区中为矢量寄存器组加载数据。
2.如权利要求1所述的方法,其特征在于,所述从切入线程的现场保存区中为矢量寄存器组加载数据,具体包括;
如果切入线程的矢量现场有效性标识指示为有效,从切入线程的现场保存区中为矢量寄存器组加载数据,将切入线程的矢量现场有效性标识更新为无效,或者,如果切入线程的矢量现场有效性标识指示为无效,结束操作,所述矢量现场有效性标识指示线程的现场保存区中的数据是否有效。
3.如权利要求2所述的方法,其特征在于,在保存矢量寄存器组中的数据到切出线程的现场保存区之后还包括:将切出线程的矢量现场有效性标识更新为有效。
4.如权利要求1所述的方法,其特征在于,在所述读取矢量寄存器归属标识之前还包括:在切入线程访问矢量寄存器时,判断是否触发异常,若是,则使能寄存器访问。
5.如权利要求4所述的线程切换的矢量现场切换方法,其特征在于,在所述读取矢量寄存器归属标识之后还包括:
若矢量寄存器归属标识指示矢量寄存器中没有数据,则将矢量寄存器归属标识更新为切入线程的标识,并从切入线程的现场保存区中为矢量寄存器组加载数据。
6.一种矢量现场切换装置,其特征在于,包括:
归属标识读取模块,用于读取矢量寄存器归属标识,所述矢量寄存器归属标识为矢量处理器的矢量寄存器组中的数据归属的线程的标识;
矢量现场保存模块,用于在矢量寄存器归属标识为切出线程的标识时,保存矢量寄存器组中的数据到切出线程的现场保存区,将矢量寄存器归属标识更新为切入线程的标识;
矢量现场恢复模块,用于在矢量现场保存模块保存矢量寄存器组中的数据到切出线程的现场保存区后,从切入线程的现场保存区中为矢量寄存器组加载数据;或者,在矢量寄存器归属标识为切入线程的标识,从切入线程的现场保存区中为矢量寄存器组加载数据。
7.如权利要求6所述的矢量现场切换装置,其特征在于,所述矢量现场恢复模块包括:
现场恢复单元,用于在切入线程的矢量现场有效性标识指示为有效时,从切入线程的现场保存区中为矢量寄存器组加载数据,或者在切入线程的矢量现场有效性标识指示为无效时,结束操作,所述矢量现场有效性标识指示线程的现场保存区中的数据是否有效;
标识更新单元,用于在现场恢复单元从切入线程的现场保存区中为矢量寄存器组加载数据后,将切入线程的矢量现场有效性标识更新为无效。
8.如权利要求7所述的矢量现场切换装置,其特征在于,所述标识更新单元还用于在矢量现场保存模块保存矢量寄存器组中的数据到切出线程的现场保存区之后,将切出线程的矢量现场有效性标识更新为有效。
9.如权利要求6所述的矢量现场切换装置,其特征在于,所述装置还包括:异常触发模块,用于在切入线程访问矢量寄存器时,判断是否触发异常,在判断为是时,使能寄存器访问。
10.如权利要求6所述的矢量现场切换装置,其特征在于,所述矢量现场保存模块还用于在矢量寄存器归属标识指示矢量寄存器中没有数据时,将矢量寄存器归属标识更新为切入线程的标识,并从切入线程的现场保存区中为矢量寄存器组加载数据。
CN 201010144661 2010-04-09 2010-04-09 一种线程切换的矢量现场切换方法和装置 Active CN101799771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010144661 CN101799771B (zh) 2010-04-09 2010-04-09 一种线程切换的矢量现场切换方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010144661 CN101799771B (zh) 2010-04-09 2010-04-09 一种线程切换的矢量现场切换方法和装置

Publications (2)

Publication Number Publication Date
CN101799771A CN101799771A (zh) 2010-08-11
CN101799771B true CN101799771B (zh) 2012-12-12

Family

ID=42595455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010144661 Active CN101799771B (zh) 2010-04-09 2010-04-09 一种线程切换的矢量现场切换方法和装置

Country Status (1)

Country Link
CN (1) CN101799771B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914426B (zh) * 2013-01-06 2016-12-28 中兴通讯股份有限公司 一种多线程处理基带信号的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1285064A (zh) * 1997-12-16 2001-02-21 英特尔公司 进行无序多线程执行的加载和存储指令排序系统
CN1936833A (zh) * 2005-09-19 2007-03-28 威盛电子股份有限公司 选择可实质同时处理的多重线程的系统与方法
CN101627365A (zh) * 2006-11-14 2010-01-13 索夫特机械公司 用于处理使用上下文切换的多线程架构中的指令的装置和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1285064A (zh) * 1997-12-16 2001-02-21 英特尔公司 进行无序多线程执行的加载和存储指令排序系统
CN1936833A (zh) * 2005-09-19 2007-03-28 威盛电子股份有限公司 选择可实质同时处理的多重线程的系统与方法
CN101627365A (zh) * 2006-11-14 2010-01-13 索夫特机械公司 用于处理使用上下文切换的多线程架构中的指令的装置和方法

Also Published As

Publication number Publication date
CN101799771A (zh) 2010-08-11

Similar Documents

Publication Publication Date Title
US20150149658A1 (en) Software upgrade of routers
CN101387988B (zh) 具有闪速存储器的计算机和运行闪速存储器的方法
ATE429674T1 (de) Cross partition teilung von zustandsinformation
CN102713854A (zh) 一种容器状态的保存和恢复的方法及装置
CN107493180B (zh) 一种虚拟交换机的升级方法以及装置
CN103581979A (zh) 无线保真wifi网络接入方法及终端设备
CN111352350B (zh) 一种确定智能家居场景执行的方法及装置
CN103491134A (zh) 一种监控容器的方法、装置与代理服务系统
CN111061981A (zh) 页面管理方法、装置、存储介质及电子设备
CN101799771B (zh) 一种线程切换的矢量现场切换方法和装置
KR20220113710A (ko) Gpu 패킷 집계 시스템
CN103377071B (zh) 一种数据批量删除方法和系统
CN102609306B (zh) 多核处理芯片对视频处理任务的处理方法及其系统
CN102141938B (zh) 多线程系统中软件负荷的调整方法及装置
CN109408405B (zh) 内存页交换方法、装置、终端及存储介质
CN100419689C (zh) 中断处理方法及装置
CN103077052A (zh) 一种处理移动终端运行卡顿问题的方法及装置
CN102750185A (zh) 一种数据自适应输出方法及系统
KR101655236B1 (ko) 디버깅 장치 및 방법
CN202548823U (zh) 非阻塞协处理器接口系统
CN105468434A (zh) 一种处理虚拟机异常的方法及装置
CN107704273B (zh) 一种跟踪场景状态变化的方法、触发装置及接收装置
CN107632881B (zh) 一种虚拟处理器的状态切换方法及装置
CN102096580A (zh) 状态机相关信息存储方法及装置
CN103365719A (zh) 一种设备休眠状态下的数据处理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant