多核处理器架构:技术解析与发展趋势
1. 执行集群与GPU架构
1.1 执行集群组织
执行集群包含计算前端/管理器、图形前端/管理器、线程调度与分发、寄存器文件、本地结构、加载存储单元、纹理单元、纹理缓存、共享内存、特殊功能单元(SFU)和一级缓存(L1$)等组件。图形管线的可编程顶点、几何和像素阶段会生成3D着色器程序,这些程序都在统一核心上执行。此外,通过执行计算着色器也支持通用计算。
1.2 单指令多线程(SIMT)执行模型
GPU依赖大规模多线程来实现高吞吐量。现代GPU可同时执行超过10,000个线程,以隐藏执行单元(EU)延迟和内存访问延迟。线程以线程组的形式创建、调度和执行,线程组也被称为“warp”(NVIDIA)或“quad”(ARM)。线程组由相同类型且起始指令指针地址相同的线程组成,支持不同类型线程组的并发调度和执行。
着色器核心支持单指令多线程(SIMT)执行模型,所有执行通道共享一个指令前端。在每个指令发布周期,调度器选择一个就绪的线程组,并向其所有活动线程发布相同的指令。线程组内的线程一起执行,但彼此独立。为处理分支,由于谓词机制,单个线程的执行会被屏蔽。如果线程组中的线程在条件分支中选择不同路径,则每个分支路径将单独执行,直到所有线程重新汇聚到相同分支路径。
为维持峰值执行速率,着色器核心同时管理一组线程组,并交错执行它们。为实现指令流之间的快速切换,所有运行中线程的执行上下文存储在一个大型统一寄存器文件中。采用多存储体架构在不同线程组之间共享寄存器文件,并提供高操作数读取带宽,不同寄存器存储体的操作数通过交叉开关网络和操作数收集器被送到相应的计算单元/通道。
G