CN113050998B - 电子设备及控制方法 - Google Patents

电子设备及控制方法 Download PDF

Info

Publication number
CN113050998B
CN113050998B CN202110341000.8A CN202110341000A CN113050998B CN 113050998 B CN113050998 B CN 113050998B CN 202110341000 A CN202110341000 A CN 202110341000A CN 113050998 B CN113050998 B CN 113050998B
Authority
CN
China
Prior art keywords
component
target
host
component control
driver
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.)
Active
Application number
CN202110341000.8A
Other languages
English (en)
Other versions
CN113050998A (zh
Inventor
李继启
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202110341000.8A priority Critical patent/CN113050998B/zh
Publication of CN113050998A publication Critical patent/CN113050998A/zh
Application granted granted Critical
Publication of CN113050998B publication Critical patent/CN113050998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了电子设备及控制方法,电子设备包括主机部分以及连接于主机部分的部件控制部分,部件控制部分能够连接多个部件;在电子设备使用连接于部件控制部分的目标部件时,部件控制部分能够驱动所述目标部件执行对应操作,并将操作结果反馈给所述主机部分进行输出。无需人为安装目标部件对应的驱动程序,从而使得部件使用的复杂度降低,提高了部件使用的灵活性。

Description

电子设备及控制方法
技术领域
本申请涉及信息处理技术领域,更具体地说,涉及一种电子设备及控制方法。
背景技术
随着电子设备的发展,电子设备经常需要接入显卡等需要驱动的部件,而为了能够使用该部件就需要在电子设备安装相应的驱动,这样,在电子设备需要接入的部件较多的情况下,就需要用户安装多个驱动,从而导致部件使用的复杂度较高,灵活性差。
发明内容
根据本公开实施例的第一方面,提供一种电子设备,包括:
主机部分;
部件控制部分,连接于所述主机部分,所述部件控制部分能够连接多个部件;
其中,在电子设备使用所述多个部件中的目标部件时,所述部件控制部分能够驱动所述目标部件执行对应操作,并将操作结果反馈给所述主机部分进行输出。
根据本公开实施例的第二方面,提供一种控制方法,包括:
在电子设备使用部件控制部分连接的部件中的目标部件时,通过部件控制部分驱动所述目标部件执行对应操作,其中,部件控制部分能够连接多个部件,所述目标部件属于所述多个部件;
通过所述部件控制部分将操作结果反馈给主机部分,所述主机部分与所述部件控制部分相连。
通过以上方案可知,本申请实施例提供的电子设备中,包括主机部分以及连接于主机部分的部件控制部分,部件控制部分能够连接多个部件;在电子设备使用连接于部件控制部分的目标部件时,部件控制部分能够驱动所述目标部件执行对应操作,并将操作结果反馈给所述主机部分进行输出。无需人为安装目标部件对应的驱动程序,从而使得部件使用的复杂度降低,提高了部件使用的灵活性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的电子设备涉及的硬件架构的示意图;
图2为本申请实施例提供的主机部分与部件控制部分的连接关系示意图;
图3为本申请实施例提供的控制方法的流程图;
图4为本申请实施例提供的驱动框架的架构的示意图;
图5为本申请实施例提供的部件控制部分的硬件结构图;
图6为本申请实施例提供的部件控制部分的电路图;
图7为本申请实施例提供的主机部分、部件控制部分以及显示器的数据流向图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种电子设备及控制方法,在对本申请实施例提供的技术方案进行说明之前,先对本申请实施例涉及的相关技术以及硬件架构进行说明。
首先对本申请实施例涉及的相关技术进行介绍。
电子设备经常需要接入需要驱动的部件,例如,光驱、显卡、声卡、DSP(数字信号处理,Digital Signal Processing)模块、VPU(Video Processing Unit,视频处理单元)模块、FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)模块等。
示例性的,电子设备可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如,手机、笔记本电脑、平板电脑、掌上电脑、个人计算机、可穿戴设备、智能电视、PAD等。
示例性的,电子设备可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务器中心。
为了能够使得电子设备能够使用该部件,需要在电子设备中安装驱动程序(Device Driver),驱动程序全称为“设备驱动程序”,是一种可以使电子设备和部件通信的特殊程序,相当于部件的接口,电子设备的操作系统或应用程序可以通过驱动程序控制部件执行相应操作。
在一种应用场景中,电子设备可以安装不同种类的部件,所以需要安装不同种类的部件的驱动程序,例如,安装显卡的驱动程序、安装声卡的驱动程序,操作繁琐。
在一种应用场景中,电子设备可能安装同一种类但不同类型的部件,例如,安装Nvidia的显卡、安装AMD显卡,属于同一种类但不同类型的部件支持的驱动程序不同。
电子设备需要安装属于同一种类但不同类型的部件的驱动程序,操作繁琐。
若电子设备安装有属于同一种类但不同类型的部件的驱动程序,若多个驱动程序同时运行,可能会发生冲突。
假设电子设备同时安装有显卡a的驱动程序a和显卡b的驱动程序b,在由显卡b切换至显卡a的过程中,可能涉及驱动程序a和驱动程序b同时运行,驱动程序a和驱动程序b同时运行的过程中,可能会发生冲突,导致无法执行驱动程序a,使得无法使用显卡a。导致用户需要卸载驱动程序b和/或驱动程序a,并重新安装驱动程序a,甚至重新安装电子设备的操作系统,导致操作繁琐,灵活性差。
下面对驱动程序a和驱动程序b可能发生冲突的原因进行说明。
示例性的,驱动程序a和驱动程序b可能需要调用相同的资源,例如库,例如,显卡a的驱动程序a在实现过程中需要调用库A,显卡b的驱动程序b在实现过程中也会调用库A,在将显卡b切换到显卡a的过程中,可能出现驱动程序a和驱动程序b同时或先后调用库A的情况,例如,库A已经被驱动程序b占用,驱动程序a无法调用库A,导致执行驱动程序a失败,从而无法驱动显卡a。由于无法驱动显卡a,可能导致电子设备黑屏、显卡不可见等问题。而用户可能无法确认具体问题,可能会重装驱动程序。
综上,无论是电子设备安装不同种类的多个部件的驱动程序,还是电子设备安装属于同一种类的不同类型的多个部件的驱动程序,用户安装驱动程序的过程较为繁琐,从而导致部件使用的复杂度较高,灵活性差。
其次,对本申请涉及的硬件架构进行说明。
如图1所示,为本申请实施例提供的电子设备涉及的硬件架构的示意图,硬件架构包括:主机部分11以及部件控制部分12。
示例性的,主机部分11可以如图1所示,示例性的,主机部分11包括但不限于:主板10、分别设置于主板10上的处理器111、扩展接口112以及内存插槽113。
示例性的,处理器111可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等。
示例性的,扩展接口112用于连接外部设备,例如,部件控制部分12、显卡、声卡、光驱等外部设备。
示例性的,扩展接口可以为扩展插槽,例如PCIE(peripheral componentinterconnect express,高速串行计算机扩展总线标准)插槽。
示例性的,若主机部分包括多个扩展接口,多个扩展接口的类型可以完全不同,或,完全相同,或,不完全相同。
下面以PCIE插槽为例对扩展接口的类型进行说明。PCIE插槽的类型包括但不限于:PCIE x1类型、PCIE x4类型、PCIE x8类型、PCIE x16类型、PCIE x32类型。
应当注意的是,图1中示出的扩展接口、处理器、内存插槽的位置仅为示例,并不造成限定。图1中示出的扩展接口、内存插槽的数目仅为示例,并不造成限定。
示例性的,电子设备的操作系统可以运行在插入内存插槽的内存中,内存可以为高速随机存取存储器(Random-Access Memory,RAM)和只读存储器(Read-Only Memory,ROM)中的至少一个。
示例性的,主机部分11还可以包括存储器,存储器可以包括上述内存,也可能还包括大容量存储设备,例如至少1个磁盘存储器等。
示例性的,存储器用于存储上述处理器111可执行指令。
示例性的,主机部分的操作系统可以存储在主机部分包含的存储器中。
示例性的,主机部分11还包括通信总线,处理器111、扩展接口112、存储器可以通过通信总线相互连接,该通信总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
需要说明的是,本领域技术人员可以理解,图1中示出的主机部分11的结构并不构成对主机部分11的限定,主机部分11可以包括比图1所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图2所示,为本申请实施例提供的主机部分与部件控制部分的连接关系示意图。
图2中为了清楚的示出主机部分11与部件控制部分12的连接关系,未示出主机部分11包含的部件,以及,部件控制部分12包含的部件。
示例性的,部件控制部分12与主机部分11中的扩展接口112连接。
示例性的,主机部分11可以包括多个扩展接口112,每一扩展接口可以与一个部件控制部分相连,主机部分11可以同时连接有一个或多个部件控制部分12,图2中是以主机部分11与一个部件控制部分12相连为例进行说明。
示例性的,若主机部分11连接多个部件控制部分12,不同部件控制部分12上连接的部件所属种类可能相同可能不同。
示例性的,同一部件控制部分12可以连接一个或多个部件,若连接有多个部件,多个部件所属种类可能相同可能不同;若连接有属于同一种类的多个部件,属于同一种类的多个部件的类型可能相同,可能不同。
部件所属种类包括但不限于:显卡、声卡、光驱、DSP(数字信号处理,DigitalSignal Processing)模块、VPU(Video Processing Unit,视频处理单元)模块、FPGA(FieldProgrammable Gate Array,现场可编程逻辑门阵列)模块。
示例性的,属于同一种类的不同类型的部件可以是属于同一种类由不同厂家生产的部件。
示例性的,属于同一种类的不同类型的部件可以是属于同一种类但型号不同的部件。
图2中以部件控制部分12与两个部件相连为例进行说明,假设分别为部件121与部件122。
应当注意的是,图2中部件控制部分12的结构仅为示例,本申请并不限定部件控制部分12的结构。
示例性的,部件控制部分12与主机部分11可以通过扩展接口进行通信。
下面结合电子设备设计的硬件架构对本申请实施例提供的应用于电子设备的控制方法进行说明。
如图3所示,为本申请实施例提供的控制方法的流程图,示例性的,该方法可以应用于电子设备中的主机部分中的处理器,该方法包括以下步骤S31至步骤S32。
步骤S31:在电子设备使用部件控制部分连接的部件中的目标部件时,通过部件控制部分驱动所述目标部件执行对应操作,其中,部件控制部分能够连接多个部件,所述目标部件属于所述多个部件。
示例性的,目标部件可以是用户选择的;示例性的,目标部件可以是由电子设备基于待处理的数据的类型确定的,或,电子设备基于待处理数据所属应用的类型确定的。
示例性的,目标部件的数目可以为一个或多个。
若目标部件的数目为多个,那么,多个目标部件所属种类不同。
示例性的,若目标部件的数目为多个,且属于目标种类的不同类型的部件的驱动程序同时运行时不会发生如相关技术中提及的冲突,则,多个目标部件可以均属于目标种类。
示例性的,主机部分可以连接一个或多个部件控制部分。
若主机部分连接有多个部件控制部分,不同部件控制部分对应的目标部件所属种类可以相同,也可以不同。
由于是由部件控制部分驱动与其相连的目标部件执行对应操作,不同部件控制部分驱动与其相连的目标部件执行对应操作的过程互不干扰,即不同部件控制部分是相互“隔离”的。下面对不同部件控制部分是相互“隔离”的原因进行介绍。
示例性的,不同部件控制部分驱动目标部件所需的资源是相互独立的,驱动目标部件所需的资源是运行在目标部件连接的部件控制部分,不同部件控制部分驱动目标部件所需的资源不会出现相互调用的情况,所以不同部件控制部分对应的目标部件所属种类可以相同。下面举例进行说明。
不同部件控制部分对应的目标部件属于同一种类,在不同部件控制部分分别驱动目标部件的过程中,可能都需要调用库A,但是,不同部件控制部分都分别包括库A,所以对于一个部件控制部分而言,该部件控制部分运行的驱动程序调用该部件控制部分中的库A即可,无需调用其他部件控制部分中的库A,所以做到了不同部件控制部分相互“隔离”的目的,所以不同部件控制部分对应的目标部件所属种类可以相同。
下面结合具体例子对部件控制部分驱动目标部件执行对应操作进行说明。
若目标部件包括显卡,部件控制部分可以驱动显卡执行多媒体数据的处理。
若目标部件包括声卡,部件控制部分可以驱动声卡执行音频数据的处理。
若目标部件包括光驱,部件控制部分可以驱动光驱从光盘中读取或写入数据。
若目标部件包括处理模块(例如,DSP模块、VPU模块、FPGA模块),那么,部件控制部分可以驱动处理模块处理数据。
示例性的,主机部分可以通过扩展接口与部件控制部分进行交互。
在一可选实现方式中,在所述通过部件控制部分驱动所述目标部件执行对应操作之前,还包括:从所述部件控制部分配置的多个驱动框架中确定所述目标部件适配的至少一个驱动框架;利用所述至少一个驱动框架构建所述目标部件的驱动程序;所述通过部件控制部分驱动所述目标部件执行对应操作,包括:通过所述目标部件的驱动程序驱动所述目标部件执行对应操作。
步骤S32:通过所述部件控制部分将操作结果反馈给主机部分,所述主机部分与所述部件控制部分相连。
示例性的,目标部件所属种类不同操作结果不同。例如,若目标部件为显卡,操作结果为视频数据流,主机部分可以将视频数据流发送至显示器,以使得显示器显示视频,示例性的,主机部分无需再对视频数据流进行处理。若目标部件为声卡,操作结果为音频数据流,主机部分可以将音频数据流发送至扬声器,以使得扬声器发出声音,示例性的,主机部分无需再对音频数据流进行处理。
示例性的,主机部分可以直接使用部件控制部分反馈的操作结果,无需在对操作结果进行处理。
示例性的,若一个任务被分配给一个部件控制部分连接的多个部件进行处理,或,一个任务被分配给多个部件控制部分连接的一个或多个部件进行处理,那么,主机部分可以多个部件的操作结果进行处理,以得到最终的结果。
本申请实施例提供的电子设备中,包括主机部分以及连接于主机部分的部件控制部分,部件控制部分能够连接多个部件;在电子设备使用连接于部件控制部分的目标部件时,部件控制部分能够驱动所述目标部件执行对应操作,并将操作结果反馈给所述主机部分进行输出。无需人为安装目标部件对应的驱动程序,从而使得部件使用的复杂度降低,提高了部件使用的灵活性。
下面对部件控制部分能够驱动部件执行对应操作的原因进行说明。
示例性的,部件控制部分能够驱动部件执行对应的操作,是因为部件控制部分能够得到部件的驱动程序,部件控制部分利用部件的驱动程序驱动部件执行对应操作。下面对部件控制部分得到部件的驱动程序的过程进行说明。
可以理解的是,部件控制部分得到部件的驱动程序的实现方式有多种,本申请实施例提供但不限于以下两种。
示例性的,在部件与部件控制部分连接后,即部件上电后,部件控制部分就会获取该部件的驱动程序;示例性的,在部件与部件控制部分连接后,部件控制部分会在电子设备使用该部件时,获取该部件的驱动程序。
第一种部件控制部分得到部件的驱动程序的实现方式。
在第一种实现方式中,部件控制部分配置有用于构建不同驱动程序的多个驱动框架。所述部件控制部分,用于从所述多个驱动框架中确定所述部件适配的至少一个驱动框架,并利用所述至少一个驱动框架构建所述部件的驱动程序。
可以理解的是,部件控制部分从所述多个驱动框架中确定所述部件适配的至少一个驱动框架的实现方式有多种,本申请实施例提供但不限于以下实现方式,该实现方式在实现过程中包括以下步骤A1至步骤A3,步骤A1至步骤A3可以应用于部件控制部分。
步骤A1:确定所述部件所属的目标种类和目标类型。
步骤A2:从预设的种类和类型与驱动接口的对应关系中,查找目标种类和目标类型对应的至少一个驱动接口。
步骤A3:通过所述至少一个驱动接口,调用得到所述至少一个驱动接口分别对应的驱动框架。
为了本领域技术人员更加理解本申请实施例提供的驱动框架,下面举例对驱动框架的架构进行说明。
如图4所示,为本申请实施例提供的驱动框架的架构的示意图。
图4仅为示例,并不对驱动框架的架构进行限定。
驱动框架的架构包括:驱动抽象接口层31以及M个驱动接口。M个驱动接口分别为:驱动接口1、驱动接口2,…,驱动接口M。
每一驱动接口对应一个或多个驱动框架,例如,驱动接口1对应N1个驱动框架,且分别为:驱动框架1、驱动框架2,…,驱动框架N1。驱动接口M对应N2个驱动框架,且分别为:驱动框架1、驱动框架2,…,驱动框架N2。
其中,M、N1、N2均为大于或等于1的正整数。
示例性的,图4所示的驱动框架的架构可以为同一种类同一类型的部件对应的驱动框架的架构。此时,驱动抽象接口层可以仅相应种类相应类型的部件可以调用。
示例性的,图4所示的驱动框架的架构可以为同一种类不同类型的多个部件对应的驱动框架的架构,此时,驱动抽象接口层可以仅相应种类的各部件可以调用。
示例性的,驱动抽象接口层可以包括预设的种类和类型与驱动接口的对应关系。
示例性的,属于同一种类但不同类型的部件对应的驱动接口不完全相同,或,完全不同,或,完全相同。
示例性的,图4所示的驱动框架的架构可以为属于不同种类的多个部件对应的驱动框架的架构,此时,驱动抽象接口层可以被不同种类的部件调用。
示例性的,驱动抽象接口层可以包括预设的种类和类型与驱动接口的对应关系。
示例性的,属于不同种类的部件对应的驱动接口不完全相同,或,完全不同,或,完全相同。
第二种部件控制部分得到部件的驱动程序的实现方式。
在第二种实现方式中,所述部件控制部分配置有多种驱动程序。所述部件控制部分,用于从所述多个驱动程序中确定出适配所述目标部件的驱动程序。
部件控制部分从所述多个驱动程序中确定出适配所述目标部件的驱动程序的实现方式有多种,本申请实施例提供但不限于以下实现方式,该实现方式在实现过程中包括以下步骤B1至步骤B3,步骤B1至步骤B3可以应用于部件控制部分。
步骤B1:确定部件所属目标种类和目标类型。
步骤B2:从预先设置的种类和类型与驱动程序的标识的对应关系中,查找目标种类和目标类型对应的驱动程序的目标标识。
示例性的,驱动程序的标识可以为驱动程序的存储地址。
步骤B3:获得具有目标标识的驱动程序。
综上,无论是第一种实现方式还是第二种实现方式,部件控制部分得到部件的驱动程序后,可以基于部件的驱动程序对部件进行初始化。示例性的,部件控制部分在得到驱动程序后就对部件进行初始化;示例性的,电子设备在使用该部件时,才会基于部件的驱动程序对部件进行初始化。
下面结合部件控制部分的功能对部件控制部分的结构进行说明。
如图5所示,为本申请实施例提供的部件控制部分的硬件结构图,该部件控制部分包括:主机接口41、多个部件接口42以及控制装置43。
在一可选实现方式中,部件控制部分12还可以包括存储器44。示例性的,控制部件部分可以将驱动部件执行对应操作得到的操作结果存储在存储器44中。示例性的,驱动框架可以存储在存储器44中。
在一可选实现方式中,部件控制部分不包括存储器44。示例性的,控制部件部分可以将驱动部件执行对应操作得到的操作结果存储在主机部分的存储器中。示例性的,驱动框架可以存储在部件控制部分对应的云存储空间中。
下面对部件控制部分包含的各个构成部分进行具体介绍。
主机接口41,用于连接所述主机部分。
示例性的,主机接口41与主机部分的扩展接口相配合,若扩展接口为扩展插槽,则主机接口为扩展插槽接口,例如,若扩展接口为PCIE插槽,则主机接口为PCIE接口。
多个部件接口42,所述部件接口用于连接部件。
示例性的,部件接口42可以为扩展插槽,扩展插槽可以为PCIE插槽。
示例性的,部件控制部分通过部件接口与部件进行交互。
控制装置43,与所述主机接口和所述部件接口相连,用于在电子设备使用所述多个部件中的目标部件时,驱动所述目标部件执行对应操作,通过连接所述目标部件的部件接口获得所述目标部件的操作结果,并将所述操作结果通过所述主机接口反馈给所述主机部分进行输出。
示例性的,部件控制部分执行的方法,由控制装置43执行。
示例性的,控制装置43是部件控制部分的控制中心,利用各种接口和线路连接整个部件控制部分的各个部分。示例性的,控制装置43可能是一个中央处理器(CentralProcessing Unit,CPU),或者是特定集成电路ASIC(Application Specific IntegratedCircuit),或者是被配置成实施本发明实施例的一个或多个集成电路等。
示例性的,存储器44可能包含内存,例如RAM和/或ROM,也可能还包括大容量存储设备,例如至少1个磁盘存储器等。
需要说明的是,本领域技术人员可以理解,图5中示出的部件控制部分的结构并不构成对部件控制部分的限定,部件控制部分可以包括比图5所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
应当注意的是,图5示出的主机接口、部件接口、控制装置的位置仅为示例,并不造成限定;图5示出的主机接口、部件接口、控制装置的结构仅为示例并不造成限定;图5示出的部件接口的数目仅为示例,并不造成限定。
示例性的,部件控制部分的操作系统存储于存储器44中,例如,存储器44的内存中。示例性的,部件控制部分的操作系统存储部件控制部分对应的云存储中。
示例性的,部件控制部分的操作系统可以为Micro OS(操作系统,operationsystem)。示例性的,图3所示的架构可以部署于部件控制部分的操作系统中。
下面结合图5对部件控制部分的电路进行说明。如图6所示,为本申请实施例提供的部件控制部分的电路图。
主机接口41、部件接口42、存储器44分别与控制装置43的连接关系如图6所示。图6仅为示例,并不限定主机接口41、部件接口42、存储器44分别与控制装置43的连接关系。
图6示出了三个部件接口42,每一部件接口42与控制装置43的连接关系如图4所示。
应当注意的是,图6示出的部件接口42的数目仅为示例,并不造成限定。
在一可选实现方式中,若部件控制部分包括存储器44。控制装置用于将所述操作结果缓存到所述存储器44,以使得主机部分能够从所述存储器44获得所述操作结果。
示例性的,控制装置将所述操作结果缓存到所述存储器44的过程包括:部件将操作结果通过部件接口传输至部件控制部分的控制装置;控制装置将操作结果存储到存储器44中。
示例性的,主机部分可以通过扩展接口从部件控制部分的存储器中获得操作结果。
若部件控制部分包括存储器,在主机部分与多个部件控制部分相连的情况下,存储不同部件控制部分得到的操作结果的存储空间是互相独立的。彼此之间互不影响。
在一可选实现方式中,主机部分,还用于将所述存储器的地址空间映射为所述主机部分可访问的地址空间,以使得所述主机部分能够从所述存储器获取并处理所述操作结果。
示例性的,主机部分能够通过扩展接口访问部件控制部分中的存储器。
在上述这种情况下,部件控制部分中的存储器44不仅仅用于缓存部件控制部分得到的操作结果。部件控制部分中的存储器44还相当于扩容了主机部分的存储器,即电子设备的存储器的容量等于主机部分的存储器的容量与部件控制部分的存储器的容量之和。
示例性的,在上述情况下,主机部分在需要一个或多个部件控制部件中的存储器中存储的数据时,从一个或多个部件控制部件中的存储器中获得相应数据,无需将一个或多个部件控制部件中的存储器中存储的数据存储在主机部分的存储器中。
示例性的,主机部分存储有部件控制部分的存储器的地址。
在一可选实现方式中,部件控制部分的控制装置得到操作结果后,将操作结果存储至部件控制部分中的存储器中。若部件控制部分连接有多个部件时,若多个部件均产生了操作结果,控制装置在将多个部件分别对应的操作结果存储至存储器44中时,占用了控制装置的资源,降低控制装置处理其他任务的速度。
在一可选实现方式中,部件控制部分的控制装置还用于将所述存储器的地址空间映射为部件可访问的地址空间,以使得部件能够将操作结果缓存到所述存储器。若部件控制部分连接有多个部件时,若多个部件均产生了操作结果,由于可以由部件将自身产生的操作结果存储至存储器44,无需占用控制装置的资源,不会影响控制装置处理其他任务的速度。
为了本领域技术人员更加理解本申请实施例提供的电子设备。下面以部件为显卡为例进行说明。
若部件为显卡,部件控制部分的部件接口为显卡接口,显卡接口用于连接显卡;部件控制部分可以包括多个部件接口,以使得部件控制部分能够连接多个显卡。
如图7所示,为本申请实施例提供的主机部分、部件控制部分以及显示器的数据流向图。
步骤一:在电子设备使用所述多个显卡51中的目标显卡51时,控制装置将所述主机部分待处理的多媒体数据传输给所述目标显卡。
示例性的,主机部分11中的处理器111将待处理的多媒体数据通过扩展接口发送至部件控制部分12。
示例性的,部件控制部分12中的控制装置43控制将待处理的多媒体数据传输给所述目标显卡51。图7中用填充有黑色网格图案的显卡为目标显卡51。
示例性的,控制装置43将待处理的多媒体数据通过部件接口传输给所述目标显卡51。图7中用黑色视线箭头表示待处理的多媒体数据的流向。
步骤二:控制装置能够驱动所述目标显卡执行所述多媒体数据的处理,将所述目标显卡的操作结果通过所述主机接口反馈给所述主机部分进行输出。
示例性的,图7中以虚线箭头表征操作结果的流向。
示例性的,目标显卡通过部件接口将操作结果传输至部件控制部分;部件控制部分中的控制装置将操作结果传输至主机部分。
示例性的,操作结果包含的多媒体数据为显示器能够识别的数据。主机部分可以将操作结果传输至显示器52。使得显示器52显示多媒体数据。
本申请实施例提供的电子设备中,主机部分可以包括一个或多个扩展接口,每一扩展接口可以连接一个部件控制部分;一个部件控制部分可以包括一个或多个部件接口,一个部件接口可以连接一个部件。示例性的,电子设备可以运行一个或多个客户端,每一客户端对应的任务可以由一个或多个部件控制部分中的一个或多个部件处理。示例性的,该客户端可以为应用程序客户端或网页客户端。
在示例性实施例中,本公开实施例提供了一种包括指令的存储介质,例如包括指令的存储器44,上述指令可由部件控制部分的控制装置执行以完成以下方法:在电子设备使用所述多个部件中的目标部件时,驱动所述目标部件执行对应操作,通过连接所述目标部件的部件接口获得所述目标部件的操作结果,并将所述操作结果通过所述主机接口反馈给所述主机部分进行输出。
在示例性实施例中,本公开实施例提供了一种包括指令的存储介质,例如包括指令的属于主机部分的存储器,上述指令可由主机部分的处理器执行以完成控制方法。
在示例性实施例中,还提供了一种计算机可读存储介质,可直接加载到计算机的内部存储器,例如上述存储器44中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现以下方法:在电子设备使用所述多个部件中的目标部件时,驱动所述目标部件执行对应操作,通过连接所述目标部件的部件接口获得所述目标部件的操作结果,并将所述操作结果通过所述主机接口反馈给所述主机部分进行输出。
在示例性实施例中,还提供了一种计算机可读存储介质,可直接加载到计算机的内部存储器,例如上述主机部分的存储器中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现控制方法。
在示例性实施例中,还提供一种计算机程序产品,可直接加载到计算机的内部存储器,例如所述部件控制部分包含的存储器中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述方法。
在示例性实施例中,还提供一种计算机程序产品,可直接加载到计算机的内部存储器,例如所述主机部分包含的存储器中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述控制方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。同时,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种电子设备,包括:
主机部分;
部件控制部分,连接于所述主机部分,所述部件控制部分能够连接多个部件;
其中,在电子设备使用所述多个部件中的目标部件时,所述部件控制部分能够驱动所述目标部件执行对应操作,并将操作结果反馈给所述主机部分进行输出;
所述部件控制部分配置有用于构建不同驱动程序的多个驱动框架;
且,所述部件控制部分,用于从所述多个驱动框架中确定所述部件适配的至少一个驱动框架,并利用所述至少一个驱动框架构建所述部件的驱动程序;
其中,所述部件控制部分通过构建出的所述目标部件的驱动程序驱动所述目标部件执行对应操作;
或,
所述部件控制部分配置有多个驱动程序;
且,所述部件控制部分,用于从所述多个驱动程序中确定出适配所述目标部件的驱动程序;
其中,所述部件控制部分通过所述目标部件适配的目标驱动程序驱动所述目标部件执行对应操作。
2.根据权利要求1所述的电子设备,所述部件控制部分,包括:
主机接口,用于连接所述主机部分;
多个部件接口,所述部件接口用于连接所述部件;
控制装置,与所述主机接口和所述部件接口相连,用于在电子设备使用所述多个部件中的目标部件时,驱动所述目标部件执行对应操作,通过连接所述目标部件的部件接口获得所述目标部件的操作结果,并将所述操作结果通过所述主机接口反馈给所述主机部分进行输出。
3.根据权利要求2所述的电子设备,所述部件控制部分还包括:
与所述控制装置相连的存储器;
所述控制装置用于将所述操作结果缓存到所述存储器,以使得主机部分能够从所述存储器获得所述操作结果。
4.根据权利要求3所述的电子设备,所述主机部分,还用于将所述存储器的地址空间映射为所述主机部分可访问的地址空间,以使得所述主机部分能够从所述存储器获取并处理所述操作结果。
5.根据权利要求3所述的电子设备,所述控制装置,还用于将所述存储器的地址空间映射为所述目标部件可访问的地址空间,以使得所述目标部件能够将所述操作结果缓存到所述存储器。
6.根据权利要求2所述的电子设备,所述部件接口为显卡接口,所述显卡接口用于连接显卡,使得所述部件控制部分能够连接多个显卡;
在电子设备使用所述多个显卡中的目标显卡时,所述控制装置,将所述主机部分待处理的多媒体数据传输给所述目标显卡,并能够驱动所述目标显卡执行所述多媒体数据的处理,将所述目标显卡的操作结果通过所述主机接口反馈给所述主机部分进行输出。
7.一种控制方法,包括:
在电子设备使用部件控制部分连接的部件中的目标部件时,通过部件控制部分驱动所述目标部件执行对应操作,其中,部件控制部分能够连接多个部件,所述目标部件属于所述多个部件;
通过所述部件控制部分将操作结果反馈给主机部分,所述主机部分与所述部件控制部分相连;
在所述通过部件控制部分驱动所述目标部件执行对应操作之前,还包括:
从所述部件控制部分配置的多个驱动框架中确定所述目标部件适配的至少一个驱动框架;
利用所述至少一个驱动框架构建所述目标部件的驱动程序;
所述通过部件控制部分驱动所述目标部件执行对应操作,包括:
通过所述目标部件的驱动程序驱动所述目标部件执行对应操作;
或,
从所述部件控制部分配置的多个驱动程序中确定出适配所述目标部件的驱动程序;
所述通过部件控制部分驱动所述目标部件执行对应操作,包括:
通过所述目标部件适配的目标驱动程序驱动所述目标部件执行对应操作。
CN202110341000.8A 2021-03-30 2021-03-30 电子设备及控制方法 Active CN113050998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110341000.8A CN113050998B (zh) 2021-03-30 2021-03-30 电子设备及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110341000.8A CN113050998B (zh) 2021-03-30 2021-03-30 电子设备及控制方法

