CN115269133A - 处理设备、控制单元、电子设备、用于电子设备的方法、以及用于电子设备的计算机程序 - Google Patents
处理设备、控制单元、电子设备、用于电子设备的方法、以及用于电子设备的计算机程序 Download PDFInfo
- Publication number
- CN115269133A CN115269133A CN202210279980.8A CN202210279980A CN115269133A CN 115269133 A CN115269133 A CN 115269133A CN 202210279980 A CN202210279980 A CN 202210279980A CN 115269133 A CN115269133 A CN 115269133A
- Authority
- CN
- China
- Prior art keywords
- processing circuit
- processing
- electronic device
- alternative
- interrupt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 431
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000004590 computer program Methods 0.000 title claims abstract description 8
- 239000013598 vector Substances 0.000 claims description 31
- 238000005265 energy consumption Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000005012 migration Effects 0.000 description 7
- 238000013508 migration Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000001824 photoionisation detection Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000020169 heat generation Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请公开了处理设备、控制单元、电子设备、用于电子设备的方法、以及用于电子设备的计算机程序。提供一种处理设备。处理设备(30)包括接口(32),该接口(32)被配置成用于接收与替代处理器的操作状态有关的信息。进一步地,处理设备(30)包括处理电路(34),该处理电路(34)被配置成用于控制接口(32),并且用于基于处理电路(34)和替代处理电路的操作状态来决定被寻址到处理电路(34)的中断是由该处理电路(34)处理还是被重定向到替代处理电路。
Description
技术领域
本公开涉及处理电路的管理。具体而言,示例涉及处理设备、控制单元、 电子设备、用于电子设备的方法、以及用于电子设备的计算机程序。
背景技术
现代处理器可由单个插槽中的多个核组成。操作系统(OS)尝试通过将计 算不需要的核置于空闲状况以节省功率来节省能量。当超线程(HT)被启用时, 根据硬件维护的一些统计数据,将两个线程均置于低功率模式将驱动内核进入 更深的功率状态,以确保在驱动内核进入深度功率节省状态之前存在足够的驻 留期。当核进入深度功率节省状态时,诸如中断之类的事件将这些核从该空闲 状态带出,以准备对中断进行工作。由于将核从深度空闲带出,此类事件将引 发等待时间。结果是,实时或云计算系统中的一些禁用空闲,以避免引发由空 闲造成的等待时间。由此,可能期望具有改善的特性的处理器。
附图说明
装置和/或方法的一些示例将在下文仅作为示例并参考所附附图来进行描 述,在附图中
图1示出处理设备的示例的框图;
图2示出控制单元的示例的框图;
图3示出电子设备的示例的框图;
图4a-4f示出建立中断迁移架构的两个示例;
图5a-5c示出提出的中断架构的扩展的示例;
图6示出硬件配置的示例;以及
图7示出方法的示例。
具体实施方式
当处理电路(例如,电子设备的核或该核的线程)进入深度功率节省状态 时,诸如中断之类的事件将其从该深度功率节省状态带出,以准备对这些中断 的工作。由于将核从深度空闲带出,此类事件将引发等待时间。可能存在需要 被上电的若干个处理电路,在操作系统(OS)中断代码可以在那些处理电路上 运行之前,深度功率节省状态需要被恢复。
禁用C状态导致核始终保持活跃,这增加了服务器的电源占用区域并在 当这些核/线程不再有要执行的工作时可能节省功率时浪费能量。
在虚拟化环境中,一个或多个虚拟处理器可以在时间量子段(时间片)的 结束时被切换出上下文,导致针对定向到VM(在该特定的VP上)的中断观 察到类似的等待时间,这是由于此种中断首先被分派至VMM并随后最终被递 送至VP(即使在提出的中断机制被使用时)。尤其当中央处理单元(CPU)资 源被超量使用时,此类等待时间导致虚拟化或云环境中输入/输出(I/O)通信 量的显著更高的尾等待时间。I/O通信量增加的等待时间影响工作负荷执行, 并且负面地影响虚拟化/云环境中的性能。
现在将参考所附附图更全面地描述各示例,在这些附图中图示出一些示例。 在附图中,出于清楚性,线、层和/或区域的厚度可被夸大。
相应地,尽管进一步的示例能够具有各种修改和替代形式,但其一些特定 示例在附图中示出并随后将详细描述。然而,此种详细描述并非将进一步的示 例限于所描述的特定形式。进一步的示例可涵盖落入本公开范围内的所有修改、 等效方案和替代方案。贯穿附图的描述,同样的数字指代同样或类似的要素, 这可相较于彼此相同地或以修改形式被实现同时提供相同或类似的功能。
将理解,当要素被称为“连接到”或“耦合到”另一要素时,这些要素可直接 连接或耦合或经由一个或多个中介要素。如果两个要素A和B使用“或”来组 合,则要理解这公开了所有可能的组合,即,仅A、仅B、以及A和B。针对 同一组合的替代措辞为“组A和B中的至少一者”。这同样适用于多于2个要 素的组合。
本文中出于描述特定示例的目的所使用的属于并非旨在限制进一步的示 例。不论何时单数形式“一(a/an)”和“该(the)”被使用并且使用仅单个元素 既不显式也不隐式地被限定为强制性的,进一步的示例也可使用复数要素来实 现相同的功能。同样,当功能随后被描述为使用多个要素实现时,进一步的示 例可使用单个要素或处理实体来实现相同的功能。还将理解,当使用术语“包括 (comprise和/或comprising)”、“包含(include和/或including)”时,其指定 所陈述的特征、整数、步骤、操作、过程、动作、元件和/或组件的存在,但不 排除除此之外的一个或多个其他特征、整数、步骤、操作、过程、动作、元件、 组件和/或它们的组的存在。
除非以其他方式限定,否则所有术语(包括技术和科学术语)在本文中以 示例所属领域的普通含义来使用。
图1示出处理设备30的示例的框图。处理设备30包括接口32,该接口 32被配置成用于接收与替代处理电路的操作状态有关的信息。进一步地,处理 设备30包括处理电路34,该处理电路34被配置成用于控制接口32并用于基 于处理电路34和替代处理电路的操作状态来决定被寻址到处理电路的中断是 由该处理电路来处理还是被重定向到替代处理电路。中断可能导致处理电路34 的操作状态的不期望的改变。通过将中断重定向到替代处理电路34,可以防止 处理电路34的操作状态的不期望的改变,引起例如降低的能耗和/或更短的等 待时间和/或提高的性能。
对中断进行重定向可通过使尽可能多的核保持处于深度C状态而允许能 量节省,但是不引发在对那些中断进行服务之前、等待这些核从深度C状态被 唤醒的中断等待时间。其还可通过改善与I/O通信量相关联的尾等待时间来改 善虚拟化/云环境中工作负荷的性能。
与替代处理电路组合描述的细节/特征可适用于处理电路34。与处理电路 34组合描述的细节/特征可适用于替代处理电路。
处理电路34(和/或替代处理电路)可以是处理器的核、多核处理器的处 理单元、处理器和/或虚拟机的线程。处理电路34(和/或替代处理电路)可以 是虚拟服务器和/或物理服务器。
处理电路34(和/或替代处理电路)可被配置成用于对某个外部数据源执 行操作。为了对某个外部数据源执行操作,可能要求默认的操作状态。由此, 替代处理电路和/或处理电路34改变操作状态以执行操作可能是必要的。
替代处理电路具有操作状态。处理电路34具有操作状态。操作状态可由 替代处理电路的当前运行的执行代码来定义。操作状态可取决于替代处理电路 的能耗和/或工作负荷和/或能效。能耗可由处于其操作状态的替代处理电路所 消耗的能量总量来定义,例如,能耗可由处理器的P状态和/或C状态来限定。 工作负荷可由替代处理电路的占用率来定义。
能效可由每操作能耗来定义,例如替代处理电路的每瓦特每秒帧数。能效 可取决于期望的操作模式,例如,游戏模式、性能模式或能量节省模式。例如, 游戏模式的每操作的期望能耗可高于能量节省模式。
中断可以是硬件中断(例如,键盘上的输入)和/或软件中断(例如,指令 集中的特殊指令或处理电路34中的异常状况)。中断可以是用户对云网络的 计算资源的请求。中断可通知处理电路34并且可充当对处理电路34使当前运 行的执行代码中断的请求。由此,执行由中断触发的操作可引起处理电路34的 操作状态的改变。例如,处理电路34可处于空闲状态(例如,深度C状态) 以用于能量节省。为了执行由某个外部数据源(例如,键盘)请求的操作,处 理电路34可能不得不改变操作状态(例如,改变至较浅的C状态或P状态)。 由此,处理电路34的能耗可能不幸地被增加,和/或尾等待时间可能降低用户 体验。为了对中断进行重定向,处理设备30的性能可有益改善,例如,降低 能耗和/或提高用户体验。
替代处理电路可与处理电路34相同或基本上相同,并且至少在特征上相 同。
例如,处理电路34可处于空闲状态(例如,深度C状态)以用于能量节 省,并且替代处理电路可处于性能状态(例如,P状态)。由此,处理电路34 对中断执行操作的尾等待时间可长于替代处理电路的尾等待时间。因此,通过 将中断重定向到替代处理电路,用户体验通过操作的更快速执行而被改善。
在另一示例中,处理电路34可能处于高于替代处理电路的性能状态(例 如,P1状态)的性能状态(例如,P0状态)。更高的性能可能导致更高的能 耗。由此,处理电路34的每操作能耗可能高于替代处理电路的每操作能耗。 因此,通过将中断重定向到替代处理电路,能量节省可被提高。替代地,处理 电路34可能处于低于替代处理电路的性能状态(例如,P0状态)的性能状态 (例如,P1状态)。因此,通过将中断重定向到替代处理电路,用户体验通过 操作的更快速执行而被改善。
在另一示例中,处理电路34可具有比替代处理电路更高的工作负荷。因 此,通过将中断重定向到替代处理电路,不同电路的工作负荷可被平衡,例如 引起处理电路34处减少的热量生成。例如,第一物理服务器可接近其工作温 度的上限来工作,并且由此第一物理服务器可将中断重定向到第二物理服务器 以防止第一物理服务器的进一步加热。
在另一示例中,处理电路34可被设计成用于计算密集型操作(例如,引 起增加的能耗和降低的能效),并且替代处理电路可被设计成用于密集性较低 的计算操作(例如,引起降低的能耗和提高的能效),例如多核处理器与不同 的处理器、或云网络与不同的物理服务器。例如,具有寻址到第一物理服务器 的密集性较低的计算操作的用户请求可被该第一物理服务器重新寻址到第二 物理服务器,例如从而引起提高的能效。替代地,替代处理电路可被设计成用 于计算密集型操作,并且处理电路34可被设计成用于密集性较低的计算操作。 由此,具有寻址到第一物理服务器的计算密集型操作的用户请求可被该第一物理服务器重新寻址到第二物理服务器,例如从而引起提高的用户体验。
在另一示例中,替代处理电路可能需要执行任何被重定向的中断。例如, 处理电路34可将中断重定向到替代处理电路,并且该替代处理电路不得不执 行此中断,以使得该中断直接由该替代处理电路执行。对于替代处理电路,可 禁用对中断的重定向。替代地,替代处理电路可将中断重定向到另一替代处理 电路,依此类推。可例如根据最大允许等待时间来限定所允许的重定向的最大 数量。
如图1中所示,在处理设备30处,相应的一个或多个接口32耦合至相应 的处理电路34。在实施例中,处理电路34可使用一个或多个处理单元、一个 或多个处理设备、任何用于处理的装置(诸如,处理器、计算机、或者可与相 应适配的软件一起操作的可编程硬件组件)来实现。类似地,所描述的处理电 路34的功能也可采用软件来实现,该软件随后在一个或多个可编程硬件组件 上执行。此类硬件组件可包括通用处理器、数字信号处理器(DSP)、微控制 器等。处理电路34能够控制接口32,以使得在接口上发生的任何数据传输和 /或其中可能涉及该接口的任何交互可受处理电路34控制。
在实施例中,控制单元30可包括存储器和至少一个处理电路34,该至少 一个处理电路34可操作地耦合至存储器并被配置成用于执行下文提及的方法。
在实施例中,一个或多个接口32可对应于任何用于获取、接收、发射或 提供模拟或数字信号或信息的装置,例如允许提供或者获取信号或信息的任何 连接器、接触件、引脚、寄存器、输入端口、输出端口、导体、通道等。接口 可以是无线的或有线的,并且其可被配置成用于与其他内部或外部组件对信息 进行通信(即,发射或接收信号)。一个或多个接口32可包括用于启用交通 工具之间的通信的其他组件。此类组件可包括收发器(发射器和/或接收器)组 件,诸如一个或多个低噪声放大器(LNA)、一个或多个功率放大器(PA)、一个或多个收发双工器、一个或多个同向双工器、一个或多个滤波器或滤波器 电路、一个或多个转换器、一个或多个混频器、相应适配的射频组件等。
与下文描述的细节相结合提及更多的细节和方面。图1中示出的示例可包 括与结合提出的概念或者下文(例如,图2-图7)描述的一个或多个示例提及 的一个或多个方面相对应的一个或多个任选的附加特征。
图2示出控制单元60的示例的框图。控制单元60包括接口62,该接口 62被配置成用于与处理电路以及替代处理电路进行通信。进一步地,控制单元 60包括处理单元64,该处理单元64被配置成用于控制接口62并且用于基于 处理电路和替代处理电路的操作状态而将寻址到处理电路的中断重定向到替 代处理电路。如图1中所描述,处理设备可包括处理电路和/或替代处理电路。
控制单元60可以是具有多个处理电路(或处理单元64)的多核处理器, 例如用于维护多个核的单元、具有多个线程的处理器和/或具有多个线程的虚拟 机。控制单元60可以是云计算的管理程序(hypervisor)。控制单元60可以是 处理器的输入/输出存储器管理单元(IOMMU)。
如图2中所示,在控制单元60处,相应的一个或多个接口62耦合至相应 的处理单元64。在实施例中,处理电路(例如,如图1中所描述的处理电路) 可使用一个或多个处理单元、一个或多个处理宿设备、任何用于处理的装置(诸 如处理器、计算机或可与相应适配的软件一起操作的可编程硬件组件)来实现。 类似,处理单元64的所描述的功能还可采用软件来实现,该软件随后在一个 或多个可编程硬件组件上执行。此类硬件组件可包括通用处理器、数字信号处 理器(DSP)、微控制器等。处理电路和/或处理单元64能够控制接口62,以使得在该接口上发生的任何数据传输和/或其中可涉及该接口的交互可受处理 电路和/或处理单元64控制。
与上文和/或下文描述的示例相结合提及更多的细节和方面。图2中示出 的示例可包括与结合提出的概念或者上文(例如,图1)和/或下文(例如,图 3-图7)描述的一个或多个示例提及的一个或多个方面相对应的一个或多个任 选的附加特征。
图3示出电子设备80的示例的框图。电子设备80包括处理设备30(例 如,图1中所描述的处理设备)和/或控制单元60(例如,图2中所描述的控 制单元)。在另一示例中,控制单元60可利用接口连接至处理设备30。例如, 处理设备30可被配置成用于执行由控制单元60重定向的任何中断,例如,云 计算的服务器不得不执行由云计算的管理程序重定向的任何中断。
在示例中,处理单元和/或处理电路可进一步被配置成用于建立被寻址到 处理电路的任何中断到替代处理电路的重定向达所定义的时间。由此,例如处 理设备30的处理电路(例如电子设备80的核)可进入更深的C状态达所定义 的时间,从而引起该时间内降低的能耗。该时间可以是预定义的,例如,电子 设备80的用户可具有所排程的电话呼叫,并且在该时间内计算操作可以是密 集性较低的,因此该预定义的时间可以是所排程的电话呼叫的时间。替代地, 所定义的时间可取决于用户行为,例如程序的使用。例如,只要由用户使用的 程序在电子设备80的前台执行,则所有中断可被重定向。如果程序被关闭或 者在后台而不是前台执行,则所定义的时间可流逝,由此重定向可结束。
在示例中,处理单元和/或处理电路可进一步被配置成用于跟踪被寻址到 处理电路的中断速率并且用于根据该中断速率来结束重定向。例如,可定义每 一时间的中断(例如,每一秒的中断)的阈值,以调整到处理电路的所要求的 工作负荷的重定向。如果被寻址到处理电路的中断的数量超出阈值,则重定向 可被结束,这是因为替代处理电路可被该数量的被重定向的中断过载,从而导 致不期望的替代处理电路的能效和/或热量生成。
在示例中,处理单元和/或处理电路可进一步被配置成用于管理作为用于 重定向中断的目标的最小数量为至少两个的替代处理电路。由此,中断可被重 定向至具有执行请求的有益特性的替代处理电路。例如,第一替代处理电路可 用于计算密集型操作的重定向,并且第二替代处理电路可用于密集性较低的计 算操作。例如,第一替代处理电路可处于比第二替代处理电路更浅的C状态, 由此所有中断可主要被重定向到第一替代处理电路,并且如果每一时间被重定 向的中断的数量被超出,则中断可辅助地被重定向到第二替代处理电路。
在示例中,处理单元和/或处理电路可进一步被配置成用于通过向替代处 理电路的最小数量添加替代处理电路和/或通过移除替代处理电路来改变该最 小数量(例如,1)。由此,控制单元60可恒定地调整替代处理电路的数量。 例如,替代处理电路的最小数量可以是1,并且如果该替代处理电路的工作负 荷超出所定义的最大工作负荷阈值,则控制单元60可向该最小数量添加另一 替代处理电路。这得到最小数量为2的替代处理电路,中断可在这两个替代处 理电路之间被共享,这引起每个替代处理电路的减少的工作负荷。替代地,如 果这两个替代处理电路中的每个替代处理电路的工作负荷落到最小工作负荷 阈值以下,则这两个替代处理电路中的一个替代处理电路可被移除,这使得该 替代处理电路能够进入较深的C状态,从而引起降低的能耗。
例如,OS可维持阈值数量的替代处理电路(例如,核)处于浅的C状态, 以确保它们可以在处置中断时以极小等待时间到甚至没有等待时间唤醒。取决 于来自系统的要求,对于整个系统或替代处理电路的分支,替代处理电路的最 小数量可以仅仅为1,并且该最小数量可以由管理者配置和/或基于系统表现如 何来按需自动缩放。
在示例中,处理单元和/或处理电路可进一步被配置成用于传送被寻址到 处理电路的任何中断的所建立的重定向的信息,以改善处理电路的操作模式。 例如,可例如通过允许处理电路的较深的C状态来改善处理电路的功率节省模 式。
在示例中,处理单元可进一步被配置成用于扫描控制单元和/或处理设备 的所有中断,以将被寻址到处理电路的每一个中断重定向到替代处理电路。
例如,操作系统(OS)可以扫描通过恰好针对传出方CPU(也被称为处 理电路)的中断。对于每个中断,OS可将该中断迁移至被维持处于浅的C状 态的目标CPU(替代处理电路)池中的一个。OS可使用逐CPU向量来管理增 长的中断资源的数量,该数量倾向于随着增加的工作负荷(例如,在新的设备 上)急剧增长。当OS执行此类合并时,生成这些向量可能存在麻烦,或者OS 可能用尽维持处于浅的C状态的池或核之间的向量。在这些场景中,OS可具有例如通过向被维持处于浅的C状态的核的池添加另一CPU来增加该池的选 项。任选地或替代地,OS可在本机内核中使用发布中断(Posted Interrupt,PI)。 针对每一个主机CPU向量,PI允许256个子向量。该机制可允许更高的可缩 放性并且可允许设备向量保持不变,并且OS仍可以将子向量映射到设备中断。
一旦处理电路中断被迁移到不同的目标(替代处理电路),OS可提供关 于重定向的提示(例如,采用mwait),从而使用例如标准HW处理机制来准 许最深的C状态。这可允许处理电路迅速转变至深度C状态,这是因为所有 的中断源均被迁移至其他替代处理电路。
OS可以维护一组统计量,以跟踪中断在被迁移至替代处理电路之后有多 频繁地出现。中断速率可以确定何时迁移回到原始分派的处理电路。还可以准 许来自驱动器的提示,该提示规定了OS是否需要立即或者在特定阈值之后切 换回到原始处理电路,该特定阈值可以超驰OS默认调谐阈值。
例如,当处理电路进入深度C状态时,硬件(HW;例如,功率控制单元) 可经由对准备好进入更深的C状态的处理电路中的线程中的一个线程的中断 向电子设备80的OS进行通知。OS可使用该提示将目标为该处理电路的线程 的任何中断重新确定目标,并将它们迁移至另一CPU目标(例如,替代处理电 路)。这可允许中断在处于由OS预先选择的处于浅的C状态的CPU上触发。 在多插槽系统中,这可允许处理电路和/或封装进入更深的空闲状态来节省能量, 但同时,中断等待时间可通过确保中断不被递送至处于深度C状态中的处理电路而减少。替代地,中断可被递送至处于更浅的C状态中的处理电路,而不是 作为该中断最初的目标的处理电路。OS还可以迁移任何定时器事件,并且由 此可确保处理电路和/或处理电路被嵌入在其中的插槽在空闲状况持续的情况 下可以空闲更久。
任选地或替代地,代替于扫描中断并将它们从进入更深的C状态的处理 电路单独地迁移到支持更浅的C状态的替代处理电路,OS可在本机内核中利 用发布中断的概念来支持高效/低开销的中断迁移。在示例中,处理单元和/或 处理电路可进一步被配置成用于为该处理电路和替代处理电路分配发布中断 描述符(PID)。PID包括通知向量(NV)和通知目的地(NDST)。进一步地, 处理单元和/或处理电路可被配置成用于修改处理电路的PID的NDST,以对 被寻址到处理电路的中断进行重定向。由此,用于重定向的计算资源可被减少。该示例参考图4a-4f来更详细地描述。
与上文和/或下文描述的示例相结合提及更多的细节和方面。图3中示出 的示例可包括与结合提出的概念或者上文(例如,图1-图2)和/或下文(例如, 图4a-图7)描述的一个或多个示例提及的一个或多个方面相对应的一个或多 个任选的附加特征。
图4a-图4f示出建立中断迁移架构的两个示例。第一示例在图4a-图4d中 示出,并且第二示例在图4e和图4f中示出。中断迁移架构可以是一次性中断 迁移架构。
图4a示出设置阶段之后4核系统400的图示表示。4核系统包括四个核 LP0 410、LP1 420、LP2 430和LP3 440。每个核410、420、430、440可以是 处理电路或替代处理电路。
在启动/设置阶段,OS可为每个逻辑处理器(LP)410、420、430、440分 配一个发布中断描述符。每个此类描述符可被用于发布要被递送至LP 410、 420、430、440的所有中断。OS可以为每个LP 410、420、430、440编号关联 至少一个物理向量编号,每个LP 410、420、430、440编号可用于表示LP 410、 420、430、440,从而标识对应的PID。如可以从图4a看出,可以为每个PID (例如,PID 0-3,分别地)分配4个向量((V0-V3)作为NV。可对PID进行 查找,以标识中断的源并作出关于中断处置的适当更新(例如,清除ON位)。 OS可利用这些向量编号来配置每个PID的NV字段。
此外,OS可利用与每个PID相关联的目标LP的高级可编程中断控制器 (APIC)目的地ID来配置通知目的地(NDST)字段。每个PID可被配置有 相应的APIC目的地ID。此外,OS可实现中断重新映射和发布。
开始时,OS可分配并配置中断。例如,如可以从图4b看出,OS可在计 算设备上配置4个中断,该计算设备包括具有四个LP 410、420、430、440的 4核系统400。OS可以使编号为0((SV_X;412)和2(SV_Z;432)的中断目 标为LP0 410,并且使中断1(SV_Y;422)和中断3(SV_W;442)目标为LP2 430。因此,OS可分配各自与电子设备的4个中断相关联的4个子向量(SV_X、 SV_Y、SV_Z、SV_W)。进一步地,OS可在中断重新映射表中添加两个条目, 该中断重新映射表具有分别被配置有SV_X和SV_Z的虚拟向量(VV)字段 并且具有被配置有与LP0相关联的PID的PDAH/PDAL字段。OS可在中断重 新映射表中添加两个其他条目,该中断重新映射表具有分别被配置有SV_X和 SV_Z的VV字段并且具有被配置有与LP2相关联的PID的PDAH/PDAL字 段。
例如,为了提高性能和/或用户体验,OS可将中断从一个LP 410、420、 430、440迁移到另一LP 410、420、430、440。在示例中,处理单元和/或处理 电路可进一步被配置成用于将不同的NV关联至处理电路和替代处理电路,以 将被寻址到处理电路的所有中断重定向至替代处理电路。将处理电路的所有中 断重定向至替代处理电路可以直接进行,并且由此可以由OS以很小的计算工 作来进行。
例如,被寻址到LP0 410的中断可以被重定向至LP2 430,该LP2 430可 被用作替代处理电路。图4c示出此种重定向的示例。例如,LP0 410可能试图 进入更深的C状态(操作状态被改变为具有更低能耗的操作状态)。为了允许 处理电路(例如,LP0 410)进入更深的C状态,可能需要所有的中断均被迁 移至替代处理电路(例如,LP2 430)。如可以从图4c看出,OS可例如通过对 与处理电路(例如,LP0 410)相关联的PID执行比较-交换操作来改变该处理 电路的NSDT,以将所有的中断重定向至替代处理电路(例如,LP2 430)。由 此,处理电路(例如,LP0 410)可以进入更深的C状态,这是因为没有中断 阻止其进入更深的C状态,从而引起降低的能耗。
为了确定中断的源,OS可使用PID。一旦中断可能到达LP2 420,则OS (例如,中断服务例程,ISR)可查找PID来确定子向量(并且由此确定中断 源)并且可调用相应的中断服务例程。在特定的LP 410、420、430、440可接 收其自身的中断以及来自目前处于深度C状态中的另一LP 410、420、430、440(例如,图4c中的LP0 410)的中断,每个物理向量的物理向量编号或独 立的ISR可以被用于确定要查找哪个PID以确定源。例如,在图4c中,如果 LP2430接收V0上的中断,则其可检查LP0 410PID来确定子向量和中断源。 而如果LP2 430接收V2上的中断,则其可检查LP0 430PID来确定子向量和 中断源。由此,中断的源可以由替代处理电路确定。
当重定向要被结束时,OS可将中断迁移回到处理电路,从而引起重定向 的结束。它们可确定要将中断迁移回到的原始LP 410、420、430、440。此外, OS可例如通过对PID执行比较-交换操作来改变处理电路(例如,LP0 410)的 NDST,以将该NDST修改回处理电路的APIC ID。
在示例中,处理控制单元可进一步被配置成用于管理PID列表,以将处理 电路的特定中断重定向至替代处理电路。通过对特定中断进行重定向可以实现 改善的负载平衡。这相比于对所有中断重定向是消耗资源更多的,但可允许经 平衡的负载。由此,重定向过程可被调整为电子设备80的期望负载平衡或期 望的降低的资源消耗。
OS可针对接收发布中断通知而分配仅一个物理向量,而不是逐核分配物 理向量。在该示例中,OS可能需要维护与给定的处理电路一起被编程的PID 列表作为目的地ID,以搜索/扫描PID来确定中断源/子向量。图4e示出设置 阶段之后4核系统的示例。如可以看出,每个LP 410、420、430、440具有分 派的PID列表,该PID列表具有一个PID地址。此外,每个LP 410、420、 430、440具有相同的NV(V0)。
图4f是LP0 410的中断被迁移到LP2 430之后、使得LP0 410可被允许 进入更深的C状态的4核系统的示例。在该示例中,如果LP2 430接收到(发 布的)中断通知,则其必须检查LP2 PID列表中的每个PID(即,图4f中的 LP2 PID和LP0 PID),以确定中断的源。
对于虚拟化场景,除VMM是管理发布中断描述符并在VP被向外调度时 执行一次性中断迁移的软件实体之外,可使用与所描述的相同的技术。
本文中参考核(处理电路)进入深度C状态场景描述的所有示例可以同等 地应用于虚拟处理器被向外上下文切换的场景。
与上文和/或下文描述的示例相结合提及更多的细节和方面。图4a-4f中示 出的示例可包括与结合提出的概念或者上文(例如,图1-图3)和/或下文(例 如,图5a-图7)描述的一个或多个示例提及的一个或多个方面相对应的一个或 多个任选的附加特征。
图5a-图5c示出发布中断架构的扩展的示例。在图4a-图4f中所描述的示 例中,OS可能需要检查PID来确定子向量和中断源(这可能负面地影响性能), 并且还可能在处置中断的同时清除未完成通知(ON)位。由此,通过对发布中 断架构进行扩展,OS可通过在PID中设置发布-直通(PP)位被实现为使用发 布直通模式。在图5a中示出添加PP位的示例,并且图5b和图5c示出使用该 PP位来对中断进行重定向的示例。
在示例中,处理单元和/或处理电路进一步被配置成用于向PID添加直通 模式,以建立和/或结束被寻址到处理电路的中断到替代处理电路的重定向。
图5a中在两个框上方垂直编写的编号突出显示不同的位位置(并且不是 附图标记)。PIR可在前256位中定义。在从位置256到位置511的位中,可 定义其他参数,例如ON、NV、NDST。用于PP的位可被添加在用于SN的位 位置257之后,在位位置258处。
在示例中,通过在PID中设置直通位来添加直通模式,并且其中,建立和 /或结束重定向通过翻转该(PP)位来执行。当在PID中PP位被设置为第一值 (例如,0x1)时,硬件(HW)可使用来自中断重新映射表条目(IRTE)的虚 拟向量编号作为物理向量编号来生成发布中断通知,并且对PID的发布相关检 查/更新被跳过(例如,ON位未被置位)。在PID中PP位被设置为第二值(例 如,0x0)的情况下,HW可使用PID中设置的通知向量编号作为物理向量编 号(像其正常做的那样)以生成发布中断通知。
在图5b中示出4核系统的示例。如可以看出,在第一(正常)操作模式 期间,可使用V_X/V_M/V_Y/V_N可向一个或多个核通知中断。可以不对PID 作出发布相关更新,并且在中断处置软件(SW)流程期间,PID不被查看或修 改。
在图5c中,示出4核系统的示例,其中LP0正在进入更深的C状态。OS 可能已经修改了针对LP0 410的PID以将NDST设置为LP2 420,并且PP被 设置为第二值(0x0)。现在,HW可开始将V_X和V_Y虚拟向量转换为PID 更新,并且将使用V_PI向LP2 420通知这些中断的到达。
为了将中断迁移回到原始的核,OS可将PP更新回到第一值(0x1)并将 NDST更新回到LP0 410。在另一示例中,OS可分配表示每个LP上的一个核 的一个PI向量,而不是如图5c中所示的分配仅一个PI向量(V_PI)。此类优 化可移除对OS在发布中断通知到达时搜索整个PID列表的需要,从而引起例 如电子设备80的降低的能耗。
此类发布中断架构扩展可使得OS能够在正常运行时使用现有的中断处置 模式,而在迁移模式下运行时回退到中断发布流程(以及与其相关联的复杂度 /开销)。
在示例中,电子设备80可以是个人计算机、智能电话、笔记本、智能设 备和/或云计算。
与上文和/或下文描述的示例相结合提及更多的细节和方面。图5a-5c中示 出的示例可包括与结合提出的概念或者上文(例如,图1-图4f)和/或下文(例 如,图6-图7)描述的一个或多个示例提及的一个或多个方面相对应的一个或 多个任选的附加特征。
图6示出硬件配置600的示例。硬件配置电路600包括第一处理电路610 (包括第一线程612和第二线程614)、第二处理电路620(包括第一线程622 和第二线程624)、以及功率控制单元(PCU)630。每个处理电路610、620可 以是如上文所描述的处理电路或替代处理电路。此外,硬件配置可包括针对每 个处理电路610、620的硬件扩展(观察电路605)。替代地,硬件配置600可 包括相比于处理电路610、620更少的观察电路605,例如用于所有处理电路610、620的仅一个观察电路605。
在示例中,上文(例如,在图3中)所描述的电子设备可进一步包括观察 电路605,该观察电路605被配置成用于观察处理电路和/或替代处理电路的操 作状态。此外,观察电路605可被配置成用于将与所观察到的操作状态有关的 信息传送至控制单元和/或处理设备。任选地或替代地,观察电路可以是处理电 路和/或处理单元的部分。例如,处理电路和/或处理单元可进一步被配置成用 于观察处理电路和/或替代处理电路的操作状态,并且用于将与所观察到的操作 状态有关的信息传送至控制单元。通过使用观察电路605,处理电路和/或替代 处理电路的操作状态可以被确定,从而引起例如对于PCU 630和/或OS而言对中断进行重定向的可能性提高。
在示例中,与所观察到的操作状态有关的信息通过将该信息存储在控制单 元和/或处理设备可访问的型号专用寄存器(MSR)和/或本地向量表(LVT) 中而被传送。
例如,硬件机制可用于枚举支持HW扩展(观察电路605)的处理电路 610、620。可执行对处理电路610、620中的哪一者支持空闲通知的枚举。此 外,可定义用于指定目标(替代)处理电路610、620以及与这些处理电路相关 联的向量的控制机制。这些可以通过LVT中断来完成,很像某些处理电路610、 620事件可由处理电路610、620触发。当处理电路610、620进入预先指定的 C状态时,PCU可向OS提供这一点的通知。
在CPU架构中,能力可经由CPU标识(CPUID)指令向OS来枚举。在 一些情况下,硬件还通过MSR来提供能力。用于OS标识相关联的PCU的设 施可向OS发送中断,以对处理电路进入更深的C状态进行通知。可以使用配 置以编程方式或通过高级配置和电源接口(ACPI)表机制来标识关联。
例如,用于准许OS在核进入深度C状态时被通知的配置机制可以是MSR 和/或LVT。这可允许OS将中断向量编号配置成用于通知。在另一示例中, MSR和/或LVT可以被用于标识通知的原因。此种寄存器可具有将进入更深的 C状态的多个处理电路的位映射。
与上文和/或下文描述的示例相结合提及更多的细节和方面。图6中示出 的示例可包括与结合提出的概念或者上文(例如,图1-图5c)和/或下文(例 如,图7)描述的一个或多个示例提及的一个或多个方面相对应的一个或多个 任选的附加特征。
图7示出方法800的示例。方法800包括接收被寻址到处理电路的中断 (步骤810)。此外,方法800包括基于处理电路和替代处理电路的操作状态 来决定被寻址到处理电路的中断是由该处理电路处理还是被重定向至替代处 理电路。方法可由上文(例如,在图1中)所描述的电子设备和/或上文(例如, 在图2中)所描述的控制单元和/或上文(例如,在图3中)所描述的电子设备 来执行。
与上文描述的示例相结合提及更多的细节和方面。图7中示出的示例可包 括与结合提出的概念或者上文(例如,图1-图6)描述的一个或多个示例提及 的一个或多个方面相对应的一个或多个任选的附加特征。
与前述示例中的一个特定示例相关地描述的方面和特征可与其他示例中 的一个或多个相组合,以代替该其他示例的相同或类似特征或者将这些特征附 加地引入到其他示例中。
示例可进一步是或涉及(计算机)程序,包括用于在该程序在计算机、处 理器或其他可编程硬件组件上执行时执行以上方法中的一个或多个方法的程 序代码。由此,上文所描述的方法中的不同方法的步骤、操作或过程也可以由 经编程的计算机、处理器或其他可编程硬件组件执行。示例还可涵盖程序存储 设备,诸如数字数据存储介质,其为机器可读、处理器可读或计算机可读的并 且编码和/或包含机器可执行、处理器可执行或计算机可执行的程序和指令。例 如,程序存储设备可包括或可以是数字存储设备、磁存储介质(诸如磁盘和磁 带)、硬盘驱动器或光学可读数字数据存储介质。其他示例还可包括被编程为 用于执行上文所描述的方法的步骤的计算机、处理器、控制单元、(现场)可 编程逻辑阵列((F)PLA)、(现场)可编程门阵列((F)PGA)、图形处理器单 元(GPU)、专用集成电路(ASIC)、集成电路(IC)、或芯片上系统(SoC) 系统。
还理解,在说明书或权利要求书中公开的若干步骤、过程、操作或功能的 公开不应被解释为暗指这些操作必须根据所描述的次序,除非在单独的用例中 明确陈述或出于技术原因而必要。因此,先前的描述并非将若干步骤或功能的 执行限于某个次序。此外,在其他示例中,单个步骤、功能、过程或操作可包 括和/或被分解为子步骤、子功能、子过程或子操作。
如果一些方面已结合设备或系统进行了描述,但这些方面也应当被理解为 对相对应方法的描述。例如,块、设备、或者设备或系统的功能性方面可与相 对应方法的特征(诸如方法步骤)相对应。相应地,结合方法描述的方面也应 当被理解为对相对应块、相对应元件、相对应设备或相对应系统的属性或功能 性特征的描述。
示例(例如,示例1)涉及一种处理设备,该处理设备包括:接口,被配 置成用于接收与替代处理器的操作状态有关的信息;以及处理电路,被配置成 用于控制接口,并且用于基于处理电路和替代处理电路的操作状态来决定被寻 址到处理电路的中断是由该处理电路处理还是被重定向到替代处理电路。
另一示例(例如,示例2)涉及一种控制单元,该控制单元包括:接口, 被配置用于与处理电路和替代处理电路进行通信;以及处理单元,被配置成用 于控制接口并且用于基于处理电路和替代处理电路的操作状态而将被寻址到 处理电路的中断重定向到替代处理电路。
另一示例(例如,示例3)涉及一种电子设备,该电子设备包括如先前所 描述的处理设备(例如,示例1)和/或如先前所描述的控制单元(例如,示例 2)。
另一示例(例如,示例4)涉及先前描述的示例(例如,示例3),进一 步包括观察电路,该观察电路被配置成用于:观察处理电路和/或替代处理电路 的操作状态;以及将与所观察到的操作状态有关的信息传送至控制单元和/或处 理设备。
另一示例(例如,示例5)涉及先前所描述的示例(例如,示例3-4),其 中,与所观察到的操作状态有关的信息通过将该信息存储在控制单元和/或处理 设备可访问的型号专用寄存器和/或本地向量表中而被传送。
另一示例(例如,示例6)涉及先前所描述的示例(例如,示例3-5),其 中,处理单元和/或处理电路进一步被配置成用于建立被寻址到处理电路的任何 中断到替代处理电路的重定向达所定义的时间。
另一示例(例如,示例7)涉及先前所描述的示例(例如,示例3-6),其 中,处理单元和/或处理电路进一步被配置成用于跟踪被寻址到处理电路的中断 的速率并且用于根据该中断的速率来结束重定向。
另一示例(例如,示例8)涉及先前所描述的示例(例如,示例3-7),其 中,处理单元和/或处理电路进一步被配置成用于管理作为用于重定向中断的目 标的最小数量为至少两个的替代处理电路。
另一示例(例如,示例9)涉及先前所描述的示例(例如,示例3-8),其 中,处理单元和/或处理电路进一步被配置成用于通过向最小数量添加替代处理 电路和/或通过移除替代处理电路来改变替代处理电路的所述最小数量。
另一示例(例如,示例10)涉及先前所描述的示例(例如,示例3-9), 其中,处理单元和/或处理电路进一步被配置成用于传送被寻址到处理电路的任 何中断的所建立的重定向的信息,以改善处理电路的功率节省模式。
另一示例(例如,示例11)涉及先前所描述的示例(例如,示例3-10), 其中,处理单元进一步被配置成用于扫描控制单元和/或处理设备的所有中断, 以将被寻址到处理电路的每一个中断重定向到替代处理电路。
另一示例(例如,示例12)涉及先前所描述的示例(例如,示例3-11), 其中,处理单元和/或处理电路进一步被配置成用于:
为处理电路和替代处理电路分配发布中断描述符PID,其中,PID包括通 知向量NV和通知目的地NDST;以及修改处理电路的PID的NDST,以对被 寻址到处理电路的中断进行重定向。
另一示例(例如,示例13)涉及先前所描述的示例(例如,示例3-12), 其中,处理单元和/或处理电路进一步被配置成用于将不同的通知向量关联至处 理电路和替代处理电路,以将被寻址到处理电路的所有中断重定向至替代处理 电路。
另一示例(例如,示例14)涉及先前所描述的示例(例如,示例3-13), 其中,处理单元和/或处理电路进一步被配置成用于管理PID列表,以将处理 电路的特定中断重定向至替代处理电路。
另一示例(例如,示例15)涉及先前所描述的示例(例如,示例3-6), 其中,处理单元和/或处理电路进一步被配置成用于向PID添加直通模式,以 建立和/或结束被寻址到处理电路的中断到替代处理电路的重定向。
另一示例(例如,示例16)涉及先前所描述的示例(例如,示例3-15), 其中,直通模式通过在PID中设置直通位来添加,并且其中,建立和/或结束重 定向通过对该位进行翻转来执行。
另一示例(例如,示例17)涉及先前所描述的示例(例如,示例3-16), 其中,电子设备是个人计算机和/或云计算。
另一示例(例如,示例18)涉及一种方法,该方法包括:
接收被寻址到处理电路的中断;以及
基于处理电路和替代处理电路的操作状态,决定被寻址到处理电路的中断 是由该处理电路处理还是被重定向至替代处理电路。
另一示例(例如,示例19)涉及先前描述的示例(例如,示例18),进 一步包括观察电路,该观察电路被配置成用于:观察处理电路和/或替代处理电 路的操作状态;以及将与所观察到的操作状态有关的信息传送至控制单元和/或 处理设备。
另一示例(例如,示例20)涉及先前所描述的示例(例如,示例18-19), 进一步包括:将与所观察到的操作状态有关的信息存储在控制单元(60)和/或 处理设备可访问的型号专用寄存器和/或本地向量表中。
另一示例(例如,示例21)涉及先前所描述的示例(例如,示例18-20), 进一步包括建立被寻址到处理电路的任何中断到替代处理电路的重定向达所 定义的时间。
另一示例(例如,示例22)涉及先前所描述的示例(例如,示例18-21), 进一步包括:为处理电路和替代处理电路分配发布中断描述符PID,其中,PID 包括通知向量NV和通知目的地NDST;以及修改处理电路(34)的PID的 NDST,以对被寻址到处理电路的中断进行重定向。
另一示例(例如,示例23)涉及先前所描述的示例(例如,示例18-22), 进一步包括:将不同的通知向量关联至处理电路(34)和替代处理电路,以将 被寻址到处理电路的所有中断重定向至替代处理电路。
另一示例(例如,示例24)涉及先前所描述的示例(例如,示例18-23), 进一步包括:向PID添加直通模式,以建立和/或结束被寻址到处理电路(34) 的中断到替代处理电路的重定向。
另一示例(例如,示例25)涉及一种计算机程序,具有程序代码,该程序 代码用于当所述计算机程序在计算机、处理器、或可编程硬件组件上被执行时 执行根据先前所描述的示例(例如,示例18-24)所述的方法。
所附的权利要求由此被包括在具体实施方式中,其中,每一项权利要求本 身可作为单独的示例。应当注意,虽然在权利要求书中从属权利要求指代与一 项或多项其他权利要求的特定组合,但是其他示例也可包括该从属权利要求与 任何其他从属或独立权利要求的主题的组合。在此明确提出此类组合,除非在 个别情况下声明特定组合并非预期的。此外,即使权利要求并未直接被限定为 引用另一独立权利要求,但该权利要求的特征也应针对该另一独立权利要求而 被包括。
Claims (20)
1.一种处理设备,包括:
接口,被配置成用于接收与替代处理器的操作状态有关的信息;以及
处理电路,被配置成用于控制所述接口,并且用于基于所述处理电路和所述替代处理电路的操作状态来决定被寻址到所述处理电路的中断是由所述处理电路处理还是被重定向到所述替代处理电路。
2.一种控制单元,包括:
接口,被配置用于与处理电路和替代处理电路进行通信;以及
处理单元,被配置成用于控制所述接口并且用于基于所述处理电路和所述替代处理电路的操作状态而将被寻址到所述处理电路的中断重定向到所述替代处理电路。
3.一种电子设备,包括:
根据权利要求1所述的处理设备和/或根据权利要求2所述的控制单元。
4.根据权利要求3所述的电子设备,进一步包括:
观察电路,所述观察电路被配置成用于:
观察所述处理电路和/或所述替代处理电路的所述操作状态;以及
将与所观察到的操作状态有关的信息传送至所述控制单元和/或所述处理设备。
5.根据权利要求4所述的电子设备,其中:
与所观察到的操作状态有关的信息通过将所述信息存储在所述控制单元和/或所述处理设备能访问的型号专用寄存器和/或本地向量表中而被传送。
6.根据权利要求3所述的电子设备,其中:
所述处理单元和/或所述处理电路进一步被配置成用于建立被寻址到所述处理电路的任何中断到所述替代处理电路的重定向达所定义的时间。
7.根据权利要求6所述的电子设备,其中:
所述处理单元和/或所述处理电路进一步被配置成用于跟踪被寻址到所述处理电路的中断的速率并且用于根据所述中断的速率来结束所述重定向。
8.根据权利要求3所述的电子设备,其中:
所述处理单元和/或所述处理电路进一步被配置成用于管理作为用于重定向中断的目标的最小数量为至少两个的替代处理电路。
9.根据权利要求8所述的电子设备,其中:
所述处理单元和/或所述处理电路进一步被配置成用于通过向所述最小数量添加替代处理电路和/或通过移除替代处理电路来改变替代处理电路的所述最小数量。
10.根据权利要求3所述的电子设备,其中:
所述处理单元和/或所述处理电路进一步被配置成用于传送被寻址到所述处理电路的任何中断的所建立的重定向的信息,以改善所述处理电路的功率节省模式。
11.根据权利要求3所述的电子设备,其中:
所述处理单元进一步被配置成用于扫描所述控制单元和/或所述处理设备的所有中断,以将被寻址到所述处理电路的每一个中断重定向到所述替代处理电路。
12.根据权利要求3所述的电子设备,其中:
所述处理单元和/或所述处理电路进一步被配置成用于:
为所述处理电路和所述替代处理电路分配发布中断描述符PID,其中,所述PID包括通知向量NV和通知目的地NDST,以及
修改所述处理电路的所述PID的所述NDST,以对被寻址到所述处理电路的中断进行重定向。
13.根据权利要求12所述的电子设备,其中:
所述处理单元和/或所述处理电路进一步被配置成用于将不同的通知向量关联至所述处理电路和所述替代处理电路,以将被寻址到所述处理电路的所有中断重定向至所述替代处理电路。
14.根据权利要求12所述的电子设备,其中:
所述处理单元和/或所述处理电路进一步被配置成用于管理PID列表,以将所述处理电路的特定中断重定向至所述替代处理电路。
15.根据权利要求12所述的电子设备,其中:
所述处理单元和/或所述处理电路进一步被配置成用于向所述PID添加直通模式,以建立和/或结束被寻址到所述处理电路的中断到所述替代处理电路的所述重定向。
16.根据权利要求15所述的电子设备,其中:
所述直通模式通过在所述PID中设置直通位来添加,并且其中
建立和/或结束所述重定向通过对所述位进行翻转来执行。
17.根据权利要求3所述的电子设备,其中:
所述电子设备是个人计算机和/或云计算。
18.一种方法,包括:
接收被寻址到处理电路的中断;以及
基于所述处理电路和替代处理电路的操作状态,决定被寻址到所述处理电路的所述中断是由所述处理电路处理还是被重定向至所述替代处理电路。
19.根据权利要求18所述的方法,进一步包括:
观察所述处理电路和/或所述替代处理电路的操作状态;以及
将与所观察到的操作状态有关的信息传送至所述控制单元和/或所述处理设备。
20.一种计算机程序,具有程序代码,所述程序代码用于当所述计算机程序在计算机、处理器、或可编程硬件组件上被执行时执行根据权利要求18所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021111180.3 | 2021-04-30 | ||
DE102021111180.3A DE102021111180A1 (de) | 2021-04-30 | 2021-04-30 | Verarbeitungsvorrichtung, Steuereinheit, elektronische Vorrichtung, Verfahren für die elektronische Vorrichtung und Computerprogramm für die elektronische Vorrichtung |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115269133A true CN115269133A (zh) | 2022-11-01 |
Family
ID=83601019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210279980.8A Pending CN115269133A (zh) | 2021-04-30 | 2022-03-21 | 处理设备、控制单元、电子设备、用于电子设备的方法、以及用于电子设备的计算机程序 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11740931B2 (zh) |
CN (1) | CN115269133A (zh) |
DE (1) | DE102021111180A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762994B2 (en) * | 2010-08-26 | 2014-06-24 | Intel Corporation | Power-optimized interrupt delivery |
US9026705B2 (en) * | 2012-08-09 | 2015-05-05 | Oracle International Corporation | Interrupt processing unit for preventing interrupt loss |
US9372526B2 (en) * | 2012-12-21 | 2016-06-21 | Intel Corporation | Managing a power state of a processor |
US9575911B2 (en) * | 2014-04-07 | 2017-02-21 | Nxp Usa, Inc. | Interrupt controller and a method of controlling processing of interrupt requests by a plurality of processing units |
US11080088B2 (en) * | 2018-12-19 | 2021-08-03 | Intel Corporation | Posted interrupt processing in virtual machine monitor |
-
2021
- 2021-04-30 DE DE102021111180.3A patent/DE102021111180A1/de active Pending
-
2022
- 2022-02-22 US US17/651,906 patent/US11740931B2/en active Active
- 2022-03-21 CN CN202210279980.8A patent/CN115269133A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220350639A1 (en) | 2022-11-03 |
US11740931B2 (en) | 2023-08-29 |
DE102021111180A1 (de) | 2022-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6359069B2 (ja) | オペレーティングシステムと切り離される異種計算 | |
US9996400B2 (en) | Multi-CPU system and multi-CPU system scaling method | |
US10191759B2 (en) | Apparatus and method for scheduling graphics processing unit workloads from virtual machines | |
US11181970B2 (en) | System and method for performing distributed power management without power cycling hosts | |
JP5981020B2 (ja) | 効率的な消費電力管理のための動的インタラプト再コンフィグレーション | |
US8910169B2 (en) | Methods and systems to perform a computer task in a reduced power consumption state | |
US20110113426A1 (en) | Apparatuses for switching the running of a virtual machine between multiple computer devices belonging to the same computer platform and the associated switching methods | |
KR20130032402A (ko) | 전력-최적화된 인터럽트 전달 | |
CN107743608B (zh) | 至硬件加速器的动态功率路由 | |
US20130063450A1 (en) | Smart power management in graphics processing unit (gpu) based cluster computing during predictably occurring idle time | |
US9471395B2 (en) | Processor cluster migration techniques | |
WO2022260731A1 (en) | Dynamic interrupt steering and processor unit idle state demotion | |
CN115269133A (zh) | 处理设备、控制单元、电子设备、用于电子设备的方法、以及用于电子设备的计算机程序 | |
US20180341482A1 (en) | Method and arrangement for utilization of a processing arrangement | |
KR20140139371A (ko) | 멀티 코어 시스템 반도체 제어 장치 및 방법 | |
KR101334842B1 (ko) | 가상화 지원 단말 플랫폼을 위한 가상머신 관리장치 및 방법 | |
US10564702B2 (en) | Method to optimize core count for concurrent single and multi-thread application performance | |
CN115827147A (zh) | 经由领域隔离进行的逻辑资源分区操作 | |
CN117215718A (zh) | 一种国产处理器虚拟化适配调优方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |