处理器包括N位寄存器和接收多寄存器存储器访问指令的解码单元。多寄存器存储器访问指令指示存储器单元和寄存器。处理器包括与解码单元和与N位寄存器耦合的存储器访问单元。存储器访问单元响应于多寄存器存储器访问指令而执行多寄存器存储器访问操作。操作涉及在包括所指示的寄存器的N位寄存器的每一个中的N位数据。操作也涉及对应于所指示的存储器单元的存储器的MxN位线的不同的对应N位部分。在多寄存器存储器访问操作中涉及的N位寄存器中的N位数据的位的总数等于存储器的线的MxN位的至少一半。
【技术实现步骤摘要】
【国外来华专利技术】
本文所述的实施例通常涉及处理器。特别是,本文所述的实施例通常涉及使用处 理器来访问存储器中的数据。
技术介绍
很多处理器具有单指令多数据(SM))架构。在SM)架构中,紧缩数据指令(packeddatainstruction)、矢量指令或SIMD指令可同时或并行地对多个数据元素(例 如多对数据元素)操作。多个数据元素可被紧缩在寄存器或存储器单元内作为紧缩数据。 在紧缩数据中,寄存器或其它存储单元的位可在逻辑上分成一系列数据元素。例如,64位宽 紧缩数据寄存器可具有两个紧缩的32位数据元素、四个紧缩的16位数据元素或八个紧缩 的8位数据元素。处理器可具有响应于紧缩数据指令来同时(例如并行地)执行多个操作 的并行执行硬件。在一些处理器中,这些年来存在紧缩数据操作数的宽度的逐渐增加。紧缩数据操 作数的宽度的这个增加通常允许更多的数据元素被同时处理(例如并行地),这通常帮助 提高性能。例如,128位宽紧缩数据操作数可具有四个32位数据元素(而不是在64位宽紧 缩数据操作数的情况中的仅仅两个)、八个紧缩16位数据元素(而不是在64位宽紧缩数据 操作数的情况中的仅仅四个)等。 在某些处理器中,紧缩数据操作数的宽度的增加伴随寄存器的宽度的对应增加。 然而,增加寄存器的宽度的一个可能的缺点是由管芯上寄存器占据的区域或覆盖区的增 加。例如,扩展一组64位寄存器中的每一个寄存器使得它们每一个是128位寄存器将可能 使由管芯上寄存器占据的区域或覆盖区大致加倍。在有比架构寄存器更多的所实现的物理 寄存器的实现中影响将可能甚至更大,因为较大数量的寄存器的尺寸可大致被加倍。寄存 器的宽度的这样的增加的另一可能的缺点是在状态、上下文或存储在寄存器中的其它数据 的数量的对应增加,这些数据需要在上下文开关、功率模式状态保存和类似转变时移动到 寄存器和从寄存器移动(例如保存和恢复)。例如,对于每一个寄存器,128位而不是仅仅 64位可能需要在上下文改变时被换入和换出。处理器一般执行从存储器装入数据(例如紧缩数据操作数)并将数据(例如紧缩 数据操作数)存储到存储器的指令。例如,处理器可执行从存储器装入指令以将紧缩数据 操作数从存储器装入或读取到目的寄存器内。处理器可执行写到存储器指令以将紧缩数据 操作数从源寄存器写或存储到存储器。【附图说明】通过参考下面的描述和用于示出实施例的附图可最好地理解本专利技术。在附图中: 图1是计算机系统的实施例的方框图。 图2是处理多寄存器存储器访问指令的实施例的方法的实施例的方框流程图。 图3是处理多寄存器从存储器装入指令的实施例的方法的实施例的方框流程图。 图4是处理多寄存器写到存储器指令的实施例的方法的实施例的方框流程图。 图5是适当的多寄存器存储器访问操作的第一示例实施例的方框图。 图6是适当的多寄存器存储器访问操作的第二示例实施例的方框图。 图7是适当的多寄存器存储器访问操作的第三示例实施例的方框图。 图8是示出一组寄存器在不同的视图中可以作为64位寄存器、128位寄存器和 256位寄存器被考虑或访问的实施例的方框图。图9A-9C是多寄存器存储器访问指令的适当指令格式的实施例的方框图。 图10A是示出根据本专利技术的实施例的示例性有序流水线和示例性寄存器重命名 无序发布/执行流水线的方框图。 图10B是示出根据本专利技术的实施例的被包括在处理器中的有序架构核心和示例 性寄存器重命名无序发布/执行架构核心的示例性实施例的方框图。 图11A是根据本专利技术的实施例的单处理器核心连同它到管芯上互连网络的连接 及它的2级(L2)高速缓存的本地子集的方框图。 图11B是根据本专利技术的实施例的在图11A中的处理器核心的部分的展开图。 图12是根据本专利技术的实施例的可具有多于一个核心、可具有集成存储器控制器 以及可具有集成图形的处理器的方框图。 图13示出根据本专利技术的一个实施例的系统的方框图。 图14示出根据本专利技术的实施例的第一更具体的示例性系统的方框图。图15示出根据本专利技术的实施例的第二更具体的示例性系统的方框图。 图16示出根据本专利技术的实施例的SoC的方框图。图17是根据本专利技术的实施例的对照将源指令集中的二进制指令转换成目标指令 集中的二进制指令的软件指令转换器的使用的方框图。【具体实施方式】 在下面的描述中,阐述了很多特定的细节(例如响应于指令而执行的特定操作、 特定数量的寄存器、特定尺寸的寄存器、特定尺寸的高速缓存线、特定的处理器配置、特定 的微架构细节、特定序列的操作等)。然而,实施例可在没有这些特定细节的情况下被实施。 在其它实例中,没有详细示出公知的电路、结构和技术以避免使描述难理解。 常规存储器访问指令在存储器访问中常常只涉及单个寄存器。在存储器和单个寄 存器之间交换的数据的数量仅仅是单个寄存器的宽度(例如在64位寄存器的情况下的64 位)。然而,通常在存储器中的数据被组织为较宽的"线"。存储器的这些线表示在存储器和 处理器(例如处理器的一个或多个高速缓存)之间传输或交换的数据的数量。例如,即使 只有数据的64位可实际上被传输到寄存器文件或从寄存器文件传输,通常具有数据的那 64位的存储器的更宽的整线可在存储器和处理器的高速缓存之间传输。存储器的线可存储 在高速缓存内的高速缓存线中。很多处理器通常使用存储器的512位宽线和对应的512位 宽高速缓存线。64位数据到单个目的地寄存器内的装入可将具有64位数据的存储器的整 个512位线装入或取回到处理器的高速缓存的512位高速缓存线内且只将64位数据装入 单个目的地寄存器内。只有数据的64位将会实际上被从高速缓存传输到寄存器文件。 这样的常规"单个寄存器"存储器访问指令的一个潜在的缺点是,在高速缓存和寄 存器之间的所利用的带宽可倾向于相对低,特别是在利用相对窄的寄存器来存储紧缩数据 的处理器中。在一些情况下,在存储器和/或高速缓存线的相同线内的其它数据也可能对 处理而言是被需要的,但常规上不被指令带到寄存器内。例如,对于在比处理器的寄存器更 宽的存储器中的宽紧缩数据操作数而言情况可能就是这样。在一些情况下,将存储器的至 少一半线或在其它情况下存储器的整线装入处理器的寄存器内可能是合乎需要的。将存储 器的整个512位线装入八个64位寄存器内的一种可能的方式将是使用八个单独的单64位 寄存器从存储器装入指令。例如,指示存储器中512位线的第一 64位数据的第一单64位 寄存器从存储器装入指令可将所指示的第一 64位部分装入和存储到第一所指示的寄存器 内。存储器的整个512位线可从存储器被取回到处理器内并存储在512位高速缓存线中。 指示存储器中512位线的第二64位数据的第二单64位寄存器从存储器装入指令可从已经 装入的512位高速缓存线装入所指示的第二64位部分并将第二64位数据存储在第二所指 示的寄存器中。类似地,第三到第八单64位寄存器从存储器装入指令也可使用来自已经装 入高速缓存中的高速缓存线的数据。然而,这样的方法的可能的缺点是执行多个指令的需 要,这往往增加代码大小和处理时间,并可涉及多个高速缓存访问。 在本文公开了多寄存器存储器访问指令、执行指令的处理器、当处理或执行指令 时由处理器执行的方法、以及合并一个或多个处理器以处理或执行本文档来自技高网...
【技术保护点】
一种处理器,包括:多个N位寄存器;解码单元,其接收多寄存器存储器访问指令,所述多寄存器存储器访问指令指示存储器单元并指示寄存器;以及存储器访问单元,其与所述解码单元耦合并与所述多个N位寄存器耦合,所述存储器访问单元响应于所述多寄存器存储器访问指令而执行多寄存器存储器访问操作,所述多寄存器存储器访问操作涉及:在包括所指示的寄存器的所述多个N位寄存器的每一个寄存器中的N位数据,以及对应于所指示的存储器单元的存储器的MxN位线的不同的对应N位部分,其中在所述多寄存器存储器访问操作中涉及的所述多个N位寄存器中的所述N位数据的位的总数等于存储器的所述线的所述MxN位的至少一半。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:G·欣顿,B·托尔,R·辛加尔,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。