一文带你了解LoongArch自主指令系统

一文带你了解LoongArch自主指令系统_第1张图片

f8d59564108f2997790f1d45d7a47593.png

导读:指令系统是软硬件的接口,程序员根据指令系统设计软件,硬件设计人员根据指令系统实现硬件。指令系统包括对指令功能、运行时环境(如存储管理机制和运行级别控制)等内容的定义,涉及软硬件交互的各个方面内容。 

2cc23e29e913e1c48437094eef475469.png

《计算机体系结构基础(第3版)》中在指令系统举例时采用了龙芯团队在2020年推出的全自主LoongArch指令系统。

一文带你了解LoongArch自主指令系统_第2张图片

LoongArch作为一款新型的RISC指令系统,其摒弃了传统指令系统中部分不适应当前软硬件设计技术发展趋势的陈旧内容,吸纳了近年来指令系统设计领域诸多先进的技术发展成果,有助于硬件实现高性能低功耗的设计,也有利于软件的编译优化以及操作系统、虚拟机的开发。

LoongArch指令系统在用户态指令和系统态两个方面都进行诸多改进优化。例如,在用户态指令方面,引入基于PC的运算指令并为间接跳转指令添加立即数偏移,同时增加相对PC跳转指令的偏移范围,这些调整将显著改善位置无关代码中长跳转和数据访问的指令(序列)的执行效率,并且能够大幅度减小GOT表的规模,从而降低因GOT表规模过大带来的维护和访问开销;增加原子访存修改指令,解决传统LL/SC指令在大规模并发执行情况下失效重试开销急剧增加的问题;同时由硬件负责所有流水线冲突的处理,允许普通访存指令的地址非对齐访问,由硬件维护指令和数据Cache之间的数据一致性。这些功能简化了软硬件的界面,降低了应用迁移的成本。在系统态方面,取消地址空间的固定分段方式以及地址段与特权等级、映射方式间的固定绑定,代之以单一平整(flat)寻址空间且所有存储管理配置信息软件均可动态调整;增加控制寄存器的原子修改支持以简化系统软件实现。大幅度拓展核内控制寄存器寻址空间为指令系统核心态部分的后续演进解除束缚;计时系统的计时频率恒定,不再随处理器核频率变化而变动,消除处理器动态功耗管理启用后系统计时系统的额外维护开销;规范核外控制器并使用独立的寻址空间,将各种多核多路系统的底层硬件信息封装为固定统一格式呈现给软件。

LoongArch指令系统的另一个重要特色是其二进制翻译扩展。LoongArch的二进制翻译扩展提供了百余条指令和一些系统资源来支持软件实现高效的二进制翻译。例如,把X86指令翻译为RISC类的指令集有个影响翻译效率的因素:eflags标志位处理。因为X86指令集中,一个运算指令除了产生运算结果,还会同时产生是否进位、是否溢出等多个标志位。完全模拟这样的一条指令的语义一般需要30条以上常规RISC指令。LoongArch提供了一系列专门指令用于产生和使用相应的标志位,在保持RISC指令风格的同时消除了这个瓶颈。目前业界最先进的二进制翻译系统可以实现80%左右的翻译运行效率,LoongArch致力于通过深度的软硬件协同进一步提升效率,实现多个主流指令集到龙芯指令集几乎无损的翻译,最终达到“消灭指令集”或者说软件定义指令集的目的。

通过阅读《计算机体系结构基础(第3版)》一书,读者不仅能够系统性学习到计算机体系结构学科的关键基础概念,还可以从体系结构学科知识要点构成的视角,了解LoongArch指令系统的基础内容和主要特色。可作为开发者初次学习LoongArch指令系统时的一本优秀的参考书籍。

RECOMMEND

推荐阅读

935511535a2560820cc12a604be732f4.png

01

计算机体系结构基础(第3版 )

一文带你了解LoongArch自主指令系统_第3张图片

作者:胡伟武等

龙芯中科胡伟武领衔撰写

龙芯开源LoongArch版,学会造计算机!

从硬件工程师的角度理解软件,从软件工程师的角度理解硬件!

推荐理由

本书由国内从事微处理器设计的一线科研人员编写而成。作者从微处理器设计的角度出发,充分考虑计算机体系结构的学科完整性,强调体系结构、基础软件、电路和器件的融会贯通。全书共分12章,包括指令系统结构、计算机硬件结构、CPU微结构、并行处理结构、计算机性能分析等主要内容,重点放在作为软硬件界面的指令系统结构,以及包含CPU、GPU、南北桥协同的计算机硬件结构上。

ce7a5712e76455a5913198014e64447b.png

02

CPU设计实战

一文带你了解LoongArch自主指令系统_第4张图片

作者:汪文祥、邢金璋

龙芯中科技术股份有限公司首席工程师汪文祥作品

一本书带你从零开始设计自己的CPU

推荐理由

深入剖析CPU设计与开发的关键环节;从零开始构建一个功能逐步完善的CPU;全面培养CPU设计的工程化思维与实战能力。

本书作者从事CPU产品自主研发工作近20年,在CPU设计方面积累了丰富的经验,并一直尝试在教学过程中将这些经验转化为教学内容,探索一条培养CPU设计人才的行之有效的途径。本书面向初学者,以实战的方式带领读者了解CPU设计的流程,并从零开始逐步开发出自己的CPU。本书将计算机组成与体系结构的理论知识和工业实践充分结合,使读者在实际的CPU设计与开发过程中更加深入地理解计算机系统的工作原理,掌握CPU设计理念、方法和技术。

d6384ca95ca85360747b3712b7c49091.gif

一文带你了解LoongArch自主指令系统_第5张图片

扫码关注【华章计算机】视频号

每天来听华章哥讲书

518807c843e27f01d86698e687db9cb4.gif

更多精彩回顾

书讯 | 1月书讯(下)| 2022年的第一本书

书讯 | 1月书讯(上)| 2022年的第一本书

资讯 | 重磅!达摩院发布2022十大科技趋势

书单 | 6本书,读懂2022年最火的边缘计算

干货 | Flink1.14.2发布,除了log4j漏洞你还需要关注什么?

收藏 | 终于有人把ROS机器人操作系统讲明白了

上新 | 【新书速递】金融领域可解释机器学习模型与实践

赠书 | 【第88期】这10本硬核技术书,带你读懂5G、物联网和边缘计算,玩转元宇宙

一文带你了解LoongArch自主指令系统_第6张图片

一文带你了解LoongArch自主指令系统_第7张图片

点击阅读全文购买

你可能感兴趣的:(java,人工智能,编程语言,大数据,python)