随着苹果基于arm的硅和新的risc-v cpu的推出,对于cpu开发来说,这是一个令人兴奋的时刻,尽管开发人员的旅程目前对后者来说有点坎坷。
我最喜欢的理论是,没有发生是孤独的,而只是重复了以前发生过的事情,也许经常发生过。
马克·吐温认为,生活有重演的倾向。我们可以在苹果macintosh的cpu架构变化中看到这一点的证据,如图1所示,1994年,最初的cisc(复杂指令集计算机)摩托罗拉68000被risc(简化指令集计算机)摩托罗拉powerpc取代。这反过来又在2005年被cisc intel x86取代,并在2020年推出了基于arm cpu的apple silicon,从而回归了risc。
在2005年至2020年期间,英特尔x86作为笔记本电脑、台式机、企业服务器和hpc机器的首选cpu的主导地位似乎无懈可击,尽管arm在移动设备中占据主导地位。此外,在此期间,我们看到了企业服务器和hpc域中竞争的risc cpu架构的消亡,如sun sparc、mips和dec alpha,这表明cisc也许是cpu架构的未来。
图1-苹果macintosh cpu过渡时间线。
然而,对于台式机和笔记本电脑来说,随着基于arm的apple silicon m1片上系统(soc)的推出,苹果在2020年对这一假设提出了挑战。与之前基于英特尔的版本相比,这不仅使基于m1的macbook pro的功耗降低了约90%,而且还将运行时性能提高了约75%[2]。此外,基于富士通arm的超级计算机fugaku的推出,在2021年11月的top500排行榜上排名第一[3],进一步加强了x86作为cisc cpu架构的主导地位的挑战。
虽然fugaku在2022年6月的top500榜单中被基于x86的frontier系统取代,但它仍然位居第2位,并表明arm将成为x86的重要竞争对手,也许会让risc成为高性能机器的主导cpu架构。risc cpu架构比cisc架构更易于实现,需要更小的硅面积,并降低功耗。与cisc架构相比,这可以增加cpu时钟频率和模具上更多的内核,从而提高性能。
虽然领先的sparc、mips和alpha risc架构已经倒在一边,使arm成为x86的主要risc挑战者,但它并不是唯一获得牵引力的risc架构。来自加州大学伯克利分校的risc-v是伯克利risc cpu架构系列的第五个版本,目前正在引起大量关注。人们普遍认为,这种兴趣是由于risc-v指令集架构(isa)是开源的,允许其不受约束地使用。然而,其他cpu架构也是开源的,例如sparc(opensparc [4])。
risc-v的关键区别在于其isa是模块化的。目前有五个已批准的基isa:rvm0(弱内存排序)、rv32i(基32位整数)、rv32e(只有16个寄存器的基32位基)、rv64i(基64位整数)和rv64e(只有16个寄存器的基64位整数)。如图2所示,还定义了一些isa扩展[5],包括支持单精度和双精度浮点(分别为“f”和“d”),压缩指令(“c”)和矢量指令(“v”),使cpu设计人员能够选择基本isa和扩展,以提供满足其需求的特定功能。例如,rv32e基础isa只支持16个寄存器,而不是32个寄存器,通过相应的功率降低,节省了大约25%的核心硅面积[6]。这对于需要非常低功耗的电池供电的嵌入式或边缘设备是有益的。由于这些是单独的扩展,gcc和llvm/clang等编译器提供了根据需要选择这些扩展的任意组合的选项。这种模块化方法不仅为硬件制造商提供了更大的灵活性,还允许在不影响现有isa规范的情况下创建和批准新的扩展。
图2:基础risc-v isa和扩展[7]。
目前有一些嵌入式和低端risc-v cpu/soc可用,如64位allwinner d1(基于xuantie c906)和64位四核sifiveu740。还有大量的软核,从rv32e(例如picorv32)到rv64gc(例如xuantie c910和andes x45)的变体。
然而,risc-v isa扩展的萌芽性质给开发人员带来了一些困难。例如,“v”矢量扩展,通常称为“rvv”,于2021年9月下旬在1.0版本中被冻结。虽然这是一个伟大的里程碑,但它与以前的rvv版本不兼容的事实是不幸的,因为目前唯一可用的支持rvv的硬cpu,c906,使用不兼容的v0.7规范。由于gcc和llvm / clang编译器都针对冻结或批准的isa扩展,在这种情况下是rvv v1.0,开发人员无法使用主线编译器版本针对d1提供的矢量支持,并被迫依赖xuantie开发的gcc v8.4。不幸的是,这不再从制造商那里公开提供,但可以从爱丁堡大学的datashare网站下载[8]。当针对c906设备(如allwinner d1)时,使用xuantiegcc编译器生成矢量化代码可以获得明显的运行时性能优势,如一些rajaperf[9]基准内核的图3所示[10]。
图3:矢量化risc-v与标量代码的相对运行时性能[10]。
利用allwinner d1矢量化支持的另一种方法是使用rvv v1.0到v0.7回滚工具[11],该工具由joseph lee博士开发,作为excalibur h&es risc-v测试台项目的一部分[12]。在这里,主线gcc和llvm/clang编译器可用于自动编码,该工具将生成的rvv v1.0汇编语言“.s”文件转换为rvv v0.7“.s”源文件。然后由xuantiegcc编译器组装,以生成对象“.o”文件/二进制文件,以在基于allwinner d1的板上执行。
虽然这仍然需要使用xuantie gcc编译器,但原始源代码是使用最新的主流编译器版本编译的。有关使用rvv回滚工具的更多信息以及有关汇编risc-v矢量代码的一般信息,请参阅risc-v测试台网站[13]。
更一般地说,已经提供了risc-v测试台,以支持那些希望在当前可用的risc-v硬件上测试其代码的研究人员。目前,测试台在贫民窟集群中拥有24个risc-v内核,2023年4月和5月将有额外的板,使核心总数达到72个。您可以使用网站上概述的步骤申请访问risc-v测试台[14]。
当我们考虑20世纪90年代末和21世纪初的原始risc架构的全盛时期,以及目前基于risc的arm和risc-v cpu架构的兴起时,mark twain似乎是对的。
特斯拉电动跑车将搭载SpaceX火箭推进器;一季度中国平板电脑产能下降29.8%…
医疗AI未来成败与否 数据管理技术是关键要素
中国半导体发展中无法回避的台籍人才的问题
苹果又更新了,教你关闭iPhone手机系统更新
5G网络助力新能源更高效的连接和未来应用发展
risc-v架构是哪个国家的
NVIDIA下下代GPU核心架构将是Hopper
红外绊线模块的制作
三星S8实机曝光:屏幕显示功能+Always On Display
AMD Zen3架构将采用7nm+工艺,明年第四季度至2021年上市
2011年超级手机有望实现增长200%
Wi-Fi 6的到来将会给我们的生活带来什么影响
京东方智慧教育解决方案展现了全新的数字化课堂
Videgaray概述了全球AI战略的宏伟愿景
人脸识别技术的工作原理和优缺点 人脸识别和图像识别的区别
PLC NPN和PNP接近开关的区别
模拟开关芯片74HC4053,可替代TI的CD74HC4053和东芝的74HC4053D
微星发布34英寸曲屏游戏显示器
基于LBK生态的PoB分布式社区特性的激励机制模式介绍
HyperXPS4专用耳机评测 提供玩家足够的游戏沉浸体验