可缩短内文交换时间的方法及其半导体装置

文档序号:1270904 发布日期:2020-08-25 浏览:15次 >En<

阅读说明:本技术 可缩短内文交换时间的方法及其半导体装置 (Method for shortening text exchange time and semiconductor device thereof ) 是由 张柏坚 曾志豪 于 2019-02-19 设计创作,主要内容包括:本发明涉及一种可缩短内文交换时间的方法及其半导体装置,该半导体装置包含有至少一中央处理器、一逻辑电路及至少一缓存器,其中该缓存器包含有一个或一个以上的一般缓存器群、一个或一个以上的控制状态缓存器及程序计数缓存器,供利用该逻辑电路直接读写该中央处理器的所有缓存器与至少一内存的内文交换的至少一任务的内文,当需要进行内文交换时,该逻辑电路会暂停中央处理器,将中央处理器的所有任务的内文用DMA技术存放于指定的内存中,并且修改运行顺序的值,然后将预计执行的下一组任务中的内文用DMA技术存回中央处理器中,最后恢复中央处理器执行,如此就可以完成内文交换,而能缩短作业时间,并可提升多任务处理效率。(The invention relates to a method for shortening the context exchange time and a semiconductor device thereof, the semiconductor device comprises at least a central processing unit, a logic circuit and at least a buffer, wherein the buffer comprises one or more than one general buffer group, one or more than one control state buffer and a program counting buffer, for utilizing the logic circuit to directly read and write the context of at least one task of the context exchange between all the buffers of the central processing unit and at least one memory, when the context exchange is needed, the logic circuit can suspend the central processing unit, store the context of all the tasks of the central processing unit in the appointed memory by using the DMA technology, and modify the value of the operation sequence, then store the context in the next group of tasks expected to be executed back to the central processing unit by using the DMA technology, and finally resume the execution of the central processing unit, therefore, the context exchange can be completed, the operation time can be shortened, and the multitasking efficiency can be improved.)

可缩短内文交换时间的方法及其半导体装置

技术领域

本发明隶属一种可缩短内文交换时间的技术,具体而言是指一种通过硬件电路的可缩短内文交换时间的方法及其半导体装置。

背景技术

计算机的核心是所谓中央处理器【Central Processing Unit,简称CPU】,其基本上就是接受指令、输入数据、计算或输出数据等动作,而早期的计算机,大多只有一个CPU,但要处理很多程序或任务而最简单的想法就是一个程序或任务做完,然后做下一个程序或任务,但这样感觉后面的程序或任务就一直在等待,因此有人想说把程序或任务切成很多片段,而CPU每次就处理这些程序或任务的一部份,这样感觉就是同时在处理很多工作,称为多任务处理。如图1所示,“分时多任务”是实现多任务处理的一种方法、其将CPU的运行时间拆成多个片段,每个片段执行某个程序或任务【Task】的工作,例如Task1、Task2、Task3、Task4…,而当其中一个片段如Task1时间到达后,必须要将目前正在执行任务的状态储存下来,在此称之为快照,并且加载另一个任务如Task2的快照,用以继续执行下一个任务如Task2的工作,以此类推;

然而内文交换【又称环境切换】是目前分时多任务中常用来做储存快照、以及加载快照之方法,内文交换是将目前正在执行的CPU中所有跟Task相关的所有缓存器储存至内存中,并且在另一个区域的内存加载下一个将被执行Task的缓存器,来达到储存以及加载快照的功能。由于目前实现内文交换的方法皆由软件自行将CPU缓存器中内文一个个的搬移至内存中储存,然后将下一个Task的快照由内存搬移至CPU的缓存器中,在许多应用中,Task需要多任务以及高速反应,在设计时是非常重要的考虑条件,但是为了完成快照的储存以及加载,软件需要耗费数百甚至数千的指令周期来达到此功能,如此可能对Task的执行效能造成影响。

如图2所示,在相同的时间长度下,若是这个内文交换时间变长,相对地CPU能够花费在处理Task的时间就会变少,故内文交换所花费的时间越多,就会使多任务的效能变差;

