热点推荐
ZOL首页 > CPU频道 > CPU新闻 > 业界评论 >

龙芯2号研发过程(7)

研发人员揭内幕 解密龙芯2号研发过程

CNET中国·ZOL论坛 【转载】 2006年09月19日 06:55 评论
在本页阅读全文(共17页)

  最近我女儿经常在用龙芯2号做的Linux PC上玩游戏。 我告诉她这就是我们在九寨沟画的 方框 “烧” 出来的, 她感到很诧异。 在2002年8月10日龙芯1号首片调试成功之后, 龙芯2号的设计工作又慢了下来, 全组的主要力量放在了龙芯1号的系统开发上面。 虽然由于龙芯1号的系统开发和性能分析耽误了一些时间, 但我自己在龙芯1号上玩了近一个月后有很大的收获。 尤其是对性能和主频的关系有了更深入的认识。 比如, 对于有一些访存密集的应用, 主板频率 83MHz而CPU频率250MHz时的性能还不如主板频率100MHz而CPU频率200MHz的性能。 现在想起来, 一个处理器的性能就象一个城市的交通系统的吞吐率, 可能由于某几处的堵塞而影响整个城市的吞吐率, 只要把这几处疏通了, 虽然花的力气不大, 但吞吐率会极大地提高。 2002年9月28日龙芯 1号发布会后, 龙芯2号的设计工作全面展开。 10月2日, 我带着张福新和李祖松到母校中国科大利用十一长假进行龙芯2号的C模拟器封闭开发, 顺便向母校报告一下我们的工作。 在科大借了半间原来的库房呆了一个多星期, 基本完成了C模拟器的代码编写。 在对结构进行细化的过程中发现了好多原来没有考虑到的问题。 对于这些问题我们有时候争辩得很激烈。 例如在转移猜错取消时需要判断正在执行的指令中哪些是该转移指令前面的, 哪些是该转移指令后面的, 张福新和李祖松的观点是参照MIPS R10000使用的方法, 而我觉得那个方法太麻烦, 希望有更简洁的方法。 我们一直争论了两天, 在争论的过程中互相启发, 终于找到了一种简洁而高效的方法。

  2002年10月8日回北京时龙芯2号的C模拟器已经基本成型。 我们继续在我的办公室进行半封闭式的开发, 主要是继续完善C模拟器并开始调试。 那段时间我们每周只有二、四、六晚上休息, 其它时间都在调试。 调试过程中也调动组里的其它人写了不少测试向量。 11月中旬在C模拟器中成功启动LINUX操作系统, 开始对C模拟器进行性能优化以加快模拟速度并用C模拟器对龙芯2号的结构进行性能分析。

  在此期间以及以后的几个月内, 我们在C模拟器上运行了完整的SPEC CPU2000的几乎所有程序以及八十年代比较流行的性能测试程序dhrystone 和whetdstone等, 对龙芯2号的性能进行初步的分析。 在运行上述程序过程中还发现了不少设计上的bug和考虑不周的地方。 印象比较深刻的是由于访存操作的乱序执行导致两个或多个访存操作之间互相替换CACHE 块并引起死锁。 另外一件印象比较深刻的是MIPS指令系统规定转移指令的延迟槽指令不能是转移指令, 否则处理器的行为不确定, 但我们在C模拟器中发现在我们的设计中如果转移指令的延迟槽指令也是转移指令时也会导致处理器死锁。 虽然这是由错误的程序引起的, 但也是结构设计考虑不周的地方, 对于错误的程序我们可以给出错误的结果, 但不能把机器搞死。

持续近40年的战争 X86系列CPU大史记

价格性能功耗 3000名热心网友评扣肉

从皓龙146到双核3800+ 网友使用心得

PD820到底怎么样 听听论坛网友怎么说

资深消费者谈十年数十款芯片使用感受

上一页 1 ...5 6 7 8 9 ...17 下一页
频道热词:AMD  散热器  intel  
视觉焦点
CPU新闻热点
排行 文章标题
TOP10周热门CPU排行榜
  • 热门
  • 新品
查看完整榜单>>