CN102722451B - 采用物理地址预测访问高速缓存的装置 - Google Patents
采用物理地址预测访问高速缓存的装置 Download PDFInfo
- Publication number
- CN102722451B CN102722451B CN201210210062.6A CN201210210062A CN102722451B CN 102722451 B CN102722451 B CN 102722451B CN 201210210062 A CN201210210062 A CN 201210210062A CN 102722451 B CN102722451 B CN 102722451B
- Authority
- CN
- China
- Prior art keywords
- physical address
- address
- prediction
- page
- cache
- 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
Abstract
一种采用物理地址预测访问高速缓存的装置,包括物理地址预测单元、高速缓存单元、物理地址产生单元和物理地址比较单元;同步执行所述高速缓存单元和物理地址产生单元,根据物理地址比较单元反馈的预测正确与否的信息,决定下一步行为,如果预测正确,则执行下一次访问高速缓存的请求;如果预测错误,则使用物理地址产生单元反馈的物理地址重新访问高速缓存。本发明提供一种有效消除访问高速缓存时存在的时延、提升处理器性能的采用物理地址预测访问高速缓存的装置。
Description
技术领域
本发明涉及嵌入式处理器领域,尤其是一种访问高速缓存的装置。
背景技术
近年来随着物联网的飞速发展,大量需要操作系统管理的应用程序出现在了移动领域。这些原来只能在桌面机上运行的程序,现在已经要求由嵌入式处理器来完成。这大大推动了嵌入式处理器的研发进程。
各大处理器厂商通常都会通过提高处理器内部各个执行单元的效率和利用率(如多指令发射、乱序执行等方式),来提升嵌入式处理器的整体性能。同时操作系统也会通过内存管理单元(MMU)来进行物理内存的管理,进而实现复杂应用程序在嵌入式处理器上的运行。
参照图1所示,典型的嵌入式处理器架构包括指令取值单元,指令发射单元,内存管理单元,指令执行单元(包括逻辑指令处理单元,协处理器指令处理单元,加载存储指令处理单元等)。通过内存管理单元,指令取值单元从片内高速缓存(或从片外内存)取指令后,通过指令发射单元的合理调度,将指令发射到各个执行单元中执行。嵌入式处理器的设计者针对特定的应用,增加协处理器的加速指令,使得原来需要额外硬件加速器才能完成的任务,直接通过软件就可以实现了。但是无论指令执行单元设计的如何巧妙,处理器和片外内存的交互都是无法避免的,而在类似于多媒体应用的环境中,大量的数据交互更是成为了处理器性能的瓶颈。通常通过访问片上高速缓存而非直接访问片外内存的系统,可以部分解决大量数据交换的瓶颈问题。但是由于操作系统使用了内存管理单元,访问片上高速缓存需要使用物理地址访问,所以每次需要先访问内存管理单元再访问高速缓存,造成每次访问高速缓存都会有一个时钟周期的延迟,最终还是影响了数据交换的性能,此时无论嵌入式处理器其他单元的性能如何强大,都将无法发挥最佳性能。
发明内容
为了克服已有嵌入式处理器在访问高速缓存时存在时延、影响处理器性能的不足,本发明提供一种有效消除访问高速缓存时存在的时延、提升处理器性能的采用物理地址预测访问高速缓存的装置。
本发明解决其技术问题所采用的技术方案是:
一种采用物理地址预测访问高速缓存的装置,所述装置包括:
物理地址预测单元,根据访问高速缓存的虚拟地址和内存管理的物理页面的大小,预测产生访问高速缓存的物理地址;
高速缓存单元,根据访问高速缓存不同的地址,产生相对应的数据;
物理地址产生单元,根据访问高速缓存的虚拟地址,产生物理地址;
物理地址比较单元,比较物理地址预测单元产生的预测物理地址和物理地址产生单元产生的实际物理地址,根据比较的结果生成预测正确或者预测错误信息;
同步执行所述高速缓存单元和物理地址产生单元,根据物理地址比较单元反馈的预测正确与否的信息,决定下一步行为,如果预测正确,则执行下一次访问高速缓存的请求;如果预测错误,则使用物理地址产生单元反馈的物理地址重新访问高速缓存。
进一步,采用两级流水线布置,所述的物理地址预测单元位于流水线的第一级,物理地址产生单元和物理地址比较单元位于流水线的第二级,高速缓存单元的输入位于流水线的第一级,输出位于流水线的第二级。
再进一步,所述的物理地址预测单元中,预测产生访问高速缓存的物理地址由页间地址[M-1:0]和页内偏移[N-1:0]两部分组成,页间地址为预测的物理地址[M+N-1:0]的高M位,页内偏移为预测的物理地址的低N位;N由内存管理的物理页面的大小决定,N=log2(内存管理的物理页面的大小);页内偏移N位不需要预测,直接使用虚拟地址的低N位,即页内偏移[N-1:0]=虚拟地址[N-1:0];页间地址M位需要进行预测,预测的物理地址输出到流水线的第二级,根据物理地址比较单元反馈的信息修正预测的页间地址。
更进一步,所述的页间地址预测按照虚拟地址到物理地址直接映射的方式进行预测,即预测的页间地址[M-1:0]=虚拟地址[M+N-1:N]。
或者是:所述的页间地址预测按照最近访问高速缓存的物理地址预测页间地址,即预测页间地址[M-1:0]=最近访问高速缓存的物理地址[M+N-1:N]。
所述物理地址产生单元中,在流水线的第一级输入虚拟地址,在流水线的第二级产生物理地址。
所述物理地址比较单元,比较物理地址预测单元预测的物理地址和物理地址产生单元产生的实际物理地址是否一致,产生高速缓存访问是否有效的标识信号;如果比较结果一致,则产生访问高速缓存有效的标识信息;如果不一致,则产生访问高速缓存无效的标识信息。
比较物理地址预测单元预测的物理地址和物理地址产生单元产生的实际物理地址是否一致,将比较结果反馈给物理地址预测单元。
本发明的有益效果主要表现在:有效消除访问高速缓存时存在的时延、提升处理器性能。
附图说明
图1为一典型的嵌入式处理器架构。
图2为一种采用物理地址预测访问高速缓存的装置结构图。
图3为一预测物理地址的结构组成图。
图4为一页内偏移的产生图。
图5为一页间地址的一种预测方式图。
图6为一页间地址的另一种预测方式图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图6,一种采用物理地址预测访问高速缓存的装置,包括:
物理地址预测单元,根据访问高速缓存的虚拟地址和内存管理的物理页面的大小,预测产生访问高速缓存的物理地址;
高速缓存单元,根据访问高速缓存不同的地址,产生相对应的数据;
物理地址产生单元,根据访问高速缓存的虚拟地址,产生物理地址;
物理地址比较单元,比较物理地址预测单元产生的预测物理地址和物理地址产生单元产生的实际物理地址,根据比较的结果生成预测正确或者预测错误信息。
本实施例中,输入信号连接物理地址预测单元和物理地址产生单元,物理地址预测单元和物理地址产生单元的输出共同连接到物理地址比较单元,物理地址比较单元的输出反馈到物理地址预测单元,物理地址产生单元的输出也反馈到物理地址预测单元,物理地址预测单元的输出还连接于高速缓存单元,高速缓存单元的输出是整个一种采用物理地址预测访问高速缓存的装置的输出。
本实施例采用两级流水线布置,所述的物理地址预测单元位于流水线的第一级,物理地址产生单元和物理地址比较单元位于流水线的第二级,高速缓存单元的输入位于流水线的第一级,输出位于流水线的第二级。
参考图3-图4,物理地址预测单元预测产生访问高速缓存的物理地址由页间地址[M-1:0]和页内偏移[N-1:0]两部分组成,页间地址为预测的物理地址[M+N-1:0]的高M位,页内偏移为预测的物理地址的低N位;N由内存管理的物理页面的大小决定,N=log2(内存管理的物理页面的大小);页内偏移N位不需要预测,直接使用虚拟地址的低N位,即页内偏移[N-1:0]=虚拟地址[N-1:0];页间地址M位需要进行预测,预测的物理地址输出到流水线的第二级,根据物理地址比较单元反馈的信息修正预测的页间地址。
参考图5,页间地址预测按照虚拟地址到物理地址直接映射的方式进行预测,即预测的页间地址[M-1:0]=虚拟地址[M+N-1:N]。
参考图6,页间地址预测的另一种实现方式,按照最近访问高速缓存的物理地址预测页间地址,即预测页间地址[M-1:0]=最近访问高速缓存的物理地址[M+N-1:N]。
物理地址预测单元根据物理地址比较单元反馈的预测正确与否的信息,决定下一步行为,如果预测正确,则执行下一次访问高速缓存的请求;如果预测错误,则使用物理地址产生单元反馈的物理地址重新访问高速缓存。
物理地址产生单元,在流水线的第一级输入虚拟地址,在流水线的第二级产生物理地址。
物理地址比较单元,比较物理地址预测单元预测的物理地址和物理地址产生单元产生的实际物理地址是否一致,并反馈给物理地址预测单元,同时产生高速缓存访问是否有效的标识信号。如果比较结果一致,则产生访问高速缓存有效的标识信息;如果不一致,则产生访问高速缓存无效的标识信息。
Claims (7)
1.一种采用物理地址预测访问高速缓存的装置,其特征在于:所述装置包括:
物理地址预测单元,根据访问高速缓存的虚拟地址和内存管理的物理页面的大小,预测产生访问高速缓存的物理地址,预测的物理地址由两部预测结果组成,预测页间地址[M-1:0]和预测页内偏移[N-1:0],预测的页间地址为访问高速缓存物理地址的高M位,页内偏移为访问高速缓存物理地址的低N位,N由内存管理的物理页面的大小决定,N=log2(内存管理的物理页面的大小);预测页间地址和预测业内地址采用不同的方法进行预测;页内偏移N位直接使用虚拟地址的低N位,即页内偏移[N-1:0]=虚拟地址[N-1:0];页间地址M位采用预测算法进行预测;
高速缓存单元,根据访问高速缓存不同的地址,产生相对应的数据;
物理地址产生单元,根据访问高速缓存的虚拟地址,产生物理地址;
物理地址比较单元,比较物理地址预测单元产生的预测物理地址和物理地址产生单元产生的实际物理地址,根据比较的结果生成预测正确或者预测错误信息;
同步执行所述高速缓存单元和物理地址产生单元,根据物理地址比较单元反馈的预测正确与否的信息,决定下一步行为,如果预测正确,则执行下一次访问高速缓存的请求;如果预测错误,则使用物理地址产生单元反馈的物理地址重新访问高速缓存。
2.如权利要求1所述的采用物理地址预测访问高速缓存的装置,其特征在于:采用两级流水线布置,所述的物理地址预测单元位于流水线的第一级,物理地址产生单元和物理地址比较单元位于流水线的第二级,高速缓存单元的输入位于流水线的第一级,输出位于流水线的第二级。
3.如权利要求2所述的采用物理地址预测访问高速缓存的装置,其特征在于:所述的页间地址预测按照虚拟地址到物理地址直接映射的方式进行预测,即预测的页间地址[M-1:0]=虚拟地址[M+N-1:N]。
4.如权利要求2所述的采用物理地址预测访问高速缓存的装置,其特征在于:页间地址预测按照最近访问高速缓存的物理地址预测页间地址,即预测页间地址[M-1:0]=最近访问高速缓存的物理地址[M+N-1:N]。
5.如权利要求2~4之一所述的采用物理地址预测访问高速缓存的装置,其特征在于:所述物理地址产生单元中,在流水线的第一级输入虚拟地址,在流水线的第二级产生物理地址。
6.如权利要求2~4之一所述的采用物理地址预测访问高速缓存的装置,其特征在于:所述物理地址比较单元,比较物理地址预测单元预测的物理地址和物理地址产生单元产生的实际物理地址是否一致,产生高速缓存访问是否有效的标识信号;如果比较结果一致,则产生访问高速缓存有效的标识信息;如果不一致,则产生访问高速缓存无效的标识信息。
7.如权利要求2~4之一所述的采用物理地址预测访问高速缓存的装置,其特征在于:比较物理地址预测单元预测的物理地址和物理地址产生单元产生的实际物理地址是否一致,将比较结果反馈给物理地址预测单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210210062.6A CN102722451B (zh) | 2012-06-25 | 2012-06-25 | 采用物理地址预测访问高速缓存的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210210062.6A CN102722451B (zh) | 2012-06-25 | 2012-06-25 | 采用物理地址预测访问高速缓存的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102722451A CN102722451A (zh) | 2012-10-10 |
CN102722451B true CN102722451B (zh) | 2015-04-15 |
Family
ID=46948224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210210062.6A Active CN102722451B (zh) | 2012-06-25 | 2012-06-25 | 采用物理地址预测访问高速缓存的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102722451B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9015400B2 (en) * | 2013-03-05 | 2015-04-21 | Qualcomm Incorporated | Methods and systems for reducing the amount of time and computing resources that are required to perform a hardware table walk (HWTW) |
CN104572499B (zh) * | 2014-12-30 | 2017-07-11 | 杭州中天微系统有限公司 | 一种数据高速缓存的访问装置 |
US10579522B2 (en) * | 2016-09-13 | 2020-03-03 | Andes Technology Corporation | Method and device for accessing a cache memory |
CN108763453B (zh) * | 2018-05-28 | 2020-06-16 | 浙江口碑网络技术有限公司 | 基于行为预测的页面数据处理方法及装置 |
CN112416437B (zh) * | 2020-12-02 | 2023-04-21 | 海光信息技术股份有限公司 | 信息处理方法、信息处理装置和电子设备 |
CN112416436B (zh) * | 2020-12-02 | 2023-05-09 | 海光信息技术股份有限公司 | 信息处理方法、信息处理装置和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101558388A (zh) * | 2006-09-29 | 2009-10-14 | Mips技术公司 | 数据高速缓存虚拟提示路线预测及其应用 |
CN101833515A (zh) * | 2009-03-30 | 2010-09-15 | 威盛电子股份有限公司 | 微处理器及缩短分页表寻访时间的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005190161A (ja) * | 2003-12-25 | 2005-07-14 | Matsushita Electric Ind Co Ltd | データ処理装置およびコンパイラ装置 |
JP4160589B2 (ja) * | 2005-10-31 | 2008-10-01 | 富士通株式会社 | 演算処理装置,情報処理装置,及び演算処理装置のメモリアクセス方法 |
-
2012
- 2012-06-25 CN CN201210210062.6A patent/CN102722451B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101558388A (zh) * | 2006-09-29 | 2009-10-14 | Mips技术公司 | 数据高速缓存虚拟提示路线预测及其应用 |
CN101833515A (zh) * | 2009-03-30 | 2010-09-15 | 威盛电子股份有限公司 | 微处理器及缩短分页表寻访时间的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102722451A (zh) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102722451B (zh) | 采用物理地址预测访问高速缓存的装置 | |
CN101694613B (zh) | 不对准存储器存取预测 | |
US9886385B1 (en) | Content-directed prefetch circuit with quality filtering | |
US9280474B2 (en) | Adaptive data prefetching | |
US8291202B2 (en) | Apparatus and methods for speculative interrupt vector prefetching | |
TWI454909B (zh) | 減少記憶體裝置之功率消耗之記憶體裝置、方法及系統 | |
CN101067781A (zh) | 执行存储器消歧的技术 | |
EP1421490A1 (en) | Methods and apparatus for improving throughput of cache-based embedded processors by switching tasks in response to a cache miss | |
KR102268601B1 (ko) | 데이터 포워딩을 위한 프로세서, 그것의 동작 방법 및 그것을 포함하는 시스템 | |
CN110427337B (zh) | 基于现场可编程门阵列的处理器内核及其运行方法 | |
TW201342059A (zh) | 積聚分頁錯失之訊息傳遞與處理技術 | |
Ouyang et al. | Active SSD design for energy-efficiency improvement of web-scale data analysis | |
WO2018059337A1 (zh) | 数据处理装置和方法 | |
CN110806900B (zh) | 一种访存指令处理方法及处理器 | |
US10642684B1 (en) | Memory command interleaving | |
CN103279329B (zh) | 支持同步edac校验的高效取指流水线 | |
US20200183702A1 (en) | Arithmetic processing apparatus and memory apparatus | |
Li et al. | HODS: Hardware object deserialization inside SSD storage | |
CN101615114B (zh) | 完成两次乘法两次加法两次位移的微处理器实现方法 | |
CN105786758A (zh) | 一种具有数据缓存功能的处理器装置及其数据读写方法 | |
CN111190644A (zh) | 一种嵌入式Flash片上读指令硬件加速方法和装置 | |
CN113407239B (zh) | 一种基于异步单轨的流水线处理器 | |
EP4020232A1 (en) | Compressed cache memory with parallel decompress on fault | |
CN114661636A (zh) | 具有错误时解压缩的经压缩的高速缓存存储器 | |
JP5993687B2 (ja) | ワンチッププロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |