漫谈MCU优化:从硬件设计优化到可靠性挑战

1.关于MCU

微控制器(Microcontroller Unit, MCU),是以微处理器为基础,加上存储器以及计数器、I2C、UART等外设模块与接口电路整合的单芯片微型计算机。

▲MCU实物图

MCU拥有性能好、可编程、灵活度高、功耗低等优点,因此往往被集成到不同的设备中,用以取代复杂臃肿的电子线路控制系统,实现设备控制的轻量化和智能化。可以说小到玩具、大到汽车,MCU已经渗透进人们生活的方方面面。

工业:工业控制、汽车电子等领域;

日常生活:智能家居、物联网以及智能穿戴等领域。

微控制器覆盖范围非常广,产品应用的场景也非常多,不同的使用场景对微控制器的要求也不一样,厂商会根据使用场景提前部署各种型号的MCU,以满足不同场 景下对性能、成本、功耗以及安全性等方面的定制化需求:

玩具小车市场对处理器性能的要求并不高,相关厂商会采用成熟制程并尽力压缩成本;手机、笔记本等便携设备对低功耗的要求较高,设计厂商便可能舍弃部分性能去追求更低的功耗;近年来火热的汽车电子市场则是更看重MCU的安全性能,在智能化、自动化系统的高要求下,设计厂商需要满足相关可靠性测试才能达到标准,从而在汽车电子领域占据一席之地。

2.关于ISA

MCU的优化主要分为两大块:硬件设计优化与软件优化。要了解硬件设计的优化,可以从计算机指令集架构入手。

1946年,人类历史上的第一台由电子管构成的计算机诞生,世界宣告进入数字化的时代。紧接着,20世纪50年代,随着电子管被更加小型的晶体管替代,计算机开始小型化并且逐渐走向大众。随着制造工艺的进步,芯片制程越来越小,集成度也越来越高,处理器的运算速度也越来越快。时至今日,计算机的种类非常丰富,大致可以分为超级计算机、网络计算机、工业控制计算机、个人计算机以及嵌入式计算机。

▲计算机种类分类

计算机主要由硬件和软件共同构成,二者相辅相成,均可在各自领域提升计算机的处理速度。指令集架构(Instruction Set Architecture,ISA)作为链接硬件和软件的重要桥梁,是硬件设计准则与处理器的根基,可以极大影响处理器的性能。ISA在计算机系统中的重要性如下图所示。

▲指令集架构示意图

ISA主要分为两个大类:

CISC(Complex Instruction Set Computer,复杂指令集),代表架构即广为人知的X86架构;AMD和Intel的X86架构处理器在高性能服务器、个人PC等领域具有绝对优势,在全球市场中几乎占垄断位置。

RISC(Reduced Instruction Set Computer,精简指令集),常见的有ARM、MIPS和RISC-V等;值得一提的是,ARM公司的ARM架构处理器系列占据着嵌入式领域的大部分市场,然而ARM公司并不直接生产和售卖芯片,而是采用授权或售卖IP的形式来盈利。

3.MCU的硬件设计优化——RISC-V

Intel创始人戈登·摩尔(Gordon Moore)在1965年提出过一个观察与预测:在不增加成本的情况下,集成电路上可以容纳的晶体管数量大约每隔18至24个月就会增加一倍

21世纪到来后,物理规则的限制和制造工艺进步缓慢,摩尔定律逐渐走到了尽头,处理器通过享受制造工艺的进步所带来速度提升的方式宣告结束,发展重点随之逐渐转移至处理器结构等其他方面的创新与拓展。

上文提到的ARM公司虽然占据嵌入式MCU领域绝大部分份额,但是因其不得不考虑其老旧产品的兼容性,造成自身负担太重、过于臃肿,使得硬件设计的复杂度大大提升,并不能很好地满足当下嵌入式领域微控制器对于性能、面积和功耗的要求,无法有效给出最佳的方案,缺乏定制化和自由度。

在此大背景下,2010年,由伯克利大学的Krste Asanovic教授等人开发的 RISC-V(Reduced Instruction Set Computer-Five)指令集应运而生。

RISC-V指令集实现了MCU硬件设计的优化,顺应时代的发展趋势,拥有开源、免费、架构简洁、工具链完整和开发学习易上手等特点,采用模块化设计,拥有强大的可定制化能力,对我国MCU设计厂商有着非常大的吸引力:

一方面,由于近年来美国对我国在半导体技术领域的出口限制越来越多,企图阻止我国半导体技术的发展,我国集成电路公司对于产业链的安全性越来越重视,RISC-V的开源特性无疑是国内公司摆脱ISA被垄断的一个绝佳机会;

另一方面,芯片公司往往非常重视芯片的定制化,实际生产设计中,性能往往并不是唯一的指标,芯片的成本以及功耗等特性往往也是一款芯片能否成功的关键。

4.可靠性上的挑战

随着RISC-V架构的逐步成熟,其开放性和可扩展性使其在满足不同行业特定需求方面展现出巨大潜力。尤其在汽车电子领域,RISC-V的灵活性和开放性非常适合汽车行业对高可靠性、低延迟和功能安全的需求。汽车电子系统,尤其是自动驾驶和高级驾驶辅助系统(Advanced Driver Assistance Systems,ADAS)等功能对处理器的实时响应能力和安全性要求极高。

尽管RISC-V在硬件设计上具有明显的优点,但随着汽车电子系统日益复杂,尤其是高安全性和实时性要求的加剧,单纯依赖RISC-V的优化无法满足高可靠性的要求,其处理器存储器的可靠性问题变得尤为突出,尤其是如何确保数据在长时间、极端环境下的安全与完整性。以汽车领域为例,汽车电子系统的存储器需要处理大量的实时数据,存储器的安全性能直接关系到处理器能否按照程序正常运行:

如若存储器中的数据发生变故,轻则导致处理器陷入混乱“死机”,重则可能造成不可预知的重大事故。

对于加强存储器的可靠性,历史上往往从如下几个层面展开工作:分别是工艺级、版图级、电路级、系统级。工艺级一般采用特殊工艺进行芯片的制造,但工艺成本较为昂贵;版图级提过改变物理布局,需要承担改变版图结构带来的成本;电路级主要保证其中某一路电路的安全性,但相对会消耗更多资源。目前主流的方案为在软件层面系统级地引入冗余单元,通过对存储器数据进行存入时编码,读取时解码的方式,利用算法来检测以及纠正由外部因素造成的系统错误。

冗余本身是为防止存储器失效而进行的多余度设计,但其本身的有效性却很难得到测试和保障:开发人员需要在软件设计中考虑到所有设备的失效逻辑。为了能够完全模拟外界数据并进行完备的测试,测试人员需要设计出复杂的测试系统以保证有效性,复杂的数据总线和冗余设备之间的通信方式通常会花费较高的时间成本和硬件设备成本。

天目全数字实时仿真软件SkyEye是一款基于可视化建模的硬件行为级仿真平台,支持用户通过拖拽的方式进行冗余系统的建模和仿真。在建立冗余系统测试的过程中,SkyEye主要有以下两大优势:

1. 在冗余设备软件开发的过程中,开发人员需要给多个设备加载不同或相同的镜像,手动添加调试往往耗费时间较长。使用SkyEye即可快速搭建虚拟的冗余设备仿真模型,快速实现2-n个备份设备,还可加载不同的镜像,缩短软件开发时间,提高开发效率。

2. SkyEye系统测试特性能够完全模拟外界数据并进行完备的测试:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/467640.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习】— 多输入多输出通道、多通道输入的卷积、多输出通道、1×1 卷积层、汇聚层、多通道汇聚层

【深度学习】— 多输入多输出通道、多通道输入的卷积、多输出通道、11 卷积层、汇聚层、多通道汇聚层 多输入多输出通道多通道输入的卷积示例:多通道的二维互相关运算 多输出通道实现多通道输出的互相关运算 11 卷积层11 卷积的作用 使用全连接层实现 11 卷积小结 …

如何在c++侧编译运行一个aclnn(AOL)算子?

1 AOL算子库 CANN(Compute Architecture for Neural Networks)提供了算子加速库(Ascend Operator Library,简称AOL)。该库提供了一系列丰富且深度优化过的高性能算子API,更亲和昇腾AI处理器,调…

IDEA git提交时如何忽略某个文件或文件夹

步骤如下 英文界面操作顺序 打开file——>settings——>Editor——>File Types 中文插件操作顺序 打开 文件——>设置——>编辑器——> 文件类型 安装下面的操作顺序添加想要屏蔽文件类型后缀即可:

《常用深度学习神经网络及其原理与应用场景》

一、总体介绍 一、引言 随着科技的不断发展,深度学习已经成为人工智能领域中最具影响力的技术之一。深度学习神经网络通过模拟人类大脑的神经元结构和工作方式,能够自动学习数据中的特征和模式,从而实现各种复杂的任务,如图像识…

科技革命前沿:救援机器人!

救援机器人主要制作材料 传统刚性材料:传统救援机器人多采用金属等刚性材料制作,以确保其结构强度和稳定性。这些材料在承受较大负载和复杂环境时表现出色,但可能缺乏一定的灵活性。 软体材料:近年来,软体机器人技术…

Ubuntu中以root身份运行Qt创建的项目

