CN108304334A - 应用处理器和包括中断控制器的集成电路 - Google Patents

应用处理器和包括中断控制器的集成电路 Download PDF

Info

Publication number
CN108304334A
CN108304334A CN201710881552.1A CN201710881552A CN108304334A CN 108304334 A CN108304334 A CN 108304334A CN 201710881552 A CN201710881552 A CN 201710881552A CN 108304334 A CN108304334 A CN 108304334A
Authority
CN
China
Prior art keywords
interrupt
signal
source
control unit
memory
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.)
Granted
Application number
CN201710881552.1A
Other languages
English (en)
Other versions
CN108304334B (zh
Inventor
朴庭佑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN108304334A publication Critical patent/CN108304334A/zh
Application granted granted Critical
Publication of CN108304334B publication Critical patent/CN108304334B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • G06F13/34Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

提供了应用处理器和包括中断控制器的集成电路。一种应用处理器,包括:多个中断源,被分别分配了多个中断号;中央处理器(CPU),被配置为接收中断请求信号和中断号信号,并对所述多个中断源中的至少一个执行中断处理过程,其中,所述多个中断源中的所述至少一个与所述中断号信号相应;中断控制器包括与系统总线连接的主接口,中断控制器被配置为基于从所述多个中断源中的所述至少一个接收到的中断信号产生所述中断请求信号和所述中断号信号,并通过主接口将所述中断号信号发送到CPU。

Description

应用处理器和包括中断控制器的集成电路
本申请要求于2017年1月13日在韩国知识产权局提交的10-2017-0006281号韩国专利申请的权益,所述专利申请的公开通过引用其全部合并于此。
技术领域
本公开涉及了一种实时环境中的应用处理器和集成电路(IC),更具体地,涉及了一种能够在中断处理过程期间减少延迟时间的应用处理器和IC。
背景技术
随着IC的发展,包括计算机的电子装置的主流趋势已经朝向小型化、高可靠性、高速度和低功耗。数字IC(诸如片上系统(SoC))是将具有各种功能的复杂系统集成到单个半导体芯片中的技术。根据将计算机、通信和广播结合的融合趋势,针对专用IC(ASIC)和专用标准产品(ASSP)的需求已将向SoC转移。此外,信息技术(IT)装置的小型化和减重已经加速了SoC相关业务的发展。
当从中断源产生中断信号时,IC的中央处理器(CPU)可执行中断处理过程。因此,仍需要减少CPU执行中断处理过程所花费的延迟时间。
发明内容
本公开提供一种包括能够在中央处理器(CPU)执行中断处理过程时减少延迟时间的中断控制器的集成电路(IC)。
根据本公开的一方面,提供了一种应用处理器,包括:多个中断源,被分别分配了多个中断号;中央处理器(CPU),被配置为接收中断请求信号和中断号信号,并执对所述多个中断源中的至少一个执行中断处理过程,其中,所述多个中断源中的所述至少一个与所述中断号信号相应;中断控制器,包括与系统总线连接的主接口,其中,中断控制器被配置为基于从所述多个中断源中的所述至少一个接收到的中断信号产生所述中断请求信号和所述中断号信号,并通过主接口将所述中断号信号发送到CPU。
根据本公开的另一方面,提供了一种集成电路,包括:第一中断源,被配置为产生第一中断信号并具有分配给第一中断源的第一中断号;第二中断源,被配置为产生第二中断信号并具有分配给第二中断源的第二中断号;中断控制器,包括主接口;与主接口连接的系统总线,其中,中断控制器被配置为从第一中断源接收第一中断信号,从第二中断源接收第二中断号,并基于第一中断信号和第二中断信号中的至少一个产生中断请求信号,主接口被配置为向系统总线输出关于第一中断号和第二中断号中的至少一个的中断号信号。
根据本公开的另一方面,提供了一种应用处理器,所述应用处理器具有通信总线、中断源、中断控制器、中央处理器(CPU)和紧耦合存储器。中断源产生被传送到中断控制器的中断信号。响应于从中断源接收到中断信号,中断控制器产生与中断信号相应的中断请求信号和标识中断源的中断号。CPU从中断控制器接收中断请求信号和中断号。紧耦合存储器存储由CPU接收的中断请求信号和中断号。响应于接收到中断请求信号,CPU执行以下操作:(1)在紧耦合存储器中存储与在由CPU接收中断请求信号时正被执行的中断操作有关的数据,(2)通过不使用通信总线的直接通信检索由紧耦合存储器存储的中断号,(3)通过通信总线将中断处理命令传送到中断源。
附图说明
通过以下结合附图的详细描述,本公开的实施例将被更清楚地理解,其中:
图1是根据实施例的集成电路(IC)的框图;
图2是根据实施例的在IC中包括的中断控制器的操作的流程图;
图3是根据实施例的IC的框图,该框图说明中断控制器的操作;
图4是根据实施例的在IC中包括的中断控制器的操作的流程图;
图5是根据实施例的IC的框图,该框图说明中央处理器(CPU)的操作;
图6是根据实施例的IC的CPU的操作的流程图;
图7是根据实施例的IC的CPU的操作(尤其是图6的操作S27’)的流程图;
图8是示出根据实施例的在IC的存储器中存储的有效信息和中断号的示图;
图9A和图9B是根据实施例的在IC中的中断处理过程的时序图,该时序图说明中断处理过程的延迟;
图10示出根据实施例的包括IC的电子系统的示例。
具体实施方式
图1是根据实施例的集成电路(IC)1000的框图。
IC 1000可以是控制电子系统的操作的控制器或处理器。根据实施例,IC 1000可以是片上系统(SoC)、应用处理器(AP)、移动AP或控制芯片。
IC 1000可被安装在电子装置(诸如膝上型计算机、智能电话、台式个人计算机(PC)、个人数字助理(PDA)、企业数字助理(EDA)、数码相机、便携式多媒体播放器(PMP)、便携式导航装置(PND)、手持游戏机、移动互联网装置(MID)、多媒体装置、可穿戴计算器、物联网(IoT)装置、万物互联(IoE)装置或电子书阅读器)上。
参照图1,IC 1000可包括中央处理器(CPU)100、存储器110、中断源200和中断控制器210。CPU 100、存储器110、中断源200和中断控制器210中的每一个可以是主块或从块。主块和从块均可执行IC 1000中的特定功能。主块和从块可基于主块和从块是否具有使用系统总线300的权限而被分类。
中断源200可包括第一中断源200_1到第n中断源200_n。在这种情况下,n可以是等于或大于2的自然数。中断源200可产生中断信号IS并将产生的中断信号IS输出到中断控制器210。
在实施例中,中断源200可以是用于在系统内执行特定操作的中断处理(IP),并可以是形成IC 1000的组件。中断源200可与特定模块(例如,视频模块、声音模块、显示模块、存储模块、通信模块或相机模块)相应。例如,中断源200可以是软件。在这种情况下,CPU100可执行在随机存取存储器(RAM)中存储的软件,并因此可执行中断处理过程。然而,中断源200不限于软件。
中断控制器210可从中断源200接收中断信号IS。中断控制器210可基于中断信号IS产生中断请求信号(IRQ),并可将中断请求信号(IRQ)发送到CPU 100。此外,关于与中断信号IS相应的中断号的中断号信号INum可通过系统总线300被发送到CPU 100。
中断控制器210可包括主接口211。主接口211可将中断号信号INum输出到系统总线300。
CPU 100可执行或处理在只读存储器(ROM)和/或RAM中存储的程序和/或数据。根据实施例,CPU 100可执行在ROM和/或RAM中存储的程序。ROM可存储程序和/或数据,并可以被实现为可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)等。此外,RAM可被实现为诸如动态RAM(DRAM)或静态RAM(SRAM)的存储器。
CPU 100可直接地与中断控制器210连接或通过系统总线300与中断控制器210连接。例如,CPU 100可在不使用系统总线300的情况下直接地从中断控制器210接收中断请求信号IPQ。可选地,CPU 100可通过系统总线300接收中断号信号INum。CPU 100可基于接收到的中断号信号INum,向系统总线300输出针对中断源200之中的与中断号信号INum相应的一个中断源200的中断处理命令ICMD。
CPU 100可在不使用系统总线300的情况下直接地与存储器110连接。因此,当处理过程需要被快速执行时,CPU 100可在直接与CPU 100连接的存储器110中存储关于上述处理过程的数据,并随后可通过使用存储器110来执行处理过程。CPU 100可将中断号信号INum发送到存储器110并可在存储器110中存储中断号。
例如,存储器110可以是紧耦合存储器(TCM)。因此,存储器110可紧贴CPU放置并可在相对短的时间内(例如,在一个周期所花费的时间内或在几个周期所花费的时间内)被CPU访问。具体地,存储器110可通过专用通道与CPU 100连接并因此可用作CPU 100的专用存储器。
在本实施例中,存储器110可存储作为关于中断源200的信息的中断号并可存储可被用于确定存储的中断号的有效性的有效信息。在实施例中,存储器110可包括SRAM。
中断源200可通过系统总线300接收中断处理命令ICMD,并可执行电子系统中的特定操作。此外,中断源200可停止产生中断信号IS。
系统总线300可将主块与从块连接。主块可通过系统总线300访问从块,然而,从块可通过系统总线300被主块控制。例如,CPU 100可以是主块,并且中断源200和中断控制器210可以是从块。然而,本公开不限于此。在一些情况下,中断控制器210可以是主块并因此可通过系统总线300访问CPU 100。当中断号信号INum通过系统总线300被发送到CPU 100时,中断控制器210可以是主块,并且CPU 100可以是从块。
例如,系统总线300可包括根据AXI4规格的读取地址(AR)通道、写入地址(AW)通道、写入响应(B)通道、读取响应(R)通道或写入数据(W)通道。
系统总线300可被实现为应用了具有特定总线标准的协议的总线。例如,高级RISC机器(ARM)的高级微控制器总线架构(AMBA)协议可被用作总线标准。根据AMBA协议的总线可以是高级高性能总线(AHB)、高级外围总线(APB)、高级可扩展接口(AXI)、AXI4、AXI一致性扩展(ACE)等。在上面列出的总线中,AXI是功能块之间的接口协议并提供多未完成的地址功能、数据交织功能等。此外,诸如SONIC的uNetwork、IBM的CoreConnet或OCP-IP的开放核心协议的协议可被应用于系统总线300。
图2是根据实施例的在IC 1000中包括的中断控制器210的操作的流程图。图2示出中断控制器210和CPU 100的操作。
参照图1和图2,在操作S11,中断控制器210可接收中断信号IS。在操作S13,中断控制器210可存储与中断信号IS相应的中断号。中断号可以是关于用于产生激活的中断信号IS的中断源200之一的信息。当需要处理中断时,第一中断源200_1到第n中断源200_n中的每一个可激活中断信号IS。例如,当需要处理中断时,第一中断源200_1到第n中断源200_n中的每一个可产生具有第一逻辑电平(例如,1)的中断信号IS,并激活中断信号IS,并当不需要处理中断时,中断源200可产生具有第二逻辑电平(例如,0)的中断信号IS,并不激活中断信号IS。
在操作S15,中断控制器210可基于中断信号IS产生中断请求信号IRQ。中断号被存储在中断控制器210中的操作S13和产生中断请求信号IRQ的操作S15不限于以图2中示出的顺序被执行。
在操作S17,中断控制器210可将中断请求信号IRQ输出到CPU 100。由于中断控制器210可直接地与CPU 100连接,所以可在不使用系统总线300的情况下,将中断请求信号IRQ直接地发送到CPU 100。与此相反,包括关于中断号的信息的中断号信号INum可通过系统总线300被输出到CPU 100。因此,在操作S19,中断号信号INum可通过系统总线300被发送到CPU 100。在这种情况下,针对中断号信号INum,中断控制器210可以是主块,并且CPU 100可以是从块。
参照图2,在将中断请求信号IRQ输出到CPU 100的操作S17之后,执行将中断号信号INum通过系统总线300输出到CPU 100的操作S19。然而,可同时执行操作S17和S19。
CPU 100可直接地从中断控制器210接收中断请求信号IRQ。当中断请求信号IRQ被发送到CPU 100时,CPU 100可停止执行在接收到中断请求信号IRQ之前正在被执行的操作,并可存储关于这些操作的数据。当完全存储了数据时,在操作S23,CPU 100可执行中断处理准备过程。
在操作S25,CPU 100可从系统总线300接收中断号信号INum并可将中断号存储在存储器110中。虽然中断控制器210同时输出中断请求信号IRQ和中断号信号INum,但中断请求信号IRQ到达CPU 100的时间点可不同于中断号信号INum到达CPU 100的时间点。因此,当CPU 100准备执行中断处理过程时,CPU 100可接收中断号信号INum。CPU 100准备执行中断处理过程的操作S23可与将中断号存储在存储器110中的操作S25重叠。
当完成对中断处理过程的准备时,在操作S27,CPU 100可基于存储器110中存储的中断号,对中断源200之中的与中断号相应的一个中断源200执行中断处理过程。
由于根据实施例的IC 1000包括在不从CPU 100接收单独的命令的情况下输出中断号信号INum的中断控制器210,所以当CPU100完成对执行中断处理过程的准备时,CPU100可快速地从存储器110接收关于中断源200之一的信息。因此,可减少根据中断处理的延迟。
图3是根据实施例的IC 1000的框图,该框图说明了中断控制器210的操作。图4是根据实施例的在IC 1000中包括的中断控制器210的操作的流程图。图1和图3中相同的标号指示相同的元件,并为了方便,省略对其的详细描述。
参照图3和图4,中断源200可包括第一中断源200_1到第n中断源200_n。中断控制器210可包括主接口211、优先级寄存器213和中断号寄存器215。
第一中断源200_1到第n中断源200_n可分别地产生第一中断信号IS_1到第n中断信号IS_n,并可将产生的第一中断信号IS_1到第n中断信号IS_n输出到中断控制器210。此外,第一中断号到第n中断号可分别被分配给第一中断源200_1到第n中断源200_n。因此,CPU 100可基于第一中断号到第n中断号识别哪个中断源产生中断信号。
可以产生中断源200之中的两个或更多个中断源200被激活的中断信号。例如,中断源200之中的第一中断源200_1和第二中断源200_2可分别产生第一中断信号IS_1和第二中断信号IS_2,并且第一中断信号IS_1和第二中断信号IS_2可被激活。因此,在操作S11’,中断控制器210可接收包括至少一个激活的中断信号的中断信号。
优先级寄存器213可接收被激活的第一中断信号IS_1和第二中断信号IS_2。第一中断信号IS_1到第n中断信号IS_n的优先级可被存储在优先级寄存器213中。当被激活的中断信号同时被输入到中断控制器210时,中断控制器210可基于存储的优先级,从第一中断信号IS_1到第n中断信号IS_n中选择具有高优先级的至少一个中断信号。例如,在操作S12’,当被激活的第一中断信号IS_1和第二中断信号IS_2同时被输入到中断控制器210时,中断控制器可基于存储的优先级,选择具有高优先级的第一中断信号IS_1。
在操作S13’,中断控制器210可将与选择的第一中断信号IS_1相应的中断号存储在中断号寄存器215中。当输入到中断控制器210的第一中断信号IS_1到第n中断信号IS_n中的仅第一中断信号IS_1被激活时,操作S13’也可被执行。此外,当三个或更多个中断信号被激活时,操作S13’也可被执行。
在操作S15’,中断控制器210可基于选择的第一中断信号IS_1产生中断请求信号IRQ。将第一中断号存储在中断号寄存器215中的操作S13’和产生中断请求信号IRQ的操作S15’不限于以图3中示出的顺序被执行。
在操作S17’,中断控制器210可将中断请求信号IRQ输出到CPU 100。在这种情况下,在不使用系统总线300的情况下,中断请求信号IRQ可被直接地发送到CPU 100。
在操作S19’,可将包括关于在中断号寄存器215中存储的第一中断号的信息的第一中断号信号INum_1从主接口211输出到系统总线300。在操作S19’,,可将有效信息信号VS与第一中断号信号INum_1一起从主接口211输出到系统总线300,其中,有效信息信号VS包括被用于确定第一中断号的有效性的信息。然而,实施例不限于此。可仅将第一中断号信号INum_1从主接口211输出到系统总线300。
主接口211可具有使用系统总线300的权限,并可通过系统总线300访问CPU 100。第一中断号信号INum_1可通过系统总线300被发送到CPU 100。
将中断请求信号IRQ发送到CPU 100的操作S17’可与将第一中断号信号INum_1和有效信息信号VS输出到系统总线300的操作S19’重叠。例如,可同时从中断控制器210输出中断请求信号IRQ、第一中断号信号INum_1和有效信息信号VS。然而,实施例不限于此。可在从中断控制器210输出中断请求信号IRQ之后从主接口211输出第一中断号信号INum_1和有效信息信号VS。
图5是根据实施例的IC 1000的框图,该框图说明了CPU 100的操作。图6是根据实施例的IC 1000的CPU 100的流程图。图1、图3、图5和图6中相同的标号指示相同的元件,并且为了方便,省略对其的详细描述。
参照图5和图6,CPU 100可包括从接口101和主接口103。从接口101可通过图3的中断控制器210的主接口211被控制。主接口103可具有使用系统总线300的权限并可通过系统总线300访问中断源200。
在操作S21’,CPU 100可直接从中断控制器210接收中断请求信号IRQ。在操作S23’,当CPU 100接收到中断请求信号IRQ时,CPU 100停止执行在接收到中断请求信号IRQ之前正在被执行的操作,并可准备中断处理过程,例如,存储关于操作的数据。
在操作S25’,CPU 100可通过从接口101从系统总线300接收第一中断号信号INum_1和有效信息信号VS,并可将第一中断号和有效信息存储在存储器110中。然而,本公开不限于此。CPU 100可通过从接口101从系统总线300仅接收第一中断号信号INum_1,并可仅将第一中断号存储在存储器110中。
CPU 100接收到中断请求信号IRQ的时间可与CPU 100接收到第一中断号信号INum_1的时间不同。如上参考图3和图4的描述,即使假设中断控制器210同时输出中断请求信号IRQ和第一中断号信号INum_1,由输出中断请求信号IRQ的路径与输出第一中断号信号INum_1的路径之间的差异也会引起时间差。当通过系统总线300将信号发送到CPU 100时,发送速率可低于直接发送信号期间的发送速率。因此,CPU 100可在接收到第一中断号请求信号IRQ之后接收到第一中断号信号INum_1和有效信息信号VS。将参照图9进行更详细的描述。
当在执行CPU 100从系统总线300接收第一中断号信号INum_1和有效信息信号VS并将第一中断号和有效信息存储在存储器110中的操作S25’的同时,在操作S23’,CPU 100可准备执行中断处理过程。即,可并行地执行CPU 100准备执行中断处理过程的操作S23’和接收第一中断号信号INum_1和有效信息信号VS并将第一中断号和有效信息存储在存储器110中的操作S25’。
在操作S27’,当已经完成对中断处理过程的准备时,CPU 100可基于在存储器110中存储的第一中断号,对与第一中断号相应的第一中断源200_1执行中断处理过程。在这种情况下,CPU 100可基于存储器110中存储的有效信息确定第一中断号的有效性。将参照图7和图8进行更详细地描述。
CPU 100的主接口103可将中断处理命令ICMD输出到系统总线300。主接口103可具有使用系统总线300的权限并可通过系统总线300访问第一中断源200_1。因此,当通过系统总线300将中断处理命令ICMD发送到第一中断源200_1时,CPU 100可以是主块,并且第一中断源200_1可以是从块。此外,当经过系统总线300将中断处理命令ICMD发送到中断源200时,CPU 100可以是主块,并且中断源200可以是从块。
当完成对第一中断源200_1的中断处理过程时,可执行CPU 100重新执行已经被停止的操作的操作S29’。
根据实施例的IC 1000可提前将关于中断源200的信息存储在与CPU 100直接连接的存储器110中,并当CPU 100完成对中断处理过程的准备时,CPU 100可快速地从存储器110接收关于中断源200的信息。因此,CPU 100获得关于用于产生中断信号IS的中断源200的信息(例如,中断号)所花费的时间可被减少,并因此可减少关于中断处理的延迟。
第一中断源200_1可通过系统总线300接收中断处理命令ICMD,并可执行电子系统中的特定操作。然后,第一中断源200_1可不激活第一中断信号IS_1。CPU 100未执行中断处理过程的第二中断源200_2可保持产生激活的第二中断信号IS_2,并当完成对第一中断源200_1的中断处理过程时,可执行对第二中断源200_2的中断处理过程。
图7是根据实施例的IC的CPU 100的操作(尤其是图6的操作S27’)的流程图。图8是示出在根据实施例的在IC的存储器中存储的有效信息和中断号的示图。图8是示出在完成中断处理过程之后改变的有效信息的示图。图1和图5-8中的相同的标号指示相同的元件,并且为了方便,省略对其的详细描述。
参照图7和图8,CPU 100可包括从接口101和主接口103。CPU 100可通过从接口101从系统总线300接收第一中断号INum_1和有效信息信号VS,并可将第一中断号信号INum_1和有效信息信号VS发送到存储器110。存储器110可在其中存储第一中断号和有效信息。
在操作S271,当完成对中断处理过程的准备时,CPU 100可识别在存储器110中存储的有效信息。例如,有效信息可以是1比特,并且当有效信息具有第一值(例如,1)时,第一值可指示当前存储的中断号是有效的。与此相反,当有效信息具有第二值(例如,0)时,第二值可指示当前存储的中断号是无效的。即,当有效信息具有第二值时,已经由CPU 100执行了中断处理过程的中断源的中断号可被存储在存储器110中。然而,有效信息的值不限于第一值和第二值,并且有效信息不限于1比特。
在操作S273,CPU 100可通过识别在存储器110中存储的有效信息来确定在存储器110中存储的第一中断号是否有效。第一中断号和有效信息可在中断处理过程被执行之前被存储在存储器110中。有效信息可以是1比特,并且当有效信息具有值1时,当前存储的第一中断号可以是有效的。因此,CPU 100可对第一中断源200_1执行中断处理过程。
当确定第一中断号是有效的时,可执行操作275,在操作275中,基于第一中断号对与第一中断号相应的第一中断源200_1执行中断处理过程。即,CPU 100的主接口103可将中断处理命令ICMD输出到系统总线300。
当完成中断处理过程时,可执行操作S277,在操作277中,CPU 100改变在存储器110中存储的有效信息。第一中断号和改变的有效信息可在中断处理过程已经被执行之后被存储在存储器110中。当完成对第一中断源200_1的中断处理过程时,CPU 100可通过将有效信息的值从1改变为0来显示在存储器110中存储的第一中断号现在是无效的。
当在操作271,在CPU 100完成对中断处理过程的准备并识别在存储器110中存储的有效信息之后,在操作273,CPU 100确定在存储器110中存储的第一中断号是无效的时,在操作S271,CPU 100可持续识别在存储器110中存储的有效信息,直到在存储器110中存储的第一中断号被确定为有效。
CPU 100停止执行在接收到中断请求信号IRQ之前正在被执行的操作。当CPU 100准备执行中断处理过程(例如,存储关于操作的数据)时,从系统总线300接收第一中断号信号INum_1和有效信息信号VS并在存储器110中存储第一中断号和有效信息的操作可能没有完成。在这种情况下,存储在存储器110中的有效信息的值仍可为0。因此,在操作S271,CPU100可持续识别在存储器110中存储的有效信息,直到在存储器110中存储第一中断号和有效信息的操作完成并且在存储器110中存储的有效信息的值变为1为止。
当与已经完成了中断处理过程的中断源200相应的中断号依然存储在存储器110中时,CPU 100可基于该中断号重复地执行中断处理过程。当中断号和有效信息两者都存储在存储器110中时,CPU 100可基于在存储器110中存储的有效信息确定中断号的有效性,并因此,CPU 100不会不必要地执行中断处理过程。
图9A和图9B是根据实施例的在IC中的中断处理过程的时序图,并说明CPU 100的中断处理过程的延迟。图9A示出本公开的实施例,并且图9B示出比较示例。与本公开的实施例不同,在比较示例中,CPU 100可在中断处理准备过程完成之后接收中断号信号。参照图9A和图9B,横轴指示时间。
参照图1、3、9A和9B,在实施例中,每个中断源200可输出中断信号IS,并且中断控制器210可接收中断信号IS。中断控制器210可基于优先级寄存器213中存储的优先级选择中断信号IS中的至少一个,并可在中断号寄存器215中存储与选择的中断信号IS相应的中断号。基于选择的中断信号IS,可产生中断请求信号IRQ。第一间隔“a”可指示在中断源200产生中断信号IS之后产生中断请求信号IRQ所花费的时间。
第二间隔“b”可指示中断请求信号IRQ从中断控制器210被输出并随后被发送到CPU 100的时间。第三间隔“c”可指示将从中断控制器210输出的中断号信号INum发送到CPU100并在存储器110中存储中断号所花费的时间。在这种情况下,从中断控制器210的主接口211输出的有效信息信号VS和中断号信号INum可通过系统总线300被发送到CPU 100,并且有效信息可被存储在存储器110中。
在实施例中,第二间隔“b”可与第三间隔“c”重叠。例如,可同时地从中断控制器210输出中断请求信号IRQ和中断号信号INum,但本公开不限于此。因为通过与CPU 100直接连接的线将中断请求信号IRQ发送到CPU 100,所以中断请求信号IRQ可比通过系统总线300被发送到CPU 100的中断号信号INum更快地到达CPU 100。
在接收到中断请求信号IRQ之后,CPU 100可停止先前的操作并准备中断处理过程,例如,准备存储关于先前的操作的数据。第四间隔“d”可指示执行中断处理准备过程所花费的时间。
由于中断请求信号IRQ比中断号信号INum更快地到达CPU 100,所以当CPU 100接收到中断号信号INum时,CPU 100可已经准备执行中断处理过程。因此,在实施例中,第三间隔“c”和第四间隔“d”可不连续地被执行并可彼此重叠。
当已经完成对中断处理过程的准备时,CPU 100可从存储器110接收关于中断号的中断号信号INum。第五间隔“e”可指示CPU 100从存储器110接收中断号信号INum所花费的时间。
当接收到中断号信号INum时,CPU 100可执行关于与中断号信号INum相应的中断源的中断处理过程。CPU 100的主接口103可将中断处理命令ICMD输出到系统总线300,并且中断处理命令ICMD可通过系统总线300被发送到中断源200之中的被用于产生激活的中断信号IS的中断源200。接收中断处理命令ICMD的中断源可被用于执行在IC 1000内的特定操作。第六间隔“f”可指示CPU 100将中断处理命令ICMD输出到中断源并且中断源完成特定操作所花费的时间。
根据比较示例的第一间隔“a”、第二间隔“b”、第四间隔“d”和第六间隔“f”中的操作可与根据实施例的第一间隔“a”、第二间隔“b”、第四间隔“d”和第六间隔“f”同样地被执行。
不同于实施例,在比较示例中,中断控制器的主接口不发送中断号信号,并因此,比较示例的第二间隔“b”和第四间隔“d”可不与比较示例的不存在的第三间隔“c”重叠。
在比较示例中,CPU可输出用于将中断号信号发送到中断控制器的命令,使得CPU可接收中断号信号。命令通过系统总线被发送到中断控制器,并且中断控制器可通过系统总线接收命令并将中断号信号发送到CPU。
在比较示例中,在CPU接收中断号信号时需要使用系统总线,但在实施例中,CPU100直接地从与CPU 100直接连接的存储器110接收中断号信号INum,并因此,CPU 100接收中断号信号INum的第五间隔“e”可小于比较示例的CPU接收中断号信号INum的第五间隔“e”。因此,从中断源200输出中断信号IS的时间点到CPU 100开始执行中断处理过程的时间点的间隔(即,中断处理过程的延迟)可被减少。例如,根据实施例相对于比较示例的延迟增益可以是比较示例的第五间隔“e”和实施例的第五间隔“e”之间的差异。
在实施例中,在有效信息被单独地存储在存储器110的情况下,当CPU 100完成中断处理过程时,可增加改变有效信息的第七间隔“g”。由于CPU 100与存储器110直接连接,第七间隔“g”可与第五间隔“e”相似。
图10示出根据实施例的包括IC 1000的电子系统2000的示例。
参照图10,电子系统2000可以是便携式电子装置并可被实现为移动电话、智能电话、平板PC、膝上型计算机、PDA、EDA、数码相机、PMP、PND、手持游戏机、电子书阅读器等。电子系统2000可包括处理器2100、相机模块2200、显示器2300、电源2400、输入/输出(I/O)端口2500、存储器2600、贮存器2700、扩展卡2800和网络装置2900。
处理器2100可以是多核处理器并可控制电子系统2000的组件,例如,相机模块2200、显示器2300、电源2400、I/O端口2500、存储器2600、贮存器2700、扩展卡2800和网络装置2900。处理器2100可以是例如AP。处理器2100可包括根据实施例的IC 1000。
相机模块2200可包括镜头和图像传感器,并可向处理器2100提供与光学图像相应的图像数据。显示器2300可基于从处理器2100接收到的数据显示图像或视频。电源2400可包括电池和电池控制器,并可向电子系统2000的每个组件供电。I/O端口2500可被用于将数据从外部发送到电子系统2000,或将电子系统2000的数据发送到外部,并可被实现为,例如,通用串行总线(USB)端口。存储器2600可存储操作电子系统200所需要的数据,例如,由处理器2100产生的数据等。
贮存器2700可具有相当大的数据存储能力,并可以以非易失性方式存储程序和诸如多媒体数据的数据。因此,即使向根据实施例的IC 1000供电被中断,存储的数据不会丢失。例如,贮存器2700可包括非易失性存储器,例如,EEPROM、闪存、相位改变随机存取存储器(PRAM)、电阻随机存取存储器(RRAM)、纳米浮栅存储器(NFGM)、聚合物随机存取存储器(PoRAM)、磁随机存取存储器(MRAM)或铁电随机存取存储器(FRAM),或贮存器2700可包括诸如磁带、光盘或磁盘的存储介质。贮存器2700可存储将由根据实施例的IC 1000的CPU 100处理的数据或由IC 1000处理的数据。
扩展卡2800可被实现为安全数字(SD)卡、多媒体卡(MMC)、用户识别模块(SIM)卡、通用用户识别模块(USIM)卡等。网络装置2900可允许电子系统2000与无线或有线网络连接。
如本领域中的传统,可根据执行描述的功能的块来描述和示出实施例。这些块(在本文中可被成为单元或模块等)通过模拟和/或数字电路(诸如逻辑门、集成电路、微处理器、微控制器、存储电路、无源电子组件、有源电子组件、光学组件、硬件电路等)被物理实现,并可以可选择地由固件和/或软件驱动。例如,电路可在一个或更多个半导体芯片中实现,或可在诸如印刷电路板等的基板架上实现。构成块的电路可由专用硬件来实现,或由处理器(例如,一个或更多个编程微处理器和相关电路)来实现,或由用于执行块的一些功能的专用硬件和用于执行块的其它功能的处理器的组合来实现。在不脱离本公开的范围的情况下,实施例的每个块可被物理地分成两个或更多个交互并离散的块。类似地,在不脱离本公开的范围的情况下,实施例的块可物理地组合成复杂块。
虽然已经参照本公开的实施例具体描述和示出了本公开,但将理解的是,在不脱离权利要求的精神和范围的情况下,可在形势和细节上进行各种改变。

Claims (20)

1.一种应用处理器,包括:
多个中断源,被分别分配给多个中断号;
中央处理器,被配置为接收中断请求信号和中断号信号,并对所述多个中断源中的第一中断源执行中断处理过程,其中,第一中断源与所述中断号信号相应;
中断控制器,包括与系统总线连接的主接口,其中,中断控制器被配置为基于从第一中断源接收到的中断信号,产生所述中断请求信号和所述中断号信号并通过主接口将所述中断号信号发送到中央处理器。
2.如权利要求1所述的应用处理器,还包括:
存储器,与中央处理器连接,其中:
中央处理器还被配置为将所述中断号信号发送到存储器,
存储器被配置为存储与所述中断号信号相应的中断号。
3.如权利要求2所述的应用处理器,其中,中央处理器还被配置为基于在存储器中存储的所述中断号,确定将被执行中断处理过程的中断源。
4.如权利要求2所述的应用处理器,其中,存储器还被配置为存储指示在存储器中存储的所述中断号的有效性的有效性信息。
5.如权利要求4所述的应用处理器,其中,中央处理器还被配置为基于所述有效性信息,确定是否执行中断处理过程。
6.如权利要求4所述的应用处理器,其中,当中断处理过程完成时,中央处理器还被配置为改变在存储器中存储的所述有效性信息。
7.如权利要求2所述的应用处理器,其中,存储器直接与中央处理器连接。
8.如权利要求1所述的应用处理器,其中,中央处理器包括从接口,其中,中央处理器的从接口被配置为通过系统总线接收所述中断号信号。
9.如权利要求1所述的应用处理器,其中,所述中断请求信号从中断控制器被直接发送到中央处理器。
10.如权利要求2所述的应用处理器,其中,所述中断请求信号从中断控制器被发送并到达中央处理器的时间间隔与所述中断号信号从中断控制器被发送并通过中央处理器到达存储器的时间间隔重叠。
11.如权利要求1所述的应用处理器,其中,当接收到多个中断信号时,中断控制器被配置为根据所述多个中断信号的优先级选择所述多个中断信号中的一个中断信号作为选择的中断源,并基于选择的中断信号产生中断请求信号。
12.一种集成电路,包括:
第一中断源,被配置为产生第一中断信号并具有分配给第一中断源的第一中断号;
第二中断源,被配置为产生第二中断信号并具有分配给第二中断源的第二中断号;
中断控制器,包括主接口;
系统总线,与主接口连接,其中:
中断控制器被配置为从第一中断源接收第一中断信号并从第二中断源接收第二中断信号,并基于第一中断信号或第二中断信号产生中断请求信号,主接口被配置为向系统总线输出关于第一中断号或第二中断号的中断号信号。
13.如权利要求12所述的集成电路,其中:
中断控制器还包括优先级寄存器,其中,第一中断信号和第二中断信号的优先级被存储在优先级寄存器中,
当同时接收到第一中断信号和第二中断信号时,中断控制器还被配置为基于优先级寄存器中存储的第一中断信号和第二中断信号的优先级产生所述中断请求信号。
14.如权利要求12所述的集成电路,其中,中断控制器还包括中断号寄存器,其中,第一中断号或第二中断号被存储在中断号寄存器中。
15.如权利要求14所述的集成电路,其中,主接口还被配置为向系统总线输出关于中断号寄存器中存储的中断号的中断号信号。
16.一种应用处理器,包括:
通信总线;
中断源,产生中断信号;
中断控制器,响应于从中断源接收到中断信号,产生与中断信号相应的中断请求信号和标识中断源的中断号;
中央处理器,从中断控制器接收中断请求信号和中断号;
紧耦合存储器,存储由中央处理器接收的中断请求信号和中断号,其中:
响应于接收到中断请求信号,中央处理器执行以下操作:
在紧耦合存储器中存储与在由中央处理器接收中断请求信号时正在被执行的中断操作有关的数据,
通过不使用通信总线的直接通信来检索由紧耦合存储器存储的中断号,
通过通信总线向中断源传送中断处理命令。
17.如权利要求16所述的应用处理器,其中,中央处理器执行以下操作:
通过与不使用通信总线的与中断控制器的直接通信接收中断请求信号,
并通过通信总线从中断控制器接收中断号。
18.如权利要求16所述的应用处理器,其中,中断控制器产生中断请求信号期间的时间段与中断控制器产生中断号期间的时间段重叠。
19.如权利要求16所述的应用处理器,其中:
中断控制器通过通信总线向中央处理器传送与指示中断号是否有效的中断请求信号相应的有效性信息,
中央处理器执行以下操作:
在与中断号相关联的紧耦合存储器内存储从中断控制器接收到的有效性信息,
通过不使用通信总线的直接通信检索由紧耦合存储器存储的有效性信息和中断号,
基于检索到的有效性信息确定中断源是否已经被中断,
响应于确定中断源没有被中断,通过通信总线将中断处理命令传送到中断源,否则,不将中断处理命令传送到中断源。
20.如权利要求19所述的应用处理器,其中,中央处理器在将中断处理命令传送到中断源之后,改变由紧耦合存储器存储的有效性信息以指示中断源已经被中断。
CN201710881552.1A 2017-01-13 2017-09-26 应用处理器和包括中断控制器的集成电路 Active CN108304334B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170006281A KR20180083688A (ko) 2017-01-13 2017-01-13 애플리케이션 프로세서 및 집적 회로
KR10-2017-0006281 2017-01-13

