避免主机访问从机出现死锁的方法、装置、系统及芯片制造方法及图纸

技术编号:37325918 阅读:18 留言:0更新日期:2023-04-21 23:04
本发明专利技术公开了一种避免主机访问从机出现死锁的方法、装置、系统及芯片,所述方法包括步骤:在主机模块与从机模块通信过程中,设置于主机模块与从机模块之间的接管模块处于监听透传模式,实时监控所述主机模块与从机模块之间的命令/响应信息并进行透传处理;接收到接管命令后,接管模块切换进入接管模式,对其所连接的从机模块的操作进行接管处理,与主机模块进行后续通信;接收到退出接管命令后,接管模块完成与主机模块之间的当前命令操作,并退出当前接管模式,进入监听透传模式。实施本发明专利技术,可以提高系统的稳定性、健壮性和软件友好性。性。性。

【技术实现步骤摘要】
避免主机访问从机出现死锁的方法、装置、系统及芯片


[0001]本专利技术涉及芯片中数据通信的
,特别是涉及一种避免主机访问从机出现死锁的方法、装置、系统及芯片。

技术介绍

[0002]在大规模数字芯片设计中,通常设置用于访问的主机模块(Master),其可以是诸如采用CPU来实现;同时也会存在多种存储空间类型,例如系统配置空间、片上缓存空间、片外缓存空间等,这些存储空间作为访问的从机模块(Slave),由相应的存储逻辑电路进行管理。故会存在一个主机模块访问多个从机模块的情形,这种访问一般是通过标准的总线协议(例如AMBA AXI总线)和总线互联模块(interconnect)来完成,该总线互联模块用于负责不同功能模块的命令仲裁和访问路由。
[0003]如图1所示,示出了为现有技术中一种具有主机模块与从机模块的应用架构示意图;在这种总线结构下,主机模块通过总线互联模块与至少一个从机模块进行连接。一般地,主机模块发送访问命令后,总线互联模块根据地址映射将访问路由到相应的从机模块;从机模块收到命令后执行并返回响应(例如写执行结果、读数据等),总线互联模块负责仲裁多个从机模块的响应,根据仲裁结果选择一个送给主机模块。另外,通常由时钟复位模块(Clock and Reset Generator ,CRG)负责产生所有模块的时钟和复位信号,为便于低功耗和异常管理,不同模块的时钟和复位信号可以由CPU通过下发软件命令独立控制。
[0004]但是,在主机模块发出命令给某一从机模块后,只有当主机模块收到相应响应后,此命令才算执行完成;如果从机模块一直没法返回响应,则主机模块就会一直处于等待状态而造成死锁。常见地,在下列场景下,可能会出现这种死锁情形:场景1:在低功耗场景下,通过CRG模块将从机模块的时钟关闭并复位有效,则从机处于关断模式而无法执行命令。
[0005]场景2:从机模块内部出现异常,从而无法正确的执行命令并返回响应。
[0006]在现有技术中,一般通过以下方法解决上述死锁问题:对于场景1,在低功耗场景下,限制主机模块不能访问被关断的从机模块。
[0007]对于场景2,将主机模块、总线互联模块和从机模块全部复位,相当于重新启动整系统。
[0008]但是现有的上述解决办法,在实际项目中使用时,会存在一些不足之处:对于场景1的解决方法,应用于平台调试阶段时,如果软件测试还不完备,或者在系统正常运行阶段,因为软件执行异常,还是可能会误访问该被关断的从机模块,从而造成死锁,而在这种情况下,通常要花费很多时间才能调试解决此类死锁问题。
[0009]对于场景2的解决方法,如果单个从机模块内部出现异常,就将所有的主机模块、总线互联模块和从机模块全部复位,这样就会影响其他还在正常运行的功能,会造成较大代价,同时导致系统健壮性很差。

技术实现思路

