CN105824761B - 一种物理内存信息获取方法及装置 - Google Patents

一种物理内存信息获取方法及装置 Download PDF

Info

Publication number
CN105824761B
CN105824761B CN201610134750.7A CN201610134750A CN105824761B CN 105824761 B CN105824761 B CN 105824761B CN 201610134750 A CN201610134750 A CN 201610134750A CN 105824761 B CN105824761 B CN 105824761B
Authority
CN
China
Prior art keywords
physical memory
information
address
preset
memory information
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
Application number
CN201610134750.7A
Other languages
English (en)
Other versions
CN105824761A (zh
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.)
Zhuhai Baoqu Technology Co Ltd
Original Assignee
Zhuhai Seal Interest Technology 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 Zhuhai Seal Interest Technology Co Ltd filed Critical Zhuhai Seal Interest Technology Co Ltd
Priority to CN201610134750.7A priority Critical patent/CN105824761B/zh
Publication of CN105824761A publication Critical patent/CN105824761A/zh
Application granted granted Critical
Publication of CN105824761B publication Critical patent/CN105824761B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

本发明实施例公开了一种物理内存信息获取方法及装置,应用于电子设备,方案包括:响应获得的针对物理内存信息的获取指令,确定记录有信息库地址的SMBus的第一基地址信息,其中,该信息库地址中对应记录有物理内存信息库,该物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;根据该第一基地址信息以及第一预设地址偏移,确定该至少一根物理内存条的第二基地址信息;基于该第二基地址信息,读取该物理内存信息库中存储于预设地址范围内的预设字符串;根据该预设字符串,确定该获取指令针对的物理内存信息。应用本发明实施例以能够获得到更加全面的物理内存信息。

Description

