Patent US5794061A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5794061A Expired / Lapsed US ⏱️ 0.0 years remaining

General purpose, multiple precision parallel operation, programmable media processor

Assignee: Microunity Systems Engineering Inc
•
Filing: 1996-11-22
•
Granted: 1998-08-11
•
Expires: 2016-11-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A general purpose, programmable media processor for processing and transmitting a media data stream of audio, video, radio, graphics, encryption, authentication, and networking information in real-time. The media processor incorporates an execution unit that maintains substantially peak data throughout of media data streams. The execution unit includes a dynamically partionable multi-precision arithmetic unit, programmable switch and programmable extended mathematical element. A high bandwidth external interface supplies media data streams at substantially peak rates to a general purpose register file and the multi-precision execution unit. A memory management unit, and instruction and data cache/buffers are also provided. High bandwidth memory controllers are linked in series to provide a memory channel to the general purpose, programmable media processor. The general purpose, programmable media processor is disposed in a network fabric consisting of fiber optic cable, coaxial cable and twisted pair wires to transmit, process and receive single or unified media data streams. Parallel general purpose media processors are disposed throughout the network in a distributed virtual manner to allow for multi-processor operations and sharing of resources through the network. A method for receiving, processing and transmitting media data streams over the communications fabric is also provided.

Inventors

  • 👤 Craig Hansen
  • 👤 John Moussouris

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 19:56
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3802; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0875; G06F12/10; G06F12/1027; G06F15/00; G06F15/76; G06F15/78; G06F15/7828; G06F15/7832; G06F15/7839; G06F15/7842; G06F9/30003; G06F9/30007; G06F9/3001; G06F9/30014; G06F9/30018; G06F9/30025; G06F9/30032; G06F9/30036; G06F9/30038; G06F9/3004; G06F9/30043; G06F9/30072; G06F9/30076; G06F9/30087; G06F9/30145; G06F9/3867; G06F9/3869; H; H04; H04N; H04N21/00; H04N21/20; H04N21/23; H04N21/236; H04N21/2365; H04N21/238; H04N21/23805; H04N21/40; H04N21/43; H04N21/434; H04N21/4347; G06F2212/00; G06F2212/25; G06F2212/251; G06F2212/2515; Y; Y02; Y02D; Y02D10/00

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 157 words
A general purpose programmable media processor having an instruction path and a data path to digitally process a plurality of media data streams, comprising: a high bandwidth external interface operable to receive a plurality of data of various sizes from an external source and communicate the received data over the data path at a rate that maintains substantially peak operation of the media processor; at least one register file configurable to receive and store data from the data path and to communicate the stored data to the data path; and a multi-precision execution unit coupled to the data path, the multi-precision execution unit configurable to dynamically partition data received from the data path to account for the elemental symbol width of the plurality of media data streams, said elemental symbol width being equal to or narrower than the data path, and programmable to operate on the data to generate a unified symbol output to the data path.
Claim 2
Dependent Claim 157 words
A general purpose programmable media processor having an instruction path and a data path to digitally process a plurality of media data streams, comprising: a high bandwidth external interface operable to receive a plurality of data of various sizes from an external source and communicate the received data over the data path at a rate that maintains substantially peak operation of the media processor; at least one register file configurable to receive and store data from the data path and to communicate the stored data to the data path; and a multi-precision execution unit coupled to the data path, the multi-precision execution unit configurable to dynamically partition data received from the data path to account for the elemental symbol width of the plurality of media data streams, said elemental symbol width being equal to or narrower than the data path, and programmable to operate on the data to generate a unified symbol output to the data path.
Claim 3
Dependent Claim 22 words
The media processor defined in claim 1, wherein the execution unit is dynamically configurable to partition data received from the data path.
Claim 4
Dependent Claim 100 words
The media processor defined in claim 1, further comprising: means for moving data between registers and memory by performing load and store operations, and for coordinating the sharing of data among a plurality of tasks by performing synchronization operations based upon instructions and data received by the execution unit; means for securely controlling the sequence of execution by performing branch and gateway operations based upon instructions and data received by the execution unit; and a memory management unit, the memory management unit operable to retrieve data and instructions for timely and secure communication over the data path and instruction path.
Claim 5
Dependent Claim 68 words
The media processor defined in claim 3, further comprising: a combined instruction cache and buffer, the combined instruction cache and buffer dynamically allocated between cache space and buffer space to ensure real-time execution of multiple media instruction streams; and a combined data cache and buffer, the combined data cache and buffer dynamically allocated between cache space and buffer space to ensure real-time response for multiple media data streams.
Claim 6
Dependent Claim 29 words
The media processor defined in claim 4, wherein real-time execution is ensured by dynamically allocating instruction buffer space to the smallest and most frequently executed blocks of media instructions.
Claim 7
Dependent Claim 30 words
The media processor defined in claim 4, wherein real-time response is ensured by dynamically allocating data buffer space to the smallest and most frequently accessed working sets of media data.
Claim 8
Dependent Claim 17 words
The media processor defined in claim 1, wherein media data streams comprise Nyquist sampled inputs and outputs.
Claim 9
Dependent Claim 19 words
The media processor defined in claim 1, wherein media data streams originate from standard computer memory and I/O interfaces.
Claim 10
Dependent Claim 42 words
The media processor defined in claim 1, wherein the multi-precision execution unit is configurable to divide the data into component symbols of various sizes, analyze the component symbols based upon instructions, and resynthesize the component symbols for communication over the data path.
Claim 11
Dependent Claim 25 words
The media processor defined in claim 1, wherein the plurality of media data streams comprise presentation media information, transmission media information, and storage media information.
Claim 12
Dependent Claim 18 words
The media processor defined in claim 10, wherein presentation media information comprises audio, video, image, and graphical information.
Claim 13
Dependent Claim 17 words
The media processor defined in claim 10, wherein transmission media information comprises radio and network data transmissions.
Claim 14
Dependent Claim 20 words
The media processor defined in claim 10, wherein storage media information comprises data encoded in moving and solid-state memory media.
Claim 15
Dependent Claim 19 words
The media processor defined in claim 1, wherein the width of the data path is at least 128 bits.
Claim 16
Dependent Claim 28 words
The media processor defined in claim 1, wherein the multi-precision execution unit comprises a dynamically partitionable arithmetic unit, a register controllable cross-bar switch, and an extended mathematical element.
Claim 17
Dependent Claim 18 words
The media processor defined in claim 13, wherein the register controllable cross-bar switch comprises a Benes network design.
Claim 18
Dependent Claim 21 words
The media processor defined in claim 15, wherein the register controllable cross-bar switch is programmable and is operable to manipulate symbols.
Claim 19
Dependent Claim 29 words
The media processor defined in claim 11, wherein the extended mathematical element is operable to perform finite group, finite field, finite ring and table look-up operations on the symbols.
Claim 20
Dependent Claim 18 words
The media processor defined in claim 1, further comprising a set of predefined instructions accessible by a user.
Claim 21
Dependent Claim 36 words
The media processor defined in claim 2, wherein the means for performing load, store, and synchronization operations and the means for performing branch and gateway operations comprises a set of predefined instructions accessible by a user.
Claim 22
Dependent Claim 24 words
The media processor defined in claim 20, wherein the predefined instructions are combinable to implement composite functions on the plurality of media data streams.
Claim 23
Dependent Claim 213 words
A parallel multi-processor system that maintains substantially peak data throughput in the unified execution of a plurality media data streams, the system having a data path, comprising: at least one high bandwidth external interface, the at least one high bandwidth external interface coupled to the data path and operable to receive a plurality of data of various sizes from an external source and communicate the received data over the data path at a rate that maintains substantially peak operation of the parallel multi-processor system; a plurality of register files, each register file having at least one general purpose register coupled to the data path and operable to store a working set of media data received from the data path and to communicate the stored data to the data path; and at least one multi-precision execution unit coupled to the data path, the at least one multi-precision execution unit configurable to dynamically partition data within the working set of media data received from the data path to account for the elemental symbol width of the plurality of media data streams, said elemental symbol width being equal to or narrower than the data path, and programmable to operate in parallel on the dynamically partitioned data to generate a unified symbol output for each register file.
Claim 24
Dependent Claim 213 words
A parallel multi-processor system that maintains substantially peak data throughput in the unified execution of a plurality media data streams, the system having a data path, comprising: at least one high bandwidth external interface, the at least one high bandwidth external interface coupled to the data path and operable to receive a plurality of data of various sizes from an external source and communicate the received data over the data path at a rate that maintains substantially peak operation of the parallel multi-processor system; a plurality of register files, each register file having at least one general purpose register coupled to the data path and operable to store a working set of media data received from the data path and to communicate the stored data to the data path; and at least one multi-precision execution unit coupled to the data path, the at least one multi-precision execution unit configurable to dynamically partition data within the working set of media data received from the data path to account for the elemental symbol width of the plurality of media data streams, said elemental symbol width being equal to or narrower than the data path, and programmable to operate in parallel on the dynamically partitioned data to generate a unified symbol output for each register file.
Claim 25
Dependent Claim 32 words
The parallel multi-processor system defined in claim 22, wherein the at least one execution unit alternates in a round robin manner to operate on data stored in the plurality of register files.
Claim 26
Dependent Claim 14 words
The parallel multi-processor system defined in claim 22, further comprising an instruction pre-fetch pipeline.
Claim 27
Dependent Claim 17 words
The parallel multi-processor system defined in claim 24, wherein the instruction pre-fetch pipeline comprises a super-string pipeline.
Claim 28
Dependent Claim 17 words
The parallel multi-processor system defined in claim 24, wherein the instruction pre-fetch pipeline comprises a super-spring pipeline.
Claim 29
Dependent Claim 14 words
The parallel multi-processor system defined in claim 22, further comprising a data pre-fetch pipeline.
Claim 30
Dependent Claim 17 words
The parallel multi-processor system defined in claim 27, wherein the data pre-fetch pipeline comprises a super-string pipeline.
Claim 31
Dependent Claim 17 words
The parallel multi-processor system defined in claim 27, wherein the data pre-fetch pipeline comprises a super-spring pipeline.
Claim 32
Dependent Claim 16 words
The parallel multi-processor system defined in claim 22, further comprising a requester, responder and transponder daemon.

References Cited (Backward Citations)

US4893267A Cited
US4975868A Cited
US5201056A Cited
US5268855A Cited
US5426600A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-08-10 2002-02-09 2002-08-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-08-10 2006-02-09 2006-08-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-08-10 2010-02-09 2010-08-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag