首页 > 其他分享 >科普:嵌入式多核并行仿真

科普:嵌入式多核并行仿真

时间:2024-01-05 17:22:35浏览次数:25  
标签:仿真 SkyEye 并行 嵌入式 多核 CPU 科普

​自信息技术革命以来,计算机一直被应用在各种复杂的数据处理中,如火箭弹道,高能物理和生物学数据等。随着嵌入式领域的多样化需求的不断丰富,多核CPU的应用也越来越广泛:嵌入式系统通常需要同时处理多个任务和实时数据,并在有限的资源和功耗限制下提供高性能和可靠性。多核技术为这些需求提供了有效的解决方案。

CPU多核技术是一种设计方法,支持将多个独立的处理单元(称为核心)集成在单个芯片上的中央处理器(CPU)中。CPU内的每个核心都可以作为一个独立的处理单元,能够独立执行指令和进行计算。多核技术的主要目的是提高CPU的整体性能和效率:通过拥有多个核心,CPU可以同时执行多个任务,提高多任务处理能力,实现并行处理和增加吞吐量。

多核技术相比传统的单核处理器具有下列优势:

1. 更好地利用系统资源,多个任务可以同时执行而不会争夺同一个核心,从而提高系统响应速度并减少延迟;

2.有效处理多线程应用程序,不同的执行线程可以分布在多个核心上进行高效处理。

 

在带来诸多便捷的同时,多核技术也给CPU仿真带来了巨大挑战。在目标机只有1个核心的情况,通常只需采用一个主机线程来完成CPU的逻辑(主要包括取指、解码和执行)。而当目标机拥有多个核心的情况,虽然可以同样采用单核CPU仿真的方式,也就是使用一个主机线程串行来完成多个目标机CPU的逻辑,尽管这样实现具有较强的确定性(目标机多核CPU是串行执行的),但其缺点也是显而易见的:仿真性能大打折扣。

 

要解决这一问题,也就是实现多核并行仿真面临诸多难点:

Q:怎样保证目标机CPU的原子操作?

A:需要理解目标机CPU所有原子操作的原理,借助主机平台的一些互斥机制去实现。

Q:怎样保证目标机CPU两个核心执行速度一致?

A:需要从不同的维度(如虚拟时间)实现一些同步机制去控制仿真CPU运行的速度。

 

天目全数字实时仿真软件SkyEye能够解决这一问题。对于CPU多核仿真,SkyEye既支持串行仿真,又支持并行仿真,可以通过启动脚本灵活配置。

多核并行仿真主要通过使用宿主机N个线程去实现目标机N个CPU核心的逻辑,相较于串行仿真,理论性能提升约N倍,串并行仿真逻辑详见下图。

▲SkyEye串并行仿真逻辑

 

在CPU的指令仿真方面,SkyEye使用了动态二进制翻译技术。该技术主要由Tag和Translation两个步骤组成,Tag步骤和仿真CPU执行指令在同一线程,而Translation步骤可以运行在另一线程中,当Translation步骤完成后,即可运行原生平台的指令块等价实现目标机CPU指令块的功能,进一步提高CPU仿真性能。

天目全数字实时仿真软件SkyEye是基于可视化建模的硬件行为级仿真平台,支持用户通过拖拽的方式对硬件进行行为级别的仿真和建模。

基于SkyEye搭建的嵌入式系统虚拟化运行环境,工程师可不受物理硬件限制,随时访问目标系统,快速搭建虚拟硬件模型并提前进行开发、测试和验证工作,实现高效率、高质量的软件交付。SkyEye支持主流的嵌入式硬件平台,可运行国内外主流的操作系统,对国产生态的支持尤为出色。通过利用基于LLVM的动态二进制翻译技术,SkyEye可使虚拟处理器在典型的桌面计算机上运行速度达到2000MIPS以上。

SkyEye有效解决了嵌入式软件研发时过分依赖硬件资源的问题,填补了国内嵌入式虚拟仿真领域的空白,为嵌入式软件研发模式带来了革新式的变化。

▲SkyEye界面图:基于可视化图形的硬件建模

标签:仿真,SkyEye,并行,嵌入式,多核,CPU,科普
From: https://www.cnblogs.com/digiproto/p/17947690

