一种处理系统以及一种片上系统

文档序号:510401 发布日期:2021-05-28 浏览:1次 >En<

阅读说明:本技术 一种处理系统以及一种片上系统 (Processing system and system on chip ) 是由 王金富 王凛 于 2021-02-08 设计创作,主要内容包括:本申请公开了一种片上系统,包括:N个子系统,N为正整数,与N个子系统均连接的根控制单元;根控制单元包括:命令生成器,用于在接收到任一子系统发送的状态信号之后,按照命令生成器中的寄存器配置,输出对应于状态信号的各条命令至命令缓冲器的命令队列中;命令缓冲器;命令发送状态器,用于从命令缓冲器的命令队列中顺序读取命令,并且读取了任意一条命令之后,将读取的该条命令发送至对应于该条命令的子系统的枝控制单元中以进行该命令的执行。应用本申请的方案,有效地提高了片上系统的效率,且提高了任务耗时的稳定性。本申请还提供了一种处理系统,具有相应技术效果。(The application discloses system on a chip includes: n subsystems, wherein N is a positive integer, and the N subsystems are connected with a root control unit; the root control unit includes: the command generator is used for outputting each command corresponding to the status signal to a command queue of the command buffer according to the register configuration in the command generator after receiving the status signal sent by any subsystem; a command buffer; and the command sending state device is used for sequentially reading commands from the command queue of the command buffer, and sending the read command to the branch control unit of the subsystem corresponding to the command to execute the command after reading any command. By the scheme, the efficiency of the system on chip is effectively improved, and the time-consuming stability of the task is improved. The application also provides a processing system which has corresponding technical effects.)

一种处理系统以及一种片上系统

技术领域

本发明涉及计算机技术领域,特别是涉及一种处理系统以及一种片上系统。

背景技术

目前的SoC(System on Chip,片上系统)的开发已经呈现出设计功能越来越复杂、设计规模越来越大,芯片制造工艺尺寸越来越小的趋势,对芯片的高性能,低功耗,多应用场景等的需求也越来越高。高性能的要求意味着芯片的内部运行频率越来越高,低功耗的要求意味着芯片设计时要尽可能多地采用低功耗设计方法,例如把芯片逻辑划分成其供电电源可以单独打开或关断的电源域Power Domain、采用门控时钟单元Clock Gating Cell控制时钟开关、采用多个供电电源且它们的值动态可调等等。多应用场景则是根据芯片的每一种应用情况,定义相应的时钟开关状态和运行频率、相应的电源域开关状态以及每个供电电源值等,以使得在满足应用场景需求的前提下功耗和性能最优化。在SoC中,实现上述功能的电路称为SCU(System Control Unit,系统控制单元),通常包括三部分:CCU(Clock Control Unit,时钟控制单元)、RCU(Reset Control Unit,复位控制单元)以及PCU(Power Control Unit,电源控制单元),且有时需要各个部分协同工作来完成某种功能。

图1为目前的SoC系统的控制单元的实现方法,各个子系统的结构相同,仅示出了子系统1的结构。以子系统1的系统控制单元为例,工作流程如下:1、子系统1完成某项工作任务,向中断处理单元发送位宽为M的中断或状态信号[M-1:0]。2、中断处理单元按照优先级给CPU发送中断信号。3、CPU响应中断请求,获得子系统1的当前状态并确定其下一步行动方案。4、CPU通过“AHB/AXI从接口2”端口向片上互联模块发送控制命令,该命令经过片上互联模块的“总线仲裁器1”端口、片上互联模块的“AHB主接口1”端口,传输到子系统1系统控制单元的AHB接口。最后,子系统1系统控制单元的AHB接口在处理控制命令后,通过寄存器读写信号去实现对时钟控制单元的时钟频率、复位控制单元的逻辑复位或电源控制单元的电源域、门控时钟和供电电源值等的设置。

图1的SoC系统由硬件部分和软件部分组成。在上述过程中,CPU需要一定的时间来执行软件程序从而对中断信号进行判断和处理,得出子系统的下一步行动方案。并且,片上互联模块控制命令传输的时间不确定。此外,由于片上互联模块与多个CPU连接,可能同时接收多个“AHB/AXI从接口”的访问,这样上述过程中“AHB/AXI从接口2”到“AHB主接口1”的命令传输时间较长且具有很大的不确定性。基于以上原因,使得目前的SoC系统存在效率不高,且执行任务耗时不稳定的问题。

综上所述,如何有效地提高片上系统的效率,提高任务耗时的稳定性,是目前本领域技术人员急需解决的技术问题。

发明内容

