WO2001075624A1 - Flexible buffering scheme for multi-rate simd processor - Google Patents
Flexible buffering scheme for multi-rate simd processor Download PDFInfo
- Publication number
- WO2001075624A1 WO2001075624A1 PCT/US2001/010000 US0110000W WO0175624A1 WO 2001075624 A1 WO2001075624 A1 WO 2001075624A1 US 0110000 W US0110000 W US 0110000W WO 0175624 A1 WO0175624 A1 WO 0175624A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- processor
- data
- address
- addresses
- coupled
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/12—Protocol engines
Definitions
- the present invention relates to single instruction, multiple data (SIMD) processors.
- SIMD single instruction, multiple data
- DSL digital subscriber line
- SIMD processor essentially consists of a single program control unit (PCU) that controls the data processing of any number of data channels.
- FIG. IN illustrates one possible SIMD configuration, represented by the numeral 10.
- the PCU 12 is coupled to ⁇ data paths 13, implying a parallel-processing scheme.
- Each data path 13 is coupled to a data memory 14 and a processor 15.
- FIG. IB illustrates a second SIMD configuration, represented by the numeral 16.
- the sharing of the instruction is done serially by time division multiplexing the processing in a data path 18 for all channels.
- the data is, therefore, changed ⁇ times at the input to the data processor 15 for every instruction that is produced.
- SIMD architecture provides advantages in both power consumption and area reduction when compared to a solution using dedicated processors for each data path, or channel.
- the savings come from having only one PCU 12 and one program memory. If the data path processor is also being time shared, as in FIG. IB, further savings in area reduction are realized.
- the processor must be able run at higher speeds to accommodate multiple channels.
- simplifications are also made at a higher level, since there is only one program load to manage and track. Having only one program load reduces start-up times if download times are consuming a large portion of time.
- the procedure from power-up to run time operation takes modems through a series of handshakes and initialization procedures. These procedures require the modems to handle different data rates while maintaining a constant carrier frequency profile. In a multiple channel system, the assumption is that all channels may not be in the same state at any given time.
- the maintenance of the constant carrier frequencies facilitates reuse of program code to perform some of the necessary tasks such as fast Fourier transforms (FFTs), equalization and the like.
- FFTs fast Fourier transforms
- the changing data rates make it difficult to use one processor for performing symbol-based operations on multiple channels. This is due to the fact that the modem cannot synchronize all channels with its own processing rate since the symbol rate for all channels is not equal. Therefore, the presence of different rates in a multi channel system precludes using a constant rate processor for all channels.
- SIMD single instruction multiple data
- the SIMD architecture comprises a memory for storing the data from the channels, a processor operatively coupled with the memory for processing data from the data streams, and a controller for controlling the processor. Storing the data in the memory de-couples the operating rate of the processor and the operating rate of the data streams.
- a method for controlling the processing of multiple data streams in a SIMD architecture comprises the steps of storing data in a memory as it is received; determining, at predetermined times, whether all of said data has been received; providing a signal indicating that all of the data has been received; using the signal to determine which data to process; and processing the data.
- FIG. IN is a block diagram of a standard SIMD architecture with multiple data paths
- FIG. IB is a block diagram of a standard SIMD architecture with a single, time-shared data path;
- FIG. 2 is a block diagram of a circular buffer architecture;
- FIG. 3 is a block diagram of a SIMD architecture according to an embodiment of the invention. DETAILED DESCRIPTION OF THE INVENTION
- like numerals refer to like structures in the drawings.
- FIG. 2 illustrates a circular buffer architecture, represented generally by the numeral 20.
- the circular buffer 20 is partitioned into three distinct sections.
- the first section 22 is for pre-processed symbols
- the second section 24 is for present symbol processing
- the third section 26 is for post-processed symbol extraction.
- a symbol manager 28 is used for managing the locations of these symbols.
- the buffer 20 may include an elastic region that is able to absorb data growth or depletion due to differences in rates of the three devices (output device, input device, and processor) that use the buffer 20. This region may hold up to one symbol, and may be located within the first section 22.
- FIG. 3 illustrates a SIMD architecture, represented by the numeral 36.
- the architecture 36 includes a PCU 12, multiple data paths 13, multiple data memories 14 and multiple processors 15.
- the architecture also includes enable signals 32, coupled to the processors 15.
- data is typically input serially into the pre-processed section 22. Once the data has been received, it is rotated to the present symbol processing section 24, where it is parallel-processed. Once the processing is complete, the symbol is rotated to the post-processed section 26 of the buffer 20, where it is output serially. Although the symbol is rotated through several sections of the buffer 20, its physical location does not necessarily chance. Changing the location of the symbol can be done; however, it would require more time and more memory.
- Maintaining the same location for a particular symbol is accomplished since the buffer 20 is circular. Rather than have the address of the symbol physically rotate, the sections 22, 24, and 26 of the buffer 20 rotate about predetermined addresses. Therefore, an address that points to an incoming symbol is in the pre-processed section 22. Once the symbol has completely arrived and is being processed, the address that points to that symbol is in the processing section 24. Once the symbol has been processed, that address is considered to be in the post-processed section 26.
- the symbol manager 28 locates the base address for each of the symbols, allowing the circular nature of the buffer 20 to be transparent to each device accessing the data.
- the input data enters the buffer 20 at an arbitrary data rate.
- the data is loaded sequentially into the pre-processed section 22 until a complete symbol is collected. At that point, the symbol manager 28 advances to the next base pointer location.
- the address generation unit can access the buffer 20 directly with the address offset from the processor without the addition of the base address from the symbol manager 28, by way of a switch. This allows the processor 15 to bypass the symbol manager 28 and access the buffer 28 absolutely.
- the PCU 12 indicates the start of a processing cycle with a start of processing (SOP) pulse.
- SOP start of processing
- the base pointer for the processing section 24 is compared to the base pointer for the incoming symbol (in the pre-processed section 22). The difference between these base pointers indicates whether or not a full symbol is ready for processing. If a full symbol is present, the enable signal 32 (shown in FIG. 3) for that symbol is activated. Otherwise, the enable signal 32 remains inactive and the comparison is done again at the next SOP. Therefore, only the processors 15 that have received a complete symbol are enabled.
- the symbol manager 28 advances the base pointer of the processing section 24 to the next symbol. Once the base pointer of the processing section 24 advances, the processed symbol is in the post- processed section 26. The extraction of the post-processed data is slaved to the processor 15, and is only performed after the symbol has been processed.
- An advantage of this type of buffering scheme is that the processor is de- coupled from the incoming data rate of each channel. This is true with the restriction that the SOP of the processor is greater than or equal to the maximum baud rate of the channels. If this were not true, it is possible that incoming data could overwrite previously received data before it is processed. Therefore, the net processing rate of each channel is approximately equal to the baud rate for that channel since its processor 15 may be periodically disabled. The rate at which any given channel is disabled (assuming zero jitter between each of the baud rates) is given by:
- %PROC Fbau ⁇ 'SOP -Fbaud ' CHAN Fbaud S0P
- This equation also indicates the "bursty" nature of the data output rate. That is, the output is provided in bursts — when the processor is enabled ⁇ rather than a constant steady stream. Also, the varying instantaneous latency due to the gapped processing can be determined.
- any gaps in the processing increase buffering requirements.
- the worst case, or fastest, baud rate of the channel is equal to the baud rate of the processor, the buffering requirement is limited to the symbol size for each of the three sections 22, 24, and 26.
- the architecture ultimately results in a net decrease in gate count and expended power, since the processors are only used for completely received symbols. Buffering requirements can be combined with those necessary for other considerations in the signal processing. Therefore, little or no extra memory is required.
- the structure can be applied to any symbol size. This includes processing on a sample by sample basis. The structure can be expanded to accommodate any number of channels. Lastly, this structure has direct applications to implementations of ITU G.992.2 (and other standards) for DSL systems, since the baud rate changes throughout operation.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Interface Circuits In Exchanges (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002404020A CA2404020A1 (en) | 2000-03-31 | 2001-03-28 | Flexible buffering scheme for multi-rate simd processor |
AU2001249570A AU2001249570A1 (en) | 2000-03-31 | 2001-03-28 | Flexible buffering scheme for multi-rate simd processor |
GB0222635A GB2377061B (en) | 2000-03-31 | 2001-03-28 | Flexible buffering scheme for multi-rate simd processor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA2,303,604 | 2000-03-31 | ||
CA002303604A CA2303604A1 (en) | 2000-03-31 | 2000-03-31 | Flexible buffering scheme for multi-rate simd processor |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2001075624A1 true WO2001075624A1 (en) | 2001-10-11 |
Family
ID=4165747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2001/010000 WO2001075624A1 (en) | 2000-03-31 | 2001-03-28 | Flexible buffering scheme for multi-rate simd processor |
Country Status (5)
Country | Link |
---|---|
US (1) | US7072357B2 (en) |
AU (1) | AU2001249570A1 (en) |
CA (1) | CA2303604A1 (en) |
GB (1) | GB2377061B (en) |
WO (1) | WO2001075624A1 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060084337A1 (en) * | 2004-10-19 | 2006-04-20 | Southern Mills, Inc. | Blended outer shell fabrics |
US7305608B2 (en) * | 2003-09-25 | 2007-12-04 | Broadcom Corporation | DSL trellis encoding |
US20050094551A1 (en) * | 2003-09-25 | 2005-05-05 | Broadcom Corporation | Processor instruction for DMT encoding |
US7734041B2 (en) * | 2003-09-26 | 2010-06-08 | Broadcom Corporation | System and method for de-scrambling and bit-order-reversing payload bytes in an Asynchronous Transfer Mode cell |
US7751557B2 (en) * | 2003-09-26 | 2010-07-06 | Broadcom Corporation | Data de-scrambler |
US7756273B2 (en) * | 2003-09-26 | 2010-07-13 | Broadcom Corporation | System and method for bit-reversing and scrambling payload bytes in an asynchronous transfer mode cell |
US7580412B2 (en) * | 2003-09-26 | 2009-08-25 | Broadcom Corporation | System and method for generating header error control byte for Asynchronous Transfer Mode cell |
US7903810B2 (en) | 2003-09-26 | 2011-03-08 | Broadcom Corporation | Single instruction for data scrambling |
US20080084939A1 (en) * | 2006-10-06 | 2008-04-10 | Texas Instruments | Sample Buffer Size Reduction for Synchronized DMT-VDSL With Shared FFT Compute Units |
US20090154570A1 (en) * | 2007-11-19 | 2009-06-18 | Avot Media, Inc. | Method and system to stream and render video data on processing units of mobile devices that have limited threading capabilities |
US8755515B1 (en) * | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5045995A (en) * | 1985-06-24 | 1991-09-03 | Vicom Systems, Inc. | Selective operation of processing elements in a single instruction multiple data stream (SIMD) computer system |
US5463732A (en) * | 1994-05-13 | 1995-10-31 | David Sarnoff Research Center, Inc. | Method and apparatus for accessing a distributed data buffer |
US5790879A (en) * | 1994-06-15 | 1998-08-04 | Wu; Chen-Mie | Pipelined-systolic single-instruction stream multiple-data stream (SIMD) array processing with broadcasting control, and method of operating same |
US5822606A (en) * | 1996-01-11 | 1998-10-13 | Morton; Steven G. | DSP having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word |
US6079008A (en) * | 1998-04-03 | 2000-06-20 | Patton Electronics Co. | Multiple thread multiple data predictive coded parallel processing system and method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0424618A3 (en) * | 1989-10-24 | 1992-11-19 | International Business Machines Corporation | Input/output system |
US5448706A (en) * | 1992-05-13 | 1995-09-05 | Sharp Microelectronics Technology, Inc. | Address generator for multi-channel circular-buffer style processing |
US6330657B1 (en) * | 1999-05-18 | 2001-12-11 | Ip-First, L.L.C. | Pairing of micro instructions in the instruction queue |
-
2000
- 2000-03-31 CA CA002303604A patent/CA2303604A1/en not_active Abandoned
-
2001
- 2001-03-27 US US09/819,941 patent/US7072357B2/en not_active Expired - Lifetime
- 2001-03-28 WO PCT/US2001/010000 patent/WO2001075624A1/en active Application Filing
- 2001-03-28 GB GB0222635A patent/GB2377061B/en not_active Expired - Fee Related
- 2001-03-28 AU AU2001249570A patent/AU2001249570A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5045995A (en) * | 1985-06-24 | 1991-09-03 | Vicom Systems, Inc. | Selective operation of processing elements in a single instruction multiple data stream (SIMD) computer system |
US5463732A (en) * | 1994-05-13 | 1995-10-31 | David Sarnoff Research Center, Inc. | Method and apparatus for accessing a distributed data buffer |
US5790879A (en) * | 1994-06-15 | 1998-08-04 | Wu; Chen-Mie | Pipelined-systolic single-instruction stream multiple-data stream (SIMD) array processing with broadcasting control, and method of operating same |
US5822606A (en) * | 1996-01-11 | 1998-10-13 | Morton; Steven G. | DSP having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word |
US6079008A (en) * | 1998-04-03 | 2000-06-20 | Patton Electronics Co. | Multiple thread multiple data predictive coded parallel processing system and method |
Also Published As
Publication number | Publication date |
---|---|
GB2377061B (en) | 2005-03-30 |
GB2377061A (en) | 2002-12-31 |
AU2001249570A1 (en) | 2001-10-15 |
US7072357B2 (en) | 2006-07-04 |
GB0222635D0 (en) | 2002-11-06 |
US20020124154A1 (en) | 2002-09-05 |
CA2303604A1 (en) | 2001-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4791629A (en) | Communications switching system | |
US7072357B2 (en) | Flexible buffering scheme for multi-rate SIMD processor | |
US6334175B1 (en) | Switchable memory system and memory allocation method | |
US6072796A (en) | Apparatus and method for accessing memory in a TDM network | |
KR100295263B1 (en) | Multiple algorithm processing on a plurality of digital signal streams via context switching | |
EP0724794A1 (en) | Error detection and correction apparatus for an asynchronous transfer mode (atm) network device | |
US7653675B2 (en) | Convolution operation in a multi-mode wireless processing system | |
KR20090127462A (en) | Fast fourier transform/inverse fast fourier transform operating core | |
US5086505A (en) | Selective individual reset apparatus and method | |
US6477177B1 (en) | Multiple device access to serial data stream | |
JPH04318717A (en) | Data multiplex circuit | |
CA2404020A1 (en) | Flexible buffering scheme for multi-rate simd processor | |
KR910017810A (en) | Multi channel communication processing device | |
US7492825B2 (en) | Methods and apparatuses for processing data channels | |
GB2060318A (en) | Data transfer for typewriter, teleprinter or data printer | |
US7042895B1 (en) | Method and apparatus for interfacing multiple communication devices to a time division multiplexing bus | |
WO2001084330A2 (en) | A method and system for multi-channel transfer of data and control information | |
US20020163930A1 (en) | Methods and systems for interleaving data from multi-rate channels into a single interface | |
JP2870468B2 (en) | Data transfer rate difference absorption method | |
US20080008255A1 (en) | Multiple rate architecture for wireline communication system | |
US7392332B2 (en) | Bit rate adaptation in a data processing flow | |
JP3225589B2 (en) | Multi-channel multiplex communication controller | |
US20050094654A1 (en) | Switching matrix | |
JP2001350714A (en) | Data processor | |
JPH04145747A (en) | Parallel signal processing circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
ENP | Entry into the national phase |
Ref country code: GB Ref document number: 0222635 Kind code of ref document: A Free format text: PCT FILING DATE = 20010328 Format of ref document f/p: F |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2404020 Country of ref document: CA |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |