CN109522048B - 一种同步多线程中断验证方法及系统 - Google Patents
一种同步多线程中断验证方法及系统 Download PDFInfo
- Publication number
- CN109522048B CN109522048B CN201710841985.4A CN201710841985A CN109522048B CN 109522048 B CN109522048 B CN 109522048B CN 201710841985 A CN201710841985 A CN 201710841985A CN 109522048 B CN109522048 B CN 109522048B
- Authority
- CN
- China
- Prior art keywords
- interrupt
- verification
- scene
- synchronous
- instruction stream
- 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
Links
- 238000012795 verification Methods 0.000 title claims abstract description 178
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000003780 insertion Methods 0.000 claims description 35
- 230000037431 insertion Effects 0.000 claims description 35
- 238000012360 testing method Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 7
- 238000012827 research and development Methods 0.000 abstract description 5
- 238000009826 distribution Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供一种同步多线程中断验证方法及系统,所述方法包括:检测验证场景;根据所述验证场景产生中断并插入同步多线程的指令流中;响应所述中断并执行中断服务程序。本发明能够通过直接根据所检测的验证场景产生中断的方法优化了中断产生的方式,提高了所产生中断的随机性和针对性,使得验证场景能够快速收敛,进而提高了中断验证的充分性,缩短研发周期,降低芯片设计成本。
Description
技术领域
本发明涉及计算机处理器技术领域,尤其涉及一种同步多线程中断验证方法及系统。
背景技术
随着CPU技术的发展,CPU的主频与性能不断提高,需要调入指令和数据的速度不断提高。因此,为了开发指令级并行(ILP),在过去的几十年中利用了超标量(同时具备多个执行器)、乱序执行(允许无数据关联性的指令同时运行)、动态分支预测,超长指令集(VLIW)等技术。然而,超标量使设计的复杂性急剧增加,同时,指令之间的数据相关和控制相关,可以开发的ILP也有限,以及一些其他因素,使得经典的超标量结构处理器难以进一步提高处理器性能,因此,为了提高处理器的性能,则采用同步多线程(SMT),SMT可以在一个时钟周期内执行来自多个线程的指令,利用处理器超标量的思想来提高处理器使用率。
同时,中断是指系统发生某一事件后,CPU暂停正在执行的程序转去执行处理该事件的程序过程,处理中断事件的程序称为中断处理程序,产生中断信号的那个部件称为中断源。硬件的中断机构与处理这些中断的程序统称为中断系统。当中断发生时,硬件机构自动地进入响应中断过程,由操作系统的中断处理程序对中断事件进行处理,具体过程如下:
1、保存现场
系统开辟现场区,并将现场区组织成“栈”结构,当中断响应时,(1)硬件结构自动将PS和PC寄存器的内容压入栈中作为现场信息保存起来。(2)根据发生的中断,硬件从指定的中断向量单元中取出PS和PC内容,分别装入PS和PC寄存器,同时正确填入寄存器的“当前状态”和“先前状态”字段。
2、分析原因,转中断处理程序
不同原因产生的中断事件要进行不同的处理,根据中断的路寄存器内容得出发生该种中断的具体原因。转入相对应的中断处理程序运行。
3、恢复现场
在多级中断系统中,考虑退回当前中断时,必须依据原先被中断的程序,完成不同的工作,中断处理结束后,软件必须退出中断。如果此次是高级中断,并且被中断的程序是一个低级中断处理程序,则此次中断应返回到该低级中断处理程序。如果原来被中断的是用户程序,则退出中断前应先考虑进行一次调度选择,以挑选出更适合在当前情况下运行的新程序。
但是,由于同步多线程系统中多个线程会共享所有的执行单元,多个线程在执行单元的分配上存在竞争关系,这种竞争会导致流水线阻塞。因此,当通过场景配置相应参数产生中断的方式时,需在参考模型中配置中断以及中断服务程序,且响应中断时,处理器跳转至中断服务程序,通过对比参考模型和待测设计的行为,判断中断能否正确执行,但是由于执行时间以及许可的限制,导致验证周期长,充分性低的问题;或者,当针对某些特定的场景,采用人工方式撰写该类的测试用例时,由于需要逐级分析流水线的结构,并合理的安排指令的排布,导致验证效率低,难度大的问题。
发明内容
本发明提供的同步多线程中断验证方法及系统,能够通过直接根据所检测的验证场景产生中断的方法优化了中断产生的方式,提高了所产生中断的随机性和针对性,使得验证场景能够快速收敛,进而提高了中断验证的充分性,缩短研发周期,降低芯片设计成本。
第一方面,本发明提供一种同步多线程中断验证方法,包括:
检测验证场景;
根据所述验证场景产生中断并插入同步多线程的指令流中;
响应所述中断并执行中断服务程序。
可选地,所述根据所述验证场景产生中断并插入同步多线程的指令流中包括:
根据所述验证场景配置中断参数;
根据所述中断参数产生中断并插入同步多线程的指令流中。
可选地,所述根据所述中断参数产生中断并插入同步多线程的指令流中包括:
根据所述中断参数产生中断;
判断验证场景是否为预设的特殊场景,如果不是预设的特殊场景,则将中断随机插入同步多线程的指令流中;如果是预设的特殊场景,则根据所述预设特殊场景确定中断插入时间和中断频率,并按所述中断插入时间和中断频率将中断插入同步多线程的指令流中。
可选地,所述验证场景与中断参数相对应,其对应关系储存在中断发生单元内。
可选地,所述中断参数包括中断频率、中断类型和中断插入时间中一种或者任意组合。
可选地,所述响应所述中断并执行中断服务程序之后还包括:
获取中断响应前保存的第一现场结果和中断响应完成后恢复的第二现场结果;
将第一现场结果和第二现场结果进行对比分析,判断所述中断是否正确执行,如果所述中断正确执行,则执行下一步;如果所述中断未正确执行,则调整所配置的中断参数,并根据调整后的中断参数产生中断并插入同步多线程的指令流中。
可选地,当所述中断正确执行后还包括:
判断是否覆盖验证场景对应的所有测试点,如果是,则结束中断验证;如果否,则继续检测验证场景。
第二方面,本发明提供一种同步多线程中断验证系统,包括:
中断发生单元,用于首先检测验证场景,然后根据所述验证场景产生中断;
插入单元,用于将所述中断插入同步多线程的指令流中;
执行单元,用于响应所述中断并执行中断服务程序。
可选地,所述中断发生单元包括:
检测模块,用于检测验证场景;
配置模块,用于根据所述验证场景配置中断参数;
中断产生模块,用于根据所述中断参数产生中断。
可选地,所述插入单元包括:
判断模块,用于判断验证场景是否为预设的特殊场景;
随机插入模块,用于当所述验证场景不是预设的特殊场景时,将中断随机插入同步多线程的指令流中;
特殊插入模块,用于当所述验证场景是预设的特殊场景时,根据所述预设特殊场景确定中断插入时间和中断频率,并按所述中断插入时间和中断频率将中断插入同步多线程的指令流中。
可选地,所述系统还包括:
获取单元,用于获取中断响应前保存的第一现场结果和中断响应完成后恢复的第二现场结果;
对比分析单元,用于将第一现场结果和第二现场结果进行对比分析,判断所述中断是否正确执行;
调整单元,用于当所述中断未正确执行时,调整所配置的中断参数。
可选地,所述系统还包括:
判断单元,用于当所述中断正确执行后,判断是否覆盖验证场景对应的所有测试点。
本发明实施例提供的同步多线程中断验证方法及系统,所述方法通过直接检测验证环境,并根据所述验证环境产生中断,并按照所述验证环境的需求将中断插入同步多线程的指令流中;例如,当所述验证场景为常规场景时,所述验证方法通过在同步多线程的指令流中随机插入中断,进而提高所述中断验证方法的随机性;或者,当所述验证场景为预设的特殊场景,所述验证方法按预设的特殊场景的需求,控制在同步多线程的指令流中的中断插入时间和中断频率,进而实现对所述同步多线程中断的定点验证,使得中断场景的快速收敛;或者,当所述验证场景为多线程中断嵌套场景时,所述验证方法中在一个线程响应中断时,则将中断插入其他若干个线程的指令流中,进而通过所述验证方法实现了对多个线程在执行单元的分配上所存在的竞争关系的验证,提高了中断验证的充分性;最后所述验证方法根据所插入的中断进行响应,则跳转至中断程序并执行所述中断服务程序。
综上所述,本实施例所述方法采用直接根据验证场景产生中断的方法优化了产生中断的方式,提高了所产生中断的随机性和针对性,所述方法不仅能够帮助验证人员定位验证场景,避免了生成测试用例所面临的一切困难,还能够保证验证场景的快速收敛,极大地降低了同步多线程中断验证的复杂度,提高了中断验证的充分性,缩短研发周期,降低芯片设计成本。
附图说明
图1为本发明一实施例同步多线程中断验证方法的流程图;
图2为本发明另一实施例同步多线程中断验证方法的流程图;
图3为本发明一实施例同步多线程中断验证系统的结构示意图;
图4为本发明另一实施例同步多线程中断验证系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种同步多线程中断验证方法,如图1所示,所述方法包括:
S11、检测验证场景;
S12、根据所述验证场景产生中断并插入同步多线程的指令流中;
S13、响应所述中断并执行中断服务程序。
本发明实施例提供的同步多线程中断验证方法通过直接检测验证环境,并根据所检测的验证环境产生中断,并按照所述验证环境的需求将中断插入同步多线程的指令流中;例如,当所述验证场景为常规场景时,所述验证方法通过在同步多线程的指令流中随机插入中断,进而提高所述中断验证方法的随机性;或者,当所述验证场景为预设的特殊场景,所述验证方法按预设的特殊场景的需求,控制在同步多线程的指令流中的中断插入时间和中断频率,进而实现对所述同步多线程中断的定点验证,使得中断场景的快速收敛;或者,当所述验证场景为多线程中断嵌套场景时,所述验证方法中在一个线程响应中断时,则将中断插入其他若干个线程的指令流中,进而通过所述验证方法实现了对多个线程在执行单元的分配上所存在的竞争关系的验证,提高了中断验证的充分性;最后所述验证方法根据所插入的中断进行响应,则跳转至中断程序并执行所述中断服务程序。
综上所述,本实施例所述方法直接根据所检测验证场景产生中断的方法优化了中断产生的方式,提高了所产生中断的随机性和针对性,所述方法不仅能够帮助验证人员定位验证场景,避免了生成测试用例所面临的一切困难,还能够保证验证场景的快速收敛,极大地降低了同步多线程中断验证的复杂度,提高了中断验证的充分性,缩短研发周期,降低芯片设计成本。
可选地,如图2所示,所述根据所述验证场景产生中断并插入同步多线程的指令流中包括:
S121、根据所述验证场景配置中断参数;
根据所述中断参数产生中断并插入同步多线程的指令流中。
可选地,所述根据所述中断参数产生中断并插入同步多线程的指令流中包括:
S122、根据所述中断参数产生中断;
S123、判断验证场景是否为预设的特殊场景,如果不是预设的特殊场景,则将中断随机插入同步多线程的指令流中;如果是预设的特殊场景,则根据所述预设特殊场景确定中断插入时间和中断频率,并按所述中断插入时间和中断频率将中断插入同步多线程的指令流中。
具体的,本实施例中所述方法中通过将同步多线程共享执行单元下的特殊场景预先设置形成预设的特殊场景,并储存在中断发生单元中,检测验证场景后将验证场景和预设的特殊场景进行对比,进而检测出预设的特殊场景,然后根据当前所检测预设的特殊场景配置合理的中断参数,按照所述中断参数控制将中断插入同步多线程的指令流中,进而验证同步多线程特殊场景的中断响应;例如,当由FLASH到分支预测的验证场景时,则需控制在FLASH和分支预测之间插入一外部中断。因此,所述验证方法优化了中断验证的方法,提高了中断验证的针对性,进而确保验证人员预期测试点能够被覆盖到,弥补了传统随机测试验证周期长,定向测试消耗验证人员大量的时间去编写测试激励,构造验证场景效率低,验证充分性不足等问题;
可选地,所述验证场景与中断参数相对应,其对应关系储存在中断发生单元内。
具体的,本实施例中所述方法检测验证场景,通过验证场景与中断参数对应关系可直接根据所检测到的验证场景配置中断参数,进而提高了同步多线程中断验证的效率。
可选地,所述中断参数包括中断频率、中断类型和中断插入时间中一种或者任意组合。
具体的,所述中断类型包括快速中断请求(FIQ)、中断请求(IRQ)和系统请求(Serror);其中,本实施例中所述方法中还可根据验证场景产生一种类型的中断、或者不同中断类型的中断组合,例如,当所述验证场景为常规场景时,所述验证方法通过验证场景确定中断类型,并根据中断类型生成中断;然后随机确定中断频率和中断插入时间,进而实现在同步多线程的指令流中随机插入中断,进而提高所述中断验证方法的随机性;或者,当所述验证场景为预设的特殊场景,所述验证方法首先按预设的特殊场景的需求确定中断频率、中断类型和中断插入时间,然后按照所述中断类型生成中断,最后按中断插入时间和中断频率向同步多线程的指令流中插入中断;或者,当所述验证场景为多线程中断嵌套场景时,所述验证方法中在一个线程响应中断时,则向其他若干个线程的指令流中所插入的中断类型相同,或由FIQ、IRQ和Serror之间的任意组合。
可选地,所述响应所述中断并执行中断服务程序之后还包括:
S14、获取中断响应前保存的第一现场结果和中断响应完成后恢复的第二现场结果;
S15、将第一现场结果和第二现场结果进行对比分析,判断所述中断是否正确执行,如果所述中断正确执行,则执行下一步;如果所述中断未正确执行,则调整所配置的中断参数,并根据调整后的中断参数产生中断并插入同步多线程的指令流中。
具体的,本实施例中所述验证方法是在同步多线程的指令流中随机插入中断,在响应中断前需要保护现场并形成第一现场结果,与中断结束后恢复的第二现场结果进行对比,判断所述中断是否正确执行;其中,当第一现场结果和第二现场结果一致时所述中断正确执行,则完成此次中断验证并结束验证或者调整中断参数执行下一轮的中断验证;当第一现场结果和第二现场结果不一致时所述中断未正确执行,则需要对中断参数进行调整,并用调整后的中断参数重新进行中断验证,进一步保证所述中断验证的效果。
可选地,当所述中断正确执行后还包括:
S16、判断是否覆盖验证场景对应的所有测试点,如果是,则结束中断验证;如果否,则继续检测验证场景。
具体的,本实施例中通过对验证场景的所述测试点进行分析,判断是否覆盖验证场景对应的所有测试点,根据测试点的覆盖情况,选择结束中断验证或者继续中断验证,进一步的降低了验证难度,提高了所述中断验证的效率,缩短了验证周期。
本发明实施例还提供一种同步多线程中断验证系统,如图3所示,所述系统包括:
中断发生单元11,用于首先检测验证场景,然后根据所述验证场景产生中断;
插入单元12,用于将所述中断插入同步多线程的指令流中;
执行单元13,用于响应所述中断并执行中断服务程序。
本发明实施例提供的同步多线程中断验证系统通过中断发生单元11直接检测验证环境,并根据所述验证环境产生中断,并按照所述验证环境的需求通过插入单元12将中断插入同步多线程的指令流中;例如,当所述验证场景为常规场景时,所述验证系统通过插入单元12在同步多线程的指令流中随机插入中断,进而提高所述中断验证方法的随机性;或者,当所述验证场景为预设的特殊场景,所述验证系统按预设的特殊场景的需求,通过验证系统控制在同步多线程的指令流中的中断插入时间和中断频率,进而实现对所述同步多线程中断的定点验证,使得中断场景的快速收敛;或者,当所述验证场景为多线程中断嵌套场景时,所述执行单元13在一个线程响应中断时,则通过插入单元12将中断插入其他若干个线程的指令流中,进而通过所述验证方法实现了对多个线程在执行单元的分配上所存在的竞争关系的验证,提高了中断验证的充分性;最后所述执行单元13根据所插入的中断进行响应,并执行中断服务程序。
综上所述,本实施例所述系统构造一直接根据所检测的验证场景产生中断的中断发生单元11,进而优化了所述验证系统中断产生的方式,提高了所产生中断的随机性和针对性,所述验证系统不仅能够帮助验证人员定位验证场景,避免了生成测试用例所面临的一切困难,还能够保证验证场景的快速收敛,极大地降低了同步多线程中断验证的复杂度,提高了中断验证的充分性,缩短研发周期,降低芯片设计成本。
可选地,如图4所示,所述中断发生单元11包括:
检测模块111,用于检测验证场景;
配置模块112,用于根据所述验证场景配置中断参数;
中断产生模块113,用于根据所述中断参数产生中断。
可选地,所述插入单元12包括:
判断模块122,用于判断验证场景是否为预设的特殊场景;
随机插入模块121,用于当所述验证场景不是预设的特殊场景时,将中断随机插入同步多线程的指令流中;
特殊插入模块123,用于当所述验证场景是预设的特殊场景时,根据所述预设特殊场景确定中断插入时间和中断频率,并按所述中断插入时间和中断频率将中断插入同步多线程的指令流中。
可选地,所述系统还包括:
获取单元14,用于获取中断响应前保存的第一现场结果和中断响应完成后恢复的第二现场结果;
对比分析单元15,用于将第一现场结果和第二现场结果进行对比分析,判断所述中断验证是否正确执行;
调整单元16,用于当所述中断未正确执行时,调整所配置的中断参数。
可选地,所述系统还包括:
判断单元17,用于当所述中断正确执行后,判断是否覆盖验证场景对应的所有测试点。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (12)
1.一种同步多线程中断验证方法,其特征在于,包括:
检测验证场景;
根据所述验证场景确定中断类型,根据中断类型产生中断并插入同步多线程的指令流中;
响应所述中断并执行中断服务程序。
2.根据权利要求1所述的方法,其特征在于,所述根据所述验证场景确定中断类型,根据中断类型产生中断并插入同步多线程的指令流中包括:
根据所述验证场景配置中断参数;
根据所述中断参数产生中断并插入同步多线程的指令流中。
3.根据权利要求2所述的方法,其特征在于,所述根据所述中断参数产生中断并插入同步多线程的指令流中包括:
根据所述中断参数产生中断;
判断验证场景是否为预设的特殊场景,如果不是预设的特殊场景,则将中断随机插入同步多线程的指令流中;如果是预设的特殊场景,则根据所述预设的特殊场景确定中断插入时间和中断频率,并按所述中断插入时间和中断频率将中断插入同步多线程的指令流中。
4.根据权利要求2或3所述的方法,其特征在于,所述验证场景与中断参数相对应,其对应关系储存在中断发生单元内。
5.根据权利要求2或3所述的方法,其特征在于,所述中断参数包括中断频率、中断类型和中断插入时间中一种或者任意组合。
6.根据权利要求2或3所述的方法,其特征在于,所述响应所述中断并执行中断服务程序之后还包括:
获取中断响应前保存的第一现场结果和中断响应完成后恢复的第二现场结果;
将第一现场结果和第二现场结果进行对比分析,判断所述中断是否正确执行,如果所述中断正确执行,则执行下一步;如果所述中断未正确执行,则调整所配置的中断参数,并根据调整后的中断参数产生中断并插入同步多线程的指令流中。
7.根据权利要求6所述的方法,其特征在于,当所述中断正确执行后还包括:
判断是否覆盖验证场景对应的所有测试点,如果是,则结束中断验证;如果否,则继续检测验证场景。
8.一种同步多线程中断验证系统,其特征在于,包括:
中断发生单元,用于首先检测验证场景,然后根据所述验证场景确定中断类型,根据中断类型产生中断;
插入单元,用于将所述中断插入同步多线程的指令流中;
执行单元,用于响应所述中断并执行中断服务程序。
9.根据权利要求8所述的系统,其特征在于,所述中断发生单元包括:
检测模块,用于检测验证场景;
配置模块,用于根据所述验证场景配置中断参数;
中断产生模块,用于根据所述中断参数产生中断。
10.根据权利要求8或9所述的系统,其特征在于,所述插入单元包括:
判断模块,用于判断验证场景是否为预设的特殊场景;
随机插入模块,用于当所述验证场景不是预设的特殊场景时,将中断随机插入同步多线程的指令流中;
特殊插入模块,用于当所述验证场景是预设的特殊场景时,根据所述预设的特殊场景确定中断插入时间和中断频率,并按所述中断插入时间和中断频率将中断插入同步多线程的指令流中。
11.根据权利要求8或9所述的系统,其特征在于,所述系统还包括:
获取单元,用于获取中断响应前保存的第一现场结果和中断响应完成后恢复的第二现场结果;
对比分析单元,用于将第一现场结果和第二现场结果进行对比分析,判断所述中断是否正确执行;
调整单元,用于当所述中断未正确执行时,调整所配置的中断参数。
12.根据权利要求8或9所述的系统,其特征在于,所述系统还包括:
判断单元,用于当所述中断正确执行后,判断是否覆盖验证场景对应的所有测试点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710841985.4A CN109522048B (zh) | 2017-09-18 | 2017-09-18 | 一种同步多线程中断验证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710841985.4A CN109522048B (zh) | 2017-09-18 | 2017-09-18 | 一种同步多线程中断验证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522048A CN109522048A (zh) | 2019-03-26 |
CN109522048B true CN109522048B (zh) | 2023-05-23 |
Family
ID=65768074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710841985.4A Active CN109522048B (zh) | 2017-09-18 | 2017-09-18 | 一种同步多线程中断验证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522048B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209175B (zh) * | 2020-01-06 | 2023-11-03 | 超越科技股份有限公司 | 一种外部中断响应性能测试系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097514A (zh) * | 2006-06-27 | 2008-01-02 | 国际商业机器公司 | 启用同时多线程(smt)的系统及其管理方法 |
CN101331450A (zh) * | 2005-10-18 | 2008-12-24 | 高通股份有限公司 | 用于数字信号处理器的共享中断控制方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003263331A (ja) * | 2002-03-07 | 2003-09-19 | Toshiba Corp | マルチプロセッサシステム |
WO2011091597A1 (zh) * | 2010-01-29 | 2011-08-04 | 上海贝尔股份有限公司 | 将voip呼叫从分组交换域切换到电路交换域的方法和设备 |
CN103677997B (zh) * | 2012-09-21 | 2017-04-12 | 宏达国际电子股份有限公司 | 多核心装置以及其多线程调度方法 |
CN103888987B (zh) * | 2014-03-21 | 2017-12-19 | 电信科学技术研究院 | 一种数据传输及其控制方法及装置 |
-
2017
- 2017-09-18 CN CN201710841985.4A patent/CN109522048B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101331450A (zh) * | 2005-10-18 | 2008-12-24 | 高通股份有限公司 | 用于数字信号处理器的共享中断控制方法及系统 |
CN101097514A (zh) * | 2006-06-27 | 2008-01-02 | 国际商业机器公司 | 启用同时多线程(smt)的系统及其管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109522048A (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106257411B (zh) | 单指令多线程计算系统及其方法 | |
KR101957533B1 (ko) | 가상 머신 브랜칭 및 병렬 실행 기법 | |
CN104731560B (zh) | 支持多线程处理的功能单元、处理器及其操作方法 | |
US8719801B2 (en) | Timing analysis of concurrent programs | |
US10430191B2 (en) | Methods and apparatus to compile instructions for a vector of instruction pointers processor architecture to enable speculative execution and avoid data corruption | |
US20110167413A1 (en) | Coverage apparatus and method for testing multi-thread environment | |
US11182318B2 (en) | Processor and interrupt controller | |
Lu et al. | Racechecker: efficient identification of harmful data races | |
KR20150007806A (ko) | 멀티스레드 프로그램에 대한 테스트 커버리지 정보를 이용한 자동 테스트 생성 장치, 방법 및 기록매체 | |
CN109522048B (zh) | 一种同步多线程中断验证方法及系统 | |
CN111241599B (zh) | 一种处理器芯片安全依赖的动态识别及维护方法 | |
CN109522049B (zh) | 一种同步多线程系统中共享寄存器的验证方法及装置 | |
CN101164042A (zh) | 在条件指令将不执行时停止等待源操作数 | |
CN110543395B (zh) | 验证方法、装置以及相关产品 | |
CN109240701A (zh) | 一种面向谓词执行高性能dsp的指令依赖关系分析方法 | |
US11436013B2 (en) | Method and system for detection of thread stall | |
CN109522047B (zh) | 一种同步多线程验证方法及装置 | |
US7523297B1 (en) | Shadow scan decoder | |
CN109634834B (zh) | 一种同步多线程系统中独占访存的验证方法及装置 | |
US20120096442A1 (en) | Coverage apparatus and method for testing multithreading environment | |
JPH0454638A (ja) | 電子計算機 | |
US20070266230A1 (en) | Information processing method and instruction generating method | |
US11966726B2 (en) | Operating system (OS) scheduler and compiler for code generation optimization in a (simultaneous multi-threading) SMT enabled CPU | |
US20230237010A1 (en) | Power efficient memory value updates for arm architectures | |
KR101721341B1 (ko) | 이종 멀티코어 환경에서 사용되는 수행장치 결정 모듈 및 이를 이용한 수행장치 결정방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |