一种物理内存信息获取方法及装置的制造方法

文档序号:10471055阅读:423来源:国知局
一种物理内存信息获取方法及装置的制造方法
【专利摘要】本发明实施例公开了一种物理内存信息获取方法及装置,应用于电子设备,方案包括:响应获得的针对物理内存信息的获取指令,确定记录有信息库地址的SMBus的第一基地址信息,其中,该信息库地址中对应记录有物理内存信息库,该物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;根据该第一基地址信息以及第一预设地址偏移,确定该至少一根物理内存条的第二基地址信息;基于该第二基地址信息,读取该物理内存信息库中存储于预设地址范围内的预设字符串;根据该预设字符串,确定该获取指令针对的物理内存信息。应用本发明实施例以能够获得到更加全面的物理内存信息。
【专利说明】
_种物理内存信息获取方法及装置
技术领域
[0001]本发明涉及获取硬件信息技术领域,特别涉及一种物理内存信息获取方法及装置。
【背景技术】
[0002]在硬件相关的软件开发过程中,往往会有需要获取硬件信息的情况。对于硬件的信息有些可以通过内存条表面贴纸获得。然而,像物理内存容量、物理内存的厂商、物理内存序列号以及物理内存制造日期等信息来说就很难获得。
[0003]现有技术中,通过使用windows api函数GlobalMemoryStatusEx,可以获取物理内存容量信息,对物理内存的其他信息就很难获得,如物理内存的厂商、物理内存的序列号以及物理内存的制造日期等信息。可见,利用现有技术能够获取的物理内存的信息有限,不够全面。

【发明内容】

