[发明专利]一种动态可配置的指令访问加速器无效
申请号: | 201010206659.4 | 申请日: | 2010-06-22 |
公开(公告)号: | CN102169428A | 公开(公告)日: | 2011-08-31 |
发明(设计)人: | 林锦麟;李兴仁;金荣伟;刘春晖 | 申请(专利权)人: | 上海盈方微电子有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201203 上海市张江*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 配置 指令 访问 加速器 | ||
技术领域:
本发明所涉及的是一种动态可配置的指令访问加速器,特别是网络多媒体处理器的指令访问加速器。
背景技术:
近年来,嵌入式处理器的频率已越来越快,1GHz以上网络多媒体处理器已经成为主流。为了弥补处理器处理周期时间与外部存储器存取时间的差距,虽然采用高速缓存能够较大程度地解决这一问题。但在用户实际体验中,尤其是在网页浏览时,由于网页内容和格式的多样化,网页打开时间较长,不能达到流畅的程度,与PC机上的网页浏览速度相比,差距还是比较大。
高速缓存在访问命中时处理器是不需要等待时间,直接从高速缓存中读取指令,在访问不命中时,则从外部存储器中读取指令。通常,这一过程需要等待的周期会比较长,尤其是在多总线架构片上系统中,需要更长的等待周期。
图1所示的是网络多媒体处理器中比较普遍的一个多总线架构片上系统的结构示意图,CPU处理器、视频编解码、图形加速器和协处理器等通过内部总线矩阵,经外部存储器控制器,访问外部存储器。CPU处理器在指令访问不命中时,将由高速缓存控制器向外部存储器请求一个缓存行(cache line),通常此缓存行为16字节的指令。如果内部总线是64位的总线宽度,那么就意味着每次总线上只有2个突发访问(2×8=16字节),而对于DDR2等外部存储器,访问延迟比较大,再加上内部总线矩阵开销和仲裁等,实际上每次访问外部存储器的延迟在16个总线周期左右。那么在每次高速缓存不命中时,指令访问的效率只有2/(2+16)=1/9。
从上面的分析可以看出,高速缓存虽然能弥补处理器处理周期时间与外部存储器存取时间的差距,但是由于受到缓存行大小的限制和不命中时高延迟的开销,尤其在浏览新网页等操作时,指令还都没有进入高速缓存,每次都需要从外部存储器存取,从而导致系统反应比较慢,直接影响网页浏览速度。
发明内容:
有鉴于此,本发明专门针对高速缓存不命中的情况,结合多总线架构片上系统的特点,在高速缓存和总线之间添加一个动态可配置的指令加速器,如图2所示,用以缩短系统反应时间。
本发明提供的动态可配置指令加速器包括高速缓存总线接口、内部总线接口、控制逻辑、指令访问统计预测单元和至少一个可配置的指令缓冲区,其中高速缓存总线接口和CPU处理器对接,内部总线接口和外部存储器控制器对接,相互连接的控制逻辑、指令访问统计预测单元和可配置的指令缓冲区分别连接于高速缓存总线接口和内部总线接口之间。所述控制逻辑用于根据CPU处理器中高速缓存不命中时,向外部存储器控制器发出一定数目字节的指令,存储在内部可配置的指令缓冲区,同时向CPU处理器的高速缓存返回一行的指令(16字节)。指令访问统计预测单元能够统计和预测指令访问的情况,动态地调整指令缓冲区可用空间,并指示控制逻辑每次向外部存储器控制器访问的指令字节数目。
在上述方案中,所述指令缓冲区由寄存器堆构成,其容量大于或等于一个高速缓存行的大小。
根据程序访问的局部性原理,在程序指令没有备份到高速缓存时,会出现连续的不命中情况,只要设置合理的指令缓冲区和每次向外部存储器控制器的访问字节数目,对于后续高速缓存不命中的情况,有很大的概率已经备份在指令加速器的指令缓冲区,从而减少了高速缓存不命中情况下的访问时间。
本发明的一个特征是动态可配置性,能够根据不同应用情况、内部总线特征和外部存储器控制器的接口特点,调整内部指令缓冲区大小,最大限度地优化系统。
对于DDR2等外部存储器,一次突发访问,第一个数据的访问延迟比较大,但是后续访问的数据是连续返回的。比如一个64位的内部总线和外部32位位宽DDR2的片上系统,如果发起一个128字节(16×8字节)的突发访问,假定访问延迟是16个时钟周期,那么访问效率贝伪16/(16+16)=1/2,一次16字节(高速缓存不命中时的访问字节数目)的突发访问,访问效率只有2/(2+16)=1/9。本发明正是利用DDR2的这一特点,设计出了一个动态可配置的指令加速器,在系统的实际测试中也验证了这一加速效果。
基于上述的特性,本发明还提供了一种指令加速预取方法,该方法包括以下步骤:
1、接收到处理器高速缓存行不命中的控制信息后,控制逻辑依系统总线和外部存储器控制器的特点,向外部存储器控制器发送读取一个指令缓冲区的控制信息,并通过一次读取操作读取一个指令缓冲区的指令;
2、将所述一个指令缓冲区的指令存储到指令缓冲区;
3、将所述高速缓存行的指令传输到高速缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海盈方微电子有限公司,未经上海盈方微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010206659.4/2.html,转载请声明来源钻瓜专利网。