Openrisc的or1200
1 什么是OpenRISC
OpenRISC 是硬件开源社区opencores开发的RISC指令集处理器架构,包括32 bits 的Openrisc1000 和64 bitsOpenrisc 2000. 目前只实现了32bits or1200处理器。所以,在实际中Openrisc实际指的就是or1200.
2 什么是ORPSOC
有了or1200处理器,就可以用其搭建SOC芯片了,Opencores给出了基于or1200的SOC平台ORPSoC (OpenRISC Reference Platform System on Chip)。该SOC平台有两个可以的版本ORPSOCv2和ORPSOCv3两个版本。ORPSOCv2的目前社区不在更新了,所有的开发都转到ORPSOCv3上了。除了ORPSOC平台外还有一个基于or1200的SOC平台是MinSoC( the Minimal OpenRISC System on Chip)。
在ORPSOCv3 版本中,它将rtl 代码和自动化构建系统代码分开了。rtl 代码部分称为orrsoc-cores,自动化工具和脚本称为fusesoc。ORPSOC平台可以在FPGA上跑linux的操作系统。当安装完ORPSOCv3后可以fusesoc list-systems 查看支持的FPGA平台。
3 ORPSOC的开发环境
Opencores 提供一整套基于GUN的linux 开发环境,如果你不想安装开发工具,可以从opencores也提供基于Ubuntu的虚拟机开发环境。
4学习的参考资料
国内现有的参考资料有Rill_zhen的CSDN博客和他的书《深入理解OpenRISC体系结构》 。这本书着重分析了or1200 处理器是如何实现的,主要包括数据通路和控制通路。雷思磊的《步步惊芯软核处理器内部设计分析》 ,该书通过一条指令如何度过它的一生角度讲述0r1200的运行原理。并通过搭建一个最简的or1200的运行系统,详细阐述CPU的执行过程。早一点的书籍有潘峰等人所著《开源软核处理器OpenRisc的SOPC设计》 ,该书讲述整个ORPSOC的基本架构,细节方面不详细。倪继利所著的《CPU源代码分析与芯片设计及Linux移植》。陈曦编著的《片上系统设计思想与源代码分析》这两本书写作风格很像,都是在将ORPSOC,前者侧重于整个系统的移植和软件开发,后者侧重分析具体的每个SOC IP core. 除了书一些个人博客写得很不错。
5 OR1200的性能
or1200在使用0.18um及6层金属工艺时,主频可以运行在300MHz,可以提供300Dhrystone、2.1MIPS和300次的 32x32 DSP乘加操作。
参考文献:
[1] OpenRisc-1-startup. rill. http://blog.csdn.net/rill_zhen/article/details/8190322. 2015,12,30.
[2] ORPSOC. http://opencores.org/or1k/ORPSoC. 2015,12,20.
[3] ORPSoCv3InitialDiscussion. http://opencores.org/or1k/ORPSoCv3InitialDiscussion.
[4] OR1200 OpenRISC Processor. http://opencores.org/or1k/OR1200_OpenRISC_Processor
[5] http://opencores.org/or1k/OR1K:Community_Portal
[6] minisoc. http://www.minsoc.com/
http://opencores.org/project,minsoc
[7] OR1k主页. http://opencores.org/or1k/Main_Page
Openrisc的or1200的更多相关文章
- or1200下raw-os(仿真环境篇)
貌似最近都在公司混日子过了,怎么办?哎哎哎~罪过啊罪过,不过也是的,加工资居然没我份,顶领导个肺的,叫我怎么继续活啊~哎哎哎~ 算了,不谈这些鸟事情了,说多了都是泪啊,这篇blog开始我们进入raw- ...
- or1200中IMMU分析(续)
下面内容摘自<步步惊芯--软核处理器内部设计分析>一书 2 IMMU中的特殊寄存器 OR1200处理器中的IMMU包括第2组特殊寄存器,如表10.1所看到的. ITLBW0MRx是指令TL ...
- or1200下raw-os学习(任务篇)
这次就来说说基于上一节介绍的系统框图去建立我们所需要的任务,顺便学习Raw-OS提供的API,根据上节的分析,对于Slave Board有如下设计: Slave Board有三个任务,分别负责测试阻抗 ...
- OpenRisc-52-run openrisc&orpmon on ml501 board
引言 之前关于openrisc的内容,几乎都是基于opencores官方的ordb2a那个开发板的,但是,实际情况是有那个板子的人不是很多,所以目前我在做一个与之类似的板子,并且很快就会跟大家见面,这 ...
- OpenRisc-39-ORPSoC,or1200的memory hierarchy整体分析
引言 前面我们简单分析了ORPSoC的整体结构,or1200_top的整体结构,or1200_cpu的整体结构. 并对ORPSoC的启动过程,ORPSoC的debug子系统,clock子系统进行了介绍 ...
- or1200下Raw-OS学习(例子篇)
没有图我说个~毛(J)线(B)~对吧??? 直接上一个以前做过的项目来说说怎么去从一个前后台的程序过度到利用操作系统去管理的你代码吧~以前想过直接用事件驱动的框架去编写代码的,无奈这方面的资料实在太少 ...
- Cache基础知识OR1200在ICache一个简短的引论
以下摘录<步骤吓得核心--软-core处理器的室内设计与分析>一本书 12.1 Cache基本知识 12.1.1 Cache的作用 处理器的设计者通常会声称其设计的处理器一秒钟能做多少次乘 ...
- OR1200数据Cache运用情景分析
以下摘录<步骤吓得核心--软-core处理器的室内设计与分析>一本书 13.7DCache使用情景之中的一个--存储指令运行阶段DCache失靶 存储指令运行阶段DCache失靶这样的情景 ...
- or1200乘法除法指令解释
以下摘录<步骤吓得核心--软-core处理器的室内设计与分析>一本书 OR1200中乘法除法类指令共同拥有9条,表8.3给出了全部的乘法除法类指令的作用及说明. 说明:表8.3是ORBIS ...
随机推荐
- poj 2771 Guardian of Decency 解题报告
题目链接:http://poj.org/problem?id=2771 题目意思:有一个保守的老师要带他的学生来一次短途旅行,但是他又害怕有些人会变成情侣关系,于是就想出了一个方法: 1.身高差距 ...
- codeforces 436A. Feed with Candy 解题报告
题目链接:http://codeforces.com/contest/436/problem/A 题目意思:给出 n 颗只有两种类型:fruit 和 caramel的candies,这些candies ...
- CentOS设置代理
假设我们要设置代理为 IP:PORT1.网页上网网页上网设置代理很简单,在firefox浏览器下 Edit-->>Preferences-->>Advanced--> ...
- windows server2012之部署HTTPS安全站点
现在的互联网越来越重视网络安全方面的内容,像我们日常生活中浏览的网上银行网站等涉及安全的你都会发现有https 的标志出现,在URL前加https://前缀表明是用SSL加密的. 你的电脑与服务器之间 ...
- SPOJ:Lexicographically Smallest(并查集&排序)
Taplu and Abhishar loved playing scrabble. One day they thought of inventing a new game using alphab ...
- AtCoder3857:Median Sum (Bitset优化背包&&对称性求中位数)
Median Sum You are given N integers A1, A2, ..., AN. Consider the sums of all non-empty subsequences ...
- sscanf在字符串中的一些使用
弟弟的作业 你的弟弟刚做完了"100以内数的加减法"这部分的作业,请你帮他检查一下.每道题目(包括弟弟的答案)的格式为a+b=c或者a-b=c,其中a和b是作业中给出的,均为不超过 ...
- Bootstrap-CSS:辅助类
ylbtech-Bootstrap-CSS:辅助类 1.返回顶部 1. Bootstrap 辅助类 本章将讨论 Bootstrap 中的一些可能会派上用场的辅助类. 文本 以下不同的类展示了不同的文本 ...
- Mac 下的截图技巧
最近想制作GIF图片,截图后,发现没有截出鼠标小效果,自己就查阅了一下资料,总结了不少的截图技巧,这里写下来,权当笔记,方便今后检索,方便别人共享. 方法一: 下载 QQ,在QQ的皮娜好设置里面设置截 ...
- k8s-存储卷2-configMap-Secret-十三
一.StorageClass 在前一篇文章中,手动定义了pv,并让pvc关联至pv:现实中在pvc申请存储空间时,未必就有现成的pv符合pvc申请的需求,该怎么办呢? Kubernetes提供了描述存 ...