公开/公告号CN104899385A
专利类型发明专利
公开/公告日2015-09-09
原文格式PDF
申请/专利权人 中国科学院自动化研究所;
申请/专利号CN201510332821.X
申请日2015-06-16
分类号G06F17/50(20060101);
代理机构北京博维知识产权代理事务所(特殊普通合伙);
代理人方振昌
地址 100080 北京市海淀区中关村东路95号
入库时间 2023-12-18 10:55:13
法律状态公告日
法律状态信息
法律状态
2023-05-30
专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F17/50 专利号:ZL201510332821X 变更事项:专利权人 变更前:北京思朗科技有限责任公司 变更后:上海思朗科技有限公司 变更事项:地址 变更前:102412 北京市房山区阎村镇阎富路1号11号楼4层402 变更后:201306 上海市浦东新区中国(上海)自由贸易试验区临港新片区环湖西二路888号C楼
专利权人的姓名或者名称、地址的变更
2018-01-26
授权
授权
2017-12-26
专利申请权的转移 IPC(主分类):G06F17/50 登记生效日:20171207 变更前: 变更后: 申请日:20150616
专利申请权、专利权的转移
2015-10-07
实质审查的生效 IPC(主分类):G06F17/50 申请日:20150616
实质审查的生效
2015-09-09
公开
公开
技术领域
本发明涉及计算机应用技术,特别是涉及一种异构多核的SoC设 计评估系统。
背景技术
随着芯片制造工艺技术的不断发展,以及当今社会对于芯片多功能、 高效、低能、易携带的需求越来越高,以往一味追求高频率、高容量、同 构多核的芯片已经遇到瓶颈。为了适应新时代对集成电路的新需求,国际 半导体技术蓝图(International Technology Roadmap for Semiconductors, ITRS)提出了行业新的发展目标——“More than Moore”。ITRS认为集成 电路的发展不应该仅仅局限于“摩尔定律”,一味追求提高芯片的容量或 减小芯片的体积,而更应该着眼于利用不同的方法为消费者提供更多的附 加价值,要向“越来越多元化”的方向发展。
由此,面向应用领域的异构多核处理器芯片体现出其特殊的优越性— —面向应用领域计算特点有针对性的进行优化,异构多核体系结构保证各 个核“扬长避短”,同时互相配合,提高性能,降低功耗,使芯片的功能 越来越强大,且实现的代价越来越小。
异构多核的SoC体系结构设计所涉及到的技术、软件和流程十分繁 杂。如果仅仅依靠设计人员手工串联,不仅工作效率极低,并且极其容易 出现错误。特别是当设计空间定义较大时,在合理的时间里人工完成探索 工作是不可能的。
发明内容
本发明提供的异构多核的SoC设计评估系统,可以极大程度上的辅助 设计人员完成SoC体系结构的设计和评估工作。
根据本发明的一方面,提供一种异构多核的SoC设计评估系统,包括:
组件抽象建模模块,用于对总线的主从组件进行抽象建模,其中,所 述主从组件包括协处理器;设计空间定义模块,用于根据片上系统SoC设 计需求设置各个变量和所述各个变量对应的取值范围;性能指标评估模 块,用于根据所述各个变量和所述取值范围构建第一SoC结构,并对所述 第一SoC结构进行仿真评估和综合评估,从而获取所述SoC的性能指标; 模型训练与探索模块,用于利用所述性能指标和所述各个变量,通过机器 学习算法进行模型训练,获得预测模型或分类模型;体系结构寻优模块, 用于利用所述预测模型或所述分类模型选取第二SoC结构。
本发明实施例提供的异构多核的SoC设计评估系统,通过SoC设计需 求设置各个变量和各个变量对应的取值范围,根据各个变量和取值范围构 建第一SoC结构,并对所述第一SoC结构进行仿真评估和综合评估,从而 获取所述SoC的性能指标,利用性能指标和各个变量,通过机器学习算法 进行模型训练,获得预测模型或分类模型,利用预测模型或分类模型选取 第二SoC结构,从而可以极大程度的辅助设计人员完成SoC体系结构的设 计和评估。
附图说明
图1为本发明实施例提供的异构多核的SoC设计评估系统示意图;
图2为本发明实施例提供的抽象建模的协处理器模型示意图;
图3为本发明实施例提供的第一SoC拓扑结构的示意图;
图4为本发明实施例提供的性能指标评估模块的示意图。
具体实施方式
下面结合附图对本发明实施例提供的异构多核的SoC设计评估系统进 行详细描述。
图1为本发明实施例提供的异构多核的SoC设计评估系统示意图。
参照图1,系统包括组件抽象建模模块10、设计空间定义模块20、性 能指标评估模块30、模型训练与探索模块40和体系结构寻优模块50。
组件抽象建模模块10,用于对总线的主从组件进行抽象建模,其中, 主从组件包括协处理器、内部外部存储单元和高速IO等功能性部件。
这里,组件抽象建模模块10的原则是注重模型接口的可连接性和内 部参数的灵活配置性,忽略内部具体功能的实现细节。具体而言,组件抽 象建模模块10需具有以下特点:(1)暴露灵活配置的接口,方便模型快 速接入SoC体系结构,例如总线数据位宽和ID宽度需要支持灵活的配置; 同时为各组件的接口提供IP-XACT类似的接口标准描述文件,以方便灵活 接入SoC体系结构,减少手工连接的工作负担,降低错误率;(2)屏蔽组 件内部的功能实现细节,以加快仿真评估速度,同时降低抽象模型的开发 难度,例如协处理器的抽象模型,可以模糊内部具体每个复杂功能部件的 实现细节;(3)根据各个组件的性能指标,配置组件内部参数,描述其数 据处理能力,例如协处理器的抽象模型,不仅对接口的读写延迟进行描述, 同时对于不同计算模式、计算量和计算粒度的数据吞吐率等性能进行描 述;(4)虽然抽象模型主要应用于体系结构探索期,可以牺牲一定的精准 度,保证探索的速度,以使整个设计评估工作可以在合理的时间内完成。 但是,抽象模型同样需要保证足够的精准度,使动态仿真评估的结果具有 可参考性,为体系结构优化提供可靠的依据。否则,过大的误差将导致此 工作的意义丧失。
设计空间定义模块20,用于根据SoC设计需求设置各个变量和各个变 量对应的取值范围。
这里,根据异构多核SoC的设计需求和实际工程的实现能力,设置各 个变量和所述各个变量对应的取值范围,从而确定设计空间。
性能指标评估模块30,用于根据所述各个变量和所述取值范围构建第 一SoC结构,并对所述第一SoC结构进行仿真评估和综合评估,从而获取 所述SoC的性能指标。
这里,仿真评估是通过仿真软件,利用本系统的测试基准模块和监听 模块收集SoC体系结构仿真过程中的性能指标,性能指标包括:SoC运行 benchmark时,SoC系统的工作时间;SoC运行benchmark时,协处理器 的工作时间;SoC总线吞吐率和使用率;关键路径的latency;外部高速存 储器总线接口的访问冲突次数等。
综合评估是以确定的工艺库,配合时序约束完成逻辑综合,估计SoC 的时序、面积与功耗。具体为:(1)对于不变量的组件,例如主控处理器、 协处理器、DMA控制器、低速IO等,提前离线综合评估,统计面积和功 耗;(2)对于非探索重点的组件,其结构变化种类不多,例如主控处理器 配置协处理器的AXI matrix组件,其slave port个数由协处理器的个数决 定,除此之外位宽频率等参数均为不变量,提前离线综合评估,统计面积 和功耗;(3)对于探索重点的组件,其结构和个数变化种类繁多,例如跨 时钟频率和数据位宽的总线桥,单独在线综合评估,统计面积和功耗;(4) SoC体系结构整体的面积和功耗评估,通过各个小组件的相关性能指标加 和估计而得,同时依据实验和工程经验,补充修正系数。这样的做法难免 会造成评估精度的损失,但是在评估速度上的提高是非常显著的。这在体 系结构的探索期,是完全可以接受的权衡;(5)鉴于SoC体系结构参数组 合之间的独立性,系统通过多进程并行综合评估,加速整个综合评估流程。
模型训练与探索模块40,用于利用性能指标和各个变量,通过机器学 习算法进行模型训练,获得预测模型或分类模型。
这里,预测模型可以是例如,但不限于,具体为M5P回归模型;分类 模型可以是例如,但不限于,具体为rankboost分类模型。
体系结构寻优模块50,用于利用预测模型或分类模型选取第二SoC 结构。
这里,利用预测模型或分类模型快速探索更大的设计空间,并从第一 SoC结构中寻优选取满足各种性能指标的第二SoC结构。
图2为本发明实施例提供的抽象建模的协处理器模型示意图。
参照图2,抽象建模的协处理器包括寄存器配置单元11、直接内存访 问数据传输单元12、计算功能模拟单元13、主设备接口单元14。
寄存器配置单元11,用于对寄存器进行配置。
这里,寄存器配置单元11是协处理器的功能寄存器单元,由主控处 理器配置。寄存器配置单元11包括一系列直接内存访问(Direct Memory Access,DMA)数据传输单元12的功能寄存器,例如DMA传输起始地址, 传输数据量,目的地址,地址变化方式等。计算功能模拟单元13的先入 先出(First Input First Output,FIFO)单元存储了计算功能单元在协 处理器一次启动工作过程中所需要顺序执行的数据计算和数据搬运的所 有命令。主设备接口单元14的寄存器,用于协处理器传输同步消息。一 系列协处理器控制寄存器,例如中断寄存器、协处理器状态寄存器、协处 理器启动/停止寄存器等。
这里,直接内存访问数据传输单元12主要用于在外部存储器与片内 存储器之间传输大规模的数据。
计算功能模拟单元13,用于对FIFO中所保存的指令信息进行译码, 并通过计数器计数模拟功能部件的计算所需时间。
这里,计算功能模拟单元13是抽象模拟协处理器的计算功能部件。 计算功能模拟单元13译码寄存器配置单元内命令FIFO中的指令,依据协 处理器设计手册的性能指标,通过计数器等拍模拟功能部件的计算过程。
主设备接口单元14,用于所述数据的传输。
这里,主设备接口单元14主要用于小规模数据的传输,例如多个协 处理器之间消息的传递或配置从设备的寄存器等。
图3为本发明实施例提供的第一SoC结构的拓扑结构示意图。
参照图3,在本申请中,仅以第一SoC结构的拓扑结构为例对异构多 核的SoC设计评估系统进行描述,但是,本领域的普通技术人员可以理解, 本发明提出的第一SoC结构的拓扑结构不限于对异构多核的SoC设计评估 系统进行描述,而是可以对各种异构多核的SoC设计评估系统进行描述。
具体地,第一SoC结构的拓扑结构以分簇拓扑结构为主,1、2、3或 4个协处理器为一个簇,每个簇对应一个外部高速存储器。其中,总线矩 阵是指多主和多从互联总线桥IP,涉及的探索参数例如时钟频率、数据位 宽、主或从接口数等;总线桥是指总线跨数据位宽和跨时钟频率的总线桥 IP,涉及的探索参数例如主或从接口的时钟频率和数据位宽、跨时钟域的 同步器个数,跨时钟域的数据FIFO深度等。
需要说明的是,31是第一SoC结构设计空间中探索的不变量部分,32 是第一SoC结构的变量部分。
不变量部分的范围和变量部分的范围具体可参见表1,如表1所示:
表1
在设计空间初步定义后,该模块将随机选取指定数量的参数组合,用 于仿真和综合评估。其中,该模块不但支持跨时钟域同步器个数的建议、 跨时钟域数据通道FIFO深度的建议等,同时支持开放的开发环境。
进一步地,所述性能指标评估模块包括:
测试基准模块,用于为所述第一SoC结构的仿真提供输入激励。
监控模块,用于监控所述第一SoC结构的各个部分的各种性能指标。
进一步地,所述性能指标评估模块还包括:
利用时序约束和工艺库进行逻辑综合;
通过IP性能指标数据库计算所述第一SoC结构的面积和功耗。
进一步地,所述性能指标评估模块还包括:根据公式(1)计算所述 第一SoC结构的面积:
Areasubsystem=
(1)
[Areareg_matrix+Numcp×(Areacp+Areax2x)+Nummem×(Areamem_matrix+Areamem)]×δ
其中,Areasubsystem为所述第一SoC结构的面积,Areareg_matrix为寄存器配 置总线矩阵的面积,Numcp为所述协处理器的个数,Areacp为所述协处理器 的面积,Areax2x为总线桥的面积,Nummem为外部高速存储器的个数, Areamem_matrix为外部高速存储器矩阵的面积,Areamem为所述外部高速存储器 的面积,δ为经验系数。
这里,δ为经验系数,是在指定工艺库下,后端布局布线后的版图面 积与前端综合面积之间的比值,δ可以为1.43。
图4为本发明实施例提供的异构多核SoC体系结构设计评估系统的性 能指标评估模块的组成示意图。
参照图4,该模块的功能是利用各个变量和所述取值范围构建第一SoC 结构,并对第一SoC结构进行仿真评估和综合评估,仿真评估部分为52 和综合评估部分为53。
仿真评估部分52利用测试基准模块对第一SoC结构进行仿真;再利 用监控模块监控第一SoC结构的各个部分在仿真时的性能指标。
在仿真时,收集的性能指标是协处理器的工作时间,即从第一个协处 理器开始工作,到最后一个协处理器完成工作的时间,用以判断第一SoC 结构对于应用算法的工作性能。
综合评估部分53利用时序约束和工艺库,对探索的变量组件进行逻 辑综合,并报各个变量组件的面积和功耗指标;再利用先前离线准备好的 IP性能指标数据库,快速计算第一SoC结构的面积与功耗,具体的面积 估算方法可参照公式(1)。
进一步地,所述体系结构寻优模块包括:
在约束条件和优化目标下,利用所述预测模型或所述分类模型确定所 述第二SoC结构。
这里,体系结构寻优模块的功能是在一定的约束条件和优化目标下, 在已有的数量的探索结果中,择优确定设计方案,并可以利用性能评估模 块检验方案的有效性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局 限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可 轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明 的保护范围应以所述权利要求的保护范围为准。
机译: 分离编码异麦芽酮糖的蔗糖酶编码多核苷酸,分离和产生蔗糖异构酶,产生重组多肽或其生物活性片段或其变体或衍生物的方法,由蔗糖,特定多肽或多核苷酸和蔗糖异构酶检测的异麦芽糖,分离的抗原结合分子,多肽和多核苷酸,异麦芽酮糖,表达载体,宿主,植物和转化的植物细胞,分化的植物和探针
机译: 编码psicose差向异构酶的多核苷酸和使用该多核苷酸的psose生产方法。
机译: 编码psicose差向异构酶的多核苷酸以及使用该多核苷酸生产psicose的方法