CN100377076C - 一种应用于同时多线程处理器的取指控制装置及其方法 - Google Patents

一种应用于同时多线程处理器的取指控制装置及其方法 Download PDF

Info

Publication number
CN100377076C
CN100377076C CNB2004100092885A CN200410009288A CN100377076C CN 100377076 C CN100377076 C CN 100377076C CN B2004100092885 A CNB2004100092885 A CN B2004100092885A CN 200410009288 A CN200410009288 A CN 200410009288A CN 100377076 C CN100377076 C CN 100377076C
Authority
CN
China
Prior art keywords
instruction
thread
fetching
minimum value
threads
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.)
Active
Application number
CNB2004100092885A
Other languages
English (en)
Other versions
CN1716183A (zh
Inventor
何立强
刘志勇
胡伟武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Loongson Technology Corp Ltd
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2004100092885A priority Critical patent/CN100377076C/zh
Publication of CN1716183A publication Critical patent/CN1716183A/zh
Application granted granted Critical
Publication of CN100377076C publication Critical patent/CN100377076C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

本发明公开了一种应用于同时多线程处理器的取指控制装置及其方法,该装置包括用于记录每线程占用指令队列的项数的计数器、T选二多路选择器、第一按位取反器、第二按位取反器、第一模16运算器、第二模16运算器、第一二选一选择器、第二二选一选择器及减法器。本发明为每个线程计算了一个取指数量的上界,从而更加均衡地利用了取指带宽,使得同时多线程处理器的平均占用指令队列项数大幅度减少,指令队列冲突率显著降低,同时Cache(高速缓冲存储器)和TLB(快表)的命中率也明显提高,最终使得处理器的性能得到很大的提高。

Description

一种应用于同时多线程处理器的取指控制装置及其方法
技术领域
本发明涉及计算机体系结构和通用微处理器设计领域,尤其涉及一种用于同时多线程处理器的取指控制装置及其方法。
背景技术
首先介绍说明书中发明内容所应用到环境,即,同时多线程微处理器系统结构。
一个同时多线程处理器的系统结构如图1所示。为了同时运行多个线程,处理器需要为每个线程设置一套独立的用于保存其运行状态的硬件机构,包括:程序计数器、定点和浮点寄存器组,以及在存储部件包括Cache、TLB和指令队列中设置的线程标识符。在此,指令队列是指包含同时多线程处理器内取指队列、译码队列、重命名队列和定点/浮点发射队列在内全部队列的统称;在每个时钟周期,取指部件根据分支预测器的结果从指令Cache中读取多个线程的指令送到取指队列,取指队列中的指令按“先进先出”的次序每周期将数量等于译码带宽的指令送到译码部件进行译码,指令经译码和重命名后进入到定点或浮点发射队列等待发射,当条件满足,即,操作数准备好且部件空闲时被发射到相应的功能部件乱序执行,执行结束后再经过指令重排序部件依次写回到寄存器中。
如图2所示,同时多线程处理器与传统的基于分支预测和乱序执行的超标量处理器的不同之处在于,前者允许在每个时钟周期从多个线程读取指令执行,因此在一个时钟周期内,同时多线程处理器能够同时利用程序的线程级并行性和指令级并行性来消除水平浪费,另外,当由于长延迟操作或者资源冲突导致只有一个活动线程时,该线程能够使用所有可获得的发射槽,这使得可以通过使用其他线程的未阻塞指令来消除垂直浪费,两方面的改进极大地提高了指令的吞吐率和系统的总体性能。而后者由于两类指令槽浪费现象的存在,导致性能低于同时多线程处理器的性能。从图中可以看到,同时多线程处理器在每个时钟周期可以从多个线程读取指令送到取指队列以供执行部件执行,因此,更加充分地利用了处理器发射槽的带宽,提高了处理器的指令吞吐率。
同时多线程处理器在提高指令吞吐率和指令槽资源利用率的同时也增加了线程间对共享硬件资源的竞争。合理分配硬件资源,在提高多线程总体性能的同时不影响单个程序负载的性能,其关键的因素在于取指方法。另外,由于允许在每个时钟周期从多个线程读取指令执行,取指部件和访存部件成为制约同时多线程处理器性能的瓶颈。合理取指,减少不必要的提前或无效取指操作,提高取指效率和取指质量,其关键的因素也在取指方法。
其次,我们简单介绍一些现有的同时多线程处理器的取指方法。
最简单的取指方法为“随机法”,即:取指部件随机地从备选线程取指令执行。另外一种简单的取指方法称为“round-robin”方式,即,轮询法,取指部件根据取指带宽轮流从全部或部分活动线程中读取固定或可变数目的指令到取指队列中供执行。轮询法的一种改进方法称为“round-robin by 1”,该方法为了提高上次选中取指的线程在运行时调入Cache的数据的使用效率,在下次调度时仅调度1个新的线程并淘汰1个旧的线程,从而使大部分线程可以在这个周期继续被取指,提高了Cache数据的利用率,减少了因线程频繁切换导致Cache数据被轮流替换掉的情况。轮询法实现简单,不考虑线程的推进速度和优先级等因素,有可能出现某些线程的指令因延迟执行而长期占据指令队列项导致其他线程无法继续取指和推进的现象,从而降低了系统整体的指令吞吐率。在这三种取指方法中,随机法和轮询法的性能接近,而“round-robin by 1”的方法略优于轮询法。
在已有的取指方法中,ICOUNT方法的取指效率和取指质量最高,依据该方法进行取指的程序性能也最好。在ICOUNT取指方法中,取指部件优先选择占据指令队列项数最少的几个线程进行取指,因此,若某线程运行速度快,则其指令在队列中的延迟时间短,可以被很快发射到功能部件执行,表现在指令队列上即占据较少的队列项,从而在下次取指时可以获得较高的优先权;而运行速度慢的线程,由于其指令延迟执行而长期占据队列项,形成指令堆积,因而在下次取指时将具有较低的优先权。在此,ICOUNT方法倾向于使运行速度快的线程优先运行,同时又能保证一定的取指公平性。ICOUNT方法有多种取指参数组合,其中,ICOUNT.2.8的性能最优,其具体步骤为:每次选两个线程取指,共取8条指令;首先优先为占据指令队列项最少的线程取指,当其发生指令Cache失效或下一条指令需要跨越指令Cache行时即停止取指,然后,将剩余的取指带宽分配给第二个选中的线程。
ICOUNT方法尽量为所选的第一个线程取指,直到停止取指的条件发生或达到最大的取指带宽时为止,在取指带宽有剩余时才为第二个线程取剩余数量的指令,这样会出现第一个线程被取了过多的指令而第二个线程没有足够的指令被取到的现象发生,造成取指带宽利用不均衡,每时钟周期内线程占用的指令队列项数相差较大,指令队列冲突率偏高,同时使得高速缓冲存储器和TLB的命中率受到限制,进而影响处理器性能的进一步提高。
在ICOUNT取指方法下,其取指装置仅包含一个线程的选择器、若干个记录线程占用指令队列项的计数器。在每个时钟周期,选择器从所有计数器中选择两个最小的值,其所对应的计数器编号即为将要从中进行取指的线程号,随后,取指部件从选定的第一个线程(其计数器值最小)中尽可能多地取指令,直到达到最大的取指带宽或遇到Cache行的边界或出现Cache不命中时才停止;如果此时仍有剩余的取指带宽,则取指部件从第二个线程(其计数器值次小)中尽可能多地取指令,直到遇到相同的终止条件才停止取指。在该装置中,选择器在取指时比较全部计数器值的相对大小后,这些计数器的值即不再被利用,由此,造成取指带宽利用不均衡,ICOUNT取指装置效率较低,性能较差。
在ICOUNT基础上,结合线程优先级的因素还有PICOUNT和PICOUNT2两种取指方法。前者在取指时计算备选线程的优先级和占用指令队列项数两个参数的加权和,其值最小的几个线程获得取指的优先权;后者则在计算加权和时偏重于线程优先级所占的权值。在此,考虑优先级的取指方法可以保证高优先级线程的取指和执行,但却可能导致低优先级线程长期得不到运行或性能发生下降。
针对不同的性能指标,也有一些其他的取指方法。如:一些贪心算法在取指时可以选择具有最小Cache或TLB失效率的线程进行取指;或选择具有最小平均访存时间的线程进行取指;也可以选择具有最高每周期指令数,即:IPC,的值的线程进行取指;另外,也可以根据各线程对硬件资源的使用互补情况进行取指选择,如:侧重于使各线程总的数据Cache失效率最小,或侧重于使总的平均访存时间最小,或侧重于使总的IPC值最大等。也有些从提高指令发射队列使用效率,尽量减少指令在队列中等待时间的角度提出了几种门控取指方法,如:当线程的延迟执行指令数达到某个限额时即停止从该线程取指,或在线程实际或预测的数据Cache失效率达到某个限额时即停止取指等。这些方法虽然在一定程度上满足了某项性能指标的要求,但由于其不是从处理器最终的性能指标出发进行取指选择,因而其处理器的总体性能都低于基于ICOUNT方法的处理器性能。
发明内容
本发明的目的在于:克服现有技术中取指带宽利用不均衡的问题;以及为了大幅度减少同时多线程处理器的平均占用指令队列项数,显著降低指令队列冲突率,同时明显提高高速缓冲存储器和TLB的命中率,最终提高处理器性能;从而提供一种应用于同时多线程处理器的取指控制装置及其方法。
为了解决上述技术问题,本发明提供一种应用于同时多线程处理器的取指方法,包括以下步骤:
a)对同时运行的多个线程所占用的指令队列项的项数进行统计;
b)将统计后得到的数值进行排序;
c)从排序后的序列中选择最小值和次最小值,将这两个值所对应的线程作为本时钟周期中选定取指的线程,将选定线程的线程号送到取指部件,其他线程在本时钟周期内不进行取指;
d)对步骤c)中最小值和次最小值分别进行逻辑“反”操作后的值进行模16运算,得到对应的两个新值,分别计算最小值和次最小值的取指令条数上限;
e)根据取指令条数上限进行取指。
在上述方案中,步骤d)中,所述最小值的取指令条数上限为取指带宽,与所述最小值逻辑反操作后的值模16运算后的值,两者中最小的值。
在上述方案中,步骤d)中,所述次最小值的取指令条数上限为:取指带宽与小于所述最小值的取指令条数上限的所取实际指令条数的差值,与所述次最小值逻辑反操作后的值模16运算后的值,两者中最小的值。
在上述方案中,所述取指令条数上限是指当从具有最小值或次最小值的线程取指时,若发生高速缓冲存储器不命中、指令跨越高速缓冲存储器边界、线程分支误预测等情况,则停止从该线程继续取指。
本发明提供一种应用于同时多线程处理器的取指装置,包括用于记录每线程占用指令队列的项数的计数器、T选二多路选择器、第一按位取反器、第二按位取反器、第一模16运算器、第二模16运算器、第一二选一选择器、第二二选一选择器及减法器;其中,在每个时钟周期,T选二多路选择器从计数器输出的数据值中选择最小值和次最小值输出,计数器编号输出至同时多线程处理器的取指部件,最小值通过第一按位取反器和第一模16运算器后送到第一二选一选择器;次最小值通过第二按位取反器和第二模16运算器后送到第二二选一选择器;第一二选一选择器的另一个输入为取指带宽,第二二选一选择器的另一个输入为减法器的输出;所述减法器的输入为取指带宽和第一二选一选择器的输出;第一二选一选择器和第二二选一选择器从输入的值中选择其中较小的值输出到同时多线程处理器的取指部件,取指部件根据第一二选一选择器和第二二选一选择器的输出值,从对应的线程取指令,并根据该时钟周期实际为所选线程取指令的条数更新每个线程在所述取指装置中所对应的计数器的值。
在上述方案中,所述T选二多路选择器中,T为线程数。
在上述方案中,所述计数器包括X个计数器,X为线程的个数。
在上述方案中,所述指令队列包括同时多线程处理器内取指队列、译码队列、重命名队列和定点/浮点发射队列在内全部队列。
由上可知,本发明为每个线程计算了一个取指数量的上界,从而更加均衡地利用了取指带宽,使得同时多线程处理器的平均占用指令队列项数大幅度减少,指令队列冲突率显著降低,同时Cache和TLB(快表)的命中率也明显提高,最终使得处理器的性能得到很大的提高。
附图说明
图1是现有技术中同时多线程处理器的系统结构;
图2a是现有技术中超标量处理器指令发射槽的示意图;
图2b是现有技术中同时多线程处理器指令发射槽的示意图;
图3是本发明应用于同时多线程处理器的取指方法流程图;
图4是本发明应用于同时多线程处理器的取指控制装置结构图。
具体实施方式
在本发明中,处理器在每个时钟周期内,取指部件根据本发明的取指控制装置的输入值从两个线程取指令。本发明的基本思想是选择当前运行线程中占据指令队列项最少的两个线程进行取指,并通过对其占用指令队列项数取逻辑“反”并对一个常数16取模操作后得到的数值和同时多线程处理器的取指带宽来共同限定一个选定线程每次读取的指令条数;按照这种取指令条数的限定方法,取指部件先为占据指令队列项最少的线程进行取指,然后将剩余的取指带宽用来为第二个选定的线程取指令。
参见图3,一种应用于同时多线程处理器的取指方法包括以下步骤:
步骤100,对同时运行的多个线程所占用的指令队列项的项数进行统计;
步骤110,将统计后得到的数值进行排序;
步骤120,从排序后的序列中选择最小值和次最小值,在此记为:MIN1和MIN2,且设MIN1≤MIN2,将这两个值所对应的线程作为本时钟周期中选定取指的线程,分别记为T1和T2,其他线程在本时钟周期内不进行取指;
步骤130,对步骤120中最小值和次最小值分别进行逻辑“反”操作,得到对应的两个新值,记为:
Figure C20041000928800091
Figure C20041000928800092
假设同时多线程处理器的取指带宽为N,则线程T1在本时钟周期内的取指令条数的上限为:
I 1 = MIN ( MIN 1 ‾ mod 16 , N ) - - - ( 1 )
其中,MIN操作的含义为两者中取其中较小的值。上限是指当从该线程取指时,若发生高速缓冲存储器不命中、指令跨越高速缓冲存储器边界、线程分支误预测等情况,则停止从该线程继续取指。
当线程T1的所取指令条数确定后,线程T2的取指令条数的上限为:
I 2 = MIN ( MIN 2 ‾ mod 16 , N - I 1 ′ ) - - - ( 2 )
其中,I1 为线程T1在公式1的限定下所取的实际指令数。同样,上限是指当从该线程取指时,若发生高速缓冲存储器不命中、指令跨越高速缓冲存储器边界、线程分支误预测等情况,则停止从该线程继续取指。
步骤140,根据取指令条数上限进行取指。
本发明与目前同时多线程处理器中性能最优的ICOUNT.2.8取指方法的不同之处在于两者为所选线程所取的指令数量上。ICOUNT方法尽量为所选的第一个线程取指,直到停止取指的条件发生或达到最大的取指带宽时为止,在取指带宽有剩余时才为第二个线程取剩余数量的指令;而本发明则在与ICOUNT相同的条件下为每个线程计算了一个取指数量的上界,而不是像ICOUNT方法那样将其设置为取指带宽,从而更加均衡地利用了取指带宽,避免出现第一个线程被取了过多的指令而第二个线程没有足够的指令被取到的现象发生,从而使线程的总体性能在ICOUNT上得到了进一步的提高。
参见图4,虚线框内的部分为本发明所涉及的部分。在图4中,本发明包含一套连接到同时多线程处理器取指部件的基于反馈机制的电路,即应用于同时多线程处理器的取指控制装置。该装置包括计数器1、T选二多路选择器2、第一按位取反器3、第二按位取反器4、第一模16运算器5、第二模16运算器6、第一二选一选择器7、第二二选一选择器8及减法器9。其中,计数器1用于记录每线程占用指令队列的项数;T选二的多路选择器2中,T为线程数。
在同时多线程处理器工作过程中,在每个时钟周期,计数器1的值送到T选二的多路选择器2,T选二的多路选择器2从输入的数据值中选择最小值和次最小值输出,其中,最小值通过“所选的线程1”端口输出,次小的值从“所选的线程2”端口输出,并将相应的线程号(即:计数器的编号)送到取指部件,该线程号表示在本时钟周期从其中读取指令的线程;T选二的多路选择器2的一个输出值通过第一按位取反器3和第一模16运算器5后送到第一二选一选择器7;T选二的多路选择器2的另一个输出值通过第二按位取反器4和第二模16运算器6后送到第二二选一选择器8;对应于所选的线程1(即:最初所选的两个值中较小值所对应的线程),第一二选一选择器7的另一个输入为N(同时多线程处理器的取指带宽);对应于所选线程2(即:另一个选定的线程),第二二选一选择器8的另一个输入为减法器9的输出,该减法器的输入为N和线程1所对应的第一二选一选择器7的输出;第一二选一选择器7和第二二选一选择器8从输入的值中选择其中较小的值输出到同时多线程处理器的取指部件,取指部件根据第一二选一选择器7和第二二选一选择器8的输出值,从对应的线程取指令,并根据该时钟周期实际取指令的情况更新每个线程在所述取指装置中所对应的计数器1的值,从而形成一个反馈电路。
所述取指装置所应用在的处理器具有一个独立且共享的取指队列;在每个时钟周期内,取指部件可以从多个同时运行的活动线程取指令,并送到共享的取指队列中;取指队列中有属于多个不同线程的指令可供处理器的执行部件执行,不同线程的指令执行时不需要进行线程切换;多个线程共享处理器的高速缓冲存储器和主机系统的主存储器。处理器的取指部件在取指令时,同时多线程处理器根据选定线程的程序计数器的值从共享的高速缓冲存储器或主存储器中读取一定数目的指令,送到共享的取指队列中。
图4中寄存器重命名部件后所连接的部分与图1中对应部分完全相同,在图中用虚线省略表示。
本发明的取指装置实现复杂度很低,用较少的硬件即可实现,其时间复杂度为常量。
下面,我们以一个实例来说明本发明的实施过程。为简单起见,假设同时多线程处理器同时运行2个线程,保留站队列共32项,用于存放经重命名后的定点和浮点指令,取指、译码、重命名队列(或窗口)分别为4项,处理器为4发射,每拍最多取4条指令。
在上面的假设下,队列项总数为:32+4*3=44。
需要说明的是,当处理器为4发射时,发明中“取模”的数为8。
对当前两线程拥有所有指令条数分布的情况列表如下。为减少篇幅,仅考虑线程1(T1)的指令数少于线程2(T2)的情况,反之相同。在表中,4’表示其取指上限为4条指令,但必须在线程1取指后的剩余取指带宽中进行取指。
表1  本发明的技术与ICOUNT技术在每时钟周期内取指令条数的区别。
  当前线程指令数   发明技术的取指条数(上限)   ICOUNT取指条数(上限)
  T1   T2   T1   T2   T1   T2
  1   1<T2<=43   4   4’   4   4’
  2   2<T2<=42   4   4’   4   4’
  3   3<T2<=41   4   4’   4   4’
  4   4<T2<=40   3   4’   4   4’
  5   5<T2<=39   2   4’   4   4’
  6   6<T2<=38   1   4’   4   4’
  7   7<T2<=37   0   4’   4   4’
  8   8<T2<=36   4   4’   4   4’
  9   9<T2<=35   4   4’   4   4’
  10   10<T2<=34   4   4’   4   4’
  11   11<T2<=33   4   4’   4   4’
  12   12<T2<=32   3   4’   4   4’
  13   13<T2<=31   2   4’   4   4’
  14   14<T2<=30   1   4’   4   4’
  15   15<T2<=29   0   4’   4   4’
  16   16<T2<=28   4   4’   4   4’
  17   17<T2<=27   4   4’   4   4’
  18   18<T2<=26   4   4’   4   4’
  19   19<T2<=25   4   4’   4   4’
  20   20<T2<=24   3   4’   4   4’
  21   21<T2<=23   2   4’   4   4’
  22   22<T2<=22   1   4’   4   4’
