数字电路设计之OpenRISC(一)

2023-10-27

         ARM,PowerPC等商用IP核授权费价格较高,所以开源处理器越来越受到大家的关注。开源处理器比如OpenRISC,NIOS II,LEON2等。这里我会介绍OpenRISC的优点:

         一、指令集可扩展;

         二、添加专用的硬件协处理单元。

         一般来说,购买的IP只能增加专用的协处理单元,这样增加的协处理也可以运行。但是这样会增加通信成本。所以开源处理器的优点在于可以可以进行指令集的扩展,而且有些指令没什么用而且占用资源较多就可以修改一下,精简指令集。而且协处理器之间的通信不容易同步,双方要进行数据冲突,结构冲突等等。开源处理器可以进行指令集扩展,相比于增加协处理器,指令集扩展的效率更高,更有普遍性。

         目前像ARM就有开源m0,有兴趣的话就可以去看看!

         首先我们要了解什么事扩展指令集。

         总之就是针对你的专门的运用,你要提高这些运用的执行速度等等,那么你就要弄出一些指令出来可以执行你的运用的时候速度更快。


    CPU依靠指令来计算和控制系统,每款CPU在设计时就规定了一系列与其硬件电路相配合的指令系统。指令的强弱也是CPU的重要指标,指令集是提高微处理器效率的最有效工
具之一。从现阶段的主流体系结构讲,指令集可分为复杂指令集和精简指令集两部分,而从具体运用看,如Intel的MMX(Multi Media Extended)、SSE、 SSE2(Streaming-Single 
instruction multiple data-Extensions 2)、SEE3和AMD的3DNow!等都是CPU的扩展指令集,分别增强了CPU的多媒体、图形图象和Internet等的处理能力。我们通常会把CPU的扩
展指令集称为CPU的指令集。SSE3指令集也是目前规模最小的指令集,此前MMX包含有57条命令,SSE包含有50条命令,SSE2包含有144条命令,SSE3包含有13条命令。目前SSE3也是
最先进的指令集,英特尔Prescott处理器已经支持SSE3指令集,AMD会在未来双核心处理器当中加入对SSE3指令集的支持,全美达的处理器也将支持这一指令集。
     

         接下来我就说一下怎么扩展指令集吧!

         常见的有MPEG-2解码库,libMPEG2。用GNU中的gprof程序进行程序分析,得到你的运用的指令消耗比重。这样我们就可以看出需要进行怎么样的改进,接着就是进行扩展了。

        指令集修改那就涉及硬件和软件的实现。先来说一下硬件的修改。

        硬件部分修改:参考论文Patrick Pelgrims,Dries Driessens,Tom Tierens.Basic Custom OpenRISC system Software Tutorial,2004

 先了解OpenrISC的指令格式:下图介绍了两种。第一种是两输入(源寄存器 A,B),输出(目的寄存器 C)的形式,L,K就是作为一些标志位,可以进行功能扩展。NIOS II使用Altera的SOPC builder可在界面下完成,十分直接快捷。

          软件部分修改:参考论文Patrick Pelgrims,Dries Driessens,Tom Tierens.Basic Custom OpenRISC system Hardware Tutorial,2004

          (1)如果你够屌,直接修改编译器,使之能够识别你新定义的指令。这里软件部分只需要使用高级语言编程;

           (2)手工编写机器码,指定哪些操作由扩展指令完成。这个时候软件人员直接使用汇编来操作扩展指令。这种做法更简单一些,因为直接涉及到的就是指令到二进制的映射。



        

       

 

        

参考资料:

http://zhidao.baidu.com/link?url=kYh_6JYqO1Vvez5PL0dsEyCuQ5OMXNu39wdAUt74xxo3AsyM86qy4SG8eJILzcUkIYJzC42plIZK08nCe5d9Xa

http://www.cnki.com.cn/Article/CJFDTotal-DZXU200805027.htm

论文《开源软核处理器OpenRISC自定义指令的研究与实现


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数字电路设计之OpenRISC(一) 的相关文章

  • 海森矩阵及其应用

    海森矩阵及其应用 转载 2017年04月20日 09 59 48 标签 梯度下降算法 微积分 牛顿迭代法 原文参考链接 here 原文讲得到很详细 海森矩阵 在数学中 海森矩阵 Hessian matrix或Hessian 是一个自变量为向

随机推荐

  • 【无人机 学习笔记 2】无人机导航制导与控制

    梳理完控制以及飞行力学的一些基本原理之后 就该正式进入无人机导航 制导与控制的讨论了 导航制导与控制是无人机系统中最复杂的分系统 其功能可以有多种划分方法 本文中 我们就以下面框图所示的划分方法为例 对无人机导航制导与控制系统的基本原理和常
  • numpy 查找元素位置 numpy.where

    numpy where condition x y 详细用法请大家详见官方文档 这里举几个例子 import numpy as np a np array 1 2 3 4 5 print np where a lt 3 查找小于3的元素的位
  • Python学习笔记(CSDN)- 1 - Python简介

    按照CSDN上的课程进行学习 Python简介 预备知识 CSDNPython入门技能树 先是附上这门课的思维导图 目录 1 Python定义 2 Python发展史 2 1 Python的发展 2 2 Python的版本更新 2 3 Py
  • JavaScript基础:Iterator概念及用法

    一 由来及意义 Javascript中表示 集合 的数据结构 主要是 Array Object Map Set 这四种数据集合 除此之外 它们相互之间还可以组合使用 例如Array的成员是Map Map的成员是Object等 因此Javas
  • 一分钟学会gitee上传文件到仓库

    在网上Gitee准备 1 1 注册登录 gitee 1 2 在gitee上创建仓库 点击gitee头像旁边的 选择 新建仓库 1 3 开始新建 然后点击 创建 仓库名称 最好都用英文 这里方便讲解就不勾选后面的内容了 接着直接点击 创建 就
  • Python迭代器

    迭代器是在Python2 2中被加入的 它为类序列对象提供了一个类序列的接口 有了迭代器可以迭代一个不是序列的对象 因为它表现出了序列的行为 关于Python中的迭代器 有几个比较容易混淆的概念 可迭代对象 iterable 迭代器 ite
  • 《服务器无状态设计:为什么&如何实现无状态API?》

    博主猫头虎 带您 Go to New World 博客首页 猫头虎的博客 面试题大全专栏 文章图文并茂 生动形象 简单易学 欢迎大家来踩踩 IDEA开发秘籍专栏 学会IDEA常用操作 工作效率翻倍 100天精通Golang 基础入门篇 学会
  • python3 多线程_Python3多线程及线程池实现教程

    一 说明 多线程这个东西 感觉一直以来都是用一次就要学一次 今天需要将之前写的脚本改成线程池的形式又学习了一轮 为了以后方便在这直接记下来 二 多线程实现 2 1 多线程的基本实现 importthreadingimporttimeimpo
  • 编写程序,根据用户输入的两位数,反向显示出该数中的数字。例如,用户输入48,那么程序输出84。(C语言)

    include
  • Linux开机满进度条卡死问题

    Linux开机满进度条卡死问题 此问题意外发生 原本好好的 再次开机就发现启动时进度条很慢 最后满条卡住 但ssh方式连接还能进去 也就是开机了 但linux界面卡住了 页面如下 但我们使用xshell进行ssh链接还是可以用的 但进度条卡
  • Ubuntu---pycharm卸载

    Ubuntu卸载pycharm 1 在 Linux 上卸载 snap 包 在商店中直接下载 专业版 sudo snap remove pycharm professional 社区版 sudo snap remove pycharm com
  • tomcat能作为网站的服务器不,tomcat的作用是什么_网站服务器运行维护,tomcat

    Linux 如何查看root密码 网站服务器运行维护 Linux不能查看root密码 因为root密码都是密文存储的 而密码设计的一个目标就是反推解密出来的可能性尽量小 如果需要修改密码 可以通过进入单用户模式下 将密码进行修改 修改完成后
  • SlideLive:提供小清新风格PPT模板下载

    简介 在学习和工作中 有时需要制作PPT 本文主要介绍如何从SlideLive平台下载小清新风格PPT模板 其中 SlideLive是一款PPT在线播放和分享的网站 该网站已收录大量的PPT模板 包括各种风格PPT模板和PPT图表 下载地址
  • 4款不错的UI设计软件推荐

    俗话说 如果工人想做好工作 他们必须首先磨利他们的工具 高质量的UI设计软件将使设计事半功倍 近年来 UI设计软件的逐渐多样化 让一些需要使用UI设计软件的小伙伴不知道如何选择 我整理了四款优秀的免费UI设计软件 别错过了 1 即时设计 即
  • 在子组件中使用Echarts图表无法刷新显示的问题(解决:子组件刷新)

    场景问题 在项目中 子组件中使用了Echarts的图表 图表的数据需要从父组件传入Id来进行查询 墒情仪与气象站相同的结构 当切换设备时 图表无法回显 父子组件传值正常 解决心路历程 1 我将两种设备传值的Id分开传递 处理无果 2 给子组
  • Linux下操作Docker(四):导入导出

    docker镜像的导出和导入 显示当前docker中的镜像 docker images 镜像列表如下 REPOSITORY TAG IMAGE ID CREATED SIZE pointsift latest 90b2ef439b40 2
  • java循环判断的使用

    程序的结构 一般来说程序的结构包含有下面三种 1 顺序结构 2 选择结构 3 循环结构 顺序结构 程序至上而下逐行执行 一条语句执行完之后继续执行下一条语句一直到程序的末尾 选择结构 是根据条件的成立与否 再决定要执行哪些语句的一种结构 循
  • 原生js实现简单智能关键词搜索功能

    现在很多网站都有智能搜索功能 它能根据用户的输入自动提示出需要补全的数据 方便用户的查询 下面我们用JavaScript来简单实现它 html部分 div div
  • STM32学习笔记3:KEIL5中使用ST-Link烧录调试STM32芯片的步骤

    一 开发板连接ST LINK ST LINK连接电脑 操作细节点击这里 二 配置debug选项 点击魔术棒 debug use 项选择 ST Link Debugger 再点击 Setting 这边会显示设备信息 如果显示没有设备 需要检查
  • 数字电路设计之OpenRISC(一)

    ARM PowerPC等商用IP核授权费价格较高 所以开源处理器越来越受到大家的关注 开源处理器比如OpenRISC NIOS II LEON2等 这里我会介绍OpenRISC的优点 一 指令集可扩展 二 添加专用的硬件协处理单元 一般来说