CN102156637A - 向量交叉多线程处理方法及向量交叉多线程微处理器 - Google Patents
向量交叉多线程处理方法及向量交叉多线程微处理器 Download PDFInfo
- Publication number
- CN102156637A CN102156637A CN2011101138829A CN201110113882A CN102156637A CN 102156637 A CN102156637 A CN 102156637A CN 2011101138829 A CN2011101138829 A CN 2011101138829A CN 201110113882 A CN201110113882 A CN 201110113882A CN 102156637 A CN102156637 A CN 102156637A
- Authority
- CN
- China
- Prior art keywords
- vector
- instruction
- scalar
- vectorial
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Advance Control (AREA)
Abstract
本发明公开了一种向量交叉多线程处理方法及向量交叉多线程微处理器,该处理方法包括以下步骤:多线程取指部件以轮转方式从N个向量线程中选择一个向量线程进行指令读取,并将读取得到的指令存储在所述向量线程对应的指令缓冲队列中;线程调度部件从N个指令缓冲队列中选择一个指令缓冲队列,并从所述指令缓冲队列中取出一个指令进行译码;将译码后的指令送入向量执行流水线或标量执行流水线进行执行;该向量交叉多线程微处理器通过硬件结构实现上述方法。本发明具有将向量处理技术与多线程技术相结合、硬件结构简单、运算能力强、兼容性和扩展性好等优点。
Description
技术领域
本发明涉及计算机微处理器领域,特指一种多线程微处理器。
背景技术
计算机领域的高速发展,对微处理器的处理能力的要求越来越高,而提高微处理器的运算能力主要有两个途径:一是提高单个处理器核的运算能力;二是增加将多个处理器核集成在一个微处理器芯片中,即通常所称的多核技术。
1、提高处理器核的运算能力,传统的方法主要依靠提高处理器核的频率和采用指令发射宽度更大的超标量技术,由于受工艺、功耗和可靠性等因素的制约,处理器频率的提升遇到了瓶颈,指令发射宽度也难以继续扩大。因此,人们逐渐将关注的重点转向其他新型微处理器体系结构技术,以充分利用不断增长的片上硬件资源,从而使微处理器核的性能得到提升。
如图1所示,是传统标量微处理器核的典型结构,它主要包括程序计数器、取指部件、指令高速缓存、译码部件、以及标量执行流水线。标量执行流水线主要包括:寄存器文件单元、数据高速缓存、标量执行部件(Load/Store部件、标量浮点运算部件和标量算术逻辑部件)以及数据写回部件。典型的标量应用程序在传统微处理器上的执行过程如下:如图2所示,取指部件依据程序计数器向指令高速缓存发出访存指令获取指令,然后取指部件将准备好的指令发往译码部件进行译码,依据译码部件的译码结果,指令进入标量执行流水线开始执行,执行时:标量执行流水线依据译码部件的译码结果访问寄存器文件单元并获得该指令的源操作数,并发往合适的功能部件完成该指令的功能,最后,数据写回部件负责将该指令产生的最终结果写回寄存器文件。
在微处理器体系结构的发展过程中,曾出现了交叉多线程技术和向量技术。交叉多线程技术是指,微处理器能够同时维护多个标量线程的状态寄存器和相关信息,执行流水线交替的执行来自不同线程的标量指令。向量技术的特征主要体现在一条指令可以完成多个标量数据的处理,向量处理器通常具有极高的峰值性能。交叉多线程技术能够使得微处理器有效地隐藏长延迟操作,确保执行流水线充满,然而由于多个线程共用一套运算部件,这使得单个线程的性能受到影响,且该技术无法提高微处理器的峰值性能;向量技术能够极大地提高微处理器的峰值性能,但它对高速缓存失效带来的存储器访问延迟较为敏感,难以将峰值性能转化为实用性能。如果能够将二者有机结合在一起,那么将有可能设计出同时具备高峰值性能和实用性能的高性能微处理器。
2、多核技术,是将多个复杂度较低的处理器核心集成在一个芯片上。多核技术能够更好的利用片上的硬件资源,提高微处理器的性能。近年来,随着多核技术的发展,在单一芯片上集成的处理器核数越来越多,而相应的单个处理器核的运算能力却没有显著提升,在某些设计中甚至明显下降。并且,为了能够更充分的发挥多核处理器的性能,人们越来越多的关注进程级和线程级并行的开发,而忽略了指令级并行和数据级并行的研究。如何平衡芯片集成的处理器核心数目和单核心的运算能力,融合进程级、线程级、指令级以及数据级并行,从而进一步提高微处理器的性能是微处理器体系结构设计的重要问题。
发明内容
本发明所要解决的技术问题是:针对现有技术存在的技术问题,本发明提供一种将向量处理技术与多线程技术相结合、能提高处理器运算性能的向量交叉多线程处理方法,以及一种硬件结构简单、运算能力强、兼容性和扩展性好向量交叉多线程微处理器。
为解决上述技术问题,本发明采用以下技术方案:
一种向量交叉多线程处理方法,其特征在于包括以下步骤:
1)读取指令:多线程取指部件以轮转方式从N个向量线程中选择一个向量线程进行指令读取,并将读取得到的指令存储在所述向量线程对应的指令缓冲队列中;
2)线程选择:线程调度部件从N个指令缓冲队列中选择一个指令缓冲队列,并从所述指令缓冲队列中取出一个指令进行译码;
3)执行指令:将译码后的指令送入向量执行流水线或标量执行流水线进行执行。
作为本发明的方法进一步改进:
所述N=2n,其中n=1、2、3……。
所述步骤3),具体包括以下步骤:
3.1)操作数选择:根据所述译码后的指令的内容,访问向量寄存器文件单元或标量寄存器文件单元获得源操作数,并将获得的源操作数传递到相应的向量执行部件或标量执行部件;
3.2)指令执行:所述向量执行部件或标量执行部件根据所述源操作数进行执行运算,执行运算的结果分别写回向量寄存器文件单元或标量寄存器文件单元。
所述指令为标量指令或向量指令,所述向量指令包括以下类别:
ⅰ.向量访存指令,包括:
A. 向量加载指令:
vload vA rB,以标量寄存器rB中的数值作为地址,将数据读入向量寄存器vA;
vload vA rB imm,以标量寄存器rB中的值加上立即数imm作为地址,将数据读入向量寄存器vA;
vload vA imm,以立即数imm作为地址,将数据读入向量寄存器vA;
B. 向量保存指令:
vstore vA rB imm,以标量寄存器rB中的数值加上立即数imm作为地址,将数据从向量寄存器vA写入主存;
vstore vA imm,以立即数imm作为地址,将数据从向量寄存器vA写入主存;
vstore vA rB,以标量寄存器rB中的数值作为地址,将数据从向量寄存器vA写入主存;
ⅱ. 向量/标量寄存器数据传递指令,包括:
C. vtos vA rB idx,将向量寄存器vA中的第idx个单元送入标量寄存器rB;
D. stov vA rB,将标量寄存器rB中的值复制四份,送入向量寄存器vA;
ⅲ. 向量算术逻辑运算指令,包括:
E. vvvop vD vA vB,将向量寄存器vA和vB中对应的单元做某种算术逻辑运算op,结果写入向量寄存器vD;
F. vvsop rD vA vB,将向量寄存器vA和vB中所有的单元做某种算术逻辑运算op,结果写入标量寄存器rD;
G. vsvop vD vA rB,将向量寄存器vA中的所有单元和标量寄存器rB做某种算术逻辑运算op,结果写入向量寄存器vD;
H. vssop rD vA rB,将向量寄存器vA中的所有单元和标量寄存器rB做某种算术逻辑运算op,结果写入标量寄存器rD;
ⅳ.向量浮点运算指令,包括两类:
E. vvvfop vD vA vB,将向量寄存器vA和vB中对应的单元做某种浮点运算fop,结果写入向量寄存器vD;
G. vsvfop vD vA rB,将向量寄存器vA中的所有单元和标量寄存器rB做某种浮点运算fop,结果写入向量寄存器vD;
Ⅴ. 向量混洗指令,vshuffle vC vB rA, 依据标量寄存器rA的值,将向量寄存器vB的各个单元重新排序并写入向量寄存器vC。
以及一种向量交叉多线程微处理器,其特征在于,包括一个以上的向量交叉多线程微处理器核,所述向量交叉多线程微处理器核包括:N个程序计数器、多线程取指部件、指令高速缓存、N个指令缓冲队列、线程调度部件、标量\向量译码部件、标量执行流水线和向量执行流水线以及数据高速缓存,所述多线程取指部件根据所述N个程序计数器中存储的当前指令地址,从所述指令高速缓存中轮转读取所述N个线程的指令,并将读取的指令送入与所述N个线程一一对应的所述N个指令缓冲队列中,所述线程调度部件从所述N个指令缓冲队列中选择一个,从中将一条指令取出并发往所述标量\向量译码部件进行译码,将译码后的指令送入相应的标量执行流水线或向量执行流水线进行执行,执行过程中,所述标量执行流水线或向量执行流水线从所述数据高速缓存中访存数据。
作为本发明的向量交叉多线程微处理器的进一步改进:
所述数据高速缓存包括相互连通的一级高速缓存和二级高速缓存,所述标量执行流水线与所述一级高速缓存相连并从所述一级高速缓存中访存数据,所述向量执行流水线通过向量访问接口与所述二级高速缓存相连并直接从二级高速缓存中访存数据。
所述标量执行流水线包括:用于存储标量指令的源操作数的标量寄存器文件单元、用于从所述标量寄存器文件单元中选择源操作数的标量操作数选择单元、用于将所述源操作数进行执行运算的标量执行单元和用于执行运算完成后将结果写回标量寄存器文件单元的标量数据写回部件;
所述向量执行流水线包括:用于存储向量指令的源操作数的向量寄存器文件单元、用于从所述标量寄存器文件单元和\或所述向量寄存器文件单元中选择源操作数,并完成所述向量执行部件和标量执行部件间的操作数传递的向量操作数选择单元、用于将所述源操作数进行执行运算的向量执行单元,以及用于执行运算完成后将结果写回向量寄存器文件单元的向量数据写回部件,所述标量执行单元与所述一级高速缓存相连,所述向量执行单元与所述二级高速缓存相连。
所述向量执行单元包括:用于完成向量Load/Store指令或标量Load/Store指令的向量Load/Store部件、用于完成向量浮点运算指令的向量浮点运算部件、用于完成向量算术逻辑运算指令的向量算术逻辑部件,以及用于完成向量混洗指令的向量混洗部件。
所述数据高速缓存内的数据块的大小与所述向量寄存器文件单元的宽度相同。
所述向量交叉多线程微处理器包括二个以上的向量交叉多线程微处理器核,所述二个以上的向量交叉多线程微处理器核均分别配有相互连通的一级高速缓存和二级高速缓存,所述二个以上的二级高速缓存通过交叉开关相互连接,并与设于核外的三级高速缓存、片间网络接口和外设接口相连,所述每个三级高速缓存与一用于访问外部存储器的存储控制器相连。
与现有技术相比,本发明的优点在于:
1、本发明向量交叉多线程处理方法,将交叉多线程技术和向量技术结合起来,用于处理多线程的向量指令或标量指令,采用多线程轮转取指的方式,使多个向量线程的指令以交叉方式执行,在某个线程遇到长延迟操作时,其它线程的指令仍可继续执行,可以很好的隐藏线程执行过程中遇到的长延迟操作,达到提高微处理器峰值性能的同时,能确保向量执行流水线的充满,从而更充分的发挥微处理器的运算能力。
2、本发明向量交叉多线程微处理器,在传统标量微处理器核心的基础上添加多线程取指部件和并增加了向量执行流水线,使其能够将交叉多线程技术和向量技术结合,完成多个向量线程的交叉并行处理,实现向量技术开发程序中的数据级并行处理,运算能力强。
3、本发明向量交叉多线程微处理器,在为增加向量执行流水线时仍保留了原有的标量处理器结构,可以完全兼容传统的标量应用程序,因此兼容性好。
4、本发明向量交叉多线程微处理器,使用交叉多线程技术替代了当前流行的超标量技术,在确保性能的同时降低了硬件设计的复杂度,硬件结构简单,代价小,扩展性好。
附图说明
图1是现有的典型传统微处理器的结构示意图;
图2是现有的典型的标量微处理器执行流程示意图;
图3是本发明的向量交叉多线程微处理器的组成结构示意图;
图4是本发明的向量交叉多线程处理方法的执行流程示意图;
图5是本发明的向量交叉多线程处理方法中多线程交叉执行隐藏长延迟操作的原理示意图;
图6是本发明的向量混洗指令vshuffle vA vB rA的实现原理示意图;
图7是本发明的标量执行单元和向量执行单元与数据高速缓存的连接结构示意图;
图8是本发明的向量交叉多线程微处理器的多核处理器的组成结构示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明作进一步详细说明。
如图4所示,本发明的向量交叉多线程处理方法,包括以下步骤:
1)读取指令:多线程取指部件以轮转方式从8个向量线程中选择一个向量线程进行指令读取,并将读取得到的指令存储在向量线程对应的指令缓冲队列中。取指部件每次可将大小为一个高速缓存块的指令读入指令缓冲队列,通常情况下每条指令的长度为1个机器字,若每个一级高速缓存块的大小为4个机器字,则取指部件每个时钟周期可将4条指令读入指令高速缓存队列。实际应用时,向量线程的数量N可为大于1的自然数,其大小仅受硬件资源的限制;通常情况下,一般将N取做2的幂次,即N=2n,n=1、2、3……,这样有利于简化硬件设计。
2)线程选择:线程调度部件从8个指令缓冲队列中选择一个指令缓冲队列,并从指令缓冲队列中取出一个指令进行译码;
3)执行指令:将译码后的指令送入向量执行流水线或标量执行流水线进行执行,具体执行步骤如下:
3.1)操作数选择:根据译码后的指令的内容,访问向量寄存器文件单元或标量寄存器文件单元获得源操作数,并将获得的源操作数传递到相应的向量执行部件或标量执行部件;
3.2)指令执行:向量执行部件或标量执行部件根据源操作数进行执行运算,执行运算的结果分别写回向量寄存器文件单元或标量寄存器文件单元。
上述方法中,指令为标量指令或向量指令,标量指令为现有通用的标量指令,而向量指令可以包括以下五种:
ⅰ.向量访存指令,包括:
A. 向量加载指令,可以将一个向量从主存读入一个向量寄存器:
vload vA rB,以标量寄存器rB中的数值作为地址,将数据读入向量寄存器vA;
vload vA rB imm,以标量寄存器rB中的值加上立即数imm作为地址,将数据读入向量寄存器vA;
vload vA imm,以立即数imm作为地址,将数据读入向量寄存器vA;
B. 向量保存指令,可以将一个向量寄存器的内容写回主存:
vstore vA rB imm,以标量寄存器rB中的数值加上立即数imm作为地址,将数据从向量寄存器vA写入主存;
vstore vA imm,以立即数imm作为地址,将数据从向量寄存器vA写入主存;
vstore vA rB,以标量寄存器rB中的数值作为地址,将数据从向量寄存器vA写入主存;
向量加载指令和向量保存指令可支持多种不同的寻址方式,包括寄存器寻址、立即寻址以及基址寻址,在进行具体实现时可实现全部寻址方式,也可实现其中一种或几种寻址方式;
ⅱ. 向量/标量寄存器数据传递指令,包括:
C. vtos vA rB idx,将向量寄存器vA中的第idx个单元送入标量寄存器rB,为由标量寄存器向向量寄存器传递数据的指令;
D. stov vA rB,将标量寄存器rB中的值复制四份,送入向量寄存器vA;为由向量寄存器向标量寄存器传递数据的指令;
由标量寄存器向向量寄存器传递数据的指令完成将标量寄存器的值传入向量寄存器中的某个单元中,或根据掩码将标量寄存器的值复制若干份同时赋给向量寄存器的多个单元;由向量寄存器向标量寄存器传递数据的指令将向量寄存器中的某个单元的值赋给某个标量寄存器;
ⅲ. 向量算术逻辑运算指令,包括四类:
E. vvvop vD vA vB,将向量寄存器vA和vB中对应的单元做某种算术逻辑运算op,结果写入向量寄存器vD;该指令为 vector-vector-vector指令,即两个源操作数和一个目的操作数都是向量寄存器,这类指令主要完成向量对应单元间的算术逻辑运算;
F. vvsop rD vA vB,将向量寄存器vA和vB中所有的单元做某种算术逻辑运算op,结果写入标量寄存器rD;该指令为vector-vector-scalar类指令,即两个操作数都是向量寄存器而目的操作数是标量寄存器,这类指令主要完成将向量寄存器中的所有单元的求和、求与、求或等操作。
G. vsvop vD vA rB,将向量寄存器vA中的所有单元和标量寄存器rB做某种算术逻辑运算op,结果写入向量寄存器vD;
H. vssop rD vA rB,将向量寄存器vA中的所有单元和标量寄存器rB做某种算术逻辑运算op,结果写入标量寄存器rD;
vsvop vD vA rB与vssop rD vA rB为vector-scalar-vector指令,即源操作数是一个向量寄存器和一个标量寄存器,目的操作数是向量寄存器,这类指令完成向量各个单元与标量的算术逻辑运算;
向量算术逻辑类指令所支持的操作包括定点算术逻辑运算指令,如加、减、乘、除等算术指令,与、或、非、异或、取反、比较等逻辑运算指令;以及位运算指令,包括按位与、按位或、按位非、按位异或、按位取反等。
ⅳ.向量浮点运算指令,包括两类:
E. vvvfop vD vA vB,将向量寄存器vA和vB中对应的单元做某种浮点运算fop,结果写入向量寄存器vD;该指令为 vector-vector-vector指令,即两个源操作数和一个目的操作数都是向量寄存器,这类指令主要完成向量对应单元间的浮点运算;
G. vsvfop vD vA rB,将向量寄存器vA中的所有单元和标量寄存器rB做某种浮点运算fop,结果写入向量寄存器vD;
向量浮点运算指令所支持的浮点操作主要包括浮点加法、浮点减法、浮点乘法、浮点除法以及浮点比较、浮点/定点数据转换等操作。
Ⅴ. 向量混洗指令,vshuffle vC vB rA, 依据标量寄存器rA的值,将向量寄存器vB的各个单元重新排序并写入向量寄存器vC。
该向量混洗指令的实现原理如图6所示,源向量寄存器vB的四个单元的值通过两层多路选择器送入目的向量寄存器vA,第一层的四个多路选择器都是四选一多路选择器,它们的控制信号来自标量源寄存器rA的低8位(图中的s0~s3),每个多路选择器两位;第二层的四个多路选择器是二选一多路选择器,用于决定是否将源向量寄存器的值送入目的向量寄存器,它们的控制信号来自标量源寄存器rA的第8到第11位(图中的掩码),如果对应的控制信号为1,源向量寄存器中相应单元的值就送入目的向量寄存器的对应单元,否则目的向量寄存器中相应单元的值不变。
多个线程的交叉执行能够很好的隐藏执行流水线中的长延迟操作(如访存操作),从而尽力确保执行流水线始终处于满负荷工作状态。如图5所示,为本发明的向量交叉多线程微处理器的多线程交叉执行隐藏长延迟操作的原理,图中以4个线程的交叉执行为例,说明了多个交叉执行的向量线程隐藏访存延迟的过程。图中C代表向量运算指令,M代表向量访存指令,L_hit为高速缓存命中延迟,L_miss为高速缓存失效延迟;四个线程分别以不同的序列执行向量运算指令和向量访存指令。线程0的向量访存指令执行时将引入两个始终周期的延迟,如果没有交叉执行的其他线程,这将在执行流水线中引入两个周期的阻塞,在引入交叉多线程机制之后,线程1和线程2的向量运算指令填补了访存延迟带来的两个空闲周期,从而确保了流水线的充满。线程2的向量访存指令的执行遇到了高速缓存的失效,这可能会导致很长的流水线阻塞,而线程0、线程1和线程2的向量运算指令在处理高速缓存失效的过程中填补了执行流水线的空闲,尽管没有完全避免执行流水线的阻塞,但也大大减少了执行流水线的阻塞时间,改善了运算性能。由上述分析可知,一般情况下,微处理器支持的线程数越多,其隐藏长延迟操作的能力也就越强,其性能就能更好的发挥。
通过本发明的向量交叉多线程微处理器可实现上述的向量交叉多线程处理方法,该向量交叉多线程微处理器包括一个以上的向量交叉多线程微处理器核,如图3所示,向量交叉多线程微处理器核包括:8个程序计数器(PC)、多线程取指部件、指令高速缓存、8个指令缓冲队列、线程调度部件、标量\向量译码部件、标量执行流水线和向量执行流水线以及数据高速缓存,多线程取指部件根据8个程序计数器中存储的当前指令地址,从指令高速缓存中轮转读取N个线程的指令,并将读取的指令送入与8个线程一一对应的8个指令缓冲队列中,线程调度部件从8个指令缓冲队列中选择一个,从中将一条指令取出并发往标量\向量译码部件进行译码,将译码后的指令送入相应的标量执行流水线或向量执行流水线(标量指令将送入标量执行流水线进行执行,向量指令则送往向量执行流水线进行执行)进行执行,执行过程中,标量执行流水线或向量执行流水线从数据高速缓存中访存数据。
本实施例中,标量执行流水线保留了现有的典型标量执行流水线的结构,其包括:用于存储标量指令的源操作数的标量寄存器文件单元、用于从标量寄存器文件单元中选择源操作数的标量操作数选择单元、用于将源操作数进行执行运算的标量执行单元和用于执行运算完成后将结果写回标量寄存器文件单元的标量数据写回部件。而本发明增加了向量执行流水线,其包括:用于存储向量指令的源操作数的向量寄存器文件单元、用于从标量寄存器文件单元和\或向量寄存器文件单元中选择源操作数,并完成向量执行部件和标量执行部件间的操作数传递的向量操作数选择单元、用于将源操作数进行执行运算的向量执行单元,以及用于执行运算完成后将结果写回向量寄存器文件单元的向量数据写回部件。之所以增加操作数选择和传递过程是因为某些指令(如vector-scalar-vector)同时需要向量和标量两种操作数。
由于向量执行流水线在每个时钟周期能够同时完成整个向量的运算,因此它对数据需求远远大于标量执行流水线,通常容量较小的一级高速缓存难以同时满足标量运算部件和向量运算部件对数据的需求。因此,如图7所示,在本实施例中,数据高速缓存包括相互连通的一级高速缓存和二级高速缓存,标量执行流水线中的标量执行单元与一级高速缓存相连并从一级高速缓存中访存数据,向量执行流水线中的向量执行单元通过向量访问接口与二级高速缓存相连并直接从二级高速缓存中访存数据,即:使向量Load/Store部件能够绕过一级高速缓存,直达二级高速缓存。
本实施例中,向量执行单元包括:用于完成向量Load/Store指令或标量Load/Store指令的向量Load/Store部件、用于完成向量浮点运算指令的向量浮点运算部件、用于完成向量算术逻辑运算指令的向量算术逻辑部件,以及用于完成向量混洗指令的向量混洗部件。标量执行单元则采用现有的典型结构,执行流水线工作时,各种指令均被送入相应的执行部件,如标量/向量访存指令的源操作数将被送入标量或向量Load/Store部件,向量算术运算指令将被送入向量算术逻辑部件等。
本实施例中,数据高速缓存内的数据块的大小与向量寄存器文件单元的宽度相同。如:向量寄存器文件单元包括8个向量寄存器组,每个向量寄存器组对应一个线程。每个向量寄存器组包含32个向量寄存器:v0~v31,每个向量寄存器的长度为4个机器字,依据机器字长度的不同向量寄存器的位宽可以是128(对应32位机器字)或256(对应64位机器字)。
当本发明的向量交叉多线程微处理器中的向量交叉多线程微处理器核为二个以上时,如图8所示,二个以上的向量交叉多线程微处理器核均分别配有相互连通的一级高速缓存和二级高速缓存,二个以上的二级高速缓存通过交叉开关相互连接,并与设于核外的三级高速缓存、片间网络接口和外设接口相连,每个三级高速缓存与一用于访问外部存储器的存储控制器相连。片间网络接口为多个向量交叉微处理器芯片互联提供高速串行接口;外设接口提供多种外设总线支持,包括PCI-E总线、千兆以太网等。向量交叉多线程多核微处理器以较为简单的硬件结构提供极高的实用性能,能够充分发挥应用程序中的进程级、线程级、指令级以及数据级并行;同时该处理器能够兼容现有的标量应用程序,具有较好的兼容性和可扩展性。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (10)
1. 一种向量交叉多线程处理方法,其特征在于包括以下步骤:
1)读取指令:多线程取指部件以轮转方式从N个向量线程中选择一个向量线程进行指令读取,并将读取得到的指令存储在所述向量线程对应的指令缓冲队列中;
2)线程选择:线程调度部件从N个指令缓冲队列中选择一个指令缓冲队列,并从所述指令缓冲队列中取出一个指令进行译码;
3)执行指令:将译码后的指令送入向量执行流水线或标量执行流水线进行执行。
2. 根据权利要求1所述的向量交叉多线程处理方法,其特征在于,所述N=2n,其中n=1、2、3……。
3. 根据权利要求1所述的向量交叉多线程处理方法,其特征在于,所述步骤3),具体包括以下步骤:
3.1)操作数选择:根据所述译码后的指令的内容,访问向量寄存器文件单元或标量寄存器文件单元获得源操作数,并将获得的源操作数传递到相应的向量执行部件或标量执行部件;
3.2)指令执行:所述向量执行部件或标量执行部件根据所述源操作数进行执行运算,执行运算的结果分别写回向量寄存器文件单元或标量寄存器文件单元。
4. 根据权利要求1或2或3所述的向量交叉多线程处理方法,其特征在于,所述指令为标量指令或向量指令,所述向量指令包括以下类别:
ⅰ.向量访存指令,包括:
A. 向量加载指令:
vload vA rB,以标量寄存器rB中的数值作为地址,将数据读入向量寄存器vA;
vload vA rB imm,以标量寄存器rB中的值加上立即数imm作为地址,将数据读入向量寄存器vA;
vload vA imm,以立即数imm作为地址,将数据读入向量寄存器vA;
B. 向量保存指令:
vstore vA rB imm,以标量寄存器rB中的数值加上立即数imm作为地址,将数据从向量寄存器vA写入主存;
vstore vA imm,以立即数imm作为地址,将数据从向量寄存器vA写入主存;
vstore vA rB,以标量寄存器rB中的数值作为地址,将数据从向量寄存器vA写入主存;
ⅱ. 向量/标量数据传递指令,包括:
C. vtos vA rB idx,将向量寄存器vA中的第idx个单元送入标量寄存器rB;
D. stov vA rB,将标量寄存器rB中的值复制四份,送入向量寄存器vA;
ⅲ. 向量算术逻辑运算指令,包括:
E. vvvop vD vA vB,将向量寄存器vA和vB中对应的单元做某种算术逻辑运算op,结果写入向量寄存器vD;
F. vvsop rD vA vB,将向量寄存器vA和vB中所有的单元做某种算术逻辑运算op,结果写入标量寄存器rD;
G. vsvop vD vA rB,将向量寄存器vA中的所有单元和标量寄存器rB做某种算术逻辑运算op,结果写入向量寄存器vD;
H. vssop rD vA rB,将向量寄存器vA中的所有单元和标量寄存器rB做某种算术逻辑运算op,结果写入标量寄存器rD;
ⅳ.向量浮点运算指令,包括两类:
E. vvvfop vD vA vB,将向量寄存器vA和vB中对应的单元做某种浮点运算fop,结果写入向量寄存器vD;
G. vsvfop vD vA rB,将向量寄存器vA中的所有单元和标量寄存器rB做某种浮点运算fop,结果写入向量寄存器vD;
Ⅴ. 向量混洗指令,vshuffle vC vB rA, 依据标量寄存器rA的值,将向量寄存器vB的各个单元重新排序并写入向量寄存器vC。
5. 一种向量交叉多线程微处理器,其特征在于,包括一个以上的向量交叉多线程微处理器核,所述向量交叉多线程微处理器核包括:N个程序计数器、多线程取指部件、指令高速缓存、N个指令缓冲队列、线程调度部件、标量\向量译码部件、标量执行流水线和向量执行流水线以及数据高速缓存,所述多线程取指部件根据所述N个程序计数器中存储的当前指令地址,从所述指令高速缓存中轮转读取所述N个线程的指令,并将读取的指令送入与所述N个线程一一对应的所述N个指令缓冲队列中,所述线程调度部件从所述N个指令缓冲队列中选择一个,从中将一条指令取出并发往所述标量\向量译码部件进行译码,将译码后的指令送入相应的标量执行流水线或向量执行流水线进行执行,执行过程中,所述标量执行流水线或向量执行流水线从所述数据高速缓存中访存数据。
6. 根据权利要求5所述的向量交叉多线程微处理器,其特征在于,所述数据高速缓存包括相互连通的一级高速缓存和二级高速缓存,所述标量执行流水线与所述一级高速缓存相连并从所述一级高速缓存中访存数据,所述向量执行流水线通过向量访问接口与所述二级高速缓存相连并直接从二级高速缓存中访存数据。
7. 根据权利要求6所述的向量交叉多线程微处理器,其特征在于,所述标量执行流水线包括:用于存储标量指令的源操作数的标量寄存器文件单元、用于从所述标量寄存器文件单元中选择源操作数的标量操作数选择单元、用于将所述源操作数进行执行运算的标量执行单元和用于执行运算完成后将结果写回标量寄存器文件单元的标量数据写回部件;
所述向量执行流水线包括:用于存储向量指令的源操作数的向量寄存器文件单元、用于从所述标量寄存器文件单元和\或所述向量寄存器文件单元中选择源操作数,并完成所述向量执行部件和标量执行部件间的操作数传递的向量操作数选择单元、用于将所述源操作数进行执行运算的向量执行单元,以及用于执行运算完成后将结果写回向量寄存器文件单元的向量数据写回部件,所述标量执行单元与所述一级高速缓存相连,所述向量执行单元与所述二级高速缓存相连。
8. 根据权利要求7所述的向量交叉多线程微处理器,其特征在于,所述向量执行单元包括:用于完成向量Load/Store指令或标量Load/Store指令的向量Load/Store部件、用于完成向量浮点运算指令的向量浮点运算部件、用于完成向量算术逻辑运算指令的向量算术逻辑部件,以及用于完成向量混洗指令的向量混洗部件。
9.根据权利要求5或6或7或8所述的向量交叉多线程微处理器,其特征在于,所述数据高速缓存内的数据块的大小与所述向量寄存器文件单元的宽度相同。
10. 根据权利要求5或6或7或8所述的向量交叉多线程微处理器,其特征在于,所述向量交叉多线程微处理器包括二个以上的向量交叉多线程微处理器核,所述二个以上的向量交叉多线程微处理器核均分别配有相互连通的一级高速缓存和二级高速缓存,所述二个以上的二级高速缓存通过交叉开关相互连接,并与设于核外的三级高速缓存、片间网络接口和外设接口相连,所述每个三级高速缓存与一用于访问外部存储器的存储控制器相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101138829A CN102156637A (zh) | 2011-05-04 | 2011-05-04 | 向量交叉多线程处理方法及向量交叉多线程微处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101138829A CN102156637A (zh) | 2011-05-04 | 2011-05-04 | 向量交叉多线程处理方法及向量交叉多线程微处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102156637A true CN102156637A (zh) | 2011-08-17 |
Family
ID=44438145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101138829A Pending CN102156637A (zh) | 2011-05-04 | 2011-05-04 | 向量交叉多线程处理方法及向量交叉多线程微处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102156637A (zh) |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508776A (zh) * | 2011-11-03 | 2012-06-20 | 中国人民解放军国防科学技术大学 | 多线程交叉双精度短向量结构的评测激励自动构造方法 |
CN103699360A (zh) * | 2012-09-27 | 2014-04-02 | 北京中科晶上科技有限公司 | 一种向量处理器及其进行向量数据存取、交互的方法 |
CN103890719A (zh) * | 2011-10-18 | 2014-06-25 | 联发科技瑞典有限公司 | 数字信号处理器以及基带通信设备 |
CN103930883A (zh) * | 2011-09-28 | 2014-07-16 | Arm有限公司 | 响应于矢量访问指令发出的交叉数据访问 |
CN104040489A (zh) * | 2011-12-23 | 2014-09-10 | 英特尔公司 | 多寄存器收集指令 |
WO2017016486A1 (en) * | 2015-07-30 | 2017-02-02 | Huawei Technologies Co., Ltd. | System and method for variable lane architecture |
WO2017185404A1 (zh) * | 2016-04-26 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行向量逻辑运算的装置及方法 |
WO2017185411A1 (zh) * | 2016-04-29 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行AdaGrad梯度下降训练算法的装置和方法 |
WO2017185405A1 (zh) * | 2016-04-26 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行向量外积运算的装置和方法 |
CN107315565A (zh) * | 2016-04-26 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于生成服从一定分布的随机向量装置和方法 |
CN107315569A (zh) * | 2016-04-27 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于执行RMSprop梯度下降算法的装置及方法 |
CN107315570A (zh) * | 2016-04-27 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于执行Adam梯度下降训练算法的装置及方法 |
CN107315717A (zh) * | 2016-04-26 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于执行向量四则运算的装置和方法 |
CN107315575A (zh) * | 2016-04-26 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于执行向量合并运算的装置和方法 |
CN107341540A (zh) * | 2016-04-29 | 2017-11-10 | 北京中科寒武纪科技有限公司 | 一种用于执行Hessian-Free训练算法的装置和方法 |
CN107408063A (zh) * | 2015-02-02 | 2017-11-28 | 优创半导体科技有限公司 | 配置成利用非对称多线程对可变长度向量进行操作的向量处理器 |
US9870340B2 (en) | 2015-03-30 | 2018-01-16 | International Business Machines Corporation | Multithreading in vector processors |
WO2018082229A1 (zh) * | 2016-11-03 | 2018-05-11 | 北京中科寒武纪科技有限公司 | Slam运算装置和方法 |
CN108255519A (zh) * | 2016-12-29 | 2018-07-06 | 展讯通信(上海)有限公司 | 同步多线程处理器的浮点指令处理方法及装置 |
CN109032666A (zh) * | 2018-07-03 | 2018-12-18 | 中国人民解放军国防科技大学 | 一种用于向量处理的确定断言活跃元素个数的方法和装置 |
CN109062604A (zh) * | 2018-06-26 | 2018-12-21 | 天津飞腾信息技术有限公司 | 一种面向标量和向量指令混合执行的发射方法及装置 |
CN111291880A (zh) * | 2017-10-30 | 2020-06-16 | 上海寒武纪信息科技有限公司 | 计算装置以及计算方法 |
CN111464316A (zh) * | 2012-03-30 | 2020-07-28 | 英特尔公司 | 用于处理sha-2安全散列算法的方法和设备 |
CN111580866A (zh) * | 2016-01-20 | 2020-08-25 | 中科寒武纪科技股份有限公司 | 一种向量运算装置及运算方法 |
CN111651204A (zh) * | 2016-04-26 | 2020-09-11 | 中科寒武纪科技股份有限公司 | 一种用于执行向量最大值最小值运算的装置和方法 |
WO2022127441A1 (zh) * | 2020-12-16 | 2022-06-23 | 广东赛昉科技有限公司 | 一种并行提取指令的方法与可读存储介质 |
CN115129480A (zh) * | 2022-08-26 | 2022-09-30 | 上海登临科技有限公司 | 标量处理单元的访问控制方法及标量处理单元 |
WO2023123453A1 (zh) * | 2021-12-31 | 2023-07-06 | 华为技术有限公司 | 运算加速的处理方法、运算加速器的使用方法及运算加速器 |
CN116450216A (zh) * | 2023-06-12 | 2023-07-18 | 上海灵动微电子股份有限公司 | 共享硬件运算单元的局部缓存方法 |
CN116483441A (zh) * | 2023-06-21 | 2023-07-25 | 睿思芯科(深圳)技术有限公司 | 基于移位缓冲的输出时序优化***、方法及相关设备 |
CN117348933A (zh) * | 2023-12-05 | 2024-01-05 | 睿思芯科(深圳)技术有限公司 | 一种处理器及计算机*** |
CN117931729A (zh) * | 2024-03-22 | 2024-04-26 | 芯来智融半导体科技(上海)有限公司 | 向量处理器访存指令处理方法和*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4633389A (en) * | 1982-02-03 | 1986-12-30 | Hitachi, Ltd. | Vector processor system comprised of plural vector processors |
CN1349159A (zh) * | 2001-11-28 | 2002-05-15 | 中国人民解放军国防科学技术大学 | 微处理器向量处理方法 |
CN1478228A (zh) * | 2000-11-02 | 2004-02-25 | ض� | 利用重新调度的重放队列中断处理器中的重放依赖关系循环 |
CN1781088A (zh) * | 2001-12-20 | 2006-05-31 | 杉桥技术公司 | 能够高效处理汇聚设备应用的多线程处理器 |
CN1834956A (zh) * | 2005-03-18 | 2006-09-20 | 联想(北京)有限公司 | 多线程元数据的处理方法 |
CN101978350A (zh) * | 2008-03-28 | 2011-02-16 | 英特尔公司 | 用于实现高效同步和并行归约操作的向量指令 |
CN101986264A (zh) * | 2010-11-25 | 2011-03-16 | 中国人民解放军国防科学技术大学 | 用于simd向量微处理器的多功能浮点乘加运算装置 |
-
2011
- 2011-05-04 CN CN2011101138829A patent/CN102156637A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4633389A (en) * | 1982-02-03 | 1986-12-30 | Hitachi, Ltd. | Vector processor system comprised of plural vector processors |
CN1478228A (zh) * | 2000-11-02 | 2004-02-25 | ض� | 利用重新调度的重放队列中断处理器中的重放依赖关系循环 |
CN1349159A (zh) * | 2001-11-28 | 2002-05-15 | 中国人民解放军国防科学技术大学 | 微处理器向量处理方法 |
CN1781088A (zh) * | 2001-12-20 | 2006-05-31 | 杉桥技术公司 | 能够高效处理汇聚设备应用的多线程处理器 |
CN1834956A (zh) * | 2005-03-18 | 2006-09-20 | 联想(北京)有限公司 | 多线程元数据的处理方法 |
CN101978350A (zh) * | 2008-03-28 | 2011-02-16 | 英特尔公司 | 用于实现高效同步和并行归约操作的向量指令 |
CN101986264A (zh) * | 2010-11-25 | 2011-03-16 | 中国人民解放军国防科学技术大学 | 用于simd向量微处理器的多功能浮点乘加运算装置 |
Cited By (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103930883A (zh) * | 2011-09-28 | 2014-07-16 | Arm有限公司 | 响应于矢量访问指令发出的交叉数据访问 |
CN103930883B (zh) * | 2011-09-28 | 2017-02-15 | Arm 有限公司 | 用于响应于矢量访问指令的交叉数据访问的方法和装置 |
CN103890719B (zh) * | 2011-10-18 | 2016-11-16 | 联发科技瑞典有限公司 | 数字信号处理器以及基带通信设备 |
CN103890719A (zh) * | 2011-10-18 | 2014-06-25 | 联发科技瑞典有限公司 | 数字信号处理器以及基带通信设备 |
CN102508776A (zh) * | 2011-11-03 | 2012-06-20 | 中国人民解放军国防科学技术大学 | 多线程交叉双精度短向量结构的评测激励自动构造方法 |
CN104040489A (zh) * | 2011-12-23 | 2014-09-10 | 英特尔公司 | 多寄存器收集指令 |
US9766887B2 (en) | 2011-12-23 | 2017-09-19 | Intel Corporation | Multi-register gather instruction |
US10180838B2 (en) | 2011-12-23 | 2019-01-15 | Intel Corporation | Multi-register gather instruction |
CN111464316A (zh) * | 2012-03-30 | 2020-07-28 | 英特尔公司 | 用于处理sha-2安全散列算法的方法和设备 |
CN111464316B (zh) * | 2012-03-30 | 2023-10-27 | 英特尔公司 | 用于处理sha-2安全散列算法的方法和设备 |
CN103699360B (zh) * | 2012-09-27 | 2016-09-21 | 北京中科晶上科技有限公司 | 一种向量处理器及其进行向量数据存取、交互的方法 |
CN103699360A (zh) * | 2012-09-27 | 2014-04-02 | 北京中科晶上科技有限公司 | 一种向量处理器及其进行向量数据存取、交互的方法 |
CN107408063A (zh) * | 2015-02-02 | 2017-11-28 | 优创半导体科技有限公司 | 配置成利用非对称多线程对可变长度向量进行操作的向量处理器 |
US9870340B2 (en) | 2015-03-30 | 2018-01-16 | International Business Machines Corporation | Multithreading in vector processors |
WO2017016486A1 (en) * | 2015-07-30 | 2017-02-02 | Huawei Technologies Co., Ltd. | System and method for variable lane architecture |
US10884756B2 (en) | 2015-07-30 | 2021-01-05 | Futurewei Technologies, Inc. | System and method for variable lane architecture |
US10691463B2 (en) | 2015-07-30 | 2020-06-23 | Futurewei Technologies, Inc. | System and method for variable lane architecture |
CN111580864B (zh) * | 2016-01-20 | 2024-05-07 | 中科寒武纪科技股份有限公司 | 一种向量运算装置及运算方法 |
CN111580866A (zh) * | 2016-01-20 | 2020-08-25 | 中科寒武纪科技股份有限公司 | 一种向量运算装置及运算方法 |
CN111580864A (zh) * | 2016-01-20 | 2020-08-25 | 中科寒武纪科技股份有限公司 | 一种向量运算装置及运算方法 |
CN111580866B (zh) * | 2016-01-20 | 2024-05-07 | 中科寒武纪科技股份有限公司 | 一种向量运算装置及运算方法 |
CN111651204A (zh) * | 2016-04-26 | 2020-09-11 | 中科寒武纪科技股份有限公司 | 一种用于执行向量最大值最小值运算的装置和方法 |
US11100192B2 (en) | 2016-04-26 | 2021-08-24 | Cambricon Technologies Corporation Limited | Apparatus and methods for vector operations |
CN111651206B (zh) * | 2016-04-26 | 2024-05-07 | 中科寒武纪科技股份有限公司 | 一种用于执行向量外积运算的装置和方法 |
WO2017185404A1 (zh) * | 2016-04-26 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行向量逻辑运算的装置及方法 |
CN111651203B (zh) * | 2016-04-26 | 2024-05-07 | 中科寒武纪科技股份有限公司 | 一种用于执行向量四则运算的装置和方法 |
CN111651204B (zh) * | 2016-04-26 | 2024-04-05 | 中科寒武纪科技股份有限公司 | 一种用于执行向量最大值最小值运算的装置和方法 |
WO2017185405A1 (zh) * | 2016-04-26 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行向量外积运算的装置和方法 |
CN107315575A (zh) * | 2016-04-26 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于执行向量合并运算的装置和方法 |
US11507640B2 (en) | 2016-04-26 | 2022-11-22 | Cambricon Technologies Corporation Limited | Apparatus and methods for vector operations |
CN107315717A (zh) * | 2016-04-26 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于执行向量四则运算的装置和方法 |
US11501158B2 (en) | 2016-04-26 | 2022-11-15 | Cambricon (Xi'an) Semiconductor Co., Ltd. | Apparatus and methods for generating random vectors |
CN107315568B (zh) * | 2016-04-26 | 2020-08-07 | 中科寒武纪科技股份有限公司 | 一种用于执行向量逻辑运算的装置 |
US11436301B2 (en) | 2016-04-26 | 2022-09-06 | Cambricon Technologies Corporation Limited | Apparatus and methods for vector operations |
US11341211B2 (en) | 2016-04-26 | 2022-05-24 | Cambricon Technologies Corporation Limited | Apparatus and methods for vector operations |
CN107315716A (zh) * | 2016-04-26 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于执行向量外积运算的装置和方法 |
CN107315565A (zh) * | 2016-04-26 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于生成服从一定分布的随机向量装置和方法 |
CN111651203A (zh) * | 2016-04-26 | 2020-09-11 | 中科寒武纪科技股份有限公司 | 一种用于执行向量四则运算的装置和方法 |
CN111651206A (zh) * | 2016-04-26 | 2020-09-11 | 中科寒武纪科技股份有限公司 | 一种用于执行向量外积运算的装置和方法 |
CN111857821A (zh) * | 2016-04-26 | 2020-10-30 | 中科寒武纪科技股份有限公司 | 一种用于生成服从一定分布的随机向量装置和方法 |
US10831861B2 (en) | 2016-04-26 | 2020-11-10 | Cambricon Technologies Corporation Limited | Apparatus and methods for vector operations |
CN107315568A (zh) * | 2016-04-26 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于执行向量逻辑运算的装置 |
US11157593B2 (en) | 2016-04-26 | 2021-10-26 | Cambricon Technologies Corporation Limited | Apparatus and methods for combining vectors |
US10997276B2 (en) | 2016-04-26 | 2021-05-04 | Cambricon Technologies Corporation Limited | Apparatus and methods for vector operations |
US11126429B2 (en) | 2016-04-26 | 2021-09-21 | Cambricon Technologies Corporation Limited | Apparatus and methods for bitwise vector operations |
CN107315570B (zh) * | 2016-04-27 | 2021-06-18 | 中科寒武纪科技股份有限公司 | 一种用于执行Adam梯度下降训练算法的装置及方法 |
CN107315569B (zh) * | 2016-04-27 | 2021-06-18 | 中科寒武纪科技股份有限公司 | 一种用于执行RMSprop梯度下降算法的装置及方法 |
CN107315569A (zh) * | 2016-04-27 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于执行RMSprop梯度下降算法的装置及方法 |
CN107315570A (zh) * | 2016-04-27 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于执行Adam梯度下降训练算法的装置及方法 |
CN107341132A (zh) * | 2016-04-29 | 2017-11-10 | 北京中科寒武纪科技有限公司 | 一种用于执行AdaGrad梯度下降训练算法的装置和方法 |
CN107341540B (zh) * | 2016-04-29 | 2021-07-20 | 中科寒武纪科技股份有限公司 | 一种用于执行Hessian-Free训练算法的装置和方法 |
CN107341132B (zh) * | 2016-04-29 | 2021-06-11 | 中科寒武纪科技股份有限公司 | 一种用于执行AdaGrad梯度下降训练算法的装置和方法 |
WO2017185411A1 (zh) * | 2016-04-29 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行AdaGrad梯度下降训练算法的装置和方法 |
CN107341540A (zh) * | 2016-04-29 | 2017-11-10 | 北京中科寒武纪科技有限公司 | 一种用于执行Hessian-Free训练算法的装置和方法 |
WO2018082229A1 (zh) * | 2016-11-03 | 2018-05-11 | 北京中科寒武纪科技有限公司 | Slam运算装置和方法 |
CN108255519A (zh) * | 2016-12-29 | 2018-07-06 | 展讯通信(上海)有限公司 | 同步多线程处理器的浮点指令处理方法及装置 |
CN108255519B (zh) * | 2016-12-29 | 2020-08-14 | 展讯通信(上海)有限公司 | 同步多线程处理器的浮点指令处理方法及装置 |
CN111291880B (zh) * | 2017-10-30 | 2024-05-14 | 上海寒武纪信息科技有限公司 | 计算装置以及计算方法 |
CN111291880A (zh) * | 2017-10-30 | 2020-06-16 | 上海寒武纪信息科技有限公司 | 计算装置以及计算方法 |
CN109062604A (zh) * | 2018-06-26 | 2018-12-21 | 天津飞腾信息技术有限公司 | 一种面向标量和向量指令混合执行的发射方法及装置 |
CN109032666B (zh) * | 2018-07-03 | 2021-03-23 | 中国人民解放军国防科技大学 | 一种用于向量处理的确定断言活跃元素个数的方法和装置 |
CN109032666A (zh) * | 2018-07-03 | 2018-12-18 | 中国人民解放军国防科技大学 | 一种用于向量处理的确定断言活跃元素个数的方法和装置 |
WO2022127441A1 (zh) * | 2020-12-16 | 2022-06-23 | 广东赛昉科技有限公司 | 一种并行提取指令的方法与可读存储介质 |
WO2023123453A1 (zh) * | 2021-12-31 | 2023-07-06 | 华为技术有限公司 | 运算加速的处理方法、运算加速器的使用方法及运算加速器 |
CN115129480B (zh) * | 2022-08-26 | 2022-11-08 | 上海登临科技有限公司 | 标量处理单元的访问控制方法及标量处理单元 |
CN115129480A (zh) * | 2022-08-26 | 2022-09-30 | 上海登临科技有限公司 | 标量处理单元的访问控制方法及标量处理单元 |
CN116450216B (zh) * | 2023-06-12 | 2023-08-29 | 上海灵动微电子股份有限公司 | 共享硬件运算单元的局部缓存方法 |
CN116450216A (zh) * | 2023-06-12 | 2023-07-18 | 上海灵动微电子股份有限公司 | 共享硬件运算单元的局部缓存方法 |
CN116483441B (zh) * | 2023-06-21 | 2023-09-12 | 睿思芯科(深圳)技术有限公司 | 基于移位缓冲的输出时序优化***、方法及相关设备 |
CN116483441A (zh) * | 2023-06-21 | 2023-07-25 | 睿思芯科(深圳)技术有限公司 | 基于移位缓冲的输出时序优化***、方法及相关设备 |
CN117348933A (zh) * | 2023-12-05 | 2024-01-05 | 睿思芯科(深圳)技术有限公司 | 一种处理器及计算机*** |
CN117348933B (zh) * | 2023-12-05 | 2024-02-06 | 睿思芯科(深圳)技术有限公司 | 一种处理器及计算机*** |
CN117931729A (zh) * | 2024-03-22 | 2024-04-26 | 芯来智融半导体科技(上海)有限公司 | 向量处理器访存指令处理方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102156637A (zh) | 向量交叉多线程处理方法及向量交叉多线程微处理器 | |
Ipek et al. | Core fusion: accommodating software diversity in chip multiprocessors | |
CN106648554B (zh) | 用于改善连续的事务性存储器区的吞吐量的***、方法和装置 | |
CN102750133B (zh) | 支持simd的32位三发射的数字信号处理器 | |
CN102004719B (zh) | 支持同时多线程的超长指令字处理器结构 | |
EP3716056B1 (en) | Apparatus and method for program order queue (poq) to manage data dependencies in processor having multiple instruction queues | |
CN104050023B (zh) | 用于实现事务存储器的***和方法 | |
CN108701027A (zh) | 用于将比原生支持的数据宽度更宽的数据原子地存储到存储器的处理器、方法、***和指令 | |
US11275637B2 (en) | Aggregated page fault signaling and handling | |
CN105512088B (zh) | 一种可重构的处理器架构及其重构方法 | |
US10095623B2 (en) | Hardware apparatuses and methods to control access to a multiple bank data cache | |
US9904553B2 (en) | Method and apparatus for implementing dynamic portbinding within a reservation station | |
CN105453030B (zh) | 向较宽的寄存器进行依赖于模式的部分宽度加载的处理器、方法和*** | |
KR20220151134A (ko) | 이종 처리 자원들에 대한 작업을 적응적으로 스케줄링하기 위한 장치 및 방법 | |
CN103365627A (zh) | 执行单元内的数据转发***和方法 | |
US10275242B2 (en) | System and method for real time instruction tracing | |
CN104216681B (zh) | 一种cpu指令处理方法和处理器 | |
CN100451951C (zh) | Risc cpu中的5+3级流水线设计方法 | |
US20140129805A1 (en) | Execution pipeline power reduction | |
CN101266559A (zh) | 将单微处理器核划分为多个小核的可配置微处理器和方法 | |
CN108351780A (zh) | 邻接数据元素成对交换处理器、方法、***和指令 | |
CN105183697B (zh) | 嵌入式rsic‑dsp处理器***及构建方法 | |
EP3757772A1 (en) | System, apparatus and method for a hybrid reservation station for a processor | |
Omondi | The microarchitecture of pipelined and superscalar computers | |
CN103218207A (zh) | 基于单/双发射指令集的微处理器指令处理方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110817 |