CN110941452B - 一种配置方法、bios芯片和电子设备 - Google Patents
一种配置方法、bios芯片和电子设备 Download PDFInfo
- Publication number
- CN110941452B CN110941452B CN201910963307.4A CN201910963307A CN110941452B CN 110941452 B CN110941452 B CN 110941452B CN 201910963307 A CN201910963307 A CN 201910963307A CN 110941452 B CN110941452 B CN 110941452B
- Authority
- CN
- China
- Prior art keywords
- storage medium
- capacity
- electronic device
- mtrr
- memory
- 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
Images
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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种配置方法,应用于电子设备,所述电子设备包括第一存储介质、第二存储介质以及MTRR。所述方法包括在UEFI启动模式下,确定所述第二存储介质的容量,其中所述第一存储介质的容量大于所述第二存储介质的容量,所述第一存储介质的容量大于所述MTRR的可配置容量;利用所述第二存储介质的容量配置MTRR,以便初始化所述第一存储介质。本申请实施例具备如下的有益效果:由于电子设备中采用了比第一存储介质的容量小的第二存储介质进行MTRR配置,因此第一存储介质可以实现初始化,从而电子设备可以正常开机。
Description
技术领域
本申请实施例涉及计算机领域,并且更具体地涉及一种配置丰富、BIOS芯片和电子设备。
背景技术
存储器类型范围寄存器(MTRR)提供了一种机制,用于将存储器类型与***存储器中的物理地址范围相关联。它们还消除了早期IA-32处理器上用于此功能的存储器控制引脚以及驱动它们所需的外部逻辑,从而简化了***硬件设计。MTRR机制允许在物理存储器中定义多达96个存储器范围,并且它定义了一组模型专用寄存器(MSR),用于指定每个范围中包含的存储器类型。硬件复位之后,P6及大多最近的处理器系列禁用所有的固定和可变MTRR,这使得所有的物理存储器的类型都成为了不可缓存。初始化软件应该依据***定义的存储器映射设置MTRR成特定的类型。典型的,BIOS(基本输入/输出***)软件来配置MTRR。
然而,现有的主板上的2DPC(即,4个DIMM插槽)技术只能支持64GB内存,当主板上插有大于64GB的存储器时,***无法正常开机。
发明内容
本申请实施例提供了一种配置方法和图像显示装置,能够使电子设备的***正常开机运行。
第一方面,本发明实施例提供了一种配置方法,应用于电子设备,所述电子设备包括第一存储介质、第二存储介质以及MTRR,所述方法包括:在UEFI启动模式下,确定所述第二存储介质的容量,其中所述第一存储介质的容量大于所述第二存储介质的容量,所述第一存储介质的容量大于所述MTRR的可配置容量;利用所述第二存储介质的容量配置MTRR,以便初始化所述第一存储介质。
本发明实施例的第一方面的配置方法还包括:当所述第一存储介质的初始化完成后,重新配置所述MTRR以便与所述第一存储介质匹配。
根据本发明实施例的第一方面,所述第二存储介质为BIOS芯片。
根据本发明实施例的第一方面,所述第二存储介质为帧缓冲存储器。
第二方面,本发明实施例提供了一种BIOS芯片,应用于电子设备,所述电子设备包括第一存储介质、第二存储介质以及MTRR,所述芯片包括:确定模块,在UEFI启动模式下,确定所述第二存储介质的容量,其中所述第一存储介质的容量大于所述第二存储介质的容量,所述第一存储介质的容量大于所述MTRR的可配置容量;配置模块,利用所述第二存储介质的容量配置MTRR,以便初始化所述第一存储介质。
本发明实施例的第二方面还包括:重配置模块,当所述第一存储介质的初始化完成后,重新配置所述MTRR以便与所述第一存储介质匹配。
根据本发明实施例的第一方面,所述第二存储介质为所述BIOS芯片。
根据本发明实施例的第一方面,所述第二存储介质为帧缓冲存储器。
第三方面,本发明实施例提供了一种电子设备,其包括如第二方面所述的BIOS芯片。
基于上述实施例的公开可以获知,本申请实施例具备如下的有益效果:由于电子设备中采用了比第一存储介质的容量小的第二存储介质进行MTRR配置,因此第一存储介质可以实现初始化,从而电子设备可以正常开机。
附图说明
图1为本发明实施例的配置方法的示意性流程图。
图2为本发明另一实施例的配置方法的示意性流程图。
图3为本发明另一实施例的配置方法的示意性流程图。
图4为本发明另一实施例的BIOS芯片的示意性框图。
图5为本发明另一实施例的BIOS芯片的示意性框图。
图6位本发明另一实施例的电子设备的示意性框图。
图7位本发明另一实施例的电子设备的示意性框图。
具体实施方式
下面,结合附图对本申请的具体实施例进行详细的描述,但不作为本申请的限定。
应理解的是,可以对此处公开的实施例做出各种修改。因此,下述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本公开的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本公开的具体实施例;然而,应当理解,所公开的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本公开。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。
下面,结合附图详细的说明本申请实施例。
图1为本发明实施例的配置方法的示意性流程图。图1的配置方法100应用于电子设备,电子设备包括第一存储介质、第二存储介质以及MTRR。
配置方法100包括:
110:在UEFI启动模式下,确定第二存储介质的容量,其中第一存储介质的容量大于第二存储介质的容量,第一存储介质的容量大于MTRR的可配置容量;
120:利用第二存储介质的容量配置MTRR,以便初始化第一存储介质。
应理解,第一存储介质可以为随机存取存储器(RAM);第二存储介质可以为不同类型的存储器,例如ROM(只读存储器)、帧缓冲存储器或存储器映射的I/O设备。
本申请实施例具备如下的有益效果:由于电子设备中采用了比第一存储介质的容量小的第二存储介质进行MTRR配置,因此第一存储介质可以实现初始化,从而电子设备可以正常开机。
图2为本发明另一实施例的配置方法的示意性流程图。图2的配置方法200应用于电子设备,电子设备包括第一存储介质、第二存储介质以及MTRR。配置方法200包括:
210:在UEFI启动模式下,确定第二存储介质的容量,其中第一存储介质的容量大于第二存储介质的容量,第一存储介质的容量大于MTRR的可配置容量。
220:利用第二存储介质的容量配置MTRR。
230:当第一存储介质的初始化完成后,重新配置MTRR以便与第一存储介质匹配。
采用本发明实施例的方案,由于对MTRR进行了重新配置,与第一存储介质进行了匹配,因此电子设备正常开机之后,可以使***支持128GB内存,而目前Intel和现有的竞争对手目前也都无法支持128GB内存,目前只有Walter-3/Chiron-1能支持。换句话说,采用本发明实施例的方案,可以用简单的配置实现对64GB以上(例如,128GB)的内存容量的支持,既满足了用户对于大内存的需求,又保证了后向兼容。
具体而言,UEFI分为四个阶段,即SEC(安全)、PEI(预EFI初始化)、DXE(驱动程序执行环境)和BDS(启动设备选择)。
根据一个具体的实施例,SEC阶段是平台初始化的第一个阶段,计算机***加电或重启后进入这个阶段。SEC阶段从功能上说执行以下任务:接受并处理***启动和重启信号;CAR(Cache as RAM,将缓存作为随机存取存储器):***运行在SEC阶段时,仅CPU和CPU内部资源被初始化,各种外部设备和内存都还没被初始化,因而需要一些临时RAM区域,用于代码和数据的存取(SEC最后及PEI阶段为C语言环境,C语言中的局部变量需要堆栈,这一步是为后续C语言环境准备好堆栈。一句话,C语言是基于栈的程序设计),我们称之为临时RAM,以示与内存的区别。这些RAM只能位于CPU内部。最常用的临时RAM是缓存,当缓存被配置为no-eviction模式时,可以作为内存使用,读命中时返回缓存中的数据,读缺失时不会向主存发出缺失事件;写命中时将数据写入缓存中,写缺失时不会向主存发出缺失事件,这种技术被称为CAS。作为可信***的根:SEC阶段为安全验证阶段,作为取得***控制权的第一部分,SEC阶段是整个可信任***的根。SEC阶段能被***信任,是其后各个阶段被信任的基础。
通常,SEC把控制权交给PEI阶段前,可以验证PEI阶段。传递***参数给PEI阶段:SEC阶段的一切工作都是为PEI阶段做准备,最终要把控制权交给PEI阶段,同时要将现阶段的成果汇报给PEI。汇报的手段就是将如下信息作为参数传递给PEI的入口函数:***当前状态,PEI可以根据这些状态判断***的健康状况;可启动固件(Boot Firmware Volume,BFV)的地址和大小;临时RAM区域的地址和大小;栈的地址和大小;
PEI阶段的功能:PEI阶段资源依然十分有限,内存到了PEI后期才被初始化,其主要功能是为DXE准备执行环境,将需要传递给DXE的信息组成HOB(Handoff Block)列表,最终将控制权交给DXE。从功能上讲,PEI可分为两个部分:PEI Core Services(PEIFoundation):负责PEI基础服务和流程;PEIM(PEI Module)Dispatch:主要功能是找出***中所有PEIM,并根据PEIM之间的依赖关系按顺序执行PEIM。PEI阶段对***的初始化主要是由PEIM完成的(CPU初始化、Chipset初始化、内存控制器初始化、IO控制器初始化、内存初始化等功能)。
具体而言,在RAM的容量大于64GB的情况下,确定存储BIOS的ROM的容量,然后利用BIOS的ROM的容量配置MTRR,以便初始化RAM,从而进入到DXE阶段。
DXE阶段执行大部分***的初始化工作,此阶段内存已经可以被完全使用,因而此阶段可以进行大量的复杂工作。从程序设计的角度来看,DXE阶段与PEI阶段类似。
DXE的功能DXE Core Services:负责初始化DXE基础服务和执行流程;提供的基本服务包括***表System Table,Boot Services,Runtime Services。DXE Dispatcher:负责执行DXE Drivers,初始化***设备。
DXE驱动之间通过Protocol通信(PEIM之间通过PPI通信),Protocol是一种特殊的结构体,每个Protocol都有一个对应的GUID,利用BootServices的OpenProtocol(HandleProtocol或LocateProtocol),并根据GUID来打开对应的Protocol,进而使用这个Protocol提供的服务。
具体而言,当所有的DXE Drivers都执行完成后,***完成初始化,重新配置MTRR以便与RAM匹配,然后DXE通过EFI_BDS_ARCH_PROTOCOL找到BDS并调用BDS的入口函数,从而进入到BDS阶段。
如图3所示,在本发明实施例中,在PEI阶段时根据当前***的闪存部件(即,SPIROM)大小先行设定MTRR进而不会影响***开机速度。当***进入DXE阶段时计算***的内存,再优化MTRR设定,让***可支持128GB以上内存。这样配置的原因是原本的MTRR分配的算法会造成MTRR数目不够支援128GB,分成两阶段的原因是在的第一阶段过后,可以把后面没在使用的MTRR拿来重新分配。换句话说,MTRR本来就要在PEI阶段完成,但MTRR程序会影响***效能,本发明实施例的方法是在DXE阶段再修改一次使其达到可以支持128GB。本发明实施例的效果在于计算当前的闪存部件(存储有BIOS程序)大小及内存的大小,然后分成两阶段式的初始化MTRR,使***可支持128GB或更大的内存。
图4为本发明另一实施例的BIOS芯片的示意性框图。图4的BIOS芯片应用于电子设备,电子设备包括第一存储介质、第二存储介质以及MTRR,BIOS芯片400包括:
确定模块410,在UEFI启动模式下,确定第二存储介质的容量,其中第一存储介质的容量大于第二存储介质的容量,第一存储介质的容量大于MTRR的可配置容量;
配置模块420,利用第二存储介质的容量配置MTRR,以便初始化第一存储介质。
本申请实施例具备如下的有益效果:由于电子设备中采用了比第一存储介质的容量小的第二存储介质进行MTRR配置,因此第一存储介质可以实现初始化,从而电子设备可以正常开机。
图5为本发明另一实施例的BIOS芯片的示意性框图。图5的BIOS芯片应用于电子设备,电子设备包括第一存储介质、第二存储介质以及MTRR,BIOS芯片500包括:
确定模块510,在UEFI启动模式下,确定第二存储介质的容量,其中第一存储介质的容量大于第二存储介质的容量,第一存储介质的容量大于MTRR的可配置容量。
配置模块520,利用第二存储介质的容量配置MTRR,以便初始化第一存储介质。
重配置模块530,当第一存储介质的初始化完成后,重新配置MTRR以便与第一存储介质匹配。
应理解,第一存储介质可以为随机存取存储器(RAM);第二存储介质可以为不同类型的存储器,例如ROM(只读存储器)、帧缓冲存储器或存储器映射的I/O设备。
图6位本发明另一实施例的电子设备的示意性框图。图6的电子设备600包括第一存储介质610、BIOS芯片640以及MTRR 630。图7位本发明另一实施例的电子设备的示意性框图。图7的电子设备700包括第一存储介质710、第二存储介质720、BIOS芯片740以及MTRR730。
本申请实施例具备如下的有益效果:由于电子设备中采用了比第一存储介质的容量小的第二存储介质进行MTRR配置,因此第一存储介质可以实现初始化,从而电子设备可以正常开机。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据处理方法所应用于的电子设备,可以参考前述产品实施例中的对应描述,在此不再赘述。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。
Claims (7)
1.一种配置方法,其特征在于,应用于电子设备,所述电子设备包括第一存储介质、第二存储介质以及MTRR,所述方法包括:
在UEFI启动模式下,确定所述第二存储介质的容量,其中所述第一存储介质的容量大于所述第二存储介质的容量,所述第一存储介质的容量大于所述MTRR的可配置容量;
在 PEI 阶段利用所述第二存储介质的容量配置MTRR,以便初始化所述第一存储介质;
还包括:
当所述第一存储介质的初始化完成后,在DXE 阶段重新配置所述MTRR以便与所述第一存储介质匹配。
2.根据权利要求1所述的配置方法,其特征在于,所述第二存储介质为BIOS芯片。
3.根据权利要求1所述的配置方法,其特征在于,所述第二存储介质为帧缓冲存储器。
4.一种BIOS芯片,其特征在于,应用于电子设备,所述电子设备包括第一存储介质、第二存储介质以及MTRR,所述芯片包括:
确定模块,在UEFI启动模式下,确定所述第二存储介质的容量,其中所述第一存储介质的容量大于所述第二存储介质的容量,所述第一存储介质的容量大于所述MTRR的可配置容量;
配置模块,在 PEI 阶段利用所述第二存储介质的容量配置MTRR,以便初始化所述第一存储介质;
还包括:
重配置模块,当所述第一存储介质的初始化完成后,在DXE 阶段重新配置所述MTRR以便与所述第一存储介质匹配。
5.根据权利要求4所述的BIOS芯片,其特征在于,所述第二存储介质为所述BIOS芯片。
6.根据权利要求4所述的BIOS芯片,其特征在于,所述第二存储介质为帧缓冲存储器。
7.一种电子设备,其特征在于,包括如权利要求4-6中任一项所述的BIOS芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910963307.4A CN110941452B (zh) | 2019-10-11 | 2019-10-11 | 一种配置方法、bios芯片和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910963307.4A CN110941452B (zh) | 2019-10-11 | 2019-10-11 | 一种配置方法、bios芯片和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110941452A CN110941452A (zh) | 2020-03-31 |
CN110941452B true CN110941452B (zh) | 2022-02-18 |
Family
ID=69906030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910963307.4A Active CN110941452B (zh) | 2019-10-11 | 2019-10-11 | 一种配置方法、bios芯片和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110941452B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101276388A (zh) * | 2007-02-28 | 2008-10-01 | 英特尔公司 | 保护***管理模式(smm)空间免受高速缓存攻击 |
TW201604785A (zh) * | 2011-09-30 | 2016-02-01 | 英特爾股份有限公司 | 儲存bios於非揮發性隨機存取記憶體的裝置、方法及系統 |
CN106951358A (zh) * | 2017-02-07 | 2017-07-14 | 深圳市智微智能科技开发有限公司 | 一种基于uefi标准的计算机***上电自检时的快速显示状态信息方法及*** |
CN108153625A (zh) * | 2016-12-06 | 2018-06-12 | 佛山市顺德区顺达电脑厂有限公司 | 记录***自检错误的方法 |
CN108958812A (zh) * | 2018-06-06 | 2018-12-07 | 联想(北京)有限公司 | 一种启动方法及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7987348B2 (en) * | 2007-03-30 | 2011-07-26 | Intel Corporation | Instant on video |
-
2019
- 2019-10-11 CN CN201910963307.4A patent/CN110941452B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101276388A (zh) * | 2007-02-28 | 2008-10-01 | 英特尔公司 | 保护***管理模式(smm)空间免受高速缓存攻击 |
TW201604785A (zh) * | 2011-09-30 | 2016-02-01 | 英特爾股份有限公司 | 儲存bios於非揮發性隨機存取記憶體的裝置、方法及系統 |
CN108153625A (zh) * | 2016-12-06 | 2018-06-12 | 佛山市顺德区顺达电脑厂有限公司 | 记录***自检错误的方法 |
CN106951358A (zh) * | 2017-02-07 | 2017-07-14 | 深圳市智微智能科技开发有限公司 | 一种基于uefi标准的计算机***上电自检时的快速显示状态信息方法及*** |
CN108958812A (zh) * | 2018-06-06 | 2018-12-07 | 联想(北京)有限公司 | 一种启动方法及电子设备 |
Non-Patent Citations (1)
Title |
---|
UEFI调试工具及调试信息获取的设计与实现;韩民;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20150315;第2-3章 * |
Also Published As
Publication number | Publication date |
---|---|
CN110941452A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2002333B1 (en) | Shared nonvolatile memory architecture | |
JP4819301B2 (ja) | Nandフラッシュメモリを利用したブートシステム及びその方法 | |
US9940291B2 (en) | Assigning processors to memory mapped configuration | |
US9395919B1 (en) | Memory configuration operations for a computing device | |
EP1256055B1 (en) | Computer system including a memory access controller for using non-system memory storage resources during system boot time | |
US7356684B2 (en) | Booting system and/or method for initializing peripherals | |
EP1252569B1 (en) | Virtual rom for device enumeration | |
US7581037B2 (en) | Effecting a processor operating mode change to execute device code | |
US9417886B2 (en) | System and method for dynamically changing system behavior by modifying boot configuration data and registry entries | |
US20110055540A1 (en) | Pre-Boot Loader for Reducing System Boot Time | |
US7398383B2 (en) | Method and system for using internal FIFO RAM to improve system boot times | |
US6594756B1 (en) | Multi-processor system for selecting a processor which has successfully written it's ID into write-once register after system reset as the boot-strap processor | |
JP2003296191A (ja) | 汎用プロセッサおよび周辺装置のプロセッサとして動作可能な集積回路 | |
KR20090034104A (ko) | 부팅 시스템, 그 시스템을 구비한 화상형성장치 및 그제어방법 | |
US8103862B2 (en) | Self test initialization | |
US20220237144A1 (en) | Baseboard management controller and construction method thereof | |
KR20140083530A (ko) | 하드웨어를 디버깅하는 부트 쉘을 포함하는 시스템온칩 및 이의 구동 방법 | |
US6374338B1 (en) | Method for performing configuration tasks prior to and including memory configuration within a processor-based system | |
WO2015060853A1 (en) | Techniques for pre-os image rewriting to provide cross-architecture support, security introspection, and performance optimization | |
CN110941452B (zh) | 一种配置方法、bios芯片和电子设备 | |
US9778936B1 (en) | Booting a computing system into a manufacturing mode | |
CN116627472A (zh) | 高速***组件设备的固件程序升级方法及服务器 | |
US7206930B2 (en) | Method and apparatus for reducing strapping devices | |
US6691224B1 (en) | Computer system for accessing initialization data and method therefor | |
KR100534613B1 (ko) | 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법 |
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 |