本发明的目的是提供一种处理系统以及一种片上系统,以有效地提高片上系统的效率,提高任务耗时的稳定性。

为解决上述技术问题,本发明提供如下技术方案:

一种片上系统,包括:

N个子系统,N为正整数,与N个子系统均连接的根控制单元;

所述根控制单元包括:

命令生成器,用于在接收到任一子系统发送的状态信号之后,按照所述命令生成器中的寄存器配置,输出对应于所述状态信号的各条命令至命令缓冲器的命令队列中;

所述命令缓冲器;

命令发送状态器,用于从所述命令缓冲器的命令队列中顺序读取命令,并且读取了任意一条命令之后,将读取的该条命令发送至对应于该条命令的子系统的枝控制单元中以进行该命令的执行。

优选的,所述命令生成器生成的命令中至少携带了枝控制单元的编号以及枝控制单元执行命令的字段信息;每个子系统中均具有1个枝控制单元,且编号互不相同;

所述命令发送状态器具体用于:从所述命令缓冲器的命令队列中顺序读取命令,并且读取了任意一条命令之后,根据读取的该条命令中的枝控制单元的编号,将该条命令发送至与该条命令的编号相同的子系统的枝控制单元中以进行该命令的执行。

优选的,所述根控制单元中还包括:

第一配置接口,所述第一配置接口与所述命令生成器中的寄存器以及所述命令缓冲器连接,用于接收第一配置调整指令以对所述命令生成器中的寄存器的配置进行调整,并且用于接收调试命令以将所述调试命令输出至所述命令缓冲器的命令队列中。

优选的,所述第一配置接口为第一AHB配置接口。

优选的,每个子系统中均包括1个枝控制单元和多个叶控制单元;

每个子系统中的枝控制单元中均包括:

命令接收器,用于判断接收的命令是否为状态查询命令,如果是,则读取所述命令接收器中的状态值并且向所述根控制单元反馈;如果否,则将接收的命令发送至命令解析调度器中;

所述命令解析调度器,用于当接收到命令时,按照所述命令解析调度器中的寄存器配置,将接收的命令进行拆分,并且按照执行时序依次将拆分之后的命令发送至对应的命令执行器中;

各个所述命令执行器,每个命令执行器均用于在接收到所述命令解析调度器发送的命令时,控制与该命令执行器连接的叶控制单元执行接收到的命令,并且在该命令成功执行之后,向所述命令解析调度器返回表示该命令成功执行的提示信息。

优选的,所述命令解析调度器,还用于:

按照执行时序依次将拆分之后的命令发送至对应的命令执行器中,且拆分之后的各个命令均成功执行之后,向命令接收器返回第一信息;

所述命令接收器,还用于:将接收的命令发送至命令解析调度器之后,在接收到所述第一信息之前,设置状态标识为非空闲状态,在接收到所述第一信息之后,未接收到所述根控制单元新发送的命令之前,设置状态标识为空闲状态;

所述命令发送状态器,还用于,在进行任意一条命令的发送时,判断对应于该条命令的子系统的枝控制单元是否为空闲状态,如果是,则进行该命令的发送,否则暂停该命令的发送。

优选的,所述枝控制单元中还包括:

第二配置接口,所述第二配置接口与所述命令解析调度器中的寄存器连接,用于接收第二配置调整指令以对所述命令解析调度器中的寄存器的配置进行调整。

优选的,所述第二配置接口为第二AHB配置接口。

优选的,每个子系统中均至少包括:

用于进行时钟控制的时钟叶控制单元;

用于进行复位控制的复位叶控制单元;

用于进行电源控制的电源叶控制单元。

优选的,所述命令生成器为包括M个命令生成电路的命令生成器,每个命令生成电路与对应的子系统连接,以使所述命令生成器在同时接收到M个子系统发送的状态信号时,同时进行M个状态信号的处理,M为正整数。

一种处理系统,包括上述任一项所述的片上系统。

应用本发明实施例所提供的技术方案,基于全硬件的方式实现片上系统。具体的,本申请不需要CPU参与,而是设置了与N个子系统均连接的根控制单元,根控制单元中的命令生成器用来生成命令,具体的,命令生成器在接收到任一子系统发送的状态信号之后,是按照命令生成器中的寄存器配置,输出对应于状态信号的各条命令至命令缓冲器的命令队列中,可以看出,本申请是直接通过硬件实现命令的生成,提高了效率,降低了耗时,且生成命令的耗时较为稳定。命令发送状态器则可以从命令缓冲器的命令队列中顺序读取命令,并且读取了任意一条命令之后,将读取的该条命令发送至对应于该条命令的子系统的枝控制单元中以进行该命令的执行。可以看出,本申请的方案中不需要传统的片上互联模块,直接由命令发送状态器将读取的该条命令发送至对应于该条命令的子系统的枝控制单元中,因此,也不会出现传统方案中片上互联模块这一环节导致的传输时间较长且具有很大的不确定性的问题。综上所述,本申请的方案有效地提高了片上系统的效率,且提高了任务耗时的稳定性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为目前的SoC系统的控制单元的实现示意图;

