EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
浮点与整数资源区别分配的SMT处理器取指策略
( t& |) Q4 x3 w; h# V% s5 `- Y' ]3 n1 J+ U
蒋生健,胡向东,杨剑新 9 G6 t2 ?' n8 w2 `
(国家高性能集成电路(上海)设计中心,上海201204) # H7 U h k* q
4 i. a* T/ s$ f# T K& z
摘要:在同时多线程处理器中,各线程对于浮点和整数资源需求不同,合理分配线程的共享资源是提升处理器整体性能的重要因素。为此,提出一种浮点与整数资源区别分配的取指策略,合理分配各个线程对于浮点和整数资源的使用情况。实验结果表明,与ICOUNT ,STALL等策略相比,该策略在算术平均IPC和调和平均IPC方面均取得一定的性能提升,同时其在处理浮点和整数混合型程序时也具有优势。
, u& V! N" N1 E) f关键词:同时多线程;取指策略;资源分配;线程级并行;浮点;整数/ n3 w1 e+ L K. w, e8 S9 I6 I
! a# b: B3 z- \) E3 i" e( t/ B0概述- p% A. K. H' `+ o
同时多线程( Simultaneous Multithreading,SMT)技术中允许同时发射多个线程的指令到执行部件,可减少发射槽的水平浪费和垂直浪费,提升处理器的资源利用率和指令吞吐率。但SMT处理器各线程在共享处理器资源的同时也带来了资源的竞争,因此,合理分配共享资源对提升SMT处理器性能至关重要。% q9 @" l- ^* D9 |
0 G- G5 `% N1 I4 W5 p0 k
" q9 t# }5 y' x2 g7 ~1 q
取指部件每周期从-一个或多个线程中读取若干条指令进入流水线,从源头上决定了共享资源在线程间的分配。在SMT处理器中,如果某个线程发生长延时事件,如二级Cache缺失、数据TLB ( TranslationLookaside Buffer)缺失 等,可能导致该线程长时间占用某种共享资源,影响其他线程的性能,甚至造成流水线的停顿。' {" R3 J. e+ ^: V0 M
& U: y2 v. D1 d& t. M
' F/ B- G$ }! T1 D- m$ K4 i
) Z0 A: ^6 R S+ d8 c3 _
* t. e' x1 ^: B5 } |