码迷,mamicode.com
首页 > 其他好文 > 详细

图形处理芯片设计中的一些问题

时间:2015-08-17 21:41:12      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:

      一个芯片从需求的诞生到最后的芯片封装成功,需要经历一个非常漫长的过程。如果是一些不可编程的芯片,

相比全新的ISA,两类芯片所对应的软件工作量,完全不在一个数量级上。不可编程芯片,不需要ISA设计,不

需要compiler的设计,而这两部分软件,无论是从难度上,亦或是工作量上,都是具有一定难度的。尤其是

compiler,在国内算是稀缺资源了。一套高效而优秀的ISA,需要对芯片的应用场景做大量的前期研究,需要

充足的统计数据,才能最终确定下来。以第一款GPU为例,当初进行GPU设计时,由于GPU中的顶点染色与像素

染色渲染部件均为可编程的,因此需要为GPU提供一套指令集,而当时也是第一次进行GPU设计,拿着ARB所

提供的虚拟ISA就直接设计了,根本就没有进行深入地研究和统计导致最后,渲染处理器设计出来了,繁杂的ISA

造成硬件规模的不必要扩大。而在进行第二款GPU设计时,就对第一版的ISA进行大量的裁剪,由此一来,渲染

处理器的硬件规模就小了不少。这些是ISA设计所带来的问题。对于GPU的compiler而言,由于当时团队没有做

compiler的人,起初的渲染软件全部是自己用ISA一条一条地给折腾了出来。通常情况下,自己与计算机交流的

语言是C,第一次使用汇编给GPU写代码,由于不够熟练,硬着头皮在空白的纸条上将寄存器分配着使用。常见的

处理器,只有少数的寄存器,手动进行汇编编程,需要程序员自己去进行寄存器的分配,稍不留神,通常会导致程

序第一次运行正确,而在第二次执行时,由于寄存器的问题,使程序运行错误。这种问题又是最难调试的。如果有

compiler,他会把寄存器的分配全部搞定,就节省了大量的时间,这也是高级语言的一个好处,当然,通常情况下,

高级语言程序员是不会考虑这些问题的。

 

图形处理芯片设计中的一些问题

标签:

原文地址:http://www.cnblogs.com/DennisHwang/p/4737654.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!