一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种PCIe主机到设备的中断发送方法及系统与流程

2022-11-12 21:14:23 来源:中国专利 TAG:

一种pcie主机到设备的中断发送方法及系统
技术领域
1.本技术涉及集成电路技术领域,尤其涉及一种pcie主机到设备的中断发送方法及系统。


背景技术:

2.pcie总线凭借自身低成本、低延迟、结构简单以及易于扩展的特点,成为了消费级,服务器和工业应用领域最重要的互连总线协议。异构系统中多核心之间经常使用中断机制作为两边的同步信号,从而控制数据的流动和计算。pcie 引入了一种msi中断机制,msi事务包也是一种特殊的memory写数据包,从而充分利用了pcie协议memory一致性的特点,确保了中断事务部和普通数据包之间的传输顺序(order)。pcie 架构体系中是以rc(主机)为中心的树形结构,所以在协议制定中,只提供了ep (设备端)向rc(主机)端发送中断的机制。


技术实现要素:

3.为了解决现有技术的缺陷,本技术的目的在于提供一种pcie主机到设备的中断发送方法及系统,当接收到pcie主机发送中断事务层数据包时,将直接产生中断给中断控制器,实现pcie主机到设备的中断发送。
4.为了实现上述目的,本技术提供的pcie主机到设备的中断发送方法,包括:pcie设备接收中断事务层数据包;判断所述中断事务层数据包与基地址寄存器中预留地址空间是否匹配;如所述中断事务层数据包与基地址寄存器中预留地址空间匹配,则将pcie主机中断请求确认信息发送给pcie设备的中断生成模块;pcie设备的中断生成模块根据所述pcie主机中断请求确认信息生成pcie设备的通用中断请求消息发送给中断控制器;执行pcie主机的中断处理响应程序。
5.进一步地,所述判断所述中断事务层数据包与基地址寄存器中预留地址空间是否匹配的步骤,还包括:判断中断事务层数据包中地址位与基地址寄存器预留地址空间是否匹配;将中断事务层数据包中数据位解析为msi向量编号;判断中断事务层数据包中长度是否为1。
6.进一步地,所述基地址寄存器,为pcie设备的bar0寄存器。
7.进一步地,所述判断中断事务层数据包中地址位与基地址寄存器预留地址空间是否匹配,还包括:判断中断事务层数据包中地址位的地址字段与所述bar0寄存器的预留地址空间长度相匹配。
8.进一步地,所述pcie设备,包括但不限于16个功能,每个功能支持64个msi向量。
9.为了实现上述目的,本技术还提供一种pcie主机到设备的中断发送系统,包括,
pcie主机,用于向pcie设备发送中断事务层数据包;所述pcie设备,用于匹配中断事务层数据包与基地址寄存器,当判断所述中断事务层数据包为所述pcie主机发送的msi中断时,则直接进入pcie主机中断处理响应程序。
10.进一步地,所述pcie设备,包括:中断检测模块,用于匹配中断事务层数据包与基地址寄存器;基地址寄存器,用于为匹配所述中断事务层数据包提供预留地址空间;中断生成模块,用于生成pcie设备的通用中断请求;中断控制器, 用于控制cpu执行中断处理响应程序。
11.进一步地,所述基地址寄存器为pcie设备的bar0寄存器;所述中断检测模块,当确认中断事务层数据包中地址位的地址字段63:6与所述bar0寄存器的预留地址空间长度相匹配时,将pcie主机中断请求确认信息发送给所述中断生成模块。
12.进一步地,所述中断生成模块,当接收到所述中断检测模块发送的pcie主机中断请求确认信息后,生成pcie设备的通用中断请求发送给所述中断控制器控制cpu执行pcie主机中断处理响应程序。
13.为了实现上述目的,本技术还提供一种系统芯片,包括上文所述的pcie主机到设备的中断发送系统。
14.为了实现上述目的,本技术还提供一种电子设备,包括,存储器和处理器,所述存储器中存储有计算机指令,所述处理器被设置为运行所述指令以执行上文所述的pcie主机到设备的中断发送方法的步骤。
15.为了实现上述目的,本技术还提供一种计算机可读存储介质,其上存储有计算机指令,当计算机指令运行时执行上文所述的pcie主机到设备的中断发送方法的步骤。
16.本技术提供的pcie主机到设备的中断发送方法及系统,与现有技术相比较具有如下的技术效果:pcie设备在确定接收到pcie主机的中断事务层事务包后,生成通用中断请求给中断控制器直接进入pcie主机中断处理响应程序,实现了pcie主机向pcie设备发送中断的机制。
17.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。
附图说明
18.附图用来提供对本技术的进一步理解,并且构成说明书的一部分,并与本技术的实施例一起,用于解释本技术,并不构成对本技术的限制。在附图中:图1为根据本技术的pcie主机到设备的中断发送方法流程图;图2为根据本技术的pcie主机到设备的中断发送系统结构示意图;图3为根据本技术的中断事务层数据包(msi tlp)结构示意图;图4为根据本技术实施例的电子设备结构示意图。
具体实施方式
19.下面将参照附图更详细地描述本技术的实施例。虽然附图中显示了本技术的某些实施例,然而应当理解的是,本技术可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本技术。应当理解的是,本技术的附图及实施例仅用于示例性作用,并非用于限制本技术的保护范围。
20.应当理解,本技术的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本技术的范围在此方面不受限制。
21.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
22.需要注意,本技术中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
23.本技术实施例中,pcie主机到设备的中断发送方法,包括:pcie设备接收中断事务层数据包;判断所述中断事务层数据包与基地址寄存器中预留地址空间是否匹配;如所述中断事务层数据包与基地址寄存器中预留地址空间匹配,则将pcie主机中断请求确认信息发送给中断生成模块;中断生成模块根据所述中断请求确认信息生成通用中断请求发送给中断控制器;执行pcie主机的中断处理响应程序。
24.pcie主机与设备之间,或者pcie设备与设备之间,数据传输都是以 packet形式进行发送端的事务层到接收端的事务层的传输。根据上层(软件层或者应用层)请求(request)的类型、目的地址和其他相关属性,将这些请求打包,产生tlp(transaction layer packet,事务层数据包)。然后这些tlp往下,经历数据链路层、物理层,最终到达目标设备。
25.tlp主要由三部分组成:header、data和crc(可选)。tlp都是始于发送端的事务层(transaction layer),终于接收端的事务层。每个tlp都有一个header,跟人类一样,没有头就中止了生命,所以tlp可以没手没脚,但绝不能没有头。事务层根据上层请求内容,生成tlp header。header内容包括发送者的相关信息、目标地址(该tlp要发给谁)、tlp类型(诸如前面提到的memory read、 memory write之类的)、数据长度(如果有的话)等。
26.下面,将参考附图详细地说明本技术的实施例。
27.实施例1图1为根据本技术的pcie主机到设备的中断发送方法流程图,下面将参考图1,对本技术的pcie主机到设备的中断发送方法进行详细描述。
28.首先,在步骤101, pcie设备接收pcie主机发送的中断事务层数据包。
29.本技术实施例中,pcie主机发送的中断事务层数据包(transaction layer packet,tlp),为存储器写数据包(memory write packet),也可称为posted tlp(不要求回复的tlp)在步骤102,将中断事务层数据包与基地址寄存器相匹配。
30.本技术实施例中,pcie设备检测接收到的中断事务层数据包,判断是否为pcie主机发送的msi中断。
31.本技术实施例中,pcie设备将接收到的中断事务层数据包与基地址寄存器bar0 space中预留地址空间相匹配,如果中断事务层数据包与基地址寄存器bar0 space 中最后一段地址空间(特殊预留地址,大小可自定义),即认为收到的packet为pcie主机发送的msi中断。
32.本技术实施例中,pcie设备检测msi中断的逻辑如下:packet中地址位address field (addres[63:6])应该匹配所检测的bar0 保留区域(64byte大小);packet中数据位data field (data[5:0])解析为msi向量编号;packet中长度length必须为1。
[0033]
本技术实施例中,pcie设备一共有16个功能(function),每个function支持64个msi向量)。
[0034]
在步骤103,生成通用中断请求发送给中断控制器。
[0035]
本技术实施例中,当pcie设备判断接收到的中断事务层数据包为pcie主机发送的msi中断时,直接生成pcie设备的通用中断请求发送给中断控制器。
[0036]
在步骤104,执行中断处理响应程序。
[0037]
本技术实施例中,中断控制器根据通用中断请求,控制cpu直接执行pcie主机中断处理响应程序。
[0038]
本技术实施例中,在pcie设备控制器中加入硬件解析逻辑,检测发送到设备bar0空间的特殊空间memory write并且将检测到的中断信号以硬连接的方式直接通知中断控制器(比如pic,gic)模块。软件无需查询中断控制器内部状态寄存器,即可区分中断源头是外部pcie主机,还是设备soc内部模块,中断产生方式更高效,低延时。
[0039]
本技术只涉及pcie设备控制器(controller)的访问,从而避免了对主机端开放内部安全相关的模块(比如pic
ꢀ‑ꢀ
programmable interrupt controller)和内部总线(to pic)的访问权限,更安全可靠。
[0040]
本技术可以支持实现多个msi中断向量,而且msi中断向量数目几乎没有限制(比如2**16),msi中断向量数目灵活且可以配置。
[0041]
实施例2图2为根据本技术的pcie主机到设备的中断发送系统结构示意图,如图2所示,本技术的pcie主机到设备的中断发送系统,包括,pcie主机10,用于向pcie设备20发送中断事务层数据包。
[0042]
本技术实施例中,pcie主机发送的中断事务层数据包为不要求回复存储器写数据包。
[0043]
pcie设备20,用于检测接收的中断事务层数据包,当判断接收的中断事务层数据包为pcie主机10发送的中断事务层数据包时,生成pcie设备的通用中断请求,直接执行pcie主机中断处理响应程序。
[0044]
本技术实施例中,pcie设备20,包括:中断检测模块21,用于检测用于检测接收的中断事务层数据包,判断是否为pcie
主机发送的msi中断。
[0045]
本技术实施例中,中断检测模块21将接收到的中断事务层数据包与基地址寄存器bar0 space中预留地址空间相匹配,如果中断事务层数据包与基地址寄存器bar0 space 中最后一段地址空间(特殊预留地址,大小可自定义),即认为收到的packet为pcie主机发送的msi中断,将pcie主机中断请求确认信息发送给所述中断生成模块23。
[0046]
检测msi中断的逻辑如下:packet中地址位address field (addres[63:6])应该匹配所检测的bar0 保留区域(64byte大小);packet中数据位data field (data[5:0])解析为msi向量编号;packet中长度length必须为1。
[0047]
本技术实施例中,pcie设备包括但不限于16个功能(function),每个function支持64个msi向量),如图3所示。
[0048]
基地址寄存器22,用于为匹配所述中断事务层数据包提供预留地址空间。
[0049]
本技术实施例中,基地址寄存器22为pcie设备的bar0寄存器,其预留的地址空间为最后一段地址空间(特殊预留地址,大小可自定义)。
[0050]
中断生成模块23,用于生成pcie设备的通用中断请求。
[0051]
本技术实施例中,中断生成模块23在接收到中断检测模块21发送的pcie主机中断请求确认信息时,生成pcie设备的通用中断请求发送给中断控制器24。
[0052]
本技术实施例中,中断生成模块23还将接收的通用中断模块25发送的pcie设备内部模块的中断请求转发给中断控制器24。
[0053]
中断控制器24,用于控制cpu执行中断处理响应程序。
[0054]
本技术实施例中,中断控制器24接收到中断生成模块23发送的通用中断请求后,控制cpu26直接执行中断处理响应程序。
[0055]
本技术实施例中,通用中断请求中包含有中断以及中断向量编号。
[0056]
pcie主机到设备的中断发送系统,在pcie设备中增加中断解析硬件逻辑并且直接产生中断给中断控制器。软件收到相应的中断以及中断向量编号后,直接进入pcie主机的中断处理响应程序。
[0057]
pcie 主机只需要权限访问pcie设备的控制器内的bar0空间即可。pcie设备soc避免了向开发内部核心总线,核心安全模块,避免了潜在的安全威胁。
[0058]
可以支持实现多个msi中断向量,而且msi中断向量数目几乎没有限制(比如65536个)。msi中断向量数目灵活且可以配置。
[0059]
实施例3本技术的一个实施例中,还提供一种系统芯片,包括上述实施例中pcie主机到设备的中断发送系统,实现pcie主机向设备的中断发送机制。
[0060]
实施例4本技术的实施例中,还提供了还提供了一种电子设备,图4为根据本技术实施例的电子设备结构示意图,如图4所示,本技术的电子设备,包括处理器401,以及存储器402,其中,处理器401采用如上所述实施例的车载芯片。
[0061]
存储器402存储有计算机程序,计算机程序在被处理器401读取执行时,执行如上所述的pcie主机到设备的中断发送方法实施例中的步骤。
[0062]
实施例5本技术的实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行如上所述的pcie主机到设备的中断发送方法实施例中的步骤。
[0063]
需要说明的是,本技术上述的存储介质(计算机可读介质)可以是计算机可读信号介质或者非暂时性计算机可读存储介质或者是上述两者的任意组合。非暂时性计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。非暂时性计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0064]
在本技术的实施例中,非暂时性计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是非暂时性计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等,或者上述的任意合适的组合。
[0065]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0066]
可以以一种或多种程序设计语言或其组合来编写用于执行本技术的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言,诸如java、smalltalk、c ,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。
[0067]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0068]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
[0069]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等。
[0070]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本技术的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0071]
本领域普通技术人员可以理解:以上所述仅为本技术的优选实施例而已,并不用于限制本技术,尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献