Two-Dimensioanl Zero Padding in a Stream of Matrix Elements

US2019278596A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2019278596-A1
Application numberUS-201916420457-A
CountryUS
Kind codeA1
Filing dateMay 23, 2019
Priority dateJul 15, 2013
Publication dateSep 12, 2019
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Software instructions are executed on a processor within a computer system to configure a steaming engine with stream parameters to define a multidimensional array. The stream parameters define a size for each dimension of the multidimensional array and a specified width for two selected dimensions of the array. Data is fetched from a memory coupled to the streaming engine responsive to the stream parameters. A stream of vectors is formed for the multidimensional array responsive to the stream parameters from the data fetched from memory. When either selected dimension in the stream of vectors exceeds a respective specified width, the streaming engine inserts null elements into each portion of a respective vector for the selected dimension that exceeds the specified width in the stream of vectors. Stream vectors that are completely null are formed by the streaming engine without accessing the system memory for respective data.

First claim

Opening claim text (preview).

1 . A method of operating a streaming engine in a computer system, the method comprising: receiving stream parameters into control logic of the streaming engine to define a multidimensional array, wherein the stream parameters the stream parameters define a size for each dimension of the multidimensional array, a first specified width for a first selected dimension of the array, and a second specified width for a second selected dimension of the array; fetching data from a memory coupled to the streaming engine responsive to the stream parameters; forming a stream of vectors for the array responsive to the stream parameters from the data fetched from memory; determining when the first selected dimension in the stream of vectors exceeds the first specified width and inserting null elements in a portion of a respective vector for the first selected dimension in the stream of vectors that exceeds the first specified width; and determining when the second selected dimension in the stream of vectors exceeds the second specified width and inserting null elements in a portion of a respective vector for the second selected dimension in the stream of vectors that exceeds the second specified width. 2 . The method of claim 1 , further comprising suppressing an access to the memory responsive to the stream parameters while the first selected dimension exceeds the first specified width. 3 . The method of claim 2 , further comprising forming a null stream vector without fetching respective data from the memory for a portion of the first selected dimension that exceeds the first specified width in the stream of vectors. 4 . The method of claim 3 , further comprising forming a null stream vector without fetching respective data from the memory for a portion of the second selected dimension that exceeds the second specified width in the stream of vectors. 5 . The method of claim 4 , further comprising suppressing access to an address lookaside buffer while the second selected dimension exceeds the second specified width. 6 . The method of claim 1 , in which the stream parameters include an element size of the array, a number of elements to include in each vector of a stream, and a number of vectors to include in the stream for each dimension of the array. 7 . The method of claim 1 , in which null elements are set to a value of zero. 8 . The method of claim 3 , in which all elements in a null stream vector have a value of zero. 9 . The method of claim 1 , in which the null value is specified by the stream parameters. 10 . A system comprising: a system memory; a streaming engine coupled to the system memory, wherein the streaming engine comprises: a stream template register to hold stream parameters, wherein the stream parameters define a size for each dimension of a multidimensional array, a first specified width for a first selected dimension of the array, and a second specified width for a second selected dimension of the array; address generation logic coupled to the stream template register; a register file with inputs coupled to receive a vector fetched from the system memory; an alignment network with inputs coupled to outputs of the register file, the alignment network having outputs coupled to outputs of the streaming engine to provide stream vectors responsive to the stream parameters; and control logic coupled to control the alignment network to cause the alignment network to insert null elements into a portion of a stream vector when the first selected dimension exceeds the first specified width and when the second selected dimension of the multidimensional array exceeds the second specified width. 11 . The system of claim 10 , wherein the control logic is operable to suppress an access to the system memory responsive to the stream parameters either while a portion of the first selected dimension exceeds the first specified width and while a portion of the second selected dimension exceeds the second specified width. 12 . The system of claim 11 , wherein the control logic is operable to cause the alignment network to form a null stream vector without fetching a respective vector from the system memory for the portion of the first selected dimension that exceeds the first specified width and for the portion of the second selected dimension that exceeds the second specified width. 13 . The system of claim 11 , further comprising a translation lookaside buffer coupled to the address generation logic, wherein the control logic is operable to suppress an access to the translation lookaside buffer by the address generation logic while a portion of the first selected dimension exceeds the first specified width and while a portion of the second selected dimension exceeds the second specified width. 14 . The system of claim 10 , in which the null elements have a value of zero. 15 . The system of claim 10 in which the null value is specified by the stream parameters. 16 . The system of claim 10 being a system on a chip (SoC), further comprising a processing unit coupled to the outputs of the streaming engine to receive the stream vectors. 17 . A system comprising: a system memory; a streaming engine coupled to access the system memory to form a stream of stream vectors for a multidimensional array, wherein the streaming engine is operable to insert null elements into selected stream vectors of two dimensions of the multidimensional array; and a processing unit coupled to outputs of the streaming engine to receive the stream of stream vectors. 18 . The system of claim 17 , in which the streaming engine comprises: a stream template register to hold stream parameters, wherein the stream parameters define a size for each dimension of the multidimensional array, a first specified width for a first selected dimension of the array, and a second specified width for a second selected dimension of the array; and control logic coupled to receive the stream parameters from the stream template being operable to insert null elements into a portion of a stream vector when the first selected dimension exceeds the first specified width and when the second selected dimension of the multidimensional array exceeds the second specified width. 19 . The system of claim 18 , wherein the control logic is operable to suppress an access to the system memory responsive to the stream parameters while a portion of the first selected dimension exceeds the first specified width and while a portion of the second selected dimension exceeds the second specified width. 20 . The system of claim 18 , wherein the control logic is operable to form a null stream vector without fetching a respective vector from the system memory while a portion of the first selected dimension exceeds the first specified width and while a portion of the second selected dimension exceeds the second specified width.

Assignees

Inventors

Classifications

  • Instruction analysis, e.g. decoding, instruction word fields · CPC title

  • with two or more cache hierarchy levels (with multilevel cache hierarchies G06F12/0811) · CPC title

  • with variable precision · CPC title

  • Instruction prefetching · CPC title

  • with dedicated cache, e.g. instruction or stack · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2019278596A1 cover?
Software instructions are executed on a processor within a computer system to configure a steaming engine with stream parameters to define a multidimensional array. The stream parameters define a size for each dimension of the multidimensional array and a specified width for two selected dimensions of the array. Data is fetched from a memory coupled to the streaming engine responsive to the str…
Who is the assignee on this patent?
Texas Instruments Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/3016. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Sep 12 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).