[发明专利]一种同步多线程验证方法及装置有效
申请号: | 201710841123.1 | 申请日: | 2017-09-18 |
公开(公告)号: | CN109522047B | 公开(公告)日: | 2022-10-28 |
发明(设计)人: | 徐冉冉;熊涛;胡一凡;余红斌 | 申请(专利权)人: | 展讯通信(上海)有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 北京兰亭信通知识产权代理有限公司 11667 | 代理人: | 赵永刚 |
地址: | 201203 上海市浦东新区浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 同步 多线程 验证 方法 装置 | ||
本发明提供一种同步多线程验证方法及装置,所述方法包括:构造面向多种竞争场景的指令库;根据所述指令库生成一主线程激励和至少一干扰线程激励;将所述主线程激励和所述干扰线程激励生成同步多线程用例,并灌入待测器件内进行验证。本发明能够根据面向多种竞争场景的指令库生成一主线程激励和至少一干扰线程激励的方法优化主线程激励和干扰线程激励的生成方式,进而提高了场景覆盖率,以及验证效率。
技术领域
本发明涉及计算机处理器技术领域,尤其涉及一种同步多线程验证方法及装置。
背景技术
随着CPU技术的发展,CPU的主频与性能不断提高,需要调入指令和数据的速度不断提高。因此,为了开发指令级并行(ILP),在过去的几十年中利用了超标量(同时具备多个执行器)、乱序执行(允许无数据关联性的指令同时运行)、动态分支预测,VLIW(超长指令集)等技术。然而,超标量使设计的复杂性急剧增加,同时,指令之间的数据相关和控制相关,可以开发的ILP也有限,以及一些其他因素,使得经典的超标量结构处理器难以进一步提高处理器性能。
后来出现了两种多线程技术,一种为粗粒度的多线程,在任一时刻只有一个线程执行,当线程遇到一个长延迟事件时,如二级缓存不命中,则系统调度另一个线程执行,而不是让系统资源空转等待此线程,这一机制可以提高整个系统的利用率。另一种与粗粒度多线程相对应的是细粒度多线程技术,采用这种多线程的系统会循环地执行两个线程的指令,这就需要在处理的设计上增加许多冗余的部件。如果一个线程遇到一个长延迟事件,对应这一线程执行的时钟周期在短期内仍然不会被利用。
最后出现的同步多线程技术,充分挖掘了超标量架构处理器的潜力,由可以同时执行一个线程内的多个不同指令发展到同时执行多个线程的指令,很好地结合了超标量技术和多线程技术的优势。因此SMT具有最大的灵活性和资源利用率,然而实现和验证也最复杂。
但是,由于通过随机生成的双线程的方法不仅很难构造多个线程之间资源竞争的场景,而且验证效率很低;或者,通过主线程和定向构造用例的干扰线程的方法不仅导致定向构造用例的干扰线程只能抢占一个特定的执行单元,而且当主线程停止时,无法确保需要特定的竞争场景得到了验证的问题。
发明内容
本发明提供的同步多线程验证方法及装置,能够采用根据指令库生成一主线程激励和至少一干扰线程激励的方法优化主线程激励和干扰线程激励的生成方式,进而提高了场景覆盖率,以及验证效率。
第一方面,本发明提供一种同步多线程验证方法,包括:
构造面向多种竞争场景的指令库;
根据指令库生成一主线程激励和至少一干扰线程激励;
将主线程激励和干扰线程激励生成同步多线程用例,并灌入待测器件内进行验证。
可选地,所述面向多种竞争场景的指令库包括至少两个分别占用特定执行单元的指令集,其中,所述指令集中包括分别面向特定场景的序列。
可选地,所述指令库包括面向定点运算的指令集、面向浮点运算的指令集、面向内存定点读取的指令集、面向内存定点存储的指令集、面向内存浮点读取的指令集、面向内存浮点存储的指令集、面向算术标志位的指令集和面向其他场景的指令集中一种或者任意组合。
可选地,所述根据指令库生成一主线程激励和至少一干扰线程激励包括:
获取同步多线程的用例信息;
根据用例信息配置主线程的随机参数和干扰线程的随机参数;
根据主线程的随机参数生成主线程激励;
根据干扰线程的随机参数生成干扰线程激励。
可选地,所述根据主线程的随机参数生成主线程激励包括:
根据所述主线程的随机参数配置主线程随机序列总长度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于展讯通信(上海)有限公司,未经展讯通信(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710841123.1/2.html,转载请声明来源钻瓜专利网。