US 12,450,109 B2
Queueing asynchronous events for acceptance by threads executing in a barrel processor
Christopher Baronne, Allen, TX (US); and Tony M. Brewer, Plano, TX (US)
Assigned to Micron Technology, Inc., Boise, ID (US)
Filed by Micron Technology, Inc., Boise, ID (US)
Filed on Aug. 30, 2022, as Appl. No. 17/823,468.
Prior Publication US 2024/0069984 A1, Feb. 29, 2024
Int. Cl. G06F 9/54 (2006.01); G06F 9/30 (2018.01)
CPC G06F 9/542 (2013.01) [G06F 9/3009 (2013.01)] 6 Claims
OG exemplary drawing
 
1. An apparatus comprising:
memory; and
a barrel multithreaded processor comprising:
asynchronous event handler circuitry to perform operations comprising:
receiving a sync message from a parent thread executing on the barrel multithreaded processor, the sync message including a thread identifier field and a number of return values to be generated by a child thread created by a thread create instruction;
determining whether sufficient space exists in the memory to store return values based on the number of return values;
initiating the thread create instruction, after determining whether sufficient space exists in the memory to store return values, the thread create instruction used to create the child thread that provides the return values;
allocating space in the memory to store the return values in response to determining that there is sufficient space in the memory to store the return values;
receiving a query from the parent thread, the query regarding whether the child thread has completed execution and provided the return values; and
transmitting the return values from the allocated space to the parent thread in response to determining that the child thread has completed execution and provided the return values.