Publications (2)

Publication Number Publication Date
CN108304334A true CN108304334A (zh) 2018-07-20
CN108304334B CN108304334B (zh) 2023-09-19

Family

ID=62840899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710881552.1A Active CN108304334B (zh) 2017-01-13 2017-09-26 应用处理器和包括中断控制器的集成电路

Country Status (3)

Country Link
US (1) US10558597B2 (zh)
KR (1) KR20180083688A (zh)
CN (1) CN108304334B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022022250A1 (zh) * 2020-07-29 2022-02-03 中兴通讯股份有限公司 中断处理方法、装置、系统、设备及存储介质
CN114281492A (zh) * 2021-11-12 2022-04-05 北京智芯微电子科技有限公司 中断处理方法、装置、芯片、电子设备及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10467162B2 (en) * 2017-03-31 2019-11-05 Hewlett Packard Enterprise Development Lp Interrupt based on a last interrupt request indicator and a work acknowledgement
CN112559403B (zh) * 2019-09-25 2024-05-03 阿里巴巴集团控股有限公司 一种处理器及其中的中断控制器
CN112732602A (zh) * 2019-10-28 2021-04-30 瑞昱半导体股份有限公司 电子装置、网络交换器以及中断传输与接收方法
CN112667532A (zh) * 2020-12-11 2021-04-16 北京无线电测量研究所 基于DSP处理器的EtherCAT从站控制器及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030105798A1 (en) * 2001-12-03 2003-06-05 Ted Kim Methods and apparatus for distributing interrupts
CN1428710A (zh) * 2001-12-28 2003-07-09 希旺科技股份有限公司 多功能电子周边卡
CN1516838A (zh) * 2001-05-10 2004-07-28 �����ɷ� 带有优先中断控制器的移动通信设备
CN1684055A (zh) * 2004-02-27 2005-10-19 三星电子株式会社 用于中断源信号分配的装置和方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555420A (en) 1990-12-21 1996-09-10 Intel Corporation Multiprocessor programmable interrupt controller system with separate interrupt bus and bus retry management
KR19980078303A (ko) 1997-04-28 1998-11-16 문정환 인터럽트 콘트롤러
JP2002175261A (ja) * 2000-12-05 2002-06-21 Oki Electric Ind Co Ltd データ転送制御回路
US6496517B1 (en) 2001-11-21 2002-12-17 Lsi Logic Corporation Direct attach of interrupt controller to processor module
US20030204655A1 (en) * 2002-04-24 2003-10-30 Schmisseur Mark A. Prioritizing vector generation in interrupt controllers
KR20040110167A (ko) 2003-06-18 2004-12-31 삼성전자주식회사 하드웨어와 소프트웨어의 코워크로 강화된 벡터드인터럽트 콘트롤 시스템 및 그 방법
US7734905B2 (en) * 2006-04-17 2010-06-08 Dell Products L.P. System and method for preventing an operating-system scheduler crash
US7685347B2 (en) * 2007-12-11 2010-03-23 Xilinx, Inc. Interrupt controller for invoking service routines with associated priorities
US8825926B2 (en) 2009-04-13 2014-09-02 Microchip Technology Incorporated Processor with assignable general purpose register set
KR20110067795A (ko) 2009-12-15 2011-06-22 한국전자통신연구원 실시간 프로세스의 응답성 개선을 위한 tcm운용방법
US9361251B2 (en) * 2010-10-22 2016-06-07 Mitsubishi Electric Corporation Interrupt signal accepting apparatus and computer apparatus managing operations of at least two operating systems
KR101841930B1 (ko) * 2012-01-30 2018-03-26 삼성전자주식회사 인터럽트 스프레드 방법, 인터럽트 스프레드 장치 및 이를 구비하는 시스템 온-칩
US9547546B2 (en) 2012-03-12 2017-01-17 Nxp Usa, Inc. Interrupt supervision system, processing system and method for interrupt supervision
US9355050B2 (en) 2013-11-05 2016-05-31 Qualcomm Incorporated Secure, fast and normal virtual interrupt direct assignment in a virtualized interrupt controller in a mobile system-on-chip
JP6212396B2 (ja) 2014-01-08 2017-10-11 ルネサスエレクトロニクス株式会社 データ処理装置
US9449717B2 (en) 2014-06-20 2016-09-20 Arm Limited Memory built-in self-test for a data processing apparatus
KR20160033517A (ko) 2014-09-18 2016-03-28 한국전자통신연구원 인터럽트 컨트롤러를 위한 하이브리드 가상화 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1516838A (zh) * 2001-05-10 2004-07-28 �����ɷ� 带有优先中断控制器的移动通信设备
US20030105798A1 (en) * 2001-12-03 2003-06-05 Ted Kim Methods and apparatus for distributing interrupts
CN1428710A (zh) * 2001-12-28 2003-07-09 希旺科技股份有限公司 多功能电子周边卡
CN1684055A (zh) * 2004-02-27 2005-10-19 三星电子株式会社 用于中断源信号分配的装置和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王龙杰等: "多核MV12片上系统中断控制器的设计与实现", 《半导体技术》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022022250A1 (zh) * 2020-07-29 2022-02-03 中兴通讯股份有限公司 中断处理方法、装置、系统、设备及存储介质
CN114281492A (zh) * 2021-11-12 2022-04-05 北京智芯微电子科技有限公司 中断处理方法、装置、芯片、电子设备及存储介质

Also Published As

Publication number Publication date
US20180203812A1 (en) 2018-07-19
CN108304334B (zh) 2023-09-19
US10558597B2 (en) 2020-02-11
KR20180083688A (ko) 2018-07-23

Similar Documents

Publication Publication Date Title
CN108304334A (zh) 应用处理器和包括中断控制器的集成电路
US7708195B2 (en) Memory card
CN101971152B (zh) 提供器件参数
US10437498B2 (en) Electronic device configured to reset storage device non-directly connected to application processor among storage devices serially connected to one another and method of operating the same
EP1643372B1 (en) USB device with secondary USB on-the-go function
US6928505B1 (en) USB device controller
US20080046638A1 (en) Multiprocessor System having an Input/Output (I/O) Bridge Circuit for Transferring Data Between Volatile and Non-Volatile Memory
TW200903264A (en) Data sharing and transfer systems and methods
US20060097061A1 (en) Memory card authentication system, capacity switching-type memory card host device, capacity switching-type memory card, storage capacity setting method, and storage capacity setting program
JP2004280818A (ja) Usbホストへ接続されているユニバーサルシリアルバススマートカード装置をシミュレートするシステム及び方法
US10353633B2 (en) Mass storage virtualization for cloud computing
CN106776358A (zh) Dimm ssd寻址性能技术
CN104217768B (zh) 一种eMMC内嵌式存储器的检测方法和装置
CN106600521A (zh) 一种图像处理方法及终端设备
JP2017519294A (ja) フラッシュメモリベースストレージデバイスのマルチホスト電力コントローラ(mhpc)
CN106407145A (zh) 接口访问方法、系统及存储卡
CN110275840A (zh) 在存储器接口上的分布式过程执行和文件系统
US20040010671A1 (en) Method and memory adapter for handling data of a mobile device using a non-volatile memory
US20200004557A1 (en) Semiconductor apparatus, operation method thereof, and stacked memory apparatus having the same
CN110047553A (zh) 数据处理系统及其操作方法
CN107544751A (zh) 一种远程访问磁盘的方法和装置
CN110765060A (zh) Mdio总线到并行总线转换方法及装置、设备、介质
CN108958797A (zh) 应用处理器和集成电路
CN109977041A (zh) 主机装置与嵌入式多媒体卡装置通信
JP2002342256A (ja) データプロセッサ及びデータテーブルの更新方法

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