Apparatus and method for synchronizing data transfers in a single instruction multiple data processor
First Claim
1. A processing system for receiving input data, processing the received input data and outputting processed data, comprising:
- a data input register for receiving and storing the input data, said input register having a serial input port and a first parallel data port, such that the data is received via said serial input port in a serial manner in response to a write clock and stored so as to be accessible via said first parallel port in a parallel manner in response to a processor clock;
a processor for processing data in accordance with a predetermined processing algorithm to form processed data, said processor being connected to said first parallel port so that input data can be transferred from said data input register to said processor using said processor clock for processing thereof by said predetermined processing algorithm;
a data output register connected to said processor for receiving and storing said processed data from said processor using said processor clock, said output register having a second parallel data port and a serial output port, such that processed data can be transferred from said processor to said output register via said parallel port in a parallel manner and stored so as to be accessible for output via said serial output port in a serial manner in response to a read clock;
a first sync circuit for synchronizing the operation of said data input register to the operation of an external device connected to said input register by forming said write clock, said first sync circuit being responsive to and synchronized with said input data;
a second sync circuit for synchronizing the operation of said data output register with the operation of an external device connected to said output register by forming said read clock, said second sync circuit being separate and independent of said first sync circuit, said processor clock operating asynchronously from at least one of said read clock and said write clock; and
an interrupt circuit being responsive to said first sync circuit and said second sync circuit for interrupting the processing operation of said processor, thereby initiating an interruptive transfer of data between said processor and at least one of said input and output registers.
2 Assignments
0 Petitions
Accused Products
Abstract
A synchronous vector processor (SVP) device (102) has a plurality of processing elements (150) which are comprised of an RF1 register (166), an ALU (164) and an RF0 (158). The processing elements are operable to be disposed between the data input register DIR (154) and the data output register (DOR) (168) to process data therebetween. Data is received in DIR (154), transferred to the processing elements (150), processed and then output to the DOR (168). A fast response clock operates the DIR (154) such that the jitter on the input signal is tracked. The Read clock on the DOR (168) is a stable clock. Data transferred between the DIR (154) and the DOR (168) is buffered in an elastic buffer to provide a time based compensation (TBC). To facilitate this, a buffer is implemented in either the RF1 (168) or the RF0 (158). A dual global rotation pointer is provided to generate two pointers that are asynchronous. The first pointer allows data to be transferred to the buffered area from/to the ALU (164) and the second pointer allows data to be transferred to the DOR (168) from the RF0 (158) or from a DIR (154) to the RF1 (166). A hardware interrupt is provided to perform this asynchronous transfer.
95 Citations
21 Claims
-
1. A processing system for receiving input data, processing the received input data and outputting processed data, comprising:
-
a data input register for receiving and storing the input data, said input register having a serial input port and a first parallel data port, such that the data is received via said serial input port in a serial manner in response to a write clock and stored so as to be accessible via said first parallel port in a parallel manner in response to a processor clock; a processor for processing data in accordance with a predetermined processing algorithm to form processed data, said processor being connected to said first parallel port so that input data can be transferred from said data input register to said processor using said processor clock for processing thereof by said predetermined processing algorithm; a data output register connected to said processor for receiving and storing said processed data from said processor using said processor clock, said output register having a second parallel data port and a serial output port, such that processed data can be transferred from said processor to said output register via said parallel port in a parallel manner and stored so as to be accessible for output via said serial output port in a serial manner in response to a read clock; a first sync circuit for synchronizing the operation of said data input register to the operation of an external device connected to said input register by forming said write clock, said first sync circuit being responsive to and synchronized with said input data; a second sync circuit for synchronizing the operation of said data output register with the operation of an external device connected to said output register by forming said read clock, said second sync circuit being separate and independent of said first sync circuit, said processor clock operating asynchronously from at least one of said read clock and said write clock; and an interrupt circuit being responsive to said first sync circuit and said second sync circuit for interrupting the processing operation of said processor, thereby initiating an interruptive transfer of data between said processor and at least one of said input and output registers. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A processing system for receiving input data words, processing a plurality of the received data words in parallel and outputting processed data, comprising:
-
a data input register for receiving and storing the input data words, said input register having a serial input port and a first parallel data port, such that the data words are received via said serial input port in a serial manner in response to a write clock and stored so as to be accessible via said first parallel port in a parallel manner in response to a processor clock; a plurality of processing elements, each for processing one of said data words in accordance with a predetermined processing algorithm to form processed data, said plurality of processing elements being connected to said first parallel port so that a different one of said input data words can be transferred from said data input register to each one of said plurality of processing elements using said processor clock for processing thereof by said predetermined processing algorithm; a data output register connected to each of said processing elements for receiving and storing said processed data from each of said processing elements using said processor clock, said output register having a second parallel data port and a serial output port, such that processed data can be transferred from said processing elements to said output register via said parallel port in a parallel manner and stored so as to be accessible for output via said serial output port in a serial manner in response to a read clock; a first sync circuit for synchronizing the operation of said data input register to the operation of an external device connected to said input register by forming said write clock, said first sync circuit being responsive to and synchronized with said input data; a second sync circuit for synchronizing the operation of said data output register with the operation of an external device connected to said output register by forming said read clock, said second sync circuit being separate and independent of said first sync circuit, said processor clock operating asynchronously from at least one of said read clock and said write clock; and an interrupt circuit being responsive to said first sync circuit and said second sync circuit for interrupting the processing operation of said processing element, thereby initiating an interruptive transfer of data between said processing element and at least one of said input and output registers. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for processing input data, comprising the steps of:
-
receiving and storing input data in a data input register in a serial manner using a write clock; providing a processor; transferring data in parallel from the input data register to the processor for processing in a first transfer step using a processor clock; processing the data with the processor in accordance with a predetermined processing algorithm to form processed data therefrom; transferring the processed data output by the processor in a second transfer step to a data output register using said processor clock for storage therein; outputting the processed data therefrom in a serial manner using a read clock; generating a first sync signal in synchronism with an external device connected to said input register and synchronizing said write clock and the operation of the receiving stop to the first sync signal; independently generating a second sync signal in synchronism with an external device connected to said output register and synchronizing said read clock and the operation of the outputting step to the second sync signal, the first sync signal and the second sync signal operating asynchronously, wherein said processor clock operates asynchronously from at least one of said read clock and said write clock; and interrupting the processing operation of the processor in response to at least one of said first and second sync signals to initiate at least one of the first and second transfer steps. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification