CN116360853B - 寄存器映射方法、装置、设备及介质 - Google Patents
寄存器映射方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116360853B CN116360853B CN202211739087.5A CN202211739087A CN116360853B CN 116360853 B CN116360853 B CN 116360853B CN 202211739087 A CN202211739087 A CN 202211739087A CN 116360853 B CN116360853 B CN 116360853B
- Authority
- CN
- China
- Prior art keywords
- register
- mapping
- instruction
- address information
- memory 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.)
- Active
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 219
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000002093 peripheral effect Effects 0.000 claims abstract description 113
- 230000004044 response Effects 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0024—Peripheral component interconnect [PCI]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本公开涉及一种寄存器映射方法、装置、设备及介质。其中,寄存器映射方法包括:响应于针对第一寄存器的操作指令,生成映射指令,映射指令包括第一寄存器的地址信息、操作指令的操作类型、第二寄存器的地址信息,第二寄存器用于存放操作指令针对的数据;根据第一寄存器的地址信息,确定与第一寄存器对应的外设设备的目标内存空间的地址信息;根据外设设备的目标内存空间的地址信息、操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和外设设备的目标内存空间进行映射,根据本公开实施例,能够实现第一寄存器与外设设备的目标内存空间的实时映射。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种寄存器映射方法、装置、设备及介质。
背景技术
PCI(Peripheral Component Interconnect)是一种由英特尔(Intel)公司1991年推出的用于定义局部总线的标准,主要是在计算***中连接外设的一种总线技术。在计算机***中普遍使用,例如连接网卡、显卡、硬盘等。经过几十年的发展到今天,PCI家族谱系更加丰富,PCI连接的设备种类越来越多,例如最近兴起的数据处理设备(Data ProcessingUnit,DPU设备)也在使用。
类似DPU设备,它有自己独立的通用CPU、内存以及外设等,而且这类设备运行着独立的通用操作***(常用的为Linux),其与主机操作***是完全隔离运行的,主机侧***(Host System,包括操作***)与PCI侧设备***(PCI Device System,包括操作***)可以通过专用硬件逻辑电路或网络通信,然而如何实现主机侧寄存器与PCI侧设备***的内存空间的实时映射是一个亟需解决的技术问题。
发明内容
为了解决上述技术问题,本公开提供了一种寄存器映射方法、装置、设备及介质。
本公开实施例的第一方面提供了一种寄存器映射方法,包括:
响应于针对第一寄存器的操作指令,生成映射指令,映射指令包括第一寄存器的地址信息、操作指令的操作类型、第二寄存器的地址信息,第二寄存器用于存放操作指令针对的数据;
根据第一寄存器的地址信息,确定与第一寄存器对应的外设设备的目标内存空间的地址信息;
根据外设设备的目标内存空间的地址信息、操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和外设设备的目标内存空间进行映射。
本公开实施例的第二方面提供了一种寄存器映射装置,包括:
指令生成模块,用于响应于针对第一寄存器的操作指令,生成映射指令,映射指令包括第一寄存器的地址信息、操作指令的操作类型、第二寄存器的地址信息,第二寄存器用于存放操作指令针对的数据;
地址确定模块,用于根据第一寄存器的地址信息,确定与第一寄存器对应的外设设备的目标内存空间的地址信息;
寄存器映射模块,用于根据外设设备的目标内存空间的地址信息、操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和外设设备的目标内存空间进行映射。
本公开实施例的第三方面提供了一种电子设备,包括:
处理器;
存储器,用于存储可执行指令;
其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现上述第一方面提供的寄存器映射方法。
本公开实施例的第四方面提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现上述第一方面提供的寄存器映射方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供的寄存器映射方法、装置、设备及介质,能够响应于针对第一寄存器的操作指令,生成映射指令,映射指令包括第一寄存器的地址信息、操作指令的操作类型、第二寄存器的地址信息,第二寄存器用于存放操作指令针对的数据,根据第一寄存器的地址信息,确定与第一寄存器对应的外设设备的目标内存空间的地址信息,根据外设设备的目标内存空间的地址信息、操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和外设设备的目标内存空间进行映射,由此,实现第一寄存器与外设设备的目标内存空间的实时映射。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种寄存器映射方法的流程图;
图2是本公开实施例提供的一种第一寄存器与外设设备的目标内存空间映射示意图;
图3是本公开实施例提供的另一种第一寄存器与外设设备的目标内存空间映射示意图;
图4是本公开实施例提供的一种寄存器映射装置的结构示意图;
图5是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
为了解决主机侧寄存器与外设设备***的内存空间的实时映射问题,本公开实施例提供了一种寄存器映射方法,下面结合具体的实施例对该方法进行介绍。
图1是本公开实施例提供的一种寄存器映射方法的流程图,该方法可以由寄存器映射装置来执行,该寄存器映射装置可以采用软件和/或硬件的方式实现,该寄存器映射装置可配置于电子设备中,例如与主机***连接或通信的外设设备、PCI设备等,其中,PCI设备可以是任何通过PCI总线与主机***连接的设备,比如硬盘、显卡等,在此不做限制。
图2是本公开实施例提供的一种第一寄存器与外设设备的目标内存空间映射示意图,其中包括主机***21和外设设备20,外设设备20中包括外设设备寄存器22、专用硬件逻辑电路23和外设设备***24。
外设设备寄存器22可以理解为是主机***21和外设设备20的进行映射的接口,专用硬件逻辑电路23用于主机***21和外设设备20的通信,外设设备***24中包括内存空间24-1,可以预先从内存空间24-1中申请一段目标内存空间,将该目标内存空间用于与外设设备寄存器22进行实时映射。本公开实施例提供的寄存器映射方法可以应用于图2中。
如图1所示,本公开实施例提供的寄存器映射方法包括如下步骤。
S110、响应于针对第一寄存器的操作指令,生成映射指令,映射指令包括第一寄存器的地址信息、操作指令的操作类型、第二寄存器的地址信息,第二寄存器用于存放操作指令针对的数据。
在本公开实施例中,当第一寄存器发生操作指令时,电子设备响应于针对第一寄存器的操作指令,生成映射指令,映射指令包括第一寄存器的地址信息、操作指令的操作类型、第二寄存器的地址信息,第二寄存器用于存放操作指令针对的数据。
可选地,操作指令的操作类型可以包括读操作、写操作、清除操作等。
可选地,操作指令针对的数据可以根据操作指令的不同对应不同的数据。
S120、根据第一寄存器的地址信息,确定与第一寄存器对应的外设设备的目标内存空间的地址信息。
在本公开实施例中,电子设备在生成映射指令后,响应于映射指令,从映射指令中解析出第一寄存器的地址信息,根据第一寄存器的地址信息,确定与第一寄存器对应的外设设备的目标内存空间的地址信息。
可选地,第一寄存器与外设设备的目标内存空间之间存在对应关系,电子设备可以根据第一寄存器的地址信息,定位至外设设备的目标内存空间的位置,进而获取到外设设备的目标内存空间的地址信息。
可选地,第一寄存器与外设设备的目标内存空间之间的对应关系可以是预先设置好的。
在本公开实施例中,第一寄存器的存储大小和外设设备的目标内存空间的存储大小可以是相同的。
S130、根据外设设备的目标内存空间的地址信息、操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和外设设备的目标内存空间进行映射。
在本公开实施例中,电子设备在确定了外设设备的目标内存空间的地址信息之后,根据外设设备的目标内存空间的地址信息、操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和外设设备的目标内存空间进行映射。
可选地,根据操作指令的操作类型的不同,对第一寄存器和外设设备的目标内存空间进行映射执行的操作也不同。
在本公开实施例中,能够响应于针对第一寄存器的操作指令,生成映射指令,映射指令包括第一寄存器的地址信息、操作指令的操作类型、第二寄存器的地址信息,第二寄存器用于存放操作指令针对的数据,根据第一寄存器的地址信息,确定与第一寄存器对应的外设设备的目标内存空间的地址信息,根据外设设备的目标内存空间的地址信息、操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和外设设备的目标内存空间进行映射,由此,实现第一寄存器与外设设备的目标内存空间的实时映射。
在本公开上述实施例的基础上,操作类型为读操作时,S130可以具体包括:根据外设设备的目标内存空间的地址信息,读取外设设备的目标内存空间中的目标读数据;根据第二寄存器的地址信息,目标读数据存入第二寄存器;将存入第二寄存器中的目标读数据映射到第一寄存器。
在本公开实施例中,读操作是指主机***要读取外设设备的目标内存空间地址的相应操作。
目标读数据是读操作针对的数据。
具体地,电子设备在读取到映射指令中操作指令的操作类型为读操作时,根据外设设备的目标内存空间的地址信息,从外设设备的目标内存空间中读取与第一寄存器的操作指令对应的目标读数据,根据第二寄存器的地址信息将读取的目标读数据存入第二寄存器中,响应于第二寄存器中存入目标读数据,将第二寄存器中的目标读数据映射至第一寄存器。
在本公开上述实施例的基础上,操作类型为写操作时,S130可以具体包括:根据第二寄存器的地址信息,读取第二寄存器中的目标写数据;根据外设设备的目标内存空间的地址信息,将目标写数据存入外设设备的目标内存空间。
在本公开实施例中,写操作是指主机***写入新数据的相应操作。
目标写数据是写操作针对的数据。
具体地,电子设备在读取到映射指令中操作指令的操作类型为写操作时,根据第二寄存器的地址信息,读取第二寄存器中的目标写数据,在读取目标写数据之后,根据外设设备的目标内存空间的地址信息将其存入第二寄存器中,以此来实现第一寄存器与外设设备的目标内存空间的映射。
在本公开实施例中,在根据第二寄存器的地址信息,读取第二寄存中的目标写数据之前,该寄存器映射方法还包括:获取写操作对应的目标写数据,将目标写数据存入第二寄存器中。
具体地,电子设备在响应于第一寄存器的操作指令的操作类型为写操作时,获取写操作对应的目标写数据,将目标写数据存入第二寄存器中,由此,可以直接从第二寄存器中读取目标写数据,进而提高寄存器映射的速率。
在本公开实施例中,在S110之后,即生成映射指令之后,该寄存器映射方法还可以包括:将映射指令放入与映射指令对应的映射通道,映射通道包括指令寄存器和第二寄存器,指令寄存器用于存放映射指令。
可选地,映射通道内可以有至少一个指令寄存器,即指令寄存器的数据可以是一个或多个,同时,映射通道内的指令寄存器与第二寄存器是一一对应的。
具体地,电子设备在生成映射指令之后,判断映射通道的闲忙状态,当有空闲状态的映射通道时,从空闲状态的映射通道中选择一个映射通道作为与该映射指令对应的映射通道,将该映射指令放入该映射通道内,当无空闲状态的映射通道时,进入等待状态,待有空闲状态的映射通道时,将该映射指令放入该映射通道内。
进一步地,映射通道中包括指令寄存器,指令寄存器构建为无锁环队列,保证了映射指令是先进先出的,且它们是环形的,即队列头部的上个元素是队列尾部。
示例性地,当有空闲状态的映射通道时,增加队列尾指针。如果是无空闲状态的映射通道时,即满队列时,等待空闲状态的映射通道。
在本公开一些实施例中,当同时生成多个映射指令时,在映射通道中的指令寄存器和第二寄存器的数量满足多个映射指令的存放需求时,可以将多个映射指令存放至同一映射通道内。
在本公开实施例中,将映射指令放入与映射指令对应的映射通道内可以确保当有多个映射指令时,确保映射指令不被遗漏,同时可以根据映射指令放入映射通道的顺序,按照先进先出的原则读取并执行映射通道内的映射指令。
在本公开实施例中,该寄存器映射方法还包括对映射通道内是否有新的映射指令进行实时监测,在监测到有新的映射指令时,响应于新的映射指令,对第一寄存器和外设设备的目标内存空间进行映射。
在本公开一些实施例中,电子设备可以对映射通道内是否有新的映射指令进行实时监测,在监测到有新的映射指令放入时,读取并响应于该新的映射指令,根据该新的映射指令实现第一寄存器和外设设备的目标内存空间的实时映射。
在本公开另一些实施例中,当映射通道内有新的映射指令时,电子设备接收新的映射指令放入通知,响应于该通知对新的映射指令进行读取,并执行该新的映射指令,实现第一寄存器和外设设备的目标内存空间的实时映射。
在本公开实施例中,电子设备可以实时监测是否有新的映射指令,由此,可以在有新的映射指令时,及时对该映射指令进行处理,确保第一寄存器和外设设备的目标内存空间进行实时映射。
下面以一个具体的示例对第一寄存器与外设设备的目标内存空间的映射方法进行详细说明,图3是本公开实施例提供的另一种第一寄存器与外设设备的目标内存空间映射示意图,如图3所示,该结构示意图中主要包括主机***31、外设设备映射电路32和外设设备***30,其中外设设备映射电路32中包括第一寄存器、映射指令生成器33和中间侧寄存器,外设设备***30中包括映射指令处理器34和内存35,内存35中包括外设设备的目标内存空间,映射指令生成器33用于响应于针对第一寄存器的操作指令生成映射指令,映射指令处理器34用于对映射指令进行读取并执行该映射指令,具体可以包括根据第一寄存器的地址信息,确定与第一寄存器对应的外设设备的目标内存空间的地址信息,并根据外设设备的目标内存空间的地址信息、操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和外设设备的目标内存空间进行映射。
其中,图3中的第一寄存器与图2中的外设设备寄存器22对应,映射指令生成器33与图2中的专用硬件逻辑电路23对应,外设设备的目标内存空间属于图2中的内存空间24-1中预先选取的一部分内存空间。
进一步,中间侧寄存器中包括指令寄存器、第二寄存器和配置寄存器,指令寄存器用于存放映射指令,第二寄存器用于存放操作指令针对的数据,配置寄存器用于存放中间侧寄存器的配置信息,至少一个指令寄存器和至少一个第二寄存器组成一个映射通道,即中间侧寄存器中包括至少一个映射通道。
可选地,中间侧寄存器的配置信息可以包括每个寄存器的大小、类型、映射通道的数量等信息。
可选地,映射通道的数量根据具体的中间侧寄存器的配置进行确定。
具体地,映射指令生成器33可以预先选择一个映射通道,映射指令生成器33响应于针对第一寄存器的操作指令,获取操作指令的操作类型、第一寄存器的地址信息和映射通道中第二寄存器的地址信息,根据操作指令的操作类型、第一寄存器的地址信息和映射通道中第二寄存器的地址信息生成映射指令,同时将映射指令放入映射通道的指令寄存器中,当操作类型为写操作时,同时获取目标写数据,将目标写数据存放入映射通道的第二寄存器中。
映射指令处理器34实时对映射通道进行监测,当监测到有映射指令放入映射通道时,从映射通道的指令寄存器中读取映射指令,根据映射指令中的第一寄存器的地址信息确定与所述第一寄存器对应的外设设备的目标内存空间的地址信息,进而根据外设设备的目标内存空间的地址信息、操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和外设设备的目标内存空间进行映射。
需要说明的是,根据外设设备的目标内存空间的地址信息、操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和外设设备的目标内存空间进行映射的具体实施方法与本公开上述实施例的具体实时方式类似,在此不做赘述。
在本公开实施例中,能够通过映射指令生成器生成映射指令,并有映射指令处理器读取并执行映射指令,进而实现第一寄存器与外设设备的目标内存空间的实时映射,与此同时,可以只通过对不同的操作类型进行设置即可实现映射指令的扩展,降低了映射指令生成器和映射指令处理器的耦合性,并且可以通过第一寄存器和外设设备的目标内存空间的实时映射以此来减轻主机***的数据处理压力。
图4是本公开实施例提供的一种寄存器映射装置的结构示意图。
在本公开实施例中,该寄存器映射装置可以设置于电子设备内,被理解为上述电子设备中的部分功能模块。具体地,电子设备可以为与主机***连接或通信的外设设备、PCI设备等,其中,PCI设备可以是任何通过PCI总线与主机***连接的设备,比如硬盘、显卡等,在此不做限制。
如图4所示,该寄存器映射装置400可以包括指令生成模块410、地址确定模块420和寄存器映射模块430。
该指令生成模块410可以用于响应于针对第一寄存器的操作指令,生成映射指令,映射指令包括第一寄存器的地址信息、操作指令的操作类型、第二寄存器的地址信息,第二寄存器用于存放操作指令针对的数据。
该地址确定模块420可以用于根据第一寄存器的地址信息,确定与第一寄存器对应的外设设备的目标内存空间的地址信息。
该寄存器映射模块430可以用于根据外设设备的目标内存空间的地址信息、操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和外设设备的目标内存空间进行映射。
在本公开实施例中,能够响应于针对第一寄存器的操作指令,生成映射指令,映射指令包括第一寄存器的地址信息、操作指令的操作类型、第二寄存器的地址信息,第二寄存器用于存放操作指令针对的数据,根据第一寄存器的地址信息,确定与第一寄存器对应的外设设备的目标内存空间的地址信息,根据外设设备的目标内存空间的地址信息、操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和外设设备的目标内存空间进行映射,由此,实现第一寄存器与外设设备的目标内存空间的实时映射。
在本公开一些实施例中,操作类型为读操作。
其中,寄存器映射模块430可以包括第一数据读取单元4301、第一数据存入单元4302和寄存器映射单元4303。
该第一数据读取单元4301可以用于根据外设设备的目标内存空间的地址信息,读取外设设备的目标内存空间中的目标读数据。
该第一数据存入单元4302可以用于根据第二寄存器的地址信息,将目标读数据存入第二寄存器。
该寄存器映射单元4303可以用于将存入第二寄存器中的目标读数据映射到第一寄存器。
在本公开一些实施例中,操作类型为写操作。
其中,寄存器映射模块430还可以包括第二数据读取单元4304和第二数据存入单元4305。
该第二数据读取单元4304可以用于根据第二寄存器的地址信息,读取第二寄存器中的目标写数据。
该第二数据存入单元4305可以用于根据外设设备的目标内存空间的地址信息,将目标写数据存入外设设备的目标内存空间。
在本公开一些实施例中,寄存器映射模块430还可以包括第三数据存入单元4306。
该第三数据存入单元4306可以用于获取写操作对应的目标写数据,将目标写数据存入第二寄存器中。
在本公开一些实施例中,该寄存器映射装置400还可以包括指令存放模块440。
该指令存放模块440可以用于在生成映射指令之后,将映射指令放入与映射指令对应的映射通道,映射通道包括指令寄存器和第二寄存器,指令寄存器用于存放映射指令。
在本公开一些实施例中,该寄存器映射装置400还可以包括指令监测模块450。
该指令监测模块450可以用于对映射通道内是否有新的映射指令进行实时监测,在监测到有新的映射指令时,响应于新的映射指令,对第一寄存器和外设设备的目标内存空间进行映射。
需要说明的是,图4所示的寄存器映射装置400可以执行上述方法实施例中的各个步骤,并且实现上述方法实施例中的各个过程和效果,在此不做赘述。
图5是本公开实施例提供的一种电子设备的结构示意图。
在本公开实施例中,图5所示的电子设备可以为与主机***连接或通信的外设设备、PCI设备等,其中,PCI设备可以是任何通过PCI总线与主机***连接的设备,比如硬盘、显卡等,在此不做限制。
如图5所示,该电子设备可以包括处理器510以及存储有计算机程序指令的存储器520。
具体地,上述处理器510可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本公开实施例的一个或多个集成电路。
存储器520可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器520可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器520可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器520可在综合网关设备的内部或外部。在特定实施例中,存储器520是非易失性固态存储器。在特定实施例中,存储器520包括只读存储器(Read-Only Memory,ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Electrical Programmable ROM,EPROM)、电可擦除PROM(Electrically ErasableProgrammable ROM,EEPROM)、电可改写ROM(Electrically Alterable ROM,EAROM)或闪存,或者两个或及其以上这些的组合。
处理器510通过读取并执行存储器520中存储的计算机程序指令,以执行本公开实施例所提供的寄存器映射方法的步骤。
在一个示例中,该电子设备还可以包括收发器530和总线540。其中,如图5所示,处理器510、存储器520和收发器530通过总线540连接并完成相互间的通信。
总线540包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(ExtendedIndustry Standard Architecture,EISA)总线、前端总线(Front Side BUS,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low Pin Count,LPC)总线、存储器总线、微信道架构(MicroChannel Architecture,MCA)总线、***控件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)总线、视频电子标准协会局部(Video Electronics StandardsAssociation Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线540可包括一个或多个总线。
本公开实施例还提供了一种计算机可读存储介质,该存储介质可以存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现本公开实施例所提供的寄存器映射方法。
上述的存储介质可以例如包括计算机程序指令的存储器520,上述指令可由电子设备的处理器510执行以完成本公开实施例所提供的寄存器映射方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact Disc ROM,CD-ROM)、磁带、软盘和光数据存储设备等。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种寄存器映射方法,其特征在于,包括:
响应于针对第一寄存器的操作指令,生成映射指令,所述映射指令包括所述第一寄存器的地址信息、所述操作指令的操作类型、第二寄存器的地址信息,所述第二寄存器用于存放所述操作指令针对的数据;
根据所述第一寄存器的地址信息,确定与所述第一寄存器对应的外设设备的目标内存空间的地址信息;
根据所述外设设备的目标内存空间的地址信息、所述操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和所述外设设备的目标内存空间进行映射。
2.根据权利要求1所述的方法,其特征在于,所述操作类型为读操作;
根据所述外设设备的目标内存空间的地址信息、所述操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和所述外设设备的目标内存空间进行映射,包括:
根据所述外设设备的目标内存空间的地址信息,读取所述外设设备的目标内存空间中的目标读数据;
根据所述第二寄存器的地址信息,将所述目标读数据存入所述第二寄存器;
将存入所述第二寄存器中的所述目标读数据映射到所述第一寄存器。
3.根据权利要求1所述的方法,其特征在于,所述操作类型为写操作;
根据所述外设设备的目标内存空间的地址信息、所述操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和所述外设设备的目标内存空间进行映射,包括:
根据所述第二寄存器的地址信息,读取所述第二寄存器中的目标写数据;
根据所述外设设备的目标内存空间的地址信息,将所述目标写数据存入所述外设设备的目标内存空间。
4.根据权利要求3所述的方法,其特征在于,在所述根据所述第二寄存器的地址信息,读取所述第二寄存器中的目标写数据之前,所述方法还包括:
获取所述写操作对应的目标写数据,将所述目标写数据存入所述第二寄存器中。
5.根据权利要求1所述的方法,其特征在于,在所述生成映射指令之后,所述方法还包括:
将所述映射指令放入与所述映射指令对应的映射通道,所述映射通道包括指令寄存器和第二寄存器,所述指令寄存器用于存放所述映射指令。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
对映射通道内是否有新的映射指令进行实时监测,在监测到有所述新的映射指令时,响应于所述新的映射指令,对所述第一寄存器和所述外设设备的目标内存空间进行映射。
7.一种寄存器映射装置,其特征在于,包括:
指令生成模块,用于响应于针对第一寄存器的操作指令,生成映射指令,所述映射指令包括所述第一寄存器的地址信息、所述操作指令的操作类型、第二寄存器的地址信息,所述第二寄存器用于存放所述操作指令针对的数据;
地址确定模块,用于根据所述第一寄存器的地址信息,确定与所述第一寄存器对应的外设设备的目标内存空间的地址信息;
寄存器映射模块,用于根据所述外设设备的目标内存空间的地址信息、所述操作指令的操作类型、第二寄存器的地址信息,对第一寄存器和所述外设设备的目标内存空间进行映射。
8.根据权利要求7所述的装置,其特征在于,所述操作类型为读操作;
所述寄存器映射模块包括第一数据读取单元、第一数据存入单元和寄存器映射单元;
所述第一数据读取单元,用于根据所述外设设备的目标内存空间的地址信息,读取所述外设设备的目标内存空间中的目标读数据;
所述第一数据存入单元,用于根据所述第二寄存器的地址信息,将所述目标读数据存入所述第二寄存器;
所述寄存器映射单元,用于将存入所述第二寄存器中的所述目标读数据映射到所述第一寄存器。
9.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储可执行指令;
其中,所述处理器用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1-6中任一项所述的寄存器映射方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现上述权利要求1-6中任一项所述的寄存器映射方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211739087.5A CN116360853B (zh) | 2022-12-30 | 2022-12-30 | 寄存器映射方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211739087.5A CN116360853B (zh) | 2022-12-30 | 2022-12-30 | 寄存器映射方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116360853A CN116360853A (zh) | 2023-06-30 |
CN116360853B true CN116360853B (zh) | 2023-12-12 |
Family
ID=86939717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211739087.5A Active CN116360853B (zh) | 2022-12-30 | 2022-12-30 | 寄存器映射方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116360853B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116679986A (zh) * | 2023-08-02 | 2023-09-01 | 苏州浪潮智能科技有限公司 | 寄存器的访问方法、装置、服务器、***及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538710A (zh) * | 2003-02-26 | 2004-10-20 | 多寄存器 | |
CN102646074A (zh) * | 2012-02-22 | 2012-08-22 | 中国人民解放军国防科学技术大学 | 龙芯3a平台大内存设备的地址映射方法 |
CN106209121A (zh) * | 2016-07-15 | 2016-12-07 | 中国科学院微电子研究所 | 一种多模多核的通信基带SoC芯片 |
CN110750328A (zh) * | 2019-09-23 | 2020-02-04 | 东软集团股份有限公司 | 一种设备访问方法、装置及终端设备 |
CN110781117A (zh) * | 2019-09-12 | 2020-02-11 | 广东高云半导体科技股份有限公司 | 一种基于fpga的spi扩展总线接口以及片上*** |
CN114115996A (zh) * | 2020-08-28 | 2022-03-01 | 瞻博网络公司 | 通过微控制器的映射的寄存器访问 |
CN114153779A (zh) * | 2021-10-31 | 2022-03-08 | 郑州云海信息技术有限公司 | 一种i2c通信方法、***、设备、及存储介质 |
CN114328322A (zh) * | 2022-03-17 | 2022-04-12 | 之江实验室 | 一种可配置功能模式的dma控制器运行方法 |
CN114610557A (zh) * | 2022-05-11 | 2022-06-10 | 宏晶微电子科技股份有限公司 | 设备驱动单元的测试方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9792245B2 (en) * | 2014-12-09 | 2017-10-17 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Peripheral component interconnect express (PCIe) devices with efficient memory mapping by remapping a plurality of base address registers (BARs) |
US10248468B2 (en) * | 2016-01-11 | 2019-04-02 | International Business Machines Corporation | Using hypervisor for PCI device memory mapping |
-
2022
- 2022-12-30 CN CN202211739087.5A patent/CN116360853B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538710A (zh) * | 2003-02-26 | 2004-10-20 | 多寄存器 | |
CN102646074A (zh) * | 2012-02-22 | 2012-08-22 | 中国人民解放军国防科学技术大学 | 龙芯3a平台大内存设备的地址映射方法 |
CN106209121A (zh) * | 2016-07-15 | 2016-12-07 | 中国科学院微电子研究所 | 一种多模多核的通信基带SoC芯片 |
CN110781117A (zh) * | 2019-09-12 | 2020-02-11 | 广东高云半导体科技股份有限公司 | 一种基于fpga的spi扩展总线接口以及片上*** |
CN110750328A (zh) * | 2019-09-23 | 2020-02-04 | 东软集团股份有限公司 | 一种设备访问方法、装置及终端设备 |
CN114115996A (zh) * | 2020-08-28 | 2022-03-01 | 瞻博网络公司 | 通过微控制器的映射的寄存器访问 |
CN114153779A (zh) * | 2021-10-31 | 2022-03-08 | 郑州云海信息技术有限公司 | 一种i2c通信方法、***、设备、及存储介质 |
CN114328322A (zh) * | 2022-03-17 | 2022-04-12 | 之江实验室 | 一种可配置功能模式的dma控制器运行方法 |
CN114610557A (zh) * | 2022-05-11 | 2022-06-10 | 宏晶微电子科技股份有限公司 | 设备驱动单元的测试方法及装置 |
Non-Patent Citations (1)
Title |
---|
黄璜 ; 田伟.基于CPLD的TMS320C6727B外设重叠地址空间解析方法的研究与实现.《海军航空工程学院学报》.2014,196-200. * |
Also Published As
Publication number | Publication date |
---|---|
CN116360853A (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108156823B (zh) | 一种闪存介质的访问方法及控制器 | |
CN105095128B (zh) | 中断处理方法及中断控制器 | |
US7890812B2 (en) | Computer system which controls closing of bus | |
JP4885316B2 (ja) | 試験装置および試験方法 | |
CN108139997A (zh) | 通信***、设备、主设备、从设备、通信***控制方法和程序 | |
US8996774B2 (en) | Performing emulated message signaled interrupt handling | |
CN116360853B (zh) | 寄存器映射方法、装置、设备及介质 | |
US10534563B2 (en) | Method and system for handling an asynchronous event request command in a solid-state drive | |
US8819309B1 (en) | Low latency bypass buffer | |
CN112650558B (zh) | 数据处理方法、装置、可读介质和电子设备 | |
CN112100090A (zh) | 数据访问请求处理方法、装置、介质及内存映射控制器 | |
US7363409B2 (en) | Interrupt control system and method for reducing interrupt latency | |
EP4080373A1 (en) | Interrupt request signal conversion system and method, and computing device | |
CN109840232B (zh) | 存储设备及存储设备的元件管理方法 | |
CN110209605B (zh) | Pcie总线网卡的寄存器读写方法和计算设备 | |
US10095643B2 (en) | Direct memory access control device for at least one computing unit having a working memory | |
CN111488303B (zh) | 接口转接电路 | |
CN111949470A (zh) | 一种芯片验证方法、装置、电子设备及存储介质 | |
CN116955251A (zh) | 一种基于重排序缓冲器的读请求处理方法及相关装置 | |
CN114579319B (zh) | 显存管理方法、显存管理模块、soc及电子设备 | |
US9146776B1 (en) | Systems and methods for controlling flow of message signaled interrupts | |
CN111579973B (zh) | 芯片同步测试方法、芯片、电子设备及存储介质 | |
CN110647355B (zh) | 数据处理器和数据处理方法 | |
US11816049B2 (en) | Interrupt request signal conversion system and method, and computing device | |
CN117331702A (zh) | 请求分配方法、装置、电子设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |