OpenRisc-1-startup

来源:互联网 发布:网络小额贷款运营模式 编辑:程序博客网 时间:2024/06/07 02:04

引言

计算机体系结构的研究和学习中,理论是一方面,这方面有很多很优秀的教材,比如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进行了仿真:

 

1.2 探险地图

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

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

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

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

下面是其中一张的截图。

 

 

 

 

1.3 小结

以此,作为or1200分析的startup。

 

 

附:

另外,对于想研究和修改计算机体系结构的朋友,openrisc的simulator是很有必要的,此外还要有compiler的支持,所有这些都可从下面的网址获得:

http://opencores.org/or1k/Main_Page


1,最简单的,就是下一个虚拟机的镜像:

http://opencores.org/or1k/Ubuntu_VirtualBox-image_updates_and_information

2,也可以自己搭建工具链:

http://www.embecosm.com/download/ean2.html

 

 

另:

国内我们有一个qq群,可以参与讨论,相互学习与交流:

277505520

或者我个人的QQ:

120379064

 

另:玩OpenRISC所需资料,我专门建了一个list,请参考:

http://blog.csdn.net/rill_zhen/article/details/8882797
OpenRisc-25-ORPSoC,openrisc相关资料汇总
原创粉丝点击