Ubuntu中以root身份运行Qt创建的项目 Chapter1 Ubuntu中以root身份运行Qt创建的项目解决方法: Chapter1 Ubuntu中以root身份运行Qt创建的项目 原文链接:https://blog.csdn.net/lhbaba/article/details/124733323 使用Qt开发项目时遇到了一个问题&#…

leetcode25:k个一组链表反转

给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内部的值…

ctfshow-web入门-反序列化(web265-web270)

目录 1、web265 2、web266 3、web267 4、web268 5、web269 6、web270 1、web265 很简单的一个判断,满足 $this->token$this->password; 即可 由于 $ctfshow->tokenmd5(mt_rand()) 会将 token 随机为一个 md5 值,我们使用 & 绕一下&am…

qt QLocale详解

1、概述 QLocale是Qt框架中的一个类,用于处理与本地化相关的操作。它能够方便地实现日期、时间、数字和货币的格式化和解析,支持不同的语言、区域设置和字符集。QLocale提供了一种跨平台的方式来获取当前系统的语言设置,并返回该语言的本地化…

年龄大了,听力一定会下降吗?

随着年龄的增长,听力下降(也称为老年性听力损失或感音神经性聋)确实是一个常见的现象,但并不是每个人都会经历明显的听力下降。以下是一些影响因素和相关信息: 1. 自然老化过程 •随着年龄的增长,内耳的毛…

Linux SSH私钥认证结合cpolar内网穿透安全高效远程登录指南

文章目录 前言1. Linux 生成SSH秘钥对2. 修改SSH服务配置文件3. 客户端秘钥文件设置4. 本地SSH私钥连接测试5. Linux安装Cpolar工具6. 配置SSHTCP公网地址7. 远程SSH私钥连接测试8. 固定SSH公网地址9. 固定SSH地址测试 前言 开发人员在工作中经常需要远程访问服务器和数据中心…

国产化浪潮下,高科技企业如何选择合适的国产ftp软件方案?

高科技企业在数字化转型和创新发展中,数据资产扮演着越来越重要的角色。在研发过程中产生的实验数据、设计文档、测试结果等,专利、商标、版权之类的创新成果等,随着信息量急剧增加和安全威胁的复杂化,传统的FTP软件已经不能满足这…

高校宿舍信息管理系统小程序

作者主页:编程千纸鹤 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参…

DNS域名详细解析详解

文章目录 DNS域名详细解析详解一、引言二、DNS域名解析过程1、DNS解析概述1.1、DNS解析的基本步骤 2、代码示例 三、DNS查询类型1、递归查询2、迭代查询 四、总结 DNS域名详细解析详解 一、引言 在互联网的世界里,域名和IP地址是两个不可或缺的概念。IP地址是计算…

Selenium自动化测试 —— 模拟鼠标键盘的操作事件

软件测试资料领取:[内部资源] 想拿年薪40W的软件测试人员,这份资料必须领取~ 软件测试面试刷题工具:软件测试面试刷题【800道面试题答案免费刷】 鼠标操作事件 在实际的web产品测试中,对于鼠标的操作,不单单只有clic…

全网视频下载神器一键下载全网视频!

前言 想从网上下载视频和音乐到手机吗?那真的很简单!这个应用支持各种格式,而且完全不用花钱。当你在下载器内打开一个网站视频,下载器会自动“看到”它,你只需要点一下,下载就开始了。下载过程中&#xf…

系统架构师2023版:习题

架构设计基础 计算机基础 目前处理器市场中存在 CPU 和 DSP 两种类型的处理器,分别用于不同的场景,这两种处理器具有不同的体系结构,DSP采用()。 A.冯诺依曼结构 B.哈佛结构 C.FPGA 结构 D.与 GPU 相同的结构 解析:…

C++:lambda表达式

lambda表达式是一个可调用对象。 lambda表达式定义: 看作一个匿名函数。定义lambda,[ ]开始,跟(),括号内传递参数 ,{ }内接函数体。用一个auto 类型的变量接收。把该变量名当作该匿名函数的函数…

javascript实现sha512和sha384算法(支持微信小程序),可分多次计算

概述: 本人前端需要实现sha512和sha384计算的功能,最好是能做到分多次计算。 本文所写的代码在现有sha512和sha384的C代码,反复测试对比计算过程参数,成功改造成sha512和sha384的javascript代码,并成功验证好分多次计算…

C++类和对象 (下)

文章目录 前言一. 再探构造函数初始化列表特性总结练习 二. 类型转换2.1 隐式类型转换2.2 临时对象具有常性2.3 explicit关键字2.4 多参数类型转化 三. static成员概念特性练习 四. 友元概念特性 五. 内部类概念特性 六. 匿名对象概念特性 七. 对象拷贝时的编译器优化END 前言 …