基于MIPS 架构的工程技术研究和行业应用实践
2020-11-24于君
于 君
(山西集智数据服务有限公司, 太原030032)
0 引 言
随着新一代信息技术产业的快速发展,全社会的逐步由信息化、数字化阶段步入了数据化、智能化的新阶段。 微小型、低能耗的传感器实现了对于目标环境的数据采集功能,5G、NB-IOT 等长短通信技术实现了数据传输功能,数据分析实现了对于数据内涵的理解和分析,人工智能实现了数据中知识经验的凝练,区块链实现了数据交互的隐私防护和共识可信。
数据、算法、算力已经成为了大数据时代的技术要素,而硬件系统作为软件算法的基础载体,其计算和管理性能的提升直接影响到了知识学科、技术应用和产业跨越的发展进程,因此中央处理器(CPU,central processing unit)的实时计算处理运算能力成为了未来产业融合应用的关键基础因素。
1 处理器技术路线
处理器技术架构主要包括复杂指令集(CISC,complex instruction set computer) 和精简指令集(RISC,reduced instruction set computer)两大类。 基于CISC 的CPU 结构相对复杂,设计周期较长。CISC 的指令功能较复杂,寻址方式较多,指令使用种类频次相对集中,可直接通过指令实现存储器相关操作,因而更适用于复杂功能需求场景下的通用计算机设备。 基于RISC 的CPU 结构更加紧凑,设计周期较短。 RISC 采用统一指令编码方式,有效提升了解译效率,指令代码相对易于学习,因而更适用于特定功能需求场景下的专用计算机设备。
X86 架构属于CISC 技术路线,主要代表企业是英特尔Intel 和超威半导体AMD。 ARM(advanced risc machine) 架构和MIPS(microprocessor without interlocked pipeline stages)架构属于RISC 技术路线。 基于RISC 技术路线的MIPS 架构的工作原理为利用软件方式避免流水线中的数据相关问题[1]。
1981 年,斯坦福大学教授John Hennessy 团队设计搭建首个MIPS 架构处理器,并于1984 年组建MIPS Computer Systems 公司,1985 年设计诞生R2000 芯片,之后MIPS 架构逐步从传感器、微控制器向路由设备、数字电视、游戏机等应用领域延伸。由于MIPS 架构是开源指令集,因此有效降低了中小企业的研发成本和授权风险,Wave Computing、Microchip、loongson(龙芯)等行业领军企业将MIPS架构处理器不断深入到新兴产业领域。
2 基于MIPS 架构处理器的工程技术研究
随着MIPS 架构处理器的设计生产和制造工艺的不断升级,其指令集架构(ISA,instruction set architecture)持续扩展,能耗指标不断优化,运算性能持续提升,研究人员在相关工程技术领域开展了有益的探索实践。
在图像识别算法研究方面,研究人员以2K1000龙芯派为硬件载体,分别对深度学习模型VGG-16、Google Net、Mobile Net 和Alex Net 进行了对比训练测试[2],结果显示Alex Net 识别时间约为3 s,同时识别率达到了97%,在时间效率和准确率方面整体性能最优。
在动态调度算法研究方面,研究人员基于龙芯CPU 小规模集群机(内核为12 个4 核3B2000)平台参考计算节点处理能力对分析数据包进行动态分割[3],采取处理人物动态分配策略实现计算节点同步操作。 采用浮动车数据(FCD,Floating Car Data)进行测试验证,动态任务调度算法较Min-Min 算法平均等待时长缩短50.91%,CPU 平均利用率高2.59%。
在克隆检测算法研究方面,研究人员对指令类型序列构建后缀树进而获取指令序列之间的克隆信息,通过合并沙砾指令方法提升相邻克隆代码分析能力,基于MIPS32 指令集采用Linux 内核和混淆处理的代码构建不同级别的二进制可执行文件代码样本[4],所研究算法在克隆代码级别3 以上测试性能优于NiCad 算法和SimCad 算法,实现了在源码缺失条件下的细粒度代码克隆分析。
为了进一步加速推动MIPS 技术路线的行业应用和人才队伍,基于MIPS 架构的实验平台和开发系统不断涌现。 研究人员基于龙芯CPU 搭建了学习实验箱[5],可实现基本的串行通信(同步通信和异步通信)功能。 将龙芯3B1500 处理器与ZigBee芯片CC2530 相结合实现了物联网的基础通信、传感控制等实验系功能[6]。
3 基于MIPS 架构处理器的行业应用实践
基于MIPS 架构处理器在自动控制、仪器仪表、气象服务、航天装备和电子消费等领域进行了有益的探索和尝试,形成了一系列技术成果和应用案例。
3.1 自动控制领域
在计算控制方面,研发人员采用龙芯3A3000系列芯片和道6.0 操作系统研制指挥控制计算机系统[7],实现了探测数据接收入库、指挥控制命令交互、数据信息状态显示和自动计算决策等功能,系统实时性测试满足性能要求,时钟有效性测试中12 h拷机准秒偏差小于±3 ms。
在机电控制方面,研究人员将基于32bit MIPS架构的芯片M3 应用于电动车控制[8],以电机专用控制芯片M3 为核心,设计实现了具备功率管驱动、电流检测、过载保护、位置检测等电路功能的无刷直流电机控制器系统,经验证测试该系统在不同负载条件下均可正常启动,未出现无错位或失步问题,上下功率MOSFET 栅极波形具有明显的死区时间,确保了两个开关管交替导通,进一步优化了控制驱动电机性能。
在运动控制方面,研究人员选用MIPS32 架构CPU 自主设计软核[9],通过脉冲型号驱动雕刻刀具运动,同时采用逐点比较插补算法和梯形加减速速度控制算法实现了插补轨迹和变速控制,有效增强了系统的扩展性和移植性,降低研发成本和研发时间。
3.2 仪器仪表领域
在PXI 仪器方面,研发人员采用基于MIPS 的3A3000 系列芯片和基于Linux 内核的麒麟操作系统开发了面向仪器系统的PCI 扩展(PXI,PCI extensions for instrumentation)设备的驱动程序[10],实现了设备初始化、启动、读写控制、中断处理和释放卸载等功能模块,将其应用于PXI 仪器设备AMC4311(5.5 位数字多用表)验证了驱动程序的正确性和可用性。
在传感检测方面,研究人员采用了具备超声波时间测量、超声波脉冲发生器、测温单元、串口、红外收发器等功能的龙芯LS1D 作为核心器件[11],通过辅以温度测量、红外通信、NB-IOT 等外围电路实现了基于超声波方法的热量变化监测功能,为火力发电远程监督诊断提供了低成本、高精度、易操作的数据采集方案。
3.3 气象服务领域
在监测设备方面,研发人员以浪潮DL3010 计算机(龙芯3A 处理器内核)和麒麟操作系统为基础开发平台[12],实现了气象雷达工作操控和状态监测、回波数据采存储集与分析处理等功能,实际测试方位处理分辨率为0.5°,方位控制精度≤0.1°,仰角控制精度≤0.1°。
在气象预测方面,研发人员将X86 平台下的中尺度气象预报模式MM5 所需的MPICH 等各类支撑软件库移植到基于MIPS 技术路线的龙芯3A 平台[13],经过对比X86 平台和龙芯3A 平台分析结果可以得出:对应站点常规气象要素及其垂直剖面时间序列仿真预测结果可信且差异不大。
3.4 航天装备领域
在航天运载方面,研究人员采用龙芯1C300B芯片搭建了基于FlexRay 总线的航天运载火箭信号采编器通信接口单元[14],经测试验证接收数据与发送数据传输无误,丢帧率、错帧率和误码率均为零,测试参数可以满足航天运载火箭数据的高效稳定传输需求。 在宇航特殊环境下,龙芯宇航级抗辐照CPU 应用于北斗装备星,同时在光纤陀螺、太阳敏感器、地球敏感器等均形成了典型的应用解决方案[15]。
3.5 电子消费领域
在医疗电子方面,研发人员以MIPS 指令集的32 位微控制器芯片为核心控制单元[16],采用4 通道数字控制模拟电子开关管理模数转换芯片,实现了十二导联心电监测采集(ECG,electrocardiogram)功能,ECG 数据可用于心脑血管疾病的早期监测和后期诊断。
在协同办公领域,研发人员采用基于MIPS 架构的600MH 处理器的无线同屏器应用于会议应用系统[17]。 无线同屏器实现了基于Wi-Fi 网络的跨平台同屏显示功能,为无纸化移动OA 系统提供了高速、稳定、便捷的会议解决方案。
4 结束语
信息技术产业具有高技术、高投入、高风险、高创新、高渗透等产业特点,因此,产业化是一个系统化的持续性工程。 在人才培养方面,可通过设立专业化课程体系、搭建校企联合实训、项目化毕业课题培养等方式进一步加速人才队伍建设;在技术研究方面,可通过设立开放性研究课题基金、开展技术能力竞赛、开展专业开源社区服务等方式引导科研人员“学技术、用技术、讲技术、传技术”;在行业应用方面,可采取设立迁移适配奖励基金,搭建虚拟开发团队,将产业商业能力赋予合作中小企业等方式增强伙伴粘性,实现开放、联合、共赢的处理器产业生态。