R700指令集架构参考手册——第一章:介绍

R700家族处理器实现了一个并行微架构,不仅仅为计算图形应用,而且也为通用目的流应用提供了卓越的平台。任何可以被映射到一个2D矩阵的数据密集应用可作为运行在R700家族处理器上的候选。

图1.1展示了R700家族处理器的集成块图

它包括了一个数据并行处理器(DDP)阵列,一个命令处理器,一个存储器控制器,以及其它逻辑(没有展示)。R700命令处理器读取主机写到系统存储器地址空间中的存储器映射R700寄存器。当命令完成时,该命令处理器将硬件产生的中断发送给主机。R700存储器控制器可以直接访问R700本地存储器和主机指定的系统存储器区域。为了满足读写请求,存储器控制器执行一个直接存储器访问(DMA)控制器的功能,包括计算基于存储器中所请求的数据格式的存储器地址偏移。

 

一个主机应用不能直接写R700本地存储器,但是它可以命令R700将程序和数据在系统存储器和R700存储器之间进行拷贝。对于CPU写到GPU 存储器有两种方法:

1、请求GPU的DMA引擎,通过指向CPU存储器上源数据的位置,然后指向它所要写的GPU存储器中的偏移,把数据写到那里。

2、加载一个内核运行在着色器上,着色器通过PCIe连接访问存储器,然后对这些数据进行处理,最后将它们存储在GPU存储器中。

 

一个完整的R700应用包括两部分:

1、一个运行在主机处理器上的程序,以及

2、运行在R700处理器上的程序(译者注:复数),被称为内核kernel)。

 

R700程序受主机命令控制,这些命令:

1、设置R700内部基地址和其它配置寄存器,

2、指定R700所要操作的数据域,

3、无效化并冲刷R700上的Cache,以及

4、使R700开始执行一个程序。

 

R700驱动程序运行在主机上。

 

DPP阵列是R700处理器的心脏。该阵列被组织为一组SIMD流水线,每条流水线相互独立,对浮点或整型数据流并行操作。SIMD流水线可以处理数据,或通过存储器控制器,对存储器读写数据。一条SIMD流水线中的计算可以是带条件的。写到存储器的输出也可以是带条件的。

主机命令请求一条SIMD流水线执行一个内核,通过给它传递:

1、一个标识符对(x, y)

2、一个条件值,以及

3、内核代码在存储器中的位置。

 

当SIMD流水线收到请求时,它从存储器加载指令和数据,开始执行,然后一直继续,直到内核结束。当内核在运行时,R700硬件自动地从存储器取指令和数据到片上Cache;R700软件在这里不扮演任何角色。R700软件也可以从片外存储器将数据加载到片上GPR和Cache。

 

概念上,每个SIMD流水线维护一个对存储器的独立的接口,该接口由索引对以及一个标识请求类型(程序指令、浮点常量、整型常量、布尔常量、输入读,或输出写)的一个域组成。输入、输出和常量的索引对通过从流水线中硬件维护的程序状态请求R700指令而被指定。

R700程序不支持异常、中断、错误,或任何其它可以打断其流水线操作的事件。特别地,它不支持IEEE浮点异常。在图1.1中所展示的从命令处理器到主机的软件中断表示,为发送命令完成和相关管理功能而由硬件产生的中断。

 

图1.2从程序员的角度展示了一个R700应用的三个版本的数据流。最顶上的版本(a)是一个图形应用,包含了一个几何着色程序和一个DMA拷贝程序。中间版本(b)不包含几何着色程序和DMA拷贝程序。底部版本(c)是一个通用目的应用。方块表示运行在DPP阵列上的程序。圆和云表示非可编程硬件功能。对于图形应用,链中的每个块处理一个特定种类的数据,并将其结果继续传递给下一个块。对于通用目的应用,只有一个处理块执行所有的计算。

 

图1.2缩略语:

CS——计算着色器程序

DC——DMA拷贝程序

GS——几何着色器程序

PaC——参数Cache

PoC——位置Cache

PS——像素着色器程序

RB——环缓存

VS——顶点着色器程序

 

数据流序列通过从本地R700存储器或系统存储器读2D顶点、2D纹理或其它2D数据启动;它通过写2D像素或其它2D数据结果到本地R700存储器结束。R700处理器通过潜在地保持在不同执行阶段的上百个线程的踪迹,并通过叠交计算操作和存储器访问操作来隐藏存储器延迟。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值