CN115328833A - 硬件资源的复用方法、装置、硬件平台及存储介质 - Google Patents
硬件资源的复用方法、装置、硬件平台及存储介质 Download PDFInfo
- Publication number
- CN115328833A CN115328833A CN202210863502.1A CN202210863502A CN115328833A CN 115328833 A CN115328833 A CN 115328833A CN 202210863502 A CN202210863502 A CN 202210863502A CN 115328833 A CN115328833 A CN 115328833A
- Authority
- CN
- China
- Prior art keywords
- multiplexing
- resources
- target
- driver
- resource
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种硬件资源的复用方法、装置、硬件平台及存储介质。该方法包括:识别硬件平台中目标系统级芯片内的独占资源和复用资源;将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中;响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源;若是,则在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动。本发明实施例的技术方案解决了多个硬件平台中的不同板级设备复用同一系统级芯片时容易产生复用混淆以及硬件资源分配繁琐的问题,降低了为不同设备进行静态资源分配的复杂度,减轻了开发人员的维护工作难度。
Description
技术领域
本发明涉及计算机操作系统技术领域,尤其涉及一种硬件资源的复用方法、装置、硬件平台及存储介质。
背景技术
操作系统一般是通过硬件层的描述文件来对片上系统(System on Chip,系统级芯片)中的硬件资源进行分配,例如嵌入式Linux系统在设备树中定义资源分配,优点在于实现驱动代码与设备信息相分离。
由于片上系统中的硬件资源非常丰富,通常可与多个设备相适配,不同设备间可能需要共用片上系统中的相同硬件引脚。此时,需要开发人员为每个设备进行静态分配资源,并相应构建独立的设备树文件,并在该设备树文件中明确定义该设备对片上系统的引脚复用方式。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:当用同一片上系统实现的硬件平台数量增多时,所需构建的设备树文件的数量也随之增多,不同设备树中定义的内容容易产生混淆、难以维护,并且导致繁琐的静态资源分配过程,加大了开发人员的工作量。
发明内容
本发明提供了一种硬件资源的复用方法、装置、硬件平台及存储介质,以提供一种新的硬件资源的复用方式,减少硬件资源复用过程中的工作量。
根据本发明的一方面,提供了一种硬件资源的复用方法,其中,包括:
识别硬件平台中目标系统级芯片内的独占资源和复用资源,其中,目标系统级芯片的独占资源被硬件平台中固定设备所占用,复用资源被硬件平台中的多个设备所占用,每个设备与至少一个设备驱动关联;
将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中;
响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源;
若是,则在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动。
根据本发明的另一方面,提供了一种硬件资源的复用装置,其中,包括:
资源识别模块,用于识别硬件平台中目标系统级芯片内的独占资源和复用资源,其中,目标系统级芯片的独占资源被硬件平台中固定设备所占用,复用资源被硬件平台中的多个设备所占用,每个设备与至少一个设备驱动关联;
资源分类模块,用于将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中;
复用资源检测模块,用于响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源;
复用资源分配模块,用于若驱动复用列表中存在与目标设备驱动匹配的目标复用资源,则在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动。
根据本发明的另一方面,提供了一种硬件平台,其中,所述硬件平台中包括系统级芯片以及设备,其中,同一系统级芯片的独占资源被硬件平台中固定设备所占用,复用资源被硬件平台中的多个设备所占用,每个设备与至少一个设备驱动关联同一系统级芯片与多个设备相适配,每个设备与至少一个设备驱动关联;包括:
在所述系统级芯片上,配置有至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一项实施例所述的硬件资源的复用方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的硬件资源的复用方法。
本发明实施例的技术方案,通过识别硬件平台中目标系统级芯片内的独占资源和复用资源;将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中;响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源;若是,则在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动的技术手段,仅通过一套通用的复用资源分配方式,即可实现将系统级芯片内全部复用资源在多个设备上进行复用的技术效果,解决了多个硬件平台中的不同板级设备复用同一系统级芯片时容易产生复用混淆以及硬件资源分配繁琐的问题,降低了为不同设备进行静态资源分配的复杂度,减轻了开发人员的维护工作难度。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是根据本发明实施例一提供的一种硬件资源的复用方法的流程图;
图1b是根据本发明实施例一提供的方法中的操作系统架构的结构示意图;
图2是根据本发明实施例二提供的另一种硬件资源的复用方法的流程图;
图3是根据本发明实施例三提供的一种硬件资源的复用装置的结构示意图;
图4是实现本发明实施例的硬件资源的复用方法的硬件平台的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“目标”、“当前”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1a为本发明实施例一提供了一种硬件资源的复用方法的流程图,本实施例可适用于将硬件平台中同一系统级芯片上的硬件资源复用给该硬件平台上的多个设备的情况,该方法可以由硬件资源的复用装置来执行,该硬件资源的复用装置可以采用硬件和/或软件的形式实现,并一般可以集成在该系统级芯片上所安装的操作系统中,具体的,由操作系统中的资源管理器执行。
相应的,如图1a所示,该方法包括:
S110、识别硬件平台中目标系统级芯片内的独占资源和复用资源。
其中,不同的硬件平台包含同一个目标系统级芯片和不同的板级设备,每个板级设备对应一个设备驱动。每个系统级芯片上可以适配一个或者多个设备。而本发明实施例的技术方案主要适用于与硬件平台中多个设备相适配的一个或者多个系统级芯片。为了便于说明,仅以与多个设备相适配的一个目标系统级芯片为例进行后续描述。
可以理解的是,为了有效使用目标系统级芯片所能提供的各项功能,需要首先在该系统级芯片内安装操作系统,例如,Linux操作系统等,进而,可以通过使用在该操作系统上安装的各项应用程序(app),有效的对硬件平台中的各项设备进行调配使用,实现各类设备功能。
其中,应用程序主要通过设备驱动实现对设备的调用。设备驱动可以理解为建立应用程序与设备之间通信连接的程序。一般来说,每个设备均对应一个匹配的设备驱动。当一个应用程序通过设备驱动与一个设备成功的进行通信后,可以控制该设备执行相应的设备功能。可选的,可以在操作系统中预先安装各设备的设备驱动,以为后续对各设备的调用操作提供软件支持。
可以理解的是,系统级芯片是指的是在单个芯片上集成的一个完整集成电路,可以对所有或部分必要的电子电路进行包分组。所谓完整集成电路一般包括中央处理器、存储器、以及外围电路等。系统级芯片是与其它技术并行发展的,如绝缘硅,它可以提供增强的时钟频率,从而降低微芯片的功耗。系统级芯片上具有各种硬件资源,例如,各种寄存器、定时器、存储区以及硬件引脚等。按照硬件资源的复用类型,可以将上述各硬件资源划分为独占资源和复用资源。
具体的,独占资源可以是仅能被单一设备单独使用的硬件资源。复用资源可以是能被多个设备共同使用的硬件资源。
在一个具体的例子中,独占资源可以包括系统级芯片内的中断控制器、设定地址的内存空间等,复用资源可以包括系统级芯片内的各类输入输出端口(例如,系统级芯片上提供的可复用管脚)等。可选的,识别硬件平台中目标系统级芯片内的独占资源和复用资源,可以包括:
当配置在硬件平台中的操作系统被启动时,对硬件平台中目标系统级芯片内的各项硬件资源进行检测,并将检测到的硬件资源识别为独占资源或者复用资源。
在本实施例中,所述方法可以由操作系统中的资源管理器执行,该资源管理器一般随操作系统的启动而启动,进而,可以在资源管理器随操作系统启动后,实现对目标系统级芯片内的各项硬件资源进行检测,获取该目标系统级芯片中包含的全部硬件资源。
在本实施例的一个可选的实施方式中,可以通过检测到的硬件资源的资源类型或者是资源标识符,识别硬件资源具体为独占资源还是复用资源。
S120、将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中。
在本实施例中,由于硬件平台中目标系统级芯片中所配置的操作系统中一般安装有多个设备驱动,因此需要依次加载每个设备驱动,并获取每个设备驱动所需的全部目标硬件资源,并对每个设备驱动进行独占资源的分配,以及复用资源的待分配。
当资源管理器成功完成硬件资源的扫描后,一般需要将上述各硬件资源分配给操作系统中安装的各项设备驱动。在本实施例中,提出了一种新的硬件资源分配方式,也即,仅为各项设备驱动分配独占资源,而将各设备驱动所需使用的全部复用资源进行统一管理,以便于后续的资源抢占。
其中,驱动复用列表可以是包含多个驱动设备复用资源信息的列表。在一个具体的例子中,驱动复用列表中包括多个驱动复用项,每个驱动复用项中存储有复用资源标识,以及需要复用该复用资源的设备驱动的驱动标识。
具体的,当配置在硬件平台中的Linux操作系统被启动时,对硬件平台中目标系统级芯片内的各项硬件资源进行检测。
在本实施例的一个可选的实施方式中,将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中,可以包括:
在操作系统加载设备驱动的过程中,依次获取一个当前加载设备驱动;获取当前加载设备驱动所需的全部目标硬件资源;将目标硬件资源中包括的独占资源分配给当前加载设备驱动,并将目标硬件资源中包括的复用资源加入驱动复用列表中;返回执行依次获取一个当前加载设备驱动的操作,直至完成对全部设备驱动的加载。
如前所述,当操作系统在启动后,资源管理器会随之启动进行硬件资源的检测,在完成硬件资源的检测后,资源管理器会相应实现对操作系统中安装的各项设备驱动的加载,以备后续直接被应用程序调用。进而,可以在资源管理器加载各设备驱动的过程中,实现独占资源的分配和复用资源的列表写入过程。
在一个具体的例子中,假设硬件平台中目标系统级芯片所配置的操作系统内共安装有5个设备驱动,分别为设备驱动1、设备驱动2、设备驱动3、设备驱动4和设备驱动5。并且目标系统级芯片存在10个作为硬件资源的硬件引脚(可以通过各个设备驱动与匹配的设备建立通信连接),分别为引脚1、引脚2、引脚3、引脚4、引脚5、引脚6、引脚7、引脚8、引脚9和引脚10,每个设备驱动与至少一个设备驱动关联。
在上述各硬件资源中,独占资源为引脚1、引脚2、引脚3和引脚4,复用资源为引脚5、引脚6、引脚7、引脚8、引脚9和引脚10。
相应的,以资源管理器对设备驱动1的加载过程为例,首先检测设备驱动1所需的的全部目标硬件资源,例如:引脚1、引脚2、引脚5、引脚6、引脚9和引脚10。
其中,一个设备驱动所需的全部硬件资源,可以在安装该设备驱动时,作为一项初始化配置信息预先写入至该设备驱动中。
如前例,由于引脚1和引脚2为独占资源,可以直接分配至设备驱动1进行独占的使用。引脚5、引脚6、引脚9和引脚10为复用资源,需要将驱动设备1与上述复用资源之间的复用关系写入至复用资源的列表中。
具体的,可以构建形如:设备驱动1,引脚5、引脚6、引脚9和引脚10的一条复用资源项写入至复用资源的列表中。
之后,继续执行获取一个新的当前加载设备驱动的操作,也即获取设备驱动2、设备驱动3、设备驱动4和设备驱动5的操作,直至完成对全部设备驱动的加载。
进一步的,假设引脚1和引脚2为设备驱动1的独占资源,引脚3和引脚4为设备驱动3的独占资源。引脚5和引脚6为设备驱动1、设备驱动2、设备驱动3、设备驱动4和设备驱动5的复用资源,引脚7和引脚8为设备驱动3和设备驱动4的复用资源,引脚9和引脚10为设备驱动1和设备驱动2的复用资源。
在完成对全部设备驱动的加载后,在驱动复用列表中记录的信息为:
设备驱动1,引脚5、引脚6、引脚9和引脚10;
设备驱动2,引脚5、引脚6、引脚9和引脚10;
设备驱动3,引脚5、引脚6、引脚7和引脚8;
设备驱动4,引脚5、引脚6、引脚7和引脚8;
设备驱动5,引脚5和引脚6。
这样设置的好处在于:通过逐个遍历每个当前加载设备驱动,并将独占资源分配给当前加载设备驱动、以及复用资源加入驱动复用列表中。这样可以更加有条理地进行资源的分配,避免多驱动设备的资源复用产生的混淆的情况的发生。
S130、响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源。
续前例,在驱动复用列表中记录的信息为:
设备驱动1,引脚5、引脚6、引脚9和引脚10;
设备驱动2,引脚5、引脚6、引脚9和引脚10;
设备驱动3,引脚5、引脚6、引脚7和引脚8;
设备驱动4,引脚5、引脚6、引脚7和引脚8;
设备驱动5,引脚5和引脚6。
响应于对某一特定的应用程序对目标设备驱动5的调用请求,首先需要检测驱动复用列表中是否存在与设备驱动5匹配的目标复用资源,也即检测驱动复用列表中是否存在包含设备驱动5的驱动复用项。
S140、若是,则在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动。
其中,目标复用资源的分配条件可以是衡量当前复用资源能否被目标设备驱动使用,也即分配给目标设备驱动。如果当前复用资源没有被占用,则可以直接分配给目标设备驱动,反之,需要进行相应的冲突检测之后进行再分配。
续前例,在检测到驱动复用列表中存在包含设备驱动5的驱动复用项之后,进一步的,需要判断是否满足目标复用资源的分配条件,如果引脚5和引脚6没有被占用,也即满足目标复用资源的分配条件,则将引脚5和引脚6动态分配至设备驱动5中。
如前所述,所述方法由操作系统中的资源管理器执行。其中,资源管理器可以是能够对操作系统中各独占资源和复用资源进行调度和分配等操作的管理器。
在操作系统中,将独占资源(中断寄存器以及设定地址的内存空间等)和复用资源(I/O端口等)都统一注册到资源管理器中。
如图1b所示为操作系统架构的结构示意图,其中最后一层为多个设备的硬件集合,统一由上一层的资源管理器进行统一的管理。第三层为多个设备驱动。具体的,可以包括UART驱动(Universal Asynchronous Receiver and Transmitter,通用异步接收器和发送器驱动)、以及SPI驱动(Serial Peripheral Interface,串行外设接口驱动)等,每个设备包括一个匹配的设备驱动。第二层为操作系统,第一层为应用程序,也即用户能够直接看到并且操作的用户程序或者操作系统后台运行的系统程序。
本发明实施例的技术方案,通过识别硬件平台中目标系统级芯片内的独占资源和复用资源;将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中;响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源;若是,则在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动的技术手段,仅通过一套通用的复用资源分配方式,即可实现将系统级芯片内全部复用资源在多个设备上进行复用的技术效果,解决了多个硬件平台中的不同板级设备复用同一系统级芯片时容易产生复用混淆以及硬件资源分配繁琐的问题,降低了为不同设备进行手动资源分配的复杂度,减轻了开发人员的维护工作难度。
实施例二
图2为本发明实施例二提供的另一种硬件资源的复用方法的流程图,本实施例以上述各实施例为基础进行细化,在本实施例中,将在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动的操作进行进一步细化。如图2所示,该方法包括:
S210、识别硬件平台中目标系统级芯片内的独占资源和复用资源。
S220、将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中。
S230、响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源。
S240、若是,则检测所述目标复用资源的当前分配状态。
S250、判断当前分配状态是否为未分配状态,若是,则执行S260,若否,则执行S270。
其中,未分配状态可以是目标复用资源没有被占用,也即当前目标复用资源没有被使用,目标复用资源可以被分配。
另外的,已分配状态可以是目标复用资源被占用,也即当前目标复用资源正在被使用,目标复用资源不可以被分配。
S260、将所述目标复用资源动态分配至目标设备驱动,并将目标复用资源的当前分配状态更新为已分配。
续前例,目标复用资源的分配状态包括未分配状态和已分配状态。由于目标复用资源的当前分配状态为未分配状态,可以直接将引脚5和引脚6动态分配至设备驱动5中,并将目标复用资源的当前分配状态更新为已分配。
S270、获取所述目标复用资源当前分配的设备驱动的优先级。
S280、如果所述优先级属于可抢占优先级,则按照预设的抢占策略,执行对所述目标复用资源的抢占操作。
其中,可抢占优先级可以是目标设备驱动能够对复用资源进行抢占的优先级。具体的,可以包括目标设备驱动的可抢占优先级,可以对目标复用资源进行抢占。抢占策略可以根据目标设备驱动优先级、设备驱动通信情况等信息进行抢占复用资源的策略。
S290、在确定抢占成功后,将所述目标复用资源动态分配至目标设备驱动。
续前例,假设设备驱动1和设备驱动5均需要调用目标复用资源,及引脚5和引脚6。由于此时引脚5和引脚6被设备驱动5占用,所以引脚5和引脚6处于已分配状态。此时,需要判断设备驱动5对应的优先级为可抢占优先级还是不可抢占优先级,可以设置可抢占优先级为0,不可抢占优先级为1。
进一步的,若设备驱动5对应的优先级为可抢占优先级,也即设备驱动5对应的优先级为0。即设备驱动1可以按照预设的抢占策略,执行对目标复用资源的抢占操作,在确定抢占成功后,将引脚5和引脚6分配给设备驱动1,并将优先级修改为不可抢占优先级,也即优先级为1。
本实施例一个可选的实施方式,如果设备驱动5在抢占目标复用资源的时间内,并没有进行数据的收发。所以下次当设备驱动5和设备驱动1同时抢占目标复用资源时,优先将目标复用资源分配给设备驱动1,可以避免复用资源的再次浪费,能够很好地进行资源的调度和分配。
可选的,在将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中之后,还包括:实时更新已分配复用资源的各设备驱动的优先级;其中,当一个设备驱动被分配一个复用资源后,该设备驱动的优先级被更新为可抢占优先级;当一个设备驱动使用已分配复用资源与设备进行通信时,该设备驱动的优先级被更新为不可抢占优先级。
其中,不可抢占优先级可以是目标设备驱动不能对复用资源进行抢占的优先级。具体的,当该设备驱动与另外一个设备通过已分配复用资源进行通信时,说明该设备驱动处于通信状态,也即进行数据的收发,说明该设备驱动不可以被打断,也即该设备驱动的优先级为不可抢占优先级。
续前例,假设设备驱动1当前需要调用目标复用资源,也即,引脚5和引脚6。此时,需要首先检测引脚5和引脚6是否处于已分配状态,如果确定引脚5和引脚6处于已分配状态,则需要检测引脚5和引脚6当前被分配的设备驱动,例如,设备驱动5。之后,需要继续检测设备驱动5对应的优先级,如果该优先级为0,说明设备驱动5所关联的设备当前未进行数据的传输,则设备驱动1可以尝试抢占引脚5和引脚6;该优先级为1,说明设备驱动5所关联的设备当前正在进行数据的传输,则设备驱动1当前不能抢占引脚5和引脚6,此时设备驱动1需要啊处于等待状态,等待设备驱动5完成数据的传输后,再尝试进行引脚5和引脚6的抢占、
也即,当设备驱动5通过引脚5和引脚6与设备驱动5所关联的设备数据传输完毕时,此时可以将设备驱动5的优先级更新为可抢占优先级,即将优先级修改为“0”。此时,设备驱动1则可以按照预设的抢占策略,执行对目标复用资源的抢占操作。
这样设置的好处在于:通过实时更新已分配复用资源的各设备驱动的优先级,可以更加清楚地确定目标设备驱动是否属于可抢占优先级,从而能够更加有条理地进行目标复用资源的分配,避免产生复用资源的混乱分配现象。
本发明实施例的技术方案,通过识别硬件平台中目标系统级芯片内的独占资源和复用资源;将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中;响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源;若是,检测所述目标复用资源的当前分配状态;如果当前分配状态为未分配,则将所述目标复用资源动态分配至目标设备驱动,并将目标复用资源的当前分配状态更新为已分配;如果当前分配状态为已分配,则获取所述目标复用资源当前分配的设备驱动的优先级;如果所述优先级属于可抢占优先级,则按照预设的抢占策略,执行对所述目标复用资源的抢占操作;在确定抢占成功后,将所述目标复用资源动态分配至目标设备驱动。可以更加清楚地确定目标设备驱动属于已分配状态还是未分配状态,以及当是已分配状态时,目标设备驱动属于可抢占优先级或者不可抢占优先级,从而能够更加有条理地进行目标复用资源的分配,避免产生复用资源的混乱分配现象,降低了不同设备手动资源分配的复杂度,减轻了工作人员的维护工作难度。
实施例三
图3为本发明实施例三提供的一种硬件资源的复用装置的结构示意图。本实施例所提供的一种硬件资源的复用装置可以通过软件和/或硬件来实现,可配置于服务器或者终端设备中来实现本发明实施例中的一种硬件资源的复用方法。如图3所示,该装置包括:资源识别模块310、资源分类模块320、复用资源检测模块330和复用资源分配模块340。
其中,资源识别模块310,用于识别硬件平台中目标系统级芯片内的独占资源和复用资源,其中,目标系统级芯片的独占资源被硬件平台中固定设备所占用,复用资源被硬件平台中的多个设备所占用,每个设备与至少一个设备驱动关联;
资源分类模块320,用于将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中;
复用资源检测模块330,用于响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源;
复用资源分配模块340,用于若驱动复用列表中存在与目标设备驱动匹配的目标复用资源,则在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动。
本发明实施例的技术方案,通过识别硬件平台中目标系统级芯片内的独占资源和复用资源;将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中;响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源;若是,则在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动的技术手段,仅通过一套通用的复用资源分配方式,即可实现将系统级芯片内全部复用资源在多个设备上进行复用的技术效果,解决了多个硬件平台中的不同板级设备复用同一系统级芯片时容易产生复用混淆以及硬件资源分配繁琐的问题,降低了为不同设备进行手动资源分配的复杂度,减轻了开发人员的维护工作难度。
可选的,资源识别模块310,具体用于:当配置在硬件平台中的操作系统被启动时,对硬件平台中目标系统级芯片内的各项硬件资源进行检测,并将检测到的硬件资源识别为独占资源或者复用资源。
可选的,资源识别模块320,具体用于:在操作系统加载设备驱动的过程中,依次获取一个当前加载设备驱动;获取当前加载设备驱动所需的全部目标硬件资源;将目标硬件资源中包括的独占资源分配给当前加载设备驱动,并将目标硬件资源中包括的复用资源加入驱动复用列表中;返回执行依次获取一个当前加载设备驱动的操作,直至完成对全部设备驱动的加载。
可选的,复用资源分配模块340,具体用于:当前分配状态检测单元,用于检测所述目标复用资源的当前分配状态;当前分配状态更新单元,用于如果当前分配状态为未分配,则将所述目标复用资源动态分配至目标设备驱动,并将目标复用资源的当前分配状态更新为已分配。
可选的,还包括,复用资源分配单元,具体用于:在检测所述目标复用资源的当前分配状态之后,如果当前分配状态为已分配,则获取所述目标复用资源当前分配的设备驱动的优先级;如果所述优先级属于可抢占优先级,则按照预设的抢占策略,执行对所述目标复用资源的抢占操作;在确定抢占成功后,将所述目标复用资源动态分配至目标设备驱动。
可选的,还包括,优先级更新模块,具体用于:在将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中之后,实时更新已分配复用资源的各设备驱动的优先级;其中,当一个设备驱动被分配一个复用资源后,该设备驱动的优先级被更新为可抢占优先级;当一个设备驱动使用已分配复用资源与设备进行通信时,该设备驱动的优先级被更新为不可抢占优先级。
可选的,还包括,所述方法由操作系统中的资源管理器执行。
本发明实施例所提供的硬件资源的复用装置可执行本发明任意实施例所提供的硬件资源的复用方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4是本发明实施例四提供的一种硬件平台的结构示意图。所述硬件平台中包括系统级芯片410以及设备420,其中,同一系统级芯片410的独占资源被硬件平台中固定设备所占用,复用资源被硬件平台中的多个设备所占用,每个设备与至少一个设备驱动关联。
在所述系统级芯片410上,配置有至少一个处理器430;以及与所述至少一个处理器430通信连接的存储器440;其中,所述存储器440存储有可被所述至少一个处理器430执行的计算机程序,所述计算机程序被所述至少一个处理器430执行,以使所述至少一个处理器430能够执行本发明中任一项所述的硬件资源的复用方法,该方法包括:
识别硬件平台中目标系统级芯片内的独占资源和复用资源;将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中;响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源;若是,则在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动。
本发明实施例的技术方案,通过识别硬件平台中目标系统级芯片内的独占资源和复用资源;将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中;响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源;若是,则在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动的技术手段,仅通过一套通用的复用资源分配方式,即可实现将系统级芯片内全部复用资源在多个设备上进行复用的技术效果,解决了多个硬件平台中的不同板级设备复用同一系统级芯片时容易产生复用混淆以及硬件资源分配繁琐的问题,降低了为不同设备进行手动资源分配的复杂度,减轻了开发人员的维护工作难度。
实施例五
本发明实施例五还提供一种包含计算机可读存储介质,所述计算机可读指令在由计算机处理器执行时用于执行一种硬件资源的复用方法,该方法包括:识别硬件平台中目标系统级芯片内的独占资源和复用资源;将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中;响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源;若是,则在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动。
当然,本发明实施例所提供的一种包含计算机可读存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的硬件资源的复用方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述盲检测处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种硬件资源的复用方法,其特征在于,包括:
识别硬件平台中目标系统级芯片内的独占资源和复用资源,其中,目标系统级芯片的独占资源被硬件平台中固定设备所占用,复用资源被硬件平台中多个设备所占用,每个设备与至少一个设备驱动关联;
将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中;
响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源;
若是,则在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动。
2.根据权利要求1所述的方法,其特征在于,识别硬件平台中目标系统级芯片内的独占资源和复用资源,包括:
当配置在硬件平台中的操作系统被启动时,对硬件平台中目标系统级芯片内的各项硬件资源进行检测,并将检测到的硬件资源识别为独占资源或者复用资源。
3.根据权利要求1所述的方法,其特征在于,将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中,包括:
在操作系统加载设备驱动的过程中,依次获取一个当前加载设备驱动;
获取当前加载设备驱动所需的全部目标硬件资源;
将目标硬件资源中包括的独占资源分配给当前加载设备驱动,并将目标硬件资源中包括的复用资源加入驱动复用列表中;
返回执行依次获取一个当前加载设备驱动的操作,直至完成对全部设备驱动的加载。
4.根据权利要求1所述的方法,其特征在于,在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动,包括:
检测所述目标复用资源的当前分配状态;
如果当前分配状态为未分配,则将所述目标复用资源动态分配至目标设备驱动,并将目标复用资源的当前分配状态更新为已分配。
5.根据权利要求4所述的方法,其特征在于,在检测所述目标复用资源的当前分配状态之后,还包括:
如果当前分配状态为已分配,则获取所述目标复用资源当前分配的设备驱动的优先级;
如果所述优先级属于可抢占优先级,则按照预设的抢占策略,执行对所述目标复用资源的抢占操作;
在确定抢占成功后,将所述目标复用资源动态分配至目标设备驱动。
6.根据权利要求4所述的方法,其特征在于,在将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中之后,还包括:
实时更新已分配复用资源的各设备驱动的优先级;
其中,当一个设备驱动被分配一个复用资源后,该设备驱动的优先级被更新为可抢占优先级;当一个设备驱动使用已分配复用资源与设备进行通信时,该设备驱动的优先级被更新为不可抢占优先级。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法由操作系统中的资源管理器执行。
8.一种硬件资源的复用装置,其特征在于,包括:
资源识别模块,用于识别硬件平台中目标系统级芯片内的独占资源和复用资源,其中,目标系统级芯片的独占资源被硬件平台中固定设备所占用,复用资源被硬件平台中的多个设备所占用,每个设备与至少一个设备驱动关联;
资源分类模块,用于将独占资源分配至匹配的设备驱动,并将复用资源加入驱动复用列表中;
复用资源检测模块,用于响应于对目标设备驱动的调用请求,检测驱动复用列表中是否存在与目标设备驱动匹配的目标复用资源;
复用资源分配模块,用于若驱动复用列表中存在与目标设备驱动匹配的目标复用资源,则在满足目标复用资源的分配条件时,将目标复用资源动态分配至目标设备驱动。
9.一种硬件平台,其特征在于,所述硬件平台中包括系统级芯片以及设备,其中,同一系统级芯片的独占资源被硬件平台中固定设备所占用,复用资源被硬件平台中的多个设备所占用,每个设备与至少一个设备驱动关联;
在所述系统级芯片上,配置有至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的硬件资源的复用方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的硬件资源的复用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210863502.1A CN115328833B (zh) | 2022-07-20 | 2022-07-20 | 硬件资源的复用方法、装置、硬件平台及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210863502.1A CN115328833B (zh) | 2022-07-20 | 2022-07-20 | 硬件资源的复用方法、装置、硬件平台及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115328833A true CN115328833A (zh) | 2022-11-11 |
CN115328833B CN115328833B (zh) | 2023-06-16 |
Family
ID=83919034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210863502.1A Active CN115328833B (zh) | 2022-07-20 | 2022-07-20 | 硬件资源的复用方法、装置、硬件平台及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115328833B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541334A (zh) * | 2023-06-27 | 2023-08-04 | 苏州浪潮智能科技有限公司 | Pcie设备运行时文件的处理方法、装置和设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090520A (zh) * | 2019-12-09 | 2020-05-01 | 腾讯科技(深圳)有限公司 | 独占资源的用户分配方法、装置、电子设备及存储介质 |
-
2022
- 2022-07-20 CN CN202210863502.1A patent/CN115328833B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090520A (zh) * | 2019-12-09 | 2020-05-01 | 腾讯科技(深圳)有限公司 | 独占资源的用户分配方法、装置、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541334A (zh) * | 2023-06-27 | 2023-08-04 | 苏州浪潮智能科技有限公司 | Pcie设备运行时文件的处理方法、装置和设备 |
CN116541334B (zh) * | 2023-06-27 | 2023-09-26 | 苏州浪潮智能科技有限公司 | Pcie设备运行时文件的处理方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115328833B (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110888743B (zh) | 一种gpu资源使用方法、装置及存储介质 | |
US7581223B2 (en) | Method and a system for executing operating system functions, as well as an electronic device | |
CN110489213B (zh) | 一种任务处理方法及处理装置、计算机系统 | |
US8286178B2 (en) | Allocation and regulation of CPU entitlement for virtual processors in logical partitioned platform | |
EP2128759B1 (en) | Operating system startup control method and information processing apparatus | |
EP1876531A1 (en) | Multi-processor system abd program for causing computer to execute multi-processor system control method | |
KR100791296B1 (ko) | 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법 | |
KR102338849B1 (ko) | 실시간 운영 체제에서 스택 메모리 관리를 제공하는 방법 및 시스템 | |
CN115328833B (zh) | 硬件资源的复用方法、装置、硬件平台及存储介质 | |
CN110162397B (zh) | 资源分配方法、装置及系统 | |
CN113918336A (zh) | 基于多核CPU的FreeRTOS运行任务方法及装置 | |
CN109656716B (zh) | 一种Slurm作业调度方法及系统 | |
CN115509704A (zh) | 一种任务调度方法、装置、设备及存储介质 | |
CN115564635A (zh) | 一种gpu资源调度方法、装置、电子设备及存储介质 | |
CN114691321A (zh) | 一种任务调度方法、装置、设备及存储介质 | |
CN114064128B (zh) | 内核重启方法 | |
US11954512B2 (en) | Control device and control method | |
CN111352710B (zh) | 进程管理方法及装置、计算设备、存储介质 | |
CN113495787A (zh) | 资源分配方法、装置、存储介质及电子设备 | |
CN116302303B (zh) | 一种基于type1虚拟化系统的实时性增强方法及装置 | |
JP2014078266A (ja) | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム | |
CN111737013B (zh) | 芯片的资源管理方法、装置、存储介质及系统芯片 | |
JP6255721B2 (ja) | 処理割り当て装置、処理割り当て方法及び処理割り当てプログラム | |
CN106326170A (zh) | 一种设备索引号分配方法、装置及系统 | |
CN117971433A (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 |