CN110209473A - 中断处理设备、云服务器、中断处理方法及业务处理方法 - Google Patents
中断处理设备、云服务器、中断处理方法及业务处理方法 Download PDFInfo
- Publication number
- CN110209473A CN110209473A CN201810327496.1A CN201810327496A CN110209473A CN 110209473 A CN110209473 A CN 110209473A CN 201810327496 A CN201810327496 A CN 201810327496A CN 110209473 A CN110209473 A CN 110209473A
- Authority
- CN
- China
- Prior art keywords
- functional hardware
- interrupt
- business
- hardware
- data
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bus Control (AREA)
Abstract
本发明实施例提供一种中断处理设备、云服务器、中断处理方法及业务处理方法,该中断处理设备包括:第一中断执行器,及,为第一业务配置的多个顺序执行的第一功能硬件;其中,上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件;所述第一中断执行器被配置为:接收任一第一功能硬件输出的中断请求,若输出中断请求的第一功能硬件不为最后执行的第一功能硬件,执行如下第一操作:发送中断响应给输出中断请求的第一功能硬件,并将所述中断响应作为启动信号发送给下一执行的第一功能硬件。本发明实施例可提高中断处理效率,为满足业务的实时性要求提供可能。
Description
技术领域
本发明涉及云服务技术领域,具体涉及一种中断处理设备、云服务器、中断处理方法及业务处理方法。
背景技术
随着云服务的发展,用户可基于云服务,为业务进行实现功能的硬件和软件设计,例如FPGA(Field Programmable Gate Array,现场可编程阵列)云服务器可支持用户为业务的自定义功能设计;在使用这类云服务时,用户可在云服务器上为业务定义需要实现的不同功能,云服务器将这些不同的功能进行硬件化,配置出不同功能相应的功能硬件,从而借助云服务器的性能优势,达到业务执行的硬件加速。
在业务执行过程中,为提升多个功能硬件之间的运行效率,在云服务器中应用中断机制尤为关键;目前,在多个功能硬件的场景下,如果某一功能硬件执行完成并输出中断请求,则云服务器进入中断处理流程,通过对中断请求执行硬件中断处理和软件中断处理后,向输出中断请求的功能硬件发送中断响应,转而执行下一功能硬件。这个过程中,云服务器处理中断请求的过程称为是中断处理过程。
可以看出,目前在多个功能硬件的场景下,任一功能硬件的中断请求均需经过硬件中断处理和软件中断处理,才能得到中断响应;对于需要多个顺序执行的功能硬件协同完成的业务而言,目前的中断处理方式至少存在如下问题:中断处理效率较低,业务执行时间被拖长,无法满足实时性要求较高的业务。
发明内容
有鉴于此,本发明实施例提供一种中断处理设备、云服务器、中断处理方法及业务处理方法,以提高中断处理效率,为满足业务的实时性要求提供可能。
为实现上述目的,本发明实施例提供如下技术方案:
一种中断处理设备,包括:第一中断执行器,及,为第一业务配置的多个顺序执行的第一功能硬件;其中,上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件;
所述第一中断执行器被配置为:接收任一第一功能硬件输出的中断请求,若输出中断请求的第一功能硬件不为最后执行的第一功能硬件,执行如下第一操作:
发送中断响应给输出中断请求的第一功能硬件,并将所述中断响应作为启动信号发送给下一执行的第一功能硬件。
本发明实施例还提供一种云服务器,包括:上述所述的中断处理设备,及与所述中断处理设备连接的主机。
本发明实施例还提供一种中断处理方法,包括:
在第一业务的执行过程中,获取第一业务的任一第一功能硬件输出的中断请求;所述第一业务的执行依赖多个顺序执行的第一功能硬件,且上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件;
若输出中断请求的第一功能硬件不为最后执行的第一功能硬件,发送中断响应给输出中断请求的第一功能硬件,并将所述中断响应作为启动信号发送给下一执行的功能硬件。
本发明实施例还提供一种业务处理方法,包括:
获取数据处理请求,所述数据处理请求指示以第一业务处理待处理数据;所述第一业务对应有多个顺序执行的第一功能硬件;
将所述待处理数据传递给第一个执行的第一功能硬件,以由第一个执行的第一功能硬件开始,递进的对所述待处理数据进行处理,直至最后执行的第一功能硬件执行完成;其中,上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件;
读取所述最后执行的第一功能硬件的数据处理结果,得到所述待处理数据的处理结果;
发送所述待处理数据的处理结果;
其中,在任一第一功能硬件输出中断请求时,以上述所述的中断处理方法进行中断处理。
基于上述技术方案,本发明实施例通过设置第一业务上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件,并设置第一中断执行器进行第一功能硬件的中断请求的处理;第一中断执行器被配置为:接收任一第一功能硬件输出的中断请求,若输出中断请求的第一功能硬件不为最后执行的第一功能硬件,执行第一操作;第一操作包括:发送中断响应给输出中断请求的第一功能硬件,并将所述中断响应作为启动信号发送给下一执行的第一功能硬件。
可见,本发明实施例可使得第一业务的非最后执行的第一功能硬件的中断处理被极速的响应,提升了中断处理效率;并且通过设置第一业务上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件,实现了第一业务执行过程中数据的高效传递,减小了第一业务的执行耗时。本发明实施例可提高中断处理效率,为满足业务的实时性要求提供可能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的云服务器的架构图;
图2为传统的中断处理方式的示意图;
图3为本发明实施例的中断处理过程的示意图;
图4为本发明实施例的中断处理过程的另一示意图;
图5为第一功能硬件与第一中断执行器的连接示意图;
图6为本发明实施例提供的第一中断执行器的结构示意图;
图7为本发明实施例提供的第一中断执行器的另一结构示意图;
图8为本发明实施例提供的云服务器的另一架构图;
图9为本发明实施例提供的第一中断执行器的再一结构示意图;
图10为本发明实施例提供的云服务器的再一架构图;
图11为本发明实施例提供的云服务器的又一架构图;
图12为本发明实施例提供的中断处理方法的示意图;
图13为传统的中断处理方法的示意图;
图14为本发明实施例提供的业务处理流程的示意图;
图15为本发明实施例提供的业务处理流程的另一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的中断处理方法,可适用于第一业务,第一业务为依赖多个顺序执行的功能硬件的业务;通过改进中断处理流程,对第一业务的非最后执行的功能硬件输出的中断请求,不进行硬件中断处理和软件中断处理,而进行极速的中断响应,从而提高第一业务执行过程中的中断处理效率,为满足第一业务的实时性要求提供可能。
此处所述的第一业务是指,第一业务的执行依赖在云服务器中配置的多个顺序执行的功能硬件,即通过为第一业务配置多个顺序执行的功能硬件,从而通过多个顺序执行的功能硬件的执行,实现第一业务的执行;为便于描述,本发明实施例可称为第一业务配置的功能硬件为第一功能硬件;
即本发明实施例可为第一业务配置多个顺序执行的第一功能硬件,当各第一功能硬件顺序执行完成后,第一业务执行完成;例如针对视频转码业务,云服务器可配置视频解码第一功能硬件和视频编码第一功能硬件,在执行视频转码业务时,待转码视频数据经视频解码第一功能硬件解码后,得到原始视频码流,原始视频码流经视频编码第一功能硬件完成特定格式的编码,完成视频转码业务。
为实现本发明实施例,针对第一业务的执行,本发明实施例提供一种新型架构的云服务器来进行中断处理,如图1所示,云服务器可以包括:中断处理设备10和主机20;可选的,中断处理设备10可选用云服务设备实现,相应的,云服务器可以包括:云服务设备与主机;可选的,云服务设备可通过板卡形式存在,并连接主机;
在本发明实施例中,中断处理设备10可以包括:功能区11,第一中断执行器12和硬核13;
其中,针对第一业务,功能区11中部署有为第一业务配置的多个顺序执行的第一功能硬件,如第一功能硬件1至N,N可根据第一业务需要的功能数量配置,但不大于中断处理设备10所能支持的最大并发中断数;
可选的,硬核13可以选用PCIe(peripheral component interconnect express)硬核,中断处理设备10可通过硬核13与主机20间通过PCIe总线等进行通信。
在传统的中断处理方式中,如图2所示示意,第一业务执行过程中,第一业务的任一第一功能硬件输出的中断请求均需要发送至主机进行硬件中断处理和软件中断处理,从而主机才能发送中断响应给输出中断请求的第一功能硬件,并读取输出中断请求的第一功能硬件的数据处理结果;从而向下一执行的功能硬件发送启动信号及该数据处理结果,使得下一执行的功能硬件基于该数据处理结果进行处理;以此推类,直至第一业务的最后执行的第一功能硬件执行完成;
可以看出,传统的中断处理方式,任一功能硬件的中断请求均需要经过硬件中断处理和软件中断处理,才能得到中断响应,中断处理效率极低,尤其不适用于多个顺序执行的功能硬件相应的业务。
本发明的发明人在研究过程中发现:对于第一业务而言,其上一执行的第一功能硬件与下一执行的第一功能硬件是相关联的,即下一执行的第一功能硬件是在上一执行的第一功能硬件的数据处理结果的基础上进行执行;例如对于视频转码业务而言,视频编码第一功能硬件是在视频解码第一功能硬件输出的原始视频码流的基础上,进行特定格式的编码;
因此,对于第一业务而言,非最后执行的第一功能硬件输出的中断请求经过主机的硬件中断处理和软件中断处理是极为低效的,将导致中断处理的效率极大的降低;同时,非最后执行的第一功能硬件的数据处理结果经主机读取后,再传递给下一执行的第一功能硬件也是极为低效的,存在业务处理上的极大耗时;
而第一业务最后执行的第一功能硬件,作为输出第一业务的业务结果的功能硬件,第一业务的业务结果往往需要与外部进行交互,因此可设置最后执行的第一功能硬件的中断请求和数据处理结果,以传统方式进行。
基于上述发明人的发现,作为一种可选实现,针对第一业务,本发明实施例通过设置第一中断执行器12处理任一第一功能硬件输出的中断请求;对于不为最后执行的第一功能硬件输出的中断请求,第一中断执行器可极速的进行响应,发送中断响应给输出中断请求的第一功能硬件,并将中断响应作为启动信号发送给下一执行的第一功能硬件,以提升第一业务执行过程中,中断处理的效率;
同时,针对第一业务最后执行的第一功能硬件输出的中断请求,第一中断执行器可将中断请求发送给主机进行硬件中断处理和软件中断处理,将主机发送的中断响应传递给最后执行的第一功能硬件;同时,主机可读取最后执行的第一功能硬件的数据处理结果,得到第一业务的业务结果。
可选的,本发明实施例中的中断处理设备也可支持不是云场景下的中断请求处理,上述应用框架仅是可选的。
以图1所示架构为例,在对第一业务非最后执行的第一功能硬件的中断请求进行极速响应的一种可选实现可以是:第一中断执行器可以接收任一第一功能硬件输出的中断请求,在输出中断请求的第一功能硬件不为最后执行的第一功能硬件时,将寄存的中断请求作为中断响应,发送中断响应给输出中断请求的第一功能硬件,并将中断响应作为启动信号发送给下一执行的第一功能硬件,从而实现对第一业务非最后执行的第一功能硬件的中断请求的极速响应;
显然,对于第一业务非最后执行的第一功能硬件,将寄存中断请求的结果作为中断响应,仅是极速响应中断请求的一种可选实现;对于第一业务非最后执行的第一功能硬件,本发明实施例也可直接将第一中断执行器获取的中断请求作为中断响应。
设第一业务对应有顺序执行的N个第一功能硬件,图3示出了适用于对第一功能硬件1至第一功能硬件N-1输出的中断请求的一种可选的极速响应流程,参照图3,该过程可以包括:
步骤S10、第一业务非最后执行的任一第一功能硬件执行完成后,向第一中断执行器输出中断请求。
第一业务可以是用户在云服务器上定义的需要顺序执行的多个功能实现的业务,例如依赖视频解码和视频编码的视频转码业务等;针对用户为第一业务定义的顺序执行的多个功能,云服务器可在中断处理设备(如云服务设备)的功能区中配置实现各功能的第一功能硬件,并配置各第一功能硬件顺序执行(即可配置第一业务相应的多个顺序执行的第一功能硬件),以在各第一功能硬件顺序执行完毕后,完成第一业务;
在第一业务执行时,中断处理设备的功能区中第一业务相应的第一功能硬件可顺序执行,并且下一执行的第一功能硬件依赖上一执行的第一功能硬件的数据处理结果;
第一业务相应的任一第一功能硬件执行完成时,第一功能硬件(即该执行完成功能的第一功能硬件)均可向第一中断执行器输出中断请求;步骤S10特指非最后执行的任一第一功能硬件执行完成后,向第一中断执行器输出中断请求,如图3所示的第一功能硬件1至第一功能硬件N-1中的任一个执行完成后,可向第一中断执行器输出中断请求。
S11、第一中断执行器寄存所接收的中断请求。
S12、第一中断执行器将寄存后的中断请求作为中断响应发送给输出中断请求的第一功能硬件,并将所述中断响应作为启动信号发送给下一执行的第一功能硬件。
进一步,在本发明实施例中,由于第一业务非最后执行的第一功能硬件输出的中断请求不再经过硬件中断处理和软件中断处理,而是由第一中断执行器寄存中断请求后,将寄存后的中断请求作为输出中断请求的第一功能硬件的中断响应,及下一执行的第一功能硬件的启动信号;因此第一功能硬件间的数据处理结果的传递可不再依赖主机实现,即可不再依赖主机读取上一执行的第一功能硬件的数据处理结果后,由主机再传递给下一执行的第一功能硬件;
基于此,本发明实施例可设置第一业务中上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件,如通过通信线实现上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件;值得注意的是,对于第一功能硬件1至第一功能硬件N-1而言,各第一功能硬件均存在下一执行的第一功能硬件,而第一功能硬件N的下一执行的第一功能硬件可视为不存在,对于第一功能硬件的中断请求的处理可以传统方式进行。
可以看出,对于功能硬件间存在执行顺序关联的第一业务,本发明实施例所设置的第一中断执行器在处理第一业务非最后执行的第一功能硬件的中断请求时,可寄存所接收的中断请求,将寄存后的中断请求作为中断响应发送给输出中断请求的第一功能硬件,并将所述中断响应作为启动信号发送给下一执行的第一功能硬件,从而实现中断请求的极速处理,提高中断处理效率,降低第一业务的执行时延;
并且通过设置第一业务上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件,免去主机读取非最后执行的第一功能硬件的数据处理结果,及将数据处理结果传递给下一执行的第一功能硬件的过程,可极大的降低第一业务的执行时延,提升第一业务执行的实时性。
这里需要说明的是,对第一业务任一第一功能硬件输出的中断请求进行寄存,从而在输出中断请求的第一功能硬件不为最后执行的第一功能硬件时,将寄存的中断请求作为中断响应,仅是本发明实施例极速响应第一业务非最后执行的第一功能硬件输出的中断请求的一种可选实现,本发明实施例并不排除其他极速响应方式;
如在输出中断请求的第一功能硬件不为最后执行的第一功能硬件时,直接将获取的中断请求作为中断响应;
又如第一中断执行器可内部生成中断响应,从而在输出中断请求的第一功能硬件不为最后执行的第一功能硬件时,生成中断响应信号,发送中断响应给输出中断请求的第一功能硬件,并将所述中断响应作为启动信号发送给下一执行的第一功能硬件。
为便于描述,下面以寄存中断请求的处理情况,进行下文方案的阐述。
以图1所示架构为例,在对第一业务最后执行的第一功能硬件的中断请求进行中断处理时,相应的中断处理过程可如图4所示,为便于示意,可设第一业务对应有顺序执行的N个第一功能硬件,图4可适用于对第一功能硬件N输出的中断请求的处理,参照图4,该过程可以包括:
S20、第一业务最后执行的第一功能硬件执行完成后,向第一中断执行器输出中断请求。
S21、第一中断执行器寄存所接收的中断请求。
S22、第一中断执行器将寄存后的中断请求传递给主机。
可选的,第一中断执行器可通过中断处理设备的硬核,将中断请求传递给主机;主机接收中断请求后,可进行硬件中断处理和软件中断处理,并反馈出中断响应;从而第一中断执行器可通过硬核接收主机反馈的中断响应。
进一步,主机接收中断请求后,可读取该最后执行的第一功能硬件的数据处理结果,得到第一业务的业务结果;主机与最后执行的第一功能硬件的数据通信,可通过中断处理设备内进行功能硬件和主机间的数据通信的通道实现。
S23、第一中断执行器接收所述主机对中断请求进行硬件中断处理和软件中断处理后发送的中断响应。
步骤S24、第一中断执行器将主机发送的中断响应发送给所述最后执行的第一功能硬件。
可以看出,在本发明实施例中,第一中断执行器可被配置为具有两种操作,可称为第一操作和第二操作;
第一中断执行器可接收第一业务的任一第一功能硬件输出的中断请求,在输出中断请求的第一功能硬件不为最后执行的第一功能硬件时,通过执行第一操作实现对非最后执行的第一功能硬件输出的中断请求的极速响应;第一操作可以为:发送中断响应给输出中断请求的第一功能硬件,并将所述中断响应作为启动信号发送给下一执行的第一功能硬件;
在输出中断请求的第一功能硬件为最后执行的第一功能硬件时,执行第二操作;第二操作可以为:将中断请求传递给所述主机,接收所述主机对中断请求进行硬件中断处理和软件中断处理后发送的中断响应,将主机发送的中断响应发送给所述最后执行的第一功能硬件。
作为一种可选实现,第一中断执行器可对接收的中断请求进行寄存,在输出中断请求的第一功能硬件不为最后执行的第一功能硬件时,将寄存的中断请求作为中断响应,实现对中断请求的极速响应;而在输出中断请求的第一功能硬件为最后执行的第一功能硬件时,可将寄存的中断请求传递给所述主机。
可以理解的是,第一中断执行器提升中断处理效率的关键主要在于,对非最后执行的第一功能硬件的中断请求的改进处理,因此第一中断执行器在输出中断请求的第一功能硬件不为最后执行的第一功能硬件时,所执行的第一操作对本发明实施例而言是必要的。
可选的,作为一种可选实现,在区分当前输出中断请求的第一功能硬件是否为最后执行的第一功能硬件方面,本发明实施例可通过输出中断请求的第一功能硬件连接中断接口的中断连接顺序实现;
可选的,第一中断执行器与各第一功能硬件可分别通过中断接口连接,且各第一功能硬件连接中断接口的中断连接顺序,与各功能硬件的执行顺序相应;如此,则可通过第一功能硬件的中断连接顺序来区分第一功能硬件是否为最后执行的第一功能硬件;
如图5所示,对于第一业务多个顺序执行的第一功能硬件而言(设功能硬件1至功能硬件N顺序执行),第一功能硬件1连接中断接口的中断连接顺序可以是第一连接顺序,第一功能硬件2连接中断接口的中断连接顺序可以是第二接入顺序,以此类推,第一功能硬件N(最后执行的第一功能硬件)连接中断接口的中断连接顺序可以是第N连接顺序;
从而第一中断执行器接收中断请求后,若输出中断请求的第一功能硬件的中断连接顺序不为最后的中断连接顺序,则可选择第一执行状态,执行第一操作;若输出中断请求的第一功能硬件的中断连接顺序为最后的中断连接顺序,则可选择第二执行状态,执行第二操作;实现第一中断执行器对非最后执行的第一功能硬件和最后执行的第一功能硬件输出的中断请求的区分处理。
上述描述的第一中断执行器针对第一功能硬件输出的中断请求,所进行的处理可以通过软件结合硬件方式实现,也可通过硬件方式实现。对于软件结合硬件方式的实现,主要是选用具有编程能力的硬件(如控制器等)作为第一中断执行器,编程第一中断执行器的操作相应的功能程序实现,程序逻辑实现与第一中断执行器的操作过程相应,本发明实施例不作进一步深入描述。
作为硬件实现的一种可选方式,图6示出了第一中断执行器的一种可选结构;参照图6,对于第一业务所对应的N个第一功能硬件,第一中断执行器12可以包括:N组执行组件01;一组执行组件可对应接收并处理一个第一功能硬件输出的中断请求;如第一组执行组件可对应接收并处理第一功能硬件1输出的中断请求,第二组执行组件可对应接收并处理第一功能硬件2输出的中断请求,以此类推;
即在本发明实施例中第一中断执行器可以包括:多组执行组件;所述多组执行组件的数量与所述第一功能硬件的数量相应,且一组执行组件接收并处理所对应的一个第一功能硬件输出的中断请求。
在本发明实施例中,执行组件可具有两种数据通道,称为第一数据通道和第二数据通道;第一数据通道(如图6加粗实线所示)可以包括:执行组件的内部通道,及与所对应的第一功能硬件和下一执行的第一功能硬件连接的通道;第二数据通道(如图6虚线所示)可以包括:执行组件与主机的通道,及与所对应的第一功能硬件和下一执行的第一功能硬件连接的通道;可选的,第一数据通道中的与所对应的第一功能硬件和下一执行的第一功能硬件连接的通道,及,第二数据通道中的与所对应的第一功能硬件和下一执行的第一功能硬件连接的通道可重合;图6中带斜线的线条表示此时不使用该通道。
执行组件在接收所对应的第一功能硬件输出的中断请求后,可寄存所接收的中断请求;若执行组件所对应的第一功能硬件不为最后执行的第一功能硬件,可选择第一数据通道,执行所述第一操作(将寄存后的中断请求作为中断响应发送给所对应的第一功能硬件,并将所述中断响应作为启动信号发送给下一执行的第一功能硬件);
而若执行组件所对应的第一功能硬件为最后执行的第一功能硬件,可选择第二数据通道,执行所述第二操作(将寄存后的中断请求传递给所述主机,接收所述主机对中断请求进行硬件中断处理和软件中断处理后发送的中断响应,将主机发送的中断响应发送给所述最后执行的第一功能硬件)。
可以理解的是,执行组件主要实现寄存中断请求,及基于所对应的第一功能硬件是否为最后执行的第一功能硬件,选择第一数据通道执行第一操作,还是选择第二数据通道执行第二操作;因此执行组件的内部结构可以由具有寄存能力的器件,以及数据通道选择能力的器件实现,至于执行组件内部具体的器件数量和类型,本发明实施例可不作严格限制。
可选的,作为执行组件内部结构的一种可选示意,图7示出中断执行器的另一可选结构,结合图6和图7所示,各组执行组件均可包括:触发器011和选择器012;
一执行组件的触发器011可与所对应的第一功能硬件连接,并被配置为:接收所对应的第一功能硬件输出的中断请求,寄存所接收的中断请求;可选的,触发器可选用D触发器实现,优选使用两级D触发器;两级D触发器可对所接收的中断请求进行两级寄存;
一执行组件的选择器012可分别与该执行组件的触发器、主机、所对应的第一功能硬件和下一执行的第一功能硬件连接,并具有第一数据通道和第二数据通道;选择器012与主机的连接可通过硬核实现;
选择器可被配置为:接收所连接的触发器寄存后的中断请求;若所对应的第一功能硬件不为最后执行的第一功能硬件,选择第一数据通道,执行所述第一操作;若所对应的第一功能硬件为最后执行的第一功能硬件,选择第二数据通道,执行所述第二操作。
可见,图7所示结构是通过在各执行组件内设置具有寄存能力的触发器,及数据通道选择能力的选择器,实现了针对第一业务非最后执行的第一功能硬件和最后执行的第一功能硬件输出的中断请求的不同处理。但图7所示结构仅是执行组件的一种可选结构示例,在实现执行组件寄存能力和数据通道选择能力的基础上,本发明实施例并不排除选用其他结构的执行组件。
可选的,选择器可基于外部数据的控制,进行第一数据通道还是第二数据通道的选择;如在执行组件所对应的第一功能硬件不为最后执行的第一功能硬件时,选择器可基于一外部数据选择第一数据通道,执行所述第一操作,在执行组件所对应的第一功能硬件为最后执行的第一功能硬件时,选择器可基于另一外部数据选择第二数据通道,执行所述第二操作;
作为一种可选实现,图8示出了云服务器的另一可选架构,参照图8,对于第一业务所对应的N个第一功能硬件,中断处理设备中可增设N个第一寄存器14,一个第一寄存器对应记录一个第一功能硬件的选择标识,且各组执行组件的选择器与所对应的第一功能硬件的第一寄存器连接;
如第一个第一寄存器对应记录第一功能硬件1的选择标识,第一组执行组件的选择器与第一个第一寄存器连接;第二个第一寄存器对应记录第一功能硬件2的选择标识,第二组执行组件的选择器与第二个第一寄存器连接,以此类推;
在本发明实施例中,可设置非最后执行的第一功能硬件的选择标识为第一标识(如字符串1),最后执行的第一功能硬件的选择标识为第二标识(如字符串0),从而第一个至第N-1个第一寄存器可记录第一标识,第N个第一寄存器可记录第二标识,第一标识与第二标识的具体取值可根据实际情况定义,主要保证第一标识和第二标识不同即可;
对于任一执行组件而言,当执行组件的触发器寄存所接收的中断请求后,执行组件的选择器可从所连接的第一寄存器读取,执行组件所对应的第一功能硬件的选择标识;可以看出,对于第一个执行至第N-1个执行的第一功能硬件而言,所对应的执行组件的选择器读取的选择标识为第一标识(即输出中断请求的第一功能硬件不为最后执行的第一功能硬件),此时,选择器可选择第一数据通道,执行第一操作;而对于最后执行的第一功能硬件,所对应的执行组件的选择器读取的选择标识为第二标识(即输出中断请求的第一功能硬件为最后执行的第一功能硬件),此时,选择器可选择第二数据通道,执行第二操作;
如第一个执行的第一功能硬件输出中断请求,则第一组执行组件的触发器寄存所接收的中断请求后,选择器可从所连接的第一个第一寄存器读取到第一标识,选择第一数据通道,执行第一操作;以此类推,在最后执行的第二功能硬件输出中断请求时,最后一组执行组件的触发器寄存所接收的中断请求后,选择器可从所连接的最后一个第一寄存器读取到第二标识,选择第二数据通道,执行第二操作;
即在本发明实施例中,选择器可具体被配置为:从所连接的第一寄存器读取所对应的第一功能硬件的选择标识;若读取的选择标识为第一标识,选择所述第一数据通道,执行所述第一操作;若所读取的选择标识为第二标识,选择所述第二数据通道,执行所述第二操作。
作为选择器实现不同数据通道选择的一种可选实现,选择器可使用数据解复用器(DEMUX)和数据选择器(MUX)实现;相应的,图9示出了第一中断执行器的再一可选结构,结合图8和图9所示,各执行组件的选择器012可包括:数据解复用器0121及第一数据选择器0122;其中,一执行组件的数据解复用器与该执行组件的触发器连接,且一执行组件的数据解复用器和第一数据选择器分别与所对应的第一功能硬件的第一寄存器连接,可分别从所连接的第一寄存器读取选择标识;
如第一组执行组件的数据解复用器与第一数据选择器,可分别与第一个第一寄存器连接,第二组执行组件的数据解复用器与第一数据选择器,可分别与第二个第一寄存器连接,以此类推,最后一组执行组件的数据解复用器与第一数据选择器,可分别与最后一个第一寄存器连接;
在图9所示结构中,执行组件在所对应的第一功能硬件不为最后执行的第一功能硬件时,可通过数据解复用器与所述第一数据选择器间的第一通道,及第一数据选择器与所对应的第一功能硬件和下一执行的第一功能硬件间的第二通道,实现寄存后的中断请求向第一功能硬件的反馈;即上述所述的第一数据通道可以包括:第一通道和第二通道;
而在执行组件所对应的第一功能硬件为最后执行的第一功能硬件时,可通过数据解复用器与主机通信的第三通道,第一数据选择器与主机通信的第四通道及所述第二通道,实现寄存后的中断请求至主机的传递及主机发送的中断响应至第一功能硬件的传递。
具体的,对于第一至第N-1组的执行组件而言,当执行组件的触发器寄存所接收的中断请求后,数据解复用器可从连接的第一寄存器读取第一标识,选择第一通道将寄存后的中断请求传递给第一数据选择器;第一数据选择器从所连接的第一寄存器读取第一标识,选择第一通道获取寄存后的中断请求,通过第二通道将寄存后的中断请求作为中断响应发送给所对应的第一功能硬件,及将所述中断响应作为启动信号发送给下一执行的功能硬件;
而对于第N组执行组件而言,当执行组件的触发器寄存所接收的中断请求后,数据解复用器可从连接的第一寄存器读取第二标识,选择第三通道将寄存后的中断请求传递给所述主机;第一数据选择器从所连接的第一寄存器读取第二标识,通过第四通道获取所述主机发送的中断响应,通过第二通道将主机发送的中断响应发送给所对应的第一功能硬件(在第N组执行组件下,所述第二通道视为不与下一执行的第一功能硬件连接)。
即在本发明实施例中,任一执行组件的数据解复用器具体可被配置为:从所连接第一寄存器读取所对应的第一功能硬件的选择标识;若读取的选择标识为第一标识,选择第一通道将寄存后的中断请求传递给第一数据选择器;若读取的选择标识为第二标识,选择第三通道将寄存后的中断请求传递给所述主机;
任一执行组件的第一数据选择器具体可被配置为:从所连接第一寄存器读取所对应的第一功能硬件的选择标识;若读取的选择标识为第一标识,选择第一通道获取寄存后的中断请求,通过第二通道将寄存后的中断请求作为中断响应发送给所对应的第一功能硬件,及将所述中断响应作为启动信号发送给下一执行的功能硬件;
若读取的选择标识为第二标识,通过第四通道获取所述主机发送的中断响应,通过第二通道将主机发送的中断响应发送给所对应的第一功能硬件。
作为一种优选实现,图10示出了云服务器的再一可选架构,参照图10,云服务器可以包括:中断处理设备10和主机20;
中断处理设备10可以包括:
功能区11,功能区11中设置有为第一业务配置的顺序执行的第一功能硬件1至第一功能硬件N;
N个第一寄存器,其中,第一至第N-1个第一寄存器分别记录有字符串1(第一至第N-1个第一寄存器分别记录,第一功能硬件1至N-1的选择标识的可选实现),第N个第一寄存器记录有字符串0(第N个第一寄存器记录第一功能硬件N的选择标识的可选实现);
N组执行组件;其中,各组执行组件均包括:两级D触发器011,数据解复用器0121及第一数据选择器0122;第一组的两级D触发器对应接收第一功能硬件1的中断请求(如第一组的两级D触发器通过中断接口连接第一功能硬件1),第一组的数据解复用器和第一数据选择器分别与第一个第一寄存器连接,且第一组的第一数据选择器与第一功能硬件1和下一执行的第一功能硬件2连接;以此类推,第N组的两级D触发器对应接收第一功能硬件N的中断请求,第N组的数据解复用器和第一数据选择器分别与第N个第一寄存器连接,且第N组的第一数据选择器与第一功能硬件N连接;
硬核13;
并且,第一功能硬件1至第一功能硬件N中,上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件。
在第一业务的执行过程中,第一功能硬件1至第一功能硬件N-1的中断处理是类似,此处以第一功能硬件1的中断处理进行示例说明;
如图10所示,第一功能硬件1执行完成后,第一功能硬件1的数据处理结果直传给第一功能硬件2,并向第一组执行组件的两级D触发器输出中断请求;第一组执行组件的两级D触发器对中断请求进行两级寄存后,传递给数据解复用器,数据解复用器从所连接的第一个第一寄存器读取到字符串1,将寄存后的中断请求传递给第一数据选择器;第一数据选择器所从连接的第一个第一寄存器读取到字符串1,从数据解复用器获取所传递的寄存后的中断请求,将寄存后的中断请求作为中断响应发送给第一功能硬件1,及将所述中断响应作为启动信号发送给下一执行的第一功能硬件2;从而第一功能硬件2开始执行,以此类推;
在第一功能硬件N执行完成后,第一功能硬件N向第N组执行组件的两级D触发器输出中断请求;第N组执行组件的两级D触发器对中断请求进行两级寄存后,传递给数据解复用器,数据解复用器从所连接的第N个第一寄存器读取到字符串0,将寄存后的中断请求通过硬核传递给主机;主机对中断请求进行硬件中断处理和软件中断处理后,通过硬核向第一数据选择器发送中断响应,并从第一功能硬件N读取数据处理结果;第一数据选择器从所连接的第N个第一寄存器读取到字符串0,通过硬核获取主机传递的中断响应,将中断响应传递给第一功能硬件N;
图10中带斜线的线条表示此时该通道不被选择。
本发明实施例主要是对云服务器的中断处理设备进行改进,通过设置第一业务上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件,并设置第一中断执行器进行第一功能硬件的中断请求的处理;第一中断执行器被配置为:接收任一第一功能硬件输出的中断请求,寄存所接收的中断请求,若输出中断请求的第一功能硬件不为最后执行的第一功能硬件,选择第一执行状态,执行第一操作;第一操作包括:将寄存后的中断请求作为中断响应发送给输出中断请求的第一功能硬件,并将所述中断响应作为启动信号发送给下一执行的第一功能硬件。从而使得第一业务的非最后执行的第一功能硬件的中断处理可被极速的响应,免去传统的硬件中断处理和软件中断处理,提升了中断处理效率;并且通过设置第一业务上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件,实现了第一业务执行过程中数据的高效传递,减小了第一业务的执行耗时。本发明实施例可提高中断处理效率,为满足业务的实时性要求提供可能。
作为一种产品实现,本发明实施例所提供的中断处理设备可以是FPGA(Field-Programmable Gate Array,现场可编程门阵列)云服务设备;本发明实施例所指的云服务器可以是FPGA云服务器,将FPGA云服务设备进行上述改进后,连接在主机上(FPGA云服务设备一般以板卡形式存在),可实现FPGA云服务器整体上对于中断处理过程的改进调整。当然,本发明实施例也可支持其他类型的支持用户定制业务功能的云服务器。
进一步,本发明实施例还可兼容第二业务的中断处理,即对于功能硬件间无执行顺序关联的第二业务,本发明实施例可使用传统的中断执行器进行中断处理;图11示出了云服务器的又一可选架构,参照图11云服务器可以包括:中断处理设备10和主机20;中断处理设备10可选用云服务设备实现;
中断处理设备10可以包括:功能区11,第一中断执行器12,硬核13,多个第一寄存器14,第二寄存器15,第二数据选择器16,第二中断执行器17。
其中,功能区11中部署有各业务实现相应的功能硬件;对于第一业务,功能区11部署有为第一业务配置的多个顺序执行的第一功能硬件;对于第二业务,功能区11部署有为第二业务配置的至少一个第二功能硬件(第二业务的功能硬件可称为第二功能硬件),在本发明实施例中,第二业务的各第二功能硬件之间不存在执行顺序依赖,且各第二功能硬件的数据处理结果,被与主机读取。
在本发明实施例中,第一中断执行器,第一寄存器的作用可参照前文相应部分描述,此处不再赘述。
为兼容第一业务的第一功能硬件的中断处理和第二业务的第二功能硬件的中断处理,本发明实施例增设了第二寄存器15,第二数据选择器16和第二中断执行器17。
可选的,第二寄存器15选用寄存器实现;基于当前执行的业务,主机20可向第二寄存器15配置业务的中断处理模式,由第二寄存器15寄存当前执行的业务的中断处理模式信息;在本发明实施例中,中断处理模式信息可分为第一中断处理模式信息(对应由第一中断执行器执行中断处理)和第二中断处理模式信息(对应由第二中断执行器执行中断处理);
更为具体的,第一中断处理模式可适用于第一业务,即在执行第一业务时,主机可向第二寄存器15配置第一业务的中断处理模式信息为第一中断处理模式信息,并由第一中断执行器处理第一业务相应的第一功能硬件的中断请求;
第二中断处理模式可适用于第二业务,即在执行第二业务时,主机可向第二寄存器15配置第二业务的中断处理模式信息为第二中断处理模式信息,并由第二中断执行器处理第二业务相应的第二功能硬件的中断请求;可选的,第二业务可以仅对应一个第二功能硬件,也可能对应多个第二功能硬件,但第二业务所对应的多个第二功能硬件间无执行顺序关联;
即第二寄存器可被配置为:在执行第一业务时,记录第一中断处理模式信息,在执行第二业务时,记录第二中断处理模式信息。
第二数据选择器16可基于第二寄存器15所寄存的中断处理模式信息,选择由第一中断执行器还是第二中断执行器进行中断请求的处理;具体的,在当前执行第一业务时,第二数据选择器16可基于第二寄存器15寄存的第一中断处理模式信息,选择第一中断执行器处理第一功能硬件输出的中断请求;在当前执行第二业务时,第二数据选择器16可基于第二寄存器15寄存的第二中断处理模式信息,选择第二中断执行器处理第二功能硬件输出的中断请求;
即第二数据选择器可被配置为:在执行第一业务时,根据所述第二寄存器记录的第一中断处理模式信息,选择第一中断执行器处理第一功能硬件的中断请求;在执行第二业务时,根据所述第二寄存器记录的第二中断处理模式信息,选择第二中断执行器处理第二功能硬件的中断请求。
第一中断执行器所进行的中断处理操作,本发明实施例不再赘述。
第二中断执行器可选用执行传统中断处理方式的器件实现,第一中断执行器与第二中断执行器均可通过硬核与主机通信;
第二中断执行器可被配置为:接收任一第二功能硬件输出的中断请求,将所接收的中断请求传递给所述主机,接收所述主机对中断请求进行硬件中断处理和软件中断处理后发送的中断响应,将主机发送的中断响应发送给输出中断请求的第二功能硬件。
图11所示云服务器可实现第一业务和第二业务的中断处理兼容,在保障传统第二业务的中断处理的情况下,提升第一业务的中断处理的效率,为满足第一业务的实时性要求提供可能。
上述介绍了本发明实施例进行中断处理改进的核心思想和可能的实现方式,可以看出,中断处理的改进主要是在中断处理设备实现的,将改进的中断处理设备与主机相配合,则可提升云服务器在第一业务执行过程中的中断处理效率。
基于云服务器的角度,本发明实施例进行中断处理的核心流程可以如图12所示,在此核心流程中,云服务器可通过上文介绍的内容进行中断处理的改进,提升第一业务的中断处理效率;
如图12所示,本发明实施例提供的中断处理方法可以包括:
S30、在第一业务的执行过程中,获取第一业务的任一第一功能硬件输出的中断请求。
其中,所述第一业务的执行依赖多个顺序执行的第一功能硬件,且上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件。
云服务器可通过为第一业务配置的多个顺序执行的第一功能硬件,实现第一业务的执行,在第一业务的执行过程中,任一第一功能硬件将在执行完成后输出中断请求;云服务器可获取任一第一功能硬件输出的中断请求。
S31、若输出中断请求的第一功能硬件不为最后执行的第一功能硬件,发送中断响应给输出中断请求的第一功能硬件,并将所述中断响应作为启动信号发送给下一执行的第一功能硬件。
可选的,可对所获取的任一第一功能硬件输出的中断请求进行寄存,在输出中断请求的第一功能硬件不为最后执行的第一功能硬件时,将寄存的中断请求作为中断响应。
作为一种可选实现,如果输出中断请求的第一功能硬件不为第一业务最后执行的第一功能硬件,则云服务器可通过如下方式进行中断处理:将寄存后的中断请求作为中断响应发送给输出中断请求的第一功能硬件,并将所述中断响应作为启动信号发送给下一执行的功能硬件。
S32、若输出中断请求的第一功能硬件为最后执行的第一功能硬件,将中断请求进行硬件中断处理和软件中断处理,得到中断响应,将所得到的中断响应发送给所述最后执行的第一功能硬件。
可选的,如果输出中断请求的第一功能硬件为第一业务最后执行的第一功能硬件,则云服务器可通过如下方式进行中断处理:将寄存后的中断请求进行硬件中断处理和软件中断处理,得到中断响应,将所得到的中断响应发送给所述最后执行的第一功能硬件。
可选的,云服务器执行S31、S32的方式可参照相应部分前文描述,可使用软件结合硬件实现,也可使用硬件实现。
可选的,在各第一功能硬件连接中断接口的中断连接顺序,与各功能硬件的执行顺序相应的情况,云服务器可基于输出中断请求的第一功能硬件的中断连接顺序,区分输出中断请求的第一功能硬件是否为最后执行的第一功能硬件;
可选的,若输出中断请求的第一功能硬件的中断连接顺序不为最后的中断连接顺序,则认为输出中断请求的第一功能硬件不为最后执行的第一功能硬件;若输出中断请求的第一功能硬件的中断连接顺序为最后的中断连接顺序,则认为输出中断请求的第一功能硬件为最后执行的第一功能硬件。
可选的,云服务器还可兼容第二业务的中断处理,并以传统方式进行第二业务的中断处理;图13示出了中断处理方法的另一过程,参照图13,该流程可以包括:
S40、在执行第二业务时,获取第二业务的任一第二功能硬件输出的中断请求;其中,各第二功能硬件之间不存在执行顺序依赖。
S41、将所获取的中断请求进行硬件中断处理和软件中断处理,得到中断响应,将所得到的中断响应发送给输出中断请求的第二功能硬件。
步骤S42、读取各第二功能硬件的数据处理结果,以得到所述第二业务的执行结果。
可选的,云服务器可在业务执行前,进行业务的中断处理模式的配置,从而在执行业务时,根据配置的中断处理模式选择图12或图13所示流程进行中断处理;
可选的,可为第一业务配置第一中断处理模式信息,从而在第一业务执行时,根据为第一业务配置的第一中断处理模式信息,选择第一中断处理模式;
为第二业务配置第二中断处理模式信息,从而在第二业务执行时,根据为第二业务配置的第二中断处理模式信息,选择第二中断处理模式。
将本发明实施例提供的中断处理方式,与传统的中断处理方式进行比对,可明显的看出本发明实施例提供的中断处理方式,在中断处理效率上得到了极大提升;假设第一业务存在4个顺序执行的第一功能硬件,中断处理设备的时钟频率是100Mhz,下表1中本发明实施例提供的中断处理方式的极速响应的处理时间是ns量级,远远小于传统的软件中断处理时间,软件中断处理时间至少是us量级;可见,本发明实施例提供的中断处理方式的处理时间约为传统方式的1/4。
表1
基于本发明实施例改进的中断处理方式,云服务器执行业务处理的过程可如图14所示,参照图14,该过程可以包括:
S50、客户端向云服务器发送数据处理请求。
在实际应用中,当用户需要基于云服务使用某一业务,用户可以进行云服务的使用注册,之后,通过任意客户端登录云服务平台,申请一个服务器来设计业务的硬件及软件,即利用云服务来搭建实现该业务的云服务器(该云服务器中为用户的业务配置有功能硬件,如对于第一业务,可基于用户的定义配置多个顺序执行的第一功能硬件)。
可见,利用云服务为用户的业务部署自定义的云服务器,用户无需关注服务基础设施,无需投入大量资金购置物理服务器,极大节省了芯片购买、硬件设计以及大规模部署所花费的时间和成本,且该云服务系统提供的硬件开发环境,降低了学习成本,简单易用,方便用户随时购买随时进行开发使用,为其他用户提供自己设计的业务服务。
在本发明实施例中,所述数据处理请求指示以第一业务处理待处理数据,所述第一业务对应有多个顺序执行的第一功能硬件。
在云服务器为第一业务配置了多个顺序执行的第一功能硬件的情况下,用户可使用云服务器提供的第一业务的服务,实现第一业务的处理;如云服务器可提供视频转码服务,并基于视频转码服务配置视频解码第一功能硬件,及视频编码的第一功能硬件,从而可使得用户以云服务方式使用视频转码服务;
用户可通过客户端向云服务器要求需要使用的业务,并在指定使用第一业务时,向云服务器发送数据处理请求;通过数据处理请求可指示使用第一业务需要处理的待处理数据,可选的,待处理数据可由客户端上传,也可通过指定待处理数据的网络存储路径实现。
相应的,云服务器可获取到客户端发送的数据处理请求。
S51、云服务器将待处理数据传递给第一个执行的第一功能硬件。
云服务器获取到数据处理请求后,可确定用户需要使用第一业务处理待处理数据;由于第一业务的执行依赖多个顺序执行的第一功能硬件,因此待处理数据从第一个执行的第一功能硬件开始,顺序执行到最后一个第一功能硬件时,待处理数据才认为是被第一业务处理完成;基于此,云服务器可将待处理数据传递给第一业务第一个执行的第一功能硬件。
从而由第一个执行的第一功能硬件开始,递进的对待处理数据进行处理(下一执行的第一功能硬件基于上一执行的第一功能硬件的数据处理结果进行处理),直至最后执行的第一功能硬件执行完成;这个过程中,上一执行的第一功能硬件的数据处理结果可直传给下一执行的第一功能硬件。
需要说明的是,在第一个执行的第一功能硬件至最后执行的第一功能硬件的执行过程中,第一功能硬件输出的中断请求可以按照上述所述的本发明实施例提供的中断处理方式进行中断处理;具体可通过前文描述内容进行参照,此处不再赘述。
S52、云服务器读取所述最后执行的第一功能硬件的数据处理结果,得到所述待处理数据的处理结果。
在最后执行的第一功能硬件执行完成后,云服务器可获取到相应的中断请求,读取最后执行的第一功能硬件的数据处理结果,得到所述待处理数据的处理结果,实现使用第一业务对待处理数据的处理。
S53、云服务器向客户端发送所述待处理数据的处理结果。
作为一种应用示例,本发明实施例可在FPGA云服务器应用本发明实施例提供的中断处理方式,实现视频转码业务的高效执行;
如图15所示,视频转码业务的过程可以包括:
S60、客户端向FPGA云服务器发送视频转码请求。
针对视频转码业务依赖顺序执行的视频解码和视频编码功能的情况,用户在FPGA云服务器上定制视频转码业务时,可为视频转码业务配置顺序执行的视频解码第一功能硬件,及视频编码第一功能硬件;从而在用户请求FPGA云服务器提供的视频转码业务服务时,可通过视频解码第一功能硬件,及视频编码第一功能硬件的顺序执行,实现对待转码视频的转码处理。
可选的,本发明实施例可称待转码视频为第一格式视频数据,用户可通过客户端向FPGA云服务器请求将第一格式视频数据转换为第二格式的视频数据,第二格式可由用户定义,也可是视频转码业务默认的转码后格式。
可选的,视频转码请求可以是请求将第一格式视频数据转码为第二格式视频数据;第一格式视频数据可在视频转码请求中进行指示,如可由客户端上传,或者指示第一格式视频数据的网络存储路径等。
S61、FPGA云服务器将第一格式视频数据传递给视频解码第一功能硬件。
视频转码业务依赖顺序执行的视频解码第一功能硬件和视频编码第一功能硬件,FPGA云服务器获取到待转码的第一格式视频数据后,可传递给视频解码第一功能硬件进行解码处理;
从而可由视频解码第一功能硬件对第一格式视频数据进行视频解码,得到原始视频码流,视频解码第一功能硬件可将原始视频码流直传给进行视频编码第一功能硬件;从而由视频编码第一功能硬件,按照第二格式,对原始视频码流进行编码,得到第二格式视频数据。
这个过程中,视频解码第一功能硬件输出的中断请求,和视频编码第一功能硬件输出的中断请求,可通过本发明实施例提供的中断处理方式进行处理。具体可通过前文描述内容进行参照。
S62、FPGA云服务器读取视频编码第一功能硬件得到的第二格式视频数据。
S63、FPGA云服务器将第二格式视频数据发送给客户端。
由于在第一业务的业务处理过程中,应用了本发明实施例提供的中断处理方式,对第一业务的第一功能硬件输出的中断请求进行中断处理,因此第一业务的执行过程中,中断处理效率得到提高,使得第一业务的执行耗时得以降低,提升了第一业务的处理效率,可提高第一业务的实时性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理芯片执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (19)
1.一种中断处理设备,其特征在于,包括:第一中断执行器,及,为第一业务配置的多个顺序执行的第一功能硬件;其中,上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件;
所述第一中断执行器被配置为:接收任一第一功能硬件输出的中断请求,若输出中断请求的第一功能硬件不为最后执行的第一功能硬件,执行如下第一操作:
发送中断响应给输出中断请求的第一功能硬件,并将所述中断响应作为启动信号发送给下一执行的第一功能硬件。
2.根据权利要求1所述的中断处理设备,其特征在于,所述第一业务最后执行的第一功能硬件的数据处理结果,被与所述中断处理设备连接的主机读取;
所述第一中断执行器还被配置为:若输出中断请求的第一功能硬件为最后执行的第一功能硬件,执行如下第二操作:
将中断请求传递给所述主机,接收所述主机对中断请求进行硬件中断处理和软件中断处理后发送的中断响应,将主机发送的中断响应发送给所述最后执行的第一功能硬件。
3.根据权利要求1或2所述的中断处理设备,其特征在于,所述第一中断执行器还被配置为:寄存所接收的中断请求;
所述第一中断执行器具体被配置为:若输出中断请求的第一功能硬件不为最后执行的第一功能硬件,将寄存的中断请求作为中断响应。
4.根据权利要求2所述的中断处理设备,其特征在于,所述第一中断执行器与各第一功能硬件分别通过中断接口连接,且各第一功能硬件连接中断接口的中断连接顺序,与各第一功能硬件的执行顺序相应;
所述第一中断执行器具体被配置为:
若输出中断请求的第一功能硬件的中断连接顺序不为最后的中断连接顺序,执行所述第一操作;
若输出中断请求的第一功能硬件的中断连接顺序为最后的中断连接顺序,执行所述第二操作。
5.根据权利要求3所述的中断处理设备,其特征在于,所述第一中断执行器包括:多组执行组件;所述多组执行组件的数量与所述第一功能硬件的数量相应,且一组执行组件接收并处理所对应的一个第一功能硬件输出的中断请求;
所述执行组件被配置为:接收所对应的第一功能硬件输出的中断请求,寄存所接收的中断请求;若所对应的第一功能硬件不为最后执行的第一功能硬件,选择第一数据通道,执行所述第一操作;若所对应的第一功能硬件为最后执行的第一功能硬件,选择第二数据通道,执行所述第二操作。
6.根据权利要求5所述的中断处理设备,其特征在于,各组执行组件均包括:与所对应的第一功能硬件连接的触发器,及,分别与所述触发器、主机、所对应的第一功能硬件和下一执行的第一功能硬件连接的选择器;
所述触发器被配置为:接收所对应的第一功能硬件输出的中断请求,寄存所接收的中断请求;
所述选择器被配置为:接收寄存后的中断请求;若所对应的第一功能硬件不为最后执行的第一功能硬件,选择第一数据通道,执行所述第一操作;若所对应的第一功能硬件为最后执行的第一功能硬件,选择第二数据通道,执行所述第二操作。
7.根据权利要求6所述的中断处理设备,其特征在于,所述触发器包括:两级D触发器;所述两级D触发器被配置为:接收所对应的第一功能硬件输出的中断请求,对所接收的中断请求进行两级寄存。
8.根据权利要求6所述的中断处理设备,其特征在于,还包括:多个第一寄存器;所述多个第一寄存器的数量与所述第一功能硬件的数量相应,且一个第一寄存器对应记录一个第一功能硬件的选择标识;其中,非最后执行的第一功能硬件的选择标识为第一标识,最后执行的第一功能硬件的选择标识为第二标识;
各组执行组件的选择器与所对应的第一功能硬件的第一寄存器相连接;
所述选择器具体被配置为:从所连接的第一寄存器读取所对应的第一功能硬件的选择标识;若读取的选择标识为第一标识,选择所述第一数据通道,执行所述第一操作;若所读取的选择标识为第二标识,选择所述第二数据通道,执行所述第二操作。
9.根据权利要求8所述的中断处理设备,其特征在于,所述选择器包括:数据解复用器及第一数据选择器;所述数据解复用器与所述选择器的触发器连接,所述数据解复用器及第一数据选择器,分别与所对应的第一功能硬件的第一寄存器相连接;
所述第一数据通道包括:所述数据解复用器与所述第一数据选择器间的第一通道,及所述第一数据选择器与所对应的第一功能硬件和下一执行的第一功能硬件间的第二通道;
所述第二数据通道包括:所述数据解复用器与所述主机通信的第三通道,所述第一数据选择器与所述主机通信的第四通道,及所述第二通道。
10.根据权利要求9所述的中断处理设备,其特征在于,所述数据解复用器具体被配置为:从所连接的第一寄存器读取所对应的第一功能硬件的选择标识;若读取的选择标识为第一标识,选择第一通道将寄存后的中断请求传递给第一数据选择器;若读取的选择标识为第二标识,选择第三通道将寄存后的中断请求传递给所述主机;
所述第一数据选择器具体被配置为:从所连接的第一寄存器读取所对应的第一功能硬件的选择标识;若读取的选择标识为第一标识,选择第一通道获取寄存后的中断请求,通过第二通道将寄存后的中断请求作为中断响应发送给所对应的第一功能硬件,及将所述中断响应作为启动信号发送给下一执行的第一功能硬件;
若读取的选择标识为第二标识,通过第四通道获取所述主机发送的中断响应,通过第二通道将主机发送的中断响应发送给所对应的第一功能硬件。
11.根据权利要求3所述的中断处理设备,其特征在于,还包括:硬核,第二中断执行器,第二数据选择器,第二寄存器,为第二业务配置的至少一个第二功能硬件;其中,各第二功能硬件之间不存在执行顺序依赖,且各第二功能硬件的数据处理结果,被与所述中断处理设备连接的主机读取;
所述第一中断执行器和所述第二中断执行器均通过所述硬核与所述主机通信;
所述第二寄存器被配置为:在执行第一业务时,记录第一中断处理模式信息,在执行第二业务时,记录第二中断处理模式信息;
所述第二数据选择器被配置为:在执行第一业务时,根据所述第二寄存器记录的第一中断处理模式信息,选择第一中断执行器处理第一功能硬件的中断请求;在执行第二业务时,根据所述第二寄存器记录的第二中断处理模式信息,选择第二中断执行器处理第二功能硬件的中断请求;
所述第二中断执行器被配置为:接收任一第二功能硬件输出的中断请求,将所接收的中断请求传递给所述主机,接收所述主机对中断请求进行硬件中断处理和软件中断处理后发送的中断响应,将主机发送的中断响应发送给输出中断请求的第二功能硬件。
12.一种云服务器,其特征在于,包括:权利要求1-11任一项所述的中断处理设备,及与所述中断处理设备连接的主机。
13.一种中断处理方法,其特征在于,包括:
在第一业务的执行过程中,获取第一业务的任一第一功能硬件输出的中断请求;所述第一业务的执行依赖多个顺序执行的第一功能硬件,且上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件;
若输出中断请求的第一功能硬件不为最后执行的第一功能硬件,发送中断响应给输出中断请求的第一功能硬件,并将所述中断响应作为启动信号发送给下一执行的功能硬件。
14.根据权利要求13所述的中断处理方法,其特征在于,还包括:
若输出中断请求的第一功能硬件为最后执行的第一功能硬件,进行硬件中断处理和软件中断处理,得到中断响应,将所得到的中断响应发送给所述最后执行的第一功能硬件。
15.根据权利要求13或14所述的中断处理方法,其特征在于,还包括:寄存所接收的中断请求;
其中,若输出中断请求的第一功能硬件不为最后执行的第一功能硬件,将寄存的中断请求作为中断响应。
16.根据权利要求13或14所述的中断处理方法,其特征在于,还包括:
在执行第二业务时,获取第二业务的任一第二功能硬件输出的中断请求;其中,各第二功能硬件之间不存在执行顺序依赖;
将所获取的中断请求进行硬件中断处理和软件中断处理,得到中断响应,将所得到的中断响应发送给输出中断请求的第二功能硬件;
读取各第二功能硬件的数据处理结果,以得到所述第二业务的执行结果。
17.根据权利要求16所述的中断处理方法,其特征在于,还包括:
在第一业务执行时,根据为第一业务配置的第一中断处理模式信息,选择第一中断处理模式;
在第二业务执行时,根据为第二业务配置的第二中断处理模式信息,选择第二中断处理模式。
18.一种业务处理方法,其特征在于,包括:
获取数据处理请求,所述数据处理请求指示以第一业务处理待处理数据;所述第一业务对应有多个顺序执行的第一功能硬件;
将所述待处理数据传递给第一个执行的第一功能硬件,以由第一个执行的第一功能硬件开始,递进的对所述待处理数据进行处理,直至最后执行的第一功能硬件执行完成;其中,上一执行的第一功能硬件的数据处理结果直传给下一执行的第一功能硬件;
读取所述最后执行的第一功能硬件的数据处理结果,得到所述待处理数据的处理结果;
发送所述待处理数据的处理结果;
其中,在任一第一功能硬件输出中断请求时,以权利要求13-17任一项所述的中断处理方法进行中断处理。
19.根据权利要求18所述的业务处理方法,其特征在于,所述第一业务为视频转码业务,所述第一业务对应有顺序执行的视频解码第一功能硬件,及视频编码第一功能硬件;
所述获取数据处理请求包括:
获取视频转码请求,所述视频转码请求用于请求将第一格式视频数据转码为第二格式视频数据;
所述将所述待处理数据传递给第一个执行的第一功能硬件包括:
将第一格式视频数据传递给视频解码第一功能硬件;
所述由第一个执行的第一功能硬件开始,递进的对所述待处理数据进行处理,直至最后执行的第一功能硬件执行完成包括:
由视频解码第一功能硬件对所述第一格式视频数据进行视频解码,得到原始视频码流,所述原始视频码流直传给进行视频编码的第一功能硬件;
由视频编码第一功能硬件,按照第二格式,对所述原始视频码流进行编码,得到第二格式视频数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810327496.1A CN110209473B (zh) | 2018-04-12 | 2018-04-12 | 中断处理设备、云服务器、中断处理方法及业务处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810327496.1A CN110209473B (zh) | 2018-04-12 | 2018-04-12 | 中断处理设备、云服务器、中断处理方法及业务处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110209473A true CN110209473A (zh) | 2019-09-06 |
CN110209473B CN110209473B (zh) | 2023-04-18 |
Family
ID=67779043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810327496.1A Active CN110209473B (zh) | 2018-04-12 | 2018-04-12 | 中断处理设备、云服务器、中断处理方法及业务处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110209473B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472841A (zh) * | 2021-05-13 | 2021-10-01 | 新华三技术有限公司合肥分公司 | 终止远程过程调用请求的实现方法及装置 |
CN113722064A (zh) * | 2021-08-20 | 2021-11-30 | 上海天数智芯半导体有限公司 | 一种基于信息牌模式的视频编解码多通道响应系统 |
WO2022095179A1 (zh) * | 2020-11-06 | 2022-05-12 | 辰芯科技有限公司 | 数据处理系统、方法、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4837674A (en) * | 1986-02-10 | 1989-06-06 | Nec Corporation | Circuit arrangement capable of quickly processing an interrupt in a virtual machine operated by a plurality of operating systems |
US6038661A (en) * | 1994-09-09 | 2000-03-14 | Hitachi, Ltd. | Single-chip data processor handling synchronous and asynchronous exceptions by branching from a first exception handler to a second exception handler |
CN1746873A (zh) * | 2004-09-10 | 2006-03-15 | 明基电通股份有限公司 | 减少对处理器中断次数的方法 |
CN104011684A (zh) * | 2011-12-22 | 2014-08-27 | 英特尔公司 | 具有内嵌中断服务功能的中断返回指令 |
-
2018
- 2018-04-12 CN CN201810327496.1A patent/CN110209473B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4837674A (en) * | 1986-02-10 | 1989-06-06 | Nec Corporation | Circuit arrangement capable of quickly processing an interrupt in a virtual machine operated by a plurality of operating systems |
US6038661A (en) * | 1994-09-09 | 2000-03-14 | Hitachi, Ltd. | Single-chip data processor handling synchronous and asynchronous exceptions by branching from a first exception handler to a second exception handler |
CN1746873A (zh) * | 2004-09-10 | 2006-03-15 | 明基电通股份有限公司 | 减少对处理器中断次数的方法 |
CN104011684A (zh) * | 2011-12-22 | 2014-08-27 | 英特尔公司 | 具有内嵌中断服务功能的中断返回指令 |
Non-Patent Citations (1)
Title |
---|
白海城,等;: "铸坯表面温度场测量仪的研究", 《仪器仪表学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022095179A1 (zh) * | 2020-11-06 | 2022-05-12 | 辰芯科技有限公司 | 数据处理系统、方法、电子设备及存储介质 |
CN113472841A (zh) * | 2021-05-13 | 2021-10-01 | 新华三技术有限公司合肥分公司 | 终止远程过程调用请求的实现方法及装置 |
CN113722064A (zh) * | 2021-08-20 | 2021-11-30 | 上海天数智芯半导体有限公司 | 一种基于信息牌模式的视频编解码多通道响应系统 |
CN113722064B (zh) * | 2021-08-20 | 2023-08-25 | 上海天数智芯半导体有限公司 | 一种基于信息牌模式的视频编解码多通道响应系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110209473B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI262400B (en) | Apparatus, system, and method for configuration of adaptive integrated circuitry having fixed, application specific computational elements | |
CN110209473A (zh) | 中断处理设备、云服务器、中断处理方法及业务处理方法 | |
CN111656336B (zh) | 一种pcie发送、接收方法及装置、设备和系统 | |
CN103729373B (zh) | 一种数据库代理方法和装置 | |
CN106547709B (zh) | 灵活配置多通道dma控制器的方法及装置 | |
CN106878926A (zh) | 一种基于低功耗蓝牙的数据传输方法、从主设备及系统 | |
CN101882116A (zh) | 音频传输的实现方法及移动终端 | |
JP2000503150A (ja) | プロトコル・コンバータ装置及び方法 | |
RU2005101757A (ru) | Протокол связи для установки конфигурации системы проведения игр | |
CN104468309B (zh) | 一种低速smp与高速密码卡的高效适配方法 | |
CN106598889A (zh) | 一种基于fpga夹层板的sata主控器 | |
CN107770826A (zh) | 一种网络切片选择方法及相关设备 | |
CN113938858A (zh) | 一种v2x协议栈的通讯方法 | |
US6275498B1 (en) | Extended PHY addressing | |
CN115729870A (zh) | 一种基于fpga的高效pcie dma数据传输方法 | |
CN106254271B (zh) | 一种用于软件定义网络的可编程队列配置方法及装置 | |
TW200302649A (en) | An interface and related methods for dynamic channelization in an Ethernet architecture | |
CN104601206A (zh) | 用于控制主机和控制器之间的消息的方法和装置 | |
CN107566526A (zh) | 一种基于Web配置RTU参数的装置 | |
CN105975415A (zh) | 外围设备管理控制装置、方法及系统 | |
CN101242412A (zh) | 一种多维数据实例传送的方法和装置以及系统 | |
CN104717109B (zh) | 广域网链路模拟测试方法及系统 | |
CN106875664A (zh) | 一种基于can总线的独占式数据采集方法 | |
CN115022424A (zh) | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 | |
CN107466018A (zh) | 一种终端设备的数据传送方法和终端设备 |
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 |