WO2022204873A1 - Electronic apparatus, system on chip, and physical core allocation method - Google Patents

Electronic apparatus, system on chip, and physical core allocation method Download PDF

Info

Publication number
WO2022204873A1
WO2022204873A1 PCT/CN2021/083608 CN2021083608W WO2022204873A1 WO 2022204873 A1 WO2022204873 A1 WO 2022204873A1 CN 2021083608 W CN2021083608 W CN 2021083608W WO 2022204873 A1 WO2022204873 A1 WO 2022204873A1
Authority
WO
WIPO (PCT)
Prior art keywords
physical
core
physical core
processor
operating system
Prior art date
Application number
PCT/CN2021/083608
Other languages
French (fr)
Chinese (zh)
Inventor
潘时林
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN202180006444.4A priority Critical patent/CN115413337A/en
Priority to PCT/CN2021/083608 priority patent/WO2022204873A1/en
Publication of WO2022204873A1 publication Critical patent/WO2022204873A1/en

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Definitions

  • the embodiments of the present application relate to the field of computers, and in particular, to an electronic device, a system-on-chip, and a method for allocating physical cores.
  • the industry usually runs multiple operating systems in the same processor of the electronic device.
  • the physical cores running the multiple operating systems are all preset, and there is a situation in which one operating system is overloaded with physical cores due to an excessively high load, while the other operating system has a relatively high load.
  • Embodiments of the present application provide an electronic device, a system-on-chip, and a physical core allocation method, which can dynamically allocate physical cores in a processor and improve the running speed of an electronic device.
  • the application adopts the following technical solutions:
  • an embodiment of the present application provides an electronic device, the electronic device includes a multi-core processor and a scheduling processor; the multi-core processor includes multiple physical cores, and the multiple physical cores are used to run multiple operations system, the multiple operating systems include a general-purpose operating system and a trusted operating system; the scheduling processor is configured to allocate at least one first physical core running the general-purpose operating system among the multiple physical cores and running all at least one second physical core of the trusted operating system, wherein the at least one first physical core and the at least one second physical core are different.
  • the scheduling processor by using the scheduling processor to allocate physical cores to the general-purpose operating system and the trusted operating system, when a certain operating system is too busy and the physical cores are insufficient during a period of high task occurrence, the operating system can be supplemented with physical cores in time, thereby The physical cores can be flexibly allocated, thereby improving the utilization rate of the physical cores and the running speed of the electronic device.
  • the scheduling processor allocates the at least one first physical core and the at least one second physical core based on at least one of the following; the first resource of the at least one first physical core The occupancy rate or the second resource occupancy rate of the at least one second physical core.
  • the first resource occupancy rate and the second resource occupancy rate are reported by the multi-core processor or a dedicated measurement device.
  • allocating the at least one first physical core includes at least one of the following: increasing the number of the at least one first physical core, decreasing the number of the at least one first physical core, changing the number of the at least one first physical core One or more physical cores in the at least one first physical core are switched to other physical cores.
  • allocating the at least one second physical core includes at least one of the following: increasing the number of the at least one second physical core, decreasing the number of the at least one second physical core, assigning all the One or more physical cores in the at least one second physical core are switched to other physical cores.
  • the multi-core processor is prohibited from accessing at least one of the following: a power supply of the scheduling processor, a clock of the scheduling processor, or data managed by the scheduling processor.
  • the scheduling processor includes an active measurement device, and the active measurement device is configured to perform security detection on the trusted operating system and the general operating system.
  • the active measurement device can perform security detection on the general operating system and the trusted operating system running on the multi-core processor when the electronic device is powered on, when the electronic device is woken up, or during the running process of the multi-core processor, so as to ensure the universal The operating system and trusted operating system are functioning normally.
  • an embodiment of the present application provides a system-on-chip, where the system-on-chip includes the electronic device described in the first aspect.
  • an embodiment of the present application provides a method for allocating physical cores.
  • the method for allocating physical cores includes: scheduling a processor to allocate at least one first physical core for running a general-purpose operating system in a multi-core processor and for running a trusted at least one second physical core of an operating system, wherein the at least one first physical core and the at least one second physical core are different; the multi-core processor is based on the at least one first physical core and the at least one The second physical core runs the general operating system and the trusted operating system respectively.
  • the scheduling processor allocates the at least one first physical core and the at least one second physical core based on at least one of the following; the at least one first physical core The first resource occupancy rate of the core or the second resource occupancy rate of the at least one second physical core.
  • FIG. 1 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • FIG. 2 is a schematic structural diagram of the multi-core processor 101 in the electronic device shown in FIG. 1 provided by an embodiment of the present application;
  • FIG. 3 is a schematic diagram of an application scenario of physical core allocation provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of another application scenario of physical core allocation provided by an embodiment of the present application.
  • 5a-5b are schematic diagrams of another application scenario of physical core allocation provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of another application scenario of physical core allocation provided by an embodiment of the present application.
  • FIG. 7 is an interactive flowchart of a method for a scheduling processor to obtain a resource occupancy rate of a first physical core and a resource occupancy rate of a second physical core provided by an embodiment of the present application;
  • FIG 8 is another schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • FIG. 9 is a flowchart of a physical core allocation method provided by an embodiment of the present application.
  • references herein to "first,” “second,” and similar terms do not denote any order, quantity, or importance, but are merely used to distinguish the various components. Likewise, words such as “a” or “an” do not denote a quantitative limitation, but rather denote the presence of at least one. Similar words “connected” or “connected” are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect, equivalent to coupling or communicating in a broad sense.
  • module mentioned in this document generally refers to a functional structure divided according to logic, and the “module” can be realized by pure hardware, or realized by a combination of software and hardware.
  • and/or describes the association relationship of the associated objects, which means that there can be three kinds of relationships, for example, A and/or B, which can mean that A exists alone, A and B exist simultaneously, and B exists alone. three conditions.
  • words such as “exemplary” or “for example” are used to represent examples, illustrations or illustrations. Any embodiments or designs described in the embodiments of the present application as “exemplary” or “such as” should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as “exemplary” or “such as” is intended to present the related concepts in a specific manner.
  • the meaning of "plurality" refers to two or more. For example, multiple processing units refers to two or more processing units; multiple systems refers to two or more systems.
  • FIG. 1 shows a schematic diagram of a hardware architecture of an electronic device 100 provided by an embodiment of the present application.
  • the electronic device 100 may be located in a terminal.
  • the terminal may be a user equipment (User Equipment, UE), such as various types of portable terminal devices such as a mobile phone, a tablet computer, or a wearable device (such as a smart watch).
  • UE User Equipment
  • the electronic device 100 may also be located in a server.
  • the electronic device 100 may specifically be a chip or a chip set or a circuit board on which the chip or the chip set is mounted.
  • the chip or chip set or the circuit board on which the chip or chip set is mounted can be driven by suitable software.
  • the electronic device 100 includes a multi-core processor 101 and a scheduling processor 102 .
  • the multi-core processor 101 and the scheduling processor 102 may be integrated in one or more chips, and the one or more chips may be regarded as a chipset, when one or more processors are integrated in When in the same chip, the chip is also called a System on a Chip (SOC).
  • the electronic device 100 also includes one or more other components, such as a storage device 103 .
  • the storage device 103 may be located in the same system-on-chip as the multi-core processor 101 and the scheduling processor 102 in the electronic device 100, that is, the storage device 103 is integrated in the SOC as shown in FIG. 1 above. .
  • the multi-core processor 101 includes multiple physical cores. For example, when the multi-core processor 101 is located in the mobile terminal, the multi-core processor 101 may include 8 physical cores; when the multi-core processor 101 is located in the PC, the multi-core processor 101 may include 12-16 physical cores; When the multi-core processor 101 is located in a server, the multi-core processor 101 may include 32-64 physical cores.
  • the multiple physical cores included in the multi-core processor 101 can be divided into a first physical core and a second physical core. The first physical core is used to run a general operating system, and the second physical core is used to run a trusted operating system, as shown in Figure 2 shown. The physical cores included in the first physical core and the second physical core are different.
  • the difference here may mean that there is no overlap between the first physical core running the operating system and the second physical core running the trusted operating system.
  • a physical core runs the trusted operating system, it usually cannot run the general-purpose operating system; similarly, When a physical core runs a general-purpose operating system, it usually cannot run a trusted operating system.
  • the first physical core mentioned here refers to a type of physical core running a general-purpose operating system, and the "first" in the first physical core is not used to limit the number; similarly, the second physical core is Refers to a type of physical core running a trusted operating system, and the "second" in the second physical core is not used to limit the number.
  • the physical core in this embodiment is a processor core that can run independently or be turned off, and can optionally include circuit elements such as a basic logical computing unit, a de-instructor, and a scheduler, which is not limited in this embodiment.
  • the general-purpose operating system described in the embodiments of this application which may also be referred to as a host operating system, refers to an operating system that provides applications and services (such as instant messaging or shopping) for users.
  • the general-purpose operating system mainly implements computing functions, such as Including but not limited to: Windows system, Android system, Redhat Linux system or Hongmeng OS system, etc. These operating systems can be used to support general non-safety common application software. These non-safety common applications are usually third-party applications (eg, video applications, shopping applications).
  • Trusted operating systems usually run trusted software, which implements tasks such as security measurement, access control, and decision-making of security rules during the runtime of the general operating system, so as to ensure the correct and trusted operation of the general operating system.
  • the trusted application system is used to run security application software, which can be used to support security services such as signature, encryption and decryption calculation, and face comparison. Some of these non-safety common application software can call the safety application software in the trusted operating system, and the security of the trusted operating system is higher than that of the general operating system.
  • security application software can be used to support security services such as signature, encryption and decryption calculation, and face comparison.
  • Some of these non-safety common application software can call the safety application software in the trusted operating system, and the security of the trusted operating system is higher than that of the general operating system.
  • the hardware isolation between the trusted operating system and the general-purpose operating system can be ensured, and hackers can avoid tampering with the trusted operating system by entering the trusted operating system through the general-purpose operating system.
  • Managed data to improve the security of the trusted operating system operating environment.
  • the code of the trusted operating system is different and isolated from the code of the general operating system.
  • each of the trusted operating system and the general-purpose operating system may include
  • the scheduling processor 102 may allocate multiple physical cores in the multi-core processor 101, so that at least one first physical core runs a general operating system and at least one second physical core runs a trusted operating system. Specifically, the scheduling processor 102 may allocate multiple physical cores in the multi-core processor 101 when the electronic device 100 is powered on and during the operation of the electronic device 100 . Allocating the first physical cores may include, but is not limited to: allocating the number of the first physical cores when the electronic device 100 is powered on; increasing the number of the first physical cores, decreasing the number of the first physical cores, or changing the number of the first physical cores during the operation of the electronic device 100 One or more of the at least one first physical cores are switched to other physical cores.
  • Allocating the second physical core may include, but is not limited to: allocating the number of the second physical core when the electronic device 100 is powered on; increasing the number of the second physical core, decreasing the number of the second physical core, or changing the number of the second physical core during the operation of the electronic device 100
  • One or more of the at least one second physical cores are switched to other physical cores.
  • the physical cores in the multi-core processor are divided into high-performance physical cores and low-performance physical cores according to the ability to process concurrent tasks and the running rate.
  • the above-mentioned switching of one or more physical cores to other physical cores may include, but is not limited to, switching a low-performance physical core to a high-performance physical core, or switching a high-performance physical core to a low-performance physical core, and the like.
  • the scheduling processor 102 by setting the scheduling processor 102 to allocate the first physical core and the second physical core, when a certain operating system task is too busy and the physical core is insufficient, the operating system can be supplemented with physical cores in time. , so that the physical cores can be flexibly allocated, thereby improving the utilization rate of the physical cores and the running speed of the electronic device 100 .
  • the storage device 103 shown in FIG. 1 may be provided with a shared memory.
  • the multi-core processor 101 and the scheduling processor 102 communicate through shared memory.
  • the scheduling processor 102 can store the allocation of each physical core in the shared memory
  • the multi-core processor 101 can read the allocation of physical cores from the shared memory, and run the general operating system and trusted operations based on the allocation of physical cores system.
  • the allocation of the first physical core and the allocation of the second physical core described in the embodiments of the present application will be described in more detail below through the following possible implementation manners.
  • the scheduling processor 102 may pre-store a first initial value of the number of first physical cores and a second initial value of the number of second physical cores.
  • the scheduling processor 102 may allocate the number of the first physical core and the number of the second physical core based on the first initial value and the second initial value. For example, assuming that the multi-core processor 101 includes 8 physical cores, the first initial value is 6, and the second initial value is 2, the scheduling processor 102 can allocate 6 first physical cores for the general-purpose operating system for trusted operation The system allocates 2 physical cores.
  • the scheduling processor 102 is the number of the first physical cores allocated by the operating system and the number of the second physical cores allocated for the trusted operating system, which can be respectively called by the general-purpose operating system and the trusted operating system. the number of physical cores. In a certain period of time, not all of the first physical cores are used to run the general-purpose operating system, and similarly, all of the second physical cores are not necessarily used to run the trusted operating system.
  • the following is a detailed description in conjunction with the application scenario shown in FIG. 3 . In FIG. 3 , it is assumed that the first physical cores assigned by the scheduling processor 102 to the operating system include six numbers 1-6, and the second physical cores assigned by the scheduling processor 102 to the trusted operating system include numbers 7 and 8 No.
  • the general-purpose operating system can call the three first physical cores No. 1 to No. 3 to run, and the other three first physical cores No. 4 to No. 6 to run It is in an idle state; when the amount of data access of the general-purpose operating system is high and the number of concurrent tasks is high, the general-purpose operating system can call the six first physical cores No. 1 to No. 6 to run the general-purpose operating system.
  • the trusted operating system can call at least one of the physical core No. 7 and the physical core No. 8 to run the trusted operating system.
  • the scheduling processor 102 may further allocate the first physical core and the second physical core based on at least one of the following: the first resource occupation of the at least one first physical core rate and a second resource occupancy rate of the at least one second physical core.
  • the resource occupancy rate described in the embodiments of the present application may also be referred to as the processor occupancy rate, and specifically refers to which programs occupy the processor to perform tasks and the occupied rate. Taking a general-purpose operating system as an example, when the data access amount of the general-purpose operating system is low and the number of concurrent tasks is low, there are fewer programs running in the general-purpose operating system, and the resource occupancy rate of at least some of the physical cores in the first physical core is relatively low.
  • the scheduling processor 102 can obtain the resource occupancy rate of the first physical core and the resource occupancy rate of the second physical core, and then allocates the resource based on at least one of the resource occupancy rate of the first physical core and the resource occupancy rate of the second physical core.
  • the scheduling processor 102 can schedule the processor 102 when the resource occupancy rate of each of the first physical cores is relatively high and the resource occupancy rate of at least some of the second physical cores is relatively low (that is, when the general-purpose operating system is too busy and the trusted operating system is idle) ), withdraw at least one second physical core, and add the withdrawn physical core to the first physical core to run a general-purpose operating system; the resource occupancy rate of each second physical core is relatively high, and at least part of the first physical core When the resource occupancy rate of the device is low (the trusted operating system is too busy and the general operating system is idle), at least one first physical core is reclaimed, and the reclaimed physical core is added to the second physical core to run the trusted operating system.
  • the low-performance physical core in the first physical core may also be combined with the second physical core.
  • the low-performance physical cores in the second physical core can also be switched. The physical core switches with the high-performance physical core in the first physical core.
  • the scheduling processor 102 allocates each physical core by comparing the resource occupancy rate of each physical core with the resource occupancy rate threshold value.
  • the scheduling processor 102 may pre-store the upper limit and lower limit of the resource occupancy rate threshold of the physical core. For example, the upper limit is 80% and the lower limit is 20%.
  • the resource occupancy rate of a physical core exceeds the upper limit of the resource occupancy rate threshold, it means that the physical core performs many tasks, that is, it is busy; when the resource occupancy rate of a certain physical core is lower than the lower limit of the resource occupancy rate threshold, the It means that the physical core performs fewer tasks, that is, idle.
  • the scheduling processor 102 may acquire the resource occupancy rate of each physical core in real time or periodically.
  • the scheduling processor 102 compares the resource occupancy rate of each physical core with a preset threshold, determines the busyness of each physical core based on the comparison result, and executes the subsequent allocation process.
  • the scheduling processor 102 will schedule the processor 102 based on the first resource occupancy rate of the first physical core and the resource occupancy rate of the second physical core through a number of specific scenarios.
  • the second resource occupancy rate allocates the first physical core and the second physical core, which will be described in more detail.
  • Scenario 1 Suppose the first physical core initially running the general operating system includes physical cores 1-6, and the second physical core initially running the trusted operating system includes physical cores 7-8, as shown in Figure 3 shown. Among them, the resource occupancy rates of physical cores 1 to 6 all exceed 80%, the resource occupancy rate of physical core 7 is 50%, and the resource occupancy rate of physical core 8 is 15%. At this time, the scheduling processor 102 can reclaim physical core No. 8, and then add the reclaimed physical core No. 8 to the first physical core to run a general-purpose operating system. The situation after physical core deployment is shown in FIG. 4 .
  • the scheduling processor 102 can reclaim the physical core No. 8, and then add the reclaimed physical core No. 8 to the No. 8 physical core.
  • the trusted operating system can continue to be allocated. At this time, the allocation of the physical cores is shown in FIG. 3 .
  • Scenario 2 Assume that the initial first physical core of the general-purpose operating system includes physical cores No. 1 and 6, and the second physical core initially running the trusted operating system includes physical cores No. 7 and No. 8, as shown in Figure 3. Show. Among them, the resource occupancy rate of physical cores 1 to 3 is over 80%, the resource occupancy rate of physical core 4 is 60%, the resource occupancy rate of physical cores 5 and 6 is lower than 20%, and the resource occupancy rate of physical cores 7 and 6 is lower than 20%. The resource occupancy rate of physical core No. 8 reaches 90%. At this time, the scheduling processor 102 can reclaim physical cores No. 5 and 6, and then add the reclaimed physical cores No. 5 and 6 to the second physical core to run the trusted operating system. The situation after the physical cores are deployed As shown in Figure 5a.
  • the scheduling processor 102 may reclaim the physical core No. 5, and then add the reclaimed physical core No. 5 to the first physical core
  • the allocation of physical cores is shown in FIG. 5b; or, when the resource occupancy rate of physical core No. 6 is lower than 20%, the scheduling processor 102 can withdraw physical core No. 6 , and then add the recovered No. 6 physical core to the first physical core to continue to be allocated by the general-purpose operating system. At this time, the allocation of physical cores is shown in FIG. 3 .
  • Scenario 3 Suppose the initial first physical core of the general operating system includes physical cores 1-6, and the second physical core initially running the trusted operating system includes physical cores 7-8, as shown in Figure 3 Show. Physical cores 1-4 are low-performance physical cores, and physical cores 5-8 are high-performance physical cores. The resource occupancy rates of physical cores 1 to 6 all exceed 80%, the resource occupancy rate of physical core 7 is 70%, and the resource occupancy rate of physical core 8 is 30%.
  • the scheduling processor 102 may withdraw the physical core No. 1 and the physical core No. 8, and then add the withdrawn physical core No. 8 to the first physical core to run the general-purpose operating system, and add the withdrawn physical core No. 1 to the first physical core.
  • the situation after the physical core is deployed is shown in FIG. 6 .
  • the scheduling processor 102 may obtain the first resource occupancy rate of the first physical core and the second resource occupancy rate of the second physical core through various methods.
  • the resource occupancy rate of the first physical core and the resource occupancy rate of the second physical core may be actively reported by the multi-core processor 101 to the scheduling processor 102 .
  • the multi-core processor 101 may occupy the resources of each physical core running the operating system The rate is reported to the scheduling processor 102 .
  • the multi-core processor 101 may write each physical core and the resource occupancy rate of each physical core into the shared memory in the storage device 103, and then send an interrupt signal to the scheduling processor 102.
  • the scheduling processor 102 reads from the shared memory in response to the interrupt signal.
  • the multi-core processor 101 may further send an interrupt signal to the scheduling processor 102 to instruct to obtain the resource occupancy rate of each physical core of another operating system.
  • Step 701 When the load of the general-purpose operating system exceeds a preset threshold, the multi-core processor 101 stores the resource occupancy rate information of each first physical core in the shared memory. After the multi-core processor 101 stores the resource occupancy rate of each first physical core in the shared memory, step 702 is performed. Step 702 , the multi-core processor 101 sends a first interrupt signal to the scheduling processor 102 . The first interrupt signal instructs the scheduling processor 102 to read the resource occupancy rate information of each first physical core from the shared memory.
  • Step 703 the scheduling processor 102 reads the resource occupancy rate information of each first physical core from the shared memory in response to the first interrupt signal.
  • Step 704 the scheduling processor 102 determines whether the resource occupancy rate of each first physical core is higher than the upper limit of the resource occupancy rate.
  • step 705 is executed.
  • the scheduling processor 102 sends a second interrupt signal to the multi-core processor 101 .
  • the second interrupt signal is used to instruct the multi-core processor 101 to send resource occupancy rate information of each second physical core.
  • Step 706 the multi-core processor 101 stores the resource occupancy rate information of each second physical core in the shared memory in response to the second interrupt signal.
  • step 707 is executed.
  • the multi-core processor 101 sends a third interrupt signal to the scheduling processor 102 .
  • the third interrupt signal instructs the scheduling processor 102 to read the resource occupancy rate information of each second physical core from the shared memory.
  • Step 708 the multi-core processor 101 reads the resource occupancy rate information of each second physical core from the shared memory in response to the third interrupt signal.
  • the resource occupancy rate of the first physical core and the resource occupancy rate of the second physical core may be reported by the multi-core processor 101 in response to query information from the scheduling processor 102 .
  • the scheduling processor 102 may periodically send query information to the multi-core processor 101, where the query information is used to instruct to query the resource occupancy rate of the first physical core and the resource occupancy rate of the second physical core.
  • the multi-core processor 101 stores the resource occupancy rate information of the first physical core and the resource occupancy rate information of the second physical core in the shared memory.
  • the multi-core processor 101 sends an interrupt signal to the scheduling processor 102, the interrupt signal indicating that the resource occupancy rate information of the first physical core and the resource occupancy rate information of the second physical core have been stored in the shared memory.
  • the scheduling processor 102 reads the resource occupancy rate information of the first physical core and the resource occupancy rate information of the second physical core from the shared memory in response to the interrupt signal.
  • the electronic device 100 further includes a dedicated measurement device 104, the dedicated measurement device 104 is dedicated to measuring the resource occupancy rate of each physical core in the multi-core processor 101, and can be implemented in a hardware circuit, as shown in FIG. 8 shown.
  • a dedicated measurement device 104 may communicate with the multi-core processor 101 and the scheduling processor 102, respectively.
  • the dedicated measuring device 104 can obtain the resource occupancy rate information of each physical core from the multi-core processor 101 .
  • the scheduling processor 102 may read the resource occupancy rate of each physical core from the dedicated measuring device 103 in real time or periodically.
  • the multi-core processor 101 is prohibited from accessing at least one of the following: the power supply of the scheduling processor 102 , the clock of the scheduling processor 102 , or the data managed by the scheduling processor 102 . That is to say, the hardware design of the scheduling processor 102 ensures that the software running on the multi-core processor 101 cannot interfere with the running of the scheduling processor 102 .
  • the fact that the multi-core processor 101 is prohibited from accessing the power supply of the scheduling processor 102 means that the multi-core processor 101 cannot control the power-on or power-off of the scheduling processor 102 .
  • the scheduling processor 102 can be directly powered by an external power source (such as a power manager or a power adapter, etc.), and the multi-core processor 101 cannot control the scheduling processor 102 to start, shut down, enter or exit a low power consumption state, etc.
  • an external power source such as a power manager or a power adapter, etc.
  • both the multi-core processor 101 and the scheduling processor 102 are started separately, or the scheduling processor 102 may be started first; when the electronic device 100 is powered off, the multi-core processor 101 and the scheduling processor 102 are started The processors 102 are turned off respectively.
  • the fact that the multi-core processor 101 is prohibited from accessing the clock of the scheduling processor 102 means that the multi-core processor 101 cannot control the clock cycle of the scheduling processor 102 .
  • the clock cycle when the scheduling processor 102 works can be directly provided by an external clock signal source, and the multi-core processor 101 cannot change the clock cycle of each component in the scheduling processor 102 .
  • hackers can be prevented from accessing or tampering with the data managed by the scheduling processor 102 by changing the running program loaded in the memory of the multi-core processor 101 .
  • By prohibiting the multi-core processor 101 from accessing the power supply of the scheduling processor 102 it can be avoided that the scheduling processor 102 is maliciously powered off when the multi-core processor 101 is attacked.
  • the clock cycle of the scheduling processor 102 can be prevented from being maliciously tampered with.
  • the security of the scheduling processor 102 can be improved.
  • the scheduling processor 102 may, for example, include an active measurement apparatus for running security system software, and the active measurement apparatus includes one or more processor cores.
  • the active measurement device specifically allocates a first physical core running a general operating system and a second physical core running a trusted operating system.
  • the active measurement device can perform the security system software on the general operating system and the trusted operating system running on the multi-core processor 101 by running the security system software. Security detection to ensure the normal operation of general-purpose operating systems and trusted operating systems.
  • the security detection here may include but is not limited to: verifying the image hash value of the general operating system program and the image hash value of the trusted operating system program to ensure that the general operating system program and the trusted operating system program have not been rewritten , that is, to prevent related data from being tampered with.
  • the active measurement device detects that the operating system program and the trusted operating system program have been tampered with, the electronic device 100 may be subjected to a security protection operation.
  • the security protection operations here may include but are not limited to: triggering an alarm, resetting the electronic device 100, rejecting services requested by the software (such as biometric identification services, password unlocking services, or key obtaining services, etc.), instructing the multi-core processor 101 to stop running , instruct the multi-core processor 101 to stop running the software, disable at least part of the functions of the software running by the multi-core processor 101 , or prevent the software from accessing data stored in the electronic device 100 . Therefore, when the multi-core processor 101 is running, the active measurement device can monitor the operating system of the multi-core processor 101, the applications and data running on the multi-core processor 101 in real time or periodically, so as to ensure the security of the electronic device 100. , thereby ensuring data security.
  • the storage device 103 shown in FIG. 1 and FIG. 7 can also be used to store various operating system programs (such as general operating system programs and trusted operating system programs), application programs , Instruction code and data required for operation.
  • the multi-core processor 101 and the scheduling processor 102 execute various functional applications and data processing of the electronic device by loading programs and instructions and acquiring data.
  • the storage device 103 includes at least one of: random access memory RAM and read only memory ROM.
  • the electronic device 100 may further include a communication unit 105, as shown in FIG. 7 .
  • the communication unit 105 includes, but is not limited to, a short-range communication unit, or a cellular communication unit.
  • the short-range communication unit performs information exchange with other devices located outside the mobile terminal for accessing the Internet by running a short-range wireless communication protocol.
  • the short-range wireless communication protocol may include, but is not limited to, various protocols supported by radio frequency identification technology, Bluetooth communication technology protocols, or infrared communication protocols.
  • the cellular communication unit accesses the wireless access network by running the cellular wireless communication protocol, so as to realize the information exchange between the mobile communication unit and the server supporting various applications in the Internet.
  • the communication unit 105 may be integrated in the same SOC with the multi-core processor 101 and the scheduling processor 102 described in the embodiments of the present application, or may be separately provided.
  • the electronic device 100 may optionally include a bus, an input/output port I/O, a memory controller, and the like.
  • the storage controller is used to control the storage device 103 .
  • the bus, the input/output port I/O, and the storage controller, etc. can be integrated with the above-mentioned multi-core processor 101 and the scheduling processor 102 in the same SOC. It should be understood that, in practical applications, the electronic device 100 may include more or less components than those shown in FIG. 1 and FIG. 7 , which is not limited in this embodiment of the present application.
  • an embodiment of the present application further provides a method for allocating physical cores, and the method for allocating physical cores is applied to the electronic device 100 shown in FIG. 1 .
  • FIG. 9 shows a process 900 of the physical core allocation method provided by the embodiment of the present application.
  • the process 900 of the method for allocating physical cores includes the following steps: Step 901, scheduling the processor 102 to allocate at least one first physical core for running a general operating system and a first physical core for running a trusted operating system in the multi-core processor 101 At least one second physical core. The first physical core and the second physical core are different.
  • the multi-core processor 101 runs a general-purpose operating system and a trusted operating system based on at least one first physical core and at least one second physical core, respectively.
  • the scheduling processor 102 allocates the at least one first physical core and the at least one second physical core based on at least one of the following; the first resource occupancy rate of the at least one first physical core or the at least one second physical core; The second resource occupancy rate of the physical core.
  • the first resource occupancy rate and the second resource occupancy rate are reported by the multi-core processor 101 or a dedicated measurement device.
  • allocating the at least one first physical core includes at least one of the following: increasing the number of the at least one first physical core, decreasing the number of the at least one first physical core, adding the at least one first physical core to the one or more of the physical cores are switched to other physical cores.
  • allocating the at least one second physical core includes at least one of the following: increasing the number of the at least one second physical core, decreasing the number of the at least one second physical core, placing the at least one second physical core in the at least one second physical core. one or more of the physical cores are switched to other physical cores.
  • the multi-core processor 101 is prohibited from accessing at least one of the following: scheduling the power supply of the processor 102 , scheduling the clock of the processor 102 , or scheduling data managed by the processor 102 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

Provided in the embodiments of the present application are an electronic apparatus, and a physical core allocation method. The electronic apparatus comprises a multi-core processor and a scheduling processor, wherein the multi-core processor comprises a plurality of physical cores, the plurality of physical cores are used for running a plurality of operating systems, and the plurality of operating systems comprise a general purpose operating system and a trusted operating system; and the scheduling processor is used for allocating at least one first physical core from among the plurality of physical cores to run the general purpose operating system, and at least one second physical core from among the plurality of physical cores to run the trusted operating system, wherein the at least one first physical core is different from the at least one second physical core. Therefore, a first physical core and a second physical core can be flexibly configured, thereby improving the running speed of an electronic apparatus.

Description

电子装置、系统级芯片和物理核分配方法Electronic device, system-on-chip, and physical core allocation method 技术领域technical field
本申请实施例涉及计算机领域,尤其涉及一种电子装置、系统级芯片和物理核分配方法。The embodiments of the present application relate to the field of computers, and in particular, to an electronic device, a system-on-chip, and a method for allocating physical cores.
背景技术Background technique
随着互联网技术和电子设备的高速发展,越来越多的应用在电子设备上运行,该应用通常涉及各个领域,诸如电子支付类应用、生物识别类应用、即时通信类应用等,用户对电子设备的依赖性越来越高,因此,保证电子设备软件运行环境的安全、提高电子设备的运行速度成为电子设备发展的方向。With the rapid development of Internet technology and electronic devices, more and more applications are running on electronic devices, which usually involve various fields, such as electronic payment applications, biometric applications, instant messaging applications, etc. The dependence of equipment is getting higher and higher. Therefore, ensuring the security of the software running environment of electronic equipment and improving the running speed of electronic equipment have become the development direction of electronic equipment.
为了兼顾电子设备软件运行环境的安全和电子设备的运行速度,业界通常在电子设备的同一个处理器中运行多个操作系统。当前技术中,运行该多个操作系统的物理核均是预先设置好的,这就存在一种情况,其中一个操作系统由于负载量过高导致物理核超负荷、而另外一个操作系统负载量较低导致物理核较空闲,从而造成物理核的资源占用率不均导致电子设备的资源浪费,进而降低电子设备的运行速度。In order to take into account the security of the electronic device software running environment and the running speed of the electronic device, the industry usually runs multiple operating systems in the same processor of the electronic device. In the current technology, the physical cores running the multiple operating systems are all preset, and there is a situation in which one operating system is overloaded with physical cores due to an excessively high load, while the other operating system has a relatively high load. Low results in relatively idle physical cores, resulting in uneven resource occupancy rates of the physical cores, resulting in waste of resources of the electronic device, thereby reducing the running speed of the electronic device.
发明内容SUMMARY OF THE INVENTION
本申请实施例提供了一种电子装置、系统级芯片和物理核分配方法,可以动态分配处理器中的物理核、提高电子设备的运行速度。为达到上述目的,本申请采用如下技术方案:Embodiments of the present application provide an electronic device, a system-on-chip, and a physical core allocation method, which can dynamically allocate physical cores in a processor and improve the running speed of an electronic device. To achieve the above object, the application adopts the following technical solutions:
第一方面,本申请实施例提供一种电子装置,该电子装置包括多核处理器和调度处理器;所述多核处理器,包括多个物理核,所述多个物理核用于运行多个操作系统,所述多个操作系统包括通用操作系统和可信操作系统;所述调度处理器,用于分配所述多个物理核中运行所述通用操作系统的至少一个第一物理核和运行所述可信操作系统的至少一个第二物理核,其中,所述至少一个第一物理核和所述至少一个第二物理核不同。In a first aspect, an embodiment of the present application provides an electronic device, the electronic device includes a multi-core processor and a scheduling processor; the multi-core processor includes multiple physical cores, and the multiple physical cores are used to run multiple operations system, the multiple operating systems include a general-purpose operating system and a trusted operating system; the scheduling processor is configured to allocate at least one first physical core running the general-purpose operating system among the multiple physical cores and running all at least one second physical core of the trusted operating system, wherein the at least one first physical core and the at least one second physical core are different.
本申请实施例通过采用调度处理器为通用操作系统和可信操作系统分配物理核,可以在某一操作系统任务高发期间由于过于忙碌导致物理核不足时,及时为该操作系统补充物理核,从而可以灵活的对物理核进行调配,进而提高物理核的利用率以及电子装置的运行速度。In the embodiment of the present application, by using the scheduling processor to allocate physical cores to the general-purpose operating system and the trusted operating system, when a certain operating system is too busy and the physical cores are insufficient during a period of high task occurrence, the operating system can be supplemented with physical cores in time, thereby The physical cores can be flexibly allocated, thereby improving the utilization rate of the physical cores and the running speed of the electronic device.
在一种可能的实现方式中,所述调度处理器基于以下至少一项分配所述至少一个第一物理核和所述至少一个第二物理核;所述至少一个第一物理核的第一资源占用率或者所述至少一个第二物理核的第二资源占用率。In a possible implementation manner, the scheduling processor allocates the at least one first physical core and the at least one second physical core based on at least one of the following; the first resource of the at least one first physical core The occupancy rate or the second resource occupancy rate of the at least one second physical core.
在一种可能的实现方式中,所述第一资源占用率和所述第二资源占用率,是所述多核处理器或者专用测量装置上报的。In a possible implementation manner, the first resource occupancy rate and the second resource occupancy rate are reported by the multi-core processor or a dedicated measurement device.
在一种可能的实现方式中,分配所述至少一个第一物理核包括以下至少一项:增加所述至少一个第一物理核的数目、减少所述至少一个第一物理核的数目、将所述至少一个第一物理核中的一个或多个物理核切换为其他物理核。In a possible implementation manner, allocating the at least one first physical core includes at least one of the following: increasing the number of the at least one first physical core, decreasing the number of the at least one first physical core, changing the number of the at least one first physical core One or more physical cores in the at least one first physical core are switched to other physical cores.
在一种可能的实现方式中,分配所述至少一个第二物理核包括以下至少一项:增加所述至少一个第二物理核的数目、减少所述至少一个第二物理核的数目、将所述至少一个第二物理核中的一个或多个物理核切换为其他物理核。In a possible implementation manner, allocating the at least one second physical core includes at least one of the following: increasing the number of the at least one second physical core, decreasing the number of the at least one second physical core, assigning all the One or more physical cores in the at least one second physical core are switched to other physical cores.
在一种可能的实现方式中,所述多核处理器被禁止访问以下至少一项:所述调度处理器的电源、所述调度处理器的时钟或者所述调度处理器所管理的数据。In a possible implementation manner, the multi-core processor is prohibited from accessing at least one of the following: a power supply of the scheduling processor, a clock of the scheduling processor, or data managed by the scheduling processor.
在一种可能的实现方式中,所述调度处理器包括主动度量装置,所述主动度量装置,用于对所述可信操作系统和所述通用操作系统进行安全检测。In a possible implementation manner, the scheduling processor includes an active measurement device, and the active measurement device is configured to perform security detection on the trusted operating system and the general operating system.
主动度量装置通过运行安全系统软件,可以在电子装置上电时、电子装置被唤醒时或多核处理器运行过程中,对多核处理器运行的通用操作系统和可信操作系统进行安全检测,确保通用操作系统和可信操作系统正常运行。By running the security system software, the active measurement device can perform security detection on the general operating system and the trusted operating system running on the multi-core processor when the electronic device is powered on, when the electronic device is woken up, or during the running process of the multi-core processor, so as to ensure the universal The operating system and trusted operating system are functioning normally.
第二方面,本申请实施例提供一种系统级芯片,该系统级芯片包括如第一方面所述的电子装置。In a second aspect, an embodiment of the present application provides a system-on-chip, where the system-on-chip includes the electronic device described in the first aspect.
第三方面,本申请实施例提供一种物理核分配方法,该物理核分配方法包括:调度处理器分配多核处理器中用于运行通用操作系统的至少一个第一物理核和用于运行可信操作系统的至少一个第二物理核,其中,所述至少一个第一物理核和所述至少一个第二物理核不同;所述多核处理器基于所述至少一个第一物理核和所述至少一个第二物理核,分别运行所述通用操作系统和所述可信操作系统。In a third aspect, an embodiment of the present application provides a method for allocating physical cores. The method for allocating physical cores includes: scheduling a processor to allocate at least one first physical core for running a general-purpose operating system in a multi-core processor and for running a trusted at least one second physical core of an operating system, wherein the at least one first physical core and the at least one second physical core are different; the multi-core processor is based on the at least one first physical core and the at least one The second physical core runs the general operating system and the trusted operating system respectively.
基于第三方面,在一种可能的实现方式中,所述调度处理器基于以下至少一项分配所述至少一个第一物理核和所述至少一个第二物理核;所述至少一个第一物理核的第一资源占用率或者所述至少一个第二物理核的第二资源占用率。Based on the third aspect, in a possible implementation manner, the scheduling processor allocates the at least one first physical core and the at least one second physical core based on at least one of the following; the at least one first physical core The first resource occupancy rate of the core or the second resource occupancy rate of the at least one second physical core.
应当理解的是,本申请的第二至三方面与本申请的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。It should be understood that the second to third aspects of the present application are consistent with the technical solutions of the first aspect of the present application, and the beneficial effects obtained by each aspect and the corresponding feasible implementation manner are similar, and will not be repeated.
附图说明Description of drawings
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to illustrate the technical solutions of the embodiments of the present application more clearly, the following briefly introduces the drawings that are used in the description of the embodiments of the present application. Obviously, the drawings in the following description are only some embodiments of the present application. , for those of ordinary skill in the art, other drawings can also be obtained from these drawings without creative labor.
图1是本申请实施例提供的电子装置的一个结构示意图;1 is a schematic structural diagram of an electronic device provided by an embodiment of the present application;
图2是本申请实施例提供的如图1所示的电子装置中的多核处理器101的一个结构示意图;FIG. 2 is a schematic structural diagram of the multi-core processor 101 in the electronic device shown in FIG. 1 provided by an embodiment of the present application;
图3是本申请实施例提供的物理核分配情况的一个应用场景示意图;3 is a schematic diagram of an application scenario of physical core allocation provided by an embodiment of the present application;
图4是本申请实施例提供的物理核分配情况的又一个应用场景示意图;4 is a schematic diagram of another application scenario of physical core allocation provided by an embodiment of the present application;
图5a-图5b是本申请实施例提供的物理核分配情况的又一个应用场景示意图;5a-5b are schematic diagrams of another application scenario of physical core allocation provided by an embodiment of the present application;
图6是本申请实施例提供的物理核分配情况的又一个应用场景示意图;6 is a schematic diagram of another application scenario of physical core allocation provided by an embodiment of the present application;
图7是本申请实施例提供的调度处理器获取第一物理核的资源占用率和第二物理核的资源占用率的方法的一个交互流程图;7 is an interactive flowchart of a method for a scheduling processor to obtain a resource occupancy rate of a first physical core and a resource occupancy rate of a second physical core provided by an embodiment of the present application;
图8是本申请实施例提供的电子装置的又一个结构示意图;8 is another schematic structural diagram of an electronic device provided by an embodiment of the present application;
图9是本申请实施例提供的物理核分配方法的一个流程图。FIG. 9 is a flowchart of a physical core allocation method provided by an embodiment of the present application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
本文所提及的"第一"、"第二"以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,"一个"或者"一"等类似词语也不表示数量限制,而是表示存在至少一个。"连接"或者"相连"等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的,等同于广义上的耦合或联通。References herein to "first," "second," and similar terms do not denote any order, quantity, or importance, but are merely used to distinguish the various components. Likewise, words such as "a" or "an" do not denote a quantitative limitation, but rather denote the presence of at least one. Similar words "connected" or "connected" are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect, equivalent to coupling or communicating in a broad sense.
在本文中提及的"模块"通常是指按照逻辑划分的功能性结构,该"模块"可以由纯硬件实现,或者,软硬件的结合实现。在本申请实施中,“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。The "module" mentioned in this document generally refers to a functional structure divided according to logic, and the "module" can be realized by pure hardware, or realized by a combination of software and hardware. In the implementation of this application, "and/or" describes the association relationship of the associated objects, which means that there can be three kinds of relationships, for example, A and/or B, which can mean that A exists alone, A and B exist simultaneously, and B exists alone. three conditions.
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。In the embodiments of the present application, words such as "exemplary" or "for example" are used to represent examples, illustrations or illustrations. Any embodiments or designs described in the embodiments of the present application as "exemplary" or "such as" should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present the related concepts in a specific manner. In the description of the embodiments of the present application, unless otherwise specified, the meaning of "plurality" refers to two or more. For example, multiple processing units refers to two or more processing units; multiple systems refers to two or more systems.
请参考图1,其示出了本申请实施例提供的电子装置100的一个硬件架构示意图。该电子装置100可以位于一个终端内。该终端可以是一个用户设备(User Equipment,UE),如手机、平板电脑或可穿戴设备(如智能手表)等各种类型的便携式终端设备。此外,该电子装置100也可以位于一个服务器中。电子装置100具体可以是芯片或芯片组或搭载有芯片或芯片组的电路板。该芯片或芯片组或搭载有芯片或芯片组的电路板可在适合的软件驱动下工作。电子装置100包括多核处理器101和调度处理器102。可选地,所述多核处理器101和调度处理器102可以集成在一个或多个芯片内,该一个或多个芯片可以被视为是一个芯片组,当一个或多个处理器被集成在同一个芯片内时该芯片也叫片上系统(System on a Chip,SOC)。此外,电子装置100还包括一个或多个其他部件,例如存储设备103。在一种可能的实现方式中,存储设备103可以与多核处理器101和调度处理器102位于电子装置100中的同一个片上系统内,也即存储设备103集成于如上图1所示的SOC中。Please refer to FIG. 1 , which shows a schematic diagram of a hardware architecture of an electronic device 100 provided by an embodiment of the present application. The electronic device 100 may be located in a terminal. The terminal may be a user equipment (User Equipment, UE), such as various types of portable terminal devices such as a mobile phone, a tablet computer, or a wearable device (such as a smart watch). In addition, the electronic device 100 may also be located in a server. The electronic device 100 may specifically be a chip or a chip set or a circuit board on which the chip or the chip set is mounted. The chip or chip set or the circuit board on which the chip or chip set is mounted can be driven by suitable software. The electronic device 100 includes a multi-core processor 101 and a scheduling processor 102 . Optionally, the multi-core processor 101 and the scheduling processor 102 may be integrated in one or more chips, and the one or more chips may be regarded as a chipset, when one or more processors are integrated in When in the same chip, the chip is also called a System on a Chip (SOC). In addition, the electronic device 100 also includes one or more other components, such as a storage device 103 . In a possible implementation manner, the storage device 103 may be located in the same system-on-chip as the multi-core processor 101 and the scheduling processor 102 in the electronic device 100, that is, the storage device 103 is integrated in the SOC as shown in FIG. 1 above. .
多核处理器101包括多个物理核。例如,当多核处理器101位于移动终端中时,该多核处理器101可以包括8个物理核;当多核处理器101位于PC中时,该多核处理器101可以包括12~16个物理核;当多核处理器101位于服务器中时,多核处理器101可以包括32~64个物理核。多核处理器101所包括的多个物理核可以分为第一物理核和第二物理核,第一物理核用于运行通用操作系统,第二物理核用于运行可信操作系统,如图2所示。其中,第一物理核和第二物理核所包括的物理核不同。这里的不同可以是指运行操作系统的第一物理核和运行可信操作系统的第二物理核无交叉,当某一物理核运行可信操作系统时,其通常无法运行通用操作系统;同样,当某一物理核运行通用操作系统时,其通常无法运行可信操作系 统。需要说明的是,这里所述的第一物理核是指运行通用操作系统的一类物理核,第一物理核中的“第一”并不用于对数量的限制;同样,第二物理核是指运行可信操作系统的一类物理核,第二物理核中的“第二”并不用于对数量的限制。本实施例的物理核是一个可以独立运行或被关闭的处理器核心,可选择性包括基本的逻辑计算单元、解指令器和调度器等电路原件,本实施例对此不限定。The multi-core processor 101 includes multiple physical cores. For example, when the multi-core processor 101 is located in the mobile terminal, the multi-core processor 101 may include 8 physical cores; when the multi-core processor 101 is located in the PC, the multi-core processor 101 may include 12-16 physical cores; When the multi-core processor 101 is located in a server, the multi-core processor 101 may include 32-64 physical cores. The multiple physical cores included in the multi-core processor 101 can be divided into a first physical core and a second physical core. The first physical core is used to run a general operating system, and the second physical core is used to run a trusted operating system, as shown in Figure 2 shown. The physical cores included in the first physical core and the second physical core are different. The difference here may mean that there is no overlap between the first physical core running the operating system and the second physical core running the trusted operating system. When a physical core runs the trusted operating system, it usually cannot run the general-purpose operating system; similarly, When a physical core runs a general-purpose operating system, it usually cannot run a trusted operating system. It should be noted that the first physical core mentioned here refers to a type of physical core running a general-purpose operating system, and the "first" in the first physical core is not used to limit the number; similarly, the second physical core is Refers to a type of physical core running a trusted operating system, and the "second" in the second physical core is not used to limit the number. The physical core in this embodiment is a processor core that can run independently or be turned off, and can optionally include circuit elements such as a basic logical computing unit, a de-instructor, and a scheduler, which is not limited in this embodiment.
本申请实施例中所述的通用操作系统,又可以称为宿主操作系统,是指为用户提供应用和服务(例如即时通讯或者购物等服务)的操作系统,通用操作系统主要实现计算功能,例如包括但不限于:windows系统、Android系统、Redhat Linux系统或者鸿蒙OS系统等。这些操作系统可以用来支持一般的非安全类普通应用软件。这些非安全类普通应用软件通常为第三方应用(例如视频类应用、购物类应用)。可信操作系统通常运行可信软件,实现对通用操作系统运行时安全度量、访问控制、安全规则决策判定等任务,确保通用操作系统正确可信运行。可信应用系统用于运行安全应用软件,这些安全应用软件可以用来支持诸如签名、加解密计算、人脸比对等安全服务。在这些非安全类普通应用软件中,部分可以调用可信操作系统中的安全应用软件,可信操作系统的安全性高于通用操作系统的安全性。通过采用不同的物理核运行通用操作系统和可信操作系统,可以保证可信操作系统与通用操作系统之间的硬件隔离,避免黑客通过通用操作系统进入可信操作系统来篡改可信操作系统中管理的数据,提高可信操作系统运行环境的安全性。例如,可信操作系统的代码是与通用操作系统的代码不同且互相隔离的。例如,可信操作系统与通用操作系统中的每个可包括独立系统内核和其他操作系统框架。The general-purpose operating system described in the embodiments of this application, which may also be referred to as a host operating system, refers to an operating system that provides applications and services (such as instant messaging or shopping) for users. The general-purpose operating system mainly implements computing functions, such as Including but not limited to: Windows system, Android system, Redhat Linux system or Hongmeng OS system, etc. These operating systems can be used to support general non-safety common application software. These non-safety common applications are usually third-party applications (eg, video applications, shopping applications). Trusted operating systems usually run trusted software, which implements tasks such as security measurement, access control, and decision-making of security rules during the runtime of the general operating system, so as to ensure the correct and trusted operation of the general operating system. The trusted application system is used to run security application software, which can be used to support security services such as signature, encryption and decryption calculation, and face comparison. Some of these non-safety common application software can call the safety application software in the trusted operating system, and the security of the trusted operating system is higher than that of the general operating system. By using different physical cores to run the general-purpose operating system and the trusted operating system, the hardware isolation between the trusted operating system and the general-purpose operating system can be ensured, and hackers can avoid tampering with the trusted operating system by entering the trusted operating system through the general-purpose operating system. Managed data to improve the security of the trusted operating system operating environment. For example, the code of the trusted operating system is different and isolated from the code of the general operating system. For example, each of the trusted operating system and the general-purpose operating system may include an independent system kernel and other operating system frameworks.
调度处理器102可以对多核处理器101中的多个物理核进行分配,以使得至少一个第一物理核运行通用操作系统、至少一个第二物理核运行可信操作系统。具体的,调度处理器102可以在电子装置100上电时以及电子装置100运行过程中对多核处理器101中的多个物理核进行分配。分配第一物理核可以包括但不限于:在电子装置100上电时分配第一物理核的数目;在电子装置100运行过程中增加第一物理核的数目、减少第一物理核的数目或者将至少一个第一物理核中的一个或多个物理核切换为其他物理核。分配第二物理核可以包括但不限于:在电子装置100上电时分配第二物理核的数目;在电子装置100运行过程中增加第二物理核的数目、减少第二物理核的数目或者将至少一个第二物理核中的一个或多个物理核切换为其他物理核。举例来说,在ARM公司提出的big.LITTLE多核架构中,多核处理器中的物理核按照处理并发任务的能力和运行速率划分为高性能的物理核和低性能的物理核。上述将一个或多个物理核切换为其他物理核可以包括但不限于:将低性能的物理核切换为高性能的物理核、或者将高性能的物理核切换为低性能的物理核等。本申请实施例通过设置调度处理器102以对第一物理核和第二物理核进行分配,可以在某一操作系统任务高发期间由于过于忙碌导致物理核不足时,及时为该操作系统补充物理核,从而可以灵活的对物理核进行调配,进而提高物理核的利用率以及电子装置100的运行速度。The scheduling processor 102 may allocate multiple physical cores in the multi-core processor 101, so that at least one first physical core runs a general operating system and at least one second physical core runs a trusted operating system. Specifically, the scheduling processor 102 may allocate multiple physical cores in the multi-core processor 101 when the electronic device 100 is powered on and during the operation of the electronic device 100 . Allocating the first physical cores may include, but is not limited to: allocating the number of the first physical cores when the electronic device 100 is powered on; increasing the number of the first physical cores, decreasing the number of the first physical cores, or changing the number of the first physical cores during the operation of the electronic device 100 One or more of the at least one first physical cores are switched to other physical cores. Allocating the second physical core may include, but is not limited to: allocating the number of the second physical core when the electronic device 100 is powered on; increasing the number of the second physical core, decreasing the number of the second physical core, or changing the number of the second physical core during the operation of the electronic device 100 One or more of the at least one second physical cores are switched to other physical cores. For example, in the big.LITTLE multi-core architecture proposed by ARM, the physical cores in the multi-core processor are divided into high-performance physical cores and low-performance physical cores according to the ability to process concurrent tasks and the running rate. The above-mentioned switching of one or more physical cores to other physical cores may include, but is not limited to, switching a low-performance physical core to a high-performance physical core, or switching a high-performance physical core to a low-performance physical core, and the like. In this embodiment of the present application, by setting the scheduling processor 102 to allocate the first physical core and the second physical core, when a certain operating system task is too busy and the physical core is insufficient, the operating system can be supplemented with physical cores in time. , so that the physical cores can be flexibly allocated, thereby improving the utilization rate of the physical cores and the running speed of the electronic device 100 .
本申请实施例中,如图1所示的存储设备103中可以设置有共享内存。多核处理器101和调度处理器102之间通过共享内存通信。具体的,调度处理器102可以将各个物理核的分配情况存储至共享内存中,多核处理器101可以从共享内存中读取物理核分配情况,基于物理核分配情况运行通用操作系统和可信操作系统。下面通过以下几种可能的实现方式对本申请实施例所述的分配第一物理核和分配第二物理核进行更为详细的描述。In this embodiment of the present application, the storage device 103 shown in FIG. 1 may be provided with a shared memory. The multi-core processor 101 and the scheduling processor 102 communicate through shared memory. Specifically, the scheduling processor 102 can store the allocation of each physical core in the shared memory, and the multi-core processor 101 can read the allocation of physical cores from the shared memory, and run the general operating system and trusted operations based on the allocation of physical cores system. The allocation of the first physical core and the allocation of the second physical core described in the embodiments of the present application will be described in more detail below through the following possible implementation manners.
在一种可能的实现方式中,调度处理器102中可以预先存储有第一物理核数目的第一初始值和第二物理核数目的第二初始值。当电子装置100上电时,调度处理器102可以基于第一初始值和第二初始值分配第一物理核的数目和第二物理核的数目。举例来说,假设多核处理器101包括8个物理核,第一初始值为6,第二初始值为2,调度处理器102可以为通用操作系统分配6个第一物理核,为可信操作系统分配2个物理核。需要说明的是,调度处理器102为通过操作系统所分配的第一物理核的数目以及为可信操作系统所分配的第二物理核的数目,是通用操作系统和可信操作系统分别可以调用的物理核的数目。在某一时段,第一物理核并不一定全部被用来运行通用操作系统,同样,第二物理核也不一定全部被用来运行可信操作系统。下面结合图3所示的应用场景进行详细描述。在图3中,假设调度处理器102为通过操作系统分配的第一物理核包括1号-6号该六个,调度处理器102为可信操作系统分配的第二物理核包括7号和8号该两个。当通用操作系统的数据访问量较低以及任务并发量较少时,通用操作系统可以调用1号-3号该三个第一物理核运行,另外4号-6号该三个第一物理核处于空闲状态;当通用操作系统的数据访问量较高以及任务并发量较多时,通用操作系统可以调用1号-6号该6个第一物理核运行通用操作系统。基于同样的原理,可信操作系统可以调用7号物理核和8号物理核中的至少一个运行可信操作系统。In a possible implementation manner, the scheduling processor 102 may pre-store a first initial value of the number of first physical cores and a second initial value of the number of second physical cores. When the electronic device 100 is powered on, the scheduling processor 102 may allocate the number of the first physical core and the number of the second physical core based on the first initial value and the second initial value. For example, assuming that the multi-core processor 101 includes 8 physical cores, the first initial value is 6, and the second initial value is 2, the scheduling processor 102 can allocate 6 first physical cores for the general-purpose operating system for trusted operation The system allocates 2 physical cores. It should be noted that the scheduling processor 102 is the number of the first physical cores allocated by the operating system and the number of the second physical cores allocated for the trusted operating system, which can be respectively called by the general-purpose operating system and the trusted operating system. the number of physical cores. In a certain period of time, not all of the first physical cores are used to run the general-purpose operating system, and similarly, all of the second physical cores are not necessarily used to run the trusted operating system. The following is a detailed description in conjunction with the application scenario shown in FIG. 3 . In FIG. 3 , it is assumed that the first physical cores assigned by the scheduling processor 102 to the operating system include six numbers 1-6, and the second physical cores assigned by the scheduling processor 102 to the trusted operating system include numbers 7 and 8 No. The two. When the data access volume of the general-purpose operating system is low and the task concurrency is small, the general-purpose operating system can call the three first physical cores No. 1 to No. 3 to run, and the other three first physical cores No. 4 to No. 6 to run It is in an idle state; when the amount of data access of the general-purpose operating system is high and the number of concurrent tasks is high, the general-purpose operating system can call the six first physical cores No. 1 to No. 6 to run the general-purpose operating system. Based on the same principle, the trusted operating system can call at least one of the physical core No. 7 and the physical core No. 8 to run the trusted operating system.
在一种可能的实现方式中,在电子装置100运行过程中,调度处理器102还可以基于以下至少一项分配第一物理核和第二物理核:至少一个第一物理核的第一资源占用率和至少一个第二物理核的第二资源占用率。本申请实施例中所述的资源占用率,也可以称为处理器占用率,具体是指哪些程序占用了处理器执行任务以及所占用的比率。以通用操作系统为例,当通用操作系统的数据访问量较低以及任务并发量较少时,通用操作系统中所运行的程序较少,第一物理核中至少部分物理核的资源占用率较低;反之,当通用操作系统的数据访问量较高以及任务并发量较多时,通用操作系统中所运行的程序较多,第一物理核中至少部分物理核的资源占用率较高。通用操作系统和可信操作系统在运行时,会分别记录各自的物理核的资源占用率信息。调度处理器102可以获得第一物理核的资源占用率和第二物理核的资源占用率,然后基于第一物理核的资源占用率和第二物理核的资源占用率中的至少一项,分配第一物理核和第二物理核。从而,调度处理器102可以在每一个第一物理核的资源占用率均较高、至少部分第二物理核的资源占用率较低时(也即通用操作系统过于忙碌、可信操作系统空闲时),收回至少一个第二物理核,并将收回的物理核添加至第一物理核中以运行通用操作系统;在每一个第二物理核的资源占用率均较高、至少部分第一物理核的资源占用率较低时(可信操作系统过于忙碌、通用操作系统空闲时),收回至少一个第一物理核,并将收回的物理核添加至第二物理核中以运行可信操作系统。此外,当每一个第一物理核的资源占用率均较高、至少部分第二物理核的资源占用率较低时,还可以将第一物理核中的低性能物理核与第二物理核中的高性能物理核进行切换;同样,当每一个第二物理核的资源占用率均较高、至少部分第一物理核的资源占用率较低时,还可以将第二物理核中的低性能物理核与第一物理核中的高性能物理核进行切换。In a possible implementation manner, during the operation of the electronic device 100, the scheduling processor 102 may further allocate the first physical core and the second physical core based on at least one of the following: the first resource occupation of the at least one first physical core rate and a second resource occupancy rate of the at least one second physical core. The resource occupancy rate described in the embodiments of the present application may also be referred to as the processor occupancy rate, and specifically refers to which programs occupy the processor to perform tasks and the occupied rate. Taking a general-purpose operating system as an example, when the data access amount of the general-purpose operating system is low and the number of concurrent tasks is low, there are fewer programs running in the general-purpose operating system, and the resource occupancy rate of at least some of the physical cores in the first physical core is relatively low. On the contrary, when the amount of data access of the general-purpose operating system is high and the number of concurrent tasks is high, there are many programs running in the general-purpose operating system, and the resource occupancy rate of at least some of the first physical cores is high. When the general-purpose operating system and the trusted operating system are running, the resource occupancy rate information of the respective physical cores will be respectively recorded. The scheduling processor 102 can obtain the resource occupancy rate of the first physical core and the resource occupancy rate of the second physical core, and then allocates the resource based on at least one of the resource occupancy rate of the first physical core and the resource occupancy rate of the second physical core. A first physical core and a second physical core. Therefore, the scheduling processor 102 can schedule the processor 102 when the resource occupancy rate of each of the first physical cores is relatively high and the resource occupancy rate of at least some of the second physical cores is relatively low (that is, when the general-purpose operating system is too busy and the trusted operating system is idle) ), withdraw at least one second physical core, and add the withdrawn physical core to the first physical core to run a general-purpose operating system; the resource occupancy rate of each second physical core is relatively high, and at least part of the first physical core When the resource occupancy rate of the device is low (the trusted operating system is too busy and the general operating system is idle), at least one first physical core is reclaimed, and the reclaimed physical core is added to the second physical core to run the trusted operating system. In addition, when the resource occupancy rate of each of the first physical cores is relatively high, and the resource occupancy rate of at least some of the second physical cores is relatively low, the low-performance physical core in the first physical core may also be combined with the second physical core. Similarly, when the resource occupancy rate of each second physical core is high, and the resource occupancy rate of at least some of the first physical cores is low, the low-performance physical cores in the second physical core can also be switched. The physical core switches with the high-performance physical core in the first physical core.
本申请实施例中,调度处理器102是通过比较各物理核的资源占用率与资源占用率门限值来分配各物理核的。在一种可能的实现方式中,调度处理器102中可以预先存储有物理核的资源占用率阈值上限和下限。例如,上限为80%,下限为20%。当某一物理核的资源占用率超过资源占用率阈值上限时,说明该物理核所执行的任务较多,也即繁忙;当某一物理核 的资源占用率低于资源占用率阈值下限时,说明物理核所执行的任务较少,也即空闲。电子装置100上电后,调度处理器102可以实时获取或者周期性的获取每一个物理核的资源占用率。调度处理器102将每一个物理核的资源占用率和预设阈值进行比较,基于比较结果确定各物理核的繁忙程度,从而执行后续的分配流程。In the embodiment of the present application, the scheduling processor 102 allocates each physical core by comparing the resource occupancy rate of each physical core with the resource occupancy rate threshold value. In a possible implementation manner, the scheduling processor 102 may pre-store the upper limit and lower limit of the resource occupancy rate threshold of the physical core. For example, the upper limit is 80% and the lower limit is 20%. When the resource occupancy rate of a physical core exceeds the upper limit of the resource occupancy rate threshold, it means that the physical core performs many tasks, that is, it is busy; when the resource occupancy rate of a certain physical core is lower than the lower limit of the resource occupancy rate threshold, the It means that the physical core performs fewer tasks, that is, idle. After the electronic device 100 is powered on, the scheduling processor 102 may acquire the resource occupancy rate of each physical core in real time or periodically. The scheduling processor 102 compares the resource occupancy rate of each physical core with a preset threshold, determines the busyness of each physical core based on the comparison result, and executes the subsequent allocation process.
下面以资源占用率阈值下限为20%、资源占用率阈值上限为80%为例,通过多个具体场景,对调度处理器102基于第一物理核的第一资源占用率和第二物理核的第二资源占用率分配第一物理核和第二物理核,进行更为详细的描述。Taking the lower limit of the resource occupancy rate threshold as 20% and the upper limit of the resource occupancy rate threshold as 80% as an example, the scheduling processor 102 will schedule the processor 102 based on the first resource occupancy rate of the first physical core and the resource occupancy rate of the second physical core through a number of specific scenarios. The second resource occupancy rate allocates the first physical core and the second physical core, which will be described in more detail.
场景一:假设运行通用操作系统初始的第一物理核包括1号物理核-6号物理核、运行可信操作系统初始的第二物理核包括7号物理核-8号物理核,如图3所示。其中,1号-6号物理核的资源占用率均超过80%,7号物理核的资源占用率为50%,8号物理核的资源占用率为15%。此时,调度处理器102可以收回8号物理核,然后将所收回的8号物理核添加至第一物理核中,以运行通用操作系统,物理核调配后的情况如图4所示。Scenario 1: Suppose the first physical core initially running the general operating system includes physical cores 1-6, and the second physical core initially running the trusted operating system includes physical cores 7-8, as shown in Figure 3 shown. Among them, the resource occupancy rates of physical cores 1 to 6 all exceed 80%, the resource occupancy rate of physical core 7 is 50%, and the resource occupancy rate of physical core 8 is 15%. At this time, the scheduling processor 102 can reclaim physical core No. 8, and then add the reclaimed physical core No. 8 to the first physical core to run a general-purpose operating system. The situation after physical core deployment is shown in FIG. 4 .
在图4所示的物理核分配情况下,当8号物理核的资源占用率低于20%时,调度处理器102可以收回8号物理核,然后将所收回的8号物理核添加至第二物理核中,以继续供可信操作系统调配,此时物理核的分配情况如图3所示。In the case of physical core allocation shown in FIG. 4, when the resource occupancy rate of the physical core No. 8 is lower than 20%, the scheduling processor 102 can reclaim the physical core No. 8, and then add the reclaimed physical core No. 8 to the No. 8 physical core. In the two physical cores, the trusted operating system can continue to be allocated. At this time, the allocation of the physical cores is shown in FIG. 3 .
场景二:假设通用操作系统初始的第一物理核包括1号物理核-6号物理核、运行可信操作系统初始的第二物理核包括7号物理核-8号物理核,如图3所示。其中,1号-3号物理核的资源占用率均超过80%,4号物理核的资源占用率为60%,5号和6号物理核的资源占用率均低于20%,7号和8号物理核的资源占用率均达到90%。此时,调度处理器102可以收回5号和6号物理核,然后将所收回的5号和6号物理核添加至第二物理核中,以运行可信操作系统,物理核调配后的情况如图5a所示。Scenario 2: Assume that the initial first physical core of the general-purpose operating system includes physical cores No. 1 and 6, and the second physical core initially running the trusted operating system includes physical cores No. 7 and No. 8, as shown in Figure 3. Show. Among them, the resource occupancy rate of physical cores 1 to 3 is over 80%, the resource occupancy rate of physical core 4 is 60%, the resource occupancy rate of physical cores 5 and 6 is lower than 20%, and the resource occupancy rate of physical cores 7 and 6 is lower than 20%. The resource occupancy rate of physical core No. 8 reaches 90%. At this time, the scheduling processor 102 can reclaim physical cores No. 5 and 6, and then add the reclaimed physical cores No. 5 and 6 to the second physical core to run the trusted operating system. The situation after the physical cores are deployed As shown in Figure 5a.
在图5a所示的情况下,当5号物理核的资源占用率低于20%时,调度处理器102可以收回5号物理核,然后将所收回的5号物理核添加至第一物理核中,以继续供通用操作系统调配,此时物理核的分配情况如图5b所示;或者,当6号物理核的资源占用率低于20%时,调度处理器102可以收回6号物理核,然后将所收回的6号物理核添加至第一物理核中,以继续供通用操作系统调配,此时物理核的分配情况如图3所示。In the situation shown in FIG. 5a, when the resource occupancy rate of the physical core No. 5 is lower than 20%, the scheduling processor 102 may reclaim the physical core No. 5, and then add the reclaimed physical core No. 5 to the first physical core In order to continue to be allocated by the general operating system, the allocation of physical cores is shown in FIG. 5b; or, when the resource occupancy rate of physical core No. 6 is lower than 20%, the scheduling processor 102 can withdraw physical core No. 6 , and then add the recovered No. 6 physical core to the first physical core to continue to be allocated by the general-purpose operating system. At this time, the allocation of physical cores is shown in FIG. 3 .
场景三:假设通用操作系统初始的第一物理核包括1号物理核-6号物理核、运行可信操作系统初始的第二物理核包括7号物理核-8号物理核,如图3所示。1号物理核-4号物理核为低性能物理核,5号-8号物理核为高性能物理核。1号-6号物理核的资源占用率均超过80%,7号物理核的资源占用率为70%,8号物理核的资源占用率为30%。此时,调度处理器102可以收回1号物理核和8号物理核,然后将所收回的8号物理核添加至第一物理核中以运行通用操作系统,将所收回的1号物理核添加至第二物理核中以运行可信操作系统,物理核调配后的情况如图6所示。Scenario 3: Suppose the initial first physical core of the general operating system includes physical cores 1-6, and the second physical core initially running the trusted operating system includes physical cores 7-8, as shown in Figure 3 Show. Physical cores 1-4 are low-performance physical cores, and physical cores 5-8 are high-performance physical cores. The resource occupancy rates of physical cores 1 to 6 all exceed 80%, the resource occupancy rate of physical core 7 is 70%, and the resource occupancy rate of physical core 8 is 30%. At this time, the scheduling processor 102 may withdraw the physical core No. 1 and the physical core No. 8, and then add the withdrawn physical core No. 8 to the first physical core to run the general-purpose operating system, and add the withdrawn physical core No. 1 to the first physical core. To the second physical core to run the trusted operating system, the situation after the physical core is deployed is shown in FIG. 6 .
本申请实施例中,调度处理器102可以通过多种方法获得第一物理核的第一资源占用率和第二物理核的第二资源占用率。In this embodiment of the present application, the scheduling processor 102 may obtain the first resource occupancy rate of the first physical core and the second resource occupancy rate of the second physical core through various methods.
在第一种可能的实现方式中,第一物理核的资源占用率和第二物理核的资源占用率可以是多核处理器101主动上报给调度处理器102的。对于通用操作系统和可信操作系统中的任意一个操作系统,当该操作系统的物理核的资源占用率超过预设阈值时,多核处理器101可以将运行该操作系统的各物理核的资源占用率上报给调度处理器102。可选的,多核处理器 101可以将各物理核以及各物理核的资源占用率,写入存储设备103中的共享内存中,然后向调度处理器102发送中断信号。调度处理器102响应于该中断信号,从共享内存中读取。此外,多核处理器101还可以进一步向调度处理器102发送中断信号,以指示获取另外一个操作系统的各物理核的资源占用率。In a first possible implementation manner, the resource occupancy rate of the first physical core and the resource occupancy rate of the second physical core may be actively reported by the multi-core processor 101 to the scheduling processor 102 . For any one of the general-purpose operating system and the trusted operating system, when the resource occupancy rate of the physical cores of the operating system exceeds a preset threshold, the multi-core processor 101 may occupy the resources of each physical core running the operating system The rate is reported to the scheduling processor 102 . Optionally, the multi-core processor 101 may write each physical core and the resource occupancy rate of each physical core into the shared memory in the storage device 103, and then send an interrupt signal to the scheduling processor 102. The scheduling processor 102 reads from the shared memory in response to the interrupt signal. In addition, the multi-core processor 101 may further send an interrupt signal to the scheduling processor 102 to instruct to obtain the resource occupancy rate of each physical core of another operating system.
下面以通用操作系统的负载量超过预设阈值为例,结合图7所示的交互流程700,通过具体场景对第一种可能的实现方式进行描述。In the following, taking the load of the general operating system exceeding the preset threshold as an example, in conjunction with the interaction process 700 shown in FIG. 7 , the first possible implementation manner will be described through a specific scenario.
步骤701,多核处理器101在通用操作系统的负载量超过预设阈值时,将每一个第一物理核的资源占用率信息存储至共享内存中。多核处理器101将每一个第一物理核的资源占用率存储至共享内存后,执行步骤702。步骤702,多核处理器101向调度处理器102发送第一中断信号。该第一中断信号指示调度处理器102从共享内存读取每一个第一物理核的资源占用率信息。Step 701: When the load of the general-purpose operating system exceeds a preset threshold, the multi-core processor 101 stores the resource occupancy rate information of each first physical core in the shared memory. After the multi-core processor 101 stores the resource occupancy rate of each first physical core in the shared memory, step 702 is performed. Step 702 , the multi-core processor 101 sends a first interrupt signal to the scheduling processor 102 . The first interrupt signal instructs the scheduling processor 102 to read the resource occupancy rate information of each first physical core from the shared memory.
步骤703,调度处理器102响应于第一中断信号,从共享内存读取每一个第一物理核的资源占用率信息。步骤704,调度处理器102确定每一个第一物理核的资源占用率是否均高于资源占用率上限。当调度处理器102确定出每一个第一物理核的资源占用率均高于资源占用率上限时,执行步骤705。步骤705,调度处理器102向多核处理器101发送第二中断信号。该第二中断信号用于指示多核处理器101发送每一个第二物理核的资源占用率信息。Step 703, the scheduling processor 102 reads the resource occupancy rate information of each first physical core from the shared memory in response to the first interrupt signal. Step 704, the scheduling processor 102 determines whether the resource occupancy rate of each first physical core is higher than the upper limit of the resource occupancy rate. When the scheduling processor 102 determines that the resource occupancy rate of each first physical core is higher than the upper limit of the resource occupancy rate, step 705 is executed. Step 705 , the scheduling processor 102 sends a second interrupt signal to the multi-core processor 101 . The second interrupt signal is used to instruct the multi-core processor 101 to send resource occupancy rate information of each second physical core.
步骤706,多核处理器101响应于第二中断信号,将每一个第二物理核的资源占用率信息存储至共享内存。多核处理器101将每一个第二物理核的资源占用率信息存储至共享内存后,执行步骤707。步骤707,多核处理器101向调度处理器102发送第三中断信号。该第三中断信号指示调度处理器102从共享内存读取每一个第二物理核的资源占用率信息。步骤708,多核处理器101响应第三中断信号,从共享内存读取每一个第二物理核的资源占用率信息。Step 706, the multi-core processor 101 stores the resource occupancy rate information of each second physical core in the shared memory in response to the second interrupt signal. After the multi-core processor 101 stores the resource occupancy rate information of each second physical core in the shared memory, step 707 is executed. Step 707 , the multi-core processor 101 sends a third interrupt signal to the scheduling processor 102 . The third interrupt signal instructs the scheduling processor 102 to read the resource occupancy rate information of each second physical core from the shared memory. Step 708, the multi-core processor 101 reads the resource occupancy rate information of each second physical core from the shared memory in response to the third interrupt signal.
在第二种可能的实现方式中,第一物理核的资源占用率和第二物理核的资源占用率可以是多核处理器101响应于调度处理器102的查询信息而上报的。调度处理器102可以周期性的向多核处理器101发送查询信息,该查询信息用于指示查询第一物理核的资源占用率和第二物理核的资源占用率。多核处理器101响应于查询信息,将第一物理核的资源占用率信息和第二物理核的资源占用率信息存储至共享内存。然后,多核处理器101向调度处理器102发送中断信号,该中断信号指示已将第一物理核的资源占用率信息和第二物理核的资源占用率信息存储至共享内存中。调度处理器102响应于中断信号,从共享内存读取第一物理核的资源占用率信息和第二物理核的资源占用率信息。In a second possible implementation manner, the resource occupancy rate of the first physical core and the resource occupancy rate of the second physical core may be reported by the multi-core processor 101 in response to query information from the scheduling processor 102 . The scheduling processor 102 may periodically send query information to the multi-core processor 101, where the query information is used to instruct to query the resource occupancy rate of the first physical core and the resource occupancy rate of the second physical core. In response to the query information, the multi-core processor 101 stores the resource occupancy rate information of the first physical core and the resource occupancy rate information of the second physical core in the shared memory. Then, the multi-core processor 101 sends an interrupt signal to the scheduling processor 102, the interrupt signal indicating that the resource occupancy rate information of the first physical core and the resource occupancy rate information of the second physical core have been stored in the shared memory. The scheduling processor 102 reads the resource occupancy rate information of the first physical core and the resource occupancy rate information of the second physical core from the shared memory in response to the interrupt signal.
在第三种可能的实现方式中,电子装置100还包括专用测量装置104,该专用测量装置104专用于测量多核处理器101中各物理核的资源占用率,可以以硬件电路实现,如图8所示。专用测量装置104可以分别与多核处理器101和调度处理器102通信。专用测量装置104可以从多核处理器101获得每一个物理核的资源占用率信息。调度处理器102可以实时的或者周期性的从专用测量装置103读取各物理核的资源占用率。In a third possible implementation manner, the electronic device 100 further includes a dedicated measurement device 104, the dedicated measurement device 104 is dedicated to measuring the resource occupancy rate of each physical core in the multi-core processor 101, and can be implemented in a hardware circuit, as shown in FIG. 8 shown. A dedicated measurement device 104 may communicate with the multi-core processor 101 and the scheduling processor 102, respectively. The dedicated measuring device 104 can obtain the resource occupancy rate information of each physical core from the multi-core processor 101 . The scheduling processor 102 may read the resource occupancy rate of each physical core from the dedicated measuring device 103 in real time or periodically.
本申请实施例一种可能的实现方式中,多核处理器101被禁止访问以下至少一项:调度处理器102的电源、调度处理器102的时钟或者和调度处理器102所管理的数据。也即是说,调度处理器102的硬件设计保证多核处理器101运行的软件无法干扰调度处理器102的运行。多核处理器101被禁止访问调度处理器102的电源是指:多核处理器101无法控制调度处理器102的上电或下电。也即是说,调度处理器102可以由外部电源(例如电源管理器或电源 适配器等)直接供电,多核处理器101无法控制调度处理器102的启动、关闭、进入或退出低功耗状态等。当电子装置100在外部电源的作用下上电时,多核处理器101和调度处理器102均分别启动,或者调度处理器102可以先启动;当电子装置100下电时,多核处理器101和调度处理器102均分别关闭。多核处理器101被禁止访问调度处理器102的时钟是指:多核处理器101无法控制调度处理器102的时钟周期。也即是说,调度处理器102工作时的时钟周期可以由外部时钟信号源直接提供,多核处理器101无法对调度处理器102中的各部件的时钟周期进行更改。通过禁止多核处理器101访问调度处理器102所管理的数据,可以避免黑客通过更改加载在多核处理器101内存中的运行程序来访问或篡改调度处理器102所管理的数据。通过禁止多核处理器101访问调度处理器102的电源,可以避免多核处理器101遭到攻击时,调度处理器102被恶意下电。通过禁止多核处理器101访问调度处理器102的时钟,可以避免多核处理器101遭到攻击时,调度处理器102的时钟周期被恶意篡改。从而,可以提高调度处理器102的安全性。In a possible implementation manner of the embodiment of the present application, the multi-core processor 101 is prohibited from accessing at least one of the following: the power supply of the scheduling processor 102 , the clock of the scheduling processor 102 , or the data managed by the scheduling processor 102 . That is to say, the hardware design of the scheduling processor 102 ensures that the software running on the multi-core processor 101 cannot interfere with the running of the scheduling processor 102 . The fact that the multi-core processor 101 is prohibited from accessing the power supply of the scheduling processor 102 means that the multi-core processor 101 cannot control the power-on or power-off of the scheduling processor 102 . That is to say, the scheduling processor 102 can be directly powered by an external power source (such as a power manager or a power adapter, etc.), and the multi-core processor 101 cannot control the scheduling processor 102 to start, shut down, enter or exit a low power consumption state, etc. When the electronic device 100 is powered on under the action of an external power supply, both the multi-core processor 101 and the scheduling processor 102 are started separately, or the scheduling processor 102 may be started first; when the electronic device 100 is powered off, the multi-core processor 101 and the scheduling processor 102 are started The processors 102 are turned off respectively. The fact that the multi-core processor 101 is prohibited from accessing the clock of the scheduling processor 102 means that the multi-core processor 101 cannot control the clock cycle of the scheduling processor 102 . That is to say, the clock cycle when the scheduling processor 102 works can be directly provided by an external clock signal source, and the multi-core processor 101 cannot change the clock cycle of each component in the scheduling processor 102 . By prohibiting the multi-core processor 101 from accessing the data managed by the scheduling processor 102 , hackers can be prevented from accessing or tampering with the data managed by the scheduling processor 102 by changing the running program loaded in the memory of the multi-core processor 101 . By prohibiting the multi-core processor 101 from accessing the power supply of the scheduling processor 102, it can be avoided that the scheduling processor 102 is maliciously powered off when the multi-core processor 101 is attacked. By prohibiting the multi-core processor 101 from accessing the clock of the scheduling processor 102, when the multi-core processor 101 is attacked, the clock cycle of the scheduling processor 102 can be prevented from being maliciously tampered with. Thus, the security of the scheduling processor 102 can be improved.
本申请实施例一种可能的实现方式中,调度处理器102可以例如包括用于运行安全系统软件的主动度量装置,该主动度量装置包括一个或多个处理器核。主动度量装置具体分配运行通用操作系统的第一物理核和运行可信操作系统的第二物理核。主动度量装置可以在电子装置100上电时、电子装置100被唤醒时或多核处理器101运行过程中,通过运行所述安全系统软件对多核处理器101运行的通用操作系统和可信操作系统进行安全检测,确保通用操作系统和可信操作系统正常运行。这里的安全检测可以包括但不限于:对通用操作系统程序的镜像哈希值和可信操作系统程序的镜像哈希值进行校验,以确保通用操作系统程序和可信操作系统程序未被改写,即避免相关数据被篡改。当主动度量装置检测出操作系统程序和可信操作系统程序被篡改时,可以对电子装置100执行安全保护操作。这里的安全保护操作可以包括但不限于:触发告警、复位电子装置100、拒绝软件所请求的服务(例如生物识别服务、密码解锁服务、或秘钥获取服务等)、指示多核处理器101停止运行、指示多核处理器101停止运行软件、禁止多核处理器101运行的软件的至少部分功能、或阻止软件访问电子装置100内存储的数据。由此,在多核处理器101运行时,主动度量装置可以对多核处理器101的操作系统、运行在多核处理器101上的应用和数据实时监控或周期性的监控,保障电子装置100的安全性,进而保证数据的安全性。In a possible implementation manner of the embodiment of the present application, the scheduling processor 102 may, for example, include an active measurement apparatus for running security system software, and the active measurement apparatus includes one or more processor cores. The active measurement device specifically allocates a first physical core running a general operating system and a second physical core running a trusted operating system. When the electronic device 100 is powered on, when the electronic device 100 is woken up, or when the multi-core processor 101 is running, the active measurement device can perform the security system software on the general operating system and the trusted operating system running on the multi-core processor 101 by running the security system software. Security detection to ensure the normal operation of general-purpose operating systems and trusted operating systems. The security detection here may include but is not limited to: verifying the image hash value of the general operating system program and the image hash value of the trusted operating system program to ensure that the general operating system program and the trusted operating system program have not been rewritten , that is, to prevent related data from being tampered with. When the active measurement device detects that the operating system program and the trusted operating system program have been tampered with, the electronic device 100 may be subjected to a security protection operation. The security protection operations here may include but are not limited to: triggering an alarm, resetting the electronic device 100, rejecting services requested by the software (such as biometric identification services, password unlocking services, or key obtaining services, etc.), instructing the multi-core processor 101 to stop running , instruct the multi-core processor 101 to stop running the software, disable at least part of the functions of the software running by the multi-core processor 101 , or prevent the software from accessing data stored in the electronic device 100 . Therefore, when the multi-core processor 101 is running, the active measurement device can monitor the operating system of the multi-core processor 101, the applications and data running on the multi-core processor 101 in real time or periodically, so as to ensure the security of the electronic device 100. , thereby ensuring data security.
本申请实施例中,如图1和图7所示的存储设备103除了包括共享内存外,还可以用于存储各种操作系统程序(例如通用操作系统程序和可信操作系统程序)、应用程序、运行所需要的指令代码和数据等。多核处理器101和调度处理器102通过加载程序和指令、获取数据,执行电子设备的各种功能应用以及数据处理。存储设备103包括以下至少一项:随机存取存储器RAM和只读存储器ROM。In this embodiment of the present application, in addition to the shared memory, the storage device 103 shown in FIG. 1 and FIG. 7 can also be used to store various operating system programs (such as general operating system programs and trusted operating system programs), application programs , Instruction code and data required for operation. The multi-core processor 101 and the scheduling processor 102 execute various functional applications and data processing of the electronic device by loading programs and instructions and acquiring data. The storage device 103 includes at least one of: random access memory RAM and read only memory ROM.
在本实施例中,电子装置100还可以包括通信单元105,如图7所示。该通信单元105包括但不限于短距离通信单元、或蜂窝通信单元。其中,短距离通信单元通过运行短距离无线通信协议与位于移动终端外的用于接入互联网的其他设备之间进行信息交互。该短距离无线通信协议可以包括但不限于:射频识别技术支持的各种协议、蓝牙通信技术协议、或红外通信协议等。蜂窝通信单元通过运行蜂窝无线通信协议接入无线接入网,以实现移动通信单元与互联网中对各种应用进行支持的服务器进行信息交互。该通信单元105可以与本申请实施例中所述的多核处理器101和调度处理器102等集成于同一SOC中,或者可以分离设置。此 外,电子装置100还可选择性地包括总线、输入/输出端口I/O、或存储控制器等。存储控制器用于控制存储设备103。其中,总线、输入/输出端口I/O、和存储控制器等均可以与上述多核处理器101和调度处理器102等集成于同一SOC中。应理解,在实际应用中,电子装置100可以包括比图1和图7所示的更多或更少的部件,本申请实施例不作限定。In this embodiment, the electronic device 100 may further include a communication unit 105, as shown in FIG. 7 . The communication unit 105 includes, but is not limited to, a short-range communication unit, or a cellular communication unit. Wherein, the short-range communication unit performs information exchange with other devices located outside the mobile terminal for accessing the Internet by running a short-range wireless communication protocol. The short-range wireless communication protocol may include, but is not limited to, various protocols supported by radio frequency identification technology, Bluetooth communication technology protocols, or infrared communication protocols. The cellular communication unit accesses the wireless access network by running the cellular wireless communication protocol, so as to realize the information exchange between the mobile communication unit and the server supporting various applications in the Internet. The communication unit 105 may be integrated in the same SOC with the multi-core processor 101 and the scheduling processor 102 described in the embodiments of the present application, or may be separately provided. In addition, the electronic device 100 may optionally include a bus, an input/output port I/O, a memory controller, and the like. The storage controller is used to control the storage device 103 . Wherein, the bus, the input/output port I/O, and the storage controller, etc., can be integrated with the above-mentioned multi-core processor 101 and the scheduling processor 102 in the same SOC. It should be understood that, in practical applications, the electronic device 100 may include more or less components than those shown in FIG. 1 and FIG. 7 , which is not limited in this embodiment of the present application.
基于同一发明构思,本申请实施例还提供了一种物理核分配方法,该物理核分配方法应用于如图1所示的电子装置100。请继续参看图9,其示出了本申请实施例提供的物理核分配方法的一个流程900。该物理核分配方法的流程900包括如下所述的步骤:步骤901,调度处理器102分配多核处理器101中用于运行通用操作系统的至少一个第一物理核和用于运行可信操作系统的至少一个第二物理核。其中,第一物理核和第二物理核不同。步骤902,多核处理器101基于至少一个第一物理核和至少一个第二物理核,分别运行通用操作系统和可信操作系统。Based on the same inventive concept, an embodiment of the present application further provides a method for allocating physical cores, and the method for allocating physical cores is applied to the electronic device 100 shown in FIG. 1 . Please continue to refer to FIG. 9 , which shows a process 900 of the physical core allocation method provided by the embodiment of the present application. The process 900 of the method for allocating physical cores includes the following steps: Step 901, scheduling the processor 102 to allocate at least one first physical core for running a general operating system and a first physical core for running a trusted operating system in the multi-core processor 101 At least one second physical core. The first physical core and the second physical core are different. Step 902, the multi-core processor 101 runs a general-purpose operating system and a trusted operating system based on at least one first physical core and at least one second physical core, respectively.
在一种可能的实现方式中,调度处理器102基于以下至少一项分配至少一个第一物理核和至少一个第二物理核;至少一个第一物理核的第一资源占用率或者至少一个第二物理核的第二资源占用率。在一种可能的实现方式中,第一资源占用率和第二资源占用率,是多核处理器101或者专用测量装置上报的。In a possible implementation manner, the scheduling processor 102 allocates the at least one first physical core and the at least one second physical core based on at least one of the following; the first resource occupancy rate of the at least one first physical core or the at least one second physical core; The second resource occupancy rate of the physical core. In a possible implementation manner, the first resource occupancy rate and the second resource occupancy rate are reported by the multi-core processor 101 or a dedicated measurement device.
在一种可能的实现方式中,分配至少一个第一物理核包括以下至少一项:增加至少一个第一物理核的数目、减少至少一个第一物理核的数目、将至少一个第一物理核中的一个或多个物理核切换为其他物理核。在一种可能的实现方式中,分配至少一个第二物理核包括以下至少一项:增加至少一个第二物理核的数目、减少至少一个第二物理核的数目、将至少一个第二物理核中的一个或多个物理核切换为其他物理核。In a possible implementation manner, allocating the at least one first physical core includes at least one of the following: increasing the number of the at least one first physical core, decreasing the number of the at least one first physical core, adding the at least one first physical core to the one or more of the physical cores are switched to other physical cores. In a possible implementation manner, allocating the at least one second physical core includes at least one of the following: increasing the number of the at least one second physical core, decreasing the number of the at least one second physical core, placing the at least one second physical core in the at least one second physical core. one or more of the physical cores are switched to other physical cores.
在一种可能的实现方式中,多核处理器101被禁止访问以下至少一项:调度处理器102的电源、调度处理器102的时钟或者调度处理器102所管理的数据。In one possible implementation, the multi-core processor 101 is prohibited from accessing at least one of the following: scheduling the power supply of the processor 102 , scheduling the clock of the processor 102 , or scheduling data managed by the processor 102 .
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。The above are only specific embodiments of the present application, but the protection scope of the present application is not limited to this. Any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present application, and should cover within the scope of protection of this application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (10)

  1. 一种电子装置,其特征在于,包括多核处理器和调度处理器;An electronic device, comprising a multi-core processor and a scheduling processor;
    所述多核处理器,包括多个物理核,所述多个物理核用于运行多个操作系统,所述多个操作系统包括通用操作系统和可信操作系统;The multi-core processor includes multiple physical cores, the multiple physical cores are used to run multiple operating systems, and the multiple operating systems include a general-purpose operating system and a trusted operating system;
    所述调度处理器,用于分配所述多个物理核中运行所述通用操作系统的至少一个第一物理核和运行所述可信操作系统的至少一个第二物理核,其中,所述至少一个第一物理核和所述至少一个第二物理核不同。The scheduling processor is configured to allocate at least one first physical core running the general-purpose operating system and at least one second physical core running the trusted operating system among the plurality of physical cores, wherein the at least one A first physical core and the at least one second physical core are different.
  2. 根据权利要求1所述的电子装置,其特征在于,所述调度处理器基于以下至少一项分配所述至少一个第一物理核和所述至少一个第二物理核;The electronic device of claim 1, wherein the scheduling processor allocates the at least one first physical core and the at least one second physical core based on at least one of the following:
    所述至少一个第一物理核的第一资源占用率或者所述至少一个第二物理核的第二资源占用率。The first resource occupancy rate of the at least one first physical core or the second resource occupancy rate of the at least one second physical core.
  3. 根据权利要求2所述的电子装置,其特征在于,所述第一资源占用率和所述第二资源占用率,是所述多核处理器或者专用测量装置上报的。The electronic device according to claim 2, wherein the first resource occupancy rate and the second resource occupancy rate are reported by the multi-core processor or a dedicated measurement device.
  4. 根据权利要求1-3任一项所述的电子装置,其特征在于,分配所述至少一个第一物理核包括以下至少一项:The electronic device according to any one of claims 1-3, wherein allocating the at least one first physical core comprises at least one of the following:
    增加所述至少一个第一物理核的数目、减少所述至少一个第一物理核的数目、将所述至少一个第一物理核中的一个或多个物理核切换为其他物理核。Increasing the number of the at least one first physical core, decreasing the number of the at least one first physical core, switching one or more of the at least one first physical cores to other physical cores.
  5. 根据权利要求1-3任一项所述的电子装置,其特征在于,分配所述至少一个第二物理核包括以下至少一项:The electronic device according to any one of claims 1-3, wherein allocating the at least one second physical core comprises at least one of the following:
    增加所述至少一个第二物理核的数目、减少所述至少一个第二物理核的数目、将所述至少一个第二物理核中的一个或多个物理核切换为其他物理核。increasing the number of the at least one second physical core, decreasing the number of the at least one second physical core, switching one or more of the at least one second physical cores to other physical cores.
  6. 根据权利要求1-5任一项所述的电子装置,其特征在于,所述多核处理器被禁止访问以下至少一项:所述调度处理器的电源、所述调度处理器的时钟或者所述调度处理器所管理的数据。The electronic device according to any one of claims 1-5, wherein the multi-core processor is prohibited from accessing at least one of the following: a power supply of the scheduling processor, a clock of the scheduling processor, or the Schedules data managed by the processor.
  7. 根据权利要求1-6任一项所述的电子装置,其特征在于,所述调度处理器包括主动度量装置,所述主动度量装置,用于对所述可信操作系统和所述通用操作系统进行安全检测。The electronic device according to any one of claims 1 to 6, wherein the scheduling processor comprises an active measurement device, the active measurement device is configured to measure the trusted operating system and the general operating system Conduct security checks.
  8. 一种系统级芯片,其特征在于,所述系统级芯片包括如权利要求1-7任一项所述的电子装置。A system-on-chip, characterized in that, the system-on-chip comprises the electronic device according to any one of claims 1-7.
  9. 一种物理核分配方法,其特征在于,包括:A method for allocating physical cores, comprising:
    调度处理器分配多核处理器中用于运行通用操作系统的至少一个第一物理核和用于运行可信操作系统的至少一个第二物理核,其中,所述至少一个第一物理核和所述至少一个第二物理核不同;The scheduling processor allocates at least one first physical core for running a general-purpose operating system and at least one second physical core for running a trusted operating system in the multi-core processor, wherein the at least one first physical core and the at least one second physical core is different;
    所述多核处理器基于所述至少一个第一物理核和所述至少一个第二物理核,分别运行所述通用操作系统和所述可信操作系统。The multi-core processor runs the general operating system and the trusted operating system based on the at least one first physical core and the at least one second physical core, respectively.
  10. 根据权利要求9所述的方法,其特征在于,所述调度处理器基于以下至少一项分配所述至少一个第一物理核和所述至少一个第二物理核;The method of claim 9, wherein the scheduling processor allocates the at least one first physical core and the at least one second physical core based on at least one of the following:
    所述至少一个第一物理核的第一资源占用率或者所述至少一个第二物理核的第二资源占用率。The first resource occupancy rate of the at least one first physical core or the second resource occupancy rate of the at least one second physical core.
