CN112256600A - 数据读取方法及相关装置 - Google Patents

数据读取方法及相关装置 Download PDF

Info

Publication number
CN112256600A
CN112256600A CN202011139226.1A CN202011139226A CN112256600A CN 112256600 A CN112256600 A CN 112256600A CN 202011139226 A CN202011139226 A CN 202011139226A CN 112256600 A CN112256600 A CN 112256600A
Authority
CN
China
Prior art keywords
cache
data
read
reading
memory address
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.)
Granted
Application number
CN202011139226.1A
Other languages
English (en)
Other versions
CN112256600B (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.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
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 Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202011139226.1A priority Critical patent/CN112256600B/zh
Publication of CN112256600A publication Critical patent/CN112256600A/zh
Application granted granted Critical
Publication of CN112256600B publication Critical patent/CN112256600B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明实施例提供了一种数据读取方法及相关装置,所述数据读取方法包括:接收待读取数据的读取请求;根据所述内存地址查找所述待读取数据,当所述读取请求的权限满足预设读取权限要求时,将所述第二缓存中的所述待读取数据调取至所述第一缓存,当所述读取权限不满足预设读取权限要求时,清空存储有待存储数据的所述第二缓存;其中,所述第一缓存与所述第二缓存为相互物理独立的缓存,且所述第一缓存中的存储数据全部调取自所述第二缓存,本发明实施例所提供的数据读取方法可以保证所述第一缓存中的数据不会受到读取权限不满足预设读取权限要求的指令的影响,从而提高了带有预测执行机制的计算机系统的安全性。

Description

数据读取方法及相关装置
技术领域
本发明实施例涉及计算机系统领域,尤其涉及一种数据读取方法及相关装置。
背景技术
现有计算机系统为了加快指令处理的速度,常用的一种方法是预测执行。
预测执行是指执行带有判断条件的分支指令时,先对判断条件进行预测,预测出即将执行的指令并预先执行;当已经执行的指令是应当执行的指令时,直接返回结果;当已经执行的指令不是应当执行的指令时,则取消已经执行的指令,按照常规流程处理。
虽然预测执行可以加快指令处理的速度,被取消掉的指令也不会被提交,但是被取消掉的指令,会在缓存等其他结构上会留下影响。这些影响容易被攻击者利用,从而导致数据泄露等严重后果。
所以,如何提高带有预测执行机制的计算机系统的安全性,就成为本领域技术人员急需解决的技术问题。
发明内容
本发明实施例解决的技术问题是如何提高带有预测执行机制的计算机系统的安全性。
为解决上述问题,本发明实施例提供了一种数据读取方法,包括:
接收待读取数据的读取请求,所述读取请求包括所述待读取数据的内存地址;
根据所述内存地址查找所述待读取数据,当第一缓存中未存储所述待读取数据时,确定第二缓存中存储有所述待读取数据或将所述待读取数据调取至所述第二缓存,当所述读取请求的权限满足预设读取权限要求时,将所述第二缓存中的所述待读取数据调取至所述第一缓存,当所述读取权限不满足预设读取权限要求时,清空存储有待存储数据的所述第二缓存;其中,所述第一缓存与所述第二缓存为相互物理独立的缓存,且所述第一缓存中的存储数据全部调取自所述第二缓存。
可选地,所述根据所述内存地址查找所述待读取数据的步骤包括:
根据所述内存地址在缓存中查找所述待读取数据;
当所述缓存中未存储所述待读取数据时,根据所述内存地址在内存中查找所述待读取数据。
可选地,所述第一缓存包括至少两级第一缓存;所述第二缓存包括至少两级第二缓存;
所述根据所述内存地址在所述第一缓存和所述第二缓存中查找所述待读取数据的步骤包括:
根据所述内存地址在一级第一缓存中查找所述待读取数据;
如果未能在该级第一缓存中查找到所述待读取数据,根据所述内存地址在同级第二缓存中查找所述待读取数据;
如果未能在该级第二缓存中查找到所述待读取数据,根据所述内存地址在下一级第一缓存中查找所述待读取数据。
可选地,所述第一缓存与所述第二缓存级数相等;
所述将所述第二缓存中的所述待读取数据调取至所述第一缓存的步骤包括:
将所述第二缓存中的所述待读取数据调取至同级的所述第一缓存。
可选地,所述根据所述内存地址在所述第一缓存和所述第二缓存中查找所述待读取数据的步骤包括:
根据所述内存地址在所述第一缓存中查找所述待读取数据;
如果未能在所述第一缓存中查找到所述待读取数据,根据所述内存地址在所述第二缓存中查找所述待读取数据。
可选地,所述第一缓存包括至少两级第一缓存;
所述根据所述内存地址在所述第一缓存中查找所述待读取数据的步骤包括:
根据所述内存地址在一级第一缓存中查找所述待读取数据;
如果未能在该级第一缓存中查找到所述待读取数据,根据所述内存地址在下一级第一缓存中查找所述待读取数据。
可选地,所述第二缓存包括至少两级第二缓存;
所述根据所述内存地址在所述第二缓存中查找所述待读取数据的步骤包括:
根据所述内存地址在一级第二缓存中查找所述待读取数据;
如果未能在该级第二缓存中查找到所述待读取数据,根据所述内存地址在下一级第二缓存中查找所述待读取数据。
可选地,所述第一缓存与所述第二缓存级数相等;
所述将所述第二缓存中的所述待读取数据调取至所述第一缓存的步骤包括:
将所述第二缓存中的所述待读取数据调取至同级的所述第一缓存。
可选地,还包括:
当所述第一缓存中存储有所述待读取数据且所述读取权限满足预设读取权限要求时,返回所述数据。
本发明实施例还提供了一种数据读取装置,包括:
接收请求单元,所述接收请求单元适于接收待读取数据的读取请求,所述读取请求包括所述待读取数据的内存地址;
缓存;所述缓存包括第一缓存和第二缓存;所述第一缓存与所述第二缓存为相互物理独立的缓存,且所述第一缓存中的存储数据全部调取自所述第二缓存;
查找读取单元;所述查找读取单元适于根据所述内存地址查找所述待读取数据,当第一缓存中未存储所述待读取数据时,确定第二缓存中存储有所述待读取数据或将所述待读取数据调取至所述第二缓存,当所述读取请求的权限满足预设读取权限要求时,将所述第二缓存中的所述待读取数据调取至所述第一缓存,当所述读取权限不满足预设读取权限要求时,清空存储有待存储数据的所述第二缓存。
可选地,所述查找读取单元适于:
根据所述内存地址在所述缓存中查找所述待读取数据;
当所述缓存中未存储所述待读取数据时,根据所述内存地址在内存中查找所述待读取数据。
可选地,所述第一缓存包括至少两级第一缓存;所述第二缓存包括至少两级第二缓存;
所述查找读取单元适于:
根据所述内存地址在一级第一缓存中查找所述待读取数据;
如果未能在该级第一缓存中查找到所述待读取数据,根据所述内存地址在同级第二缓存中查找所述待读取数据;
如果未能在该级第二缓存中查找到所述待读取数据,根据所述内存地址在下一级第一缓存中查找所述待读取数据。
可选地,所述第一缓存与所述第二缓存级数相等;
所述查找读取单元适于将所述第二缓存中的所述待读取数据调取至同级的所述第一缓存。
可选地,其特征在于,
所述查找读取单元适于:
根据所述内存地址在所述第一缓存中查找所述待读取数据;
如果未能在所述第一缓存中查找到所述待读取数据,根据所述内存地址在所述第二缓存中查找所述待读取数据。
可选地,所述第一缓存包括至少两级第一缓存;
所述查找读取单元适于:
根据所述内存地址在一级第一缓存中查找所述待读取数据;
如果未能在该级第一缓存中查找到所述待读取数据,根据所述内存地址在下一级第一缓存中查找所述待读取数据。
可选地,所述第二缓存包括至少两级第二缓存;
所述查找读取单元适于:
根据所述内存地址在一级第二缓存中查找所述待读取数据;
如果未能在该级第二缓存中查找到所述待读取数据,根据所述内存地址在下一级第二缓存中查找所述待读取数据。
可选地,所述第一缓存与所述第二缓存级数相等;
所述查找读取单元适于:
将所述第二缓存中的所述待读取数据调取至同级的所述第一缓存。
可选地,所述查找读取单元还适于:
当所述第一缓存中存储有所述待读取数据且所述读取权限满足预设读取权限要求时,返回所述数据。
本发明实施例还提供了一种处理器芯片,包括所述数据读取装置。
本发明实施例还提供了一种电子设备,包括所述处理器芯片。
与现有技术相比,本发明实施例的技术方案具有如下优点:
本发明实施例提供了一种数据读取方法,包括:
接收待读取数据的读取请求,所述读取请求包括所述待读取数据的内存地址;
根据所述内存地址查找所述待读取数据,当第一缓存中未存储所述待读取数据时,确定第二缓存中存储有所述待读取数据或将所述待读取数据调取至所述第二缓存,当所述读取请求的权限满足预设读取权限要求时,将所述第二缓存中的所述待读取数据调取至所述第一缓存,当所述读取权限不满足预设读取权限要求时,清空存储有待存储数据的所述第二缓存;其中,所述第一缓存与所述第二缓存为相互物理独立的缓存,且所述第一缓存中的存储数据全部调取自所述第二缓存。
本发明实施例所提供的数据读取方法,既能在所述读取权限不满足预设读取权限要求时,通过清空存储有待存储数据的所述第二缓存,从而消除不满足预设读取权限要求的读取请求对缓存的影响;由于从所述第一缓存中读取的数据全部调取自所述第二缓存,而且是在所述读取请求的权限满足预设读取权限要求时,才将所述第二缓存中的所述待读取数据调取至所述第一缓存,也能保证所述第一缓存中的数据不会受到读取权限不满足预设读取权限要求的指令的影响;从而提高了带有预测执行机制的计算机系统的安全性。而且所述第一缓存与第二缓存相互之间物理独立,可以有效地减少缓存行中的不必要的字段以缩减所需存储空间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的数据读取方法的流程示意图;
图2为本发明实施例所提供的数据读取方法步骤S2的一种流程示意图;
图3为本发明实施例所提供的数据读取方法步骤S2的又一种流程示意图;
图4为本发明实施例所提供的数据读取方法步骤S3的流程示意图;
图5为本发明实施例所提供的数据读取方法步骤S4的流程示意图;
图6为本发明实施例所提供的数据读取装置的结构示意图;
图7为本发明实施例所提供的又一数据读取装置的结构示意图。
具体实施方式
由背景技术可知,现有的带有预测执行机制的计算机系统安全性较低。
主要是因为在现有的预测执行机制中,被取消掉的指令虽然不会被提交。但是也会被执行,在执行的过程中,通过访问其他数据,会在缓存等其他结构上会相应的记录。这些记录容易被攻击者利用,从而导致数据泄露等严重后果。
所以,为了提高带有预测执行机制的计算机系统的安全性,本发明实施例提供了一种数据读取方法,包括:
接收待读取数据的读取请求,所述读取请求包括所述待读取数据的内存地址;
根据所述内存地址查找所述待读取数据,当第一缓存中未存储所述待读取数据时,确定第二缓存中存储有所述待读取数据或将所述待读取数据调取至所述第二缓存,当所述读取请求的权限满足预设读取权限要求时,将所述第二缓存中的所述待读取数据调取至所述第一缓存,当所述读取权限不满足预设读取权限要求时,清空存储有待存储数据的所述第二缓存;其中,所述第一缓存与所述第二缓存为相互物理独立的缓存,且所述第一缓存中的存储数据全部调取自所述第二缓存。
本发明实施例所提供的数据读取方法,既能在所述读取权限不满足预设读取权限要求时,通过清空存储有待存储数据的所述第二缓存,从而消除不满足预设读取权限要求的读取请求对缓存的影响;由于从所述第一缓存中读取的数据全部调取自所述第二缓存,而且是在所述读取请求的权限满足预设读取权限要求时,才将所述第二缓存中的所述待读取数据调取至所述第一缓存,也能保证所述第一缓存中的数据不会受到读取权限不满足预设读取权限要求的指令的影响;从而提高了带有预测执行机制的计算机系统的安全性。而且所述第一缓存与第二缓存相互之间物理独立,可以有效地减少缓存行中的不必要的字段以缩减所需存储空间。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的数据读取方法的流程示意图。
本发明实施例提供了一种数据读取方法,包括:
步骤S1:接收待读取数据的读取请求。
可以理解的是,所述读取请求包括所述待读取数据的内存地址。
步骤S2:根据所述内存地址查找所述待读取数据。
可以理解的是,根据所述内存地址查找所述待读取数据时,可以先在缓存中查找所述待读取数据,或者先在内存中查找所述待读取数据,对最终结果不会有影响。当然,因为缓存的访问速度远比内存快,为了提升数据的读取速度,在一种具体实施方式中,可以根据所述内存地址在缓存中查找所述待读取数据;当所述缓存中未存储所述待读取数据时,根据所述内存地址在内存中查找所述待读取数据。
由于先在缓存中查找所述待读取数据,当所述缓存中未存储所述待读取数据时,根据所述内存地址在内存中查找所述待读取数据,可以有效发挥缓存的功能,提升数据的读取速度。
当在缓存或内存中的一处查找到所述待读取数据之后,可以不必在其他存储器中查找。
所述缓存包括所述第一缓存和所述第二缓存,所述第一缓存和所述第二缓存的缓存行中,至少包括标记字段和数据字段,所述标记字段中带有该行所述数据字段的内存地址信息。所述第一缓存与所述第二缓存为相互物理独立的缓存,且所述第一缓存中的存储数据全部调取自所述第二缓存。所述第一缓存与所述第二缓存之间相互物理独立的含义为所述第一缓存与所述第二缓存不共用同一存储芯片。
在缓存中查找所述待读取数据的具体步骤中,可以先在所述第一缓存中查找所述数据,也可以先在所述第二缓存中查找所述数据;当所述第一缓存或所述第二缓存存在多级缓存时,也可以按照其他的顺序进行查找。
当所述第一缓存和所述第二缓存为两级缓存或多级缓存时,由于一级缓存的读取速度一般比二级缓存的读取速度更快,二级缓存的读取速度一般比三级缓存的读取速度更快。
而且由于当所述读取权限不满足预设读取权限要求时,存储有待存储数据的所述第二缓存会被清空,而所述第一缓存中的数据并不会被清空,所以所述第一缓存中存储的数据是一直可以充满整个第一缓存的,而所述第一缓存并不能一直存满数据,所以查找所述待读取数据,在所述第一缓存中查找比在所述第二缓存中查找可以有更高的命中率,从而也可以提升数据的读取速度。
为了进一步的提升数据的读取速度,请参考图2,图2为本发明实施例所提供的数据读取方法步骤S2的一种流程示意图,在一种具体实施方式中,所述第一缓存包括至少两级第一缓存;所述第二缓存包括至少两级第二缓存;
所述根据所述内存地址在所述第一缓存和所述第二缓存中查找所述待读取数据的步骤包括:
根据所述内存地址在一级第一缓存中查找所述待读取数据;
如果未能在该级第一缓存中查找到所述待读取数据,根据所述内存地址在同级第二缓存中查找所述待读取数据;
如果未能在该级第二缓存中查找到所述待读取数据,根据所述内存地址在下一级第一缓存中查找所述待读取数据。
可以理解的是,所述第一缓存与所述第二缓存的级数可以相等,也可以不等。当在某级所述第一缓存中没有查找到所述待读取数据且不存在同级的所述第二缓存时,可以在下一级所述第一缓存中查找所述待读取数据;当下一级所述第一缓存也不存在时,可以在内存中查找所述待读取数据。当在某级所述第二缓存中没有查找到所述待读取数据且不存在下一级的所述第一缓存时,可以在下一级所述第二缓存中查找所述待读取数据;当下一级所述第二缓存也不存在时,可以在内存中查找所述待读取数据。
由于先在读取速度最快的一级缓存中查找,再在读取速度较慢的下一级缓存中查找,可以有效的提高数据的读取速度。而且由于先在所述第一缓存中查找,再在所述第二缓存中查找,所述第一缓存相比于所述第二缓存有更高的命中率更高,从而也可以提升数据的读取速度。
所述第一缓存与所述第二缓存级数可以根据需要设置。为了便于所述数据的调取,在一种具体实施方式中,所述第一缓存与所述第二缓存级数相等;
所述将所述第二缓存中的所述待读取数据调取至所述第一缓存的步骤包括:将所述第二缓存中的所述待读取数据调取至同级的所述第一缓存。
由于所述第一缓存与所述第二缓存级数相等,当所述读取请求的权限满足预设读取权限要求时,将所述第二缓存中的所述待读取数据调取至同级的所述第一缓存,可以方便所述第一缓存与所述第二缓存的设置,也方便所述数据的调取。
当然,由于所述第一缓存与所述第二缓存物理独立,也可以先在所述第一缓存中查找所述待读取数据,再在所述第二缓存中查找所述待读取数据。
请参考图3,图3为本发明实施例所提供的数据读取方法步骤S2的又一种流程示意图,在一种具体实施方式中,所述根据所述内存地址在所述第一缓存和所述第二缓存中查找所述待读取数据的步骤包括:根据所述内存地址在所述第一缓存中查找所述待读取数据;如果未能在所述第一缓存中查找到所述待读取数据,根据所述内存地址在所述第二缓存中查找所述待读取数据。
由于当所述读取权限不满足预设读取权限要求时,存储有待存储数据的所述第二缓存会被清空,而所述第一缓存中的数据并不会被清空,所以所述第一缓存中存储的数据是一直可以充满整个第一缓存的,而所述第一缓存并不能一直存满数据,所以查找所述待读取数据,在所述第一缓存中查找比在所述第二缓存中查找可以有更高的命中率。所以先在命中率更高的所述第一缓存中查找所述待读取数据,再在所述第二缓存中查找,从而也可以提升数据的读取速度。
当在所述第一缓存查找所述待读取数据时,且所述第一缓存包括至少两级时,可以先在一级缓存中查找,再在下一级缓存中查找。所以,在一种具体实施方式中,所述第一缓存包括至少两级第一缓存;所述根据所述内存地址在所述第一缓存中查找所述待读取数据的步骤包括:根据所述内存地址在一级第一缓存中查找所述待读取数据;如果未能在该级第一缓存中查找到所述待读取数据,根据所述内存地址在下一级第一缓存中查找所述待读取数据。
由于先在读取速度最快的一级第一缓存中查找,再在读取速度较慢的下一级第二缓存中查找,可以有效的提高数据的读取速度。
类似的,当在所述第二缓存查找所述待读取数据时,且所述第二缓存包括至少两级时,可以先在一级缓存中查找,再在下一级缓存中查找。所以,在一种具体实施方式中,所述第二缓存包括至少两级第二缓存;所述根据所述内存地址在所述第二缓存中查找所述待读取数据的步骤包括:根据所述内存地址在一级第二缓存中查找所述待读取数据;如果未能在该级第二缓存中查找到所述待读取数据,根据所述内存地址在下一级第二缓存中查找所述待读取数据。
由于先在读取速度最快的一级第二缓存中查找,再在读取速度较慢的下一级第二缓存中查找,可以有效的提高数据的读取速度。
类似的,所述第一缓存与所述第二缓存级数可以根据需要设置。为了便于所述数据的调取,在一种具体实施方式中,所述第一缓存与所述第二缓存级数相等;
所述将所述第二缓存中的所述待读取数据调取至所述第一缓存的步骤包括:将所述第二缓存中的所述待读取数据调取至同级的所述第一缓存。
由于所述第一缓存与所述第二缓存级数相等,当所述读取请求的权限满足预设读取权限要求时,将所述第二缓存中的所述待读取数据调取至同级的所述第一缓存,可以方便所述第一缓存与所述第二缓存的设置,也方便所述数据的调取。
步骤S3:确定所述缓存中存储有所述待读取数据。
请参考图4,图4为本发明实施例所提供的数据读取方法步骤S3的流程示意图。
具体的,当所述第一缓存中存储所述待读取数据时,即可确定所述缓存中存储有所述待读取数据,可以进行下一步操作。
当所述第一缓存中未存储所述待读取数据时,确定第二缓存中是否存储有所述待读取数据。
当所述第二缓存中存储所述待读取数据时,即可确定所述缓存中存储有所述待读取数据,可以进行下一步操作。
当所述第二缓存中未存储所述待读取数据时,可以将所述待读取数据从内存调取至所述第二缓存,这样从而可以保证所述第二缓存中存储有所述待读取数据,然后可以进行下一步操作。
步骤S4:判断所述读取请求的权限满足预设读取权限要求是否满足要求,根据所述待读取数据的位置与所述读取请求的权限的判断结果进行处理。
请参考图5,图5为本发明实施例所提供的数据读取方法步骤S4的流程示意图。
当所述第一缓存中存储所述待读取数据时,且所述读取请求的权限满足预设读取权限要求时,返回所述待读取数据;
当所述第一缓存中存储所述待读取数据时,但所述读取请求的权限满足预设读取权限要求时,不返回所述待读取数据;
当所述第二缓存中存储所述待读取数据时,且所述读取请求的权限满足预设读取权限要求时,将所述第二缓存中的所述待读取数据调取至所述第一缓存,并返回所述待读取数据。
当所述第二缓存中存储所述待读取数据时,但所述读取权限不满足预设读取权限要求时,清空存储有待存储数据的所述第二缓存。
可以看出,本发明实施例所提供的数据读取方法,既能在所述读取权限不满足预设读取权限要求时,通过清空存储有待存储数据的所述第二缓存,从而消除不满足预设读取权限要求的读取请求对缓存的影响;由于从所述第一缓存中读取的数据全部调取自所述第二缓存,而且是在所述读取请求的权限满足预设读取权限要求时,才将所述第二缓存中的所述待读取数据调取至所述第一缓存,也能保证所述第一缓存中的数据不会受到读取权限不满足预设读取权限要求的指令的影响;从而提高了带有预测执行机制的计算机系统的安全性。而且所述第一缓存与第二缓存相互之间物理独立,可以有效地减少缓存行中的不必要的字段以缩减所需存储空间。
下面对本发明实施例提供的数据读取装置进行介绍,所述数据读取装置可以认为实现本发明实施例所提供的数据读取方法所需设置的程序模块。下文描述的数据读取装置可与前文描述的方法内容相互对应参照。
请参考图6,图6为本发明实施例所提供的数据读取装置的结构示意图,本发明实施例还提供了一种数据读取装置,包括:
接收请求单元,所述接收请求单元适于接收待读取数据的读取请求,所述读取请求包括所述待读取数据的内存地址;
缓存;所述缓存包括第一缓存和第二缓存;所述第一缓存与所述第二缓存为相互物理独立的缓存,且所述第一缓存中的存储数据全部调取自所述第二缓存;
查找读取单元;所述查找读取单元适于根据所述内存地址查找所述待读取数据,当第一缓存中未存储所述待读取数据时,确定第二缓存中存储有所述待读取数据或将所述待读取数据调取至所述第二缓存,当所述读取请求的权限满足预设读取权限要求时,将所述第二缓存中的所述待读取数据调取至所述第一缓存,当所述读取权限不满足预设读取权限要求时,清空存储有待存储数据的所述第二缓存。
本发明实施例所提供的数据读取装置,既能在所述读取权限不满足预设读取权限要求时,通过清空存储有待存储数据的所述第二缓存,从而消除不满足预设读取权限要求的读取请求对缓存的影响;由于从所述第一缓存中读取的数据全部调取自所述第二缓存,而且是在所述读取请求的权限满足预设读取权限要求时,才将所述第二缓存中的所述待读取数据调取至所述第一缓存,也能保证所述第一缓存中的数据不会受到读取权限不满足预设读取权限要求的指令的影响;从而提高了带有预测执行机制的计算机系统的安全性。而且所述第一缓存与第二缓存相互之间物理独立,可以有效地减少缓存行中的不必要的字段以缩减所需存储空间。
在一种具体实施方式中,所述查找读取单元适于:
根据所述内存地址在所述缓存中查找所述待读取数据;
当所述缓存中未存储所述待读取数据时,根据所述内存地址在内存中查找所述待读取数据。
请参考图7,图7为本发明实施例所提供的又一数据读取装置的结构示意图,在一种具体实施方式中,所述第一缓存包括至少两级第一缓存;所述第二缓存包括至少两级第二缓存;
所述查找读取单元适于:
根据所述内存地址在一级第一缓存中查找所述待读取数据;
如果未能在该级第一缓存中查找到所述待读取数据,根据所述内存地址在同级第二缓存中查找所述待读取数据;
如果未能在该级第二缓存中查找到所述待读取数据,根据所述内存地址在下一级第一缓存中查找所述待读取数据。
在一种具体实施方式中,所述第一缓存与所述第二缓存级数相等;
所述查找读取单元适于将所述第二缓存中的所述待读取数据调取至同级的所述第一缓存。
在一种具体实施方式中,所述查找读取单元适于:
根据所述内存地址在所述第一缓存中查找所述待读取数据;
如果未能在所述第一缓存中查找到所述待读取数据,根据所述内存地址在所述第二缓存中查找所述待读取数据。
请继续参考图7,在一种具体实施方式中,所述第一缓存包括至少两级第一缓存;
所述查找读取单元适于:
根据所述内存地址在一级第一缓存中查找所述待读取数据;
如果未能在该级第一缓存中查找到所述待读取数据,根据所述内存地址在下一级第一缓存中查找所述待读取数据。
在一种具体实施方式中,所述第二缓存包括至少两级第二缓存;
所述查找读取单元适于:
根据所述内存地址在一级第二缓存中查找所述待读取数据;
如果未能在该级第二缓存中查找到所述待读取数据,根据所述内存地址在下一级第二缓存中查找所述待读取数据。
在一种具体实施方式中,所述第一缓存与所述第二缓存级数相等;
所述查找读取单元适于:
将所述第二缓存中的所述待读取数据调取至同级的所述第一缓存。
在一种具体实施方式中,所述查找读取单元还适于:
当所述第一缓存中存储有所述待读取数据且所述读取权限满足预设读取权限要求时,返回所述数据。
本发明实施例还提供了一种处理器芯片,包括所述数据读取装置。
本发明实施例还提供了一种电子设备,包括所述处理器芯片。
虽然本发明实施例披露如上,但本发明实施例并非限定于此。任何本领域技术人员,在不脱离本发明实施例的精神和范围内,均可作各种更动与修改,因此本发明实施例的保护范围应当以权利要求所限定的范围为准。

Claims (20)

1.一种数据读取方法,其特征在于,包括:
接收待读取数据的读取请求,所述读取请求包括所述待读取数据的内存地址;
根据所述内存地址查找所述待读取数据,当第一缓存中未存储所述待读取数据时,确定第二缓存中存储有所述待读取数据或将所述待读取数据调取至所述第二缓存,当所述读取请求的权限满足预设读取权限要求时,将所述第二缓存中的所述待读取数据调取至所述第一缓存,当所述读取权限不满足预设读取权限要求时,清空存储有待存储数据的所述第二缓存;其中,所述第一缓存与所述第二缓存为相互物理独立的缓存,且所述第一缓存中的存储数据全部调取自所述第二缓存。
2.如权利要求1所述的数据读取方法,其特征在于,所述根据所述内存地址查找所述待读取数据的步骤包括:
根据所述内存地址在缓存中查找所述待读取数据;
当所述缓存中未存储所述待读取数据时,根据所述内存地址在内存中查找所述待读取数据。
3.如权利要求2所述的数据读取方法,其特征在于,所述第一缓存包括至少两级第一缓存;所述第二缓存包括至少两级第二缓存;
所述根据所述内存地址在所述第一缓存和所述第二缓存中查找所述待读取数据的步骤包括:
根据所述内存地址在一级第一缓存中查找所述待读取数据;
如果未能在该级第一缓存中查找到所述待读取数据,根据所述内存地址在同级第二缓存中查找所述待读取数据;
如果未能在该级第二缓存中查找到所述待读取数据,根据所述内存地址在下一级第一缓存中查找所述待读取数据。
4.如权利要求3所述的数据读取方法,其特征在于,所述第一缓存与所述第二缓存级数相等;
所述将所述第二缓存中的所述待读取数据调取至所述第一缓存的步骤包括:
将所述第二缓存中的所述待读取数据调取至同级的所述第一缓存。
5.如权利要求2所述的数据读取方法,其特征在于,所述根据所述内存地址在所述第一缓存和所述第二缓存中查找所述待读取数据的步骤包括:
根据所述内存地址在所述第一缓存中查找所述待读取数据;
如果未能在所述第一缓存中查找到所述待读取数据,根据所述内存地址在所述第二缓存中查找所述待读取数据。
6.如权利要求5所述的数据读取方法,其特征在于,所述第一缓存包括至少两级第一缓存;
所述根据所述内存地址在所述第一缓存中查找所述待读取数据的步骤包括:
根据所述内存地址在一级第一缓存中查找所述待读取数据;
如果未能在该级第一缓存中查找到所述待读取数据,根据所述内存地址在下一级第一缓存中查找所述待读取数据。
7.如权利要求5所述的数据读取方法,其特征在于,所述第二缓存包括至少两级第二缓存;
所述根据所述内存地址在所述第二缓存中查找所述待读取数据的步骤包括:
根据所述内存地址在一级第二缓存中查找所述待读取数据;
如果未能在该级第二缓存中查找到所述待读取数据,根据所述内存地址在下一级第二缓存中查找所述待读取数据。
8.如权利要求5所述的数据读取方法,其特征在于,所述第一缓存与所述第二缓存级数相等;
所述将所述第二缓存中的所述待读取数据调取至所述第一缓存的步骤包括:
将所述第二缓存中的所述待读取数据调取至同级的所述第一缓存。
9.如权利要求1-8任一项所述的数据读取方法,其特征在于,还包括:
当所述第一缓存中存储有所述待读取数据且所述读取权限满足预设读取权限要求时,返回所述待读取数据。
10.一种数据读取装置,其特征在于,包括:
接收请求单元,所述接收请求单元适于接收待读取数据的读取请求,所述读取请求包括所述待读取数据的内存地址;
缓存;所述缓存包括第一缓存和第二缓存;所述第一缓存与所述第二缓存为相互物理独立的缓存,且所述第一缓存中的存储数据全部调取自所述第二缓存;
查找读取单元;所述查找读取单元适于根据所述内存地址查找所述待读取数据,当第一缓存中未存储所述待读取数据时,确定第二缓存中存储有所述待读取数据或将所述待读取数据调取至所述第二缓存,当所述读取请求的权限满足预设读取权限要求时,将所述第二缓存中的所述待读取数据调取至所述第一缓存,当所述读取权限不满足预设读取权限要求时,清空存储有待存储数据的所述第二缓存。
11.如权利要求10所述的数据读取装置,其特征在于,所述查找读取单元适于:
根据所述内存地址在所述缓存中查找所述待读取数据;
当所述缓存中未存储所述待读取数据时,根据所述内存地址在内存中查找所述待读取数据。
12.如权利要求11所述的数据读取装置,其特征在于,所述第一缓存包括至少两级第一缓存;所述第二缓存包括至少两级第二缓存;
所述查找读取单元适于:
根据所述内存地址在一级第一缓存中查找所述待读取数据;
如果未能在该级第一缓存中查找到所述待读取数据,根据所述内存地址在同级第二缓存中查找所述待读取数据;
如果未能在该级第二缓存中查找到所述待读取数据,根据所述内存地址在下一级第一缓存中查找所述待读取数据。
13.如权利要求12所述的数据读取装置,其特征在于,所述第一缓存与所述第二缓存级数相等;
所述查找读取单元适于将所述第二缓存中的所述待读取数据调取至同级的所述第一缓存。
14.如权利要求11所述的数据读取装置,其特征在于,
所述查找读取单元适于:
根据所述内存地址在所述第一缓存中查找所述待读取数据;
如果未能在所述第一缓存中查找到所述待读取数据,根据所述内存地址在所述第二缓存中查找所述待读取数据。
15.如权利要求14所述的数据读取装置,其特征在于,所述第一缓存包括至少两级第一缓存;
所述查找读取单元适于:
根据所述内存地址在一级第一缓存中查找所述待读取数据;
如果未能在该级第一缓存中查找到所述待读取数据,根据所述内存地址在下一级第一缓存中查找所述待读取数据。
16.如权利要求14所述的数据读取装置,其特征在于,所述第二缓存包括至少两级第二缓存;
所述查找读取单元适于:
根据所述内存地址在一级第二缓存中查找所述待读取数据;
如果未能在该级第二缓存中查找到所述待读取数据,根据所述内存地址在下一级第二缓存中查找所述待读取数据。
17.如权利要求14所述的数据读取装置,其特征在于,所述第一缓存与所述第二缓存级数相等;
所述查找读取单元适于:
将所述第二缓存中的所述待读取数据调取至同级的所述第一缓存。
18.如权利要求10-17任一项所述的数据读取装置,其特征在于,所述查找读取单元还适于:
当所述第一缓存中存储有所述待读取数据且所述读取权限满足预设读取权限要求时,返回所述待读取数据。
19.一种处理器芯片,其特征在于,包括权利要求10-18任一项所述的数据读取装置。
20.一种电子设备,其特征在于,包括权利要求19所述的处理器芯片。
CN202011139226.1A 2020-10-22 2020-10-22 数据读取方法及相关装置 Active CN112256600B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011139226.1A CN112256600B (zh) 2020-10-22 2020-10-22 数据读取方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011139226.1A CN112256600B (zh) 2020-10-22 2020-10-22 数据读取方法及相关装置

Publications (2)

Publication Number Publication Date
CN112256600A true CN112256600A (zh) 2021-01-22
CN112256600B CN112256600B (zh) 2023-04-11

Family

ID=74263936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011139226.1A Active CN112256600B (zh) 2020-10-22 2020-10-22 数据读取方法及相关装置

Country Status (1)

Country Link
CN (1) CN112256600B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4594690A (en) * 1983-07-27 1986-06-10 International Business Machines Corporation Digital storage apparatus including sections exhibiting different access speeds
WO1994012929A1 (en) * 1992-11-23 1994-06-09 Seiko Epson Corporation A microcode cache system and method
US6553460B1 (en) * 1999-10-01 2003-04-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US20110219187A1 (en) * 2010-01-15 2011-09-08 International Business Machines Corporation Cache directory lookup reader set encoding for partial cache line speculation support
CN105739921A (zh) * 2016-01-26 2016-07-06 上海新储集成电路有限公司 一种混合硬盘的缓存结构及方法
CN106529349A (zh) * 2016-12-14 2017-03-22 武汉瑞纳捷电子技术有限公司 一种安全芯片及其访问控制方法
CN108509791A (zh) * 2018-02-09 2018-09-07 清华大学 检测处理器的方法、检测装置以及检测系统
CN109416666A (zh) * 2016-06-28 2019-03-01 Arm有限公司 具有压缩数据和标签的缓存
CN109582601A (zh) * 2017-09-13 2019-04-05 Arm有限公司 缓存存储装置
CN110968349A (zh) * 2019-12-06 2020-04-07 海光信息技术有限公司 一种抵御投机执行侧信道攻击的处理器缓存技术方案
CN111045605A (zh) * 2019-12-12 2020-04-21 海光信息技术有限公司 利用处理器缓存和安全处理器改进系统安全性的技术方案
CN111263934A (zh) * 2017-10-23 2020-06-09 超威半导体公司 至少具有三个缓存级别的缓存层级的混合低级缓存包含策略
CN111522506A (zh) * 2020-04-03 2020-08-11 杭州迪普信息技术有限公司 一种数据读取的方法及装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4594690A (en) * 1983-07-27 1986-06-10 International Business Machines Corporation Digital storage apparatus including sections exhibiting different access speeds
WO1994012929A1 (en) * 1992-11-23 1994-06-09 Seiko Epson Corporation A microcode cache system and method
US6553460B1 (en) * 1999-10-01 2003-04-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US20110219187A1 (en) * 2010-01-15 2011-09-08 International Business Machines Corporation Cache directory lookup reader set encoding for partial cache line speculation support
CN105739921A (zh) * 2016-01-26 2016-07-06 上海新储集成电路有限公司 一种混合硬盘的缓存结构及方法
CN109416666A (zh) * 2016-06-28 2019-03-01 Arm有限公司 具有压缩数据和标签的缓存
CN106529349A (zh) * 2016-12-14 2017-03-22 武汉瑞纳捷电子技术有限公司 一种安全芯片及其访问控制方法
CN109582601A (zh) * 2017-09-13 2019-04-05 Arm有限公司 缓存存储装置
CN111263934A (zh) * 2017-10-23 2020-06-09 超威半导体公司 至少具有三个缓存级别的缓存层级的混合低级缓存包含策略
CN108509791A (zh) * 2018-02-09 2018-09-07 清华大学 检测处理器的方法、检测装置以及检测系统
CN110968349A (zh) * 2019-12-06 2020-04-07 海光信息技术有限公司 一种抵御投机执行侧信道攻击的处理器缓存技术方案
CN111045605A (zh) * 2019-12-12 2020-04-21 海光信息技术有限公司 利用处理器缓存和安全处理器改进系统安全性的技术方案
CN111522506A (zh) * 2020-04-03 2020-08-11 杭州迪普信息技术有限公司 一种数据读取的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张轮凯;宋风龙;王达;: "一种针对片上众核结构共享末级缓存的改进的LFU替换算法" *
徐鸿明;孟建熠;严晓浪;葛海通;: "基于高速缓存资源共享的TLB设计方法" *

Also Published As

Publication number Publication date
CN112256600B (zh) 2023-04-11

Similar Documents

Publication Publication Date Title
EP2275939B1 (en) Processor and address translating method
US20170109289A1 (en) Apparatus and method for operating a virtually indexed physically tagged cache
US10545879B2 (en) Apparatus and method for handling access requests
US20080016330A1 (en) Efficient Multiple-Table Reference Prediction Mechanism
US10083126B2 (en) Apparatus and method for avoiding conflicting entries in a storage structure
US7069388B1 (en) Cache memory data replacement strategy
JPS59165144A (ja) 命令取出し装置
JP4574712B2 (ja) 演算処理装置、情報処理装置及び制御方法
US6226763B1 (en) Method and apparatus for performing cache accesses
US6470425B1 (en) Cache line replacement threshold based on sequential hits or misses
US10831673B2 (en) Memory address translation
US6553469B2 (en) Memory record update filtering
US8656106B2 (en) Managing unforced injections of cache lines into a cache utilizing predetermined address ranges
US10853262B2 (en) Memory address translation using stored key entries
CN112256600B (zh) 数据读取方法及相关装置
CN111124954B (zh) 一种两级转换旁路缓冲的管理装置及方法
CN117609110A (zh) 一种缓存方法、高速缓存、电子设备及可读存储介质
JP3890910B2 (ja) 命令の実行結果予測装置
US5555379A (en) Cache controller index address generator
US20010032297A1 (en) Cache memory apparatus and data processing system
US8028128B2 (en) Method for increasing cache directory associativity classes in a system with a register space memory
US20060026469A1 (en) Branch prediction device, control method thereof and information processing device
US6546501B1 (en) Cache memory apparatus and computer readable recording medium on which a program for controlling a cache memory is recorded
JPS644214B2 (zh)
WO2022155820A1 (en) Core-aware caching systems and methods for multicore processors

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