本技术涉及计算机,具体涉及一种设备控制方法、处理器架构以及计算机设备。
背景技术:
1、在现有应用中,加载于计算机硬件的操作系统或裸机应用程序,需要通过驱动程序控制外部设备。结合图1所示,以片上系统(system on chip,soc)为例,片上系统通过通信总线与外部设备通信连接并控制外部设备运行,其中,外部设备包括串口设备、音频设备以及存储设备等多种设备。为了实现对外部设备的控制,片上系统内部集成有应用处理器和各外部设备对应的外设控制器,并且,每一个外设控制器还对应一个驱动程序,应用处理器通过执行驱动程序可以访问外设控制器,实现与外设控制器的信息交互,进而通过外设控制器实现对相应外部设备的控制。
2、在实际应用中,任一外设控制器做出调整,比如新增功能或进行迭代升级时,都需要同步更新该外设控制器所对应的驱动程序,由于应用处理器通过执行驱动程序访问外设控制器,因此,外设控制器以及驱动程序的调整会连带应用处理器同步更新,甚至需要重新进行硅前验证,导致耗费大量的人力、物力资源消耗,延长设计周期。
技术实现思路
1、有鉴于此,本技术致力于提供一种设备控制方法、处理器架构以及计算机设备,以解决现有技术中由于外设控制器改变连带应用处理器同步调整,甚至需要重新进行硅前验证的问题。
2、第一方面,本技术提供一种设备控制方法,应用于处理器架构,所述处理器架构包括应用处理器、输入输出处理器以及至少一个外设控制器,所述输入输出处理器作为所述应用处理器与所述至少一个外设控制器进行交互时的中间媒介,所述输入输出处理器包括至少一个专用的处理器核以及核间通信模块,所述核间通信模块包括至少一个核间通道,且所述核间通道与所述外设控制器一一对应,所述处理器核分别与各所述外设控制器通信连接,所述方法包括如下由所述处理器核执行的步骤:
3、获取第一中断信号,所述第一中断信号在所述应用处理器将请求数据存储于目标核间通道后触发,所述目标核间通道与所述应用处理器需要访问的目标外设控制器对应;
4、响应所述第一中断信号,获取所述目标核间通道中的请求数据;
5、根据所述请求数据访问所述目标外设控制器,并获取相应的响应数据;
6、将所述响应数据存储于所述目标核间通道,并将所述请求数据的状态标记为已被处理,以使所述应用处理器在任一轮询周期获取所述响应数据。
7、基于上述内容,本技术提供的设备控制方法应用于处理器架构,本方法在处理器架构中集成输入输出处理器,由输入输出处理器作为应用处理器与外设控制器进行交互时的中间媒介,进而通过各外设控制器实现相应外部设备的控制,对于应用处理器而言,应用处理器只与处理器核通信即可实现对外设控制器的访问,相较于现有技术中应用处理器通过执行驱动程序访问相应的外设控制器,外设控制器调整以及由此引起的驱动程序调整均会连带应用处理器同步更新,通过本方法可实现任何外设控制器发生改变都不会影响应用处理器,只需调整输入输出处理器的内部驱动即可,从而在最大程度上降低外设控制器改变对应用处理器的影响,避免重新进行硅前验证,节省人力、物力资源,缩短系统设计周期。
8、在一种可能的实施方式中,所述获取第一中断信号,包括:
9、获取所述应用处理器同时触发的多个中断信号,其中,每个所述中断信号对应一个核间通道;
10、按照各所述核间通道对应的外设控制器的响应优先级,确定优先级最高的外设控制器对应的中断信号为所述第一中断信号。
11、在本技术提供的设备控制方法中,为各外设控制器配置不同的响应优先级,在应用处理器触发多个中断信号,即同时访问多个外设控制器的情况下,按照各外设控制器的响应优先级,确定优先级最高的外设控制器对应的中断信号为第一中断信号,即优先响应优先级最高的外设控制器,通过配置不同的响应优先级,实现各外设控制器访问次序的差异化控制,同时,保证高优先级的外设控制器可以优先访问,提高相应外部设备的控制效率。
12、在一种可能的实施方式中,所述核间通道包括共享存储单元和状态寄存器;
13、将所述响应数据存储于所述目标核间通道,包括:
14、将所述响应数据存储于所述共享存储单元;
15、在所述状态寄存器中写入表征所述请求数据已被处理的目标数值。
16、在本技术提供的设备控制方法中,核间通道包括共享存储单元和状态寄存器,通过共享存储单元存储交互数据,同时,通过状态寄存器表征请求数据是否被处理,应用处理器只需读取状态寄存器中的数值,即可确定请求数据是否已被处理,通过状态寄存器可以简单高效的表征请求数据的处理状态,有助于提高数据交互效率。
17、在一种可选的实施方式中,所述请求数据承载于消息,所述消息存储于所述目标核间通道,且所述消息包括消息头和消息体;
18、将所述响应数据存储于所述目标核间通道,包括:
19、将所述响应数据记载于所述消息体,以覆盖所述消息体中的请求数据;
20、在所述消息头中写入表征所述请求数据已被处理的目标数值。
21、在本技术提供的设备控制方法中,通过消息承载请求数据,应用处理器通过查询消息头中的数值即可确定请求数据的处理状态,由于不用单独配置用于记录请求数据处理状态的寄存器,可以简化处理器架构的构成,降低处理器架构的硬件成本。
22、在一种可能的实施方式中,本技术第一方面提供的设备控制方法,还包括:
23、响应于第四中断信号,获取外设控制器的待上传数据,所述第四中断信号由外设控制器在需要向所述应用处理器上传数据的情况下触发;
24、将所述待上传数据存储至外设控制器对应的核间通道,以使所述应用处理器在任一轮询周期获取所述待上传数据。
25、在本技术中,外设控制器以中断的方式通知输入输出处理器获取待上传数据,输入输出处理器将待上传数据存储至外设控制器对应的核间通道后,应用处理器以轮询的方式获取待上传数据。本技术在待上传数据的上传过程中,外设控制器只与输入输出处理器交互,输入输出处理器作为应用处理器与外设控制器进行交互时的中间媒介,由输入输出处理器将待上传数据反馈应用处理器,实现应用处理器与外设控制器之间的解耦,相较于现有技术中应用处理器通过执行驱动程序与相应的外设控制器交互,外设控制器调整以及由此引起的驱动程序调整均会连带应用处理器同步更新,通过本方法可实现任何外设控制器发生改变都不会影响应用处理器,只需调整处理器核的内部驱动即可,从而在最大程度上降低外设控制器改变对应用处理器的影响。
26、第二方面,本技术提供一种设备控制方法,应用于处理器架构,所述处理器架构包括应用处理器、输入输出处理器以及至少一个外设控制器,所述输入输出处理器作为所述应用处理器与所述至少一个外设控制器进行交互时的中间媒介,所述输入输出处理器包括至少一个专用的处理器核以及核间通信模块,所述核间通信模块包括至少一个核间通道,且所述核间通道与所述外设控制器一一对应,所述处理器核分别与各所述外设控制器通信连接,所述方法包括如下由所述应用处理器执行的步骤:
27、将请求数据存储于目标核间通道,所述目标核间通道与所述应用处理器需要访问的目标外设控制器对应;
28、触发第一中断信号,并按照预设轮询周期查询所述请求数据是否被所述处理器核处理;
29、其中,所述第一中断信号用于触发所述处理器核根据所述请求数据访问所述目标外设控制器,并在将所得响应数据存储于所述目标核间通道后将所述请求数据的状态标记为已被处理;
30、在任一轮询周期获取所述响应数据。
31、基于上述内容,本技术提供的设备控制方法应用于处理器架构,本方法在处理器架构中集成输入输出处理器,由输入输出处理器作为应用处理器与外设控制器进行交互时的中间媒介,进而通过各外设控制器实现相应外部设备的控制,对于应用处理器而言,应用处理器只与处理器核通信即可实现对外设控制器的访问,相较于现有技术中应用处理器通过执行驱动程序访问相应的外设控制器,外设控制器调整以及由此引起的驱动程序调整均会连带应用处理器同步更新,通过本方法可实现任何外设控制器发生改变都不会影响应用处理器,只需调整输入输出处理器的内部驱动即可,从而在最大程度上降低外设控制器改变对应用处理器的影响,避免重新进行硅前验证,节省人力、物力资源,缩短系统设计周期。
32、在一种可能的实施方式中,所述核间通道包括第一中断寄存器;
33、所述触发第一中断信号,包括:
34、在所述目标核间通道的第一中断寄存器中写入目标数值,以触发所述第一中断信号。
35、在本技术中,核间通道包括第一中断寄存器,基于此提供一种触发第一中断信号的具体实现方法,通过中断信号触发处理器核获取请求数据,有助于提高应用处理器与处理器核之间数据交互的效率。
36、在一种可能的实施方式中,所述将请求数据存储于目标核间通道,包括:
37、若所述目标核间通道未存储任何请求数据或所述目标核间通道内存储的请求数据已被处理,将请求数据存储于目标核间通道;
38、若所述目标核间通道存储有未被处理的请求数据,输出表征数据写入失败的通知信息。
39、在本技术中,应用处理器首先判断目标核间通道是否空闲,只有在目标核间通道空闲的情况下,才会将请求数据存储于目标核间通道,可以有效防止请求数据将目标核间通道中未被处理的数据覆盖,造成数据丢失,影响外部设备的控制过程,通过本方法可以有效提高外部设备控制过程的可靠性和安全性。
40、在一种可选的实施方式中,本技术第二方面提供的设备控制方法,还包括:
41、在所述处理器架构的启动阶段,配置所述外设控制器与所述核间通道的一一对应关系。
42、在本技术中,由于应用处理器用于加载应用程序,进而执行应用层任务,由应用处理器配置外设控制器与核间通道之间的一一对应关系,使得用户可以根据实际应用需求以及外设控制器的具体情况,为每一个外设控制器分配相应的核间通道,满足各个外设控制器的控制需求,进而使得本技术提供的设备控制方法可以应用于不同的应用场景下,满足不同的应用需求。
43、在一种可选的实施方式中,本技术第二方面提供的设备控制方法,还包括:
44、在任一轮询周期获取各所述外设控制器对应的核间通道中存储的待上传数据。
45、在本技术中,输入输出处理器将待上传数据存储至外设控制器对应的核间通道后,由应用处理器在任一轮询周期获取待上传数据,完成待上传数据的传输,本技术在待上传数据的上传过程中,外设控制器只与输入输出处理器交互,输入输出处理器作为应用处理器与外设控制器进行交互时的中间媒介,由输入输出处理器将待上传数据反馈应用处理器,实现应用处理器与外设控制器之间的解耦,相较于现有技术中应用处理器通过执行驱动程序与相应的外设控制器交互,外设控制器调整以及由此引起的驱动程序调整均会连带应用处理器同步更新,通过本方法可实现任何外设控制器发生改变都不会影响应用处理器,只需调整处理器核的内部驱动即可,从而在最大程度上降低外设控制器改变对应用处理器的影响。
46、第三方面,本技术提供一种处理器架构,包括:应用处理器、输入输出处理器以及至少一个外设控制器,其中,
47、所述输入输出处理器作为所述应用处理器与所述至少一个外设控制器进行交互时的中间媒介;
48、所述输入输出处理器包括至少一个专用的处理器核以及核间通信模块,所述核间通信模块包括至少一个核间通道,且所述核间通道与所述外设控制器一一对应;
49、所述处理器核分别与各所述外设控制器通信连接;
50、任一所述外设控制器用于控制与所述外设控制器相连的外部设备;
51、所述处理器核用于执行如本技术第一方面任一项所述的设备控制方法;
52、所述应用处理器用于执行如本技术第二方面任一项所述的设备控制方法。
53、第四方面,本技术提供一种计算机设备,包括:至少一个外部设备和如本技术第三方面所述的处理器架构,其中,
54、所述处理器架构分别与各所述外部设备通信连接。
1.一种设备控制方法,其特征在于,应用于处理器架构,所述处理器架构包括应用处理器、输入输出处理器以及至少一个外设控制器,所述输入输出处理器作为所述应用处理器与所述至少一个外设控制器进行交互时的中间媒介,所述输入输出处理器包括至少一个专用的处理器核以及核间通信模块,所述核间通信模块包括至少一个核间通道,且所述核间通道与所述外设控制器一一对应,所述处理器核分别与各所述外设控制器通信连接,所述方法包括如下由所述处理器核执行的步骤:
2.根据权利要求1所述的方法,其特征在于,所述获取第一中断信号,包括:
3.根据权利要求1所述的方法,其特征在于,所述核间通道包括共享存储单元和状态寄存器;
4.根据权利要求1所述的方法,其特征在于,所述请求数据承载于消息,所述消息存储于所述目标核间通道,且所述消息包括消息头和消息体;
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.一种设备控制方法,其特征在于,应用于处理器架构,所述处理器架构包括应用处理器、输入输出处理器以及至少一个外设控制器,所述输入输出处理器作为所述应用处理器与所述至少一个外设控制器进行交互时的中间媒介,所述输入输出处理器包括至少一个专用的处理器核以及核间通信模块,所述核间通信模块包括至少一个核间通道,且所述核间通道与所述外设控制器一一对应,所述处理器核分别与各所述外设控制器通信连接,所述方法包括如下由所述应用处理器执行的步骤:
7.根据权利要求6所述的方法,其特征在于,所述核间通道包括第一中断寄存器;
8.根据权利要求6所述的方法,其特征在于,所述将请求数据存储于目标核间通道,包括:
9.根据权利要求6至8任一项所述的方法,其特征在于,所述方法还包括:
10.根据权利要求6所述的方法,其特征在于,所述方法还包括:
11.一种处理器架构,其特征在于,包括:应用处理器、输入输出处理器以及至少一个外设控制器,其中,
12.一种计算机设备,其特征在于,包括:至少一个外部设备和如权利要求11所述的处理器架构,其中,