首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

OpenRisc-一-startup

2013-11-09 
OpenRisc-1-startup引言计算机体系结构的研究和学习中,理论是一方面,这方面有很多很优秀的教材,比如J&P的

OpenRisc-1-startup

引言

计算机体系结构的研究和学习中,理论是一方面,这方面有很多很优秀的教材,比如J&P的两本经典,国内也有很多关于体系结构的书籍可供参考。

此外,理论联系实际也是不可或缺的,但是关于实用CPU的具体实现的源码分析方面的书籍就寥寥无几了。这可能跟从事这方面的研发人员的数量有限有关。参与的人少,又加剧了参考资料的稀疏,形成了一个不好的循环。

这使我想起了linux kernel的研究。按理说,linux kernel要比一个简单的RISC CPU复杂的多,研究linux要比研究CPU困难的多,为什么有无数的人了解linux?我觉得,这跟很多linux的大牛写了好多优秀的书籍有很大关系,我们可以踩着巨人的肩膀,继续前进,形成了一个良性的循环。

最近要做一个project,需要对CPU的实现有深入的了解才行,找了好久,都没有找到比较理想的参考资料。求人不如求己,呵呵,所以就打算分析一款开源的CPU代码。

希望能将理论照进现实。一个人的力量是微弱的,在此也希望有兴趣的同仁参与进来。

 

1.1 直观感受

开源的CPU,我选择了opencores开发的or1200。

源码我已上传:

http://download.csdn.net/detail/rill_zhen/4761982

 

在开始旅途之前有一个整体的直观的感受是很重要的。为此,我用modelsim对顶层module进行了仿真:

OpenRisc-一-startup

 

1.2 探险地图

对一个复杂工程的分析,就像一次漫长而危险的探险,很容易迷路,也很容易掉入万丈深渊。所以在探险开始之前准备一张比较详细的地图是很重要的。

为此,我根据or200的56个verilog源码文件,绘制了所有模块的调用关系图,和所有叶子模块的实现图。

整张地图包含56页,我也已经上传,根据各个top模块的调用图,甚至根据书签,就可以清楚知道模块间的关系:

http://download.csdn.net/detail/rill_zhen/4773700

下面是其中一张的截图。

OpenRisc-一-startup

 

 

OpenRisc-一-startup

 

 

1.3 小结

以此,作为or1200分析的startup。

 

 

1楼aaalllggg3天前 21:41
自由软件的精神也贯彻到了硬件领域!

热点排行