具有信号量功能的片上系统和信号量分配方法_3

文档序号:9826228阅读:来源:国知局
来与片上系统100通信。但是,从装置160可被理解为与接口 150连接的片上系统100的IP块或者其他半导体装置。
[0069]根据上述片上系统100,包括有执行允许主设备共享一个从设备的信号量操作的信号量单元140。信号量单元140通过关键部分给主设备之一分配接口 150的信号量。这里,关键部分可对应于根据发明构思的一些示例实施例的原子序列,并且可能与一组寄存器访问操作的单元相关。任何一个主设备占用接口 150的时间可通过信号量单元140的介入来被限制和确定并且/或者被固定,并且当固定的占用时间流逝,接口 150的占用(即,控制、使用等等)被释放。因此,在任何一个主设备占用接口 150的时间被预测时,可以给必需实时控制从装置160的主设备提供调度的便利。
[0070]图2是示意性地示出根据发明构思的至少一个示例实施例的图1中示出的信号量单元140的框图。参照图2,信号量单元140至少包括与主设备对应的原子定序器(atomicsequencer) 141和142以及信号量控制器143。
[0071]第一原子定序器141管理第一主设备110的访问接口 150的请求。也就是说,第一原子定序器141检测从第一主设备110发出的关于接口 150的访问请求。在第一主设备110请求访问接口 150的情况下,第一原子定序器141将第一交易发送到接口 150,以获取信号量。如果给第一原子定序器141分配了信号量,则第一原子定序器141执行作为关于对接口 150的访问的期望的、减少的和/或最小的操作单元(例如,期望的操作期)的原子序列。在关于接口 150的原子序列终止时,第一原子定序器141将信号/命令设置和/或传送到信号量控制器143,以释放获取的信号量。
[0072]第二原子定序器142管理第二主设备120的关于访问接口 150的请求。在第二主设备120请求访问接口 150的情况下,第二原子定序器142将第一交易发送到接口 150,以获取信号量。第一交易可由接口 150接收或拒绝。如果通过第一交易给第二原子定序器142分配信号量,则第二原子定序器142执行原子序列。在关于接口 150的原子序列终止时,第二原子定序器142释放获取的信号量。第一原子定序器141和第二原子定序器142可根据信号量控制器143提供的信号量功能通过原子序列来共享接口 150。
[0073]信号量控制器143检测从第一原子定序器141和第二原子定序器142发出的第一交易,以分配信号量。在未给第一原子定序器141和第二原子定序器142中的任何一个分配信号量的情况下,信号量控制器143可给发送第一交易的原子定序器分配信号量。在分配了信号量的情况下,信号量控制器143保持信号量分配状态,直到原子序列终止。例如,如果由第一原子定序器141占用信号量,则尽管从第二原子定序器142发送交易,信号量控制器143也不改变信号量的分配状态。在由第一原子定序器141执行的原子序列终止时,可改变信号量的分配状态。
[0074]信号量控制器143管理用于信号量分配的信号量位值144。也就是说,信号量控制器143分别设置指示关于第一原子定序器141的信号量分配状态的信号量位SBl和指示关于第二原子定序器142的信号量分配状态的信号量位SB2。例如,在第一原子定序器141和第二原子定序器142的信号量都被释放时,信号量位值144可被设置为“00”。在给第一原子定序器141分配信号量时,信号量位值144可被设置为“10”,在给第二原子定序器142分配信号量时,信号量位值144可被设置为“01”。使用信号量控制器143检测从第一原子定序器141和第二原子定序器142中的每个发出的交易的结果,可执行对信号量位值144的设置。信号量可由第一原子定序器141和第二原子定序器142独立地释放。
[0075]发明构思的示例实施例被示出为信号量位值144由两位形成。但是,发明构思的范围和精神并不限于此。例如,信号量位值144可由一个位形成。在至少一个示例实施例中,在信号量位值144具有“I”的逻辑值时,可给第一原子定序器141分配信号量,在信号量位值144具有“O”的逻辑值时,第二原子定序器142可占用信号量。可以这样理解,信号量位值144由多个位或多个逻辑状态形成,以给多个原子定序器分配信号量。
[0076]图3是示意性地示出根据至少一个示例实施例的具有信号量功能的片上系统100中包括的主设备110或120的操作的流程图。参照图3,如果发出了访问接口 150的访问请求,则主设备110和120中的每个将相关访问请求发送到对应的原子定序器。这里,为了清楚起见,第一主设备110的操作将被描述,但不限于此。例如,第二主设备120也可以与参照图3描述的方式相同的方式操作。
[0077]在操作SllO中,第一主设备110试图请求访问接口 150,以访问从装置160。为此,第一主设备I1将关于相关操作的访问请求通过总线矩阵130发送到信号量单元140的第一原子定序器141。从第一主设备110发出的访问请求可在第一原子定序器141包括的寄存器处被编程。
[0078]在操作S120中,第一主设备110检测第一原子定序器141的关于访问接口 150的请求是否完成,即,中断信号。第一原子定序器141获取关于接口 150的信号量,并且执行包括用于处理来自第一主设备110的访问请求的多个交易的原子序列。如果原子序列完成,则第一原子定序器141释放信号量。另外,如果原子序列完成,则第一原子定序器141将中断信号发送到第一主设备110。第一主设备110监视和检测这样传输的中断信号。
[0079]在操作S130中,第一主设备110确定是否从信号量单元140接收到中断信号。如果未接收到中断信号,则本方法前进到操作S 120,以检测是否从第一原子定序器141接收到中断信号。如果接收到中断信号,则本方法前进到操作S140。
[0080]在操作S140中,第一主设备110确定是否另外请求访问接口 150。如果另外请求访问接口 150,则本方法前进到操作S110,以发出访问请求。如果不是这样,则本方法结束。
[0081]描述了根据至少一个示例实施例的其中主设备110和120的关于接口 150的访问请求被发送到信号量单元140的方法。主设备110和120只必须将关于接口 150的访问请求发送到信号量单元140,而没有考虑信号量。主设备110和120的访问请求被存储在信号量单元140处,信号量由信号量单元140分配。共享接口 150的主设备110和120不必在软件级别上考虑信号量的设置,但不限于此。
[0082]图4是示意性地示出根据发明构思的至少一个示例实施例的图2中示出的第一原子定序器的操作的流程图。参照图4,第一原子定序器141根据来自第一主设备110的访问请求获取关于接口 150的信号量,并且执行原子序列。为了清楚起见,描述了获取信号量和原子序列的第一原子定序器141的操作,但是该操作并不限于此。同样地,例如,基于来自第二主设备120的访问请求,第二原子定序器142获取关于接口 150的信号量并执行原子序列。
[0083]在操作S210中,第一原子定序器141针对从第一主设备110发出的关于接口 150的访问请求发出第一交易。信号量控制器143基于从第一原子定序器141发出的第一交易来确定是否给第一原子定序器141分配信号量。在未给第一原子定序器141和第二原子定序器142中的任何一个分配信号量的情况下,信号量控制器143给发送第一交易的第一原子定序器141分配信号量。相反,在信号量先前被第二原子定序器142占用的情况下,信号量控制器143延迟给第一原子定序器141分配信号量。
[0084]在操作S220中,第一原子定序器141基于第一交易的输入来检测信号量控制器143的信号量分配状态。在第一原子定序器141获取信号量的情况下,本方法前进到操作S230。相反,在第一原子定序器141未获取信号量的情况下,本方法前进到操作S210,以再次将第一交易发送到接口 150。
[0085]在操作S230中,第一原子定序器141执行原子序列以对接口 150的控制寄存器进行编程。第一原子定序器141可将要在第一交易之后执行的至少一个交易提供给接口 150。第一原子定序器141可执行与原子序列对应的多个寄存器编程或读取操作。
[0086]在操作S240中,如果与访问接口 150的期望的、减少的和/或最小的单元(例如,原子单元)对应的原子序列终止,则第一原子定序器141释放被设置给信号量控制器143的信号量位值144(参照图2)。也就是说,第一原子定序器141释放关于接口 150的当前信号量占用状态。如果信号量状态被释放,则第一原子定序器141的原子序列终止。
[0087]还描述了根据至少一个示例实施例的获取关于接口 150的信号量并执行原子序列的第一原子定序器141的操作。同样地,基于第二主设备120的请求,第二原子定序器142试图获取关于接口 150的信号量并执行原子序列。
[0088]图5A和图5B是不意性地不出根据一些不例实施例的与信号量的分配对应的原子序列的示图。图5A示出了两个主设备分别通过两个不同的接口访问从装置的情况。图5B示出了根据发明构思的至少一个示例实施例的由信号量单元140共享一个接口的结构中的对从装置的访问。
[0089]参照图5A,示出了根据至少一个示例实施例的在主设备分别包括接口时对从装置的访问操作。也就是说,第一接口(未示出)可被设置在第一主设备110和从设备之间,第二接口(未示出)可被设置在第二主设备120和从设备之间。在至少一个示例实施例中,可能不存在第一主设备110和第二主设备120之间的占用接口的竞争。因此,主设备110和120可使用独立的接口来控制从装置160。但是,在至少一个示例实施例中,可能有与主设备一样多的接口。
[0090]参照图5B,主设备110和120被连接到单个接口 150,以便控制从装置160。也就是说,第一主设备I1和第二主设备120与接口 150连接,以便控制从装置160。在至少一个示例实施例中,可能存在第一主设备110和第二主设备120之间的占用接口的竞争。根据发明构思的一些示例实施例的信号量单元140可以硬件的方式仲裁这种竞争,但不限于此,并且在任何一个主设备和从装置160之间发生交易。也就是说,第一主设
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1