发明名称 利用路预测技术的多线程处理器的取指方法及系统
摘要 本发明公开了一种利用路预测技术的多线程处理器的取指方法,该方法包括:在多路组相联的指令高速缓存中,使用路预测器为取指优先级最高的线程预测该线程的指令处在哪一路中,然后使用该线程的程序计数器访问预测的路进行取指,同时使用取指优先级次高的线程的程序计数器访问指令高速缓存其余的路进行取指。本发明还公开了一种利用路预测技术的多线程处理器的取指系统。本发明使用单端口的高速缓存对多个线程进行取指,既避免了在多线程处理器中使用多端口高速缓存增大了芯片面积,又解决了多线程处理器中使用单端口高速缓存只能对一个线程取指造成取指带宽不高的问题。
申请公布号 CN100426260C 申请公布日期 2008.10.15
申请号 CN200510130722.X 申请日期 2005.12.23
申请人 中国科学院计算技术研究所 发明人 李祖松;胡伟武;郇丹丹
分类号 G06F12/08(2006.01);G06F9/38(2006.01) 主分类号 G06F12/08(2006.01)
代理机构 北京泛华伟业知识产权代理有限公司 代理人 高存秀
主权项 1、 一种利用路预测技术的多线程处理器的取指系统,包括程序计数器(1)、取指优先排序装置(2)、最优先取指线程的程序计数器(3)、次优先取指线程的程序计数器(4)、路预测装置(5)、指令高速缓存(6)、指令队列(7)以及选择器(8);其特征在于,所述的程序计数器(1)连接所述的选择器(8)的输入端,所述的取指优先排序装置(2)通过统计各线程的信息对各线程取指的优先顺序进行排序,所述的取指优先排序装置(2)的输出端连接到选择器(8)的另一个输入端上,选择器(8)有两个输出端,分别连接到最优先取指线程的程序计数器(3)和次优先取指线程的程序计数器(4)的输入端,最优先取指线程的程序计数器(3)通过路预测装置(5)连接到指令高速缓存(6)上,而次优先取指线程的程序计数器(4)直接与指令高速缓存(6)连接,指令高速缓存的输出端连接有指令队列(7);其中,a、利用取指优先排序装置(2)对所有线程进行排序,确定最优先取指线程和次优先取指线程;b、使用最优先取指线程的程序计数器(3)访问指令高速缓存的路预测装置(5),得到该线程的指令处于高速缓存(6)中哪一路或哪几路的预测值;c、使用最优先取指线程的程序计数器(3)对指令高速缓存的步骤b所预测的路进行取指,同时用次优先取指线程的程序计数器(4)对指令高速缓存其余的路进行取指;d、对次优先取指线程取来的指令进行标志比较,如果发生高速缓存命中,即标志相等,执行下一步,如果发生高速缓存不命中,即标志不相等,执行步骤f;e、将次优先取指线程从高速缓存中读取的命中的指令送入次优先取指线程的指令队列等待译码;f、对最优先取指线程取来的指令进行标志比较,如果发生高速缓存命中,即标志相等,执行下一步,如果发生高速缓存不命中,即标志不相等,执行步骤h;g、将最优先取指线程从高速缓存中读取的命中的指令送入最优先取指线程的指令队列等待译码,执行步骤1;h、使用最优先取指线程的程序计数器访问指令高速缓存中不属于步骤b所预测的路的其余的路;i、对最优先取指线程新取来的指令进行标志比较,如果发生高速缓存命中,即标志相等,执行下一步,如果发生高速缓存不命中,即标志不相等,执行步骤k;j、将最优先取指线程从高速缓存中新读取的命中的指令送入最优先取指线程的指令队列等待译码,同时修改路预测装置,记录最优先取指线程的程序计数器的路预测装置对应项的值为命中的路,执行步骤1;k、使用最优先取指线程的程序计数器的值向低层存储系统发出访问请求,取回对应的指令送入最优先取指线程的指令队列,同时填充指令高速缓存,并修改路预测装置,记录最优先取指线程的程序计数器的路预测装置对应项的值为所填充的路;l.处理完毕。
地址 100080北京市海淀区中关村科学院南路6号