首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

片上系统及其操作方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:三星电子株式会社

摘要:公开了片上系统及其操作方法。所述片上系统SoC包括:多个处理器,被配置为:响应于在死锁状态下接收的各自的信息提取命令,存储各自的调试信息,其中,所述多个处理器具有不同的架构;系统总线,连接到所述多个处理器;SoC管理器,被配置为:响应于检测到死锁状态的发生,根据所述多个处理器中的每个处理器的架构不同地生成各自的信息提取命令,并通过系统总线将各自的信息提取命令发送至所述多个处理器。

主权项:1.一种片上系统,包括:多个处理器,被配置为:响应于在死锁状态下接收的各自的信息提取命令,存储各自的调试信息,其中,所述多个处理器具有不同的架构;系统总线,连接到所述多个处理器;片上系统管理器,被配置为:响应于检测到死锁状态的发生,根据所述多个处理器中的每个处理器的架构不同地生成各自的信息提取命令,并通过与系统总线分离的总线将各自的信息提取命令发送至所述多个处理器,并且其中,所述多个处理器之中的不提供自动地和或周期性地存储状态信息的功能的处理器被配置为:响应于在死锁状态下接收的各自的信息提取命令,从各自的中央处理器提取各自的调试信息;并且其中,所述多个处理器之中的提供自动地和或周期性地存储状态信息的功能的处理器被配置为:响应于在死锁状态下接收的各自的信息提取命令,选择存储在各自的调试资源中的至少一部分状态信息作为各自的调试信息。

