CN115145636A - 芯片之中软件寄存器的配置方法及装置 - Google Patents

芯片之中软件寄存器的配置方法及装置 Download PDF

Info

Publication number
CN115145636A
CN115145636A CN202210681086.3A CN202210681086A CN115145636A CN 115145636 A CN115145636 A CN 115145636A CN 202210681086 A CN202210681086 A CN 202210681086A CN 115145636 A CN115145636 A CN 115145636A
Authority
CN
China
Prior art keywords
software
software register
target
module
address space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210681086.3A
Other languages
English (en)
Inventor
宋超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aixin Yuanzhi Semiconductor Shanghai Co Ltd
Original Assignee
Aixin Yuanzhi Semiconductor Shanghai Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aixin Yuanzhi Semiconductor Shanghai Co Ltd filed Critical Aixin Yuanzhi Semiconductor Shanghai Co Ltd
Priority to CN202210681086.3A priority Critical patent/CN115145636A/zh
Publication of CN115145636A publication Critical patent/CN115145636A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提出一种芯片之中软件寄存器的配置方法及装置,其中,方法包括:确定芯片之中的目标模块,以及目标模块的多个可配置参数;根据多个可配置参数之间的相关性,对目标模块所需的软件寄存器进行分组,以生成多个软件寄存器分组;确定每个软件寄存器分组的目标地址空间,并根据对应的可配置参数对多个软件寄存器分组分别进行实例化,由此,按照可配置参数的实际规格,实例化所需的软件寄存器数目,而非按照最大规格实现所有相关的软件寄存器,可降低目标模块中软件寄存器的面积开销。

Description

