1.2 ARC处理器简介
ARC处理器是Synopsys公司推出的系列32位RISC结构微处理器产品,致力于在满足应用所需的处理性能前提下,以尽可能低的处理器功耗和尽可能小的芯片面积实现高效能、低成本。
ARC处理器具有独特的可配置和可扩展特性,给工程设计人员提供了极大的设计弹性。设计人员可以根据应用需求,选择相应的ARC处理器产品系列,配置处理器总线接口类型、数据位宽、寻址位宽、指令类型等属性。处理器内部的各功能模块也支持可配置,例如配置乘法器采用不同算法实现,配置高速缓存Cache的容量和结构,配置中断处理单元所支持的中断数目和中断级数等。此外,ARC处理器支持嵌入式系统设计工程师通过处理器的APEX扩展接口添加自己的定制指令、寄存器、硬件模块甚至是协处理器,为特定应用提供硬件加速。这种根据应用“量身裁剪”的设计方式使得工程师可以在性能、面积、功耗之间进行权衡,以实现最佳的内核PPA(Performance/Power/Area,性能/功耗/效率)。
ARC处理器采用了高效的16/32位混合指令集体系结构。其中,16位指令包含最常用的指令操作类型,有助于提高代码密度。ARC处理器的存储系统支持配置片上存储器CCM(Closely Coupled Memory,紧耦合存储器),便于以固定延迟(1~2个时钟周期)访问应用中性能关键的代码和数据,不仅有利于缓解片外总线访存压力,降低系统访存延迟,提高处理性能,还有助于提高系统集成度,降低系统成本。
ARC处理器具有强大的中断/异常处理能力,支持快速中断响应和中断处理优先级动态编程,可以精确定位异常原因和类型。同时,ARC处理器提供了丰富的调试接口和调试指令,便于程序员实时监测处理器内部的运行状态和调试应用程序,使得ARC处理器可以很好地适用于可靠性要求较高的应用场合。
ARC处理器的研发经历了ARCv1和ARCv2两种指令集体系结构,得到了充分的市场验证及系统应用。目前,全球已有超过200家厂商获得了ARC处理器的生产授权,基于ARC处理器的芯片年出货量超过17亿片。
相比ARCv1,ARCv2体系结构在以下方面进一步提高了处理器的性能和实时处理能力:
1)支持64位访存指令。
2)支持非对齐的存储器访存操作。
3)支持硬件整数除法。
4)增加了64位乘法、乘累加、向量加法和减法等指令操作。
5)支持影子寄存器以进行异常处理中的现场保护,减少异常上下文的切换时间。
6)扩展了中断处理功能,支持多达240个外部中断和16个可编程中断优先级,可自动保存上下文和返回现场。
7)优化的指令集结构使得代码密度可以获得18%的提升。
为了满足嵌入式领域不同应用的需求,ARC处理器已经开发了丰富的产品系列,如图1-1所示。
1)HS产品系列(HS34、HS36、HS38)是目前性能最高的ARC处理器内核,采用了十级流水线技术,支持指令乱序执行和L2 Cache,可配置成双核或四核SMP(Symmetric Multi-Processor,对称多处理器)系统,并支持运行Linux操作系统。可提供高达1.6GHz的主频和1.9DMIPS/MHz的性能,内核功耗为60mW,面积约0.15mm2。HS产品系列主要面向高端的嵌入式应用,如固态硬盘、联网设备、汽车控制器、媒体播放器、数字电视、机顶盒和家庭联网产品等。
图1-1 ARC处理器产品系列
2)EM系列产品(EM4、EM6、EM SEP、EM5D、EM7D)是功耗最低、面积最精简的ARC处理器内核,采用三级流水线技术。可提供约900MHz的主频和1.77DMIPS/MHz的性能,能耗效率可达3μW/MHz,内核面积仅为0.01mm2。主要面向深嵌入式超低功耗应用领域以及数字信号处理领域,如IoT(Internet of Things,物联网)、工业微控制器、机顶盒、汽车电子等。
3)700系列产品(710D、725D、770D)采用了七级流水线技术,支持动态分支预测,可提供高达1.1GHz的主频。主要面向中、高端的嵌入式应用领域,如固态硬盘、图像处理、信号处理、联网设备等。
4)600系列产品(601、605、610D、625D)采用了五级流水线技术,可提供约900MHz的主频。主要面向通用嵌入式领域,如工业控制、带宽调制解调、VoIP、音频处理等。此外, 600系列处理器具备特有的XY存储器结构,特别针对数字信号处理进行优化,可以很好地应用于嵌入式DSP(Digital Signal Processing)领域。
5)AS200系列产品(AS211SFX、AS221BD)是专门用于数字电视、数码相机、音频播放和视频播放等音频处理应用领域。
此外,为了能更有效地针对特定应用进行开发,降低设计风险,缩短产品设计周期,基于ARC处理器的软件开发工具、中间软件以及操作系统部署等也都趋于完善和成熟,建立了完整的生态系统,能够给工程技术人员提供一套完整的解决方案。
ARC处理器的主要特点可归纳如下:
1)以功耗效率(DMIPS/mW)和面积效率(DMIPS/mm2)最优化为目标,满足嵌入式市场对微处理器产品日益提高的效能要求。
2)成熟、统一的ISA指令集体系结构不仅便于开发不同产品系列,也便于开发同一系列下的不同产品,具有非常好的延展性和兼容性。
3)高度可配置性,以便“量体裁衣”,可通过增加或删除功能模块,满足不同应用需求,通过配置不同属性实现快速系统集成。
4)灵活的可扩展性,支持用户自定义指令、外围接口和硬件逻辑,进一步优化处理器性能和功耗。
5)强大的实时处理能力,中断响应快速且动态可编程。
6)优异的节能特性,支持从体系结构(SLEEP指令)、硬件设计(门控时钟)到设计实现(门级功耗优化)等不同粒度的低功耗控制。
7)丰富的调试功能,协助编程人员快速查询处理器状态。
8)成熟的开发套件和完整的生态系统,帮助工程设计人员快速完成从产品设计、实现到验证等嵌入式开发过程。