全文数据:片上系统及其操作方法本申请要求于2018年4月3日提交至韩国知识产权局的第10-2018-0038758号韩国专利申请的优先权和2018年7月27日提交至韩国知识产权局的第10-2018-0087692号韩国专利申请的优先权,所述韩国专利申请的公开通过整体引用包含于此。技术领域本发明构思涉及SoC及其操作方法。背景技术近年来,SoC已经被越来越多地使用。SoC在包括一个或多个处理器SoC的单个芯片中实现具有各种功能的复杂系统。包括在SoC中的多个处理器可在发送和接收必要数据时被操作。在SoC的这样的操作期间,可能发生意外的死锁deadlock状态。为了使开发人员或用户能够辨识死锁状态的原因,从包括在SoC中的处理器获得调试所需的调试信息的功能可在SoC中被实现。发明内容根据本发明构思的示例实施例提供一种片上系统SoC及其操作方法,SoC包括根据不同的架构设计并安装在其中的多个处理器,SoC能够在发生死锁状态时考虑所述多个处理器中的每个处理器的架构提取和或存储调试信息。根据示例实施例,一种SoC包括:多个处理器,被配置为:响应于在死锁状态下接收的各自的信息提取命令,存储各自的调试信息,其中,所述多个处理器具有不同的架构;系统总线,连接到所述多个处理器;SoC管理器,被配置为:响应于检测到死锁状态的发生,根据所述多个处理器中的每个处理器的架构不同地生成各自的信息提取命令,并通过系统总线将各自的信息提取命令发送至所述多个处理器。SoC管理器还被配置为:在所述多个处理器响应于各自的信息提取命令存储各自的调试信息之后,对所述多个处理器和系统总线进行重置。总线是与系统总线物理地分离或通过对系统总线进行划分而与系统总线逻辑地分离的调试总线,其中,SoC管理器响应于检测到死锁状态,通过调试总线将各自的信息提取命令发送至所述多个处理器。各自的调试信息包括包含在所述多个处理器中的至少一个处理器中的状态寄存器的比特值。SoC管理器包括:SoC控制器,被配置为:检测死锁状态;调试主机,被配置为:将各自的信息提取命令发送至所述多个处理器。所述多个处理器中的至少一个处理器包括:中央处理器CPU,被配置为:执行算术运算;调试资源,被配置为:存储由CPU以预定周期生成的状态信息,并响应于相应的信息提取命令,输出至少一部分状态信息作为相应的调试信息。由调试资源输出的相应的调试信息被存储在不被所述多个处理器和系统总线的重新启动重置的存储空间中。所述多个处理器中的至少一个处理器包括:中央处理器CPU,被配置为:执行算术运算;子组件,被配置为:响应于相应的信息提取命令,从CPU提取相应的调试信息并存储相应的调试信息。所述多个处理器中的至少一个处理器包括:中央处理器CPU,被配置为:执行包括在相应的信息提取命令中的预定指令,以提取相应的调试信息并将相应的调试信息存储在不被所述多个处理器和系统总线的重新启动重置的存储区域中。所述多个处理器中的每个处理器包括:调试主机,被配置为:响应于相应的信息提取命令,存储相应的调试信息。所述多个处理器中的至少一个处理器包括:中央处理器CPU,被配置为:执行算术运算;调试资源,被配置为:存储由CPU以预定周期生成的状态信息,其中,调试主机响应于相应的信息提取命令,将至少一部分状态信息标记为相应的调试信息。所述多个处理器中的至少一个处理器包括:中央处理器CPU,被配置为:执行算术运算;子组件,被配置为:从CPU提取相应的调试信息并存储相应的调试信息。调试主机被配置为:响应于相应的信息提取命令,激活子组件。调试主机被配置为:响应于相应的信息提取命令,控制子组件从CPU提取相应的调试信息。调试主机被配置为:响应于相应的信息提取命令,将相应的调试信息存储在不被所述多个处理器和系统总线的重新启动重置的存储空间中。根据示例实施例,一种SoC包括:多个处理器,所述多个处理器中的每个处理器包括第一接口、第二接口和中央处理器CPU;系统总线,连接到第一接口;至少一个调试主机,连接到第二接口;SoC控制器,通过系统总线连接到所述多个处理器,并被配置为:检测所述多个处理器中的死锁状态,其中,调试主机被配置为:当发生死锁状态时,响应于SoC控制器的指令,将基于所述多个处理器中的每个处理器的架构生成的各自的信息提取命令发送至所述多个处理器;其中,所述多个处理器被配置为:响应于各自的信息提取命令,生成各自的状态信息。所述多个处理器中的每个处理器包括所述至少一个调试主机中的调试主机。调试主机通过系统总线连接到第二接口。各自的状态信息包括紧接在发生死锁状态之前和之后的与所述多个处理器中的至少一个处理器有关的状态信息。根据示例实施例,一种SoC包括:第一处理器,根据第一架构而设计;第二处理器,根据与第一架构不同的第二架构而设计;SoC控制器,被配置为:检测第一处理器和第二处理器中的至少一个中的死锁状态;调试主机,连接到第一处理器和第二处理器中的每个的从接口,并被配置为:当发生死锁状态时,在第一处理器和第二处理器被重置之前,通过经由从接口将各自的信息提取命令发送至第一处理器和第二处理器,来获得关于第一处理器和第二处理器的各自的调试信息;其中,第一处理器和第二处理器被配置为:响应于信息提取命令,使用不同的方法来存储各自的调试信息。附图说明从以下结合附图的具体实施方式,将更加清楚地理解本发明构思的以上和其他方面,其中:图1是示出根据示例实施例的片上系统SoC的框图;图2和图3是示出根据示例实施例的包括在SoC中的处理器的框图;图4和图5示出根据示例实施例的SoC的操作;图6是示出根据示例实施例的SoC的框图;图7和图8示出根据示例实施例的SoC的操作;图9和图10示出根据示例实施例的SoC的操作;图11至图14是被提供为描述根据示例实施例的SoC的操作的流程图;图15是示出根据示例实施例的包括SoC的电子装置的框图;图16是示出根据示例实施例的包括SoC的自主驾驶车辆的框图。具体实施方式在下文中,将参照附图详细描述本发明构思的示例实施例。图1是示出根据示例实施例的片上系统SoC的框图。参照图1,SoC10可包括诸如多个处理器11至13、图形处理器GPU14、数字信号处理器DSP15、SoC管理器16、存储器控制器17等的组件11至17。组件11至17可在通过系统总线18发送和接收数据时被操作。系统总线18可包括连接到组件11至17的多个接口例如,主接口masterinterface和从接口slaveinterface。例如,SoC管理器16可控制SoC10的整体操作,并可包括电源管理逻辑、时钟管理逻辑等。存储器控制器17可包括这样的逻辑:用于将数据和控制命令发送至设置在SoC10外部的易失性存储器或非易失性存储器并从设置在SoC10外部的易失性存储器或非易失性存储器接收数据和控制命令的逻辑。GPU14可处理将显示在连接到SoC10的显示装置上的图像数据。SoC10可安装在诸如电子装置、自主驾驶车辆等的各种产品中,以通过多个处理器11至13来执行控制这些产品所需的操作。如果需要,多个处理器11至13可通过系统总线18将数据发送至SoC10的其它组件,并从SoC10的其它组件接收数据。当SoC10进入死锁状态时,SoC10可将用于分析死锁状态的发生的原因的信息、导致死锁状态的源代码等作为调试信息提供给开发人员或用户。多个组件11至17可根据不同架构来设计和实现,因此,当发生死锁状态时必须执行以提取并存储调试信息的处理可针对多个组件11至17中的每个而不同。例如,第一处理器11可以以预定周期将状态信息或状况信息存储在自身的内部调试资源中。因此,当发生死锁状态时,可通过读取和存储在第一处理器11的内部调试资源中存储的部分状态信息来获得关于第一处理器11的调试信息。另一方面,在第二处理器12和第三处理器13中,可不提供用于将状态信息存储在自身的调试资源中的功能。因此,当SoC10进入死锁状态时,从第二处理器12和第三处理器13提取调试信息并存储调试信息的操作可在SoC10的整体或者第二处理器12和第三处理器13被选择性地重新启动之前被执行。这里,重新启动可在没有用户操作的情况下自动地启动。根据示例实施例,第一处理器11至第三处理器13中的每个的状态信息可以是存储在包括在相应的处理器中的状态寄存器中的比特值。SoC管理器16生成用于存储调试信息的信息提取命令,并将用于存储调试信息的信息提取命令发送至第二处理器12和第三处理器13。SoC管理器16可考虑第二处理器12和第三处理器13中的每个的架构来生成信息提取命令。响应于信息提取命令,第二处理器12和第三处理器13可输出和或存储发生死锁状态的时间点、发生死锁状态的时间点之前和之后优选但不是必须地,紧接在发生死锁状态的时间点之前和之后的各个状态信息作为调试信息。例如,在死锁状态的发生之前和之后的预定时间段内的状态信息可被输出并存储为调试信息。例如,当负责算术运算的CPU和能够从CPU获得状态信息的子组件包括在第二处理器12中时,SoC管理器16激活该子组件,以提取和或存储关于第二处理器12的调试信息。此外,例如,SoC管理器16可将第三处理器13切换至调试模式,并可将包括预定指令的信息提取命令发送至第三处理器13。响应于包括在信息提取命令中的指令,关于包括在第三处理器13中的CPU的状态信息可被提取和或存储为调试信息。例如,调试信息可被存储在与第一处理器11至第三处理器13不同的单独的存储空间中。存储空间可以是尽管SoC10的整体或第一处理器11至第三处理器13中的至少部分的选择性的重新启动但不被重置的存储空间,并可被设置为非易失性存储器等。与此同时,发生在SoC10中的死锁状态可能伴随系统总线18的错误。因此,SoC管理器16可通过不同于系统总线18的单独的路径,将用于存储调试信息的信息提取命令发送至组件11至组件17中的至少一部分。例如,系统总线18可被逻辑地划分以定义第一总线和第二总线,并且第二总线在正常操作模式下不被激活并仅在发生死锁状态时被激活以被使用。可选地,可设置与系统总线18物理地分离的调试总线以在死锁状态下使用。图2和图3是示出根据示例实施例的包括在SoC中的处理器的框图。首先,参照图2,根据图2中示出的示例实施例的SoC20可包括处理器21、系统总线25和SoC管理器26。SoC管理器26可包括检测是否发生死锁状态的SoC控制器27、当发生死锁状态时将信息提取命令发送至处理器21以获得调试信息的调试主机debuggingmaster28。处理器21可具有负责算术运算的至少一个CPU22。CPU22可具有用于将数据发送至SoC20的其他组件并从SoC20的其他组件接收数据的第一接口23和第二接口24。例如,CPU22可通过第一接口23和系统总线25将数据发送至SoC控制器27并从SoC控制器27接收数据,并且可通过第二接口24和系统总线25将数据发送至调试主机28并从调试主机28接收数据。第一接口23可以是主接口,第二接口24可以是从接口。换言之,当通过第二接口24在处理器21与调试主机28之间发送并接收数据时,处理器21可作为用于调试主机28的从装置被操作。CPU22可包括处理多条指令和数据配置软件的两个或更多个核。在正常操作下,CPU22可通过系统总线25将数据发送至SoC控制器27和SoC20的其他组件,并从SoC控制器27和SoC20的其他组件接收数据。换言之,CPU22可通过第一接口23和系统总线25将数据发送至除了SoC控制器27之外的其他组件诸如,GPU、数字信号处理器DSP、内部存储器、存储器控制器等,并从其他组件接收数据。当SoC20进入死锁状态时,包括在SoC20中的大多数组件以及处理器21会停止操作并且不会响应。因此,当SoC20进入死锁状态时,可能难以确定执行什么指令和访问什么数据。此外,当SoC20被重新启动以解决死锁状态时,所有组件被重置。因此,可能难以辨识导致死锁状态的指令、数据和或代码。由于上述情况,用于消除死锁状态的原因的调试操作的效率可被降低。根据示例实施例,调试主机28可通过检测死锁状态的SoC控制器27的指令来提取关于处理器21的调试信息。调试主机28可通过在正常操作模式下不使用的第二接口24将用于获得调试信息的信息提取命令发送至CPU22。例如,调试主机28可将适用于处理器21的架构的适当的信息提取命令发送至CPU22。系统总线25可具有逻辑地划分的第一总线和第二总线,并且信息提取命令可通过在正常操作模式下不使用的第二总线来发送。例如,当发生死锁状态时,调试主机28可生成包括用于强制输出处理器21的状态作为调试信息的指令的信息提取命令,并将信息提取命令发送至处理器21。由处理器21通过指令输出的调试信息可被存储在当SoC20被调试主机28或SoC控制器27重新启动时不被重置的预定存储空间中。在其他示例实施例中,通过由调试主机28发送的信息提取命令,包括在处理器21中并与CPU22不同的子组件可被激活。子组件可从CPU22提取调试信息,或可控制CPU22将调试信息存储在自身的特定存储空间中。如可从上述示例实施例看出的那样,调试主机28可考虑处理器21的架构来选择适用于获得调试信息的指令,并包括发送至处理器21的信息提取命令中的指令。调试主机28可直接生成如上的信息提取命令,或可从SoC控制器27接收信息提取命令,以发送至处理器21。与此同时,调试主机28可与外部调试工具例如,联合测试行动组JTAG调试工具联合操作。接下来,参照图3,根据示例实施例的SoC30可包括处理器31、系统总线36、SoC控制器37等。根据示例实施例,调试主机35可设置在CPU32与系统总线36之间。在图3中,调试主机35包括在处理器31中,但是调试主机35被设置为系统总线36与处理器31之间的单独的组件。当SoC30具有与系统总线36分离的单独的调试总线时,调试主机35可连接在调试总线与处理器31之间。调试主机35可通过第二接口34即,从接口将数据发送至CPU32并从CPU32接收数据。当SoC30进入死锁状态时,SoC控制器37可通过系统总线36将指令发送至调试主机35,以获得调试信息。在死锁状态下,系统总线36的操作也被停止。因此,系统总线36可被划分为第一总线和第二总线,第一总线仅可在正常操作下被使用,第二总线仅可在发生死锁状态时被使用。SoC控制器37可通过第二总线将用于获得调试信息的指令发送至调试主机35。可选地,如先前所述,通过从系统总线36逻辑地划分的单独的调试总线,SoC控制器37可将用于获得调试信息的指令发送至调试主机35。调试主机35可通过第二接口34访问CPU32。调试主机35可从CPU32强制地提取调试信息并存储调试信息,或可控制CPU32为自身存储调试信息。调试信息可被存储在当SoC30或处理器31被重新启动时不被重置的存储空间中。例如,调试信息可被存储在包括在SoC30中的处理器31内的存储空间中,或除了处理器31之外的组件的存储空间中。图4和图5示出根据示例实施例的SoC的操作。参照图4和图5,SoC100可包括多个处理器110至130、GPU140、数字信号处理器150、SoC管理器160、存储器控制器170和系统总线180。SoC管理器160可包括SoC控制器161和调试主机162。包括在SoC100中的组件可根据将由SoC100实现或提供的功能而被不同地添加或改变。例如,除了图4和图5中示出的组件之外,还可包括负责视频音频编解码器处理的逻辑、用于处理由连接到SoC100的各种传感器收集的信息的逻辑等。如图4和图5中所示,多个处理器110至130可具有不同的架构。例如,第一处理器110可包括第一CPU111和调试资源112,并且第一CPU111的状态信息可以以预定周期存储在调试资源112中。当SoC100进入死锁状态时,调试主机162访问第一处理器110的调试资源112,以标记或读取存储在调试资源112中的状态信息中的在与发生死锁状态的时间点接近的时间点例如,紧接在死锁状态的发生之前和之后存储的状态信息作为调试信息,从而获得关于第一处理器110的调试信息。以与第一处理器110不同的方式,第二处理器120和第三处理器130可不提供用于自动地和或周期性地存储可用作调试信息的状态信息的功能。因此,当SoC100进入死锁状态时,调试主机162可响应于来自SoC控制器161的指令,从第二处理器120和第三处理器130中的每个获得调试信息。首先,参照图4,当SoC100进入死锁状态时,多个处理器110至130、GPU140、数字信号处理器150、存储器控制器170等的操作可被停止。在死锁状态下,系统总线180也不能被正常操作。死锁状态可由SoC控制器161检测。例如,多个处理器110至130、GPU140、数字信号处理器150和存储器控制器170中的至少一个可在其中包括计数器电路,SoC控制器161可以以预定周期从计数器电路接收信号。因此,如果即使经过预定周期也未从计数器电路接收到信号,则SoC控制器161可确定SoC100进入死锁状态。可选地,当不管是否从计数器电路接收到信号而发生预定特定情况时,或当指示故障的发生的中断被检测到时,SoC100可被确定为已经进入死锁状态。当SoC100被确定为已经进入死锁状态时,响应于SoC控制器161的指令,调试主机162可将用于获得调试信息的信息提取命令发送至SoC100的组件中的至少一个组件。参照图5,调试主机162可将信息提取命令发送至多个处理器110至130,但是用于获得调试信息的信息提取命令还可被发送至GPU140、数字信号处理器150、存储器控制器170等。信息提取命令可包括根据多个处理器110至130的架构确定的各种指令。例如,通过发送至第一处理器110的信息提取命令,存储在调试资源112中的至少一部分状态信息可被选择为将被单独存储的第一处理器110的调试信息。此外,通过发送至第二处理器120的信息提取命令,子组件122被激活以从第二CPU121提取调试信息并存储调试信息。在另一示例实施例中,通过来自调试主机162的信息提取命令,可控制第二处理器120强制地输出调试信息。从第二处理器120强制输出的调试信息可由调试主机162存储在SoC100内的预定存储空间中。如先前所述,调试主机162可将调试信息存储在不被SoC100的重新启动重置的存储空间中。与此同时,第三处理器130的第三CPU131可执行包括在从调试主机160接收的信息提取命令中的预定指令,从而提取调试信息,并将调试信息存储在内部寄存器中。调试信息可被存储在不被SoC100的重新启动重置的存储空间中。例如,存储调试信息的存储空间可以是位于第三CPU131的外部的存储空间。总之,多个处理器110至130可具有不同的架构,因此,用于在SoC100进入死锁状态时提取并存储各自的调试信息的方法也不同。在示例实施例中,SoC控制器161和或调试主机162识别多个处理器110至130中的每个的架构,从而针对多个处理器110至130中的每个选择用于提取并存储调试信息的合适的方法。SoC控制器161和或调试主机162可将参照用于提取并存储基于架构选择的调试信息的方法而生成的信息提取命令发送至多个处理器110至130。因此,可使用对于多个处理器110至130中的每个的最优方法来存储调试信息。此外,在SoC100被重新启动后,开发人员或用户可通过使用调试信息来有效地分析死锁状态的发生的原因。图6是示出根据示例实施例的SoC的框图。参照图6,根据示例实施例的SoC200可包括多个处理器210至230、GPU240、数字信号处理器250、SoC管理器260、存储器控制器270等。组件210至270可在通过系统总线280彼此通信时被操作。SoC管理器260可包括SoC控制器261和调试主机262。在图6中,除了系统总线280之外,调试总线290包括在SoC200中。调试总线290可以是与系统总线280物理地分离的总线,并且可在正常操作模式下维持未激活的状态。当SoC200进入死锁状态时,调试总线290可被SoC管理器260激活。在下文中,将参照图7和图8更详细地描述SoC200的操作。图7和图8示出根据示例实施例的SoC的操作。参照图7和图8,多个处理器210至230可具有不同的架构。例如,第一处理器210可包括第一CPU211和调试资源212,并且第一CPU211可将针对每个规定时间setperiod的状态信息和或发生死锁状态时的状态信息作为调试信息存储在调试资源212中。因此,当SoC200进入死锁状态时,在SoC200被重新启动之前,关于第一处理器210的调试信息可从调试资源212提取,并可被存储在预定存储空间中。当SoC200的重新启动完成时,存储在存储空间中的调试信息可被提供给用户或开发人员。换言之,在第一处理器210中,调试信息可仅通过选择并单独地存储在调试资源212中存储的部分状态信息来获得。第二处理器220和第三处理器230可不提供第一处理器210的自动地和或周期性地存储调试信息的功能。因此,当SoC200进入死锁状态时,调试主机262可响应来自SoC控制器261的指令,或调试主机262自身可从第二处理器220和第三处理器230中的每个获得调试信息。首先,参照图7,当SoC200进入死锁状态时,GPU240、数字信号处理器250、存储器控制器270等以及多个处理器210至230的操作可被停止。在死锁状态下,系统总线280的操作也被停止。SoC控制器261可生成用于获得调试信息的信息提取命令,并将用于获得调试信息的信息提取命令发送至调试主机262。可选地,SoC控制器261仅将用于获得调试信息的指令发送至调试主机262,并且调试主机262可生成包括该指令的信息提取命令。换言之,信息提取命令可由SoC控制器261和调试主机262中的至少一个生成。调试主机262可通过调试总线290将信息提取命令发送至多个处理器210至230。调试总线290可在SoC200进入死锁状态之后被激活。与此同时,信息提取命令还可被发送至其他组件诸如,GPU240、数字信号处理器250、存储器控制器270等。用于接收信息提取命令的组件的类型和数量由SoC控制器261确定。多个处理器210至230具有不同的架构,所以发送至多个处理器210至230中的每个的信息提取命令可包括不同的指令。例如,发送至第一处理器210的信息提取命令可包括用于从存储在调试资源212中的状态信息选择调试信息并将选择的调试信息记录在单独的存储空间上的指令。与第一处理器210不同,第二处理器220可不包括调试资源212。发送至第二处理器220的信息提取命令可包括用于强制第二CPU221输出调试信息的指令,或可包括用于控制激活子组件222以从第二CPU221提取调试信息的指令。发送至第三处理器230的信息提取命令可包括由第三CPU231处理以控制第三CPU231将调试信息记录在预定存储空间上的指令。换言之,具有根据多个处理器210至230中的每个的架构确定的指令的不同信息提取命令可被不同地发送至多个处理器210至230。图9和图10示出根据示例实施例的SoC的操作。首先,参照图9,在根据图9中示出的示例实施例的SoC300中,多个处理器310至330可分别包括调试主机313、调试主机323和调试主机333。当SoC300进入死锁状态时,SoC控制器360可将信息提取命令发送至多个处理器310至330中的每个。信息提取命令可包括用于存储和或提取与处理器310至处理器330进入死锁状态时的状态信息对应的调试信息的指令。系统总线380在死锁状态下不能被正常地操作。因此,SoC300可具有从系统总线380划分以用于在死锁状态下的操作的调试专用总线。当第一处理器310的调试主机313接收到信息提取命令时,调试主机313可将周期性地和或在第一处理器310进入死锁状态时存储在调试资源312中的状态信息标记为调试信息。调试主机313可将已经标记的调试信息存储在当SoC300被重新启动时不被重置的存储空间中。第二处理器320的调试主机323可响应于信息提取命令而激活子组件322。已经激活的子组件322可从第二CPU321接收调试信息,并存储调试信息。可选地,调试主机323响应于信息提取命令而直接访问第二CPU321以强制第二CPU321输出调试信息。当第三处理器330的调试主机333接收到信息提取命令时,用于控制第三CPU331提取调试信息的指令可被发送至第三CPU331。通过上述操作提取的调试信息可被存储在不被SoC300的重新启动重置的存储空间中,并可在SoC300被重新启动之后用于调试操作。根据图10中示出的示例实施例的SoC400的操作可与图9中示出的SoC300的操作相似。然而,在图10中示出的示例实施例中,调试总线490可被设置为与系统总线480物理地分离的单独的总线。调试总线490在正常操作下不会被激活,相反,仅可在激活指令由SoC控制器460发送时例如,在SoC400进入死锁状态时被激活。当SoC400进入死锁状态时,SoC控制器460可通过调试总线490将信息提取命令发送至分别包括在多个处理器410至430中的调试主机413、423和433。调试主机413、423和433可通过使用包括在信息提取命令中的指令从第一CPU311至第三CPU321中的每个获得调试信息。图11至图14是被提供为描述根据示例实施例的SoC的操作的流程图。首先,参照图11,根据示例实施例的SoC的操作可通过检测死锁状态S10开始。死锁状态可由包括在SoC中的SoC控制器来检测。例如,包括在SoC中的多个组件可在其中包括各自的计数器电路,并且每个计数器电路可以以预定周期将信号发送至SoC控制器。当即使经过预定周期SoC控制器也未从多个计数器电路中的每个计数器电路接收到信号时,可确定发生死锁状态。此外,当包括在SoC中的多个组件中的每个组件检测到故障而生成中断时,可确认发生死锁状态。当检测到死锁状态时,SoC控制器可发送适合多个处理器中的每个的架构的命令S20。该命令可以是包括用于提取指示SoC进入死锁状态时的多个处理器中的每个的状态的调试信息的指令的信息提取命令。信息提取命令可通过SoC控制器和调试主机发送至处理器,并且信息提取命令还可被发送至SoC的其它组件。接收信息提取命令的处理器可响应于信息提取命令而存储和或输出调试信息S30。如先前所述,多个处理器中的每个处理器存储和或输出调试信息的方法可根据多个处理器中的每个处理器的架构来确定。例如,在处理器包括子组件的情况下,子组件可响应于信息提取命令而被激活。已经被激活的子组件可从包括在处理器中的CPU提取调试信息,并可将调试信息存储在预定存储空间中。在处理器不包括子组件的情况下,包括在信息提取命令中的指令由处理器中的CPU执行,并且调试信息可由CPU存储在存储空间中。存储空间可以是即使在SoC被重新启动时也不被重置的区域。当调试信息被存储在上述区域中时,SoC可被重新启动S40。然而,根据示例实施例,仅进入死锁状态的一些组件可被重新启动。当SoC包括多个处理器并且多个处理器被分组并管理时,重新启动可基于组来执行。当重新启动完成时,SoC可将在S30中存储的调试信息提供给开发人员或用户,并且开发人员和用户可使用调试信息来执行调试操作S50。从而,导致SoC的死锁状态的指令可被快速地辨识,因此,开发人员和用户的调试效率可提高。图12是用于进一步描述在具有第一架构的处理器中执行图11的S30的示例实施例的流程图。接收信息提取命令的处理器可访问调试资源S31。调试资源可以是以预定周期或在包括在处理器中的CPU、核等发生死锁状态时记录状态信息的空间。当接收到信息提取命令时,处理器可检索在发生死锁状态时存储在调试资源中的状态信息S32。例如,可在S32中检索在与发生死锁状态的时间点接近的时间点的状态信息。处理器可存储已经检索到的状态信息作为调试信息S33。如先前所述,调试信息可被记录在即使在SoC被重新启动时也不被重置的存储空间中。图13是用于进一步描述在具有第二架构的处理器中执行图11的S30的示例实施例的流程图。第二架构可与参照图12描述的第一架构不同。在图13中示出的示例实施例中,包括在处理器中的子组件可由信息提取命令激活S34。在S34中激活的子组件可以是访问已经进入死锁状态的处理器中的CPU或核以提取特定信息的逻辑。换言之,激活的子组件可从CPU提取调试信息,并存储调试信息S35。调试信息可被记录在SoC被重新启动时不被重置的存储空间中。图14是用于进一步描述在具有第三架构的处理器中执行图11的S30的示例实施例的流程图。第三架构可与参照图11和图12描述的第一架构和第二架构不同。在图14中示出的示例实施例中,可执行包括在信息提取命令中的预定指令S36。例如,来自信息提取命令的指令可由调试主机或处理器来执行。当指令被执行时,从处理器的CPU或核提取调试信息以被存储在处理器的内部寄存器中S37。同时,调试信息可被记录在处理器外部的存储空间中S38。如参照图12和图13所述,调试信息可被记录在不被SoC的重新启动重置的存储空间中。除了SoC进入死锁状态的情况之外,参照图1至图14描述的示例实施例可应用于开发人员或用户为了开发和或维护的目的需要调试信息的情况。换言之,即使当SoC未进入死锁状态时,需要调试信息的开发人员或用户也控制SoC控制器输出信息提取命令。在这种情况下,包括多个处理器的组件接收信息提取命令,从而存储调试信息。开发人员或用户使用存储的调试信息,使得调试可被执行,而不管死锁状态的进入如何。图15是示出根据示例实施例的包括SoC的电子装置的框图。根据图15中示出的示例实施例的电子装置1000例如,计算机装置可包括图像传感器1010、输入输出IO装置1020、存储器1030、SoC1040、端口1050等。电子装置1000还可包括有线无线通信装置、电源等。在图15中示出的组件中,可为电子装置1000设置端口1050,以与视频卡、声卡、存储器卡、通用串行总线USB装置等进行通信。电子装置1000可以是根据相关领域的智能电话、平板PC、智能可穿戴装置等以及台式计算机和膝上型计算机。SoC1040可执行特定操作、指令、任务等。SoC1040可通过总线1060与除了图像传感器1010、IO装置1020和存储器1030之外的连接到端口1050的其它装置进行通信。SoC1040可包括根据不同架构设计的多个处理器,并可根据参照图1至图14描述的各种示例实施例获得进入死锁状态时的调试信息。存储器1030可以是存储电子装置1000的操作所需要的数据或多媒体数据的存储介质。存储器1030可包括易失性存储器诸如,随机存取存储器RAM或非易失性存储器诸如,闪存。此外,存储器1030可包括固态硬盘SSD、硬盘驱动器HDD和光盘驱动器ODD中的至少一个作为存储装置。IO装置1020可包括输入装置诸如,键盘、鼠标和触摸屏和输出装置诸如,提供给用户的显示器和音频输出单元。图像传感器1010可被安装在将通过总线1060或其他通信单元连接到SoC1040的封装基底上。图像传感器1010可以以根据参照图1至图14描述的各种示例实施例的形式应用于电子装置1000。图16是示出根据示例实施例的包括SoC的自主驾驶车辆的框图。参照图16,自主驾驶车辆1100可包括SoC1110、视觉传感器1120、主体控制模块BMC1130、存储器1140、通信模块1150等。SoC1110可包括根据不同架构设计的多个处理器,并可根据参照图1至图14描述的各种示例实施例获得进入死锁状态时的调试信息。SoC1110可控制视觉传感器1120、主体控制模块1130、存储器1140和通信模块1150,从而提供自主驾驶车辆1100的自主驾驶功能。例如,SoC1110可使用由视觉传感器1120收集的车辆周围的视觉信息、通过通信模块1150接收的交通信息等来确定驾驶环境,并可基于驾驶环境将主体控制模块1130与车辆的驾驶系统一起控制。如上所述,根据本发明构思的示例实施例,当具有根据各种架构设计并安装在其中的多个处理器的SoC进入死锁状态时,在SoC被重新启动之前,可基于多个处理器中的每个处理器的架构来控制至少一部分处理器存储和或输出调试信息。因此,调试使用导致SoC中的死锁状态的处理器的调试信息来执行,使得死锁状态的原因可被准确地辨识,调试的效率也可提高。上述方法或算法的操作或步骤可被实现为计算机可读记录介质上或通过传输介质传输的计算机可读代码。计算机可读记录介质是可存储之后可由计算机系统读取的数据的任何数据存储装置。计算机可读记录介质的示例包括只读存储器ROM、随机存取存储器RAM、光盘CD-ROM、数字通用盘DVD、磁带、软盘和光学数据存储装置,不限于此。传输介质可包括通过互联网或各种类型的通信信道传输的载波。计算机可读记录介质还可分布在联网的计算机系统上,使得计算机可读代码以分布的方式存储和执行。根据示例实施例,由附图中的框表示的组件、元件、模块或单元诸如,图4中的调试资源112、子组件122、调试主机162和SoC控制器161在本段中统称为“组件”中的至少一个可被实现为执行上述各自的功能的各种数量的硬件、软件和或固件结构。例如,这些组件中的至少一个可使用可通过一个或多个微处理器或者其它控制设备的控制来执行各自的功能的直接电路结构诸如,存储器、处理器、逻辑电路、查找表等。此外,这些组件中的至少一个可由包含用于执行特定逻辑功能并由一个或多个微处理器或其它控制设备执行的一个或多个可执行指令的模块、程序或部分代码具体实现。这些组件中的两个或更多个可组合成执行组合的两个或更多个组件的所有操作或功能的单个组件。此外,这些组件中的至少一个的至少部分功能可由这些组件中的另一个执行。以上示例性实施例的功能方面可以以在一个或多个处理器上执行的算法实现。以上描述中提供的实施例不排除与也在此提供或者或不在此提供但与本发明构思一致的另一示例或另一实施例的一个或多个特征相关联。例如,除非在特定示例的描述中另有提及,否则即使特定示例中描述的事物未在与其不同的示例中进行描述,该事物也可被理解为与不同的示例相关或组合。尽管以上已经示出并描述示例实施例,但是对本领域技术人员将清楚是,在不脱离由所附权利要求限定的本发明构思的范围的情况下,可进行修改和改变。

