嵌入式计算机系统软硬件协同设计技术研究
量子计算研究正在突破传统计算机界限 #生活知识# #科技生活# #科技趋势#
摘要:随着我国计算机与微电子技术的发展,嵌入式计算机系统渗透到日常活动中的方方面面,其中最为简单的就是移动支付技术,简简单单的一个支付行为,依靠的是嵌入式计算机系统的复杂运转,通过软件后台加上硬件平台的支持,有效地提升了信息内容传递的速度。我们日常生活中消费电子、智能家电、通信设备、人工智能及工业控制等多个领域都是嵌入式产品的产物。从嵌入式计算机系统硬件与软件协同规划、协调发展、配合式设计的层面出发,本文着眼于研究当下技术的缺陷,旨在寻找未来嵌入式计算机系统软/硬件协同设计的合理发展路径。
1.概述
1.1系统设计
要保障嵌入式计算机系统软件信息技术和硬件水平的协同发展,就一定要界定系统设计这一概念,系统设计的机制是针对软件与硬件构建起来的运转模式进行优化的一系列软件编程和硬件加工活动的统一,系统设计主要体现在能够在一系列的操作步骤中完成制造流程。系统包含了不同的模块,模块相对应的功能能够进行协同运作,从而构成一个相对完备的电子系统。系统渐趋复杂,并且存在变异的可能性,因而系统设计涉及的问题难度也不断增加。
1.2传统设计方法
传统设计方法已经使用了几十年,传统计算机设计方法不认可嵌入式计算机系统软件和硬件的协同发展,可以判断出传统设计方法将硬件与软件分为两个独立部分,在设计过程中,要在预估任务量的前提下,依次进行硬件及软件的设计。随着技术开发水平的不断进步,越来越多试验的方法得到运用。
1.3传统设计方法存在的不足
1.3.1硬件与软件开发过程中的割裂状态
嵌入式计算机系统测试、监管、调控、设计工作流程是十分繁冗复杂的行为,硬件是支撑计算机运转的物理层面的装置,软件是保障计算机正常工作的抽象设备,两者相辅相成。从现代化的互联网计算机移动数据终端模板来看,嵌入式计算机系统强调开发软件系统和维护硬件系统之间的统筹兼顾,但不得不承认的一点是,系统软硬件太过复杂,会影响系统运作过程中各功能协同的效率,产品质量得不到保证。异构型系统无法适应现代复杂的、大规模的系统设计任务,最终导致其无法做出较好的综合优化。
1.3.2自动化设计层次低
系统设计多是由设计人员通过手工进行,这种方式过于考验设计者的技术与经验,加上其设计周期过长、费用昂贵,其缺乏对软件构架与机制实现的了解,硬件设计工作存在盲目性,质量上乘的设计需要凭借多年的经验,也需要有高端的思维水平作为支撑。因而面对越来越高的市场要求,优秀的设计变得更加稀缺。
1.3.3设计周期延长
传统的系统设计主要采用先设计硬件的物理原型,再开发软件的设计流程。因此,在串行设计时无法进行全系统综合考量,这就导致设计过程延长,失误增加。
1.3.4缺乏重用支持
纵观目前已有的嵌入式系统,很大一部分的产品周期都较长,因而在市场竞争中处于劣势。
1.4嵌入式系统
因硬件模块的可编程性与可配置性,加上软件功能不断硬件化,系统一些功能软硬件都可以实现,因此,软硬件界限变得不明显。嵌入式计算机系统与常用个人计算机系统不同,它将计算机技术作为基础,以应用为中心,执行的是带有特定要求预先设定的任务;能对软硬件进行裁剪,是用来控制或监视机器、工厂等大规模设备的系统;适用于系统对功能、可靠性、成本等严格要求的专用计算机系统。嵌入式计算机系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统与特定的应用P-流水-计算机技术程序几个部分组成,是先进计算机技术、半导体技术和电子技术并结合应用后产生的产物。
1.5嵌入式系统发展趋势
(1)设计对象由单机向分布式系统发展,加上用户需求增加,其设计规模增大,复杂性增加。
(2)不同场合对嵌入式计算机系统设计功能、实时性、功耗及面积等需求不同,其应用领域逐渐扩大,设计要求也不断从单目标向多目标发展。
(3)嵌入式计算机系统在进行系统设计时更强调设计重用,IP核重用多用于硬件,构件重用多用于软件,这就使得产品迭代呈现活跃的态势。
(4)手机、移动终端需要有能量来源,往往需要配备电池。携带电池的嵌入式设备,其容量与损耗也要纳入设计的考量之中,才能够设计出更适合市场需要的高集成度产品。
(5)半导体技术突飞猛进,新材料、新技术诞生。在嵌入式设计的流程之中,可以实现CPU、I/O接口与存储器等在单个硅片的IP核集成。
(6)嵌入式计算机系统是一个软/硬件并存系统,与通用计算机系统上开发软件不同,在设计时需进行软硬件两个领域的综合考虑,让其相互补充、互相联系并相互制约。
2.软硬件协同设计方法
2.1概述
软硬件协同设计其核心问题是在设计过程中协调软/硬件子系统,这不仅是一种设计技术,也是新的设计学方法。与传统嵌入式计算机系统设计不同,软硬件协同设计能同时找到软硬件的最佳结合点,并根据系统目标要求,对系统软硬件功能、现有资源、软硬件功能模块进行分析,同时将软/硬件设计作为一个整体,让设计开发早期相互结合,并从中发现并解决问题,避免后期反复修改等问题,这种方式有利于缩小产品体积、降低成本同时挖掘系统软硬件之间的并发性,让系统呈现最佳工作状态。
2.2软硬件协同设计方法学
软/硬件协同设计技术在提高设计生产力的同时,能够帮助计算机嵌入式系统更好发展,将为系统设计带来革命性变化。嵌入式计算机系统中硬件速度快、软件成本低,在进行系统设计时,要分析软件和硬件组合情况,权衡系统的时间、性能指标、成本之间的关系,决定系统模块由硬件或软件完成是一项重要工作。目前,软硬件协同设计方法学研究还处于发展阶段,存在一定的不成熟和不实用,嵌入式系统本身的严密与复杂,也对研发人员的效率提出了挑战,因而更需要实现软硬件的协同运作,这也是提高嵌入式系统效率的关键一步。
2.3软硬件协同设计过程
2.3.1系统描述
系统描述是用描述语言对嵌入式计算机系统功能和性能进行表述。系统建模作为系统描述过程中的重要环节,影响着系统构建成本、开发时间等,关乎系统设计的稳定性,也在一定程度上影响着系统设计的可维护性。手工建模、CAD建模等方式是普遍采用的建模方式。软硬件协同设计就是深入挖掘软/硬件之间的协同性,并全面描述其功能与建立模型,因此,系统模型应明确性能描述、功能特点、技术指标、约束条件等因素。
(1)性能描述:要想观测系统的整体运行效果,就需要明确相关的要素。如系统输入、输出的指标,输入、输出系统的关系等。
(2)功能特点:明确表述系统输入、输出及中间状态之间关系,方便核实系统描述,是系统应该完成的基本功能。
(3)技术指标:常表现为价格、速度、可靠性等具体项目,是评价系
统质量的指标体系。
(4)约束条件:是确保系统正常运行工作的环境要求,能判断系统性能优劣,它将明确规定技术指标适用范围及性能缺陷与不足。
2.3.2系统设计
软/硬件功能的分配与映射是嵌入式计算机系统必备的两个阶段。软硬件功能分配要确定系统功能软/硬件模块各自需要完成哪些功能。硬件可以为系统提供更好的性能,软件则更容易开发与修改,成本相对更低。在进行分配时,需考虑系统成本、开发时间、市场资源状况等因素,所以系统任务流程中最重要的环节是对软硬件功能进行划分。软/硬件功能映射可以决定产品最终整体,选择确定系统的体系结构。具体地说,这个过程就是要确定系统将采用微处理器、存储器、I/O接口部件、微控制器、DSP、等硬件模块与0S、功能程序、驱动程序等软硬件模块之间的共享存储器、数据通道等联系媒体。
2.3.3系统评价
系统模拟的广泛使用,使得系统评价有迹可循。系统评价的精确性要求较高,在测量与评估过程中,要尽量减少问题的多次修改。考虑到系统存在变异的可能,在硬件与软件的协同情况下进行模拟,在目前的技术条件下相对困难。系统模拟过程中,由于使用的CPU种类不同(如在嵌入式计算机系统中使用的CPU比主机使用的CPU更慢),所以最终难以评估结构是否真实有效。与此同时,模拟与现实情况难免会存在误差,因而软件与硬件系统的协同运作也会与真实情况存在差异。最终,系统模拟出的结果难以界定其真实性、有效性。近年,随着形式化评价成为新趋势,一些数学手段运用其中,因而能够在一定程度上提高数据的准确性,系统模拟结果的确定性因素增加,一些隐性指标能够被检查出来。这种技术对安全性要求较高的嵌入式计算机系统有其独到之处。
2.3.4综合实现
软/硬件系统的具体制作统称为系统设计的综合实现,其设计结果在经系统评价确认后,硬件、软件的设计就可以协同开展了。这种综合实现的方式能够帮助提高资源的利用率。除了已有功能模块,针对一些无法购买的功能模块,也可以借助FPGA设计完成。近年,随着CAD技术与计算机辅助协同设计技术的进展,试验性软件支持工具投入试用,也在一定程度上帮助了效率的提高。选用更高效的协同设计工具也成为了设计者们的共同诉求。不过,近年,协同设计工作在一定程度上简化系统设计难度,提高了系统设计效率。
3.软/硬件协同验证技术
当下嵌入式计算机产品竞争十分激烈,若想取胜,就必须缩短产品上市时间,因此发现并解决系统设计与开发过程中存在的问题与错误是缩短时间关键。系统需要依赖一些特殊的功能。不仅如此,产品的成本也要考虑其中,如产品的损耗,产品的面积、时间等。若系统设计开发完成后才进行设计评价,在评价过程中发现设计指标达不到要求,就会延长系统上市时间。基于此,需要在系统设计开发过程中根据不同阶段系统性能指标要求进行方案的综合评价,进而验证系统实际的可行性与合理性。目前系统软/硬件协同验证主要有仿真验证与形式化验证两个方向。
仿真验证:仿真验证主要是作用在硬件开发前。硬件描述语言作用于子系统的过程中,能够方便对软件与硬件的协同处理,进而完成系统联合调试,降低人力与物力的浪费,方便设计过程中更好地纠正软/硬件设计错误。但硬件描述语言不适用于大型或复杂的嵌入式计算机系统,只能够描述系统中硬件的一个子集。考虑到仿真系统与现实情况较大的差异性,在性能上的不同也影响了最终验证结果的真实性。因而此种方式应用相对受限,难以满足复杂逻辑情况下的要求。
形式验证:构建验证系统的数学模型,工作机制是采用数学方法证明被验证系统相关指标性能是否符合设计要求。
4.低功耗设计技术
随着嵌入式计算机系统广泛应用于日常生活中(如手机、PDA等便携式电子设备),在设计中需重点考虑功耗的性能指标。低功耗设计技术通过在不同的设计层次上改变动态功耗、短路功耗与静态功耗参数来降低系统功耗。低功耗设计技术贯穿于系统设计、逻辑设计、软/硬件设计等各个阶段,一般是通过调整阈值电压、电源电压等来降低CMOS电路的短路、静态功耗;通过减小等效电容、节点的翻转概率等方式来实现降低MMOS电路的动态功耗。与嵌入式计算机系统设计流程相对应的常用设计层次分类方法是:系统级行为级、结构级寄存器传送级、逻辑级和电路级晶体管级。研究表明,低功耗技术可降低的功耗比例越大,抽象层次越高,优化的空间越大,因此需从系统级入手研究嵌入式计算机系统的低功耗设计技术。
5.可测试性机制
5.1可测试性机制的设计与优化
对于产品而言,要想着力提升产品的可测试性,相关的测量手段也要进行更新。反观当下的测量办法,如LFSR方法、IDDQ方法、边界扫描机制及电平灵敏设计方法等运用其中。可测试性设计需将测试机制引入产品,同时提供获取被测对象信息,可测试性机制的引入在一定程度上降低产品使用周期费用、对系统可测试性指标有所提高,但却增加产品成本。因此,需综合考虑可测试性机制性能与费用,再进行优化设计。
5.2测试信息的处理与故障诊断
为方便后期对设计进行调整、故障排除等工作,需获取有关被测产品状态信息,确保产品工作正常、性能良好与后期发生故障以及故障类型。在进行复杂的对象测试时,获取信息并不是测试难点,对获取大量信息进行处理才是测试信息的测试难点。如一个具有n个测试点的数字电路而言,随着n增大,测试信息的总量增长,因此可测试性设计技术成功应用的关键是能对获取测试信息进行有效处理并精确诊断存在的故障。
6.结语
嵌入式计算机系统软/硬件协同设计技术内容包括软/硬件协同综合、软/硬件协同仿真、验证、性能指标评价、系统建模与SoC测试调度技术等方面的不同层次设计。
本文通过介绍传统方法存在的不足,并介绍嵌入式系统现状与发展趋势,同时引入新的设计方法学。
嵌入式计算机系统软/硬件协同设计克服传统方法中将软硬件分开设计带来的弊端,挖掘两者之间存在的协同性,让系统能够进行高效工作。随着嵌入式计算机系统的不断成熟,或将带动CAD工具、软硬件资源开发等相关产业发展。因此,软硬件协同设计技术的发展对科学技术与商业发展都具有重要意义。且由于其相关技术并未成熟,尚未有成型商品问世,给科学技术发展带来很大挑战与机遇。
网址:嵌入式计算机系统软硬件协同设计技术研究 https://www.yuejiaxmz.com/news/view/1239475
相关内容
计算机支持的协同工作软件技术探究嵌入式系统开发设计
嵌入式系统的低功耗睡眠模式设计
嵌入式空调智能控制系统设计
基于嵌入式系统的智能家居系统的设计
嵌入式车辆导航系统的设计方案
嵌入式系统安全综述
基于嵌入式的智能家居监控系统设计
嵌入式毕业设计
基于智能家居控制的嵌入式语音识别系统研究