-
11.
公开(公告)号:US11294681B2
公开(公告)日:2022-04-05
申请号:US16888783
申请日:2020-05-31
Applicant: Texas Instruments Incorporated
Inventor: Kai Chirca , Paul Daniel Gauvreau , David Edward Smith, Jr.
Abstract: An integrated circuit comprising instruction processing circuitry for processing a plurality of program instructions and instruction prediction circuitry. The instruction prediction circuitry comprises circuitry for detecting successive occurrences of a same program loop sequence of program instructions. The instruction prediction circuitry also comprises circuitry for predicting a number of iterations of the same program loop sequence of program instructions, in response to detecting, by the circuitry for detecting, that a second occurrence of the same program loop sequence of program instructions comprises a same number of iterations as a first occurrence of the same program loop sequence of program instructions.
-
公开(公告)号:US11269774B2
公开(公告)日:2022-03-08
申请号:US16601947
申请日:2019-10-15
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Kai Chirca , Timothy David Anderson
IPC: G06F12/084 , G06F12/0811 , G06F12/1009 , G06F12/0875 , G06F12/10 , G06F13/16 , G06F13/40 , G06F12/0855 , G06F12/06 , G06F12/0817 , G06F12/0831 , G06F13/12 , G06F3/06 , G06F12/0815 , H03M13/01 , H03M13/09 , H03M13/15 , H03M13/27 , G06F9/30 , G06F9/38 , G06F9/48 , G06F9/50 , G06F12/0891 , G06F12/0846 , G06F12/0862
Abstract: Techniques for maintaining cache coherency comprising storing data blocks associated with a main process in a cache line of a main cache memory, storing a first local copy of the data blocks in a first local cache memory of a first processor, storing a second local copy of the set of data blocks in a second local cache memory of a second processor executing a first child process of the main process to generate first output data, writing the first output data to the first data block of the first local copy as a write through, writing the first output data to the first data block of the main cache memory as a part of the write through, transmitting an invalidate request to the second local cache memory, marking the second local copy of the set of data blocks as delayed, and transmitting an acknowledgment to the invalidate request.
-
公开(公告)号:US20220027275A1
公开(公告)日:2022-01-27
申请号:US17492776
申请日:2021-10-04
Applicant: Texas Instruments Incorporated
Inventor: Abhijeet Ashok Chachad , Timothy David Anderson , Kai Chirca , David Matthew Thompson
IPC: G06F12/0842 , G06F12/0811 , G06F12/0888 , G06F1/14 , G06F9/54
Abstract: In described examples, a processor system includes a processor core generating memory transactions, a lower level cache memory with a lower memory controller, and a higher level cache memory with a higher memory controller having a memory pipeline. The higher memory controller is connected to the lower memory controller by a bypass path that skips the memory pipeline. The higher memory controller: determines whether a memory transaction is a bypass write, which is a memory write request indicated not to result in a corresponding write being directed to the higher level cache memory; if the memory transaction is determined a bypass write, determines whether a memory transaction that prevents passing is in the memory pipeline; and if no transaction that prevents passing is determined to be in the memory pipeline, sends the memory transaction to the lower memory controller using the bypass path.
-
公开(公告)号:US11138117B2
公开(公告)日:2021-10-05
申请号:US16879264
申请日:2020-05-20
Applicant: Texas Instruments Incorporated
Inventor: Abhijeet Ashok Chachad , Timothy David Anderson , Kai Chirca , David Matthew Thompson
IPC: G06F12/00 , G06F12/0842 , G06F12/0811 , G06F12/0888 , G06F1/14 , G06F9/54
Abstract: In described examples, a processor system includes a processor core generating memory transactions, a lower level cache memory with a lower memory controller, and a higher level cache memory with a higher memory controller having a memory pipeline. The higher memory controller is connected to the lower memory controller by a bypass path that skips the memory pipeline. The higher memory controller: determines whether a memory transaction is a bypass write, which is a memory write request indicated not to result in a corresponding write being directed to the higher level cache memory; if the memory transaction is determined a bypass write, determines whether a memory transaction that prevents passing is in the memory pipeline; and if no transaction that prevents passing is determined to be in the memory pipeline, sends the memory transaction to the lower memory controller using the bypass path.
-
15.
公开(公告)号:US11086967B2
公开(公告)日:2021-08-10
申请号:US15907356
申请日:2018-02-28
Applicant: Texas Instruments Incorporated
Inventor: Arthur John Redfern , Timothy David Anderson , Kai Chirca , Chenchi Luo , Zhenhua Yu
Abstract: A method for performing a fundamental computational primitive in a device is provided, where the device includes a processor and a matrix multiplication accelerator (MMA). The method includes configuring a streaming engine in the device to stream data for the fundamental computational primitive from memory, configuring the MMA to format the data, and executing the fundamental computational primitive by the device.
-
16.
公开(公告)号:US20190354500A1
公开(公告)日:2019-11-21
申请号:US16430748
申请日:2019-06-04
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: David M. Thompson , Timothy D. Anderson , Joseph R.M. Zbiciak , Abhijeet A. Chachad , Kai Chirca , Matthew D. Pierson
IPC: G06F13/40 , G06F13/42 , H04L12/801 , G06F13/364 , H04L12/819
Abstract: This invention is a bus communication protocol. A master device stores bus credits. The master device may transmit a bus transaction only if it holds sufficient number and type of bus credits. Upon transmission, the master device decrements the number of stored bus credits. The bus credits correspond to resources on a slave device for receiving bus transactions. The slave device must receive the bus transaction if accompanied by the proper credits. The slave device services the transaction. The slave device then transmits a credit return. The master device adds the corresponding number and types of credits to the stored amount. The slave device is ready to accept another bus transaction and the master device is re-enabled to initiate the bus transaction. In many types of interactions a bus agent may act as both master and slave depending upon the state of the process.
-
公开(公告)号:US20190146790A1
公开(公告)日:2019-05-16
申请号: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/30 , G06F9/345 , G06F9/38 , G06F11/10 , G06F9/32 , G06F12/0875 , G06F12/0897 , G06F11/00
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.
-
公开(公告)号:US20180365122A1
公开(公告)日:2018-12-20
申请号:US16112996
申请日:2018-08-27
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Joseph Zbiciak , Timothy D. Anderson , Duc Bui , Kai Chirca
IPC: G06F11/30 , G06F13/16 , G06F11/00 , G06F12/0875 , G06F11/27 , G06F12/0862 , G06F9/38 , G06F9/30 , G06F9/345
Abstract: This invention is a streaming engine employed in a digital signal processor. A fixed data stream sequence is specified by a control register. The streaming engine fetches stream data ahead of use by a central processing unit and stores it in a stream buffer. Upon occurrence of a fault reading data from memory, the streaming engine identifies the data element triggering the fault preferably storing this address in a fault address register. The streaming engine defers signaling the fault to the central processing unit until this data element is used as an operand. If the data element is never used by the central processing unit, the streaming engine never signals the fault. The streaming engine preferably stores data identifying the fault in a fault source register. The fault address register and the fault source register are preferably extended control registers accessible only via a debugger.
-
公开(公告)号:US20180246855A1
公开(公告)日:2018-08-30
申请号:US15905250
申请日:2018-02-26
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Arthur John Redfern , Donald Edward Steiss , Timothy David Anderson , Kai Chirca
IPC: G06F17/16
Abstract: A reconfigurable matrix multiplier (RMM) system/method allowing tight or loose coupling to supervisory control processor application control logic (ACL) in a system-on-a-chip (SOC) environment is disclosed. The RMM provides for C=A*B matrix multiplication operations having A-multiplier-matrix (AMM), B-multiplicand-matrix (BMM), and C-product-matrix (CPM), as well as C=A*B+D operations in which D-summation-matrix (DSM) represents the result of a previous multiplication operation or another previously defined matrix. The RMM provides for additional CPM LOAD/STORE paths allowing overlapping of compute/data transfer operations and provides for CPM data feedback to the AMM or BMM operand inputs from a previously calculated CPM result. The RMM anticipates the use of 8, 16, and 32-bit operand reconfigurable matrix datum in conjunction with a typical external memory bus data width of 512 bits and an instruction control unit (ICU) implemented using a series of RMM configuration words (RCW) and streaming opcode functions (SOF).
-
公开(公告)号:US10061675B2
公开(公告)日:2018-08-28
申请号:US15384378
申请日:2016-12-20
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Joseph Zbiciak , Timothy D. Anderson , Duc Bui , Kai Chirca
IPC: G06F9/312 , G06F12/12 , G06F13/38 , G06F13/36 , G06F11/30 , G06F12/0875 , G06F12/0862 , G06F11/27 , G06F13/16 , G06F9/30 , G06F9/345 , G06F9/38 , G06F11/00 , G06F11/10
CPC classification number: G06F11/3037 , G06F9/30014 , G06F9/30036 , G06F9/30112 , G06F9/30145 , G06F9/345 , G06F9/383 , G06F9/3867 , G06F11/00 , G06F11/10 , G06F11/27 , G06F12/0862 , G06F12/0875 , G06F13/1673 , G06F2212/452 , G06F2212/602
Abstract: This invention is a streaming engine employed in a digital signal processor. A fixed data stream sequence is specified by a control register. The streaming engine fetches stream data ahead of use by a central processing unit and stores it in a stream buffer. Upon occurrence of a fault reading data from memory, the streaming engine identifies the data element triggering the fault preferably storing this address in a fault address register. The streaming engine defers signaling the fault to the central processing unit until this data element is used as an operand. If the data element is never used by the central processing unit, the streaming engine never signals the fault. The streaming engine preferably stores data identifying the fault in a fault source register. The fault address register and the fault source register are preferably extended control registers accessible only via a debugger.
-
-
-
-
-
-
-
-
-