-
公开(公告)号:US11036648B2
公开(公告)日:2021-06-15
申请号:US16227238
申请日:2018-12-20
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Timothy D. Anderson , Joseph Zbiciak , Duc Quang Bui , Abhijeet Chachad , Kai Chirca , Naveen Bhoria , Matthew D. Pierson , Daniel Wu , Ramakrishnan Venkatasubramanian
IPC: G06F9/34 , G06F11/00 , G06F12/0875 , G06F12/1045 , G06F9/30 , G06F9/345 , G06F9/38 , G06F11/10 , G06F9/32 , G06F12/0897 , G06F12/0862 , G06F12/1009
Abstract: Disclosed embodiments include a data processing apparatus having a processing core, a memory, and a streaming engine. The streaming engine is configured to receive a plurality of data elements stored in the memory and to provide the plurality of data elements as a data stream to the processing core, and includes an address generator to generate addresses corresponding to locations in the memory, a buffer to store the data elements received from the locations in the memory corresponding to the generated addresses, and an output to supply the data elements received from the memory to the processing core as the data stream.
-
公开(公告)号:US10901913B2
公开(公告)日:2021-01-26
申请号:US16251795
申请日:2019-01-18
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Joseph Zbiciak , Son H. Tran
IPC: G06F12/10 , G06F12/1045 , G06F9/30 , G06F9/345 , G06F9/38 , G06F11/00 , G06F11/10 , G06F9/32 , G06F12/0875 , G06F12/0897 , G06F12/0862 , G06F12/1009
Abstract: A streaming engine employed in a digital data processor specifies a fixed read only data stream. An address generator produces virtual addresses of data elements. An address translation unit converts these virtual addresses to physical addresses by comparing the most significant bits of a next address N with the virtual address bits of each entry in an address translation table. Upon a match, the translated address is the physical address bits of the matching entry and the least significant bits of address N. The address translation unit can generate two translated addresses. If the most significant bits of address N+1 match those of address N, the same physical address bits are used for translation of address N+1. The sequential nature of the data stream increases the probability that consecutive addresses match the same address translation entry and can use this technique.
-
123.
公开(公告)号:US20200285474A1
公开(公告)日:2020-09-10
申请号:US16825383
申请日:2020-03-20
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Joseph Zbiciak , Timothy Anderson
IPC: G06F9/32 , G06F9/38 , G06F9/30 , G06F13/16 , G06F13/40 , G06F12/0875 , G06F12/0897 , G06F9/345 , G06F11/00 , G06F12/02
Abstract: A streaming engine employed in a digital data processor specifies fixed first and second read only data streams. Corresponding stream address generator produces address of data elements of the two streams. Corresponding steam head registers stores data elements next to be supplied to functional units for use as operands. The two streams share two memory ports. A toggling preference of stream to port ensures fair allocation. The arbiters permit one stream to borrow the other's interface when the other interface is idle. Thus one stream may issue two memory requests, one from each memory port, if the other stream is idle. This spreads the bandwidth demand for each stream across both interfaces, ensuring neither interface becomes a bottleneck.
-
124.
公开(公告)号:US10606598B2
公开(公告)日:2020-03-31
申请号:US16139858
申请日:2018-09-24
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Joseph Zbiciak , Timothy Anderson
IPC: G06F9/312 , G06F9/34 , G06F11/00 , G06F12/02 , G06F13/18 , G06F9/32 , G06F9/38 , G06F9/30 , G06F13/16 , G06F13/40 , G06F12/0875 , G06F12/0897 , G06F9/345 , G06F11/10
Abstract: A streaming engine employed in a digital data processor specifies fixed first and second read only data streams. Corresponding stream address generator produces address of data elements of the two streams. Corresponding steam head registers stores data elements next to be supplied to functional units for use as operands. The two streams share two memory ports. A toggling preference of stream to port ensures fair allocation. The arbiters permit one stream to borrow the other's interface when the other interface is idle. Thus one stream may issue two memory requests, one from each memory port, if the other stream is idle. This spreads the bandwidth demand for each stream across both interfaces, ensuring neither interface becomes a bottleneck.
-
公开(公告)号:US20190220277A1
公开(公告)日:2019-07-18
申请号:US16361449
申请日:2019-03-22
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Timothy Anderson , Duc Quang Bui , Joseph Zbiciak
CPC classification number: G06F9/30036 , G06F9/30072 , G06F9/30101 , G06F9/30145 , G06F9/30185 , G06F9/3853 , G06F9/3867 , G06F9/3885
Abstract: A technique for method for executing instructions in a processor includes receiving a first instruction, receiving a second instruction, identifying a functional unit specified by an opcode contained in an opcode field of the first instruction, selecting a field of the second instruction that contains predicate information based on the identified functional unit, and executing the first instruction in a conditional manner using the identified functional unit and the predicate information contained in the selected field of the second instruction.
-
公开(公告)号:US20190171455A1
公开(公告)日:2019-06-06
申请号:US16273413
申请日:2019-02-12
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Joseph Zbiciak , Timothy D. Anderson
IPC: G06F9/30 , G06F12/0897 , G06F12/0875 , G06F9/34 , G06F11/00 , G06F9/38 , G06F9/345 , G06F9/32
Abstract: A streaming engine employed in a digital data processor specifies a fixed read only data stream defined by plural nested loops. An address generator produces addresses of data elements. A steam head register stores data elements next to be supplied to functional units for use as operands. Stream metadata is stored in response to a stream store instruction. Stored stream metadata is restored to the stream engine in response to a stream restore instruction. An interrupt changes an open stream to a frozen state discarding stored stream data. A return from interrupt changes a frozen stream to an active state.
-
公开(公告)号:US20190020360A1
公开(公告)日:2019-01-17
申请号:US15651055
申请日:2017-07-17
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Dheera Balasubramanian , Joseph Zbiciak , Duc Quang Bui , Timothy David Anderson
Abstract: A method is shown that is operable to transform and align a plurality of fields from an input to an output data stream using a multilayer butterfly or inverse butterfly network. Many transformations are possible with such a network which may include separate control of each multiplexer. This invention supports a limited set of multiplexer control signals, which enables a similarly limited set of data transformations. This limited capability is offset by the reduced complexity of the multiplexor control circuits.
-
公开(公告)号:US20180341616A1
公开(公告)日:2018-11-29
申请号:US15602235
申请日:2017-05-23
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Dheera Balasubramanian , Joseph Zbiciak , Sureshkumar Govindaraj
IPC: G06F13/42 , G06F9/30 , G06F9/38 , G06F15/78 , G06F12/0875
Abstract: A multilayer butterfly network is shown that is operable to transform and align a plurality of fields from an input to an output data stream. Many transformations are possible with such a network which may include separate control of each multiplexer. This invention supports a limited set of multiplexer control signals, which enables a similarly limited set of data transformations. This limited capability is offset by the reduced complexity of the multiplexor control circuits. This invention used precalculated inputs and simple combinatorial logic to generate control signals for the butterfly network. Controls are independent for each layer and therefore are dependent only on the input and output patterns. Controls for the layers can be calculated in parallel.
-
公开(公告)号:US10140239B1
公开(公告)日:2018-11-27
申请号:US15602235
申请日:2017-05-23
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Dheera Balasubramanian , Joseph Zbiciak , Sureshkumar Govindaraj
IPC: G06F13/42 , G06F9/30 , G06F9/38 , G06F15/78 , G06F12/0875 , H04N19/423
CPC classification number: G06F13/42 , G06F9/30145 , G06F9/3802 , G06F12/0875 , G06F15/7807 , G06F2212/452 , H04N19/423
Abstract: A multilayer butterfly network is shown that is operable to transform and align a plurality of fields from an input to an output data stream. Many transformations are possible with such a network which may include separate control of each multiplexer. This invention supports a limited set of multiplexer control signals, which enables a similarly limited set of data transformations. This limited capability is offset by the reduced complexity of the multiplexor control circuits. This invention used precalculated inputs and simple combinatorial logic to generate control signals for the butterfly network. Controls are independent for each layer and therefore are dependent only on the input and output patterns. Controls for the layers can be calculated in parallel.
-
公开(公告)号:US20180322061A1
公开(公告)日:2018-11-08
申请号:US15971875
申请日:2018-05-04
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Joseph Zbiciak
IPC: G06F12/0862 , G06F9/38 , G06F9/355 , G06F12/1009 , G06F9/345
CPC classification number: G06F12/0862 , G06F9/345 , G06F9/3552 , G06F9/383 , G06F12/0207 , G06F2212/6026
Abstract: A streaming engine employed in a digital data processor specifies a fixed read only data stream defined by plural nested loops. An address generator produces address of data elements for the nested loops. A steam head register stores data elements next to be supplied to functional units for use as operands. A stream template register specifies a circular address mode for the loop, first and second block size numbers and a circular address block size selection. For a first circular address block size selection the block size corresponds to the first block size number. For a first circular address block size selection the block size corresponds to the first block size number. For a second circular address block size selection the block size corresponds to a sum of the first block size number and the second block size number.
-
-
-
-
-
-
-
-
-