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

文档序号:9274459阅读:1011来源:国知局
异构多核SoC的体系结构设计方法
【技术领域】
[0001] 本发明涉及计算机应用技术,特别是涉及一种异构多核SoC的体系结构设计方 法。
【背景技术】
[0002] 随着芯片制造工艺技术的不断发展,能耗散热问题使得芯片上所包含的所有单元 无法同时正常工作,即芯片上的部分电路会成为黑硅(dark silicon),浪费了资源。以往一 味追求高频率、高容量、同构多核的芯片将会遇到发展瓶颈;同时,当今社会对于芯片多功 能、高效、低耗、易携带的需求越来越高,特别是目前发展迅猛的超级计算领域、移动通信和 智能多媒体领域等。由此,面向应用领域的异构多核处理器芯片体现出其特殊的优越性:异 构多核体系结构,保证各个核"扬长避短",同时互相配合,提高性能,降低功耗;面向应用领 域计算特点有针对性的进行优化,使芯片的功能越来越强大,且实现的代价越来越小。
[0003] 目前,设计人员设计芯片的SoC体系结构时,通常依赖先前设计的工程基础和自 身经验,而缺少一个系统的、完善的理论方法指导整个设计流程。特别是随着异构多核SoC 体系结构设计复杂性的增加、深亚微米效应的影响和紧迫的上市时间要求,设计人员需要 考虑的因素越来越多,可以使用的技术手段也越来越多,例如基于IP复用的设计、软硬件 协同设计等。面对同样的一套设计需求,由于经验或考虑角度不同,不同的设计人员可能设 计的结果不同,所花费的时间也不同。基于经验,设计人员可能一直都在自己熟悉的设计思 路里,实现着一个非最优化的设计结果。

【发明内容】

[0004] 本发明提供的异构多核SoC的体系结构设计方法,可以实现最优的异构多核SoC 系统的体系结构设计。
[0005] 根据本发明的一方面,提供一种异构多核SoC的体系结构设计方法,包括:根据应 用领域算法中各个函数的运行时间和访问次数,获取第一调用函数集;通过分析所述第一 调用函数集的计算特征,设计仿真的输入激励;根据应用领域的设计需求,确定第一片上系 统SoC体系结构的探索空间;对所述第一 SoC体系结构的探索空间进行修剪得到第二SoC 体系结构的探索空间;对所述第二SoC体系结构的探索空间中的变量进行选取得到变量的 组合,利用所述仿真的输入激励对各种变量的组合对应的SoC体系结构进行仿真,得到运 行时间,并对所述变量的组合对应的SoC体系结构进行综合,得到芯片面积和功耗;将所述 变量的组合、所述运行时间、所述芯片面积和所述功耗通过机器学习算法进行训练得到回 归模型或分类模型;根据所述回归模型或所述分类模型,探索所述第二SoC体系结构的设 计空间,并从中获取满足多个约束条件的SoC体系结构参数组合。
[0006] 本发明实施例提供的异构多核SoC的体系结构设计方法,根据应用领域算法中各 个函数的运行时间和访问次数,获取第一调用函数集,通过分析第一调用函数集的计算特 征,设计仿真的输入激励,根据应用领域的设计需求,确定第一 SoC体系结构的探索空间, 对第一 SoC体系结构的探索空间进行修剪得到第二SoC体系结构的探索空间,对第二SoC 体系结构的探索空间中的变量进行选取得到变量的组合,利用仿真的输入激励对各种变量 的组合对应的SoC体系结构进行仿真,得到运行时间,并对变量的组合对应的SoC体系结构 进行综合,得到芯片面积和功耗,将变量的组合、运行时间、芯片面积和功耗通过机器学习 算法进行训练得到回归模型或分类模型,根据回归模型或分类模型,探索第二SoC体系结 构的设计空间,并从中获取满足多个约束条件的SoC体系结构参数组合,从而可以实现最 优的异构多核SoC系统的体系结构设计。
【附图说明】
[0007] 图1为本发明实施例提供的异构多核SoC的体系结构设计方法流程图。
【具体实施方式】
[0008] 下面结合附图对本发明实施例提供的异构多核SoC的体系结构设计方法进行详 细描述。
[0009] 图1为本发明实施例提供的异构多核SoC的体系结构设计方法流程图。
[0010] 参照图1,在步骤S101,根据函数运行时间和访问次数获取第一调用函数集。
[0011] 这里,第一调用函数集为运算量较大、运算时间较长或被调用次数较多的函数。
[0012] 具体地,利用Linux的gprof软件动态分析各个函数的调用情况,确定程序中运算 量较大的函数。参照如表1所示的各个函数的消耗时间表,在38个函数中选取消耗时间最 多的15个函数作为研宄对象。
[0013] 表 1
[0014]
[0015]

