CN104991884B - 异构多核SoC的体系结构设计方法 - Google Patents

异构多核SoC的体系结构设计方法 Download PDF

Info

Publication number
CN104991884B
CN104991884B CN201510340625.7A CN201510340625A CN104991884B CN 104991884 B CN104991884 B CN 104991884B CN 201510340625 A CN201510340625 A CN 201510340625A CN 104991884 B CN104991884 B CN 104991884B
Authority
CN
China
Prior art keywords
soc architecture
architecture
soc
design
run time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510340625.7A
Other languages
English (en)
Other versions
CN104991884A (zh
Inventor
林忱
杜学亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Silang Technology Co ltd
Original Assignee
Institute of Automation of Chinese Academy of Science
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN201510340625.7A priority Critical patent/CN104991884B/zh
Publication of CN104991884A publication Critical patent/CN104991884A/zh
Application granted granted Critical
Publication of CN104991884B publication Critical patent/CN104991884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

本发明提供的异构多核SoC体系结构设计方法,包括:根据应用领域算法中函数的运行时间和访问次数,获取第一调用函数集;通过分析第一调用函数集的计算特征,设计仿真输入激励;根据应用领域的设计需求,确定第一SoC体系结构的探索空间;修剪第一SoC体系结构的探索空间,得到第二SoC体系结构的探索空间;从第二SoC体系结构的探索空间中随机选取变量组合,对各组SoC体系结构进行仿真和综合,得到运行时间,芯片面积和功耗;将变量组合、运行时间、芯片面积和功耗利用机器学习算法,训练得到回归模型或分类模型;利用上述模型探索第二SoC体系结构的探索空间,并从中选取满足多个约束条件的SoC体系结构。本发明可以实现最优的异构多核SoC体系结构设计。

Description

异构多核SoC的体系结构设计方法
技术领域
本发明涉及计算机应用技术,特别是涉及一种异构多核SoC的体系结构设计方法。
背景技术
随着芯片制造工艺技术的不断发展,能耗散热问题使得芯片上所包含的所有单元无法同时正常工作,即芯片上的部分电路会成为黑硅(dark silicon),浪费了资源。以往一味追求高频率、高容量、同构多核的芯片将会遇到发展瓶颈;同时,当今社会对于芯片多功能、高效、低耗、易携带的需求越来越高,特别是目前发展迅猛的超级计算领域、移动通信和智能多媒体领域等。由此,面向应用领域的异构多核处理器芯片体现出其特殊的优越性:异构多核体系结构,保证各个核“扬长避短”,同时互相配合,提高性能,降低功耗;面向应用领域计算特点有针对性的进行优化,使芯片的功能越来越强大,且实现的代价越来越小。
目前,设计人员设计芯片的SoC体系结构时,通常依赖先前设计的工程基础和自身经验,而缺少一个系统的、完善的理论方法指导整个设计流程。特别是随着异构多核SoC体系结构设计复杂性的增加、深亚微米效应的影响和紧迫的上市时间要求,设计人员需要考虑的因素越来越多,可以使用的技术手段也越来越多,例如基于IP复用的设计、软硬件协同设计等。面对同样的一套设计需求,由于经验或考虑角度不同,不同的设计人员可能设计的结果不同,所花费的时间也不同。基于经验,设计人员可能一直都在自己熟悉的设计思路里,实现着一个非最优化的设计结果。
发明内容
本发明提供的异构多核SoC的体系结构设计方法,可以实现最优的异构多核SoC系统的体系结构设计。
根据本发明的一方面,提供一种异构多核SoC的体系结构设计方法,包括:根据应用领域算法中各个函数的运行时间和访问次数,获取第一调用函数集;通过分析所述第一调用函数集的计算特征,设计仿真的输入激励;根据应用领域的设计需求,确定第一SoC体系结构的探索空间;对所述第一SoC体系结构的探索空间进行修剪得到第二SoC体系结构的探索空间;对所述第二SoC体系结构的探索空间中的变量进行选取得到变量的组合,利用所述仿真的输入激励对各种变量的组合对应的SoC体系结构进行仿真,得到运行时间,并对所述变量的组合对应的SoC体系结构进行综合,得到芯片面积和功耗;将所述变量的组合、所述运行时间、所述芯片面积和所述功耗通过机器学习算法进行训练得到回归模型或分类模型;根据所述回归模型或所述分类模型,探索所述第二SoC体系结构的设计空间,并从中获取满足多个约束条件的SoC体系结构参数组合。
本发明实施例提供的异构多核SoC的体系结构设计方法,根据应用领域算法中各个函数的运行时间和访问次数,获取第一调用函数集,通过分析第一调用函数集的计算特征,设计仿真的输入激励,根据应用领域的设计需求,确定第一SoC体系结构的探索空间,对第一SoC体系结构的探索空间进行修剪得到第二SoC体系结构的探索空间,对第二SoC体系结构的探索空间中的变量进行选取得到变量的组合,利用仿真的输入激励对各种变量的组合对应的SoC体系结构进行仿真,得到运行时间,并对变量的组合对应的SoC体系结构进行综合,得到芯片面积和功耗,将变量的组合、运行时间、芯片面积和功耗通过机器学习算法进行训练得到回归模型或分类模型,根据回归模型或分类模型,探索第二SoC体系结构的设计空间,并从中获取满足多个约束条件的SoC体系结构参数组合,从而可以实现最优的异构多核SoC系统的体系结构设计。
附图说明
图1为本发明实施例提供的异构多核SoC的体系结构设计方法流程图。
具体实施方式
下面结合附图对本发明实施例提供的异构多核SoC的体系结构设计方法进行详细描述。
图1为本发明实施例提供的异构多核SoC的体系结构设计方法流程图。
参照图1,在步骤S101,根据函数运行时间和访问次数获取第一调用函数集。
这里,第一调用函数集为运算量较大、运算时间较长或被调用次数较多的函数。
具体地,利用Linux的gprof软件动态分析各个函数的调用情况,确定程序中运算量较大的函数。参照如表1所示的各个函数的消耗时间表,在38个函数中选取消耗时间最多的15个函数作为研究对象。
表1
消耗时间顺序 调用次数 函数名称
1 1006 Gauss_f
2 114000 setJacobi_f
3 54918 addComplex_f
4 54918 mulComplex_f
5 18024 setComplex_f
6 9423 assignmentComplex_f
7 1530 setComplex_f
8 1000 JacobiMatrixForm_f
9 1000 CmpVariableParam_f
10 1000 reviseX_f
11 258 MulMatixComplex_f
12 132 setJacobiFault_f
13 72 absComplex_f
14 27 subComplex_f
15 4 JmatrixForm_f
共38个函数 …… ……
同时,获得并行计算所产生的资源开销经验值,其中,1片外部存储器的经验值为1.0,2片外部存储器的经验值为1.28,3片外部存储器的经验值为1.4和4片外部存储器的经验值为1.6。
在步骤S102,通过分析所述第一调用函数集的计算特征,设计仿真的输入激励。
进一步地,所述通过分析所述第一数量的调用函数的计算特征设计仿真的输入激励包括,重复执行以下处理,直至全部的输入数据计算结束:
将输入数据根据协处理器片内存储空间的大小进行分块得到分块的输入数据;
直接内存存取DMA模块将所述分块的输入数据从片外存储器存入片内存储器,并调用函数对所述分块的输入数据进行计算得到运算结果;
将所述运算结果从所述片内存储器存入所述片外存储器。
这里,设计仿真输入激励是确保协处理器数据计算量和数据传输量的等价性。将输入数据利用协处理器支持的函数进行映射,得到设计的输入激励。协处理器的性能参数和函数支持情况具体参照表2,如表2所示:
表2
在步骤S103,根据应用领域的设计需求,确定第一SoC体系结构的探索空间。
这里,探索空间包括变量和不变量。
进一步地,所述变量包括协处理器的个数、高速存储器的性能参数和所述高速存储器的个数、高速外设的性能参数和所述高速外设的个数、体系结构互联拓扑结构、总线位宽频率和总线桥参数。
不变量包括主处理器,工作频率为800MHz;数据总线位宽是128bit;协处理器是高性能代数运算处理器,工作频率为1GHz。变量和不变量具体可参照表3,如表3所示:
表3
在步骤S104,对第一SoC体系结构的探索空间进行修剪得到第二SoC体系结构的探索空间。
这里,对第一SoC体系结构的探索空间进行修剪是根据相关专业知识背景的指导性原理和公式进行的。
在本申请中,对第一SoC体系结构的探索空间的修剪仅以总线桥时钟同步寄存器深度的探索空间以及协处理器和外部高速存储器个数的探索空间为例进行描述,但是,本领域的普通技术人员可以理解,本发明提出的第一SoC体系结构的探索空间的修剪不限于此。
具体地,总线桥主设备接口和从设备接口的时钟同步寄存器深度取值范围为2或3。利用枚举法,探索空间是2*2=4种情况。但在实际设计时,总线桥主从接口的时钟同步寄存器深度可以依据桥两端时钟频率而确定,由公式(1)可知:
其中,MP是主设备接口,SP是从设备接口。freq_MP是主设备接口的时钟频率,freq_SP是从设备接口的时钟频率。depth_MP是主设备接口时钟同步寄存器深度,depth_SP是从设备接口时钟同步寄存器深度。
当freq_MP和freq_SP相同时,为了节省片上资源并减少功耗,depth_MP和depth_SP可以相同,且取2;由于信号从快时钟域传递到慢时钟域发生亚稳态的风险较低,所以当freq_MP和freq_SP不同时,快时钟域的时钟同步寄存器深度取3,慢时钟域的时钟同步寄存器深度取2。因此,通过相关专业知识背景的指导性原理和公式后,探索空间减小为1种情况。
协处理器个数的取值范围是6种情况,外部高速存储器的取值范围是4种情况。利用枚举法,协处理器和外部高速存储器原本的探索空间是6*4=24种情况。但根据协处理器的峰值带宽和外部高速存储器的峰值带宽性能手册,1片外部高速存储器最多连接4个协处理器,否则数据带宽不够,协处理器处于“饥饿”状态,浪费计算资源。这样,同时考虑到整个体系结构的对称性,此处的探索空间是2(1、2)、4(1、2、4)、6(2、3)、8(2、4)、12(3、4)、16(4),共12种情况,其中括号外数据指协处理器个数,括号内数据指外部处理器个数。因此,通过相关专业知识背景的指导性原理和公式,SoC体系结构设计的探索空间从768000种减少为16050种,探索空间大大化简。这不但减轻了设计人员的工作量,并且剔除了很多不符合设计实情的备选方案,提高了设计结果的质量。
在步骤S105,对所述第二SoC体系结构的探索空间中的变量进行选取得到变量的组合,利用所述仿真的输入激励对各种变量的组合对应的SoC体系结构进行仿真,得到运行时间,并对所述变量的组合对应的SoC体系结构进行综合,得到芯片面积和功耗。
这里,从第二SoC体系结构的探索空间中随机选取变量组合,使组合的变量通过仿真和综合,获得程序运行时间、芯片面积和功耗的性能指标。
利用Synopsys公司的Design Compiler软件计算得到面积和功耗的性能指标。为了加速合成速度,本方法对SoC体系结构中会变化的模块单独综合,结合未变化模块预先获得的性能指标,通过累加估计整个芯片的面积和功耗。
具体地,以128bit位宽、16个协处理器、4个外部高速存储器、每个总线桥写数据通道fifo深度12,读数据通道fifo深度2等参数组合的SoC体系结构为例,其总线部分的体系结构通过DC工具综合得功耗898mW,cell面积2202519,用时395分钟;通过单独模块综合后,加和计算该部分得功耗为645mW,cell面积1886270,用时12分钟。可以看到,功耗和面积的误差分别是28%和14%,但时间节省了95%以上。
在步骤S106,将所述变量的组合、所述运行时间、所述芯片面积和所述功耗通过机器学习算法进行训练得到回归模型或分类模型。
这里,回归模型可以是例如,但不限于,具体为M5P回归模型;分类模型可以是例如,但不限于,具体为rankboost分类模型。
具体地,首先使用Rankboost算法训练模型,用于样本的优劣性能比较。Rankboost算法是利用带标签的样本进行两两之间的比较,学习特征的阈值,用于比较优劣。由于训练过程是两两之间进行比较,所以原本N个带标签的样本,可以训练模型达次,高效使用了样本。
然后,利用rankboost的结果,辅助训练M5P回归模型,提高预测结果不准样本的权重。最后,再利用大量未标签的样本进一步修正M5P回归模型,提高其精度。这样,两个模型互相配合使用,不但能够排序选取优秀的SoC体系结构参数,同时还可以预测SoC体系结构的性能指标。
在步骤S107,根据所述回归模型或所述分类模型,探索所述第二SoC体系结构的设计空间,并从中获取满足多个约束条件的SoC体系结构参数组合。
进一步地,所述多个约束条件包括运行时间、芯片面积和功耗,所述并从中获取满足多个约束条件的SoC体系结构参数组合包括:
并从中获取满足所述运行时间、所述芯片面积和所述功耗的SoC体系结构参数组合。
这里,以芯片应用于100000个节点的电网体系为例,获取同时满足约束条件的运行时间、芯片面积和功耗,如每次暂态分析的运行时间小于1ms,单个芯片的功耗小于10W,面积小于400mm2
由于可以通过模型估计SoC体系结构的性能指标或者直接比较优劣,完成此步骤的方法可以有很多,例如利用M5P回归模型做线性规划寻优。或者对一定集合的SoC体系结构候选方案,依据某一性能指标排序后,二分法快速寻找合适阈值;然后再用同样的方法筛选集合中满足另一个性能指标的候选方案,指导多个目标均满足为止。最后,建议对所选的SoC体系结构方案进行完整的仿真和综合,验证性能指标是否满足要求。
SoC体系结构的设计工作贯穿于芯片设计、验证、实现的整个流程之中。设计人员需要持有开放的态度,不断完善细节,优化结构直至流片。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (4)

1.一种异构多核SoC的体系结构设计方法,其特征在于,所述方法包括:
根据应用领域算法中各个函数的运行时间和访问次数,获取第一调用函数集;
通过分析所述第一调用函数集的计算特征,设计仿真的输入激励;
根据应用领域的设计需求,确定第一SoC体系结构的探索空间;
对所述第一SoC体系结构的探索空间进行修剪得到第二SoC体系结构的探索空间;
对所述第二SoC体系结构的探索空间中的变量进行选取得到变量的组合,利用所述仿真的输入激励对各种变量的组合对应的SoC体系结构进行仿真,得到运行时间,并对所述变量的组合对应的SoC体系结构进行综合,得到芯片面积和功耗;
将所述变量的组合、所述运行时间、所述芯片面积和所述功耗通过机器学习算法进行训练得到回归模型或分类模型;
根据所述回归模型或所述分类模型,探索所述第二SoC体系结构的设计空间,并从中获取满足多个约束条件的SoC体系结构参数组合。
2.根据权利要求1所述的方法,其特征在于,所述通过分析所述第一调用函数集的计算特征,设计仿真的输入激励包括,重复执行以下处理,直至全部的输入数据计算结束:
将输入数据根据协处理器片内存储空间的大小进行分块得到分块的输入数据;
直接内存存取DMA模块将所述分块的输入数据从片外存储器存入片内存储器,并调用函数对所述分块的输入数据进行计算得到运算结果;
将所述运算结果从所述片内存储器存入所述片外存储器。
3.根据权利要求1所述的方法,其特征在于,所述变量包括协处理器的个数、高速存储器的性能参数和所述高速存储器的个数、高速外设的性能参数和所述高速外设的个数、体系结构互联拓扑结构、总线位宽频率和总线桥参数。
4.根据权利要求1所述的方法,其特征在于,所述多个约束条件包括运行时间、芯片面积和功耗,所述并从中获取满足多个约束条件的SoC体系结构参数组合包括:
并从中获取满足所述运行时间、所述芯片面积和所述功耗的SoC体系结构参数组合。
CN201510340625.7A 2015-06-18 2015-06-18 异构多核SoC的体系结构设计方法 Active CN104991884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510340625.7A CN104991884B (zh) 2015-06-18 2015-06-18 异构多核SoC的体系结构设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510340625.7A CN104991884B (zh) 2015-06-18 2015-06-18 异构多核SoC的体系结构设计方法

Publications (2)

Publication Number Publication Date
CN104991884A CN104991884A (zh) 2015-10-21
CN104991884B true CN104991884B (zh) 2017-12-05

Family

ID=54303700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510340625.7A Active CN104991884B (zh) 2015-06-18 2015-06-18 异构多核SoC的体系结构设计方法

Country Status (1)

Country Link
CN (1) CN104991884B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11775720B2 (en) 2021-07-02 2023-10-03 International Business Machines Corporation Integrated circuit development using machine learning-based prediction of power, performance, and area

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106791847B (zh) * 2016-12-05 2020-06-19 中国计量大学 一种视频编码芯片架构等效硬件复杂度及性能估计系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980223B (zh) * 2010-11-04 2012-03-14 浙江大学 应用于处理器结构和电路设计的功耗-性能优化方法
CN104536939A (zh) * 2014-12-10 2015-04-22 中南林业科技大学 一种多核嵌入式高速缓冲存储器可配置节能调度的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2882169B1 (fr) * 2005-02-14 2007-05-25 Cofluent Design Sarl Procede de simulation d'un systeme complexe incluant une hierarchie d'ordonnanceurs, produit programme d'ordinateur et moyen de stockage correspondants

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980223B (zh) * 2010-11-04 2012-03-14 浙江大学 应用于处理器结构和电路设计的功耗-性能优化方法
CN104536939A (zh) * 2014-12-10 2015-04-22 中南林业科技大学 一种多核嵌入式高速缓冲存储器可配置节能调度的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11775720B2 (en) 2021-07-02 2023-10-03 International Business Machines Corporation Integrated circuit development using machine learning-based prediction of power, performance, and area

Also Published As

Publication number Publication date
CN104991884A (zh) 2015-10-21

Similar Documents

Publication Publication Date Title
CN107103113B (zh) 面向神经网络处理器的自动化设计方法、装置及优化方法
Murali et al. An application-specific design methodology for on-chip crossbar generation
Ax et al. CoreVA-MPSoC: A many-core architecture with tightly coupled shared and local data memories
Ganguly et al. Towards energy efficient non-von neumann architectures for deep learning
Amiri et al. FPGA-based soft-core processors for image processing applications
Nugteren et al. The boat hull model: enabling performance prediction for parallel computing prior to code development
Xiao et al. Plasticity-on-chip design: Exploiting self-similarity for data communications
Tagliavini et al. Adrenaline: An openvx environment to optimize embedded vision applications on many-core accelerators
Pasricha et al. COSMECA: Application specific co-synthesis of memory and communication architectures for MPSoC
Fell et al. The marenostrum experimental exascale platform (MEEP)
CN104991884B (zh) 异构多核SoC的体系结构设计方法
CN104899385B (zh) 异构多核的SoC设计评估系统
Manor et al. Using HW/SW codesign for deep neural network hardware accelerator targeting low-resources embedded processors
Flasskamp et al. Performance estimation of streaming applications for hierarchical MPSoCs
Brandao et al. Performance evaluation of optimized implementations of finite difference method for wave propagation problems on gpu architecture
Diamantopoulos et al. A system-level transprecision FPGA accelerator for BLSTM using on-chip memory reshaping
Metz et al. Towards neural hardware search: Power estimation of cnns for gpgpus with dynamic frequency scaling
Bytyn et al. Dataflow aware mapping of convolutional neural networks onto many-core platforms with network-on-chip interconnect
Arasteh Transaction-Level Modeling of Deep Neural Networks for Efficient Parallelism and Memory Accuracy
Klarhorst et al. Development of energy models for design space exploration of embedded many-core systems
Bobda et al. High-level synthesis of on-chip multiprocessor architectures based on answer set programming
Ma et al. Performance estimation techniques with mpsoc transaction-accurate models
de Fine Licht et al. Modeling and implementing high performance programs on fpga
Rasheedha et al. Bitonic sorting on FPGA for energy and memory efficient mapping
Luo et al. Configurable Deep Learning Accelerator with Bitwise-accurate Training and Verification

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171207

Address after: 102412 Beijing City, Fangshan District Yan Village Yan Fu Road No. 1 No. 11 building 4 layer 402

Patentee after: Beijing Si Lang science and Technology Co.,Ltd.

Address before: 100080 Zhongguancun East Road, Beijing, No. 95, No.

Patentee before: Institute of Automation, Chinese Academy of Sciences

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Shanghai Silang Technology Co.,Ltd.

Address before: 102412 room 402, 4th floor, building 11, No. 1, Yanfu Road, Yancun Town, Fangshan District, Beijing

Patentee before: Beijing Si Lang science and Technology Co.,Ltd.