芯片之中软件寄存器的配置方法及装置
技术领域
本公开涉及集成电路技术领域,尤其涉及一种芯片之中软件寄存器的配置方法及装置。
背景技术
在芯片设计领域,通常会设计一些通用的模块,这些通用的模式上通常会设计一些软件寄存器。
相关技术中,按照模块支持的最大规格,来相应的设计软件寄存器,但是,这种直接按照最大规格,来设计软件寄存器,导致在其他较小规格的产品形态下,这些多余的软件寄存器也不会被优化掉,浪费芯片面积。
发明内容
本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
本公开提出一种芯片之中软件寄存器的配置方法及装置,以解决相关技术中直接按照最大规格,来设计软件寄存器,导致在其他较小规格的产品形态下,这些多余的软件寄存器也不会被优化掉,浪费芯片面积的问题。
根据本公开的第一方面,提供了一种芯片之中软件寄存器的配置方法,包括:确定芯片之中的目标模块,以及所述目标模块的多个可配置参数;根据所述多个可配置参数之间的相关性,对所述目标模块所需的软件寄存器进行分组,以生成多个软件寄存器分组;确定每个所述软件寄存器分组的目标地址空间,并根据对应的可配置参数对所述多个软件寄存器分组分别进行实例化。
可选地,所述确定每个所述软件寄存器分组的目标地址空间,并根据对应的可配置参数对所述多个软件寄存器分组分别进行实例化,包括:获取每个所述软件寄存器分组中的软件寄存器的目标个数;根据每个所述软件寄存器分组中的软件寄存器的目标个数,确定每个所述软件寄存器分组的目标地址空间;根据每个所述软件寄存器分组的目标地址空间以及每个所述软件寄存器分组对应的可配置参数,对所述多个软件寄存器分组分别进行实例化。
可选地,所述方法还包括:对实例化后的每个所述软件寄存器分组配置对应的译码逻辑,以对每个所述软件寄存器分组中的每个软件寄存器进行译码。
可选地,所述译码逻辑中包括越界检测逻辑,所述方法还包括:根据所述越界检测逻辑,判断所述实例化后的任一软件寄存器分组的地址空间是否与对应的目标地址空间匹配;在所述实例化后的任一软件寄存器分组的实例化地址空间与对应的目标地址空间不匹配时,生成越界配置信息,并对所述越界配置信息进行上报,其中,所述越界配置信息用于指示所述任一软件寄存器分组实例化错误。
可选地,所述确定芯片之中的目标模块,以及所述目标模块的多个可配置参数,包括:获取与芯片适配的目标设备的数据处理任务;根据所述数据处理任务;确定与所述数据处理任务匹配的目标模块以及所述目标模块的多个可配置参数。
可选地,所述方法还包括:将所述多个可配置参数进行上报,其中,所述多个可配置参数用于查询与所述每个所述可配置参数对应的软件寄存器分组,并确定与所述软件寄存器分组匹配的目标地址空间。
根据本公开实施例的第二方面,提供了一种芯片之中软件寄存器的配置装置,包括:确定模块,用于确定芯片之中的目标模块,以及所述目标模块的多个可配置参数;处理模块,用于根据所述多个可配置参数之间的相关性,对所述目标模块所需的软件寄存器进行分组,以生成多个软件寄存器分组;实例化模块,用于确定每个所述软件寄存器分组的目标地址空间,并根据对应的可配置参数对所述多个软件寄存器分组分别进行实例化。
根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开第一方面实施例提出的芯片之中软件寄存器的配置方法。
根据本公开的第四方面,提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行本公开第一方面实施例提出的芯片之中软件寄存器的配置方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,当所述计算机程序由电子设备的处理器执行时,使得所述电子设备能够执行第一方面实施例提出的芯片之中软件寄存器的配置方法。
本公开的技术方案,通过确定芯片之中的目标模块,以及所述目标模块的多个可配置参数;根据所述多个可配置参数之间的相关性,对所述目标模块所需的软件寄存器进行分组,以生成多个软件寄存器分组;确定每个所述软件寄存器分组的目标地址空间,并根据对应的可配置参数对所述多个软件寄存器分组分别进行实例化,由此,按照可配置参数的实际规格,实例化所需的软件寄存器数目,而非按照最大规格实现所有相关的软件寄存器,可降低目标模块中软件寄存器的面积开销。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据一示例性实施例所示出的一种芯片之中软件寄存器的配置方法的流程示意图;
图2是根据另一示例性实施例所示出的芯片之中软件寄存器的配置方法的流程示意图;
图3是根据另一示例性实施例所示出的芯片之中软件寄存器的配置方法的流程示意图;
图4是根据一示例性实施例所示出的芯片之中软件寄存器示意图;
图5是根据一示例性实施例所示出的每个软件寄存器分组的地址空间示意图;
图6是根据一示例性实施例所示出的芯片之中软件寄存器的配置装置的结构示意图;
图7是根据一示例性实施例示出的一种芯片之中软件寄存器的配置的电子设备的框图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
相关技术,按照模块支持的最大规格,来相应的设计软件寄存器,但是,这种直接按照最大规格,来设计软件寄存器,导致在其他较小规格的产品形态下,这些多余的软件寄存器也不会被优化掉,浪费芯片面积;并且,如果软件错误的配置了多余的软件寄存器,而遗漏了正常需要配置的软件寄存器,这类软件问题则很难调试。
针对上述问题,本公开提出一种芯片之中软件寄存器的配置方法及装置。
下面结合附图,对本公开提供的一种芯片之中软件寄存器的配置方法及装置进行详细说明。
图1是根据一示例性实施例所示出的一种芯片之中软件寄存器的配置方法的流程示意图。需要说明的是,该芯片之中软件寄存器的配置方法可应用于芯片之中软件寄存器的配置装置。其中,芯片之中软件寄存器的配置装置例如可以为通过总线等可以与芯片连接的硬件设备,或者,硬件设备中的控制器,或者,硬件设备中的控制软件等,可以根据实际需要进行设定,本公开对此不作限制。
如图1所示,芯片之中软件寄存器的配置方法包括如下步骤:
步骤101,确定芯片之中的目标模块,以及目标模块的多个可配置参数。
可选地,获取与芯片适配的目标设备的数据处理任务;根据数据处理任务,确定与数据处理任务匹配的目标模块以及目标模块的多个可配置参数。
作为本公开实施例的一种可能的实现方式,可根据与芯片适配的目标设备的业务数据处理需求,确定对应的数据处理任务,芯片中可预先设置数据处理任务与各模块以及对应模块的多个可配置参数之间的映射关系,根据数据处理任务,查询预先设置的映射关系,可确定与数据处理任务匹配的目标模块以及目标模块的多个可配置参数。
步骤102,根据多个可配置参数之间的相关性,对目标模块所需的软件寄存器进行分组,以生成多个软件寄存器分组。
在本公开实施例中,可确定多个可配置参数之间是否相关,并根据相关的多个可配置参数,将对应的目标模块所需的软件寄存器放入同一组内。
举例而言,多个可配置参数包括:端口传输速率、端口中断使能以及端口传输属性等,可确定多个可配置参数均与端口设置相关,可对目标模块所需的软件寄存器均放入同一组。
步骤103,确定每个软件寄存器分组的目标地址空间,并根据对应的可配置参数对多个软件寄存器分组分别进行实例化。
进一步地,根据每个软件寄存器分组内的寄存器个数,确定对应的目标地址空间,其中,需要说明的是,每个软件寄存器分组内的寄存器个数可为2n个,每个软件寄存器分组的目标地址空间可为每个软件寄存器的地址空间与对应的软件寄存器的目标个数的乘积,如,某个软件寄存器分组中的软件寄存器的目标个数为64个,每个软件寄存器的地址空间为4个字节,该软件寄存器分组的目标地址空间为[0,255]。
进而,根据每个软件寄存器分组的目标地址空间,以及对应的可配置参数对多个软件寄存器分组分别进行实例化。比如,模块支持的最大端口数目为128,将端口设置相关的软件寄存器划分为4组,即PORT_NUM为4,且每组软件寄存器的目标地址空间大小为256字节,仅需实例化4组(如,port_reg_group 0、port_reg_group 1、port_reg_group 2和port_reg_group 3),目标地址空间大小为256字节软件寄存器。
综上,确定芯片之中的目标模块,以及所述目标模块的多个可配置参数;根据多个可配置参数之间的相关性,对目标模块所需的软件寄存器进行分组,以生成多个软件寄存器分组;确定每个软件寄存器分组的目标地址空间,并根据对应的可配置参数对多个软件寄存器分组分别进行实例化,由此,按照可配置参数的实际规格,实例化所需的软件寄存器数目,而非按照最大规格实现所有相关的软件寄存器,可降低目标模块中软件寄存器的面积开销。
为了清楚地说明如何确定每个所述软件寄存器分组的目标地址空间,并根据对应的可配置参数对所述多个软件寄存器分组分别进行实例化的,下面结合图2,对本公开实施例提供的芯片之中软件寄存器的配置方法进行进一步说明。
图2是根据另一示例性实施例所示出的芯片之中软件寄存器的配置方法的流程示意图。如图2所示,芯片之中软件寄存器的配置方法包括如下步骤:
步骤201,确定芯片之中的目标模块,以及目标模块的多个可配置参数。
步骤202,获取每个软件寄存器分组中的软件寄存器的目标个数。
在本公开实施例中,根据多个可配置参数之间的相关性,可将目标模块所需的软件寄存器进行分组,并统计每个软件寄存器分组中的软件寄存器的目标个数。其中,需要说明的是,在每个软件寄存器分组中的软件寄存器的目标个数不等于2n个时,可将该软件寄存器器分组中的软件寄存器的目标个数向上取整至2n个。
步骤203,根据每个软件寄存器分组中的软件寄存器的目标个数,确定每个软件寄存器分组的目标地址空间。
进而,根据每个软件寄存器分组中的每个软件寄存器的地址空间以及对应的软件寄存器的目标个数,确定每个软件寄存器分组的目标地址空间,比如,每个软件寄存器分组的目标地址空间=对应软件寄存器分组中的每个软件寄存器的地址空间*对应的软件寄存器的目标个数。如,软件寄存器分组中的每个软件寄存器的地址空间为4字节,对应的软件寄存器的目标个数64个,则该软件寄存器分组的目标地址空间为[0,255],共256个字节。
步骤204,根据每个软件寄存器分组的目标地址空间以及每个软件寄存器分组对应的可配置参数,对多个软件寄存器分组分别进行实例化。
进而,根据每个软件寄存器分组的目标地址空间以及每个软件寄存器分组对应的可配置参数,可确定需要实例化的多个软件寄存器组以及每个软件寄存器分组的地址空间,从而可对多个软件寄存器分组分别进行实例化。
需要说明的是,步骤201的执行过程可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
综上,通过获取每个软件寄存器分组中的软件寄存器的目标个数;根据每个软件寄存器分组中的软件寄存器的目标个数,确定每个软件寄存器分组的目标地址空间;根据每个软件寄存器分组的目标地址空间以及每个软件寄存器分组对应的可配置参数,对多个软件寄存器分组分别进行实例化,由此,根据可配置参数的实际规格,实例化所需的软件寄存器数目,而非按照最大规格实现所有相关的软件寄存器,可降低目标模块中软件寄存器的面积开销。
为了对实例化后的寄存器分组进行验证,下面结合图3,对本公开实施例提供的芯片之中软件寄存器的配置方法进行进一步说明。
图3是根据另一示例性实施例所示出的芯片之中软件寄存器的配置方法的流程示意图。如图3所示,芯片之中软件寄存器的配置方法包括如下步骤:
步骤301,确定芯片之中的目标模块,以及目标模块的多个可配置参数。
步骤302,根据多个可配置参数之间的相关性,对所述目标模块所需的软件寄存器进行分组,以生成多个软件寄存器分组。
步骤303,确定每个软件寄存器分组的目标地址空间,并根据对应的可配置参数对多个软件寄存器分组分别进行实例化。
步骤304,对实例化后的每个软件寄存器分组配置对应的译码逻辑,以对每个软件寄存器分组中的每个软件寄存器进行译码。其中,译码逻辑中包括越界检测逻辑。
在本公开实施例中,可在地址译码器中对实例化后的每个软件寄存器分组配置对应的译码逻辑,以使地址译码器根据译码逻辑对实例化后的每个软件寄存器分组中的软件寄存器进行译码。此外,译码逻辑中还可包括越界检测逻辑,以对实例化后的每个软件寄存器分组进行越界检测。
步骤305,根据越界检测逻辑,判断实例化后的任一软件寄存器分组的地址空间是否与对应的目标地址空间匹配。
作为本公开实施例的一种可能的实现方式,根据越界检测逻辑,可将实例化后的任一软件寄存器分组的地址空间与对应的目标地址空间进行比对,以确定实例化后的任一软件寄存器分组的地址空间是否与对应的目标地址空间匹配。
步骤306,在实例化后的任一软件寄存器分组的实例化地址空间与对应的目标地址范围不匹配时,生成越界配置信息,并对越界配置信息进行上报。
其中,越界配置信息用于指示任一软件寄存器分组实例化错误。
进而,在实例化后的任一软件寄存器分组的实例化地址空间与对应的目标地址范围不匹配时,可确定任一软件寄存器分组实例化错误,并生成对应的越界配置信息,并将该越界配置信息进行上报,并对该任一软件寄存器分组进行中断。从而,通过上报中断的形式,可对存在配置问题的软件寄存器进行定位。
此外,还需要说明的是,为了便于查询模块的具体规格,可将可配置参数进行上报,其中,多个可配置参数用于查询与每个可配置参数对应的软件寄存器分组,并确定与对应的软件寄存器分组匹配的目标地址空间,比如,通过查询端口数目PORT_NUM对应的只读寄存器,以获得对应的寄存器分组的地址空间大小,由于可配置化参数本身是一个常值,作为只读寄存器不会引入任何面积开销。
需要说明的是,步骤301至步骤303的执行过程可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
综上,通过对实例化后的每个软件寄存器分组配置对应的译码逻辑,以对每个软件寄存器分组中的每个软件寄存器进行译码。其中,译码逻辑中包括越界检测逻辑;根据越界检测逻辑,判断实例化后的任一软件寄存器分组的地址空间是否与对应的目标地址空间匹配;在实例化后的任一软件寄存器分组的实例化地址空间与对应的目标地址范围不匹配时,生成越界配置信息,并对越界配置信息进行上报,其中,越界配置信息用于指示任一软件寄存器分组实例化错误,由此,通过在译码逻辑中设置越界检测逻辑,可对实例化后的多个软件寄存器分组进行越界检测,以对存在配置问题的软件寄存器进行定位。
为了清楚地说明上述实施例,现举例进行说明。
举例而言,实现如图4所示的软件寄存器的配置方法具体流程可如下:
第一步,将与同一参数(如,端口)相关的寄存器分类为同一组;
第二步,如图5所示,确定每组寄存器地址空间大小;
第三步,根据参数,实例化寄存器组,同时实现译码逻辑;
第四步,译码逻辑中加入越界检测,通过中断上报配置越界类型的错误(即配置了实际规格之外的软件寄存器);
第五步,提供参数相关只读软件寄存器,供软件参考,以确定有效的寄存器地址空间。
本公开实施例的芯片之中软件寄存器的配置方法,通过确定芯片之中的目标模块,以及目标模块的多个可配置参数;根据多个可配置参数之间的相关性,对目标模块所需的软件寄存器进行分组,以生成多个软件寄存器分组;确定每个软件寄存器分组的目标地址空间,并根据对应的可配置参数对多个软件寄存器分组分别进行实例化。由此,按照可配置参数的实际规格,实例化所需的软件寄存器数目,而非按照最大规格实现所有相关的软件寄存器,可降低目标模块中软件寄存器的面积开销。
为了实现上述实施例,本公开还提出一种芯片之中软件寄存器的配置装置。
图6是根据一示例性实施例所示出的芯片之中软件寄存器的配置装置的结构示意图。
如图6所示,该芯片之中软件寄存器的配置装置600包括:确定模块610、处理模块620和实例化模块630。
其中,确定模块610,用于确定芯片之中的目标模块,以及目标模块的多个可配置参数;处理模块620,用于根据多个可配置参数之间的相关性,对目标模块所需的软件寄存器进行分组,以生成多个软件寄存器分组;实例化模块630,用于确定每个软件寄存器分组的目标地址空间,并根据对应的可配置参数对多个软件寄存器分组分别进行实例化。
作为本公开实施例的一种可能的实现方式,实例化模块630,还用于:获取每个所述软件寄存器分组中的软件寄存器的目标个数;根据每个所述软件寄存器分组中的软件寄存器的目标个数,确定每个所述软件寄存器分组的目标地址空间;根据每个所述软件寄存器分组的目标地址空间以及每个软件寄存器分组对应的可配置参数,对多个软件寄存器分组分别进行实例化。
作为本公开实施例的一种可能的实现方式,芯片之中软件寄存器的配置装置600还包括:配置模块。
其中,配置模块,用于对实例化后的每个软件寄存器分组配置对应的译码逻辑,以对每个软件寄存器分组中的每个软件寄存器进行译码。
作为本公开实施例的一种可能的实现方式,译码逻辑中包括越界检测逻辑,芯片之中软件寄存器的配置装置600还包括:检测模块和第一上报模块。
其中,检测模块,用于根据越界检测逻辑,判断实例化后的任一软件寄存器分组的地址空间是否与对应的目标地址空间匹配;第一上报模块,用于在实例化后的任一软件寄存器分组的实例化地址空间与对应的目标地址空间不匹配时,生成越界配置信息,并对越界配置信息进行上报,其中,越界配置信息用于指示任一软件寄存器分组实例化错误。
作为本公开实施例的一种可能的实现方式,确定模块,还用于:获取与芯片适配的目标设备的数据处理任务;根据数据处理任务,确定与数据处理任务匹配的目标模块以及目标模块的多个可配置参数。
作为本公开实施例的一种可能的实现方式,芯片之中软件寄存器的配置装置600还包括:第二上报模块。
第二上报模块,用于将多个可配置参数进行上报,其中,多个可配置参数用于查询与每个可配置参数对应的软件寄存器分组,并确定与对应的软件寄存器分组匹配的目标地址空间。
本公开实施例的芯片之中软件寄存器的配置装置,通过确定芯片之中的目标模块,以及所述目标模块的多个可配置参数;根据所述多个可配置参数之间的相关性,对目标模块所需的软件寄存器进行分组,以生成多个软件寄存器分组;确定每个软件寄存器分组的目标地址空间,并根据对应的可配置参数对多个软件寄存器分组分别进行实例化。由此,按照可配置参数的实际规格,实例化所需的软件寄存器数目,而非按照最大规格实现所有相关的软件寄存器,可降低目标模块中软件寄存器的面积开销。
为了实现上述实施例,本公开还提出一种电子设备,如图7所示,图7是根据一示例性实施例示出的一种芯片之中软件寄存器的配置的电子设备的框图。如图7所示,上述电子设备700,可以包括:
存储器710及处理器720,连接不同组件(包括存储器710和处理器720)的总线730,存储器710存储有计算机程序,当处理器720执行所述程序时实现本公开实施例所述的芯片之中软件寄存器的配置方法。
总线730表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备700典型地包括多种计算机可读介质。这些介质可以是任何能够被电子设备700访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器710还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)740和/或高速缓存存储器750。电子设备700可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统760可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线730相连。存储器710可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块770的程序/实用工具780,可以存储在例如存储器710中,这样的程序模块770包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块770通常执行本公开所描述的实施例中的功能和/或方法。
电子设备700也可以与一个或多个外部设备790(例如键盘、指向设备、显示器791等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口792进行。并且,电子设备700还可以通过网络适配器793与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器793通过总线730与电子设备700的其它模块通信。应当明白,尽管图7中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器720通过运行存储在存储器710中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的电子设备的实施过程和技术原理参见前述对本公开实施例的芯片之中软件寄存器的配置方法的解释说明,此处不再赘述。
本公开实施例提供的电子设备,通过确定芯片之中的目标模块,以及目标模块的多个可配置参数;根据多个可配置参数之间的相关性,对目标模块所需的软件寄存器进行分组,以生成多个软件寄存器分组;确定每个软件寄存器分组的目标地址空间,并根据对应的可配置参数对多个软件寄存器分组分别进行实例化。由此,按照可配置参数的实际规格,实例化所需的软件寄存器数目,而非按照最大规格实现所有相关的软件寄存器,可降低目标模块中软件寄存器的面积开销。
为了实现上述实施例,本公开实施例还提出了一种计算机可读存储介质。
其中,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前所述的芯片之中软件寄存器的配置方法。
为了实现上述实施例,本公开还提供一种计算机程序产品,该计算机程序由电子设备的处理器执行时,使得电子设备能够执行如前所述的芯片之中软件寄存器的配置方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (15)

1.一种芯片之中软件寄存器的配置方法,其特征在于,包括:
确定芯片之中的目标模块,以及所述目标模块的多个可配置参数;
根据所述多个可配置参数之间的相关性,对所述目标模块所需的软件寄存器进行分组,以生成多个软件寄存器分组;
确定每个所述软件寄存器分组的目标地址空间,并根据对应的可配置参数对所述多个软件寄存器分组分别进行实例化。
2.根据权利要求1所述的方法,其特征在于,所述确定每个所述软件寄存器分组的目标地址空间,并根据对应的可配置参数对所述多个软件寄存器分组分别进行实例化,包括:
获取每个所述软件寄存器分组中的软件寄存器的目标个数;
根据每个所述软件寄存器分组中的软件寄存器的目标个数,确定每个所述软件寄存器分组的目标地址空间;
根据每个所述软件寄存器分组的目标地址空间以及每个所述软件寄存器分组对应的可配置参数,对所述多个软件寄存器分组分别进行实例化。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
对实例化后的每个所述软件寄存器分组配置对应的译码逻辑,以对每个所述软件寄存器分组中的每个软件寄存器进行译码。
4.根据权利要求3所述的方法,其特征在于,所述译码逻辑中包括越界检测逻辑,所述方法还包括:
根据所述越界检测逻辑,判断所述实例化后的任一软件寄存器分组的地址空间是否与对应的目标地址空间匹配;
在所述实例化后的任一软件寄存器分组的实例化地址空间与对应的目标地址空间不匹配时,生成越界配置信息,并对所述越界配置信息进行上报,其中,所述越界配置信息用于指示所述任一软件寄存器分组实例化错误。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述确定芯片之中的目标模块,以及所述目标模块的多个可配置参数,包括:
获取与芯片适配的目标设备的数据处理任务;
根据所述数据处理任务,确定与所述数据处理任务匹配的目标模块以及所述目标模块的多个可配置参数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将所述多个可配置参数进行上报,其中,所述多个可配置参数用于查询与每个所述可配置参数对应的软件寄存器分组,并确定与对应的软件寄存器分组匹配的目标地址空间。
7.一种芯片之中软件寄存器的配置装置,其特征在于,包括:
确定模块,用于确定芯片之中的目标模块,以及所述目标模块的多个可配置参数;
处理模块,用于根据所述多个可配置参数之间的相关性,对所述目标模块所需的软件寄存器进行分组,以生成多个软件寄存器分组;
实例化模块,用于确定每个所述软件寄存器分组的目标地址空间,并根据对应的可配置参数对所述多个软件寄存器分组分别进行实例化。
8.根据权利要求7所述的装置,其特征在于,所述实例化模块,还用于:
获取每个所述软件寄存器分组中的软件寄存器的目标个数;
根据每个所述软件寄存器分组中的软件寄存器的目标个数,确定每个所述软件寄存器分组的目标地址空间;
根据每个所述软件寄存器分组的目标地址空间以及每个所述软件寄存器分组对应的可配置参数,对所述多个软件寄存器分组分别进行实例化。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
配置模块,用于对实例化后的每个所述软件寄存器分组配置对应的译码逻辑,以对每个所述软件寄存器分组中的每个软件寄存器进行译码。
10.根据权利要求9所述的装置,其特征在于,所述译码逻辑中包括越界检测逻辑,所述装置还包括:
检测模块,用于根据所述越界检测逻辑,判断所述实例化后的任一软件寄存器分组的地址空间是否与对应的目标地址空间匹配;
第一上报模块,用于在所述实例化后的任一软件寄存器分组的实例化地址空间与对应的目标地址空间不匹配时,生成越界配置信息,并对所述越界配置信息进行上报,其中,所述越界配置信息用于指示所述任一软件寄存器分组实例化错误。
11.根据权利要求7-10中任一项所述的装置,其特征在于,所述确定模块,还用于:
获取与芯片适配的目标设备的数据处理任务;
根据所述数据处理任务,确定与所述数据处理任务匹配的目标模块以及所述目标模块的多个可配置参数。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二上报模块,用于将所述多个可配置参数进行上报,其中,所述多个可配置参数用于查询与每个所述可配置参数对应的软件寄存器分组,并确定与对应的软件寄存器分组匹配的目标地址空间。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的芯片之中软件寄存器的配置方法。
14.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-6中任一项所述的芯片之中软件寄存器的配置方法。
15.一种计算机程序产品,包括计算机程序,当所述计算机程序由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-6中任一项所述的芯片之中软件寄存器的配置方法。
CN202210681086.3A 2022-06-16 2022-06-16 芯片之中软件寄存器的配置方法及装置 Pending CN115145636A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210681086.3A CN115145636A (zh) 2022-06-16 2022-06-16 芯片之中软件寄存器的配置方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210681086.3A CN115145636A (zh) 2022-06-16 2022-06-16 芯片之中软件寄存器的配置方法及装置

Publications (1)

Publication Number Publication Date
CN115145636A true CN115145636A (zh) 2022-10-04

Family

ID=83408513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210681086.3A Pending CN115145636A (zh) 2022-06-16 2022-06-16 芯片之中软件寄存器的配置方法及装置

Country Status (1)

Country Link
CN (1) CN115145636A (zh)

Similar Documents

Publication Publication Date Title
US6629157B1 (en) System and method for virtualizing the configuration space of PCI devices in a processing system
CN100592271C (zh) 使用集成dma引擎进行高性能易失性磁盘驱动器存储器访问的装置和方法
US7987438B2 (en) Structure for initializing expansion adapters installed in a computer system having similar expansion adapters
US20050228918A1 (en) Method and apparatus for supporting interrupt devices configured for a particular architecture on a different platform
US20060271752A1 (en) Method and apparatus for direct input and output in a virtual machine environment
US5813043A (en) Method and system including memory patching utilizing a transmission control signal and circuit
US6412028B1 (en) Optimizing serial USB device transfers using virtual DMA techniques to emulate a direct memory access controller in software
US6397284B1 (en) Apparatus and method for handling peripheral device interrupts
US11036649B2 (en) Network interface card resource partitioning
US5764996A (en) Method and apparatus for optimizing PCI interrupt binding and associated latency in extended/bridged PCI busses
US20030093604A1 (en) Method of error isolation for shared PCI slots
US5890011A (en) Method and system for dynamically translating bus addresses within a computer system
CN114330176A (zh) 芯片验证方法、装置、电子设备及存储介质
US5933613A (en) Computer system and inter-bus control circuit
US11341076B2 (en) Hot-plugged PCIe device configuration system
US7139857B2 (en) Method and apparatus for handling interrupts
US10769092B2 (en) Apparatus and method for reducing latency of input/output transactions in an information handling system using no-response commands
CN115145636A (zh) 芯片之中软件寄存器的配置方法及装置
US6119191A (en) Performing PCI access cycles through PCI bridge hub routing
US20230131198A1 (en) Featureless machine enhancement discovery and verification
US7360129B2 (en) Simultaneous switch test mode
EP0403067A2 (en) Method for transmitting commands excluded from a predefined command set
US7103752B2 (en) Method and apparatus for broadcasting messages with set priority to guarantee knowledge of a state within a data processing system
US7210007B2 (en) Method of verifying a system in which a plurality of master devices share a storage device
US5748909A (en) Interface board and instruction processing device without a local CPU

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: China

Address after: Room 59, 17th Floor, Science and Technology Innovation Building, No. 777 Zhongguan West Road, Zhuangshi Street, Ningbo City, Zhejiang Province, 315200

Applicant after: Aixin Yuanzhi Semiconductor Co.,Ltd.

Address before: Room 59, 17th Floor, Science and Technology Innovation Building, No. 777 Zhongguan West Road, Zhuangshi Street, Zhenhai District, Ningbo City, Zhejiang Province, 315200

Applicant before: Aixin Yuanzhi Semiconductor (Ningbo) Co.,Ltd.

Country or region before: China

Country or region after: China

Address after: Room 59, 17th Floor, Science and Technology Innovation Building, No. 777 Zhongguan West Road, Zhuangshi Street, Zhenhai District, Ningbo City, Zhejiang Province, 315200

Applicant after: Aixin Yuanzhi Semiconductor (Ningbo) Co.,Ltd.

Address before: 201702 room 1190, zone B, floor 11, building 1, No. 158 Shuanglian Road, Qingpu District, Shanghai

Applicant before: Aisin Yuanzhi semiconductor (Shanghai) Co.,Ltd.

Country or region before: China

CB02 Change of applicant information