[0016] 同时,获得并行计算所产生的资源开销经验值,其中,1片外部存储器的经验值为 1. 0, 2片外部存储器的经验值为1. 28, 3片外部存储器的经验值为1. 4和4片外部存储器的 经验值为1.6。
[0017] 在步骤S102,通过分析所述第一调用函数集的计算特征,设计仿真的输入激励。
[0018] 进一步地,所述通过分析所述第一数量的调用函数的计算特征设计仿真的输入激 励包括,重复执行以下处理,直至全部的输入数据计算结束:
[0019] 将输入数据根据协处理器片内存储空间的大小进行分块得到分块的输入数据;
[0020] 直接内存存取DMA模块将所述分块的输入数据从片外存储器存入片内存储器,并 调用函数对所述分块的输入数据进行计算得到运算结果;
[0021] 将所述运算结果从所述片内存储器存入所述片外存储器。
[0022] 这里,设计仿真输入激励是确保协处理器数据计算量和数据传输量的等价性。将 输入数据利用协处理器支持的函数进行映射,得到设计的输入激励。协处理器的性能参数 和函数支持情况具体参照表2,如表2所示:
[0023] 表 2
[0024]
[0025]
[0026] 在步骤S103,根据应用领域的设计需求,确定第一 SoC体系结构的探索空间。 [0027] 这里,探索空间包括变量和不变量。
[0028] 进一步地,所述变量包括协处理器的个数、高速存储器的性能参数和所述高速存 储器的个数、高速外设的性能参数和所述高速外设的个数、体系结构互联拓扑结构、总线位 宽频率和总线桥参数。
[0029] 不变量包括主处理器,工作频率为800MHz ;数据总线位宽是128bit ;协处理器是 高性能代数运算处理器,工作频率为1GHz。变量和不变量具体可参照表3,如表3所示:
[0030] 表 3
[0031]
[0032]
[0033] 在步骤S104,对第一 SoC体系结构的探索空间进行修剪得到第二SoC体系结构的 探索空间。
[0034] 这里,对第一 SoC体系结构的探索空间进行修剪是根据相关专业知识背景的指导 性原理和公式进行的。
[0035] 在本申请中,对第一 SoC体系结构的探索空间的修剪仅以总线桥时钟同步寄存器 深度的探索空间以及协处理器和外部高速存储器个数的探索空间为例进行描述,但是,本 领域的普通技术人员可以理解,本发明提出的第一 SoC体系结构的探索空间的修剪不限于 此。
[0036] 具体地,总线桥主设备接口和从设备接口的时钟同步寄存器深度取值范围为2或 3。利用枚举法,探索空间是2*2 = 4种情况。但在实际设计时,总线桥主从接口的时钟同 步寄存器深度可以依据桥两端时钟频率而确定,由公式(1)可知:
[0037] freq_MP>freq_SP :depth_MP = 3, depth_SP = 2 ;
[0038] freq_MP = freq_SP :depth_MP =2,depth_SP = 2 ; (1)
[0039] freq_MP<freq_SP :depth_MP =2,depth_SP = 3
[0040] 其中,MP是主设备接口,SP是从设备接口。freq_MP是主设备接口的时钟频率, freq_SP是从设备接口的时钟频率。cbpth_MP是主设备接口时钟同步寄存器深度,cbpth_ SP是从设备接口时钟同步寄存器深度。
[0041 ] 当freq_MP和freq_SP相同时,为了节省片上资源并减少功耗,depth_MP和 d印th_SP可以相同,且取2 ;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1