US 12,223,011 B1
Integer matrix multiplication engine using pipelining
David John Simpson, San Jose, CA (US)
Assigned to MIPS Holding, Inc., San Jose, CA (US)
Filed by MIPS Holding, Inc., San Jose, CA (US)
Filed on Nov. 27, 2023, as Appl. No. 18/519,531.
Application 18/519,531 is a continuation of application No. 17/878,011, filed on Jul. 31, 2022, granted, now 11,880,426, issued on Jan. 23, 2024.
Application 17/878,011 is a continuation of application No. 16/943,252, filed on Jul. 30, 2020, granted, now 11,481,472, issued on Oct. 25, 2022.
Application 16/943,252 is a continuation in part of application No. 16/835,812, filed on Mar. 31, 2020, granted, now 11,227,030, issued on Jan. 18, 2022.
Claims priority of provisional application 62/907,907, filed on Sep. 30, 2019.
Claims priority of provisional application 62/898,770, filed on Sep. 11, 2019.
Claims priority of provisional application 62/898,114, filed on Sep. 10, 2019.
Claims priority of provisional application 62/893,970, filed on Aug. 30, 2019.
Claims priority of provisional application 62/894,002, filed on Aug. 30, 2019.
Claims priority of provisional application 62/887,722, filed on Aug. 16, 2019.
Claims priority of provisional application 62/887,713, filed on Aug. 16, 2019.
Claims priority of provisional application 62/882,175, filed on Aug. 2, 2019.
Claims priority of provisional application 62/874,022, filed on Jul. 15, 2019.
Claims priority of provisional application 62/857,925, filed on Jun. 6, 2019.
Claims priority of provisional application 62/856,490, filed on Jun. 3, 2019.
Claims priority of provisional application 62/850,059, filed on May 20, 2019.
Claims priority of provisional application 62/827,333, filed on Apr. 1, 2019.
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 17/16 (2006.01)
CPC G06F 17/16 (2013.01) 19 Claims
OG exemplary drawing
 
1. A processor-implemented method comprising:
obtaining a first integer matrix with dimensions m×k and a second integer matrix with dimensions k×n for matrix multiplication within a processor, wherein the first integer matrix and the second integer matrix employ a two's complement variable radix point data representation;
distilling the first integer matrix and the second integer matrix into (j×j) submatrices;
configuring dynamically a first variable radix point format for the first integer matrix and a second variable radix point format for the second integer matrix; and
executing matrix-multiplication operations in a pipelined architecture on the (j×j) submatrices of the first integer matrix and the second integer matrix, wherein a third variable radix point format is configured for the result.