当前位置: 首页 > 专利查询>元平台公司专利>正文

用于促进高效的硬件-固件交互的装置、系统和方法制造方法及图纸

技术编号:39401947 阅读:8 留言:0更新日期:2023-11-19 15:54
一种用于促进高效的硬件

【技术实现步骤摘要】
【国外来华专利技术】用于促进高效的硬件

固件交互的装置、系统和方法


[0001]本公开总体上涉及用于促进高效的硬件

固件交互的系统和方法。

技术介绍

[0002]在许多固件(firmware,FW)控制的系统设计中,FW准备编程序列并对硬件(hardware,HW)进行编程,以便实现特定功能。准备该序列、将该序列编程到HW、等待HW完成、以及监控硬件状态以获取任何附加信息可能涉及FW中的上下文切换,并导致处理时间中的高时延。

技术实现思路

[0003]根据本公开的第一方面,提供了一种系统,该系统包括:多个存储寄存器;硬件模块,该硬件模块直接地读取和写入该多个存储寄存器;并且该硬件模块被配置为解译特殊标记,该特殊标记区分寄存器写入操作和非寄存器写入操作;以及固件模块,该固件模块至少部分地通过发送该特殊标记来指示该硬件模块执行操作。
[0004]在一些实施例中,该非寄存器写入操作可以包括以下中的至少一者:寄存器读取操作;等待完成操作;或者调试操作。
[0005]在一些实施例中,该特殊标记可以包括预定义的特殊存储寄存器的地址和操作码。
[0006]在一些实施例中,该固件模块可以准备存储在存储器中的命令列表;该固件模块向该硬件模块提供该命令列表的至少一个地址指针和大小;并且该硬件模块通过该至少一个地址指针和大小获取该命令列表。
[0007]在一些实施例中,该固件模块可以向该硬件模块提供多个地址指针,每个地址指针指向该命令列表中的单个命令的不同段。
[0008]在一些实施例中,该硬件模块可以将该至少一个地址指针存储到该多个存储寄存器中的存储寄存器。
[0009]在一些实施例中,该固件模块在不同的时间点向该硬件模块重复地提供该至少一个地址指针。
[0010]在一些实施例中,该硬件模块可以接收执行等待完成操作的命令;该硬件模块暂停操作,直到检测到硬件线程已完成;以及该硬件模块响应于检测到该硬件线程已完成而恢复操作。
[0011]在一些实施例中,执行该等待完成操作的命令可以包括序列标识符;并且该硬件模块通过暂停操作直到检测到由该序列标识符指定的该硬件线程已完成,来促进跨线程相关性。
[0012]在一些实施例中,该硬件模块可以接收执行终止操作的命令;并且作为响应,该硬件模块:暂停操作,直到检测到至少一个硬件线程已完成;清除预提取的数据;清空命令队列;以及向该固件模块确认该终止操作完成。
[0013]在一些实施例中,该硬件模块可以接收来自该固件的执行调试操作的命令;并且作为响应,该硬件模块向该固件能够访问的存储器写入数据。
[0014]在一些实施例中,该硬件模块可以存储超时值,当达到该超时值时,提示该硬件模块:暂停操作;并向该固件模块发送超时消息。
[0015]在一些实施例中,该硬件模块可以将该硬件模块的当前状态存储在该多个存储寄存器中的至少一个存储寄存器中。
[0016]根据本公开的另一方面,提供了一种计算机实现的方法,该方法包括:识别硬件模块:该硬件模块直接地读取和写入多个存储寄存器;并且该硬件模块被配置为解译特殊标记,该特殊标记区分寄存器写入操作和非寄存器写入操作;由固件模块向该硬件模块发送命令,以指示该硬件模块通过该特殊标记执行非寄存器写入操作;该硬件模块接收指示该硬件模块通过该特殊标记执行该非寄存器写入操作的命令;以及该硬件模块响应于接收到该命令,执行由该特殊标记指示的该非寄存器写入操作。
[0017]在一些实施例中,该非寄存器写入操作可以包括寄存器读取操作;并且该硬件模块通过从该多个存储寄存器中的一存储寄存器读取数据,来执行该寄存器读取操作。
[0018]在一些实施例中,该非寄存器写入操作可以包括等待完成操作;该硬件模块通过暂停操作来执行等待完成操作,直到该硬件模块检测到硬件线程已完成;以及该硬件模块响应于检测到该硬件线程已经完成而恢复操作。
[0019]在一些实施例中,执行该等待完成操作的命令可以包括序列标识符;并且该硬件模块通过暂停操作直到检测到该由序列标识符指定的该硬件线程已完成,来促进跨线程相关性。
[0020]在一些实施例中,该非寄存器写入操作可以包括调试操作;并且该硬件模块通过向该固件能够访问的存储器写入数据,来执行该调试操作。
[0021]在一些实施例中,该非寄存器写入操作可以包括终止操作;并且该硬件模块通过以下方式来执行该终止操作:暂停操作,直到检测到至少一个硬件线程已完成;清除预提取的数据;清空命令队列;以及向该固件模块确认该终止操作完成。
[0022]根据本公开的另一个方面,提供了一种装置,该装置包括:多个存储寄存器;硬件模块,该硬件模块直接地读取和写入该多个存储寄存器;并且该硬件模块被配置为解译特殊标记,该特殊标记区分寄存器写入操作和非寄存器写入操作;以及硬件元件,该硬件元件被配置为执行固件模块,该固件模块至少部分地通过发送该特殊标记来指示该硬件模块执行操作。
[0023]应当理解,在此所描述为适于结合到本公开一个或多个方面或实施例中的任何特征旨在在本公开的任何和所有的方面和实施例具有普遍性。本领域技术人员可以根据本公开的说明书、权利要求书和附图理解本公开的其他方面。上述总体描述和以下具体实施方式仅是示例性和说明性的,而不对权利要求进行限制。
附图说明
[0024]附图示出了多个示例性实施例,并且是该说明书的一部分。这些附图与以下描述一起说明和解释了本公开的各种原理。
[0025]图1是用于促进高效的硬件