Publications (2)

Publication Number Publication Date
CN113050998A CN113050998A (zh) 2021-06-29
CN113050998B true CN113050998B (zh) 2022-08-19

Family

ID=76517045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110341000.8A Active CN113050998B (zh) 2021-03-30 2021-03-30 电子设备及控制方法

Country Status (1)

Country Link
CN (1) CN113050998B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236538A (zh) * 2007-02-01 2008-08-06 捷安讯科技股份有限公司 硬件的驱动架构与方法
CN110032253A (zh) * 2019-03-29 2019-07-19 联想(北京)有限公司 电子设备和显示装置
CN110286869A (zh) * 2019-07-01 2019-09-27 联想(北京)有限公司 一种控制方法及电子设备
CN112162743A (zh) * 2020-08-24 2021-01-01 西安广和通无线软件有限公司 驱动程序生成方法、装置、计算机设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5427187B2 (ja) * 2007-12-13 2014-02-26 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 複数のグラフィックサブシステムおよび低電力消費モードを有するコンピューティングデバイス用ドライバアーキテクチャ、ソフトウェアおよび方法
CN105556461B (zh) * 2013-10-24 2021-03-12 英特尔公司 用于预os镜像重写以提供跨架构支持、安全性自省和性能优化的技术
WO2018119611A1 (zh) * 2016-12-26 2018-07-05 深圳前海达闼云端智能科技有限公司 多操作系统多媒体数据编解码方法、装置、电子设备和计算机程序产品
US10789058B2 (en) * 2018-05-30 2020-09-29 Microsoft Technology Licensing, Llc Extensibility of unified platform
US11086800B2 (en) * 2019-06-01 2021-08-10 Apple Inc. Execution space agnostic device drivers
EP3767465A1 (en) * 2019-07-15 2021-01-20 GrAl Matter Labs S.A.S. Processing device and method of operating the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236538A (zh) * 2007-02-01 2008-08-06 捷安讯科技股份有限公司 硬件的驱动架构与方法
CN110032253A (zh) * 2019-03-29 2019-07-19 联想(北京)有限公司 电子设备和显示装置
CN110286869A (zh) * 2019-07-01 2019-09-27 联想(北京)有限公司 一种控制方法及电子设备
CN112162743A (zh) * 2020-08-24 2021-01-01 西安广和通无线软件有限公司 驱动程序生成方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN113050998A (zh) 2021-06-29