相关文章

  • 痞子衡嵌入式:在i.MXRT1170上快速点亮一款全新LCD屏的方法与步骤(MIPI DSI接口)
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是在i.MXRT1170上快速点亮一款全新LCD屏的方法与步骤。我们知道LCD屏的接口有很多:DPI-RGB、MIPIDSI、DBI/MCU(I8080)、LVDS、SPI等等,接口不同,对应的软件驱动也不同。RT1170片内外设对以上接口都能很好地......
  • 《痞子衡嵌入式半月刊》 第 88 期
    痞子衡嵌入式半月刊:第88期这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。本期刊是开源项目(GitHub:JayHeng/pzh-mcu-bi-weekly),欢迎提交issue,投稿或推荐你知道的嵌入式那些事儿。唠两句历史上的今天:1906年12月24日,......
  • 痞子衡嵌入式:原来i.MXRT1170内部RAM的ECC初始化工作可全部由ROM完成
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是i.MXRT1170内部RAM的ECC初始化工作可全部由ROM完成。痞子衡之前写了三篇文章《M7FlexRAMECC》、《M4L-MEMECC》、《MECC64》分别介绍了i.MXRT1170片上2MBRAM的不同ECC控制器用法,尤其是第三篇文......
  • 痞子衡嵌入式:简析i.MXRT1170 MECC64功能特点及其保护片内OCRAM1,2之道
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是i.MXRT1170MECC64功能特点及其保护片内OCRAM1,2之道。ECC是“ErrorCorrectingCode”的简写,ECC能够实现错误检查和纠正,含有ECC功能的内存一般称为ECC内存,使用了ECC内存的系统在稳定性和可靠性上得......
  • 痞子衡嵌入式:Farewell, 我的写博故事2023
    --题图:苏州虎丘塔2023年的最后一天,照旧写个年终总结。昨晚和同门师兄弟一起吃饭,有个师弟告诉痞子衡,微博上一个拥有22.3W粉丝的嵌入式同行今年4月发过一个吐槽微博,说恩智浦MCU文档不够全面,后来只在痞子衡的相关分享里才找到答案。听到这个消息,痞子衡第一反应是小有成就......
  • 痞子衡嵌入式:简析i.MXRT1170 MECC64功能特点及其保护片内OCRAM1,2之道
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是i.MXRT1170MECC64功能特点及其保护片内OCRAM1,2之道。ECC是“ErrorCorrectingCode”的简写,ECC能够实现错误检查和纠正,含有ECC功能的内存一般称为ECC内存,使用了ECC内存的系统在稳定性和可靠性......
  • 国际物流公司科普_集装箱种类区分和介绍_箱讯科技
    集装箱运输的不断发展,为适应装载不同种类货物的需要,因而出现了不同种类的集装箱。今天和大家一起来总结一下。按使用材料分类根据箱子主体部件(侧壁、端壁、箱顶等)采用什么材料,就叫做什么材料制造的集装箱,按使用材料分类,集装箱可分成三种:(1)铝合金集装箱,优点是重量轻,外表美观,防腐蚀,弹......
  • 嵌入式教学实验箱_数字信号处理实验箱_操作教程:5-16 灰度图像线性变换(LCD显示)
    一、实验目的学习灰度图像线性变换的原理,掌握图像的读取方法,并实现在LCD上显示线性变换前后的图像。二、实验原理图像线性变换一般成像系统只具有一定的亮度范围,亮度的最大值与最小值之比称为对比度。由于形成图像的系统亮度有限,常出现对比度不足的弊病,使人眼观看图像时视觉效果很......
  • 如何写出高效清晰的嵌入式C程序
    作为嵌入式工程师,怎么写出效率高、思路清晰的C语言程序呢?要用C语言的思维方式来进行程序的构架构建要有良好的C语言算法基础,以此来实现程序的逻辑构架灵活运用C语言的指针操作虽然看起来以上的说法很抽象,给人如坠雾里的感觉,其实就是用C语言进行遇到问题、分析问题和解决问题的过程......
  • 嵌入式的485总线介绍和应用
    在嵌入式系统中,通信是不可或缺的一部分,而RS-485总线协议因其长距离传输、多设备连接、抗干扰等特点,在工业自动化等领域得到广泛应用。本文将介绍RS-485总线的基本原理、特点以及在嵌入式系统中的应用,并提供详细的代码演示,帮助读者理解和应用RS-485总线。1.RS-485总线的基本原理RS-......