固件交互的示例性系统的框图。
[0026]图2是用于促进高效的硬件

固件交互的示例性方法的流程图。
[0027]图3是命令直接存储器访问模块的框图。
[0028]图4是用于命令直接存储器访问模块的读取引擎的框图。
[0029]图5是用于命令直接存储器访问模块的写入引擎的框图。
[0030]图6是用于命令直接存储器访问模块的读取引擎的框图。
[0031]图7是执行多线程操作的命令直接存储器访问模块的框图。
[0032]图8是执行多线程操作的命令直接存储器访问模块的附加框图。
[0033]图9是命令直接存储器访问模块执行终止命令的方法的流程图。
[0034]在所有附图中,相同的附图标记和描述指示相似但不一定相同的元件。尽管本文描述的示例性实施例易于进行各种修改和替代形式,但在附图中已经以示例方式示出了具体实施例,并且本文将详细描述这些具体实施例。然而,本文所描述的示例性实施例并不旨在被限制为所公开的特定形式。而是,本公开涵盖了落入所附权利要求书的范围内的所有修改、等同物和替代物。
[0035]根据本文所描述的一般原理,来自本文所描述的多个实施例中的任何实施例的多个特征可以彼此组合使用。在结合附图和权利要求书阅读以下具体实施方式时,将更充分地理解这些和其他的实施例、这些和其他特征、以及这些和其他优点。...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种系统,包括:多个存储寄存器;硬件模块:所述硬件模块直接地读取和写入所述多个存储寄存器;并且所述硬件模块被配置为解译特殊标记,所述特殊标记区分寄存器写入操作和非寄存器写入操作;以及固件模块,所述固件模块至少部分地通过发送所述特殊标记来指示所述硬件模块执行操作。2.根据权利要求1所述的系统,其中,所述非寄存器写入操作包括以下中的至少一者:寄存器读取操作;等待完成操作;或者调试操作。3.根据权利要求1或2所述的系统,其中,所述特殊标记包括预定义的特殊存储寄存器的地址和操作码。4.根据权利要求1、2或3所述的系统,其中:所述固件模块准备存储在存储器中的命令列表;所述固件模块向所述硬件模块提供所述命令列表的至少一个地址指针和大小;并且所述硬件模块通过所述至少一个地址指针和大小获取所述命令列表。5.根据权利要求4所述的系统,其中,以下中的一项或多项:i.所述固件模块向所述硬件模块提供多个地址指针,每个地址指针指向所述命令列表中的单个命令的不同段;ii.所述硬件模块将所述至少一个地址指针存储到所述多个存储寄存器中的一存储寄存器;和/或iii.所述固件模块在不同的时间点向所述硬件模块重复地提供所述至少一个地址指针。6.根据前述权利要求中任一项所述的系统,其中:所述硬件模块接收执行等待完成操作的命令;所述硬件模块暂停操作,直到检测到硬件线程已完成;并且所述硬件模块响应于检测到所述硬件线程已完成而恢复操作;并且优选地其中:执行所述等待完成操作的命令包括序列标识符;并且所述硬件模块通过暂停操作直到检测到由所述序列标识符指定的所述硬件线程已完成,来促进跨线程相关性。7.根据前述权利要求中任一项所述的系统,其中:所述硬件模块接收执行终止操作的命令;并且作为响应,所述硬件模块:暂停操作,直到检测到至少一个硬件线程已完成;清除预提取的数据;清空命令队列;以及
向所述固件模块确认所述终止操作完成。8.根据前述权利要求中任一项所述的系统,其中:所述硬件模块接收来自所述固件的执行调试操作的命令;并且作为响应,所述硬件模块向所述固件能够访问的存储器写入数据。9.根据前述权利要求中任一项所述的系统,其中,所述硬件模块存储超时值,当达到所述超时值时,提示所述硬件模块:暂停操作;以及向所述固件...

【专利技术属性】
技术研发人员:哈里克里希纳
申请(专利权)人:元平台公司
类型:发明
国别省市:

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

1