找回密码
 注册
关于网站域名变更的通知
查看: 213|回复: 4
打印 上一主题 下一主题

RISC-V生态全景解析7——RISC-V工具链板块内容介绍

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-5-27 10:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
4 f  [' M4 m+ o9 @7 G1 d. V" b
1、什么是工具链
. a0 \& c; h, a, p  S“工具链”是英文“toolchain”的翻译,它指辅助开发者完成程序开发、调试、性能分析调优等开发优化行为的一系列工具集合。( u5 i; ?+ Z+ e: v4 k
它一般包含编译器、汇编器、链接器、调试器、模拟器等基础工具,集成开发环境作为一种图形化的综合开发工具也可以被纳入其中。由于指令集和用户编程模型不同,因此每个架构都需要一套完整的、独有的工具链。
* m. d$ I8 @; C, u9 O- Q/ }; H( j: ?# {- d* u3 A3 d. s  k1 P$ P
2、工具链的重要性( A5 G- z; ^5 r0 E; t1 ~. t
2.1 工具链的功能完备性
6 g( Z6 t/ T' o( }1 y- M在计算机发展的早期,几乎没有工具链,科学家通过在程序卡片上打孔来表示不同指令的编码,计算机读取程序卡片的打孔信息执行指令流。随着制造工艺和计算机的发展,现代计算机的指令码存储于在ROM、RAM、Flash等介质中,把指令码下载到指定的存储空间需要经过复杂的控制流程,因此必须需要借助于程序下载器才能完成下载。5 ~/ S4 [! ^2 x
为了提升程序开发效率,涌现了众多的高级开发语言。目前99%以上的开发者都使用高级语言完成业务的开发,然后使用编译器把高级语言翻译成目标机器指令下载到机器中执行。因此编译器成了工具链中个必不可少的组件。
/ Q6 \8 R! K$ u另外,程序有了bug怎么办?需要调试系统辅助开发者找到程序运行出错的原因;程序性能不够怎么办?需要性能分析器辅助开发者进行性能调优。因此,对于现代计算机系统,一套稳定、完整的开发工具链是一个架构基础的基础,所有软件的运行都依赖工具链;没有工具链,CPU和硬件无法使用,开发者寸步难行。2 L3 E1 G. F% z$ Z$ q9 c1 t. k  M' H
上面是从功能完备性说明工具链的重要性,后面通过对工具链的关键指标介绍,从原理上阐述工具链已经不是单纯的辅助工具,它是影响目标架构各方面指标的关键路径。. l4 n% u: T1 p- O+ c# k
4 d% }2 o3 N( t; c8 c
2.2 工具链的关键指标
4 R* ]: Z$ W; ?$ W工具链的关键指标可分为高效性和易用性两个方面。高效性又包括编译高效性、调试高效性、性能分析高效等,其中编译的高效性尤为重要。) E1 Q1 f% ^1 b5 n' p
通过上文介绍,编译器是用于把高级语言翻译成目标机器指令的软件;一段高级语言会被翻译成若干条机器指令,编译器在保证功能正确的前提下,翻译出的机器指令数量和质量也非常关键,直接影响程序运行所需花费的时间和程序占用空间,即影响了处理器的性能和代码密度表现。: V- u& C% T! L9 t0 b3 k' e
因此,处理器性能是硬件+工具链的综合能力体现,单比较硬件频率指标没有实际意义。另外调试高效性直接影响了开发者分析解决问题效率,也是决定了处理器能否开发者接受、是否可以被广泛应用。8 m9 B# N- d  S
- J+ V# ], [, A3 W9 Q; I& n) r
3、RISC-V工具链的现状6 v. e; A2 u- b+ f8 s- E
既然工具链这么重要,那么RISC-V的工具链现状如何,能否满足当前的应用需求?由于RISC-V的开放特性,加上基金会对软件生态的持续运作,吸引了大量的开发者投入到工具链的补充和完善工作上。
* W# Z3 p' c3 w$ {  v+ h目前从编译工具(GCC+LLVM)、调试工具到集成开发环境,在基本功能上都已经支持,但在高效性和易用性上仍需要继续加强和提升。如:( X& L7 c9 h( P* e
-编译得到的程序代码大小相对ARM仍然存在不少差距;9 j5 O1 q0 @! M2 N  V
-缺少性能调优工具;
8 t/ z3 N, R: e$ T3 z2 @-缺少图形化实时操作系统调试工具;9 }( r, i9 p! {1 ]$ z8 x2 y
-开源的集成开发环境只支持简单的调试插件等。3 \; z+ q# @2 j6 h2 s" W6 Q
这些方面都需要工具链开发者不断地进行完善,并通过应用场景的验证和打磨。
; m, L( V% G/ I! S( s9 ?7 @
. Y& h  I: L# @. E4、剑池系列工具链  b$ E, ?  l" r. }# l; W' t" E
剑池系列工具链以开源工具链为基础,根据应用场景和玄铁处理器微架构高度优化的开发工具集合(见图1)。配合玄铁Turbo指令集,在XT906上相对开源版本平均有13%的性能提升,在XT910上平均有20%的性能提升。开发了基于指令Trace的性能分析工具,配合集成开发环境的图形化界面,为开发者提供快速性能profiling和优化的能力。另外,开发了两套集成开发环境,分别面向mcu应用开发和通用应用开发,降低现有工程迁移到RISC-V架构芯片上的难度。% d9 p# @2 z( `
" H! j+ k; V" L3 n* Q5 s
工具链是一个体系架构的重要且不可缺失的组成部分,它是基础软件的基础。RISC-V工具链经过几年的发展,在功能上已经日渐完善;相信接下来的几年里,经过开源社区开发者和商业公司的共同努力,在编译调试高效性和易用性方面会有明显的提升,RISC-V的芯片也会被更多的开发者接受,被应用到各种场景。

该用户从未签到

2#
发表于 2022-5-27 13:28 | 只看该作者
O(∩_∩)O哈哈~,学习学习。开拓见识了。

该用户从未签到

3#
发表于 2022-5-27 15:27 | 只看该作者
O哈哈~,学习学习。开拓见识了。

该用户从未签到

4#
发表于 2022-5-27 17:32 | 只看该作者
O哈哈~,学习学习。开拓见识了。

该用户从未签到

5#
发表于 2022-5-27 20:37 | 只看该作者
学习学习。开拓见识了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-20 16:32 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表