一种物理内存信息获取方法及装置
技术领域
本发明涉及获取硬件信息技术领域,特别涉及一种物理内存信息获取方法及装置。
背景技术
在硬件相关的软件开发过程中,往往会有需要获取硬件信息的情况。对于硬件的信息有些可以通过内存条表面贴纸获得。然而,像物理内存容量、物理内存的厂商、物理内存序列号以及物理内存制造日期等信息来说就很难获得。
现有技术中,通过使用windows api函数GlobalMemoryStatusEx,可以获取物理内存容量信息,对物理内存的其他信息就很难获得,如物理内存的厂商、物理内存的序列号以及物理内存的制造日期等信息。可见,利用现有技术能够获取的物理内存的信息有限,不够全面。
发明内容
本发明实施例公开了一种物理内存信息获取方法及装置,以能够获得到更加全面的物理内存信息,提高用户体验。具体方案如下:
一方面,本发明实施例提供了一种物理内存信息获取方法,应用于电子设备,所述方法包括:
获得针对于物理内存信息的获取指令;
响应所述获取指令,确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,其中,所述信息库地址中对应记录有物理内存信息库,所述物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;
根据所述第一基地址信息以及第一预设地址偏移信息,确定所述至少一根物理内存条的第二基地址信息;
基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串;其中,所述预设地址范围与所述物理内存信息具有对应性,所述预设地址范围至少由与所述物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;
根据所述预设字符串,确定所述获取指令针对的物理内存信息。
较佳的,所述确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,包括:
通过WinIO程序库中的GetPortVal函数和SetPortVal函数,结合预设基地址计算公式,获得记录有信息库地址的系统管理总线SMBus的第一基地址信息。
较佳的,所述基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串,包括:
基于所述第二基地址信息,通过调用所述WinIO程序库中的所述GetPortVal函数读取所述物理内存信息库中存储于预设地址范围内的预设字符串。
较佳的,所述基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串,包括:
基于所述第二基地址信息以及与所述物理内存信息对应的第二预设地址偏移信息,计算起始地址;
基于所述第二基地址信息以及与所述物理内存信息对应的第三预设地址偏移信息,计算终止地址;
读取所述起始地址以及所述终止地址之间的字符串;
基于所读取的字符串,确定所述物理内存信息对应的预设字符串。
较佳的,当所述物理内存信息为物理内存的型号时,所述基于所读取的字符串,确定所述物理内存信息对应的预设字符串,包括:
将所读取的字符串中在预设字符之前的目标字符串,确定为所述物理内存信息对应的预设字符串。
较佳的,当所述物理内存信息为物理内存的容量时,所述根据所述预设字符串,确定所述物理内存信息获取指令针对的物理内存信息,包括:
根据所述预设字符串以及预设的关于容量与字符串的单位转换公式,确定所述物理内存信息获取指令针对的物理内存信息。
较佳的,当所述物理内存信息为物理内存的厂商时,所述根据所述预设字符串,确定所述物理内存信息获取指令针对的物理内存信息,包括:
根据所述预设字符串以及预设的关于厂商数据与字符串的对应表,确定所述物理内存信息获取指令针对的物理内存信息。
另一方面,本发明实施例提供了一种物理内存信息获取装置,应用于电子设备,所述装置包括:指令获得模块、第一基地址确定模块、第二基地址确定模块、预设字符串读取模块和物理内存信息确定模块;
所述指令获得模块:用于获得针对于物理内存信息的获取指令;
所述第一基地址确定模块:用于响应所述获取指令,确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,其中,所述信息库地址中对应记录有物理内存信息库,所述物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;
所述第二基地址确定模块:用于根据所述第一基地址信息以及第一预设地址偏移,确定所述至少一根物理内存条的第二基地址信息;
所述预设字符串读取模块:用于基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串;其中,所述预设地址范围与所述物理内存信息具有对应性,所述预设地址范围至少由与所述物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;
所述物理内存信息确定模块:用于根据所述预设字符串,确定所述获取指令针对的物理内存信息。
较佳的,所述第一基地址确定模块,具体用于:
通过WinIO程序库中的GetPortVal函数和SetPortVal函数,结合预设基地址计算公式,获得记录有信息库地址的系统管理总线SMBus的第一基地址信息。
较佳的,所述预设字符串读取模块,具体用于:
基于所述第二基地址信息,通过调用所述WinIO程序库中的所述GetPortVal函数读取所述物理内存信息库中存储于预设地址范围内的预设字符串。
较佳的,所述预设字符串读取模块包括起始地址计算单元、终止地址计算单元、字符串读取单元和预设字符串确定单元;
所述起始地址计算单元:用于基于所述第二基地址信息以及与所述物理内存信息对应的第二预设地址偏移信息,计算起始地址;
所述终止地址计算单元:用于基于所述第二基地址信息以及与所述物理内存信息对应的第三预设地址偏移信息,计算终止地址;
所述字符串读取单元:用于读取所述起始地址以及所述终止地址之间的字符串;
所述预设字符串确定单元:用于基于所读取的字符串,确定所述物理内存信息对应的预设字符串。
较佳的,所述预设字符串确定单元,具体用于:
当所述物理内存信息为物理内存的型号时,将所读取的字符串中在预设字符之前的目标字符串,确定为所述物理内存信息对应的预设字符串。
较佳的,所述物理内存信息确定模块,具体用于:
当所述物理内存信息为物理内存的容量时,根据所述预设字符串以及预设的关于容量与字符串的单位转换公式,确定所述物理内存信息获取指令针对的物理内存信息。
较佳的,所述物理内存信息确定模块,具体用于:
当所述物理内存信息为物理内存的厂商时,根据所述预设字符串以及预设的关于厂商数据与字符串的对应表,确定所述物理内存信息获取指令针对的物理内存信息。
在本方案中,响应获得的针对物理内存信息的获取指令,确定记录有信息库地址的SMBus的第一基地址信息,其中,该信息库地址中对应记录有物理内存信息库,该物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;根据该第一基地址信息以及第一预设地址偏移,确定该至少一根物理内存条的第二基地址信息;基于该第二基地址信息,读取该物理内存信息库中存储于预设地址范围内的预设字符串;其中,该预设地址范围与该物理内存信息具有对应性,该预设地址范围至少由与该物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;根据该预设字符串,确定该获取指令针对的物理内存信息。以能够获得到更加全面的物理内存信息,提高用户体验。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种物理内存信息获取方法的流程示意图;
图2为本发明实施例提供的一种物理内存信息获取方法的另一流程示意图;
图3为本发明实施例提供的一种物理内存信息获取装置的结构示意图;
图4为本发明实施例提供的一种物理内存信息获取装置的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种物理内存信息获取方法及装置,能够获得到更加全面的物理内存信息,提高用户体验。
下面首先对本发明实施例所提供的一种物理内存信息获取方法进行介绍。
需要说明的是,本发明实施例所提供的一种物理内存信息获取方法可以应用于电子设备,该电子设备可以是任意形式的电脑等。并且,可以实现该物理内存信息获取方法的功能软件可以是专门的客户端软件,也可以是其他具有信息获得功能的客户端软件的插件。
并且,存储有物理内存信息的物理内存信息库都记录在相应的物理内存地址(信息库地址)上,读取该地址中相应位置上存储的字符串,经过一定的处理,即可获得相应的物理内存信息。
如图1所示,本发明实施例所提供的一种物理内存信息获取方法,可以包括步骤:
S101:获得针对于物理内存信息的获取指令;
可以理解的是,对于该针对于物理内存信息的获取指令可以是该电子设备的持有者发送的,也可以是该电子设备自动发送的,这都是可以的。并且该获取指令中针对的物理内存信息可以包括一类,也可以包括多类。
S102:响应该获取指令,确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,其中,该信息库地址中对应记录有物理内存信息库,该物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;
具体的,SMBus(System Management Bus-系统管理总线)应用于移动PC和桌面PC系统中的低速率通讯。希望通过一条廉价并且功能强大的总线(由两条线组成),来控制主板上的设备并收集相应的信息。SMBus中记录有关于物理内存的信息库地址,由于每次电子设备启动时,系统加载时该SMBus加载的地址的偏移都有差异,因此要想确定该获取指令针对的物理内存信息,要首先确定该SMBus的第一基地址信息。对于该SMBus的第一基地址信息可以通过WinIO程序库中特定的函数来确定,具体的,所述确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,包括:
通过WinIO程序库中的GetPortVal函数和SetPortVal函数,结合预设基地址计算公式,获得记录有信息库地址的系统管理总线SMBus的第一基地址信息。
在实际应用中,可以调用以下函数获得SMBus的第一基地址信息:
//Get SMBus base address
SetPortVal(IO_SC,dataddr+0x20,4);
GetPortVal(IO_DA,&dwPortVal,4);
baseddr=dwPortVal&0x0FFFFFFF0.
S103:根据该第一基地址信息以及第一预设地址偏移信息,确定该至少一根物理内存条的第二基地址信息;
需要说明的是,在电子设备中存在有至少一根物理内存条,每根物理内存条都对应有相应的第一预设地址偏移信息,即该第一预设地址偏移信息可以为一个或者多个。根据第一基地址信息以及第一预设地址偏移,确定的该第二基地址信息中的第二基地址即为可以认为成一个入口地址,基于该第二基地址,经过预定的地址偏移就可以获得对应的字符串,该字符串经过一定的计算或者转换,就可以得到相应的物理内存信息。
并且,基于该确定的第一基地址信息,调用GetPortVal函数获取DIMM0=0x0a0,返回获取到的物理内存条的第二基地址,即第一根物理内存条的第二基地址调用GetPortVal获取DIMM1=0x0a2,返回获取到的物理内存条的第二基地址,即第二根物理内存条的第二基地址。
S104:基于该第二基地址信息,读取该物理内存信息库中存储于预设地址范围内的预设字符串;其中,该预设地址范围与该物理内存信息具有对应性,该预设地址范围至少由与该物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;
需要说明的是,该获取指令对应的物理内存信息中可能包含一种物理内存的类型的具体信息,如物理内存的容量,也可以包含多种物理内存的类型的具体信息,如物理内存的容量、物理内存的厂商等。该预设地址范围与该物理内存信息具有对应性,当包含多种物理内存的类型的具体信息时,该预设地址范围也为多个。对应的确定该预设地址范围的与该物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息也有多对。并且,当在该物理内存信息库中存储于预设地址范围内的预设字符串时,会根据该信息库地址一个一个的顺序读取。
并且,在实际应用中,该第二预设地址偏移信息和第三预设地址偏移信息可能相同,可能不同。
在实际应用中,可以通过WinIO程序库的驱动程序读取信息库地址,进而获得物理内存信息,具体的,所述基于该第二基地址信息,读取该物理内存信息库中存储于预设地址范围内的预设字符串,包括:
基于该第二基地址信息,通过调用该WinIO程序库中的该GetPortVal函数读取该物理内存信息库中存储于预设地址范围内的预设字符串。
进一步的,该预设地址范围至少由与该物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定的,如图2所示,具体的,所述基于该第二基地址信息,读取该物理内存信息库中存储于预设地址范围内的预设字符串,可以包括:
S201:基于该第二基地址信息以及与该物理内存信息对应的第二预设地址偏移信息,计算起始地址;
S202:基于该第二基地址信息以及与该物理内存信息对应的第三预设地址偏移信息,计算终止地址;
S203:读取该起始地址以及该终止地址之间的字符串;
S204:基于所读取的字符串,确定该物理内存信息对应的预设字符串。
可以理解的是,根据该第二基地址信息以及与物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息,可以确定出要读取的字符串的预设地址范围。该预设地址范围的起始地址可以是该第二基地址信息中的第二基地址与第二预设地址偏移信息中的第二预设地址偏移之和对应的地址,该预设地址范围的终止地址可以是该第二基地址信息中的第二基地址与第三预设地址偏移信息中的第三预设地址偏移之和对应的地址。
举例而言,当确定出该第二基地址信息中的第二基地址为slot1addr时,该对应的第二预设地址偏移为0x7a,第三预设地址偏移为0x7d,读取该物理内存信息中的物理内存的序列号的预设地址范围为:起始地址slot1addr+0x7a,终止地址0x7d,调用GetPortVal函数读取共8个字符即为该物理内存的序列号对应的预设字符串。
可以通过该WinIO程序库中的该GetPortVal函数读取该起始地址以及该终止地址之间的字符串;由于该物理内存信息中对应的物理内存的类型的不同,该预设字符串的确定可能会存在偏差,要基于该读取到的字符串,确定该物理内存信息对应的预设字符串。
在实际应用中,对于不同物理内存条对应的物理内存信息中的物理内存的型号来说,其设定的型号的位数可能是不同的,但一般的都会以“0”结尾,并且一般不会过长。具体的,当该物理内存信息为物理内存的型号时,所述基于所读取的字符串,确定所述物理内存信息对应的预设字符串,包括:
将所读取的字符串中在预设字符之前的目标字符串,确定为该物理内存信息对应的预设字符串。
当然,对于该物理内存信息出该物理内存的型号外,其他的物理内存的类型的具体信息一般都可以直接将该预设地址范围内的字符串确定为预设字符串。
S105:根据该预设字符串,确定该获取指令针对的物理内存信息。
在实际应用中,对于该物理内存信息中的不同的物理内存的类型的具体信息,其有的可以直接根据该预设字符串确定,举例而言,当确定出该第二基地址信息中的第二基地址为slot1addr时,该物理内存信息中的物理内存的制造日期对应的第二预设地址偏移为0x78,第三预设地址偏移为0x79,读取该物理内存信息中的物理内存的制造日期的预设地址范围为:起始地址为slot1addr+0x78,终止地址为0x79,调用GetPortVal函数读取的预设字符串中的第一个字节对应的为制造年份,读取的预设字符串中的第二个字节对应的为制造周数;
该物理内存信息中的物理内存的频率对应的第二预设地址偏移为0x0c,第三预设地址偏移也为0x0c,读取该物理内存信息中的物理内存的频率的预设地址范围为:起始地址和终止地址均为slot1addr+0x0c,调用GetPortVal函数读取该地址中存储的1个字节,获取到的数据就是物理内存的频率。
对于一些物理内存信息的类型的具体内容需要将该读取的预设字符串经过一定的处理,才能得到相应的具体内容,具体的,当该物理内存信息为物理内存的容量时,所述根据该预设字符串,确定该物理内存信息获取指令针对的物理内存信息,可以包括:
根据该预设字符串以及预设的关于容量与字符串的单位转换公式,确定该物理内存信息获取指令针对的物理内存信息。
举例而言,调用GetPortVal函数读取slot1addr+0x4地址中存储的1个字节,获取到物理内存的内存容量:2048Mbytes,经过预设的关于容量与字符串的单位转换公式,得到该内存容量为2G。
具体的,当该物理内存信息为物理内存的厂商时,所述根据该预设字符串,确定该物理内存信息获取指令针对的物理内存信息,可以包括:
根据该预设字符串以及预设的关于厂商数据与字符串的对应表,确定该物理内存信息获取指令针对的物理内存信息。
在实际应用中,每个物理内存的厂商都有自己对应的字符标识(预设字符串),该字符标识记录在该物理内存信息库的对应的预设地址范围中,如slot1addr+0x76中。调用GetPortVal函数读取该地址中存储的1个字节,通过查询该预设的关于厂商数据与字符串的对应表,可以确定该物理内存的厂商。
应用本发明实施例,响应获得的针对物理内存信息的获取指令,确定记录有信息库地址的SMBus的第一基地址信息,其中,该信息库地址中对应记录有物理内存信息库,该物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;根据该第一基地址信息以及第一预设地址偏移,确定该至少一根物理内存条的第二基地址信息;基于该第二基地址信息,读取该物理内存信息库中存储于预设地址范围内的预设字符串;其中,该预设地址范围与该物理内存信息具有对应性,该预设地址范围至少由与该物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;根据该预设字符串,确定该获取指令针对的物理内存信息。以能够获得到更加全面的物理内存信息,提高用户体验。
相应于上述方法实施例,如图3所示,本发明实施例还提供了一种物理内存信息获取装置,可以应用于电子设备,所述装置可以包括:指令获得模块301、第一基地址确定模块302、第二基地址确定模块303、预设字符串读取模块304和物理内存信息确定模块305;
所述指令获得模块301:用于获得针对于物理内存信息的获取指令;
所述第一基地址确定模块302:用于响应所述获取指令,确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,其中,所述信息库地址中对应记录有物理内存信息库,所述物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;
所述第二基地址确定模块303:用于根据所述第一基地址信息以及第一预设地址偏移,确定所述至少一根物理内存条的第二基地址信息;
所述预设字符串读取模块304:用于基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串;其中,所述预设地址范围与所述物理内存信息具有对应性,所述预设地址范围至少由与所述物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;
所述物理内存信息确定模块305:用于根据所述预设字符串,确定所述获取指令针对的物理内存信息。
应用本发明实施例,响应获得的针对物理内存信息的获取指令,确定记录有信息库地址的SMBus的第一基地址信息,其中,该信息库地址中对应记录有物理内存信息库,该物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;根据该第一基地址信息以及第一预设地址偏移,确定该至少一根物理内存条的第二基地址信息;基于该第二基地址信息,读取该物理内存信息库中存储于预设地址范围内的预设字符串;其中,该预设地址范围与该物理内存信息具有对应性,该预设地址范围至少由与该物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;根据该预设字符串,确定该获取指令针对的物理内存信息。以能够获得到更加全面的物理内存信息,提高用户体验。
具体的,所述第一基地址确定模块302,具体用于:
通过WinIO程序库中的GetPortVal函数和SetPortVal函数,结合预设基地址计算公式,获得记录有信息库地址的系统管理总线SMBus的第一基地址信息。
具体的,所述预设字符串读取模块304,具体用于:
基于所述第二基地址信息,通过调用所述WinIO程序库中的所述GetPortVal函数读取所述物理内存信息库中存储于预设地址范围内的预设字符串。
具体的,如图4所示,所述预设字符串读取模块304包括起始地址计算单元3041、终止地址计算单元3042、字符串读取单元3043和预设字符串确定单元3044;
所述起始地址计算单元3041:用于基于所述第二基地址信息以及与所述物理内存信息对应的第二预设地址偏移信息,计算起始地址;
所述终止地址计算单元3042:用于基于所述第二基地址信息以及与所述物理内存信息对应的第三预设地址偏移信息,计算终止地址;
所述字符串读取单元3043:用于读取所述起始地址以及所述终止地址之间的字符串;
所述预设字符串确定单元3044:用于基于所读取的字符串,确定所述物理内存信息对应的预设字符串。
具体的,所述预设字符串确定单元3044,具体用于:
当所述物理内存信息为物理内存的型号时,将所读取的字符串中在预设字符之前的目标字符串,确定为所述物理内存信息对应的预设字符串。
具体的,所述物理内存信息确定模块305,具体用于:
当所述物理内存信息为物理内存的容量时,根据所述预设字符串以及预设的关于容量与字符串的单位转换公式,确定所述物理内存信息获取指令针对的物理内存信息。
具体的,所述物理内存信息确定模块305,具体用于:
当所述物理内存信息为物理内存的厂商时,根据所述预设字符串以及预设的关于厂商数据与字符串的对应表,确定所述物理内存信息获取指令针对的物理内存信息。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (14)