Similar Documents

Publication Publication Date Title
CN102053871B (zh) 一种应用程序图像的显示方法和装置
CN112055072B (zh) 云端音频输入方法、装置、云系统、电子设备与存储介质
CN109240754B (zh) 一种配置bios启动项的逻辑器件及方法、系统
CN102567052A (zh) 启用配置有图形处理器的服务器的远程管理的技术
US9990214B2 (en) Dynamic agent delivery
US11347538B2 (en) Method for controlling execution of heterogeneous operating systems and electronic device and storage medium therefor
CN111309216B (zh) 列表页面的显示方法、装置、计算机设备及存储介质
CN116257320B (zh) 一种基于dpu虚拟化配置管理方法、装置、设备及介质
US20140351833A1 (en) Multi-computing environment operating on a single native operating system
CN113645369A (zh) 多个屏幕的显示方法及装置、计算机可读存储介质、终端
CN113050998B (zh) 电子设备及控制方法
CN111371950A (zh) 分屏响应方法及装置、终端、存储介质
CN111930575A (zh) 一种固件获取方法、装置及电子设备
CN115358331A (zh) 设备类型识别方法及装置、计算机可读存储介质、终端
CN113626099B (zh) 应用程序的启动方法、装置及电子设备
CN114860321A (zh) 基于树莓派的外接设备控制方法、装置、设备及介质
CN113485835B (zh) 一种多场景下共享内存的实现方法、系统、设备及介质
US20210354713A1 (en) Agent control device, agent control method, and storage medium storing agent control program
CN109669715A (zh) 应用程序动态更新方法、设备及存储介质
US12010356B2 (en) Method and apparatus for sending information in live broadcast room, and electronic device
CN110442342B (zh) 界面生成方法、装置、存储介质及计算机设备
CN109933434B (zh) 电子装置及扩展外围设备的方法
CN110891120B (zh) 界面内容展示方法、装置及存储介质
CN113515299A (zh) 软件开发工具包sdk热升级方法、装置、设备及存储介质
CN110532040A (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