CN113190346A - 一种内存管理方法、装置及电子设备 - Google Patents
一种内存管理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113190346A CN113190346A CN202110342611.4A CN202110342611A CN113190346A CN 113190346 A CN113190346 A CN 113190346A CN 202110342611 A CN202110342611 A CN 202110342611A CN 113190346 A CN113190346 A CN 113190346A
- Authority
- CN
- China
- Prior art keywords
- area
- memory
- chip
- bus interface
- processing unit
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 262
- 238000007726 management method Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 85
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000013507 mapping Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 13
- 230000002093 peripheral effect Effects 0.000 claims description 8
- 238000013500 data storage Methods 0.000 abstract description 8
- 238000004364 calculation method Methods 0.000 abstract description 4
- 238000003860 storage Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
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
本申请公开了一种内存管理方法、装置及电子设备。该方法将中央处理器内存中的部分区域划分出来分配给连接在电子设备上的芯片使用,例如AI芯片。并对该区域进行设置,使中央处理器不使用该区域。如此,可使芯片直接将电子设备中央处理器的一部分内存区域作为内存使用,而无需再通过电子设备挂接其他外部数据存储器。此外,由于芯片与电子设备连接,使用该电子设备的中央处理器的部分内存进行数据存取的速度也比使用其他外部数据存储器快很多。如此,可大幅提升芯片的数据处理速度和计算效率。
Description
技术领域
本申请涉及计算机邻域,尤其涉及一种内存管理方法、装置及电子设备。
背景技术
随着AI芯片技术的发展和应用领域的扩展,对AI芯片的算力和内存容量的要求也越来越高。
在近期的实际应用中,虽然AI芯片的算力不断提高,但由于AI芯片的片上存储器的数据存储容量有限,而不得不通过外部数据存储器对AI芯片的内存进行扩展,使得操作内存过程中存取数据的速度较慢,最终导致计算效率并没有明显提高。
发明内容
本申请人发明人创造性地提供一种内存管理方法、装置及电子设备。
根据本申请实施例第一方面,提供一种内存管理方法,应用于电子设备,该电子设备包括第一芯片和中央处理器,该方法包括:将中央处理器的内存中的部分区域作为第一区域分配给第一芯片作为第一芯片的内存区域;对第一区域进行设置,使中央处理器不使用第一区域。
根据本申请一实施例,该方法还包括:将中央处理器的输入输出中的部分区域作为第二区域分配给第一芯片,用于在第一芯片与中央处理器之间进行数据交换。
根据本申请一实施例,将中央处理器的内存中的部分区域作为第一区域分配给第一芯片作为第一芯片的内存区域,包括:在运行电子设备引导系统的过程中,启用中央处理器的内存中所预留的总线接口内存区域;将总线接口内存区域映射到至少一个物理内存区域上;将总线接口内存区域作为第一区域分配给连接第一芯片的总线接口,以作为第一芯片的内存区域。
根据本申请一实施例,将总线接口内存区域映射到至少一个物理内存区域上,包括:通过指定内存地址和大小的方式,将总线接口内存映射到至少一个物理内存区域上。
根据本申请一实施例,第一芯片通过嵌入式控制器与总线接口连接,相应地,将总线接口内存区域作为第一区域分配给连接第一芯片的总线接口,以作为第一芯片的内存区域,包括:将总线接口内存区域作为第一区域分配给连接嵌入式控制器的总线接口,以作为第一芯片的内存区域。
根据本申请一实施例,将总线接口内存区域作为第一区域分配给连接嵌入式控制器的总线接口,以作为第一芯片的内存区域,包括:将第一区域映射为嵌入式控制器的影子内存区域;赋予第一芯片访问影子内存区域的权限,以使影子内存区域作为第一芯片的内存区域。
根据本申请实施例第二方面,提供一种内存管理的装置,应用于电子设备,电子设备包括第一芯片和中央处理器,该装置包括:内存区域分配模块,用于将中央处理器的内存中的部分区域作为第一区域分配给第一芯片作为第一芯片的内存区域;内存区域设置模块,用于对第一区域进行设置,使中央处理器不使用第一区域。
根据本申请实施例第三方面,提供一种电子设备,用于执行上述任一项的内存管理方法,该电子设备包括:中央处理器;中央处理器的内存;通过总线接口与中央处理器连接的嵌入式控制器;通过高速内部连接总线接口与嵌入式控制器连接的第一芯片;其中,中央处理器的内存中的部分区域作为第一区域分配给第一芯片作为第一芯片的内存区域。
根据本申请一实施例,嵌入式控制器包括通过增强型串行外设接口eSPI与中央处理器连接的嵌入式控制器。
根据本申请一实施例,第一芯片包括通过高速内部连接总线接口QPI与嵌入式控制器连接的第一芯片。
本申请实施例提供一种内存管理方法、装置及电子设备,该方法将中央处理器内存中的部分区域划分出来分配给连接在电子设备上的芯片使用,例如AI芯片。并对该区域进行设置,使中央处理器不使用该区域。如此,可使芯片直接将电子设备中央处理器的一部分内存区域作为内存使用,而无需再通过电子设备挂接其他外部数据存储器。此外,由于芯片与电子设备连接,使用该电子设备的中央处理器的部分内存进行数据存取的速度也比使用其他外部数据存储器快很多。如此,可大幅提升芯片的数据处理速度和计算效率。
附图说明
通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1为本申请内存管理方法一实施例的实现流程示意图;
图2为本申请内存管理方法另一实施例中各硬件的连接关系和内存映射示意图;
图3为本申请内存管理方法另一实施例通过BIOS系统引导程序实现内存管理的具体流程示意图;
图4为本申请内存管理装置一实施例的组成结构示意图;
图5为本申请电子设备一实施例的组成结构示意图。
具体实施方式
为使本申请的目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
图1示出了本申请实施例内存管理的实现流程。参考图1,该实施例提供一种内存管理方法,应用于电子设备,该电子设备包括第一芯片和中央处理器,该方法包括:操作S110,将中央处理器的内存中的部分区域作为第一区域分配给第一芯片作为第一芯片的内存区域;操作S120对第一区域进行设置,使中央处理器不使用第一区域。
其中,电子设备包括大型服务器、个人电脑、移动设备和智能家居等设置有中央处理器(CPU)的电子设备,而个人电脑可以是台式机、平板电脑或便携式笔记本电脑等等。
中央处理器指电子设备的运算核心和控制核心,用于解释计算机指令以及处理计算机软件中的数据。
中央处理器的内存指与中央处理器连接,用于存储程序指令和数据,通过寻址操作协助中央处理器实现程序运行和数据处理的存储空间,包括动态随机存取存储器(DRAM)、阻变式存储器(RRAM)和磁阻式随机存取储存器(MRAM)等。
第一芯片指与电子设备连接的电子芯片,可以是内置的,也可以是外接的,主要用于辅助电子设备完成特定数据处理或计算功能的芯片,包括现场可编程门阵列(FPGA)芯片、专用集成电路(ASIC)芯片、和通用芯片(GPU)等。
在一些用于高性能计算的芯片中会设置片上存储器,例如,块随机存储器(BlockRAM)。但由于片上存储器对制造工艺和空间微缩化的要求较高,因此造价较高且容量有限,往往不能满足大数据量的计算或数据处理需求。
为此,芯片领域的研发人员通过各种技术途径和制造工艺降低访问存储器的代价,包括制造和使用可以存储模拟数值的非易失性存储器等。但如果将这些方案应用在原有设备上时,往往需要添加新的存储器。如果内置这些新的存储器,则需要研发新的机型,改变现有设备的设计;如果外挂这些存储器,则会造成携带不便且不美观的问题。
本申请的发明人创造性地想到使用中央处理器的内存作为第一芯片的内存。一方面,中央处理器的内存本身就具有高速存取数据的能力且容量较大;另一方面,第一芯片也是连接在中央处理器所在的电子设备上的,第一芯片上的运算单元与中央处理器的内存的“物理距离”也较近,可实现数据在运算单元与存储单元(中央处理器的内存)之间的高速传输。因此,使用中央处理器的内存作为第一芯片的内存,更易于满足第一芯片的大数据计算和数据处理的数据访问需求,且不存在外设携带和美观问题。
基于以上发明思路,本申请实施例提供了如图1所示的内存管理方法。
由于中央处理器也需要使用内存来处理电子设备的程序指令或输入输出数据等,因此不能将中央处理器的内存全部作为第一芯片的内存区域,而仅能将中央处理器的内存中的部分区域作为第一区域分配给第一芯片。但实际上,由于电子设备通常不会受物理空间的限制,其内存的造价也相对较低,并还可以通过可插拔接口进行灵活扩展,因此,即使只是中央处理器的内存中的部分区域也基本可以满足第一芯片的数据存储需求。
第一区域是作为第一芯片的内存使用的,即通过第一芯片上的虚拟内存映射到中央处理器的内存中的某个物理内存区域实现的。因此,在操作110中,将中央处理器的内存中的部分区域作为第一区域分配给第一芯片,主要指物理内存区域上的分配,其分配方式也主要是通过中央处理器寻址空间中的地址分配来实现的。
例如,可以将第一芯片作为一个普通的设备。在Linux内核中,配置地址空间寄存器进行总线接口内存区域(Generic Memory Range)地址的空间映射,将预留的总线接口内存区域分配给第一芯片使用。其中,总线接口内存区域,往往是针对不同机型,通过固定地址分配的方式预留给每一总线接口使用的。
通常,第一芯片和中央处理器一样都是通过虚拟存储区域来进行数据存储的,虚拟存储区域无论映射到哪一块物理存储区域,对第一芯片来说都是透明的。因此,当第一芯片将虚拟存储区域映射到中央处理器的内存中的某个物理内存区域(即第一区域)时,第一芯片并不会知道实际的物理内存位于什么位置,而是像访问片上存储区域一样访问该区域。
第一区域的分配往往是在启动操作系统之前就分配好的,并属于一种静态分配。一旦分配后,其地址、大小和用途就基本固定了,不会再动态改变。
由于第一芯片并不知道虚拟内存映射的是中央处理器的内存区域,在使用第一区域时并不会和中央处理器打招呼。因此,这一区域是是不能与中央处理器共享的,还需要通过操作120,在电子设备端进行设置,使中央处理器不会使用第一区域以避免数据访问冲突。
对第一区域进行设置有很多方式,例如,在生产电子设备时就预留出一块物理内存区域,并将其设置为专门用途;或者,也可以借用分配给电子设备引导系统专用的内存区域中的部分区域作为第一区域,并将该区域分配给与第一芯片连接的总线或控制器使用。由于上述区域都是预留出来的区域并具有专门用途,一旦这些区域中的某些区域被分配出去,中央处理器就都不会再使用这些区域。
对此,本申请实施例并不限定实现上述功能的具体实施方式,只要在将第一区域分配给第一芯片之后,使得使中央处理器不使用第一区域即可。
需要说明的是图1所示的实施例仅为本申请信息处理方法最基本的一个实施例,实施者还可在其基础上进行进一步细化和扩展。
根据本申请一实施例,该方法还包括:将中央处理器的输入输出中的部分区域作为第二区域分配给第一芯片,用于在第一芯片与中央处理器之间进行数据交换。
在某些应用场景中,中央处理器可能还需要和第一芯片交换数据,此时,可将中央处理器的输入输出中的部分区域作为第二区域分配给第一芯片。与第一区域不同,该区域并不作为第一芯片的内存,而是作为第一芯片和中央处理器都能访问的内存区域。第一芯片或中央处理器可根据需要将需要交换的数据存储在该区域,并通过电信号或中断的方式通知对方取该区域读取另一方放入的数据。
例如,可以将第一芯片作为一个普通的设备。在Linux内核中,配置地址空间寄存器进行总线接口输入输出区域(Generic IO Range)的空间映射,将某些预留的内存区域分配给第一芯片使用,中央处理器就可以通过这些寄存器来读写分配给第一芯片的地址空间,如此实现中央处理器和第一芯片的数据交换。
需要说明的是,硬件资源通常包括内存(Memory)区域、输入输出(IO)区域和中断等。在本申请内存管理方法中的第一区域主要指内存区域,而第二区域则主要指通过输出输入端口地址指定的输入输出区域。
根据本申请一实施例,将中央处理器的内存中的部分区域作为第一区域分配给第一芯片作为第一芯片的内存区域,包括:在运行电子设备引导系统的过程中,启用中央处理器的内存中所预留的总线接口内存区域;将总线接口内存区域映射到至少一个物理内存区域上;将总线接口内存区域作为第一区域分配给连接第一芯片的总线接口,以作为第一芯片的内存区域。
电子设备引导系统主要指用于进行加电、硬件自检、电子设备初始化操作并启动操作系统的程序。例如,个人电脑所使用的UEFI系统引导程序或BIOS系统引导程序等。
通常,在电子设备引导系统运行的过程中,可以启用预留的总线接口内存区域;然后,通过地址空间寄存器,将总线接口内存区域映射到至少一个物理内存区域上;之后可以将该总线接口内存区域分配给连接到某个总线的控制器或外设使用。其中,至少一个物理内存区域可以是连续的,也可以是不连续的。如此,可充分利用现有的物理内存空间。
在本实施方式中,就是通过在电子设备引导系统运行的过程中启用中央处理器的内存中所预留的总线接口内存区域,并将该区域分配给连接第一芯片的总线接口来实现将中央处理器的内存中的部分区域分配给第一芯片使用。
其中,连接第一芯片的总线接口可以是低引脚数接口(Low Pin Count,LPC),也可以是增强型串行外设接口(Enhanced Serial Peripheral,eSPI)。
根据本申请一实施例,将总线接口内存区域映射到至少一个物理内存区域上,包括:通过指定内存地址和大小的方式,将总线接口内存映射到至少一个物理内存区域上。
其中,映射可以通过总线接口内存区域映射寄存器,例如,LPC接口通用IO地址空间映射寄存器(LPC I/F Generic Decode Range Register)或eSPI PCI配置寄存器(eSPIConfiguration Registers)的decode操作来实现。此处的decode操作相当于映射和授权,即将总线接口内存映射到至少一个物理内存区域上,并授权给总线接口使用。
通常总线接口内存区域映射寄存器会有3个域值,第一个域值为使能位(enable);之后的第二个域值为基址;再后面一个域值为映射大小的掩码位。通过基址和映射大小(即内存地址和大小)就能将总线接口内存映射到至少一个物理内存区域上。
其中,基址和映射大小是可以指定的。
根据本申请一实施例,第一芯片通过嵌入式控制器与总线接口连接,相应地,将总线接口内存区域作为第一区域分配给连接第一芯片的总线接口,以作为第一芯片的内存区域,包括:将总线接口内存区域作为第一区域分配给连接嵌入式控制器的总线接口,以作为第一芯片的内存区域。
其中,嵌入式控制器(Embedded Controller,EC)是挂接在南桥202下面的一个芯片,对应于台式机里面的超级输入输出(super IO),主要负责给便携式笔记本电脑上下电、管理电池充放电、扫描键盘按键、处理Touchpad数据、实时获取CPU温度从而控制风扇转速、控制笔记本的部分LED灯等。
当电子设备为便携式笔记本电脑时,通常第一芯片是不会直接通过总线与笔记本电脑连接的,而通常是通过嵌入式控制器接入便携式笔记本电脑的。
根据本申请一实施例,将总线接口内存区域作为第一区域分配给连接嵌入式控制器的总线接口,以作为第一芯片的内存区域,包括:将第一区域映射为嵌入式控制器的影子内存区域;赋予第一芯片访问影子内存区域的权限,以使影子内存区域作为第一芯片的内存区域。
其中,影子(shadow)内存区域指并非真正存在的物理内存区域,而是映射到第一区域的一个虚拟内存区域。
通过将第一区域映射为嵌入式控制器的影子内存区域后,对于第一芯片来说,可见的就只有嵌入式控制器提供的影子内存区域而不用关心影子内存区域所映射的物理内存区域(即第一区域),实现起来更简单。
以上实施例都是对图1所示的基本实施例的进一步扩展和细化,实施者还可以根据具体实施条件对上述多个实施例的实施方式进行组合形成新的实施例。
图2至图3就示出了本申请内存管理方法的另一个实施例,该实施例就综合了上述多个实施例的实施方式并取得了较好的实施效果。该实施例应用于如图2所示的便携式笔记本电脑20中,第一芯片203就是通过高速内部连接总线(Quik Path Interconnect,QPI)连接到嵌入式控制器201,并通过嵌入式控制器201与总线接口(例如,eSPI)连接。此时,可通过南桥202上的eSPI PCI配置寄存器(在图2中未示出)的decode操作将寻址空间204中的总线接口内存2041映射到物理内存205中的内存区域,例如,内存块2051和内存块2052上,并将总线接口内存2041分配给嵌入式控制器201使用。
具体地,如图3所示,该实施例使用BIOS系统引导程序完成了以下操作,从而实现了将总线接口内存区域204分配给分配给嵌入式控制器201使用:
步骤S310,配置寻址空间;
该步骤是BIOS系统引导程序的例行操作,通常是根据预先设定,将预留的固定地址的物理内存区域、输入输出端口和中断分配给相应的接口、控制器或外设等。
步骤S320,启用总线接口内存区域;
根据用户配置将eSPI PCI配置寄存器的使能位设置为1。
需要说明的是,eSPI PCI配置寄存器的使能位缺省为0。如果需要BIOS系统引导程序在此将eSPI PCI配置寄存器的使能位设置为1,需要主动修改BIOS的配置,将其设置为“启用”(enable)。
步骤S330,解码指定的访问地址和大小作为第一芯片的内存。
指定内存块2051和内存块2052的内存地址(通常为基址)和大小,并通过南桥202上的eSPI PCI配置寄存器的解码(decode)操作将寻址空间204中的总线接口内存2041映射到内存块2051和内存块2052上。
上述功能可通过BIOS编程实现,并接收内存地址(通常为基址)和大小作为参数来设定要映射的物理内存区域,其中,基址需要在为总线接口内存预留的内存范围内,大小也不能超出为总线接口内存预留的空间大小(目前,X86系统预留的最大空间为4GB)。
之后,第一芯片203就可以通过将芯片内存2031映射到嵌入式控制器201的内存(即总线接口内存区域204)的方式获取更多的物理内存空间,即内存块2051和内存块2052作为第一芯片203的内存区域。
需要说明的是,图2至图3所示的实施例仅为本申请内存方法的示例性说明,而非对实施方式和应用场景的限定。实施者可根据具体的实施条件,采用任何适用的实施方式,应用于任何适用的应用场景中。
进一步地,本申请实施例还提供一种内存管理的装置,应用于电子设备,电子设备包括第一芯片和中央处理器,如图4所示,该装置40包括:内存区域分配模块401,用于将中央处理器的内存中的部分区域作为第一区域分配给第一芯片作为第一芯片的内存区域;内存区域设置模块402,用于对第一区域进行设置,使中央处理器不使用第一区域。
根据本申请一实施例,该装置40还包括:输入输出区域分配模块,用于将中央处理器的输入输出中的部分区域作为第二区域分配给第一芯片,用于在第一芯片与中央处理器之间进行数据交换。
根据本申请一实施例,内存区域分配模块401包括:总线接口内存区域启用子模块,用于在运行电子设备引导系统的过程中,启用中央处理器的内存中所预留的总线接口内存区域;物理内存区域映射子模块,用于将总线接口内存区域映射到至少一个物理内存区域上;内存区域分配子模块,用于将总线接口内存区域作为第一区域分配给连接第一芯片的总线接口,以作为第一芯片的内存区域。
根据本申请一实施例,物理内存区域映射子模块具体用于通过指定内存地址和大小的方式,将总线接口内存映射到至少一个物理内存区域上。
根据本申请一实施例,第一芯片通过嵌入式控制器与总线接口连接,相应地,内存区域分配模块401具体用于将总线接口内存区域作为第一区域分配给连接嵌入式控制器的总线接口,以作为第一芯片的内存区域。
根据本申请一实施例,内存区域分配模块401包括:影子内存区域映射子模块,用于将第一区域映射为嵌入式控制器的影子内存区域;影子内存区域授权子模块,用于赋予第一芯片访问影子内存区域的权限,以使影子内存区域作为第一芯片的内存区域。
此外,本申请实施例还提供一种电子设备,用于执行上述任一项的内存管理方法,如图5所示,该电子设备50包括:中央处理器501;中央处理器的内存502;通过总线接口与中央处理器连接的嵌入式控制器503;通过高速内部连接总线接口与嵌入式控制器连接的第一芯片504;其中,中央处理器的内存502中的部分区域作为第一区域分配给第一芯片504作为第一芯片的内存区域。
根据本申请一实施例,嵌入式控制器包括通过增强型串行外设接口eSPI与中央处理器连接的嵌入式控制器。
需要说明的是,在实际应用中,嵌入式控制器通常不会直接与中央处理器连接,而是连接在南桥上,并通过南桥与中央处理器建立联系。
其中,eSPI作为增强型串行外设接口具有以下优点:1)外部边带信号减少,转化成带内信号,引脚数更少;2)IO变更为1.8V,功耗更低;3)支持多种时钟速率,带宽可变。
根据本申请一实施例,第一芯片包括通过高速内部连接总线接口QPI与嵌入式控制器连接的第一芯片。
通过高速内部连接总线接口QPI嵌入式控制器与第一芯片相连,可以使嵌入式控制器与第一芯片之间的数据传输速度更快,从而可以加快第一芯片通过嵌入式控制器访问其内存所映射的与中央处理器的内存中的物理内存区域的速度。
根据本申请实施例第四方面,提供一种计算机可读存储介质,存储介质包括一组计算机可执行指令,当指令被执行时用于执行上述任一项内存管理方法。
这里需要指出的是:以上针对内存管理装置实施例的描述、以上针对电子设备实施例的描述和以上针对计算机可读存储介质实施例的描述,与前述方法实施例的描述是类似的,具有同前述方法实施例相似的有益效果,因此不做赘述。对于本申请对内存管理装置实施例的描述、对电子设备实施例的描述和对计算机可读存储介质实施例的描述尚未披露的技术细节,请参照本申请前述方法实施例的描述而理解,为节约篇幅,因此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以利用硬件的形式实现,也可以利用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储介质、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例方法的全部或部分。而前述的存储介质包括:移动存储介质、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种内存管理方法,应用于电子设备,所述电子设备包括第一芯片和中央处理器,所述方法包括:
将所述中央处理器的内存中的部分区域作为第一区域分配给所述第一芯片作为所述第一芯片的内存区域;
对所述第一区域进行设置,使所述中央处理器不使用所述第一区域。
2.根据权利要求1所述的方法,所述方法还包括:
将所述中央处理器的输入输出中的部分区域作为第二区域分配给所述第一芯片,用于在所述第一芯片与所述中央处理器之间进行数据交换。
3.根据权利要求1所述,所述将所述中央处理器的内存中的部分区域作为第一区域分配给所述第一芯片作为所述第一芯片的内存区域,包括:
在运行电子设备引导系统的过程中,启用所述中央处理器的内存中所预留的总线接口内存区域;
将所述总线接口内存区域映射到至少一个物理内存区域上;
将所述总线接口内存区域作为第一区域分配给连接所述第一芯片的总线接口,以作为所述第一芯片的内存区域。
4.根据权利要求3所述的方法,所述将所述总线接口内存区域映射到至少一个物理内存区域上,包括:
通过指定内存地址和大小的方式,将所述总线接口内存映射到至少一个物理内存区域上。
5.根据权利要求3所述的方法,所述第一芯片通过嵌入式控制器与所述总线接口连接,
相应地,所述将所述总线接口内存区域作为第一区域分配给连接所述第一芯片的总线接口,以作为所述第一芯片的内存区域,包括:
将所述总线接口内存区域作为第一区域分配给连接所述嵌入式控制器的总线接口,以作为所述第一芯片的内存区域。
6.根据权利要求5所述的方法,所述将所述总线接口内存区域作为第一区域分配给连接所述嵌入式控制器的总线接口,以作为所述第一芯片的内存区域,包括:
将所述第一区域映射为所述嵌入式控制器的影子内存区域;
赋予所述第一芯片访问所述影子内存区域的权限,以使所述影子内存区域作为所述第一芯片的内存区域。
7.一种内存管理的装置,应用于电子设备,电子设备包括第一芯片和中央处理器,所述装置包括:
内存区域分配模块,用于将所述中央处理器的内存中的部分区域作为第一区域分配给所述第一芯片作为所述第一芯片的内存区域;
内存区域设置模块,用于对所述第一区域进行设置,使所述中央处理器不使用所述第一区域。
8.一种电子设备,用于执行权利要求1所述的方法,所述电子设备包括:
中央处理器;
所述中央处理器的内存;
通过总线接口与中央处理器连接的嵌入式控制器;
通过高速内部连接总线接口与所述嵌入式控制器连接的第一芯片;
其中,所述中央处理器的内存中的部分区域作为第一区域分配给所述第一芯片作为所述第一芯片的内存区域。
9.根据权利要求8所述的电子设备,所述嵌入式控制器包括通过增强型串行外设接口eSPI与所述中央处理器连接的嵌入式控制器。
10.根据权利要求8所述的电子设备,所述第一芯片包括通过高速内部连接总线接口QPI与所述嵌入式控制器连接的第一芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110342611.4A CN113190346A (zh) | 2021-03-30 | 2021-03-30 | 一种内存管理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110342611.4A CN113190346A (zh) | 2021-03-30 | 2021-03-30 | 一种内存管理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113190346A true CN113190346A (zh) | 2021-07-30 |
Family
ID=76974623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110342611.4A Pending CN113190346A (zh) | 2021-03-30 | 2021-03-30 | 一种内存管理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113190346A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112013004078T5 (de) * | 2012-08-17 | 2015-06-25 | Intel Corporation | Gemeinsame Speichernutzung über eine vereinheitlichte Speicherarchitektur |
CN112269656A (zh) * | 2020-10-16 | 2021-01-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于多核处理器的应用配置方法、装置和系统 |
CN112486274A (zh) * | 2020-11-12 | 2021-03-12 | 深圳宏芯宇电子股份有限公司 | 计算机扩展卡及计算机系统 |
-
2021
- 2021-03-30 CN CN202110342611.4A patent/CN113190346A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112013004078T5 (de) * | 2012-08-17 | 2015-06-25 | Intel Corporation | Gemeinsame Speichernutzung über eine vereinheitlichte Speicherarchitektur |
CN112269656A (zh) * | 2020-10-16 | 2021-01-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于多核处理器的应用配置方法、装置和系统 |
CN112486274A (zh) * | 2020-11-12 | 2021-03-12 | 深圳宏芯宇电子股份有限公司 | 计算机扩展卡及计算机系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114816664B (zh) | Gpu虚拟化 | |
TWI567551B (zh) | 分配與配置持續記憶體之技術 | |
US7685376B2 (en) | Method to support heterogeneous memories | |
US9529712B2 (en) | Techniques for balancing accesses to memory having different memory types | |
US7526578B2 (en) | Option ROM characterization | |
CN104583979A (zh) | 动态物理存储器分区技术 | |
CA2541930A1 (en) | Efficient system management synchronization and memory allocation | |
US20220114086A1 (en) | Techniques to expand system memory via use of available device memory | |
EP2951705A1 (en) | Assigning processors to memory mapped configuration | |
US20180365425A1 (en) | Systems and methods for securely booting a system on chip via a virtual collated internal memory pool | |
WO2005038652A1 (en) | Optimization of smi handling and initialization | |
CN112115067A (zh) | 闪存物理资源集合管理装置及方法及计算机可读取存储介质 | |
US20210342171A1 (en) | Processor feature id response for virtualization | |
WO2017181851A1 (zh) | 一种bios启动方法及装置 | |
US20190042415A1 (en) | Storage model for a computer system having persistent system memory | |
US8751724B2 (en) | Dynamic memory reconfiguration to delay performance overhead | |
TWI507883B (zh) | 記憶卡存取裝置、其控制方法與記憶卡存取系統 | |
US9530466B1 (en) | System and method for memory access dynamic mode switching | |
US10649943B2 (en) | System and method for I/O aware processor configuration | |
US20150326684A1 (en) | System and method of accessing and controlling a co-processor and/or input/output device via remote direct memory access | |
CN113190346A (zh) | 一种内存管理方法、装置及电子设备 | |
US20100250876A1 (en) | System and Method for Memory Architecture Configuration | |
US10936219B2 (en) | Controller-based inter-device notational data movement system | |
US10216524B2 (en) | System and method for providing fine-grained memory cacheability during a pre-OS operating environment | |
US20230004417A1 (en) | Method and apparatus to select assignable device interfaces for virtual device composition |
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 |