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 ...
随机推荐
- loadrunner性能测试步骤
性能测试过程分为4个阶段:设计.构建.执行.分析/诊断/调节具体的工作流程如下图 设计 > 构建 > 执行 > 分析/诊断/调节 收集要求 设置测试环境 基准测试 诊断瓶颈 设计测试 ...
- intellij IDEA怎样打war包
intellij IDEA怎样打war包 1: File-->Project Structure-->Artifacts, 点击+,选择Web Application:archive 可自 ...
- 一步一步学Silverlight 2系列(18):综合实例之RSS阅读器
一步一步学Silverlight 2系列(18):综合实例之RSS阅读器 概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支 ...
- 如何在chrome上设置Bing为默认搜索引擎,在设置中无法直接设置
- DBA之RMAN备份
13:00 backup database backup db :3h 3h: 产生了10 archive log file 16:00 finish restore database; 13 ...
- bzoj2660最多的方案——数位DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2660 首先,多种方案的出现是因为一个较大的斐波那契数可以变成两个较小的: 用一个01串来表示 ...
- 用 SDL2 进行事件驱动编程
其实没必要说得太复杂...就是读取用户输入啦. 沿用上一篇的代码,加入事件轮询. 环境:SDL2 + VC++2015 下面的代码将打开background.png和event.png,将backgr ...
- E - Alice and Bob
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
- View Controller Programming Guide for iOS---(八)---Using View Controllers in the Responder Chain
Using View Controllers in the Responder Chain 响应链中使用视图控制器 View controllers are descendants of the UI ...
- 时间戳 js 转换
// 获取当前时间戳(以s为单位) var timestamp = Date.parse(new Date()); timestamp = timestamp / 1000; //当前时间戳为:140 ...