换言之,由于在大部分的多任务处理环境下,实现内文交换的工作皆在软件中完成,而由于软件的作业需要消耗数百、数千个CPU的指令周期才能完成此工作,无法有效的提升多任务效率,因此如何解决前述问题,而能够缩短内文交换的时间,是业界的重要课题,也是本发明所探讨者。

有鉴于此,本发明即基于上述需求与问题深入探讨,并藉由本发明人多年从事相关开发的经验,而积极寻求解决之道,经不断努力之研究与发展,终于成功的发展出一种可缩短内文交换时间之方法及其半导体装置,其能有效解决现有内文交换时间无法有效缩短所造成的不便与困扰。

发明内容

因此,本发明的主要目的是在提供一种可缩短内文交换时间的方法及其半导体装置,其能通过直接内存访问的方式,使搬移数据所需的时间会远低于现有软件的搬移时间,而可以大幅降低内文交换的时间,以提高多任务系统的执行效率。

另,本发明的再一主要目的是在提供一种可缩短内文交换时间的方法及其半导体装置,其能使计算机系统的多任务处理更为稳定,提升整体计算机系统的效率。

为此,本发明主要通过下列的技术手段,来具体实现上述的各项目的与效能,该半导体装置包含有至少一中央处理器及一逻辑电路,供利用该逻辑电路直接读写该中央处理器与至少一内存的内文交换的至少一任务的任务信息;

而所述的中央处理器包含有一控制单元、一处理单元及一缓存器,其中该缓存器包含有一个或一个以上的一般缓存器群、一个或一个以上的控制状态缓存器及程序计数缓存器,其中该控制单元被修改为可执行逻辑电路的指令,又该一般缓存器群、控制状态缓存器及程序计数缓存器能被修改为可供逻辑电路进行存取;

又所述的逻辑电路是设于该半导体装置内,该逻辑电路是采直接内存访问技术,令该逻辑电路能暂停及启动该中央处理器的指令执行,且该逻辑电路并能够读写该中央处理器的所有缓存器;

所述的内存的区域中定义出一块区域,供存放多个任务信息的编号、优先序、状态及内文;

藉此,当需要进行内文交换时,该逻辑电路会暂停中央处理器,将中央处理器中储存所有任务的任务信息的所有缓存器用DMA技术存放于指定的内存中,并且修改运行优先序的值,然后将预计执行的下一组任务中的内文用DMA技术存回中央处理器的缓存器中,最后恢复中央处理器执行,如此就可以完成,而能缩短作业时间,并可提升多任务处理效率。

进一步的,该逻辑电路可以控制一个以上的中央处理器的架构。

进一步的,该缓存器包括至少一个一般缓存器群、至少一群控制状态缓存器及至少一群程序计数缓存器。

进一步的,该逻辑电路包含有有一交换屏蔽缓存器,供该逻辑电路依据交换屏蔽缓存器的设定内文来决定是否对于对应的任务做内文交换动作,该交换屏蔽缓存器是由软件来设定、以及清除。

进一步的,该逻辑电路具有一计时电路,供设定进行内文交换的时间。

进一步的,该内存可以是动态随机存取内存或可以是静态随机存取内存一种如上述中任一项所述半导体装置的可缩短内文交换时间的方法采用如下的方案:

该方法的流程包含有:首先,执行步骤S101、逻辑电路请求一中央处理器暂停执行指令;

接着,执行步骤S102、逻辑电路读取该中央处理器中一原执行任务的内文:该逻辑电路以DMA技术读取该暂停执行的任务的内文;

之后,执行步骤S103、逻辑电路将原执行任务的内文由中央处理器的缓存器加载一内存中的指定地址;该逻辑电路以DMA技术将该任务的任务信息加载一内存的指定地址,并设定修改该任务的顺序值;

