G06F13/34

Virtual Machine Monitor Interrupt Support for Computer Processing Unit (CPU)
20190050356 · 2019-02-14 ·

An interrupt interface of a central processing unit (CPU) comprises a bus with a plurality of interfaces to various components of the CPU. These components can include a memory that includes instructions to execute operations of a processor component, a plurality of virtual machines (VMs) and a virtual machine monitor (VMM)/hypervisor configured to execute the plurality of VMs. The processor can receive interrupt requests (interrupt) as service requests in parallel, which can be executed by the VMM or any one or more of the plurality of VMs to execute VM applications on a dedicated instance of a guest operating system for a task. The processor can further determine whether to grant an interrupt request to the VMM and the VMs based on predetermined criteria, including a current task priority, a pending interrupt priority, or an interrupt enable, associated with the current status of each of the component.

System arbiter with programmable priority levels

A programmable system arbiter for granting access to a system bus among a plurality of arbiter clients and a central processing unit is disclosed. The programmable system arbiter may include one or more interrupt priority registers, each of the one or more interrupt priority registers associated with an interrupt type; and system arbitration logic operable to arbitrate access to the system bus among the plurality of arbiter clients and the CPU based at least on an analysis of a programmed priority order, the programmed priority order comprising a priority order for each of the plurality of arbiter clients, each of a plurality of operating modes of the central processing unit, and each of the one or more interrupt types.

System arbiter with programmable priority levels

A programmable system arbiter for granting access to a system bus among a plurality of arbiter clients and a central processing unit is disclosed. The programmable system arbiter may include one or more interrupt priority registers, each of the one or more interrupt priority registers associated with an interrupt type; and system arbitration logic operable to arbitrate access to the system bus among the plurality of arbiter clients and the CPU based at least on an analysis of a programmed priority order, the programmed priority order comprising a priority order for each of the plurality of arbiter clients, each of a plurality of operating modes of the central processing unit, and each of the one or more interrupt types.

DELIVERING INTERRUPTS TO USER-LEVEL APPLICATIONS
20180246827 · 2018-08-30 ·

Systems and methods for delivering interrupts to user-level applications. An example processing system comprises: a memory configured to store a plurality of user-level APIC data structures and a plurality of user-level interrupt handler address data structures corresponding to a plurality of user-level applications being executed by the processing system; and a processing core configured, responsive to receiving a notification of a user-level interrupt, to: set a pending interrupt bit flag having a position defined by an identifier of the user-level interrupt in a user-level APIC data structure associated with a user-level application that is currently being executed by the processing core, and invoke a user-level interrupt handler identified by a user-level interrupt handler address data structure associated with the user-level application, for a pending user-level interrupt having a highest priority among one or more pending user-level interrupts identified by the user-level APIC data structure.

DELIVERING INTERRUPTS TO USER-LEVEL APPLICATIONS
20180246827 · 2018-08-30 ·

Systems and methods for delivering interrupts to user-level applications. An example processing system comprises: a memory configured to store a plurality of user-level APIC data structures and a plurality of user-level interrupt handler address data structures corresponding to a plurality of user-level applications being executed by the processing system; and a processing core configured, responsive to receiving a notification of a user-level interrupt, to: set a pending interrupt bit flag having a position defined by an identifier of the user-level interrupt in a user-level APIC data structure associated with a user-level application that is currently being executed by the processing core, and invoke a user-level interrupt handler identified by a user-level interrupt handler address data structure associated with the user-level application, for a pending user-level interrupt having a highest priority among one or more pending user-level interrupts identified by the user-level APIC data structure.

Systems and methods for coalescing interrupts

Systems, apparatuses, and methods for coalescing interrupts temporally for later processing are described. An interrupt controller in a computing system maintains a timer for tracking an amount of time remaining after receiving an interrupt before a processor is awakened to service the interrupt. For a received interrupt with a latency tolerance greater than a threshold, the interrupt controller compares a value currently stored in the timer and the latency tolerance selected based on class. The smaller value is retained in the timer. When the timer expires, the interrupt controller sends wakeup indications to one or more processors and indications of the waiting interrupts.

Systems and methods for coalescing interrupts

Systems, apparatuses, and methods for coalescing interrupts temporally for later processing are described. An interrupt controller in a computing system maintains a timer for tracking an amount of time remaining after receiving an interrupt before a processor is awakened to service the interrupt. For a received interrupt with a latency tolerance greater than a threshold, the interrupt controller compares a value currently stored in the timer and the latency tolerance selected based on class. The smaller value is retained in the timer. When the timer expires, the interrupt controller sends wakeup indications to one or more processors and indications of the waiting interrupts.

MEMORY ACCESS SYSTEM, METHOD FOR CONTROLLING THE SAME, COMPUTER-READABLE STORAGE MEDIUM, AND IMAGE FORMING APPARATUS
20180210849 · 2018-07-26 ·

To accomplish this, this memory access system monitors a use-memory-bandwidth which indicates a total of memory bandwidths used between a memory and a plurality of masters, and determines whether the use-memory-bandwidth is equal to or larger than the first threshold. Based on the above-described determination result, this memory access system also restricts access to the memory by a master of low priority out of the plurality of masters.

APPLICATION PROCESSOR AND INTEGRATED CIRCUIT INCLUDING INTERRUPT CONTROLLER
20180203812 · 2018-07-19 ·

An application processor includes: a plurality of interrupt sources to which a plurality of interrupt numbers are respectively assigned; a Central Processing Unit (CPU) configured to receive an interrupt request signal and an interrupt number signal and perform an interrupt handling process for at least one of the plurality of interrupt sources, the at least one of the plurality of interrupt sources corresponding to the interrupt number signal; and an interrupt controller including a master interface connected to a system bus, the interrupt controller being configured to generate the interrupt request signal and the interrupt number signal based on an interrupt signal, which is received from the at least one of the plurality of interrupt sources, and to transmit the interrupt number signal to the CPU via the master interface.

APPLICATION PROCESSOR AND INTEGRATED CIRCUIT INCLUDING INTERRUPT CONTROLLER
20180203812 · 2018-07-19 ·

An application processor includes: a plurality of interrupt sources to which a plurality of interrupt numbers are respectively assigned; a Central Processing Unit (CPU) configured to receive an interrupt request signal and an interrupt number signal and perform an interrupt handling process for at least one of the plurality of interrupt sources, the at least one of the plurality of interrupt sources corresponding to the interrupt number signal; and an interrupt controller including a master interface connected to a system bus, the interrupt controller being configured to generate the interrupt request signal and the interrupt number signal based on an interrupt signal, which is received from the at least one of the plurality of interrupt sources, and to transmit the interrupt number signal to the CPU via the master interface.