US20170168898A1

Streaming engine with error detection, correction and restart

Claim Score by NHIP

Read claim 1, the broadest

Abstract

This invention is a streaming engine employed in a digital signal processor. A fixed data stream sequence including plural nested loops is specified by a control register. The streaming engine includes an address generator producing addresses of data elements and a steam head register storing data elements next to be supplied as operands. The streaming engine fetches stream data ahead of use by the central processing unit core in a stream buffer. Parity bits are formed upon storage of data in the stream buffer which are stored with the corresponding data. Upon transfer to the stream head register a second parity is calculated and compared with the stored parity. The streaming engine signals a parity fault if the parities do not match. The streaming engine preferably restarts fetching the data stream at the data element generating a parity fault.

US20170168898A1, drawing sheet 1
Sheet 1 of 29

Term

7.8 yearsto projected expiry

Projected expiry 15 July 2034, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

16 claims: 1 independent, 15 dependent

  1. 1
    Broadest claimClaim Score 18, narrow(NHIP)A digital data processor comprising:an instruction memory storing instructions each specifying a data processing operation and at least one data operand field;an instruction decoder connected to said instruction memory for sequentially recalling instructions from said instruction memory and determining said specified data processing operation and said specified at least one operand;at least one functional unit connected to said data register file and said instruction decoder for performing data processing operations upon at least one operand corresponding to an instruction decoded by said instruction decoder and storing results;a streaming engine connected to said instruction decoder operable in response to a stream start instruction to recall from memory a stream of an instruction specified sequence of a plurality of data elements, said streaming engine including an address generator for generating stream memory addresses corresponding to said stream of an instruction specified sequence of a plurality of data elements, a stream buffer receiving and temporarily storing data elements corresponding to said stream memory addresses, a stream head register storing a data element of said stream next to be used by said at least one functional unit;a first parity bit generator receiving data elements of said data stream recalled from the memory corresponding to stream memory addresses, having an output connected to said stream buffer, said first parity bit generator configured to form first parity bits from said data elements wherein said stream buffer stores both said data elements of said stream and corresponding parity bits;a second parity bit generator receiving said stored stream and corresponding parity bits at an output of said stream buffer before supply to said at least one operational unit, said second parity bit generator operable to form second parity bits from said data elements output from said stream buffer, compare said first parity bits with corresponding second parity bits, and signal a parity fault if said first parity bits do not match said corresponding second parity bits;and wherein said at least one functional unit is responsive to a stream operand instruction to receive at least one operand from said stream head register.