IP Library › Granted Patent US 10,713,174
Granted Patent B2
US 10,713,174 · App. 15/384,345 · Granted Jul 14, 2020

Streaming engine with early and late address and loop count registers to track architectural state

Inventors: Joseph Zbiciak (San Jose, CA); Timothy D. Anderson (University Park, TX)
Assignee: TEXAS INSTRUMENTS INCORPORATED
G06F12/0875G06F9/30047G06F9/383G06F12/0862G06F12/0897G06F12/0811G06F12/10G06F2212/1016G06F2212/452G06F2212/454G06F2212/6026
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 10,713,174
App. No.
15/384,345
Granted
Jul 14, 2020
Kind
B2
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. A steam head register stores data elements next to be supplied to functional units for use as operands. The streaming engine stores an early address of next to be fetched data elements and a late address of a data element in the stream head register for each of the nested loops. The streaming engine stores an early loop counts of next to be fetched data elements and a late loop counts of a data element in the stream head register for each of the nested loops.

Claims (11)

1. A data processing apparatus comprising:

a processing core;

a memory; and

a streaming engine 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, wherein the streaming engine includes:

an early address generator to generate early addresses corresponding to locations in the memory, wherein each early address generated by the early address generator indicates a location in the memory of a next data element to be fetched;

an early address register to store an early address generated by the early address generator that corresponds to a current next data element to be fetched from the memory;

a buffer to store the data elements fetched from the locations in the memory corresponding to the early addresses generated by the early address generator;

a stream holding register coupled to the buffer;

a late address generator to generate late addresses corresponding to locations in the buffer, wherein each late address generated by the late address generator indicates a location in the buffer of a next data element to be loaded into the stream holding register, wherein each late address generated by the late address generator is generated by determining a current loop count value and determining the late address by multiplying the current loop count value by a size of the data elements of the data stream;

a late address register to store an address generated by the late address generator that corresponds to a current next data element to be loaded into the stream holding register; and

an output to supply data elements stored in the stream holding register to the processing core as the data stream.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2018
From: ANDERSON, TIMOTHY D
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 047442/0717 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2017
From: ZBICIAK, JOSEPH
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 042889/0250 →
Continuity (1)
Related Publication 20180173634A1 · Jun 21, 2018
Cited By (1)
US 12,367,150