Event-based bandwidth allocation mode switching method and apparatus
AssigneeMarvell World Trade Ltd.
InventorsJack Kang, Yu-Chi Chuang
Life of this patent
Estimating the term…
Abstract
A system, apparatus, and method for allocation mode switching on an event-driven basis are described herein. The allocation mode switching method includes detecting an event, selecting a bandwidth allocation mode associated with the detected event, and allocating a plurality of execution cycles of an instruction execution period of a processor core among a plurality of instruction execution threads based at least in part on the selected bandwidth allocation mode. Other embodiments may be described and claimed.
Claims23
A method comprising:
- detecting a first event;
- selecting a first bandwidth allocation mode associated with the first event;
- allocating a plurality of execution cycles of a first instruction execution period of a processor core among a plurality of instruction execution threads based at least in part on the first bandwidth allocation mode;
- detecting a second event associated with a second bandwidth allocation mode;
- determining relative priorities of i) the first bandwidth allocation mode and ii) the second bandwidth allocation mode;
- selecting the second bandwidth allocation mode;
- and
- allocating the plurality of execution cycles of a second instruction execution period based at least in part on the determined relative priorities of i) the first bandwidth allocation mode and ii) the second bandwidth allocation mode.
An apparatus comprising:
- a scheduler configured to
- detect a first event,
- select a first bandwidth allocation mode associated with the first event,
- allocate a plurality of execution cycles of a first instruction execution period among a plurality of instruction execution threads based at least in part on the first bandwidth allocation mode,
- detect a second event associated with a second bandwidth allocation mode,
- determine relative priorities of i) the first bandwidth allocation mode and ii) the second bandwidth allocation mode,
- selecting the second bandwidth allocation mode,
- allocate the plurality of execution cycles of a second instruction execution period based at least in part on the determined relative priorities;
- an instruction dispatcher configured to fetch and issue instructions of the plurality of instruction threads according to the allocation provided by the scheduler;
- and
- execution circuitry configured to execute instructions issued by the instruction dispatcher.
An apparatus comprising:
- means for detecting a first event;
- means for selecting a first bandwidth allocation mode associated with the first event;
- means for allocating a plurality of execution cycles of a first instruction period of a processor core among a plurality of instruction execution threads based at least in part on the first bandwidth allocation mode;
- means for detecting a second event associated with a second bandwidth allocation mode;
- means for determining relative priorities of i) the first bandwidth allocation mode and ii) the second bandwidth allocation mode;
- means for selecting the second bandwidth allocation mode;
- and
- means for allocating the plurality of execution cycles of a second instruction execution period based at least in part on the determined relative priorities.
A machine-accessible medium having associated instructions, which, when accessed, results in a machine:
- detecting a first event;
- selecting a first bandwidth allocation mode associated with the first event;
- allocating a plurality of execution cycles of a first instruction execution period of a processor core among a plurality of instruction execution threads based at least in part on the first bandwidth allocation mode;
- detecting a second event associated with a second bandwidth allocation mode;
- determining relative priorities of i) the first bandwidth allocation mode and ii) the second bandwidth allocation mode;
- selecting the second bandwidth allocation mode;
- and
- allocating the plurality of execution cycles of a second instruction execution period based at least in part on the determined relative priorities.
A system comprising:
- storage configured to store data;
- and
- a processor core configured to read and/or write data in the storage, the processor core having
- a scheduler configured to
- detect a first event,
- select a first bandwidth allocation mode associated with the first event,
- allocate a plurality of execution cycles of a first instruction execution period of the processor core among a plurality of instruction execution threads based at least in part on the first bandwidth allocation mode,
- detect second event associated with a second bandwidth allocation mode,
- determine relative priorities of i) the first bandwidth allocation mode and ii) the second bandwidth allocation mode,
- select the second bandwidth allocation mode, and
- allocate the plurality of execution cycles of a second instruction execution period based at least in part on the determined relative priorities,
- an instruction dispatcher configured to fetch and issue instructions of the plurality of instruction threads according to the allocation provided by the scheduler, and
- an execution circuitry configured to execute instructions issued by the instruction dispatcher.
Dependencies are inferred from the claim text.