一种中断处理装置及中断处理方法

文档序号:6552615阅读:140来源:国知局
一种中断处理装置及中断处理方法
【专利摘要】本发明实施例提供一种中断处理装置及中断处理方法,应用于中断控制【技术领域】,能够节约硬件资源,减小硬件成本。所述中断处理装置包括:块随机存储器,至少包含m个存储单元组;中断标志位写入模块,用于将任意一个功能模块的中断标志位信息,写入功能模块对应的存储单元组中;中断标志位输出模块,用于生成中断事件处理请求,将中断事件处理请求发送给处理器;中断标志位读出模块,用于获取功能模块对应的存储单元组存储的中断标志位信息,将中断标志位信息发送给处理器;中断标志位清除模块,用于清除中断源对应的有效信息。本发明实施例提供的中断处理装置,用于中断事件的处理。
【专利说明】一种中断处理装置及中断处理方法

【技术领域】
[0001] 本发明涉及中断控制【技术领域】,尤其涉及一种中断处理装置及中断处理方法。

【背景技术】
[0002] 在控制系统中,处理器常常通过中断来响应需要处理器紧急处理的异常事件处理 请求,所述中断是指处理器暂时停止当前执行的程序转而执行处理新情况的程序和执行过 程。
[0003] 在一个控制系统中通常有多个功能模块,每个功能模块中包括多个中断源,每个 中断源都有一个中断标志位与之对应,目前,中断源的中断标志位通常是通过中断标志寄 存器进行存储的,通常是一个功能模块对应一个中断标志寄存器,示例的,当控制系统中包 括m个功能|吴块,每个功能|吴块中包括η个中断源时,该控制系统包括m个中断标志寄存 器,每个中断标志寄存器中包括η个单比特寄存器,每个所述单比特寄存器用来存储对应 的中断源的中断标志位。
[0004] 当某个中断源发生需要处理器进行中断处理的异常事件时,首先需要置位对应的 中断标志位,使得所述中断标志位标识所述中断源发生异常事件,然后中断标志寄存器会 汇聚中断标志位的信息,通知处理器进行中断处理。处理器接收到中断处理的通知后,首先 查询该中断处理通知来自于哪一个中断标志寄存器,获取到对应的中断标志寄存器之后, 通过读取该中断标志寄存器判断是哪一个中断源需要进行中断处理,进而调用相应的中断 处理子程序进行处理,在处理完成之后将该中断标志位进行清除。
[0005] 但是现有技术中,若控制系统中的功能模块较多,则需要多个中断标志寄存器才 能完成整个控制系统的中断处理,每个中断标志寄存器都需要一个置位模块和一个清零模 块等,即当控制系统中的功能模块较多时,需要设置多套中断控制电路才能完成对每个功 能模块的中断事件的处理,每套中断控制电路都需要占用一定的硬件资源,并且处理器在 访问多个中断标志寄存器时,还需要用到多路选择器,中断标志寄存器的数目越大,多路选 择器占用的硬件资源越多。因此当控制系统中的功能模块较多时,需要的中断控制电路的 套数较多,使得中断控制电路占用的硬件资源较多,同时多路选择器也占用了较多的硬件 资源,进而使得整个中断处理占用的硬件资源较多,增加了硬件成本。


【发明内容】

[0006] 本发明的实施例提供一种中断处理装置及中断处理方法,能够节约硬件资源,减 小硬件成本。
[0007] 为达到上述目的,本发明的实施例采用如下技术方案:
[0008] -方面,提供一种中断处理装置,用于对m个功能模块的中断源进行处理,m大于 或等于2,所述功能模块包括至少一个中断源;所述中断处理装置包括:
[0009] 块随机存储器,至少包含m个存储单元组,每个存储单元组用于存储一个功能模 块的中断标志位信息,所述中断标志位信息包括所述功能模块包括的所有中断源的中断标 志位;
[0010] 中断标志位写入模块,用于将任意一个所述功能模块的中断标志位信息,写入所 述功能模块对应的存储单元组中;
[0011] 中断标志位输出模块,用于根据所述中断标志位写入模块写入所述存储单元组的 中断标志位信息,生成中断事件处理请求,并且将所述中断事件处理请求发送给处理器,以 便于所述处理器根据所述中断事件处理请求,获取所述中断事件请求对应的功能模块的标 识,根据所述功能模块的标识生成中断事件处理指令,所述中断事件处理指令包括所述功 能模块的标识;
[0012] 中断标志位读出模块,用于接收所述处理器发送的所述中断事件处理指令,根据 所述中断事件处理指令包括的功能模块的标识,获取所述功能模块对应的存储单元组存储 的中断标志位信息,并将所述中断标志位信息发送给处理器;以便所述处理器从所述中断 标志位信息中确定所述功能模块存在中断事件的中断源,并处理所述中断源的中断事件, 在处理完成之后,生成中断标志位清零指示;
[0013] 中断标志位清除模块,用于接收所述处理器发送的所述中断标志位清除指示信 息,所述中断标志位清除指示包括中断源的标识,根据所述中断源的标识,清除所述中断源 对应的有效信息。
[0014] 可选的,所述块随机存储器包括第一接口和第二接口,所述第一接口用于写入任 意一个功能模块的中断标志位信息,所述第二接口用于读取任意一个功能模块的中断标志 位信息。
[0015] 可选的,所述中断标志位写入模块包括第一写数据单元,第一写地址单元和第一 与使能单兀;
[0016] 所述第一写地址单元用于根据任意一个中断源的标识,获取所述中断源所在的功 能模块对应的存储单元组的存储地址;
[0017] 所述第一写数据单元用于获取所述功能模块的中断标志位信息;
[0018] 所述第一写使能单元用于生成第一写使能指令,所述第一写使能指令用于指示所 述块随机存储器根据所述功能模块对应的存储单元组的存储地址,将所述功能模块的中断 标志位信息写入在所述功能模块对应的存储单元组中。
[0019] 可选的,所述中断标志位输出模块包括第一检测单元、生成单元和发送单元;
[0020] 所述第一检测单元用于检测所述第一接口写入的所述功能模块的中断标志位信 息是否指^^所述功能|吴块存在中断事件;
[0021] 所述生成单元用于当所述第一检测单元检测到所述中断标志位信息指示所述功 能模块存在中断事件时,生成中断事件处理请求;
[0022] 所述发送单元用于将所述中断事件处理请求发送给处理器,以便于所述处理器根 据所述中断事件处理请求,获取所述中断事件请求对应的功能模块的标识。
[0023] 可选的,所述块随机存储器还包括m个屏蔽位存储组,每个所述屏蔽位存储组对 应一个功能模块,所述屏蔽存储组用于存储对应的功能模块的屏蔽位信息,所述屏蔽位信 息包括所述功能模块包括的所有中断源的屏蔽位,当所述功能模块中任意一个中断源的所 述屏蔽位有效时,表示所述中断源的中断事件不作处理;
[0024] 所述第一检测单元还用于当检测到所述中断标志位信息指示所述功能模块存在 中断事件时,检测所述中断事件对应的中断源的屏蔽位是否有效;
[0025] 所述生成单元具体用于当所述中断标志位信息指示所述功能模块存在中断事件, 且所述中断事件对应的中断源的屏蔽位无效时,生成中断事件处理请求。
[0026] 可选的,所述中断标志位读出模块包括:读地址单元和读数据单元;
[0027] 所述读地址单元用于根据所述功能模块的标识,获取所述功能模块对应的存储单 元组的存储地址;
[0028] 所述读数据单元用于根据所述存储地址,获取所述存储地址中存储的所述功能模 块的中断标志位信息。
[0029] 可选的,所述中断标志位清除模块包括第二写数据单元、第二写地址单元和第二 与使能单兀;
[0030] 所述第二写地址单元用于根据所述中断标志位清除指示包括的所述中断源的标 识,获取所述中断源所在的功能模块对应的存储单元组的存储地址;
[0031] 所述第二写数据单元用于根据所述中断标志位清除指示,获取所述功能模块包括 的中断源的新的中断标志位信息;
[0032] 所述第二写使能单元,用于第二写使能指令,所述第二写使能指令用于指示所述 块随机存储器根据所述功能模块对应的存储单元组的存储地址,将所述功能模块包括的中 断源的新的中断标志位信息存储在所述功能模块对应的存储单元组中。
[0033] 可选的,所述中断标志位清除模块还包括第二检测单元;
[0034] 所述第二检测单元用于检测当前所述第二写地址单元获取的所述中断源所在的 功能模块对应的存储单元组的存储地址与当前所述第一写地址单元获取的所述功能模块 对应的存储单元组的存储地址是否一致;
[0035] 若当前所述第二写地址单元获取的存储地址与所述第一写地址单元获取的存储 地址一致时,所述中断标志位清除模块将所述中断标志位清除指示包括的所述中断源的标 识发送给所述中断标志位写入模块,以便于所述中断标志位写入模块根据所述中断源的标 识获取所述功能模块的中断标志位信息。
[0036] -方面,提供一种中断处理方法,应用于中断处理装置,用于对m个功能模块的中 断源进行处理,m大于或等于2,所述功能模块包括至少一个中断源;所述中断处理方法包 括:
[0037] 接收第一功能模块包括的第一中断源发送的中断信息,所述中断信息中包括所述 第一中断源的标识;
[0038] 根据所述第一中断源的标识,获取所述第一功能模块包括的中断源的第一中断标 志位信息,所述第一中断标志位信息中所述第一中断源对应的信息表示中断有效;
[0039] 在块随机存储器中所述第一功能模块对应的存储单元组写入所述第一中断标志 位信息,其中,所述块随机存储器至少包含m个存储单元组,每个存储单元组用于存储一个 功能模块包括的中断源的第一中断标志位信息;
[0040] 当写入所述块随机存储器中的所述第一中断标志位信息指示所述第一功能模块 存在中断事件时,生成中断事件处理请求;
[0041] 将所述中断事件处理请求发送给处理器,以便于所述处理器根据所述中断事件处 理请求获取所述中断事件处理请求对应的第一功能模块的标识,根据所述第一功能模块的 标识生成中断事件处理指令,所述中断事件处理指令包括所述第一功能模块的标识;
[0042] 接收所述处理器发送的所述中断事件处理指令;
[0043] 根据所述中断事件处理指令包括的所述第一功能模块的标识,获取所述第一功能 模块对应的存储单元组存储的第一中断标志位信息;
[0044] 将所述第一中断标志位信息发送给所述处理器,以便所述处理根据所述第一中断 标志位信息,确定所述第一功能模块存在中断事件的所述第一中断源,并处理所述第一中 断源的所述中断事件,在处理完成之后,生成中断标志位清零指示;
[0045] 接收所述处理器发送的所述中断标志位清除指示信息,所述中断标志位清除指示 信息包括所述第一中断源的标识;
[0046] 根据所述中断标志位清除指示信息,清除所述块随机存储器存储的所述第一中断 标志位信息中第一中断源对应的中断有效的信息。
[0047] 可选的,所述根据所述第一中断源的标识,获取所述第一功能模块包括的中断源 的第一中断标志位信息包括:
[0048] 根据所述第一中断源的标识,获取所述第一功能模块在所述块随机存储器中对应 的存储单元组的存储地址;
[0049] 根据所述存储地址,获取所述第一功能模块对应的存储单元组中当前存储的第二 中断标志位信息;
[0050] 根据所述第二中断标志位信息与所述第一中断源的标识,获取所述第一中断标志 位信息。
[0051] 可选的,所述在块随机存储器中所述第一功能模块对应的存储单元组写入所述第 一中断标志位信息包括:
[0052] 根据所述第一功能模块对应的存储单元组的存储地址,在块随机存储器中所述第 一功能模块对应的存储单元组写入所述第一中断标志位信息。
[0053] 可选的,所述根据所述中断事件处理指令包括的所述第一功能模块的标识,获取 所述第一功能模块对应的存储单元组存储的第一中断标志位信息包括:
[0054] 根据所述第一功能模块的标识,获取所述第一功能模块在所述块随机存储器中对 应的存储单元组的存储地址;
[0055] 根据所述存储地址,获取所述第一功能模块对应的存储单元组中当前存储的第一 中断标志位信息。
[0056] 可选的,所述根据所述中断标志位清除指示信息,清除所述块随机存储器存储的 所述第一中断标志位信息中第一中断源对应的中断有效的信息包括:
[0057] 根据所述第一中断源的标识,获取所述第一功能模块在所述块随机存储器中对应 的存储单元组的存储地址;
[0058] 根据所述存储地址,获取所述第一功能模块对应的存储单元组中当前存储的第一 中断标志位信息;
[0059] 根据所述第一中断标志位信息和所述第一中断源的标识,获取第三中断标志位信 息,所述第三中断标志位信息中所述第一中断源对应的信息表示中断无效;
[0060] 根据所述存储地址,将所述第三中断标志位信息写入所述块随机存储器中的所述 第一功能模块对应的存储单元组。
[0061] 本发明实施例提供的中断处理装置和中断处理方法,若控制系统包括至少两个功 能模块,在控制系统包括的功能模块的中断源出现中断事件时,通过块随机存储器存储控 制系统中每个功能模块的中断源的中断标志位信息,然后通过中断标志位写入模块完成将 任意一个功能模块的中断标志位信息写入块随机存储器的操作,通过中断标志位读出模块 完成从块随机存储器中读取任意一个功能模块的中断标志位信息的操作,通过中断标志位 清除模块完成任意一个功能模块的中断标志位信息的清除操作,使得所述中断处理装置可 以通过一套中断控制电路完成控制系统中所有中断事件的处理,相较于现有技术,该中断 处理装置不需要为每一个功能模块设置对应的中断标志寄存器来完成中断标志位的存储, 进而不需要为每个中断标志寄存器设置单独的中断控制电路,并且在进行中断处理的过程 中,不需要多路选择器,从而节约了硬件资源,减小了硬件成本。

【专利附图】

【附图说明】
[0062] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0063] 图1为本发明实施例提供的一种中断处理装置的结构示意图;
[0064] 图2为本发明实施例提供的一种块随机存储器的结构示意图;
[0065] 图3为本发明实施例提供的一种中断标志位写入模块的结构示意图;
[0066] 图4为本发明实施例提供的一种中断标志位输出模块的结构示意图;
[0067] 图5为本发明实施例提供的另一种块随机存储器的结构示意图;
[0068] 图6为本发明实施例提供的一种中断标志位读出模块的结构示意图;
[0069] 图7为本发明实施例提供的一种中断标志位清除模块的结构示意图;
[0070] 图8为本发明实施例提供的另一种中断标志位清除模块的结构示意图;
[0071] 图9为本发明实施例提供的一种中断处理方法的流程图。

