一种软件可重构处理器电路的计算机系统及其方法与流程

文档序号:28161755发布日期:2021-12-24 20:18阅读:72来源:国知局
一种软件可重构处理器电路的计算机系统及其方法与流程

1.本发明涉及计算机领域,尤其涉及一种软件可重构处理器电路的计算机系统及其方法。


背景技术:

2.现有计算机系统的工作原理是软件被编译成一系列指令存储在外部存储器中,处理器内部设计相应的数据路径和控制单元来执行指令读取、译码、执行、读写存储器和写回寄存器等一系列操作。软件运行时,处理器从存储器读取相应指令进行处理并输出相应的结果。不同架构的处理器,如intel x86架构、arm架构,拥有不同的指令集,可以在不改变处理器内部电路的情况下运行不同的软件,具有很高的灵活性。但由于存在取指、译码等环节,且指令为串行执行,因此,在处理某些算法结构较为规整的计算密集型算法时,运行速度要远低于采用纯数字逻辑构建的并行计算电路。
3.为了解决上述问题,一些处理器在内部设计了针对特定算法的硬件加速引擎以加快某些计算的执行速度,例如:华为鲲鹏920处理器内置了加密算法加速引擎,可以支持sm3、sm4、rsa加密算法和zlib/gzip压缩解压缩算法,但这种硬件加速引擎在处理器制造时已固化在处理器内部的,无法升级以适应新的软件算法和提升其自身的性能,缺少灵活性。


技术实现要素:

4.为解决背景技术中存在的技术问题,本发明提出一种软件可重构处理器电路的计算机系统及其方法,实现应用软件在运行时可通过操作系统对可重构电路组件进行配置,加快软件的执行速度。
5.本发明提出一种软件可重构处理器电路的计算机系统,包括:系统总线、与系统总线连接的可重构处理器和外部存储器;
6.所述可重构处理器内部包括片内总线和与片内总线连接的多个可重构电路组件;
7.所述外部存储器内部安装有操作系统和应用软件;所述应用软件中包括其硬件加速电路配置信息的配置文件;所述应用软件运行时,所述操作系统基于所述配置文件中的配置信息来配置至少一个可重构电路组件以形成所述应用软件的硬件加速电路。
8.优选地,所述操作系统中包括可重构电路组件的设备驱动程序,所述应用软件通过调用所述设备驱动程序的api,将所述配置文件发送至可重构电路组件。
9.优选地,所述可重构电路组件内置有可重构接口;所述可重构接口用于将所述配置文件烧录进可重构电路组件中。
10.优选地,所述可重构接口还用作硬件加速电路和片内总线的数据交换接口。
11.优选地,所述操作系统中包括内置应用软件,所述内置应用软件中包括其硬件加速电路的配置信息的配置文件,所述操作系统可基于内置应用软件中配置文件中的配置信息来配置至少一个可重构电路组件以形成内置应用软件的硬件加速电路。
12.优选地,所述内置应用软件包括加密软件、解密软件、压缩软件和解压软件。
13.优选地,所述外部存储器是系统内置硬盘,直接与系统总线连接。
14.优选地,所述外部存储器是移动硬盘或者u盘,通过所述计算机系统的高速串行接口与系统总线连接。
15.基于同一发明构思,本发明还提出一种软件重构处理器电路的方法,具体包括:
16.操作系统加载应用软件;
17.当所述应用软件中包含其硬件加速电路配置信息的配置文件时,应用软件调用操作系统中对应设备驱动程序的api,将所述配置文件发送至可重构处理器内的可重构电路组件;
18.操作系统根据所述配置文件中的配置信息来配置可重构电路组件形成所述应用软件对应的硬件加速电路;
19.操作系统基于所述硬件加速电路运行对应的应用软件。
20.优选地,当所述应用软件中不包含其硬件加速电路配置信息的配置文件时,所述操作系统以无硬件加速模式运行所述应用软件。
21.优选地,所述操作系统根据所述配置文件中的配置信息来配置可重构电路组件形成所述应用软件对应的硬件加速电路之前还包括:
22.操作系统查询可重构处理器内未被配置的可重构电路组件数量是否有满足所述硬件加速电路所需可重构电路组件的数量;当查询结果为是时,操作系统根据所述配置文件中的配置信息来配置可重构电路组件形成所述应用软件对应的硬件加速电路。
23.优选地,当所述查询结果为否时,所述操作系统释放其他应用软件已经配置的可重构电路组件,以满足所需可重构电路组件的数量。
24.优选地,当所述查询结果为否时,所述操作系统以无硬件加速模式运行所述应用软件。
25.优选地,当所述查询结果为否时,所述操作系统终止加载所述应用软件。
26.本发明还提出一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如上述的软件可重构处理器电路的方法。
27.本发明所提出的计算机系统及其方法,通过应用软件运行时,操作系统基于应用软件中包含其硬件加速电路配置信息的配置文件,重新配置可重构电路组件以构建对应应用软件的硬件加速电路,用来加速应用软件中部分算法的运行,从而获得更快的运行速度。
28.本发明所提出的计算机系统,应用软件通过调用可重构电路组件的设备驱动程序的api函数访问硬件加速电路,实现了对硬件电路的抽象,软件开发人员只需要调用相关函数去访问相应的硬件电路,无需关注具体的硬件电路的形态。
29.本发明所提出的计算机系统,可重构电路组件内置统一可重构接口具有两种功能;一方面可作为配置控制器,将对应配置文件烧录至可重构电路组件中,另一方面,在配置完成后可作为新构建的加速电路和片内总线的数据交换接口。
30.本发明所提出的计算机系统,不仅仅通过软件中集成配置文件实现应用软件的加速,还可以在开发操作系统时,通过在操作系统的内置应用软件集成包含硬件配置信息的配置文件,以实现操作系统中内置应用软件的运行加速。
31.本发明所提出的方法,当应用软件中不包括含有其硬件加速电路配置信息的配置文件时,系统以无硬件加速模式运行应用软件,当应用软件中包括含有其硬件加速电路配
置信息的配置文件时,操作系统配置其加速电路以硬件加速模式运行应用软件;本方法提供了软件的硬件电路加速启动和无硬件加速启动的两种方式,一方面保证了具有硬件加速条件的软件能够加速启动,另一方面也保证了不具有硬件加速条件的软件也能够正常启动。
32.本发明所提出的方法,通过操作系统查询未被配置的可重构电路组件数量是否有满足所述硬件加速电路所需可重构电路组件的数量,提供释放已经配置的可重构电路组件的机制,保证了在多任务模式下,用户可以通过终止无需使用的后台任务以释放可重构电路组件保证了待使用应用软件的加速功能。
附图说明
33.图1为为本发明第一实施例提出的软件可重构处理器电路的计算机系统的结构示意图;
34.图2为本发明第一实施例提出的可重构处理器的结构示意图;
35.图3为本发明第一实施例提出的可重构电路组件的结构示意图;
36.图4为本发明第二实施例提出的软件可重构处理器电路的方法的流程示意图;
37.图5为本发明第二实施例提出的软件可重构处理器电路的方法的流程示意图;
38.图6为本发明第二实施例提出的软件可重构处理器电路的方法的流程示意图。
具体实施方式
39.如图1所示,图1为本发明第一实施例提出的软件可重构处理器电路的计算机系统的结构示意图;
40.参照图1,本发明第一实施例提出的一种本发明提出一种软件可重构处理器电路的计算机系统,包括:系统总线、与系统总线连接的可重构处理器和外部存储器;
41.本实施例中,计算机系统还包括显示接口,用于外接显示器,可设计为hdmi、dp或vga类型的接口。
42.本实施例中,计算机系统还包括网络接口,用于连接计算机网络,可采用有线或无线连接。
43.本实施例中,计算机系统还包括高速串行接口,采用type