[0010]本专利技术所要解决的技术问题在于,提供一种避免主机访问从机出现死锁的方法、装置、系统及芯片,可以在不影响其他模块正常工作的情形下避免主机模块出现死锁的情形,提高了系统的稳定性。
[0011]为解决上述技术问题,作为本专利技术的一方面,提供一种避免主机访问从机出现死锁的方法,其至少包括如下步骤:在主机模块与从机模块通信过程中,设置于主机模块与从机模块之间的接管模块处于监听透传模式,实时监控所述主机模块与从机模块之间的命令/响应信息并进行透传处理;接收到接管命令后,接管模块切换进入接管模式,对其所连接的从机模块的操作进行接管处理,与主机模块进行后续通信;接收到退出接管命令后,接管模块完成与主机模块之间的当前命令操作,并退出当前接管模式,进入监听透传模式。
[0012]其中,所述实时监控所述主机模块与从机模块之间的信息并进行透传处理的步骤进一步包括:接管模块将总线互联模块转发的来自主机模块的命令消息透传给从机模块;将来自从机模块的响应消息经由总线互联模块透传给主机模块;接管模块对所述命令和响应消息进行监控和统计,当接收的为主机模块的读命令时,记录命令类型及访问数据长度;当接收的为主机模块的写命令时,记录写数据的发送个数;当接收的为从机模块返回的读命令的读数据时,记录接收到的读数据个数。
[0013]其中,所述接收到来自时钟复位模块的接管命令后,接管模块切换进入接管模式,对其所连接的从机模块的操作进行接管处理的步骤进一步包括:屏蔽主机模块对所述从机模块的所有操作,由接管模块代替所述从机模块与所述主机模块完成所有已发出但还未结束的命令消息,并响应主机模块后续发出的新的命令消息。
[0014]相应地,本专利技术还提供一种避免主机访问从机出现死锁的装置,其设置于主机模块与从机模块之间,其至少包括:监听透传处理单元,用于在主机模块与从机模块通信过程中处于监听透传模式,实时监控所述主机模块与从机模块之间的命令/响应信息并进行透传处理;接管处理单元,用于在接收到接管命令后,切换进入接管模式,对其所连接的从机模块的操作进行接管处理,与主机模块进行后续通信;接管退出单元,用于接收到退出接管命令后,完成与主机模块之间的当前命令操作,并退出当前接管模式,进入监听透传模式。
[0015]其中,所述监听透传处理单元进一步包括:透传处理单元,用于将总线互联模块转发的来自主机模块的命令消息透传给从机模块;将来自从机模块的响应消息经由总线互联模块透传给主机模块;监听处理单元,用于对所述命令和响应消息进行监控和统计,当接收的为主机模块的读命令时,记录命令类型及访问数据长度;当接收的为主机模块的写命令时,记录写数据的发送个数;当接收的为从机模块返回的读命令的读数据时,记录接收到的读数据个数。
[0016]其中,所述接管处理单元进一步包括:屏蔽处理单元,用于屏蔽主机模块对所述从机模块的所有操作,由接管模块代替所述从机模块与所述主机模块完成所有已发出但还未结束的命令消息,并响应主机模块后续发出的新的命令消息。
[0017]相应地,本专利技术还提供一种避免主机访问从机出现死锁的方法,其至少包括如下步骤:在主机模块与从机模块通信过程中,设置于主机模块与从机模块之间的接管模块处于监听透传模式,实时监控所述主机模块与从机模块之间的命令/响应信息并进行透传处理;在检测到一从机模块需要进入低功耗工作模式或出现工作异常时,控制向时钟复位模块发出关断所述从机模块的指令,时钟复位模块向与所述从机模块连接的接管模块发出接管命令;接管模块接收到所述接管命令后,切换进入接管模式,对其所连接的从机模块的操作进行接管处理,与主机模块进行后续通信,并向时钟复位模块返回接管响应;时钟复位模块在收到接管响应后,控制关断所述从机模块。
[0018]其中,所述实时监控所述主机模块与从机模块之间的信息并进行透传处理的步骤进一步包括:接管模块将总线互联模块转发的来自主机模块的命令消息透传给从机模块;将来自从机模块的响应消息经由总线互联模块透传给主机模块;接管模块对所述命令和响应消息进行监控和统计,当接收的为主机模块的读命令时,记录命令类型及访问数据长度;当接收的为主机模块的写命令时,记本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种避免主机访问从机出现死锁的方法,其特征在于,至少包括如下步骤:在主机模块与从机模块通信过程中,设置于主机模块与从机模块之间的接管模块处于监听透传模式,实时监控所述主机模块与从机模块之间的命令/响应信息并进行透传处理;接收到接管命令后,接管模块切换进入接管模式,对其所连接的从机模块的操作进行接管处理,与主机模块进行后续通信;接收到退出接管命令后,接管模块完成与主机模块之间的当前命令操作,并退出当前接管模式,进入监听透传模式。2.如权利要求1所述的方法,其特征在于,所述实时监控所述主机模块与从机模块之间的信息并进行透传处理的步骤进一步包括:接管模块将总线互联模块转发的来自主机模块的命令消息透传给从机模块;并将来自从机模块的响应消息经由总线互联模块透传给主机模块;接管模块对所述命令消息和响应消息进行监控和统计,当接收的为主机模块的读命令时,记录命令类型及访问数据长度;当接收的为主机模块的写命令时,记录写数据的发送个数;当接收的为从机模块返回的读命令的读数据时,记录接收到的读数据个数。3.如权利要求2所述的方法,其特征在于,所述接收到接管命令后,接管模块切换进入接管模式,对其所连接的从机模块的操作进行接管处理的步骤进一步包括:屏蔽主机模块对所述从机模块的所有响应操作,由接管模块代替所述从机模块与所述主机模块完成所有已发出但还未结束的命令消息,并响应主机模块后续发出的新的命令消息。4.一种避免主机访问从机出现死锁的装置,其特征在于,设置于主机模块与从机模块之间,其至少包括:监听透传处理单元,用于在主机模块与从机模块通信过程中处于监听透传模式,实时监控所述主机模块与从机模块之间的命令/响应信息并进行透传处理;接管处理单元,用于在接收到接管命令后,切换进入接管模式,对其所连接的从机模块的操作进行接管处理,与主机模块进行后续通信;接管退出单元,用于接收到退出接管命令后,完成与主机模块之间的当前命令操作,并退出当前接管模式,进入监听透传模式。5.如权利要求4所述的装置,其特征在于,所述监听透传处理单元进一步包括:透传处理单元,用于将总线互联模块转发的来自主机模块的命令消息透传给从机模块;将来自从机模块的响应消息经由总线互联模块透传给主机模块;监听处理单元,用于对所述命令和响应消息进行监控和统计,当接收的为主机模块的读命令时,记录命令类型及访问数据长度;当接收的为主机模块的写命令时,记录写数据的发送个数;当接收的为从机模块返回的读命令的读数据时,记录接收到的读数据个数。6.如权利要求5所述的装置,其特征在于,所述接管处理单元进一步包括:屏蔽处理单元,用于屏蔽主机模块对所述从机模块的所有操作,由接管模块代替所述从机模块与所述主机模块完成所有已发出但还未结束的命令消息,并响应主机模块后续发出的新的命令消息。7.一种避免主机访问从机出现死锁的方法,其特征在于,至少包括如下步骤:在主...

【专利技术属性】
技术研发人员:张学利陈永光
申请(专利权)人:深圳云豹智能有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1