权利要求:1.一种片上系统,包括:多个处理器,被配置为:响应于在死锁状态下接收的各自的信息提取命令,存储各自的调试信息,其中,所述多个处理器具有不同的架构;系统总线,连接到所述多个处理器;片上系统管理器,被配置为:响应于检测到死锁状态的发生,根据所述多个处理器中的每个处理器的架构不同地生成各自的信息提取命令,并通过与系统总线分离的总线将各自的信息提取命令发送至所述多个处理器。2.根据权利要求1所述的片上系统,其中,片上系统管理器还被配置为:在所述多个处理器响应于各自的信息提取命令存储各自的调试信息之后,对所述多个处理器和系统总线进行重置。3.根据权利要求1所述的片上系统,其中,总线是与系统总线物理地分离或通过对系统总线进行划分而与系统总线逻辑地分离的调试总线,其中,片上系统管理器响应于检测到死锁状态,通过调试总线将各自的信息提取命令发送至所述多个处理器。4.根据权利要求1所述的片上系统,其中,各自的调试信息包括包含在所述多个处理器中的相应的处理器中的状态寄存器的比特值。5.根据权利要求1所述的片上系统,其中,片上系统管理器包括:片上系统控制器,被配置为:检测死锁状态;调试主机,被配置为:将各自的信息提取命令发送至所述多个处理器。6.根据权利要求5所述的片上系统,其中,所述多个处理器中的至少一个处理器包括:中央处理器,被配置为:执行算术运算;调试资源,被配置为:以预定周期存储由中央处理器生成的状态信息,并响应于相应的信息提取命令,输出至少一部分状态信息作为相应的调试信息。7.根据权利要求6所述的片上系统,其中,由调试资源输出的相应的调试信息被存储在不被所述多个处理器和系统总线的重新启动重置的存储空间中。8.根据权利要求5所述的片上系统,其中,所述多个处理器中的至少一个处理器包括:中央处理器,被配置为:执行算术运算;子组件,被配置为:响应于相应的信息提取命令,从中央处理器提取相应的调试信息并存储相应的调试信息。9.根据权利要求5所述的片上系统,其中,所述多个处理器中的至少一个处理器包括:中央处理器,被配置为:执行包括在相应的信息提取命令中的预定指令,以提取相应的调试信息并将相应的调试信息存储在不被所述多个处理器和系统总线的重新启动重置的存储区域中。10.根据权利要求1所述的片上系统,其中,所述多个处理器中的每个处理器包括:调试主机,被配置为:响应于相应的信息提取命令,存储相应的调试信息。11.根据权利要求10所述的片上系统,其中,所述多个处理器中的至少一个处理器包括:中央处理器,被配置为:执行算术运算;调试资源,被配置为:以预定周期存储由中央处理器生成的状态信息,其中,调试主机响应于相应的信息提取命令,将至少一部分状态信息标记为相应的调试信息。12.根据权利要求10所述的片上系统,其中,所述多个处理器中的至少一个处理器包括:中央处理器,被配置为:执行算术运算;子组件,被配置为:从中央处理器提取相应的调试信息并存储相应的调试信息。13.根据权利要求12所述的片上系统,其中,调试主机被配置为:响应于相应的信息提取命令,激活子组件。14.根据权利要求12所述的片上系统,其中,调试主机被配置为:响应于相应的信息提取命令,控制子组件从中央处理器提取相应的调试信息。15.根据权利要求10所述的片上系统,其中,调试主机被配置为:响应于相应的信息提取命令,将相应的调试信息存储在不被所述多个处理器和系统总线的重新启动重置的存储空间中。16.一种片上系统,包括:多个处理器,所述多个处理器中的每个处理器包括:第一接口、第二接口和中央处理器;系统总线,连接到第一接口;至少一个调试主机,连接到第二接口;片上系统控制器,通过系统总线连接到所述多个处理器,并被配置为:检测所述多个处理器中的死锁状态,其中,调试主机被配置为:当发生死锁状态时,响应于片上系统控制器的指令,将基于所述多个处理器中的每个处理器的架构生成的各自的信息提取命令发送至所述多个处理器,其中,所述多个处理器被配置为:响应于各自的信息提取命令,输出和或存储各自的状态信息作为各自的调试信息。17.根据权利要求16所述的片上系统,其中,所述多个处理器中的每个处理器包括所述至少一个调试主机中的相应的调试主机。18.根据权利要求17所述的片上系统,其中,所述至少一个调试主机通过系统总线连接到第二接口。19.根据权利要求16所述的片上系统,其中,各自的状态信息包括紧接在发生死锁状态之前和之后的与所述多个处理器中的至少一个处理器有关的状态信息。20.一种片上系统,包括:第一处理器,根据第一架构而设计;第二处理器,根据与第一架构不同的第二架构而设计;片上系统控制器,被配置为:检测第一处理器和第二处理器中的至少一个中的死锁状态;调试主机,连接到第一处理器和第二处理器中的每个的从接口,并被配置为:当发生死锁状态时,在第一处理器和第二处理器被重置之前,通过经由从接口将各自的信息提取命令发送至第一处理器和第二处理器,来获得关于第一处理器和第二处理器的各自的调试信息,其中,第一处理器和第二处理器被配置为:响应于各自的信息提取命令,使用不同的方法来存储各自的调试信息。

百度查询: 三星电子株式会社 片上系统及其操作方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术