1.一种物理内存信息获取方法,其特征在于,应用于电子设备,所述方法包括:
获得针对于物理内存信息的获取指令;
响应所述获取指令,确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,其中,所述信息库地址中对应记录有物理内存信息库,所述物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;
根据所述第一基地址信息以及第一预设地址偏移信息,确定所述至少一根物理内存条的第二基地址信息;
基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串;其中,所述预设地址范围与所述物理内存信息具有对应性,所述预设地址范围至少由与所述物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;
根据所述预设字符串,确定所述获取指令针对的物理内存信息。
2.根据权利要求1所述的方法,其特征在于,所述确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,包括:
通过WinIO程序库中的GetPortVal函数和SetPortVal函数,结合预设基地址计算公式,获得记录有信息库地址的系统管理总线SMBus的第一基地址信息。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串,包括:
基于所述第二基地址信息,通过调用所述WinIO程序库中的所述GetPortVal函数读取所述物理内存信息库中存储于预设地址范围内的预设字符串。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串,包括:
基于所述第二基地址信息以及与所述物理内存信息对应的第二预设地址偏移信息,计算起始地址;
基于所述第二基地址信息以及与所述物理内存信息对应的第三预设地址偏移信息,计算终止地址;
读取所述起始地址以及所述终止地址之间的字符串;
基于所读取的字符串,确定所述物理内存信息对应的预设字符串。
5.根据权利要求4所述的方法,其特征在于,当所述物理内存信息为物理内存的型号时,所述基于所读取的字符串,确定所述物理内存信息对应的预设字符串,包括:
将所读取的字符串中在预设字符之前的目标字符串,确定为所述物理内存信息对应的预设字符串。
6.根据权利要求1所述的方法,其特征在于,当所述物理内存信息为物理内存的容量时,所述根据所述预设字符串,确定所述物理内存信息获取指令针对的物理内存信息,包括:
根据所述预设字符串以及预设的关于容量与字符串的单位转换公式,确定所述物理内存信息获取指令针对的物理内存信息。
7.根据权利要求1所述的方法,其特征在于,当所述物理内存信息为物理内存的厂商时,所述根据所述预设字符串,确定所述物理内存信息获取指令针对的物理内存信息,包括:
根据所述预设字符串以及预设的关于厂商数据与字符串的对应表,确定所述物理内存信息获取指令针对的物理内存信息。
8.一种物理内存信息获取装置,其特征在于,应用于电子设备,所述装置包括:指令获得模块、第一基地址确定模块、第二基地址确定模块、预设字符串读取模块和物理内存信息确定模块;
所述指令获得模块:用于获得针对于物理内存信息的获取指令;
所述第一基地址确定模块:用于响应所述获取指令,确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,其中,所述信息库地址中对应记录有物理内存信息库,所述物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;
所述第二基地址确定模块:用于根据所述第一基地址信息以及第一预设地址偏移,确定所述至少一根物理内存条的第二基地址信息;
所述预设字符串读取模块:用于基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串;其中,所述预设地址范围与所述物理内存信息具有对应性,所述预设地址范围至少由与所述物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;
所述物理内存信息确定模块:用于根据所述预设字符串,确定所述获取指令针对的物理内存信息。
9.根据权利要求8所述的装置,其特征在于,所述第一基地址确定模块,具体用于:
通过WinIO程序库中的GetPortVal函数和SetPortVal函数,结合预设基地址计算公式,获得记录有信息库地址的系统管理总线SMBus的第一基地址信息。
10.根据权利要求8所述的装置,其特征在于,所述预设字符串读取模块,具体用于:
基于所述第二基地址信息,通过调用所述WinIO程序库中的所述GetPortVal函数读取所述物理内存信息库中存储于预设地址范围内的预设字符串。
11.根据权利要求8所述的装置,其特征在于,所述预设字符串读取模块包括起始地址计算单元、终止地址计算单元、字符串读取单元和预设字符串确定单元;
所述起始地址计算单元:用于基于所述第二基地址信息以及与所述物理内存信息对应的第二预设地址偏移信息,计算起始地址;
所述终止地址计算单元:用于基于所述第二基地址信息以及与所述物理内存信息对应的第三预设地址偏移信息,计算终止地址;
所述字符串读取单元:用于读取所述起始地址以及所述终止地址之间的字符串;
所述预设字符串确定单元:用于基于所读取的字符串,确定所述物理内存信息对应的预设字符串。
12.根据权利要求11所述的装置,其特征在于,所述预设字符串确定单元,具体用于:
当所述物理内存信息为物理内存的型号时,将所读取的字符串中在预设字符之前的目标字符串,确定为所述物理内存信息对应的预设字符串。
13.根据权利要求8所述的装置,其特征在于,所述物理内存信息确定模块,具体用于:
当所述物理内存信息为物理内存的容量时,根据所述预设字符串以及预设的关于容量与字符串的单位转换公式,确定所述物理内存信息获取指令针对的物理内存信息。
14.根据权利要求8所述的装置,其特征在于,所述物理内存信息确定模块,具体用于:
当所述物理内存信息为物理内存的厂商时,根据所述预设字符串以及预设的关于厂商数据与字符串的对应表,确定所述物理内存信息获取指令针对的物理内存信息。
CN201610134750.7A 2016-03-10 2016-03-10 一种物理内存信息获取方法及装置 Active CN105824761B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610134750.7A CN105824761B (zh) 2016-03-10 2016-03-10 一种物理内存信息获取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610134750.7A CN105824761B (zh) 2016-03-10 2016-03-10 一种物理内存信息获取方法及装置

Publications (2)

Publication Number Publication Date
CN105824761A CN105824761A (zh) 2016-08-03
CN105824761B true CN105824761B (zh) 2019-01-08

Family

ID=56987644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610134750.7A Active CN105824761B (zh) 2016-03-10 2016-03-10 一种物理内存信息获取方法及装置

Country Status (1)

Country Link
CN (1) CN105824761B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832620A (zh) * 2017-11-06 2018-03-23 济南浪潮高新科技投资发展有限公司 一种内存spd保护方法及装置
CN107967219B (zh) * 2017-11-27 2021-08-06 北京理工大学 一种基于tcam的大规模字符串高速查找方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727323A (zh) * 2009-12-04 2010-06-09 山东省计算中心 Vista操作系统下网络信息的获取方法
CN102662869A (zh) * 2012-04-01 2012-09-12 龙芯中科技术有限公司 虚拟机中的内存访问方法和装置及查找器
CN102930501A (zh) * 2012-10-12 2013-02-13 四川虹微技术有限公司 一种控制dibr系统中图像存储的多口内存控制器
EP2889780A1 (en) * 2013-10-29 2015-07-01 Huawei Technologies Co., Ltd. Data processing system and data processing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727323A (zh) * 2009-12-04 2010-06-09 山东省计算中心 Vista操作系统下网络信息的获取方法
CN102662869A (zh) * 2012-04-01 2012-09-12 龙芯中科技术有限公司 虚拟机中的内存访问方法和装置及查找器
CN102930501A (zh) * 2012-10-12 2013-02-13 四川虹微技术有限公司 一种控制dibr系统中图像存储的多口内存控制器
EP2889780A1 (en) * 2013-10-29 2015-07-01 Huawei Technologies Co., Ltd. Data processing system and data processing method

Also Published As

Publication number Publication date
CN105824761A (zh) 2016-08-03

Similar Documents

Publication Publication Date Title
CN102523129A (zh) 一种通用的航空总线测试分析方法及其装置
CN107885804A (zh) 数据库同步方法、应用服务器及计算机可读存储介质
CN109299157A (zh) 一种分布式大单表的数据导出方法及装置
CN105824761B (zh) 一种物理内存信息获取方法及装置
CN107181821A (zh) 一种基于sse规范的消息推送方法及装置
CN111177144B (zh) 表同步方法、装置、设备、存储介质及系统
CN110247796A (zh) 监控告警方法、装置及相关设备
CN101470445A (zh) 远程监视系统、终端管理服务器及终端管理服务器控制程序
CN106210026B (zh) 分布式文件系统多客户端目录配额精度的控制方法及系统
CN104219639A (zh) 一种显示短信记录的方法和装置
CN103152462A (zh) 一种通信录分享方法及装置
US10620683B2 (en) System and method for representing power system information
CN110225375A (zh) 一种直播间连麦权限检测方法、存储介质、设备及系统
CN106610967A (zh) 对nas设备中视频数据的读写方法及装置
CN104167216A (zh) 一种音频文件共享方法、装置及音箱
CN106845766A (zh) 信息采集方法
CN107229875A (zh) 终端隐私保护方法及系统
CN108737487B (zh) 数据同步方法和装置、存储介质及电子装置
CN105991744A (zh) 用于同步用户应用数据的方法与设备
CN112613745A (zh) 记录仪管理方法、系统、存储介质以及电子设备
CN112256255A (zh) 一种电子地图图层动态配置展示方法及系统
CN108205559A (zh) 一种数据管理方法及其设备
CN107800816A (zh) 一种ip地址数据库建立方法及终端设备
CN108347355A (zh) 一种应用状态的检测方法及其设备
CN102938804B (zh) 一种管理联系人信息的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20181214

Address after: Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province

Applicant after: Zhuhai Leopard Technology Co.,Ltd.

Address before: 100085 East District, Second Floor, 33 Xiaoying West Road, Haidian District, Beijing

Applicant before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant