系统芯片(SOC)架构- Aviral Mittal

System on Chip Architecture-Aviral Mittal

此技术是在设计片上系统时考虑体系结构级别的因素。同样,范围是围绕soc,soc将使用ARM的Cortex-M级处理器。

The first issue perhaps is Hosted Vs Hostless SoC:

第一个问题可能是托管与无主机SoC:

让我们先了解一下什么是托管与无主机SoC

托管SoC通常是大型SoC的“伴侣”芯片。大型SoC被称为主机SoC:托管SoC的一个例子可以是LTE智能手表的小型蓝牙+显示驱动SoC,其中LTE SoC是大型主机,而这个小型蓝牙+显示Dirver是托管SoC,即伴生SoC。小型“托管”或“伴生”SoC的功能相当依赖于大型主机SoC。通常,主机SoC将具有主应用处理器和操作系统,并且将通过芯片到芯片的链路(例如PCIe或SPI等)来控制小的伴生SoC,因此主机SoC在主机看来将是一种外围设备。

无主机SoC是非常自给自足的,并且主要是电路板上的主SoC。它通常有自己的应用处理器和操作系统。例如,耳机或扬声器的音频+蓝牙SoC。这个SoC的功能不依赖于同一块电路板上的其他SoC,它是电路板上的主要SoC。通常微控制器soc也属于这一类。

So why it is important to consider Hosted Vs HostLess?

那么,为什么考虑托管与无主机是很重要的呢?

对于托管SoC,设计者可以使用系统上存在的用于大型主机SoC的资源,例如,对于托管SoC,您可以使用主机SoC的NVM存储器来存储所有代码,然后可以将代码从主机SoC下载到托管SoC。这意味着托管SoC可以是没有NVM的SoC。这意味着这个SoC的架构将会有很大的不同,因为代码已经下载到了它的RAM中。与NVM相比,RAM的速度非常快,因此直接将代码下载到RAM并从RAM运行可以消除对处理器高速缓存的需求。

这只是一个例子,展示了SoC的设计可能会受到托管与无主机的影响。这样的例子不胜枚举。

可以有一个SoC,它既可以在托管模式下工作,也可以在无主机模式下工作。然而,这些将超出本技术的范围。

Which ARM Cortex-M processor?

在任何SoC设计中,最重要的方面可能是选择SoC上的主应用处理器。这个应用处理器通常运行一个操作系统,但是对于非常小的应用程序,可能不需要操作系统。

如前所述,此技术的范围将处理器类型限制为ARMCortex-M,因此处理器选择将是ARM Cortex-M之一。下面是一个非常简短的选择标准:

ARM Cortex-M0

M0是最小的处理器,最小配置约12K门:适用于低功耗应用,低性能要求。它将足以进行蓝牙处理。但是,它没有安全功能,也不支持跟踪组件,例如ITM(Instrumentation trace Macrocell)或ETM(Embedded
trace Macrocell)或MTB(Micro trace Buffer)。不要担心这些ITM、ETM和mtb是什么,您只需要了解,没有ITM和/或ETM和/或mtb,调试应用程序软件代码将变得有点困难。但是M0代码通常比较简单和小,因此人们首先会争论是否需要这些组件。

总线协议:AHB Lite

门计数:12K,最小配置,这是ARM引用的数字。

Cortex-M0门计数(Nand 2等效门):约25k门。

Bus protocol: AHB-Lite

Gate Count: 12 K in Min Config, this is the ARM quoted figure.

ARM Cortex M0 Gate Count (Nand 2 equivalent gates): ~25 K Gates. This is what I obtained from synthesis by dividing reported area by design compiler by the area of 1 Nand 2 gate area of minimum strength from the tech lib.

注:此技术将始终使用Nand 2等效门计数作为面积分析和面积比较的度量。很明显,ARM引用的门计数并不等于Nand 2门,而是门的总数。值得注意的是,如果你是在实际的Nand 2门数之后,ARM引用的M0的12K门数可能会误导你,这是一个更好的度量。

ARM Cortex-M0+

M0+支持硬件安全。它提供一种特权和非特权操作模式,与可选的内存保护单元不同。(微处理器)。它还为增强的调试功能提供了可选的MTB(微跟踪缓冲区)。所以,如果你担心基本的安全性和调试代码,但又想拥有一个非常节能的小型处理器,Cortex-M0+也许是你的正确选择。

总线协议:AHB Lite

门数:未知

ARM Cortex-M3

与Cortex-M0或M0+相比,ARM Cortex-M3具有更多的处理能力。它默认添加MAC(multiply accumulate)指令以支持单周期乘法,这在M0、M0+中是可选的,将中断从32增加到240,添加硬件除法单元,升级到ARMv7-M指令集体系结构,并具有ETM(嵌入式跟踪宏单元)支持增强的跟踪和调试功能。

显然,它保留了特权和非特权操作模式与可选内存保护单元的区别。(微处理器)。

总线协议:AHB Lite+APB

ARM Cortex M3门数(Nand 2等效门):约105K门。

因此,选择Cortex-M3而不是M0的价格,在面积上大约是4-4.5倍。

ARM Cortex-M4

与M3相比,ARM Cortex-M4具有更大的处理能力。它添加了 “SMID” (单指令多数据)指令,与M3中的多时钟周期执行相比,它在单时钟周期中完成了一些指令。它适合于将DSP应用程序添加到SoC中。它提供一个单精度浮点单元作为选项。所以如果你想运行一些DSP应用程序,那么这就是你的处理器。

总线协议:AHB Lite+APB

ARM Cortex M4门数(Nand 2等效门):带FPU的约180K门。

因此,选择Cortex-M4而不是M3的价格,即增加数字信号处理器应用的价格,在面积上大约是2倍。

ARM Cortex-M33

ARM Cortex-M33主要用于增加硬件安全性。它增加了ARM信任区支持,中断线增加到480,增加了可选的协处理器接口,并具有可选的FPU+DSP指令。所以这更像是一个增加了安全性的Cortex-M4。不知道为什么叫M33,我宁愿叫M44。

因此,如果特权和非特权模式不符合您的安全要求,并且您必须具有ARM信任区,那么这就是您的处理器。注意,协议现在是AHB5(与AHB Lite不同)。

总线协议:AHB5+APB

ARM Cortex M33门计数(Nand 2等效门):不知道,但我会说它应该与Cortex-M4非常相似,所以让我用FPU估计它为~200k门。

ARM Cortex-M7

ARM Cortex-M7主要用于需要更高性能的系统。它有专用的紧耦合内存接口,指令TCM(ITCM)和数据TCM(DTCM),在这里你可以放置你的关键代码,这将运行得非常快。它还具有AXI接口,可以再次提高性能。您还可以获得内置的可选指令缓存和数据缓存,这可以再次提高性能。

但是从安全角度来看,它不支持ARM信任区。

总线协议:AXI+AHB-Lite+APB。

ARM Cortex-M7门计数:未知。

ARM Cortex -M7+

