Flexible demand-based resource allocation for multiple requestors in a simultaneous multi-threaded CPU
A multi-threaded processor provides for efficient flow-control from a pool of un-executed stores in an instruction queue to a store queue. The processor also includes similar capabilities with respect to load instructions. The processor includes logic organized into a plurality of thread processing units (“TPUs”) and allocation logic that monitors each TPUs demand for entries in the store queue. Demand is determined by subtracting an adjustable threshold value from the most recently assigned store identifier value. If the difference between the most recently assigned instruction identifier for a TPU and the TPU's threshold is non-zero, then it is determined that the TPU has demand for at least one entry in the store queue. The allocation logic includes arbitration logic that determines which one of a plurality of TPUs with store queue demand should be allocated a free entry in the store queue.
Hewlett-Packard Development Company, L.P.
G G G G G
G06F G06F G06F G06F G06F
inventional inventional inventional inventional inventional
Chuan-Hua Joel S. John H. George Z. Peter
Chang Emer Mylius Chrysos Soderquist