您的位置:首页 > 其它

如何做好一个处理器

2013-06-08 10:52 141 查看
从事GPU研发三年多了。从开始的GPU时钟精确级仿真平台,到GPU软件库设计与实现,再到GPU硬件体系结构的研究与设计,这个过程经历了很多,同样,也获得了很多。

第一代GPU使用可编程方式进行设计,命令的处理、顶点染色以及像素染色均采用可编程处理器来实现。作为一个可编程染色器,从设计到最终的应用,这个过程足以让人抓狂。处理器采用RISC架构,而在第一版中,引入了记分板技术,后来发现,对于GPU而言,记分板技术的应用并不太需要。处理器的设计重点在于其验证工作,要想得到一个稳定的处理器,并将产品化,充分的验证是必不可少的,而由于第一代产品中的处理器主要用于进行图形算法的计算,因此在测试demo方面更集中于图形方面的测试,但是这是一个很危险的做法。充分的spec测试是必不可少的。

处理器在进行标准测试初期,由软件人员编写一些特定的测试代码,进行各种指令的组合,从而验证处理器的正确性,这个阶段需要一批对硬件架构非常熟悉的软件开发人员。在完成了这一步后,接下来就是一些简单算法的测试,这个阶段并不需要测试人员熟悉硬件架构,而只需要查看程序运行的正确性。完成这一步了,接下来就是spec的测试了,这是一个非常耗时的任务,尤其是在编译器还尚未完成之时,汇编程序的大量编写是避免不了了。如果编译器在处理器设计之初就开始着手设计实现,那么在处理器硬件完成时,编译器也会设计完成(基本可用),编译器的提供能节省大量的人力和物力,这对于一个产品而言,起着决定性的作用。

编译器预先设计,测试demo预先编写,处理器设计中,硬件与软件必须并行开发,而在处理器尚未完成之时,处理器的仿真器必不可少,有了仿真器,预先所编写的测试demo就有了可运行平台,这给整个项目争取了时间,同时,处理器的仿真器能在后期调试处理器起到很大的作用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: