Cache control apparatus and cache control method
Abstract
A cache control apparatus includes a plurality of processing units, each performing, in a mutually independent manner, corresponding processing that constitutes a pipeline process of outputting cache data with respect to requests belonging to threads, holding units, each being disposed corresponding to one of the processing units and each holding a thread-specific valid bit that corresponds to a request under processing in corresponding processing unit and that indicates whether a pipeline process for a thread to which the request under processing belongs is stalled, a storing unit that sequentially stores in a register a request that is under processing in a processing unit corresponding to a holding unit holding a valid bit that indicates pipeline process stalling, and a feeding unit that determines a priority for the request stored in the register by the storing unit and a request newly input from outside, and feeds either one of stored request and newly input request to the processing units.
Claims
exact text as granted — not AI-modified1 . A cache control apparatus that executes a pipeline process on requests belonging to a plurality of threads and outputs request-specific cache data, the cache control apparatus comprising:
a plurality of processing units, each performing, in a mutually independent manner, corresponding processing that constitutes a pipeline process of outputting cache data with respect to requests belonging to a plurality of threads; a plurality of holding units, each being disposed corresponding to one of the processing units and each holding a thread-specific valid bit that corresponds to a request under processing in the corresponding processing unit and that indicates whether a pipeline process for a thread to which the request under processing belongs is stalled; a storing unit that sequentially stores in a register a request that is under processing in the processing unit corresponding to the holding unit holding a valid bit that indicates pipeline process stalling; and a feeding unit that determines a priority for the request stored in the register by the storing unit and a request newly input from outside, and feeds either one of stored request and newly input request to the plurality of processing units.
2 . The cache control apparatus according to claim 1 , wherein, based on the valid bits held by the plurality of holding units, the storing unit stores in the register a request belonging to a thread for which a pipeline process is stalled according to an order in which the request has been fed to the plurality of processing units.
3 . The cache control apparatus according to claim 1 , wherein the feeding unit includes
a latching unit that latches, for each thread, the valid bits held by the plurality of holding units; and a determining unit that, according to the valid bits latched by the latching unit and a request fed at a previous time to the plurality of processing units, determines a request to be fed this time to the plurality of processing units.
4 . The cache control apparatus according to claim 3 , wherein, when none of the valid bits latched for each thread by the latching unit indicate pipeline process stalling, the determining unit determines that a request that is newly input from outside is to be fed to the plurality of processing units.
5 . The cache control apparatus according to claim 3 , wherein, when the valid bits latched for a single thread by the latching unit include a valid bit indicating pipeline process stalling, the determining unit determines that a request that belongs to the single thread and that is stored in a register by the storing unit is to be fed to the plurality of processing units.
6 . The cache control apparatus according to claim 3 , wherein, when the valid bits latched for a plurality of threads by the latching unit include a valid bit indicating pipeline process stalling, the determining unit determines that, from among the plurality of threads, a request belonging to a thread that is different than a thread to which a request fed at a previous time to the plurality of processing units belongs is to be fed to the plurality of processing units.
7 . The cache control apparatus according to claim 3 , wherein, when the valid bits latched for a plurality of threads by the latching unit include a valid bit indicating pipeline process stalling, the determining unit determines that, from among the plurality of threads, a request belonging to a thread that has longest elapsed time since a request belonging thereto was previously fed to the plurality of processing units is to be fed to the plurality of processing units.
8 . The cache control apparatus according to claim 1 , wherein
the storing unit includes a memory unit that stores therein, by thread and to a number of the plurality of processing units, a request that has been fed to the plurality of processing units, and stores in the register, by outputting from the memory unit, a request whose corresponding valid bit indicating pipeline process stalling, in sequence starting from a request that has been initially input to the plurality of processing units.
9 . A cache control method for executing a pipeline process on requests belonging to a plurality of threads and outputting request-specific cache data, the cache control method comprising:
performing processing operations, each in a mutually independent manner, that constitute a pipeline process of outputting cache data with respect to requests belonging to a plurality of threads; setting, if a pipeline process for a thread is stalled when a request belonging to the thread has reached last of the processing operations, a thread-specific valid bit indicating pipeline process stalling in a wait port, from among a plurality of wait ports each corresponding to one of the processing operations, that corresponds to one of the processing operations at which a request belonging to the thread for which the pipeline process is stalled is under processing; storing, when a valid bit indicating pipeline process stalling is set at the setting, a request that is under processing at one of the processing operations corresponding to a wait port in which the valid bit is set in a register in a sequential manner; and determining a priority for the request stored in the register at the storing and a request newly input from outside, and starting performing the processing operations with respect to either one of stored request and newly input request.Join the waitlist — get patent alerts
Track US2010095071A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.