FTPA: 一种具有可配置核的灵活多核处理器结构(二)
扫描二维码
随时随地手机看文章
2 灵活多核处理器FTPA 结构设计
2.1 现有灵活多核处理器结构面临的问题
● 通信开销问题
灵活多核处理器结构可以根据应用特征,将多个物理核组合成一个功能强大的逻辑核。 逻辑核的粒度决定了有多少超块可以被推测执行,从而构建不同大小的指令窗口。对于采用EDGE 指令集的结构( 如TFlex),虽然超块内指令间的数据依赖关系在编译时已经获得,但是由于长延迟指令的存在和访存延迟的不确定性,即使依靠编译器静态地面向多个物理核 调度指令,也不能有效地隐藏实际执行时超块内指令间的通信开销。因此超块在逻辑核上的平铺式映射在很多情况下并不适合。
● 逻辑核重构开销问题
灵活多核处理器中每个物理核都包含构成逻辑核的所有资源: 寄存器文件,指令窗口,执行部件以及一级高速缓存等。 当多个物理核组合成一个逻辑核时,指令窗口和执行部件可以很容易的组合,但寄存器文件和一级高速缓存的内容则需要重建,因为这些资源里的内容通常是按照地 址索引交错存放的,一旦资源数量或者位置发生改变,则需要清空原有数据后重建。例如在TFlex 中,逻辑核的重构就需要数千个时钟周期,因此难以实现实时的细粒度资源调整。
● 灵活性问题
灵活多核处理器的主要特点是逻辑核的可配置性。 Core Fusion、Federation 和WiDGET 结构由于紧耦合的设计,灵活性十分有限; Voltron 只能静态地配置逻辑核粒度,缺乏实时性; TFlex 虽然提出了逻辑核的动态配置机制,但灵活性仍受到很大约束: TFlex 处理器包含32个同构的细粒度物理核,通过4 × 8 的片上mesh网络进行连接,要求逻辑核配置必须为2 × 2,4 ×4,2 × 4 等特定的mesh 拓扑,即物理核总数和mesh 边长都是2 的指数倍。 这样的限制有其软硬件两方面的原因: 一方面,由于TFlex 编译器将超块内指令静态调度到128 项的逻辑空间,因此2的指数倍大小的拓扑方便超块指令从逻辑空间映射到硬件空间,如4 × 4 × 8 或4 × 2 × 16 硬件空间; 另一方面,寄存器文件和物理核内的一级高速缓存等共享资源,由于采用地址交错索引的方式,不规则的拓扑将使索引变得复杂。 因此,TFlex 逻辑核粒度只能在这些特定的拓扑之间切换,不仅限制了灵活性,而且也容易引起资源的浪费。
针对上述3 个问题,本文提出一个新的灵活多核处理器结构FTPA. 相比于已有的设计,FTPA具有以下3 个技术创新点: 1 ) FTPA 将单个超块独立的映射在单个物理核上,降低超块内指令间通信开销; 并且根据超块级推测执行的深度调整逻辑核的粒度,以此适应程序不同阶段的并行特征,提高资源利用率。 2) FTPA 将物理核资源划分成需要频繁调整的计算资源和不经常重构的共享资源分别管理,以此降低逻辑核重构开销。 3 )FTPA 在物理Mesh 网络上建立额外的逻辑上环形拓扑的网络连接计算资源,以此支持任意粒度的逻辑核,提供高度的灵活性。 以下2 节分别叙述FTPA 的物理核和逻辑核设计。