《陈华才_龙芯架构与Linux内核_16_9.pdf》由会员分享,可在线阅读,更多相关《陈华才_龙芯架构与Linux内核_16_9.pdf(23页珍藏版)》请在三个皮匠报告上搜索。
1、龙芯新架构龙芯新架构LoongArchLoongArch与与LinuxLinux内核内核陈华才2023.03目录目录2LoongArch 简介内核故事未来展望其他LoongArchLoongArch简介简介3 从从CISCCISC与与RISCRISC谈起谈起中央处理器(CPU)分为CISC(Complex Instruction Set Computer,复杂指令集计算机)和RISC(Reduced Instruction Set Computer,精简指令集计算机)两大类CISC的特征是指令集复杂而庞大、指令字不等长、寻址方式复杂、计算指令操作数可以是内存等,典型代表有X86 RISC的特征
2、是指令集精简而高效、指令字等长、寻址方式简明、计算指令操作数必须是寄存器等,典型代表有ARM、MIPS和Power CISC和RISC各有优劣,在发展过程中也并非井水不犯河水,而是互相吸收对方的优点。X86在内部早已实现RISC化(所谓微指令),而RISC也引入了SIMD等功能比较强大而复杂的指令(所谓向量化)LoongArchLoongArch简介简介4 龙芯处理器(龙芯处理器(LoongsonLoongson)与龙芯指令系统()与龙芯指令系统(LoongArchLoongArch)LoongISALoongISA:基于:基于MIPSMIPS指令系统指令系统扩展扩展(旧龙芯)旧龙芯)MIPS
3、基础指令 龙芯扩展指令:LoongEXT 向量扩展指令:LoongSIMD 二进制翻译扩展指令:LoongBTLoongArchLoongArch:龙芯自主指令系统(新龙芯):龙芯自主指令系统(新龙芯)龙芯基础指令 128位向量扩展指令:LSX 256位向量扩展指令:LASX 虚拟化扩展指令:LVZ 二进制翻译扩展指令:LBTMIPS32/MIPS64 R2/R6MIPS32/MIPS64 R2/R6LoongISALoongISALoongEXTLoongEXTLoongSIMDLoongSIMDLoongBTLoongBTLoongArchLoongArchLoongBaseLoongBa
4、seLBTLBTLVZLVZLSXLSXLASXLASXLoongArchLoongArch简介简介5 龙芯处理器三大家族龙芯处理器三大家族龙芯1号32位单核CPU(小CPU)MIPS32指令集或LA32指令集主要面向工业控制、数据采集、消费电子等龙芯2号低端64位单核/双核CPU(中CPU)MIPS64指令集或LA64指令集(龙芯2K500/2K1000/2K2000)主要面向工业控制、移动终端、嵌入式计算机等龙芯3号高端64位多核CPU(大CPU)MIPS64指令集(龙芯3A1000/3B1500/3A2000/3A3000/3A4000)或LA64指令集(龙芯3A5000/3C5000/
5、3D5000)主要面向电脑(桌面计算机、服务器、高性能计算机)等LoongArchLoongArch简介简介6 LoongArchLoongArch的主要特征的主要特征典型的RISC:32位定长指令,32个通用寄存器,32个浮点/向量寄存器4个特权级:PLV03,其中PLV0最高(内核态),PLV3最低(用户态)主要特权资源:控制状态寄存器(CSR)地址空间:支持可配置的直接映射和页表映射TLB:可变页大小的MTLB+固定页大小的STLBCache:一级指令Cache(ICache)、一级数据Cache(DCache)、二级牺牲Cache(VCache)、三级混合Cache(SCache)Co
6、re-0V-CacheD-CacheI-CacheCore-2V-CacheD-CacheI-CacheCore-1V-CacheD-CacheI-CacheCore-3V-CacheD-CacheI-CacheS-CacheLoongArchLoongArch简介简介-通用寄存器通用寄存器7寄存器编号寄存器名称寄存器用途$r0zero常数0$r1ra返回地址$r2tpTLS(线程局部存储)指针$r3sp栈指针$r4$r11a0a7参数寄存器$r4$r5v0v1返回值寄存器(复用a0/a1)$r12$r20t0t7临时寄存器$r21x保留未定义$r22fp帧指针$r23$r31s0s7静态寄存