当前位置: 首页 > 专利查询>英特尔公司专利>正文

便于具有通用读/写模式的存储器数据存取的装置和方法制造方法及图纸

技术编号:2871798 阅读:140 留言:0更新日期:2012-04-11 18:40
一种方法,包含:    响应于存储器存取指令,在第一存储缓冲器内检测所述存储器存取指令所请求的数据的缓冲器命中/未命中;    当检测到缓冲器未命中时,依据所述存储器存取指令加载一个数据块到第一存储缓冲器中,所述数据块包含存所述储器存取指令请求的数据;以及    从第一存储缓冲器中执行由所述存储器存取指令请求的数据的非横向顺序存取。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术通常涉及存储器存取领域。更特别地,本专利技术涉及一种便于具有通用且连续的读/写模式的存储器数据存取的方法和装置。
技术介绍
十多年来,媒体应用一直激励着微处理器的开发。实际上,将来的媒体应用将对可用的微处理器提出更高的计算要求。因此,未来的个人计算(PC)体验在音频/视频效果方面将更丰富,并且更容易使用。更重要地是,将来的微处理器将允许计算和通信合并起来。因此,对于当前以及将来的计算设备,图像的显示已经变得越来越普及。不幸地是,这类媒体应用所需的数据量趋向于非常大。此外,在计算能力、存储器和磁盘存储、以及网络带宽方面的增加,已经便于更大和更高质量图像的创建和使用。然而,使用更大和更高质量的图像经常导致在处理器和存储器之间的一个瓶颈。因而,尽管有微处理器时钟速度不断增加的事实,图像/视频处理(媒体)应用还是经常遭受存储器等待时间的问题。虽然随机存取存储器(RAM)自称能提供对包含在其中的存储器的随机存取,但是RAM通常不能以随机模式存取。实际上,存取RAM不同部分所需要的时间可以是变化的。例如,对存储器设备内的存储单元的横向存取通常是非常方便的。与此相反,当使用常规存储器设备时,纵向的存储器存取是非常缓慢的。因此,用于视频图像的光栅扫描存储器排列跨越在高速缓冲存储器内的图像平面线性地放置像素数据,这经常导致许多的问题。首先,一条高速缓存线保持若干个基本图像块(例如,8×8或者16×16)的一些部分。与此相反,一个基本的图像块被包含在几条高速缓存线中。因而,存取一个块(假定是8×8的结构)相当于存取几条高速缓存线(例如,假设我们正处理比单条高速缓存线更宽的图像,那么在当前体系结构中至少要存取8条高速缓存线)。使用常规存储器设备存取一个图像需要至少存取八次存储器。此外,很可能需要八个软件预先缓存指令以便避免八次高速缓存器未命中。此外,当处理一个图像块时,传统的应用除了所述块本身之外还加载多余的数据到所述高速缓存器里。因此,除非我们立即处理邻近的块,否则多余的数据会被带进高速缓冲存储器中,这将会由于所述多余的数据而降低高速缓存器的性能。一种用于当处理图像数据时提供改进的高速缓存器位置的解决方案涉及基于块的存储器排列。虽然基于块的存储器排列方案提供了更高的高速缓存器位置,但是使用一条指令存取一个8个或者16个像素的纵向集合仍然是不被支持的。为了存取一个纵向数据集,大多数传统的实现方式使用压缩和解压缩操作来转置所述数据。不幸地是,在大多数应用中这是一个缓慢的过程。此外,在某些诸如图像/视频压缩等应用中,像素数据必须以变化的扫描次序存取,这几乎是对所述像素数据的随机存取。因此,还需要克服上述现有技术中的一个或多个局限性。附图说明在附图中通过示例的方式而不是限制的方式说明了本专利技术的不同实施例,其中附图包含图1描述了用于说明依据本专利技术一个实施例实现重布置(re-tiling)(RT)的高速缓冲存储器的计算机系统的框图。图2描述了一个框图,它进一步说明了依据本专利技术另一个实施例的如图1所述的处理器。图3A和3B描述了这样的框图,它们说明了依据本专利技术一个实施例的128位压缩的SIMD数据类型。图3C和3D描述了这样的框图,它们说明了依据本专利技术的另一个实施例的64位压缩的SIMD数据类型。图4描述了一个框图,它说明了在本
已知的传统光栅扫描存储器排列。图5描述了一个框图,它说明了依据本专利技术一个实施例的非横向顺序存储器读取操作。图6描述了一个框图,它进一步说明了依据本专利技术另一个实施例、如图1和2所述利用RT高速缓存存储器的计算机系统。图7A和7B描述了这样的框图,它们进一步说明了依据本专利技术另一个实施例、如图6所述的RT高速缓存器。图8A描述了一个框图,它说明了一种用于如本领域已知的那样执行像素填充的传统方法。图8B描述了一种方法,所述方法说明了依据本专利技术的一个实施例、利用RT加载操作的像素填充过程。图9A-9E描述了这样的框图,它们说明了依据如图8A所述的传统像素填充过程对一幅图像的像素数据所进行的转置和填充。图10A描述了一个框图,它说明了一幅被用于如图10B和10C所述的图像过滤的图像。图10B描述了一种用于利用如本领域已知的可分离的过滤器进行图像过滤的方法。图10C描述了说明一种依据本专利技术一个示例性实施例的方法的流程图,所述方法用于利用RT加载操作并用可分离的过滤器来执行图像过滤。图11描述了依据本专利技术一个实施例的电子系统600的框图,所述电子系统600实现了支持非横向顺序存储器存取的RT高速缓冲存储器。图12描述了流程图,它说明了依据本专利技术一个实施例的一种用于响应于存储器存取指令执行非横向顺序存取的方法。图13描述了一个流程图,它说明了依据本专利技术另一个实施例的一种用于检测存储器存取操作所请求的数据的高速缓存器命中/未命中的另一方法。图14描述了一个流程图,它说明了依据本专利技术另一个实施例的一种用于在第一存储缓冲器内加载一个数据块的另一方法。图15描述了一个流程图,它说明了依据本专利技术另一个实施例的一种用于向一个或多个第二存储缓冲器发出数据请求的另一方法。图16描述了一个流程图,它说明了依据本专利技术另一个实施例的一种用于从一个外部存储器请求数据块的另一方法。图17描述了一个流程图,它说明了依据本专利技术一个示例性实施例的一种用于在存储缓冲器内加载一数据块的另一方法。图18描述了一个流程图,它说明了依据本专利技术一个示例性实施例的一种用于执行非横向顺序存取的另一方法。图19描述了一个流程图,它说明了依据本专利技术一个示例性实施例的、一种用于在一个目的地数据存储设备内加载非横向顺序存取的数据的方法。具体实施例方式描述了一种便于具有利用一般读/写模式进行存储器数据存取的方法和装置。在一个实施例中,所述方法包含响应于一个存储器存取指令,在一个重布置(RT)的高速缓存器中检测由所述存储器存取指令请求的数据的高速缓存器命中/高速缓存器未命中。当检测到高速缓存器未命中时,依据加载指令把一个数据块加载到RT高速缓存器中。这个数据块将包含由存储器存取指令所请求的数据。一旦被加载了,就从RT高速缓存器中执行由存储器存取指令请求的数据的非横向顺序存取。最后,从RT高速缓存器存取的数据可以依据所述存储器存取指令存储在目的地数据存储设备内。在下面的描述中,为了说明起见,阐述了大量细节以便提供对本专利技术的一个彻底了解。然而,对于在本领域的技术人员来说,显然可以实践本专利技术而不用一些具体的细节。此外,以下的描述提供了示例,而且为了说明起见,附图显示了各种示例。然而,因为这些示例仅仅用来提供本专利技术实现的示例而不是提供本专利技术所有可能实现的实施例的一个完整列表,所以它们不应该以一个限制的意义进行解释。在其它实例中,以框图形式显示了众所周知的结构和设备,以避免弄模糊本专利技术实施例的细节。以下详细说明中的部分可以以对数据位进行的操作的算法和符号表示法给出。这些算法描述和表示法被数据处理领域内的技术人员用来向所述领域其它技术人员最有效地传达他们的工作内容。如在此描述的那样,一个算法是指导致一个期望结果的一个自相一致的动作序列。所述动作是那些要求对物理量进行实际操作的动作。这些量可以采取能够被存储、传送、组合、比较、以及以别的方式被操作的电信号或磁信号的形式。本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:Y·K·陈E·德比斯M·J·霍林曼M·M·杨
申请(专利权)人:英特尔公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1