0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈SoC中常用的处理器

sanyue7758 来源: TrustZone 2024-02-23 09:19 次阅读

在和金钱的较量中,支持自由的人们没有输。

Perface

复杂系统执行多种多样的复杂任务。任务常因为市场需求而改变。处理器的软件可编程性使得它可以实现更加快速的功能开发和提供更加敏捷的可适性,已成为SoC最为重要的组件,其性能直接决定了系统性能的优劣。

目前,在SoC中使用的处理器主要分3类:

•通用处理器(CPU)、

数字信号处理器(DSP

•可配置处理器。

通用处理器主要负责控制、操作系统平台和一般的信号处理等任务。目前,SoC设计中使用较多的通用处理器有ARM、MIPS、PowerPC等。具有我国自主知识产权的处理器,如龙芯CPU、众志CPU、国芯C-CORE等也正在被越来越多地采用。虽然通用处理器正在得到广泛的应用,但其单一的指令格式及有限的计算能力无法满足计算密集型任务(如视频编解码、信息安全等)对于实时性的需要。

DSP充分挖掘了指令级的并行性,并结合了强大的浮点计算能力,有效地解决了这一问题,已常常被作为SoC中的核心处理器,或者在多核SoC中被作为对计算密集型任务进行加速的处理器。较多使用的DSP,往往来自于TI、Freescale、ADI等厂家。

无论是通用处理器还是DSP,往往体系结构固定,对于不同应用势必造成资源的浪费和计算的低效性。虽然ASIC可以采用最精简的资源达到最快的处理速度,但其不具备处理器的可编程能力,导致设计效率的下降。

可配置处理器(Configurable Processor)结合了二者的双重优势,针对不同应用的需求,允许用户配置具有不同体系结构的处理器。可配置的处理器可以根据需要获得性能和功能的优化,并在开发平台工具的帮助下,自动生成处理器的系统软件和仿真环境,由于以上优点,可配置处理器以及基于这种处理器的SoC设计将会是以后SoC开发的一个重要选择。

一、通用处理器

1.ARM系列处理器

ARM(Advanced RISC Machines)系列处理器是一种RISC架构处理器。ARM处理器具有高性能、低功耗等特点。ARM系列处理器主要有ARM7、ARM9、ARM10、ARM11等。

ARM7系列处理器是低功耗的32位RISC处理器,支持16位的Thumb指令集。

使用精简的Thumb指令集可得到更高密度的代码。其核ARM7TDMI,具有3级的流水线结构,支持Window CE、Linux嵌入式操作系统。

其中:

• T表示支持Thumb指令集;

• D表示表示Debug,在内核中放置了用于调试的结构,通常它为一个边界扫描链JTAG,可使CPU进入调试模式,从而可方便地进行断点设置、单步调试;

• M表示表示内核有乘法器;

• I表示EmbeddedICE Logic,用于实现断点观测及变量观测的逻辑电路部分,其中的TAP控制器可接入到边界扫描链。

ARM9处理器包括ARM920T、ARM922T、ARM926EJ-S、ARM946E-S等,适用于不同的市场需求。

ARM9系列处理器实现5级的流水。其中,

•E表示处理器包含一些用于支持DSP算法的指令,

• J表示处理器使用ARM的Jazelle技术提供Java加速功能。

ARM9中增加了存储器管理单元(MMU,Memory Management Unit),实现数据和指令分离的存储器结构。

ARM10、ARM11等系列处理器增加了流水线的深度,提高了工作时钟频率。

ARM11中还增加了SIMD功能扩展,提高了对于多媒体处理的能力。

2.MIPS系列处理器

MIPS(Microprocessor without Interlocked Piped Stages)是一种获得广泛应用的RISC处理器。

MIPS的中文意思是无内部互锁流水线的微处理器,其机制是尽量利用软件方法避免流水线中的数据相关问题。

MIPS技术公司是美国的芯片设计公司,在基于MIPS技术的基础上开发了一系列处理器。目前主要有两种架构的处理器:32位和64位的MIPS 32架构和MIPS 64架构。MIPS32的4K系列处理器主要面向SoC应用。4K系列采用5级流水线、32位数据和地址宽度。存储器采用数据和指令分开的哈佛结构(Harvard)。MIPS32的24K系列采用8级流水、32位地址和64位数据宽度。通过代码压缩,MIPS16e可以减少指令的内存需求。MIPS32的24K系列中实现了快速乘法运算。在MIPS64架构的处理器有MIPS64 5K系列和20K系列分别采用6级和7级流水线结构。5K系列的MIPS64 5kf和20K系列的MIPS64 20kc中集成浮点运算单元,面向高性能SoC应用。

3.PowerPC系列处理器

PowerPC处理器在20世纪90年代由IBM、Motorola、Apple公司共同推出,主要面向不同的市场应用,包括个人计算机和其他嵌入式市场。

早期的PowerPC主要面向个人计算机和服务器市场。这种32位Harvard结构的处理器使用5级流水线结构并集成硬件乘法、硬件除法和MMU单元。

Freescale公司有众多基于PowerPC的SoC设计,这些使用单核或双核结构的芯片主要面向通信市场。在Xilinx的Virtex-4系列FPGA中集成了PowerPC的处理器。

二、DSP

1.TI系列DSP

TI是著名的DSP公司,目前主要有C5000和C6000两种DSP平台。TI C5000平台包括TMS320C54系列、TMS320C55系列。TMS320C54系列采用CISC结构的定点和改进的Harvard结构体系,有一组程序总线和三组数据总线、高度并行性的算术逻辑单元ALU、乘法/累加器MAC、桶形移位器、缓冲串口、专用硬件逻辑、片内存储器、片内外设和高度专业化的指令集等,支持32位长操作数指令,支持并行存储和并行装入的算术指令。

TMS320C54系列DSP指令系统很丰富且灵活多变;而TMS320C55系列定点DSP并行性更好,每个周期最大可执行两条指令。

C6000平台的TMS320C62、TMS320C64系列DSP是业内最高性能的DSP,提供高达1GHz的时钟速度。TMS320C64系列DSP采用TI的VLIW结构。TMS320C67系列浮点DSP可以提供高数据精度和高的处理速度。上述DSP通过集成存储器、外设,在SoC设计中实现各种高性能应用。

2.ADI系列DSP

ADI(Analog Devices Inc.)公司开发了一系列的高性能DSP和基于这些DSP的SoC设计,主要包括ADSP-21系列、SHARC系列、TigerSHARC系列和Blackfin系列。Blackfin处理器包括一个10级RISC流水线的高性能16/32位内核,以及具有面向加速视频和多媒体处理的SIMD支持。除了有限的多种64位指令程序包之外,Blackfin架构还支持16位和32位指令长度。通常,把最常用的控制指令编码为精简16位字。

TigerSHARC DSP是一款高性能的静态超标量数字信号处理器,该处理器针对大型的信号处理和通信任务而在结构上进行了优化。该处理器将非常宽的存储带宽和双运算模块结合在一起,每周期能够执行多达4条的指令、24个16位定点运算和6个浮点运算。

3.Freescale系列DSP

Freescale的主要DSP包括DSP56300系列和StarCore系列。DSP563000核是24位信号处理器,采用RISC的流水线结构和超哈佛的存储器结构,主要面向音频领域应用。

StarCore系列DSP采用一种独特、高性能、长度可变的变长执行组(VLES)结构。执行过程以执行组为单位,采用指令预取、取址、指令分配、地址生成和执行组成的5级流水结构。每个执行组采用指令级并行技术,支持SIMD,主要面向多媒体信号处理领域的应用。

三、可配置处理器

1.Tensilica系列处理器

在SoC设计方法学中,强调快速的设计和IP复用。Tensilica基于这种思想提出了可配置处理器的设计思路。对于各种应用,用户可以选择配置不同的处理器结构实现针对性的应用。在自动化平台工具的帮助下,可以自动生成处理器的结构和验证环境,达到快速灵活的目的。

目前,Tensilica主要有3种系列的处理器:Xtensa7系列、Xtensa LX2系列和Diamond Standard Processor系列。其中,Xtensa7、Xtensa LX2属于可配置处理器,而Diamond Standard Processor是基于上述两个系列的处理器的一个优化结构,不能配置。

对于Diamond Standard Processor系列处理器又分为3类,如表4-1所示。第1类作为微控制器,该系列处理器都属于预配置完成,不具有可配置能力。

aa531272-d198-11ee-a297-92fbcf53809c.png

表4-1 Diamond Standard Processor系列处理器分类

Xtensa7系列、Xtensa LX2系列处理器都属于可配置处理器,对于不同的应用可以配置和开发特定功能的处理器。这样可以做到开销、功耗和性能的平衡。Xtensa系列属于RISC结构,使用5级和7级的流水线、24位和精简的16位的两种指令格式。

在Xtensa7系列、Xtensa LX2系列处理器中,核心功能是固定的,如流水线,以及对操作系统的支持。可配置的选项包括处理器的结构、处理器的指令集、协处理器、存储器系统(包括缓存、本地存储器、外部存储器等)、中断处理、测试等。用户还可以根据不同需要,设计扩展功能。在开发平台下可扩展的设计包括用户指令、状态、寄存器接口

2.NIOS系列处理器

Altera的Nios/NiosⅡ是一款基于FPGA的可灵活配置的RISC架构软内核处理器,采用32位指令集,支持5级流水线。其可灵活配置性是指Nios/NiosⅡ处理器架构并不是固定、一成不变的,而是用户可以通过Altera提供的工具根据设计的性能或成本要求增加或裁减一些系统的特性和外设,甚至可以在系统中放置多个Nios/NiosⅡ处理器以满足应用需求。

用户通过Nios/NiosⅡ处理器提供的用户自定义指令逻辑接口可以在处理器的基本指令架构之上进行指令的扩充,以增强处理器的处理能力。此外,Altera还针对Nios/NiosⅡ处理器提供了一套基于GNU C/C++工具链和Eclipse的集成开发环境。

3.ARC系列处理器

ARC系列处理器是一个拥有4级流水线的体系结构,支持16位或32位指令集。它具有能够配置的各种功能组件、外围接口及扩展指令集。本质上,ARC710系列处理器为嵌入式软核,厂商提供针对它的软件集成开发环境及各种DSP的功能部件库。

开发人员可从一个基本的处理器内核开始,通过不断定制、裁剪各种功能,从而达到应用的性能、成本、功耗的最佳匹配。该种处理器支持可选的DSP指令,设计人员可以通过增加指令和内核寄存器来扩展处理器,以便进一步定制系统性能。

四、不同处理器的选择

在介绍了SoC设计中所使用的主要处理器后,需要解决的是在一个SoC中如何在它们之间做出选择。在选择处理器时需要决定的是处理器的类型和数量,它们之间有着非常密切的关系。决定处理器选择的关键因素是要实现的目标应用,包括目标应用的类型和目标应用的运算、控制等需求。

首先对于目标应用的运算能力要有一个量的估计或计算。一般来说运算的任务以MIPS为单位描述,即每秒百万指令数。在SoC设计的开始,计算所有任务每秒的指令需求总和。如果处理器性能不能满足,可以选择更高性能的处理器或者增加处理器的数量。但在多处理器的设计中,每个处理器的任务分配是一个复杂的工作。

其次是根据应用类型选择合适的处理器类型。通用处理器的运算能力和DSP是有较大区别的。需要根据实际目标应用决定处理器的选择。DSP适合计算密集型的任务,如数字信号处理、音视频编解码等,而且DSP存储器结构可以提供较大的存储器访问带宽。此外,一般的DSP在零开销循环、特殊的寻址方式等方面都有专门的硬件支持,而通用处理器在处理用户界面和控制事务方面具有一定优势。由于DSP和通用处理器有各自的性能优势,因此在一些应用中两种处理器的混合使用也较为常见。

总之,在SoC设计中,处理器类型和数量的选择由目标的应用任务决定,需要根据实际应用选用合适的处理器类型,实现优化的方案。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19259

    浏览量

    229651
  • dsp
    dsp
    +关注

    关注

    553

    文章

    7987

    浏览量

    348745
  • soc
    soc
    +关注

    关注

    38

    文章

    4161

    浏览量

    218162
  • 通用处理器
    +关注

    关注

    0

    文章

    15

    浏览量

    7169

原文标题:SoC中常用的处理器有哪些?

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    SoC设计中常用的存储

    SoC中,存储是决定性能的另一个重要因素。不同的SoC设计中,根据实际需要采用不同的存储类型和大小。
    发表于 09-18 16:22 930次阅读
    <b class='flag-5'>SoC</b>设计<b class='flag-5'>中常用</b>的存储<b class='flag-5'>器</b>

    电子设计大赛中常用处理器有哪些?

    求解各位大神,电子设计大赛中常用处理器有哪些?51?msp430?dsp?arm?小弟我想功一下控制类,想了解一下常用处理器以一些相关的资料,像什么使用说明书之类的,求各位大神共享
    发表于 07-18 11:36

    浅谈SOC系统知识

    单个芯片上集成一个完整的系统,一般包括系统级芯片控制逻辑模块、微处理器/微控制CPU内核模块、数字信号处理器DSP模块、嵌入的存储模块、和外部进行通信的接口模块、含有ADC/DAC
    发表于 08-05 09:08

    基于AVR 8位微处理器的FSPLC微处理器SOC设计

    两个方面的内容:IP核生成和IP核复用。文中采用IP核复用方法和SOC技术基于AVR 8位微处理器AT90S1200IP Core设计专用PLC微处理器FSPLCSOC模块。
    发表于 07-26 06:19

    浅谈ARM处理器架构

    和 iPhone 11 Pro Max搭载的A13 Bionic 处理器,苹果表示这款SoC拥有智能手机上最快CPU和GPU(暂时不能看到具体内核个数和架构系列),这是苹果基于ARMv8指令集自己定制
    发表于 08-18 12:04

    基于ARM处理器SOC系统讲解

    关键部件集成在一块芯片上; 从广义角度讲, SoC是一个微小型系统,如果说中央处理器(CPU)是大脑,那么SoC就是包括大脑、心脏、眼睛和手的系统。ARM base Soc嵌入式系统
    发表于 08-17 15:20

    调试嵌入式处理器的几种常用方法

    调试嵌入式处理器的几种常用方法 前言 在任何产品
    发表于 03-11 12:25 1599次阅读
    调试嵌入式<b class='flag-5'>处理器</b>的几种<b class='flag-5'>常用</b>方法

    AEMB软核处理器设计的SoC系统验证平台

    AEMB软核处理器设计的SoC系统验证平台 本文采用OpenCores组织所发布的32位微处理器AEMB作为SoC系统的控制中心,通过Wishbone总线互联规范将OpenCores
    发表于 05-24 11:02 865次阅读
    AEMB软核<b class='flag-5'>处理器</b>设计的<b class='flag-5'>SoC</b>系统验证平台

    Sequans新款LTE SoC采用MIPS处理器

    美普思科技公司(MIPS Technologies, Inc)宣布,4G 芯片制造商 Sequans Communications 在其新款 LTE SoC 中采用 MIPS TM 处理器
    发表于 11-14 09:00 898次阅读

    Cyclone V SoC FPGA硬核处理器系统简介

    SoC FPGA使用宽带互联干线链接,在FPGA架构中集成了基于ARM的硬核处理器系统(HPS),包括处理器、外设和存储接口。Cyclone V
    发表于 09-04 14:18 4991次阅读
    Cyclone V <b class='flag-5'>SoC</b> FPGA硬核<b class='flag-5'>处理器</b>系统简介

    浅谈ARM处理器基础知识

    浅谈ARM处理器基础知识
    发表于 01-14 12:31 16次下载

    基于RISC-V处理器和卷积加速SoC系统

    卷积计算的效率。基于软硬件协同设计思想,构建包含RISCⅤ处理器和卷积加速SoC系统,RISC-V处理器基于开源的指令集标准,可以根据具体的设计需求扩展指令功能。将该
    发表于 06-02 15:08 29次下载

    手机处理器soc还是cpu soc包含哪些模块 中端芯soc和中端soc区别

    CPU核和内存子系统:SoC芯片需要内置处理器和内存子系统。处理器主要负责计算和控制各种运算和任务,内存则用于存储数据和程序代码。
    发表于 05-03 08:23 5537次阅读

    一文详解SoC中常用的总线

    在数字系统中,总线承担数据传输的任务如处理器和存储之间的数据传输。
    发表于 09-15 09:37 4096次阅读
    一文详解<b class='flag-5'>SoC</b><b class='flag-5'>中常用</b>的总线

    嵌入式系统中常用的五种微处理器类型

    本文介绍了嵌入式系统中常用的五种微处理器类型:微处理器单元(MPU)、微控制(MCU)、数字信号处理器(DSP)、现场可编程逻辑门阵列(F
    的头像 发表于 07-25 09:29 1685次阅读