c接口,可作为计算机系统电源接口、并可扩展为usb2、usb3.1、dp、hdmi、vga、以太网等接口。
44.本实施例中,计算机系统还包括内部存储器,用于存放操作系统和应用软件运行时的临时指令。
45.本实施例中,外部存储器包括系统内置硬盘,直接与系统总线连接,还包括移动硬盘或者u盘,通过所述计算机系统的高速串行接口与系统总线连接。
46.如图2所示,本实施例中,可重构处理器内部包括多个可重构电路组件和片内总线,所述多个可重构电路组件连接于片内总线;
47.需要说明的是,可重构处理器与传统通用计算机cpu的区别在于其内部集成了多个可重构电路组件,可在软件运行时通过加载不同的硬件配置信息生成不同的硬件电路,成为满足特定计算需求的硬件加速器。
48.如图2所示,本实施例中,可重构处理器还包括有处理器内核,用于运行操作系统
和应用软件的指令,其中处理器内核通过片内总线和外设接口,从内存或者硬盘读取指令、数据。
49.如图3所示,本实施例中,可重构电路组件内置有可重构接口;所述可重构接口用于获取包含硬件配置信息的配置文件,将配置文件烧录进可重构电路组件中;需要说明的是,在配置文件烧录时,需按照可重构电路组件的电路属性进行烧录,可重构电路组件的电路属性具体为可重构电路组件的预设烧录时序和控制要求,此时可重构接口相当于一个配置控制器的作用。
50.本实施例中,在可重构电路组件配置完成形成硬件加速电路后,可重构接口还用作硬件加速电路与片内总线之间的数据交换接口。
51.本实施例中,外部存储器用于存放操作系统和应用软件;所述应用软件中包括含其硬件加速电路配置信息的配置文件;当应用软件运行时,操作系统基于该配置文件中的配置信息,配置至少一个可重构电路组件以构建对应应用软件的硬件加速电路;需要说明的是,该计算机的软件开发和发行有别于传统的通用计算机。传统计算机的软件只包含机器码指令,而本计算机系统分为软件开发和硬件开发两部分,其中硬件开发是根据待加速算法的要求,采用hdl语言设计相应的硬件电路,综合编译后形成包含硬件配置信息的配置文件,其通常为比特流文件。
52.本实施例中,所述应用软件中可以有一个或者多个不同的算法模块需要加速,基于加速需求,在应用软件中集成一个或者多个含有相关硬件加速电路配置信息的配置文件,以配置多个可重构电路组件形成多个硬件加速电路;应用软件在运行过程中,基于需求调用相关的硬件加速电路即可。
53.本实施例中,所述操作系统中包含有可重构电路组件的设备驱动程序,所述设备驱动程序用于提供应用软件访问接口的api函数,所述应用软件通过调用相关设备驱动程序的api,访问可重构电路组件,将包含其硬件加速电路配置信息的配置文件发送至可重构电路组件。
54.需要说明的是,考虑到不同软件所构建电路的数据信号位宽、地址信号位宽以及控制信号数量可能存在差异,本实施例中,将可重构接口设计为可在一定范围内自定义数据信号位宽、地址信号位宽和控制信号数量;硬件电路设计和驱动程序开发人员在接口规范的约束下设计硬件电路和api函数,即通过对硬件电路的抽象,实现软件开发人员只需调用相应的api函数,无需关注具体的硬件电路形态。
55.本实施例中,开发软件时需支持两种模式:硬件加速和非硬件加速模式。即保证当系统不支持硬件加速时,软件也可正常运行。另外,发布或更新软件时,将软件代码和配置文件一同打包发布给用户,从而实现软件和硬件加速器电路的双更新。
56.本实施例中,所述操作系统中包括内置应用软件,例如解压软件,压缩软件、解密软件、加密软件等;内置应用软件中也包括含有其硬件加速电路配置信息的配置文件,所述操作系统可基于内置应用软件的配置文件,配置至少一个可重构电路组件以构建操作系统中内置应用软件的硬件加速电路。
57.具体地,系统上电启动后,可根据实际可重构电路组件的数量,设备驱动程序将操作系统中内置应用软件的配置文件加载到相应的可重构电路组件中,从而实现对操作系统中内置应用软件的加速。
58.如图4、图5、图6所示,基于同一发明构思,本发明第二实施例提出一种软件重构处理器电路的方法,可应用于上述的计算机系统,具体包括:
59.s1:操作系统加载应用软件;
60.s2:当所述应用软件中包括含有其硬件加速电路配置信息的配置文件时,应用软件调用操作系统中对应设备驱动程序的api,将所述配置文件发送至可重构处理器内的可重构电路组件;
61.需要说明的是,本实施例中,所述应用软件中包括含有其硬件加速电路配置信息的配置文件,在开发时支持两种模式:硬件加速和非硬件加速模式。当操作系统不执行硬件加速时,直接通过加载应用软件的操作代码启动应用软件;当操作系统执行硬件加速时,在加载软件代码启动应用软件时,同时加载应用软件中的配置文件以构建硬件加速电路。
62.本实施例中,当应用软件中不包括含有其硬件加速电路配置信息的配置文件时,操作系统直接以无硬件加速模式运行所述应用软件即步骤s13;
63.需要说明的是,无硬件加速模式为操作系统直接加载应用软件的操作代码启动应用软件。
64.s3:操作系统根据所述配置文件中的配置信息来配置可重构电路组件形成所述应用软件对应的硬件加速电路;
65.s4:操作系统基于所述硬件加速电路运行对应的应用软件。
66.需要说明的是,本实施例中,执行步骤s3之前还包括:
67.s11:操作系统查询可重构处理器内未被配置的可重构电路组件数量是否有满足所述硬件加速电路所需可重构电路组件的数量;
68.当查询结果为是时,执行步骤s3即操作系统根据所述配置文件中的配置信息来配置可重构电路组件形成所述应用软件对应的硬件加速电路;
69.当查询结果为否时,执行下列步骤s12、s13、s14中之一:
70.如图4所示,当查询结果为否,s12:操作系统释放其他应用软件已经配置的可重构电路组件,以满足所需可重构电路组件的数量,需要说明的是,本步骤执行后继续执行步骤s3以配置对应硬件加速电路。
71.如图5所示,当查询结果为否,s13:操作系统以无硬件加速模式运行所述应用软件。
72.需要说明的是,无硬件加速模式即操作系统直接加载应用软件的操作代码启动应用软件,不构建硬件加速电路。
73.如图6所示,当查询结果为否,s14:操作系统终止加载所述应用软件。
74.需要说明的是,操作系统终止加载所述应用软件即应用软件加载失败,退出启动软件。
75.需要说明的是,本实施例中,当查询结果为否时,操作系统反馈查询结果至应用软件,所述应用软件生成多操作选项推送至用户,基于用户选择,操作系统执行上述步骤s12、s13、s14中之一。
76.本实施例中,所述方法不仅适用于安装在系统硬盘中的操作系统,还适用于操作系统和应用软件均安装在外部u盘或移动硬盘中。具体的,系统上电启动后,从移动硬盘或者u盘加载操作系统,待操作系统完全启动后,用户可使用上述方法使用计算机。这种方式
的优点在于用户的软件和数据可随身携带,非常适合保密要求较高的场合。
77.本实施例中,所述方法还适用于操作系统内部的内置应用软件,例如操作系统自带的加密软件、解密软件、压缩软件和解压软件等。内置应用软件中也包括含有其硬件加速电路配置信息的配置文件体,具体的,系统上电启动后,可根据实际可重构电路组件的数量,设备驱动程序将操作系统中内置应用软件的配置文件加载到相应的可重构电路组件中,从而实现对操作系统中内置应用软件的加速。
78.本发明第三实施例还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时执行上述第二实施例所述的软件可重构处理器电路的方法。
79.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1