IP Library Granted Patent US 11,451,229
Granted Patent B1
US 11,451,229 · App. 17/135,607 · Granted Sep 20, 2022

Application specific integrated circuit accelerators

Inventors: Michial Allen Gunter (Oakland, CA); Charles Henry Leichner, IV (Palo Alto, CA); Tammo Spalink (Mountain View, CA)
Assignee: Google LLC
H03K19/17744G06N3/04G06N3/063G06N3/082H03K19/1774
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,451,229
App. No.
17/135,607
Granted
Sep 20, 2022
Kind
B1
Abstract

A tile including circuitry for use with machine learning models, the tile including: a first computational array of cells, in which the computational array of cells is a sub-array of a larger second computational array of cells; local memory coupled to the first computational array of cells; and multiple controllable bus lines, in which a first subset of the multiple controllable bus lines include multiple general purpose controllable bus lines couplable to the local memory.

Claims (24)

1. An apparatus for use with machine learning models, the apparatus comprising:

an arithmetic computational circuit, wherein the arithmetic computational circuit comprises a first array of cells configured to perform mathematical operations;

memory;

a plurality of switchable bus lines comprising a first switchable bus line subset and a second switchable bus line subset,

wherein the first switchable bus line subset is configured to control whether data is transferred between the first switchable bus line subset and the memory along a first dimension and whether data is transferred between the first switchable bus line subset and the arithmetic computational circuit along the first dimension,

wherein the second switchable bus line subset is configured to control whether data is transferred along a second dimension that is orthogonal to the first dimension,

wherein the first switchable bus line subset comprises at least one control element positioned proximate to a first memory circuit of the memory and to the first array of cells, wherein the at least one control element of the first switchable bus line subset is configured to control whether data is transferred between the first switchable bus line subset and the first memory circuit and whether data is transferred between the first switchable bus line subset and the first array of cells.

2. The apparatus of claim 1 , wherein the arithmetic computational circuit comprises a plurality of array of cells arranged in a grid that extends along the first dimension and along the second dimension, wherein the plurality of array of cells comprises the first array of cells.

3. The apparatus of claim 2 comprising a vector processing unit, wherein a first half of the plurality of array of cells is arranged on a first side of the vector processing unit, and wherein a second half of the plurality of array of cells is arranged on a second side of the vector processing unit that is opposite to the first side of the vector processing unit.

4. The apparatus of claim 2 , wherein the memory comprises a plurality of memory circuits including the first memory circuit, wherein each memory circuit of the plurality of memory circuits is positioned proximate to a different corresponding array of cells from the plurality of array of cells, and the first memory circuit is positioned proximate to the first array of cells.

5. The apparatus of claim 4 , wherein each memory circuit of the plurality of memory circuits comprises SRAM.

6. The apparatus of claim 4 , wherein the second switchable bus line subset comprises at least one control element positioned proximate to the first memory circuit and to the first array of cells, wherein the at least one control element of the second switchable bus line subset is configured to control whether data is transferred with an adjacent control element of the second switchable bus line subset, wherein the adjacent control element is positioned proximate to a second memory circuit and a second array of cells.

7. The apparatus of claim 4 , wherein the at least one control element of the first switchable bus line subset comprises a flip-flop.

8. The apparatus of claim 4 , wherein the at least one control element of the first switchable bus line subset comprises a multiplexor.

9. The apparatus of claim 2 , wherein the plurality of switchable bus lines are configured to transfer data from the first array of cells along the first dimension, along the second dimension, or along both the first dimension and the second dimension to a second array of cells of the plurality of array of cells, wherein the second array of cells is non-adjacent to the first array of cells in the grid.

10. The apparatus of claim 1 , wherein the first array of cells is configured to perform multiply and accumulate operations.

11. The apparatus of claim 1 , wherein the plurality of switchable bus lines are configured to change a direction of data movement along the plurality of switchable bus lines between the first dimension and the second dimension.

12. An apparatus for use with machine learning models, the apparatus comprising:

an arithmetic computational circuit, wherein the arithmetic computational circuit comprises a first array of cells configured to perform mathematical operations;

memory;

a plurality of switchable bus lines comprising a first switchable bus line subset and a second switchable bus line subset,

wherein the first switchable bus line subset is configured to control whether data is transferred between the first switchable bus line subset and the memory along a first dimension and whether data is transferred between the first switchable bus line subset and the arithmetic computational circuit along the first dimension,

wherein the second switchable bus line subset is configured to control whether data is transferred along a second dimension that is orthogonal to the first dimension; and

a vector processing unit, wherein a first half of the first array of cells is arranged on a first side of the vector processing unit, and wherein a second half of the first array of cells is arranged on a second side of the vector processing unit that is opposite to the first side of the vector processing unit.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2021
From: X DEVELOPMENT LLC
To: GOOGLE LLC
Reel/Frame 057353/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2021
From: GUNTER, MICHIAL ALLEN; LEICHNER IV, CHARLES HENRY; SPALINK, TAMMO
To: X DEVELOPMENT LLC
Reel/Frame 054828/0882 →
Continuity (2)
Continuation 16042752 · Jul 23, 2018
Provisional Application 62535612 · Jul 21, 2017
Cited By (1)
US 12,218,666