CN109828932B - 一种地址微调加速系统 - Google Patents
一种地址微调加速系统 Download PDFInfo
- Publication number
- CN109828932B CN109828932B CN201910120322.2A CN201910120322A CN109828932B CN 109828932 B CN109828932 B CN 109828932B CN 201910120322 A CN201910120322 A CN 201910120322A CN 109828932 B CN109828932 B CN 109828932B
- Authority
- CN
- China
- Prior art keywords
- address
- unit
- fine
- tuning
- register group
- 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
- 230000001133 acceleration Effects 0.000 title claims description 12
- 238000001514 detection method Methods 0.000 claims abstract description 29
- 238000013507 mapping Methods 0.000 claims abstract description 29
- 238000006243 chemical reaction Methods 0.000 claims abstract description 24
- 238000013519 translation Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 238000005457 optimization Methods 0.000 abstract description 5
- 230000015556 catabolic process Effects 0.000 abstract description 2
- 238000006731 degradation reaction Methods 0.000 abstract description 2
- 238000013461 design Methods 0.000 description 3
- 238000009966 trimming Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000034 method Methods 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
- 238000012545 processing Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了地址微调技术领域的一种地址微调加速系统,包括调度单元、高位物理寄存器组、共享映射单元、地址检查单元、低位物理寄存器组、立即数检测单元、实地址微调检测、新地址生成单元、保留站、执行和虚实地址转换单元和提交单元,所述调度单元的输出端通过导线与地址检查单元、立即数检测单元和低位单元的输入端连接,所述地址检查单元的输出端通过导线与保留站、实地址微调检测和低位物理寄存器组的输入端连接,所述高位物理寄存器组的输出端通过导线与共享映射单元的输入端连接,本发明能够提升地址微调指令的执行速度,降低整体地址转换的动态功耗,如果对于某条指令不符合优化条件也可以保持之前的执行通路不变,不会发生性能下降。并且可以实现一键开关。
Description
技术领域
本发明涉及地址微调技术领域,具体为一种地址微调加速系统。
背景技术
目前主流访存指令通过将地址计算信息内置到指令中,当访存模块接受指令以后,通过内部AGU计算出虚拟地址,再把虚拟地址同时输入cache和TLB完成VIPT(virtualindexedphysicaltagged)的访问形式,因此虚实地址的mapping总是需要串在AGU以后,而且需要使用地址访存的时候进行地址转换,ISA决定了访存指令的虚实地址的转换的时机,如果把访存地址计算单独抽出来成为独立的指令,并且定义特殊的体系结构寄存器,就成为另一种访存风格:每次地址计算的时候顺带完成DTLB的访问,获得实地址和属性并同虚地址一起存到体系结构寄存器,访存指令每次都通过读地址寄存器来获得实地址和页信息。后者如果编译器调度合理,可以把地址计算和mapping过程中的延迟与其它指令重合,从而保证在访存指令来的时候直接读出实地址和页信息,访问cache。但是缺点就是每次地址计算都需要访问DTLB,加长了指令的流水线长度。本发明用来加速地址调整指令,减少流水线长度。
发明内容
本发明的目的在于提供一种地址微调加速系统,以解决上述背景技术中提出的每次地址计算都需要访问DTLB,加长了指令的流水线长度。本发明用来加速地址调整指令,减少流水线长度的问题。
为实现上述目的,本发明提供如下技术方案:一种地址微调加速系统,其特征在于:包括调度单元、高位物理寄存器组、共享映射单元、地址检查单元、低位物理寄存器组、立即数检测单元、实地址微调检测、新地址生成单元、保留站、执行和虚实地址转换单元和提交单元,所述调度单元的输出端通过导线与地址检查单元、立即数检测单元和低位单元的输入端连接,所述地址检查单元的输出端通过导线与保留站、实地址微调检测和低位物理寄存器组的输入端连接,所述高位物理寄存器组的输出端通过导线与共享映射单元的输入端连接,所述共享映射单元的输出端通过导线与高位脉冲的输入端连接,所述低位脉冲的输出低端通过导线与新地址生成单元和实地址微调检测的输入端连接,所述立即数检测单元的输出端通过导线与新地址生成单元和实地址微调检测的输入端连接,所述实地址微调检测的输出端通过导线与提交单元的输入端连接,所述保留站的输出端通过导线与执行和虚实地址转换单元、新地址生成单元和共享映射单元的输入端连接,所述新地址生成单元的输出端通过导线与低位物理寄存器组、共享映射单元和保留站的输入端连接,所述执行和虚实地址转换单元的输出端通过导线与低位物理寄存器组、高位物理寄存器组和提交单元的输入端连接,每次地址生成指令写回的时候顺带检测,地址是否在某一范围内不可能跨页,用两个比特分别表示是否会跨前后相邻的两个页。范围选择可以根据微调立即数的频度作调整,如果没有跨页风险对应的比特置位。每次地址微调指令从寄存器组读出base地址之后,如果立即数小于安全距离,并且base地址寄存器的地址转换完成,直接把转换结果读出赋值给自己的地址寄存器,此时选择寄存器组读出的低位地址和立即数作运算,结果写回地址寄存器低位。
优选的,所述执行和虚实地址转换单元通过结果和跨页位与所述的低位物理寄存器组连接。
优选的,所述地址检查单元通过地址生成类型推送与所述的保留站连接。
优选的,所述低位物理寄存器组通过跨页位与所述的实地址微调检测连接。
优选的,所述保留站通过新地址写入启用与所述的新地址生成单元和所述的共享映射单元连接。
优选的,所述新地址生成单元通过保持高位变化位与所述的低位物理寄存器组连接。
优选的,所述执行和虚实地址转换单元通过清除跨页位与所述的低位物理寄存器组连接。
与现有技术相比,本发明的有益效果是:本发明能够提升地址微调指令的执行速度,降低整体地址转换的动态功耗,如果对于某条指令不符合优化条件也可以保持之前的执行通路不变,不会发生性能下降。并且可以实现一键开关。对于地址寄存器采取双物理寄存器组来区分高、地位,并且支持多低位地址映射同一高位物理寄存器,进一步简化了地址微调指令的对物理寄存器的更新,节省了面积开销,地址微调指令共享地址生成指令的映射关系和属性,并节省保留站的带宽,降低了DTLB访问的功耗,缩短了流水线长度,采用跨页危险bit来使跨页判断简单,并通过快速设置该bit,来避免更新DTLB带来的不一致错误,多个层次配置完成不同复杂度的设计,包括配置危险范围,选择是否单独开辟写回通道。
附图说明
图1为本发明系统原理框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种地址微调加速系统,本发明能够提升地址微调指令的执行速度,降低整体地址转换的动态功耗,如果对于某条指令不符合优化条件也可以保持之前的执行通路不变,不会发生性能下降。并且可以实现一键开关,请参阅图1,包括调度单元、高位物理寄存器组、共享映射单元、地址检查单元、低位物理寄存器组、立即数检测单元、实地址微调检测、新地址生成单元、保留站、执行和虚实地址转换单元和提交单元,所述调度单元的输出端通过导线与地址检查单元、立即数检测单元和低位单元的输入端连接,所述地址检查单元的输出端通过导线与保留站、实地址微调检测和低位物理寄存器组的输入端连接,所述高位物理寄存器组的输出端通过导线与共享映射单元的输入端连接,所述共享映射单元的输出端通过导线与高位脉冲的输入端连接,所述低位脉冲的输出低端通过导线与新地址生成单元和实地址微调检测的输入端连接,所述立即数检测单元的输出端通过导线与新地址生成单元和实地址微调检测的输入端连接,所述实地址微调检测的输出端通过导线与提交单元的输入端连接,所述保留站的输出端通过导线与执行和虚实地址转换单元、新地址生成单元和共享映射单元的输入端连接,所述新地址生成单元的输出端通过导线与低位物理寄存器组、共享映射单元和保留站的输入端连接,所述执行和虚实地址转换单元的输出端通过导线与低位物理寄存器组、高位物理寄存器组和提交单元的输入端连接。
实施例1
每次地址生成指令写回的时候顺带检测,地址是否在某一范围内不可能跨页,用两个比特分别表示是否会跨前后相邻的两个页。范围选择可以根据微调立即数的频度作调整,如果没有跨页风险对应的比特置位。每次地址微调指令从寄存器组读出base地址之后,如果立即数小于安全距离,并且base地址寄存器的地址转换完成,直接把转换结果读出赋值给自己的地址寄存器,此时选择寄存器组读出的低位地址和立即数作运算,结果写回地址寄存器低位。另一种可选的优化方式是把地址寄存器的高位、页属性、低位分开为两个物理寄存器数组,高位和页属性一组物理寄存器,地位为另一组物理寄存器,每次检测到符合条件的地址微调指令,不需要分配新的高位物理寄存器,直接把原本base的物理寄存器mapping给当前新的地址寄存器。因此在资源上高位物理寄存器的个数应该小于低位物理寄存器的个数,作为代价,前端资源检测的逻辑需要更加细致。但是更加节省面积,因为只有跨页风险的地址微调指令和地址生成指令才需要新的存储来记录庞大页的属性,这不是一个大概率事件,分开可以使微体系的设计更容易扩展。因为引入了多个物理寄存器影射同一体系结构寄存器,因此在回收的时候,需要考虑是否存在多映射问题,多映射的高位物理寄存器不可以被回收。
实施例2
为满足可加速微调指令开通单独的提交通道,让retire单元可以快速看到这笔指令的完成,至此已经完成了该类指令流水线裁剪的需求。同样,也可以开辟单独的写回通道,并且把结果给访存模块,如果开辟单独的写回通道,则该类指令不需要push进保留站,在前一级就提前完成了指令,节省了保留站发射的带宽和容量。如果考虑到额外的写回通道给访存模块带来的复杂性(更多地址相关性检测的逻辑),可以让该类加速指令同样push进保留站,正常执行并地址转换,复用之前给访存模块的写回通路。唯一区别是现在正常通路地址转换的结果不需要写回到寄存器组(之前的快速通路已经更新了寄存器组),获得的好处就是缩短了该条指令的流水线,可以提前retire,其他逻辑保持不变,将其他开销降到了最低。如果微调指令可以做到当周期更新物理寄存器,那么不需要额外的写回通道给访存模块,也不需要被push进保留站,因为下一周期后面的访存指令可以读到新的物理寄存器内容,如果同一周期有地址相关的访存指令和地址微调指令,那么依然需要被push进保留站,因为来不及获得最新的数据
实施例3
开辟单独的提交和写回通路,那么对于顺序微调并且连续访存的序列来说,效果是只有最开始地址生成指令需要通用计算并访问一次DTLB,之后所有没有跨页风险的访存全部不需要再次访问DTLB,大大节省了流水线功耗,做到了极致的功耗比优化。这里注意一个问题,如果编译器保证每次在更改虚实地址mapp ing或者页属性的时候,在访问更改了mapping的页内某一个地址的时候,都提前有一条地址生成指令来更新mapping和页的属性,那么不需要做任何特殊处理,每次地址微调指令都可以安心使用同一页的mapping信息和属性。但是如果不保证,那么意味着如果擅自使用一个过时的页的mapping和属性是错误的,我们要做的是当程序每次更新页时,把对应页低位物理寄存器的两个跨页风险b it清0(0代表有跨页风险,1代表没有跨页风险,上电的时候初始化为0,如果不方便挑选相关的页也可以全部统一清0),那么新进来的这个页的微调指令就会重新正常计算虚地址并访问一次DTLB获得最新的页mapping和属性,并根据虚拟地址重新生成跨页危险bit。
综合以上所述,本发明能够提升地址微调指令的执行速度,降低整体地址转换的动态功耗,如果对于某条指令不符合优化条件也可以保持之前的执行通路不变,不会发生性能下降。并且可以实现一键开关。对于地址寄存器采取双物理寄存器组来区分高、地位,并且支持多低位地址映射同一高位物理寄存器,进一步简化了地址微调指令的对物理寄存器的更新,节省了面积开销,地址微调指令共享地址生成指令的映射关系和属性,并节省保留站的带宽,降低了DTLB访问的功耗,缩短了流水线长度,采用跨页危险bit来使跨页判断简单,并通过快速设置该bit,来避免更新DTLB带来的不一致错误,多个层次配置完成不同复杂度的设计,包括配置危险范围,选择是否单独开辟写回通道。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (7)
1.一种地址微调加速系统,其特征在于:包括调度单元、高位物理寄存器组、共享映射单元、地址检查单元、低位物理寄存器组、立即数检测单元、实地址微调检测、新地址生成单元、保留站、执行和虚实地址转换单元和提交单元,所述调度单元的输出端通过导线与地址检查单元、立即数检测单元和低位单元的输入端连接,所述地址检查单元的输出端通过导线与保留站、实地址微调检测和低位物理寄存器组的输入端连接,所述高位物理寄存器组的输出端通过导线与共享映射单元的输入端连接,所述共享映射单元的输出端通过导线与高位脉冲的输入端连接,所述立即数检测单元的输出端通过导线与新地址生成单元和实地址微调检测的输入端连接,所述实地址微调检测的输出端通过导线与提交单元的输入端连接,所述保留站的输出端通过导线与执行和虚实地址转换单元、新地址生成单元和共享映射单元的输入端连接,所述新地址生成单元的输出端通过导线与低位物理寄存器组、共享映射单元和保留站的输入端连接,所述执行和虚实地址转换单元的输出端通过导线与低位物理寄存器组、高位物理寄存器组和提交单元的输入端连接,每次地址生成指令写回的时候顺带检测,地址是否在某一范围内不可能跨页,用两个比特分别表示是否会跨前后相邻的两个页,范围选择可以根据微调立即数的频度作调整,如果没有跨页风险对应的比特置位,每次地址微调指令从寄存器组读出base地址之后,如果立即数小于安全距离,并且base地址寄存器的地址转换完成,直接把转换结果读出赋值给自己的地址寄存器,此时选择寄存器组读出的低位地址和立即数作运算,结果写回地址寄存器低位。
2.根据权利要求1所述的一种地址微调加速系统,其特征在于:所述执行和虚实地址转换单元通过结果和跨页位与所述的低位物理寄存器组连接。
3.根据权利要求1所述的一种地址微调加速系统,其特征在于:所述地址检查单元通过地址生成类型推送与所述的保留站连接。
4.根据权利要求1所述的一种地址微调加速系统,其特征在于:所述低位物理寄存器组通过跨页位与所述的实地址微调检测连接。
5.根据权利要求1所述的一种地址微调加速系统,其特征在于:所述保留站通过新地址写入启用与所述的新地址生成单元和所述的共享映射单元连接。
6.根据权利要求1所述的一种地址微调加速系统,其特征在于:所述新地址生成单元通过保持高位变化位与所述的低位物理寄存器组连接。
7.根据权利要求1所述的一种地址微调加速系统,其特征在于:所述执行和虚实地址转换单元通过清除跨页位与所述的低位物理寄存器组连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910120322.2A CN109828932B (zh) | 2019-02-18 | 2019-02-18 | 一种地址微调加速系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910120322.2A CN109828932B (zh) | 2019-02-18 | 2019-02-18 | 一种地址微调加速系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109828932A CN109828932A (zh) | 2019-05-31 |
CN109828932B true CN109828932B (zh) | 2020-12-18 |
Family
ID=66863590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910120322.2A Active CN109828932B (zh) | 2019-02-18 | 2019-02-18 | 一种地址微调加速系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109828932B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546495B (zh) * | 2021-09-03 | 2022-12-20 | 北京睿芯众核科技有限公司 | 适用于risc-v架构处理器的地址属性检查的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622060A (zh) * | 2003-11-26 | 2005-06-01 | 微软公司 | 转换后备缓冲器的惰性转储清除 |
CN1779662A (zh) * | 2004-11-24 | 2006-05-31 | 中国科学院计算技术研究所 | 改进的虚拟地址变换方法及其装置 |
CN101346706A (zh) * | 2005-12-29 | 2009-01-14 | 英特尔公司 | 虚拟转换后备缓冲器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100520710C (zh) * | 2006-07-27 | 2009-07-29 | 中国科学院计算技术研究所 | 复杂指令系统中tlbr内部例外的处理方法和处理器 |
US8301865B2 (en) * | 2009-06-29 | 2012-10-30 | Oracle America, Inc. | System and method to manage address translation requests |
US9703723B2 (en) * | 2011-08-29 | 2017-07-11 | International Business Machines Corporation | Method and apparatus for performing mapping within a data processing system having virtual machines |
US9740644B2 (en) * | 2014-09-26 | 2017-08-22 | Intel Corporation | Avoiding premature enabling of nonmaskable interrupts when returning from exceptions |
US10303899B2 (en) * | 2016-08-11 | 2019-05-28 | Intel Corporation | Secure public cloud with protected guest-verified host control |
-
2019
- 2019-02-18 CN CN201910120322.2A patent/CN109828932B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622060A (zh) * | 2003-11-26 | 2005-06-01 | 微软公司 | 转换后备缓冲器的惰性转储清除 |
CN1779662A (zh) * | 2004-11-24 | 2006-05-31 | 中国科学院计算技术研究所 | 改进的虚拟地址变换方法及其装置 |
CN101346706A (zh) * | 2005-12-29 | 2009-01-14 | 英特尔公司 | 虚拟转换后备缓冲器 |
Non-Patent Citations (1)
Title |
---|
处理器微体系结构模拟加速策略研究;喻之斌;《中国博士学位论文全文数据库 信息科技辑》;20091115(第11期);I137-2 * |
Also Published As
Publication number | Publication date |
---|---|
CN109828932A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7694077B2 (en) | Multi-port integrated cache | |
CN108139981B (zh) | 一种页表缓存tlb中表项的访问方法,及处理芯片 | |
US10209890B2 (en) | Near memory accelerator | |
US10769013B1 (en) | Caching error checking data for memory having inline storage configurations | |
US9871727B2 (en) | Routing lookup method and device and method for constructing B-tree structure | |
US6138225A (en) | Address translation system having first and second translation look aside buffers | |
CN109669888A (zh) | 一种可配置且高效的嵌入式Nor-Flash控制器及控制方法 | |
JPH08272692A (ja) | 仮想アドレス変換方法 | |
US8312232B2 (en) | Cache memory control circuit and processor for selecting ways in which a cache memory in which the ways have been divided by a predeterminded division number | |
CN109828932B (zh) | 一种地址微调加速系统 | |
CN111221823B (zh) | 一种基于链路管理表的数据处理方法及装置 | |
JP4635063B2 (ja) | キャッシュメモリ制御回路及びプロセッサ | |
KR950006590B1 (ko) | 캐시 메모리를 갖는 마이크로 프로세서 | |
US10642684B1 (en) | Memory command interleaving | |
KR100255510B1 (ko) | 원포트램셀구조로이루어진캐시데이터램 | |
US11327768B2 (en) | Arithmetic processing apparatus and memory apparatus | |
CN102799414B (zh) | 改进推测多线程的方法及装置 | |
US8533396B2 (en) | Memory elements for performing an allocation operation and related methods | |
US20210374068A1 (en) | Address Fine-Tuning Acceleration System | |
US6928003B2 (en) | Memory controller controlling cached DRAM | |
CN109388344B (zh) | 一种基于带宽扩展交叉编址的双端口sram访问控制系统及方法 | |
KR100517765B1 (ko) | 캐시 메모리 및 그 제어 방법 | |
US9430397B2 (en) | Processor and control method thereof | |
CN110334251B (zh) | 一种有效解决rehash冲突的元素序列生成方法 | |
JP5565864B2 (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 | ||
PP01 | Preservation of patent right | ||
PP01 | Preservation of patent right |
Effective date of registration: 20210428 Granted publication date: 20201218 |
|
PD01 | Discharge of preservation of patent | ||
PD01 | Discharge of preservation of patent |
Date of cancellation: 20240428 Granted publication date: 20201218 |