隋金雪 1,季永辉 1,2,3,张 霞 2,朱智林 1
(1.山东工商学院 电子与信息工程学院,山东 烟台 264026;2.北京大学信息技术高等研究院,浙江 杭州 311215;3.烟台中科网络技术研究所,山东 烟台 264026)
摘 要:针对物联网应用中SOC平台多需求决策问题,以处理器CV32E40P 和 Ibex 作为内核,选用改进片上总线架构(AMBA)协议以及通用型外设搭建SOC平台;然后根据资源利用报告分析其面积、功耗和性能;最后在 FPGA上验证SOC平台可行性。结果表明,在同一SOC平台下,CV32E40P的面积相较于Ibex增加了26.07%,在25 MHz、40 MHz与50 MHz频率下,功耗分别提高了31.58%、29.03%以及25.64%,在运行逻辑控制与卷积运算代码时,速度分别提高了27.66%和108.75%。综上,Ibex更适用于智能家居领域中低带宽数据获取的场景,而 CV32E40P则适用于智慧城市领域中视频、图像数据采集处理的场景。
中图分类号:TN02⁃34;TP303 文献标识码:A
文章编号:1004⁃373X(2022)03⁃0039⁃04
0 引 言
物联网技术从萌芽导入期到技术沉淀期,再到如今的市场验证期,被广泛应用于各行各业,如智能家居、智能工业、智慧城市等。不同应用场景下的物联网终端设备也被赋予了不同的职能,例如,智能家居中对温度、湿度、烟雾等低带宽信息的监控[1],智能工业中对震动、音频等高频信号的监控[2],智慧城市中对低功率成像仪、摄像机等高密度信息的监控[3]。为了应对不同应用场景下的多种情况,终端设备除了是完全可编程的,还必须包含必要的硬件设备,从而形成一个完整的系统,如传感器、执行器、微处理器、无线通信器等,具备完全独立运行的能力[4]。
目前,物联网领域常用的SOC平台设计方案有三种,分别为单核心SOC平台、异构SOC平台以及多核与硬件加速器混合SOC平台[5]。单核心SOC平台设计的特点在于其核心针对特定领域优化,例如ARM公司的Cortex⁃M4平台以及意法半导体的MSP430平台[6⁃7],单核SOC平台设计在各方面表现都差强人意,但在多任务情况下就略显不足。异构SOC平台为解决物联网领域任务多样性提供了解决方案,例如意法半导体的CC2650 平台以及恩智浦的LPC54100平台[8⁃9],异构平台解决了任务多样性问题,但是在功耗、面积等方面不尽人意。因此,多核与硬件加速器混合的SOC平台设计方案被提出,例如Fulmine 平台以及GAP⁃8平台[10⁃11]。混合型SOC平台虽然在性能与能效方面都很优异,但是专用型硬件加速器限制了平台的使用,除了特定应用场景下,平台无法发挥特长。本文采用常见的单核设计,通过讨论基于 RISC⁃V指令集架构的异构性内核,从内核微架构设计到SOC平台架构设计,分析其功耗、面积、性能等方面的指标,为解决不同应用场景下搭建SOC平台提供方案。
1 RISC⁃V 处理器
1.1 CV32E40P处理器
CV32E40P 是一款高效的32位有序RISC⁃V处理器,具有4级流水线,支持基本整数指令集(I)、压缩指令集(C)和乘法除法指令集(M),处理器的基本结构如图1所示。
CV32E40P的流水线分为取指(IF)、译码(ID)、执行(EX)、回写(WB)四个过程。在取指过程中,指令先从存储器(IRAM)进入对齐预取指缓冲区(Prefetch Buffer)中等待,当指令端存储系统控制器(Controller)发送确认信号时指令获取成功,除了获取指令,取指阶段还需要将压缩指令预解码成基本整数指令。在译码阶段,基本整数指令进行更进一步的解码(Decode)操作,除此之外,该阶段还需提前获取对应的数据放入到普通目的寄存器(GPR)中以便之后使用。在执行阶段中存在着三个执行单元,分别是算数逻辑单元(ALU)、乘法器(MULT)和除法器(DIV)。在回写阶段中,计算结果将按照目的操作数写入对应位置,这里还包含一个加载存储单元(LSU),用于将数据存储器中的数据读取至译码阶段。
1.2 Ibex处理器
Ibex是一款设计小巧而高效的32位有序RISC⁃V处理器,具有2级流水线,支持基本整数指令集(I)、压缩指令集(C),具有可选的乘法除法指令集(M)与比特操作指令集(B),处理器的基本结构如图2所示。
Ibex的流水线分为取指(IF)、译码与执行(ID/EX)两个阶段。在取指阶段中,数据从存储器中进入预取指缓冲区(Prefetch Buffer),当指令端存储系统控制器(Controller)发送确认信号时,指令便获取成功。在译码与执行阶段中,获取到的指令将被解码(Decode)并立即执行,普通目的寄存器(GPR)的读写也发生在该阶段,当遇到多周期指令时,数据通过分支回传到执行阶段的起始位置再次执行直到完成为止。
2 SOC 平台搭建
2.1 SOC平台设计
该平台具有内核、数据存储器、指令存储器、事件单元,以及诸如GPIO、UART、I2C、SPI和计时器等通用外设,该SOC平台如图 3所示。
由于系统采用哈弗结构,所以具有单端口的32 KB指令存储器和数据存储器,且系统包含一个用于引导程序的Boot ROM,能将程序从FLASH中加载并进行初始化。直接挂载到AXI总线上的SPI Slave 接口则能够让用户读取或写入内存数据而无需内核帮助,Adv DebugUnit模块则用于对系统进行调试。
2.2 总线设计
本系统设计采用IP核复用的方式,通过为IP核设定一个共同的总线接口,提高了IP核的可重用性,简化了芯片的设计工作,为芯片开发节约了大量的时间。本系统采用的总线标准是由ARM公司推出的高级可扩展接口AXI以及高级外设总线APB。相较于内核的数据处理能力而言,外设模块如UART、GPIO、SPI等的数据吞吐率不高,严重影响整个系统的流畅运行,为了解决该问题,本系统将高速模块通过AXI总线组成高速子系统,将低速模块通过APB总线组成低速子系统,然后通过AXI2APB桥实现AXI总线与APB总线之间的通信,整个低速子系统作为高速子系统的从机,与其他高速模块进行通信,因此能够在一次数据传输的过程中与多个低速模块进行通信,最大化地利用总线资源。本系统采用的总线结构如图4所示。
3 验证结果
3.1 面积比较
图5展示了以逻辑单元(Logic Cell)为单位的内核面积分布情况。CV32E40P实例化区域面积为7372单元,Ibex实例化区域面积为3271单元,其中,CV32E40P与Ibex的取值部分面积比为1.28∶1,译码部分面积比为4.21∶1,执行部分的面积比为1.06∶1,回写部分的面积比为1∶1.95。
图6展示了两个SOC的面积分布,可以看出除了内核区域外,其余如内部总线模块、时钟与复位模块和外设模块所占用的面积基本相似。
实验结果表明,CV32E40P内核相较于Ibex内核在面积上增加了125.37%,CV32E40P SOC平台相较于Ibex SOC平台在面积上增加了26.07%,虽然就内核而言,CV32E40P 的面积明显大于Ibex,但是当嵌入进同一SOC平台后,面积差异并不明显。
3.2 功耗比较
图7、图8分别展示了在不同频率下,由Ibex内核组成的SOC系统与由CV32E40P内核组成的SOC系统在功耗上的性能表现。
结果表明,在相同频率下,CV32E40P各模块的功耗明显大于Ibex各模块的功耗,随着频率的增加,各模块的功耗也随之增加,但是CV32E40P功耗增加的幅度要小于Ibex功耗增加的幅度,由此可以说明,CV32E40P相较于Ibex在同频率下能源利用率更高,即能效更高。因此,在面对需要高算力、高性能的任务时,CV32E40P要比 Ibex更加节能,计算能力也更好,而在面对简单、无需复杂计算的逻辑控制任务时,Ibex 的整体功耗要明显优于CV32E40P,性能也完全足够。
3.3 性能比较
通过表1可以看出,在性能方面,CV32E40P略高于NXP K70芯片 ,而Ibex则对标于 NXP K60芯片 ,CV32E40P仅就跑分而言相较于Ibex提升了 30.74%。
通过Questasim 10.7C仿真软件对搭建好的SOC平台进行实验,在时钟频率为25 MHz 下运行逻辑控制代码,控制串口发送指定字符串,由于CV32E40P具有增强的ISA和更复杂的流水线,因此 CV32E40P 更快地完成 了 数 据 传 输 ,CV32E40P相较Ibex速度提升了27.66%。同样地,在运行卷积运算代码时,CV32E40P相较Ibex速度提升了 108.75%。
结果表明 ,在处理简单的逻辑控制代码时 ,CV32E40P虽然结构更复杂,计算能力更出众,但是相较于Ibex而言无明显优势,但是在针对复杂的卷积代码进行运算时CV32E40P具有良好的表现,而仅具备简单乘除运算器的Ibex则捉襟见肘。
4 结 语
本文基于RISC⁃V指令集架构的异构性内核,提出以RISC⁃V开源处理器CV32E40P和Ibex作为内核并选用AMBA(Advanced Microcontroller Bus Architecture)协议以及通用型外设搭建SOC平台的设计方案。由实验结果可知,面积方面,CV32E40P内核相较于 Ibex内核增加了125.37%,CV32E40P SOC平台相较于Ibex SOC平台增加了 26.07%,虽然就内核而言,CV32E40P的面积明显大了 Ibex,但是当嵌入同一SOC平台后,面积差异并不明显。功耗方面,在25 MHz、40 MHz 以及 50 MHz频率下,CV32E40P SOC平台的功耗相较 Ibex SOC 平台的功耗分别增加了31.58%、29.03%以及 25.64%,CV32E40P的功耗要大于Ibex,但是能效比更高。性能方面,CV32E40P的 CoreMark评分相较于Ibex提高了30.74%,在运行逻辑控制与卷积运算代码时,CV32E40P相较于Ibex速度分别提高了27.66% 和108.75%,CV32E40P更适用于数据运算,而Ibex更适用于逻辑控制。综上所述,Ibex更适用于智能家居领域低带宽数据获取的场景,而CV32E40P则适用于智慧城市领域视频、图像数据采集处理的场景。
注:本文通讯作者为季永辉。
参 考 文 献
[1] HAMAMREH J M,FURQAN H M,ARSLAN H. Classifica⁃tions and applications of physical layer security techniques forconfidentiality:a comprehensive survey [J]. IEEE communica⁃tions surveys & tutorials,2019,21(2):1773⁃1828.
[2] VAKALOUDIS A,O′LEARY C. A framework for rapid integra⁃tion of IoT systems with industrial environments [C]// 2019IEEE 5th World Forum on Internet of Things(WF⁃IoT). Limerick,Ireland:IEEE,2019:601⁃605.
[3] LIU Y,YANG C,JIANG L,et al. Intelligent edge computinfor IoT⁃based energy management in smart cities [J]. IEEE net⁃work,2019,33(2):111⁃117.
[4] WANG J S,XUE C X,LIU C T,et al. A 0.23 V 40 nm OAI⁃ROM with low active and standby power for AI⁃based IoT edgedevices [C]// 2020 International Conference on Electronics,In⁃formation, and Communication (ICEIC). Barcelona, Spain:IEEE,2020:1⁃4.
[5] KIM N S. A digital intensive extended range dual mode BLE5.0and IEEE 802.15.4 transceiver SoC [J]. IEEE transactions onmicrowave theory and techniques,2020,68(6):2020⁃2029.
[6] BENATTI S,CASAMASSIMA F,MILOSEVIC B,et al. A versa⁃tile embedded platform for EMG acquisition and gesture recog⁃nition [J]. IEEE transactions on biomedical circuits and sys⁃tems,2015,9(5):620⁃630.
[7] Texas Instruments. MSP430 ultra ⁃low ⁃ power sensing & mea⁃surement MCUs [EB/OL]. [2020⁃09⁃11]. https://www.ti.com/mi⁃crocontrollers/msp430⁃ultra⁃low⁃power⁃mcus/overview.html.
[8] Texas Instruments. SimpleLink CC2650 wireless MCU Launch⁃Pad development kit [EB/OL]. [2020 ⁃09 ⁃11]. https://www.ti.com/tool/LAUNCHXL⁃CC2650.
[9] DANIEL G. UM10850 LPC5410x datasheet unclear [EB / OL].[2020 ⁃ 09 ⁃ 13]. https://community.nxp.com/t5/LPC⁃Microcon⁃trollers/UM10850⁃LPC5410x⁃Datasheet⁃unclear/m⁃p/660962.
[10] CONTI F,SCHILLING R,SCHIAVONE P D,et al. An IoTendpoint system ⁃on ⁃chip for secure and energy ⁃efficient near⁃sensor analytics [J]. IEEE transactions on circuits and systemsⅠ:regular papers,2017,64(9):2481⁃2494.
[11] Anon. GAP8 hardware reference manual [EB/OL]. [2020⁃09⁃18].https://greenwaves⁃technologies.com/sdk⁃manuals.
作者简介:
隋金雪(1977—),男,博士,副教授,硕士研究生导师,主要研究方向为控制理论与控制工程。
季永辉(1995—),男,硕士研究生,主要研究方向为 FPGA 验证与嵌入式系统。
张 霞(1980—),女,博士,高级工程师,主要研究方向为半导体微电子设计与微电子封装。
编辑:黄飞
评论
查看更多