【技术实现步骤摘要】
一种多核CPU乱序执行的检测方法、装置、设备和介质
[0001]本申请涉及计算机
,特别是涉及一种多核CPU乱序执行的检测方法、装置、设备和计算机可读存储介质。
技术介绍
[0002]中央处理器(Central Processing Unit,CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU乱序执行技术是CPU允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。乱序执行(out
‑
of
‑
orderexecution)将根据各电路单元的状态和各指令能否提前执行的具体情况,将能提前执行的指令立即发送给相应电路单元执行,在这期间不按规定顺序执行指令,然后由重新排列单元将各执行单元结果按指令顺序重新排列。
[0003]采用乱序执行技术的目的是为了使CPU内部电路满负荷运转并相应提高CPU的运行程序的速度。这好比请A、B、C三个人为晚会题写横幅“乱序执行技术”六个大字,每人各写两个字。如果这时在一张大纸上按顺序由A写好"乱序"后再交给 ...
【技术保护点】
【技术特征摘要】
1.一种多核CPU乱序执行的检测方法,其特征在于,包括:对创建的第一全局变量和第二全局变量设置初始操作;调用第一子线程做随机延时,并对所述第一全局变量赋予非初始操作,对第三全局变量赋值为所述第二全局变量;调用第二子线程做随机延时,并对所述第二全局变量赋予非初始操作,对第四全局变量赋值为所述第一全局变量;其中,所述第一子线程和所述第二子线程部署在不同的CPU上;在检测到所述第一子线程和所述第二子线程完成操作的情况下,依据所述初始操作、所述第三全局变量和所述第四全局变量的操作结果,确定出多核CPU是否存在乱序执行。2.根据权利要求1所述的多核CPU乱序执行的检测方法,其特征在于,所述对创建的第一全局变量和第二全局变量设置初始操作包括:对创建的第一全局变量和第二全局变量均赋值为相同的目标值。3.根据权利要求2所述的多核CPU乱序执行的检测方法,其特征在于,所述依据所述初始操作、所述第三全局变量和所述第四全局变量的操作结果,确定出多核CPU是否存在乱序执行包括:在所述第三全局变量和所述第四全局变量的操作结果均为所述目标值的情况下,确定出多核CPU存在乱序执行。4.根据权利要求2所述的多核CPU乱序执行的检测方法,其特征在于,所述依据所述初始操作、所述第三全局变量和所述第四全局变量的操作结果,确定出多核CPU是否存在乱序执行包括:在所述第三全局变量和所述第四全局变量的操作结果不均为所述目标值的情况下,确定出多核CPU不存在乱序执行。5.根据权利要求1所述的多核CPU乱序执行的检测方法,其特征在于,所述对创建的第一全局变量和第二全局变量设置初始操作包括:对创建的第一全局变量赋值为第一数值,对创建的第二全局变量赋值为第二数值;其中,所述第一数值和所述第二数值的取值不同。6.根据权利要求5所述的多核CPU乱序执行的检测方法,其特征在于,所述依据所述初始操作、所述第三全局变量和所述第四全局变量的操作结果,确定出多核CPU是否存在乱序执行包括:在所述第三全局变量为所述第二数值,所述第四全局变量为所述第一数值的情况下,确定出多核CPU存在乱序执行。7.根据权利要求5所述的多核CPU乱序执行的检测方法,其特征在于,所述依据所述初始操作、所述第三全局变量和所述第四全局变量的操作结果,确定出多核CPU是否存在乱序执行包括:在所述第三全局变量不为所述第二数值或者所述第四全局变量不为所述第一数值的情况下,确定出多核CPU不存在乱序执行。8.根据权利要求1所述的多核CPU乱序执行的检测方法,其特征在于,在所述对创建的第一全局变量和第二全局变量设置初始操作之前还包括:预定义多个全局变量以及用于控制各线程的信号量;
相应的,在所述对创建的第一全局变量和第二全局变量设置初始操作之后还包括:释放第一子线程对应的第一开始信号量和第二子线程对应的第二开始信号量。9.根据权利要求8所述的多核CPU乱序执行的检测方法,其特征在于,所述调用第一子线程做随机延时包括:在检测到第一开始信号量的情况下,第一子线程调用马特赛特旋转演算法做随机延时。10.根据权利要求8所述的多核CPU乱序执行的检测方法,其特征在于,所述调用第二子线程做随机延时包括:在检测到第二开始信号量的情况下,第二子线程调用马特赛特旋转演算法做随机延时。11.根...
【专利技术属性】
技术研发人员:孙明刚,李辉,刘清林,
申请(专利权)人:浪潮电子信息产业股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。