发明名称 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