【具体实施方式】
[0072] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0073] 本发明实施例提供一种中断处理装置10,用于对m个功能模块的中断源进行处 理,m大于或等于2,所述功能模块包括至少一个中断源,如图1所示,所述中断处理装置10 包括:
[0074] 块随机存储器(Block Random Access Memory,Block RAM) 101,至少包含 m 个存 储单元组,每个存储单元组用于存储一个功能模块的中断标志位信息,所述中断标志位信 息包括所述功能模块包括的所有中断源的中断标志位。
[0075] 通过中断标志位寄存器存储中断标志位时,一个中断标志位寄存器只能存储一个 功能模块或一个中断源的中断标志位,每个中断标志位寄存器都需要一套控制电路来完成 对中断标志位信息的写入、读取或清除,占用硬件资源较多。通过块随机存储器101存储中 断标志位时,可以将控制系统中每个功能模块包括的所有中断源的中断标志位信息都存储 在一个块随机存储器中,因此只需要一套控制电路即可完成对多个功能模块的中断标志位 信息的写入、读取或清除。
[0076] 在实际应用中,所述块随机存储器101的位宽和深度均可以根据实际需要进行设 置,示例的,本发明实施例中控制系统包括m个功能模块,假设每个功能模块最多包括η个 中断源,该控制系统总共包括mXn个中断源,该控制系统需要的块随机存储器101的深度 可以为m,位宽可以为η,该块随机存储器101包括mXn个比特,一个比特用来存储一个中 断源的中断标志位,深度为i的位宽从〇到(n-1)的所有比特作为一个存储单元组,所述i 为大于或等于〇,小于m的整数,则该块随机存储器101包括m个存储单元组。
[0077] 实际应用时,可以首先建立功能模块与存储单元组之间的对应关系,使得每个功 能模块都有与其对应的存储单元组,例如,第一功能模块和第二功能模块均为所述控制系 统中的任意一个功能模块,第一功能模块包括η个中断源,则深度为1的位宽从0到(n-1) 的比特可以作为一个存储单元组,用来存储第一功能模块的所有中断源的中断标志位;第 二功能模块包括j个中断源,所述j小于n,则深度为2的位宽从0到(η-I)的比特可以作 为另一个存储单元组,用来存储第二功能模块的所有中断源的中断标志位,但是可以预先 规定深度为2的位宽从0到(j-Ι)的比特用来存储第二功能模块的所有中断源的中断标志 位,剩余的(n-j)个比特可以空闲,也可以用于其他处理,本发明实施例对此不做限定。
[0078] 示例的,假设本发明实施例中控制系统包括4个功能模块,分别为第一功能模块, 第二功能模块,第三功能模块,第四功能模块,其中第一功能模块包括三个中断源,分别为 第一中断源、第二中断源、第三中断源;第二功能模块包括两个中断源,分别为第四中断源、 第五中断源;第三功能模块包括三个中断源,分别为第六中断源、第七中断源、第八中断源; 第四功能模块包括四个中断源,分别为第九中断源、第十中断源、第十一中断源和第十二中 断源。块随机存储器可以设置深度为4,位宽也为4,共包括16个比特,深度为1的位宽从 0到3的比特作为第一存储单元组,用于存储第一功能模块的中断标志信息,其中位宽从0 到2的比特分别用于存储第一中断源、第二中断源和第三中断源的中断标志位,位宽为3的 比特空闲;深度为2的位宽从0到3的比特作为第二存储单元组,用于存储第二功能模块的 中断标志信息,其中位宽从〇到1的比特分别用于存储第四中断源、第五中断源的中断标志 位,位宽为2和3的比特空闲;深度为3的位宽从0到3的比特作为第三存储单元组,用于 存储第三功能模块的中断标志信息,其中位宽从0到2的比特分别用于存储第六中断源、第 七中断源、第八中断源的中断标志位,位宽为3的比特空闲;深度为4的位宽从0到3的比 特作为第四存储单元组,用于存储第四功能模块的中断标志信息,其中位宽从〇到3的比特 分别用于存储第九中断源、第十中断源、第十一中断源和第十二中断源的中断标志位。
[0079] 中断标志位写入模块102,用于将任意一个所述功能模块的中断标志位信息,写入 所述功能模块对应的存储单元组中。
[0080] 示例的,可以根据任意一个中断源的标识,获取该中断源所在的功能模块对应的 存储单元组的存储地址,根据该存储地址获取该功能模块对应的存储单元组现在存储的中 断标志位信息,然后将现在存储的中断标志位信息中所述中断源对应的中断标志位设置为 有效,得到该功能模块当前的中断标志位信息,然后根据该功能模块对应的存储单元组的 存储地址,将该功能模块当前的中断标志位信息写入该功能模块对应的存储单元组中。
[0081] 中断标志位输出模块103,用于根据所述中断标志位写入模块102写入所述存储 单元组的中断标志位信息,生成中断事件处理请求,并且将所述中断事件处理请求发送给 处理器,以便于所述处理器根据所述中断事件处理请求,获取所述中断事件请求对应的功 能模块的标识,根据所述功能模块的标识生成中断事件处理指令,所述中断事件处理指令 包括所述功能模块的标识。
[0082] 可选的,中断标志位输出模块103可以在中断标志位写入模块102正在写入所述 中断标志位信息时,获取该中断标志位信息,然后判断该中断标志位信息中是否有中断标 志位表示中断有效,当该中断标志位信息中有中断标志位表示中断有效时,生成中断事件 处理请求。或者在中断标志位写入模块102已经将中断标志位信息写入块随机存储器101 之后,中断标志位输出模块103从所述块随机存储器101存储的信息中获取中断标志位信 息,然后判断该中断标志位信息中是否有中断标志位表示中断有效,当该中断标志位信息 中有中断标志位表示中断有效时,生成中断事件处理请求。具体的,中断标志位输出模块 103获取中断标志位信息的过程可以根据具体情况进行设置,本发明实施例对此不做限定。
[0083] 可选的,中断标志位输出模块103中还可以包括一个功能模块中断寄存器,所述 功能模块中断寄存器包括m个寄存位,每个寄存位对应一个功能模块,当中断标志位输出 模块103检测到所获取的中断标志位信息中有中断标志位表示中断有效时,假设该中断标 志位信息对应的功能模块为第一功能模块,则中断标志位输出模块103可以将功能模块中 断寄存器中第一功能模块对应的寄存位设置为有效,当处理器根据中断事件处理请求,判 断出当前存在需要进行处理的中断事件时,可以通过读取所述功能模块中断寄存器中保存 的信息,获取所述中断事件请求对应的功能模块的标识,根据所述功能模块的标识生成中 断事件处理指令,所述中断事件处理指令包括所述功能模块的标识。
[0084] 或者,所述中断事件处理请求中包括所述中断源的标识或功能模块的标识,当处 理器接收到所述中断事件处理请求之后,即可通过所述中断源的标识获取所述功能模块的 标识,或者直接获取所述功能模块的标识。
[0085] 中断标志位读出模块104,用于接收所述处理器发送的所述中断事件处理指令,根 据所述中断事件处理指令包括的功能模块的标识,获取所述功能模块对应的存储单元组存 储的中断标志位信息,并将所述中断标志位信息发送给处理器;以便所述处理器从所述中 断标志位信息中确定所述功能模块中存在中断事件的中断源,并处理所述中断源的中断事 件,在处理完成之后,生成中断标志位清零指示。
[0086] 示例的,根据中断事件处理指令包括的功能模块的标识,获取该功能模块对应存 储单元组的存储地址,然后根据该存储地址,获取块随机存储器101中该功能模块对应存 储单元组存储的中断标志位信息,然后将该中断标志位信息发送给处理器,以便于处理器 判断该中断标志位信息中具体是哪一个中断源对应的中断标志位表示有效,然后处理该中 断源的中断事件。
[0087] 中断标志位清除模块105,用于接收所述处理器发送的所述中断标志位清除指示 信息,所述中断标志位清除指示包括中断源的标识,根据所述中断源的标识,清除所述中断 源对应的有效信息。
[0088] 当处理器将中断源的中断事件处理完成之后,会向中断标志位清除模块105发送 中断标志位清除指示信息,中断标志位清除模块105接收到该中断标志位清除指示信息之 后,首先根据该中断标志位清除指示信息包括的中断源的标识,获取该中断源所在的功能 模块对应的存储单元组现在存储的中断标志位信息,然后根据该中断源的标识,将所述现 在存储的中断标志位信息中该中断源对应的中断标志位设置为无效,得到新的中断标志位 信息,然后将所述新的中断标志位信息写入所述功能模块对应的存储单元组中。
[0089] 这样一来,若控制系统包括至少两个功能模块,在控制系统包括的功能模块的中 断源出现中断事件时,通过块随机存储器存储控制系统中每个功能模块的中断源的中断标 志位信息,然后通过中断标志位写入模块完成将任意一个功能模块的中断标志位信息写入 块随机存储器的操作,通过中断标志位读出模块完成从块随机存储器中读取任意一个功能 模块的中断标志位信息的操作,通过中断标志位清除模块完成任意一个功能模块的中断标 志位信息的清除操作,使得所述中断处理装置可以通过一套中断控制电路完成控制系统中 所有中断事件的处理,相较于现有技术,该中断处理装置不需要为每一个功能模块设置对 应的中断标志寄存器来完成中断标志位的存储,进而不需要为每个中断标志寄存器设置单 独的中断控制电路,并且在进行中断处理的过程中,不需要多路选择器,从而节约了硬件资 源,减小了硬件成本。
[0090] 需要说明的是,所述中断处理装置可以应用于FPGA(Field - Programmable Gate Array,现场可编程门阵列)等包括块随机存储器的芯片中,也可以在IC(integrated circuit,集成电路)电路中加入块随机存储器设置本发明实施例提供的中断处理装置,完 成1C电路的中断事件的处理。
[0091] 示例的,如图2所述,所述块随机存储器101包括第一接口 1011和第二接口 1012, 所述第一接口 1011用于写入任意一个功能模块的中断标志位信息,所述第二接口 1012用 于读取或写入任意一个功能模块的中断标志位信息。所述第一接口 1011包括第一输入数 据线1011a,第一输出数据线1011b,第一地址线1011c和第一写使能线lOlld,所述第二接 口 1012包括第二输入数据线1012a,第二输出数据线1012b,第二地址线1012c和第二写使 能线1012d。
[0092] 具体的,当第一写使能线lOlld接收到写使能指令时,块随机存储器101的第一接 口 1011可以将第一输入数据线1011a接收到的数据存储在第一地址线1011c接收到的地 址中,或者可以根据第一地址线1011C接收到的地址,将该地址中存储的信息通过第一输 出数据线1011b发送出去。同样的,当第二写使能线1012d接收到写使能指令时,块随机存 储器101的第二接口 1012可以将第二输入数据线1021a接收到的数据存储在第二地址线 1012c接收到的地址中,或者可以根据第二地址线1012c接收到的地址,将该地址中存储的 信息通过第二输出数据线1012b发送出去。
[0093] 进一步的,如图3所示,所述中断标志位写入模块102包括第一写数据单元1021, 第一写地址单元1022和第一写使能单元1023。
[0094] 其中,所述第一写地址单元1022用于根据任意一个中断源的标识,获取所述中断 源所在的功能模块对应的存储单元组的存储地址。
[0095] 可选的,初始化时可以在所述第一写地址单元1022中预先保存功能模块与存储 地址对应表,由于每个功能模块都对应一个存储单元组,每个存储单元组都存在一个唯一 的存储地址,因此每个功能模块也对应一个存储地址,所述功能模块与存储地址对应表记 录了每个功能模块与存储地址的对应关系。当中断标志位写入模块102接收到某一个功能 模块的某一个中断源发送的中断信息之后,所述中断信息包括所述中断源的标识,第一写 地址单元1022可以根据所述中断源的标识和所述功能模块与存储地址对应表,获取所述 中断源所在的功能模块对应的存储单元组的存储地址。
[0096] 所述第一写数据单元1021用于获取所述功能模块的中断标志位信息。
[0097] 示例的,在第一写地址单元1022获取到所述中断源所在的功能模块对应的存储 单元组的存储地址之后,第一写数据单元1021可以根据所述存储地址,获取所述中断源所 在的功能模块对应的存储单元组存储的现在存储的中断标志位信息,然后第一写数据单元 1021根据所述中断源的标识,将所述现在存储的中断标志位信息中所述中断源对应的中断 标志位设置为有效,得到所述功能模块当前的中断标志位信息。
[0098] 具体的,第一写地址单元1022可以将所述存储地址通过块随机存储器101的第一 接口 1011包括的第一地址线1011c发送给块随机存储器101,然后块随机存储器101会通 过第一接口 1011包括的第一输出数据线1011b将所述存储地址现在存储的中断标志位信 息发送给所述第一写数据单元1021。
[0099] 所述第一写使能单元1023用于生成第一写使能指令,所述第一写使能指令用于 指示所述块随机存储器101根据所述功能模块对应的存储单元组的存储地址,将所述功能 模块的中断标志位信息写入在所述功能模块对应的存储单元组中。
[0100] 可选的,第一写使能单元1023通过块随机存储器101的第一接口 1011的第一写 使能线lOlld发送所述第一写使能指令,然后块随机存储器101根据第一接口 1011的第一 地址线1011c接收到的地址将第一接口 1011的第一输入数据线1011a上接收到的所述功 能模块当前的中断标志位信息存储在所述功能模块对应的存储单元中。
[0101] 进一步的,如图4所示,所述中断标志位输出模块103包括第一检测单元1031、生 成单元1032和发送单元1033。
[0102] 其中,所述第一检测单元1031用于检测所述第一接口 1011写入的所述功能模块 的中断标志位信息是否指示所述功能模块存在中断事件。
[0103] 可选的,在获取到所述第一接口 1011当前写入的所述功能模块的中断标志位信 息之后,所述第一检测单元1031可以检测所述中断标志位信息是否存在有效的中断标志 位,若所述中断标志位信息存在有效的中断标志位,则所述中断标志位信息对应的功能模 块存在中断事件。
[0104] 具体的,假设中断标志位为"1"表示中断标志位有效,中断标志位为"0"标识中断 标志位无效,则第一检测单元1031可以检测所述中断标志位信息是否存在不为"0"的中断 标志位,当所述中断标志位信息存在不为"0"的中断标志位时,说明所述中断标志位信息对 应的功能模块存在中断事件。
[0105] 可选的,所述第一检测单元1031可以包括多个输出端口,所述输出端口与所述功 能模块中断寄存器连接,每个输出端口对应一个寄存位,当功能模块的中断标志位信息存 在不为"〇"的中断标志位时,即所述功能模块存在中断事件时,将所述功能模块对应的寄存 位设置为"1",当功能模块的中断标志位信息不存在为"1"的中断标志位时,即所述功能模 块不存在中断事件时,将所述功能模块对应的寄存位设置为"0"。
[0106] 所述生成单元1032用于当所述第一检测单元1031检测到所述中断标志位信息指 示所述功能模块存在中断事件时,生成中断事件处理请求。
[0107] 可选的,所述中断标志位输出模块103可以当所述中断标志位信息指示所述功能 模块存在中断事件时,生成中断事件处理请求,或者所述中断标志位输出模块103可以在 检测所述功能模块中断寄存器中保存的信息,当功能模块中断寄存器中任意一个功能模块 的寄存位有效,即任意一个功能模块存在中断事件时,生成中断事件处理请求。
[0108] 所述发送单元1033用于将所述中断事件处理请求发送给处理器,以便于所述处 理器根据所述中断事件处理请求,获取所述中断事件请求对应的功能模块的标识。
[0109] 可选的,发送单元1033可以通过中断标志位输出模块103与处理器之间的连线, 将所述中断事件处理请求发送给处理器。
[0110] 进一步的,所述块随机存储器1〇1还可以包括m个屏蔽位存储组,每个所述屏蔽位 存储组对应一个功能模块,所述屏蔽存储组用于存储对应的功能模块的屏蔽位信息,所述 屏蔽位信息包括所述功能模块包括的所有中断源的屏蔽位,当所述功能模块中任意一个中 断源的所述屏蔽位有效时,表示所述中断源的中断事件不作处理。
[0111] 可选的,如图5所示,块随机存储器101的深度可以为m,位宽可以为2n,则所述块 随机存储器101包括mX 2n个比特,初始化时,可以设置深度为i的位宽从0到(n-1)的比 特作为一个存储单元组存储一个功能模块的中断标志位信息,即从i〇到i (n-1)的比特可 以作为一个存储单元组存储一个功能模块的中断标志位信息,位宽从η到(2n-l)的比特作 为一个屏蔽位存储组存储所述功能模块的屏蔽位信息,即从in到i (2n-l)的比特可以作为 一个屏蔽位存储组存储所述功能模块的屏蔽位信息,所述屏蔽位信息包括所述功能模块包 括的所有中断源的屏蔽位。参考图5所示,图5中区域501为一个存储单元组,区域502为 区域501指示的对应的功能模块对应的屏蔽位存储组,所述屏蔽位存储组中至多存储η个 中断源的屏蔽位。
[0112] 所述第一检测单元1031还用于当检测到所述中断标志位信息指示所述功能模块 存在中断事件时,检测所述中断事件对应的屏蔽位是否有效。
[0113] 示例的,第一检测单元1031可以检测到中断标志位信息指示对应的功能模块中 具体存在中断事件的中断源,还可以判断所述中断源对应的屏蔽位是否有效,可选的,当该 中断源对应的屏蔽位为"1"时,表示屏蔽位有效,当该中断源对应的屏蔽位为"0"时,表示 屏蔽位无效,当屏蔽位有效时,表示处理器可以对该中断源的中断事件不作处理。
[0114] 所述生成单元1032具体用于当所述中断标志位信息指示所述功能模块存在中断 事件,且所述中断事件对应的中断源的屏蔽位无效时,生成中断事件处理请求。
[0115] 当第一检测单元1031检测出中断源存在中断事件,而且所述中断事件对应的中 断源的屏蔽位无效时,生成单元1032才会生成中断事件处理请求,当第一检测单元1031检 测出中断源存在中断事件,但是所述中断事件对应的中断源的屏蔽位有效时,表示不需要 向处理器通知所述中断事件,因此若该中断源对应的功能模块的其他中断源没有中断事件 时,可以不生成中断事件处理请求。
[0116] 需要说明的,初始化时控制系统中每个中断源对应的屏蔽位均无效,在控制系统 的运行过程中,处理器可以根据具体情况对每个中断源的屏蔽位进行设置。示例的,若处理 器根据实际情况判断出某个中断源的中断事件不属于紧急事件,不需要进行处理,可以将 该中断源对应的屏蔽位设置为有效;或者若处理器根据实际情况判断出该中断源的中断事 件属于紧急事件,需要进行处理,可以将该中断源对应的屏蔽位设置为无效。
[0117] 进一步的,如图6所示,所述中断标志位读出模块104包括:读地址单元1041和读 数据单元1042。
[0118] 其中,所述读地址单元1041用于根据所述功能模块的标识,获取所述功能模块对 应的存储单元组的存储地址。
[0119] 当处理器接收到中断事件处理请求之后,会根据中断事件处理请求,获取产生中 断事件的功能模块的标识,然后生成中断事件处理指令,所述中断事件处理指令包括所述 功能模块的标识。然后读地址单元1041可以根据该功能模块的标识,获取该功能模块对应 的存储单元组的存储地址,可选的,可以预先在读地址单元1041中存储功能模块与存储地 址对应表,然后读地址单元1041可以根据功能模块的标识和功能模块与存储地址对应表, 获取该功能模块对应的存储单元组的存储地址。
[0120] 所述读数据单元1042用于根据所述存储地址,获取所述存储地址中存储的所述 功能模块的中断标志位信息。
[0121] 示例的,读数据单元1042可以将所述存储地址通过块随机存储器101的第二接口 1012的第二地址线1012c发送给块随机存储器101,块随机存储器101接收到该存储地址 之后,将所述存储地址对应的存储单元组的中断标志位信息通过第二接口 1012的第二输 出数据线1012b发送给读数据单元1042。
[0122] 进一步的,如图7所示,所述中断标志位清除模块105包括第二写数据单元1051、 第二写地址单元1052和第二写使能单元1053。
[0123] 其中,所述第二写地址单元1052用于根据所述中断标志位清除指示包括的所述 中断源的标识,获取所述中断源所在的功能模块对应的存储单元组的存储地址。
[0124] 可选的,初始化时可以在所述第二写地址单元1052中预先保存功能模块与存储 地址对应表,在接收到处理器发送的中断标志位清除指示信息中获取所述中断标志位清除 指示信息包括中断源的标识,然后根据所述中断源的标识和功能模块与存储地址对应表, 获取所述中断源所在的功能模块对应的存储单元组的存储地址。具体的,首先可以根据中 断源的标识获取所述中断源对应的功能模块的标识,然后根据所述功能模块的标识和功能 模块与存储地址对应表,获取所述中断源所在的功能模块对应的存储单元组的存储地址。
[0125] 所述第二写数据单元1051用于根据所述中断标志位清除指示,获取所述功能模 块包括的中断源的新的中断标志位信息。
[0126] 可选的,在第二写地址单元1052获取到所述功能模块对应的存储单元组的存储 地址之后,第二写数据单元1051可以根据所述存储地址,获取所述功能模块对应的存储单 元组现在存储的中断标志位信息,然后第二写数据单元1051根据所述中断源的标识,将所 述现在存储的中断标志位信息中所述中断源对应的中断标志位设置为无效,得到新的中断 标志位信息,例如,当获取到的现在存储的中断标志位信息为"10000",为"1",表示所述中 断源对应的中断标志位有效,第二写数据单元1051可以将所述中断标志位信息中所述中 断源对应的中断标志位设置为"0",得到新的中断标志位信息为"00000"。
[0127] 具体的,第二写地址单元1052将所述存储地址通过块随机存储器101的第二接口 1012的第二地址线1012c发送给块随机存储器101,然后块随机存储器101会通过第二接 口 1012的第二输出数据线1012b将所述存储地址对应的存储单元组现在存储的中断标志 位信息发送给第二写地址单元1052。
[0128] 所述第二写使能单元1053,用于第二写使能指令,所述第二写使能指令用于指示 所述块随机存储器101根据所述功能模块对应的存储单元组的存储地址,将所述功能模块 包括的中断源的新的中断标志位信息存储在所述功能模块对应的存储单元组中。
[0129] 可选的,第二写使能单元1053通过块随机存储器101的第二接口 1012的第二写 使能线l〇12d发送所述第二写使能指令,然后块随机存储器101根据第二接口 1012的第二 地址线1012c接收到的地址,将第二接口 1012的第二输入数据线1012a上接收到的所述功 能模块的新的中断标志位信息存储在所述功能模块对应的存储单元中。
[0130] 较佳的,如图8所示,所述中断标志位清除模块105还包括第二检测单元1054。所 述第二检测单元1054用于检测当前所述第二写地址单元1052获取的所述中断源所在的功 能模块对应的存储单元组的存储地址与当前所述第一写地址单元1022获取的所述功能模 块对应的存储单元组的存储地址。
[0131] 示例的,第二写地址单元1052在中断标志位清除模块105进行中断标志位清除操 作时,获取的存储地址与当前第一写地址单元1022在中断标志位写入模块102进行中断标 志位写入操作时,获取的存储地址可能一致,表示当该存储地址对应的功能模块的进行中 断标志位清除时,该功能模块的中断源又出现了中断事件,需要进行中断标志位写入,这时 中断标志位写入模块102与中断标志位清除模块105的操作产生了冲突,导致操作无法执 行或容易造成中断标志位信息的遗失。所以中断标志位清除模块105可以在进行清除操作 之前,首先通过第二检测单元1054检测当前所述第二写地址单元1052获取的存储地址与 当前所述第一写地址单元1022获取的存储地址是否一致。
[0132] 若当前所述第二写地址单元1052获取的存储地址与所述第一写地址单元1022 获取的存储地址一致时,所述中断标志位清除模块105将所述中断标志位清除指示包括的 所述中断源的标识发送给所述中断标志位写入模块102,以便于所述中断标志位写入模块 102根据所述中断源的标识获取所述功能模块的中断标志位信息。
[0133] 示例的,中断标志位写入模块102的第一写数据单元1021将中断标志位清除模 块105发送的中断源的标识所指示中断标志位设置为无效,将所述中断信息中包括的中断 源标识所指示中断标志位设置为有效,获取到所述中断源所在的功能模块的中断标志位信 息,然后通过第一接口 1011将所述中断标志位信息存储在所述功能模块对应的存储单元 组中,同时完成了对该功能模块的中断标志位信息的写入和清除。若所述中断标志位清除 模块105发送的中断源的标识与所述中断信息中包括的中断源标识相同,则将中断标志位 设置为有效的操作具有优先权。
[0134] 本发明实施例提供的中断处理装置,若控制系统包括至少两个功能模块,在控制 系统包括的功能模块的中断源出现中断事件时,通过块随机存储器存储控制系统中每个功 能模块的中断源的中断标志位信息,然后通过中断标志位写入模块完成将任意一个功能模 块的中断标志位信息写入块随机存储器的操作,通过中断标志位读出模块完成从块随机存 储器中读取任意一个功能模块的中断标志位信息的操作,通过中断标志位清除模块完成任 意一个功能模块的中断标志位信息的清除操作,使得所述中断处理装置可以通过一套中断 控制电路完成控制系统中所有中断事件的处理,相较于现有技术,该中断处理装置不需要 为每一个功能模块设置对应的中断标志寄存器来完成中断标志位的存储,进而不需要为每 个中断标志寄存器设置单独的中断控制电路,并且在进行中断处理的过程中,不需要多路 选择器,从而节约了硬件资源,减小了硬件成本。
[0135] 本发明实施例提供一种中断处理方法,应用于中断处理装置,如图9所示,用于对 m个功能模块的中断源进行处理,m大于或等于2,所述功能模块包括至少一个中断源;所述 中断处理方法包括:
[0136] 步骤901、接收第一功能模块包括的第一中断源发送的中断信息,所述中断信息中 包括所述第一中断源的标识。
[0137] 所述第一功能模块为m个功能模块中的任意一个功能模块,假设所述第一功能模 块包括η个中断源,第一中断源为η个中断源中的任意一个,当第一功能模块的第一中断源 发生中断事件,需要处理器进行处理时,第一中断源生成中断信息,该中断信息中包括第一 中断源的标识,并将所述中断信息发送给中断处理装置。
[0138] 步骤902、根据所述第一中断源的标识,获取所述第一功能模块包括的中断源的 第一中断标志位信息,所述第一中断标志位信息中所述第一中断源对应的信息表示中断有 效。
[0139] 示例的,中断处理装置在接收到第一中断源发送的中断信息之后,首先根据第一 中断源的标识,获取该第一中断源所在的第一功能模块的标识,然后根据第一功能模块的 标识获取块随机存储器中第一功能模块对应的存储单元组中当前存储的第二中断标志位 信息,所述第二中断标志位信息记录了第一中断源未发生中断事件时,第一功能模块中各 个中断源的中断标志位。然后将第二中断标志位信息中第一中断源对应的中断标志位设置 为有效,得到第一中断标志位信息。
[0140] 步骤903、在块随机存储器中所述第一功能模块对应的存储单元组写入所述第一 中断标志位信息,其中,所述块随机存储器至少包含m个存储单元组,每个存储单元组用于 存储一个功能模块包括的中断源的第一中断标志位信息。
[0141] 示例的,根据第一功能模块对应的存储地址,将第一中断标志位信息写入块随机 存储器中所述第一功能模块对应的存储单元组中。
[0142] 具体的,假设η = 5,即第一功能模块中包括5个中断源,当第一中断源发生中断事 件时,将第二中断标志位信息中第一中断源对应的中断标志位设置为"1",假设第二中断标 志位信息中第一中断源对应的中断标志位为第二中断标志位信息的第一位,则得到的第一 中断标志位信息为"10000"。中断处理装置可以将"10000"写入块随机存储器中所述第一 功能模块对应的存储单元组中,该存储单元组至少需要包括5个比特位用于存储5个中断 源的中断标志位信息。
[0143] 步骤904、当写入所述块随机存储器中的所述第一中断标志位信息指示所述第一 功能模块存在中断事件时,生成中断事件处理请求。
[0144] 当中断处理装置检测到写入所述块随机存储器中的所述第一中断标志位信息中 包括有效的中断标志位时,该所述第一中断标志位信息指示所述第一功能模块存在中断事 件。具体的,中断处理装置检测到写入所述块随机存储器中的所述第一中断标志位信息中 包括不为"〇"的中断标志位时,该所述第一中断标志位信息指示所述第一功能模块存在中 断事件,本发明实施例中,由于第一中断源出现中断事件,因此写入所述块随机存储器中的 所述第一中断标志位信息中包括不为"〇"的中断标志位,指示所述第一功能模块存在中断 事件,需要生成中断事件处理请求。
[0145] 步骤905、将所述中断事件处理请求发送给处理器,以便于所述处理器根据所述中 断事件处理请求获取所述中断事件处理请求对应的第一功能模块的标识,根据所述第一功 能模块的标识生成中断事件处理指令,所述中断事件处理指令包括所述第一功能模块的标 识。
[0146] 中断处理装置可以通过与处理器之间的连线或者通信协议接口,将中断事件处理 请求发送给处理器,处理器接收到该中断事件处理请求之后,得知有中断事件需要处理,这 时处理器获取中断事件出现的第一功能模块的标识,然后根据所述第一功能模块的标识生 成中断事件处理指令,所述中断事件处理指令包括所述第一功能模块的标识。
[0147] 可选的,中断处理装置还可以包括一个功能模块中断寄存器,所述功能模块中断 寄存器包括m个寄存位,每个寄存位对应一个功能模块,当中断处理装置检测到所获取的 第一中断标志位信息中第一中断标志位表示中断有效时,则中断处理装置可以将功能模块 中断寄存器中第一功能模块对应的寄存位设置为有效,当处理器根据中断事件处理请求, 判断出当前存在需要进行处理的中断事件时,可以通过读取所述功能模块中断寄存器中保 存的信息,获取当前中断事件对应的第一功能模块的标识,根据所述第一功能模块的标识 生成中断事件处理指令,所述中断事件处理指令包括所述第一功能模块的标识。
[0148] 或者,所述中断事件处理请求中还可以包括第一功能模块的标识,处理器直接通 过中断事件处理请求获取第一功能模块的标识。
[0149] 步骤906、接收所述处理器发送的所述中断事件处理指令。
[0150] 步骤907、根据所述中断事件处理指令包括的所述第一功能模块的标识,获取所述 第一功能模块对应的存储单元组存储的第一中断标志位信息。
[0151] 中断处理装置在接收到处理器发送的所述中断事件处理指令之后,首先获取该中 断事件处理指令包括的第一功能模块的标识,然后根据第一功能模块的标识,获取所述第 一功能模块对应的存储单元组存储的第一中断标志位信息,示例的,在获取到第一功能模 块的标识之后,可以根据第一功能模块的标识与中断处理装置预先保存的功能模块与存储 地址对应表,获取第一功能模块对应的存储单元组的存储地址,然后根据该存储地址,从块 随机存储器中读出第一功能模块对应的存储单元组存储的第一中断标志位信息。
[0152] 步骤908、将所述第一中断标志位信息发送给所述处理器,以便所述处理根据所述 第一中断标志位信息,确定所述第一功能模块存在中断事件的所述第一中断源,并处理所 述第一中断源的所述中断事件,在处理完成之后,生成中断标志位清零指示。
[0153] 中断处理装置将第一中断标志位信息发送给处理器,处理器能够根据第一中断标 志位信息中每个中断标志位是否有效,确定出产生中断事件的具体的中断源。示例的,由 于第一中断标志位信息中第一中断源对应的中断标志位表示有效,则处理器可以确定第一 功能模块中存在中断事件的是第一中断源,然后可以调用第一中断源对应的中断处理程 序来处理第一中断源的中断事件。具体的,中断处理装置读出的第一中断标志位信息为 "10000",将该第一中断标志位信息发送给处理器之后,处理器判断第一中断源对应的中断 标志位为" 1",其他中断源对应的中断标志位均为"0",则确定第一功能模块中仅有第一中 断源存在中断事件,然后处理器可以调用第一中断源对应的中断处理程序来处理第一中断 源的中断事件。
[0154] 步骤909、接收所述处理器发送的所述中断标志位清除指示信息,所述中断标志位 清除指示信息包括所述第一中断源的标识。
[0155] 当处理器对第一中断源的中断事件处理之后,或生成一个中断标志位清除指示信 息,该所述中断标志位清除指示信息包括所述第一中断源的标识,用于指示第一中断源的 中断事件已经处理完成,需要对第一中断源对应的中断标志位进行清除,以免中断处理装 置仍然判断存在中断事件。
[0156] 步骤9010、根据所述中断标志位清除指示信息,清除所述块随机存储器存储的所 述第一中断标志位信息中第一中断源对应的中断有效的信息。
[0157] 接收所述处理器发送的所述中断标志位清除指示信息之后,首先获取第一中断源 的标识,然后根据第一中断源的标识,获取第一功能模块的标识,然后根据第一功能模块的 标识,获取第一功能模块对应的存储单元组中存储的第一中断标志位信息,然后将该第一 中断标志位信息中第一中断源对应的中断标志位设置为无效,得到第三中断标志位信息, 然后将第三中断标志位信息写入块随机存储器第一功能模块对应的存储单元组中。
[0158] 这样一来,本发明实施例提供的中断处理方法,若控制系统包括至少两个功能模 块,在对控制系统的中断进行处理时,通过块随机存储器完成对多个功能模块的中断源的 中断标志位进行存储,然后在块随机存储器的基础上完成对所有功能模块的中断源的中断 标志位的写入、读出和清除,基于块随机存储器的写入、读出和清除,仅仅需要一套中断控 制电路即可实现,相较于现有技术,本发明所述的中断处理方法不需要为每个功能模块设 置与之对应的中断标志位寄存器来完成该功能模块的中断标志位的存储,进而不需要针对 每个中断标志位寄存器设置多套中断控制电路来实现写入、读出和清除,并且避免了使用 多路选择器,因此,本发明提供的中断处理方法,能够节约硬件资源,进而减小硬件成本。
[0159] 可选的,在根据所述第一中断源的标识,获取所述第一功能模块包括的中断源的 第一中断标志位信息时,可以首先根据所述第一中断源的标识,获取所述第一功能模块在 所述块随机存储器中对应的存储单元组的存储地址,然后根据所述存储地址,获取所述第 一功能模块对应的存储单元组中当前存储的第二中断标志位信息,进而可以根据所述第二 中断标志位信息与所述第一中断源的标识,获取所述第一中断标志位信息。
[0160] 可选的,初始化时可以在该中断处理装置中预先保存功能模块与存储地址对应 表,由于每个功能模块都对应一个存储单元组,每个存储单元组都存在一个唯一的存储地 址,因此每个功能模块也对应一个存储地址,所述功能模块与存储地址对应表记录了每个 功能模块与存储地址的对应关系。当中断处理装置接收到第一中断源发送的中断信息之 后,可以首先根据所述第一中断源的标识,获取第一功能模块的标识,然后根据第一功能模 块的标识和所述功能模块与存储地址对应表,获取所述第一功能模块对应的存储单元组的 存储地址,块随机存储器会根据该存储地址,输出所述存储地址对应的存储单元组当前存 储的第二中断标志位信息,所述第二中断标志位信息记录了第一中断源未发生中断事件 时,第一功能模块中各个中断源的中断标志位。然后将第二中断标志位信息中第一中断源 对应的中断标志位设置为有效,得到第一中断标志位信息。
[0161] 具体的,当中断标志位为"0"的时候代表该中断标志位无效,当中断标志位为"1" 的时候,代表该中断标志位有效,假设η = 5,在第一中断源发生中断之前第一功能模块中 各个中断源没有发生中断,则第二中断标志位信息为"〇〇〇〇〇",当第一中断源发生中断事件 时,将第二中断标志位信息中第一中断源对应的中断标志位设置为"1",假设第二中断标志 位信息中第一中断源对应的中断标志位为第二中断标志位信息的第一位,则得到的第一中 断标志位信息为" 10000"。
[0162] 可选的,在块随机存储器中所述第一功能模块对应的存储单元组写入所述第一中 断标志位信息,具体的可以根据所述第一功能模块对应的存储单元组的存储地址,在块随 机存储器中所述第一功能模块对应的存储单元组写入所述第一中断标志位信息。
[0163] 示例的,在根据所述中断事件处理指令包括的所述第一功能模块的标识,获取所 述第一功能模块对应的存储单元组存储的第一中断标志位信息时,首先可以根据所述第一 功能模块的标识,获取所述第一功能模块在所述块随机存储器中对应的存储单元组的存储 地址,然后根据所述存储地址,获取所述第一功能模块对应的存储单元组中当前存储的第 一中断标志位信息。
[0164] 中断处理装置在接收到处理器发送的所述中断事件处理指令之后,首先获取该中 断事件处理指令包括的第一功能模块的标识,然后根据第一功能模块的标识,与中断处理 装置预先保存的功能模块与存储地址对应表,获取第一功能模块对应的存储单元组的存储 地址,然后中断处理装置将该存储地址发送给块随机存储器,块随机存储器会根据该存储 地址,输出该存储地址对应的存储单元组存储的第一中断标志位信息。
[0165] 进一步的,所述块随机存储器还包括m个屏蔽位存储组,每个所述屏蔽位存储组 对应一个功能模块,所述屏蔽存储组用于存储对应的功能模块的屏蔽位信息,所述屏蔽位 信息包括所述功能模块包括的所有中断源的屏蔽位,当所述功能模块中任意一个中断源的 所述屏蔽位有效时,表示所述中断源的中断事件不作处理。
[0166] 进而在所述生成中断事件处理请求之前,中断处理装置还可以判断所述第一中断 源对应的屏蔽位是否有效,当写入所述块随机存储器中的所述第一中断标志位信息指示所 述第一功能模块存在中断事件,且所述第一中断源对应的屏蔽位无效时,生成所述中断事 件处理请求。
[0167] 示例的,在生成中断事件处理请求之前,首先判断第一中断源对应的屏蔽位是否 有效,当所述第一中断源对应的屏蔽位有效时,说明第一中断源的中断事件不需要进行处 理,中断处理装置可以不用生成中断事件处理请求发送给服务器;当所述第一中断源对应 的屏蔽位无效时,说明第一中断源的中断事件需要进行处理,这时中断处理装置需要生成 中断事件处理请求发送给服务器。
[0168] 需要说明的,初始化时控制系统中每个中断源对应的屏蔽位均无效,在控制系统 的运行过程中,处理器可以根据具体情况对每个中断源的屏蔽位进行设置。示例的,若处理 器根据实际情况判断出第一中断源的中断事件不属于紧急事件,不需要进行处理,可以将 第一中断源对应的屏蔽位设置为有效;或者若处理器根据实际情况判断出第一中断源的中 断事件属于紧急事件,需要进行处理,可以将第一中断源对应的屏蔽位设置为无效。
[0169] 示例的,在根据所述中断标志位清除指示信息,清除所述块随机存储器存储的所 述第一中断标志位信息中第一中断源对应的中断有效的信息时,可以首先根据所述第一 中断源的标识,获取所述第一功能模块在所述块随机存储器中对应的存储单元组的存储地 址,然后根据所述存储地址,获取所述第一功能模块对应的存储单元组中当前存储的第一 中断标志位信息,根据所述第一中断标志位信息和所述第一中断源的标识,获取第三中断 标志位信息,所述第三中断标志位信息中所述第一中断源对应的信息表示中断无效,进而 根据所述存储地址,将所述第三中断标志位信息写入所述块随机存储器中的所述第一功能 模块对应的存储单元组。
[0170] 中断处理装置获取到中断标志位清除指示信息之后,首先获取第一中断源的标 识,然后根据第一中断源的标识,获取第一功能模块的标识,并且根据第一功能模块的标识 和预先存储的功能模块与存储地址对应表,获取所述第一功能模块对应的存储地址,根据 该存储地址获取第一功能模块对应的存储单元组存储的第一中断标志位信息,所述第一中 断标志位信息中第一中断源对应的中断标志位表示有效,然后将第一中断标志位信息中第 一中断源对应的中断标志位设置为无效,得到第三中断标志位信息,然后将第三中断标志 位信息写入到第一功能模块在块随机存储器中对应的存储单元组中。
[0171] 具体的,中断处理装置获取到的第一中断标志位信息为"10000",其中第一中断源 对应的中断标志位为"1",表示该中断标志位有效,然后中断处理装置将第一中断源对应的 中断标志位设置为"0",表示第一中断源已经不存在中断事件了,得到的第三中断标志位信 息为"00000",然后将所述第三中断标志位信息"00000"写入第一功能模块对应的存储单 元组中。
[0172] 本发明实施例提供的中断处理方法,若控制系统包括至少两个功能模块,在对控 制系统的中断进行处理时,通过块随机存储器完成对多个功能模块的中断源的中断标志位 进行存储,然后在块随机存储器的基础上完成对所有功能模块的中断源的中断标志位的写 入、读出和清除,基于块随机存储器的写入、读出和清除,仅仅需要一套中断控制电路即可 实现,相较于现有技术,本发明所述的中断处理方法不需要为每个功能模块设置与之对应 的中断标志位寄存器来完成该功能模块的中断标志位的存储,进而不需要针对每个中断标 志位寄存器设置多套中断控制电路来实现写入、读出和清除,并且避免了使用多路选择器, 因此,本发明提供的中断处理方法,能够节约硬件资源,进而减小硬件成本。
[0173] 以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【权利要求】
1. 一种中断处理装置,其特征在于,用于对m个功能模块的中断源进行处理,m大于或 等于2,所述功能模块包括至少一个中断源;所述中断处理装置包括: 块随机存储器,至少包含m个存储单元组,每个存储单元组用于存储一个功能模块的 中断标志位信息,所述中断标志位信息包括所述功能模块包括的所有中断源的中断标志 位; 中断标志位写入模块,用于将任意一个所述功能模块的中断标志位信息,写入所述功 能模块对应的存储单元组中; 中断标志位输出模块,用于根据所述中断标志位写入模块写入所述存储单元组的中断 标志位信息,生成中断事件处理请求,并且将所述中断事件处理请求发送给处理器,以便于 所述处理器根据所述中断事件处理请求,获取所述中断事件请求对应的功能模块的标识, 根据所述功能模块的标识生成中断事件处理指令,所述中断事件处理指令包括所述功能模 块的标识; 中断标志位读出模块,用于接收所述处理器发送的所述中断事件处理指令,根据所述 中断事件处理指令包括的功能模块的标识,获取所述功能模块对应的存储单元组存储的中 断标志位信息,并将所述中断标志位信息发送给处理器;以便所述处理器从所述中断标志 位信息中确定所述功能模块存在中断事件的中断源,并处理所述中断源的中断事件,在处 理完成之后,生成中断标志位清零指不; 中断标志位清除模块,用于接收所述处理器发送的所述中断标志位清除指示信息,所 述中断标志位清除指示包括中断源的标识,根据所述中断源的标识,清除所述中断源对应 的有效信息。
2. 根据权利要求1所述的中断处理装置,其特征在于, 所述块随机存储器包括第一接口和第二接口,所述第一接口用于写入任意一个功能模 块的中断标志位信息,所述第二接口用于读取任意一个功能模块的中断标志位信息。
3. 根据权利要求1或2所述的中断处理装置,其特征在于, 所述中断标志位写入模块包括第一写数据单元,第一写地址单元和第一写使能单元; 所述第一写地址单元用于根据任意一个中断源的标识,获取所述中断源所在的功能模 块对应的存储单元组的存储地址; 所述第一写数据单元用于获取所述功能模块的中断标志位信息; 所述第一写使能单元用于生成第一写使能指令,所述第一写使能指令用于指示所述块 随机存储器根据所述功能模块对应的存储单元组的存储地址,将所述功能模块的中断标志 位信息写入在所述功能模块对应的存储单元组中。
4. 根据权利要求2所述的中断处理装置,其特征在于, 所述中断标志位输出模块包括第一检测单元、生成单元和发送单元; 所述第一检测单元用于检测所述第一接口写入的所述功能模块的中断标志位信息是 否指^^所述功能1吴块存在中断事件; 所述生成单元用于当所述第一检测单元检测到所述中断标志位信息指示所述功能模 块存在中断事件时,生成中断事件处理请求; 所述发送单元用于将所述中断事件处理请求发送给处理器,以便于所述处理器根据所 述中断事件处理请求,获取所述中断事件请求对应的功能模块的标识。
5. 根据权利要求4所述的中断处理装置,其特征在于, 所述块随机存储器还包括m个屏蔽位存储组,每个所述屏蔽位存储组对应一个功能模 块,所述屏蔽存储组用于存储对应的功能模块的屏蔽位信息,所述屏蔽位信息包括所述功 能模块包括的所有中断源的屏蔽位,当所述功能模块中任意一个中断源的所述屏蔽位有效 时,表示所述中断源的中断事件不作处理; 所述第一检测单元还用于当检测到所述中断标志位信息指示所述功能模块存在中断 事件时,检测所述中断事件对应的中断源的屏蔽位是否有效; 所述生成单元具体用于当所述中断标志位信息指示所述功能模块存在中断事件,且所 述中断事件对应的中断源的屏蔽位无效时,生成中断事件处理请求。
6. 根据权利要求1、2、4或5任意一项权利要求所述的中断处理装置,其特征在于, 所述中断标志位读出模块包括:读地址单元和读数据单元; 所述读地址单元用于根据所述功能模块的标识,获取所述功能模块对应的存储单元组 的存储地址; 所述读数据单元用于根据所述存储地址,获取所述存储地址中存储的所述功能模块的 中断标志位信息。
7. 根据权利要求6所述的中断处理装置,其特征在于, 所述中断标志位清除模块包括第二写数据单元、第二写地址单元和第二写使能单元; 所述第二写地址单元用于根据所述中断标志位清除指示包括的所述中断源的标识,获 取所述中断源所在的功能模块对应的存储单元组的存储地址; 所述第二写数据单元用于根据所述中断标志位清除指示,获取所述功能模块包括的中 断源的新的中断标志位信息; 所述第二写使能单元,用于第二写使能指令,所述第二写使能指令用于指示所述块随 机存储器根据所述功能模块对应的存储单元组的存储地址,将所述功能模块包括的中断源 的新的中断标志位信息存储在所述功能模块对应的存储单元组中。
8. 根据权利要求7所述的中断处理装置,其特征在于, 所述中断标志位清除模块还包括第二检测单元; 所述第二检测单元用于检测当前所述第二写地址单元获取的所述中断源所在的功能 模块对应的存储单元组的存储地址与当前所述第一写地址单元获取的所述功能模块对应 的存储单元组的存储地址是否一致; 若当前所述第二写地址单元获取的存储地址与所述第一写地址单元获取的存储地址 一致时,所述中断标志位清除模块将所述中断标志位清除指示包括的所述中断源的标识发 送给所述中断标志位写入模块,以便于所述中断标志位写入模块根据所述中断源的标识获 取所述功能模块的中断标志位信息。
9. 一种中断处理方法,应用于中断处理装置,其特征在于,用于对m个功能模块的中断 源进行处理,m大于或等于2,所述功能模块包括至少一个中断源;所述中断处理方法包括: 接收第一功能模块包括的第一中断源发送的中断信息,所述中断信息中包括所述第一 中断源的标识; 根据所述第一中断源的标识,获取所述第一功能模块包括的中断源的第一中断标志位 信息,所述第一中断标志位信息中所述第一中断源对应的信息表示中断有效; 在块随机存储器中所述第一功能模块对应的存储单元组写入所述第一中断标志位信 息,其中,所述块随机存储器至少包含m个存储单元组,每个存储单元组用于存储一个功能 模块包括的中断源的第一中断标志位信息; 当写入所述块随机存储器中的所述第一中断标志位信息指示所述第一功能模块存在 中断事件时,生成中断事件处理请求; 将所述中断事件处理请求发送给处理器,以便于所述处理器根据所述中断事件处理请 求获取所述中断事件处理请求对应的第一功能模块的标识,根据所述第一功能模块的标识 生成中断事件处理指令,所述中断事件处理指令包括所述第一功能模块的标识; 接收所述处理器发送的所述中断事件处理指令; 根据所述中断事件处理指令包括的所述第一功能模块的标识,获取所述第一功能模块 对应的存储单元组存储的第一中断标志位信息; 将所述第一中断标志位信息发送给所述处理器,以便所述处理根据所述第一中断标志 位信息,确定所述第一功能模块存在中断事件的所述第一中断源,并处理所述第一中断源 的所述中断事件,在处理完成之后,生成中断标志位清零指示; 接收所述处理器发送的所述中断标志位清除指示信息,所述中断标志位清除指示信息 包括所述第一中断源的标识; 根据所述中断标志位清除指示信息,清除所述块随机存储器存储的所述第一中断标志 位信息中第一中断源对应的中断有效的信息。
10. 根据权利要求9所述的中断处理方法,其特征在于,所述根据所述第一中断源的标 识,获取所述第一功能模块包括的中断源的第一中断标志位信息包括: 根据所述第一中断源的标识,获取所述第一功能模块在所述块随机存储器中对应的存 储单元组的存储地址; 根据所述存储地址,获取所述第一功能模块对应的存储单元组中当前存储的第二中断 标志位信息; 根据所述第二中断标志位信息与所述第一中断源的标识,获取所述第一中断标志位信 肩、。
11. 根据权利要求10所述的中断处理方法,其特征在于,所述在块随机存储器中所述 第一功能模块对应的存储单元组写入所述第一中断标志位信息包括: 根据所述第一功能模块对应的存储单元组的存储地址,在块随机存储器中所述第一功 能模块对应的存储单元组写入所述第一中断标志位信息。
12. 根据权利要求10或11所述的中断处理方法,其特征在于,所述根据所述中断事件 处理指令包括的所述第一功能模块的标识,获取所述第一功能模块对应的存储单元组存储 的第一中断标志位信息包括: 根据所述第一功能模块的标识,获取所述第一功能模块在所述块随机存储器中对应的 存储单元组的存储地址; 根据所述存储地址,获取所述第一功能模块对应的存储单元组中当前存储的第一中断 标志位信息。
13. 根据权利要求9至11任意一项权利要求所述的中断处理方法,其特征在于,所述根 据所述中断标志位清除指示信息,清除所述块随机存储器存储的所述第一中断标志位信息 中第一中断源对应的中断有效的信息包括: 根据所述第一中断源的标识,获取所述第一功能模块在所述块随机存储器中对应的存 储单元组的存储地址; 根据所述存储地址,获取所述第一功能模块对应的存储单元组中当前存储的第一中断 标志位信息; 根据所述第一中断标志位信息和所述第一中断源的标识,获取第三中断标志位信息, 所述第三中断标志位信息中所述第一中断源对应的信息表示中断无效; 根据所述存储地址,将所述第三中断标志位信息写入所述块随机存储器中的所述第一 功能模块对应的存储单元组。
【文档编号】G06F9/48GK104111870SQ201410323056
【公开日】2014年10月22日 申请日期:2014年7月8日 优先权日:2014年7月8日
【发明者】章建钦 申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1