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 ...
随机推荐
- linux初级学习笔记八:linux权限管理及权限管理命令详解!(视频序号:04_2)
本节学习的命令:chown,chgrp,chmod,openssl,umask 本节学习的技能: 文件权限详解及对其的操作 生成随机密码命令 用遮罩码对用户权限进行修改 站在用户登陆的角度来说SHEL ...
- Oracle:datafile删除后,重启server报ORA-01110
模拟实验: 创建一个表空间后,直接把数据文件删除了:然后重启server. 1. create tablespace w56 datafile '/u01/app/oracle/product/10. ...
- mediaplayer state
enum media_player_states { MEDIA_PLAYER_STATE_ERROR = 0, MEDIA_PLAYER_IDLE = 1 << 0, MEDIA_PLA ...
- hadoop源码剖析--$HADOOP_HOME/bin/hadoop脚本文件分析
1. $HADOOP_HOME/bin/ hadoop #!/usr/bin/env bash# Licensed to the Apache Software Foundation (ASF) un ...
- LA-3029(扫描线)
题意: 给定一个n*m的矩阵,一些格子是空地“F”,一些是障碍"R",找出一个全部由F组成的面积最大的子矩阵; 思路: 对每个格子维护up[i][j],le[i][j],ri[i] ...
- ubuntu中使用apt-get安装zbar
apt-get是linux中常用的shell命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸载软件或操作系统.apt-get命令一般需要root权限执行,所以 ...
- Ubuntu bitnami gitlab 安装
/************************************************************************************** * Ubuntu bit ...
- MyBatis相关资源
MyBatis很多项目中有用到,但会用并不表示你真正理解它,更不代表你能很清楚的教会别人.如果想在会用它的基础上更深入的通过学习它而提升自己技术能力,可利用下面资源. 1.官网文档,基本概念讲的很清楚 ...
- bzoj1097
最短路+状压dp 肯定是状压dp 那么我们把k个点的单源最短路预处理出来,然后dp[i][j]表示状态为i,当前在j需要走的最短距离,给定的限制用状态压一下就行了 注意特判k=0的情况 #includ ...
- Coursera Algorithms Programming Assignment 3: Pattern Recognition (100分)
题目原文详见http://coursera.cs.princeton.edu/algs4/assignments/collinear.html 程序的主要目的是寻找n个points中的line seg ...