从表1中可以看到,本发明可以有效地限制一个线程取指令的上限,从而更加有效地分配取指带宽,达到提高同时多线程处理器性能的目的。
最后所应说明的是:以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。

Claims (8)

1.一种应用于同时多线程处理器的取指方法,包括以下步骤:
a)对同时运行的多个线程所占用的指令队列项的项数进行统计;
b)将统计后得到的数值进行排序;
c)从排序后的序列中选择最小值和次最小值,将这两个值所对应的线程作为本时钟周期中选定取指的线程,将选定线程的线程号送到取指部件,其他线程在本时钟周期内不进行取指;
d)对步骤c)中最小值和次最小值分别进行逻辑“反”操作后的值进行模16运算,得到对应的两个新值,分别计算最小值和次最小值的取指令条数上限;
e)根据取指令条数上限进行取指。
2.如权利要求1所述的方法,其特征在于,步骤d)中,所述最小值的取指令条数上限为取指带宽,与所述最小值逻辑反操作后的值模16运算后的值,两者中最小的值。
3.如权利要求1所述的方法,其特征在于,步骤d)中,所述次最小值的取指令条数上限为:取指带宽与小于所述最小值的取指令条数上限的所取实际指令条数的差值,与所述次最小值逻辑反操作后的值模16运算后的值,两者中最小的值。
4.如权利要求1所述的方法,其特征在于,所述取指令条数上限是指当从具有最小值或次最小值的线程取指时,若发生高速缓冲存储器不命中、指令跨越高速缓冲存储器边界、线程分支误预测情况,则停止从该线程继续取指。
5.一种应用于同时多线程处理器的取指装置,包括用于记录每线程占用指令队列的项数的计数器、T选二多路选择器、第一按位取反器、第二按位取反器、第一模16运算器、第二模16运算器、第一二选一选择器、第二二选一选择器及减法器;其中,在每个时钟周期,T选二多路选择器从计数器输出的数据值中选择最小值和次最小值输出,计数器编号输出至同时多线程处理器的取指部件,最小值通过第一按位取反器和第一模16运算器后送到第一二选一选择器;次最小值通过第二按位取反器和第二模16运算器后送到第二二选一选择器;第一二选一选择器的另一个输入为取指带宽,第二二选一选择器的另一个输入为减法器的输出;所述减法器的输入为取指带宽和第一二选一选择器的输出;第一二选一选择器和第二二选一选择器从输入的值中选择其中较小的值输出到同时多线程处理器的取指部件,所述取指部件根据第一二选一选择器和第二二选一选择器的输出值,从对应的线程取指令,并根据该时钟周期实际为所选线程取指令的条数更新每个线程在所述取指装置中所对应的计数器的值。
6.如权利要求5所述的取指装置,其特征在于,所述T选二多路选择器中,T为线程数。
7.如权利要求5所述的取指装置,其特征在于,所述计数器包括X个计数器,X为线程的个数。
8.如权利要求5所述的取指装置,其特征在于,所述指令队列包括同时多线程处理器内取指队列、译码队列、重命名队列和定点/浮点发射队列在内全部队列。
CNB2004100092885A 2004-06-30 2004-06-30 一种应用于同时多线程处理器的取指控制装置及其方法 Active CN100377076C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100092885A CN100377076C (zh) 2004-06-30 2004-06-30 一种应用于同时多线程处理器的取指控制装置及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100092885A CN100377076C (zh) 2004-06-30 2004-06-30 一种应用于同时多线程处理器的取指控制装置及其方法

