具有中断代理功能的片上系统及其中断处理方法

文档序号:6340673阅读:136来源:国知局
专利名称:具有中断代理功能的片上系统及其中断处理方法
技术领域
本公开在此涉及片上系统,更具体来说,涉及具有中断代理(interruptproxy)功能的片上系统(system on chip)及其中断处理方法。
背景技术
数字通信系统或多媒体系统中使用的各种各样的信息设备根据用户的需求而在尺寸、重量和价格方面日益下降,同时在性能方面却提高了。因此,片上系统(SoC)技术正变得更加重要。SoC是一种半导体集成电路,其中,具有独立市场的各种半导体产品的功能和产品组集成在一个芯片上,所述产品组比如处理器、存储器、模拟电路和数字信号处理器(DSP)。 因此,SoC包括多个模块化的知识产权(IP)。这些IP包括组成系统的所有硬件和软件功能, 所述系统比如存储器、外部接口、模拟和混合模式的块、内置软件和操作系统(OS)。在该技术领域中所述IP可以被称为虚拟组件(Virtual component, VC) 0当在SoC的各个IP中产生中断信号时,处理器内核收集在IP中产生的所有中断信号并且根据IP使用不同的用户软件处理中断任务。在此情况下,由于不同的IP在处理中断任务中可能花费不同的时间,所以SoC的总体性能可能恶化。此外,该系统可能由于用户软件中出现的错误而发生故障。在系统结构由于IP的增加而变得复杂的情况下,等待时间可能由于处理器内核对各个IP进行访问的时间不同而增加。当中断任务处理因此而被延迟时,可能出现这样的错误高速处理器内核再次执行用户软件的中断服务例程。

发明内容
本公开提供一种能够快速处理每个知识产权(IP)中产生的中断而不引起错误的片上系统(SoC)和处理其中断的方法。本公开还提供一种具有能够以标准化的方式处理中断的中断代理功能的SoC及其中断处理方法。本公开还提供一种改进的方法,其能够防止出现处理内核再次执行中断服务例程的错误。本公开还提供一种SoC及其中断处理方法,该SoC不管中断是在哪个IP中产生的都能够确保一致的中断任务处理时间,并且尽管由于用户的错误而导致错误的用户软件存在时也能够防止出现错误。本公开还提供一种SoC及其中断处理方法,该SoC具有能够提高性能和操作稳定性的中断代理功能。本发明构思的示例实施例提供一种片上系统(SoC),其包括处理器,其被配置为处理设定的任务;系统总线;多个模块,其可操作地通过所述系统总线耦接到所述处理器; 以及中断代理处理单元,其连接到所述处理器和所述多个模块,所述中断代理处理单元被配置为独自处理与所述多个模块中的第一模块相关联的中断相关任务。在一些实施例中,中断代理处理单元被配置为作为所述中断相关任务的部分释放来自所述多个模块中的第一模块的中断。在其它实施例中,中断代理处理单元可以包括状态寄存器,其被配置为存储关于从第一模块接收的中断的中断状态信息,并且当所述处理器释放该中断时,存储来自所述处理器的中断释放信号;总线接口,其被配置为将所述中断释放信号提供给第一模块;以及优先级确定单元,其位于所述状态寄存器和所述处理器之间,所述优先级确定单元被配置为在所述中断状态信息中选择具有最高中断优先级的信息并且将所选择的信息提供给所述处理器。在至少一些实施例中,所述处理器可以不被配置为将中断释放信号直接提供给所述第一模块。在其它实施例中,状态寄存器可以包括第一存储区域,其被配置为存储中断状态信息;第二存储区域,其被配置为存储中断释放信号;以及第三存储区域,其被配置为存储关于所述中断状态信息的发送执行信息。在其它实施例中,总线接口是针对所述处理器的总线受控接口(bus slaveinterface)以及针对所述多个模块的总线主控接口(bus mater interface)。在本发明构思的其它实施例中,一种SoC可以包括处理器,其被配置为处理任务;系统总线;多个模块,其操作地通过所述系统总线耦接到所述处理器;以及中断代理处理单元,其连接到所述处理器和所述多个模块,所述中断代理处理单元被配置为从所述多个模块中的第一模块接收中断,存储中断状态信息,并且独自处理针对所述第一模块的中断释放任务。在一些实施例中,所述多个模块包括从由存储器、逻辑电路、模拟电路和数字信号处理器(DSP)组成的组中选择的至少一个。在其它实施例中,所述中断代理处理单元可以包括状态寄存器,其被适配为存储中断状态信息以及被适配为当所述处理器释放中断时存储从所述处理器接收的中断释放信号;总线接口,其被配置为将所述中断释放信号提供给第一模块;以及优先级确定单元, 其位于所述状态寄存器和所述处理器之间并且被配置为在所述中断状态信息中选择具有最高中断优先级的信息并且将所选择的信息提供给所述处理器。在至少一些实施例中,所述处理器可以不被配置为将所述中断释放信号直接提供给所述第一模块。在其它实施例中,状态寄存器可以包括第一存储区域,其被配置为存储中断状态信息;第二存储区域,其被配置为存储中断释放信号;以及第三存储区域,其被配置为存储关于所述中断状态信息的发送执行信息。在本发明构思的其它实施例中,提供一种用于处理SoC中的中断的方法,所述SOC 包括以模块形式安装的多个模块,所述多个模块操作地通过系统总线与处理器相关联。该方法包括将从所述多个模块产生的中断状态信息存储在中断代理处理单元中,所述中断代理处理单元相对于所述处理器作为受控接口操作;以及通过所述中断代理处理单元释放中断,以便当所述处理器退出中断处理操作模式时,跳过(skip)检查所述中断的释放的操作。在一些实施例中,所述中断代理处理单元可以在中断的释放之前从所述处理器接收针对所述多个模块中的相应模块的中断清除命令。在其它实施例中,中断状态信息和中断清除命令可以存储在中断代理处理单元的状态寄存器中。在其它实施例中,中断状态信息可以存储在状态寄存器的第一存储区域中,并且中断清除命令存储在状态寄存器的第二存储区域中。在其它实施例中,状态寄存器还可以包括第三存储器区域,用于存储关于中断状态信息的发送执行信息。在其它实施例中,发送执行信息可以在被选择作为中断状态信息中具有最高中断优先级的信息时被存储。在本发明构思的其它实施例中,SoC可以包括处理器,其被配置为处理任务;系统总线;多个模块,其包括硬件、外围器件和接口,并且操作地通过所述系统总线耦接到所述处理器;以及中断代理处理单元,其操作地耦接到所述多个模块并且被配置为相对于所述处理器作为另一模块操作,从所述多个模块的第一模块接收中断,存储中断状态信息,并且在从所述处理器接收到中断清除命令时独自释放针对所述第一模块的中断。在至少一些实施例中,所述处理器可以不被配置为将所述中断清除命令直接提供给所述第一模块。在一些实施例中,所述多个模块可以包括从由存储器、逻辑电路、模拟电路和DSP 组成的组中选择的至少一个。在其它实施例中,所述中断代理处理单元可以包括状态寄存器,其被配置为存储关于中断的中断状态信息并且存储中断清除命令;所述中断清除命令与所述第一模块相关联;总线接口,其被配置为将所述中断清除命令提供给第一模块;以及优先级确定单元,其位于所述状态寄存器和所述处理器之间并且被配置为在所述中断状态信息中选择具有最高中断优先级的信息并且将所选择的信息提供给所述处理器。在其它实施例中,总线接口是针对所述处理器的总线受控接口以及针对所述多个模块的总线主控接口。在其它实施例中,所述处理器被配置为比所述多个模块更快地操作。


附图被包括是为了提供对本发明构思的进一步的理解,并且被合并到本说明书中并且构成本说明书的一部分。附示本发明构思的示例实施例,并且与说明一起用来解释本发明构思的原理。在附图中,图1是根据本发明构思的示例实施例的片上系统(SoC)的示意性框图。图2是示出图1的中断代理处理单元的示例结构的详细框图;以及图3是示出有关图2的状态寄存器的单位存储区的视图。
具体实施例方式将参照附图来描述本发明构思的示例实施例。尽管示出和描述了本发明构思的几个示例实施例,但是本领域的普通技术人员将会理解,在不偏离示例实施例的原理和精神的情况下,可以在这些示例实施例中作出改变, 示例实施例的范围在权利要求及其等同物中定义。将要理解,当元件或层被称为“在”另一元件或层“上”时,该元件或层可以直接在另一元件或层上或者直接在中间元件或层上。相对比地,当元件被称为“直接在”另一元件或层“上”时,不存在中间元件或层。相同的标号始终指代相同的元件。如这里所使用的, 术语“和/或”包括相关联的列出项目中的一个或更多个的任何组合和所有组合。这里使用的术语仅仅是为了描述具体实施例,而不是为了限制本发明。如这里所使用的,单数形式的“一”和“该”意欲也包括复数形式,除非上下文另外明确指出。还将理解,术语“包括”当用在本说明书中时是为了指定所陈述的特征、整数、步骤、操作、元件和/ 或组件的存在,但是不排除一个或更多个其它特征、整数、步骤、操作、元件、组件和/或它们的组的存在或添加。将会理解,尽管术语第一、第二、第三等在这里可以用于描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应该受这些术语限制。这些术语仅仅被用于将一个元件、组件、区域、层或部分与另一区域、层或部分区分开。因此,下面讨论的第一元件、组件、区域、层或部分可以被称为第二元件、组件、区域、层或部分,而不会脱离示例实施例的教导。在此参照作为本发明构思的示例实施例的示意性图示的截面图示(和中间结构) 描述本发明构思的示例实施例。像这样,将预期到例如作为制造技术和/或公差的结果的与图示的形状的差异。因此,示例实施例不应该被解释为局限于这里图示的区域的具体形状,而是包括例如由制造导致的形状的偏差。图1是根据本发明构思的示例实施例的片上系统(SoC)的示意性框图。图2是示出图1中所示的中断代理处理单元20的示例性结构的详细框图。图3是示出有关图2的状态寄存器的单位存储区域的视图。参照图1,SoC包括用作处理器内核的主处理器10、中断代理处理单元20、用作系统总线的总线15以及连接到总线15的第一到第η知识产权(intellectualpropertydP) (可以被称为模块)30、31和33。作为处理器内核的主处理器10根据SoC的请求处理设定的任务(set task)。微处理器可以被用作主处理器10。第一到第η IP 30,31和33以模块的形式安装在SoC上并且通过总线15操作地与处理器内核相关联。第一到第η IP可以包括从由存储器、逻辑电路、模拟电路和数字信号处理器(DSP)组成的组中选择的至少一个。连接到主处理器10以及第一到第η IP 30、31和33的中断代理处理单元20存储从第一到第η IP 30、31和33提供的中断状态信息,并且独自处理针对第一到第η IP 30、 31和33的中断释放任务。图2详细示出了中断代理处理单元20的结构。参照图2,中断代理处理单元20包括状态寄存器22、总线接口 25和优先级确定单元23。状态寄存器22根据相应IP存储中断状态信息,并且当中断被释放时,根据相应IP 存储从主处理器10提供的中断释放信号。总线接口 25通过线LU和LD与状态寄存器22相连并且将存储在状态寄存器22 中的中断释放信号提供给多个IP中的相应IP。总线接口 25可以包括从接口单元25A和主接口单元25b。虚拟组件接口(VCI)可以被用作总线接口 25的接口。VCI,作为用于在VC 间通信的标准接口和协议,在设计SoC中定义了 VC和系统总线之间的标准接口。通过连接线LP连接到状态寄存器22的优先级确定单元23位于状态寄存器22和主处理器10之间。优先级确定单元23在终端状态信息中选择具有最高中断优先级的信息并且将所选择的信息提供给主处理器10,即处理器内核。状态寄存器22由对应于第一到第η IP 30,31和33的多个单位存储区域22a、
22b.....22η组成。单位存储区域22a、22b.....22η分别通过线Ll到Ln连接到第一到第
η IP 30,31 和 33(图 1)。如图3中所示,例如,一个单位存储区域 ‘a’到‘n’ )可以包括第一存储区域Μ0、第二存储区域230和第三存储区域220。参照图3,通过R_I表示的第一存储区域240可以存储中断状态信息。通过C_C表示的第二存储区域230可以存储中断释放信号。通过C_I表示的第三存储区域220可以存储关于中断状态信息的发送执行 (transmission execution)信息。图2中示出的中断代理处理单元20被提供以便提高SoC的性能和操作稳定性,其将从第一到第η IP 30、31和33提供的中断状态信息存储在状态寄存器22中。因此,从第一到第η IP 30、31和33产生的中断状态信息的影子副本(shadow copy)可以被存储在状态寄存器22中。中断代理处理单元20将所产生的中断中的最高优先级的中断通过图1的线LTx提供给主处理器10。相应地,主处理器10处理有关相应IP的中断任务。这里,检查中断的释放的操作被排除在中断任务之外。主处理器10通过线LRx(图1)提供中断清除命令,所述中断清除命令指令释放中断,然后主处理器10立即退出中断服务例程而不确认相应IP的中断的释放。换言之,主处理器10快速停止中断处理操作并且返回正常操作模式。根据中断清除命令,中断代理处理单元20独自处理针对相应IP的中断释放任务。如果主处理器10因此能够通过中断代理处理单元20释放IP的中断而不对相应 IP进行直接访问,那么释放中断信号所花费的时间可以被标准化,从而提高了整个系统的性能。此外,主处理器10可以通过对另一IP进行访问而不执行该中断的释放,来处理请求的任务。而且,在主处理器10和特定IP之间的操作速度差别明显的情况下,可以防止主处理器10重新进入中断服务例程。中断代理处理单元20可以是作为连接到系统总线15的总线主控器(busmaster) 操作的另一单个IP。中断代理处理单元20也可以作为连接到系统总线15的总线受控器 (bus slave)来操作,以使能主处理器10对其的访问。当主处理器10并未正在使用系统总线15时,中断代理处理单元20可以像直接存储器访问(direct memory access, DMA)控制器那样频繁读入各个IP的中断状态,并且存储中断状态信息的影子副本。中断代理处理单元20可以仅通过图1的线LTx和LRx执行以上功能,而不必使用系统总线15。以下,将参照图1到3解释中断任务处理操作,假设在第一到第η IP 30,31和33 中的第η IP 33中产生中断。当在第η IP 33中产生中断时,中断代理处理单元20将中断状态信息通过线Ln 存储在图3的第一存储区域Μ0。当优先级确定单元23确定要发送在第nIP 33中产生的中断时,中断代理处理单元20被通过线LTx或系统总线15提供中断发送执行信息,其中所述中断发送执行信息通知中断的产生。在此情况下,通知发送完成的发送执行信息被存储在图3中示出的第三存储区域220中。相应地,主处理器10将用于释放中断的中断清除命令通过图1的线LRx或系统总线15施加给中断代理处理单元20,同时处理关于相应IP的中断任务。当施加中断清除命令时,主处理器10退出中断服务例程,而不确认相应IP的中断被释放。从此时起,中断代理处理单元20独自执行关于相应IP的中断释放任务。中断清除命令被存储在中断代理处理单元20的第二存储区域230中。在此状态中,中断代理处理单元20不再将相应IP 33的发送执行信息发送给主处理器10。存储在第二存储区域230 中的中断清除命令被作为中断释放信号通过主线MU施加给第η IP 33,其中所述主线MU属于图3的主接口单元25b的系统总线。这里,中断代理处理单元20可以通过使用内部地址 INT_ADD实现对第η IP 33的访问。当有关第η IP 33的中断被释放时,第一存储器区域MO的存储状态被重置为默认状态,这也导致了第三存储区域220的默认状态。当使第一存储器区域240和第三存储区域220的存储状态相同时,第二存储区域230的存储状态也被重置为默认状态。第一到第三存储区域对0、230、220的这些默认状态一直维持到下一次在相应IP中产生中断为止。因此,作为主处理器10的处理器内核能够立即退出中断服务例程而不必确认相应IP的中断被正常释放。如上所述,根据本发明构思的示例实施例,可以防止中断代理处理单元在中断处理例程中等待或者由于其自身的操作特点而重新进入中断服务例程。因此,各个IP请求的中断任务可以被迅速地处理,而且被以标准化的方式按统一的时间处理。结果,由于施加到用于处理中断的处理器内核的负荷被减少,所以处理器内核能够处理更多任务。相应地, SoC的整体性能可以被提高。尽管已经关于具有处理器内核的SoC解释了示例实施例,但是本发明构思的范围可以应用到嵌入式系统,而不局限于示例实施例。以上公开的主题要被视为是说明性而不是限制性的,并且所附权利要求旨在覆盖所有落在本发明构思的基本精神和范围内的这样的修改、增加和其他实施例。例如,中断代理处理单元的电路结构或连接到中断代理处理单元的电路块的布置和结构可以在本发明构思的精神和范围内进行各种改变或修改。
权利要求
1.一种片上系统SoC,包括 处理器,其被配置为处理任务; 系统总线;多个模块,其操作地通过所述系统总线耦接到所述处理器;以及中断代理处理单元,其操作地耦接到所述处理器和所述多个模块,所述中断代理处理单元被配置为独自处理与所述多个模块中的第一模块相关联的中断相关任务。
2.如权利要求1所述的SoC,其中所述中断代理处理单元被配置为作为所述中断相关任务的部分释放来自第一模块的中断。
3.如权利要求2所述的SoC,其中所述中断代理处理单元包括状态寄存器,其被配置为存储关于从第一模块接收的中断的中断状态信息并且如果所述处理器释放该中断则存储从所述处理器接收的中断释放信号;总线接口,其被配置为将所述中断释放信号提供给所述第一模块;以及优先级确定单元,其位于所述状态寄存器和所述处理器之间,所述优先级确定单元被配置为在所述中断状态信息中选择具有最高中断优先级的信息并且将所选择的信息提供给所述处理器。
4.如权利要求3所述的SoC,其中所述状态寄存器包括 第一存储区域,其被配置为存储中断状态信息;第二存储区域,其被配置为存储中断释放信号;以及第三存储区域,其被配置为存储基于所述中断状态信息的发送执行信息。
5.如权利要求4所述的SoC,其中所述总线接口是针对所述处理器的总线受控接口以及针对所述多个模块的总线主控接口。
6.一种片上系统SoC,包括 处理器,其被配置为处理任务; 系统总线;多个模块,其操作地通过所述系统总线耦接到所述处理器;以及中断代理处理单元,其操作地耦接到所述处理器和所述多个模块,所述中断代理处理单元被配置为从所述多个模块中的第一模块接收中断,存储中断状态信息,并且独自处理针对所述第一模块的中断释放任务。
7.如权利要求6所述的SoC,其中所述多个模块包括从由存储器、逻辑电路、模拟电路和数字信号处理器DSP组成的组中选择的至少一个。
8.如权利要求7所述的SoC,其中所述中断代理处理单元包括状态寄存器,其被配置为存储中断状态信息以及存储从所述处理器接收的中断释放信号;总线接口,其被配置为将所述中断释放信号提供给所述第一模块;以及优先级确定单元,其位于所述状态寄存器和所述处理器之间,所述优先级确定单元被配置为在所述中断状态信息中选择具有最高中断优先级的信息并且将所选择的信息提供给所述处理器。
9.一种用于处理片上系统SoC中的中断的方法,所述SOC包括以模块形式安装的多个模块,所述多个模块操作地通过系统总线与处理器相关联,该方法包括将从所述多个模块中产生的中断状态信息存储在中断代理处理单元中,所述中断代理处理单元相对于所述处理器作为受控接口操作;以及通过所述中断代理处理单元释放中断,以便当所述处理器退出中断处理操作模式时, 跳过检查所述中断的释放的操作。
10. 一种片上系统SoC,其包括 处理器,其被配置为处理任务; 系统总线;多个模块,其包括硬件、外围器件和接口,所述多个模块操作地通过所述系统总线耦接到所述处理器;以及中断代理处理单元,其操作地耦接到所述多个模块,所述中断代理处理单元被配置为作为相对于所述处理器的另一模块操作,从所述多个模块中的第一模块接收中断,存储中断状态信息,并且在从所述处理器接收到中断清除命令时独自释放针对所述第一模块的中断。
全文摘要
提供一种能够快速处理各种模块中产生的中断而不引起错误的片上系统(SoC)。该SoC包括处理器,其被配置为处理任务;多个模块,其在该SoC上并且操作地通过系统总线耦接到所述处理器;以及中断代理处理单元,其操作地耦接到所述处理器和所述多个模块并且被配置为独自处理来自所述多个模块中的第一模块的中断相关任务。
文档编号G06F9/48GK102169449SQ20101061436
公开日2011年8月31日 申请日期2010年12月30日 优先权日2010年2月25日
发明者朴镇永 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1