【技术实现步骤摘要】
经改进的插入指令的装置和方法本申请是针对分案申请201710399789.6再次提出的分案申请。分案申请201710399789.6是PCT国际申请号为PCT/US2011/067097、国际申请日为2011年12月23日、进入中国国家阶段的申请号为201180076302.1,题为“经改进的插入指令的装置和方法”的专利技术专利申请的分案申请。
本专利技术一般涉及计算科学,且更具体地涉及经改进的插入指令的装置和方法。
技术介绍
图1示出了在半导体芯片上用逻辑电路实现的处理核100的高级图。该处理核包括流水线101。该流水线由各自被设计成在完全执行程序代码指令所需的多步骤过程中执行特定步骤的多个级组成。这些级通常至少包括:1)指令取出和解码;2)数据取出;3)执行;4)写回。执行级对由在先前级(例如在上述步骤1))中所取出和解码的指令所标识并在另一先前级(例如在上述步骤2))中被取出的数据执行由在先前级(例如在上述步骤1))中取出和解码的指令所标识的特定操作。被操作的数据通常是从(通用)寄存器存储空间102中取出的。在该操作完成时所创建的新数据通常也被“写回”寄存器存储空间(例如在上述级4))。与执行级相关联的逻辑电路通常由多个“执行单元”或“功能单元”103_1至103_N构成,这些单元各自被设计成执行其自身的唯一操作子集(例如,第一功能单元执行整数数学操作,第二功能单元执行浮点指令,第三功能单元执行从高速缓存/存储器的加载操作和/或到高速缓存/存储器的存储操作等等)。由所有这些功能单元执行的所有操作 ...
【技术保护点】
1.一种处理器,包括:/n多个向量寄存器,所述多个向量寄存器包括至少一个源向量寄存器和至少一个目的地寄存器,所述至少一个源向量寄存器用于存储多个紧缩数据元素;以及/n指令解码电路,用于对指令进行解码;/n执行电路,用于执行由所述指令指定的操作,其中,响应于所述指令解码电路对提取指令解码,所述执行电路用于:分别从第一源寄存器位置和第二源寄存器位置提取至少第一紧缩数据元素和第二紧缩数据元素;以及将所述第一紧缩数据元素和所述第二紧缩数据元素写入目的地寄存器中的第一数据元素位置和第二数据元素位置;/n所述执行电路用于:基于被包括在所述提取指令中的立即数来标识要被提取的所述第一紧缩数据元素和所述第二紧缩数据元素。/n
【技术特征摘要】
1.一种处理器,包括:
多个向量寄存器,所述多个向量寄存器包括至少一个源向量寄存器和至少一个目的地寄存器,所述至少一个源向量寄存器用于存储多个紧缩数据元素;以及
指令解码电路,用于对指令进行解码;
执行电路,用于执行由所述指令指定的操作,其中,响应于所述指令解码电路对提取指令解码,所述执行电路用于:分别从第一源寄存器位置和第二源寄存器位置提取至少第一紧缩数据元素和第二紧缩数据元素;以及将所述第一紧缩数据元素和所述第二紧缩数据元素写入目的地寄存器中的第一数据元素位置和第二数据元素位置;
所述执行电路用于:基于被包括在所述提取指令中的立即数来标识要被提取的所述第一紧缩数据元素和所述第二紧缩数据元素。
2.如权利要求1所述的处理器,进一步包括:
指令取出电路,用于从存储器取出所述指令。
3.如权利要求1所述的处理器,进一步包括:
多个核,所述执行电路集成于所述多个核中的第一核,并且第二执行电路集成于所述多个核中的第二核。
4.如权利要求3所述的处理器,进一步包括:
集成于核中的一个或多个核的第一级数据高速缓存和第一级指令高速缓存。
5.如权利要求4所述的处理器,进一步包括:
高速缓存一致性电路,用于维持不同核的L1数据高速缓存之间的一致性。
6.如权利要求1所述的处理器,进一步包括:
转换后备缓冲器,用于存储能由所述执行电路用于将虚拟地址转换为物理地址的虚拟至物理地址转换。
7.如权利要求1所述的处理器,进一步包括:
重排序缓冲器,用于存储源自所述指令的乱序执行的数据。
8.如权利要求1所述的处理器,进一步包括:
寄存器重命名电路,用于标识物理寄存器堆中的源向量寄存器和目的地向量寄存器。
9.一种方法,包括:
由处理器的指令解码电路对指令解码;以及
由所述处理器的执行电路执行由所述指令指定的操作,其中,所述执行包括:响应于所述指令解码电路对提取指令解码,
由所述执行电路分别从第一源寄存器位置和第二源寄存器位置提取至少第一紧缩数据元素和第二紧缩数据元素;以及
由所述执行电路将所述第一紧缩数据元素和所述第二紧缩数据元素写入目的地寄存器中的第一数据元素位置和第二数据元素位置,
其中,要被提取的所述第一紧缩所数据元素和所述第二紧缩数据元素基于被包括在所述提取指令中的立即数来标识。
10.如权利要求9所述的方法,进一步包括:
从存储器取出所述指令。
11.如权利要求9所述的方法,其中,所述处理器进一步包括:
多个核,所述执行电路集成于所述多个核中的第一核,并且第二执行电路集成于所述多个核中的第二核。
12.如权利要求11所述的方法,其中,所述处理器进一步包括:
集成于核中的一个或多个核的第一级数据高速缓存和第一级指令高速缓存。
13.如权利要求12所述的方法,进一步包括:
维持不同核的L1数据高速缓存之间的一致性。
14.如权利要求9所述的方法,进一步包括:
存储能由所述执行电路用于将虚拟地址转换为物理地址的虚拟至物理地址转换。
15.如权利要求9所述的方法,进一步包括:
存储源自所述指令的乱序执行的数据。
16.如权利要求9所述的方法,进一步包括:
标识物理寄存器堆中的所述源向量寄存器和所述目的地向量寄存器。
17.一种非瞬态机器可读存储介质,包括存储在其上的指令,所述指令当由处理器执行时使所述处理器:
利用所述处理器的指令解码电路对指令解码;以及
利用所述处理器的执行电路执行由所述指令指定的操作,其中,所述执行包括:响应于所述指令解码电路对提取指令解码,
利用所述执行电路分别从第一源寄存器位置和第二源寄存器位置提取至少第一紧缩数据元素和第二紧缩数据元素;以及
利用所述执行电路将所述第一紧缩数据元素和所述第二紧缩数据元素写入目的地寄存器中的第一数据元素位置和第二数据元素位置,
其中,要被提取的所述第一紧缩所数据元素和所述第二紧缩数据元素基于被包括在所述提取指令中的立即数来标识。
18.如权利要求17所述的非瞬态机器可读存储介质,其中,所述指令当由处理器执行时进一步使所述处理器:
从存储器取出所述指令。
19.如权利要求17所述的非瞬态机器可读存储介质,其中,所述处理器进一步包括:
多个核,所述执行电路集成于所述多个核中的第一核,并且第二执行电路集成于所述多个核中的第二核。
20.如权利要求19所述的非瞬态机器可读存储介质,其中,所述处理器进一步包括:
集成于核中的一个或多个核的第一级数据高速缓存和第一级指令高速缓存。
21.如权利要求20所述的非瞬态机器可读存储介质,其中,所述指令当由处理器执行时进一步使所述处理器:
维持不同核的L1数据高速缓存之间的一致性。
22.如权利要求17所述的非瞬态机器可读存储介质,其中,所述指令当由处理器执行时进一步使所述处理器:
存储能由所述执行电路用于将虚拟地址转换为物理地址的虚拟至物理地址转换。
23.如权利要求17所述的非瞬态机器可读存储介质,其中,所述指令当由处理器执行时进一步使所述处理器:
存储源自所述指令的乱序执行的数据。
24.如权利要求17所述的非瞬态机器可读存储介质,其中,所述指令当由处理器执行时进一步使所述处理器:
标识物理寄存器堆中的所述源向量寄存器和所述目的地向量寄存器。
25.一种处理器,包括:
多个向量寄存器,所述多个向量寄存器包括源向量寄存器和目的地向量寄存器;
指令解码电路,用于对指令进行解码;以及
执行单元,用于执行由所述指令指定的操作,其中,响应于所述指令解码电路对插入指令进行解码,所述执行单元用于将来自所述源向量寄存器的64位的数据元素复制到所述目的地向量寄存器中的64位的数据元素位置,
其中,所述目的地向量寄存器中的所述64位的数据元素位置基于与所述插入指令的立即数相关联的第一值。
26.如权利要求25所述的处理器,进一步包括:
指令取出电路,用于从存储器取出所述指令。
27.如权利要求25所述的处理器,进一步包括:
多个核,所述执行单元集成于所述多个核中的第一核,并且第二执行单元集成于所述多个核中的第二核。
28.如权利要求27所述的处理器,进一步包括:
集成于核中的一个或多个核的第一级数据高速缓存和第一级指令高速缓存。
29.如权利要求28所述的处理器,进一步包括:
高速缓存一致性电路,用于维持不同核的L1数据高速缓存之间的一致性。
30.如权利要求25所述的处理器,进一步包括:
转换后备缓冲器,用于存储能由所述执行单元用于将虚拟地址转换为物理地址的虚拟至物理地址转换。
31.如权利要求25所述的处理器,进一步包括:
重排序缓冲器,用于存储源自所述指令的乱序执行的数据。
32.如权利要求25所述的处理器,进一步包括:
寄存器重命名电路,用于标识物理寄存器堆中的所述源向量寄存器和所述目的地向量寄存器。
33.一种方法,包括:
由处理器的指令解码电路将至少一条指令解码为经解码的至少一条指令;以及
响应于所述至少一条指令是插入指令,由所述处理器的执行单元执行所述经解码的至少一条指令,以将来自源向量寄存器的64位的数据元素复制到目的地向量寄存器中的64位的数据元素位置,
其中,所述目的地向量寄存器中的所述64位的数据元素位置基于与所述插入指令的立即数相关联的第一值。
34.如权利要求33所述的方法,进一步包括:
使用指令取出电路从存储器取出所述至少一条指令。
35.如权利要求33所述的方法,其中,所述处理器进一步包括:
多个核,所述执行单元集成于所述多个核中的第一核,并且第二执行单元集成于所述多个核中的第二核。
36.如权利要求35所述的方法,其中,所述处理器进一步包括:
集成于核中的一个或多个核的第一级数据高速缓存和第一级指令高速缓存。
37.如权利要求36所述的方法,进一步包括:
使用高速缓存一致性电路来维持多个核的L1数据高速缓存之间的一致性。
38.如权利要求33所述的方法,进一步包括:
将虚拟至物理地址转换存储在转换后备缓冲器中,所述虚拟至物理地址转换能由所述处理器用于将虚拟地址转换为物理地址。
39.如权利要求33所述的方法,进一步包括:
将源自所述至少一条指令的乱序执行的数据存储在重排序缓冲器中。
40.如权利要求33所述的方法,进一步包括:
使用寄存器重命名电路来标识物理寄存器堆中的所述源向量寄存器和所述目的地向量寄存器。
41.一种非瞬态机器可读存储介质,包括存储在其上的指令,所述指令当由处理器执行时使所述处理器:
利用所述处理器的指令解码电路将至少一条指令解码为经解码的至少一条指令;以及
响应于所述至少一条指令是插入指令,利用所述处理器的执行单元执行所述经解码的至少一条指令,以将来自源向量寄存器的64位的数据元素复制到目的地向量寄存器中的64位的数据元素位置,
其中,所述目的地向量寄存器中的所述64位的数据元素位置基于与所述插入指令的立即数相关联的第一值。
42.如权利要求41所述的非瞬态机器可读存储介质,其中,所述指令当由处理器执行时进一步使所述处理器:
使用指令取出电路从存储器取出所述至少一条指令。
43.如权利要求41所述的非瞬态机器可读存储介质,其中,所述处理器进一步包括:
多个核,所述执行单元集成于所述多个核中的第一核,并且第二执行单元集成于所述多个核中的第二核。
44.如权利要求43所述的非瞬态机器可读存储介质,其中,所述处理器进一步包括:
集成于核中的一个或多个核的第一级数据高速缓存和第一级指令高速缓存。
45.如权利要求44所述的非瞬态机器可读存储介质,其中,所述指令当由处理器执行时进一步使所述处理器:
使用高速缓存一致性电路来维持多个核的L1数据高速缓存之间的一致性。
46.如权利要求41所述的非瞬态机器可读存储介质,其中,所述指令当由处理器执行时进一步使所述处理器:
将虚拟至物理地址转换存储在转换后备缓冲器中,所述虚拟至物理地址转换能由所述处理器用于将虚拟地址转换为物理地址。
47.如权利要求41所述的非瞬态机器可读存储介质,其中,所述指令当由处理器执行时进一步使所述处理器:
将源自所述至少一条指令的乱序执行的数据存储在重排序缓冲器中。
48.如权利要求41所述的非瞬态机器可读存储介质,其中,所述...
【专利技术属性】
技术研发人员:E·乌尔德阿迈德瓦尔,R·凡伦天,J·考博尔,B·L·托尔,M·J·查尼,Z·斯波伯,A·格雷德斯廷,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。