Publications (2)

Publication Number Publication Date
CN1716183A CN1716183A (zh) 2006-01-04
CN100377076C true CN100377076C (zh) 2008-03-26

Family

ID=35822054

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100092885A Active CN100377076C (zh) 2004-06-30 2004-06-30 一种应用于同时多线程处理器的取指控制装置及其方法

Country Status (1)

Country Link
CN (1) CN100377076C (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123045A (ja) * 2006-11-08 2008-05-29 Matsushita Electric Ind Co Ltd プロセッサ
CN102566974B (zh) * 2012-01-14 2014-03-26 哈尔滨工程大学 基于同时多线程的取指控制方法
US10102004B2 (en) * 2014-03-27 2018-10-16 International Business Machines Corporation Hardware counters to track utilization in a multithreading computer system
CN107688471B (zh) * 2017-08-07 2021-06-08 北京中科睿芯科技集团有限公司 一种动态调整数据流架构的资源带宽的计算系统及其方法
CN112083957B (zh) * 2020-09-18 2023-10-20 海光信息技术股份有限公司 带宽控制设备、多线程控制器系统及访存带宽控制方法
CN114168202B (zh) * 2021-12-21 2023-01-31 海光信息技术股份有限公司 指令调度方法、指令调度装置、处理器及存储介质
CN115098169B (zh) * 2022-06-24 2024-03-05 海光信息技术股份有限公司 基于容量共享的调取指令的方法及装置
CN116414463B (zh) * 2023-04-13 2024-04-12 海光信息技术股份有限公司 指令调度方法、指令调度装置、处理器及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1228557A (zh) * 1998-03-06 1999-09-15 刘殷 计算机处理器多线程指令级并行技术
US5961631A (en) * 1997-07-16 1999-10-05 Arm Limited Data processing apparatus and method for pre-fetching an instruction in to an instruction cache
US20030005262A1 (en) * 2001-06-28 2003-01-02 Sailesh Kottapalli Mechanism for providing high instruction fetch bandwidth in a multi-threaded processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5961631A (en) * 1997-07-16 1999-10-05 Arm Limited Data processing apparatus and method for pre-fetching an instruction in to an instruction cache
CN1228557A (zh) * 1998-03-06 1999-09-15 刘殷 计算机处理器多线程指令级并行技术
US20030005262A1 (en) * 2001-06-28 2003-01-02 Sailesh Kottapalli Mechanism for providing high instruction fetch bandwidth in a multi-threaded processor

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Converting Thread-Level Parallelism toInstruction-LevelParallelism via Simultaneous Multithreading. JACK L.LO,SUSAN J.EGGERS ET AL.ACM Transactions on Computer Systems,Vol.Vol.15 No.No.3. 1997 *
Exploiting Choice:Instruction Fetch and IssueonanImplementable Simultaneous Multithreading Processor. M.Tullsen,Susan J.Eggers,et al.Proceedings of the 23rd Annual International Symposium on Computer Architecture. 1996 *
Simultaneous Multithreading: Maxmizing On-chip Parallelism. M.Tullsen,Susan J.Eggers,Henry M.levy.Proceedings of the 22nd Annual International Symposium on Computer Architecture. 1995 *

Also Published As

Publication number Publication date
CN1716183A (zh) 2006-01-04

Similar Documents

Publication Publication Date Title
US7418576B1 (en) Prioritized issuing of operation dedicated execution unit tagged instructions from multiple different type threads performing different set of operations
Sethia et al. Mascar: Speeding up GPU warps by reducing memory pitstops
US8756605B2 (en) Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline
KR100368350B1 (ko) 다중 스레드를 이용하는 처리 시스템과 다중 스레드 이용방법, 다중 독립 스레드 실행 방법과 스레드 실행 제어장치, 스레드와 연계한 프리페치 버퍼 이용 방법, 및스레드 실행 콘트롤러
CN1294484C (zh) 利用重新调度的重放队列中断处理器中的重放依赖关系循环
US8219993B2 (en) Frequency scaling of processing unit based on aggregate thread CPI metric
Yoon et al. Virtual thread: Maximizing thread-level parallelism beyond GPU scheduling limit
US20130339679A1 (en) Method and apparatus for reducing area and complexity of instruction wakeup logic in a multi-strand out-of-order processor
US10209998B2 (en) Multi-threading processor and a scheduling method thereof
US8386753B2 (en) Completion arbitration for more than two threads based on resource limitations
US20140208074A1 (en) Instruction scheduling for a multi-strand out-of-order processor
US20050210472A1 (en) Method and data processing system for per-chip thread queuing in a multi-processor system
US20080163230A1 (en) Method and apparatus for selection among multiple execution threads
US20060037017A1 (en) System, apparatus and method of reducing adverse performance impact due to migration of processes from one CPU to another
US20190171462A1 (en) Processing core having shared front end unit
Liu et al. SAWS: Synchronization aware GPGPU warp scheduling for multiple independent warp schedulers
EP2573673A1 (en) Multithreaded processor and instruction fetch control method of multithreded processor
CN100377076C (zh) 一种应用于同时多线程处理器的取指控制装置及其方法
CN115129480B (zh) 标量处理单元的访问控制方法及标量处理单元
US8151097B2 (en) Multi-threaded system with branch
US7509643B2 (en) Method and apparatus for supporting asymmetric multi-threading in a computer system
CN1926514B (zh) 从处理器中的并发物理线程的数目中去耦合逻辑线程的数目
CN112540796A (zh) 一种指令处理装置、处理器及其处理方法
CN112789593A (zh) 一种基于多线程的指令处理方法及装置
Robatmili et al. Thread-sensitive instruction issue for smt processors

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Assignee: Beijing Loongson Zhongke Technology Service Center Co., Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract fulfillment period: 2009.12.16 to 2028.12.31

Contract record no.: 2010990000062

Denomination of invention: Control device and its method for fetching instruction simultaneously used on multiple thread processors

Granted publication date: 20080326

License type: exclusive license

Record date: 20100128

LIC Patent licence contract for exploitation submitted for record

Free format text: EXCLUSIVE LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2009.12.16 TO 2028.12.31; CHANGE OF CONTRACT

Name of requester: BEIJING LOONGSON TECHNOLOGY SERVICE CENTER CO., LT

Effective date: 20100128

EC01 Cancellation of recordation of patent licensing contract

Assignee: Longxin Zhongke Technology Co., Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: 2010990000062

Date of cancellation: 20141231

EM01 Change of recordation of patent licensing contract

Change date: 20141231

Contract record no.: 2010990000062

Assignee after: Longxin Zhongke Technology Co., Ltd.

Assignee before: Beijing Loongson Zhongke Technology Service Center Co., Ltd.

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20060104

Assignee: Longxin Zhongke Technology Co., Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: 2015990000066

Denomination of invention: Control device and its method for fetching instruction simultaneously used on multiple thread processors

Granted publication date: 20080326

License type: Common License

Record date: 20150211

TR01 Transfer of patent right

Effective date of registration: 20200824

Address after: 100095, Beijing, Zhongguancun Haidian District environmental science and technology demonstration park, Liuzhou Industrial Park, No. 2 building

Patentee after: LOONGSON TECHNOLOGY Corp.,Ltd.

Address before: 100080 Haidian District, Zhongguancun Academy of Sciences, South Road, No. 6, No.

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences

TR01 Transfer of patent right
EC01 Cancellation of recordation of patent licensing contract

Assignee: LOONGSON TECHNOLOGY Corp.,Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: 2015990000066

Date of cancellation: 20200928

EC01 Cancellation of recordation of patent licensing contract
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd.