发明名称 |
RANDOM NUMBER STORAGE, ACCESS, AND MANAGEMENT |
摘要 |
Random numbers within a processor may be scarce, especially when multiple hardware threads are consuming them. A local random number buffer can be used by an execution core to better manage allocation and consumption of random numbers. The buffer may operate in a number of modes, and allow any hardware thread to use a random number under some conditions. In other conditions, only certain hardware threads may be allowed to consume a random number. The local random number buffer may have a dynamic pool of entries usable by any hardware thread, as well as reserved entries usable by only particular hardware threads. Further, a user-level instruction is disclosed that can be stored in a wait queue in response to a random number being unavailable, rather than having the instruction's request for a random number simply be denied. The random number buffer may also boost performance and reduce latency. |
申请公布号 |
US2016328209(A1) |
申请公布日期 |
2016.11.10 |
申请号 |
US201514706213 |
申请日期 |
2015.05.07 |
申请人 |
Oracle International Corporation |
发明人 |
Pape John;Luttrell Mark;Jordan Paul;Snyder Michael |
分类号 |
G06F7/58 |
主分类号 |
G06F7/58 |
代理机构 |
|
代理人 |
|
主权项 |
1. A processor, comprising:
a plurality of execution cores, each of which is configured to execute a respective plurality of hardware threads; and a central random number generator (RNG) configured to provide random numbers to the plurality of execution cores; wherein each of the plurality of execution cores comprises:
a local random number buffer that includes a plurality of storage locations configured to store random numbers received from the RNG; andarbitration logic configured to access the plurality of storage locations in response to requests for random numbers from the plurality of hardware threads for that execution core;wherein the arbitration logic is configured to allow a first number of entries in the plurality of storage locations to be used by any of the plurality of hardware threads for that execution core, and to reserve a second number of entries in the plurality of storage locations for use by individual ones of the plurality of hardware threads for that execution core. |
地址 |
Redwood Shores CA US |