系统芯片(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上的主应用处理器。这个应用处理器通常运行一个操作系统,但是对于非常小的应用程序,可能不需要操作系统。

如前所述,此技术的范围将处理器类型限制为ARM Cortex-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. 系统芯片 SoC

    SoC的定义多种多样,由于其内涵丰富.应用范围广,很难给出准确定义.一般说来, SoC称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内 ...

  2. ARM、MCU、DSP、FPGA、SOC各是什么?区别是什么?(转)

    ARM ARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器.更早称作Acorn RISC Machine.ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等 ...

  3. 基于ARM Cortex-M的SoC存储体系结构和实战

    基于ARM Cortex-M的SoC存储体系结构和实战 System on Chip Architecture Tutorial Memory Architecture for ARM Cortex- ...

  4. 给大家普及一下CPU和SOC的基本知识,好让大家在盲目喝彩做出基本的判断

    转载:http://bbs.tianya.cn/post-worldlook-544367-1.shtml 目前,华为推出了自己的四核手机,用自己的SOC,所以很多不明就里的人开始嚷嚷国产处理器的骄傲 ...

  5. ARM架构解析

    ARM架构解析 (2014-11-23 21:56:53) 转载▼ 标签: francis_hao arm架构 arm核 soc 分类: MCU 先来谈一下ARM的发展史:1978年12月5日,物理学 ...

  6. 利用ZYNQ SOC快速打开算法验证通路(3)——PS端DMA缓存数据到PS端DDR

    上篇该系列博文中讲述W5500接收到上位机传输的数据,此后需要将数据缓存起来.当数据量较大或者其他数据带宽较高的情况下,片上缓存(OCM)已无法满足需求,这时需要将大量数据保存在外挂的DDR SDRA ...

  7. “分而治之”,一种AI和动画系统的架构

    译者注:随着国内游戏研发水平的不断提高,对画面品质的不断提升,同时大量手游使用Unity和Unreal 4等成熟的工具开发,动作状态机已经不是什么陌生的概念了.我们在项目开发时也大量使用了动作状态机. ...

  8. 【DSP开发】德州仪器达芬奇五年之路七宗罪,嵌入式处理器架构之争决战2012

    芯片是产业链上游重要的一个环节,一颗小小的芯片具有极高的技术含量和价值,半导体行业每年都会有一个各大厂商营业额的排名,除去2009年,常年盘踞在前三名位置的分别是英特尔,三星半导体和德州仪器,英特尔凭 ...

  9. Intel GPU Gen 9 架构

    * 参考spec:the-compute-architecture-of-intel-processor-graphics-gen9-v1d0.pdf SOC 架构 Gen9 架构是早期用在igpu ...

随机推荐

  1. 【JDK8】Java8 LocalDate操作时间和日期的API

    时间项目中的涉及到的时间处理非常多,犹豫SimpleDateFormat的不安全性以及Calendar等类在计算时比较复杂, 往往我们都会使用工具类来封装较多的日期处理函数, 但是JDK8中新增了操作 ...

  2. Windows下Nexus 5 改user模式为debug模式

    博客链接:http://blog.csdn.net/qq1084283172/article/details/52337241 在学习Android软件安全的过程中,经常要用到Android的动态调试 ...

  3. android调用号和libc

    调用号(以arm平台为例)在/bionic/libc/kernel/uapi/asm-arm/asm/unistd.h: /* WARNING: DO NOT EDIT, AUTO-GENERATED ...

  4. UVA10827球面上的最大和

    题意:      最大子矩阵的加强版,就是给你一个n*n的矩阵,每个格子里面都有数字,然后我们在里面选择一个矩阵,使得矩阵中所有数字的和最大,而且这个题目说这个n*n的矩阵的最右边和最左边是相邻的,最 ...

  5. [源码解析] 并行分布式任务队列 Celery 之 负载均衡

    [源码解析] 并行分布式任务队列 Celery 之 负载均衡 目录 [源码解析] 并行分布式任务队列 Celery 之 负载均衡 0x00 摘要 0x01 负载均衡 1.1 哪几个 queue 1.1 ...

  6. 脱壳入门----常见的寻找OEP的方法

    一步直达法 所谓的一步直达法就是利用壳的特征.壳一般在执行完壳代码之后需要跳转到OEP处,而这个跳转指令一般是call ,jmp ,push retn类型的指令,而且因为壳代码所在的区段和OEP代码所 ...

  7. 从执行上下文(ES3,ES5)的角度来理解"闭包"

    目录 介绍执行上下文和执行上下文栈概念 执行上下文 执行上下文栈 伪代码模拟分析以下代码中执行上下文栈的行为 代码模拟实现栈的执行过程 通过ES3提出的老概念-理解执行上下文 1.变量对象和活动对象 ...

  8. MySQL锁等待与死锁问题分析

    前言: 在 MySQL 运维过程中,锁等待和死锁问题是令各位 DBA 及开发同学非常头痛的事.出现此类问题会造成业务回滚.卡顿等故障,特别是业务繁忙的系统,出现死锁问题后影响会更严重.本篇文章我们一起 ...

  9. 合并两个yuv文件的C++代码

    //将BasketballPass_416x240_50.yuv序列的前50帧和BlowingBubbles_416x240_50.yuv序列的前250帧合并成out.yuv //参数配置416 24 ...

  10. 初窥软件工程 2020BUAA软件工程$\cdot$个人博客作业

    初窥软件工程 2020BUAA软件工程\(\cdot\)个人博客作业 目录 初窥软件工程 2020BUAA软件工程$\cdot$个人博客作业 一.作业要求简介 二.正文 (一) 快速看完整部教材,列出 ...