平头哥玄铁 E906 编译与使用

1、E906 概述

与玄铁 E902 一样, E906 核的 RTL 代码也是开源的,开源仓库地址:https://github.com/T-head-Semi/opene906

玄铁 E906 是一款完全可综合的中端 MCU 级处理器,兼容 RV32IMA[F][D]C[P] 指令集,提供可观的整型性能提升以及高能效的浮点性能。

在这里插入图片描述

在这里插入图片描述

性能

在这里插入图片描述

网上能找到的信息就这么多,目前也暂时没了解哪个芯片用 E906 的。

2、通用寄存器

寄存器ABI 名称描述
x0zero零值
x1ra返回地址
x2sp堆栈指针
x3gp全局指针
x4tp线程指针
x5t0临时/备用链接寄存器
x6-7t1-2临时寄存器
x8s0/fp保留寄存器/帧指针
x9s1保留寄存器
x10-11a0-a1函数参数/返回值
x12-17a2-a7函数参数
x18-27s2-s11保留寄存器
x28-31t3-t6临时寄存器

3、编译运行

  1. SDK 下载 https://www.xrvm.cn/community/download?id=658699855023046656

  2. 编译

$ cd SmartL_E906-R2S2-V1.7.10/projects/examples/hello_world
$ make
  1. 运行
    与 E902 一样,在 qemu 上运行,qemu 安装可参考前文。
$ qemu-system-riscv32 -M smartl -cpu e906 -kernel out/smartl_e906_evb.elf -nographic -m 128M
Hello World!
Hello_World runs successfully!

4、E906 与 E902 比较

虽然 E902 和 E906 是两个面向不同市场的产品,这里也做一个简单的比较,可以进一步加深印象。

相同点

  1. 总线接口一样,都采用 AMBA3 AHB-Lite 32 bit 总线协议

差异点

  1. 支持的指令集不同
  • E902 为 RV32EMC 指令集,包括标准的整型指令集(E), 乘除法指令集(M)和 压缩指令(C)
  • E906 为 RV32IMAFC[P] 指令集,包括标准的整型指令集(I), 乘除法指令集(M), 不可中断指令(Atomic)标准扩充(A), 单精度浮点标准扩充(F),压缩指令(C)和单指令多资料流(SIMD)运算标准扩充(P)。
  1. 寄存器数量
    | 芯片架构 | 寄存器数量 |
    | ------- | ------- |
    | E902 | 16 |
    | E906 | 32 |

  2. 流水线数量不同
    | 芯片架构 | 流水线数量 |
    | ------- | ------- |
    | E902 | 2 |
    | E906 | 5 |

  3. 支持中断源数量不同:
    | 芯片架构 | 中断源数量 |
    | ------- | ------- |
    | E902 | 64 |
    | E906 | 128 |

  4. cache 配置不同
    | 芯片架构 | cache 配置 |
    | ------- | ------- |
    | E902 | 只支持指令 cache,2KiB/4KiB/8KiB 可配 |
    | E906 | 支持指令cache 和数据 cache 16KB |

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/277031.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用MobaXterm发布前端代码到服务器,配置nginx反向代理

一、MobaXterm官网 💡 官网链接:MobaXterm Xserver with SSH, telnet, RDP, VNC and X11 - Download 选择free版本即可 二、SSH远程连接 将下载的包解压缩,运行内部的MobaXterm.exe程序; 输入服务器地址、用户权限(…

车载导航系统UI界面,可视化大屏设计(PS源文件)

大屏组件可以让UI设计师的工作更加便捷,使其更高效快速的完成设计任务。现分享车载导航系统科技风蓝黑简约UI界面、车载系统UI主界面、车载系统科技风UI界面、首页车载系统科技感界面界面的大屏Photoshop源文件,开箱即用! 若需 更多行业 相关…

Netty新连接接入源码分析

前言 我们都知道Netty的NioEventLoop是负责轮询检测IO事件、处理IO事件、执行所有任务等三个过程,服务端一旦在Netty服务端启动,就具备新连接处理的能力,而Netty处理新连接的整体步骤大致如下: NioEventLoop轮询检测是否有新连接…

Chart.js 实现实时动态折线图 并限制最大长度

<!DOCTYPE html> <html><head><title>模拟</title><script src"https://lib.sinaapp.com/js/jquery/3.1.0/jquery-3.1.0.min.js"></script><script src"https://cdn.staticfile.org/Chart.js/3.9.1/chart.js"…

Axure元件库的介绍以及个人简介和登录界面案例展示

目录 一. 元件介绍 二. 基本元件的使用 2.1 形状元件 2.2 图片元件 2.3 占位符 2.4 文本 2.5 线段元件 2.6 热区文件 三. 表单元件的使用 3.1 文本框 3.2 文本域 3.3 下拉列表 3.4 列表框 3.5 复选框 3.6 单选按钮 四. 菜单与表格元件的使用 4.1 树 4.2 表格…

深度学习 Day12——P1实现mnist手写数字识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 文章目录 前言1 我的环境2 代码实现与执行结果2.1 前期准备2.1.1 引入库2.1.2 设置GPU&#xff08;如果设备上支持GPU就使用GPU,否则使用C…

测试总监给我分享的《接口自动化测试》总结,让我成功的入门接口自动化门槛......

前两天在测试技术交流群里&#xff0c;听了一位字节跳动的测试总监分享的接口自动化测试的内容&#xff0c;对接口自动化更加了解了&#xff0c;也为自己接下来在公司实施接口自动化项目提供了思路。 前言 自动化测试&#xff0c;算是近几年比较火热的一个话题&#xff0c;当…

Linux centos7安装redis 6.2.14 gz并且使用systemctl为开机自启动 / 彻底删除 redis

1.下载 && 减压 wget http://download.redis.io/releases/redis-6.2.14.tar.gz tar -zvxf redis-6.2.14.tar.gz 2.编译&#xff08;分开运行&#xff09; cd redis-6.2.14 make cd src make install 安装目录展示 3.redis.conf 配置更改 daemonize yes supervised s…

【LeetCode:2132. 用邮票贴满网格图 | 二维前缀和 + 二维差分和】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

使用@ApiModel和@ApiModelProperty的技巧

在现代软件开发中&#xff0c;提供清晰全面的 API 文档 至关重要。ApiModel 和 ApiModelProperty 这样的代码注解在此方面表现出色&#xff0c;通过增强模型及其属性的元数据来丰富文档内容。它们的主要功能是为这些元素命名和描述&#xff0c;使生成的 API 文档更加明确。 Api…

云原生之深入解析网络服务Istio、eBPF和RSocket Broker

一、服务治理 ① “服务治理”简介 在微服务时代&#xff0c;一个复杂的应用程序被分解为多个组件化、协作和连接的单元&#xff0c;服务往往会承担越来越多的业务责任&#xff0c;这使得服务治理的难度前所未有&#xff0c;仅仅依靠微服务框架级的治理是不够的&#xff0c;构…

centos7部署docker

文章目录 &#xff08;1&#xff09;安装前准备&#xff08;2&#xff09;卸载旧版Docker&#xff08;3&#xff09;安装docker&#xff08;4&#xff09;配置镜像加速 &#xff08;1&#xff09;安装前准备 在开始安装之前&#xff0c;首先需要检查内核版本。使用 uname -r 命…