系统芯片(SOC)架构- Aviral Mittal相关推荐

  1. 前苹果M1芯片设计总监跳槽英特尔 或将负责所有SoC架构设计

    1月7日消息,据国外媒体报道,按计划,苹果Mac产品线所需的处理器,从2020年的M1开始经过两年的过渡期之后,就将全面转向自研M系列芯片,届时英特尔处理器就不会被采用,但在两年的过渡期即将结束时,却 ...

  2. RISC-V E300 SOC架构介绍——5.电源常开域(Always on Domain)

    RISC-V E300 SOC架构介绍--5.Always on Domain Always on Domain (AON) 模块是电源常开域模块,主要包括PMU.Backup Registers.R ...

  3. 高通CSRA68105蓝牙音频片上系统芯片(SOC)

    CSRA68105音频片上系统(SOC)设计和优化,以支持高级蓝牙扬声器的创新和功能区分,包括启用语音的蓝牙扬声器和实时操作系统(RTOS)智能扬声器和耳机 这种高度集成的SoC设计为包括连接.系统处 ...

  4. ARM内核架构和SOC架构

    注:本文资料全部来源于网络或书籍,同时加上个人理解.若有侵权,告知即删.若有错误,留言商讨. 0.ARM处理器功能扩展和架构演变 1.cortex A9 (ARMv7指令集)-----传说中的CPU ...

  5. RISC-V E300 SOC架构介绍——1.总体介绍

    0.基于RISC-V SOC平台的总体介绍: E300平台是SiFive公司Freedom Everywhere系列的第一个可定制的RISC-V SoC. E300 SoC包括一个SiFive系列 R ...

  6. RISC-V E300 SOC架构介绍——4.时钟产生

    CLOCK GEN模块支持多种可替换的时钟产生方案来支持应用需求,本章主要介绍E300的时钟产生的基本结构,时钟的寄存器配置介绍在第五章(AON)和第七章(PRCI) 时钟产生基本架构 下图给出E30 ...

  7. 什么是Cortex、ARMv8、arm架构、ARM指令集、soc

    参考:到底什么是Cortex.ARMv8.arm架构.ARM指令集.soc?一文帮你梳理基础概念[科普] 发布时间: 一口Linux 网址:https://blog.csdn.net/daocaoka ...

  8. Cortex、ARMv8、arm架构、ARM指令集、soc?Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是处理器(内核)后者是指令集的架构(架构)

    架构组成元素的指令集状态或者语法thumb指令集与arm指令集的区别例如thumb指令集是什么_thumb指令集与arm指令集的区别以及thumb-2的关系在下一文中介绍,本文暂时不讨论 有粉丝问我到 ...

  9. 汽车SoC全生命周期功能+网络安全架构设计

    随着汽车电子产业的快速发展,供应链中复杂的SoC设计,硅片生命周期管理(SLM)以及芯片现场监控和管理面临新的挑战. 要确保这些复杂设备正确和安全的运行,不仅需要功能安全来检查由于硅缺陷和老化导致的可 ...

最新文章

  1. priority_queue 结构体的优先级设置
  2. 国内外最好用的9大工作任务管理软件
  3. 内核中设置文件结束符_Linux 日志文件系统原来是这样工作的
  4. Rust程序员一觉醒来都懵了:审核团队集体辞职,发生甚么事了?
  5. 电脑装windows和ubuntu,如何卸载ubuntu系统
  6. Centos7系统创建Docker本地仓库
  7. vector中find 的用法
  8. 面试中如何做一个好的自我介绍?
  9. @RequestParam用法与@PathVariable用法的区别
  10. Python md5 sha1 的使用
  11. 深度学习实践指南(三)—— 参数(超参)及数据集的处理
  12. android4.2实现pwm,Android平台下AOA协议的PWM信号控制系统
  13. AutoCAD2020简体中文语言包
  14. java根据模板导出pdf
  15. 给一个年份输出该年是否举办足球世界杯的信息,以及给一个国家的名称输出是否夺得过世界杯冠军
  16. 如何成为优秀的网络工程师,怎么做到含金量高?
  17. OSPF多区域中必须有area0。非area0区域要与area0相连才能实现传播域间路由信息
  18. 使用 JMeter的性能测试
  19. 基于Layui自定义内容轮播插件
  20. 文章阅读总结:GPT

热门文章

  1. Oracle根据日期区间查询Date类型的数据
  2. 2022-2028年中国绿冻石行业市场研究及前瞻分析报告
  3. libIlmImf-2_2.so.22 :cannot open shared object file :No such file or direct
  4. Go 学习笔记(64)— Go error.New 创建接口错误对象、fmt.Errorf 创建接口错误对象、errors.Is 和 errors.As
  5. 比Momentum更快:揭开Nesterov Accelerated Gradient的真面目NAG 梯度下降
  6. LeetCode简单题之距离顺序排列矩阵单元格
  7. LeetCode简单题之删除排序链表中的重复元素
  8. 天元MegEngine训练推理
  9. 2021年大数据Hive(一):​​​​​​​Hive基本概念
  10. 2021年大数据Flink(十):流处理相关概念