US 12,455,762 B2
Explicit scheduling of on-chip operations
Michial Allen Gunter, Oakland, CA (US); and Charles Henry Leichner, IV, Palo Alto, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Appl. No. 17/635,772
Filed by Google LLC, Mountain View, CA (US)
PCT Filed Aug. 14, 2020, PCT No. PCT/US2020/046392
§ 371(c)(1), (2) Date Feb. 16, 2022,
PCT Pub. No. WO2021/034675, PCT Pub. Date Feb. 25, 2021.
Claims priority of provisional application 62/887,724, filed on Aug. 16, 2019.
Prior Publication US 2022/0326988 A1, Oct. 13, 2022
Int. Cl. G06F 9/46 (2006.01); G06F 9/30 (2018.01); G06F 9/32 (2018.01); G06F 9/38 (2018.01); G06F 9/48 (2006.01); G06F 15/78 (2006.01); G06N 3/063 (2023.01)
CPC G06F 9/4881 (2013.01) [G06F 9/30036 (2013.01); G06F 9/321 (2013.01); G06F 9/3893 (2013.01); G06F 15/7807 (2013.01); G06N 3/063 (2013.01)] 20 Claims
OG exemplary drawing
 
1. An integrated circuit device comprising:
a counter;
a first hardware block communicably coupled to the counter and configured to operate according to a first schedule that comprises a first set of operations each of which is scheduled to be executed by the first hardware block at a first respective value of the counter; and
a second hardware block communicably coupled to the counter and to the first hardware block, the second hardware block configured to operate according to a second schedule that comprises a second set of operations each of which is scheduled to be executed by the second hardware block at a second respective value of the counter, and
wherein operations of the second schedule are coordinated with operations of the first schedule such that compute operations in the first schedule are executed concurrently with data exchange operations in the second schedule, and that the first schedule triggers the first hardware block to send data to the second hardware block at a first pre-scheduled value of the counter, and the second schedule triggers the second hardware block to accept the data at an input at a second pre-scheduled value of the counter that is after the first pre-scheduled value.