[0004]本发明实施例公开了一种物理内存信息获取方法及装置,以能够获得到更加全面的物理内存信息,提高用户体验。具体方案如下:
[0005]—方面,本发明实施例提供了一种物理内存信息获取方法,应用于电子设备,所述方法包括:
[0006]获得针对于物理内存信息的获取指令;
[0007]响应所述获取指令,确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,其中,所述信息库地址中对应记录有物理内存信息库,所述物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;
[0008]根据所述第一基地址信息以及第一预设地址偏移信息,确定所述至少一根物理内存条的第二基地址信息;
[0009]基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串;其中,所述预设地址范围与所述物理内存信息具有对应性,所述预设地址范围至少由与所述物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;
[0010]根据所述预设字符串,确定所述获取指令针对的物理内存信息。
[0011]较佳的,所述确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,包括:
[0012]通过Win1程序库中的GetPortVal函数和SetPortVal函数,结合预设基地址计算公式,获得记录有信息库地址的系统管理总线SMBus的第一基地址信息。
[0013]较佳的,所述基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串,包括:
[0014]基于所述第二基地址信息,通过调用所述Win1程序库中的所述GetPortVal函数读取所述物理内存信息库中存储于预设地址范围内的预设字符串。
[0015]较佳的,所述基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串,包括:
[0016]基于所述第二基地址信息以及与所述物理内存信息对应的第二预设地址偏移信息,计算起始地址;
[0017]基于所述第二基地址信息以及与所述物理内存信息对应的第三预设地址偏移信息,计算终止地址;
[0018]读取所述起始地址以及所述终止地址之间的字符串;
[0019]基于所读取的字符串,确定所述物理内存信息对应的预设字符串。
[0020]较佳的,当所述物理内存信息为物理内存的型号时,所述基于所读取的字符串,确定所述物理信息对应的预设字符串,包括:
[0021]将所读取的字符串中在预设字符之前的目标字符串,确定为所述物理信息对应的预设字符串。
[0022]较佳的,当所述物理内存信息为物理内存的容量时,所述根据所述预设字符串,确定所述物理内存信息获取指令针对的物理内存信息,包括:
[0023]根据所述预设字符串以及预设的关于容量与字符串的单位转换公式,确定所述物理内存信息获取指令针对的物理内存信息。
[0024]较佳的,当所述物理内存信息为物理内存的厂商时,所述根据所述预设字符串,确定所述物理内存信息获取指令针对的物理内存信息,包括:
[0025]根据所述预设字符串以及预设的关于厂商数据与字符串的对应表,确定所述物理内存信息获取指令针对的物理内存信息。
[0026]另一方面,本发明实施例提供了一种物理内存信息获取装置,应用于电子设备,所述装置包括:指令获得模块、第一基地址确定模块、第二基地址确定模块、预设字符串读取模块和物理内存信息确定模块;
[0027]所述指令获得模块:用于获得针对于物理内存信息的获取指令;
[0028]所述第一基地址确定模块:用于响应所述获取指令,确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,其中,所述信息库地址中对应记录有物理内存信息库,所述物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;
[0029]所述第二基地址确定模块:用于根据所述第一基地址信息以及第一预设地址偏移,确定所述至少一根物理内存条的第二基地址信息;
[0030]所述预设字符串读取模块:用于基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串;其中,所述预设地址范围与所述物理内存信息具有对应性,所述预设地址范围至少由与所述物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;
[0031]所述物理内存信息确定模块:用于根据所述预设字符串,确定所述获取指令针对的物理内存信息。
[0032]较佳的,所述第一基地址确定模块,具体用于:
[0033]通过Win1程序库中的GetPortVal函数和SetPortVal函数,结合预设基地址计算公式,获得记录有信息库地址的系统管理总线SMBus的第一基地址信息。
[0034]较佳的,所述预设字符串读取模块,具体用于:
[0035]基于所述第二基地址信息,通过调用所述Win1程序库中的所述GetPortVal函数读取所述物理内存信息库中存储于预设地址范围内的预设字符串。
[0036]较佳的,所述预设字符串读取模块包括起始地址计算单元、终止地址计算单元、字符串读取单元和预设字符串确定单元;
[0037]所述起始地址计算单元:用于基于所述第二基地址信息以及与所述物理内存信息对应的第二预设地址偏移信息,计算起始地址;
[0038]所述终止地址计算单元:用于基于所述第二基地址信息以及与所述物理内存信息对应的第三预设地址偏移信息,计算终止地址;
[0039]所述字符串读取单元:用于读取所述起始地址以及所述终止地址之间的字符串;
[0040]所述预设字符串确定单元:用于基于所读取的字符串,确定所述物理内存信息对应的预设字符串。
[0041]较佳的,所述预设字符串确定单元,具体用于:
[0042]当所述物理内存信息为物理内存的型号时,将所读取的字符串中在预设字符之前的目标字符串,确定为所述物理信息对应的预设字符串。
[0043]较佳的,所述物理内存信息确定模块,具体用于:
[0044]当所述物理内存信息为物理内存的容量时,根据所述预设字符串以及预设的关于容量与字符串的单位转换公式,确定所述物理内存信息获取指令针对的物理内存信息。
[0045]较佳的,所述物理内存信息确定模块,具体用于:
[0046]当所述物理内存信息为物理内存的厂商时,根据所述预设字符串以及预设的关于厂商数据与字符串的对应表,确定所述物理内存信息获取指令针对的物理内存信息。
[0047]在本方案中,响应获得的针对物理内存信息的获取指令,确定记录有信息库地址的SMBus的第一基地址信息,其中,该信息库地址中对应记录有物理内存信息库,该物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;根据该第一基地址信息以及第一预设地址偏移,确定该至少一根物理内存条的第二基地址信息;基于该第二基地址信息,读取该物理内存信息库中存储于预设地址范围内的预设字符串;其中,该预设地址范围与该物理内存信息具有对应性,该预设地址范围至少由与该物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;根据该预设字符串,确定该获取指令针对的物理内存信息。以能够获得到更加全面的物理内存信息,提高用户体验。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
【附图说明】
[0048]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0049]图1为本发明实施例提供的一种物理内存信息获取方法的流程示意图;
[0050]图2为本发明实施例提供的一种物理内存信息获取方法的另一流程示意图;
[0051]图3为本发明实施例提供的一种物理内存信息获取装置的结构示意图;
[0052]图4为本发明实施例提供的一种物理内存信息获取装置的另一结构示意图。
【具体实施方式】
[0053]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054]本发明实施例提供了一种物理内存信息获取方法及装置,能够获得到更加全面的物理内存信息,提高用户体验。
[0055]下面首先对本发明实施例所提供的一种物理内存信息获取方法进行介绍。
[0056]需要说明的是,本发明实施例所提供的一种物理内存信息获取方法可以应用于电子设备,该电子设备可以是任意形式的电脑等。并且,可以实现该物理内存信息获取方法的功能软件可以是专门的客户端软件,也可以是其他具有信息获得功能的客户端软件的插件。
[0057]并且,存储有物理内存信息的物理内存信息库都记录在相应的物理内存地址(信息库地址)上,读取该地址中相应位置上存储的字符串,经过一定的处理,即可获得相应的物理内存信息。
[0058]如图1所示,本发明实施例所提供的一种物理内存信息获取方法,可以包括步骤:
[0059]SlOl:获得针对于物理内存信息的获取指令;
[0060]可以理解的是,对于该针对于物理内存信息的获取指令可以是该电子设备的持有者发送的,也可以是该电子设备自动发送的,这都是可以的。并且该获取指令中针对的物理内存信息可以包括一类,也可以包括多类。
[0061 ] S102:响应该获取指令,确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,其中,该信息库地址中对应记录有物理内存信息库,该物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;
[0062]具体的,SMBus(System Management Bus-系统管理总线)应用于移动PC和桌面PC系统中的低速率通讯。希望通过一条廉价并且功能强大的总线(由两条线组成),来控制主板上的设备并收集相应的信息。SMBus中记录有关于物理内存的信息库地址,由于每次电子设备启动时,系统加载时该SMBus加载的地址的偏移都有差异,因此要想确定该获取指令针对的物理内存信息,要首先确定该SMBus的第一基地址信息。对于该SMBus的第一基地址信息可以通过Win1程序库中特定的函数来确定,具体的,所述确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,包括:
[0063]通过Win1程序库中的GetPortVal函数和SetPortVal函数,结合预设基地址计算公式,获得记录有信息库地址的系统管理总线SMBus的第一基地址信息。
[0064]在实际应用中,可以调用以下函数获得SMBus的第一基地址信息:
[0065]//Get SMBus base address
[0066]SetPortVal(10_SC,dataddr+0x20,4);
[0067]GetPortVal(10_DA,&dwPortVal,4);
[0068]baseddr = dwPortVal&OxOFFFFFFF0.
[0069]S103:根据该第一基地址信息以及第一预设地址偏移信息,确定该至少一根物理内存条的第二基地址信息;
[0070]需要说明的是,在电子设备中存在有至少一根物理内存条,每根物理内存条都对应有相应的第一预设地址偏移信息,即该第一预设地址偏移信息可以为一个或者多个。根据第一基地址信息以及第一预设地址偏移,确定的该第二基地址信息中的第二基地址即为可以认为成一个入口地址,基于该第二基地址,经过预定的地址偏移就可以获得对应的字符串,该字符串经过一定的计算或者转换,就可以得到相应的物理内存信息。
[0071]并且,基于该确定的第一基地址信息,调用GetPortVal函数获取DnMO = OxOaO,返回获取到的物理内存条的第二基地址,即第一根物理内存条的第二基地址调用GetPortVal获取DMMl = 0x0a2,返回获取到的物理内存条的第二基地址,即第二根物理内存条的第二基地址。
[0072]S104:基于该第二基地址信息,读取该物理内存信息库中存储于预设地址范围内的预设字符串;其中,该预设地址范围与该物理内存信息具有对应性,该预设地址范围至少由与该物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;
[0073]需要说明的是,该获取指令对应的物理内存信息中可能包含一种物理内存的类型的具体信息,如物理内存的容量,也可以包含多种物理内存的类型的具体信息,如物理内存的容量、物理内存的厂商等。该预设地址范围与该物理内存信息具有对应性,当包含多种物理内存的类型的具体信息时,该预设地址范围也为多个。对应的确定该预设地址范围的与该物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息也有多对。并且,当在该物理内存信息库中存储于预设地址范围内的预设字符串时,会根据该信息库地址一个一个的顺序读取。
[0074]并且,在实际应用中,该第二预设地址偏移信息和第三预设地址偏移信息可能相同,可能不同。
[0075]在实际应用中,可以通过Win1程序库的驱动程序读取信息库地址,进而获得物理内存信息,具体的,所述基于该第二基地址信息,读取该物理内存信息库中存储于预设地址范围内的预设字符串,包括:
[0076]基于该第二基地址信息,通过调用该Win1程序库中的该GetPortVal函数读取该物理内存信息库中存储于预设地址范围内的预设字符串。
[0077]进一步的,该预设地址范围至少由与该物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定的,如图2所示,具体的,所述基于该第二基地址信息,读取该物理内存信息库中存储于预设地址范围内的预设字符串,可以包括:
[0078]S201:基于该第二基地址信息以及与该物理内存信息对应的第二预设地址偏移信息,计算起始地址;
[0079]S202:基于该第二基地址信息以及与该物理内存信息对应的第三预设地址偏移信息,计算终止地址;
[0080]S203:读取该起始地址以及该终止地址之间的字符串;
[0081 ] S204:基于所读取的字符串,确定该物理内存信息对应的预设字符串。
[0082]可以理解的是,根据该第二基地址信息以及与物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息,可以确定出要读取的字符串的预设地址范围。该预设地址范围的起始地址可以是该第二基地址信息中的第二基地址与第二预设地址偏移信息中的第二预设地址偏移之和对应的地址,该预设地址范围的终止地址可以是该第二基地址信息中的第二基地址与第三预设地址偏移信息中的第三预设地址偏移之和对应的地址。
[0083]举例而言,当确定出该第二基地址信息中的第二基地址为slotladdr时,该对应的第二预设地址偏移为0x7a,第三预设地址偏移为0x7d,读取该物理内存信息中的物理内存的序列号的预设地址范围为:起始地址slotladdr+0x7a,终止地址0x7d,调用GetPortVal函数读取共8个字符即为该物理内存的序列号对应的预设字符串。
[0084]可以通过该Win1程序库中的该GetPortVal函数读取该起始地址以及该终止地址之间的字符串;由于该物理内存信息中对应的物理内存的类型的不同,该预设字符串的确定可能会存在偏差,要基于该读取到的字符串,确定该物理内存信息对应的预设字符串。
[0085]在实际应用中,对于不同物理内存条对应的物理内存信息中的物理内存的型号来说,其设定的型号的位数可能是不同的,但一般的都会以“O”结尾,并且一般不会过长。具体的,当该物理内存信息为物理内存的型号时,所述基于所读取的字符串,确定所述物理信息对应的预设字符串,包括:
[0086]将所读取的字符串中在预设字符之前的目标字符串,确定为该物理信息对应的预设字符串。
[0087]当然,对于该物理内存信息出该物理内存的型号外,其他的物理内存的类型的具体信息一般都可以直接将该预设地址范围内的字符串确定为预设字符串。
[0088]S105:根据该预设字符串,确定该获取指令针对的物理内存信息。
[0089]在实际应用中,对于该物理内存信息中的不同的物理内存的类型的具体信息,其有的可以直接根据该预设字符串确定,举例而言,当确定出该第二基地址信息中的第二基地址为s I ot Iaddr时,该物理内存信息中的物理内存的制造日期对应的第二预设地址偏移为0x78,第三预设地址偏移为0x79,读取该物理内存信息中的物理内存的制造日期的预设地址范围为:起始地址为slot laddr+0x78,终止地址为0x79,调用GetPortVal函数读取的预设字符串中的第一个字节对应的为制造年份,读取的预设字符串中的第二个字节对应的为制造周数;
[0090]该物理内存信息中的物理内存的频率对应的第二预设地址偏移为OxOc,第三预设地址偏移也为OxOc,读取该物理内存信息中的物理内存的频率的预设地址范围为:起始地址和终止地址均为slotladdr+OxOc,调用GetPortVal函数读取该地址中存储的I个字节,获取到的数据就是物理内存的频率。
[0091]对于一些物理内存信息的类型的具体内容需要将该读取的预设字符串经过一定的处理,才能得到相应的具体内容,具体的,当该物理内存信息为物理内存的容量时,所述根据该预设字符串,确定该物理内存信息获取指令针对的物理内存信息,可以包括:
[0092]根据该预设字符串以及预设的关于容量与字符串的单位转换公式,确定该物理内存信息获取指令针对的物理内存信息。
[0093]举例而言,调用GetPortVal函数读取slotladdr+0x4地址中存储的I个字节,获取到物理内存的内存容量:2048MbyteS,经过预设的关于容量与字符串的单位转换公式,得到该内存容量为2G。
[0094]具体的,当该物理内存信息为物理内存的厂商时,所述根据该预设字符串,确定该物理内存信息获取指令针对的物理内存信息,可以包括:
[0095]根据该预设字符串以及预设的关于厂商数据与字符串的对应表,确定该物理内存信息获取指令针对的物理内存信息。
[0096]在实际应用中,每个物理内存的厂商都有自己对应的字符标识(预设字符串),该字符标识记录在该物理内存信息库的对应的预设地址范围中,如slotladdr+0x76中。调用GetPortVal函数读取该地址中存储的I个字节,通过查询该预设的关于厂商数据与字符串的对应表,可以确定该物理内存的厂商。
[0097]应用本发明实施例,响应获得的针对物理内存信息的获取指令,确定记录有信息库地址的SMBus的第一基地址信息,其中,该信息库地址中对应记录有物理内存信息库,该物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;根据该第一基地址信息以及第一预设地址偏移,确定该至少一根物理内存条的第二基地址信息;基于该第二基地址信息,读取该物理内存信息库中存储于预设地址范围内的预设字符串;其中,该预设地址范围与该物理内存信息具有对应性,该预设地址范围至少由与该物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;根据该预设字符串,确定该获取指令针对的物理内存信息。以能够获得到更加全面的物理内存信息,提高用户体验。
[0098]相应于上述方法实施例,如图3所示,本发明实施例还提供了一种物理内存信息获取装置,可以应用于电子设备,所述装置可以包括:指令获得模块301、第一基地址确定模块302、第二基地址确定模块303、预设字符串读取模块304和物理内存信息确定模块305;
[0099]所述指令获得模块301:用于获得针对于物理内存信息的获取指令;
[0100]所述第一基地址确定模块302:用于响应所述获取指令,确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,其中,所述信息库地址中对应记录有物理内存信息库,所述物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;
[0101]所述第二基地址确定模块303:用于根据所述第一基地址信息以及第一预设地址偏移,确定所述至少一根物理内存条的第二基地址信息;
[0102]所述预设字符串读取模块304:用于基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串;其中,所述预设地址范围与所述物理内存信息具有对应性,所述预设地址范围至少由与所述物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;
[0103]所述物理内存信息确定模块305:用于根据所述预设字符串,确定所述获取指令针对的物理内存信息。
[0104]应用本发明实施例,响应获得的针对物理内存信息的获取指令,确定记录有信息库地址的SMBus的第一基地址信息,其中,该信息库地址中对应记录有物理内存信息库,该物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;根据该第一基地址信息以及第一预设地址偏移,确定该至少一根物理内存条的第二基地址信息;基于该第二基地址信息,读取该物理内存信息库中存储于预设地址范围内的预设字符串;其中,该预设地址范围与该物理内存信息具有对应性,该预设地址范围至少由与该物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定;根据该预设字符串,确定该获取指令针对的物理内存信息。以能够获得到更加全面的物理内存信息,提高用户体验。
[0105]具体的,所述第一基地址确定模块302,具体用于:
[0106]通过Win1程序库中的GetPortVal函数和SetPortVal函数,结合预设基地址计算公式,获得记录有信息库地址的系统管理总线SMBus的第一基地址信息。
[0107]具体的,所述预设字符串读取模块304,具体用于:
[0108]基于所述第二基地址信息,通过调用所述Win1程序库中的所述GetPortVal函数读取所述物理内存信息库中存储于预设地址范围内的预设字符串。
[0109]具体的,如图4所示,所述预设字符串读取模块304包括起始地址计算单元3041、终止地址计算单元3042、字符串读取单元3043和预设字符串确定单元3044 ;
[0110]所述起始地址计算单元3041:用于基于所述第二基地址信息以及与所述物理内存信息对应的第二预设地址偏移信息,计算起始地址;
[0111]所述终止地址计算单元3042:用于基于所述第二基地址信息以及与所述物理内存信息对应的第三预设地址偏移信息,计算终止地址;
[0112]所述字符串读取单元3043:用于读取所述起始地址以及所述终止地址之间的字符串;
[0113]所述预设字符串确定单元3044:用于基于所读取的字符串,确定所述物理信息对应的预设字符串。
[0114]具体的,所述预设字符串确定单元3044,具体用于:
[0115]当所述物理内存信息为物理内存的型号时,将所读取的字符串中在预设字符之前的目标字符串,确定为所述物理内存信息对应的预设字符串。
[0116]具体的,所述物理内存信息确定模块305,具体用于:
[0117]当所述物理内存信息为物理内存的容量时,根据所述预设字符串以及预设的关于容量与字符串的单位转换公式,确定所述物理内存信息获取指令针对的物理内存信息。
[0118]具体的,所述物理内存信息确定模块305,具体用于:
[0119]当所述物理内存信息为物理内存的厂商时,根据所述预设字符串以及预设的关于厂商数据与字符串的对应表,确定所述物理内存信息获取指令针对的物理内存信息。
[0120]对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0121]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0122]本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0123]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种物理内存信息获取方法,其特征在于,应用于电子设备,所述方法包括: 获得针对于物理内存信息的获取指令; 响应所述获取指令,确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,其中,所述信息库地址中对应记录有物理内存信息库,所述物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串; 根据所述第一基地址信息以及第一预设地址偏移信息,确定所述至少一根物理内存条的第二基地址信息; 基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串;其中,所述预设地址范围与所述物理内存信息具有对应性,所述预设地址范围至少由与所述物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定; 根据所述预设字符串,确定所述获取指令针对的物理内存信息。2.根据权利要求1所述的方法,其特征在于,所述确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,包括: 通过Win1程序库中的GetPortVal函数和SetPortVal函数,结合预设基地址计算公式,获得记录有信息库地址的系统管理总线SMBus的第一基地址信息。3.根据权利要求1所述的方法,其特征在于,所述基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串,包括: 基于所述第二基地址信息,通过调用所述Win1程序库中的所述GetPortVal函数读取所述物理内存信息库中存储于预设地址范围内的预设字符串。4.根据权利要求1所述的方法,其特征在于,所述基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串,包括: 基于所述第二基地址信息以及与所述物理内存信息对应的第二预设地址偏移信息,计算起始地址; 基于所述第二基地址信息以及与所述物理内存信息对应的第三预设地址偏移信息,计算终止地址; 读取所述起始地址以及所述终止地址之间的字符串; 基于所读取的字符串,确定所述物理内存信息对应的预设字符串。5.根据权利要求4所述的方法,其特征在于,当所述物理内存信息为物理内存的型号时,所述基于所读取的字符串,确定所述物理信息对应的预设字符串,包括: 将所读取的字符串中在预设字符之前的目标字符串,确定为所述物理信息对应的预设字符串。6.根据权利要求1所述的方法,其特征在于,当所述物理内存信息为物理内存的容量时,所述根据所述预设字符串,确定所述物理内存信息获取指令针对的物理内存信息,包括: 根据所述预设字符串以及预设的关于容量与字符串的单位转换公式,确定所述物理内存信息获取指令针对的物理内存信息。7.根据权利要求1所述的方法,其特征在于,当所述物理内存信息为物理内存的厂商时,所述根据所述预设字符串,确定所述物理内存信息获取指令针对的物理内存信息,包括: 根据所述预设字符串以及预设的关于厂商数据与字符串的对应表,确定所述物理内存信息获取指令针对的物理内存信息。8.—种物理内存信息获取装置,其特征在于,应用于电子设备,所述装置包括:指令获得模块、第一基地址确定模块、第二基地址确定模块、预设字符串读取模块和物理内存信息确定模块; 所述指令获得模块:用于获得针对于物理内存信息的获取指令;所述第一基地址确定模块:用于响应所述获取指令,确定记录有信息库地址的系统管理总线SMBus的第一基地址信息,其中,所述信息库地址中对应记录有物理内存信息库,所述物理内存信息库中记录有用于表征至少一根物理内存条的物理内存信息的预设字符串;所述第二基地址确定模块:用于根据所述第一基地址信息以及第一预设地址偏移,确定所述至少一根物理内存条的第二基地址信息; 所述预设字符串读取模块:用于基于所述第二基地址信息,读取所述物理内存信息库中存储于预设地址范围内的预设字符串;其中,所述预设地址范围与所述物理内存信息具有对应性,所述预设地址范围至少由与所述物理内存信息对应的第二预设地址偏移信息和第三预设地址偏移信息确定; 所述物理内存信息确定模块:用于根据所述预设字符串,确定所述获取指令针对的物理内存信息。9.根据权利要求8所述的装置,其特征在于,所述第一基地址确定模块,具体用于: 通过Win1程序库中的GetPortVal函数和SetPortVal函数,结合预设基地址计算公式,获得记录有信息库地址的系统管理总线SMBus的第一基地址信息。10.根据权利要求8所述的装置,其特征在于,所述预设字符串读取模块,具体用于: 基于所述第二基地址信息,通过调用所述Win1程序库中的所述GetPortVal函数读取所述物理内存信息库中存储于预设地址范围内的预设字符串。
【文档编号】G06F12/06GK105824761SQ201610134750
【公开日】2016年8月3日
【申请日】2016年3月10日
【发明人】李文靖
【申请人】北京金山安全软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1