图2为本发明中一种片上系统的结构示意图;

图3为本发明一种

具体实施方式

中的片上系统的结构示意图。

具体实施方式

本发明的核心是提供一种片上系统,有效地提高了片上系统的效率,且提高了任务耗时的稳定性。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图2,图2为本发明中一种片上系统的结构示意图,该片上系统可以包括:

N个子系统200,N为正整数,与N个子系统200均连接的根控制单元100;

根控制单元100包括:

命令生成器110,用于在接收到任一子系统200发送的状态信号之后,按照命令生成器110中的寄存器配置,输出对应于状态信号的各条命令至命令缓冲器120的命令队列中;

命令缓冲器120;

命令发送状态器130,用于从命令缓冲器120的命令队列中顺序读取命令,并且读取了任意一条命令之后,将读取的该条命令发送至对应于该条命令的子系统200的枝控制单元210中以进行该命令的执行。

子系统200的具体数量以及每个子系统200的具体功能可以根据实际需要进行设定和调整,根控制单元100与N个子系统200均连接,可以接收到各个子系统200发送的状态信号,并且需要强调的是,中断信号的功能可以被状态信号涵盖,即中断信号可以作为本申请实施方式中描述的状态信号中的一种类型。

命令生成器110在接收到任一子系统200发送的状态信号之后,会按照命令生成器110中的寄存器配置,输出对应于状态信号的各条命令至命令缓冲器120的命令队列中。可以理解的是,状态信号的内容不同,生成的命令不同。

还需要说明的是,命令生成器110接收到某一个子系统200发送的状态信号时,可能是生成1条命令,也可能生成多条命令,例如当接收到子系统1发送的状态信号A时,生成1条命令A,该命令A需要由子系统1执行,例如当接收到子系统1发送的状态信号B时,生成命令B和命令C,分别由子系统1和子系统4执行。此外,在实际应用中,当根据接收的状态信号生成一条对应的命令时,该命令通常是由发送该状态信号的子系统200执行,当生成对应的多条命令时,通常是由包括发送状态信号的子系统200在内的多个子系统200分别执行一条命令。

考虑到命令生成器110会不断地输出命令,因此,本申请由命令缓冲器120进行命令的缓冲。

命令发送状态器130则可以从命令缓冲器120的命令队列中顺序读取命令,并且读取了任意一条命令之后,将读取的该条命令发送至对应于该条命令的子系统200的枝控制单元210中以进行该命令的执行。

可以理解的是,针对任意一条命令,该条命令中应当携带有执行该命令的子系统200的信息,以使得命令发送状态器130能够知道应当将该命令发送至哪一个子系统200执行。

例如在本发明的一种具体实施方式中,命令生成器110生成的命令中至少携带了枝控制单元的编号以及枝控制单元执行命令的字段信息;每个子系统200中均具有1个枝控制单元210,且编号互不相同;

命令发送状态器130具体用于:从命令缓冲器120的命令队列中顺序读取命令,并且读取了任意一条命令之后,根据读取的该条命令中的枝控制单元210的编号,将该条命令发送至与该条命令的编号相同的子系统200的枝控制单元210中以进行该命令的执行。

该种实施方式中,命令的格式定义为:

目标枝控制单元即为该命令所对应的枝控制单元,目标枝控制单元的编号表示的是该命令应当被发送至具有该编号的枝控制单元执行。此外需要说明的是,每一个枝控制单元执行命令的字段信息的定义,可以根据每个子系统200的具体功能不同而不同。

例如对于子系统1而言,目标枝控制单元执行命令的字段信息为0:查询子系统1枝控制单元的状态。目标枝控制单元执行命令的字段信息为1:子系统1进入关电状态。目标枝控制单元执行命令的字段信息为2:子系统1进入睡眠状态。

而对于子系统2而言,例如目标枝控制单元执行命令的字段信息为0:子系统2的时钟降低频率到工作模式2。目标枝控制单元执行命令的字段信息为1:子系统2时钟升高频率到工作模式1。目标枝控制单元执行命令的字段信息为2:子系统2的主要功能电路复位。

进一步的,可参阅图3,在本发明的一种具体实施方式中,根控制单元100中还可以包括:

第一配置接口,第一配置接口与命令生成器110中的寄存器以及命令缓冲器120连接,用于接收第一配置调整指令以对命令生成器110中的寄存器的配置进行调整,并且用于接收调试命令以将调试命令输出至命令缓冲器120的命令队列中。

第一配置接口与命令生成器110中的寄存器连接,从而使得工作人员可以通过第一配置调整指令对命令生成器110中的寄存器的配置进行调整。与此同时,第一配置接口与命令缓冲器120连接,使得工作人员可以直接将调试命令发送到命令缓冲器120,便于进行片上系统的调试。

第一配置接口的具体类型可以根据实际需要进行设定,例如本申请的图3的实施方式中,第一配置接口具体选取为第一AHB配置接口。

每个子系统200的具体构成可以根据实际需要进行设定和调整,在本发明的一种具体实施方式中,每个子系统200中均包括1个枝控制单元210和多个叶控制单元,即每个子系统200的系统控制单元均是由1个枝控制单元210和多个叶控制单元构成。此外需要指出的是,不同的子系统200的叶控制单元的数量以及功能可以不同。本申请的该种实施方式中,每个子系统200中的枝控制单元210以及叶控制单元均是由全硬件实现,保障了片上系统的效率以及任务延时时间的稳定性。

可参阅图3,每个子系统200中的枝控制单元210中均包括:

命令接收器,用于判断接收的命令是否为状态查询命令,如果是,则读取命令接收器中的状态值并且向根控制单元100反馈;如果否,则将接收的命令发送至命令解析调度器中;

命令解析调度器,用于当接收到命令时,按照命令解析调度器中的寄存器配置,将接收的命令进行拆分,并且按照执行时序依次将拆分之后的命令发送至对应的命令执行器中;

各个命令执行器,每个命令执行器均用于在接收到命令解析调度器发送的命令时,控制与该命令执行器连接的叶控制单元执行接收到的命令,并且在该命令成功执行之后,向命令解析调度器返回表示该命令成功执行的提示信息。

图3中仅详细示出了子系统1的系统控制单元的具体结构,包括1个枝控制单元210和x个叶控制单元。

该种实施方式中,当命令接收器判断出接收的命令为状态查询命令时,不需要进行命令的下发,而是可以直接读取命令接收器中的状态值并且向根控制单元100反馈,有利于提高状态查询命令的执行效率。

如果不是状态查询命令,则命令接收器需要将接收的命令发送至与自身连接的命令解析调度器中。

因为不同的命令的复杂度不同,需要参与执行的叶控制单元的数量可能不同,因此本申请通过命令解析调度器按照命令解析调度器中的寄存器配置,将接收的命令进行拆分,从而细化到可以对每一个叶控制单元进行操作的程度

操作叶控制单元则是由命令执行器来实现,每个命令执行器均可以在接收到命令解析调度器发送的命令时,控制与该命令执行器连接的叶控制单元执行接收到的命令,并且在该命令成功执行之后,向命令解析调度器返回表示该命令成功执行的提示信息。即命令执行器将接收到的命令解析调度器发送的命令,转化成与叶控制单元的控制/应答信号。

例如一种具体场景中,如前文的描述,目标枝控制单元210执行命令的字段信息为1:子系统1进入关电状态。则需要操作的叶控制单元的顺序为:

①命令解析调度器利用图3中的命令执行器2给图3中的叶控制单元2(复位控制)发送控制信号,使得子系统1被复位;

②叶控制单元2(复位控制)通过命令执行器2给命令解析调度器发送完成信号;

③命令解析调度器利用图3中的命令执行器x给图3中的叶控制单元x(电源控制)发送控制信号,从而关闭子系统1中的相应逻辑电路的供电电源;

④叶控制单元x(电源控制)通过命令执行器x给命令解析调度器发送完成信号;

⑤命令解析调度器利用图3中的命令执行器1给图3中的叶控制单元1(时钟控制)发送控制信号,关闭子系统1时钟;

⑥叶控制单元1(时钟控制)利用命令执行器1给命令解析调度器发送完成信号;

⑦命令解析调度器给命令接收器返回全部命令执行完成信号。

在本发明的一种具体实施方式中,每个子系统中均至少包括:

用于进行时钟控制的时钟叶控制单元;

用于进行复位控制的复位叶控制单元;

用于进行电源控制的电源叶控制单元。

如前文的描述,不同的子系统200的叶控制单元的数量以及功能可以不同。在该种实施方式中,考虑到通常的子系统200均具有时钟控制,电源控制以及复位控制的要求,因此,在每个子系统200中均设置了时钟叶控制单元,复位叶控制单元以及电源叶控制单元,分别实现对于该子系统200的时钟控制,复位控制以及电源控制。

时钟控制通常可以包括时钟频率的切换控制以及时钟的开关控制,复位控制则可以对子系统200的全局或者部分电路进行复位,电源控制则是对子系统200中的电源域,门控时钟部件,供电电源的电压等项目进行控制。

在本发明的一种具体实施方式中,命令解析调度器,还可以用于:

按照执行时序依次将拆分之后的命令发送至对应的命令执行器中,且拆分之后的各个命令均成功执行之后,向命令接收器返回第一信息;

命令接收器,还用于:将接收的命令发送至命令解析调度器之后,在接收到第一信息之前,设置状态标识为非空闲状态,在接收到第一信息之后,未接收到根控制单元100新发送的命令之前,设置状态标识为空闲状态;

命令发送状态器130,还用于,在进行任意一条命令的发送时,判断对应于该条命令的子系统200的枝控制单元210是否为空闲状态,如果是,则进行该命令的发送,否则暂停该命令的发送。

该种实施方式中,当命令解析调度器正在执行命令时,命令接收器可以设置该子系统200的枝控制单元210的状态标识为非空闲状态,相应的,命令解析调度器将命令执行完毕时,命令接收器可以设置该子系统200的枝控制单元210的状态标识为空闲状态,从而使得命令发送状态器130在子系统200的枝控制单元210处于空闲状态时,才会进行命令的下发,避免出现异常情况。

在本发明的一种具体实施方式中,枝控制单元210中还包括:

第二配置接口,第二配置接口与命令解析调度器中的寄存器连接,用于接收第二配置调整指令以对命令解析调度器中的寄存器的配置进行调整。

通过第二配置接口,可以对命令解析调度器中的寄存器进行配置的调整,例如上文中,对于目标枝控制单元执行命令的字段信息为0:子系统2的时钟降低频率到工作模式2,具体降低多少赫兹的频率,可以由命令解析调度器中的寄存器进行确定。

第二配置接口的具体类型也可以根据需要进行设定和调整,例如通常可以为第二AHB配置接口。

此外,根控制单元100与各个枝控制单元210通常可以通过总线连接,例如采用串行总线,或者自定义的本地总线。

在本发明的一种具体实施方式中,命令生成器110为包括M个命令生成电路的命令生成器110,每个命令生成电路与对应的子系统200连接,以使命令生成器110在同时接收到M个子系统200发送的状态信号时,同时进行M个状态信号的处理,M为正整数。

该种实施方式中,考虑到命令生成器110可能同时接收到多个子系统200发送的状态信号,如果按照顺序处理,由于本申请是基于硬件实现,因此处理效率很高,但是,在一些场合中,当子系统200的数量特别多,或者发送状态信号较为频繁时,为了进一步的提高效率,该种实施方式的命令生成器110由M个命令生成电路构成,从而可以最多并行处理M个子系统200发送的状态信号,因此进一步地提高了片上系统的效率。M的具体取值可以根据实际需要进行设定。

应用本发明实施例所提供的技术方案,基于全硬件的方式实现片上系统。具体的,本申请不需要CPU参与,而是设置了与N个子系统200均连接的根控制单元100,根控制单元100中的命令生成器110用来生成命令,具体的,命令生成器110在接收到任一子系统200发送的状态信号之后,是按照命令生成器110中的寄存器配置,输出对应于状态信号的各条命令至命令缓冲器120的命令队列中,可以看出,本申请是直接通过硬件实现命令的生成,提高了效率,降低了耗时,且生成命令的耗时较为稳定。命令发送状态器130则可以从命令缓冲器120的命令队列中顺序读取命令,并且读取了任意一条命令之后,将读取的该条命令发送至对应于该条命令的子系统200的枝控制单元210中以进行该命令的执行。可以看出,本申请的方案中不需要传统的片上互联模块,直接由命令发送状态器130将读取的该条命令发送至对应于该条命令的子系统200的枝控制单元210中,因此,也不会出现传统方案中片上互联模块这一环节导致的传输时间较长且具有很大的不确定性的问题。综上所述,本申请的方案有效地提高了片上系统的效率,且提高了任务耗时的稳定性。

相应于上面的片上系统的实施例,本发明实施例还提供了一种处理系统,可以包括上述任一实施例中的片上系统,该处理系统可以是进行视频数据处理的处理系统,可以是服务器、计算机中的处理系统等等,可与上文相互对应参照,此处不再重复说明。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:单处理器系统的伺服器主机板

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!