平头哥发布支持玄铁处理器Linux新版本,5大亮点速览

简介: 看完是否已经迫不及待想试用了?登陆OCC官网获取演示资料。

为了便于 CPU 评估,系统集成,快速上手玄铁处理器 Linux 操作系统,平头哥更新了玄铁处理器 linux 版本,结合 gitlab 开源 CI/CD 系统,对已发布到开源社区的玄铁架构 CPU 相关的生态软件形成持续保障。

目前 linux 支持的玄铁系列 CPU 有:

64位系列 (RISCV):

C910 三发射,深度乱序,12级流水线,搭载AI向量加速引擎的高性能多核处理器

32位系列:

C860 三发射,深度乱序,12级流水线,搭载AI加速引擎的高性能多核处理器

C810 双发射,乱序,10级流水线,高性能超标量处理器

C807 双发射,乱序,8级流水线,面向实时控制领域的高性能处理器。

未标题-2.jpg

详细的支持型号可在https://github.com/c-sky/buildroot/releases 用浏览器打开查看

更新后的玄铁处理器Linux有如下5大亮点:

一 、极简开发,轻松上手 对于嵌入式开发者来说,能有易于上手的开发环境,简单操作的系统是能够节省很多时间的。玄铁处理器 linux 开发平台是基于 buildroot.org 构建的,帮助开发者快速构建玄铁 CPU Linux 学习和实验环境,快速集成开源组件。

Buildroot 是一款简单,高效,易于使用的开源嵌入式linux 交叉编译开发平台 ,每一款 CPU 提供了最小系统参考配置,通过https://github.com/c-sky/buildroot/releases 按季度进行发布,同时结合 gitlab 开源 CI/CD (持续集成/持续发布) 系统,保障发布给开源社区代码正确性。

玄铁 linux 开发平台融入代码仓库的动态 readme.txt 设计,将上手指引精确到每一个 config,逐行精简命令,一目了然(每一个步骤不超过 10 条命令,支持 'ctrl c' + 'ctrl v' 秒贴执行,极速上手)。在如下的演示环境动图中,最快用时不到15秒的时间,用户即可完成快速上手,进入极简开发的环境。

利用云上 CI/CD 系统,预先编译完成各个配置,并把结果存在云上,供开发者直接下载快速体验 linux 环境。其中 hw 目录下,存放着玄铁系列 CPU 最小系统硬件平台,包含 fpga, asic。

配合玄铁 CPU Jtag 调试器,提供清晰简洁的运行脚本,不浪费第一次上手玄铁 CPU 用户的一分一秒。

(具体请参考 readme.txt -> 'Quick Start for hw run' 章节)

二、软件丰富,定制灵活

通过开发平台,可获得:

linux 最小系统样例

Bootloader 和 Opensbi 样例

基于最小系统硬件,调试环境 (Jtag + DRAM + 网络)

基于 QEMU 的配套验证环境

丰富的诊断工具 (gdb, perf PMU state/record, ftrace, kprobe/uprobe, tracecmd + kernelshard, bpf 等)

一般来说,对于一个新的 CPU 体系架构,构建一套最小系统,要从基础编译器,内核,最小文件系统开始准备,费时耗力。玄铁 linux 开发平台通过一个配置,将工具链,内核,根文件系统的软件包集成在一起,一条简洁的命令就可以让开发者从源码级构建整个 linux 系统,非常方便!
AA9DACC0-5A08-46e2-9612-62A8226CE95A.png

配置图例

三、易于诊断,高效定位

玄铁处理器linux 诊断性工具众多,包含如下工具:

以 Perf, ftrace, K/Uprobe, stap, BPF tools 组合形成的 linux 性能分析,动态追踪,系统观测工具

以 GDB/KGDB/KDUMP 为代表的 交互式,在/离线调试工具

以 top/free/slabtop/iostat/iotop/netstat/sar 为代表的 linux 系统监控工具

在 v1.0.9 版本中,实现了玄铁 C800 CPU kprobe/uprobe 指令流插桩功能,即使在没有源码的情况下,也可以通过 perf probe, tracecmd 等前端工具,从容调试,极大提升开发效率。

