EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
浮点与整数资源区别分配的SMT处理器取指策略
- K2 Q; N* q d) |6 W4 s) P' W S5 o
蒋生健,胡向东,杨剑新 ( K4 J( ?6 d2 D1 q8 _
(国家高性能集成电路(上海)设计中心,上海201204) . d% j5 x2 q3 G9 W3 ]0 C- A1 D1 M
5 L$ `+ s% ^4 S9 K6 S: u9 |
摘要:在同时多线程处理器中,各线程对于浮点和整数资源需求不同,合理分配线程的共享资源是提升处理器整体性能的重要因素。为此,提出一种浮点与整数资源区别分配的取指策略,合理分配各个线程对于浮点和整数资源的使用情况。实验结果表明,与ICOUNT ,STALL等策略相比,该策略在算术平均IPC和调和平均IPC方面均取得一定的性能提升,同时其在处理浮点和整数混合型程序时也具有优势。1 U. o; S9 E8 ~' L. M, d( g
关键词:同时多线程;取指策略;资源分配;线程级并行;浮点;整数
5 H# n. S) T* b3 p2 D6 a% y" z# b6 G
4 }% `0 Z9 p% ^3 Q1 V0概述
5 c9 K4 k& {* o7 L# Y同时多线程( Simultaneous Multithreading,SMT)技术中允许同时发射多个线程的指令到执行部件,可减少发射槽的水平浪费和垂直浪费,提升处理器的资源利用率和指令吞吐率。但SMT处理器各线程在共享处理器资源的同时也带来了资源的竞争,因此,合理分配共享资源对提升SMT处理器性能至关重要。
% J% u7 N0 A9 L2 {' K2 v T6 I1 e5 J7 l1 p/ ]. e/ x
0 b* `4 p' Z; u7 T' Y+ ~- J取指部件每周期从-一个或多个线程中读取若干条指令进入流水线,从源头上决定了共享资源在线程间的分配。在SMT处理器中,如果某个线程发生长延时事件,如二级Cache缺失、数据TLB ( TranslationLookaside Buffer)缺失 等,可能导致该线程长时间占用某种共享资源,影响其他线程的性能,甚至造成流水线的停顿。5 ^5 X# v1 }) g7 }- q
9 ]8 h' }6 b. C9 b7 f' f
0 D1 }5 p0 p4 R1 d2 t; _
5 c* q- Q6 D8 G5 ~: J) e! a" h* |
4 p# b9 v; K/ S" G
|