|
你搞错了我说的 同步异步的意思....
我的意思不是 频率方面的异步,
1:你说 外围负责数据的传递, SHADER 负责计算, 那么 SHADER 计算 也是需要数据的, SHADER 读取数据的时候 需要考虑到 CORE在传递的时延么??? 是这个异步同步的意思哦.
2:如果 CORE 存在 时间片的问题, 那么在 时间片的中间阶段, SHADER 却需要数据, 那么 SHADER 是不是得到数据呢???
3:如果CORE 的 时延 在上升阶段 和 下降阶段 都是分开计算的, 而且 在同一个阶段内 只能允许SHADER进行一种操作的话, 那么 可以看成 SHADER 和 CORE 的读取 必须 同步 而且不能互斥.
4:另 某些计算是不是 不需要在送入 CORE 然后在到显存, 就可以直接传到 接口进行显示了.
bigpao007 发表于 2009-3-30 21:37 ![]()
首先,我所描述的核心层主要是指streaming multiprocessor内部的部件,包括SP、各种cache、dispatch、reg file和crossbar等
外围部件主要指TMU、纹理缓存、ROP和外部的crossbar总线
它们之间并不是简单的“计算”和“传递”关系。说起来有点复杂,你可以做如下理解:
为了完成一个大的任务(图形渲染),GPU中需要有许多部件,这些部件将整个大任务分解成许多步骤去执行,这些步骤的周期并不是相等的。有些步骤的周期比较长,比如tex fetch;有些步骤周期很短,比如add、mul这种算数操作。为了能更加方便的获得性能提升,NV从tesla架构开始,在GPU内把这两种操作的时钟分离开来。周期短的放到一起,适宜于提升频率,这就是hotclk(shader clock)部分;周期长的放到一起,利于multi-threading掩盖延迟,这就是nvclk(core clock)部分。另外还有一些诸如纹理缓存、渲染后端(ROP)、总线(crossbar)等辅助部件,这些和nvclk部分共用时钟,它们加在一起被称为外围部件。
关于你提到的数据等待操作问题,因为现在的GPU都是基于multi-threading结构的,因此不存在你说的那些情况
你可以参考cho的文章了解下GPU结构:http://www.pcinlife.com/article/ ... 13601612d533_1.html |
|