支持 Perf stat/record + callchain (配合图形前端工具可生成火焰图,timechart )
1589808288957-e2db69b8-be99-4641-9897-9a5a77f2a689.png
火焰图
1589808430157-490910f4-5858-4586-b349-32f90e0da370.png
timechart图

支持 Perf PMU 硬事件统计 & 采样,覆盖指令数/周期数/CACHE行为/TLB行为/LSU行为 等多个 CPU 内部模块,方便 CPU 评估,分析性能瓶颈,快速定位问题。

支持 ftrace 内核追踪框架

支持 kprobe/uprobe linux 动态追踪功能

支持 gdb,gdbserver,kdump,coredump 交互调试工具

支持 lockdep 内核死锁检查

支持 gcov 内核代码覆盖率统计

支持 strace 系统调用追踪

支持 mtrace (glibc) 内存泄漏分析

未来会持续完善 Linux 诊断性工具集,提供丰富的 Linux 诊断手段。
1588125059953-68ac82f4-6ac8-4878-bb63-0613957b1919.jpeg

图片来源brendangregg.com

四、持续集成,质量保证

玄铁系列 CPU 已被众多开源生态软件支持,为了让用户在使用这些开源软件时,得到更好的保障,平头哥建立持续跟踪系统,确保开源软件在迭代过程中的质量。

在 gitlab 上构建了一个开源开放的 CI/CD 系统。它经历了1年多的运行与完善,累计执行数千次 pipeline 版本迭代,有效保障了开源社区 CPU 后端代码的质量。

五、源于开源,回馈社区

一款优秀的 CPU,离不开社区软件生态的支持,离不开积极参与 kernel.org 社区的开发,开发者也拥有自己的 mailing list:

linux-csky@vger.kernel.org (https://lore.kernel.org/linux-csky/)

并随着 linux 开发节奏,定期向 Linus Torvalds 先生发出来自中国 CPU 架构 的 pull-request。

看完是否已经迫不及待想试用了?复制链接
https://github.com/c-sky/buildroot/releases
即可查看。想要获取更多资料和信息可登陆OCC官网https://occ.t-head.cn/development/chip?spm=a2cl5.14300690.0.0.505f180fBqNOFx 下载。扫下方二维码加入平头哥芯片开放社区钉钉交流群,在群里发出的你的试用感慨与疑问,一起让玄铁处理器 Linux 工具跑得更顺畅。
2AAD9607-9FE5-4bec-A45F-3AC81D6418A9.png

作者:郭任
编辑:琛琛

参考资料:

kernel.org

buildroot.org

brendangregg.com

相关文章
|
24天前
|
安全 Linux 虚拟化
|
4月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
911 3
|
2月前
|
Kubernetes Linux 测试技术
|
3月前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
181 1
|
4月前
|
Linux 开发工具
Linux查看已经安装软件的版本,安装软件的路径,以及dpkg、aptitude、apt-get、apt工具的使用
Linux查看已经安装软件的版本,安装软件的路径,以及dpkg、aptitude、apt-get、apt工具的使用
151 2
Linux查看已经安装软件的版本,安装软件的路径,以及dpkg、aptitude、apt-get、apt工具的使用
|
2月前
|
Java Linux Maven
用sdkman在linux上管理多个java版本
本文介绍了如何在Linux上使用SDKMAN来管理多个Java版本,包括安装SDKMAN、验证安装、列出和安装不同版本的JDK、Maven和Gradle,以及如何切换使用不同版本。
59 0
|
3月前
|
安全 Linux API
关于Linux稳定版本的一切你想知道的内容 【ChatGPT】
关于Linux稳定版本的一切你想知道的内容 【ChatGPT】
|
3月前
|
Linux 编译器 C语言
Linux内核对GCC版本的检测
Linux内核对GCC版本的检测
|
4月前
|
Linux TensorFlow 算法框架/工具
在Linux上安装其他版本的cmake 或 升级cmake
在Linux上安装其他版本的cmake 或 升级cmake
115 2
|
4月前
|
Ubuntu Linux 虚拟化
安装Windows Linux 子系统的方法:适用于windows 11 版本
本文提供了在Windows 11系统上安装Linux子系统(WSL)的详细步骤,包括启用子系统和虚拟化功能、从Microsoft Store安装Linux发行版、设置WSL默认版本、安装WSL2补丁,以及完成Ubuntu的首次安装设置。
1029 2