再者,执行步骤S104、逻辑电路由一内存中抓取一将要执行任务的内文;该逻辑电路依各内存中各区段任务的顺位值,利用前述DMA技术抓取该将要执行任务的内文;

紧接着,执行步骤S105、逻辑电路将要执行任务的内文写入一中央处理器中;该逻辑电路进一步利用DMA技术将前述要执行任务的内文写入该中央处理器中的缓存器;

最后,执行步骤S106、逻辑电路通知该中央处理器恢复指令运行;

重复依序执行前述步骤,供完成多任务处理的内文交换的动作。

进一步的,该步骤S103中,该逻辑电路具有一交换屏蔽缓存器,其中该逻辑电路依据该交换屏蔽缓存器的内文决定是否进行内文交换。

进一步的,该步骤S103中,该逻辑电路设有一计时电路,供利用来决定多少时间才执行一次内文交换。

附图说明

图1是现有处理器于多任务处理中的工作执行片段执行示意图。

图2是现有处理器于多任务处理的内文交换运行时间的时序图。

图3是本发明可缩短内文交换时间的半导体装置的架构示意图。

图4是本发明可缩短内文交换时间的方法的流程示意图。

图5是本发明可缩短内文交换时间的半导体装置于实际运作时的动作架构示意图。

图中各标记对应的名称:10、中央处理器,12、控制单元,14、处理单元,16、一般缓存器群,18、控制状态缓存器,19、,程序计数缓存器,20、逻辑电路,21、交换屏蔽缓存器,25、计时电路,30、内存,35、系统连接总线。

具体实施方式

本发明一种可缩短内文交换时间的方法及其半导体装置,随附图例示本发明的具体实施例及其构件中,所有关于前与后、左与右、顶部与底部、上部与下部、以及水平与垂直的参考,仅用于方便进行描述,并非限制本发明,亦非将其构件限制于任何位置或空间方向。附图与说明书中所指定的尺寸,当可在不离开本发明的申请专利范围内,根据本发明的具体实施例的设计与需求而进行变化。

如图3所示,该半导体装置包含有至少一中央处理器10及一逻辑电路20。该逻辑电路20直接读写该中央处理器10与至少一内存30的数据迁移。在较佳实施例中,该半导体装置有两个中央处理器10。

每个中央处理器10包含有一控制单元12、一处理单元14及一缓存器。该缓存器群包含有至少一个一般缓存器群16、至少一个控制状态缓存器18及至少一个程序计数缓存器19。控制单元12用于控制该中央处理器10内部其他单元的运行,并对外部接收或发送指令。该处理单元14可依控制单元12接受的指令处理中央处理器10的指令。一般缓存器群16可用于存放及执行任务的工作状态。该一般缓存器群16是有限存贮容量的高速存贮部件,可用来暂存数据、地址、或者其他运算信息。控制状态缓存器18及程序计数缓存器19可供储存控制单元12的控制及状态等信息。

所述的逻辑电路20【可以称为Context-Changer】系是设于该半导体装置内,且在某些实施例中该逻辑电路20可以同步操作该半导体装置中的一个以上的中央处理器10。再者该逻辑电路20是采直接内存访问技术【DirectMemoryAccess,下称DMA技术】,供独立地直接读写及传送各该中央处理器10的所有缓存器及各该内存30间的数据,且同时修改该中央处理器10的控制单元12,让该逻辑电路20能通过控制单元12暂停该中央处理器10的指令执行,并修改该中央处理器10的一般缓存器群16、程序计数缓存器19及控制状态缓存器18的存取方式,让该逻辑电路20能够读写该中央处理器10的所有缓存器。而根据某些实施例,该逻辑电路20包含有一交换屏蔽缓存器21,供该逻辑电路20依据交换屏蔽缓存器21的设定内文来决定是否对于对应的任务做内文交换动作,该交换屏蔽缓存器21是由软件来设定、以及清除,若逻辑电路20要做内文交换时,若发现交换屏蔽缓存器21被设定时,其会暂停此任务的内文交换的动作,直到交换屏蔽缓存器21被清除时,才会去执行内文交换动作。另根据某些实施例,该逻辑电路20进一步具有一计时电路25,供决定多少时间才执行一次内文交换。

