18.luck新利
的意见

系统设计考虑嵌入式异构多处理(HMP)

集成功能不对称计算元素需要独特的系统设计选择。

受欢迎程度

异构多处理器(HMP)系统,使用功能不对称计算元素,如应用程序处理器和微控制器集成在同一个soc,现在广泛使用在各种各样的应用程序。使用这些soc在聪明,连接设备改变我们生活的方式,在家里,在车里,在我们的城市——更多的情报,速度和效率。

现代嵌入式系统的基本要求是使用正确的计算元素对于一个给定的任务。它使这些系统能够满足提供高性能的相互冲突的需求,同时提高系统的整体系统效率。然而,设计异构系统需要独特的系统和软件方面的考虑。

这个博客主要关注两个问题:

  1. 为什么是异构计算这样一个现代计算系统的基本要求?和
  2. 系统设计选择由什么当设计这样的异构多处理(HMP)系统集成功能不对称(如计算元素。Cortex-A53和Cortex-M4在同一系统?)

现代计算系统的关键挑战
现代计算系统面临的最重要挑战是处理工作负载的多样性的要求的前提下对系统的效率。

为了满足这些不同的计算需求和提高这些系统的效率,SoC架构师依靠集成功能不对称处理器在同一SoC。然而,集成微控制器和应用处理器(ISA方面的显著差异,性能和软件),需要一些关键因素在系统水平。

那么,当设计一个节能的一些基本注意事项,异构计算系统?

系统架构设计嵌入式高分子聚合物系统的设计考虑
有几种类型的高分子聚合物系统。在一般意义上,高分子聚合物系统指的是一个复杂的系统,它结合了几种不同计算元素(如通用处理器、图形处理器、图像处理器、视频处理器,处理器和显示可能几个加速器。图1显示了一个典型的高分子聚合物计算系统,包括几个计算元素。

这个博客的背景下,讨论系统设计考虑集成的应用程序处理器(e。g Cortex-A53或Cortex-A35)和单片机(e。g Cortex-M4 Cortex-M33)在同一SoC。考虑到通用计算子系统如图2所示,使用Cortex-A和Cortex-M处理器。


图1:一个通用异构多处理器(HMP)计算系统

系统设计者需要考虑以下基本问题在设计使用Cortex-A和Cortex-M处理器异构计算系统:

  1. 你如何解决内存映射差异呢?
  2. 你如何分配中断整个应用程序处理器和单片机子系统?
  3. 你如何处理处理器间的通信?
  4. 你如何处理安全/不安全状态通信?

1。你如何解决内存映射差异呢?
有两种方法接近不同的内存映射地址:面积成本低或更大的灵活性。

面积成本低:

  • 优点:共享一个共同的地址空间,外围设备组合在一起的一个系统
  • 缺点:限制性;需要设计的时间决定

更大的灵活性与系统内存管理单元(SMMU):

  • 提供一个可移动的窗口,允许访问地址超出Cortex-M的32位处理器子系统
  • 安全属性添加到交易,允许访问安全的和非安全的资源(如果需要)
  • 由软件运行时配置


图2:使用一个SMMU允许更大的灵活性处理器访问内存寻址空间

2。你怎么分配中断?
它可以需要处理器之间共享中断来源不同的类。中断源可能需要连接到两个中断控制器,这是相对简单的连接中断。NVIC需要包装器逻辑来处理消息的中断。例如:一个传感器可以提供服务的不间断Cortex-M核心,Cortex-A处理器时睡着了。新加坡政府投资公司架构适用于与Cortex-A和Cortex-R类处理器,然而,不支持连接Cortex-M处理器GICv3 / v4中断控制器。Cortex-M处理器都有自己的中断控制器,称为嵌套向量中断控制器(NVIC),也有类似的程序员的模型和功能来新加坡政府投资公司。

选项1:连接中断

  • 优点:简单的系统设计
  • 劣势:切换时中断分配更高的软件开销
    • NVIC配置只从Cortex-M处理器访问
    • 新加坡政府投资公司配置可能不是从Cortex-M处理器访问
    • 使用软件的邮箱同步配置更改(IPC)需要

选项2:基于消息的中断

  • 优点:小硬件成本;显著减少软件开销中断分配
  • 灵活的设计选项,例如:
    • 消息从Cortex-A Cortex-M
    • 消息从Cortex-M Cortex-A
    • 中断分配单元(共享)

见下面的图3的系统设计选择。


图3:两个中断系统设计选项,例如与手臂Cortex-A Cortex-M处理器

3所示。你如何处理处理器间的通信?
软件运行在两个不同的处理器必须能够相互通信。这个问题有两个元素:

    • 发送中断跨到其他处理器(年代)
    • 邮箱/信号数据的共享内存

这样的沟通通常是通过邮箱共享内存。这将需要内存的一部分主要系统的地址空间,所以,例如,Cortex-A处理器和Cortex-M子系统有可见性。

这样的邮箱可能被门铃打断了称赞,信号的存在新的消息或完成先前的命令。这需要一个机制为每个处理器生成中断的中断控制器。请参阅下面的一个示例系统图如图4。

这里有一些用例所需的此沟通时,使用皮质的处理器作为一个例子:

  • Cortex-A请求系统控制活动从Cortex-M系统控制器
  • Cortex-M传感器中心报告数据Cortex-A处理器
  • 启动交出一个共享的外围从一个系统到另一个地方


图4:处理Cortex-A之间处理器间的通信,Cortex-R和Cortex-M处理器子系统

4所示。你如何处理安全/不安全状态通信?
现代计算架构的安全系统是一个必要的要求,使设备应对特定的威胁,可能会经历。典型的用例包括:身份验证机制的保护,加密、关键材料和数字版权管理(DRM)。

关键因素在实现安全HMP系统(参见图5为例系统图):

  • 如果你是不使用的处理器相结合TrustZone安全扩展必须定义,计算子系统使用像往常一样安全(如系统控制处理器子系统)或总是不安全(如音频子系统)
  • 确保为每个处理器调试系统匹配的安全域
  • 系统内存分区和中断分布两个处理器子系统安全/不安全的世界
  • 安全和不安全的内存分区之间必须匹配不同的处理器子系统


图5:高分子聚合物系统与hardware-enforced安全的一个例子,使用TrustZone安全扩展和皮层处理器

不用说,有很多其他设计注意事项要记住当设计异构多处理(HMP)系统。这个博客只触及表面的系统设计选择-下载完整的白皮书看到更多的硬件系统图和软件考虑,。



留下一个回复


(注意:这个名字会显示公开)

Baidu