存储器加载到加载熔合制造技术

技术编号:19023295 阅读:36 留言:0更新日期:2018-09-26 19:02
一种用于对中央处理单元(CPU)的加载‑存储单元(LSU)中的指令的执行进行级联以减少与指令相关联的延时的系统和方法。响应于两个紧接着的连续存储器加载指令中的第一存储器加载指令,由所述LSU读取存储在高速缓存器中的第一数据。对响应于所述第一存储器加载指令从所述高速缓存器读取的第一数据执行对齐、符号扩展和/或端操作,以及并行地基于响应于所述第一存储器加载指令而读取的所述第一数据的正确对齐来选择存储器加载地址转发结果,以提供针对所述两个紧接着的连续存储器加载指令中的第二存储器加载指令的下一个地址。基于所选存储器加载地址转发结果,由LSU响应于所述第二存储器加载指令来读取存储在高速缓存器中的第二数据。

【技术实现步骤摘要】
存储器加载到加载熔合相关申请的交叉引用本申请根据35U.S.C.§119(e)要求于2017年3月14日提交的美国临时专利申请号62/471,354和2017年6月6日提交的美国专利申请号15/615,811的优先权,其公开通过引用全部并入本文。
本文公开的主题总体上涉及计算系统,并且更具体地,涉及一种用于对中央处理单元(CPU)的加载-存储单元(LSU)中的指令的执行进行级联以减少与指令相关联的延时的系统和方法。
技术介绍
CPU执行各种类型的指令。由CPU执行的最常见的指令之一是存储器加载(LD)指令。在与1级数据(L1D)高速缓存器直接进行接口连接的CPU的LSU中执行可以与LD指令相关联的操作。减少LD指令的延时对于实现高性能CPU执行至关重要。在大多数CPU中,LD指令的延时在3到5个周期之间变化。通常,这样的多周期延时涉及各种复杂的操作,该操作包括转换检测缓冲区(TLB)中的地址查找、L1D高速缓存器中的标签索引查找、标签物理地址的比较、L1D高速缓存器的数据读取以及从L1D高速缓存器读取的数据值的对齐更新。CPU可以执行LD指令,该LD指令可以驱动或者使得地址生成单元(AGU)生成紧随其后的LD指令的地址。也就是说,随后的LD指令的地址(本文被称为消费者LD指令)取决于先前的存储器加载操作(本文被称为产生者LD指令)。例如,考虑以下两个LD指令:LDRr0,[r1]和LDRr2,[r0]。在这个示例中,第二LD指令紧接在第一LD指令之后。虽然这两个指令看上去是两个分离的操作,但在这种情况下,第一(产生者)LD指令执行第一LD操作,并生成(产生)第二(消费者)LD操作的存储器地址。如果LD指令驱动紧随其后的从属LD指令的地址生成,则每个LD指令的延时顺序地组合为两个LD指令的整个延时。因此,从属存储器加载操作的延时对CPU的性能而言至关重要。
技术实现思路
一个示例实施例提供了一种对CPU的指令的执行进行级联的方法,该方法可以包括:响应于两个连续的存储器加载指令中的第一存储器加载指令,读取存储在第一高速缓存器中的第一数据和第一指令中的一个;并行地执行以下操作:对响应于所述第一存储器加载指令而从所述第一高速缓存器读取的所述第一数据和所述第一指令中的所述一个进行对齐、符号扩展和端操作中的一个或多个,和基于响应于所述第一存储器加载指令而读取的所述第一数据和所述第一指令中的所述一个的正确对齐来选择存储器加载地址转发结果,以提供针对所述两个连续存储器加载指令中的第二存储器加载指令的下一个地址;以及基于所选择的存储器加载地址转发结果,响应于所述第二存储器加载指令而读取第二数据和第二指令中的相应一个。在一个实施例中,所述第一存储器加载指令可以包括字节对齐的存储器地址,并且其中所述第一存储器加载指令可以不包括符号扩展。一个示例实施例提供了一种CPU,该CPU可以包括:加载数据对齐逻辑电路,用于对响应于两个连续的存储器加载指令中的第一存储器加载指令而从高速缓存器接收到的第一数据和第一指令中的一个执行对齐、符号扩展和端操作中的一个或多个;以及选择器逻辑电路,与所述加载数据对齐逻辑电路并联,其中所述选择器逻辑电路基于响应于所述第一存储器加载指令而读取的所述第一数据和所述第一指令的所述一个的正确对齐,与所述加载数据对齐逻辑电路并行地执行对存储器加载地址转发结果的选择,以提供针对所述两个连续的存储器加载指令中的第二存储器加载指令的下一个地址,其中所选择的存储器加载地址转发结果可以被用于响应于所述第二存储器加载指令而从所述高速缓存器读取第二数据。在一个实施例中,所述第一存储器加载指令可以包括字节对齐的存储器地址,并且所述第一存储器加载指令可以不包括符号扩展。附图说明在以下的部分中,将参考附图中示出的示例性实施例来描述本文公开的主题的各方面,其中:图1描绘了根据本文公开的主题的包括LSU在内的CPU的示例实施例的功能框图,该CPU减少了与由CPU执行的指令相关联的延时;图2描绘了根据本文公开的主题的LSU内的LD指令级联器的示例实施例的功能框图;图3A描绘了根据本文公开的主题的保存在LD调度器阵列中的与LD指令相关的信息的一个实施例;图3B描绘了根据本文公开的主题的将源地址信息与数据目的地信息进行比较的示例逻辑的一个实施例;图4描绘了根据本文公开的主题的用于在CPU的LSU中对产生者-消费者LD指令的执行进行级联的方法的示例实施例;图5描绘了根据本文公开的主题的LSU内的LD指令级联器的示例备选实施例的功能框图;图6描绘了根据本文公开的主题的LSU内的LD指令级联器的另一示例备选实施例的一部分的功能框图;以及图7描绘了根据本文公开的主题的包括一个或多个集成电路(芯片)的电子设备,该集成电路用于在CPU的LSU中对指令的执行进行级联,以减少与指令相关联的延时。具体实施方法在以下详细描述中,阐述了大量的具体细节,以提供对本公开的的透彻理解。然而,本领域技术人员将理解,所公开的方面可以在没有这些具体细节的情况下实施。在其他情况下,没有详细描述公知的方法、流程、组件和电路,以免模糊本文公开的主题。贯穿本说明书对“一个实施例”或“实施例”的提及意味着结合实施例描述的特定特征、结构或特性可以包括在本文公开的至少一个实施例中。因此,在说明书的各个位置中出现短语“在一个实施例中”或“在实施例中”或“根据一个实施例”(或具有类似重要性的其他短语)可以不一定均是指相同的实施例。此外,可以在一个或多个实施例中通过任何合适的方式来组合特定特征、结构或特性。在这方面,如本文所使用的,词语“示例性的”意指“用作示例、实例或说明”。本文中描述为“示例性的”任何实施例不必解释为相比其他实施例优选或者有利。而且,取决于本文讨论的上下文,单数术语可以包括对应复数形式,并且复数术语可以包括对应单数形式。需要进一步注意的是,本文所示和讨论的各种附图(包括组件图)仅用于说明目的,而没有按比例绘制。类似地,各种波形和时序图仅用于说明目的。例如,为了清楚,一些元件的尺寸可以相对于其他元件被放大。此外,在适合之时,在附图之间重复附图标记可以指示对应和/或相似的元素。本文中所使用的术语仅仅是为了描述具体示例性实施例的目的,而不是意在限制本要求保护的主题。如本文中使用的,单数形式“一”、“一个”和“所述”意在还包括复数形式,除非上下文明确地给出相反的指示。还应该理解,术语“包括”和/或“包含”在本说明书中使用时,表明存在所述的特征、整体、步骤、操作、元件和/或组件,但是并没有排除存在或另外添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其组合。如本文所用的术语“第一”、“第二”等被用作用于它们之前的名词的标签,而不意味着任何类型的排序(例如空间、时间、逻辑等),除非如此明确定义。此外,可以在两个或更多个图中使用相同的附图标记来表示具有相同或相似功能的部件、组件、块、电路、单元或模块。然而,这样的使用仅仅是为了简化说明和便于讨论;并不意味着这些组件或单元的构造或架构细节在所有实施例中是相同的,或者这样的常用参考的部件/模块是实现本文公开的特定实施例的教义的唯一方式。除非另外定义,否则本文使用的所有术语(包括技术和科学术语)具有与本主题所属领域的普通技术本文档来自技高网
...

【技术保护点】
1.一种对中央处理单元CPU的指令的执行进行级联的方法,包括:响应于两个连续的存储器加载指令中的第一存储器加载指令,读取存储在第一高速缓存器中的第一数据和第一指令中的一个;以及并行地执行以下操作:对响应于所述第一存储器加载指令而从所述第一高速缓存器读取的所述第一数据和所述第一指令中的所述一个进行对齐、符号扩展和端操作中的一个或多个,和基于响应于所述第一存储器加载指令而读取的所述第一数据和所述第一指令中的所述一个的正确对齐来选择存储器加载地址转发结果,以提供针对所述两个连续存储器加载指令中的第二存储器加载指令的下一个地址;以及基于所选择的存储器加载地址转发结果,响应于所述第二存储器加载指令而读取第二数据和第二指令中的相应一个。

【技术特征摘要】
2017.03.14 US 62/471,354;2017.06.06 US 15/615,8111.一种对中央处理单元CPU的指令的执行进行级联的方法,包括:响应于两个连续的存储器加载指令中的第一存储器加载指令,读取存储在第一高速缓存器中的第一数据和第一指令中的一个;以及并行地执行以下操作:对响应于所述第一存储器加载指令而从所述第一高速缓存器读取的所述第一数据和所述第一指令中的所述一个进行对齐、符号扩展和端操作中的一个或多个,和基于响应于所述第一存储器加载指令而读取的所述第一数据和所述第一指令中的所述一个的正确对齐来选择存储器加载地址转发结果,以提供针对所述两个连续存储器加载指令中的第二存储器加载指令的下一个地址;以及基于所选择的存储器加载地址转发结果,响应于所述第二存储器加载指令而读取第二数据和第二指令中的相应一个。2.根据权利要求1所述的方法,其中所述第一存储器加载指令包括字节对齐的存储器地址,以及其中所述第一存储器加载指令不包括符号扩展。3.根据权利要求2所述的方法,其中所述第一存储器加载指令包括4字节对齐的存储器地址。4.根据权利要求2所述的方法,其中所述第二存储器加载指令取决于所述第一存储器加载指令以产生针对所述第二存储器加载指令的地址。5.根据权利要求1所述的方法,其中读取所述第一数据和所述第一指令中的所述一个发生在第一执行周期期间,以及其中对所述第一数据和所述第一指令中的所述一个进行的对齐、符号扩展和/或端操作以及对所述存储器加载地址转发结果的选择发生在紧接着所述第一执行周期之后的第二执行周期中。6.根据权利要求1所述的方法,还包括基于所述第二存储器加载指令来查找转换检测缓冲区和高速缓存器标签阵列,以确定所述第二数据的存储位置。7.根据权利要求6所述的方法,其中所述第二数据和所述第二指令中的所述相应一个的存储位置是所述第一高速缓存器和第二高速缓存器中的一个。8.根据权利要求7所述的方法,其中所述第一数据和所述第一指令分别存储在数据高速缓存器和指令高速缓存器中。9.根据权利要求1所述的方法,其中存储在所述第一高速缓存器的所述第一数据由加载存储单元LSU和数据预取单元中的一个读取。10.根据权利要求1所述的方法,其中所述第一指令是直接分支控...

【专利技术属性】
技术研发人员:保罗·E·凯特金拉马·S·戈帕尔卡迪克·孙达拉姆
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

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

1