所述的内存30可以是动态随机存取内存【Dynamic Random Access Memory,DRAM】或静态随机存取内存【Static RandomAccess Memory,SRAM】。各该内存30通过至少一系统连接总线35与前述的中央处理器10连结。且根据某些实施例,各该内存30与中央处理器10可以是同一半导体装置。在内存30区域中定义出一块区域,供存放多个任务信息【Task-Info】之的任务编号【ID】、优先序【Priority】、状态【Status】及内文【Context Data】。

藉此,组构成一种可缩短作业时间、且提升多任务处理效率的可缩短内文交换时间的半导体装置。

当需进行分时工多的处理时,本发明利用前述半导体装置的逻辑电路20于中央处理器10与内存30中进行多任务处理的内文交换。该可缩短内文交换时间的方法如图4所示。

参考图4、图5,首先,执行步骤(S101)、逻辑电路请求一中央处理器暂停执行指令:该逻辑电路20向一中央处理器10的控制单元12请求暂停执行指令,使该中央处理器10停止执行中的任务的运行。该逻辑电路20可以同时控制多颗中央处理器10,但是同一组任务的任务信息,在同时间下,只能在某一颗中央处理器10中执行。之后执行步骤(S102)。

在步骤(S102),一逻辑电路读取该中央处理器中一原执行任务的内文:该逻辑电路20以直接内存访问技术【DMA技术】读取该暂停执行的任务的内文,之后执行步骤(S103)。

在步骤(S103),一逻辑电路将原执行任务的内文加载一内存中的指定地址:该逻辑电路20以DMA技术将该任务的内文由中央处理器的缓存器加载一内存30的指定地址,并设定修改该任务的任务信息中的任务编号、优先序及状态的值,以决定下一次被执行的顺序及时间。而根据某些实施例,该逻辑电路20可依据交换屏蔽缓存器21的设定内文来决定对应任务执行内文交换动作。再者,根据某些实施例,该逻辑电路20进一步可以利用计时电路25所设定时间进行对应任务的内文交换动作。且根据某些实施例,该逻辑电路20也可以由软件设定内文,使其立即执行内文交换动作一次。之后执行步骤(S104)。

在步骤(S104),一逻辑电路由一内存中抓取一将要执行任务的内文:该逻辑电路20依各内存30中各区段任务的任务编号、优先序及状态的值的顺序在第一顺位者,利用前述DMA技术抓取该将要执行任务的任务信息的内文,之后执行步骤(S105)。

在步骤(S105),一逻辑电路将要执行任务的内文写入一中央处理器中:该逻辑电路20进一步利用DMA技术将前述要执行任务的内文写入该中央处理器10中的缓存器,之后执行步骤(S106)。

在步骤(S106),一逻辑电路通知该中央处理器恢复指令运行:该逻辑电路20在将接下来要执行任务的内文写入中央处理器10的缓存器后,进一步通知该中央处理器10的控制单元12恢复指令运行。

经由上述的说明,本发明就可以利用前述逻辑电路20的DMA技术完成储存中央处理器10内旧的任务的内文,以及重载新的任务的内文的动作,并不断的循环前述步骤(S101)至步骤(S106),而完成多任务处理的运行,由于以硬件形式的逻辑电路20的DMA技术搬移数据所需的时间会远低于现有以软件的搬移时间,因此本发明可以大幅降低内文交换的时间,以提高多任务系统的执行效率。

综上所述,可以理解到本发明为一创意极佳的发明创作,除了有效解决现有技术所面临的问题,更大幅增进功效,且在相同的技术领域中未见相同或近似的产品创作或公开使用,同时具有功效的增进,故本发明已符合发明专利有关「新颖性」与「进步性」的要件,乃依法提出发明专利的申请。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:高效跟踪脏高速缓存行在二级主存储器的高速缓存中的位置的方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类