CN101763251A - 多线程微处理器的指令译码缓冲装置 - Google Patents
多线程微处理器的指令译码缓冲装置 Download PDFInfo
- Publication number
- CN101763251A CN101763251A CN201010039519A CN201010039519A CN101763251A CN 101763251 A CN101763251 A CN 101763251A CN 201010039519 A CN201010039519 A CN 201010039519A CN 201010039519 A CN201010039519 A CN 201010039519A CN 101763251 A CN101763251 A CN 101763251A
- Authority
- CN
- China
- Prior art keywords
- instruction
- thread
- decoding
- buffer
- logic
- 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.)
- Granted
Links
Images
Abstract
本发明公开了一种多线程微处理器的指令译码缓冲装置,该微处理器包含取指部件(100)、译码部件(101)、执行部件(102)和线程状态控制部件(103);取指部件(100)包括指令高速缓存(104)、对应于两个线程A和B的程序计数器A(105)、程序计数器B(106)、取指线程选择逻辑(107)、对应于两个线程的指令缓冲器A(108)、指令缓冲器B(109)和缓冲器控制逻辑(110);译码部件(101)包括译码线程选择逻辑(111)、译码缓冲装置(112)和译码分派逻辑(113);执行部件(102)包括访存执行部件(114)和算术执行部件(115),线程状态控制部件(103)包括线程状态寄存器、译码优先级寄存器和带宽分配控制寄存器。
Description
技术领域
本发明涉及微处理器及计算机系统,进一步说,本发明涉及支持多个硬件线程的微处理器,更具体地说,涉及到多线程微处理器的指令译码器的缓冲装置,涉及保证多线程执行吞吐率的和单线程执行效率的机制的辅助装置。
背景技术
现代处理器普遍采用多指令发射的设计,安排多个执行部件,将多个指令同时译码,调度发射各个执行部件以达到多个指令的并行执行。然而,指令之间的数据相关性和控制依赖使得可以并行执行的指令十分有限,无法充分利用多个执行部件。因此人们在指令级并行技术基础上,开发了硬件多线程并行技术,来自多个硬件上下文的指令序列同时或交替地发射指令到执行部件中,使得整个处理器处理指令的吞吐量得到提升。由于多个线程共享一些关键的硬件资源,硬件的利用率得到提高。
在嵌入式媒体处理领域,应用程序本身往往具有多线程的特点,这些软件线程可以直接映射到多线程处理器的硬件线程上,达到线程级并行。然而,媒体应用有实时性的要求,也就是对单线程的执行时延要求具有可控性,而传统多线程技术并不能保证单线程的性能,因此有必要设计合理的线程运行切换以及调度机制来保证单线程的执行时延,在必要时,要把所有资源完全分配给关键的线程。
现有的方法是安排可软件配置的线程调度逻辑部件,接收硬件运行信息和软件控制信息,利用实时操作系统和硬件部件的交互来达到对线程执行的控制,发出线程选择信号,在不同线程的指令队列中选择进入共享执行资源的线程的指令。
当代处理器的高速设计,指令选择和译码部件往往是流水化操作的,需要流水界面寄存器。并且考虑到多指令发射技术,选中的线程要有多个指令同时进入执行部件,但译码部件根据指令类型和执行部件的匹配以及执行部件空闲或者忙碌状态决定了多个指令是否能在同一个周期被分派出去,如果不能同时分派,界面寄存器作为缓冲装置,接收剩下的未分派的指令。然而,如果线程选择逻辑需要尽快完成到另一个线程的切换,这就需要缓冲装置具有灵活高效的特点,而不需要对被换出的线程进行清空。
发明内容
本发明要解决的技术问题是提供一种能为多发射多线程流水线处理器提供支持灵活线程切换的指令译码缓冲装置。
为了解决上述技术问题,本发明提供一种多线程微处理器的指令译码缓冲装置,指令译码缓冲装置,设置在一种多线程的微处理器中,该微处理器包含取指部件、译码部件、执行部件和线程状态控制部件;
取指部件包括基于现有技术的指令高速缓存、对应于两个线程A和B的程序计数器A、程序计数器B、取指线程选择逻辑、对应于两个线程的基于先进先出技术的指令缓冲器A、指令缓冲器B和缓冲器控制逻辑;
译码部件包括基于译码线程选择逻辑、基于本发明的译码缓冲装置和基于乱序超标量技术的译码分派逻辑;
执行部件包括基于流水化的访存执行部件、算术执行部件,其内部含有各自的指令发射队列,可以完成乱序执行,按序提交;
线程状态控制部件包括线程状态寄存器、译码优先级寄存器、带宽分配控制寄存器,上述寄存器都向软件提供接口,由软件设定。
作为本发明的多线程微处理器的指令译码缓冲装置的改进:译码缓冲装置设置在微处理器两个线程的指令缓冲器A、指令缓冲器B和译码分派逻辑之间,寄存线程译码线程选择逻辑选出的线程A的指令对或线程B的指令对,根据译码分派逻辑的指令分派结果信号决定本次译码线程选择逻辑选出的线程下一周期接收几条新指令,并发出信号合并信号指示取指控制器决定本次译码线程选择逻辑选出的线程对应的指令缓冲器A或者指令缓冲器B的读指针的动作。
作为本发明的多线程微处理器的指令译码缓冲装置的进一步改进:译码缓冲装置在双线程运行模式下,无论当前线程指令从译码缓冲装置成功分派几条到执行部件的发射队列中,都可以根据译码线程选择逻辑下一周期的选择结果立即切换到另一个线程,并由译码分派逻辑进行另一线程的指令分派动作。
作为本发明的多线程微处理器的指令译码缓冲装置的进一步改进:译码缓冲装置由线程A备份缓冲器、线程B备份缓冲器和分派缓冲器构成,每个缓冲器都由对应于两条指令的两个指令缓冲寄存器和忙位寄存器构成。
本发明所提供的指令译码缓冲装置,设置在微处理器系统中, 该系统包含一个指令高速缓存,分别对应两个线程的两套取指计数器,两个线程各自的指令缓冲先入先出队列,线程状态控制部件和线程选择逻辑,指令译码分派部件和指令执行部件。指令译码缓冲装置设置在指令缓冲队列和指令译码分派部件之间。
在线程调度逻辑的控制下,某一个线程指令缓冲读出的两条指令被写入译码缓冲装置。指令缓冲器具有以下特点:指令成对按照先入先出规则被写入和读出该指令缓冲器,读出是指指令被载入译码缓冲装置,指令缓冲器不再保存读出的指令,指令读总线总是给出下次待读的指令。译码分派逻辑按照执行部件资源的限制决定从译码缓冲装置接收的指令是否可以被分派执行部件,并把成功分派的指令的条数反馈给指令缓冲器和译码分派缓冲装置。
本发明提供的指令译码缓冲装置,包含每个线程各自的备份缓冲器和一个分派缓冲器。来自线程状态控制部件的决定了译码缓冲装置的动作,在单线程运行状态下,来自某个线程的指令缓冲的两条指令直接载入分派缓冲器。在双线程运行状态下,各个线程的指令要首先被载入到备份缓冲器中,分派缓冲在两个线程之间来回切换,当切换到某个线程时,指令从该线程的备份缓冲载入分派缓冲。
与现有的指令译码技术相比,本发明的有益效果是:
提供更加灵活的零开销线程切换装置,与实时线程调度机制结合,可以提供单线程性能的可控性,为多线程技术在嵌入式应用提供更好的支持。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细说明。
图1为本发明涉及的微处理器系统框图;
图2为图1中的译码缓冲装置112的结构框图;
图3a为图2中的线程A备份缓冲器200和线程B备份缓冲器201的指令缓冲寄存器逻辑结构图;
图3b为图2中的线程A备份缓冲器200和线程B备份缓冲器201的指令缓冲寄存器状态寄存器逻辑结构图,两个指令缓冲寄存器300和301对应的状态寄存器结构是相同的;
图4为线程A备份缓冲器200、线程B备份缓冲器201和分派缓冲器202输入端多路器的控制逻辑的逻辑结构图,这三者的控制逻辑结构完全相同,只是输入信号不同,由图2指明;
图5a为图2中的分派缓冲器202的指令缓冲寄存器逻辑结构图;
图5b为图2中的分派缓冲器202的指令缓冲寄存器状态寄存器逻辑结构图,两个指令缓冲寄存器500和501对应的状态寄存器结构是相同的。
具体实施方式
下面结合附图说明本发明的具体实施方式。
本发明的工作过程具体如下述步骤所示:
1.取指:
两个线程:线程A和线程B的状态可能是激活态或阻塞态,线程状态保存在线程状态控制部件103的寄存器中。如果两个线程都处于激活态,则微处理器处于双线程工作模式。取指线程选择逻辑107从线程状态控制部件103中得知微处理器处于双线程工作模式下,从对应于线程A和线程B的程序计数器A105、程序计数器B106选择一个读取指令高速缓存104中的指令,每周期读出两条指令。取指线程选择逻辑107完全按照交替的方式选择线程,即如果本周期选择线程A,则下一周期选择线程B,再下一周期又选择线程A。读出的指令对被按照先入先出(FIFO,first in first out)原则,根据当前哪个线程被选中,送入指令缓冲器A108或者指令缓冲器B109,这种指令缓冲器完全是现有的标准的FIFO结构,具有读指针和写指针,存储单元和空、满控制逻辑。
2.译码:
译码线程选择逻辑111从线程状态控制部件103中获取微处理器线程控制参数,包括两个线程的优先级和译码带宽分配比例。译码线程选择逻辑111的策略是:首先选择优先级高的线程,在同样优先级下,对两个线程进行单周期的细粒度交替选择,或者按照译码带宽分配比例进行粗颗粒度的交替选择。选择结果表现为译码线程选择信号组118,包括译码线程选择信号203和模式信号204。在单线程模式下,译码线程选择信号203从指令缓冲器A108读总线上的指令对信号组116合指令缓冲器B109读总线上的指令对信号组117中选出一对指令205,进入分派缓冲器202;在双线程模式下,译码线程选择信号203从线程A备份缓冲器200的输出指令对信号组208和线程B备份缓冲器201输出指令对信号组209得到将要被分派的指令对锁存到分派缓冲器寄存器500和501。注意,无论译码线程选择的结果是什么,线程A备份缓冲器200只接收来自指令缓冲器A108读总线上的指令对116,线程B备份缓冲器201只接收来自指令缓冲器B109读总线上的指令对117。译码分派逻辑113从译码缓冲装置112中的分派缓冲器202的得到当前被译码的指令对119和指令对有效标记位123,按照一定的分派算法,包括现有技术重命名逻辑以及记分板逻辑等等,检测并标记指令之间数据相关性,按序分派两条指令到访存执行部件114和算术执行部件115中的发射队列中,所谓按序,是指只有当第一条指令被分派出去之后,第二条指令才有可能被分派出去。发射队列可以是严格的按序FIFO队列,也可以执行乱序发射,取决于具体实现形式。两个执行部件114和115可以完全乱序执行指令,执行部件102的其他控制逻辑要保证按序提交指令,包括再定序缓冲(ROB)等现有技术。访存执行部件114中发射队列的满信号120和访存执行部件115中发射队列的满信号121被送入译码分派逻辑113,当某个指令对应的执行部件发射队列为满,例如当前有一条访存指令等待分派,而访存执行部件114发射队列满信号120置位,则不能分派该指令。译码分派逻辑113要把指令分派的情况信号122反馈给取指控制器110和译码缓冲装置112,另外译码缓冲装置112的状态信号123也要发送给指令缓冲器控制110,这些状态信息决定取指控制器110和译码缓冲装置112的缓冲单元是否要进行移位操作。
3.执行:
被分派到访存执行部件114和算术执行部件115的指令携带着线程标记信号,由发射逻辑按照一定的仲裁算法进行选择,最简单的算法是轮换(Round-robin)。被选中的指令进入流水化的执行部件进行运算操作,指令被发射后,在流水线中不再停顿,如果出现异常或者数据高速缓存缺失等事件,则对应线程的取指重新进行。指令的提交和异常的流水线重启由再定序缓冲控制。
参照图2,译码缓冲装置112由线程A备份缓冲器200、线程B备份缓冲器201和分派缓冲器202构成。线程A备份缓冲器200的输入包括来自指令缓冲器A108的指令信号组116(包括32位指令T0_Inst1,T0_Inst2,以及指令缓冲空信号T0_Emt和第二条指令有效信号T0_I2v),来自译码分派逻辑113的指令分派信号组122(包括指令对中第一条指令分派信号Dis1和第一条指令分派信号Dis2),和来自译码线程选择逻辑111的选择位203的延迟信号206。线程B备份缓冲器201的输入包括来自指令缓冲器B109的指令信号组117(包括32位指令T1_Inst1,T1_Inst2,以及指令缓冲空信号T1_Emt和第二条指令有效信号T1_I2v),来自译码分派逻辑113的指令分派信号组122,和来自译码线程选择逻辑111的延迟选择位203的延迟信号206。分派缓冲器202的输入包括被选中的线程的指令信号组205,从线程A备份缓冲器200输出的指令信号组207和从线程B备份缓冲器201输出的指令信号组208,以及来自译码分派逻辑113的指令分派信号组122和来自译码线程选择逻辑111的线程模式信号204。缓冲输出的指令对119和对应的指令有效标志信号123进入译码分派逻辑113。整个部件由全局时钟CLK和复位信号RST_n控制。
图3显示了线程备份缓冲器的内部构造,由两个指令缓冲寄存器和它们各自对应的忙位寄存器组成,这个构造对于线程A备份缓冲器200和线程B备份缓冲器201来说是相同的,因此以下对图3和图4的说明以线程A备份缓冲器200为例。
忙位表示对应的缓冲寄存器中指令是否有效,高电平表示缓冲寄存器中存在有效指令,低电平表示指令缓冲寄存器中数据为无效数据。图3(a)表示指令2缓冲寄存器300和指令1缓冲寄存器301的结构。指令2缓冲寄存器300的输入来自于指令缓冲器A108的指令信号组116中的指令T0_Inst1 302和指令T0_Inst2 303。当指令T0_Inst1选择信号304有效,选择指令T0_Inst1 302,否则,如果指令T0_Inst2选择信号305有效,选择指令T0_Inst2 303,否则,指令2缓冲寄存器300保持原值。指令1缓冲寄存器301的输入来自于指令T0_Inst1 302和指令2缓冲寄存器300的输出端306。当寄存器移位选择信号307有效,选择指令2缓冲寄存器300的值306,否则,如果指令T0_Inst1选择信号308有效,选择指令T0_Inst1 302,否则,指令1缓冲寄存器301保持原值。指令1缓冲寄存器301和指令2缓冲寄存器300对应的忙位寄存器312和316的构造是相同的,如图3(b),置位多路器控制信号310/314优先级高于和清零多路器控制信号311/315,前者将忙位寄存器312/316强行置位,后者将忙位寄存器312/316强行清零,当它们都无效时忙位保持不变。两个忙位寄存器的多路器控制信号是不同的,这源于两个指令的地位不同,缓冲指令2缓冲寄存器300中的指令总是比指令1缓冲寄存器301中的指令(如果它们都有效的话)“新”,译码分派逻辑113和缓冲器控制逻辑110总是试图保持这种指令次序关系,它们的次序是取指时完全定义好的。译码分派逻辑113总是先试图分派“旧”的指令,再去分派“新”的指令。
图4给出了指令1缓冲寄存器301、指令2缓冲寄存器300的控制逻辑和对应的忙位寄存器312和316的控制逻辑。信号400~405分别表示指令缓冲器A108的空信号T0_Emt(置位表示指令缓冲为空),指令2有效信号T0_I2v(置位表示缓冲器给出的第二条指令也是有效的),线程A备份缓冲器200忙位313、317,来自译码分派逻辑113的指令分派成功标志信号Dis1、Dis2。406为生成指令1缓冲寄存器301选择信号308的逻辑,为三种情况的或逻辑:407表示两个缓冲本来都为空,408表示缓冲器2为空而缓冲器1中的指令本周期末被分派了出去,409表示两个缓冲器都为忙但是两个指令本周期末都被分派了出去。410为生成指令1缓冲寄存器301的选择信号307和指令2缓冲寄存器300的选择信号304的生成逻辑,表示两个缓冲器都为忙,而且本周期只有指令1被分派出去。411为生成指令2缓冲寄存器300的选择信号305的逻辑,表示本周期末两个指令都被分派了出去,或者指令2缓冲寄存器300本身为空。412为生成忙位1寄存器312置位信号310的逻辑,表示指令1缓冲寄存器301本身为空并且有新指令将要写进来。413为生产忙位1寄存器312清零信号311的逻辑,表示没有新指令将要写进来并且缓冲寄存器中的指令被分派了出去。414为忙位2的置位逻辑,表示缓冲器2本身为空并且有两条新指令将写进来。415为忙位2寄存器316清零信号315的生成逻辑的一种情况,表示没有新指令写进来,已有的指令都分派了出去,416为忙位2寄存器316清零信号315的生成逻辑的另一种情况,表示只有1条新指令写进来并且已有的两条指令都分派了出去,415和416合起来相或构成了忙位2寄存器316清零信号315的生成逻辑。最后,所有的控制信号都要经过线程掩码信号417,为译码线程选择信号203的延迟信号206的取反。注意,对于线程B备份缓冲器201,这个掩码信号为译码线程选择信号203的延迟信号206。
图5显示了分派缓冲器202的内部构造,由两个指令缓冲寄存器和它们各自对应的忙位寄存器组成。忙位表示对应的缓冲寄存器中指令是否有效,高电平表示缓冲寄存器中存在有效指令,低电平表示指令缓冲寄存器中数据为无效数据。图5(a)、(b)表示指令1缓冲寄存器501和指令2缓冲寄存器500及其对应忙位寄存器的509和512结构。在模式信号204为低电平,即单线程模式下,指令2缓冲寄存器500和指令1缓冲寄存器501的输入来自经过选择的信号组205中的Inst1 502和Inst2 503,选择通路506的控制逻辑以及忙位控制逻辑与各个备份缓冲器中的完全类似,如图4所示,但有两点不同,一是输入信号不一样,对应于于400~405分别表示被线程选择信号203选出的信号组205中的指令缓冲器的空信号Emt,指令2有效信号I2v,忙位515、516,来自译码分派逻辑113的指令分派成功标志信号Dis1、Dis2;二是最后的控制信号的线程掩码417为逻辑1。在模式信号204为高电平,即双线程模式下,指令2缓冲寄存器500、忙位寄存器509和指令1缓冲寄存器501、忙位寄存器510的输入来自线程B备份缓冲器201输出信号组208,包括指令CpyB_Inst1 507、CpyB_Inst2 504、忙位CpyB_Busy1 510、CpyB_Busy2 511和线程A备份缓冲器200输出信号组207,包括指令CpyA_Inst1 508、CpyA_Inst2 505、忙位CpyA_Busy1 513、CpyA_Busy2 514。选来自哪个线程的备份缓冲器,取决于线程选择信号203。
最后,还需要注意的是,以上列举的仅是本发明的一个具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (4)
1.一种多线程微处理器的指令译码缓冲装置,特征在于:指令译码缓冲装置,设置在一种多线程的微处理器中,该微处理器包含取指部件(100)、译码部件(101)、执行部件(102)和线程状态控制部件(103);
取指部件(100)包括基于现有技术的指令高速缓存(104)、对应于两个线程A和B的程序计数器A(105)、程序计数器B(106)、取指线程选择逻辑(107)、对应于两个线程的基于先进先出技术的指令缓冲器A(108)、指令缓冲器B(109)和缓冲器控制逻辑(110);
译码部件(101)包括基于译码线程选择逻辑(111)、译码缓冲装置(112)和基于乱序超标量技术的译码分派逻辑(113);
执行部件(102)包括基于流水化的访存执行部件(114)、算术执行部件(115),其内部含有各自的指令发射队列,可以完成乱序执行,按序提交;
线程状态控制部件(103)包括线程状态寄存器、译码优先级寄存器、带宽分配控制寄存器,上述寄存器都向软件提供接口,由软件设定。
2.根据权利要求1所述的多线程微处理器的指令译码缓冲装置,特征在于:译码缓冲装置(112)为设置在微处理器两个线程的指令缓冲器A(108)、指令缓冲器B(109)和译码分派逻辑(113)之间,寄存线程译码线程选择逻辑(111)选出的线程A的指令对(116)或线程B的指令对(117),根据译码分派逻辑(113)的指令分派结果信号(122)决定本次译码线程选择逻辑(111)选出的线程下一周期接收几条新指令,并发出信号(123)合并信号(112)指示取指控制器(110)决定本次译码线程选择逻辑(111)选出的线程对应的指令缓冲器A(108)或者指令缓冲器B(109)的读指针的动作。
3.根据权利要求1所述的多线程微处理器的指令译码缓冲装置,特征在于:译码缓冲装置(112)在双线程运行模式下,无论当前线程指令从译码缓冲装置(112)成功分派几条到执行部件(102)的发射队列中,都可以根据译码线程选择逻辑(111)下一周期的选择结果立即切换到另一个线程,并由译码分派逻辑(113)进行另一线程的指令分派动作。
4.根据权利要求2或3所述的多线程微处理器的指令译码缓冲装置,特征在于:译码缓冲装置(112)由线程A备份缓冲器(200)、线程B备份缓冲器(201)和分派缓冲器(202)构成,每个缓冲器都由对应于两条指令的两个指令缓冲寄存器和忙位寄存器构成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010039519.2A CN101763251B (zh) | 2010-01-05 | 2010-01-05 | 含有译码缓冲装置的多线程的微处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010039519.2A CN101763251B (zh) | 2010-01-05 | 2010-01-05 | 含有译码缓冲装置的多线程的微处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101763251A true CN101763251A (zh) | 2010-06-30 |
CN101763251B CN101763251B (zh) | 2014-04-16 |
Family
ID=42494423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010039519.2A Active CN101763251B (zh) | 2010-01-05 | 2010-01-05 | 含有译码缓冲装置的多线程的微处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101763251B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242963A (zh) * | 2014-07-03 | 2016-01-13 | 密执安大学评议会 | 执行机构间的切换控制 |
CN105824605A (zh) * | 2016-04-28 | 2016-08-03 | 王生洪 | 一种可控动态多线程方法及处理器 |
CN107255961A (zh) * | 2017-06-14 | 2017-10-17 | 电子科技大学 | 一种高效数据交互的无线智能示波器 |
CN108279927A (zh) * | 2017-12-26 | 2018-07-13 | 芯原微电子(上海)有限公司 | 可调整指令优先级的多通道指令控制方法及系统、控制器 |
CN109101275A (zh) * | 2018-06-26 | 2018-12-28 | 天津飞腾信息技术有限公司 | 一种基于移位的指令提取与缓冲方法及超标量微处理器 |
CN110045989A (zh) * | 2019-03-14 | 2019-07-23 | 西安理工大学 | 一种动态切换式低功耗处理器 |
CN112083957A (zh) * | 2020-09-18 | 2020-12-15 | 海光信息技术股份有限公司 | 带宽控制设备、多线程控制器系统及访存带宽控制方法 |
CN112214241A (zh) * | 2020-09-23 | 2021-01-12 | 上海赛昉科技有限公司 | 一种分布式指令执行单元的方法及系统 |
CN112416687A (zh) * | 2020-12-02 | 2021-02-26 | 海光信息技术股份有限公司 | 验证访存操作的方法与系统以及验证设备和存储介质 |
CN114968373A (zh) * | 2022-07-12 | 2022-08-30 | 飞腾信息技术有限公司 | 指令分派方法、装置、电子设备及计算机可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7401207B2 (en) * | 2003-04-25 | 2008-07-15 | International Business Machines Corporation | Apparatus and method for adjusting instruction thread priority in a multi-thread processor |
KR20050096036A (ko) * | 2004-03-29 | 2005-10-05 | 삼성전자주식회사 | 휴대형 저장장치 및 휴대형 저장장치의 파일 관리 방법 |
US7613904B2 (en) * | 2005-02-04 | 2009-11-03 | Mips Technologies, Inc. | Interfacing external thread prioritizing policy enforcing logic with customer modifiable register to processor internal scheduler |
US20080163230A1 (en) * | 2006-12-29 | 2008-07-03 | Fernando Latorre | Method and apparatus for selection among multiple execution threads |
US7725659B2 (en) * | 2007-09-05 | 2010-05-25 | International Business Machines Corporation | Alignment of cache fetch return data relative to a thread |
-
2010
- 2010-01-05 CN CN201010039519.2A patent/CN101763251B/zh active Active
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242963B (zh) * | 2014-07-03 | 2020-12-01 | 密执安大学评议会 | 执行机构间的切换控制 |
CN105242963A (zh) * | 2014-07-03 | 2016-01-13 | 密执安大学评议会 | 执行机构间的切换控制 |
CN105824605A (zh) * | 2016-04-28 | 2016-08-03 | 王生洪 | 一种可控动态多线程方法及处理器 |
CN105824605B (zh) * | 2016-04-28 | 2018-04-13 | 王生洪 | 一种可控动态多线程方法及处理器 |
CN107255961B (zh) * | 2017-06-14 | 2019-05-03 | 电子科技大学 | 一种高效数据交互的无线智能示波器 |
CN107255961A (zh) * | 2017-06-14 | 2017-10-17 | 电子科技大学 | 一种高效数据交互的无线智能示波器 |
CN108279927B (zh) * | 2017-12-26 | 2020-07-31 | 芯原微电子(上海)股份有限公司 | 可调整指令优先级的多通道指令控制方法及系统、控制器 |
CN108279927A (zh) * | 2017-12-26 | 2018-07-13 | 芯原微电子(上海)有限公司 | 可调整指令优先级的多通道指令控制方法及系统、控制器 |
CN109101275A (zh) * | 2018-06-26 | 2018-12-28 | 天津飞腾信息技术有限公司 | 一种基于移位的指令提取与缓冲方法及超标量微处理器 |
CN109101275B (zh) * | 2018-06-26 | 2021-07-23 | 飞腾技术(长沙)有限公司 | 一种基于移位的指令提取与缓冲方法及超标量微处理器 |
CN110045989A (zh) * | 2019-03-14 | 2019-07-23 | 西安理工大学 | 一种动态切换式低功耗处理器 |
CN110045989B (zh) * | 2019-03-14 | 2023-11-14 | 合肥雷芯智能科技有限公司 | 一种动态切换式低功耗处理器 |
CN112083957A (zh) * | 2020-09-18 | 2020-12-15 | 海光信息技术股份有限公司 | 带宽控制设备、多线程控制器系统及访存带宽控制方法 |
CN112083957B (zh) * | 2020-09-18 | 2023-10-20 | 海光信息技术股份有限公司 | 带宽控制设备、多线程控制器系统及访存带宽控制方法 |
CN112214241A (zh) * | 2020-09-23 | 2021-01-12 | 上海赛昉科技有限公司 | 一种分布式指令执行单元的方法及系统 |
CN112214241B (zh) * | 2020-09-23 | 2023-11-24 | 上海赛昉科技有限公司 | 一种分布式指令执行单元的方法及系统 |
CN112416687A (zh) * | 2020-12-02 | 2021-02-26 | 海光信息技术股份有限公司 | 验证访存操作的方法与系统以及验证设备和存储介质 |
CN112416687B (zh) * | 2020-12-02 | 2022-07-12 | 海光信息技术股份有限公司 | 验证访存操作的方法与系统以及验证设备和存储介质 |
CN114968373A (zh) * | 2022-07-12 | 2022-08-30 | 飞腾信息技术有限公司 | 指令分派方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101763251B (zh) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101763251B (zh) | 含有译码缓冲装置的多线程的微处理器 | |
KR101754462B1 (ko) | 동적 비순차적 프로세서 파이프라인을 구현하기 위한 방법 및 장치 | |
JP2928695B2 (ja) | 静的インタリーブを用いたマルチスレッドマイクロプロセッサおよびそれを備えたシステムでの命令スレッド実行方法 | |
US8675006B2 (en) | Apparatus and method for communicating between a central processing unit and a graphics processing unit | |
CN101957744B (zh) | 一种用于微处理器的硬件多线程控制方法及其装置 | |
CN101178646B (zh) | 多线程处理器 | |
CN101916180B (zh) | Risc处理器中执行寄存器类型指令的方法和其系统 | |
JP2908598B2 (ja) | 情報処理装置 | |
JP5173714B2 (ja) | マルチスレッドプロセッサ及びその割り込み処理方法 | |
CN106358003A (zh) | 一种基于线程级流水线的视频分析加速方法 | |
US8386753B2 (en) | Completion arbitration for more than two threads based on resource limitations | |
WO2022028048A1 (zh) | 乱序处理器中乱序执行队列的调度方法和装置 | |
EP2573673B1 (en) | Multithreaded processor and instruction fetch control method of multithreaded processor | |
US11366669B2 (en) | Apparatus for preventing rescheduling of a paused thread based on instruction classification | |
CN1227584C (zh) | 用于构造一个预调度的指令高速缓存的方法和装置 | |
US8151097B2 (en) | Multi-threaded system with branch | |
KR101466934B1 (ko) | 동시, 비순차적 디스패치를 사용하는 분산 디스패치 | |
CN114168202B (zh) | 指令调度方法、指令调度装置、处理器及存储介质 | |
US20080022075A1 (en) | Systems and Methods for Processing Buffer Data Retirement Conditions | |
JP4996945B2 (ja) | データ処理装置、データ処理方法 | |
CN108628639A (zh) | 处理器和指令调度方法 | |
KR100861073B1 (ko) | 적응형 파이프라인을 적용한 병렬 처리 프로세서 구조 | |
CN112181497B (zh) | 一种分支目标预测地址在流水线中的传递方法和装置 | |
CN108255587B (zh) | 一种同步多线程处理器 | |
CN101901130A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |