[go: up one dir, main page]

CN104899158A - Memory access optimization method and memory access optimization device - Google Patents

Memory access optimization method and memory access optimization device Download PDF

Info

Publication number
CN104899158A
CN104899158A CN201410079789.4A CN201410079789A CN104899158A CN 104899158 A CN104899158 A CN 104899158A CN 201410079789 A CN201410079789 A CN 201410079789A CN 104899158 A CN104899158 A CN 104899158A
Authority
CN
China
Prior art keywords
data
block
cache block
cache
allocated
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
Application number
CN201410079789.4A
Other languages
Chinese (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.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
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 Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201410079789.4A priority Critical patent/CN104899158A/en
Publication of CN104899158A publication Critical patent/CN104899158A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例提供一种访存优化方法和装置。本发明访存优化方法,包括:确定处理器核的缓存访问是否未命中缓存块,在缓存访问未命中缓存块的情况下,在缓存中通过块存储指令为访问地址分配一个缓存块,并将块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将块存储指令指示的数据写入到分配的缓存块的第一数据位置上,本发明实施例在CPU执行写指令且缓存未命中的时,减少了访问主存的次数,提高了程序执行效率。

Embodiments of the present invention provide a memory access optimization method and device. The memory access optimization method of the present invention includes: determining whether the cache access of the processor core misses the cache block, and in the case of the cache access misses the cache block, assigning a cache block to the access address through a block storage instruction in the cache, and The address unit of the address identification field indicated by the block storage instruction is written into the address identification field of the allocated cache block, and the data indicated by the block storage instruction is written into the first data position of the allocated cache block. In the embodiment of the present invention, the CPU When the write instruction is executed and the cache misses, the number of accesses to the main memory is reduced, and the program execution efficiency is improved.

Description

访存优化方法和装置Memory access optimization method and device

技术领域technical field

本发明实施例涉及通信技术领域,尤其涉及一种访存优化方法和装置。Embodiments of the present invention relate to the field of communication technologies, and in particular, to a memory access optimization method and device.

背景技术Background technique

缓冲存储器是存储系统中最重要的部分,最早是由Wilkes于1951年构想出来,为了弥补中央处理器(Central Processing Unit,简称CPU)与内存之间的速度差异而提出的,为了有效弥补CPU与内存之间的速度差异引起的延迟,CPU中通常采用多级存储系统。例如采用一级缓存、二级缓存和随机存取存储器(Random Access Memory,简称RAM)三个层次的存储结构,其访问速度依次递减,容量依次递增,如果CPU执行写指令时,对最后一级缓存(二级缓存)的访问未命中,那么需要访问RAM,造成访问延迟长,功耗高,性能差的问题。The buffer memory is the most important part of the storage system. It was first conceived by Wilkes in 1951. It was proposed in order to make up for the speed difference between the central processing unit (Central Processing Unit, referred to as CPU) and the memory. The delay caused by the speed difference between memory, multi-level memory system is usually used in CPU. For example, using a storage structure of three levels: first-level cache, second-level cache, and Random Access Memory (RAM for short), the access speeds decrease sequentially, and the capacity increases sequentially. If the CPU executes a write command, the last level If the access of the cache (secondary cache) misses, it needs to access the RAM, resulting in long access delay, high power consumption, and poor performance.

为解决上述问题,现有技术中在CPU执行写指令且缓存未命中的情况下,不去访问RAM,而是首先采用数据缓存块清除为零(Data Cache Block Zero,简称dcbz)指令直接在缓存中为访问地址分配一个缓存块,并对该整个缓存块写入全0数据,由于只能对整个缓存块写入全0数据,即只能将缓存块初始化为全0数据,因此后续仍然需要使用一个写指令(例如store指令)将有效数据写入缓存,增加了访存操作。In order to solve the above problems, in the prior art, when the CPU executes a write instruction and the cache misses, it does not access the RAM, but first uses the Data Cache Block Zero (DCBZ for short) instruction to directly write to the cache Allocate a cache block for the access address, and write all 0 data to the entire cache block. Since only all 0 data can be written to the entire cache block, that is, the cache block can only be initialized to all 0 data, so the follow-up still needs Use a write instruction (such as a store instruction) to write valid data into the cache, increasing memory access operations.

发明内容Contents of the invention

本发明实施例提供一种访存优化方法和装置,解决了现有技术中在CPU执行写指令且缓存未命中的情况下,只能对整个缓存块写入全0数据,后续写入真正的有效数据时,需要再次进行写操作,增加了访存操作,造成功耗浪费的问题。The embodiment of the present invention provides a memory access optimization method and device, which solves the problem that in the prior art, when the CPU executes a write instruction and the cache misses, only all 0 data can be written to the entire cache block, and the real When the data is valid, the write operation needs to be performed again, which increases the memory access operation and causes the problem of waste of power consumption.

第一方面,本发明实施例提供一种访存优化方法,包括:In a first aspect, an embodiment of the present invention provides a memory access optimization method, including:

确定处理器核的缓存访问是否未命中缓存块;determining whether a cache access by a processor core misses a cache block;

若缓存访问未命中缓存块,则在缓存中通过块存储指令为访问地址分配一个缓存块,并将所述块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将所述块存储指令指示的数据写入到所述分配的缓存块的第一数据位置上,所述分配的缓存块的第一数据位置为所述块存储指令指示的所述分配的缓存块的数据位置。If the cache access misses the cache block, a cache block is allocated for the access address through the block storage instruction in the cache, and the address unit of the address identification field indicated by the block storage instruction is written into the address identification field of the allocated cache block , writing the data indicated by the block storage instruction to the first data location of the allocated cache block, where the first data location of the allocated cache block is the allocated cache indicated by the block storage instruction The data location of the block.

在第一方面的第一种可能的实现方式中,还包括:In the first possible implementation manner of the first aspect, it also includes:

如果所述块存储指令指示的数据的宽度小于所述分配的缓存块的宽度,则保持所述分配的缓存块的第二数据位置上的数据或将所述分配的缓存块的第二数据位置上全部写入“0”数据值或“1”数据值或将所述分配的缓存块的第二数据位置上写入“0”数据值和“1”数据值,所述分配的缓存块的第二数据位置为除所述分配的缓存块的第一数据位置之外的所述分配的缓存块的数据位置。If the width of the data indicated by the block storage instruction is smaller than the width of the allocated cache block, then keep the data in the second data location of the allocated cache block or change the second data location of the allocated cache block to Write all "0" data values or "1" data values or write "0" data values and "1" data values to the second data position of the allocated cache block, the allocated cache block The second data location is a data location of the allocated cache block other than the first data location of the allocated cache block.

根据第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:According to the first aspect or the first possible implementation of the first aspect, in the second possible implementation, it further includes:

若缓存访问命中缓存块,则将所述块存储指令指示的数据写入到命中的缓存块的第一数据位置上,所述命中的缓存块的第一数据位置为所述块存储指令指示的所述命中的缓存块的数据位置。If the cache access hits the cache block, then write the data indicated by the block storage instruction to the first data position of the hit cache block, and the first data position of the hit cache block is indicated by the block storage instruction The data location of the hit cache block.

根据第一方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:According to the second possible implementation of the first aspect, the third possible implementation also includes:

如果所述块存储指令指示的数据的宽度小于命中的缓存块的宽度,则保持所述命中的缓存块的第二数据位置上的数据或将所述命中的缓存块的第二数据位置上全部写入“0”数据值或“1”数据值或将所述命中的缓存块的第二数据位置上写入“0”数据值和“1”数据值,所述命中的缓存块的第二数据位置为除所述命中的缓存块的第一数据位置之外的所述命中的缓存块的数据位置。If the width of the data indicated by the block storage instruction is smaller than the width of the hit cache block, then keep the data at the second data position of the hit cache block or store all the data at the second data position of the hit cache block Write a "0" data value or a "1" data value or write a "0" data value and a "1" data value into the second data position of the hit cache block, and the hit cache block's second The data location is the data location of the hit cache block except the first data location of the hit cache block.

第二方面,本发明实施例提供一种访存优化装置,包括:In a second aspect, an embodiment of the present invention provides a device for optimizing memory access, including:

确定模块,用于确定处理器核的缓存访问是否未命中缓存块;A determining module, configured to determine whether the cache access of the processor core misses the cache block;

处理模块,用于若缓存访问未命中缓存块,则在缓存中通过块存储指令为访问地址分配一个缓存块,并将所述块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将所述块存储指令指示的数据写入到所述分配的缓存块的第一数据位置上,所述分配的缓存块的第一数据位置为所述块存储指令指示的所述分配的缓存块的数据位置。A processing module, configured to allocate a cache block for the access address through a block storage instruction in the cache if the cache access misses the cache block, and write the address unit of the address identification field indicated by the block storage instruction into the allocated cache The address identification field of the block, the data indicated by the block storage instruction is written to the first data position of the allocated cache block, and the first data position of the allocated cache block is indicated by the block storage instruction The data location of the allocated cache block.

在第二方面的第一种可能的实现方式中,所述处理模块还用于如果所述块存储指令指示的数据的宽度小于所述分配的缓存块的宽度,则保持所述分配的缓存块的第二数据位置上的数据或将所述分配的缓存块的第二数据位置上全部写入“0”数据值或“1”数据值或将所述分配的缓存块的第二数据位置上写入“0”数据值和“1”数据值,所述分配的缓存块的第二数据位置为除所述分配的缓存块的第一数据位置之外的所述分配的缓存块的数据位置。In a first possible implementation manner of the second aspect, the processing module is further configured to keep the allocated cache block if the width of the data indicated by the block storage instruction is smaller than the width of the allocated cache block The data on the second data position of the allocated cache block or write all the "0" data value or "1" data value into the second data position of the allocated cache block or write the second data position of the allocated cache block writing a "0" data value and a "1" data value, the second data location of the allocated cache block being a data location of the allocated cache block other than the first data location of the allocated cache block .

根据第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理模块还用于若缓存访问命中缓存块,则将所述块存储指令指示的数据写入到命中的缓存块的第一数据位置上,所述命中的缓存块的第一数据位置为所述块存储指令指示的所述命中的缓存块的数据位置。According to the second aspect or the first possible implementation of the second aspect, in the second possible implementation, the processing module is further configured to, if the cache access hits a cache block, store the block indicated by the instruction The data is written to the first data position of the hit cache block, and the first data position of the hit cache block is the data position of the hit cache block indicated by the block store instruction.

根据第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理模块还用于如果所述块存储指令指示的数据的宽度小于命中的缓存块的宽度,则保持所述命中的缓存块的第二数据位置上的数据或将所述命中的缓存块的第二数据位置上全部写入“0”数据值或“1”数据值或将所述命中的缓存块的第二数据位置上写入“0”数据值和“1”数据值,所述命中的缓存块的第二数据位置为除所述命中的缓存块的第一数据位置之外的所述命中的缓存块的数据位置。According to the second possible implementation of the second aspect, in the third possible implementation, the processing module is further configured to: if the width of the data indicated by the block storage instruction is smaller than the width of the hit cache block, then Keep the data on the second data position of the hit cache block or write all "0" data values or "1" data values into the second data position of the hit cache block or write the hit cache A "0" data value and a "1" data value are written in the second data position of the block, and the second data position of the hit cache block is the first data position of the hit cache block. The data location of the hit cache block.

本发明实施例访存优化方法和装置,通过确定处理器核的缓存访问是否未命中缓存块,在缓存访问未命中缓存块的情况下,在缓存中通过块存储指令为访问地址分配一个缓存块,并将块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将块存储指令指示的数据写入到分配的缓存块的第一数据位置上,从而在CPU执行写指令且缓存未命中的时,减少了访问主存的次数,提高了程序执行效率。The memory access optimization method and device of the embodiment of the present invention, by determining whether the cache access of the processor core misses the cache block, in the case that the cache access misses the cache block, assign a cache block to the access address in the cache through a block storage instruction , and the address unit of the address identification field indicated by the block storage instruction is written into the address identification field of the allocated cache block, and the data indicated by the block storage instruction is written into the first data position of the allocated cache block, so that the CPU When the write instruction is executed and the cache misses, the number of accesses to the main memory is reduced, and the program execution efficiency is improved.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description These are some embodiments of the present invention. For those skilled in the art, other drawings can also be obtained according to these drawings without any creative effort.

图1为本发明实施例一所提供的访存优化方法的流程图;FIG. 1 is a flow chart of a memory access optimization method provided in Embodiment 1 of the present invention;

图2为本发明实施例二所提供的访存优化方法的流程图;FIG. 2 is a flow chart of a memory access optimization method provided in Embodiment 2 of the present invention;

图3为本发明实施例三所提供的访存优化装置300的结构示意图;FIG. 3 is a schematic structural diagram of a memory access optimization device 300 provided in Embodiment 3 of the present invention;

图4为本发明实施例四所提供的一种访存优化装置400的结构示意图。FIG. 4 is a schematic structural diagram of a memory access optimization device 400 provided by Embodiment 4 of the present invention.

具体实施方式Detailed ways

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments It is a part of embodiments of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without creative efforts fall within the protection scope of the present invention.

图1为本发明实施例一所提供的访存优化方法的流程图。本实施例的方法适用于在CPU执行写指令且缓存未命中的情况下,通过降低访存操作将数据写入缓存块的情况。该方法由访存优化装置执行,该装置通常以硬件和/或软件的方式来实现。本实施例的方法包括如下步骤:FIG. 1 is a flowchart of a memory access optimization method provided by Embodiment 1 of the present invention. The method of this embodiment is applicable to the case of writing data into the cache block by reducing memory access operations when the CPU executes the write instruction and the cache misses. The method is executed by a device for optimizing memory access, and the device is usually implemented in hardware and/or software. The method of the present embodiment comprises the steps:

S110、确定处理器核的缓存访问是否未命中缓存块。S110. Determine whether the cache access of the processor core misses the cache block.

S120、若缓存访问未命中缓存块,则在缓存中通过块存储指令为访问地址分配一个缓存块,并将块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将块存储指令指示的数据写入到分配的缓存块的第一数据位置上,分配的缓存块的第一数据位置为块存储指令指示的分配的缓存块的数据位置。S120. If the cache access misses the cache block, allocate a cache block for the access address through the block storage instruction in the cache, and write the address unit of the address identification field indicated by the block storage instruction into the address identification field of the allocated cache block Writing the data indicated by the block storage instruction into the first data position of the allocated cache block, where the first data position of the allocated cache block is the data position of the allocated cache block indicated by the block storage instruction.

处理器核访问存储器时,需要检查CPU送出的地址,判断CPU要访问的地址单元是否在缓存中。若在,称为命中(Cache命中)缓存块(Cache块),CPU可用极快的速度对它进行读/写操作;若不在,则称为未命中缓存块,这时就需要从主存中访问。未命中缓存块时对主存访问会降低系统的效率。现有技术中通过在未命中Cache块的情况下,不去访问RAM,而是首先采用dcbz指令直接在缓存中为访问地址分配一个缓存块,并对该整个缓存块写入全0数据,由于只能对整个缓存块写入全0数据,即只能将缓存块初始化为全0数据,因此后续仍然需要使用一个store指令将有效数据写入缓存,增加了访存操作。而本实施例中在未命中Cache块的情况下,在缓存中通过块存储指令为访问地址分配一个缓存块,并将块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将块存储指令指示的数据写入到分配的缓存块的第一数据位置上,从而只需通过一个块存储指令就可以把数据写入到分配的缓存块的第一数据位置上,也即只需执行一次块存储指令就完成了现有技术中通过执行两次指令才完成的操作,现有技术中通过一个dcbz指令和一个store指令才完成将有效数据写入到分配的缓存块中。因此本实施例在CPU执行写指令且缓存未命中的时,减少了访问主存的次数,提高了程序执行效率。When the processor core accesses the memory, it needs to check the address sent by the CPU to determine whether the address unit to be accessed by the CPU is in the cache. If it is there, it is called a hit (Cache hit) cache block (Cache block), and the CPU can read/write it at an extremely fast speed; access. Accessing main memory when a cache block is missed reduces the efficiency of the system. In the prior art, instead of accessing the RAM when a Cache block is missed, the dcbz instruction is first used to directly allocate a cache block in the cache for the access address, and write all 0 data to the entire cache block. You can only write all 0 data to the entire cache block, that is, you can only initialize the cache block to all 0 data, so you still need to use a store command to write valid data into the cache, which increases the memory access operation. However, in the present embodiment, in the case of a Cache block miss, a cache block is allocated for the access address by a block storage instruction in the cache, and the address unit of the address identification field indicated by the block storage instruction is written to the allocated cache block. The address identification field writes the data indicated by the block storage instruction into the first data position of the allocated cache block, so that the data can be written into the first data position of the allocated cache block only by one block storage instruction , that is, it only needs to execute the block storage instruction once to complete the operation completed by executing two instructions in the prior art. In the prior art, the writing of valid data to the allocated cache is completed by a dcbz instruction and a store instruction block. Therefore, in this embodiment, when the CPU executes the write instruction and the cache misses, the times of accessing the main memory are reduced, and the program execution efficiency is improved.

具体的,通过确定处理器核的缓存访问是否未命中缓存块,在缓存访问未命中缓存块的情况下,在缓存中通过块存储指令为访问地址分配一个缓存块,并将块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将块存储指令指示的数据写入到分配的缓存块的第一数据位置上。Specifically, by determining whether the cache access of the processor core misses the cache block, if the cache access misses the cache block, a cache block is allocated to the access address through a block store instruction in the cache, and the cache block indicated by the block store instruction is The address unit of the address identification field is written into the address identification field of the allocated cache block, and the data indicated by the block storage instruction is written into the first data position of the allocated cache block.

本实施例提供的访存优化方法,通过确定处理器核的缓存访问是否未命中缓存块,在缓存访问未命中缓存块的情况下,在缓存中通过块存储指令为访问地址分配一个缓存块,并将块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将块存储指令指示的数据写入到分配的缓存块的第一数据位置上,从而在CPU执行写指令且缓存未命中的时,减少了访问主存的次数,提高了程序执行效率。In the memory access optimization method provided in this embodiment, by determining whether the cache access of the processor core misses the cache block, in the case that the cache access misses the cache block, a cache block is assigned to the access address through a block storage instruction in the cache, And the address unit of the address identification field indicated by the block storage instruction is written into the address identification field of the allocated cache block, and the data indicated by the block storage instruction is written into the first data position of the allocated cache block, so that the CPU executes When the instruction is written and the cache misses, the number of accesses to the main memory is reduced, and the program execution efficiency is improved.

图2为本发明实施例二所提供的访存优化方法的流程图。参照图2,本实施例的方法可以包括:FIG. 2 is a flow chart of a memory access optimization method provided by Embodiment 2 of the present invention. Referring to Figure 2, the method of this embodiment may include:

S210、确定处理器核的缓存访问是否未命中缓存块,若是,则执行S220,否则执行240。S210. Determine whether the cache access of the processor core misses the cache block, if yes, execute S220, otherwise execute S240.

S220、在缓存中通过块存储指令为访问地址分配一个缓存块,并将块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将块存储指令指示的数据写入到分配的缓存块的第一数据位置上,分配的缓存块的第一数据位置为块存储指令指示的分配的缓存块的数据位置。如果块存储指令指示的数据的宽度小于分配的缓存块的宽度,则执行S230。S220. In the cache, allocate a cache block for the access address through a block storage instruction, and write the address unit of the address identification field indicated by the block storage instruction into the address identification field of the allocated cache block, and write the data indicated by the block storage instruction The first data location of the allocated cache block is the data location of the allocated cache block indicated by the block storage instruction. If the width of the data indicated by the block storage instruction is smaller than the width of the allocated cache block, execute S230.

S230、保持分配的缓存块的第二数据位置上的数据或将分配的缓存块的第二数据位置上全部写入“0”数据值或“1”数据值或将分配的缓存块的第二数据位置上写入“0”数据值和“1”数据值,分配的缓存块的第二数据位置为除分配的缓存块的第一数据位置之外的分配的缓存块的数据位置。S230. Keep the data on the second data position of the allocated cache block or write all the data values "0" or "1" into the second data position of the allocated cache block or the second data position of the allocated cache block A data value of "0" and a data value of "1" are written in the data position, and the second data position of the allocated cache block is the data position of the allocated cache block except the first data position of the allocated cache block.

其中,将分配的缓存块的第二数据位置上写入“0”数据值和“1”数据值,也即分配的缓存块的第二数据位置上可以写入“0”数据值和“1”数据值的任意组合,例如如果分配的缓存块的第二数据位置为10个比特位,则可以写入1010101010或0101010101。Wherein, a "0" data value and a "1" data value are written in the second data position of the allocated cache block, that is, a "0" data value and a "1" data value can be written in the second data position of the allocated cache block Any combination of "data values, for example, if the second data position of the allocated cache block is 10 bits, 1010101010 or 0101010101 can be written.

需要说明的是,在将块存储指令指示的数据写入到分配的Cache块的第一数据位置上之后,分配的Cache块如果没有被替换,后续的访问不会发生Cache未命中Cache块的情况,也即接下来的普通store操作会是一个命中Cache块的操作,因此可以将该普通store指令指示的数据写入到与该普通store指令指示的地址对应的命中的Cache块中的数据位置上,从而提高Cache块的命中率。It should be noted that after the data indicated by the block storage instruction is written to the first data position of the allocated Cache block, if the allocated Cache block is not replaced, subsequent accesses will not cause Cache misses to the Cache block , that is, the next ordinary store operation will be an operation that hits the Cache block, so the data indicated by the ordinary store instruction can be written to the data position in the hit Cache block corresponding to the address indicated by the ordinary store instruction , thereby improving the hit rate of the Cache block.

S240、将块存储指令指示的数据写入到命中的缓存块的第一数据位置上,命中的缓存块的第一数据位置为块存储指令指示的命中的缓存块的数据位置。如果块存储指令指示的数据的宽度小于命中的缓存块的宽度,则执行250。S240. Write the data indicated by the block store instruction to the first data position of the hit cache block, where the first data position of the hit cache block is the data position of the hit cache block indicated by the block store instruction. If the width of the data indicated by the block storage instruction is smaller than the width of the hit cache block, go to step 250 .

S250、保持命中的缓存块的第二数据位置上的数据或将命中的缓存块的第二数据位置上全部写入“0”数据值或“1”数据值或将命中的缓存块的第二数据位置上写入“0”数据值和“1”数据值,命中的缓存块的第二数据位置为除命中的缓存块的第一数据位置之外的命中的缓存块的数据位置。S250. Keep the data on the second data position of the hit cache block or write all data values of "0" or "1" into the second data position of the hit cache block or the second data position of the hit cache block. A data value of "0" and a data value of "1" are written in the data position, and the second data position of the hit cache block is the data position of the hit cache block except the first data position of the hit cache block.

其中,将命中的缓存块的第二数据位置上写入“0”数据值和“1”数据值,也即命中的缓存块的第二数据位置上可以写入“0”数据值和“1”数据值的任意组合,例如如果分配的缓存块的第二数据位置为10个比特位,则可以写入1010101010或0101010101。Wherein, a "0" data value and a "1" data value are written into the second data position of the hit cache block, that is, a "0" data value and a "1" data value can be written into the second data position of the hit cache block. Any combination of "data values, for example, if the second data position of the allocated cache block is 10 bits, 1010101010 or 0101010101 can be written.

本实施例提供的访存优化方法,通过确定处理器核的缓存访问是否未命中缓存块,在缓存访问未命中缓存块的情况下,在缓存中通过块存储指令为访问地址分配一个缓存块,并将块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将块存储指令指示的数据写入到分配的缓存块的第一数据位置上,从而在CPU执行写指令且缓存未命中时,减少了访问主存的次数,提高了程序执行效率。In the memory access optimization method provided in this embodiment, by determining whether the cache access of the processor core misses the cache block, in the case that the cache access misses the cache block, a cache block is assigned to the access address through a block storage instruction in the cache, And the address unit of the address identification field indicated by the block storage instruction is written into the address identification field of the allocated cache block, and the data indicated by the block storage instruction is written into the first data position of the allocated cache block, so that the CPU executes When the instruction is written and the cache misses, the number of accesses to the main memory is reduced, and the program execution efficiency is improved.

图3为本发明实施例三所提供的访存优化装置300的结构示意图。参照图3,该访存优化装置包括如下模块:确定模块310和处理模块320。FIG. 3 is a schematic structural diagram of a memory access optimization device 300 provided by Embodiment 3 of the present invention. Referring to FIG. 3 , the device for optimizing memory access includes the following modules: a determination module 310 and a processing module 320 .

确定模块310用于确定处理器核的缓存访问是否未命中缓存块;处理模块320用于若缓存访问未命中缓存块,则在缓存中通过块存储指令为访问地址分配一个缓存块,并将块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将块存储指令指示的数据写入到分配的缓存块的第一数据位置上,分配的缓存块的第一数据位置为块存储指令指示的分配的缓存块的数据位置。The determination module 310 is used to determine whether the cache access of the processor core misses the cache block; the processing module 320 is used to allocate a cache block for the access address in the cache through a block storage instruction if the cache access misses the cache block, and store the block The address unit of the address identification field indicated by the storage instruction is written into the address identification field of the allocated cache block, and the data indicated by the block storage instruction is written into the first data position of the allocated cache block, and the first data position of the allocated cache block is The data location is the data location of the allocated cache block indicated by the block storage instruction.

进一步的,处理模块320还用于如果块存储指令指示的数据的宽度小于分配的缓存块的宽度,则保持分配的缓存块的第二数据位置上的数据或将分配的缓存块的第二数据位置上全部写入“0”数据值或“1”数据值或将所述分配的缓存块的第二数据位置上写入“0”数据值和“1”数据值,分配的缓存块的第二数据位置为除分配的缓存块的第一数据位置之外的分配的缓存块的数据位置。Further, the processing module 320 is further configured to keep the data at the second data position of the allocated cache block or the second data of the allocated cache block if the width of the data indicated by the block storage instruction is smaller than the width of the allocated cache block Write all "0" data values or "1" data values into the position or write "0" data values and "1" data values into the second data position of the allocated cache block, and the allocated cache block's first The second data location is the data location of the allocated cache block other than the first data location of the allocated cache block.

进一步的,处理模块320还用于若缓存访问命中缓存块,则将块存储指令指示的数据写入到命中的缓存块的第一数据位置上,命中的缓存块的第一数据位置为块存储指令指示的命中的缓存块的数据位置。Further, the processing module 320 is also configured to write the data indicated by the block storage instruction to the first data position of the hit cache block if the cache access hits the cache block, and the first data position of the hit cache block is the block storage The data location of the hit cache block indicated by the instruction.

进一步的,处理模块320还用于如果块存储指令指示的数据的宽度小于命中的缓存块的宽度,则保持命中的缓存块的第二数据位置上的数据或将命中的缓存块的第二数据位置上全部写入“0”数据值或“1”数据值或将所述命中的缓存块的第二数据位置上写入“0”数据值和“1”数据值,命中的缓存块的第二数据位置为除命中的缓存块的第一数据位置之外的命中的缓存块的数据位置。Further, the processing module 320 is further configured to keep the data at the second data position of the hit cache block or the second data of the hit cache block if the width of the data indicated by the block storage instruction is smaller than the width of the hit cache block All write "0" data value or "1" data value in the position or write "0" data value and "1" data value in the second data position of the cache block of the hit, the first cache block of the hit The second data location is the data location of the hit cache block except the first data location of the hit cache block.

本实施例提供的访存优化装置,通过确定处理器核的缓存访问是否未命中缓存块,在缓存访问未命中缓存块的情况下,在缓存中通过块存储指令为访问地址分配一个缓存块,并将块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将块存储指令指示的数据写入到分配的缓存块的第一数据位置上,从而在CPU执行写指令且缓存未命中的时,减少了访问主存的次数,提高了程序执行效率。The memory access optimization device provided in this embodiment, by determining whether the cache access of the processor core misses the cache block, in the case of the cache access misses the cache block, assigns a cache block to the access address through a block storage instruction in the cache, And the address unit of the address identification field indicated by the block storage instruction is written into the address identification field of the allocated cache block, and the data indicated by the block storage instruction is written into the first data position of the allocated cache block, so that the CPU executes When the instruction is written and the cache misses, the number of accesses to the main memory is reduced, and the program execution efficiency is improved.

相应的,参阅附图4,图4为本发明实施例四所提供的一种访存优化装置400的结构示意图,该访存优化装置包括至少一个处理器401,例如CPU,至少一个网络接口404,例如物理网卡,或者其他的用户接口403,以及存储器405和至少一个通信总线402。Correspondingly, referring to accompanying drawing 4, Fig. 4 is a schematic structural diagram of a memory access optimization device 400 provided in Embodiment 4 of the present invention, the memory access optimization device includes at least one processor 401, such as a CPU, and at least one network interface 404 , such as a physical network card, or other user interface 403 , as well as memory 405 and at least one communication bus 402 .

其中,通信总线402用于实现这些组件之间的连接通信。Wherein, the communication bus 402 is used to realize connection and communication between these components.

网络接口404用于实现该物理主机和网络之间的连接通信,比如该网络接口404可以用于连接物理网卡和/或物理交换机等设备。The network interface 404 is used to realize connection and communication between the physical host and the network, for example, the network interface 404 may be used to connect devices such as a physical network card and/or a physical switch.

可选的,用户接口403,可以包括显示器,键盘或者其他点击设备,例如,鼠标,轨迹球(trackball),触感板或者触感显示屏等。Optionally, the user interface 403 may include a display, a keyboard, or other pointing devices, such as a mouse, a trackball (trackball), a touch panel, or a touch display screen.

存储器405可能包括高速随机存取记忆体(RAM,Random AccessMemory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,该存储器405还可以包括至少一个位于远离前述处理器401的存储装置。The memory 405 may include a high-speed random access memory (RAM, Random Access Memory), and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory. Optionally, the memory 405 may also include at least one storage device located away from the aforementioned processor 401 .

在一些实施方式中,存储器405存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:In some implementations, the memory 405 stores the following elements, executable modules or data structures, or their subsets, or their extensions:

操作系统4051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务;Operating system 4051, including various system programs, used to realize various basic services and handle hardware-based tasks;

应用模块4052,包含各种应用程序,用于实现各种应用业务。The application module 4052 includes various application programs for realizing various application services.

应用模块4052中包括但不限于与虚拟机的数据交换相关的各种单元,比如接收单元、配置单元、获取单元和合成单元等。The application module 4052 includes, but is not limited to, various units related to data exchange of virtual machines, such as a receiving unit, a configuration unit, an acquisition unit, and a synthesis unit.

具体地,处理器401,用于确定处理器核的缓存访问是否未命中缓存块;若缓存访问未命中缓存块,则在缓存中通过块存储指令为访问地址分配一个缓存块,并将块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将块存储指令指示的数据写入到分配的缓存块的第一数据位置上,分配的缓存块的第一数据位置为块存储指令指示的分配的缓存块的数据位置。Specifically, the processor 401 is configured to determine whether the cache access of the processor core misses the cache block; if the cache access misses the cache block, a cache block is allocated for the access address through a block storage instruction in the cache, and the block is stored The address unit of the address identification field indicated by the instruction is written into the address identification field of the allocated cache block, the data indicated by the block storage instruction is written into the first data position of the allocated cache block, and the first data of the allocated cache block The location is the data location of the allocated cache block indicated by the block store instruction.

进一步的,处理器401还用于如果块存储指令指示的数据的宽度小于分配的缓存块的宽度,则保持分配的缓存块的第二数据位置上的数据或将分配的缓存块的第二数据位置上全部写入“0”数据值或“1”数据值或将所述分配的缓存块的第二数据位置上写入“0”数据值和“1”数据值,分配的缓存块的第二数据位置为除分配的缓存块的第一数据位置之外的分配的缓存块的数据位置。Further, the processor 401 is further configured to keep the data at the second data position of the allocated cache block or the second data of the allocated cache block if the width of the data indicated by the block storage instruction is smaller than the width of the allocated cache block Write all "0" data values or "1" data values into the position or write "0" data values and "1" data values into the second data position of the allocated cache block, and the allocated cache block's first The second data location is the data location of the allocated cache block other than the first data location of the allocated cache block.

进一步的,处理器401还用于若缓存访问命中缓存块,则将块存储指令指示的数据写入到命中的缓存块的第一数据位置上,命中的缓存块的第一数据位置为块存储指令指示的命中的缓存块的数据位置。Further, the processor 401 is further configured to write the data indicated by the block storage instruction into the first data position of the hit cache block if the cache access hits the cache block, and the first data position of the hit cache block is the block storage The data location of the hit cache block indicated by the instruction.

进一步的,处理器401还用于如果块存储指令指示的数据的宽度小于命中的缓存块的宽度,则保持命中的缓存块的第二数据位置上的数据或将命中的缓存块的第二数据位置上全部写入“0”数据值或“1”数据值或将所述分配的缓存块的第二数据位置上写入“0”数据值和“1”数据值,命中的缓存块的第二数据位置为除命中的缓存块的第一数据位置之外的命中的缓存块的数据位置。Further, the processor 401 is further configured to keep the data at the second data position of the hit cache block or the second data of the hit cache block if the width of the data indicated by the block storage instruction is smaller than the width of the hit cache block Write all "0" data values or "1" data values into the position or write "0" data values and "1" data values into the second data position of the allocated cache block, and the hit cache block's first The second data location is the data location of the hit cache block except the first data location of the hit cache block.

本实施例提供的访存优化装置,通过确定处理器核的缓存访问是否未命中缓存块,在缓存访问未命中缓存块的情况下,在缓存中通过块存储指令为访问地址分配一个缓存块,并将块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将块存储指令指示的数据写入到分配的缓存块的第一数据位置上,从而在CPU执行写指令且缓存未命中的时,减少了访问主存的次数,提高了程序执行效率。The memory access optimization device provided in this embodiment, by determining whether the cache access of the processor core misses the cache block, in the case of the cache access misses the cache block, assigns a cache block to the access address through a block storage instruction in the cache, And the address unit of the address identification field indicated by the block storage instruction is written into the address identification field of the allocated cache block, and the data indicated by the block storage instruction is written into the first data position of the allocated cache block, so that the CPU executes When the instruction is written and the cache misses, the number of accesses to the main memory is reduced, and the program execution efficiency is improved.

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。Those of ordinary skill in the art can understand that all or part of the steps for implementing the above method embodiments can be completed by program instructions and related hardware. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps including the above-mentioned method embodiments; and the aforementioned storage medium includes: ROM, RAM, magnetic disk or optical disk and other various media that can store program codes.

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present invention, rather than limiting them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: It is still possible to modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the technical solutions of the various embodiments of the present invention. scope.

Claims (8)

1.一种访存优化方法,其特征在于,包括:1. A memory access optimization method, characterized in that, comprising: 确定处理器核的缓存访问是否未命中缓存块;determining whether a cache access by a processor core misses a cache block; 若缓存访问未命中缓存块,则在缓存中通过块存储指令为访问地址分配一个缓存块,并将所述块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将所述块存储指令指示的数据写入到所述分配的缓存块的第一数据位置上,所述分配的缓存块的第一数据位置为所述块存储指令指示的所述分配的缓存块的数据位置。If the cache access misses the cache block, a cache block is allocated for the access address through the block storage instruction in the cache, and the address unit of the address identification field indicated by the block storage instruction is written into the address identification field of the allocated cache block , writing the data indicated by the block storage instruction to the first data location of the allocated cache block, where the first data location of the allocated cache block is the allocated cache indicated by the block storage instruction The data location of the block. 2.根据权利要求1所述的方法,其特征在于,还包括:2. The method according to claim 1, further comprising: 如果所述块存储指令指示的数据的宽度小于所述分配的缓存块的宽度,则保持所述分配的缓存块的第二数据位置上的数据或将所述分配的缓存块的第二数据位置上全部写入“0”数据值或“1”数据值或将所述分配的缓存块的第二数据位置上写入“0”数据值和“1”数据值,所述分配的缓存块的第二数据位置为除所述分配的缓存块的第一数据位置之外的所述分配的缓存块的数据位置。If the width of the data indicated by the block storage instruction is smaller than the width of the allocated cache block, then keep the data on the second data location of the allocated cache block or change the second data location of the allocated cache block to Write all "0" data values or "1" data values or write "0" data values and "1" data values to the second data position of the allocated cache block, the allocated cache block The second data location is a data location of the allocated cache block other than the first data location of the allocated cache block. 3.根据权利要求1或2所述的方法,其特征在于,还包括:3. The method according to claim 1 or 2, further comprising: 若缓存访问命中缓存块,则将所述块存储指令指示的数据写入到命中的缓存块的第一数据位置上,所述命中的缓存块的第一数据位置为所述块存储指令指示的所述命中的缓存块的数据位置。If the cache access hits the cache block, then write the data indicated by the block storage instruction to the first data position of the hit cache block, and the first data position of the hit cache block is indicated by the block storage instruction The data location of the hit cache block. 4.根据权利要求3所述的方法,其特征在于,还包括:4. The method according to claim 3, further comprising: 如果所述块存储指令指示的数据的宽度小于命中的缓存块的宽度,则保持所述命中的缓存块的第二数据位置上的数据或将所述命中的缓存块的第二数据位置上全部写入“0”数据值或“1”数据值或将所述命中的缓存块的第二数据位置上写入“0”数据值和“1”数据值,所述命中的缓存块的第二数据位置为除所述命中的缓存块的第一数据位置之外的所述命中的缓存块的数据位置。If the width of the data indicated by the block storage instruction is smaller than the width of the hit cache block, then keep the data at the second data position of the hit cache block or store all the data at the second data position of the hit cache block Write a "0" data value or a "1" data value or write a "0" data value and a "1" data value into the second data position of the hit cache block, and the hit cache block's second The data location is the data location of the hit cache block except the first data location of the hit cache block. 5.一种访存优化装置,其特征在于,包括:5. A memory access optimization device, characterized in that, comprising: 确定模块,用于确定处理器核的缓存访问是否未命中缓存块;A determining module, configured to determine whether the cache access of the processor core misses the cache block; 处理模块,用于若缓存访问未命中缓存块,则在缓存中通过块存储指令为访问地址分配一个缓存块,并将所述块存储指令指示的地址标识字段的地址单元写入到分配的缓存块的地址标识字段,将所述块存储指令指示的数据写入到所述分配的缓存块的第一数据位置上,所述分配的缓存块的第一数据位置为所述块存储指令指示的所述分配的缓存块的数据位置。A processing module, configured to allocate a cache block for the access address through a block storage instruction in the cache if the cache access misses the cache block, and write the address unit of the address identification field indicated by the block storage instruction into the allocated cache The address identification field of the block, the data indicated by the block storage instruction is written to the first data position of the allocated cache block, and the first data position of the allocated cache block is indicated by the block storage instruction The data location of the allocated cache block. 6.根据权利要求5所述的装置,其特征在于,所述处理模块还用于如果所述块存储指令指示的数据的宽度小于所述分配的缓存块的宽度,则保持所述分配的缓存块的第二数据位置上的数据或将所述分配的缓存块的第二数据位置上全部写入“0”数据值或“1”数据值或将所述分配的缓存块的第二数据位置上写入“0”数据值和“1”数据值,所述分配的缓存块的第二数据位置为除所述分配的缓存块的第一数据位置之外的所述分配的缓存块的数据位置。6. The device according to claim 5, wherein the processing module is further configured to keep the allocated cache memory if the width of the data indicated by the block storage instruction is smaller than the width of the allocated cache block Data on the second data location of the block or write all "0" data values or "1" data values on the second data location of the allocated cache block or write the second data location of the allocated cache block Write a "0" data value and a "1" data value, the second data location of the allocated cache block is the data of the allocated cache block except the first data location of the allocated cache block Location. 7.根据权利要求5或6所述的装置,其特征在于,所述处理模块还用于若缓存访问命中缓存块,则将所述块存储指令指示的数据写入到命中的缓存块的第一数据位置上,所述命中的缓存块的第一数据位置为所述块存储指令指示的所述命中的缓存块的数据位置。7. The device according to claim 5 or 6, wherein the processing module is further configured to write the data indicated by the block storage instruction into the hit cache block if the cache access hits the cache block. In a data location, the first data location of the hit cache block is the data location of the hit cache block indicated by the block store instruction. 8.根据权利要求7所述的装置,其特征在于,所述处理模块还用于如果所述块存储指令指示的数据的宽度小于命中的缓存块的宽度,则保持所述命中的缓存块的第二数据位置上的数据或将所述命中的缓存块的第二数据位置上全部写入“0”数据值或“1”数据值或将所述命中的缓存块的第二数据位置上写入“0”数据值和“1”数据值,所述命中的缓存块的第二数据位置为除所述命中的缓存块的第一数据位置之外的所述命中的缓存块的数据位置。8. The device according to claim 7, wherein the processing module is further configured to keep the width of the hit cache block if the width of the data indicated by the block storage instruction is smaller than the width of the hit cache block Data on the second data position or write "0" data value or "1" data value in the second data position of the cache block of the hit or write the second data position of the cache block of the hit Entering a "0" data value and a "1" data value, the second data position of the hit cache block is the data position of the hit cache block except the first data position of the hit cache block.
CN201410079789.4A 2014-03-05 2014-03-05 Memory access optimization method and memory access optimization device Pending CN104899158A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410079789.4A CN104899158A (en) 2014-03-05 2014-03-05 Memory access optimization method and memory access optimization device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410079789.4A CN104899158A (en) 2014-03-05 2014-03-05 Memory access optimization method and memory access optimization device

Publications (1)

Publication Number Publication Date
CN104899158A true CN104899158A (en) 2015-09-09

Family

ID=54031832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410079789.4A Pending CN104899158A (en) 2014-03-05 2014-03-05 Memory access optimization method and memory access optimization device

Country Status (1)

Country Link
CN (1) CN104899158A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228483A (en) * 2016-12-15 2018-06-29 北京忆恒创源科技有限公司 The method and apparatus for handling atom write order
CN109164976A (en) * 2016-12-21 2019-01-08 北京忆恒创源科技有限公司 Optimize storage device performance using write buffer
CN110889147A (en) * 2019-11-14 2020-03-17 中国人民解放军国防科技大学 A method to defend against cache side-channel attacks by filling cache
WO2020135208A1 (en) * 2018-12-24 2020-07-02 安谋科技(中国)有限公司 Instruction execution method for a processor and processor

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228483A (en) * 2016-12-15 2018-06-29 北京忆恒创源科技有限公司 The method and apparatus for handling atom write order
CN108228483B (en) * 2016-12-15 2021-09-14 北京忆恒创源科技股份有限公司 Method and apparatus for processing atomic write commands
CN109164976A (en) * 2016-12-21 2019-01-08 北京忆恒创源科技有限公司 Optimize storage device performance using write buffer
CN109164976B (en) * 2016-12-21 2021-12-31 北京忆恒创源科技股份有限公司 Optimizing storage device performance using write caching
WO2020135208A1 (en) * 2018-12-24 2020-07-02 安谋科技(中国)有限公司 Instruction execution method for a processor and processor
CN110889147A (en) * 2019-11-14 2020-03-17 中国人民解放军国防科技大学 A method to defend against cache side-channel attacks by filling cache
CN110889147B (en) * 2019-11-14 2022-02-08 中国人民解放军国防科技大学 Method for resisting Cache side channel attack by using filling Cache

Similar Documents

Publication Publication Date Title
US10114578B2 (en) Solid state disk and data moving method
US10860494B2 (en) Flushing pages from solid-state storage device
US20150378888A1 (en) Controller, flash memory apparatus, and method for writing data into flash memory apparatus
US11010056B2 (en) Data operating method, device, and system
US10761990B2 (en) Methods and devices for managing cache
JP6069031B2 (en) Computer and memory management method
US20150143045A1 (en) Cache control apparatus and method
CN104133780A (en) Cross-page prefetching method, device and system
US10203899B2 (en) Method for writing data into flash memory apparatus, flash memory apparatus, and storage system
CN105095116A (en) Cache replacing method, cache controller and processor
CN104461735B (en) A kind of method and apparatus that cpu resource is distributed under virtualization scene
KR20110110720A (en) Method and system for wear leveling in solid state drives
US11074189B2 (en) FlatFlash system for byte granularity accessibility of memory in a unified memory-storage hierarchy
US10108553B2 (en) Memory management method and device and memory controller
CN113039531B (en) Method, system and storage medium for allocating cache resources
CN103744611A (en) Computer system based on solid state disc as cache and cache accelerating method
KR102686749B1 (en) Storage device for performing map scheduling and electronic device including the same
CN105095104B (en) Data buffer storage processing method and processing device
CN104899158A (en) Memory access optimization method and memory access optimization device
WO2016037310A1 (en) Filtering write request sequences
WO2016119618A1 (en) Remote memory allocation method, device and system
KR20150096177A (en) Method for performing garbage collection and flash memory apparatus using the method
US8966133B2 (en) Determining a mapping mode for a DMA data transfer
CN112835716B (en) A CPU cache allocation method and terminal for 5G communication virtualization network elements
TWI871157B (en) Computing system for memory management opportunities and memory swapping tasks and method of managing the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150909