多寄存器存储器访问指令、处理器、方法和系统的制作方法_2

文档序号:9493648阅读:来源:国知局
从多寄存器存储器访问指令得到的一个或多个解码的或转换的指令或控制信号)来操 作以执行多寄存器存储器访问操作。在一些实施例中,多寄存器存储器访问操作可涉及在 包括、实现或包含由指令104指示的寄存器112的多个N位寄存器110的每一个中的N位 数据。而且,在一些实施例中,多寄存器存储器访问操作也可涉及对应于所指示的存储器单 元118的存储器116的MxN位线的不同的对应N位部分114。如所示,存储器的MxN位线可 例如以通常常规的方式存储在高速缓存109的MxN位高速缓存线122中。存储器访问单元 和/或处理器可包括可操作来响应于指令而执行操作的特定或特有的逻辑(例如电路或可 能与固件和/或软件组合的其它硬件)。
[0040] 在一些实施例中,多寄存器存储器访问指令可以是多寄存器从存储器装入指令。 响应于多寄存器从存储器装入指令,在一些实施例中,处理器可将存储器的MxN位线的不 同N位部分装入多个N位寄存器的每一个中。在其它实施例中,多寄存器存储器访问指令可 以是多寄存器写到存储器指令。响应于多寄存器写到存储器指令,在一些实施例中,处理器 可将N位数据从多个N位寄存器的每一个写到存储器的MxN位线的不同的对应N位部分。
[0041] 在一些实施例中,在多寄存器存储器访问操作中涉及的位的总数(例如在操作中 涉及的多个N位寄存器110的每一个中的N位数据的和)可等于存储器116的线的MxN位 的至少一半或在一些情况下达到全部。在一些实施例中,存储器的线的MxN位的至少一半 或在一些情况下达到全部可从高速缓存109传输到这组寄存器110。在各种实施例中,可涉 及至少两个、三个、四个或更多个寄存器。作为一个示例,在MxN位等于512位且N等于128 位的实施例中,于是在各种方面中至少两个128位寄存器110、在一些情况下三个128位寄 存器110、或在一些情况下四个128位寄存器110可在多寄存器存储器访问操作中被涉及。 作为另一示例,在MxN位等于512位且N等于64位的实施例中,于是在各种方面中至少三 个64位寄存器110、至少四个64位寄存器110、或在一些情况下大约达到八个64位寄存器 110可在多寄存器存储器访问操作中被涉及。作为又一示例,在MxN位等于512位且N等于 256位的实施例中,两个256位寄存器110可在多寄存器存储器访问操作中被涉及。
[0042] 为了避免使描述难理解,示出并描述了相对简单的处理器102。在其它实施例中, 处理器可以可选地包括在处理器中找到的其它公知的部件。这样的部件的示例包括但不限 于分支预测单元、指令取出单元、指令和数据翻译旁视缓冲器、预取缓冲器、微指令队列、微 指令序列、寄存器重命名单元、指令调度单元、引退单元、包括在处理器中的其它部件和其 各种组合。实际上有在处理器中的部件的很多不同的组合和配置,且实施例不限于任何特 定的组合或配置。实施例可包括在具有多个核心、逻辑处理器、或执行引擎的处理器中,其 中至少一个能够执行多寄存器存储器访问指令的实施例。
[0043] 图2是处理多寄存器存储器访问指令的实施例的方法230的实施例的方框流程 图。该方法可由处理器、指令处理装置、集成电路等执行和/或在处理器、指令处理装置、集 成电路等内执行。
[0044] 该方法包括在块231接收多寄存器存储器访问指令。在一些实施例中,多寄存器 存储器访问指令可指定或指示存储器单元,并可指定或指示寄存器。在各种方面中,可在处 理器、指令处理装置或其一部分(例如指令取出单元、解码单元、指令转换器等)处接收指 令。在各种方面中,可从管芯外源(例如从存储器、磁盘、互连等)或从管芯上源(例如从 指令高速缓存、指令取出单元等)接收指令。
[0045] 该方法包括在块232响应于多寄存器存储器访问指令而执行多寄存器存储器访 问操作。在一些实施例中,存储器访问单元或处理器的其它部分可执行存储器访问操作。在 一些实施例中,多寄存器存储器访问操作可涉及在包括、实现或包含所指示的寄存器和对 应于所指示的存储器单元的存储器的MxN位线的不同的对应N位部分的多个N位寄存器的 每一个中的N位数据(例如存储器的MxN位线包括在所指示的存储器单元处的数据)。
[0046] 在一些实施例中,在多寄存器存储器访问操作中涉及的多个N位寄存器中的N位 数据的位的总数可等于存储器的线的MxN位的至少一半或在一些情况下达到全部。在一些 实施例中,在多寄存器存储器访问操作中涉及的多个N位寄存器中的N位数据的位的总数 可等于至少256位、至少512位或在一些情况下更多位(例如1024位)。在各种实施例中, 在多寄存器存储器访问操作中可涉及至少两个、三个、四个或更多个寄存器。
[0047] 图3是处理多寄存器从存储器装入指令的实施例的方法330的实施例的方框流程 图。该方法可由处理器、指令处理装置、集成电路等执行和/或在处理器、指令处理装置、集 成电路等内执行。
[0048] 该方法包括在块331接收多寄存器从存储器装入指令。在一些实施例中,多寄存 器从存储器装入指令可指定或指示存储器单元,并可指定或指示寄存器。可以用上面结合 图2所述的各种方式来接收指令。
[0049] 该方法还包括在块332响应于多寄存器从存储器装入指令而执行多寄存器从存 储器装入操作。在一些实施例中,存储器访问单元或处理器的其它部分可执行操作。在一 些实施例中,执行操作可包括在包括所指示的寄存器的多个N位寄存器的每一个中装入对 应于所指示的存储器单元的存储器的MxN位线的不同的N位部分。在一些实施例中,这可 包括将来自MxN位高速缓存线的不同的N位部分从高速缓存传输到每一个不同的N位寄存 器。
[0050] 在一些实施例中,从存储器的MxN位线装入在多个N位寄存器中的不同的N位部 分的位的总数等于存储器的线的MxN位的至少一半或在一些情况下达到全部。在一些实施 例中,从存储器的MxN位线装入在多个N位寄存器中的不同的N位部分的位的总数可等于 至少256位、至少512位、或在一些情况下更多位(例如1024位)。在各种实施例中,在多 寄存器从存储器装入操作中可涉及至少两个、三个、四个或更多个寄存器。在一个特定的示 例中,操作可装入在至少四个128位寄存器的每一个中为至少512位的存储器的线的不同 的128位部分。在另一特定的示例中,操作可装入在至少两个256位寄存器的每一个中为 至少512位的存储器的线的不同的256位部分。
[0051] 图4是处理多寄存器存储到存储器指令的实施例的方法430的实施例的方框流程 图。该方法可由处理器、指令处理装置、集成电路等执行和/或在处理器、指令处理装置、集 成电路等内执行。
[0052] 该方法包括在块431接收多寄存器存储到存储器指令。在一些实施例中,多寄存 器存储到存储器指令可指定或指示存储器单元,并可指定或指示寄存器。可以用在上面结 合图2所述的各种方式接收指令。
[0053] 该方法还包括在块432响应于多寄存器存储到存储器指令执行多寄存器存储到 存储器操作。在一些实施例中,存储器访问单元或处理器的其它部分可执行该操作。在一 些实施例中,执行该操作可包括将N位数据从包括所指示的寄存器的多个N位寄存器的每 一个写到对应于所指示的存储器单元的存储器的MxN位线的不同的对应N位部分。在一些 实施例中,这可包括将N位数据从多个N位寄存器中的每一个传输到高速缓存并将每一个 不同的N位数据存储在MxN位高速缓存线的不同的N位部分中。
[0054] 在一些实施例中,从多个N位寄存器写到存储器的MxN位线的N位数据的位的总 数可等于存储器的线的MxN位的至少一半或在一些情况下达到全部。在一些实施例中,从 多个N位寄存器写到存储器的MxN位线的N位数据的位的总数可等于至少256位、至少512 位、或在一些情况下更多位(例如1024位)。在各种实施例中,在多寄存器存储到存储器操 作中可涉及至少两个、三个、四个或更多个寄存器。
[0055] 以相对基本的形式描述了图2-4的方法。然而,操作可以可选地添加到方法和/ 或从方法移除。例如,在一些实施例中,操作可以可选地添加到这些方法中的任一个以将与 多个N位寄存器相关联的N位数据(例如将被装入到N位寄存器内或从N位寄存器写入) 存储在高速缓存中的MxN位高速缓存线的不同的对应N位部分中。作为另一示例,在一些 实施例中,操作可以可选地添加到这些方法中的任一个以在高速缓存和N位寄存器之间传 输与多个N位寄存器相关联的N位数据(例如将会被装入到N位寄存器内或从N位寄存器 写入)。作为另外的示例,一个或多个操作可以可选地被添加以取出指令、对指令解码、使指 令引退等或其各种组合。
[0056] 在一些实施例中,图2-4中的任一个的操作和/或方法可由图1的处理器执行和/ 或在图1的处理器内执行。可选地,上面对图1的处理器描述的细节和可选细节也可选地 应用于图2-4的操作和/或方法,其在实施例中可由这样的处理器执行和/或在这样的处 理器内执行。可选地,图2-4中的任一个的操作和/或方法可由类似或不同的处理器执行 和/或在类似或不同的处理器内执行。而且,图1的处理器可执行与图2-4中的任一个的 处理器相同、相似或不同的操作和/或方法。
[0057] 图5是可响应于多寄存器存储器访问指令的第一示例实施例而执行的适当的多 寄存器存储器访问操作530的第一示例实施例的方框图。多寄存器存储器访问指令可指示 在存储器520中的存储器单元518和处理器502的寄存器512。在这个实施例中,所指示的 存储器单元对应于具有四个128位数据部分514-1到514-4的存储器516的512位线。例 如,存储器的512位线可将数据存储在所指示的存储器单元处。在这个实施例中,所指示的 寄存器包括一组四个128位寄存器510、由一组四个128位寄存器510实现、或包含一组四 个128位寄存器510。在一些实施例中,四个128位寄存器可以是相邻的或连续的寄存器。
[0058] 在这个实施例中,多寄存器存储器访问操作涉及在四个128位寄存器510的每一 个中的四个不同的128位数据部分514和存储器516的512位线的不同的对应128位部分 514。例如,操作可在存储器的512位线和这组四个128位寄存器之间传输或交换数据。在 一些实施例中,操作可以是多寄存器从存储器装入操作的实施例,且128位数据部分514可 从存储器516的512位线装入或读取到四个128位寄存器510内。在其它实施例中,操作 可以是多寄存器写到存储器操作的实施例,且128位数据部分514可从四个128位寄存器 510写到或存储到存储器516的512位线。
[0059] 存储器的512位线也可存储在高速缓存509的512位高速缓存线522中。在一些 实施例中,可在存储器和处理器(例如高速缓存)之间通过互连524交换数据。在一些实 施例中,互连524可根据时钟速率等具有512位、256位的位宽或某个其它位宽。在一些实 施例中,可在高速缓存和这组四个128位寄存器之间通过互连534交换数据。在一些实施 例中,互连534可根据时钟速率等具有512位或至少256位的带宽或位宽。本发明的范围 不限于互连524或534的位宽。
[0060] 图6是可响应于多寄存器存储器访问指令的第二示例实施例而执行的适当的多 寄存器存储器访问操作630的第二示例实施例的方框图。多寄存器存储器访问指令可指示 在存储器620中的存储器单元618和处理器602的寄存器612。在这个实施例中,所指示 的存储器单元对应于具有两个256位数据部分614-1到614-2的存储器616的512位线。 例如,存储器的512位线可将数据存储在所指示的存储器单元处。在这个实施例中,所指示 的寄存器包括一组两个256位寄存器610-1、610-2、由一组两个256位寄存器610-U610-2 实现、或包含一组两个256位寄存器610_1、610_2。在一些实施例中,两个256位寄存器可 以是相邻的或连续的寄存器。
[0061] 在这个实施例中,多寄存器存储器访问操作涉及在两个256位寄存器610的每一 个中的两个不同的256位数据部分614,以及存储器616的512位线的不同的对应256位 部分614。例如,操作可在存储器的512位线和这两个256位寄存器之间传输或交换数据。 在一些实施例中,操作可以是多寄存器从存储器装入操作的实施例,且256位数据部分614 可从存储器616的512位线装入或读取到两个256位寄存器610内。在其它实施例中,操 作可以是多寄存器写到存储器操作的实施例,且256位数据部分614可从两个256位寄存 器610写到或存储到存储器616的512位线。
[0062] 存储器的512位线也可存储在高速缓存609的512位高速缓存线622中。在一些 实施例中,可在存储器和处理器(例如高速缓存)之间通过互连624交换数据。在一些实 施例中,互连624可根据时钟速率等具有512位、256位的位宽或某个其它位宽。在一些实 施例中,可在高速缓存和这组两个256位寄存器之间通过互连634交换数据。在一些实施 例中,互连634可根据时钟速率等具有512位或至少256位的带宽或位宽。本发明的范围 不限于互连624或634的位宽。
[0063] 图7是可响应于多寄存器存储器访问指令的第三示例实施例而执行的适当的多 寄存器存储器访问操作730的第三示例实施例的方框图。多寄存器存储器访问指令可指示 在存储器720中的存储器单元718和处理器702的寄存器712。在这个实施例中,所指示的 存储器单元对应于具有八个64位数据部分714-1到714-8的存储器716的512位线。例 如,存储器的512位线可将数据存储在所指示的存储器单元处。在这个实施例中,所指示的 寄存器包括一组四个64位寄存器710、由一组四个64位寄存器710实现、或包含一组四个 64位寄存器710。在其它实施例中,可使用在四个和八个64位寄存器710之间的任何数目 (例如六个、八个等)。在一些实施例中,四个或多达八个64位寄存器可以是相邻的或连续 的寄存器。
[0064] 在这个实施例中,多寄存器存储器访问操作涉及在四个(或多达八个)64位寄存 器710的每一个中的四个(或多达八个)不同的64位数据部分714,以及存储器716的 512位线的不同的对应64位部分714。例如,操作可在存储器的512位线的四个(或多达 八个)数据部分和这四个(或多达八个)64位寄存器之间传输或交换数据。在一些实施例 中,操作可以是多寄存器从存储器装入操作的实施例,且四个(或多达八个)64位数据部分 714可从存储器716的512位线装入或读取到四个(或多达八个)64位寄存器7
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1