CN107122128B - 数据存储 - Google Patents
数据存储 Download PDFInfo
- Publication number
- CN107122128B CN107122128B CN201710106348.2A CN201710106348A CN107122128B CN 107122128 B CN107122128 B CN 107122128B CN 201710106348 A CN201710106348 A CN 201710106348A CN 107122128 B CN107122128 B CN 107122128B
- Authority
- CN
- China
- Prior art keywords
- address
- bits
- subset
- reference memory
- match
- 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
- 238000013500 data storage Methods 0.000 title claims abstract description 41
- 230000015654 memory Effects 0.000 claims abstract description 112
- 238000012360 testing method Methods 0.000 claims abstract description 49
- 238000001514 detection method Methods 0.000 claims abstract description 36
- 238000000034 method Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 8
- 230000001419 dependent effect Effects 0.000 claims description 2
- 238000013519 translation Methods 0.000 description 10
- 230000014616 translation Effects 0.000 description 10
- 238000007792 addition Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000000654 additive Substances 0.000 description 3
- 230000000996 additive effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开涉及数据存储。数据存储装置包括被配置为检测多位的参考存储器地址和测试地址之间的匹配的检测电路,测试地址是多位的基地址和多位的地址偏移的组合,检测电路包括:比较器,被配置为作为第一比较将参考存储器地址的位中的第一子集与基地址的多个位中的对应第一子集和地址偏移的位中的对应第一子集的组合进行比较;比较器被配置为作为第二比较将参考存储器地址的多个位中的第二不同子集与基地址的多个位中的对应第二子集进行比较;检测器,被配置为当第一比较和第二比较二者均检测到相应的匹配时对参考存储器地址与测试地址之间的匹配进行检测;以及控制电路,被配置为当匹配被检测器检测到时依据参考存储器地址控制数据存储装置的操作。
Description
技术领域
本公开涉及数据存储。
背景技术
在一些数据存储布置中,存在将测试地址与参考地址进行比较的需求,该测试地址是诸如基地址和偏移地址之类的两个地址操作数的组合。例如,参考地址可以是由数据存储设备保持或缓存的数据项的地址。
对这样的布置进行改进是持续不变的目标。
发明内容
在示例布置中,提供了一种数据存储装置,包括:
检测电路,被配置为检测多位的参考存储器地址和测试地址之间的匹配,测试地址是多位的基地址和多位的地址偏移的组合,该检测电路包括:
比较器,被配置为作为第一比较,将参考存储器地址的多个位中的第一子集(例如,一些但不是所有的位)与基地址的多个位中的对应第一子集和地址偏移的多个位中的对应第一子集的组合进行比较;比较器被配置为作为第二比较,将参考存储器地址的多个位中的第二不同子集(例如,一些但不是所有的位)与基地址的多个位中的对应第二子集进行比较;
检测器,被配置为当第一比较和第二比较二者均检测到相应的匹配时对参考存储器地址与测试地址之间的匹配进行检测;以及
控制电路,被配置为当匹配被检测器检测到时,依据参考存储器地址控制数据存储装置的操作。
在另一示例布置中,提供了一种数据存储装置,包括:
用于检测多位的参考存储器地址和测试地址之间的匹配的检测装置,测试地址是多位的基地址和多位的地址偏移的组合,检测装置被配置为:
用于作为第一比较将参考存储器地址的多个位中的第一子集(例如,一些但不是所有的位)与基地址的多个位中的对应第一子集和地址偏移的多个位中的对应第一子集的组合进行比较的装置;
用于作为第二比较将参考存储器地址的多个位中的第二不同子集(例如,一些但不是所有的位)与基地址的多个位中的对应第二子集进行比较的装置;
用于当第一比较和第二比较二者均检测到相应的匹配时对参考存储器地址与测试地址之间的匹配进行检测的装置;以及
用于当匹配被检测到时依据参考存储器地址控制数据存储装置的操作的装置。
在另一示例布置中,提供了一种数据存储操作的方法,该方法包括:
检测多位的参考存储器地址和测试地址之间的匹配,测试地址是多位的基地址和多位的地址偏移的组合,检测步骤包括:
作为第一比较,将参考存储器地址的多个位中的第一子集(例如,一些但不是所有的位)与基地址的多个位中的对应第一子集和地址偏移的多个位中的对应第一子集的组合进行比较;
作为第二比较,将参考存储器地址的多个位中的第二不同子集(例如,一些但不是所有的位)与基地址的多个位中的对应第二子集进行比较;
当第一比较和第二比较二者均检测到相应的匹配时对参考存储器地址与测试地址之间的匹配进行检测;以及
当匹配被检测到时,依据参考存储器地址控制数据存储装置的操作。
附图说明
仅通过示例的方式,本技术将参照其在附图中示出的实施例进行进一步描述,其中:
图1和图2示意性地示出了基地址和偏移地址的使用;
图3示意性地示出了缓存存储器;
图4示意性地示出了检测电路的示例;
图5是示出缓存存储器的操作的示意流程图;
图6示意性地示出了旁路转换缓冲器;
图7示意性地示出了分区式存储器设备;以及
图8是示出数据存储操作的方法的示意流程图。
具体实施方式
在参考附图论述实施例之前,提供了实施例的以下描述。
示例实施例提供了一种数据存储装置,包括:
检测电路,被配置为检测多位的参考存储器地址和测试地址之间的匹配,测试地址是多位的基地址和多位的地址偏移的组合,检测电路包括:
比较器,被配置为作为第一比较,将参考存储器地址的多个位中的第一子集(例如,一些但不是所有的位)与基地址的多个位中的对应第一子集和地址偏移的多个位中的对应第一子集的组合进行比较;比较器被配置为作为第二比较,将参考存储器地址的多个位中的第二不同子集(例如,一些但不是所有的位)与基地址的多个位中的对应第二子集进行比较;
检测器,被配置为当第一比较和第二比较二者均检测到相应的匹配时对参考存储器地址与测试地址之间的匹配进行检测;以及
控制电路,被配置为当匹配被检测器检测到时,依据参考存储器地址控制数据存储装置的操作。
示例实施例提供了一种布置,该布置通过执行基地址、偏移地址、和参考地址在多个位的第一子集上的全组合-比较操作但在执行基地址和参考地址在多个位的另一子集上的简单比较来逼近如上所述的比较的结果。该布置认识到在实践中偏移地址可能是很小的(根据具体应用),从而为了获得结果的有用逼近不需要进行全组合-比较操作。
在示例中,多个位中的第一子集包括更低有效位的连续集合;并且多个位中的第二子集包括比第一子集中的那些位更高的所有剩余位。
在一些情形中,伪阳性检测或伪阴性检测可能不是问题。在其它示例情形中,伪阳性检测可导致操作问题。在那些示例中,装置可包括中止检测器,中止检测器被配置为当预定条件适用于地址偏移的第二子集中的一个或多个位时,向控制电路提供中止指示。例如,在组合是加法的情形中,中止检测器可被配置为当来自加法的进位量不同于地址偏移的第二子集中的一个或多个位的群组时,向控制电路提供中止指示。中止信号可以多种方式使用。例如,控制器可被配置为响应于中止指示而取消由数据存储访问进行的数据访问。在其它示例中,控制器可被配置为:响应于中止指示,改变由数据存储装置用于数据访问的操作的模式。
该技术的使用的示例是在诸如缓存或类似存储器之类的数据存储装置中,该数据存储装置包括第一存储布置,第一存储布置被配置为存储与第二存储布置中的一个或多个近期访问的数据项相关的信息;并且其中:参考地址是在第一存储布置中保持有信息的数据项中的一个数据项的存储器地址;并且测试地址是当前要求的数据项的地址。(对匹配的)检测可被用于控制第二存储布置是否被上电,从而提供潜在的净功率节省。在这样的示例中,控制电路被配置为依据参考存储器地址与测试地址之间的匹配是否被检测到,选择性地启用或禁止对第二存储布置的访问。例如,控制电路可被配置为当参考存储器地址与测试地址之间的匹配被检测到时,禁止对第二存储布置的访问。
尽管参考存储器地址、基地址、和地址偏移可容纳不同数量的位,但在示例中参考存储器地址、基地址、和地址偏移各自具有相同数量的位。
另一示例实施例提供了一种数据存储装置,包括:
用于检测多位的参考存储器地址和测试地址之间的匹配的检测装置,测试地址是多位的基地址和多位的地址偏移的组合,检测装置被配置为:
用于作为第一比较将参考存储器地址的多个位中的第一子集(例如,一些但不是所有的位)与基地址的多个位中的对应第一子集和地址偏移的多个位中的对应第一子集的组合进行比较的装置;
用于作为第二比较将参考存储器地址的多个位中的第二不同子集(例如,一些但不是所有的位)与基地址的多个位中的对应第二子集进行比较的装置;
用于当第一比较和第二比较二者均检测到相应的匹配时对参考存储器地址与测试地址之间的匹配进行检测的装置;以及
用于当匹配被检测到时依据参考存储器地址控制数据存储装置的操作的装置。
另一示例实施例提供了一种数据存储操作的方法,方法包括:
检测多位的参考存储器地址和测试地址之间的匹配,测试地址是多位的基地址和多位的地址偏移的组合,检测步骤包括:
作为第一比较,将参考存储器地址的多个位中的第一子集(例如,一些但不是所有的位)与基地址的多个位中的对应第一子集和地址偏移的多个位中的对应第一子集的组合进行比较;
作为第二比较,将参考存储器地址的多个位中的第二不同子集(例如,一些但不是所有的位)与基地址的多个位中的对应第二子集进行比较;
当第一比较和第二比较二者均检测到相应的匹配时对参考存储器地址与测试地址之间的匹配进行检测;以及
当匹配被检测到时,依据参考存储器地址控制数据存储装置的操作。
图1和图2示意性地示出了基地址和偏移地址的使用。这里的示例涉及作为由诸如微处理器或中央处理单元(CPU)之类的数据处理器执行数据处理指令的结果的这样的地址的生成和使用。然而,无论何时根据基分量和偏移分量生成(例如,用于访问数据存储布置的)地址时,可适用相同的原理。
参考图1,数据处理指令10的执行定义了分别保持有基存储器地址和偏移存储器地址的寄存器20和30。例如,寄存器20可以是程序计数器(PC)寄存器,而偏移可被保持在(用作寄存器30的)寄存器中,该寄存器例如是处理器寄存器。
在这些布置中,作为基地址和偏移地址的组合的测试地址与参考存储器地址40进行比较。可适合于进行这样的比较的各种应用和示例操作将在下文进行说明。
基地址和偏移地址的组合可以是加法组合,以使得偏移地址被相加至基地址。然而,其它类型的组合是可能的,例如从基地址中减去偏移地址或者偏移地址的相应位与基地址的相应位进行逐位的逻辑组合。因此,这里论述的加法组合仅作为这样的组合的示例。
在一些情形中,参考地址与基地址和偏移地址的组合之间的比较可以是时序关键操作,或者至少是当被更快速地执行时更好或更有用的操作。在一些示例中,加法和比较操作被归合到单个逻辑操作中,从而在时序关键路径中节省一些逻辑门(以及潜在的节省时间)。这样的布置被用于图1,其中单个逻辑电路50提供基地址和偏移地址的加法以及与参考地址40的比较,进而提供指示匹配的输出60,并且该输出60控制控制函数70(例如,数据存储装置的控制函数)。这样的控制函数的示例将在下文进行说明。
注意,如下文所述,逻辑50对匹配的检测可以是所谓的推测性结果,其可以是正确的,也可以是不正确的。换而言之,检测是对测试变量(参考40与基20和偏移30的组合)之间的同一性的断言(assertion),但是在推测性结果的情形中,此断言仍然是“对匹配的检测”并且可能被发现是不正确的。
在图2中提供了另一示例,其中指令100具有指示偏移110的数据作为指令代码自身的一部分。如上所述,由加法器-比较器50将此偏移110与基地址寄存器20中存储的基地址相加,在此阶段基地址和偏移的加法组合与参考地址40相比较以提供控制控制函数70的输出60。
然而,在一些实例中,完整的比较器结果可能对于所需目的来说被生成地太晚。现在将描述减轻这一潜在问题的布置。
图3示意性示出了作为可在其中使用本技术的数据存储装置的示例的缓存存储器。
缓存存储器利用所谓的缓存路跟踪器布置。这提供了缓存存储器中对于近期访问的条目的存储设备200,实质上提供了与那些近期访问项有关的标签的缓存。对于新要求的访问,如果能够检测到新要求的访问实际与作为存储设备200中存储的近期访问项中的一者相同的地址有关,那么系统可访问存储设备200中存储的标签,而不启用(例如,上电)全标签RAM 210。这可通过选择性地避免上电标签RAM 210的需求来提供功率节省。
为了这样的系统更高效地操作,要求关于新要求的地址是否确实与存储设备200中存储的一个项有关的检测。如果检测到命中或匹配,那么控制器220可从存储设备200获得要求的标签信息(来允许保持实际的缓存条目230的数据RAM被访问)。如果检测到未命中或者缺少匹配,那么控制器220可上电并且启用标签RAM 210,并从标签RAM 210获得所要求的标签。因此,这呈现了被配置为存储与第二存储布置(例如,标签RAM 210)中的一个或多个近期访问的数据项相关的信息的第一存储布置(例如,存储设备200)的示例;并且参考地址是在第一存储布置中保持有信息的数据项中的一个数据项的存储器地址。例如,测试地址可以是当前要求的数据项的地址。在这些方面,控制器220提供了被配置为依据是否在参考存储器地址和测试地址之间检测到匹配来选择性地使能或禁止到第二存储布置(例如,标签RAM)的访问的控制电路的示例,例如,控制电路被配置为在参考存储器地址和测试地址之间检测到匹配时禁止到第二存储布置的访问。
一般地说,控制器220提供了被配置为依据当检测器检测到匹配时的参考存储器地址来控制数据存储装置的操作的控制电路的示例。
检测器240处置此检测并且用作被配置为检测多位的参考存储器地址和测试地址之间的匹配的检测电路,测试地址是多位的基地址和多位的地址偏移的组合。检测器240对基地址和偏移地址做出响应,该基地址和偏移地址例如是从如参考图1和图2所述的指令的执行中接收到的或者由指令的执行规定。检测器240将诸如基地址和偏移地址的加法组合之类的组合与表示在存储设备200中存储有信息的存储器地址的一个或多个参考地址进行比较。
在本文的示例中,检测器240提供了关于基地址和偏移地址的和是否与存储设备200提供的参考地址中的一个参考地址相同的早期“推测性”结果。推测性结果是按如下方式推导出来的:在许多或者甚至大多数实例中,它被预期是正确的。然而,在实例的子集中,该推测性结果可能不正确。为此,检测器240被配置为提供中止信号250,该中止信号250可在对缓存存储器的访问期间以与针对任何其它原因(例如,地址转换错误、未在缓存存储器中找到项等等)生成的错误信号相同的方式被提供给请求来自缓存存储器的信息的设备。
在示例实施例中,标签RAM未被上电并且缓存存储器依靠存储设备200中存储的标签来允许保持有缓存条目230的正确数据RAM被访问。假使检测器240获得伪命中,那么错误的数据RAM(或者数据RAM的错误组(bank)或分区)将会被访问。因此在一些示例中,中止信号250指示检测器240的推测性检测是不正确的并且访问应当被简单地中止并且作为访问的另一实例进行重试。这提供了被配置为响应于中止指示而取消由数据存储访问进行的数据访问的控制器的示例。
在其它示例中,中止信号(简单地指示推测性结果实际是错的)可被用于使得缓存存储器对标签RAM进行上电(相反,如果推测性结果是正确的,它们将不会被上电)。所以在这些示例中,当中止信号被断言时,访问仍然继续进行,但是以不同的形式继续进行。在此上下文中,中止信号因此并非必须指示整个访问应当被中止,而是指示:基于(现在被发现是不正确的)推测性结果而原始发起的访问不应当按照原始发起的那样继续进行,但应当以不同的形式(可能更慢和/或更加费电)继续进行。这提供了被配置为响应于中止指示而改变数据存储装置针对数据访问的操作模式的控制器的示例。
推测性检测具有比完全检测更快的潜在优点。因此,推测性检测可被快速地执行,并且中止信号的生成可花费更长时间,从而使得中止信号仅需要被适时提供以取消对缓存存储器的访问。
在其它示例中,中止信号250不由检测器240生成,而是替代地由控制器220提供,该控制器220咨询标签RAM 210以检查由存储设备200提供的结果(基于来自检测器240的快速获得的推测性结果)确实是不正确的。如果不正确,那么访问可被中止或者它可以被继续但是以不同的形式继续,如上文所述。尽管这意味着即使在推测性结果由检测器240获得时对标签RAM 210上电,它保留了在可用的时候通过使用推测性结果带来的潜在速度提升的优点。
如果由检测器240进行的检测一直是正确的,那么对于具有在存储设备200中存储有标签的任何项,控制器220将取回此标签、访问数据RAM 230、并且不启用标签RAM 210。对于被正确检测到在存储设备200中没有存储标签的任何项,控制器220将启用并访问标签RAM 210以获得标签,并使用此标签来访问数据RAM 230。然而,如果检测器240的推测性检测值是错误的并且检测到伪未命中(从而,即使所要求的地址在存储设备200中存储有标签,但这个事实未被检测器240检测到),那么系统仍然正确地操作,因为控制器220从标签RAM 210而非从存储设备200获得标签。所以,伪未命中仍然提供了正确的功能性,只是具有轻微的功率代价。然而,如果检测器240检测到伪命中,这将不会提供所要求的结果,因为控制器220将尝试从存储设备200获得标签但是该标签将不存在。所以,在示例实施例中,检测器240可被允许生成伪未命中结果但不被允许生成伪命中结果。检测器240的示例将在下文参考图4进行描述。
图3的缓存存储器的最后一方面是:响应于对缓存存储器的访问,控制器220在近期访问项的存储设备200中存储与此访问相关的标签信息,置换存储设备200中近期最少使用的条目。
图4示意性示出了被配置为检测多位的参考存储器地址和测试地址之间的匹配的检测电路的示例,测试地址是多位的基地址和多位的地址偏移的组合。注意,为了简化图示,示出了可应用于一个这样的参考地址的处理。如果(例如,由存储设备200)提供了与不止一个参考地址的比较,那么可提供图4的电路的至少部分的多个实例。
图4的检测电路被布置为提供两个输出:命中(或者匹配)输出300和如上所述的中止输出250。命中输出被提供给图3的控制器220从而指示:至少在推测性的基础上,已经在与存储设备200中存储的多个项中的一项相对应的参考地址与基地址和偏移地址的总和之间检测到匹配。中止输出250被例如更晚地(例如,在时钟信号的一个周期以后)被提供以指示推测性命中实际上是不正确的。
检测电路包括比较器,比较器在此示例中被形成为两个比较器电路310和320,该比较器被配置为:作为(由电路320进行的)第一比较,把参考存储器地址的多个位中的第一子集(例如,一些而不是所有的位)与基地址的多个位中的对应第一子集和地址偏移的多个位中的相应第一子集的组合进行比较。在所示示例中,参考地址的第一子集包括参考地址的位6、…、15。基地址的对应子集(位6、…、15)340与偏移地址的对应子集(位6、…、15)350相加并且与参考地址的第一子集360相比较。如果由电路320检测到匹配,那么第一匹配信号325被提供至AND(与)门370。
分离地,电路310提供参考地址的剩余的更高有效位(位16、…、48)与基地址的对应位(16、…、48)的比较,来提供被供应至AND门370的第二匹配信号400。
在这些示例中,第一匹配信号325和第二匹配信号400自身不是推测性的,但是在当前布置中它们的组合可能出现涉及参考地址是否与基地址和偏移地址的组合相同的推测性结果。
这里,在诸如具有相同数量的位的存储器地址之类的多位变量的上下文中,术语“对应”指示多位变量中的相同位位置。还可以设想到,多位变量可具有不同数量的位。在这样的上下文中,术语“对应”可被理解为指示多位变量中的相同位位置,如果这样的位位置存在的话。
这两个比较操作提供了以下比较器的操作的示例:该比较器被配置为作为第一比较,把参考存储器地址的多个位中的第一子集(例如,一些而不是所有的位)与基地址的多个位中的对应第一子集和地址偏移的多个位中的相应第一子集的组合进行比较;比较器被配置为作为第二比较,把参考存储器地址的多个位中的第二不同子集与基地址的多个位中的对应第二子集进行比较。
因此,如上所述,关于以下各项的第一匹配信号和第二匹配信号被生成:多个位中的第一子集包括较低有效位的连续集合;并且多个位中的第二子集包括比第一子集中的那些位更高的所有剩余位。
如果被供应至AND门370的第一和第二信号400二者均指示相应的匹配,则AND门断言命中输出300,因而提供了当第一比较和第二比较二者均检测到相应匹配时被配置为检测参考存储器地址和测试地址(在此示例中,被形成为基地址和偏移地址的组合)之间的匹配的检测器的示例。
因此,目前描述的图4的电路通过以下方式提供推测性匹配的指示:执行基地址、偏移地址和参考地址的更低或更弱有效位的子集的全加法-比较,并提供参考地址的更高有效位与基地址的对应更高有效位的简单比较。
在许多实例中,以这种方式检测到的推测性命中或匹配将是正确的,这是鉴于偏移地址在实际实现中经常是零或者接近于零,所以偏移地址和基地址的组合常常不会影响到基地址的更高或更强有效位。在伪命中不是由输出300控制的控制电路的功能性问题的示例情形中,目前描述的图4的电路是足够的。然而,在诸如图3的缓存路跟踪器布置之类的示例中,装置可初始基于推测性命中检测进行执行,但是也使用了诸如信号250之类的中止信号从而在推测性命中稍后被发现不正确时取消存储器访问事务。
中止信号250的生成可花费比推测性命中信号的生成更长的时间,并且在当前示例中中止信号是在输出触发器410的控制下晚于一个时钟周期被供应至存储器访问事务,或者大约比提供命中信号300晚一时钟周期。
中止信号被生成如下:在由电路320执行的加法-比较中,进位输出值420被生成,该进位输出值指示由电路320执行的组合操作中的算术进位输出。另一比较器430将进位输出值与偏移地址的第二子集(位16、…、48)进行比较,尽管在其它示例中可使用比整个第二子集中的位更少的位(例如,偏移部分440的一个或多个较低有效位)。
如果比较器430检测到进位输出位与偏移的部分440相同,那么这可以指示推测性检测是正确的并且中止信号不被断言。然而,如果比较器430检测到进位输出位420和偏移的部分440之间缺少匹配,那么比较器430的输出450与命中信号300相组合以生成中止信号250,该中止信号如上所述在下一时钟周期处由触发器410输出。通过AND门450与命中信号的组合提供了以下特性:如果命中信号自身尚未被断言,则中止信号不被生成。
电路提供了中止检测器的示例,该中止检测器被配置为当预定条件适用于地址偏移的第二子集中的一个或多个位时,向控制电路提供中止指示。例如,在组合是加法的实例中,中止检测器可被配置为:当来自加法的进位量不同于地址偏移的第二子集中的一个或多个位的群组时,向控制电路提供中止指示。
在一些实施例中,参考存储器地址、基地址、和地址偏移各自包括相同数量的位,例如48位。在使用的布置中,有可能最低有效位的群组(例如,位0、…、5)未被用于参考地址和测试地址的比较,因为那些位实际上提供到单个存储区域中的一组多个(例如,32个)条目(例如,缓存行保持有多个分离寻址的数据项)的索引。
图5是示出参考图3和图4描述的缓存存储器类型的操作的示意流程图。
在步骤500处,推测性命中被检测到并且命中信号300被断言。检测中止信号250的处理始于步骤510。注意,步骤510可在步骤500的终止之前开始,但是在当前示例中步骤510在步骤500的结束之后一些时间完成。
响应于检测到命中,控制器220(在步骤520处)执行存储设备200的推测性读取并且使用从存储设备200获得的信息执行对数据RAM 230的推测性读取。在这些情况中,控制器220并不启用标签RAM 210。此过程可被来自步骤510的中止信号250中止,但是若未被中止则在步骤530处生成输出(例如,数据RAM中的地址或者数据RAM中存储的信息的内容)。
目前描述的示例涉及缓存存储器。图6和图7提供了可使用本技术的其它示例。
图6示意性示出了在虚拟存储器系统中用于存储并且在需要时提供虚拟存储器地址和物理存储器地址之间的存储器转换的旁路转换缓冲器。为了实现这一点,旁路转换缓冲器(TLB)在缓冲器600中存储存储器地址转换。如果特定要求的虚拟存储器地址未被(作为转换)存储在缓冲器600中,那么TLB参考地址转换器610以获得此转换并然后把它存储在缓冲器600中。否则,如果要求的转换被存储在缓冲器600中,它被简单地作为输出转换620进行输出。这些操作由控制电路605监督,控制电路605被配置为当检测器检测到匹配时依据参考存储器地址控制数据存储装置的操作。
检测器630接收基虚拟存储器地址和偏移虚拟存储器地址并且如上文所述的那样操作以把基地址和偏移地址的组合与指示缓冲器600中存储的转换的参考存储器地址相比较。这允许对缓冲器600的推测性访问被快速地发起。然而,如果中止信号250被检测器630断言,则推测性访问被中止并且由缓冲器600参考地址转换器610以获得要求的转换。
图7是示出分区式存储器设备的另一示例。这里,基存储器地址和偏移存储器地址被提供至检测器700,该检测器700检测基地址和偏移地址与指示数据存储设备的多个分区710中的存储器位置的参考地址之间的可能匹配。在此示例中,不需要中止电路。对于针对其检测到命中的任何(一个或多个)分区,此分区被上电并且被访问。因此,在此示例中,伪命中不一定是问题,但是图4的电路的其它优点(特别是推测性命中信号的更快生成)能够提供对存储设备的多个分区的更快访问。这些操作由控制电路705监督,控制电路705被配置为当检测器检测到匹配时依据参考存储器地址控制数据存储装置的操作。
图8是示出数据存储操作的方法的示意流程图,该方法包括检测多位的参考存储器地址和测试地址之间的匹配,测试地址是多位的基地址和多位的地址偏移的组合,该检测包括:
(在步骤800处)作为第一比较,把参考存储器地址的多个位中的第一子集(例如,一些而不是所有的位)与基地址的多个位中的对应第一子集和地址偏移的多个位中的相应第一子集的组合进行比较;以及作为第二比较,把参考存储器地址的多个位中的第二不同子集(例如,一些而不是所有的位)与基地址的多个位中的对应第二子集进行比较;
(在步骤810处)当第一比较和第二比较二者均检测到相应的匹配时,检测参考存储器地址和测试地址之间的匹配;以及
(在步骤820处)当检测到匹配时,依据参考存储器地址控制数据存储装置的操作。
在本申请中,词语“被配置为…”被用于表示装置中的元件具有能够执行定义的操作的配置。在此上下文中,“配置”意味着硬件或软件的互连的布置或方式。例如,装置可具有提供所定义的操作的专用硬件,或者处理器或其它处理设备可被编程以执行功能。“被配置为”并不暗示装置元件需要以任何方式被改变从而提供所定义的操作。
尽管本文已参照附图详细描述本技术的说明性实施例,但要理解,本技术不限于那些精确实施例,且本领域技术人员可在不脱离由所附权利要求定义的技术的范围和精神的情况下实行各种变化、添加及修改。举例而言,可在不脱离本技术的范畴的情况下利用独立权利要求的特征进行从属权利要求的特征的各种组合。
Claims (12)
1.一种数据存储装置,包括:
检测电路,用于检测多位的参考存储器地址和测试地址之间的匹配,所述测试地址是多位的基地址和多位的地址偏移的组合,所述检测电路包括:
比较器,用于作为第一比较,将所述参考存储器地址的多个位中的第一子集与所述基地址的多个位中的对应第一子集和所述地址偏移的多个位中的对应第一子集的组合进行比较;所述比较器被配置为作为第二比较,将所述参考存储器地址的多个位中的第二不同子集与所述基地址的多个位中的对应第二子集进行比较;
检测器,用于当所述第一比较和所述第二比较二者均检测到相应的匹配时对所述参考存储器地址与所述测试地址之间的匹配进行检测;
控制电路,用于当匹配被所述检测器检测到时,依据所述参考存储器地址控制所述数据存储装置的操作;以及
中止检测器,用于当预定条件适用于所述地址偏移的第二子集的一个或多个位时,向所述控制电路提供中止指示。
2.如权利要求1所述的装置,其中:
所述多个位中的第一子集包括更低有效位的连续集合;并且
所述多个位中的第二子集包括比所述第一子集中的那些位更高的所有剩余位。
3.如权利要求1所述的装置,其中,所述控制电路被配置为:响应于所述中止指示,取消由所述数据存储访问进行的数据访问。
4.如权利要求1所述的装置,其中,所述控制电路被配置为:响应于所述中止指示,改变由所述数据存储装置用于数据访问的操作的模式。
5.如权利要求1所述的装置,其中,所述组合是加法。
6.如权利要求5所述的装置,其中,所述中止检测器被配置为:当来自所述加法的进位量不同于所述地址偏移的第二子集中的一个或多个位的群组时,向所述控制电路提供所述中止指示。
7.如权利要求1所述的装置,包括第一存储布置,用于存储与第二存储布置中的一个或多个近期访问的数据项相关的信息;并且其中:
所述参考地址是在所述第一存储布置中保持有信息的数据项中的一个数据项的存储器地址;并且
所述测试地址是当前要求的数据项的地址。
8.如权利要求7所述的装置,其中,所述控制电路被配置为:依据所述参考存储器地址与所述测试地址之间的匹配是否被检测到,选择性地启用或禁止对所述第二存储布置的访问。
9.如权利要求8所述的装置,其中,所述控制电路被配置为:当所述参考存储器地址与所述测试地址之间的匹配被检测到时,禁止对所述第二存储布置的访问。
10.如权利要求1所述的装置,其中,所述参考存储器地址、所述基地址、和所述地址偏移各自具有相同数量的位。
11.一种数据存储装置,包括:
用于检测多位的参考存储器地址和测试地址之间的匹配的检测装置,所述测试地址是多位的基地址和多位的地址偏移的组合,所述检测装置被配置为:
用于作为第一比较将所述参考存储器地址的多个位中的第一子集与所述基地址的多个位中的对应第一子集和所述地址偏移的多个位中的对应第一子集的组合进行比较的装置;
用于作为第二比较将所述参考存储器地址的多个位中的第二不同子集与所述基地址的多个位中的对应第二子集进行比较的装置;
用于当所述第一比较和所述第二比较二者均检测到相应的匹配时对所述参考存储器地址与所述测试地址之间的匹配进行检测的装置;
用于当匹配被检测到时依据所述参考存储器地址控制所述数据存储装置的操作的装置;以及
用于当预定条件适用于所述地址偏移的第二子集的一个或多个位时向用于所述控制的装置提供中止指示的中止检测装置。
12.一种数据存储操作的方法,所述方法包括:
检测多位的参考存储器地址和测试地址之间的匹配,所述测试地址是多位的基地址和多位的地址偏移的组合,所述检测步骤包括:
作为第一比较,将所述参考存储器地址的多个位中的第一子集与所述基地址的多个位中的对应第一子集和所述地址偏移的多个位中的对应第一子集的组合进行比较;
作为第二比较,将所述参考存储器地址的多个位中的第二不同子集与所述基地址的多个位中的对应第二子集进行比较;
当所述第一比较和所述第二比较二者均检测到相应的匹配时对所述参考存储器地址与所述测试地址之间的匹配进行检测;
当匹配被检测到时,依据所述参考存储器地址控制所述数据存储装置的操作;以及
当预定条件适用于所述地址偏移的第二子集的一个或多个位时,提供中止指示。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1603295.5A GB2547893B (en) | 2016-02-25 | 2016-02-25 | Combining part of an offset with a corresponding part of a base address and comparing with a reference address |
GB1603295.5 | 2016-02-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107122128A CN107122128A (zh) | 2017-09-01 |
CN107122128B true CN107122128B (zh) | 2022-01-07 |
Family
ID=55806931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710106348.2A Active CN107122128B (zh) | 2016-02-25 | 2017-02-24 | 数据存储 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10310735B2 (zh) |
KR (1) | KR20170100448A (zh) |
CN (1) | CN107122128B (zh) |
GB (1) | GB2547893B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200055267A (ko) * | 2018-11-13 | 2020-05-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 테스트 시스템 |
CN110703998B (zh) * | 2019-09-29 | 2021-11-09 | 百度在线网络技术(北京)有限公司 | 存储器的控制方法、控制器、芯片及电子设备 |
IT202000016441A1 (it) * | 2020-07-07 | 2022-01-07 | Sk Hynix Inc | Comparatore di risorse di ridondanza per una architettura di bus, architettura di bus per un dispositivo di memoria che implementa un metodo migliorato di confronto e corrispondente metodo di confronto |
CN117217977B (zh) * | 2023-05-26 | 2024-07-19 | 摩尔线程智能科技(北京)有限责任公司 | Gpu的数据访问处理方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953748A (en) * | 1994-01-28 | 1999-09-14 | Wuantum Effect Design, Inc. | Processor with an efficient translation lookaside buffer which uses previous address computation results |
CN1459058A (zh) * | 2001-03-13 | 2003-11-26 | 皇家菲利浦电子有限公司 | 基于指令基址寄存器的高速缓存路线预测 |
US6813699B1 (en) * | 1995-06-02 | 2004-11-02 | Transmeta Corporation | Speculative address translation for processor using segmentation and optional paging |
CN101523359A (zh) * | 2006-08-18 | 2009-09-02 | Mips技术公司 | 具有减小数据高速缓存访问功率的微标签阵列的处理器及其应用 |
CN102841865A (zh) * | 2011-06-24 | 2012-12-26 | 上海芯豪微电子有限公司 | 高性能缓存系统和方法 |
CN104408163A (zh) * | 2014-12-05 | 2015-03-11 | 浪潮(北京)电子信息产业有限公司 | 一种数据分级存储方法和装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06231047A (ja) * | 1993-02-05 | 1994-08-19 | Fujitsu Ltd | アドレス変換方法および装置 |
US5555395A (en) * | 1993-05-28 | 1996-09-10 | Dell U.S.A. L.P. | System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table |
US5878245A (en) * | 1993-10-29 | 1999-03-02 | Advanced Micro Devices, Inc. | High performance load/store functional unit and data cache |
US5895503A (en) * | 1995-06-02 | 1999-04-20 | Belgard; Richard A. | Address translation method and mechanism using physical address information including during a segmentation process |
US5987584A (en) * | 1996-09-17 | 1999-11-16 | Vlsi Technology, Inc. | Wavetable address cache to reduce accesses over a PCI bus |
US6047365A (en) * | 1996-09-17 | 2000-04-04 | Vlsi Technology, Inc. | Multiple entry wavetable address cache to reduce accesses over a PCI bus |
US6189074B1 (en) * | 1997-03-19 | 2001-02-13 | Advanced Micro Devices, Inc. | Mechanism for storing system level attributes in a translation lookaside buffer |
GB0407384D0 (en) * | 2004-03-31 | 2004-05-05 | Ignios Ltd | Resource management in a multicore processor |
US7650465B2 (en) * | 2006-08-18 | 2010-01-19 | Mips Technologies, Inc. | Micro tag array having way selection bits for reducing data cache access power |
US8180995B2 (en) * | 2009-01-21 | 2012-05-15 | Micron Technology, Inc. | Logical address offset in response to detecting a memory formatting operation |
US8635431B2 (en) * | 2010-12-08 | 2014-01-21 | International Business Machines Corporation | Vector gather buffer for multiple address vector loads |
US9367475B2 (en) * | 2012-04-05 | 2016-06-14 | Freescale Semiconductor, Inc. | System and method for cache access |
US20160217079A1 (en) * | 2013-02-08 | 2016-07-28 | Shanghai Xinhao Microelectronics Co., Ltd. | High-Performance Instruction Cache System and Method |
US9239801B2 (en) * | 2013-06-05 | 2016-01-19 | Intel Corporation | Systems and methods for preventing unauthorized stack pivoting |
US9460016B2 (en) * | 2014-06-16 | 2016-10-04 | Analog Devices Global Hamilton | Cache way prediction |
US9934150B1 (en) * | 2015-10-21 | 2018-04-03 | Marvell International Ltd. | Data caching circuit and method |
-
2016
- 2016-02-25 GB GB1603295.5A patent/GB2547893B/en active Active
-
2017
- 2017-02-23 US US15/440,254 patent/US10310735B2/en active Active
- 2017-02-24 CN CN201710106348.2A patent/CN107122128B/zh active Active
- 2017-02-24 KR KR1020170024646A patent/KR20170100448A/ko active Search and Examination
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953748A (en) * | 1994-01-28 | 1999-09-14 | Wuantum Effect Design, Inc. | Processor with an efficient translation lookaside buffer which uses previous address computation results |
US6813699B1 (en) * | 1995-06-02 | 2004-11-02 | Transmeta Corporation | Speculative address translation for processor using segmentation and optional paging |
CN1459058A (zh) * | 2001-03-13 | 2003-11-26 | 皇家菲利浦电子有限公司 | 基于指令基址寄存器的高速缓存路线预测 |
CN101523359A (zh) * | 2006-08-18 | 2009-09-02 | Mips技术公司 | 具有减小数据高速缓存访问功率的微标签阵列的处理器及其应用 |
CN102841865A (zh) * | 2011-06-24 | 2012-12-26 | 上海芯豪微电子有限公司 | 高性能缓存系统和方法 |
CN104408163A (zh) * | 2014-12-05 | 2015-03-11 | 浪潮(北京)电子信息产业有限公司 | 一种数据分级存储方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US10310735B2 (en) | 2019-06-04 |
GB2547893B (en) | 2018-06-06 |
US20170249085A1 (en) | 2017-08-31 |
GB2547893A (en) | 2017-09-06 |
KR20170100448A (ko) | 2017-09-04 |
GB201603295D0 (en) | 2016-04-13 |
CN107122128A (zh) | 2017-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3238074B1 (en) | Cache accessed using virtual addresses | |
US6581151B2 (en) | Apparatus and method for speculatively forwarding storehit data based on physical page index compare | |
US5509119A (en) | Fast comparison method and apparatus for error corrected cache tags | |
US5392410A (en) | History table for prediction of virtual address translation for cache access | |
US6687789B1 (en) | Cache which provides partial tags from non-predicted ways to direct search if way prediction misses | |
US8156309B2 (en) | Translation look-aside buffer with variable page sizes | |
CN107122128B (zh) | 数据存储 | |
US10083126B2 (en) | Apparatus and method for avoiding conflicting entries in a storage structure | |
US8296518B2 (en) | Arithmetic processing apparatus and method | |
CN105446900A (zh) | 处理器和区分系统管理模式条目的方法 | |
US10545879B2 (en) | Apparatus and method for handling access requests | |
JPH07281895A (ja) | 分岐キャッシュ | |
US4831622A (en) | Apparatus for forcing a reload from main memory upon cache memory error | |
EP3454219A1 (en) | An apparatus and method for efficient utilisation of an address translation cache | |
CN111367831B (zh) | 翻译页表的深度预取方法、部件、微处理器及计算机设备 | |
US6901540B1 (en) | TLB parity error recovery | |
CN108959125B (zh) | 一种支持数据快速获取的存储访问方法和装置 | |
US11138128B2 (en) | Controlling guard tag checking in memory accesses | |
US8595465B1 (en) | Virtual address to physical address translation using prediction logic | |
EP3671460A1 (en) | Device, system and method to detect an uninitialized memory read | |
CN117063155A (zh) | 检测卸载操作中的执行风险 | |
CN111651379A (zh) | Dax设备地址转换缓存方法及系统 | |
CN111566628A (zh) | 控制存储器访问中的守护标签检查 | |
JPH07248919A (ja) | データ処理装置 | |
JP2001195390A (ja) | ベクトル処理装置のオペランドキャッシュ |
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 |