原標題:平頭哥玄鐵處理器Linux新版本,5大亮點速覽

來源 | 芯片開放社區

爲了便於 CPU 評估,系統集成,快速上手玄鐵處理器 Linux 操作系統,平頭哥更新了玄鐵處理器 linux 版本,結合 gitlab 開源 CI/CD 系統,對已發佈到開源社區的玄鐵架構 CPU 相關的生態軟件形成持續保障。

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

64位系列 (RISCV):

  • C910 三發射,深度亂序,12級流水線,搭載AI向量加速引擎的高性能多核處理器

32位系列:

  • C860 三發射,深度亂序,12級流水線,搭載AI加速引擎的高性能多核處理器
  • C810 雙發射,亂序,10級流水線,高性能超標量處理器
  • C807 雙發射,亂序,8級流水線,面向實時控制領域的高性能處理器。

詳細的支持型號可複製https://github.com/c-sky/buildroot/releases 用瀏覽器打開查看

更新後的玄鐵處理器Linux有如下5大亮點

極簡開發,輕鬆上手

對於嵌入式開發者來說,能有易於上手的開發環境,簡單操作的系統是能夠節省很多時間的。 玄鐵處理器 linux 開發平臺是基於 buildroot.org 構建的,幫助開發者快速構建玄鐵 CPU Linux 學習和實驗環境,快速集成開源組件。

Buildroot 是一款簡單,高效,易於使用的開源嵌入式linux 交叉編譯開發平臺( https://buildroot.org),每一款 CPU 提供了最小系統參考配置,通過

https://github.com/c-sky/buildroot/releases 按季度進行發佈,同時結合 gitlab 開源 CI/CD (持續集成/持續發佈) 系統,保障發佈給開源社區代碼正確性。

玄鐵 linux 開發平臺融入代碼倉庫的動態 readme.txt 設計,將上手指引精確到每一個 config,逐行精簡命令,一目瞭然(每一個步驟不超過 10 條命令,支持 'ctrl c' + 'ctrl v' 秒貼執行,極速上手)。 在如下的演示環境動圖中,最快用時不到15秒的時間,用戶即可完成快速上手,進入極簡開發的環境。

演示環境--快速上手玄鐵linux 開發平臺

利用雲上 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 系統,十分方便。

配置圖例

易於診斷,高效定位

玄鐵處理器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 ) 火焰圖 timechart圖
  • 支持 Perf PMU 硬事件統計 & 採樣,覆蓋指令數/週期數/CACHE行爲/TLB行爲/LSU行爲 等多個 CPU 內部模塊,方便 CPU 評估,分析性能瓶頸,快速定位問題。
  • 支持 ftrace 內核追蹤框架
  • 支持 kprobe/uprobe linux 動態追蹤功能
  • 支持 gdb,gdbserver,kdump,coredump 交互調試工具
  • 支持 lockdep 內核死鎖檢查
  • 支持 gcov 內核代碼覆蓋率統計
  • 支持 strace 系統調用追蹤
  • 支持 mtrace (glibc) 內存泄漏分析

未來會持續完善 Linux 診斷性工具集,提供豐富的 Linux 診斷手段。

圖片來源brendangregg.com

持續集成

玄鐵系列 CPU 已被衆多開源生態軟件支持,爲了讓大家在使用這些開源軟件時,得到更好的保障,建立了持續跟蹤系統,確保開源軟件在迭代過程中的質量。

在 gitlab 上構建了一個開源開放的 CI/CD 系統。它經歷了1年多的運行與完善,累計執行數千次 pipeline 版本迭代,有效保障了開源社區 CPU 後端代碼的質量。

https://gitlab.com/c-sky/buildroot/pipelines/charts

源於開源,回饋社區

一款優秀的 CPU,離不開社區軟件生態的支持和積極參與 社區的開發,開發者也擁有自己的 mailing list:

[email protected](https://lore.kernel.org/linux-csky/),

並隨着 linux 開發節奏,定期向 Linus Torvalds 先生髮出來自中國 CPU 架構 的 pull-request。

複製鏈接馬上動手試試吧:

https://github.com/c-sky/buildroot/releases

相關文章