CN108415842B - 多核处理器 - Google Patents
多核处理器 Download PDFInfo
- Publication number
- CN108415842B CN108415842B CN201810234766.4A CN201810234766A CN108415842B CN 108415842 B CN108415842 B CN 108415842B CN 201810234766 A CN201810234766 A CN 201810234766A CN 108415842 B CN108415842 B CN 108415842B
- Authority
- CN
- China
- Prior art keywords
- debugging
- event
- module
- circuit
- debug
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31705—Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31701—Arrangements for setting the Unit Under Test [UUT] in a test mode
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31723—Hardware for routing the test signal within the device under test to the circuits to be tested, e.g. multiplexer for multiple core testing, accessing internal nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3632—Software debugging of specific synchronisation aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供一种多核处理器。所述多核处理器包括:多个内核以及调试模块,所述调试模块包括与所述内核个数相同的调试电路、与所述内核个数相同的传输控制器以及一个总控电路,每个所述调试电路分别与一个内核和一个传输控制器连接,所有的传输控制器均与所述总控电路连接,其中,每个所述调试电路,用于各自产生调试事件信号,并响应各自产生的调试事件信号或者接收到的其他调试电路产生的调试事件信号;每个所述传输控制器,用于在各自所连接的调试电路和所述总控电路之间控制调试事件信号的传输;所述总控电路,用于在不同传输控制器之间转发调试事件信号。本发明能够实现快速配置控制调试事件信号的传输,同时降低调试模块的功耗。
Description
技术领域
本发明涉及处理器技术领域,尤其涉及一种多核处理器。
背景技术
处理器调试可以分为侵入式(intrusive)调试和非侵入式(non-intrusive)调试。侵入式调试使数据处理器停止运行而获取处理器内部信息;非侵入式调试不影响数据处理器的正常运行,能够实时获取处理器内部信息。支持侵入式调试和非侵入式调试功能已经成为多核处理器调试模块的基本需求。如今主流的多核处理器调试方案是ARM提供的CORESIGHT调试架构。
CORESIGHT提供了侵入式调试和非侵入式调试功能。一个CORESIGHT模块是由调试转换接口(Debug Access Port)和调试组件(Debug Component)组成,调试转换接口提供了一种外部JTAG接口访问内部调试组件的机制。调试组件包含调试寄存器组件,调试事件信号传输控制组件,其中调试寄存器组件用于配置调试条件,调试事件信号传输控制组件用于控制调试事件信号在多核之间的传输。调试事件信号传输控制组件由交叉传输接口(Cross Trigger Interface)和交叉传输矩阵(Cross Trigger Matrix)组成。通过配置交叉传输接口实现调试事件信号传输的控制。
现有的多核处理器调试方案为了实现调试事件信号的同步传输,往往需要配置多个寄存器,在物理上增加了调试模块的功耗,同时影响了调试的效率。因此,有必要提供一种低功耗并且高效的调试事件信号传输解决方案,既能实现快速配置控制调试事件信号的传输,也能降低调试模块的功耗。
发明内容
本发明提供的多核处理器,能够实现快速配置控制调试事件信号的传输,同时降低调试模块的功耗。
本发明提供一种多核处理器,包括:多个内核以及调试模块,所述内核用于完成指令的执行和数据处理,并输出指令执行信息;所述调试模块包括与所述内核个数相同的调试电路、与所述内核个数相同的传输控制器以及一个总控电路,每个所述调试电路分别与一个内核和一个传输控制器连接,所有的传输控制器均与所述总控电路连接,其中,
每个所述调试电路,用于各自产生调试事件信号,每个所述调试电路产生的调试事件信号经各自所连接的传输控制器、所述总控电路、各自的目标调试电路所连接的传输控制器传输至各自的目标调试电路;还用于响应各自产生的调试事件信号或者接收到的其他调试电路产生的调试事件信号,控制各自所连接的内核进入或者退出调试模式,在所述内核进入调试模式后,对所述内核执行调试操作;
每个所述传输控制器,用于在各自所连接的调试电路和所述总控电路之间控制调试事件信号的传输;
所述总控电路,用于在不同传输控制器之间转发调试事件信号。
可选地,所述调试电路包括事件产生模块、响应模块以及事件清零模块,其中,
所述事件产生模块,用于产生调试事件信号,所述调试事件信号一方面直接进入所述事件产生模块所属调试电路的响应模块,另一方面以高电平信号的形式经所述事件产生模块所连接的传输控制器、所述总控电路、各目标调试电路的响应模块所连接的传输控制器传输至各所述目标调试电路的响应模块;
所述响应模块,用于响应输入的高电平调试事件信号,以控制所连接的内核进入或者退出调试模式,在所述内核进入调试模式后,对所述内核执行调试操作;还用于在每次响应所述高电平调试事件信号之后,向发起所述高电平调试事件信号的事件产生模块所属调试电路的事件清零模块发送清零指示信号;
所述事件清零模块,用于在接收到所述事件清零模块所属调试电路的响应模块以及所有目标调试电路的响应模块发出的清零指示信号后,向所连接的事件产生模块发送清零信号。
可选地,所述调试电路包括事件产生模块、采样模块、响应模块以及事件清零模块,其中,
所述事件产生模块,用于产生调试事件信号,所述调试事件信号一方面直接进入所述事件产生模块所属调试电路的采样模块,另一方面以脉冲信号的形式经所述事件产生模块所连接的传输控制器、所述总控电路、各目标调试电路的采样模块所连接的传输控制器传输至各所述目标调试电路的采样模块;
所述采样模块,用于对输入的脉冲调试事件信号进行采样,输出高电平的采样电平;
所述响应模块,用于接收所连接的采样模块输出的采样电平,响应所述采样电平对应的脉冲调试事件信号,以控制所连接的内核进入或者退出调试模式,在所述内核进入调试模式后,对所述内核执行调试操作;还用于在每次响应所述脉冲调试事件信号之后,向所连接的采样模块发送清零信号,并向发起所述脉冲调试事件信号的事件产生模块所属调试电路的事件清零模块发送清零指示信号;
所述事件清零模块,用于在接收到所述事件清零模块所属调试电路的响应模块以及所有目标调试电路的响应模块发出的清零指示信号后,向所连接的事件产生模块发送清零信号。
可选地,所述事件产生模块产生的调试事件信号包括进入调试模式事件信号和退出调试模式事件信号。
可选地,所述事件产生模块被配置为直接产生所述进入调试模式事件信号,或者,被配置为当与所述事件产生模块所连接的内核满足设定的调试条件时,产生所述进入调试模式事件信号。
可选地,所述事件产生模块被配置为当与所述事件产生模块所连接的内核满足设定的调试条件时,产生所述进入调试模式事件信号,所述事件产生模块包括:追踪调试控制寄存器、追踪调试计数寄存器及追踪调试监测模块,其中,
所述追踪调试控制寄存器,用于使能所述追踪调试监测模块;
所述追踪调试计数寄存器,用于配置所述内核进入调试模式所需执行指令的数量;
所述追踪调试监测模块,用于监测所述内核执行指令的数量,当指令执行数量与所述追踪调试计数寄存器中配置的数量相等时,所述追踪调试监测模块产生所述进入调试模式事件信号。
可选地,所述事件产生模块被配置为直接产生所述退出调试模式事件信号。
可选地,所述传输控制器包括:传入控制电路和传出控制电路,其中,
所述传入控制电路,用于禁止或者允许接收所述总控电路转发的其他调试电路产生的调试事件信号;
所述传出控制电路,用于禁止或者允许向所述总控电路传输所述传输控制器所连接的调试电路产生的调试事件信号。
可选地,所述总控电路包括:连接矩阵电路,通过设置所述连接矩阵电路,接收每个传输控制器传来的调试事件信号,并将接收到的调试事件信号发送给所有其他的传输控制器。
本发明提供的多核处理器,包括多个内核以及调试模块,所述内核用于完成指令的执行和数据处理,并输出指令执行信息;所述调试模块包括与所述内核个数相同的调试电路、与所述内核个数相同的传输控制器以及一个总控电路,每个所述调试电路分别与一个内核和一个传输控制器连接,所有的传输控制器均与所述总控电路连接,通过调试电路产生调试事件信号,并通过传输控制器、总控电路在不同的调试电路之间传输调试事件信号,实现多内核的同步调试。与现有技术相比,本发明结构简单,调试电路、传输控制器、总控电路便于配置,能够实现快速配置控制调试事件信号的传输,同时降低调试模块的功耗。
附图说明
图1为本发明的多核处理器的一个实施例的整体结构图;
图2为本发明的多核处理器的调试模块的一个实施例的结构示意图;
图3为本发明的多核处理器的调试模块的另一个实施例的结构示意图;
图4为本发明的多核处理器的调试模块的又一个实施例的结构示意图;
图5为本发明的多核处理器的调试模块的再一个实施例的结构示意图;
图6为本发明的事件产生模块的一个实施例的结构示意图;
图7为本发明的传输控制器的一个实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种多核处理器,如图1所示,所述多核处理器10包括:第一内核12、第二内核13以及调试模块11,其中,
所述调试模块11包括第一调试电路14和第二调试电路15,第一传输控制器16和第二传输控制器17,以及总控电路18,第一调试电路14和第二调试电路15彼此为对方的目标调试电路,第一调试电路14分别与第一内核12和第一传输控制器16连接,第二调试电路15分别与第二内核13和第二传输控制器17连接,第一传输控制器16和第二传输控制器17均与总控电路18连接,
第一内核12,用于完成指令的执行和数据处理,将指令执行和数据信息传输至第一调试电路14;
第二内核13,用于完成指令的执行和数据处理,将指令执行和数据信息传输至第二调试电路15;
第一调试电路14,用于产生第一调试事件信号140,并响应第一调试事件信号140,根据第一调试事件信号140向所连接的第一内核12发送进入调试模式命令或者退出调试模式命令,以控制第一内核12进入或者退出调试模式,在第一内核12进入调试模式后,对第一内核12执行调试操作;还用于响应第二调试电路15产生的第二调试事件信号150,将第二调试事件信号150发送到所连接的第一内核12,以控制第一内核12进入或者退出调试模式,在第一内核12进入调试模式后,对第一内核12执行调试操作,其中,第二调试事件信号150经第二传输控制器17、总控电路18、第一传输控制器16传输至第一调试电路14;
第二调试电路15,用于产生第二调试事件信号150,并响应第二调试事件信号150,根据第二调试事件信号150向所连接的第二内核13发送进入调试模式命令或者退出调试模式命令,以控制第二内核13进入或者退出调试模式,在第二内核13进入调试模式后,对第二内核13执行调试操作;还用于响应第一调试电路14产生的第一调试事件信号140,将第一调试事件信号140发送到所连接的第二内核13,以控制第二内核13进入或者退出调试模式,在第二内核13进入调试模式后,对第二内核13执行调试操作,其中,第一调试事件信号140经第一传输控制器16、总控电路18、第二传输控制器17传输至第二调试电路15;
第一传输控制器16,用于控制第一/第二调试事件信号在第一调试电路14和总控电路18之间的传输;
第二传输控制器17,用于控制第一/第二调试事件信号在第二调试电路15和总控电路18之间的传输;
总控电路18,用于在第一传输控制器16和第二传输控制器17之间转发第一/第二调试事件信号。
本申请所说的响应调试事件信号,是指根据调试事件信号向所连接的内核发送进入调试模式命令或者退出调试模式命令,以控制内核进入或者退出调试模式。
可选的,本发明实施例中的调试电路产生的调试事件信号可以有两种传输方式:以电平信号或者脉冲信号传输调试事件信号。针对两种信号传输方式,调试电路的结构略有不同,下面举例说明。
当以高电平信号传输调试事件信号时,需要将调试电路产生的调试事件信号清零,整个调试模块的结构如图2所示。
以两个调试电路为例,调试电路21包括事件产生模块211、事件清零模块212、响应模块213,调试电路22包括事件产生模块221、事件清零模块222、响应模块223,每个调试电路拥有各自独立的事件清零模块,事件清零模块由各自所属调试电路传出的调试事件信号使能,即只有当产生调试事件信号时,事件清零模块才会使能。
以调试电路21为例说明各模块的作用。
事件产生模块211,用于产生调试事件信号2101,该调试事件信号2101以高电平的形式传输,一方面直接进入响应模块213,另一方面经传输控制器24、总控电路27、再经传输控制器25传输至响应模块223;
响应模块213、223分别用于响应输入的调试事件信号2101,各自控制所连接的内核(图示未画出内核,参见图1)进入或者退出调试模式,在所述内核进入调试模式后,对所述内核执行调试操作;响应模块213、223在各自响应调试事件信号2101之后,分别向事件清零模块212发送清零指示信号;
事件清零模块212,用于在接收到响应模块213、223发送的清零指示信号后,向所连接的事件产生模块211发送清零信号,将调试事件信号2101清零。
另外一种情况,当以脉冲信号传输调试事件信号时,为了防止调试事件信号的丢失,每个调试电路还需要一个采样模块,该采样模块同样需要清零。此时每个调试电路的结构如图3所示,在图2的基础上,调试电路21增加一个采样模块214,调试电路22增加一个采样模块224。
同样以调试电路21为例说明各模块的作用。
事件产生模块211,用于产生调试事件信号2102,该调试事件信号2102以脉冲信号的形式传输,一方面直接进入采样模块214,另一方面经传输控制器24、总控电路27、再经传输控制器25传输至采样模块224;
采样模块214、224分别用于对输入的脉冲调试事件信号2102进行采样,输出高电平的采样电平;
响应模块213、223分别用于接收所连接的采样模块输出的采样电平,响应所述采样电平对应的脉冲调试事件信号2012,以控制所连接的内核进入或者退出调试模式,在所述内核进入调试模式后,对所述内核执行调试操作;还用于在每次响应所述脉冲调试事件信号2102之后,向所连接的采样模块发送清零信号,清零采样模块,并分别向事件清零模块212发送清零指示信号;
事件清零模块212,用于在接收到响应模块213、223发送的清零指示信号后,向事件产生模块211发送清零信号,将调试事件信号2102清零。
上面是以两个调试电路为例,当存在三个调试电路时,以电平信号传输时整个调试模块的结构如图4所示,以脉冲信号传输时整个调试模块的结构如图5所示。
如图4所示,调试电路21包括事件产生模块211、事件清零模块212、响应模块213,调试电路22包括事件产生模块221、事件清零模块222、响应模块223,调试电路23包括事件产生模块231、事件清零模块232、响应模块233,
事件产生模块211,用于产生调试事件信号2101,该调试事件信号2101以高电平的形式传输,一方面直接进入响应模块213,另一方面经传输控制器24、总控电路27、再分别经传输控制器25传输至响应模块223,同时经传输控制器26传输至响应模块233;
响应模块213、223、233分别用于响应输入的调试事件信号2101,各自控制所连接的内核(图示未画出内核,参见图1)进入或者退出调试模式,在所述内核进入调试模式后,对所述内核执行调试操作;响应模块213、223、233在各自响应调试事件信号2101之后,分别向事件清零模块212发送清零指示信号;
事件清零模块212,用于在接收到响应模块213、223、233发送的清零指示信号后,向所连接的事件产生模块211发送清零信号,将调试事件信号2101清零。
如图5所示,在图4的基础上,调试电路21增加一个采样模块214,调试电路22增加一个采样模块224,调试电路23增加一个采样模块234。
事件产生模块211,用于产生调试事件信号2102,该调试事件信号2102以脉冲信号的形式传输,一方面直接进入采样模块214,另一方面经传输控制器24、总控电路27、再分别经传输控制器25传输至采样模块224,同时经传输控制器26传输至采样模块234;
采样模块214、224、234分别用于对输入的脉冲调试事件信号2102进行采样,输出高电平的采样电平;
响应模块213、223、233分别用于接收所连接的采样模块输出的采样电平,响应所述采样电平对应的脉冲调试事件信号2012,以控制所连接的内核进入或者退出调试模式,在所述内核进入调试模式后,对所述内核执行调试操作;还用于在每次响应所述脉冲调试事件信号2102之后,向所连接的采样模块发送清零信号,清零采样模块,并分别向事件清零模块212发送清零指示信号;
事件清零模块212,用于在接收到响应模块213、223、233发送的清零指示信号后,向事件产生模块211发送清零信号,将调试事件信号2102清零。
由上述可知,本发明实施例提供的多核处理器,通过配置第一调试电路14产生第一调试事件信号140,第一调试事件信号140以高电平信号或脉冲信号的方式传输,使能第一传输控制器16,使其允许向外传输第一调试事件信号140,总控电路18接收到第一传输控制器16传来的第一调试事件信号140,转发给第二传输控制器17,使能第二传输控制器17,使其允许接收第一调试事件信号140,第二调试电路15响应第一调试事件信号140,之后第一调试事件信号140被清零。与现有技术相比,本发明实施例提供的多核处理器,结构简单,调试电路、传输控制器、总控电路便于配置,能够实现快速配置控制调试事件信号的传输,同时降低调试模块的功耗。
进一步地,每个事件产生模块产生的调试事件信号包括进入调试模式事件信号和退出调试模式事件信号。
提供两种配置事件产生模块产生所述进入调试模式事件信号的方法:一种是直接配置事件产生模块产生所述进入调试模式事件信号,另一种是配置事件产生模块所连接的内核需要满足的调试条件,当内核满足调试条件时,事件产生模块产生所述进入调试模式事件信号。事件产生模块的一种实现方式如图6所示,事件产生模块211能够实现追踪调试功能,包括:追踪调试控制寄存器2111、追踪调试计数寄存器2112及追踪调试监测模块2113,其中,
所述追踪调试控制寄存器2111,用于使能所述追踪调试监测模块2113;
所述追踪调试计数寄存器2112,用于配置所述内核进入调试模式所需执行指令的数量;
所述追踪调试监测模块2113,用于监测所述内核执行指令的数量,当指令执行数量与所述追踪调试计数寄存器2112中配置的数量相等时,所述追踪调试监测模块2113产生所述进入调试模式事件信号。
通过直接配置事件产生模块产生所述退出调试模式事件信号。
进一步地,每个传输控制器包括相互独立的传入控制电路和传出控制电路,通过配置这两个电路控制调试事件信号的传输,如图7所示,第一传输控制器16包括:
传入控制电路161,用于禁止或者允许接收总控电路转发的其他调试电路产生的调试事件信号;
传出控制电路162,用于禁止或者允许向总控电路传输所述传输控制器所连接的调试电路产生的调试事件信号。
结合图1,当第一传输控制器16接收到与之相连的调试电路14传来的第一调试事件信号140时,若配置关闭传出控制电路162,此时第一传输控制器16禁止向外传输第一调试事件信号140,第一调试事件信号140无法被传输到总控电路18;若配置使能传出控制电路162,此时第一传输控制器16允许向外传输第一调试事件信号140,第一调试事件信号140被传输到总控电路18。
当第一传输控制器16要接收总控电路18传来的第二调试事件信号150时,若配置关闭传入控制电路161,此时第一传输控制器16禁止接收第二调试事件信号150,第二调试事件信号150无法被传输到第一调试电路14;若配置使能传入控制电路161,此时第一传输控制器16允许接收第二调试事件信号150,第二调试事件信号150被传输到第一调试电路14。
由上述可以看出,第一传输控制器16是在总控电路18这一侧控制调试事件信号的发送或者接收,在对应的调试电路14一侧不进行控制。
进一步地,总控电路18包括:连接矩阵电路,通过设置所述连接矩阵电路,接收每个传输控制器传来的调试事件信号,并将接收到的调试事件信号发送给所有其他的传输控制器。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (7)
1.一种多核处理器,其特征在于,包括:多个内核以及调试模块,所述内核用于完成指令的执行和数据处理,并输出指令执行信息;所述调试模块包括与所述内核个数相同的调试电路、与所述内核个数相同的传输控制器以及一个总控电路,每个所述调试电路分别与一个内核和一个传输控制器连接,所有的传输控制器均与所述总控电路连接,其中,
每个所述调试电路包括事件产生模块,所述事件产生模块用于各自产生调试事件信号,所述调试事件信号包括进入调试模式事件信号和退出调试模式事件信号,每个所述调试电路产生的调试事件信号经各自所连接的传输控制器、所述总控电路、各自的目标调试电路所连接的传输控制器传输至各自的目标调试电路;还用于响应各自产生的调试事件信号或者接收到的其他调试电路产生的调试事件信号,控制各自所连接的内核进入或者退出调试模式,在所述内核进入调试模式后,对所述内核执行调试操作;
每个所述传输控制器,用于在各自所连接的调试电路和所述总控电路之间控制调试事件信号的传输;
所述总控电路,用于在不同传输控制器之间转发调试事件信号,所述总控电路包括连接矩阵电路,通过设置所述连接矩阵电路,接收每个传输控制器传来的调试事件信号,并将接收到的调试事件信号发送给所有其他的传输控制器。
2.根据权利要求1所述的多核处理器,其特征在于,所述调试电路还包括响应模块以及事件清零模块,其中,
所述事件产生模块,产生的所述调试事件信号一方面直接进入所述事件产生模块所属调试电路的响应模块,另一方面以高电平信号的形式经所述事件产生模块所连接的传输控制器、所述总控电路、各目标调试电路的响应模块所连接的传输控制器传输至各所述目标调试电路的响应模块;
所述响应模块,用于响应输入的高电平调试事件信号,以控制所连接的内核进入或者退出调试模式,在所述内核进入调试模式后,对所述内核执行调试操作;还用于在每次响应所述高电平调试事件信号之后,向发起所述高电平调试事件信号的事件产生模块所属调试电路的事件清零模块发送清零指示信号;
所述事件清零模块,用于在接收到所述事件清零模块所属调试电路的响应模块以及所有目标调试电路的响应模块发出的清零指示信号后,向所连接的事件产生模块发送清零信号。
3.根据权利要求1所述的多核处理器,其特征在于,所述调试电路还包括采样模块、响应模块以及事件清零模块,其中,
所述事件产生模块,产生的所述调试事件信号一方面直接进入所述事件产生模块所属调试电路的采样模块,另一方面以脉冲信号的形式经所述事件产生模块所连接的传输控制器、所述总控电路、各目标调试电路的采样模块所连接的传输控制器传输至各所述目标调试电路的采样模块;
所述采样模块,用于对输入的脉冲调试事件信号进行采样,输出高电平的采样电平;
所述响应模块,用于接收所连接的采样模块输出的采样电平,响应所述采样电平对应的脉冲调试事件信号,以控制所连接的内核进入或者退出调试模式,在所述内核进入调试模式后,对所述内核执行调试操作;还用于在每次响应所述脉冲调试事件信号之后,向所连接的采样模块发送清零信号,并向发起所述脉冲调试事件信号的事件产生模块所属调试电路的事件清零模块发送清零指示信号;
所述事件清零模块,用于在接收到所述事件清零模块所属调试电路的响应模块以及所有目标调试电路的响应模块发出的清零指示信号后,向所连接的事件产生模块发送清零信号。
4.根据权利要求1所述的多核处理器,其特征在于,所述事件产生模块被配置为直接产生所述进入调试模式事件信号,或者,被配置为当与所述事件产生模块所连接的内核满足设定的调试条件时,产生所述进入调试模式事件信号。
5.根据权利要求4所述的多核处理器,其特征在于,所述事件产生模块被配置为当与所述事件产生模块所连接的内核满足设定的调试条件时,产生所述进入调试模式事件信号,所述事件产生模块包括:追踪调试控制寄存器、追踪调试计数寄存器及追踪调试监测模块,其中,
所述追踪调试控制寄存器,用于使能所述追踪调试监测模块;
所述追踪调试计数寄存器,用于配置所述内核进入调试模式所需执行指令的数量;
所述追踪调试监测模块,用于监测所述内核执行指令的数量,当指令执行数量与所述追踪调试计数寄存器中配置的数量相等时,所述追踪调试监测模块产生所述进入调试模式事件信号。
6.根据权利要求1所述的多核处理器,其特征在于,所述事件产生模块被配置为直接产生所述退出调试模式事件信号。
7.根据权利要求1所述的多核处理器,其特征在于,所述传输控制器包括:传入控制电路和传出控制电路,其中,
所述传入控制电路,用于禁止或者允许接收所述总控电路转发的其他调试电路产生的调试事件信号;
所述传出控制电路,用于禁止或者允许向所述总控电路传输所述传输控制器所连接的调试电路产生的调试事件信号。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810234766.4A CN108415842B (zh) | 2018-03-21 | 2018-03-21 | 多核处理器 |
JP2020546475A JP7421486B2 (ja) | 2018-03-21 | 2019-04-26 | マルチコアプロセッサのためのデバッギング解決手段 |
PCT/CN2019/084514 WO2019179531A1 (en) | 2018-03-21 | 2019-04-26 | Debugging solution for multi-core processors |
US16/638,730 US11215665B2 (en) | 2018-03-21 | 2019-04-26 | Debugging solution for multi-core processors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810234766.4A CN108415842B (zh) | 2018-03-21 | 2018-03-21 | 多核处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108415842A CN108415842A (zh) | 2018-08-17 |
CN108415842B true CN108415842B (zh) | 2021-01-29 |
Family
ID=63133146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810234766.4A Active CN108415842B (zh) | 2018-03-21 | 2018-03-21 | 多核处理器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11215665B2 (zh) |
JP (1) | JP7421486B2 (zh) |
CN (1) | CN108415842B (zh) |
WO (1) | WO2019179531A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10844249B2 (en) | 2018-02-01 | 2020-11-24 | An-Hsia Liu | Stress tearable tape |
CN108415842B (zh) * | 2018-03-21 | 2021-01-29 | 杭州中天微系统有限公司 | 多核处理器 |
CN109408433B (zh) * | 2018-10-08 | 2021-05-11 | 北京理工大学 | 一种适用于专用集成电路调试的接口装置及工作方法 |
CN112015602A (zh) * | 2019-05-30 | 2020-12-01 | 鸿富锦精密电子(天津)有限公司 | 调试装置及具有所述调试装置的电子装置 |
TWI768592B (zh) * | 2020-12-14 | 2022-06-21 | 瑞昱半導體股份有限公司 | 中央處理器 |
CN114398216B (zh) * | 2022-02-15 | 2022-11-15 | 深圳市航顺芯片技术研发有限公司 | 链路控制方法、装置、系统、设备及可读存储介质 |
CN116340188B (zh) * | 2023-05-26 | 2023-08-04 | 深流微智能科技(深圳)有限公司 | Gpu芯片渲染任务的调试方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103149529A (zh) * | 2013-03-08 | 2013-06-12 | 龙芯中科技术有限公司 | 多核处理器及其测试方法和装置 |
CN103365749A (zh) * | 2013-06-06 | 2013-10-23 | 北京时代民芯科技有限公司 | 一种多核处理器调试系统 |
CN104050066A (zh) * | 2013-03-15 | 2014-09-17 | 飞思卡尔半导体公司 | 多核处理的系统及方法 |
CN105740119A (zh) * | 2016-01-29 | 2016-07-06 | 华为技术有限公司 | 一种芯片及芯片内多核的调试方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003162426A (ja) | 2001-11-28 | 2003-06-06 | Hitachi Ltd | 複数cpuの協調デバッグ回路を備えるコンピュータシステム及びデバッグ方法 |
JP2004164367A (ja) | 2002-11-14 | 2004-06-10 | Renesas Technology Corp | マルチプロセッサシステム |
US7152186B2 (en) | 2003-08-04 | 2006-12-19 | Arm Limited | Cross-triggering of processing devices |
JP4847734B2 (ja) | 2005-10-31 | 2011-12-28 | ルネサスエレクトロニクス株式会社 | 半導体集積回路装置、それのデバッグシステム及びデバッグ方法。 |
JP5022110B2 (ja) * | 2007-06-05 | 2012-09-12 | ルネサスエレクトロニクス株式会社 | 半導体集積回路 |
JP2008310727A (ja) * | 2007-06-18 | 2008-12-25 | Toshiba Corp | シミュレーション装置及びシミュレーション方法 |
CN102073565B (zh) | 2010-12-31 | 2014-02-19 | 华为技术有限公司 | 触发操作方法、多核分组调试方法、装置及系统 |
TW201235833A (en) * | 2011-02-16 | 2012-09-01 | Ind Tech Res Inst | System and method for multi-core synchronous debugging of a multi-core platform |
US8700955B2 (en) * | 2011-09-22 | 2014-04-15 | Freescale Semiconductor, Inc. | Multi-processor data processing system having synchronized exit from debug mode and method therefor |
KR101992234B1 (ko) * | 2012-05-22 | 2019-06-24 | 삼성전자주식회사 | 디버깅 회로를 위한 클럭 제어 회로를 구비하는 집적 회로 및 이를 포함하는 시스템-온-칩 |
US10102050B2 (en) * | 2015-02-05 | 2018-10-16 | Microchip Technology Incorporated | System and method for generating cross-core breakpoints in a multi-core microcontroller |
GB2541215B (en) * | 2015-08-12 | 2021-10-13 | Siemens Ind Software Inc | Debug adapter |
CN108415842B (zh) | 2018-03-21 | 2021-01-29 | 杭州中天微系统有限公司 | 多核处理器 |
-
2018
- 2018-03-21 CN CN201810234766.4A patent/CN108415842B/zh active Active
-
2019
- 2019-04-26 WO PCT/CN2019/084514 patent/WO2019179531A1/en active Application Filing
- 2019-04-26 JP JP2020546475A patent/JP7421486B2/ja active Active
- 2019-04-26 US US16/638,730 patent/US11215665B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103149529A (zh) * | 2013-03-08 | 2013-06-12 | 龙芯中科技术有限公司 | 多核处理器及其测试方法和装置 |
CN104050066A (zh) * | 2013-03-15 | 2014-09-17 | 飞思卡尔半导体公司 | 多核处理的系统及方法 |
CN103365749A (zh) * | 2013-06-06 | 2013-10-23 | 北京时代民芯科技有限公司 | 一种多核处理器调试系统 |
CN105740119A (zh) * | 2016-01-29 | 2016-07-06 | 华为技术有限公司 | 一种芯片及芯片内多核的调试方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2021519965A (ja) | 2021-08-12 |
US11215665B2 (en) | 2022-01-04 |
US20210123973A1 (en) | 2021-04-29 |
CN108415842A (zh) | 2018-08-17 |
JP7421486B2 (ja) | 2024-01-24 |
WO2019179531A9 (en) | 2019-12-05 |
WO2019179531A1 (en) | 2019-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415842B (zh) | 多核处理器 | |
US7665002B1 (en) | Multi-core integrated circuit with shared debug port | |
US8566645B2 (en) | Debug state machine and processor including the same | |
US7496788B1 (en) | Watchdog monitoring for unit status reporting | |
JP3209776B2 (ja) | エミュレーション装置とそれに使用するマイクロコントローラ | |
US8522079B2 (en) | System and method for multi-core synchronous debugging of a multi-core platform | |
US6665816B1 (en) | Data shift register | |
EP2847681A1 (en) | Device having configurable breakpoint based on interrupt status | |
US7577876B2 (en) | Debug system for data tracking | |
KR20090023346A (ko) | 테스트 액세스 포트 스위치 | |
CN103365749B (zh) | 一种多核处理器调试系统 | |
US8666690B2 (en) | Heterogeneous multi-core integrated circuit and method for debugging same | |
CN110865958A (zh) | 一种基于lrm的综合交换管理模块的设计方法 | |
JP2002024201A (ja) | 半導体集積回路 | |
US20030135676A1 (en) | Low-power bus interface | |
US20040163012A1 (en) | Multiprocessor system capable of efficiently debugging processors | |
WO2022063255A1 (zh) | 芯片系统 | |
WO2016201983A1 (zh) | 管理光模块的使能状态的方法和装置 | |
US20130106502A1 (en) | Method and system for waking on inuput/output interrupts while powered down | |
EP3961403A1 (en) | Bus monitoring device and method, storage medium, and electronic device | |
US20170045583A1 (en) | Debug Adapter | |
CN114730283A (zh) | 以锁步方式操作的监测处理器 | |
CN111262558A (zh) | 一种快速无毛刺时钟切换电路实现方法及系统 | |
CN115114224A (zh) | 一种soc+fpga的飞控计算机硬件系统 | |
US6836757B1 (en) | Emulation system employing serial test port and alternative data transfer protocol |
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 |