Claims Analysis
Total Claims: 28
Claim 1
Independent Claim
228 words
An apparatus for managing the operation f a digital signal processor (DSP), comprising: (a) a digital signal processor (DSP); and (b) virtual DSP machine means, performed by the DSP, for insulating computer programs executed by the DSP from the DSP's specific architecture, wherein functions of the DSP are accessed by the computer programs via a high-level programming interface, wherein the virtual DSP machine means comprises a plurality of modules arranged in a hierarchy, comprising: (1) an array module for creating arrays of data and allocating memory blocks therefor through the memory management means; (2) a stream module for processing continuous data streams being input and output by the I/O devices coupled to the DSP, comprising means for binding the I/O devices to the computer programs, means for transferring the data between the arrays and the I/O devices, and means for invoking device-dependent control functions for the I/O devices; (3) a vector module for creating vectors of data that provide a one dimensional view of the arrays, and for performing vector math operations on the vectors; (4) a matrix module for creating matrices of data that provide a two dimensional view of the arrays, and for performing matrix math functions on the matrices; and (5) a filter module for creating finite impulse response filters, infinite impulse response filters, and all-pole filters, and for applying the filters to the vectors.
Claim 2
Independent Claim
228 words
An apparatus for managing the operation f a digital signal processor (DSP), comprising: (a) a digital signal processor (DSP); and (b) virtual DSP machine means, performed by the DSP, for insulating computer programs executed by the DSP from the DSP's specific architecture, wherein functions of the DSP are accessed by the computer programs via a high-level programming interface, wherein the virtual DSP machine means comprises a plurality of modules arranged in a hierarchy, comprising: (1) an array module for creating arrays of data and allocating memory blocks therefor through the memory management means; (2) a stream module for processing continuous data streams being input and output by the I/O devices coupled to the DSP, comprising means for binding the I/O devices to the computer programs, means for transferring the data between the arrays and the I/O devices, and means for invoking device-dependent control functions for the I/O devices; (3) a vector module for creating vectors of data that provide a one dimensional view of the arrays, and for performing vector math operations on the vectors; (4) a matrix module for creating matrices of data that provide a two dimensional view of the arrays, and for performing matrix math functions on the matrices; and (5) a filter module for creating finite impulse response filters, infinite impulse response filters, and all-pole filters, and for applying the filters to the vectors.
Claim 3
Dependent Claim
202 words
A digital signal processing apparatus, comprising: (a) a digital signal processor (DSP) having a plurality of memory segments comprising memories of different sizes and speeds coupled thereto; (b) array module means, performed by the DSP, for creating arrays of data and allocating memory blocks therefor from the memory segments; (c) stream module means, performed by the DSP, for processing continuous data streams being input and output by I/O devices coupled to the DSP, comprising means for binding the I/O devices to computer programs executed by the DSP, means for transferring the data between the arrays and the I/O devices, and means for invoking device-dependent control functions for the I/O devices; (d) vector module means, performed by the DSP, for creating vectors of data that provide a one dimensional view of the arrays, and for performing vector math operations on the vectors; (e) matrix module means, performed by the DSP, for creating matrices of data that provide a two dimensional view of the arrays, and for performing matrix math functions on the matrices; and (f) filter module means, performed by the DSP, for creating finite impulses response filters, infinite impulse response filters, and all-pole filters, and for applying the filters to the vectors.
Claim 4
Dependent Claim
202 words
A digital signal processing apparatus, comprising: (a) a digital signal processor (DSP) having a plurality of memory segments comprising memories of different sizes and speeds coupled thereto; (b) array module means, performed by the DSP, for creating arrays of data and allocating memory blocks therefor from the memory segments; (c) stream module means, performed by the DSP, for processing continuous data streams being input and output by I/O devices coupled to the DSP, comprising means for binding the I/O devices to computer programs executed by the DSP, means for transferring the data between the arrays and the I/O devices, and means for invoking device-dependent control functions for the I/O devices; (d) vector module means, performed by the DSP, for creating vectors of data that provide a one dimensional view of the arrays, and for performing vector math operations on the vectors; (e) matrix module means, performed by the DSP, for creating matrices of data that provide a two dimensional view of the arrays, and for performing matrix math functions on the matrices; and (f) filter module means, performed by the DSP, for creating finite impulses response filters, infinite impulse response filters, and all-pole filters, and for applying the filters to the vectors.
Claim 5
Dependent Claim
359 words
A digital signal processing apparatus, comprising: (a) a digital signal processor (DSP); (b) real-time kernel means, performed by the DSP, for multi-tasking a plurality of concurrently operating computer programs executed by the DSP; (c) memory management means, coupled to the real-time kernel means and performed by the DSP, for managing memory requests from the computer programs executing on the DSP; (d) interrupt handling means, coupled to the real-time kernel means and performed by the DSP, for processing interrupts from I/O devices coupled to the DSP with minimum overhead; (e) device driver support means, coupled to the real-time kernel means, invoked by the computer programs and the interrupt handling means, and performed by the DSP, for handling data input and output by the I/O devices as signaled by the interrupt handler means; and (f) virtual DSP machine means, coupled to the real-time kernel means and performed by the DSP, for insulating the computer programs executing on the DSP from the DSP's specific architecture, wherein functions of the DSP are accessed by the computer programs via a high-level programming interface, and wherein the virtual DSP machine means comprises a plurality of modules arranged in a hierarchy comprising: (1) an array module for creating arrays of data and allocating memory blocks therefor through the memory management means; (2) a stream module for processing continuous data streams being input and output by the I/O devices coupled to the DSP, comprising means for binding the I/O devices to the computer programs, means for transferring the data between the arrays and the I/O devices, and means for invoking devicedependent control functions for the I/O devices; (3) a vector module for creating vectors of data that provide a one dimensional view of the arrays, and for performing vector math operations on the vectors; (4) a matrix module for creating matrices of data that provide a two dimensional view of the arrays, and for performing matrix math functions on the matrices; (5) a filter module for creating finite impulse response filters, infinite impulse response filters, and all-pole filters, and for applying the filters to the vectors; and (6) wherein the modules are selectively executed by the DSP.
Claim 6
Dependent Claim
359 words
A digital signal processing apparatus, comprising: (a) a digital signal processor (DSP); (b) real-time kernel means, performed by the DSP, for multi-tasking a plurality of concurrently operating computer programs executed by the DSP; (c) memory management means, coupled to the real-time kernel means and performed by the DSP, for managing memory requests from the computer programs executing on the DSP; (d) interrupt handling means, coupled to the real-time kernel means and performed by the DSP, for processing interrupts from I/O devices coupled to the DSP with minimum overhead; (e) device driver support means, coupled to the real-time kernel means, invoked by the computer programs and the interrupt handling means, and performed by the DSP, for handling data input and output by the I/O devices as signaled by the interrupt handler means; and (f) virtual DSP machine means, coupled to the real-time kernel means and performed by the DSP, for insulating the computer programs executing on the DSP from the DSP's specific architecture, wherein functions of the DSP are accessed by the computer programs via a high-level programming interface, and wherein the virtual DSP machine means comprises a plurality of modules arranged in a hierarchy comprising: (1) an array module for creating arrays of data and allocating memory blocks therefor through the memory management means; (2) a stream module for processing continuous data streams being input and output by the I/O devices coupled to the DSP, comprising means for binding the I/O devices to the computer programs, means for transferring the data between the arrays and the I/O devices, and means for invoking devicedependent control functions for the I/O devices; (3) a vector module for creating vectors of data that provide a one dimensional view of the arrays, and for performing vector math operations on the vectors; (4) a matrix module for creating matrices of data that provide a two dimensional view of the arrays, and for performing matrix math functions on the matrices; (5) a filter module for creating finite impulse response filters, infinite impulse response filters, and all-pole filters, and for applying the filters to the vectors; and (6) wherein the modules are selectively executed by the DSP.
Claim 7
Dependent Claim
42 words
The invention as set forth in claim 3 above, wherein the virtual DSP machine means further comprise an exception handler module for managing system and application exceptions, for classifying the exceptions as major and minor, and for binding handlers to the exceptions.
Claim 8
Dependent Claim
29 words
The invention as set forth in claim 3 above, wherein the stream module further comprises software file device means for inserting and extracting the data in the data streams.
Claim 9
Dependent Claim
28 words
The invention as set forth in claim 3 above, wherein the virtual DSP machine means further comprises macro means for retrieving and manipulating arrays, vectors, matrices and filters.
Claim 10
Dependent Claim
26 words
The invention as set forth in claim 3 above, wherein the arrays each reference a block of memory in at least one of the memory segments.
Claim 11
Dependent Claim
50 words
The invention as set forth in claim 3 above, wherein the virtual DSP machine means further comprises a global definition module for assigning symbolic names to the memory blocks, for assigning symbolic names to the I/O devices coupled to the DSP, and for defining configuration parameters associated with the apparatus.
Claim 12
Dependent Claim
27 words
The invention as set forth in claim 3 above, wherein the interrupt handling means further comprises means for managing software interrupts triggered from hardware interrupt service routines.
Claim 13
Dependent Claim
30 words
The invention as set forth in claim 3 above, further comprising means, performed by the DSP, for providing software signal generators comprising random noise, sinusoidal wave and constant value generators.
Claim 14
Dependent Claim
103 words
The invention as set forth in claim 3 above, wherein the device driver support means further comprises: (1means for using a first buffer in a first I/O operation, wherein the first buffer is identified by a first pointer; (2) means for waiting for an I/O request from a computer program executed by the DSP, wherein the request includes a second pointed to a second buffer; and (3) means for replacing the second pointer in the I/O request with the first pointer, so that the first buffer is returned to the computer program while the second buffer is sued in a second I/O operation.
Claim 15
Dependent Claim
24 words
The invention as set forth in claim 11 above, further comprising a plurality of buffers maintained in a queue for a single I/O stream.
Claim 16
Dependent Claim
57 words
The invention as set forth in claim 11 above, wherein there are a plurality of I/O devices, a plurality of first and second I/O operations directed concurrently at various ones of the plurality of I/O devices, and a plurality of first and second buffers for use in each of the plurality of first and second I/O operations.
Claim 17
Dependent Claim
30 words
The invention as set forth in claim 11 above, wherein the first and second buffers used in each of the plurality of first and second I/O operations have different sizes.
Claim 18
Dependent Claim
41 words
The invention as set forth in claim 3 above, wherein the memory management means comprises means for allocating and de-allocating variable-sized blocks of memory from a plurality of memory segments comprising memories of different sizes and speeds coupled to the DSP.
Claim 19
Dependent Claim
43 words
The invention as set forth in claim 4 above, wherein each request to the memory management means comprises at least two attributes associated therewith, wherein the attributes comprises a physical size of the block and the memory segment where the block is located.
Claim 20
Dependent Claim
27 words
The invention as set forth in claim 16 above, wherein the attributes further comprise an alignment field indicating that the block is aligned on a particular boundary.
Claim 21
Dependent Claim
27 words
The invention as set forth in claim 15 above, wherein the memory management means comprises means for mapping the blocks to physical locations in the memory segments.
Claim 22
Dependent Claim
56 words
The invention as set forth in claim 3 above, further comprising: (1) a host computer operatively coupled to the DSP, wherein the host computer executes at least one computer program concurrently with the DSP and the operating system; and (2) means, executed by the host computer, for transferring data between the host computer and the DSP.
Claim 23
Dependent Claim
32 words
The invention as set forth in claim 19 above, wherein the host computer operates under control of a separate operating system and operates concurrently with the computer programs executed by the DSP.
Claim 24
Dependent Claim
29 words
The invention as set forth in claim 19 above, wherein the means for transferring comprises means, executed by the DSP, for accessing a file system on the host computer.
Claim 25
Dependent Claim
50 words
The invention as set forth in claim 19 above, wherein the DSP includes a file device, and the host computer includes a computer program for servicing requests from the file device, wherein the means for transferring further comprises means for communicating with the file device using a stream I/O module.
Claim 26
Dependent Claim
19 words
The invention as set forth in claim 19 above, wherein the means for communicating comprises a remote procedure call.
Claim 27
Dependent Claim
17 words
The invention as set forth in claim 19 above, further comprising external memory coupled to the DSP.
Claim 28
Dependent Claim
25 words
The invention as set forth in claim 24 above, further comprising means for sharing the external memory coupled to the DSP with the host computer.