PCT/CN2021/083608 2021-03-29 2021-03-29 Electronic apparatus, system on chip, and physical core allocation method WO2022204873A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180006444.4A CN115413337A (en) 2021-03-29 2021-03-29 Electronic device, system-on-chip and physical core allocation method
PCT/CN2021/083608 WO2022204873A1 (en) 2021-03-29 2021-03-29 Electronic apparatus, system on chip, and physical core allocation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/083608 WO2022204873A1 (en) 2021-03-29 2021-03-29 Electronic apparatus, system on chip, and physical core allocation method

Publications (1)

Publication Number Publication Date
WO2022204873A1 true WO2022204873A1 (en) 2022-10-06

Family

ID=83456939

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/083608 WO2022204873A1 (en) 2021-03-29 2021-03-29 Electronic apparatus, system on chip, and physical core allocation method

Country Status (2)

Country Link
CN (1) CN115413337A (en)
WO (1) WO2022204873A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116414558A (en) * 2022-12-29 2023-07-11 北京四维图新科技股份有限公司 Isomorphic multi-core CPU system, chip and operation method applied to intelligent automobile

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146089A (en) * 2007-08-22 2008-03-19 杭州华三通信技术有限公司 Method for configuring core resources in multi-core system, multi-core system and management core
CN101419561A (en) * 2007-10-26 2009-04-29 中兴通讯股份有限公司 Resource management method and system in isomerization multicore system
KR20100039674A (en) * 2008-10-08 2010-04-16 엘지전자 주식회사 Apparatus for supporting multi operating system and method for allocating system resource thereof
CN102053869A (en) * 2009-10-29 2011-05-11 杭州华三通信技术有限公司 Resource allocation method and device for multi-operation system
US20120096462A1 (en) * 2010-10-18 2012-04-19 Electronics And Telecommunications Research Institute Dynamic virtualization technique for multicore processor system
CN104714845A (en) * 2013-12-17 2015-06-17 华为技术有限公司 Resource dynamic adjustment method and device and multi-core operating system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146089A (en) * 2007-08-22 2008-03-19 杭州华三通信技术有限公司 Method for configuring core resources in multi-core system, multi-core system and management core
CN101419561A (en) * 2007-10-26 2009-04-29 中兴通讯股份有限公司 Resource management method and system in isomerization multicore system
KR20100039674A (en) * 2008-10-08 2010-04-16 엘지전자 주식회사 Apparatus for supporting multi operating system and method for allocating system resource thereof
CN102053869A (en) * 2009-10-29 2011-05-11 杭州华三通信技术有限公司 Resource allocation method and device for multi-operation system
US20120096462A1 (en) * 2010-10-18 2012-04-19 Electronics And Telecommunications Research Institute Dynamic virtualization technique for multicore processor system
CN104714845A (en) * 2013-12-17 2015-06-17 华为技术有限公司 Resource dynamic adjustment method and device and multi-core operating system

Also Published As

Publication number Publication date
CN115413337A (en) 2022-11-29

Similar Documents

Publication Publication Date Title
US11461146B2 (en) Scheduling sub-thread on a core running a trusted execution environment
US9092356B2 (en) Executing a kernel device driver as a user space process
CN102567109B (en) Interrupt distribution scheme
US9268948B2 (en) Secure access enforcement proxy
US20120317431A1 (en) System and method for power reduction by sequestering at least one device or partition in a platform from operating system access
JP2014501987A (en) Method, apparatus and system for transitioning system power state of a computer platform
US20110219373A1 (en) Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform
KR102474986B1 (en) Server that supports allocating virtual machine resource on the cloud and controlling method thereof
JP2018508886A (en) Scheduling volatile memory maintenance events in multiprocessor systems
KR20160128751A (en) APPLICATION PROCESSOR, SYSTEM ON CHIP (SoC), AND COMPUTING DEVICE INCLUDING THE SoC
US10572667B2 (en) Coordinating power management between virtual machines
US20240264875A1 (en) Method, apparatus, system, device, medium and program product for resource scheduling
CN116868167A (en) Operation control method and device of operating system, embedded system and chip
WO2022204873A1 (en) Electronic apparatus, system on chip, and physical core allocation method
US9436505B2 (en) Power management for host with devices assigned to virtual machines
US11221875B2 (en) Cooperative scheduling of virtual machines
US20130275791A1 (en) Method and System for Tracking and Selecting Optimal Power Conserving Modes of a PCD
US10545562B2 (en) Electronic device and method for operating the same
CN112464182A (en) Safety management and control method, device, medium and equipment for mobile equipment management
CN116868170A (en) Operation method and device of embedded system, embedded system and chip
CN109992369B (en) Application program processing method and device, electronic equipment and computer readable storage medium
US10121001B1 (en) System and method for monolithic scheduling in a portable computing device using a hypervisor
US11606316B2 (en) System and method for modem stabilization when waiting for AP-driven link recovery
CN112462926B (en) Power management method and device in mobile terminal, electronic equipment and computer storage medium
US20220414216A1 (en) Electronic apparatus and security protection method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21933559

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21933559

Country of ref document: EP

Kind code of ref document: A1